| 1 | \chapter{\label{chapt:methodology}METHODOLOGY} | 
| 2 |  | 
| 3 | \section{\label{methodSection:rigidBodyIntegrators}Integrators for Rigid Body Motion in Molecular Dynamics} | 
| 4 |  | 
| 5 | In order to mimic the experiments, which are usually performed under | 
| 6 | constant temperature and/or pressure, extended Hamiltonian system | 
| 7 | methods have been developed to generate statistical ensembles, such | 
| 8 | as canonical ensemble and isobaric-isothermal ensemble \textit{etc}. | 
| 9 | In addition to the standard ensemble, specific ensembles have been | 
| 10 | developed to account for the anisotropy between the lateral and | 
| 11 | normal directions of membranes. The $NPAT$ ensemble, in which the | 
| 12 | normal pressure and the lateral surface area of the membrane are | 
| 13 | kept constant, and the $NP\gamma T$ ensemble, in which the normal | 
| 14 | pressure and the lateral surface tension are kept constant were | 
| 15 | proposed to address this issue. | 
| 16 |  | 
| 17 | Integration schemes for rotational motion of the rigid molecules in | 
| 18 | microcanonical ensemble have been extensively studied in the last | 
| 19 | two decades. Matubayasi and Nakahara developed a time-reversible | 
| 20 | integrator for rigid bodies in quaternion representation. Although | 
| 21 | it is not symplectic, this integrator still demonstrates a better | 
| 22 | long-time energy conservation than traditional methods because of | 
| 23 | the time-reversible nature. Extending Trotter-Suzuki to general | 
| 24 | system with a flat phase space, Miller and his colleagues devised an | 
| 25 | novel symplectic, time-reversible and volume-preserving integrator | 
| 26 | in quaternion representation, which was shown to be superior to the | 
| 27 | time-reversible integrator of Matubayasi and Nakahara. However, all | 
| 28 | of the integrators in quaternion representation suffer from the | 
| 29 | computational penalty of constructing a rotation matrix from | 
| 30 | quaternions to evolve coordinates and velocities at every time step. | 
| 31 | An alternative integration scheme utilizing rotation matrix directly | 
| 32 | proposed by Dullweber, Leimkuhler and McLachlan (DLM) also preserved | 
| 33 | the same structural properties of the Hamiltonian flow. In this | 
| 34 | section, the integration scheme of DLM method will be reviewed and | 
| 35 | extended to other ensembles. | 
| 36 |  | 
| 37 | \subsection{\label{methodSection:DLM}Integrating the Equations of Motion: the | 
| 38 | DLM method} | 
| 39 |  | 
| 40 | The DLM method uses a Trotter factorization of the orientational | 
| 41 | propagator.  This has three effects: | 
| 42 | \begin{enumerate} | 
| 43 | \item the integrator is area-preserving in phase space (i.e. it is | 
| 44 | {\it symplectic}), | 
| 45 | \item the integrator is time-{\it reversible}, making it suitable for Hybrid | 
| 46 | Monte Carlo applications, and | 
| 47 | \item the error for a single time step is of order $\mathcal{O}\left(h^4\right)$ | 
| 48 | for timesteps of length $h$. | 
| 49 | \end{enumerate} | 
| 50 |  | 
| 51 | The integration of the equations of motion is carried out in a | 
| 52 | velocity-Verlet style 2-part algorithm, where $h= \delta t$: | 
| 53 |  | 
| 54 | {\tt moveA:} | 
| 55 | \begin{align*} | 
| 56 | {\bf v}\left(t + h / 2\right)  &\leftarrow  {\bf v}(t) | 
| 57 | + \frac{h}{2} \left( {\bf f}(t) / m \right), \\ | 
| 58 | % | 
| 59 | {\bf r}(t + h) &\leftarrow {\bf r}(t) | 
| 60 | + h  {\bf v}\left(t + h / 2 \right), \\ | 
| 61 | % | 
| 62 | {\bf j}\left(t + h / 2 \right)  &\leftarrow {\bf j}(t) | 
| 63 | + \frac{h}{2} {\bf \tau}^b(t), \\ | 
| 64 | % | 
| 65 | \mathsf{A}(t + h) &\leftarrow \mathrm{rotate}\left( h {\bf j} | 
| 66 | (t + h / 2) \cdot \overleftrightarrow{\mathsf{I}}^{-1} \right). | 
| 67 | \end{align*} | 
| 68 |  | 
| 69 | In this context, the $\mathrm{rotate}$ function is the reversible | 
| 70 | product of the three body-fixed rotations, | 
| 71 | \begin{equation} | 
| 72 | \mathrm{rotate}({\bf a}) = \mathsf{G}_x(a_x / 2) \cdot | 
| 73 | \mathsf{G}_y(a_y / 2) \cdot \mathsf{G}_z(a_z) \cdot \mathsf{G}_y(a_y | 
| 74 | / 2) \cdot \mathsf{G}_x(a_x /2), | 
| 75 | \end{equation} | 
| 76 | where each rotational propagator, $\mathsf{G}_\alpha(\theta)$, | 
| 77 | rotates both the rotation matrix ($\mathsf{A}$) and the body-fixed | 
| 78 | angular momentum (${\bf j}$) by an angle $\theta$ around body-fixed | 
| 79 | axis $\alpha$, | 
| 80 | \begin{equation} | 
| 81 | \mathsf{G}_\alpha( \theta ) = \left\{ | 
| 82 | \begin{array}{lcl} | 
| 83 | \mathsf{A}(t) & \leftarrow & \mathsf{A}(0) \cdot \mathsf{R}_\alpha(\theta)^T, \\ | 
| 84 | {\bf j}(t) & \leftarrow & \mathsf{R}_\alpha(\theta) \cdot {\bf | 
| 85 | j}(0). | 
| 86 | \end{array} | 
| 87 | \right. | 
| 88 | \end{equation} | 
| 89 | $\mathsf{R}_\alpha$ is a quadratic approximation to the single-axis | 
| 90 | rotation matrix.  For example, in the small-angle limit, the | 
| 91 | rotation matrix around the body-fixed x-axis can be approximated as | 
| 92 | \begin{equation} | 
| 93 | \mathsf{R}_x(\theta) \approx \left( | 
| 94 | \begin{array}{ccc} | 
| 95 | 1 & 0 & 0 \\ | 
| 96 | 0 & \frac{1-\theta^2 / 4}{1 + \theta^2 / 4}  & -\frac{\theta}{1+ | 
| 97 | \theta^2 / 4} \\ | 
| 98 | 0 & \frac{\theta}{1+ \theta^2 / 4} & \frac{1-\theta^2 / 4}{1 + | 
| 99 | \theta^2 / 4} | 
| 100 | \end{array} | 
| 101 | \right). | 
| 102 | \end{equation} | 
| 103 | All other rotations follow in a straightforward manner. | 
| 104 |  | 
| 105 | After the first part of the propagation, the forces and body-fixed | 
| 106 | torques are calculated at the new positions and orientations | 
| 107 |  | 
| 108 | {\tt doForces:} | 
| 109 | \begin{align*} | 
| 110 | {\bf f}(t + h) &\leftarrow | 
| 111 | - \left(\frac{\partial V}{\partial {\bf r}}\right)_{{\bf r}(t + h)}, \\ | 
| 112 | % | 
| 113 | {\bf \tau}^{s}(t + h) &\leftarrow {\bf u}(t + h) | 
| 114 | \times \frac{\partial V}{\partial {\bf u}}, \\ | 
| 115 | % | 
| 116 | {\bf \tau}^{b}(t + h) &\leftarrow \mathsf{A}(t + h) | 
| 117 | \cdot {\bf \tau}^s(t + h). | 
| 118 | \end{align*} | 
| 119 |  | 
| 120 | {\sc oopse} automatically updates ${\bf u}$ when the rotation matrix | 
| 121 | $\mathsf{A}$ is calculated in {\tt moveA}.  Once the forces and | 
| 122 | torques have been obtained at the new time step, the velocities can | 
| 123 | be advanced to the same time value. | 
| 124 |  | 
| 125 | {\tt moveB:} | 
| 126 | \begin{align*} | 
| 127 | {\bf v}\left(t + h \right)  &\leftarrow  {\bf v}\left(t + h / 2 | 
| 128 | \right) | 
| 129 | + \frac{h}{2} \left( {\bf f}(t + h) / m \right), \\ | 
| 130 | % | 
| 131 | {\bf j}\left(t + h \right)  &\leftarrow {\bf j}\left(t + h / 2 | 
| 132 | \right) | 
| 133 | + \frac{h}{2} {\bf \tau}^b(t + h) . | 
| 134 | \end{align*} | 
| 135 |  | 
| 136 | The matrix rotations used in the DLM method end up being more costly | 
| 137 | computationally than the simpler arithmetic quaternion propagation. | 
| 138 | With the same time step, a 1000-molecule water simulation shows an | 
| 139 | average 7\% increase in computation time using the DLM method in | 
| 140 | place of quaternions. This cost is more than justified when | 
| 141 | comparing the energy conservation of the two methods as illustrated | 
| 142 | in Fig.~\ref{timestep}. | 
| 143 |  | 
| 144 | \begin{figure} | 
| 145 | \centering | 
| 146 | \includegraphics[width=\linewidth]{timeStep.eps} | 
| 147 | \caption[Energy conservation for quaternion versus DLM | 
| 148 | dynamics]{Energy conservation using quaternion based integration | 
| 149 | versus the method proposed by Dullweber \emph{et al.} with | 
| 150 | increasing time step. For each time step, the dotted line is total | 
| 151 | energy using the DLM integrator, and the solid line comes from the | 
| 152 | quaternion integrator. The larger time step plots are shifted up | 
| 153 | from the true energy baseline for clarity.} | 
| 154 | \label{methodFig:timestep} | 
| 155 | \end{figure} | 
| 156 |  | 
| 157 | In Fig.~\ref{methodFig:timestep}, the resulting energy drift at | 
| 158 | various time steps for both the DLM and quaternion integration | 
| 159 | schemes is compared. All of the 1000 molecule water simulations | 
| 160 | started with the same configuration, and the only difference was the | 
| 161 | method for handling rotational motion. At time steps of 0.1 and 0.5 | 
| 162 | fs, both methods for propagating molecule rotation conserve energy | 
| 163 | fairly well, with the quaternion method showing a slight energy | 
| 164 | drift over time in the 0.5 fs time step simulation. At time steps of | 
| 165 | 1 and 2 fs, the energy conservation benefits of the DLM method are | 
| 166 | clearly demonstrated. Thus, while maintaining the same degree of | 
| 167 | energy conservation, one can take considerably longer time steps, | 
| 168 | leading to an overall reduction in computation time. | 
| 169 |  | 
| 170 | \subsection{\label{methodSection:NVT}Nos\'{e}-Hoover Thermostatting} | 
| 171 |  | 
| 172 | The Nos\'e-Hoover equations of motion are given by\cite{Hoover1985} | 
| 173 | \begin{eqnarray} | 
| 174 | \dot{{\bf r}} & = & {\bf v}, \\ | 
| 175 | \dot{{\bf v}} & = & \frac{{\bf f}}{m} - \chi {\bf v} ,\\ | 
| 176 | \dot{\mathsf{A}} & = & \mathsf{A} \cdot | 
| 177 | \mbox{ skew}\left(\overleftrightarrow{\mathsf{I}}^{-1} \cdot {\bf j}\right), \\ | 
| 178 | \dot{{\bf j}} & = & {\bf j} \times \left( | 
| 179 | \overleftrightarrow{\mathsf{I}}^{-1} \cdot {\bf j} \right) - \mbox{ | 
| 180 | rot}\left(\mathsf{A}^{T} \cdot \frac{\partial V}{\partial | 
| 181 | \mathsf{A}} \right) - \chi {\bf j}. \label{eq:nosehoovereom} | 
| 182 | \end{eqnarray} | 
| 183 |  | 
| 184 | $\chi$ is an ``extra'' variable included in the extended system, and | 
| 185 | it is propagated using the first order equation of motion | 
| 186 | \begin{equation} | 
| 187 | \dot{\chi} = \frac{1}{\tau_{T}^2} \left( | 
| 188 | \frac{T}{T_{\mathrm{target}}} - 1 \right). \label{eq:nosehooverext} | 
| 189 | \end{equation} | 
| 190 |  | 
| 191 | The instantaneous temperature $T$ is proportional to the total | 
| 192 | kinetic energy (both translational and orientational) and is given | 
| 193 | by | 
| 194 | \begin{equation} | 
| 195 | T = \frac{2 K}{f k_B} | 
| 196 | \end{equation} | 
| 197 | Here, $f$ is the total number of degrees of freedom in the system, | 
| 198 | \begin{equation} | 
| 199 | f = 3 N + 3 N_{\mathrm{orient}} - N_{\mathrm{constraints}}, | 
| 200 | \end{equation} | 
| 201 | and $K$ is the total kinetic energy, | 
| 202 | \begin{equation} | 
| 203 | K = \sum_{i=1}^{N} \frac{1}{2} m_i {\bf v}_i^T \cdot {\bf v}_i + | 
| 204 | \sum_{i=1}^{N_{\mathrm{orient}}}  \frac{1}{2} {\bf j}_i^T \cdot | 
| 205 | \overleftrightarrow{\mathsf{I}}_i^{-1} \cdot {\bf j}_i. | 
| 206 | \end{equation} | 
| 207 |  | 
| 208 | In eq.(\ref{eq:nosehooverext}), $\tau_T$ is the time constant for | 
| 209 | relaxation of the temperature to the target value.  To set values | 
| 210 | for $\tau_T$ or $T_{\mathrm{target}}$ in a simulation, one would use | 
| 211 | the {\tt tauThermostat} and {\tt targetTemperature} keywords in the | 
| 212 | {\tt .bass} file.  The units for {\tt tauThermostat} are fs, and the | 
| 213 | units for the {\tt targetTemperature} are degrees K.   The | 
| 214 | integration of the equations of motion is carried out in a | 
| 215 | velocity-Verlet style 2 part algorithm: | 
| 216 |  | 
| 217 | {\tt moveA:} | 
| 218 | \begin{align*} | 
| 219 | T(t) &\leftarrow \left\{{\bf v}(t)\right\}, \left\{{\bf j}(t)\right\} ,\\ | 
| 220 | % | 
| 221 | {\bf v}\left(t + h / 2\right)  &\leftarrow {\bf v}(t) | 
| 222 | + \frac{h}{2} \left( \frac{{\bf f}(t)}{m} - {\bf v}(t) | 
| 223 | \chi(t)\right), \\ | 
| 224 | % | 
| 225 | {\bf r}(t + h) &\leftarrow {\bf r}(t) | 
| 226 | + h {\bf v}\left(t + h / 2 \right) ,\\ | 
| 227 | % | 
| 228 | {\bf j}\left(t + h / 2 \right)  &\leftarrow {\bf j}(t) | 
| 229 | + \frac{h}{2} \left( {\bf \tau}^b(t) - {\bf j}(t) | 
| 230 | \chi(t) \right) ,\\ | 
| 231 | % | 
| 232 | \mathsf{A}(t + h) &\leftarrow \mathrm{rotate} | 
| 233 | \left(h * {\bf j}(t + h / 2) | 
| 234 | \overleftrightarrow{\mathsf{I}}^{-1} \right) ,\\ | 
| 235 | % | 
| 236 | \chi\left(t + h / 2 \right) &\leftarrow \chi(t) | 
| 237 | + \frac{h}{2 \tau_T^2} \left( \frac{T(t)} | 
| 238 | {T_{\mathrm{target}}} - 1 \right) . | 
| 239 | \end{align*} | 
| 240 |  | 
| 241 | Here $\mathrm{rotate}(h * {\bf j} | 
| 242 | \overleftrightarrow{\mathsf{I}}^{-1})$ is the same symplectic | 
| 243 | Trotter factorization of the three rotation operations that was | 
| 244 | discussed in the section on the DLM integrator.  Note that this | 
| 245 | operation modifies both the rotation matrix $\mathsf{A}$ and the | 
| 246 | angular momentum ${\bf j}$.  {\tt moveA} propagates velocities by a | 
| 247 | half time step, and positional degrees of freedom by a full time | 
| 248 | step.  The new positions (and orientations) are then used to | 
| 249 | calculate a new set of forces and torques in exactly the same way | 
| 250 | they are calculated in the {\tt doForces} portion of the DLM | 
| 251 | integrator. | 
| 252 |  | 
| 253 | Once the forces and torques have been obtained at the new time step, | 
| 254 | the temperature, velocities, and the extended system variable can be | 
| 255 | advanced to the same time value. | 
| 256 |  | 
| 257 | {\tt moveB:} | 
| 258 | \begin{align*} | 
| 259 | T(t + h) &\leftarrow \left\{{\bf v}(t + h)\right\}, | 
| 260 | \left\{{\bf j}(t + h)\right\}, \\ | 
| 261 | % | 
| 262 | \chi\left(t + h \right) &\leftarrow \chi\left(t + h / | 
| 263 | 2 \right) + \frac{h}{2 \tau_T^2} \left( \frac{T(t+h)} | 
| 264 | {T_{\mathrm{target}}} - 1 \right), \\ | 
| 265 | % | 
| 266 | {\bf v}\left(t + h \right)  &\leftarrow {\bf v}\left(t | 
| 267 | + h / 2 \right) + \frac{h}{2} \left( | 
| 268 | \frac{{\bf f}(t + h)}{m} - {\bf v}(t + h) | 
| 269 | \chi(t h)\right) ,\\ | 
| 270 | % | 
| 271 | {\bf j}\left(t + h \right) &\leftarrow {\bf j}\left(t | 
| 272 | + h / 2 \right) + \frac{h}{2} | 
| 273 | \left( {\bf \tau}^b(t + h) - {\bf j}(t + h) | 
| 274 | \chi(t + h) \right) . | 
| 275 | \end{align*} | 
| 276 |  | 
| 277 | Since ${\bf v}(t + h)$ and ${\bf j}(t + h)$ are required to | 
| 278 | caclculate $T(t + h)$ as well as $\chi(t + h)$, they indirectly | 
| 279 | depend on their own values at time $t + h$.  {\tt moveB} is | 
| 280 | therefore done in an iterative fashion until $\chi(t + h)$ becomes | 
| 281 | self-consistent.  The relative tolerance for the self-consistency | 
| 282 | check defaults to a value of $\mbox{10}^{-6}$, but {\sc oopse} will | 
| 283 | terminate the iteration after 4 loops even if the consistency check | 
| 284 | has not been satisfied. | 
| 285 |  | 
| 286 | The Nos\'e-Hoover algorithm is known to conserve a Hamiltonian for | 
| 287 | the extended system that is, to within a constant, identical to the | 
| 288 | Helmholtz free energy,\cite{Melchionna1993} | 
| 289 | \begin{equation} | 
| 290 | H_{\mathrm{NVT}} = V + K + f k_B T_{\mathrm{target}} \left( | 
| 291 | \frac{\tau_{T}^2 \chi^2(t)}{2} + \int_{0}^{t} \chi(t^\prime) | 
| 292 | dt^\prime \right). | 
| 293 | \end{equation} | 
| 294 | Poor choices of $h$ or $\tau_T$ can result in non-conservation of | 
| 295 | $H_{\mathrm{NVT}}$, so the conserved quantity is maintained in the | 
| 296 | last column of the {\tt .stat} file to allow checks on the quality | 
| 297 | of the integration. | 
| 298 |  | 
| 299 | \subsection{\label{methodSection:NPTi}Constant-pressure integration with | 
| 300 | isotropic box deformations (NPTi)} | 
| 301 |  | 
| 302 | To carry out isobaric-isothermal ensemble calculations {\sc oopse} | 
| 303 | implements the Melchionna modifications to the | 
| 304 | Nos\'e-Hoover-Andersen equations of motion,\cite{Melchionna1993} | 
| 305 |  | 
| 306 | \begin{eqnarray} | 
| 307 | \dot{{\bf r}} & = & {\bf v} + \eta \left( {\bf r} - {\bf R}_0 \right), \\ | 
| 308 | \dot{{\bf v}} & = & \frac{{\bf f}}{m} - (\eta + \chi) {\bf v}, \\ | 
| 309 | \dot{\mathsf{A}} & = & \mathsf{A} \cdot | 
| 310 | \mbox{ skew}\left(\overleftrightarrow{I}^{-1} \cdot {\bf j}\right),\\ | 
| 311 | \dot{{\bf j}} & = & {\bf j} \times \left( | 
| 312 | \overleftrightarrow{I}^{-1} \cdot {\bf j} \right) - \mbox{ | 
| 313 | rot}\left(\mathsf{A}^{T} \cdot \frac{\partial | 
| 314 | V}{\partial \mathsf{A}} \right) - \chi {\bf j}, \\ | 
| 315 | \dot{\chi} & = & \frac{1}{\tau_{T}^2} \left( | 
| 316 | \frac{T}{T_{\mathrm{target}}} - 1 \right) ,\\ | 
| 317 | \dot{\eta} & = & \frac{1}{\tau_{B}^2 f k_B T_{\mathrm{target}}} V | 
| 318 | \left( P - | 
| 319 | P_{\mathrm{target}} \right), \\ | 
| 320 | \dot{\mathcal{V}} & = & 3 \mathcal{V} \eta . \label{eq:melchionna1} | 
| 321 | \end{eqnarray} | 
| 322 |  | 
| 323 | $\chi$ and $\eta$ are the ``extra'' degrees of freedom in the | 
| 324 | extended system.  $\chi$ is a thermostat, and it has the same | 
| 325 | function as it does in the Nos\'e-Hoover NVT integrator.  $\eta$ is | 
| 326 | a barostat which controls changes to the volume of the simulation | 
| 327 | box.  ${\bf R}_0$ is the location of the center of mass for the | 
| 328 | entire system, and $\mathcal{V}$ is the volume of the simulation | 
| 329 | box.  At any time, the volume can be calculated from the determinant | 
| 330 | of the matrix which describes the box shape: | 
| 331 | \begin{equation} | 
| 332 | \mathcal{V} = \det(\mathsf{H}). | 
| 333 | \end{equation} | 
| 334 |  | 
| 335 | The NPTi integrator requires an instantaneous pressure. This | 
| 336 | quantity is calculated via the pressure tensor, | 
| 337 | \begin{equation} | 
| 338 | \overleftrightarrow{\mathsf{P}}(t) = \frac{1}{\mathcal{V}(t)} \left( | 
| 339 | \sum_{i=1}^{N} m_i {\bf v}_i(t) \otimes {\bf v}_i(t) \right) + | 
| 340 | \overleftrightarrow{\mathsf{W}}(t). | 
| 341 | \end{equation} | 
| 342 | The kinetic contribution to the pressure tensor utilizes the {\it | 
| 343 | outer} product of the velocities denoted by the $\otimes$ symbol. | 
| 344 | The stress tensor is calculated from another outer product of the | 
| 345 | inter-atomic separation vectors (${\bf r}_{ij} = {\bf r}_j - {\bf | 
| 346 | r}_i$) with the forces between the same two atoms, | 
| 347 | \begin{equation} | 
| 348 | \overleftrightarrow{\mathsf{W}}(t) = \sum_{i} \sum_{j>i} {\bf | 
| 349 | r}_{ij}(t) \otimes {\bf f}_{ij}(t). | 
| 350 | \end{equation} | 
| 351 | The instantaneous pressure is then simply obtained from the trace of | 
| 352 | the Pressure tensor, | 
| 353 | \begin{equation} | 
| 354 | P(t) = \frac{1}{3} \mathrm{Tr} \left( | 
| 355 | \overleftrightarrow{\mathsf{P}}(t). \right) | 
| 356 | \end{equation} | 
| 357 |  | 
| 358 | In eq.(\ref{eq:melchionna1}), $\tau_B$ is the time constant for | 
| 359 | relaxation of the pressure to the target value.  To set values for | 
| 360 | $\tau_B$ or $P_{\mathrm{target}}$ in a simulation, one would use the | 
| 361 | {\tt tauBarostat} and {\tt targetPressure} keywords in the {\tt | 
| 362 | .bass} file.  The units for {\tt tauBarostat} are fs, and the units | 
| 363 | for the {\tt targetPressure} are atmospheres.  Like in the NVT | 
| 364 | integrator, the integration of the equations of motion is carried | 
| 365 | out in a velocity-Verlet style 2 part algorithm: | 
| 366 |  | 
| 367 | {\tt moveA:} | 
| 368 | \begin{align*} | 
| 369 | T(t) &\leftarrow \left\{{\bf v}(t)\right\}, \left\{{\bf j}(t)\right\} ,\\ | 
| 370 | % | 
| 371 | P(t) &\leftarrow \left\{{\bf r}(t)\right\}, \left\{{\bf v}(t)\right\} ,\\ | 
| 372 | % | 
| 373 | {\bf v}\left(t + h / 2\right)  &\leftarrow {\bf v}(t) | 
| 374 | + \frac{h}{2} \left( \frac{{\bf f}(t)}{m} - {\bf v}(t) | 
| 375 | \left(\chi(t) + \eta(t) \right) \right), \\ | 
| 376 | % | 
| 377 | {\bf j}\left(t + h / 2 \right)  &\leftarrow {\bf j}(t) | 
| 378 | + \frac{h}{2} \left( {\bf \tau}^b(t) - {\bf j}(t) | 
| 379 | \chi(t) \right), \\ | 
| 380 | % | 
| 381 | \mathsf{A}(t + h) &\leftarrow \mathrm{rotate}\left(h * | 
| 382 | {\bf j}(t + h / 2) \overleftrightarrow{\mathsf{I}}^{-1} | 
| 383 | \right) ,\\ | 
| 384 | % | 
| 385 | \chi\left(t + h / 2 \right) &\leftarrow \chi(t) + | 
| 386 | \frac{h}{2 \tau_T^2} \left( \frac{T(t)}{T_{\mathrm{target}}} - 1 | 
| 387 | \right) ,\\ | 
| 388 | % | 
| 389 | \eta(t + h / 2) &\leftarrow \eta(t) + \frac{h | 
| 390 | \mathcal{V}(t)}{2 N k_B T(t) \tau_B^2} \left( P(t) | 
| 391 | - P_{\mathrm{target}} \right), \\ | 
| 392 | % | 
| 393 | {\bf r}(t + h) &\leftarrow {\bf r}(t) + h | 
| 394 | \left\{ {\bf v}\left(t + h / 2 \right) | 
| 395 | + \eta(t + h / 2)\left[ {\bf r}(t + h) | 
| 396 | - {\bf R}_0 \right] \right\} ,\\ | 
| 397 | % | 
| 398 | \mathsf{H}(t + h) &\leftarrow e^{-h \eta(t + h / 2)} | 
| 399 | \mathsf{H}(t). | 
| 400 | \end{align*} | 
| 401 |  | 
| 402 | Most of these equations are identical to their counterparts in the | 
| 403 | NVT integrator, but the propagation of positions to time $t + h$ | 
| 404 | depends on the positions at the same time.  {\sc oopse} carries out | 
| 405 | this step iteratively (with a limit of 5 passes through the | 
| 406 | iterative loop).  Also, the simulation box $\mathsf{H}$ is scaled | 
| 407 | uniformly for one full time step by an exponential factor that | 
| 408 | depends on the value of $\eta$ at time $t + h / 2$.  Reshaping the | 
| 409 | box uniformly also scales the volume of the box by | 
| 410 | \begin{equation} | 
| 411 | \mathcal{V}(t + h) \leftarrow e^{ - 3 h \eta(t + h /2)}. | 
| 412 | \mathcal{V}(t) | 
| 413 | \end{equation} | 
| 414 |  | 
| 415 | The {\tt doForces} step for the NPTi integrator is exactly the same | 
| 416 | as in both the DLM and NVT integrators.  Once the forces and torques | 
| 417 | have been obtained at the new time step, the velocities can be | 
| 418 | advanced to the same time value. | 
| 419 |  | 
| 420 | {\tt moveB:} | 
| 421 | \begin{align*} | 
| 422 | T(t + h) &\leftarrow \left\{{\bf v}(t + h)\right\}, | 
| 423 | \left\{{\bf j}(t + h)\right\} ,\\ | 
| 424 | % | 
| 425 | P(t + h) &\leftarrow  \left\{{\bf r}(t + h)\right\}, | 
| 426 | \left\{{\bf v}(t + h)\right\}, \\ | 
| 427 | % | 
| 428 | \chi\left(t + h \right) &\leftarrow \chi\left(t + h / | 
| 429 | 2 \right) + \frac{h}{2 \tau_T^2} \left( \frac{T(t+h)} | 
| 430 | {T_{\mathrm{target}}} - 1 \right), \\ | 
| 431 | % | 
| 432 | \eta(t + h) &\leftarrow \eta(t + h / 2) + | 
| 433 | \frac{h \mathcal{V}(t + h)}{2 N k_B T(t + h) | 
| 434 | \tau_B^2} \left( P(t + h) - P_{\mathrm{target}} \right), \\ | 
| 435 | % | 
| 436 | {\bf v}\left(t + h \right)  &\leftarrow {\bf v}\left(t | 
| 437 | + h / 2 \right) + \frac{h}{2} \left( | 
| 438 | \frac{{\bf f}(t + h)}{m} - {\bf v}(t + h) | 
| 439 | (\chi(t + h) + \eta(t + h)) \right) ,\\ | 
| 440 | % | 
| 441 | {\bf j}\left(t + h \right)  &\leftarrow {\bf j}\left(t | 
| 442 | + h / 2 \right) + \frac{h}{2} \left( {\bf | 
| 443 | \tau}^b(t + h) - {\bf j}(t + h) | 
| 444 | \chi(t + h) \right) . | 
| 445 | \end{align*} | 
| 446 |  | 
| 447 | Once again, since ${\bf v}(t + h)$ and ${\bf j}(t + h)$ are required | 
| 448 | to caclculate $T(t + h)$, $P(t + h)$, $\chi(t + h)$, and $\eta(t + | 
| 449 | h)$, they indirectly depend on their own values at time $t + h$. | 
| 450 | {\tt moveB} is therefore done in an iterative fashion until $\chi(t | 
| 451 | + h)$ and $\eta(t + h)$ become self-consistent.  The relative | 
| 452 | tolerance for the self-consistency check defaults to a value of | 
| 453 | $\mbox{10}^{-6}$, but {\sc oopse} will terminate the iteration after | 
| 454 | 4 loops even if the consistency check has not been satisfied. | 
| 455 |  | 
| 456 | The Melchionna modification of the Nos\'e-Hoover-Andersen algorithm | 
| 457 | is known to conserve a Hamiltonian for the extended system that is, | 
| 458 | to within a constant, identical to the Gibbs free energy, | 
| 459 | \begin{equation} | 
| 460 | H_{\mathrm{NPTi}} = V + K + f k_B T_{\mathrm{target}} \left( | 
| 461 | \frac{\tau_{T}^2 \chi^2(t)}{2} + \int_{0}^{t} \chi(t^\prime) | 
| 462 | dt^\prime \right) + P_{\mathrm{target}} \mathcal{V}(t). | 
| 463 | \end{equation} | 
| 464 | Poor choices of $\delta t$, $\tau_T$, or $\tau_B$ can result in | 
| 465 | non-conservation of $H_{\mathrm{NPTi}}$, so the conserved quantity | 
| 466 | is maintained in the last column of the {\tt .stat} file to allow | 
| 467 | checks on the quality of the integration.  It is also known that | 
| 468 | this algorithm samples the equilibrium distribution for the enthalpy | 
| 469 | (including contributions for the thermostat and barostat), | 
| 470 | \begin{equation} | 
| 471 | H_{\mathrm{NPTi}} = V + K + \frac{f k_B T_{\mathrm{target}}}{2} | 
| 472 | \left( \chi^2 \tau_T^2 + \eta^2 \tau_B^2 \right) + | 
| 473 | P_{\mathrm{target}} \mathcal{V}(t). | 
| 474 | \end{equation} | 
| 475 |  | 
| 476 | Bond constraints are applied at the end of both the {\tt moveA} and | 
| 477 | {\tt moveB} portions of the algorithm.  Details on the constraint | 
| 478 | algorithms are given in section \ref{oopseSec:rattle}. | 
| 479 |  | 
| 480 | \subsection{\label{methodSection:NPTf}Constant-pressure integration with a | 
| 481 | flexible box (NPTf)} | 
| 482 |  | 
| 483 | There is a relatively simple generalization of the | 
| 484 | Nos\'e-Hoover-Andersen method to include changes in the simulation | 
| 485 | box {\it shape} as well as in the volume of the box.  This method | 
| 486 | utilizes the full $3 \times 3$ pressure tensor and introduces a | 
| 487 | tensor of extended variables ($\overleftrightarrow{\eta}$) to | 
| 488 | control changes to the box shape.  The equations of motion for this | 
| 489 | method are | 
| 490 | \begin{eqnarray} | 
| 491 | \dot{{\bf r}} & = & {\bf v} + \overleftrightarrow{\eta} \cdot \left( {\bf r} - {\bf R}_0 \right), \\ | 
| 492 | \dot{{\bf v}} & = & \frac{{\bf f}}{m} - (\overleftrightarrow{\eta} + | 
| 493 | \chi \cdot \mathsf{1}) {\bf v}, \\ | 
| 494 | \dot{\mathsf{A}} & = & \mathsf{A} \cdot | 
| 495 | \mbox{ skew}\left(\overleftrightarrow{I}^{-1} \cdot {\bf j}\right) ,\\ | 
| 496 | \dot{{\bf j}} & = & {\bf j} \times \left( | 
| 497 | \overleftrightarrow{I}^{-1} \cdot {\bf j} \right) - \mbox{ | 
| 498 | rot}\left(\mathsf{A}^{T} \cdot \frac{\partial | 
| 499 | V}{\partial \mathsf{A}} \right) - \chi {\bf j} ,\\ | 
| 500 | \dot{\chi} & = & \frac{1}{\tau_{T}^2} \left( | 
| 501 | \frac{T}{T_{\mathrm{target}}} - 1 \right) ,\\ | 
| 502 | \dot{\overleftrightarrow{\eta}} & = & \frac{1}{\tau_{B}^2 f k_B | 
| 503 | T_{\mathrm{target}}} V \left( \overleftrightarrow{\mathsf{P}} - P_{\mathrm{target}}\mathsf{1} \right) ,\\ | 
| 504 | \dot{\mathsf{H}} & = &  \overleftrightarrow{\eta} \cdot \mathsf{H} . | 
| 505 | \label{eq:melchionna2} | 
| 506 | \end{eqnarray} | 
| 507 |  | 
| 508 | Here, $\mathsf{1}$ is the unit matrix and | 
| 509 | $\overleftrightarrow{\mathsf{P}}$ is the pressure tensor.  Again, | 
| 510 | the volume, $\mathcal{V} = \det \mathsf{H}$. | 
| 511 |  | 
| 512 | The propagation of the equations of motion is nearly identical to | 
| 513 | the NPTi integration: | 
| 514 |  | 
| 515 | {\tt moveA:} | 
| 516 | \begin{align*} | 
| 517 | T(t) &\leftarrow \left\{{\bf v}(t)\right\}, \left\{{\bf j}(t)\right\} ,\\ | 
| 518 | % | 
| 519 | \overleftrightarrow{\mathsf{P}}(t) &\leftarrow \left\{{\bf | 
| 520 | r}(t)\right\}, | 
| 521 | \left\{{\bf v}(t)\right\} ,\\ | 
| 522 | % | 
| 523 | {\bf v}\left(t + h / 2\right)  &\leftarrow {\bf v}(t) | 
| 524 | + \frac{h}{2} \left( \frac{{\bf f}(t)}{m} - | 
| 525 | \left(\chi(t)\mathsf{1} + \overleftrightarrow{\eta}(t) \right) \cdot | 
| 526 | {\bf v}(t) \right), \\ | 
| 527 | % | 
| 528 | {\bf j}\left(t + h / 2 \right)  &\leftarrow {\bf j}(t) | 
| 529 | + \frac{h}{2} \left( {\bf \tau}^b(t) - {\bf j}(t) | 
| 530 | \chi(t) \right), \\ | 
| 531 | % | 
| 532 | \mathsf{A}(t + h) &\leftarrow \mathrm{rotate}\left(h * | 
| 533 | {\bf j}(t + h / 2) \overleftrightarrow{\mathsf{I}}^{-1} | 
| 534 | \right), \\ | 
| 535 | % | 
| 536 | \chi\left(t + h / 2 \right) &\leftarrow \chi(t) + | 
| 537 | \frac{h}{2 \tau_T^2} \left( \frac{T(t)}{T_{\mathrm{target}}} | 
| 538 | - 1 \right), \\ | 
| 539 | % | 
| 540 | \overleftrightarrow{\eta}(t + h / 2) &\leftarrow | 
| 541 | \overleftrightarrow{\eta}(t) + \frac{h \mathcal{V}(t)}{2 N k_B | 
| 542 | T(t) \tau_B^2} \left( \overleftrightarrow{\mathsf{P}}(t) | 
| 543 | - P_{\mathrm{target}}\mathsf{1} \right), \\ | 
| 544 | % | 
| 545 | {\bf r}(t + h) &\leftarrow {\bf r}(t) + h \left\{ {\bf v} | 
| 546 | \left(t + h / 2 \right) + \overleftrightarrow{\eta}(t + | 
| 547 | h / 2) \cdot \left[ {\bf r}(t + h) | 
| 548 | - {\bf R}_0 \right] \right\}, \\ | 
| 549 | % | 
| 550 | \mathsf{H}(t + h) &\leftarrow \mathsf{H}(t) \cdot e^{-h | 
| 551 | \overleftrightarrow{\eta}(t + h / 2)} . | 
| 552 | \end{align*} | 
| 553 | {\sc oopse} uses a power series expansion truncated at second order | 
| 554 | for the exponential operation which scales the simulation box. | 
| 555 |  | 
| 556 | The {\tt moveB} portion of the algorithm is largely unchanged from | 
| 557 | the NPTi integrator: | 
| 558 |  | 
| 559 | {\tt moveB:} | 
| 560 | \begin{align*} | 
| 561 | T(t + h) &\leftarrow \left\{{\bf v}(t + h)\right\}, | 
| 562 | \left\{{\bf j}(t + h)\right\}, \\ | 
| 563 | % | 
| 564 | \overleftrightarrow{\mathsf{P}}(t + h) &\leftarrow \left\{{\bf r} | 
| 565 | (t + h)\right\}, \left\{{\bf v}(t | 
| 566 | + h)\right\}, \left\{{\bf f}(t + h)\right\} ,\\ | 
| 567 | % | 
| 568 | \chi\left(t + h \right) &\leftarrow \chi\left(t + h / | 
| 569 | 2 \right) + \frac{h}{2 \tau_T^2} \left( \frac{T(t+ | 
| 570 | h)}{T_{\mathrm{target}}} - 1 \right), \\ | 
| 571 | % | 
| 572 | \overleftrightarrow{\eta}(t + h) &\leftarrow | 
| 573 | \overleftrightarrow{\eta}(t + h / 2) + | 
| 574 | \frac{h \mathcal{V}(t + h)}{2 N k_B T(t + h) | 
| 575 | \tau_B^2} \left( \overleftrightarrow{P}(t + h) | 
| 576 | - P_{\mathrm{target}}\mathsf{1} \right) ,\\ | 
| 577 | % | 
| 578 | {\bf v}\left(t + h \right)  &\leftarrow {\bf v}\left(t | 
| 579 | + h / 2 \right) + \frac{h}{2} \left( | 
| 580 | \frac{{\bf f}(t + h)}{m} - | 
| 581 | (\chi(t + h)\mathsf{1} + \overleftrightarrow{\eta}(t | 
| 582 | + h)) \right) \cdot {\bf v}(t + h), \\ | 
| 583 | % | 
| 584 | {\bf j}\left(t + h \right)  &\leftarrow {\bf j}\left(t | 
| 585 | + h / 2 \right) + \frac{h}{2} \left( {\bf \tau}^b(t | 
| 586 | + h) - {\bf j}(t + h) \chi(t + h) \right) . | 
| 587 | \end{align*} | 
| 588 |  | 
| 589 | The iterative schemes for both {\tt moveA} and {\tt moveB} are | 
| 590 | identical to those described for the NPTi integrator. | 
| 591 |  | 
| 592 | The NPTf integrator is known to conserve the following Hamiltonian: | 
| 593 | \begin{equation} | 
| 594 | H_{\mathrm{NPTf}} = V + K + f k_B T_{\mathrm{target}} \left( | 
| 595 | \frac{\tau_{T}^2 \chi^2(t)}{2} + \int_{0}^{t} \chi(t^\prime) | 
| 596 | dt^\prime \right) + P_{\mathrm{target}} \mathcal{V}(t) + \frac{f k_B | 
| 597 | T_{\mathrm{target}}}{2} | 
| 598 | \mathrm{Tr}\left[\overleftrightarrow{\eta}(t)\right]^2 \tau_B^2. | 
| 599 | \end{equation} | 
| 600 |  | 
| 601 | This integrator must be used with care, particularly in liquid | 
| 602 | simulations.  Liquids have very small restoring forces in the | 
| 603 | off-diagonal directions, and the simulation box can very quickly | 
| 604 | form elongated and sheared geometries which become smaller than the | 
| 605 | electrostatic or Lennard-Jones cutoff radii.  The NPTf integrator | 
| 606 | finds most use in simulating crystals or liquid crystals which | 
| 607 | assume non-orthorhombic geometries. | 
| 608 |  | 
| 609 | \subsection{\label{methodSection:otherSpecialEnsembles}Other Special Ensembles} | 
| 610 |  | 
| 611 | \subsubsection{\label{methodSection:NPAT}NPAT Ensemble} | 
| 612 |  | 
| 613 | A comprehensive understanding of structure¨Cfunction relations of | 
| 614 | biological membrane system ultimately relies on structure and | 
| 615 | dynamics of lipid bilayer, which are strongly affected by the | 
| 616 | interfacial interaction between lipid molecules and surrounding | 
| 617 | media. One quantity to describe the interfacial interaction is so | 
| 618 | called the average surface area per lipid. Constat area and constant | 
| 619 | lateral pressure simulation can be achieved by extending the | 
| 620 | standard NPT ensemble with a different pressure control strategy | 
| 621 |  | 
| 622 | \begin{equation} | 
| 623 | \dot {\overleftrightarrow{\eta}} _{\alpha \beta}=\left\{\begin{array}{ll} | 
| 624 | \frac{{V(P_{\alpha \beta }  - P_{{\rm{target}}} )}}{{\tau_{\rm{B}}^{\rm{2}} fk_B T_{{\rm{target}}} }} | 
| 625 | & \mbox{if $ \alpha = \beta  = z$}\\ | 
| 626 | 0 & \mbox{otherwise}\\ | 
| 627 | \end{array} | 
| 628 | \right. | 
| 629 | \end{equation} | 
| 630 |  | 
| 631 | Note that the iterative schemes for NPAT are identical to those | 
| 632 | described for the NPTi integrator. | 
| 633 |  | 
| 634 | \subsubsection{\label{methodSection:NPrT}NP$\gamma$T Ensemble} | 
| 635 |  | 
| 636 | Theoretically, the surface tension $\gamma$ of a stress free | 
| 637 | membrane system should be zero since its surface free energy $G$ is | 
| 638 | minimum with respect to surface area $A$ | 
| 639 | \[ | 
| 640 | \gamma  = \frac{{\partial G}}{{\partial A}}. | 
| 641 | \] | 
| 642 | However, a surface tension of zero is not appropriate for relatively | 
| 643 | small patches of membrane. In order to eliminate the edge effect of | 
| 644 | the membrane simulation, a special ensemble, NP$\gamma$T, is | 
| 645 | proposed to maintain the lateral surface tension and normal | 
| 646 | pressure. The equation of motion for cell size control tensor, | 
| 647 | $\eta$, in $NP\gamma T$ is | 
| 648 | \begin{equation} | 
| 649 | \dot {\overleftrightarrow{\eta}} _{\alpha \beta}=\left\{\begin{array}{ll} | 
| 650 | - A_{xy} (\gamma _\alpha   - \gamma _{{\rm{target}}} ) & \mbox{$\alpha  = \beta  = x$ or $\alpha  = \beta  = y$}\\ | 
| 651 | \frac{{V(P_{\alpha \beta }  - P_{{\rm{target}}} )}}{{\tau _{\rm{B}}^{\rm{2}} fk_B T_{{\rm{target}}}}} & \mbox{$\alpha  = \beta  = z$} \\ | 
| 652 | 0 & \mbox{$\alpha  \ne \beta$} \\ | 
| 653 | \end{array} | 
| 654 | \right. | 
| 655 | \end{equation} | 
| 656 | where $ \gamma _{{\rm{target}}}$ is the external surface tension and | 
| 657 | the instantaneous surface tensor $\gamma _\alpha$ is given by | 
| 658 | \begin{equation} | 
| 659 | \gamma _\alpha   =  - h_z( \overleftrightarrow{P} _{\alpha \alpha } | 
| 660 | - P_{{\rm{target}}} ) | 
| 661 | \label{methodEquation:instantaneousSurfaceTensor} | 
| 662 | \end{equation} | 
| 663 |  | 
| 664 | There is one additional extended system integrator (NPTxyz), in | 
| 665 | which each attempt to preserve the target pressure along the box | 
| 666 | walls perpendicular to that particular axis.  The lengths of the box | 
| 667 | axes are allowed to fluctuate independently, but the angle between | 
| 668 | the box axes does not change. It should be noted that the NPTxyz | 
| 669 | integrator is a special case of $NP\gamma T$ if the surface tension | 
| 670 | $\gamma$ is set to zero. | 
| 671 |  | 
| 672 | %\section{\label{methodSection:constraintMethod}Constraint Method} | 
| 673 |  | 
| 674 | %\subsection{\label{methodSection:bondConstraint}Bond Constraint for Rigid Body} | 
| 675 |  | 
| 676 | %\subsection{\label{methodSection:zcons}Z-constraint Method} | 
| 677 |  | 
| 678 | \section{\label{methodSection:langevin}Integrators for Langevin Dynamics of Rigid Bodies} | 
| 679 |  | 
| 680 | \subsection{\label{methodSection:temperature}Temperature Control} | 
| 681 |  | 
| 682 | \subsection{\label{methodSection:pressureControl}Pressure Control} | 
| 683 |  | 
| 684 | \section{\label{methodSection:hydrodynamics}Hydrodynamics} | 
| 685 |  | 
| 686 | %\section{\label{methodSection:coarseGrained}Coarse-Grained Modeling} | 
| 687 |  | 
| 688 | %\section{\label{methodSection:moleculeScale}Molecular-Scale Modeling} |