| 1 |
|
| 2 |
\section{\label{sec:mechanics}Mechanics} |
| 3 |
|
| 4 |
\subsection{\label{integrate}Integrating the Equations of Motion: the |
| 5 |
DLM method} |
| 6 |
|
| 7 |
The default method for integrating the equations of motion in {\sc |
| 8 |
oopse} is carried out using a velocity-Verlet version of the |
| 9 |
symplectic splitting method proposed by Dullweber, Leimkuhler and |
| 10 |
McLachlan (DLM).\cite{Dullweber1997} When there are no directional |
| 11 |
atoms or rigid bodies present in the simulation, this integrator |
| 12 |
becomes the standard velocity-Verlet integrator which is known to |
| 13 |
sample the microcanonical (NVE) ensemble. |
| 14 |
|
| 15 |
Previous integration methods for orientational motion have problems |
| 16 |
that are avoided in the DLM method. Direct propagation of the Euler |
| 17 |
angles has a known $1/\sin\theta$ divergence in the equations of |
| 18 |
motion for $\phi$ and $\psi$,\cite{AllenTildesley} leading to |
| 19 |
numerical instabilities any time one of the directional atoms or rigid |
| 20 |
bodies has an orientation near $\theta=0$ or $\theta=\pi$. More |
| 21 |
modern quaternion-based integration methods have relatively poor |
| 22 |
energy conservation. While quaternions work well for orientational |
| 23 |
motion in other ensembles ensembles, the microcanonical ensemble has a |
| 24 |
constant energy requirement that is quite sensitive to errors in the |
| 25 |
equations of motion. An earlier implementation of {\sc oopse} |
| 26 |
utilized quaternions for propagation of rotational motion; however, a |
| 27 |
detailed investigation showed that they resulted in a steady drift in |
| 28 |
the total energy, something that has been observed by |
| 29 |
others.\cite{Laird97} |
| 30 |
|
| 31 |
The key difference in the integration method proposed by Dullweber |
| 32 |
\emph{et al.} is that the entire rotation matrix is propagated from |
| 33 |
one time step to the next. In the past, this would not have been a |
| 34 |
feasible option, since that the rotation matrix for a single body has |
| 35 |
nine elements compared to 3 or 4 elements for Euler angles and |
| 36 |
quaternions respectively. System memory has become less costly in |
| 37 |
recent times, and this can be translated into substantial benefits in |
| 38 |
energy conservation. |
| 39 |
|
| 40 |
The basic equations of motion being integrated are derived from the |
| 41 |
Hamiltonian for conservative systems containing rigid bodies, |
| 42 |
\begin{equation} |
| 43 |
H = \sum_{i} \frac{\vec{v}_i^T M_i \vec{v}_i}{2} + \sum_i |
| 44 |
\frac{\vec{j}_i^T I_i \vec{j_i}}{2} + |
| 45 |
V(\left\{\vec{r}_i\right\}, \left\{\vec{\Omega}_i\right\}) |
| 46 |
\end{equation} |
| 47 |
where $\vec{r}_i$, $\vec{v}_i$, $\vec{j}_i$ and $I_i$ are the |
| 48 |
cartesian position vector of the center of mass, its velocity, the |
| 49 |
body-frame angular velocity, and the moment of inertia tensor (also in |
| 50 |
the body frame) of particle $i$, respectively. $V$ is the potential |
| 51 |
energy function and $\vec{\Omega}_i$ is a representation of the |
| 52 |
orientation of particle $i$. The equations of motion for the particle |
| 53 |
centers of mass are derived from Hamilton's equations and are quite |
| 54 |
simple, |
| 55 |
\begin{eqnarray} |
| 56 |
\frac{d \vec{r}}{d t} & = & \vec{v}(t) \\ |
| 57 |
\frac{d \vec{v}}{d t} & = & \frac{\vec{f}(t)}{m}, |
| 58 |
\end{eqnarray} |
| 59 |
where $\vec{f}(t)$ is the instantaneous force on the centers of mass, |
| 60 |
\begin{equation} |
| 61 |
\vec{f}(t) = \frac{\partial}{\partial |
| 62 |
\vec{r}}V(\left\{\vec{r}_i(t)\right\}, |
| 63 |
\left\{\vec{\Omega}_i(t)\right\}). |
| 64 |
\end{equation} |
| 65 |
|
| 66 |
The equations of motion for the orientational degrees of freedom |
| 67 |
require switching between the space-fixed (or laboratory-fixed) |
| 68 |
frame and the body-fixed frame. Forces and torques are most |
| 69 |
conveniently calculated in the space-fixed frame, while the rotational |
| 70 |
equations of motion are simplest in the body-fixed frame, |
| 71 |
\begin{eqnarray} |
| 72 |
\frac{d j_{x}}{d t} & = & \frac{\tau_x(t)}{I_{xx}} + |
| 73 |
\left(\frac{I_{yy} - I_{zz}}{I_{xx}} \right) j_y j_z \\ |
| 74 |
\frac{d j_{y}}{d t} & = & \frac{\tau_y(t)}{I_{yy}} + |
| 75 |
\left(\frac{I_{zz} - I_{xx}}{I_{yy}} \right) j_z j_x \\ |
| 76 |
\frac{d j_{z}}{d t} & = & \frac{\tau_z(t)}{I_{zz}} + |
| 77 |
\left(\frac{I_{xx} - I_{yy}}{I_{zz}} \right) j_x j_y |
| 78 |
\end{eqnarray} |
| 79 |
|
| 80 |
The DLM method allows for Verlet style integration of both linear and |
| 81 |
angular motion of rigid bodies. |
| 82 |
|
| 83 |
|
| 84 |
|
| 85 |
|
| 86 |
|
| 87 |
In the integration method, the |
| 88 |
orientational propagation involves a sequence of matrix evaluations to |
| 89 |
update the rotation matrix.\cite{Dullweber1997} These matrix rotations |
| 90 |
end up being more costly computationally than the simpler arithmetic |
| 91 |
quaternion propagation. With the same time step, a 1000 SSD particle |
| 92 |
simulation shows an average 7\% increase in computation time using the |
| 93 |
symplectic step method in place of quaternions. This cost is more than |
| 94 |
justified when comparing the energy conservation of the two methods as |
| 95 |
illustrated in figure |
| 96 |
\ref{timestep}. |
| 97 |
|
| 98 |
\begin{figure} |
| 99 |
\epsfxsize=6in |
| 100 |
\epsfbox{timeStep.epsi} |
| 101 |
\caption{Energy conservation using quaternion based integration versus |
| 102 |
the symplectic step method proposed by Dullweber \emph{et al.} with |
| 103 |
increasing time step. For each time step, the dotted line is total |
| 104 |
energy using the symplectic step integrator, and the solid line comes |
| 105 |
from the quaternion integrator. The larger time step plots are shifted |
| 106 |
up from the true energy baseline for clarity.} |
| 107 |
\label{timestep} |
| 108 |
\end{figure} |
| 109 |
|
| 110 |
In figure \ref{timestep}, the resulting energy drift at various time |
| 111 |
steps for both the symplectic step and quaternion integration schemes |
| 112 |
is compared. All of the 1000 SSD particle simulations started with the |
| 113 |
same configuration, and the only difference was the method for |
| 114 |
handling rotational motion. At time steps of 0.1 and 0.5 fs, both |
| 115 |
methods for propagating particle rotation conserve energy fairly well, |
| 116 |
with the quaternion method showing a slight energy drift over time in |
| 117 |
the 0.5 fs time step simulation. At time steps of 1 and 2 fs, the |
| 118 |
energy conservation benefits of the symplectic step method are clearly |
| 119 |
demonstrated. Thus, while maintaining the same degree of energy |
| 120 |
conservation, one can take considerably longer time steps, leading to |
| 121 |
an overall reduction in computation time. |
| 122 |
|
| 123 |
Energy drift in these SSD particle simulations was unnoticeable for |
| 124 |
time steps up to three femtoseconds. A slight energy drift on the |
| 125 |
order of 0.012 kcal/mol per nanosecond was observed at a time step of |
| 126 |
four femtoseconds, and as expected, this drift increases dramatically |
| 127 |
with increasing time step. To insure accuracy in the constant energy |
| 128 |
simulations, time steps were set at 2 fs and kept at this value for |
| 129 |
constant pressure simulations as well. |
| 130 |
|
| 131 |
|
| 132 |
\subsection{\label{sec:extended}Extended Systems for other Ensembles} |
| 133 |
|
| 134 |
|
| 135 |
|
| 136 |
|
| 137 |
{\sc oopse} implements a |
| 138 |
|
| 139 |
|
| 140 |
\subsubsection{\label{sec:noseHooverThermo}Nose-Hoover Thermostatting} |
| 141 |
|
| 142 |
To mimic the effects of being in a constant temperature ({\sc nvt}) |
| 143 |
ensemble, {\sc oopse} uses the Nose-Hoover extended system |
| 144 |
approach.\cite{Hoover85} In this method, the equations of motion for |
| 145 |
the particle positions and velocities are |
| 146 |
\begin{eqnarray} |
| 147 |
\dot{{\bf r}} & = & {\bf v} \\ |
| 148 |
\dot{{\bf v}} & = & \frac{{\bf f}}{m} - \chi {\bf v} |
| 149 |
\label{eq:nosehoovereom} |
| 150 |
\end{eqnarray} |
| 151 |
|
| 152 |
$\chi$ is an ``extra'' variable included in the extended system, and |
| 153 |
it is propagated using the first order equation of motion |
| 154 |
\begin{equation} |
| 155 |
\dot{\chi} = \frac{1}{\tau_{T}} \left( \frac{T}{T_{target}} - 1 \right) |
| 156 |
\label{eq:nosehooverext} |
| 157 |
\end{equation} |
| 158 |
where $T_{target}$ is the target temperature for the simulation, and |
| 159 |
$\tau_{T}$ is a time constant for the thermostat. |
| 160 |
|
| 161 |
To select the Nose-Hoover {\sc nvt} ensemble, the {\tt ensemble = NVT;} |
| 162 |
command would be used in the simulation's {\sc bass} file. There is |
| 163 |
some subtlety in choosing values for $\tau_{T}$, and it is usually set |
| 164 |
to values of a few ps. Within a {\sc bass} file, $\tau_{T}$ could be |
| 165 |
set to 1 ps using the {\tt tauThermostat = 1000; } command. |
| 166 |
|
| 167 |
|
| 168 |
\subsection{\label{Sec:zcons}Z-Constraint Method} |
| 169 |
|
| 170 |
Based on fluctuatin-dissipation theorem,\bigskip\ force auto-correlation |
| 171 |
method was developed to investigate the dynamics of ions inside the ion |
| 172 |
channels.\cite{Roux91} Time-dependent friction coefficient can be calculated |
| 173 |
from the deviation of the instaneous force from its mean force. |
| 174 |
|
| 175 |
% |
| 176 |
|
| 177 |
\begin{equation} |
| 178 |
\xi(z,t)=\langle\delta F(z,t)\delta F(z,0)\rangle/k_{B}T |
| 179 |
\end{equation} |
| 180 |
|
| 181 |
|
| 182 |
where% |
| 183 |
\begin{equation} |
| 184 |
\delta F(z,t)=F(z,t)-\langle F(z,t)\rangle |
| 185 |
\end{equation} |
| 186 |
|
| 187 |
|
| 188 |
If the time-dependent friction decay rapidly, static friction coefficient can |
| 189 |
be approximated by% |
| 190 |
|
| 191 |
\begin{equation} |
| 192 |
\xi^{static}(z)=\int_{0}^{\infty}\langle\delta F(z,t)\delta F(z,0)\rangle dt |
| 193 |
\end{equation} |
| 194 |
|
| 195 |
|
| 196 |
Hence, diffusion constant can be estimated by |
| 197 |
\begin{equation} |
| 198 |
D(z)=\frac{k_{B}T}{\xi^{static}(z)}=\frac{(k_{B}T)^{2}}{\int_{0}^{\infty |
| 199 |
}\langle\delta F(z,t)\delta F(z,0)\rangle dt}% |
| 200 |
\end{equation} |
| 201 |
|
| 202 |
|
| 203 |
\bigskip Z-Constraint method, which fixed the z coordinates of the molecules |
| 204 |
with respect to the center of the mass of the system, was proposed to obtain |
| 205 |
the forces required in force auto-correlation method.\cite{Marrink94} However, |
| 206 |
simply resetting the coordinate will move the center of the mass of the whole |
| 207 |
system. To avoid this problem, a new method was used at {\sc oopse}. Instead of |
| 208 |
resetting the coordinate, we reset the forces of z-constraint molecules as |
| 209 |
well as subtract the total constraint forces from the rest of the system after |
| 210 |
force calculation at each time step. |
| 211 |
\begin{verbatim} |
| 212 |
$F_{\alpha i}=0$ |
| 213 |
$V_{\alpha i}=V_{\alpha i}-\frac{\sum\limits_{i}M_{_{\alpha i}}V_{\alpha i}}{\sum\limits_{i}M_{_{\alpha i}}}$ |
| 214 |
$F_{\alpha i}=F_{\alpha i}-\frac{M_{_{\alpha i}}}{\sum\limits_{\alpha}\sum\limits_{i}M_{_{\alpha i}}}\sum\limits_{\beta}F_{\beta}$ |
| 215 |
$V_{\alpha i}=V_{\alpha i}-\frac{\sum\limits_{\alpha}\sum\limits_{i}M_{_{\alpha i}}V_{\alpha i}}{\sum\limits_{\alpha}\sum\limits_{i}M_{_{\alpha i}}}$ |
| 216 |
\end{verbatim} |
| 217 |
|
| 218 |
At the very beginning of the simulation, the molecules may not be at its |
| 219 |
constraint position. To move the z-constraint molecule to the specified |
| 220 |
position, a simple harmonic potential is used% |
| 221 |
|
| 222 |
\begin{equation} |
| 223 |
U(t)=\frac{1}{2}k_{Harmonic}(z(t)-z_{cons})^{2}% |
| 224 |
\end{equation} |
| 225 |
where $k_{Harmonic}$\bigskip\ is the harmonic force constant, $z(t)$ is |
| 226 |
current z coordinate of the center of mass of the z-constraint molecule, and |
| 227 |
$z_{cons}$ is the restraint position. Therefore, the harmonic force operated |
| 228 |
on the z-constraint molecule at time $t$ can be calculated by% |
| 229 |
\begin{equation} |
| 230 |
F_{z_{Harmonic}}(t)=-\frac{\partial U(t)}{\partial z(t)}=-k_{Harmonic}% |
| 231 |
(z(t)-z_{cons}) |
| 232 |
\end{equation} |
| 233 |
Worthy of mention, other kinds of potential functions can also be used to |
| 234 |
drive the z-constraint molecule. |