ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/tengDissertation/Methodology.tex
Revision: 2850
Committed: Sun Jun 11 01:55:48 2006 UTC (18 years ago) by tim
Content type: application/x-tex
File size: 56405 byte(s)
Log Message:
move friction tensor section to chapter2

File Contents

# User Rev Content
1 tim 2685 \chapter{\label{chapt:methodology}METHODOLOGY}
2    
3     \section{\label{methodSection:rigidBodyIntegrators}Integrators for Rigid Body Motion in Molecular Dynamics}
4    
5 tim 2729 In order to mimic the experiments, which are usually performed under
6     constant temperature and/or pressure, extended Hamiltonian system
7 tim 2739 methods have been developed to generate statistical ensembles, such
8 tim 2729 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 tim 2685
17 tim 2729 Integration schemes for rotational motion of the rigid molecules in
18     microcanonical ensemble have been extensively studied in the last
19 tim 2850 two decades. Matubayasi developed a time-reversible integrator for
20     rigid bodies in quaternion representation. Although it is not
21     symplectic, this integrator still demonstrates a better long-time
22     energy conservation than traditional methods because of the
23     time-reversible nature. Extending Trotter-Suzuki to general system
24     with a flat phase space, Miller and his colleagues devised an novel
25     symplectic, time-reversible and volume-preserving integrator in
26     quaternion representation, which was shown to be superior to the
27     Matubayasi's time-reversible integrator. However, all of the
28     integrators in quaternion representation suffer from the
29 tim 2729 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 tim 2685
37 tim 2729 \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 tim 2807 in Fig.~\ref{methodFig:timestep}.
143 tim 2729
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 tim 2801 from the true energy baseline for clarity.}
154     \label{methodFig:timestep}
155 tim 2729 \end{figure}
156    
157 tim 2801 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 tim 2729
170     \subsection{\label{methodSection:NVT}Nos\'{e}-Hoover Thermostatting}
171    
172 tim 2801 The Nos\'e-Hoover equations of motion are given by\cite{Hoover1985}
173 tim 2729 \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 tim 2801 Helmholtz free energy,\cite{Melchionna1993}
289 tim 2729 \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 tim 2801 Nos\'e-Hoover-Andersen equations of motion,\cite{Melchionna1993}
305 tim 2729
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 tim 2807 {\tt moveB} portions of the algorithm.
478 tim 2729
479     \subsection{\label{methodSection:NPTf}Constant-pressure integration with a
480     flexible box (NPTf)}
481    
482     There is a relatively simple generalization of the
483     Nos\'e-Hoover-Andersen method to include changes in the simulation
484     box {\it shape} as well as in the volume of the box. This method
485     utilizes the full $3 \times 3$ pressure tensor and introduces a
486     tensor of extended variables ($\overleftrightarrow{\eta}$) to
487     control changes to the box shape. The equations of motion for this
488     method are
489     \begin{eqnarray}
490     \dot{{\bf r}} & = & {\bf v} + \overleftrightarrow{\eta} \cdot \left( {\bf r} - {\bf R}_0 \right), \\
491     \dot{{\bf v}} & = & \frac{{\bf f}}{m} - (\overleftrightarrow{\eta} +
492     \chi \cdot \mathsf{1}) {\bf v}, \\
493     \dot{\mathsf{A}} & = & \mathsf{A} \cdot
494     \mbox{ skew}\left(\overleftrightarrow{I}^{-1} \cdot {\bf j}\right) ,\\
495     \dot{{\bf j}} & = & {\bf j} \times \left(
496     \overleftrightarrow{I}^{-1} \cdot {\bf j} \right) - \mbox{
497     rot}\left(\mathsf{A}^{T} \cdot \frac{\partial
498     V}{\partial \mathsf{A}} \right) - \chi {\bf j} ,\\
499     \dot{\chi} & = & \frac{1}{\tau_{T}^2} \left(
500     \frac{T}{T_{\mathrm{target}}} - 1 \right) ,\\
501     \dot{\overleftrightarrow{\eta}} & = & \frac{1}{\tau_{B}^2 f k_B
502     T_{\mathrm{target}}} V \left( \overleftrightarrow{\mathsf{P}} - P_{\mathrm{target}}\mathsf{1} \right) ,\\
503     \dot{\mathsf{H}} & = & \overleftrightarrow{\eta} \cdot \mathsf{H} .
504     \label{eq:melchionna2}
505     \end{eqnarray}
506    
507     Here, $\mathsf{1}$ is the unit matrix and
508     $\overleftrightarrow{\mathsf{P}}$ is the pressure tensor. Again,
509     the volume, $\mathcal{V} = \det \mathsf{H}$.
510    
511     The propagation of the equations of motion is nearly identical to
512     the NPTi integration:
513    
514     {\tt moveA:}
515     \begin{align*}
516     T(t) &\leftarrow \left\{{\bf v}(t)\right\}, \left\{{\bf j}(t)\right\} ,\\
517     %
518     \overleftrightarrow{\mathsf{P}}(t) &\leftarrow \left\{{\bf
519     r}(t)\right\},
520     \left\{{\bf v}(t)\right\} ,\\
521     %
522     {\bf v}\left(t + h / 2\right) &\leftarrow {\bf v}(t)
523     + \frac{h}{2} \left( \frac{{\bf f}(t)}{m} -
524     \left(\chi(t)\mathsf{1} + \overleftrightarrow{\eta}(t) \right) \cdot
525     {\bf v}(t) \right), \\
526     %
527     {\bf j}\left(t + h / 2 \right) &\leftarrow {\bf j}(t)
528     + \frac{h}{2} \left( {\bf \tau}^b(t) - {\bf j}(t)
529     \chi(t) \right), \\
530     %
531     \mathsf{A}(t + h) &\leftarrow \mathrm{rotate}\left(h *
532     {\bf j}(t + h / 2) \overleftrightarrow{\mathsf{I}}^{-1}
533     \right), \\
534     %
535     \chi\left(t + h / 2 \right) &\leftarrow \chi(t) +
536     \frac{h}{2 \tau_T^2} \left( \frac{T(t)}{T_{\mathrm{target}}}
537     - 1 \right), \\
538     %
539     \overleftrightarrow{\eta}(t + h / 2) &\leftarrow
540     \overleftrightarrow{\eta}(t) + \frac{h \mathcal{V}(t)}{2 N k_B
541     T(t) \tau_B^2} \left( \overleftrightarrow{\mathsf{P}}(t)
542     - P_{\mathrm{target}}\mathsf{1} \right), \\
543     %
544     {\bf r}(t + h) &\leftarrow {\bf r}(t) + h \left\{ {\bf v}
545     \left(t + h / 2 \right) + \overleftrightarrow{\eta}(t +
546     h / 2) \cdot \left[ {\bf r}(t + h)
547     - {\bf R}_0 \right] \right\}, \\
548     %
549     \mathsf{H}(t + h) &\leftarrow \mathsf{H}(t) \cdot e^{-h
550     \overleftrightarrow{\eta}(t + h / 2)} .
551     \end{align*}
552     {\sc oopse} uses a power series expansion truncated at second order
553     for the exponential operation which scales the simulation box.
554    
555     The {\tt moveB} portion of the algorithm is largely unchanged from
556     the NPTi integrator:
557    
558     {\tt moveB:}
559     \begin{align*}
560     T(t + h) &\leftarrow \left\{{\bf v}(t + h)\right\},
561     \left\{{\bf j}(t + h)\right\}, \\
562     %
563     \overleftrightarrow{\mathsf{P}}(t + h) &\leftarrow \left\{{\bf r}
564     (t + h)\right\}, \left\{{\bf v}(t
565     + h)\right\}, \left\{{\bf f}(t + h)\right\} ,\\
566     %
567     \chi\left(t + h \right) &\leftarrow \chi\left(t + h /
568     2 \right) + \frac{h}{2 \tau_T^2} \left( \frac{T(t+
569     h)}{T_{\mathrm{target}}} - 1 \right), \\
570     %
571     \overleftrightarrow{\eta}(t + h) &\leftarrow
572     \overleftrightarrow{\eta}(t + h / 2) +
573     \frac{h \mathcal{V}(t + h)}{2 N k_B T(t + h)
574     \tau_B^2} \left( \overleftrightarrow{P}(t + h)
575     - P_{\mathrm{target}}\mathsf{1} \right) ,\\
576     %
577     {\bf v}\left(t + h \right) &\leftarrow {\bf v}\left(t
578     + h / 2 \right) + \frac{h}{2} \left(
579     \frac{{\bf f}(t + h)}{m} -
580     (\chi(t + h)\mathsf{1} + \overleftrightarrow{\eta}(t
581     + h)) \right) \cdot {\bf v}(t + h), \\
582     %
583     {\bf j}\left(t + h \right) &\leftarrow {\bf j}\left(t
584     + h / 2 \right) + \frac{h}{2} \left( {\bf \tau}^b(t
585     + h) - {\bf j}(t + h) \chi(t + h) \right) .
586     \end{align*}
587    
588     The iterative schemes for both {\tt moveA} and {\tt moveB} are
589     identical to those described for the NPTi integrator.
590    
591     The NPTf integrator is known to conserve the following Hamiltonian:
592     \begin{equation}
593     H_{\mathrm{NPTf}} = V + K + f k_B T_{\mathrm{target}} \left(
594     \frac{\tau_{T}^2 \chi^2(t)}{2} + \int_{0}^{t} \chi(t^\prime)
595     dt^\prime \right) + P_{\mathrm{target}} \mathcal{V}(t) + \frac{f k_B
596     T_{\mathrm{target}}}{2}
597     \mathrm{Tr}\left[\overleftrightarrow{\eta}(t)\right]^2 \tau_B^2.
598     \end{equation}
599    
600     This integrator must be used with care, particularly in liquid
601     simulations. Liquids have very small restoring forces in the
602     off-diagonal directions, and the simulation box can very quickly
603     form elongated and sheared geometries which become smaller than the
604     electrostatic or Lennard-Jones cutoff radii. The NPTf integrator
605     finds most use in simulating crystals or liquid crystals which
606     assume non-orthorhombic geometries.
607    
608 tim 2739 \subsection{\label{methodSection:otherSpecialEnsembles}Other Special Ensembles}
609 tim 2729
610 tim 2819 \subsubsection{\label{methodSection:NPAT}\textbf{NPAT Ensemble}}
611 tim 2729
612 tim 2739 A comprehensive understanding of structure¨Cfunction relations of
613     biological membrane system ultimately relies on structure and
614     dynamics of lipid bilayer, which are strongly affected by the
615     interfacial interaction between lipid molecules and surrounding
616     media. One quantity to describe the interfacial interaction is so
617     called the average surface area per lipid. Constat area and constant
618     lateral pressure simulation can be achieved by extending the
619     standard NPT ensemble with a different pressure control strategy
620 tim 2798
621 tim 2729 \begin{equation}
622 tim 2799 \dot {\overleftrightarrow{\eta}} _{\alpha \beta}=\left\{\begin{array}{ll}
623 tim 2798 \frac{{V(P_{\alpha \beta } - P_{{\rm{target}}} )}}{{\tau_{\rm{B}}^{\rm{2}} fk_B T_{{\rm{target}}} }}
624 tim 2799 & \mbox{if $ \alpha = \beta = z$}\\
625 tim 2798 0 & \mbox{otherwise}\\
626     \end{array}
627     \right.
628 tim 2729 \end{equation}
629 tim 2798
630 tim 2739 Note that the iterative schemes for NPAT are identical to those
631     described for the NPTi integrator.
632 tim 2729
633 tim 2819 \subsubsection{\label{methodSection:NPrT}\textbf{NP$\gamma$T Ensemble}}
634 tim 2729
635 tim 2739 Theoretically, the surface tension $\gamma$ of a stress free
636     membrane system should be zero since its surface free energy $G$ is
637     minimum with respect to surface area $A$
638     \[
639     \gamma = \frac{{\partial G}}{{\partial A}}.
640     \]
641     However, a surface tension of zero is not appropriate for relatively
642     small patches of membrane. In order to eliminate the edge effect of
643 tim 2776 the membrane simulation, a special ensemble, NP$\gamma$T, is
644     proposed to maintain the lateral surface tension and normal
645     pressure. The equation of motion for cell size control tensor,
646 tim 2778 $\eta$, in $NP\gamma T$ is
647 tim 2729 \begin{equation}
648 tim 2799 \dot {\overleftrightarrow{\eta}} _{\alpha \beta}=\left\{\begin{array}{ll}
649 tim 2798 - A_{xy} (\gamma _\alpha - \gamma _{{\rm{target}}} ) & \mbox{$\alpha = \beta = x$ or $\alpha = \beta = y$}\\
650     \frac{{V(P_{\alpha \beta } - P_{{\rm{target}}} )}}{{\tau _{\rm{B}}^{\rm{2}} fk_B T_{{\rm{target}}}}} & \mbox{$\alpha = \beta = z$} \\
651     0 & \mbox{$\alpha \ne \beta$} \\
652 tim 2799 \end{array}
653 tim 2798 \right.
654 tim 2729 \end{equation}
655 tim 2739 where $ \gamma _{{\rm{target}}}$ is the external surface tension and
656     the instantaneous surface tensor $\gamma _\alpha$ is given by
657 tim 2729 \begin{equation}
658 tim 2800 \gamma _\alpha = - h_z( \overleftrightarrow{P} _{\alpha \alpha }
659     - P_{{\rm{target}}} )
660 tim 2739 \label{methodEquation:instantaneousSurfaceTensor}
661 tim 2729 \end{equation}
662    
663 tim 2739 There is one additional extended system integrator (NPTxyz), in
664     which each attempt to preserve the target pressure along the box
665     walls perpendicular to that particular axis. The lengths of the box
666     axes are allowed to fluctuate independently, but the angle between
667     the box axes does not change. It should be noted that the NPTxyz
668     integrator is a special case of $NP\gamma T$ if the surface tension
669     $\gamma$ is set to zero.
670 tim 2729
671 tim 2804 \section{\label{methodSection:zcons}Z-Constraint Method}
672 tim 2776
673 tim 2804 Based on the fluctuation-dissipation theorem, a force
674     auto-correlation method was developed by Roux and Karplus to
675     investigate the dynamics of ions inside ion channels\cite{Roux1991}.
676     The time-dependent friction coefficient can be calculated from the
677     deviation of the instantaneous force from its mean force.
678     \begin{equation}
679     \xi(z,t)=\langle\delta F(z,t)\delta F(z,0)\rangle/k_{B}T,
680     \end{equation}
681     where%
682     \begin{equation}
683     \delta F(z,t)=F(z,t)-\langle F(z,t)\rangle.
684     \end{equation}
685 tim 2776
686 tim 2804 If the time-dependent friction decays rapidly, the static friction
687     coefficient can be approximated by
688     \begin{equation}
689     \xi_{\text{static}}(z)=\int_{0}^{\infty}\langle\delta F(z,t)\delta
690     F(z,0)\rangle dt.
691     \end{equation}
692     Allowing diffusion constant to then be calculated through the
693     Einstein relation:\cite{Marrink1994}
694     \begin{equation}
695     D(z)=\frac{k_{B}T}{\xi_{\text{static}}(z)}=\frac{(k_{B}T)^{2}}{\int_{0}^{\infty
696     }\langle\delta F(z,t)\delta F(z,0)\rangle dt}.%
697     \end{equation}
698 tim 2776
699 tim 2804 The Z-Constraint method, which fixes the z coordinates of the
700     molecules with respect to the center of the mass of the system, has
701     been a method suggested to obtain the forces required for the force
702     auto-correlation calculation.\cite{Marrink1994} However, simply
703     resetting the coordinate will move the center of the mass of the
704     whole system. To avoid this problem, we reset the forces of
705     z-constrained molecules as well as subtract the total constraint
706     forces from the rest of the system after the force calculation at
707     each time step instead of resetting the coordinate.
708    
709     After the force calculation, define $G_\alpha$ as
710     \begin{equation}
711     G_{\alpha} = \sum_i F_{\alpha i}, \label{oopseEq:zc1}
712     \end{equation}
713     where $F_{\alpha i}$ is the force in the z direction of atom $i$ in
714     z-constrained molecule $\alpha$. The forces of the z constrained
715     molecule are then set to:
716     \begin{equation}
717     F_{\alpha i} = F_{\alpha i} -
718     \frac{m_{\alpha i} G_{\alpha}}{\sum_i m_{\alpha i}}.
719     \end{equation}
720     Here, $m_{\alpha i}$ is the mass of atom $i$ in the z-constrained
721     molecule. Having rescaled the forces, the velocities must also be
722     rescaled to subtract out any center of mass velocity in the z
723     direction.
724     \begin{equation}
725     v_{\alpha i} = v_{\alpha i} -
726     \frac{\sum_i m_{\alpha i} v_{\alpha i}}{\sum_i m_{\alpha i}},
727     \end{equation}
728     where $v_{\alpha i}$ is the velocity of atom $i$ in the z direction.
729     Lastly, all of the accumulated z constrained forces must be
730     subtracted from the system to keep the system center of mass from
731     drifting.
732     \begin{equation}
733     F_{\beta i} = F_{\beta i} - \frac{m_{\beta i} \sum_{\alpha}
734     G_{\alpha}}
735     {\sum_{\beta}\sum_i m_{\beta i}},
736     \end{equation}
737     where $\beta$ are all of the unconstrained molecules in the system.
738     Similarly, the velocities of the unconstrained molecules must also
739     be scaled.
740     \begin{equation}
741     v_{\beta i} = v_{\beta i} + \sum_{\alpha}
742     \frac{\sum_i m_{\alpha i} v_{\alpha i}}{\sum_i m_{\alpha i}}.
743     \end{equation}
744    
745     At the very beginning of the simulation, the molecules may not be at
746     their constrained positions. To move a z-constrained molecule to its
747     specified position, a simple harmonic potential is used
748     \begin{equation}
749     U(t)=\frac{1}{2}k_{\text{Harmonic}}(z(t)-z_{\text{cons}})^{2},%
750     \end{equation}
751     where $k_{\text{Harmonic}}$ is the harmonic force constant, $z(t)$
752     is the current $z$ coordinate of the center of mass of the
753     constrained molecule, and $z_{\text{cons}}$ is the constrained
754     position. The harmonic force operating on the z-constrained molecule
755     at time $t$ can be calculated by
756     \begin{equation}
757     F_{z_{\text{Harmonic}}}(t)=-\frac{\partial U(t)}{\partial z(t)}=
758     -k_{\text{Harmonic}}(z(t)-z_{\text{cons}}).
759     \end{equation}
760    
761    
762 tim 2685 \section{\label{methodSection:langevin}Integrators for Langevin Dynamics of Rigid Bodies}
763    
764 tim 2804 %\subsection{\label{methodSection:temperature}Temperature Control}
765 tim 2685
766 tim 2804 %\subsection{\label{methodSection:pressureControl}Pressure Control}
767 tim 2729
768 tim 2804 %\section{\label{methodSection:hydrodynamics}Hydrodynamics}
769 tim 2729
770 tim 2804 %applications of langevin dynamics
771     As an excellent alternative to newtonian dynamics, Langevin
772     dynamics, which mimics a simple heat bath with stochastic and
773     dissipative forces, has been applied in a variety of studies. The
774     stochastic treatment of the solvent enables us to carry out
775     substantially longer time simulation. Implicit solvent Langevin
776     dynamics simulation of met-enkephalin not only outperforms explicit
777     solvent simulation on computation efficiency, but also agrees very
778     well with explicit solvent simulation on dynamics
779     properties\cite{Shen2002}. Recently, applying Langevin dynamics with
780     UNRES model, Liow and his coworkers suggest that protein folding
781     pathways can be possibly exploited within a reasonable amount of
782     time\cite{Liwo2005}. The stochastic nature of the Langevin dynamics
783     also enhances the sampling of the system and increases the
784     probability of crossing energy barrier\cite{Banerjee2004, Cui2003}.
785     Combining Langevin dynamics with Kramers's theory, Klimov and
786     Thirumalai identified the free-energy barrier by studying the
787     viscosity dependence of the protein folding rates\cite{Klimov1997}.
788     In order to account for solvent induced interactions missing from
789     implicit solvent model, Kaya incorporated desolvation free energy
790     barrier into implicit coarse-grained solvent model in protein
791     folding/unfolding study and discovered a higher free energy barrier
792     between the native and denatured states. Because of its stability
793     against noise, Langevin dynamics is very suitable for studying
794     remagnetization processes in various
795 tim 2807 systems\cite{Palacios1998,Berkov2002,Denisov2003}. For instance, the
796     oscillation power spectrum of nanoparticles from Langevin dynamics
797     simulation has the same peak frequencies for different wave
798     vectors,which recovers the property of magnetic excitations in small
799     finite structures\cite{Berkov2005a}. In an attempt to reduce the
800     computational cost of simulation, multiple time stepping (MTS)
801     methods have been introduced and have been of great interest to
802     macromolecule and protein community\cite{Tuckerman1992}. Relying on
803     the observation that forces between distant atoms generally
804     demonstrate slower fluctuations than forces between close atoms, MTS
805     method are generally implemented by evaluating the slowly
806     fluctuating forces less frequently than the fast ones.
807     Unfortunately, nonlinear instability resulting from increasing
808     timestep in MTS simulation have became a critical obstruction
809     preventing the long time simulation. Due to the coupling to the heat
810     bath, Langevin dynamics has been shown to be able to damp out the
811     resonance artifact more efficiently\cite{Sandu1999}.
812 tim 2729
813 tim 2804 It is very important to develop stable and efficient methods to
814     integrate the equations of motion of orientational degrees of
815     freedom. Euler angles are the nature choice to describe the
816     rotational degrees of freedom. However, due to its singularity, the
817     numerical integration of corresponding equations of motion is very
818     inefficient and inaccurate. Although an alternative integrator using
819     different sets of Euler angles can overcome this
820     difficulty\cite{Ryckaert1977, Andersen1983}, the computational
821     penalty and the lost of angular momentum conservation still remain.
822     In 1977, a singularity free representation utilizing quaternions was
823     developed by Evans\cite{Evans1977}. Unfortunately, this approach
824     suffer from the nonseparable Hamiltonian resulted from quaternion
825     representation, which prevents the symplectic algorithm to be
826     utilized. Another different approach is to apply holonomic
827     constraints to the atoms belonging to the rigid
828     body\cite{Barojas1973}. Each atom moves independently under the
829     normal forces deriving from potential energy and constraint forces
830     which are used to guarantee the rigidness. However, due to their
831     iterative nature, SHAKE and Rattle algorithm converge very slowly
832     when the number of constraint increases.
833    
834     The break through in geometric literature suggests that, in order to
835     develop a long-term integration scheme, one should preserve the
836 tim 2850 geometric structure of the flow. Matubayasi developed a
837 tim 2804 time-reversible integrator for rigid bodies in quaternion
838     representation. Although it is not symplectic, this integrator still
839     demonstrates a better long-time energy conservation than traditional
840     methods because of the time-reversible nature. Extending
841     Trotter-Suzuki to general system with a flat phase space, Miller and
842     his colleagues devised an novel symplectic, time-reversible and
843     volume-preserving integrator in quaternion representation. However,
844     all of the integrators in quaternion representation suffer from the
845     computational penalty of constructing a rotation matrix from
846     quaternions to evolve coordinates and velocities at every time step.
847     An alternative integration scheme utilizing rotation matrix directly
848     is RSHAKE\cite{Kol1997}, in which a conjugate momentum to rotation
849     matrix is introduced to re-formulate the Hamiltonian's equation and
850     the Hamiltonian is evolved in a constraint manifold by iteratively
851     satisfying the orthogonality constraint. However, RSHAKE is
852     inefficient because of the iterative procedure. An extremely
853     efficient integration scheme in rotation matrix representation,
854     which also preserves the same structural properties of the
855     Hamiltonian flow as Miller's integrator, is proposed by Dullweber,
856     Leimkuhler and McLachlan (DLM)\cite{Dullweber1997}.
857    
858     %review langevin/browninan dynamics for arbitrarily shaped rigid body
859     Combining Langevin or Brownian dynamics with rigid body dynamics,
860     one can study the slow processes in biomolecular systems. Modeling
861     the DNA as a chain of rigid spheres beads, which subject to harmonic
862     potentials as well as excluded volume potentials, Mielke and his
863     coworkers discover rapid superhelical stress generations from the
864     stochastic simulation of twin supercoiling DNA with response to
865     induced torques\cite{Mielke2004}. Membrane fusion is another key
866     biological process which controls a variety of physiological
867     functions, such as release of neurotransmitters \textit{etc}. A
868     typical fusion event happens on the time scale of millisecond, which
869     is impracticable to study using all atomistic model with newtonian
870     mechanics. With the help of coarse-grained rigid body model and
871     stochastic dynamics, the fusion pathways were exploited by many
872     researchers\cite{Noguchi2001,Noguchi2002,Shillcock2005}. Due to the
873     difficulty of numerical integration of anisotropy rotation, most of
874     the rigid body models are simply modeled by sphere, cylinder,
875     ellipsoid or other regular shapes in stochastic simulations. In an
876     effort to account for the diffusion anisotropy of the arbitrary
877     particles, Fernandes and de la Torre improved the original Brownian
878     dynamics simulation algorithm\cite{Ermak1978,Allison1991} by
879     incorporating a generalized $6\times6$ diffusion tensor and
880     introducing a simple rotation evolution scheme consisting of three
881     consecutive rotations\cite{Fernandes2002}. Unfortunately, unexpected
882     error and bias are introduced into the system due to the arbitrary
883     order of applying the noncommuting rotation
884     operators\cite{Beard2003}. Based on the observation the momentum
885     relaxation time is much less than the time step, one may ignore the
886     inertia in Brownian dynamics. However, assumption of the zero
887     average acceleration is not always true for cooperative motion which
888     is common in protein motion. An inertial Brownian dynamics (IBD) was
889     proposed to address this issue by adding an inertial correction
890 tim 2807 term\cite{Beard2003}. As a complement to IBD which has a lower bound
891 tim 2804 in time step because of the inertial relaxation time, long-time-step
892     inertial dynamics (LTID) can be used to investigate the inertial
893     behavior of the polymer segments in low friction
894 tim 2839 regime\cite{Beard2003}. LTID can also deal with the rotational
895 tim 2804 dynamics for nonskew bodies without translation-rotation coupling by
896     separating the translation and rotation motion and taking advantage
897     of the analytical solution of hydrodynamics properties. However,
898     typical nonskew bodies like cylinder and ellipsoid are inadequate to
899     represent most complex macromolecule assemblies. These intricate
900     molecules have been represented by a set of beads and their
901     hydrodynamics properties can be calculated using variant
902     hydrodynamic interaction tensors.
903    
904     The goal of the present work is to develop a Langevin dynamics
905     algorithm for arbitrary rigid particles by integrating the accurate
906     estimation of friction tensor from hydrodynamics theory into the
907     sophisticated rigid body dynamics.
908    
909 tim 2850 \subsection{\label{introSection:frictionTensor} Friction Tensor}
910     Theoretically, the friction kernel can be determined using velocity
911     autocorrelation function. However, this approach become impractical
912     when the system become more and more complicate. Instead, various
913     approaches based on hydrodynamics have been developed to calculate
914     the friction coefficients. The friction effect is isotropic in
915     Equation, $\zeta$ can be taken as a scalar. In general, friction
916     tensor $\Xi$ is a $6\times 6$ matrix given by
917     \[
918     \Xi = \left( {\begin{array}{*{20}c}
919     {\Xi _{}^{tt} } & {\Xi _{}^{rt} } \\
920     {\Xi _{}^{tr} } & {\Xi _{}^{rr} } \\
921     \end{array}} \right).
922     \]
923     Here, $ {\Xi^{tt} }$ and $ {\Xi^{rr} }$ are translational friction
924     tensor and rotational resistance (friction) tensor respectively,
925     while ${\Xi^{tr} }$ is translation-rotation coupling tensor and $
926     {\Xi^{rt} }$ is rotation-translation coupling tensor. When a
927     particle moves in a fluid, it may experience friction force or
928     torque along the opposite direction of the velocity or angular
929     velocity,
930     \[
931 tim 2804 \left( \begin{array}{l}
932 tim 2850 F_R \\
933     \tau _R \\
934 tim 2804 \end{array} \right) = - \left( {\begin{array}{*{20}c}
935 tim 2850 {\Xi ^{tt} } & {\Xi ^{rt} } \\
936     {\Xi ^{tr} } & {\Xi ^{rr} } \\
937 tim 2804 \end{array}} \right)\left( \begin{array}{l}
938 tim 2850 v \\
939     w \\
940 tim 2804 \end{array} \right)
941 tim 2850 \]
942     where $F_r$ is the friction force and $\tau _R$ is the friction
943     toque.
944 tim 2804
945 tim 2850 \subsubsection{\label{introSection:resistanceTensorRegular}\textbf{The Resistance Tensor for Regular Shape}}
946 tim 2804
947 tim 2850 For a spherical particle, the translational and rotational friction
948     constant can be calculated from Stoke's law,
949 tim 2804 \[
950 tim 2850 \Xi ^{tt} = \left( {\begin{array}{*{20}c}
951     {6\pi \eta R} & 0 & 0 \\
952     0 & {6\pi \eta R} & 0 \\
953     0 & 0 & {6\pi \eta R} \\
954     \end{array}} \right)
955 tim 2804 \]
956 tim 2850 and
957 tim 2804 \[
958 tim 2850 \Xi ^{rr} = \left( {\begin{array}{*{20}c}
959     {8\pi \eta R^3 } & 0 & 0 \\
960     0 & {8\pi \eta R^3 } & 0 \\
961     0 & 0 & {8\pi \eta R^3 } \\
962     \end{array}} \right)
963 tim 2804 \]
964 tim 2850 where $\eta$ is the viscosity of the solvent and $R$ is the
965     hydrodynamics radius.
966    
967     Other non-spherical shape, such as cylinder and ellipsoid
968     \textit{etc}, are widely used as reference for developing new
969     hydrodynamics theory, because their properties can be calculated
970     exactly. In 1936, Perrin extended Stokes's law to general ellipsoid,
971     also called a triaxial ellipsoid, which is given in Cartesian
972     coordinates by\cite{Perrin1934, Perrin1936}
973 tim 2804 \[
974 tim 2850 \frac{{x^2 }}{{a^2 }} + \frac{{y^2 }}{{b^2 }} + \frac{{z^2 }}{{c^2
975     }} = 1
976 tim 2804 \]
977 tim 2850 where the semi-axes are of lengths $a$, $b$, and $c$. Unfortunately,
978     due to the complexity of the elliptic integral, only the ellipsoid
979     with the restriction of two axes having to be equal, \textit{i.e.}
980     prolate($ a \ge b = c$) and oblate ($ a < b = c $), can be solved
981     exactly. Introducing an elliptic integral parameter $S$ for prolate,
982     \[
983     S = \frac{2}{{\sqrt {a^2 - b^2 } }}\ln \frac{{a + \sqrt {a^2 - b^2
984     } }}{b},
985     \]
986     and oblate,
987     \[
988     S = \frac{2}{{\sqrt {b^2 - a^2 } }}arctg\frac{{\sqrt {b^2 - a^2 }
989     }}{a}
990     \],
991     one can write down the translational and rotational resistance
992     tensors
993     \[
994     \begin{array}{l}
995     \Xi _a^{tt} = 16\pi \eta \frac{{a^2 - b^2 }}{{(2a^2 - b^2 )S - 2a}} \\
996     \Xi _b^{tt} = \Xi _c^{tt} = 32\pi \eta \frac{{a^2 - b^2 }}{{(2a^2 - 3b^2 )S + 2a}} \\
997     \end{array},
998     \]
999     and
1000     \[
1001     \begin{array}{l}
1002     \Xi _a^{rr} = \frac{{32\pi }}{3}\eta \frac{{(a^2 - b^2 )b^2 }}{{2a - b^2 S}} \\
1003     \Xi _b^{rr} = \Xi _c^{rr} = \frac{{32\pi }}{3}\eta \frac{{(a^4 - b^4 )}}{{(2a^2 - b^2 )S - 2a}} \\
1004     \end{array}.
1005     \]
1006 tim 2804
1007 tim 2850 \subsubsection{\label{introSection:resistanceTensorRegularArbitrary}\textbf{The Resistance Tensor for Arbitrary Shape}}
1008    
1009     Unlike spherical and other regular shaped molecules, there is not
1010     analytical solution for friction tensor of any arbitrary shaped
1011     rigid molecules. The ellipsoid of revolution model and general
1012     triaxial ellipsoid model have been used to approximate the
1013     hydrodynamic properties of rigid bodies. However, since the mapping
1014     from all possible ellipsoidal space, $r$-space, to all possible
1015     combination of rotational diffusion coefficients, $D$-space is not
1016     unique\cite{Wegener1979} as well as the intrinsic coupling between
1017     translational and rotational motion of rigid body, general ellipsoid
1018     is not always suitable for modeling arbitrarily shaped rigid
1019     molecule. A number of studies have been devoted to determine the
1020     friction tensor for irregularly shaped rigid bodies using more
1021     advanced method where the molecule of interest was modeled by
1022     combinations of spheres(beads)\cite{Carrasco1999} and the
1023     hydrodynamics properties of the molecule can be calculated using the
1024     hydrodynamic interaction tensor. Let us consider a rigid assembly of
1025     $N$ beads immersed in a continuous medium. Due to hydrodynamics
1026     interaction, the ``net'' velocity of $i$th bead, $v'_i$ is different
1027     than its unperturbed velocity $v_i$,
1028 tim 2804 \[
1029 tim 2850 v'_i = v_i - \sum\limits_{j \ne i} {T_{ij} F_j }
1030 tim 2804 \]
1031 tim 2850 where $F_i$ is the frictional force, and $T_{ij}$ is the
1032     hydrodynamic interaction tensor. The friction force of $i$th bead is
1033     proportional to its ``net'' velocity
1034 tim 2804 \begin{equation}
1035 tim 2850 F_i = \zeta _i v_i - \zeta _i \sum\limits_{j \ne i} {T_{ij} F_j }.
1036     \label{introEquation:tensorExpression}
1037 tim 2804 \end{equation}
1038 tim 2850 This equation is the basis for deriving the hydrodynamic tensor. In
1039     1930, Oseen and Burgers gave a simple solution to Equation
1040     \ref{introEquation:tensorExpression}
1041 tim 2804 \begin{equation}
1042 tim 2850 T_{ij} = \frac{1}{{8\pi \eta r_{ij} }}\left( {I + \frac{{R_{ij}
1043     R_{ij}^T }}{{R_{ij}^2 }}} \right). \label{introEquation:oseenTensor}
1044 tim 2804 \end{equation}
1045 tim 2850 Here $R_{ij}$ is the distance vector between bead $i$ and bead $j$.
1046     A second order expression for element of different size was
1047     introduced by Rotne and Prager\cite{Rotne1969} and improved by
1048     Garc\'{i}a de la Torre and Bloomfield\cite{Torre1977},
1049 tim 2804 \begin{equation}
1050 tim 2850 T_{ij} = \frac{1}{{8\pi \eta R_{ij} }}\left[ {\left( {I +
1051     \frac{{R_{ij} R_{ij}^T }}{{R_{ij}^2 }}} \right) + R\frac{{\sigma
1052     _i^2 + \sigma _j^2 }}{{r_{ij}^2 }}\left( {\frac{I}{3} -
1053     \frac{{R_{ij} R_{ij}^T }}{{R_{ij}^2 }}} \right)} \right].
1054     \label{introEquation:RPTensorNonOverlapped}
1055 tim 2804 \end{equation}
1056 tim 2850 Both of the Equation \ref{introEquation:oseenTensor} and Equation
1057     \ref{introEquation:RPTensorNonOverlapped} have an assumption $R_{ij}
1058     \ge \sigma _i + \sigma _j$. An alternative expression for
1059     overlapping beads with the same radius, $\sigma$, is given by
1060 tim 2804 \begin{equation}
1061 tim 2850 T_{ij} = \frac{1}{{6\pi \eta R_{ij} }}\left[ {\left( {1 -
1062     \frac{2}{{32}}\frac{{R_{ij} }}{\sigma }} \right)I +
1063     \frac{2}{{32}}\frac{{R_{ij} R_{ij}^T }}{{R_{ij} \sigma }}} \right]
1064     \label{introEquation:RPTensorOverlapped}
1065 tim 2804 \end{equation}
1066 tim 2850
1067     To calculate the resistance tensor at an arbitrary origin $O$, we
1068     construct a $3N \times 3N$ matrix consisting of $N \times N$
1069     $B_{ij}$ blocks
1070     \begin{equation}
1071     B = \left( {\begin{array}{*{20}c}
1072     {B_{11} } & \ldots & {B_{1N} } \\
1073     \vdots & \ddots & \vdots \\
1074     {B_{N1} } & \cdots & {B_{NN} } \\
1075     \end{array}} \right),
1076     \end{equation}
1077     where $B_{ij}$ is given by
1078 tim 2804 \[
1079 tim 2850 B_{ij} = \delta _{ij} \frac{I}{{6\pi \eta R}} + (1 - \delta _{ij}
1080     )T_{ij}
1081 tim 2804 \]
1082 tim 2850 where $\delta _{ij}$ is Kronecker delta function. Inverting matrix
1083     $B$, we obtain
1084    
1085 tim 2804 \[
1086 tim 2850 C = B^{ - 1} = \left( {\begin{array}{*{20}c}
1087     {C_{11} } & \ldots & {C_{1N} } \\
1088     \vdots & \ddots & \vdots \\
1089     {C_{N1} } & \cdots & {C_{NN} } \\
1090     \end{array}} \right)
1091 tim 2804 \]
1092 tim 2850 , which can be partitioned into $N \times N$ $3 \times 3$ block
1093     $C_{ij}$. With the help of $C_{ij}$ and skew matrix $U_i$
1094 tim 2804 \[
1095 tim 2850 U_i = \left( {\begin{array}{*{20}c}
1096     0 & { - z_i } & {y_i } \\
1097     {z_i } & 0 & { - x_i } \\
1098     { - y_i } & {x_i } & 0 \\
1099     \end{array}} \right)
1100 tim 2804 \]
1101 tim 2850 where $x_i$, $y_i$, $z_i$ are the components of the vector joining
1102     bead $i$ and origin $O$. Hence, the elements of resistance tensor at
1103     arbitrary origin $O$ can be written as
1104     \begin{equation}
1105     \begin{array}{l}
1106     \Xi _{}^{tt} = \sum\limits_i {\sum\limits_j {C_{ij} } } , \\
1107     \Xi _{}^{tr} = \Xi _{}^{rt} = \sum\limits_i {\sum\limits_j {U_i C_{ij} } } , \\
1108     \Xi _{}^{rr} = - \sum\limits_i {\sum\limits_j {U_i C_{ij} } } U_j \\
1109     \end{array}
1110     \label{introEquation:ResistanceTensorArbitraryOrigin}
1111     \end{equation}
1112 tim 2804
1113 tim 2850 The resistance tensor depends on the origin to which they refer. The
1114     proper location for applying friction force is the center of
1115     resistance (reaction), at which the trace of rotational resistance
1116     tensor, $ \Xi ^{rr}$ reaches minimum. Mathematically, the center of
1117     resistance is defined as an unique point of the rigid body at which
1118     the translation-rotation coupling tensor are symmetric,
1119     \begin{equation}
1120     \Xi^{tr} = \left( {\Xi^{tr} } \right)^T
1121     \label{introEquation:definitionCR}
1122     \end{equation}
1123     Form Equation \ref{introEquation:ResistanceTensorArbitraryOrigin},
1124     we can easily find out that the translational resistance tensor is
1125     origin independent, while the rotational resistance tensor and
1126     translation-rotation coupling resistance tensor depend on the
1127     origin. Given resistance tensor at an arbitrary origin $O$, and a
1128     vector ,$r_{OP}(x_{OP}, y_{OP}, z_{OP})$, from $O$ to $P$, we can
1129     obtain the resistance tensor at $P$ by
1130     \begin{equation}
1131     \begin{array}{l}
1132     \Xi _P^{tt} = \Xi _O^{tt} \\
1133     \Xi _P^{tr} = \Xi _P^{rt} = \Xi _O^{tr} - U_{OP} \Xi _O^{tt} \\
1134     \Xi _P^{rr} = \Xi _O^{rr} - U_{OP} \Xi _O^{tt} U_{OP} + \Xi _O^{tr} U_{OP} - U_{OP} \Xi _O^{{tr} ^{^T }} \\
1135     \end{array}
1136     \label{introEquation:resistanceTensorTransformation}
1137     \end{equation}
1138     where
1139 tim 2804 \[
1140 tim 2850 U_{OP} = \left( {\begin{array}{*{20}c}
1141     0 & { - z_{OP} } & {y_{OP} } \\
1142     {z_i } & 0 & { - x_{OP} } \\
1143     { - y_{OP} } & {x_{OP} } & 0 \\
1144     \end{array}} \right)
1145 tim 2804 \]
1146 tim 2850 Using Equations \ref{introEquation:definitionCR} and
1147     \ref{introEquation:resistanceTensorTransformation}, one can locate
1148     the position of center of resistance,
1149     \begin{eqnarray*}
1150     \left( \begin{array}{l}
1151     x_{OR} \\
1152     y_{OR} \\
1153     z_{OR} \\
1154     \end{array} \right) & = &\left( {\begin{array}{*{20}c}
1155     {(\Xi _O^{rr} )_{yy} + (\Xi _O^{rr} )_{zz} } & { - (\Xi _O^{rr} )_{xy} } & { - (\Xi _O^{rr} )_{xz} } \\
1156     { - (\Xi _O^{rr} )_{xy} } & {(\Xi _O^{rr} )_{zz} + (\Xi _O^{rr} )_{xx} } & { - (\Xi _O^{rr} )_{yz} } \\
1157     { - (\Xi _O^{rr} )_{xz} } & { - (\Xi _O^{rr} )_{yz} } & {(\Xi _O^{rr} )_{xx} + (\Xi _O^{rr} )_{yy} } \\
1158     \end{array}} \right)^{ - 1} \\
1159     & & \left( \begin{array}{l}
1160     (\Xi _O^{tr} )_{yz} - (\Xi _O^{tr} )_{zy} \\
1161     (\Xi _O^{tr} )_{zx} - (\Xi _O^{tr} )_{xz} \\
1162     (\Xi _O^{tr} )_{xy} - (\Xi _O^{tr} )_{yx} \\
1163     \end{array} \right) \\
1164     \end{eqnarray*}
1165 tim 2804
1166 tim 2850 where $x_OR$, $y_OR$, $z_OR$ are the components of the vector
1167     joining center of resistance $R$ and origin $O$.
1168 tim 2804
1169     \subsection{Langevin dynamics for rigid particles of arbitrary shape}
1170    
1171     Consider a Langevin equation of motions in generalized coordinates
1172     \begin{equation}
1173     M_i \dot V_i (t) = F_{s,i} (t) + F_{f,i(t)} + F_{r,i} (t)
1174     \label{LDGeneralizedForm}
1175     \end{equation}
1176     where $M_i$ is a $6\times6$ generalized diagonal mass (include mass
1177     and moment of inertial) matrix and $V_i$ is a generalized velocity,
1178     $V_i = V_i(v_i,\omega _i)$. The right side of Eq.
1179     (\ref{LDGeneralizedForm}) consists of three generalized forces in
1180     lab-fixed frame, systematic force $F_{s,i}$, dissipative force
1181     $F_{f,i}$ and stochastic force $F_{r,i}$. While the evolution of the
1182     system in Newtownian mechanics typically refers to lab-fixed frame,
1183     it is also convenient to handle the rotation of rigid body in
1184     body-fixed frame. Thus the friction and random forces are calculated
1185     in body-fixed frame and converted back to lab-fixed frame by:
1186     \[
1187     \begin{array}{l}
1188     F_{f,i}^l (t) = A^T F_{f,i}^b (t), \\
1189     F_{r,i}^l (t) = A^T F_{r,i}^b (t) \\
1190     \end{array}.
1191     \]
1192     Here, the body-fixed friction force $F_{r,i}^b$ is proportional to
1193     the body-fixed velocity at center of resistance $v_{R,i}^b$ and
1194     angular velocity $\omega _i$,
1195     \begin{equation}
1196     F_{r,i}^b (t) = \left( \begin{array}{l}
1197     f_{r,i}^b (t) \\
1198     \tau _{r,i}^b (t) \\
1199     \end{array} \right) = - \left( {\begin{array}{*{20}c}
1200     {\Xi _{R,t} } & {\Xi _{R,c}^T } \\
1201     {\Xi _{R,c} } & {\Xi _{R,r} } \\
1202     \end{array}} \right)\left( \begin{array}{l}
1203     v_{R,i}^b (t) \\
1204     \omega _i (t) \\
1205     \end{array} \right),
1206     \end{equation}
1207     while the random force $F_{r,i}^l$ is a Gaussian stochastic variable
1208     with zero mean and variance
1209     \begin{equation}
1210     \left\langle {F_{r,i}^l (t)(F_{r,i}^l (t'))^T } \right\rangle =
1211     \left\langle {F_{r,i}^b (t)(F_{r,i}^b (t'))^T } \right\rangle =
1212     2k_B T\Xi _R \delta (t - t').
1213     \end{equation}
1214     The equation of motion for $v_i$ can be written as
1215     \begin{equation}
1216     m\dot v_i (t) = f_{t,i} (t) = f_{s,i} (t) + f_{f,i}^l (t) +
1217     f_{r,i}^l (t)
1218     \end{equation}
1219     Since the frictional force is applied at the center of resistance
1220     which generally does not coincide with the center of mass, an extra
1221     torque is exerted at the center of mass. Thus, the net body-fixed
1222     frictional torque at the center of mass, $\tau _{n,i}^b (t)$, is
1223     given by
1224     \begin{equation}
1225     \tau _{r,i}^b = \tau _{r,i}^b +r_{MR} \times f_{r,i}^b
1226     \end{equation}
1227     where $r_{MR}$ is the vector from the center of mass to the center
1228     of the resistance. Instead of integrating angular velocity in
1229     lab-fixed frame, we consider the equation of motion of angular
1230     momentum in body-fixed frame
1231     \begin{equation}
1232     \dot \pi _i (t) = \tau _{t,i} (t) = \tau _{s,i} (t) + \tau _{f,i}^b
1233     (t) + \tau _{r,i}^b(t)
1234     \end{equation}
1235    
1236     Embedding the friction terms into force and torque, one can
1237     integrate the langevin equations of motion for rigid body of
1238     arbitrary shape in a velocity-Verlet style 2-part algorithm, where
1239     $h= \delta t$:
1240    
1241     {\tt part one:}
1242     \begin{align*}
1243     v_i (t + h/2) &\leftarrow v_i (t) + \frac{{hf_{t,i}^l (t)}}{{2m_i }} \\
1244     \pi _i (t + h/2) &\leftarrow \pi _i (t) + \frac{{h\tau _{t,i}^b (t)}}{2} \\
1245     r_i (t + h) &\leftarrow r_i (t) + hv_i (t + h/2) \\
1246     A_i (t + h) &\leftarrow rotate\left( {h\pi _i (t + h/2)I^{ - 1} } \right) \\
1247     \end{align*}
1248     In this context, the $\mathrm{rotate}$ function is the reversible
1249     product of five consecutive body-fixed rotations,
1250     \begin{equation}
1251     \mathrm{rotate}({\bf a}) = \mathsf{G}_x(a_x / 2) \cdot
1252     \mathsf{G}_y(a_y / 2) \cdot \mathsf{G}_z(a_z) \cdot \mathsf{G}_y(a_y
1253     / 2) \cdot \mathsf{G}_x(a_x /2),
1254     \end{equation}
1255     where each rotational propagator, $\mathsf{G}_\alpha(\theta)$,
1256     rotates both the rotation matrix ($\mathsf{A}$) and the body-fixed
1257     angular momentum ($\pi$) by an angle $\theta$ around body-fixed axis
1258     $\alpha$,
1259     \begin{equation}
1260     \mathsf{G}_\alpha( \theta ) = \left\{
1261     \begin{array}{lcl}
1262     \mathsf{A}(t) & \leftarrow & \mathsf{A}(0) \cdot \mathsf{R}_\alpha(\theta)^T, \\
1263     {\bf j}(t) & \leftarrow & \mathsf{R}_\alpha(\theta) \cdot {\bf
1264     j}(0).
1265     \end{array}
1266     \right.
1267     \end{equation}
1268     $\mathsf{R}_\alpha$ is a quadratic approximation to the single-axis
1269     rotation matrix. For example, in the small-angle limit, the
1270     rotation matrix around the body-fixed x-axis can be approximated as
1271     \begin{equation}
1272     \mathsf{R}_x(\theta) \approx \left(
1273     \begin{array}{ccc}
1274     1 & 0 & 0 \\
1275     0 & \frac{1-\theta^2 / 4}{1 + \theta^2 / 4} & -\frac{\theta}{1+
1276     \theta^2 / 4} \\
1277     0 & \frac{\theta}{1+ \theta^2 / 4} & \frac{1-\theta^2 / 4}{1 +
1278     \theta^2 / 4}
1279     \end{array}
1280     \right).
1281     \end{equation}
1282     All other rotations follow in a straightforward manner.
1283    
1284     After the first part of the propagation, the friction and random
1285     forces are generated at the center of resistance in body-fixed frame
1286     and converted back into lab-fixed frame
1287     \[
1288     f_{t,i}^l (t + h) = - \left( {\frac{{\partial V}}{{\partial r_i }}}
1289     \right)_{r_i (t + h)} + A_i^T (t + h)[F_{f,i}^b (t + h) + F_{r,i}^b
1290     (t + h)],
1291     \]
1292     while the system torque in lab-fixed frame is transformed into
1293     body-fixed frame,
1294     \[
1295     \tau _{t,i}^b (t + h) = A\tau _{s,i}^l (t) + \tau _{n,i}^b (t) +
1296     \tau _{r,i}^b (t).
1297     \]
1298     Once the forces and torques have been obtained at the new time step,
1299     the velocities can be advanced to the same time value.
1300    
1301     {\tt part two:}
1302     \begin{align*}
1303     v_i (t) &\leftarrow v_i (t + h/2) + \frac{{hf_{t,i}^l (t + h)}}{{2m_i }} \\
1304     \pi _i (t) &\leftarrow \pi _i (t + h/2) + \frac{{h\tau _{t,i}^b (t + h)}}{2} \\
1305     \end{align*}
1306    
1307     \subsection{Results and discussion}