22 |
|
simulation package of this size and scope would not have been possible |
23 |
|
without the collaborative efforts of my colleagues: Charles |
24 |
|
F.~Vardeman II, Teng Lin, Christopher J.~Fennell and J.~Daniel |
25 |
< |
Gezelter. Although my contributions to {\sc oopse} are significant, |
26 |
< |
consideration of my work apart from the others, would not give a |
25 |
> |
Gezelter. Although my contributions to {\sc oopse} are major, |
26 |
> |
consideration of my work apart from the others would not give a |
27 |
|
complete description to the package's capabilities. As such, all |
28 |
|
contributions to {\sc oopse} to date are presented in this chapter. |
29 |
|
|
30 |
< |
Charles Vardeman is responsible for the parallelization of {\sc oopse} |
31 |
< |
(Sec.~\ref{oopseSec:parallelization}) as well as the inclusion of the |
32 |
< |
embedded-atom potential (Sec.~\ref{oopseSec:eam}). Teng Lin's |
33 |
< |
contributions include refinement of the periodic boundary conditions |
30 |
> |
Charles Vardeman is responsible for the parallelization of the long |
31 |
> |
range forces in {\sc oopse} (Sec.~\ref{oopseSec:parallelization}) as |
32 |
> |
well as the inclusion of the embedded-atom potential for transition |
33 |
> |
metals (Sec.~\ref{oopseSec:eam}). Teng Lin's contributions include |
34 |
> |
refinement of the periodic boundary conditions |
35 |
|
(Sec.~\ref{oopseSec:pbc}), the z-constraint method |
36 |
|
(Sec.~\ref{oopseSec:zcons}), refinement of the property analysis |
37 |
|
programs (Sec.~\ref{oopseSec:props}), and development in the extended |
38 |
< |
state integrators (Sec.~\ref{oopseSec:noseHooverThermo}). Christopher |
38 |
> |
system integrators (Sec.~\ref{oopseSec:noseHooverThermo}). Christopher |
39 |
|
Fennell worked on the symplectic integrator |
40 |
|
(Sec.~\ref{oopseSec:integrate}) and the refinement of the {\sc ssd} |
41 |
|
water model (Sec.~\ref{oopseSec:SSD}). Daniel Gezelter lent his |
49 |
|
of the Lennard-Jones (Sec.~\ref{sec:LJPot}) and {\sc duff} |
50 |
|
(Sec.~\ref{oopseSec:DUFF}) force fields, and initial implementation of |
51 |
|
the property analysis (Sec.~\ref{oopseSec:props}) and system |
52 |
< |
initialization (Sec.~\ref{oopseSec:initCoords}) utility programs. |
52 |
> |
initialization (Sec.~\ref{oopseSec:initCoords}) utility programs. {\sc |
53 |
> |
oopse}, like many other Molecular Dynamics programs, is a work in |
54 |
> |
progress, and will continue to be so for many graduate student |
55 |
> |
lifetimes. |
56 |
|
|
57 |
|
\section{\label{sec:intro}Introduction} |
58 |
|
|
70 |
|
|
71 |
|
Despite their utility, problems with these packages arise when |
72 |
|
researchers try to develop techniques or energetic models that the |
73 |
< |
code was not originally designed to do. Examples of uncommonly |
73 |
> |
code was not originally designed to simulate. Examples of uncommonly |
74 |
|
implemented techniques and energetics include; dipole-dipole |
75 |
|
interactions, rigid body dynamics, and metallic embedded |
76 |
|
potentials. When faced with these obstacles, a researcher must either |
79 |
|
simulation code capable of implementing the types of models upon which |
80 |
|
our research is based. |
81 |
|
|
82 |
< |
Having written {\sc oopse} we are implementing the concept of Open |
83 |
< |
Source development, and releasing our source code into the public |
84 |
< |
domain. It is our intent that by doing so, other researchers might |
85 |
< |
benefit from our work, and add their own contributions to the |
86 |
< |
package. The license under which {\sc oopse} is distributed allows any |
87 |
< |
researcher to download and modify the source code for their own |
88 |
< |
use. In this way further development of {\sc oopse} is not limited to |
89 |
< |
only the models of interest to ourselves, but also those of the |
90 |
< |
community of scientists who contribute back to the project. |
82 |
> |
In developing {\sc oopse}, we have adhered to the precepts of Open |
83 |
> |
Source development, and are releasing our source code with a |
84 |
> |
permissive license. It is our intent that by doing so, other |
85 |
> |
researchers might benefit from our work, and add their own |
86 |
> |
contributions to the package. The license under which {\sc oopse} is |
87 |
> |
distributed allows any researcher to download and modify the source |
88 |
> |
code for their own use. In this way further development of {\sc oopse} |
89 |
> |
is not limited to only the models of interest to ourselves, but also |
90 |
> |
those of the community of scientists who contribute back to the |
91 |
> |
project. |
92 |
|
|
93 |
|
We have structured this chapter to first discuss the empirical energy |
94 |
|
functions that {\sc oopse } implements in |
95 |
|
Sec.~\ref{oopseSec:empiricalEnergy}. Following that is a discussion of |
96 |
|
the various input and output files associated with the package |
97 |
< |
(Sec.~\ref{oopseSec:IOfiles}). In Sec.~\ref{oopseSec:mechanics} |
97 |
> |
(Sec.~\ref{oopseSec:IOfiles}). Sec.~\ref{oopseSec:mechanics} |
98 |
|
elucidates the various Molecular Dynamics algorithms {\sc oopse} |
99 |
|
implements in the integration of the Newtonian equations of |
100 |
|
motion. Basic analysis of the trajectories obtained from the |
101 |
|
simulation is discussed in Sec.~\ref{oopseSec:props}. Program design |
102 |
< |
considerations as well as the software distribution license is |
103 |
< |
presented in Sec.~\ref{oopseSec:design}. And lastly, |
99 |
< |
Sec.~\ref{oopseSec:conclusion} concludes the chapter. |
102 |
> |
considerations are presented in Sec.~\ref{oopseSec:design}. And |
103 |
> |
lastly, Sec.~\ref{oopseSec:conclusion} concludes the chapter. |
104 |
|
|
105 |
|
\section{\label{oopseSec:empiricalEnergy}The Empirical Energy Functions} |
106 |
|
|
113 |
|
methyl and carbonyl groups. The atoms are also capable of having |
114 |
|
directional components associated with them (\emph{e.g.}~permanent |
115 |
|
dipoles). Charges, permanent dipoles, and Lennard-Jones parameters for |
116 |
< |
a given atom type are set in the force field parameter files |
116 |
> |
a given atom type are set in the force field parameter files. |
117 |
|
|
118 |
|
\begin{lstlisting}[float,caption={[Specifier for molecules and atoms] A sample specification of an Ar molecule},label=sch:AtmMole] |
119 |
|
molecule{ |
133 |
|
identities of all the atoms and rigid bodies associated with |
134 |
|
themselves, and are responsible for the evaluation of their own |
135 |
|
internal interactions (\emph{i.e.}~bonds, bends, and torsions). Scheme |
136 |
< |
\ref{sch:AtmMole} shows how one creates a molecule in a |
136 |
> |
\ref{sch:AtmMole} shows how one creates a molecule in a ``model'' or |
137 |
|
\texttt{.mdl} file. The position of the atoms given in the |
138 |
|
declaration are relative to the origin of the molecule, and is used |
139 |
|
when creating a system containing the molecule. |
143 |
|
to handle rigid body dynamics. Rigid bodies are non-spherical |
144 |
|
particles or collections of particles that have a constant internal |
145 |
|
potential and move collectively.\cite{Goldstein01} They are not |
146 |
< |
included in most simulation packages because of the requirement to |
147 |
< |
propagate the orientational degrees of freedom. Until recently, |
148 |
< |
integrators which propagate orientational motion have been lacking. |
146 |
> |
included in most simulation packages because of the algorithmic |
147 |
> |
complexity involved in propagating orientational degrees of |
148 |
> |
freedom. Until recently, integrators which propagate orientational |
149 |
> |
motion have been much worse than those available for translational |
150 |
> |
motion. |
151 |
|
|
152 |
|
Moving a rigid body involves determination of both the force and |
153 |
|
torque applied by the surroundings, which directly affect the |
156 |
|
first be calculated for all the internal particles. The total force on |
157 |
|
the rigid body is simply the sum of these external forces. |
158 |
|
Accumulation of the total torque on the rigid body is more complex |
159 |
< |
than the force in that it is the torque applied on the center of mass |
160 |
< |
that dictates rotational motion. The torque on rigid body {\it i} is |
159 |
> |
than the force because the torque is applied to the center of mass of |
160 |
> |
the rigid body. The torque on rigid body $i$ is |
161 |
|
\begin{equation} |
162 |
|
\boldsymbol{\tau}_i= |
163 |
< |
\sum_{a}(\mathbf{r}_{ia}-\mathbf{r}_i)\times \mathbf{f}_{ia} |
164 |
< |
+ \boldsymbol{\tau}_{ia}, |
163 |
> |
\sum_{a}\biggl[(\mathbf{r}_{ia}-\mathbf{r}_i)\times \mathbf{f}_{ia} |
164 |
> |
+ \boldsymbol{\tau}_{ia}\biggr] |
165 |
|
\label{eq:torqueAccumulate} |
166 |
|
\end{equation} |
167 |
|
where $\boldsymbol{\tau}_i$ and $\mathbf{r}_i$ are the torque on and |
170 |
|
position of, and torque on the component particles of the rigid body. |
171 |
|
|
172 |
|
The summation of the total torque is done in the body fixed axis of |
173 |
< |
the rigid body. In order to move between the space fixed and body |
173 |
> |
each rigid body. In order to move between the space fixed and body |
174 |
|
fixed coordinate axes, parameters describing the orientation must be |
175 |
|
maintained for each rigid body. At a minimum, the rotation matrix |
176 |
|
(\textbf{A}) can be described by the three Euler angles ($\phi, |
185 |
|
systems.\cite{Evans77} |
186 |
|
|
187 |
|
{\sc oopse} utilizes a relatively new scheme that propagates the |
188 |
< |
entire nine parameter rotation matrix internally. Further discussion |
188 |
> |
entire nine parameter rotation matrix. Further discussion |
189 |
|
on this choice can be found in Sec.~\ref{oopseSec:integrate}. An example |
190 |
|
definition of a rigid body can be seen in Scheme |
191 |
|
\ref{sch:rigidBody}. The positions in the atom definitions are the |
238 |
|
Lennard-Jones force field. |
239 |
|
|
240 |
|
\begin{lstlisting}[float,caption={[Invocation of the Lennard-Jones force field] A sample system using the Lennard-Jones force field.},label={sch:LJFF}] |
235 |
– |
|
236 |
– |
/* |
237 |
– |
* The Ar molecule is specified |
238 |
– |
* external to the.bass file |
239 |
– |
*/ |
241 |
|
|
242 |
|
#include "argon.mdl" |
243 |
|
|
247 |
|
nMol = 108; |
248 |
|
} |
249 |
|
|
249 |
– |
/* |
250 |
– |
* The initial configuration is generated |
251 |
– |
* before the simulation is invoked. |
252 |
– |
*/ |
253 |
– |
|
250 |
|
initialConfig = "./argon.init"; |
251 |
|
|
252 |
|
forceField = "LJ"; |
255 |
|
Because this potential is calculated between all pairs, the force |
256 |
|
evaluation can become computationally expensive for large systems. To |
257 |
|
keep the pair evaluations to a manageable number, {\sc oopse} employs |
258 |
< |
a cut-off radius.\cite{allen87:csl} The cutoff radius is set to be |
258 |
> |
a cut-off radius.\cite{allen87:csl} The cutoff radius can either be |
259 |
> |
specified in the \texttt{.bass} file, or left as its default value of |
260 |
|
$2.5\sigma_{ii}$, where $\sigma_{ii}$ is the largest Lennard-Jones |
261 |
|
length parameter present in the simulation. Truncating the calculation |
262 |
|
at $r_{\text{cut}}$ introduces a discontinuity into the potential |
263 |
< |
energy. To offset this discontinuity, the energy value at |
264 |
< |
$r_{\text{cut}}$ is subtracted from the potential. This causes the |
265 |
< |
potential to go to zero smoothly at the cut-off radius. |
263 |
> |
energy and the force. To offset this discontinuity in the potential, |
264 |
> |
the energy value at $r_{\text{cut}}$ is subtracted from the |
265 |
> |
potential. This causes the potential to go to zero smoothly at the |
266 |
> |
cut-off radius, and preserves conservation of energy in integrating |
267 |
> |
the equations of motion. |
268 |
|
|
269 |
|
Interactions between dissimilar particles requires the generation of |
270 |
|
cross term parameters for $\sigma$ and $\epsilon$. These are |
295 |
|
charges. Charge-neutral distributions were replaced with dipoles, |
296 |
|
while most atoms and groups of atoms were reduced to Lennard-Jones |
297 |
|
interaction sites. This simplification cuts the length scale of long |
298 |
< |
range interactions from $\frac{1}{r}$ to $\frac{1}{r^3}$, allowing us |
299 |
< |
to avoid the computationally expensive Ewald sum. Instead, we can use |
300 |
< |
neighbor-lists, reaction field, and cutoff radii for the dipolar |
301 |
< |
interactions. |
298 |
> |
range interactions from $\frac{1}{r}$ to $\frac{1}{r^3}$, and allows |
299 |
> |
us to avoid the computationally expensive Ewald sum. Instead, we can |
300 |
> |
use neighbor-lists and cutoff radii for the dipolar interactions, or |
301 |
> |
include a reaction field to mimic larger range interactions. |
302 |
|
|
303 |
|
As an example, lipid head-groups in {\sc duff} are represented as |
304 |
< |
point dipole interaction sites. By placing a dipole of 20.6~Debye at |
305 |
< |
the head group center of mass, our model mimics the head group of |
306 |
< |
phosphatidylcholine.\cite{Cevc87} Additionally, a large Lennard-Jones |
307 |
< |
site is located at the pseudoatom's center of mass. The model is |
308 |
< |
illustrated by the dark grey atom in Fig.~\ref{oopseFig:lipidModel}. The |
309 |
< |
water model we use to complement the dipoles of the lipids is our |
310 |
< |
reparameterization of the soft sticky dipole (SSD) model of Ichiye |
304 |
> |
point dipole interaction sites. By placing a dipole at the head group |
305 |
> |
center of mass, our model mimics the charge separation found in common |
306 |
> |
phospholipids such as phosphatidylcholine.\cite{Cevc87} Additionally, |
307 |
> |
a large Lennard-Jones site is located at the pseudoatom's center of |
308 |
> |
mass. The model is illustrated by the red atom in |
309 |
> |
Fig.~\ref{oopseFig:lipidModel}. The water model we use to complement |
310 |
> |
the dipoles of the lipids is our reparameterization of the soft sticky |
311 |
> |
dipole (SSD) model of Ichiye |
312 |
|
\emph{et al.}\cite{liu96:new_model} |
313 |
|
|
314 |
|
\begin{figure} |
328 |
|
equilibria using Gibbs ensemble Monte Carlo simulation |
329 |
|
techniques.\cite{Siepmann1998} One of the advantages of TraPPE is that |
330 |
|
it generalizes the types of atoms in an alkyl chain to keep the number |
331 |
< |
of pseudoatoms to a minimum; the parameters for an atom such as |
331 |
> |
of pseudoatoms to a minimum; the parameters for a unified atom such as |
332 |
|
$\text{CH}_2$ do not change depending on what species are bonded to |
333 |
|
it. |
334 |
|
|
335 |
|
TraPPE also constrains all bonds to be of fixed length. Typically, |
336 |
|
bond vibrations are the fastest motions in a molecular dynamic |
337 |
|
simulation. Small time steps between force evaluations must be used to |
338 |
< |
ensure adequate sampling of the bond potential to ensure conservation |
339 |
< |
of energy. By constraining the bond lengths, larger time steps may be |
340 |
< |
used when integrating the equations of motion. A simulation using {\sc |
341 |
< |
duff} is illustrated in Scheme \ref{sch:DUFF}. |
338 |
> |
ensure adequate energy conservation in the bond degrees of freedom. By |
339 |
> |
constraining the bond lengths, larger time steps may be used when |
340 |
> |
integrating the equations of motion. A simulation using {\sc duff} is |
341 |
> |
illustrated in Scheme \ref{sch:DUFF}. |
342 |
|
|
343 |
|
\begin{lstlisting}[float,caption={[Invocation of {\sc duff}]Sample \texttt{.bass} file showing a simulation utilizing {\sc duff}},label={sch:DUFF}] |
344 |
|
|
407 |
|
+ c_3[1 + \cos(3\phi)] |
408 |
|
\label{eq:origTorsionPot} |
409 |
|
\end{equation} |
410 |
< |
Here $\phi$ is the angle defined by four bonded neighbors $i$, |
411 |
< |
$j$, $k$, and $l$ (again, see Fig.~\ref{oopseFig:lipidModel}). For |
412 |
< |
computational efficiency, the torsion potential has been recast after |
413 |
< |
the method of {\sc charmm},\cite{Brooks83} in which the angle series is |
414 |
< |
converted to a power series of the form: |
410 |
> |
Where: |
411 |
|
\begin{equation} |
412 |
+ |
\cos\phi = (\hat{\mathbf{r}}_{ij} \times \hat{\mathbf{r}}_{jk}) \cdot |
413 |
+ |
(\hat{\mathbf{r}}_{jk} \times \hat{\mathbf{r}}_{kl}) |
414 |
+ |
\label{eq:torsPhi} |
415 |
+ |
\end{equation} |
416 |
+ |
Here, $\hat{\mathbf{r}}_{\alpha\beta}$ are the set of unit bond |
417 |
+ |
vectors between atoms $i$, $j$, $k$, and $l$. For computational |
418 |
+ |
efficiency, the torsion potential has been recast after the method of |
419 |
+ |
{\sc charmm},\cite{Brooks83} in which the angle series is converted to |
420 |
+ |
a power series of the form: |
421 |
+ |
\begin{equation} |
422 |
|
V_{\text{torsion}}(\phi) = |
423 |
|
k_3 \cos^3 \phi + k_2 \cos^2 \phi + k_1 \cos \phi + k_0 |
424 |
|
\label{eq:torsionPot} |
458 |
|
\boldsymbol{\Omega}_{j}) = \frac{|\mu_i||\mu_j|}{4\pi\epsilon_{0}r_{ij}^{3}} \biggl[ |
459 |
|
\boldsymbol{\hat{u}}_{i} \cdot \boldsymbol{\hat{u}}_{j} |
460 |
|
- |
461 |
< |
\frac{3(\boldsymbol{\hat{u}}_i \cdot \mathbf{r}_{ij}) % |
462 |
< |
(\boldsymbol{\hat{u}}_j \cdot \mathbf{r}_{ij}) } |
457 |
< |
{r^{2}_{ij}} \biggr] |
461 |
> |
3(\boldsymbol{\hat{u}}_i \cdot \hat{\mathbf{r}}_{ij}) % |
462 |
> |
(\boldsymbol{\hat{u}}_j \cdot \hat{\mathbf{r}}_{ij}) \biggr] |
463 |
|
\label{eq:dipolePot} |
464 |
|
\end{equation} |
465 |
|
Here $\mathbf{r}_{ij}$ is the vector starting at atom $i$ pointing |
471 |
|
unit vector pointing along $\mathbf{r}_{ij}$ |
472 |
|
($\boldsymbol{\hat{r}}_{ij}=\mathbf{r}_{ij}/|\mathbf{r}_{ij}|$). |
473 |
|
|
474 |
+ |
To improve computational efficiency of the dipole-dipole interactions, |
475 |
+ |
{\sc oopse} employs an electrostatic cutoff radius. This parameter can |
476 |
+ |
be set in the \texttt{.bass} file, and controls the length scale over |
477 |
+ |
which dipole interactions are felt. To compensate for the |
478 |
+ |
discontinuity in the potential and the forces at the cutoff radius, we |
479 |
+ |
have implemented a switching function to smoothly scale the |
480 |
+ |
dipole-dipole interaction at the cutoff. |
481 |
+ |
\begin{equation} |
482 |
+ |
S(r_{ij}) = |
483 |
+ |
\begin{cases} |
484 |
+ |
1 & \text{if $r_{ij} \le r_t$},\\ |
485 |
+ |
\frac{(r_{\text{cut}} + 2r_{ij} - 3r_t)(r_{\text{cut}} - r_{ij})^2} |
486 |
+ |
{(r_{\text{cut}} - r_t)^2} |
487 |
+ |
& \text{if $r_t < r_{ij} \le r_{\text{cut}}$}, \\ |
488 |
+ |
0 & \text{if $r_{ij} > r_{\text{cut}}$.} |
489 |
+ |
\end{cases} |
490 |
+ |
\label{eq:dipoleSwitching} |
491 |
+ |
\end{equation} |
492 |
+ |
Here $S(r_{ij})$ scales the potential at a given $r_{ij}$, and $r_t$ |
493 |
+ |
is the taper radius some given thickness less than the electrostatic |
494 |
+ |
cutoff. The switching thickness can be set in the \texttt{.bass} file. |
495 |
|
|
496 |
< |
\subsubsection{\label{oopseSec:SSD}The {\sc duff} Water Models: SSD/E and SSD/RF} |
496 |
> |
\subsection{\label{oopseSec:SSD}The {\sc duff} Water Models: SSD/E and SSD/RF} |
497 |
|
|
498 |
|
In the interest of computational efficiency, the default solvent used |
499 |
|
by {\sc oopse} is the extended Soft Sticky Dipole (SSD/E) water |
553 |
|
can be found in the original SSD |
554 |
|
articles.\cite{liu96:new_model,liu96:monte_carlo,chandra99:ssd_md,Ichiye03} |
555 |
|
|
556 |
< |
Since SSD is a single-point {\it dipolar} model, the force |
556 |
> |
Since SSD/E is a single-point {\it dipolar} model, the force |
557 |
|
calculations are simplified significantly relative to the standard |
558 |
|
{\it charged} multi-point models. In the original Monte Carlo |
559 |
|
simulations using this model, Ichiye {\it et al.} reported that using |
560 |
|
SSD decreased computer time by a factor of 6-7 compared to other |
561 |
|
models.\cite{liu96:new_model} What is most impressive is that these savings |
562 |
|
did not come at the expense of accurate depiction of the liquid state |
563 |
< |
properties. Indeed, SSD maintains reasonable agreement with the Soper |
563 |
> |
properties. Indeed, SSD/E maintains reasonable agreement with the Head-Gordon |
564 |
|
diffraction data for the structural features of liquid |
565 |
< |
water.\cite{Soper86,liu96:new_model} Additionally, the dynamical properties |
566 |
< |
exhibited by SSD agree with experiment better than those of more |
565 |
> |
water.\cite{hura00,liu96:new_model} Additionally, the dynamical properties |
566 |
> |
exhibited by SSD/E agree with experiment better than those of more |
567 |
|
computationally expensive models (like TIP3P and |
568 |
|
SPC/E).\cite{chandra99:ssd_md} The combination of speed and accurate depiction |
569 |
< |
of solvent properties makes SSD a very attractive model for the |
569 |
> |
of solvent properties makes SSD/E a very attractive model for the |
570 |
|
simulation of large scale biochemical simulations. |
571 |
|
|
572 |
|
Recent constant pressure simulations revealed issues in the original |
577 |
|
of a reaction field long-range interaction correction is desired, it |
578 |
|
is recommended that the parameters be modified to those of the SSD/RF |
579 |
|
model. Solvent parameters can be easily modified in an accompanying |
580 |
< |
{\sc BASS} file as illustrated in the scheme below. A table of the |
580 |
> |
\texttt{.bass} file as illustrated in the scheme below. A table of the |
581 |
|
parameter values and the drawbacks and benefits of the different |
582 |
|
density corrected SSD models can be found in |
583 |
|
reference~\cite{Gezelter04}. |
597 |
|
forceField = "DUFF"; |
598 |
|
|
599 |
|
/* |
574 |
– |
* The reactionField flag toggles reaction |
575 |
– |
* field corrections. |
576 |
– |
*/ |
577 |
– |
|
578 |
– |
reactionField = false; // defaults to false |
579 |
– |
dielectric = 80.0; // dielectric for reaction field |
580 |
– |
|
581 |
– |
/* |
600 |
|
* The following two flags set the cutoff |
601 |
|
* radius for the electrostatic forces |
602 |
|
* as well as the skin thickness of the switching |
615 |
|
capacity to simulate metallic systems, including some that have |
616 |
|
parallel computational abilities\cite{plimpton93}. Potentials that |
617 |
|
describe bonding transition metal |
618 |
< |
systems\cite{Finnis84,Ercolessi88,Chen90,Qi99,Ercolessi02} have a |
618 |
> |
systems\cite{Finnis84,Ercolessi88,Chen90,Qi99,Ercolessi02} have an |
619 |
|
attractive interaction which models ``Embedding'' |
620 |
|
a positively charged metal ion in the electron density due to the |
621 |
|
free valance ``sea'' of electrons created by the surrounding atoms in |
622 |
< |
the system. A mostly repulsive pairwise part of the potential |
622 |
> |
the system. A mostly-repulsive pairwise part of the potential |
623 |
|
describes the interaction of the positively charged metal core ions |
624 |
|
with one another. A particular potential description called the |
625 |
|
Embedded Atom Method\cite{Daw84,FBD86,johnson89,Lu97}({\sc eam}) that has |
626 |
|
particularly wide adoption has been selected for inclusion in {\sc oopse}. A |
627 |
< |
good review of {\sc eam} and other metallic potential formulations was done |
627 |
> |
good review of {\sc eam} and other metallic potential formulations was written |
628 |
|
by Voter.\cite{voter} |
629 |
|
|
630 |
|
The {\sc eam} potential has the form: |
632 |
|
V & = & \sum_{i} F_{i}\left[\rho_{i}\right] + \sum_{i} \sum_{j \neq i} |
633 |
|
\phi_{ij}({\bf r}_{ij}) \\ |
634 |
|
\rho_{i} & = & \sum_{j \neq i} f_{j}({\bf r}_{ij}) |
635 |
< |
\end{eqnarray}S |
618 |
< |
|
635 |
> |
\end{eqnarray} |
636 |
|
where $F_{i} $ is the embedding function that equates the energy required to embed a |
637 |
|
positively-charged core ion $i$ into a linear superposition of |
638 |
|
spherically averaged atomic electron densities given by |
651 |
|
|
652 |
|
\newcommand{\roundme}{\operatorname{round}} |
653 |
|
|
654 |
< |
\textit{Periodic boundary conditions} are widely used to simulate truly |
655 |
< |
macroscopic systems with a relatively small number of particles. The |
656 |
< |
simulation box is replicated throughout space to form an infinite lattice. |
657 |
< |
During the simulation, when a particle moves in the primary cell, its image in |
658 |
< |
other boxes move in exactly the same direction with exactly the same |
659 |
< |
orientation.Thus, as a particle leaves the primary cell, one of its images |
660 |
< |
will enter through the opposite face.If the simulation box is large enough to |
661 |
< |
avoid \textquotedblleft feeling\textquotedblright\ the symmetries of the |
662 |
< |
periodic lattice, surface effects can be ignored. Cubic, orthorhombic and |
663 |
< |
parallelepiped are the available periodic cells In OOPSE. We use a matrix to |
664 |
< |
describe the property of the simulation box. Therefore, both the size and |
648 |
< |
shape of the simulation box can be changed during the simulation. The |
649 |
< |
transformation from box space vector $\mathbf{s}$ to its corresponding real |
650 |
< |
space vector $\mathbf{r}$ is defined by |
654 |
> |
\textit{Periodic boundary conditions} are widely used to simulate bulk properties with a relatively small number of particles. The |
655 |
> |
simulation box is replicated throughout space to form an infinite |
656 |
> |
lattice. During the simulation, when a particle moves in the primary |
657 |
> |
cell, its image in other cells move in exactly the same direction with |
658 |
> |
exactly the same orientation. Thus, as a particle leaves the primary |
659 |
> |
cell, one of its images will enter through the opposite face. If the |
660 |
> |
simulation box is large enough to avoid ``feeling'' the symmetries of |
661 |
> |
the periodic lattice, surface effects can be ignored. The available |
662 |
> |
periodic cells in OOPSE are cubic, orthorhombic and parallelepiped. We |
663 |
> |
use a $3 \times 3$ matrix, $\mathbf{H}$, to describe the shape and |
664 |
> |
size of the simulation box. $\mathbf{H}$ is defined: |
665 |
|
\begin{equation} |
666 |
< |
\mathbf{r}=\underline{\mathbf{H}}\cdot\mathbf{s}% |
666 |
> |
\mathbf{H} = ( \mathbf{h}_x, \mathbf{h}_y, \mathbf{h}_z ) |
667 |
|
\end{equation} |
668 |
+ |
Where $\mathbf{h}_j$ is the column vector of the $j$th axis of the |
669 |
+ |
box. During the course of the simulation both the size and shape of |
670 |
+ |
the box can be changed to allow volume fluctations when constraining |
671 |
+ |
the pressure. |
672 |
|
|
673 |
< |
|
674 |
< |
where $H=(h_{x},h_{y},h_{z})$ is a transformation matrix made up of the three |
675 |
< |
box axis vectors. $h_{x},h_{y}$ and $h_{z}$ represent the three sides of the |
676 |
< |
simulation box respectively. |
677 |
< |
|
678 |
< |
To find the minimum image of a vector $\mathbf{r}$, we convert the real vector |
679 |
< |
to its corresponding vector in box space first, \bigskip% |
673 |
> |
A real space vector, $\mathbf{r}$ can be transformed in to a box space |
674 |
> |
vector, $\mathbf{s}$, and back through the following transformations: |
675 |
> |
\begin{align} |
676 |
> |
\mathbf{s} &= \mathbf{H}^{-1} \mathbf{r} \\ |
677 |
> |
\mathbf{r} &= \mathbf{H} \mathbf{s} |
678 |
> |
\end{align} |
679 |
> |
The vector $\mathbf{s}$ is now a vector expressed as the number of box |
680 |
> |
lengths in the $\mathbf{h}_x$, $\mathbf{h}_y$, and $\mathbf{h}_z$ |
681 |
> |
directions. To find the minimum image of a vector $\mathbf{r}$, we |
682 |
> |
first convert it to its corresponding vector in box space, and then, |
683 |
> |
cast each element to lie on the in the range $[-0.5,0.5]$: |
684 |
|
\begin{equation} |
685 |
< |
\mathbf{s}=\underline{\mathbf{H}}^{-1}\cdot\mathbf{r}% |
685 |
> |
s_{i}^{\prime}=s_{i}-\roundme(s_{i}) |
686 |
|
\end{equation} |
687 |
< |
And then, each element of $\mathbf{s}$ is wrapped to lie between -0.5 to 0.5, |
687 |
> |
Where $s_i$ is the $i$th element of $\mathbf{s}$, and |
688 |
> |
$\roundme(s_i)$is given by |
689 |
|
\begin{equation} |
690 |
< |
s_{i}^{\prime}=s_{i}-\roundme(s_{i}) |
690 |
> |
\roundme(x) = |
691 |
> |
\begin{cases} |
692 |
> |
\lfloor x+0.5 \rfloor & \text{if $x \ge 0$} \\ |
693 |
> |
\lceil x-0.5 \rceil & \text{if $x < 0$ } |
694 |
> |
\end{cases} |
695 |
|
\end{equation} |
696 |
< |
where |
697 |
< |
|
698 |
< |
% |
699 |
< |
|
700 |
< |
\begin{equation} |
674 |
< |
\roundme(x)=\left\{ |
675 |
< |
\begin{array}{cc}% |
676 |
< |
\lfloor{x+0.5}\rfloor & \text{if \ }x\geqslant 0 \\ |
677 |
< |
\lceil{x-0.5}\rceil & \text{otherwise}% |
678 |
< |
\end{array} |
679 |
< |
\right. |
680 |
< |
\end{equation} |
681 |
< |
|
682 |
< |
|
683 |
< |
For example, $\roundme(3.6)=4$,$\roundme(3.1)=3$, $\roundme(-3.6)=-4$, $\roundme(-3.1)=-3$. |
696 |
> |
Here $\lfloor x \rfloor$ is the floor operator, and gives the largest |
697 |
> |
integer value that is not greater than $x$, and $\lceil x \rceil$ is |
698 |
> |
the ceiling operator, and gives the smallest integer that is not less |
699 |
> |
than $x$. For example, $\roundme(3.6)=4$, $\roundme(3.1)=3$, |
700 |
> |
$\roundme(-3.6)=-4$, $\roundme(-3.1)=-3$. |
701 |
|
|
702 |
|
Finally, we obtain the minimum image coordinates $\mathbf{r}^{\prime}$ by |
703 |
< |
transforming back to real space,% |
687 |
< |
|
703 |
> |
transforming back to real space, |
704 |
|
\begin{equation} |
705 |
< |
\mathbf{r}^{\prime}=\underline{\mathbf{H}}^{-1}\cdot\mathbf{s}^{\prime}% |
705 |
> |
\mathbf{r}^{\prime}=\mathbf{H}^{-1}\mathbf{s}^{\prime}% |
706 |
|
\end{equation} |
707 |
+ |
In this way, particles are allowed to diffuse freely in $\mathbf{r}$, |
708 |
+ |
but their minimum images, $\mathbf{r}^{\prime}$ are used to compute |
709 |
+ |
the interatomic forces. |
710 |
|
|
711 |
|
|
712 |
|
\section{\label{oopseSec:IOfiles}Input and Output Files} |