Constrained Dynamics

From PMFLib Wiki
Jump to navigation Jump to search

Navigation: Documentation / Methods / Constrained Dynamics


Contents


Description

Theory

Overview

This method proceeds in three steps
  1. driving of selected coordinate
    During driving desired CV change proceeds and forces system to switch Reactants -> Products. Restarts along CV change has to be recorded or extracted from trajectory. Restarts should not be very distant in CV space to obtain reasonable result of integration.
  2. parallel constrained dynamics for restarts extracted along reaction coordinate driving trajectory
    For each restart generated in previous step, separate simulation has to be run with CV value fixed by constrain.
  3. analysis
    Result of parallel constrained dynamics is mean value of force applied to keep constraint in each CV constrained position. These values are then numerically integrated.

CV constrain value manipulation

During Constrain dynamics simulations user manipulates with CV value. According user input program either fix CV value, or changes it. Changes are done in linear way to reach final value by end of dynamics. For CV value manipulations use keywords:

Key Default value Type Description
increment 0 real Increase CV from starting value to starting value + increment
change_to 0 real Change CV to value of change_to.
no keyword Increment set to 0 (default) and CV is kept fixed.


Input example

# specification of drving 
{CON}
[CV]
name distance1
change_to 10        ! change CV value from starting value to 10

Analysis

Result is set to file _con.out (by default), where this file contains constrain data from simulation. Following example shows how to extract free energy profile.

for I in `ls restart*/_con.out`
do
  echo "  $I"
  tail -n 1 $I | awk '{printf $6 "\t" $5 "\n";}' >> mtc_control
  tail -n 1 $I | awk '{printf $6 "\t" $7 "\n";}' >> _all_con.out
  tail -n 1 $I | awk '{printf $6 "\t" $9 "\n";}' >> error
done

sort -rn mtc_control > mtc_control_sorted
sort -rn _all_con.out > _all_con_sorted
sort -rn error > error_sorted
integrate _all_con_sorted int --nosigma
integrate error_sorted int_error --nosigma