cd /home/user/MD/TaskServer/Tasks/140.123.79.184-32000-task40096 source /home/user/MD/bin/generic/TaskServer.kit source /home/user/MD/bin/generic/tcllib.kit lappend auto_path /home/user/MD/TaskServer/Tools namespace eval ::task {variable id 40096.140.123.79.184-32000} namespace eval ::JobServer {variable JobServer http://140.123.79.184:32000} namespace eval ::TaskServer {variable InstallDir /home/user/MD} array set Options {finishedtasks {} -remote 0 -ntasks 1 -id http://intel-9:23000/taskserver -port 23000 wd /home/user/MD/TaskServer -batch_queue {} -delay 0 interval 60 -core_limit_type 0 -machines {} -ruser {} -rdir {} -css {SmallFontSizePixels 14 FontFamily {"Palatino Linotype", "Book Antiqua", "Palatino", "Georgia", "serif"} BannerHighlightColor #A0B01E AdminBannerColor #0A4A54 BackgroundColor #FFFFFF AdminHighlightColor #3B8993 SmallestFontSizePixels 12 BannerColor #202020 FontColor #202020 TableColor #202020 TaskServerBannerColor #3D2527 FontSizePixels 16} tasks {} InstallDir /home/user/MD -control_type 0 -path {} -queue_type direct -batch_project {} -usehttps 0 -displayloglevel notice -rhost {} -rwdir {} -nprocessors 80 -webmaster Support@MaterialsDesign.com -type {} -loglevel notice} set Options(taskdir) /home/user/MD/TaskServer/Tasks/140.123.79.184-32000-task40096 set Options(-nprocessors) 4 # # The MedeA environment # set ::MedeA::platform Linux-x86_64 set ::MDPriv {path /home/user/MD/TaskServer logfile /home/user/MD/TaskServer/logs/intel-9.log} array set ::MedeA::Directory {bin /home/user/MD/bin/Linux-x86_64 TaskServer /home/user/MD/bin/generic/TaskServer.kit tcllib /home/user/MD/bin/generic/tcllib.kit wd /home/user/MD/TaskServer generic /home/user/MD/bin/generic mpibin /home/user/MD/bin/Linux-x86_64/*/bin data /home/user/MD/data medealib /home/user/MD/bin/generic/MedeALib.kit root /home/user/MD MedeA /home/user/MD binarylib /home/user/MD/bin/Linux-x86_64/Linux-x86_64.kit forcefields /home/user/MD/data/Forcefields} namespace eval job { variable id 1672 variable url http://140.123.79.184:32000 variable dir C:/MD/Jobs/dir1500/1672 variable useSecurity 0 } set SaveWAVECAR 0 set SaveWAVEDER 0 set SaveOPTIC 0 proc listFiles {} { puts "\nFiles:" foreach file [lsort [glob -nocomplain *]] { if {[catch {file mtime $file} T]} { set T "--- -- --:--:--" } else { set T [clock format $T -format "%b %d %T"] } puts [format "%15d %s %s" [file size $file] $T $file] } puts "" } proc saveFiles {dir} { file mkdir $dir foreach file {INCAR POSCAR POTCAR KPOINTS WAVECAR CHGCAR} { if {[file exists $file]} { file copy -force $file Initial/ } } } package require JobServer package require Translate ::JobServer::getFile 1672 "Stage_1/WAVECAR.txt" WAVECAR.txt WAVECARtoBinary catch {file delete -force WAVECAR.txt} set nsteps 1 package require VASP 6.0 if {[catch { listFiles if {$nsteps > 1} { for {set nstep 0} {$nstep <= $nsteps} {incr nstep} { file copy -force INCAR$nstep INCAR file copy -force mdlicense$nstep.txt mdlicense.txt puts "Starting VASP step $nstep for the DOS calculation at [clock format [clock seconds]]" ::VASP::execute -out VASP.out after 100 file rename -force VASP.out VASP$nstep.out } set fd [open VASP.out a] for {set nstep 0} {$nstep <= $nsteps} {incr nstep} { if {[file exists VASP$nstep.out]} { set fdnstep [open VASP$nstep.out r] puts $fd [read $fdnstep] close $fdnstep } } close $fd } else { puts "Running the DOS calculation" ::VASP::execute -out VASP.out after 100 } if {$SaveWAVECAR && [file exists WAVECAR] && [file size WAVECAR] > 0} { package require Translate WAVECARtoASCII WAVECAR VASP_WAVECAR.txt } catch {file delete -force WAVECAR} if {$SaveOPTIC && [file exists OPTIC] && [file size OPTIC] > 0} { package require Translate OPTICtoASCII OPTIC OPTIC.txt } puts "Finished the DOS!" listFiles } msg]} { puts "Error with the DOS: $msg" puts "" puts $::errorInfo listFiles } # Temporarily delete WAVECAR until Job server changes propagate through if {[file exists VASP_WAVECAR.txt] && [file exists WAVECAR]} { file delete -force WAVECAR } exit