Notes on AMBER 12 interface: Difference between revisions
(Created page with "The AMBER 12 interface is based on ''pmemd'' rather than ''sander''. There are many limitations on ''pmemd'', predominantly that it lacks: * Analytical second derivatives; *...") |
(No difference)
|
Latest revision as of 09:23, 13 May 2019
The AMBER 12 interface is based on pmemd rather than sander.
There are many limitations on pmemd, predominantly that it lacks:
- Analytical second derivatives;
- Smooth cutoffs;
- Non-periodic vacuum simulations.
However, it has built-in support for CUDA acceleration and its code is much, much simpler than the sander code.
Changes from pmemd code
amber_interface.F90
Based upon pmemd.F90, with the following changes:
- Split the code into 3 subroutines:
amber_setup
,energy_and_gradient
,amber_finish
smooth_cutoff.F90
The module is named smooth_cutoff_mod
and keeps track of ifswitch
.
Implementing force switching cut-offs. Important variables to keep track of:
ifswitch
determines which style of cut-offs is used.
ifswitch = 1
rc = sqrt(cut)
, i.e.
In generalised Born simulations, cut
is a private variable. The publicly accessible variable is gb_cutoff
. Note that this is different from rgbmax
, which determines the cut-off for calculating gb radii.
We switch on the additional terms at . This is arbitrarily set to 0.9 of the cut-off distance.
We have these other terms, term1(1:natom), term2(1:natom), term3(1:natom)
, which I shall represent as respectively.
The energies and their derivatives are given by:
mdin_ctrl_dat.F90
- Line 31:
ifswitch
added to declaration - Line 45:
ifswitch
added to/ mdin_ctrl_int /
common block - Line 49:
mdin_ctrl_int_cnt = 56
(rather than 55, since there is one more integer variable now) - Line 216:
ifswitch
added/cntrl/
namelist, for reading min.in files. - Line 434: initialised
ifswitch = 0