Hi all:
I wrote a BTCL script doing tensile test. I used the "cellParameter" to get and reset the dimension of the simulation box to apply strain cyclically. However the weird thing I found out is that when I set the MD temperature to be 298K, the "cellParameter" command can indeed reset and update the cell length while when the temperature is as low as 10K it failed to operate (the cell length keeps the same all the time). Her is the script:
#BIOSYM btcl 3
#
# Input File For Discover Generated By Materials Studio
# Input Client Model Document: C:\Materials Studio Projects\monomer_xlink_2 Files\Documents\tension10K.xsd
# Job: [saved] - tension10K Disco Dynamics
#
autoEcho off
#
# Begin Forcefield Section
begin forcefield = compass
#
# Nonbond section:
forcefield nonbond \
+separate_coulomb \
vdw \
summation_method = ewald \
ewald_accuracy = 1.e-002 \
update_width = 1.00 \
coulomb \
summation_method = ewald \
ewald_accuracy = 1.e-002 \
update_width = 1.00 \
dielectric_value = 1.0000
# End Forcefield Section
# Dynamics Section:
dynamics \
time = 10000.00 \
timestep = 1.0 \
initial_temperature = 10.00 \
ensemble = NPT \
temperature_control_method = andersen \
collision_ratio = 1.00 \
temperature = 10.00 \
press_choice = pressure \
pressure = 0.0001 \
pressure_control_method = berendsen_pc \
press_decay_constant = 0.10 \
deviation = 5000.00 \
execute frequency = 500.00 \
command = {print history filename = relaxation.his}
set cP_list [cellParameter]
set cP_a [lindex \$cP_list 0]
puts "The cell length a is \$cP_a"
\$a = \$cP_a
\$a_incr = \$cP_a * 0.005
for {set i 1} {\$i <= 10} {incr i 1} {
# Minimization Section:
minimize \
method = newton \
iteration_limit = 1 \
sd \
convergence = 1000.0000000 \
line_search_precision = 0.5000000 \
cg \
convergence = 10.0000000 \
line_search_precision = 0.5000000 \
method = fletcher \
newton \
convergence = 0.1000000 \
line_search_precision = 0.5000000 \
max_atoms = 200 \
method = bfgs
\$a = \$a + \$a_incr
cellParameter \$a
dynamics \
time = 10000.00 \
timestep = 1.00 \
initial_temperature = 10.00 \
ensemble = NVT \
temperature_control_method = andersen \
collision_ratio = 1.00 \
temperature = 10.00 \
deviation = 99999999.00 \
execute +before frequency = 10 +after \
command = {print output \
+instant \
+average \
+batch_average \
batch_size = 10 \
+temperature \
+pressure \
+density \
+volume \
+cell_a \
+cell_b \
+cell_c \
+sxx \
+syy \
+szz \
+syz \
+sxz \
+sxy} \
execute frequency = 100.00 \
command = {print history filename = \$i.his}
}
Any idea about why this happens? Is this a bug or there is some reason for this? Thanks.
Shaorui
I wrote a BTCL script doing tensile test. I used the "cellParameter" to get and reset the dimension of the simulation box to apply strain cyclically. However the weird thing I found out is that when I set the MD temperature to be 298K, the "cellParameter" command can indeed reset and update the cell length while when the temperature is as low as 10K it failed to operate (the cell length keeps the same all the time). Her is the script:
#BIOSYM btcl 3
#
# Input File For Discover Generated By Materials Studio
# Input Client Model Document: C:\Materials Studio Projects\monomer_xlink_2 Files\Documents\tension10K.xsd
# Job: [saved] - tension10K Disco Dynamics
#
autoEcho off
#
# Begin Forcefield Section
begin forcefield = compass
#
# Nonbond section:
forcefield nonbond \
+separate_coulomb \
vdw \
summation_method = ewald \
ewald_accuracy = 1.e-002 \
update_width = 1.00 \
coulomb \
summation_method = ewald \
ewald_accuracy = 1.e-002 \
update_width = 1.00 \
dielectric_value = 1.0000
# End Forcefield Section
# Dynamics Section:
dynamics \
time = 10000.00 \
timestep = 1.0 \
initial_temperature = 10.00 \
ensemble = NPT \
temperature_control_method = andersen \
collision_ratio = 1.00 \
temperature = 10.00 \
press_choice = pressure \
pressure = 0.0001 \
pressure_control_method = berendsen_pc \
press_decay_constant = 0.10 \
deviation = 5000.00 \
execute frequency = 500.00 \
command = {print history filename = relaxation.his}
set cP_list [cellParameter]
set cP_a [lindex \$cP_list 0]
puts "The cell length a is \$cP_a"
\$a = \$cP_a
\$a_incr = \$cP_a * 0.005
for {set i 1} {\$i <= 10} {incr i 1} {
# Minimization Section:
minimize \
method = newton \
iteration_limit = 1 \
sd \
convergence = 1000.0000000 \
line_search_precision = 0.5000000 \
cg \
convergence = 10.0000000 \
line_search_precision = 0.5000000 \
method = fletcher \
newton \
convergence = 0.1000000 \
line_search_precision = 0.5000000 \
max_atoms = 200 \
method = bfgs
\$a = \$a + \$a_incr
cellParameter \$a
dynamics \
time = 10000.00 \
timestep = 1.00 \
initial_temperature = 10.00 \
ensemble = NVT \
temperature_control_method = andersen \
collision_ratio = 1.00 \
temperature = 10.00 \
deviation = 99999999.00 \
execute +before frequency = 10 +after \
command = {print output \
+instant \
+average \
+batch_average \
batch_size = 10 \
+temperature \
+pressure \
+density \
+volume \
+cell_a \
+cell_b \
+cell_c \
+sxx \
+syy \
+szz \
+syz \
+sxz \
+sxy} \
execute frequency = 100.00 \
command = {print history filename = \$i.his}
}
Any idea about why this happens? Is this a bug or there is some reason for this? Thanks.
Shaorui