cd /home/user/MD/TaskServer/Tasks/172.16.0.42-32000-task00086 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 86.172.16.0.42-32000} namespace eval ::JobServer {variable JobServer http://172.16.0.42: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 64 -webmaster Support@MaterialsDesign.com -type {} -loglevel notice} set Options(taskdir) /home/user/MD/TaskServer/Tasks/172.16.0.42-32000-task00086 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 61 variable url http://172.16.0.42:32000 variable dir C:/MD/Jobs/dir0/61 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/ } } } set nsteps 1 package require VASP-GPU 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 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 "Starting VASP at [clock format [clock seconds]]" ::VASP::execute -out VASP.out after 100 } file copy -force INCAR VASP_INCAR file rename -force OUTCAR VASP_OUTCAR file rename -force OSZICAR VASP_OSZICAR file rename -force EIGENVAL VASP_EIGENVAL file copy -force IBZKPT VASP_IBZKPT file copy -force KPOINTS VASP_KPOINTS file copy -force CONTCAR VASP_CONTCAR file copy -force CONTCAR POSCAR if {$SaveWAVECAR && [file exists WAVECAR] && [file size WAVECAR] > 0} { package require Translate WAVECARtoASCII WAVECAR VASP_WAVECAR.txt } catch {file delete -force WAVECAR} # if {$SaveWAVEDER && [file exists WAVEDER] && [file size WAVEDER] > 0} { # package require Translate # WAVEDERtoASCII WAVEDER WAVEDER.txt # } # catch {file delete -force WAVEDER} puts "Finished VASP! [clock format [clock seconds]]" listFiles } msg]} { puts "Error executing VASP [clock format [clock seconds]]: $msg\n\n$::errorInfo" catch {file copy -force INCAR VASP_INCAR} catch {file rename -force OUTCAR VASP_OUTCAR} catch {file rename -force OSZICAR VASP_OSZICAR} catch {file rename -force EIGENVAL VASP_EIGENVAL} catch {file copy -force IBZKPT VASP_IBZKPT} catch {file copy -force KPOINTS VASP_KPOINTS} catch {file copy -force CONTCAR VASP_CONTCAR} global errorInfo puts "" puts $errorInfo listFiles return } # Temporarily delete WAVECAR until Job server changes propagate through if {[file exists VASP_WAVECAR.txt] && [file exists WAVECAR]} { file delete -force WAVECAR } exit