-
Notifications
You must be signed in to change notification settings - Fork 4
/
in.lmp
62 lines (48 loc) · 2.7 KB
/
in.lmp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# This script runs a RPMD simulation of 125 harmonic oscillators in the canonical ensemble. Check job.sh for the variables that need to be passed on the command line.
#--------------------------- Simulation variables -----------------------------#
# Initalizes random number generator.
variable rnd equal round(random(0,999,${RANDOM}))
# ID number of each partition.
variable ibead uloop ${nbeads}
#------------------------------------------------------------------------------#
#---------------------------- Atomic setup ------------------------------------#
units metal
atom_modify map array # Necessary for fix RPMD.
atom_modify sort 0 0 # Necessary for simulating harmonic oscillators.
# Create atoms in simple cubic geometry.
lattice sc 100.0
region sim_box block 0 5 0 5 0 5
create_box 1 sim_box
create_atoms 1 box
mass * 2.5
# Neighbor list and timestep.
neigh_modify delay 0 every 100000 check no # Synchronize nlist update.
timestep 0.0001
#------------------------------------------------------------------------------#
#----------------------- Fixes, computes, & constraints -----------------------#
fix f1 all nve # Define integrator.
fix f2 all spring/self 1.0 # Harmonic oscillator potential.
fix_modify f2 energy yes
fix f3 all rpmd ${T}
fix f4 all langevin ${T} ${T} 0.01 ${rnd}${ibead} # Thermostat.
variable rnd equal round(random(0,999,0)) # Generates new rnd #.
#------------------------------------------------------------------------------#
#--------------------------- Output setup -------------------------------------#
# Setup output variables.
variable step equal step
variable pe equal pe/atoms # Harmonic oscillator pot energy.
variable ring_pe equal f_f3/atoms # Ring-polymer potential energy.
# Thermo output.
thermo_style custom step pe
thermo 10000
fix f5 all print 1000 "${step} ${pe} ${ring_pe}" &
title "# step pe/atom ring_pe" screen no &
file data/thermo/thermo_${T}K_${ibead}.dat
#------------------------------------------------------------------------------#
#----------------------------- Run simulation ---------------------------------#
# Initialize velocities to accelerate equilibration.
variable T0 equal 2.0*${T} # Initial temperature.
velocity all create ${T0} ${rnd}${ibead} dist gaussian
variable rnd equal round(random(0,999,0)) # Generates new rnd #.
run 100000
#------------------------------------------------------------------------------#