ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/oopsePaper/Mechanics.tex
Revision: 899
Committed: Tue Jan 6 18:53:58 2004 UTC (20 years, 8 months ago) by mmeineke
Content type: application/x-tex
File size: 8074 byte(s)
Log Message:
reworked the directory structure to reflect the Outline of the paper. All major sections now have their
own tex file

File Contents

# User Rev Content
1 mmeineke 899
2     \section{\label{sec:mechanics}Mechanics}
3    
4     \subsection{\label{integrate}Integrating the Equations of Motion: the Symplectic Step Integrator}
5    
6     Integration of the equations of motion was carried out using the
7     symplectic splitting method proposed by Dullweber \emph{et
8     al.}.\cite{Dullweber1997} The reason for this integrator selection
9     deals with poor energy conservation of rigid body systems using
10     quaternions. While quaternions work well for orientational motion in
11     alternate ensembles, the microcanonical ensemble has a constant energy
12     requirement that is quite sensitive to errors in the equations of
13     motion. The original implementation of this code utilized quaternions
14     for rotational motion propagation; however, a detailed investigation
15     showed that they resulted in a steady drift in the total energy,
16     something that has been observed by others.\cite{Laird97}
17    
18     The key difference in the integration method proposed by Dullweber
19     \emph{et al.} is that the entire rotation matrix is propagated from
20     one time step to the next. In the past, this would not have been as
21     feasible a option, being that the rotation matrix for a single body is
22     nine elements long as opposed to 3 or 4 elements for Euler angles and
23     quaternions respectively. System memory has become much less of an
24     issue in recent times, and this has resulted in substantial benefits
25     in energy conservation. There is still the issue of 5 or 6 additional
26     elements for describing the orientation of each particle, which will
27     increase dump files substantially. Simply translating the rotation
28     matrix into its component Euler angles or quaternions for storage
29     purposes relieves this burden.
30    
31     The symplectic splitting method allows for Verlet style integration of
32     both linear and angular motion of rigid bodies. In the integration
33     method, the orientational propagation involves a sequence of matrix
34     evaluations to update the rotation matrix.\cite{Dullweber1997} These
35     matrix rotations end up being more costly computationally than the
36     simpler arithmetic quaternion propagation. With the same time step, a
37     1000 SSD particle simulation shows an average 7\% increase in
38     computation time using the symplectic step method in place of
39     quaternions. This cost is more than justified when comparing the
40     energy conservation of the two methods as illustrated in figure
41     \ref{timestep}.
42    
43     \begin{figure}
44     \epsfxsize=6in
45     \epsfbox{timeStep.epsi}
46     \caption{Energy conservation using quaternion based integration versus
47     the symplectic step method proposed by Dullweber \emph{et al.} with
48     increasing time step. For each time step, the dotted line is total
49     energy using the symplectic step integrator, and the solid line comes
50     from the quaternion integrator. The larger time step plots are shifted
51     up from the true energy baseline for clarity.}
52     \label{timestep}
53     \end{figure}
54    
55     In figure \ref{timestep}, the resulting energy drift at various time
56     steps for both the symplectic step and quaternion integration schemes
57     is compared. All of the 1000 SSD particle simulations started with the
58     same configuration, and the only difference was the method for
59     handling rotational motion. At time steps of 0.1 and 0.5 fs, both
60     methods for propagating particle rotation conserve energy fairly well,
61     with the quaternion method showing a slight energy drift over time in
62     the 0.5 fs time step simulation. At time steps of 1 and 2 fs, the
63     energy conservation benefits of the symplectic step method are clearly
64     demonstrated. Thus, while maintaining the same degree of energy
65     conservation, one can take considerably longer time steps, leading to
66     an overall reduction in computation time.
67    
68     Energy drift in these SSD particle simulations was unnoticeable for
69     time steps up to three femtoseconds. A slight energy drift on the
70     order of 0.012 kcal/mol per nanosecond was observed at a time step of
71     four femtoseconds, and as expected, this drift increases dramatically
72     with increasing time step. To insure accuracy in the constant energy
73     simulations, time steps were set at 2 fs and kept at this value for
74     constant pressure simulations as well.
75    
76    
77     \subsection{\label{sec:extended}Extended Systems for other Ensembles}
78    
79    
80     {\sc oopse} implements a
81    
82    
83     \subsubsection{\label{sec:noseHooverThermo}Nose-Hoover Thermostatting}
84    
85     To mimic the effects of being in a constant temperature ({\sc nvt})
86     ensemble, {\sc oopse} uses the Nose-Hoover extended system
87     approach.\cite{Hoover85} In this method, the equations of motion for
88     the particle positions and velocities are
89     \begin{eqnarray}
90     \dot{{\bf r}} & = & {\bf v} \\
91     \dot{{\bf v}} & = & \frac{{\bf f}}{m} - \chi {\bf v}
92     \label{eq:nosehoovereom}
93     \end{eqnarray}
94    
95     $\chi$ is an ``extra'' variable included in the extended system, and
96     it is propagated using the first order equation of motion
97     \begin{equation}
98     \dot{\chi} = \frac{1}{\tau_{T}} \left( \frac{T}{T_{target}} - 1 \right)
99     \label{eq:nosehooverext}
100     \end{equation}
101     where $T_{target}$ is the target temperature for the simulation, and
102     $\tau_{T}$ is a time constant for the thermostat.
103    
104     To select the Nose-Hoover {\sc nvt} ensemble, the {\tt ensemble = NVT;}
105     command would be used in the simulation's {\sc bass} file. There is
106     some subtlety in choosing values for $\tau_{T}$, and it is usually set
107     to values of a few ps. Within a {\sc bass} file, $\tau_{T}$ could be
108     set to 1 ps using the {\tt tauThermostat = 1000; } command.
109    
110    
111     \subsection{\label{Sec:zcons}Z-Constraint Method}
112    
113     Based on fluctuatin-dissipation theorem,\bigskip\ force auto-correlation
114     method was developed to investigate the dynamics of ions inside the ion
115     channels.\cite{Roux91} Time-dependent friction coefficient can be calculated
116     from the deviation of the instaneous force from its mean force.
117    
118     %
119    
120     \begin{equation}
121     \xi(z,t)=\langle\delta F(z,t)\delta F(z,0)\rangle/k_{B}T
122     \end{equation}
123    
124    
125     where%
126     \begin{equation}
127     \delta F(z,t)=F(z,t)-\langle F(z,t)\rangle
128     \end{equation}
129    
130    
131     If the time-dependent friction decay rapidly, static friction coefficient can
132     be approximated by%
133    
134     \begin{equation}
135     \xi^{static}(z)=\int_{0}^{\infty}\langle\delta F(z,t)\delta F(z,0)\rangle dt
136     \end{equation}
137    
138    
139     Hence, diffusion constant can be estimated by
140     \begin{equation}
141     D(z)=\frac{k_{B}T}{\xi^{static}(z)}=\frac{(k_{B}T)^{2}}{\int_{0}^{\infty
142     }\langle\delta F(z,t)\delta F(z,0)\rangle dt}%
143     \end{equation}
144    
145    
146     \bigskip Z-Constraint method, which fixed the z coordinates of the molecules
147     with respect to the center of the mass of the system, was proposed to obtain
148     the forces required in force auto-correlation method.\cite{Marrink94} However,
149     simply resetting the coordinate will move the center of the mass of the whole
150     system. To avoid this problem, a new method was used at {\sc oopse}. Instead of
151     resetting the coordinate, we reset the forces of z-constraint molecules as
152     well as subtract the total constraint forces from the rest of the system after
153     force calculation at each time step.
154     \begin{verbatim}
155     $F_{\alpha i}=0$
156     $V_{\alpha i}=V_{\alpha i}-\frac{\sum\limits_{i}M_{_{\alpha i}}V_{\alpha i}}{\sum\limits_{i}M_{_{\alpha i}}}$
157     $F_{\alpha i}=F_{\alpha i}-\frac{M_{_{\alpha i}}}{\sum\limits_{\alpha}\sum\limits_{i}M_{_{\alpha i}}}\sum\limits_{\beta}F_{\beta}$
158     $V_{\alpha i}=V_{\alpha i}-\frac{\sum\limits_{\alpha}\sum\limits_{i}M_{_{\alpha i}}V_{\alpha i}}{\sum\limits_{\alpha}\sum\limits_{i}M_{_{\alpha i}}}$
159     \end{verbatim}
160    
161     At the very beginning of the simulation, the molecules may not be at its
162     constraint position. To move the z-constraint molecule to the specified
163     position, a simple harmonic potential is used%
164    
165     \begin{equation}
166     U(t)=\frac{1}{2}k_{Harmonic}(z(t)-z_{cons})^{2}%
167     \end{equation}
168     where $k_{Harmonic}$\bigskip\ is the harmonic force constant, $z(t)$ is
169     current z coordinate of the center of mass of the z-constraint molecule, and
170     $z_{cons}$ is the restraint position. Therefore, the harmonic force operated
171     on the z-constraint molecule at time $t$ can be calculated by%
172     \begin{equation}
173     F_{z_{Harmonic}}(t)=-\frac{\partial U(t)}{\partial z(t)}=-k_{Harmonic}%
174     (z(t)-z_{cons})
175     \end{equation}
176     Worthy of mention, other kinds of potential functions can also be used to
177     drive the z-constraint molecule.