From cc96ea1ded97f45f394bc9abec28b5e649a3368b Mon Sep 17 00:00:00 2001 From: casievers Date: Thu, 25 Jul 2019 15:23:01 -0700 Subject: [PATCH] added respa compatability, and simplified examples --- .gitignore | 3 + examples/gjf/README.md | 2 +- examples/gjf/in.argon | 162 -------------------------------------- examples/gjf/in.gjf.vfull | 23 ++++++ examples/gjf/in.gjf.vhalf | 23 ++++++ 5 files changed, 50 insertions(+), 163 deletions(-) delete mode 100644 examples/gjf/in.argon create mode 100644 examples/gjf/in.gjf.vfull create mode 100644 examples/gjf/in.gjf.vhalf diff --git a/.gitignore b/.gitignore index f9dda49da6..3e4ebcda98 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,6 @@ Thumbs.db /Makefile /cmake_install.cmake /lmp + +#python example +/example/python/gjf_python diff --git a/examples/gjf/README.md b/examples/gjf/README.md index 79ef4cd2e1..e6886cb2dd 100644 --- a/examples/gjf/README.md +++ b/examples/gjf/README.md @@ -7,7 +7,7 @@ This directory contains the ingredients to run an NVT simulation using the GJF-2 Example: ``` NP=4 #number of processors -mpirun -np $NP lmp_mpi -in.argon -out.argon +mpirun -np $NP lmp_mpi -in.gjf.vhalf ``` ## Required LAMMPS packages: MOLECULE package diff --git a/examples/gjf/in.argon b/examples/gjf/in.argon deleted file mode 100644 index 271882c665..0000000000 --- a/examples/gjf/in.argon +++ /dev/null @@ -1,162 +0,0 @@ -###############################mm -# Atom style - charge/vdw/bonded# -################################# -atom_style full - -############################################## -#Units Metal : eV - ps - angstrom - bar# -# Real : kcal/mol - fs - angstrom - atm# -############################################## -units metal - -############ -#Run number# -############ -variable run_no equal 0 # is it a restart? -variable res_no equal ${run_no}-1 # restart file number - -####################################### -#Random Seeds and Domain Decomposition# -####################################### -variable iseed0 equal 2357 -variable iseed1 equal 26488 -variable iseed2 equal 10669 -processors * * * - -########### -#Data File# -########### -variable inpfile string argon.lmp -variable resfile string final_restart.${res_no} -variable ff_file string ff-argon.lmp - -########## -#Run Type# -########## -variable minimise equal 0 #Energy Minimization -variable md equal 1 #Plain MD - -############################### -#Molecular Dynamics Parameters# -############################### -variable run_no equal 0 # is it a restart? - -variable ens equal 9 # ensemble (0=nve, 1=nvt, 2=npt, 3=ber, 4=lang, 5=stoc, 6=vres, 7=stoch, 8=gjf) -variable ts equal 0.120 # simulation timestep (time units) -variable nequil equal 0 # number of equilibration steps -variable nsteps equal 200000 # number of MD steps -#variable nsteps equal 20 # number of MD steps - -variable temp_s equal 10 # starting temperature -variable temp_f equal 10 # final simulation temperature -variable trel equal 1 # thermostat relaxation time -variable tscale equal 1 # thermostat relaxation freq - vel rescaling only -variable deltat equal 1 # maximum temperature change - vel rescaling only - -variable npttype string iso # type of NPT (iso, aniso, tri, z...) -variable pres equal 1.01325 # pressure (NPT runs only) -variable prel equal 1.0 # barostat relaxation time - -neighbor 1 bin - -################### -#Output Parameters# -################### -variable ntraj equal 1000 # trajectory output frequency - all system -variable ntraj_s equal -100 # trajectory output frequency - solute only -variable nthermo equal 200 # thermodynamic data output frequency - -################################ -#Energy Minimization Parameters# -################################ -variable mtraj equal 1 # trajectory output frequency - all system -variable etol equal 1e-5 # % change in energy -variable ftol equal 1e-5 # max force threshold (force units) -variable maxiter equal 10000 # max # of iterations - -######################## -#3D Periodic Simulation# -######################## -boundary p p p - -############################# -#Reading the input structure# -############################# -if "${run_no} == 0" then "read_data ${inpfile}" else "read_restart ${resfile}" - -############# -#Force Field# -############# -include ${ff_file} - -###################### -#Thermodynamic Output# -###################### -variable str_basic string 'step time pe temp press' - -#MD ensemble (0=nve, 1=nvt, 2=npt, 3=ber, 4=lang, 5=stoc, 6=vres) -variable str_ens string ' ' -if "${ens} == 0" then "variable str_ens string 'etotal'" -if "${ens} == 2" then "variable str_ens string 'vol pxx pyy pzz cella cellb cellc cellakpha cellbeta cellgamma'" - -#Variable for a gulp friend output -if "${ens} >= 0" then "thermo_style custom time temp pe etotal press vol cpu" & - "thermo ${nthermo}" & - "thermo_modify flush yes" - -##################### -#Energy Minimization# -##################### -if "${minimise} <= 0 || ${run_no} > 0" then "jump SELF end_minimise" - print "Doing CG minimisation" - dump mdcd all dcd ${mtraj} min.dcd - dump_modify mdcd unwrap yes - min_style cg - min_modify line quadratic - minimize ${etol} ${ftol} ${maxiter} ${maxiter} - reset_timestep 0 - undump mdcd -label end_minimise - -################ -#Timestep in ps# -################ -timestep ${ts} - -############## -#Restart file# -############## -restart 100000 restart.1 restart.2 - -################### -#Trajectory output# -################### -#dump xyz all atom 1000 silicon.lammpstrj - -if "${ntraj} > 0" then & - "dump 1 all dcd ${ntraj} trajectory.${run_no}.dcd" & - "dump_modify 1 unwrap yes" - -fix mom all momentum 1 linear 1 1 1 - -############################################################### -#Ensembles (0=nve,1=nvt, 2=npt, 3=ber, 4=lang, 5=stoc, 6=vres)# -############################################################### -if "${md} > 0" then 'print "Setting up the ensembles"' & - 'if "${run_no} == 0" then "velocity all create ${temp_s} ${iseed0} mom yes dist gaussian"' & - 'if "${ens} == 0" then "fix nve all nve"' & - 'if "${ens} == 1" then "fix nvt all nvt temp ${temp_s} ${temp_f} ${trel} tchain 5"' & - 'if "${ens} == 2" then "fix npt all npt temp ${temp_s} ${temp_f} ${trel} ${npttype} ${pres} ${pres} ${prel} tchain 5 pchain 5 mtk yes"' & - 'if "${ens} == 3" then "fix nve all nve" "fix ber all temp/berendsen ${temp_s} ${temp_f} ${trel}"' & - 'if "${ens} == 4" then "fix nve all nve" "fix lang all langevin ${temp_s} ${temp_f} ${trel} ${iseed1} tally yes zero yes"' & - 'if "${ens} == 5" then "fix nve all nve" "fix stoch all temp/csvr ${temp_s} ${temp_f} ${trel} ${iseed1}"' & - 'if "${ens} == 6" then "fix nve all nve" "fix stoch all temp/csld ${temp_s} ${temp_f} ${trel} ${iseed1}"' & - 'if "${ens} == 7" then "fix nve all nve" "fix vres all temp/rescale ${tscale} ${temp_s} ${temp_f} ${tmin} ${tmax}"' & - 'if "${ens} == 8" then "fix nve all nve" "fix lang all langevin ${temp_s} ${temp_f} ${trel} ${iseed1} gjf yes"' & - 'if "${ens} == 9" then "fix nve all nve" "fix lang all langevin ${temp_s} ${temp_f} ${trel} ${iseed1} gjf yes halfstep yes"' - -if "${md} > 0" then "print 'Doing Molecular dynamics'" & - "run ${nsteps}" & - "write_restart final_restart.${run_no}" - - diff --git a/examples/gjf/in.gjf.vfull b/examples/gjf/in.gjf.vfull new file mode 100644 index 0000000000..19420e22ca --- /dev/null +++ b/examples/gjf/in.gjf.vfull @@ -0,0 +1,23 @@ +# GJF-2GJ thermostat + +units metal +atom_style full + +boundary p p p +read_data argon.lmp + +include ff-argon.lmp + +velocity all create 10 2357 mom yes dist gaussian + +neighbor 1 bin + +timestep 0.1 + +fix nve all nve +fix lang all langevin 10 10 1 26488 gjf vfull + +thermo 200 +run 50000 + + diff --git a/examples/gjf/in.gjf.vhalf b/examples/gjf/in.gjf.vhalf new file mode 100644 index 0000000000..74e2089595 --- /dev/null +++ b/examples/gjf/in.gjf.vhalf @@ -0,0 +1,23 @@ +# GJF-2GJ thermostat + +units metal +atom_style full + +boundary p p p +read_data argon.lmp + +include ff-argon.lmp + +velocity all create 10 2357 mom yes dist gaussian + +neighbor 1 bin + +timestep 0.1 + +fix nve all nve +fix lang all langevin 10 10 1 26488 gjf vhalf + +thermo 200 +run 50000 + +