Protocol dynamics

This protocol allows running classical molecular dynamics on any potential provided by cuby interfaces. Verlet propagator is used and several thermostats are available. It is possible to run the MD only on a part of the system, keeping the rest frozen.

Input structure

Optionally, following blocks can be defined in the input:

Keywords used

Keywords specific for this protocol:

Other keywords used by this protocol:

Examples

The following examples, along with all other files needed to run them, can be found in the directory cuby4/protocols/dynamics/examples

#===============================================================================
# Molecular dynamics example 1 - setting temperatures
#===============================================================================

# 1 ps of MD simulation (the default step is 1 fs)
job: dynamics
maxcycles: 1000

# Amber calculation of ace-ala-nme tripeptide from database
interface: amber
geometry: ace-xxx-nme:ala

# Initial temperature - used only to generate the velocities at the start
# of the simulation

# Because we start from optimized structure, this temperature is set to
# twice the desired temperature (100K) - the kinetic energy quickly equalizes
# with potential energy. If we started from a MD snapshot where we already
# have the potential energy, this will be set to teh actual temperature
# we want, it is 100 K.
init_temp: 200

# Thermostat
thermostat: berendsen
thermostat_tc: 0.1 # faster coupling needed for such a short simulation

# This is the temperature maintained by the thermostat
temperature: 100

# Optionally, the thermostated temperature can vary during the simulation.
# Uncomment the following keyword to perform a simulation where the system is
# gradually heated to 300 K over the course of the simulation.
temperature_target: 300
#===============================================================================
# Molecular dynamics example 2 - restarting the simulation
#===============================================================================

# This example demonstrates restarting a MD run

job: multistep
steps: first, second

calculation_first:
  job: dynamics
  maxcycles: 100
  # Amber calculation of ace-ala-nme tripeptide from database
  interface: amber
  geometry: ace-xxx-nme:ala
  # By default, the simulation starts with random velocities generated from
  # the Boltzmann distribution
  init_temp: 600 
  # Every MD run produces file 'last.xyz' containing the final geometry and
  # velocities. Alternatively (e.g. if the run did not finish), a snapshot from
  # the trajectory can be used instead
  trajectory_file: trajectory1.xyz

calculation_second:
  # The same setup as in previous step
  job: dynamics
  maxcycles: 100
  interface: amber
  # Geometry for amber must be read from a PDB file, we can't use last.xyz directly
  # Therefore, we load the original geometry and update coordinates from the
  # restart file.
  geometry: ace-xxx-nme:ala
  geometry_update_coordinates: last.xyz
  # Velocities are read from the restart as well:
  velocities: read
  velocities_file: last.xyz
  # Write to second trajectory file
  trajectory_file: trajectory2.xyz

# The two trajectories produced should be equivalent to running a single,
# longer MD simulation