| 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} |