| 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 |
| 19 |
> |
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 |
|
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 |
| 117 |
|
\cdot {\bf \tau}^s(t + h). |
| 118 |
|
\end{align*} |
| 119 |
|
|
| 120 |
< |
{\sc oopse} automatically updates ${\bf u}$ when the rotation matrix |
| 120 |
> |
${\bf u}$ will be automatically updated 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. |
| 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}. |
| 142 |
> |
in Fig.~\ref{methodFig:timestep}. |
| 143 |
|
|
| 144 |
|
\begin{figure} |
| 145 |
|
\centering |
| 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. |
| 281 |
> |
self-consistent. |
| 282 |
|
|
| 283 |
|
The Nos\'e-Hoover algorithm is known to conserve a Hamiltonian for |
| 284 |
|
the extended system that is, to within a constant, identical to the |
| 296 |
|
\subsection{\label{methodSection:NPTi}Constant-pressure integration with |
| 297 |
|
isotropic box deformations (NPTi)} |
| 298 |
|
|
| 299 |
< |
To carry out isobaric-isothermal ensemble calculations {\sc oopse} |
| 300 |
< |
implements the Melchionna modifications to the |
| 301 |
< |
Nos\'e-Hoover-Andersen equations of motion,\cite{Melchionna1993} |
| 299 |
> |
Isobaric-isothermal ensemble integrator is implemented using the |
| 300 |
> |
Melchionna modifications to the Nos\'e-Hoover-Andersen equations of |
| 301 |
> |
motion,\cite{Melchionna1993} |
| 302 |
|
|
| 303 |
|
\begin{eqnarray} |
| 304 |
|
\dot{{\bf r}} & = & {\bf v} + \eta \left( {\bf r} - {\bf R}_0 \right), \\ |
| 353 |
|
\end{equation} |
| 354 |
|
|
| 355 |
|
In eq.(\ref{eq:melchionna1}), $\tau_B$ is the time constant for |
| 356 |
< |
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 |
| 356 |
> |
relaxation of the pressure to the target value. Like in the NVT |
| 357 |
|
integrator, the integration of the equations of motion is carried |
| 358 |
|
out in a velocity-Verlet style 2 part algorithm: |
| 359 |
|
|
| 394 |
|
|
| 395 |
|
Most of these equations are identical to their counterparts in the |
| 396 |
|
NVT integrator, but the propagation of positions to time $t + h$ |
| 397 |
< |
depends on the positions at the same time. {\sc oopse} carries out |
| 398 |
< |
this step iteratively (with a limit of 5 passes through the |
| 399 |
< |
iterative loop). Also, the simulation box $\mathsf{H}$ is scaled |
| 400 |
< |
uniformly for one full time step by an exponential factor that |
| 401 |
< |
depends on the value of $\eta$ at time $t + h / 2$. Reshaping the |
| 409 |
< |
box uniformly also scales the volume of the box by |
| 397 |
> |
depends on the positions at the same time. The simulation box |
| 398 |
> |
$\mathsf{H}$ is scaled uniformly for one full time step by an |
| 399 |
> |
exponential factor that depends on the value of $\eta$ at time $t + |
| 400 |
> |
h / 2$. Reshaping the box uniformly also scales the volume of the |
| 401 |
> |
box by |
| 402 |
|
\begin{equation} |
| 403 |
|
\mathcal{V}(t + h) \leftarrow e^{ - 3 h \eta(t + h /2)}. |
| 404 |
|
\mathcal{V}(t) |
| 440 |
|
to caclculate $T(t + h)$, $P(t + h)$, $\chi(t + h)$, and $\eta(t + |
| 441 |
|
h)$, they indirectly depend on their own values at time $t + h$. |
| 442 |
|
{\tt moveB} is therefore done in an iterative fashion until $\chi(t |
| 443 |
< |
+ 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. |
| 443 |
> |
+ h)$ and $\eta(t + h)$ become self-consistent. |
| 444 |
|
|
| 445 |
|
The Melchionna modification of the Nos\'e-Hoover-Andersen algorithm |
| 446 |
|
is known to conserve a Hamiltonian for the extended system that is, |
| 462 |
|
P_{\mathrm{target}} \mathcal{V}(t). |
| 463 |
|
\end{equation} |
| 464 |
|
|
| 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 |
– |
|
| 465 |
|
\subsection{\label{methodSection:NPTf}Constant-pressure integration with a |
| 466 |
|
flexible box (NPTf)} |
| 467 |
|
|
| 535 |
|
\mathsf{H}(t + h) &\leftarrow \mathsf{H}(t) \cdot e^{-h |
| 536 |
|
\overleftrightarrow{\eta}(t + h / 2)} . |
| 537 |
|
\end{align*} |
| 538 |
< |
{\sc oopse} uses a power series expansion truncated at second order |
| 539 |
< |
for the exponential operation which scales the simulation box. |
| 538 |
> |
Here, a power series expansion truncated at second order for the |
| 539 |
> |
exponential operation is used to scale the simulation box. |
| 540 |
|
|
| 541 |
|
The {\tt moveB} portion of the algorithm is largely unchanged from |
| 542 |
|
the NPTi integrator: |
| 575 |
|
identical to those described for the NPTi integrator. |
| 576 |
|
|
| 577 |
|
The NPTf integrator is known to conserve the following Hamiltonian: |
| 578 |
< |
\begin{equation} |
| 579 |
< |
H_{\mathrm{NPTf}} = V + K + f k_B T_{\mathrm{target}} \left( |
| 580 |
< |
\frac{\tau_{T}^2 \chi^2(t)}{2} + \int_{0}^{t} \chi(t^\prime) |
| 581 |
< |
dt^\prime \right) + P_{\mathrm{target}} \mathcal{V}(t) + \frac{f k_B |
| 582 |
< |
T_{\mathrm{target}}}{2} |
| 578 |
> |
\begin{eqnarray*} |
| 579 |
> |
H_{\mathrm{NPTf}} & = & V + K + f k_B T_{\mathrm{target}} \left( |
| 580 |
> |
\frac{\tau_{T}^2 \chi^2(t)}{2} + \int_{0}^{t} \chi(t^\prime) |
| 581 |
> |
dt^\prime \right) \\ |
| 582 |
> |
+ P_{\mathrm{target}} \mathcal{V}(t) + \frac{f |
| 583 |
> |
k_B T_{\mathrm{target}}}{2} |
| 584 |
|
\mathrm{Tr}\left[\overleftrightarrow{\eta}(t)\right]^2 \tau_B^2. |
| 585 |
< |
\end{equation} |
| 585 |
> |
\end{eqnarray*} |
| 586 |
|
|
| 587 |
|
This integrator must be used with care, particularly in liquid |
| 588 |
|
simulations. Liquids have very small restoring forces in the |
| 592 |
|
finds most use in simulating crystals or liquid crystals which |
| 593 |
|
assume non-orthorhombic geometries. |
| 594 |
|
|
| 609 |
– |
\subsection{\label{methodSection:otherSpecialEnsembles}Other Special Ensembles} |
| 610 |
– |
|
| 595 |
|
\subsubsection{\label{methodSection:NPAT}NPAT Ensemble} |
| 596 |
|
|
| 597 |
|
A comprehensive understanding of structure¨Cfunction relations of |
| 615 |
|
Note that the iterative schemes for NPAT are identical to those |
| 616 |
|
described for the NPTi integrator. |
| 617 |
|
|
| 618 |
< |
\subsubsection{\label{methodSection:NPrT}NP$\gamma$T Ensemble} |
| 618 |
> |
\subsection{\label{methodSection:NPrT}NP$\gamma$T |
| 619 |
> |
Ensemble} |
| 620 |
|
|
| 621 |
|
Theoretically, the surface tension $\gamma$ of a stress free |
| 622 |
|
membrane system should be zero since its surface free energy $G$ is |
| 654 |
|
integrator is a special case of $NP\gamma T$ if the surface tension |
| 655 |
|
$\gamma$ is set to zero. |
| 656 |
|
|
| 657 |
< |
%\section{\label{methodSection:constraintMethod}Constraint Method} |
| 657 |
> |
\section{\label{methodSection:zcons}Z-Constraint Method} |
| 658 |
|
|
| 659 |
< |
%\subsection{\label{methodSection:bondConstraint}Bond Constraint for Rigid Body} |
| 660 |
< |
|
| 661 |
< |
%\subsection{\label{methodSection:zcons}Z-constraint Method} |
| 662 |
< |
|
| 663 |
< |
\section{\label{methodSection:langevin}Integrators for Langevin Dynamics of Rigid Bodies} |
| 664 |
< |
|
| 665 |
< |
\subsection{\label{methodSection:temperature}Temperature Control} |
| 666 |
< |
|
| 667 |
< |
\subsection{\label{methodSection:pressureControl}Pressure Control} |
| 659 |
> |
Based on the fluctuation-dissipation theorem, a force |
| 660 |
> |
auto-correlation method was developed by Roux and Karplus to |
| 661 |
> |
investigate the dynamics of ions inside ion channels\cite{Roux1991}. |
| 662 |
> |
The time-dependent friction coefficient can be calculated from the |
| 663 |
> |
deviation of the instantaneous force from its mean force. |
| 664 |
> |
\begin{equation} |
| 665 |
> |
\xi(z,t)=\langle\delta F(z,t)\delta F(z,0)\rangle/k_{B}T, |
| 666 |
> |
\end{equation} |
| 667 |
> |
where% |
| 668 |
> |
\begin{equation} |
| 669 |
> |
\delta F(z,t)=F(z,t)-\langle F(z,t)\rangle. |
| 670 |
> |
\end{equation} |
| 671 |
|
|
| 672 |
< |
\section{\label{methodSection:hydrodynamics}Hydrodynamics} |
| 672 |
> |
If the time-dependent friction decays rapidly, the static friction |
| 673 |
> |
coefficient can be approximated by |
| 674 |
> |
\begin{equation} |
| 675 |
> |
\xi_{\text{static}}(z)=\int_{0}^{\infty}\langle\delta F(z,t)\delta |
| 676 |
> |
F(z,0)\rangle dt. |
| 677 |
> |
\end{equation} |
| 678 |
> |
Allowing diffusion constant to then be calculated through the |
| 679 |
> |
Einstein relation:\cite{Marrink1994} |
| 680 |
> |
\begin{equation} |
| 681 |
> |
D(z)=\frac{k_{B}T}{\xi_{\text{static}}(z)}=\frac{(k_{B}T)^{2}}{\int_{0}^{\infty |
| 682 |
> |
}\langle\delta F(z,t)\delta F(z,0)\rangle dt}.% |
| 683 |
> |
\end{equation} |
| 684 |
|
|
| 685 |
< |
%\section{\label{methodSection:coarseGrained}Coarse-Grained Modeling} |
| 685 |
> |
The Z-Constraint method, which fixes the z coordinates of the |
| 686 |
> |
molecules with respect to the center of the mass of the system, has |
| 687 |
> |
been a method suggested to obtain the forces required for the force |
| 688 |
> |
auto-correlation calculation.\cite{Marrink1994} However, simply |
| 689 |
> |
resetting the coordinate will move the center of the mass of the |
| 690 |
> |
whole system. To avoid this problem, we reset the forces of |
| 691 |
> |
z-constrained molecules as well as subtract the total constraint |
| 692 |
> |
forces from the rest of the system after the force calculation at |
| 693 |
> |
each time step instead of resetting the coordinate. |
| 694 |
|
|
| 695 |
< |
%\section{\label{methodSection:moleculeScale}Molecular-Scale Modeling} |
| 695 |
> |
After the force calculation, define $G_\alpha$ as |
| 696 |
> |
\begin{equation} |
| 697 |
> |
G_{\alpha} = \sum_i F_{\alpha i}, \label{oopseEq:zc1} |
| 698 |
> |
\end{equation} |
| 699 |
> |
where $F_{\alpha i}$ is the force in the z direction of atom $i$ in |
| 700 |
> |
z-constrained molecule $\alpha$. The forces of the z constrained |
| 701 |
> |
molecule are then set to: |
| 702 |
> |
\begin{equation} |
| 703 |
> |
F_{\alpha i} = F_{\alpha i} - |
| 704 |
> |
\frac{m_{\alpha i} G_{\alpha}}{\sum_i m_{\alpha i}}. |
| 705 |
> |
\end{equation} |
| 706 |
> |
Here, $m_{\alpha i}$ is the mass of atom $i$ in the z-constrained |
| 707 |
> |
molecule. Having rescaled the forces, the velocities must also be |
| 708 |
> |
rescaled to subtract out any center of mass velocity in the z |
| 709 |
> |
direction. |
| 710 |
> |
\begin{equation} |
| 711 |
> |
v_{\alpha i} = v_{\alpha i} - |
| 712 |
> |
\frac{\sum_i m_{\alpha i} v_{\alpha i}}{\sum_i m_{\alpha i}}, |
| 713 |
> |
\end{equation} |
| 714 |
> |
where $v_{\alpha i}$ is the velocity of atom $i$ in the z direction. |
| 715 |
> |
Lastly, all of the accumulated z constrained forces must be |
| 716 |
> |
subtracted from the system to keep the system center of mass from |
| 717 |
> |
drifting. |
| 718 |
> |
\begin{equation} |
| 719 |
> |
F_{\beta i} = F_{\beta i} - \frac{m_{\beta i} \sum_{\alpha} |
| 720 |
> |
G_{\alpha}} |
| 721 |
> |
{\sum_{\beta}\sum_i m_{\beta i}}, |
| 722 |
> |
\end{equation} |
| 723 |
> |
where $\beta$ are all of the unconstrained molecules in the system. |
| 724 |
> |
Similarly, the velocities of the unconstrained molecules must also |
| 725 |
> |
be scaled. |
| 726 |
> |
\begin{equation} |
| 727 |
> |
v_{\beta i} = v_{\beta i} + \sum_{\alpha} |
| 728 |
> |
\frac{\sum_i m_{\alpha i} v_{\alpha i}}{\sum_i m_{\alpha i}}. |
| 729 |
> |
\end{equation} |
| 730 |
> |
|
| 731 |
> |
At the very beginning of the simulation, the molecules may not be at |
| 732 |
> |
their constrained positions. To move a z-constrained molecule to its |
| 733 |
> |
specified position, a simple harmonic potential is used |
| 734 |
> |
\begin{equation} |
| 735 |
> |
U(t)=\frac{1}{2}k_{\text{Harmonic}}(z(t)-z_{\text{cons}})^{2},% |
| 736 |
> |
\end{equation} |
| 737 |
> |
where $k_{\text{Harmonic}}$ is the harmonic force constant, $z(t)$ |
| 738 |
> |
is the current $z$ coordinate of the center of mass of the |
| 739 |
> |
constrained molecule, and $z_{\text{cons}}$ is the constrained |
| 740 |
> |
position. The harmonic force operating on the z-constrained molecule |
| 741 |
> |
at time $t$ can be calculated by |
| 742 |
> |
\begin{equation} |
| 743 |
> |
F_{z_{\text{Harmonic}}}(t)=-\frac{\partial U(t)}{\partial z(t)}= |
| 744 |
> |
-k_{\text{Harmonic}}(z(t)-z_{\text{cons}}). |
| 745 |
> |
\end{equation} |