79 lines
2.1 KiB
Plaintext
79 lines
2.1 KiB
Plaintext
# Use the OPLS-AA force field for all species.
|
|
import /usr/local/moltemplate/moltemplate/force_fields/oplsaa.lt
|
|
import PolyNIPAM.lt
|
|
|
|
# Define the SPC water and ions as in the OPLS-AA
|
|
Ca inherits OPLSAA {
|
|
write("Data Atoms"){
|
|
$atom:a1 $mol:. @atom:354 0.0 0.00000 0.00000 0.000000
|
|
}
|
|
}
|
|
Cl inherits OPLSAA {
|
|
write("Data Atoms"){
|
|
$atom:a1 $mol:. @atom:344 0.0 0.00000 0.00000 0.000000
|
|
}
|
|
}
|
|
SPC inherits OPLSAA {
|
|
write("Data Atoms"){
|
|
$atom:O $mol:. @atom:76 0. 0.0000000 0.00000 0.000000
|
|
$atom:H1 $mol:. @atom:77 0. 0.8164904 0.00000 0.5773590
|
|
$atom:H2 $mol:. @atom:77 0. -0.8164904 0.00000 0.5773590
|
|
}
|
|
write("Data Bond List") {
|
|
$bond:OH1 $atom:O $atom:H1
|
|
$bond:OH2 $atom:O $atom:H2
|
|
}
|
|
}
|
|
|
|
# Create the sample.
|
|
wat=new SPC[500]
|
|
pol=new PolyNIPAM[1]
|
|
cat=new Ca[1]
|
|
ani=new Cl[2]
|
|
|
|
# Periodic boundary conditions:
|
|
write_once("Data Boundary"){
|
|
0 26 xlo xhi
|
|
0 26 ylo yhi
|
|
0 26 zlo zhi
|
|
}
|
|
|
|
# Define the input variables.
|
|
write_once("In Init"){
|
|
# Input variables.
|
|
variable run string sample01 # output name
|
|
variable ts equal 2 # timestep
|
|
variable temp equal 298.15 # equilibrium temperature
|
|
variable p equal 1. # equilibrium pressure
|
|
variable equi equal 30000 # equilibration steps
|
|
|
|
# PBC (set them before the creation of the box).
|
|
boundary p p p
|
|
neighbor 3 bin
|
|
}
|
|
|
|
# Run an NVT simulation.
|
|
write_once("In Run"){
|
|
# Set the output.
|
|
thermo 1000
|
|
thermo_style custom step etotal evdwl ecoul elong ebond eangle edihed eimp pe ke temp press atoms vol density cpu
|
|
thermo_modify flush yes
|
|
compute pe1 all pe/atom pair
|
|
dump TRJ all custom 100 \$\{run\}.dump id xu yu zu c_pe1
|
|
|
|
# Minimise the input structure, just in case.
|
|
minimize .01 .001 1000 100000
|
|
write_data \$\{run\}.min
|
|
|
|
# Set the constrains.
|
|
group watergroup type @atom:76 @atom:77
|
|
fix 0 watergroup shake 0.0001 10 0 b @bond:042_043 a @angle:043_042_043
|
|
|
|
# Short annealing.
|
|
timestep \$\{ts\}
|
|
fix 1 all nvt temp \$\{temp\} \$\{temp\} \$(100*dt)
|
|
velocity all create \$\{temp\} 315443
|
|
run \$\{equi\}
|
|
unfix 1
|
|
}
|