ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/oopsePaper/Mechanics.tex
(Generate patch)

Comparing trunk/oopsePaper/Mechanics.tex (file contents):
Revision 1077 by gezelter, Tue Mar 2 03:15:35 2004 UTC vs.
Revision 1079 by gezelter, Tue Mar 2 22:15:53 2004 UTC

# Line 97 | Line 97 | represented by ${\bf j}$.  This equation of motion for
97   Written this way, the $\mbox{rot}$ operation creates a set of
98   conjugate angle coordinates to the body-fixed angular momenta
99   represented by ${\bf j}$.  This equation of motion for angular momenta
100 < is equivalent to the more familiar body-fixed form:
100 > is equivalent to the more familiar body-fixed forms,
101   \begin{eqnarray}
102   \dot{j_{x}} & = & \tau^b_x(t)  +
103   \left(\overleftrightarrow{\mathsf{I}}_{yy} - \overleftrightarrow{\mathsf{I}}_{zz} \right) j_y j_z \\
# Line 106 | Line 106 | is equivalent to the more familiar body-fixed form:
106   \dot{j_{z}} & = & \tau^b_z(t) +
107   \left(\overleftrightarrow{\mathsf{I}}_{xx} - \overleftrightarrow{\mathsf{I}}_{yy} \right) j_x j_y
108   \end{eqnarray}
109 < which utilize the body-fixed torques, ${\bf \tau}^b$.  Torques are
109 > which utilize the body-fixed torques, ${\bf \tau}^b$. Torques are
110   most easily derived in the space-fixed frame,
111   \begin{equation}
112   {\bf \tau}^b(t) = \mathsf{A}(t) \cdot {\bf \tau}^s(t)
113   \end{equation}
114 < where
114 > where the torques are either derived from the forces on the
115 > constituent atoms of the rigid body, or for directional atoms,
116 > directly from derivatives of the potential energy,
117   \begin{equation}
118   {\bf \tau}^s(t) = - \hat{\bf u}(t) \times \left( \frac{\partial}
119   {\partial \hat{\bf u}} V\left(\left\{ {\bf r}(t) \right\}, \left\{
120 < \mathsf{A}(t) \right\}\right) \right)
120 > \mathsf{A}(t) \right\}\right) \right).
121   \end{equation}
122 < where $\hat{\bf u}$ is a unit vector pointing along the principal axis
122 > Here $\hat{\bf u}$ is a unit vector pointing along the principal axis
123   of the particle in the space-fixed frame.
124  
125   The DLM method uses a Trotter factorization of the orientational
126   propagator.  This has three effects:
127   \begin{enumerate}
128 < \item the integrator is area preserving in phase space (i.e. it is
128 > \item the integrator is area-preserving in phase space (i.e. it is
129   {\it symplectic}),
130   \item the integrator is time-{\it reversible}, making it suitable for Hybrid
131   Monte Carlo applications, and
# Line 131 | Line 133 | for timesteps of length $h$.
133   for timesteps of length $h$.
134   \end{enumerate}
135  
136 < In the integration method, the
137 < orientational propagation involves a sequence of matrix evaluations to
138 < update the rotation matrix.\cite{Dullweber1997} These matrix rotations
139 < end up being more costly computationally than the simpler arithmetic
140 < quaternion propagation. With the same time step, a 1000 SSD particle
141 < simulation shows an average 7\% increase in computation time using the
142 < symplectic step method in place of quaternions. This cost is more than
143 < justified when comparing the energy conservation of the two methods as
144 < illustrated in figure
145 < \ref{timestep}.
136 > The integration of the equations of motion is carried out in a
137 > velocity-Verlet style 2 part algorithm:
138 >
139 > {\tt moveA:}
140 > \begin{eqnarray}
141 > {\bf v}\left(t + \delta t / 2\right)  & \leftarrow & {\bf
142 > v}(t) + \frac{\delta t}{2} \left( {\bf f}(t) / m \right) \\
143 > {\bf r}(t + \delta t) & \leftarrow & {\bf r}(t) + \delta t  {\bf
144 > v}\left(t + \delta t / 2 \right) \\
145 > {\bf j}\left(t + \delta t / 2 \right)  & \leftarrow & {\bf
146 > j}(t) + \frac{\delta t}{2} {\bf \tau}^b(t)  \\
147 > \mathsf{A}(t + \delta t) & \leftarrow & \mathrm{rot}\left( \delta t
148 > {\bf j}(t + \delta t / 2) \cdot \overleftrightarrow{\mathsf{I}}^{-1}
149 > \right)
150 > \end{eqnarray}
151 >
152 > In this context, the $\mathrm{rot}$ function is the reversible product
153 > of the three body-fixed rotations,
154 > \begin{equation}
155 > \mathrm{rot}({\bf a}) = \mathsf{G}_x(a_x / 2) \cdot
156 > \mathsf{G}_y(a_y / 2) \cdot \mathsf{G}_z(a_z) \cdot \mathsf{G}_y(a_y /
157 > 2) \cdot \mathsf{G}_x(a_x /2)
158 > \end{equation}
159 > where each rotational propagator, $\mathsf{G}_\alpha(\theta)$, rotates
160 > both the rotation matrix ($\mathsf{A}$) and the body-fixed angular
161 > momentum (${\bf j}$) by an angle $\theta$ around body-fixed axis
162 > $\alpha$,
163 > \begin{equation}
164 > \mathsf{G}_\alpha( \theta ) = \left\{
165 > \begin{array}{lcl}
166 > \mathsf{A}(t) & \leftarrow & \mathsf{A}(0) \cdot \mathsf{R}_\alpha(\theta)^T \\
167 > {\bf j}(t) & \leftarrow & \mathsf{R}_\alpha(\theta) \cdot {\bf j}(0)
168 > \end{array}
169 > \right.
170 > \end{equation}
171 > $\mathsf{R}_\alpha$ is a quadratic approximation to
172 > the single-axis rotation matrix.  For example, in the small-angle
173 > limit, the rotation matrix around the body-fixed x-axis can be
174 > approximated as
175 > \begin{equation}
176 > \mathsf{R}_x(\theta) = \left(
177 > \begin{array}{ccc}
178 > 1 & 0 & 0 \\
179 > 0 & \frac{1-\theta^2 / 4}{1 + \theta^2 / 4}  & -\frac{\theta}{1+
180 > \theta^2 / 4} \\
181 > 0 & \frac{\theta}{1+
182 > \theta^2 / 4} & \frac{1-\theta^2 / 4}{1 + \theta^2 / 4}
183 > \end{array}
184 > \right).
185 > \end{equation}
186 > All other rotations follow in a straightforward manner.
187 >
188 > After the first part of the propagation, the forces and body-fixed
189 > torques are calculated at the new positions and orientations
190 >
191 > {\tt doForces:}
192 > \begin{eqnarray}
193 > {\bf f}(t + \delta t) & \leftarrow & - \frac{\partial V}{\partial {\bf
194 > r}(t + \delta t)} \\
195 > {\bf \tau}^{s}(t + \delta t) & \leftarrow & {\bf u}(t + \delta t)
196 > \times \frac{\partial V}{\partial {\bf u}} \\
197 > {\bf \tau}^{b}(t + \delta t) & \leftarrow & \mathsf{A}(t + \delta t)
198 > \cdot {\bf \tau}^s(t + \delta t)
199 > \end{eqnarray}
200  
201 + {\sc oopse} automatically updates ${\bf u}$ when the rotation matrix
202 + $\mathsf{A}$ is calculated in {\tt moveA}.  Once the forces and
203 + torques have been obtained at the new time step, the velocities can be
204 + advanced to the same time value.
205 +
206 + {\tt moveB:}
207 + \begin{eqnarray}
208 + {\bf v}\left(t + \delta t \right)  & \leftarrow & {\bf
209 + v}\left(t + \delta t / 2 \right) + \frac{\delta t}{2} \left(
210 + {\bf f}(t + \delta t) / m \right) \\
211 + {\bf j}\left(t + \delta t \right)  & \leftarrow & {\bf
212 + j}\left(t + \delta t / 2 \right) + \frac{\delta t}{2} {\bf
213 + \tau}^b(t + \delta t)  
214 + \end{eqnarray}
215 +
216 + The matrix rotations used in the DLM method end up being more costly
217 + computationally than the simpler arithmetic quaternion
218 + propagation. With the same time step, a 1000-molecule water simulation
219 + shows an average 7\% increase in computation time using the DLM method
220 + in place of quaternions. This cost is more than justified when
221 + comparing the energy conservation of the two methods as illustrated in
222 + figure \ref{timestep}.
223 +
224   \begin{figure}
225   \epsfxsize=6in
226   \epsfbox{timeStep.epsi}
227   \caption{Energy conservation using quaternion based integration versus
228 < the symplectic step method proposed by Dullweber \emph{et al.} with
229 < increasing time step. For each time step, the dotted line is total
230 < energy using the symplectic step integrator, and the solid line comes
231 < from the quaternion integrator. The larger time step plots are shifted
232 < up from the true energy baseline for clarity.}
228 > the method proposed by Dullweber \emph{et al.} with increasing time
229 > step. For each time step, the dotted line is total energy using the
230 > symplectic step integrator, and the solid line comes from the
231 > quaternion integrator. The larger time step plots are shifted up from
232 > the true energy baseline for clarity.}
233   \label{timestep}
234   \end{figure}
235  
236   In figure \ref{timestep}, the resulting energy drift at various time
237 < steps for both the symplectic step and quaternion integration schemes
238 < is compared. All of the 1000 SSD particle simulations started with the
237 > steps for both the DLM and quaternion integration schemes is
238 > compared. All of the 1000 molecule water simulations started with the
239   same configuration, and the only difference was the method for
240   handling rotational motion. At time steps of 0.1 and 0.5 fs, both
241 < methods for propagating particle rotation conserve energy fairly well,
241 > methods for propagating molecule rotation conserve energy fairly well,
242   with the quaternion method showing a slight energy drift over time in
243   the 0.5 fs time step simulation. At time steps of 1 and 2 fs, the
244 < energy conservation benefits of the symplectic step method are clearly
244 > energy conservation benefits of the DLM method are clearly
245   demonstrated. Thus, while maintaining the same degree of energy
246   conservation, one can take considerably longer time steps, leading to
247   an overall reduction in computation time.
248  
170 Energy drift in these SSD particle simulations was unnoticeable for
171 time steps up to three femtoseconds. A slight energy drift on the
172 order of 0.012 kcal/mol per nanosecond was observed at a time step of
173 four femtoseconds, and as expected, this drift increases dramatically
174 with increasing time step. To insure accuracy in the constant energy
175 simulations, time steps were set at 2 fs and kept at this value for
176 constant pressure simulations as well.
249  
250 + There is only one specific keyword relevant to the default integrator,
251 + and that is the time step for integrating the equations of motion.
252  
253 + \begin{tabular}{llll}
254 + {\bf variable} & {\bf {\tt .bass} keyword} & {\bf units} & {\bf
255 + default value} \\  
256 + $\delta t$ & {\tt dt = 2.0;} & fs & none
257 + \end{tabular}
258 +
259   \subsection{\label{sec:extended}Extended Systems for other Ensembles}
260  
261   {\sc oopse} implements a number of extended system integrators for
# Line 248 | Line 328 | The Nos\'e-Hoover equations of motion are given by\cit
328   \begin{eqnarray}
329   \dot{{\bf r}} & = & {\bf v} \\
330   \dot{{\bf v}} & = & \frac{{\bf f}}{m} - \chi {\bf v} \\
331 < \dot{\mathsf{A}} & = & \\
332 < \dot{{\bf j}} & = & - \chi {\bf j}
331 > \dot{\mathsf{A}} & = & \mathsf{A} \cdot
332 > \mbox{ skew}\left(\overleftrightarrow{I}^{-1} \cdot {\bf j}\right) \\
333 > \dot{{\bf j}} & = & {\bf j} \times \left( \overleftrightarrow{I}^{-1}
334 > \cdot {\bf j} \right) - \mbox{ rot}\left(\mathsf{A}^{T} \cdot \frac{\partial
335 > V}{\partial \mathsf{A}} \right) - \chi {\bf j}
336   \label{eq:nosehoovereom}
337   \end{eqnarray}
338  
# Line 297 | Line 380 | j}(t) + \frac{\delta t}{2} \left( {\bf \tau}^b(t) - {\
380   {\bf j}\left(t + \delta t / 2 \right)  & \leftarrow & {\bf
381   j}(t) + \frac{\delta t}{2} \left( {\bf \tau}^b(t) - {\bf j}(t)
382   \chi(t) \right) \\
383 < \mathsf{A}(t + \delta t) & \leftarrow & \mathrm{rot}({\bf j}(t +
384 < \delta t / 2) \overleftrightarrow{\mathsf{I}}^{b},
302 < \delta t) \\
383 > \mathsf{A}(t + \delta t) & \leftarrow & \mathrm{rot}\left(\delta t *
384 > {\bf j}(t + \delta t / 2) \overleftrightarrow{\mathsf{I}}^{b} \right) \\
385   \chi\left(t + \delta t / 2 \right) & \leftarrow & \chi(t) +
386   \frac{\delta t}{2 \tau_T^2} \left( \frac{T(t)}{T_{\mathrm{target}}} - 1
387   \right)
388   \end{eqnarray}
389  
390 < Here $\mathrm{rot}( {\bf j} / {\bf I} )$ is the same symplectic Trotter
391 < factorization of the three rotation operations that was discussed in
392 < the section on the DLM integrator.  Note that this operation modifies
393 < both the rotation matrix $\mathsf{A}$ and the angular momentum ${\bf
394 < j}$.  {\tt moveA} propagates velocities by a half time step, and
395 < positional degrees of freedom by a full time step.  The new positions
396 < (and orientations) are then used to calculate a new set of forces and
397 < torques.
390 > Here $\mathrm{rot}( {\bf j} / {\bf I} )$ is the same symplectic
391 > Trotter factorization of the three rotation operations that was
392 > discussed in the section on the DLM integrator.  Note that this
393 > operation modifies both the rotation matrix $\mathsf{A}$ and the
394 > angular momentum ${\bf j}$.  {\tt moveA} propagates velocities by a
395 > half time step, and positional degrees of freedom by a full time step.
396 > The new positions (and orientations) are then used to calculate a new
397 > set of forces and torques.
398  
399   {\tt doForces:}
400   \begin{eqnarray}
# Line 351 | Line 433 | Since ${\bf v}(t + \delta t)$ and ${\bf j}(t + \delta
433   \end{eqnarray}
434  
435   Since ${\bf v}(t + \delta t)$ and ${\bf j}(t + \delta t)$ are required
436 < to caclculate $T(t + \delta t)$ as well as $\chi(t + \delta t)$, the
436 > to caclculate $T(t + \delta t)$ as well as $\chi(t + \delta t)$, they
437   indirectly depend on their own values at time $t + \delta t$.  {\tt
438   moveB} is therefore done in an iterative fashion until $\chi(t +
439   \delta t)$ becomes self-consistent.  The relative tolerance for the
# Line 378 | Line 460 | algorithms are given in section \ref{sec:rattle}.
460  
461   \subsubsection{\label{sec:NPTi}Constant-pressure integration (isotropic box)}
462  
463 + To carry out isobaric-isothermal ensemble calculations {\sc oopse}
464 + implements the Melchionna modifications to the Nos\'e-Hoover-Andersen
465 + equations of motion,\cite{Melchionna93}
466  
467 + \begin{eqnarray}
468 + \dot{{\bf r}} & = & {\bf v} + \eta \left( {\bf r} - {\bf R}_0 \right) \\
469 + \dot{{\bf v}} & = & \frac{{\bf f}}{m} - (\eta + \chi) {\bf v} \\
470 + \dot{\mathsf{A}} & = & \mathsf{A} \cdot
471 + \mbox{ skew}\left(\overleftrightarrow{I}^{-1} \cdot {\bf j}\right) \\
472 + \dot{{\bf j}} & = & {\bf j} \times \left( \overleftrightarrow{I}^{-1}
473 + \cdot {\bf j} \right) - \mbox{ rot}\left(\mathsf{A}^{T} \cdot \frac{\partial
474 + V}{\partial \mathsf{A}} \right) - \chi {\bf j} \\
475 + \dot{\chi} & = & \frac{1}{\tau_{T}^2} \left(
476 + \frac{T}{T_{\mathrm{target}}} - 1 \right) \\
477 + \dot{\eta} & = & \frac{1}{\tau_{B}^2} f k_B T_{\mathrm{target}} V \left( P -
478 + P_{\mathrm{target}} \right) \\
479 + \dot{V} & = & 3 V \eta
480 + \label{eq:melchionna1}
481 + \end{eqnarray}
482 +
483 + $\chi$ and $\eta$ are the ``extra'' degrees of freedom in the extended
484 + system.  $\chi$ is a thermostat, and it has the same function as it
485 + does in the Nos\'e-Hoover NVT integrator.  $\eta$ is a barostat which
486 + controls changes to the volume of the simulation box.  ${\bf R}_0$ is
487 + the location of the center of mass for the entire system.
488 +
489 + The NPTi integrator requires an instantaneous pressure. This quantity
490 + is calculated via the pressure tensor,
491 + \begin{equation}
492 + \overleftrightarrow{\mathsf{P}}(t) = \frac{1}{V(t)} \left( \sum_{i=1}^{N}
493 + m_i {\bf v}_i(t) \otimes {\bf v}_i(t) \right) +
494 + \overleftrightarrow{\mathsf{W}}(t)
495 + \end{equation}
496 + The kinetic contribution to the pressure tensor utilizes the {\it
497 + outer} product of the velocities denoted by the $\otimes$ symbol.  The
498 + stress tensor is calculated from another outer product of the
499 + inter-atomic separation vectors (${\bf r}_{ij} = {\bf r}_j - {\bf
500 + r}_i$) with the forces between the same two atoms,
501 + \begin{equation}
502 + \overleftrightarrow{\mathsf{W}}(t) = \sum_{i} \sum_{j>i} {\bf r}_{ij}(t)
503 + \otimes {\bf f}_{ij}(t)
504 + \end{equation}
505 + The instantaneous pressure is then simply obtained from the trace of
506 + the Pressure tensor,
507 + \begin{equation}
508 + P(t) = \frac{1}{3} \mathrm{Tr} \left( \overleftrightarrow{\mathsf{P}}(t)
509 + \right)
510 + \end{equation}
511 +
512 + In eq.(\ref{eq:melchionna1}), $\tau_B$ is the time constant for
513 + relaxation of the pressure to the target value.  To set values for
514 + $\tau_B$ or $P_{\mathrm{target}}$ in a simulation, one would use the
515 + {\tt tauBarostat} and {\tt targetPressure} keywords in the {\tt .bass}
516 + file.  The units for {\tt tauBarostat} are fs, and the units for the
517 + {\tt targetPressure} are atmospheres.  Like in the NVT integrator, the
518 + integration of the equations of motion is carried out in a
519 + velocity-Verlet style 2 part algorithm:
520 +
521 + {\tt moveA:}
522 + \begin{eqnarray}
523 + T(t) & \leftarrow & \left\{{\bf v}(t)\right\}, \left\{{\bf j}(t)\right\} \\
524 + {\bf v}\left(t + \delta t / 2\right)  & \leftarrow & {\bf
525 + v}(t) + \frac{\delta t}{2} \left( \frac{{\bf f}(t)}{m} - {\bf v}(t)
526 + \chi(t)\right) \\
527 + {\bf r}(t + \delta t) & \leftarrow & {\bf r}(t) + \delta t {\bf
528 + v}\left(t + \delta t / 2 \right) \\
529 + {\bf j}\left(t + \delta t / 2 \right)  & \leftarrow & {\bf
530 + j}(t) + \frac{\delta t}{2} \left( {\bf \tau}^b(t) - {\bf j}(t)
531 + \chi(t) \right) \\
532 + \mathsf{A}(t + \delta t) & \leftarrow & \mathrm{rot}\left(\delta t *
533 + {\bf j}(t + \delta t / 2) \overleftrightarrow{\mathsf{I}}^{b} \right) \\
534 + \chi\left(t + \delta t / 2 \right) & \leftarrow & \chi(t) +
535 + \frac{\delta t}{2 \tau_T^2} \left( \frac{T(t)}{T_{\mathrm{target}}} - 1
536 + \right)
537 + \end{eqnarray}
538 +
539 + Here $\mathrm{rot}( {\bf j} / {\bf I} )$ is the same symplectic
540 + Trotter factorization of the three rotation operations that was
541 + discussed in the section on the DLM integrator.  Note that this
542 + operation modifies both the rotation matrix $\mathsf{A}$ and the
543 + angular momentum ${\bf j}$.  {\tt moveA} propagates velocities by a
544 + half time step, and positional degrees of freedom by a full time step.
545 + The new positions (and orientations) are then used to calculate a new
546 + set of forces and torques.
547 +
548 + {\tt doForces:}
549 + \begin{eqnarray}
550 + {\bf f}(t + \delta t) & \leftarrow & - \frac{\partial V}{\partial {\bf
551 + r}(t + \delta t)} \\
552 + {\bf \tau}^{s}(t + \delta t) & \leftarrow & {\bf u}(t + \delta t)
553 + \times \frac{\partial V}{\partial {\bf u}} \\
554 + {\bf \tau}^{b}(t + \delta t) & \leftarrow & \mathsf{A}(t + \delta t)
555 + \cdot {\bf \tau}^s(t + \delta t)
556 + \end{eqnarray}
557 +
558 + Here ${\bf u}$ is a unit vector pointing along the principal axis of
559 + the rigid body being propagated, ${\bf \tau}^s$  is the torque in the
560 + space-fixed (laboratory) frame, and ${\bf \tau}^b$ is the torque in
561 + the body-fixed frame.  ${\bf u}$ is automatically calculated when the
562 + rotation matrix $\mathsf{A}$ is calculated in {\tt moveA}.  
563 +
564 + Once the forces and torques have been obtained at the new time step,
565 + the velocities can be advanced to the same time value.
566 +
567 + {\tt moveB:}
568 + \begin{eqnarray}
569 + T(t + \delta t) & \leftarrow & \left\{{\bf v}(t + \delta t)\right\},
570 + \left\{{\bf j}(t + \delta t)\right\} \\
571 + \chi\left(t + \delta t \right) & \leftarrow & \chi\left(t + \delta t /
572 + 2 \right) + \frac{\delta t}{2 \tau_T^2} \left( \frac{T(t+\delta
573 + t)}{T_{\mathrm{target}}} - 1 \right) \\
574 + {\bf v}\left(t + \delta t \right)  & \leftarrow & {\bf
575 + v}\left(t + \delta t / 2 \right) + \frac{\delta t}{2} \left(
576 + \frac{{\bf f}(t + \delta t)}{m} - {\bf v}(t + \delta t)
577 + \chi(t \delta t)\right) \\
578 + {\bf j}\left(t + \delta t \right)  & \leftarrow & {\bf
579 + j}\left(t + \delta t / 2 \right) + \frac{\delta t}{2} \left( {\bf
580 + \tau}^b(t + \delta t) - {\bf j}(t + \delta t)
581 + \chi(t + \delta t) \right)
582 + \end{eqnarray}
583 +
584 + Since ${\bf v}(t + \delta t)$ and ${\bf j}(t + \delta t)$ are required
585 + to caclculate $T(t + \delta t)$ as well as $\chi(t + \delta t)$, they
586 + indirectly depend on their own values at time $t + \delta t$.  {\tt
587 + moveB} is therefore done in an iterative fashion until $\chi(t +
588 + \delta t)$ becomes self-consistent.  The relative tolerance for the
589 + self-consistency check defaults to a value of $\mbox{10}^{-6}$, but
590 + {\sc oopse} will terminate the iteration after 4 loops even if the
591 + consistency check has not been satisfied.
592 +
593 + The Nos\'e-Hoover algorithm is known to conserve a Hamiltonian for the
594 + extended system that is, to within a constant, identical to the
595 + Helmholtz free energy,
596 + \begin{equation}
597 + H_{\mathrm{NVT}} = V + K + f k_B T_{\mathrm{target}} \left(
598 + \frac{\tau_{T}^2 \chi^2(t)}{2} + \int_{0}^{t} \chi(t\prime) dt\prime
599 + \right)
600 + \end{equation}
601 + Poor choices of $\delta t$ or $\tau_T$ can result in non-conservation
602 + of $H_{\mathrm{NVT}}$, so the conserved quantity is maintained in the
603 + last column of the {\tt .stat} file to allow checks on the quality of
604 + the integration.
605 +
606 + Bond constraints are applied at the end of both the {\tt moveA} and
607 + {\tt moveB} portions of the algorithm.  Details on the constraint
608 + algorithms are given in section \ref{sec:rattle}.
609 +
610 +
611 +
612   \subsection{\label{Sec:zcons}Z-Constraint Method}
613  
614   Based on fluctuatin-dissipation theorem,\bigskip\ force auto-correlation

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines