mirror of https://github.com/lammps/lammps.git
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@620 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
93e86b3574
commit
61057d453d
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
|
@ -0,0 +1,31 @@
|
|||
\documentstyle[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray}
|
||||
U_A &=& - \frac{A}{6} \left[
|
||||
\frac{2 a_1 a_2}{r^2-\left(a_1+a_2\right)^2}
|
||||
+ \frac{2 a_1 a_2}{r^2 - \left(a_1 - a_2\right)^2}
|
||||
+ \mathrm{ln}
|
||||
\left(
|
||||
\frac{r^2-\left(a_1+a_2\right)^2}{r^2-\left(a_1-a_2\right)^2}
|
||||
\right)
|
||||
\right] \nonumber \\
|
||||
\nonumber \\
|
||||
U_R &=& \frac{A}{37800} \frac{\sigma^6}{r}
|
||||
\left[ \frac{}{} \right. \nonumber \\
|
||||
&&\qquad \frac{r^2-7r\left(a_1+a_2\right)+6\left(a_1^2+7a_1a_2+a_2^2\right)}
|
||||
{\left(r-a_1-a_2\right)^7} \nonumber \\
|
||||
&&\qquad +\frac{r^2+7r\left(a_1+a_2\right)+6\left(a_1^2+7a_1a_2+a_2^2\right)}
|
||||
{\left(r+a_1+a_2\right)^7} \nonumber \\
|
||||
&&\qquad -\frac{r^2+7r\left(a_1-a_2\right)+6\left(a_1^2-7a_1a_2+a_2^2\right)}
|
||||
{\left(r+a_1-a_2\right)^7} \nonumber \\
|
||||
&&\qquad \left. -\frac{r^2-7r\left(a_1-a_2\right)+6\left(a_1^2-7a_1a_2+a_2^2\right)}
|
||||
{\left(r-a_1+a_2\right)^7}
|
||||
\right] \nonumber \\
|
||||
\nonumber \\
|
||||
U &=& U_A + U_R, \qquad r < r_c \nonumber
|
||||
\end{eqnarray}
|
||||
|
||||
\end{document}
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 6.3 KiB |
|
@ -0,0 +1,12 @@
|
|||
\documentstyle[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray}
|
||||
U &=& \frac{2 ~ a^3 ~ \sigma^3 ~ A}{9 \left( a^2 - r^2 \right)^3}
|
||||
\left[ 1 - \frac{\left(5 ~ a^6+45~a^4~r^2+63~a^2~r^4+15~r^6\right) \sigma^6}
|
||||
{15 \left(a-r\right)^6 \left( a+r \right)^6} \right], ~~ r < r_c \nonumber
|
||||
\end{eqnarray}
|
||||
|
||||
\end{document}
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
|
@ -0,0 +1,10 @@
|
|||
\documentstyle[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray}
|
||||
U &=& \frac{A}{36} \left[ \left( \frac{\sigma}{r} \right)^{12} - \left( \frac{ \sigma}{r} \right)^6 \right], ~~ r < r_c \nonumber
|
||||
\end{eqnarray}
|
||||
|
||||
\end{document}
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 23 KiB |
|
@ -0,0 +1,38 @@
|
|||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
E_{LJ} & = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} -
|
||||
\left(\frac{\sigma}{r}\right)^6 \right] \\
|
||||
E_{qq} & = & \frac{q_i q_j}{r} \\
|
||||
E_{qp} & = & \frac{q}{r^3} (p \bullet \vec{r}) \\
|
||||
E_{pp} & = & \frac{1}{r^3} (\vec{p_i} \bullet \vec{p_j}) -
|
||||
\frac{3}{r^5} (\vec{p_i} \bullet \vec{r}) (\vec{p_j} \bullet \vec{r})
|
||||
\end{eqnarray*}
|
||||
|
||||
\begin{eqnarray*}
|
||||
F_{qq} & = & \frac{q_i q_j}{r^3} \vec{r} \\
|
||||
F_{qp} & = & -\frac{q}{r^3} \vec{p} + \frac{3q}{r^5}
|
||||
(\vec{p} \bullet \vec{r}) \vec{r} \\
|
||||
F_{pp} & = & \frac{3}{r^5} (\vec{p_i} \bullet \vec{p_j}) \vec{r} -
|
||||
\frac{15}{r^7} (\vec{p_i} \bullet \vec{r})
|
||||
(\vec{p_j} \bullet \vec{r}) \vec{r} +
|
||||
\frac{3}{r^5} \left[ (\vec{p_j} \bullet \vec{r}) \vec{p_i} +
|
||||
(\vec{p_i} \bullet \vec{r}) \vec{p_j} \right]
|
||||
\end{eqnarray*}
|
||||
|
||||
\begin{eqnarray*}
|
||||
T_{pq} = T_{ij} & = & \frac{q_j}{r^3} (\vec{p_i} \times \vec{r}) \\
|
||||
T_{qp} = T_{ji} & = & - \frac{q_i}{r^3} (\vec{p_j} \times \vec{r}) \\
|
||||
T_{pp} = T_{ij} & = & -\frac{1}{r^3} (\vec{p_i} \times \vec{p_j}) +
|
||||
\frac{3}{r^5} (\vec{p_j} \bullet \vec{r})
|
||||
(\vec{p_i} \times \vec{r}) \\
|
||||
T_{pp} = T_{ji} & = & -\frac{1}{r^3} (\vec{p_j} \times \vec{p_i}) +
|
||||
\frac{3}{r^5} (\vec{p_i} \bullet \vec{r})
|
||||
(\vec{p_j} \times \vec{r}) \\
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
<HTML>
|
||||
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>compute temp/deform command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>compute ID group-ID temp/deform
|
||||
</PRE>
|
||||
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
|
||||
<LI>temp/deform = style name of this compute command
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>compute myTemp all temp/deform myDeform
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>Define a computation that calculates the temperature of a group of
|
||||
atoms, after subtracting out a streaming velocity induced by the
|
||||
simulation box changing size and/or shape, for example in a
|
||||
non-equilibrium MD (NEMD) simulation. The size/shape change is
|
||||
induced by use of the <A HREF = "fix_deform.html">fix deform</A> command. A compute
|
||||
of this style is created by the <A HREF = "fix_nvt_sllod.html">fix nvt/sllod</A>
|
||||
command to compute the thermal temperature of atoms for thermostatting
|
||||
purposes. A compute of this style can also be used by any command
|
||||
that computes a temperature, e.g. <A HREF = "thermo_modify.html">thermo_modify</A>,
|
||||
<A HREF = "fix_temp_rescale.html">fix temp/rescale</A>, <A HREF = "fix_npt.html">fix npt</A>, etc.
|
||||
</P>
|
||||
<P>The deformation fix changes the box size and/or shape over time, so
|
||||
each point in the simulation box can be thought of as having a
|
||||
"streaming" velocity. For example, if the box is being sheared in x,
|
||||
relative to y, then points at the bottom of the box (low y) have a
|
||||
small x velocity, while points at the top of the box (hi y) have a
|
||||
large x velocity. This position-dependent streaming velocity is
|
||||
subtracted from each atom's actual velocity to yield a thermal
|
||||
velocity which is used to compute the temperature.
|
||||
</P>
|
||||
<P>IMPORTANT NOTE: <A HREF = "fix_deform.html">Fix deform</A> has an option for
|
||||
remapping either atom coordinates or velocities to the changing
|
||||
simulation box. To use this compute, the fix should NOT remap atom
|
||||
positions, but rather should let atoms respond to the changing box by
|
||||
adjusting their own velocities (or let fix deform remap the atom
|
||||
velocities). If the fix does remap atom positions, their velocity is
|
||||
not changed, and thus they do not have the streaming velocity assumed
|
||||
by this compute. LAMMPS will warn you if this setting is not
|
||||
consistent.
|
||||
</P>
|
||||
<P>The temperature is calculated by the formula KE = dim/2 N k T, where
|
||||
KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2),
|
||||
dim = 2 or 3 = dimensionality of the simulation, N = number of atoms
|
||||
in the group, k = Boltzmann constant, and T = temperature. Note that
|
||||
v in the kinetic energy formula is the atom's thermal velocity.
|
||||
</P>
|
||||
<P>A 6-component kinetic energy tensor is also calculated by this compute
|
||||
for use in the computation of a pressure tensor. The formula for the
|
||||
components of the tensor is the same as the above formula, except that
|
||||
v^2 is replaced by vx * vy for the xy component, etc.
|
||||
</P>
|
||||
<P>The number of atoms contributing to the temperature is assumed to be
|
||||
constant for the duration of the run; use the <I>dynamic</I> option of the
|
||||
<A HREF = "compute_modify.html">compute_modify</A> command if this is not the case.
|
||||
</P>
|
||||
<P>This compute subtracts out degrees-of-freedom due to fixes that
|
||||
constrain molecular motion, such as <A HREF = "fix_shake.html">fix shake</A> and
|
||||
<A HREF = "fix_rigid.html">fix rigid</A>. This means the temperature of groups of
|
||||
atoms that include these constraints will be computed correctly. If
|
||||
needed, the subtracted degrees-of-freedom can be altered using the
|
||||
<I>extra</I> option of the <A HREF = "compute_modify.html">compute_modify</A> command.
|
||||
</P>
|
||||
<P><B>Restrictions:</B> none
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "compute_temp_ramp.html">compute temp/ramp</A>, <A HREF = "fix_deform.html">fix
|
||||
deform</A>, <A HREF = "fix_nvt_sllod.html">fix nvt/sllod</A>
|
||||
</P>
|
||||
<P><B>Default:</B> none
|
||||
</P>
|
||||
</HTML>
|
|
@ -0,0 +1,83 @@
|
|||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
compute temp/deform command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
compute ID group-ID temp/deform :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command
|
||||
temp/deform = style name of this compute command :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute myTemp all temp/deform myDeform :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Define a computation that calculates the temperature of a group of
|
||||
atoms, after subtracting out a streaming velocity induced by the
|
||||
simulation box changing size and/or shape, for example in a
|
||||
non-equilibrium MD (NEMD) simulation. The size/shape change is
|
||||
induced by use of the "fix deform"_fix_deform.html command. A compute
|
||||
of this style is created by the "fix nvt/sllod"_fix_nvt_sllod.html
|
||||
command to compute the thermal temperature of atoms for thermostatting
|
||||
purposes. A compute of this style can also be used by any command
|
||||
that computes a temperature, e.g. "thermo_modify"_thermo_modify.html,
|
||||
"fix temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_npt.html, etc.
|
||||
|
||||
The deformation fix changes the box size and/or shape over time, so
|
||||
each point in the simulation box can be thought of as having a
|
||||
"streaming" velocity. For example, if the box is being sheared in x,
|
||||
relative to y, then points at the bottom of the box (low y) have a
|
||||
small x velocity, while points at the top of the box (hi y) have a
|
||||
large x velocity. This position-dependent streaming velocity is
|
||||
subtracted from each atom's actual velocity to yield a thermal
|
||||
velocity which is used to compute the temperature.
|
||||
|
||||
IMPORTANT NOTE: "Fix deform"_fix_deform.html has an option for
|
||||
remapping either atom coordinates or velocities to the changing
|
||||
simulation box. To use this compute, the fix should NOT remap atom
|
||||
positions, but rather should let atoms respond to the changing box by
|
||||
adjusting their own velocities (or let fix deform remap the atom
|
||||
velocities). If the fix does remap atom positions, their velocity is
|
||||
not changed, and thus they do not have the streaming velocity assumed
|
||||
by this compute. LAMMPS will warn you if this setting is not
|
||||
consistent.
|
||||
|
||||
The temperature is calculated by the formula KE = dim/2 N k T, where
|
||||
KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2),
|
||||
dim = 2 or 3 = dimensionality of the simulation, N = number of atoms
|
||||
in the group, k = Boltzmann constant, and T = temperature. Note that
|
||||
v in the kinetic energy formula is the atom's thermal velocity.
|
||||
|
||||
A 6-component kinetic energy tensor is also calculated by this compute
|
||||
for use in the computation of a pressure tensor. The formula for the
|
||||
components of the tensor is the same as the above formula, except that
|
||||
v^2 is replaced by vx * vy for the xy component, etc.
|
||||
|
||||
The number of atoms contributing to the temperature is assumed to be
|
||||
constant for the duration of the run; use the {dynamic} option of the
|
||||
"compute_modify"_compute_modify.html command if this is not the case.
|
||||
|
||||
This compute subtracts out degrees-of-freedom due to fixes that
|
||||
constrain molecular motion, such as "fix shake"_fix_shake.html and
|
||||
"fix rigid"_fix_rigid.html. This means the temperature of groups of
|
||||
atoms that include these constraints will be computed correctly. If
|
||||
needed, the subtracted degrees-of-freedom can be altered using the
|
||||
{extra} option of the "compute_modify"_compute_modify.html command.
|
||||
|
||||
[Restrictions:] none
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"compute temp/ramp"_compute_temp_ramp.html, "fix
|
||||
deform"_fix_deform.html, "fix nvt/sllod"_fix_nvt_sllod.html
|
||||
|
||||
[Default:] none
|
|
@ -0,0 +1,46 @@
|
|||
<HTML>
|
||||
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>compute temp/dipole command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>compute ID group-ID temp/dipole
|
||||
</PRE>
|
||||
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
|
||||
<LI>temp/dipole = style name of this compute command
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>compute 1 all temp/dipole
|
||||
compute myTemp mobile temp/dipole
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>Define a computation that calculates the temperature of a group of
|
||||
particles that include a point dipole. The computation is similar to
|
||||
<A HREF = "compute_temp.html">compute_temp</A>, however, additional degrees of
|
||||
freedom are inlclude to account for the rotational state of the
|
||||
particles. The associated kinetic energy includes a rotational term
|
||||
KE_rotational = 1/2 I w^2, where I is the moment of inertia and w is
|
||||
the angular velocity.
|
||||
</P>
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>Can only be used if LAMMPS was built with the "dipole" package.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "compute_temp.html">compute temp</A>
|
||||
</P>
|
||||
<P><B>Default:</B> none
|
||||
</P>
|
||||
</HTML>
|
|
@ -0,0 +1,41 @@
|
|||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
compute temp/dipole command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
compute ID group-ID temp/dipole :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command
|
||||
temp/dipole = style name of this compute command :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute 1 all temp/dipole
|
||||
compute myTemp mobile temp/dipole :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Define a computation that calculates the temperature of a group of
|
||||
particles that include a point dipole. The computation is similar to
|
||||
"compute_temp"_compute_temp.html, however, additional degrees of
|
||||
freedom are inlclude to account for the rotational state of the
|
||||
particles. The associated kinetic energy includes a rotational term
|
||||
KE_rotational = 1/2 I w^2, where I is the moment of inertia and w is
|
||||
the angular velocity.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
Can only be used if LAMMPS was built with the "dipole" package.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"compute temp"_compute_temp.html
|
||||
|
||||
[Default:] none
|
|
@ -0,0 +1,310 @@
|
|||
<HTML>
|
||||
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>fix deform command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>fix ID group-ID deform N parameter args ... keyword value ...
|
||||
</PRE>
|
||||
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
|
||||
|
||||
<LI>deform = style name of this fix command
|
||||
|
||||
<LI>N = perform box deformation every this many timesteps
|
||||
|
||||
<LI>one or more parameter/arg pairs may be appended
|
||||
|
||||
<PRE>parameter = <I>x</I> or <I>y</I> or <I>z</I> or <I>xy</I> or <I>xz</I> or <I>yz</I>
|
||||
<I>x</I>, <I>y</I>, <I>z</I> args = style value(s)
|
||||
style = <I>final</I> or <I>delta</I> or <I>scale</I> or <I>vel</I> or <I>rate</I> or <I>volume</I>
|
||||
<I>final</I> values = lo hi
|
||||
lo hi = box boundaries at end of run (distance units)
|
||||
<I>delta</I> values = dlo dhi
|
||||
dlo dhi = change in box boundaries at end of run (distance units)
|
||||
<I>scale</I> values = factor
|
||||
factor = multiplicative factor for change in box length at end of run
|
||||
<I>vel</I> value = V
|
||||
V = change box length at this velocity (distance/time units),
|
||||
effectively an engineering strain rate
|
||||
<I>rate</I> value = R
|
||||
R = true strain rate (1/time units)
|
||||
<I>volume</I> value = none = adjust this dim to preserve volume of system
|
||||
<I>xy</I>, <I>xz</I>, <I>yz</I> args = style value
|
||||
style = <I>final</I> or <I>delta</I> or <I>vel</I> or <I>rate</I>
|
||||
<I>final</I> value = tilt
|
||||
tilt = tilt factor at end of run (distance units)
|
||||
<I>delta</I> value = dtilt
|
||||
dtilt = change in tilt factor at end of run (distance units)
|
||||
<I>vel</I> value = V
|
||||
V = change tilt factor at this velocity (distance/time units),
|
||||
effectively an engineering shear strain rate
|
||||
<I>rate</I> value = R
|
||||
R = true shear strain rate (1/time units)
|
||||
</PRE>
|
||||
<LI>zero or more keyword/value pairs may be appended to the args
|
||||
|
||||
<LI>keyword = <I>remap</I> or <I>units</I>
|
||||
|
||||
<PRE> <I>remap</I> value = <I>x</I> or <I>v</I> or <I>none</I>
|
||||
x = remap coords of atoms in group into deforming box
|
||||
v = remap velocities of all atoms when they cross periodic boundaries
|
||||
none = no remapping of x or v
|
||||
<I>units</I> value = <I>lattice</I> or <I>box</I>
|
||||
lattice = distances are defined in lattice units
|
||||
box = distances are defined in simulation box units
|
||||
</PRE>
|
||||
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>fix 1 all deform x final 0.0 9.0 z final 0.0 5.0 units box
|
||||
fix 1 all deform x rate 0.1 y volume z volume
|
||||
fix 1 all deform xy rate 0.001 remap v
|
||||
fix 1 all deform y delta 0.5 xz vel 1.0
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>Change the volume and/or shape of the simulation box during a dynamics
|
||||
run. Orthogonal simulation boxes have 3 adjustable parameters
|
||||
(x,y,z). Triclinic (non-orthogonal) simulation boxes have 6
|
||||
adjustable parameters (x,y,z,xy,xz,yz). Any or all of them can be
|
||||
adjusted independently and simultaneously by this command. This fix
|
||||
can be used to perform non-equilibrium MD (NEMD) simulations of a
|
||||
continuously strained system. See the <A HREF = "fix_nvt_sllod.html">fix
|
||||
nvt/sllod</A> and <A HREF = "compute_temp_deform.html">compute
|
||||
temp/deform</A> commands for more details.
|
||||
</P>
|
||||
<P>Any parameter varied by this command must refer to a periodic
|
||||
dimension - see the <A HREF = "boundary.html">boundary</A> command. For parameters
|
||||
"xy", "xz", and "yz" this means both affected dimensions must be
|
||||
periodic, e.g. x and y for "xy". Dimensions not varied by this
|
||||
command can be periodic or non-periodic. Unspecified dimensions can
|
||||
also be controlled by a <A HREF = "fix_npt.html">fix npt</A> or <A HREF = "fix_nph.html">fix
|
||||
nph</A> command.
|
||||
</P>
|
||||
<P>The size and shape of the initial simulation box at the beginning of a
|
||||
run are specified by the <A HREF = "create_box.html">create_box</A> or
|
||||
<A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A> command
|
||||
used to setup the simulation, or they are the values from the end of
|
||||
the previous run. The <A HREF = "create_box.html">create_box</A>, <A HREF = "read_data.html">read
|
||||
data</A>, and <A HREF = "read_restart.html">read_restart</A> commands
|
||||
also specify whether the simulation box is orthogonal or triclinic and
|
||||
explain the meaning of the xy,xz,yz tilt factors. If fix deform
|
||||
changes the xy,xz,yz tilt factors, then the simulation box must be
|
||||
triclinic, even if its initial tilt factors are 0.0.
|
||||
</P>
|
||||
<P>As described below, the desired simulation box size and shape at the
|
||||
end of the run are determined by the parameters of the fix deform
|
||||
command. Every Nth timestep during the run, the simulation box is
|
||||
expanded, contracted, or tilted to ramped values between the initial
|
||||
and final values. The <A HREF = "run.html">run</A> command documents how to make
|
||||
the ramping take place across multiple runs.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>For the <I>x</I>, <I>y</I>, and <I>z</I> parameters, this is the meaning of their
|
||||
styles and values.
|
||||
</P>
|
||||
<P>The <I>final</I>, <I>delta</I>, <I>scale</I>, and <I>vel</I> styles all change the
|
||||
specified dimension of the box via "constant displacement" which is
|
||||
effectively a "constant engineering strain rate". This means the box
|
||||
dimension changes linearly with time from its initial to final value.
|
||||
</P>
|
||||
<P>For style <I>final</I>, the final lo and hi box boundaries of a dimension
|
||||
are specified. The values can be in lattice or box distance units.
|
||||
See the discsussion of the units keyword below.
|
||||
</P>
|
||||
<P>For style <I>delta</I>, plus or minus changes in the lo/hi box boundaries
|
||||
of a dimension are specified. The values can be in lattice or box
|
||||
distance units. See the discsussion of the units keyword below.
|
||||
</P>
|
||||
<P>For style <I>scale</I>, a multiplicative factor to apply to the box length
|
||||
of a dimension is specified. For example, if the initial box length
|
||||
is 10, and the factor is 1.1, then the final box length will be 11. A
|
||||
factor less than 1.0 means compression.
|
||||
</P>
|
||||
<P>For style <I>vel</I>, a velocity at which the box length changes is
|
||||
specified in units of distance/time. This is effectively an
|
||||
"engineering strain rate", where rate = V/L0 and L0 is the initial box
|
||||
length. The distance can be in lattice or box distance units. See
|
||||
the discussion of the units keyword below. For example, if the
|
||||
initial box length is 100 Angstroms, and V is 10 Angstroms/psec,
|
||||
then after 10 psec, the box length will have doubled. After 20 psec,
|
||||
it will have tripled.
|
||||
</P>
|
||||
<P>The <I>rate</I> style changes a dimension of the box at a "true constant
|
||||
strain rate". Note that this is not an "engineering strain rate", as
|
||||
the other styles are. Rather, for a "true" rate, the rate of change
|
||||
is constant, which means the box dimension changes non-linearly with
|
||||
time from its initial to final value. The units of the specified
|
||||
strain rate are 1/time. See the <A HREF = "units.html">units</A> command for the
|
||||
time units associated with different choices of simulation units,
|
||||
e.g. picoseconds for "metal" units). Thus if the <I>rate</I> R is 0.01 and
|
||||
time units are picoseconds, this means the box length will increase by
|
||||
1% every picosecond. R = 1 or 2 means the box length will double or
|
||||
triple every picosecond. R = -0.1 means the box length will shrink by
|
||||
10% every picosecond. Note that for a "true" rate the change is
|
||||
continuous, so running with R = 1 for 10 picoseconds does not expand
|
||||
the box length by a factor of 10, but by a factor of 1024 since it
|
||||
doubles every picosecond.
|
||||
</P>
|
||||
<P>Note that to change the volume (or cross-sectional area) of the
|
||||
simulation box at a constant rate, you can change multiple dimensions
|
||||
via <I>rate</I>. E.g. to double the box volume every picosecond, you could
|
||||
set "x rate M", "y rate M", "z rate M", with M = pow(2,1/3) - 1 =
|
||||
1.26, since if each box dimension grows by 26%, the box volume
|
||||
doubles.
|
||||
</P>
|
||||
<P>The <I>volume</I> style changes the specified dimension in such a way that
|
||||
the box volume remains constant while other box dimensions are changed
|
||||
explicitly via the styles discussed above. For example, "x scale 1.1
|
||||
y scale 1.1 z volume" will shrink the z box length as the x,y box
|
||||
lengths increase, to keep the volume constant (product of x,y,z
|
||||
lengths). If "x scale 1.1 z volume" is specified and parameter <I>y</I> is
|
||||
unspecified, then the z box length will shrink as x increases to keep
|
||||
the product of x,z lengths constant. If "x scale 1.1 y volume z
|
||||
volume" is specified, then both the y,z box lengths will shrink as x
|
||||
increases to keep the volume constant (product of x,y,z lengths). In
|
||||
this case, the y,z box lengths shrink so as to keep their relative
|
||||
aspect ratio constant.
|
||||
</P>
|
||||
<P>For solids or liquids, note that when one dimension of the box is
|
||||
expanded via fix deform (i.e. tensile strain), it may be physically
|
||||
undesirable to hold the other 2 box lengths constant (unspecified by
|
||||
fix deform) since that implies a density change. Using the <I>volume</I>
|
||||
style for those 2 dimensions to keep the box volume constant may make
|
||||
more physical sense, but may also not be correct for materials and
|
||||
potentials whose Poisson ratio is not 0.5. An alternative is to use
|
||||
<A HREF = "fix_npt.html">fix npt aniso</A> with zero applied pressure on those 2
|
||||
dimensions, so that they respond to the tensile strain dynamically.
|
||||
</P>
|
||||
<P>For the <I>scale</I>, <I>vel</I>, <I>rate</I>, and <I>volume</I> styles, the box length is
|
||||
expanded or compressed around its mid point.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>For the <I>xy</I>, <I>xz</I>, and <I>yz</I> parameters, this is the meaning of their
|
||||
styles and values. Note that changing the tilt factors of a triclinic
|
||||
box does not change its volume.
|
||||
</P>
|
||||
<P>For style <I>final</I>, the final tilt factor is specified. The value
|
||||
can be in lattice or box distance units. See the discussion of the
|
||||
units keyword below.
|
||||
</P>
|
||||
<P>For style <I>delta</I>, a plus or minus change in the tilt factor is
|
||||
specified. The value can be in lattice or box distance units. See
|
||||
the discsussion of the units keyword below.
|
||||
</P>
|
||||
<P>For style <I>vel</I>, a velocity at which the tilt factor changes is
|
||||
specified in units of distance/time. This is effectively an
|
||||
"engineering shear strain rate", where rate = V/L0 and L0 is the
|
||||
initial box length perpendicular to the direction of shear. The
|
||||
distance can be in lattice or box distance units. See the discsussion
|
||||
of the units keyword below. For example, if the initial tilt factor
|
||||
is 5 Angstroms, and the V is 10 Angstroms/psec, then after 1 psec, the
|
||||
tilt factor will be 15 Angstroms. After 2 psec, it will be 25
|
||||
Angstroms.
|
||||
</P>
|
||||
<P>The <I>rate</I> style changes a tilt factor at a "true constant shear
|
||||
strain rate". Note that this is not an "engineering shear strain
|
||||
rate", as the other styles are. Rather, for a "true" rate, the rate
|
||||
of change is constant, which means the tilt factor changes
|
||||
non-linearly with time from its initial to final value. The units of
|
||||
shear strain rate are 1/time. See the <A HREF = "units.html">units</A> command for
|
||||
the time units associated with different choices of simulation units,
|
||||
e.g. picoseconds for "metal" units). Thus if the <I>rate</I> R is 0.01 and
|
||||
time units are picoseconds, this means the tilt factor will increase
|
||||
by 1% every picosecond. R = 1 or 2 means the tilt factor will double
|
||||
or triple every picosecond. R = -0.1 means the tilt factor will
|
||||
shrink by 10% every picosecond. Note that the change is continuous,
|
||||
so running with R = 1 for 10 picoseconds does not change the tilt
|
||||
factor by a factor of 10, but by a factor of 1024 since it doubles
|
||||
every picosecond. Also note, that the initial tilt factor must be
|
||||
non-zero to use the <I>rate</I> option.
|
||||
</P>
|
||||
<P>Note that shear strain is defined as the tilt factor divided by the
|
||||
perpendicular box length. The <I>rate</I> style controls the tilt factor,
|
||||
but assumes the perpendicular box length remains constant. If this is
|
||||
not the case (e.g. it changes due to another fix deform parameter),
|
||||
then this effect on the shear strain is ignored.
|
||||
</P>
|
||||
<P>All of these styles change the xy, xz, yz tilt factors during a
|
||||
simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes
|
||||
are always bounded by half the distance of the parallel box length.
|
||||
For example, if xlo = 2 and xhi = 12, then the x box length is 10 and
|
||||
the xy tilt factor must be between -5 and 5. Similarly, both xz and
|
||||
yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is
|
||||
not a limitation, since if the maximum tilt factor is 5 (as in this
|
||||
example), then configurations with tilt = ..., -15, -5, 5, 15, 25,
|
||||
... are all equivalent.
|
||||
</P>
|
||||
<P>To obey this constraint and allow for large shear deformations to be
|
||||
applied via the <I>xy</I>, <I>xz</I>, or <I>yz</I> parameters, the folloiwng
|
||||
algorithm is used. If <I>prd</I> is the associated parallel box length (10
|
||||
in the example above), then if the tilt factor exceeds the accepted
|
||||
range of -5 to 5 during the simulation, then the box is re-shaped to
|
||||
the other limit (an equivalent box) and the simulation continues.
|
||||
Thus for this example, if the initial xy tilt factor was 0.0 and "xy
|
||||
final 100.0" was specified, then during the simulation the xy tilt
|
||||
factor would increase from 0.0 to 5.0, the box would be re-shaped so
|
||||
that the tilt factor becomes -5.0, the tilt factor would increase from
|
||||
-5.0 to 5.0, the box would be re-shaped again, etc. The re-shaping
|
||||
would occur 10 times and the final tilt factor at the end of the
|
||||
simulation would be 0.0. During each re-shaping event, atoms are
|
||||
remapped into the new box in the appropriate manner.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>Each time the box size or shape is changed, the <I>remap</I> keyword
|
||||
determines whether atom positions are re-mapped to the new box. If
|
||||
<I>remap</I> is set to <I>x</I> (the default), atoms in the fix group are
|
||||
re-mapped; otherwise they are not. If <I>remap</I> is set to <I>v</I>, then any
|
||||
atom in the fix group that crosses a periodic boundary will have a
|
||||
delta added to its velocity equal to the difference in velocities
|
||||
between the lo and hi boundaries. Note that this velocity difference
|
||||
can include tilt components, e.g. a delta in the x velocity when an
|
||||
atom crosses the y periodic boundary. If <I>remap</I> is set to <I>none</I>,
|
||||
then neither of these remappings take place.
|
||||
</P>
|
||||
<P>IMPORTANT NOTE: When non-equilibrium MD (NEMD) simulations are
|
||||
performed using this fix, the option "remap v" should normally be
|
||||
used. This is because <A HREF = "fix_nvt_sllod.html">fix nvt/sllod</A> adjusts the
|
||||
atom positions and velocities to provide a velocity profile that
|
||||
matches the changing box size/shape. Thus atom coordinates should NOT
|
||||
be remapped by fix deform, but velocities SHOULD be when atoms cross
|
||||
periodic boundaries, since when atoms cross periodic boundaries since
|
||||
that is consistent with maintaining the velocity profile created by
|
||||
fix nvt/sllod. LAMMPS will warn you if this settings is not
|
||||
consistent.
|
||||
</P>
|
||||
<P>The <I>units</I> keyword determines the meaning of the distance units used
|
||||
to define various arguments. A <I>box</I> value selects standard distance
|
||||
units as defined by the <A HREF = "units.html">units</A> command, e.g. Angstroms for
|
||||
units = real or metal. A <I>lattice</I> value means the distance units are
|
||||
in lattice spacings. The <A HREF = "lattice.html">lattice</A> command must have
|
||||
been previously used to define the lattice spacing. Note that the
|
||||
units choice also affects the <I>vel</I> style parameters since it is
|
||||
defined in terms of distance/time.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>Any box dimension varied by this fix must be periodic.
|
||||
</P>
|
||||
<P><B>Related commands:</B> none
|
||||
</P>
|
||||
<P><B>Default:</B>
|
||||
</P>
|
||||
<P>The option defaults are remap = x and units = lattice.
|
||||
</P>
|
||||
</HTML>
|
|
@ -0,0 +1,298 @@
|
|||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
fix deform command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID deform N parameter args ... keyword value ... :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
deform = style name of this fix command :l
|
||||
N = perform box deformation every this many timesteps :l
|
||||
one or more parameter/arg pairs may be appended :l
|
||||
parameter = {x} or {y} or {z} or {xy} or {xz} or {yz}
|
||||
{x}, {y}, {z} args = style value(s)
|
||||
style = {final} or {delta} or {scale} or {vel} or {rate} or {volume}
|
||||
{final} values = lo hi
|
||||
lo hi = box boundaries at end of run (distance units)
|
||||
{delta} values = dlo dhi
|
||||
dlo dhi = change in box boundaries at end of run (distance units)
|
||||
{scale} values = factor
|
||||
factor = multiplicative factor for change in box length at end of run
|
||||
{vel} value = V
|
||||
V = change box length at this velocity (distance/time units),
|
||||
effectively an engineering strain rate
|
||||
{rate} value = R
|
||||
R = true strain rate (1/time units)
|
||||
{volume} value = none = adjust this dim to preserve volume of system
|
||||
{xy}, {xz}, {yz} args = style value
|
||||
style = {final} or {delta} or {vel} or {rate}
|
||||
{final} value = tilt
|
||||
tilt = tilt factor at end of run (distance units)
|
||||
{delta} value = dtilt
|
||||
dtilt = change in tilt factor at end of run (distance units)
|
||||
{vel} value = V
|
||||
V = change tilt factor at this velocity (distance/time units),
|
||||
effectively an engineering shear strain rate
|
||||
{rate} value = R
|
||||
R = true shear strain rate (1/time units) :pre
|
||||
|
||||
zero or more keyword/value pairs may be appended to the args :l
|
||||
keyword = {remap} or {units} :l
|
||||
{remap} value = {x} or {v} or {none}
|
||||
x = remap coords of atoms in group into deforming box
|
||||
v = remap velocities of all atoms when they cross periodic boundaries
|
||||
none = no remapping of x or v
|
||||
{units} value = {lattice} or {box}
|
||||
lattice = distances are defined in lattice units
|
||||
box = distances are defined in simulation box units :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all deform x final 0.0 9.0 z final 0.0 5.0 units box
|
||||
fix 1 all deform x rate 0.1 y volume z volume
|
||||
fix 1 all deform xy rate 0.001 remap v
|
||||
fix 1 all deform y delta 0.5 xz vel 1.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Change the volume and/or shape of the simulation box during a dynamics
|
||||
run. Orthogonal simulation boxes have 3 adjustable parameters
|
||||
(x,y,z). Triclinic (non-orthogonal) simulation boxes have 6
|
||||
adjustable parameters (x,y,z,xy,xz,yz). Any or all of them can be
|
||||
adjusted independently and simultaneously by this command. This fix
|
||||
can be used to perform non-equilibrium MD (NEMD) simulations of a
|
||||
continuously strained system. See the "fix
|
||||
nvt/sllod"_fix_nvt_sllod.html and "compute
|
||||
temp/deform"_compute_temp_deform.html commands for more details.
|
||||
|
||||
Any parameter varied by this command must refer to a periodic
|
||||
dimension - see the "boundary"_boundary.html command. For parameters
|
||||
"xy", "xz", and "yz" this means both affected dimensions must be
|
||||
periodic, e.g. x and y for "xy". Dimensions not varied by this
|
||||
command can be periodic or non-periodic. Unspecified dimensions can
|
||||
also be controlled by a "fix npt"_fix_npt.html or "fix
|
||||
nph"_fix_nph.html command.
|
||||
|
||||
The size and shape of the initial simulation box at the beginning of a
|
||||
run are specified by the "create_box"_create_box.html or
|
||||
"read_data"_read_data.html or "read_restart"_read_restart.html command
|
||||
used to setup the simulation, or they are the values from the end of
|
||||
the previous run. The "create_box"_create_box.html, "read
|
||||
data"_read_data.html, and "read_restart"_read_restart.html commands
|
||||
also specify whether the simulation box is orthogonal or triclinic and
|
||||
explain the meaning of the xy,xz,yz tilt factors. If fix deform
|
||||
changes the xy,xz,yz tilt factors, then the simulation box must be
|
||||
triclinic, even if its initial tilt factors are 0.0.
|
||||
|
||||
As described below, the desired simulation box size and shape at the
|
||||
end of the run are determined by the parameters of the fix deform
|
||||
command. Every Nth timestep during the run, the simulation box is
|
||||
expanded, contracted, or tilted to ramped values between the initial
|
||||
and final values. The "run"_run.html command documents how to make
|
||||
the ramping take place across multiple runs.
|
||||
|
||||
:line
|
||||
|
||||
For the {x}, {y}, and {z} parameters, this is the meaning of their
|
||||
styles and values.
|
||||
|
||||
The {final}, {delta}, {scale}, and {vel} styles all change the
|
||||
specified dimension of the box via "constant displacement" which is
|
||||
effectively a "constant engineering strain rate". This means the box
|
||||
dimension changes linearly with time from its initial to final value.
|
||||
|
||||
For style {final}, the final lo and hi box boundaries of a dimension
|
||||
are specified. The values can be in lattice or box distance units.
|
||||
See the discsussion of the units keyword below.
|
||||
|
||||
For style {delta}, plus or minus changes in the lo/hi box boundaries
|
||||
of a dimension are specified. The values can be in lattice or box
|
||||
distance units. See the discsussion of the units keyword below.
|
||||
|
||||
For style {scale}, a multiplicative factor to apply to the box length
|
||||
of a dimension is specified. For example, if the initial box length
|
||||
is 10, and the factor is 1.1, then the final box length will be 11. A
|
||||
factor less than 1.0 means compression.
|
||||
|
||||
For style {vel}, a velocity at which the box length changes is
|
||||
specified in units of distance/time. This is effectively an
|
||||
"engineering strain rate", where rate = V/L0 and L0 is the initial box
|
||||
length. The distance can be in lattice or box distance units. See
|
||||
the discussion of the units keyword below. For example, if the
|
||||
initial box length is 100 Angstroms, and V is 10 Angstroms/psec,
|
||||
then after 10 psec, the box length will have doubled. After 20 psec,
|
||||
it will have tripled.
|
||||
|
||||
The {rate} style changes a dimension of the box at a "true constant
|
||||
strain rate". Note that this is not an "engineering strain rate", as
|
||||
the other styles are. Rather, for a "true" rate, the rate of change
|
||||
is constant, which means the box dimension changes non-linearly with
|
||||
time from its initial to final value. The units of the specified
|
||||
strain rate are 1/time. See the "units"_units.html command for the
|
||||
time units associated with different choices of simulation units,
|
||||
e.g. picoseconds for "metal" units). Thus if the {rate} R is 0.01 and
|
||||
time units are picoseconds, this means the box length will increase by
|
||||
1% every picosecond. R = 1 or 2 means the box length will double or
|
||||
triple every picosecond. R = -0.1 means the box length will shrink by
|
||||
10% every picosecond. Note that for a "true" rate the change is
|
||||
continuous, so running with R = 1 for 10 picoseconds does not expand
|
||||
the box length by a factor of 10, but by a factor of 1024 since it
|
||||
doubles every picosecond.
|
||||
|
||||
Note that to change the volume (or cross-sectional area) of the
|
||||
simulation box at a constant rate, you can change multiple dimensions
|
||||
via {rate}. E.g. to double the box volume every picosecond, you could
|
||||
set "x rate M", "y rate M", "z rate M", with M = pow(2,1/3) - 1 =
|
||||
1.26, since if each box dimension grows by 26%, the box volume
|
||||
doubles.
|
||||
|
||||
The {volume} style changes the specified dimension in such a way that
|
||||
the box volume remains constant while other box dimensions are changed
|
||||
explicitly via the styles discussed above. For example, "x scale 1.1
|
||||
y scale 1.1 z volume" will shrink the z box length as the x,y box
|
||||
lengths increase, to keep the volume constant (product of x,y,z
|
||||
lengths). If "x scale 1.1 z volume" is specified and parameter {y} is
|
||||
unspecified, then the z box length will shrink as x increases to keep
|
||||
the product of x,z lengths constant. If "x scale 1.1 y volume z
|
||||
volume" is specified, then both the y,z box lengths will shrink as x
|
||||
increases to keep the volume constant (product of x,y,z lengths). In
|
||||
this case, the y,z box lengths shrink so as to keep their relative
|
||||
aspect ratio constant.
|
||||
|
||||
For solids or liquids, note that when one dimension of the box is
|
||||
expanded via fix deform (i.e. tensile strain), it may be physically
|
||||
undesirable to hold the other 2 box lengths constant (unspecified by
|
||||
fix deform) since that implies a density change. Using the {volume}
|
||||
style for those 2 dimensions to keep the box volume constant may make
|
||||
more physical sense, but may also not be correct for materials and
|
||||
potentials whose Poisson ratio is not 0.5. An alternative is to use
|
||||
"fix npt aniso"_fix_npt.html with zero applied pressure on those 2
|
||||
dimensions, so that they respond to the tensile strain dynamically.
|
||||
|
||||
For the {scale}, {vel}, {rate}, and {volume} styles, the box length is
|
||||
expanded or compressed around its mid point.
|
||||
|
||||
:line
|
||||
|
||||
For the {xy}, {xz}, and {yz} parameters, this is the meaning of their
|
||||
styles and values. Note that changing the tilt factors of a triclinic
|
||||
box does not change its volume.
|
||||
|
||||
For style {final}, the final tilt factor is specified. The value
|
||||
can be in lattice or box distance units. See the discussion of the
|
||||
units keyword below.
|
||||
|
||||
For style {delta}, a plus or minus change in the tilt factor is
|
||||
specified. The value can be in lattice or box distance units. See
|
||||
the discsussion of the units keyword below.
|
||||
|
||||
For style {vel}, a velocity at which the tilt factor changes is
|
||||
specified in units of distance/time. This is effectively an
|
||||
"engineering shear strain rate", where rate = V/L0 and L0 is the
|
||||
initial box length perpendicular to the direction of shear. The
|
||||
distance can be in lattice or box distance units. See the discsussion
|
||||
of the units keyword below. For example, if the initial tilt factor
|
||||
is 5 Angstroms, and the V is 10 Angstroms/psec, then after 1 psec, the
|
||||
tilt factor will be 15 Angstroms. After 2 psec, it will be 25
|
||||
Angstroms.
|
||||
|
||||
The {rate} style changes a tilt factor at a "true constant shear
|
||||
strain rate". Note that this is not an "engineering shear strain
|
||||
rate", as the other styles are. Rather, for a "true" rate, the rate
|
||||
of change is constant, which means the tilt factor changes
|
||||
non-linearly with time from its initial to final value. The units of
|
||||
shear strain rate are 1/time. See the "units"_units.html command for
|
||||
the time units associated with different choices of simulation units,
|
||||
e.g. picoseconds for "metal" units). Thus if the {rate} R is 0.01 and
|
||||
time units are picoseconds, this means the tilt factor will increase
|
||||
by 1% every picosecond. R = 1 or 2 means the tilt factor will double
|
||||
or triple every picosecond. R = -0.1 means the tilt factor will
|
||||
shrink by 10% every picosecond. Note that the change is continuous,
|
||||
so running with R = 1 for 10 picoseconds does not change the tilt
|
||||
factor by a factor of 10, but by a factor of 1024 since it doubles
|
||||
every picosecond. Also note, that the initial tilt factor must be
|
||||
non-zero to use the {rate} option.
|
||||
|
||||
Note that shear strain is defined as the tilt factor divided by the
|
||||
perpendicular box length. The {rate} style controls the tilt factor,
|
||||
but assumes the perpendicular box length remains constant. If this is
|
||||
not the case (e.g. it changes due to another fix deform parameter),
|
||||
then this effect on the shear strain is ignored.
|
||||
|
||||
All of these styles change the xy, xz, yz tilt factors during a
|
||||
simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes
|
||||
are always bounded by half the distance of the parallel box length.
|
||||
For example, if xlo = 2 and xhi = 12, then the x box length is 10 and
|
||||
the xy tilt factor must be between -5 and 5. Similarly, both xz and
|
||||
yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is
|
||||
not a limitation, since if the maximum tilt factor is 5 (as in this
|
||||
example), then configurations with tilt = ..., -15, -5, 5, 15, 25,
|
||||
... are all equivalent.
|
||||
|
||||
To obey this constraint and allow for large shear deformations to be
|
||||
applied via the {xy}, {xz}, or {yz} parameters, the folloiwng
|
||||
algorithm is used. If {prd} is the associated parallel box length (10
|
||||
in the example above), then if the tilt factor exceeds the accepted
|
||||
range of -5 to 5 during the simulation, then the box is re-shaped to
|
||||
the other limit (an equivalent box) and the simulation continues.
|
||||
Thus for this example, if the initial xy tilt factor was 0.0 and "xy
|
||||
final 100.0" was specified, then during the simulation the xy tilt
|
||||
factor would increase from 0.0 to 5.0, the box would be re-shaped so
|
||||
that the tilt factor becomes -5.0, the tilt factor would increase from
|
||||
-5.0 to 5.0, the box would be re-shaped again, etc. The re-shaping
|
||||
would occur 10 times and the final tilt factor at the end of the
|
||||
simulation would be 0.0. During each re-shaping event, atoms are
|
||||
remapped into the new box in the appropriate manner.
|
||||
|
||||
:line
|
||||
|
||||
Each time the box size or shape is changed, the {remap} keyword
|
||||
determines whether atom positions are re-mapped to the new box. If
|
||||
{remap} is set to {x} (the default), atoms in the fix group are
|
||||
re-mapped; otherwise they are not. If {remap} is set to {v}, then any
|
||||
atom in the fix group that crosses a periodic boundary will have a
|
||||
delta added to its velocity equal to the difference in velocities
|
||||
between the lo and hi boundaries. Note that this velocity difference
|
||||
can include tilt components, e.g. a delta in the x velocity when an
|
||||
atom crosses the y periodic boundary. If {remap} is set to {none},
|
||||
then neither of these remappings take place.
|
||||
|
||||
IMPORTANT NOTE: When non-equilibrium MD (NEMD) simulations are
|
||||
performed using this fix, the option "remap v" should normally be
|
||||
used. This is because "fix nvt/sllod"_fix_nvt_sllod.html adjusts the
|
||||
atom positions and velocities to provide a velocity profile that
|
||||
matches the changing box size/shape. Thus atom coordinates should NOT
|
||||
be remapped by fix deform, but velocities SHOULD be when atoms cross
|
||||
periodic boundaries, since when atoms cross periodic boundaries since
|
||||
that is consistent with maintaining the velocity profile created by
|
||||
fix nvt/sllod. LAMMPS will warn you if this settings is not
|
||||
consistent.
|
||||
|
||||
The {units} keyword determines the meaning of the distance units used
|
||||
to define various arguments. A {box} value selects standard distance
|
||||
units as defined by the "units"_units.html command, e.g. Angstroms for
|
||||
units = real or metal. A {lattice} value means the distance units are
|
||||
in lattice spacings. The "lattice"_lattice.html command must have
|
||||
been previously used to define the lattice spacing. Note that the
|
||||
units choice also affects the {vel} style parameters since it is
|
||||
defined in terms of distance/time.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
Any box dimension varied by this fix must be periodic.
|
||||
|
||||
[Related commands:] none
|
||||
|
||||
[Default:]
|
||||
|
||||
The option defaults are remap = x and units = lattice.
|
|
@ -0,0 +1,185 @@
|
|||
<HTML>
|
||||
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>fix npt/asphere command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>fix ID group-ID npt/asphere Tstart Tstop Tdamp p-style args keyword value ...
|
||||
</PRE>
|
||||
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
|
||||
|
||||
<LI>npt/asphere = style name of this fix command
|
||||
|
||||
<LI>Tstart,Tstop = desired temperature at start/end of run
|
||||
|
||||
<LI>Tdamp = temperature damping parameter (time units)
|
||||
|
||||
<LI>p-style = <I>xyz</I> or <I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I>
|
||||
|
||||
<PRE> <I>xyz</I> args = Pstart Pstop Pdamp
|
||||
Pstart,Pstop = desired pressure at start/end of run (pressure units)
|
||||
Pdamp = pressure damping parameter (time units)
|
||||
<I>xy</I> or <I>yz</I> or <I>xz</I> or <I>aniso</I> args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp
|
||||
Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units)
|
||||
Pdamp = pressure damping parameter (time units)
|
||||
</PRE>
|
||||
<LI>zero or more keyword/value pairs may be appended to the args
|
||||
|
||||
<LI>keyword = <I>drag</I> or <I>dilate</I>
|
||||
|
||||
<PRE> <I>drag</I> value = drag factor added to barostat/thermostat (0.0 = no drag)
|
||||
<I>dilate</I> value = <I>all</I> or <I>partial</I>
|
||||
</PRE>
|
||||
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>fix 1 all npt/asphere 300.0 300.0 100.0 xyz 0.0 0.0 1000.0
|
||||
fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0
|
||||
fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2
|
||||
fix 2 water npt/asphere 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>Perform constant NPT integration to update positions, velocities,
|
||||
and angular velocity each timestep for aspherical or ellipsoidal
|
||||
particles in the group using a Nose/Hoover temperature
|
||||
thermostat and Nose/Hoover pressure barostat. P is pressure; T is
|
||||
temperature. This creates a system trajectory consistent with the
|
||||
isothermal-isobaric ensemble.
|
||||
</P>
|
||||
<P>The desired temperature at each timestep is a ramped value during the
|
||||
run from <I>Tstart</I> to <I>Tstop</I>. The <A HREF = "run.html">run</A> command documents
|
||||
how to make the ramping take place across multiple runs. The <I>Tdamp</I>
|
||||
parameter is specified in time units and determines how rapidly the
|
||||
temperature is relaxed. For example, a value of 100.0 means to relax
|
||||
the temperature in a timespan of (roughly) 100 time units (tau or
|
||||
fmsec or psec - see the <A HREF = "units.html">units</A> command).
|
||||
</P>
|
||||
<P>The particles in the fix group are the only ones whose velocities and
|
||||
positions are updated by the velocity/position update portion of the
|
||||
NPT integration.
|
||||
</P>
|
||||
<P>Regardless of what particles are in the fix group, a global pressure is
|
||||
computed for all particles. Similarly, when the size of the simulation
|
||||
box is changed, all particles are re-scaled to new positions, unless the
|
||||
keyword <I>dilate</I> is specified with a value of <I>partial</I>, in which case
|
||||
only the particles in the fix group are re-scaled. The latter can be
|
||||
useful for leaving the coordinates of particles in a solid substrate
|
||||
unchanged and controlling the pressure of a surrounding fluid.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>The pressure can be controlled in one of several styles, as specified
|
||||
by the <I>p-style</I> argument. In each case, the desired pressure at each
|
||||
timestep is a ramped value during the run from the starting value to
|
||||
the end value. The <A HREF = "run.html">run</A> command documents how to make the
|
||||
ramping take place across multiple runs.
|
||||
</P>
|
||||
<P>Style <I>xyz</I> means couple all 3 dimensions together when pressure is
|
||||
computed (isotropic pressure), and dilate/contract the 3 dimensions
|
||||
together.
|
||||
</P>
|
||||
<P>Styles <I>xy</I> or <I>yz</I> or <I>xz</I> means that the 2 specified dimensions are
|
||||
coupled together, both for pressure computation and for
|
||||
dilation/contraction. The 3rd dimension dilates/contracts
|
||||
independently, using its pressure component as the driving force.
|
||||
</P>
|
||||
<P>For style <I>aniso</I>, all 3 dimensions dilate/contract independently
|
||||
using their individual pressure components as the 3 driving forces.
|
||||
</P>
|
||||
<P>For any of the styles except <I>xyz</I>, any of the independent pressure
|
||||
components (e.g. z in <I>xy</I>, or any dimension in <I>aniso</I>) can have
|
||||
their target pressures (both start and stop values) specified as NULL.
|
||||
This means that no pressure control is applied to that dimension so
|
||||
that the box dimension remains unchanged.
|
||||
</P>
|
||||
<P>In some cases (e.g. for solids) the pressure (volume) and/or
|
||||
temperature of the system can oscillate undesirably when a Nose/Hoover
|
||||
barostat and thermostat is applied. The optional <I>drag</I> keyword will
|
||||
damp these oscillations, although it alters the Nose/Hoover equations.
|
||||
A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged.
|
||||
A non-zero value adds a drag term; the larger the value specified, the
|
||||
greater the damping effect. Performing a short run and monitoring the
|
||||
pressure and temperature is the best way to determine if the drag term
|
||||
is working. Typically a value between 0.2 to 2.0 is sufficient to
|
||||
damp oscillations after a few periods.
|
||||
</P>
|
||||
<P>For all pressure styles, the simulation box stays rectangular in
|
||||
shape. Parinello-Rahman boundary conditions (tilted box) are not
|
||||
implemented in LAMMPS.
|
||||
</P>
|
||||
<P>For all styles, the <I>Pdamp</I> parameter operates like the <I>Tdamp</I>
|
||||
parameter, determining the time scale on which pressure is relaxed.
|
||||
For example, a value of 1000.0 means to relax the pressure in a
|
||||
timespan of (roughly) 1000 time units (tau or fmsec or psec - see the
|
||||
<A HREF = "units.html">units</A> command).
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<P>This fix computes a temperature and pressure each timestep. To do
|
||||
this, the fix creates its own computes of style "temp/asphere" and
|
||||
"pressure", as if these commands had been issued:
|
||||
</P>
|
||||
<PRE>compute fix-ID_temp group-ID temp/asphere
|
||||
compute fix-ID_press group-ID pressure fix-ID_temp
|
||||
</PRE>
|
||||
<P>See the <A HREF = "compute_temp_asphere.html">compute temp/asphere</A> and <A HREF = "compute_pressure.html">compute
|
||||
pressure</A> commands for details. Note that the
|
||||
IDs of the new computes are the fix-ID with underscore + "temp" or
|
||||
"press" appended and the group for the new computes is the same as the
|
||||
fix group.
|
||||
</P>
|
||||
<P>Note that these are NOT the computes used by thermodynamic output (see
|
||||
the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>
|
||||
and <I>thermo_press</I>. This means you can change the attributes of this
|
||||
fix's temperature or pressure via the
|
||||
<A HREF = "compute_modify.html">compute_modify</A> command or print this temperature
|
||||
or pressure during thermodyanmic output via the <A HREF = "thermo_style.html">thermo_style
|
||||
custom</A> command using the appropriate compute-ID.
|
||||
It also means that changing attributes of <I>thermo_temp</I> or
|
||||
<I>thermo_press</I> will have no effect on this fix. Alternatively, you
|
||||
can directly assign a new compute (for calculating temeperature or
|
||||
pressure) that you have defined to this fix via the
|
||||
<A HREF = "fix_modify.html">fix_modify</A> command. If you do this, note that the
|
||||
kinetic energy derived from T should be consistent with the virial
|
||||
term computed using all particles. LAMMPS will warn you if you choose
|
||||
to compute temperature on a subset of particles.
|
||||
</P>
|
||||
<P>This fix makes a contribution to the potential energy of the system
|
||||
that can be included in thermodynamic output of potential energy using
|
||||
the <A HREF = "fix_modify.html">fix_modify energy</A> option. The contribution can
|
||||
also be printed by itself via the keyword <I>f_fix-ID</I> in the
|
||||
<A HREF = "thermo_style.html">thermo_style custom</A> command.
|
||||
</P>
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>Can only be used if LAMMPS was built with the "asphere" package.
|
||||
</P>
|
||||
<P>Any dimension being adjusted by this fix must be periodic. A
|
||||
dimension whose target pressures are specified as NULL can be
|
||||
non-periodic or periodic.
|
||||
</P>
|
||||
<P>The final Tstop cannot be 0.0 since it would make the target T = 0.0
|
||||
at some timestep during the simulation which is not allowed in
|
||||
the Nose/Hoover formulation.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "fix_npt.html">fix npt</A>, <A HREF = "fix_nve_asphere.html">fix nve_asphere</A>,
|
||||
<A HREF = "fix_modify.html">fix_modify</A>
|
||||
</P>
|
||||
<P><B>Default:</B>
|
||||
</P>
|
||||
<P>The keyword defaults are drag = 0.0 and dilate = all.
|
||||
</P>
|
||||
</HTML>
|
|
@ -0,0 +1,172 @@
|
|||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
fix npt/asphere command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID npt/asphere Tstart Tstop Tdamp p-style args keyword value ... :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
npt/asphere = style name of this fix command :l
|
||||
Tstart,Tstop = desired temperature at start/end of run :l
|
||||
Tdamp = temperature damping parameter (time units) :l
|
||||
p-style = {xyz} or {xy} or {yz} or {xz} or {aniso} :l
|
||||
{xyz} args = Pstart Pstop Pdamp
|
||||
Pstart,Pstop = desired pressure at start/end of run (pressure units)
|
||||
Pdamp = pressure damping parameter (time units)
|
||||
{xy} or {yz} or {xz} or {aniso} args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp
|
||||
Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units)
|
||||
Pdamp = pressure damping parameter (time units) :pre
|
||||
|
||||
zero or more keyword/value pairs may be appended to the args :l
|
||||
keyword = {drag} or {dilate} :l
|
||||
{drag} value = drag factor added to barostat/thermostat (0.0 = no drag)
|
||||
{dilate} value = {all} or {partial} :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all npt/asphere 300.0 300.0 100.0 xyz 0.0 0.0 1000.0
|
||||
fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0
|
||||
fix 2 all npt/asphere 300.0 300.0 100.0 xz 5.0 5.0 NULL NULL 5.0 5.0 1000.0 drag 0.2
|
||||
fix 2 water npt/asphere 300.0 300.0 100.0 aniso 0.0 0.0 0.0 0.0 NULL NULL 1000.0 dilate partial :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Perform constant NPT integration to update positions, velocities,
|
||||
and angular velocity each timestep for aspherical or ellipsoidal
|
||||
particles in the group using a Nose/Hoover temperature
|
||||
thermostat and Nose/Hoover pressure barostat. P is pressure; T is
|
||||
temperature. This creates a system trajectory consistent with the
|
||||
isothermal-isobaric ensemble.
|
||||
|
||||
The desired temperature at each timestep is a ramped value during the
|
||||
run from {Tstart} to {Tstop}. The "run"_run.html command documents
|
||||
how to make the ramping take place across multiple runs. The {Tdamp}
|
||||
parameter is specified in time units and determines how rapidly the
|
||||
temperature is relaxed. For example, a value of 100.0 means to relax
|
||||
the temperature in a timespan of (roughly) 100 time units (tau or
|
||||
fmsec or psec - see the "units"_units.html command).
|
||||
|
||||
The particles in the fix group are the only ones whose velocities and
|
||||
positions are updated by the velocity/position update portion of the
|
||||
NPT integration.
|
||||
|
||||
Regardless of what particles are in the fix group, a global pressure is
|
||||
computed for all particles. Similarly, when the size of the simulation
|
||||
box is changed, all particles are re-scaled to new positions, unless the
|
||||
keyword {dilate} is specified with a value of {partial}, in which case
|
||||
only the particles in the fix group are re-scaled. The latter can be
|
||||
useful for leaving the coordinates of particles in a solid substrate
|
||||
unchanged and controlling the pressure of a surrounding fluid.
|
||||
|
||||
:line
|
||||
|
||||
The pressure can be controlled in one of several styles, as specified
|
||||
by the {p-style} argument. In each case, the desired pressure at each
|
||||
timestep is a ramped value during the run from the starting value to
|
||||
the end value. The "run"_run.html command documents how to make the
|
||||
ramping take place across multiple runs.
|
||||
|
||||
Style {xyz} means couple all 3 dimensions together when pressure is
|
||||
computed (isotropic pressure), and dilate/contract the 3 dimensions
|
||||
together.
|
||||
|
||||
Styles {xy} or {yz} or {xz} means that the 2 specified dimensions are
|
||||
coupled together, both for pressure computation and for
|
||||
dilation/contraction. The 3rd dimension dilates/contracts
|
||||
independently, using its pressure component as the driving force.
|
||||
|
||||
For style {aniso}, all 3 dimensions dilate/contract independently
|
||||
using their individual pressure components as the 3 driving forces.
|
||||
|
||||
For any of the styles except {xyz}, any of the independent pressure
|
||||
components (e.g. z in {xy}, or any dimension in {aniso}) can have
|
||||
their target pressures (both start and stop values) specified as NULL.
|
||||
This means that no pressure control is applied to that dimension so
|
||||
that the box dimension remains unchanged.
|
||||
|
||||
In some cases (e.g. for solids) the pressure (volume) and/or
|
||||
temperature of the system can oscillate undesirably when a Nose/Hoover
|
||||
barostat and thermostat is applied. The optional {drag} keyword will
|
||||
damp these oscillations, although it alters the Nose/Hoover equations.
|
||||
A value of 0.0 (no drag) leaves the Nose/Hoover formalism unchanged.
|
||||
A non-zero value adds a drag term; the larger the value specified, the
|
||||
greater the damping effect. Performing a short run and monitoring the
|
||||
pressure and temperature is the best way to determine if the drag term
|
||||
is working. Typically a value between 0.2 to 2.0 is sufficient to
|
||||
damp oscillations after a few periods.
|
||||
|
||||
For all pressure styles, the simulation box stays rectangular in
|
||||
shape. Parinello-Rahman boundary conditions (tilted box) are not
|
||||
implemented in LAMMPS.
|
||||
|
||||
For all styles, the {Pdamp} parameter operates like the {Tdamp}
|
||||
parameter, determining the time scale on which pressure is relaxed.
|
||||
For example, a value of 1000.0 means to relax the pressure in a
|
||||
timespan of (roughly) 1000 time units (tau or fmsec or psec - see the
|
||||
"units"_units.html command).
|
||||
|
||||
:line
|
||||
|
||||
This fix computes a temperature and pressure each timestep. To do
|
||||
this, the fix creates its own computes of style "temp/asphere" and
|
||||
"pressure", as if these commands had been issued:
|
||||
|
||||
compute fix-ID_temp group-ID temp/asphere
|
||||
compute fix-ID_press group-ID pressure fix-ID_temp :pre
|
||||
|
||||
See the "compute temp/asphere"_compute_temp_asphere.html and "compute
|
||||
pressure"_compute_pressure.html commands for details. Note that the
|
||||
IDs of the new computes are the fix-ID with underscore + "temp" or
|
||||
"press" appended and the group for the new computes is the same as the
|
||||
fix group.
|
||||
|
||||
Note that these are NOT the computes used by thermodynamic output (see
|
||||
the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}
|
||||
and {thermo_press}. This means you can change the attributes of this
|
||||
fix's temperature or pressure via the
|
||||
"compute_modify"_compute_modify.html command or print this temperature
|
||||
or pressure during thermodyanmic output via the "thermo_style
|
||||
custom"_thermo_style.html command using the appropriate compute-ID.
|
||||
It also means that changing attributes of {thermo_temp} or
|
||||
{thermo_press} will have no effect on this fix. Alternatively, you
|
||||
can directly assign a new compute (for calculating temeperature or
|
||||
pressure) that you have defined to this fix via the
|
||||
"fix_modify"_fix_modify.html command. If you do this, note that the
|
||||
kinetic energy derived from T should be consistent with the virial
|
||||
term computed using all particles. LAMMPS will warn you if you choose
|
||||
to compute temperature on a subset of particles.
|
||||
|
||||
This fix makes a contribution to the potential energy of the system
|
||||
that can be included in thermodynamic output of potential energy using
|
||||
the "fix_modify energy"_fix_modify.html option. The contribution can
|
||||
also be printed by itself via the keyword {f_fix-ID} in the
|
||||
"thermo_style custom"_thermo_style.html command.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
Can only be used if LAMMPS was built with the "asphere" package.
|
||||
|
||||
Any dimension being adjusted by this fix must be periodic. A
|
||||
dimension whose target pressures are specified as NULL can be
|
||||
non-periodic or periodic.
|
||||
|
||||
The final Tstop cannot be 0.0 since it would make the target T = 0.0
|
||||
at some timestep during the simulation which is not allowed in
|
||||
the Nose/Hoover formulation.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix npt"_fix_npt.html, "fix nve_asphere"_fix_nve_asphere.html,
|
||||
"fix_modify"_fix_modify.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The keyword defaults are drag = 0.0 and dilate = all.
|
|
@ -0,0 +1,42 @@
|
|||
<HTML>
|
||||
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>fix nve/dipole command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>fix ID group-ID nve/dipole
|
||||
</PRE>
|
||||
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
|
||||
<LI>nve/dipole = style name of this fix command
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>fix 1 all nve/dipole
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>Perform constant NVE updates of position, velocity, orientation, and
|
||||
angular velocity for particles with point dipole moments in the group
|
||||
each timestep. V is volume; E is energy. This creates a system
|
||||
trajectory consistent with the microcanonical ensemble.
|
||||
</P>
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>Can only be used if LAMMPS was built with the "dipole" package.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "fix_nve.html">fix nve</A>
|
||||
</P>
|
||||
<P><B>Default:</B> none
|
||||
</P>
|
||||
</HTML>
|
|
@ -0,0 +1,37 @@
|
|||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
fix nve/dipole command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID nve/dipole :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command
|
||||
nve/dipole = style name of this fix command :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all nve/dipole :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Perform constant NVE updates of position, velocity, orientation, and
|
||||
angular velocity for particles with point dipole moments in the group
|
||||
each timestep. V is volume; E is energy. This creates a system
|
||||
trajectory consistent with the microcanonical ensemble.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
Can only be used if LAMMPS was built with the "dipole" package.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix nve"_fix_nve.html
|
||||
|
||||
[Default:] none
|
|
@ -0,0 +1,111 @@
|
|||
<HTML>
|
||||
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>fix nvt/asphere command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>fix ID group-ID nvt/asphere Tstart Tstop Tdamp keyword value ...
|
||||
</PRE>
|
||||
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
|
||||
|
||||
<LI>nvt/asphere = style name of this fix command
|
||||
|
||||
<LI>Tstart,Tstop = desired temperature at start/end of run
|
||||
|
||||
<LI>Tdamp = temperature damping parameter (time units)
|
||||
|
||||
<LI>zero or more keyword/value pairs may be appended to the args
|
||||
|
||||
<LI>keyword = <I>drag</I>
|
||||
|
||||
<PRE> <I>drag</I> value = drag factor added to thermostat (0.0 = no drag)
|
||||
</PRE>
|
||||
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>fix 1 all nvt/asphere 300.0 300.0 100.0
|
||||
fix 1 all nvt/asphere 300.0 300.0 100.0 drag 0.2
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>Perform constant NVT integration to update positions, velocities,
|
||||
and angular velocities each timestep for aspherical or ellipsoidal
|
||||
particles in the group using a Nose/Hoover temperature thermostat.
|
||||
V is volume; T is temperature. This creates a system trajectory
|
||||
consistent with the canonical ensemble.
|
||||
</P>
|
||||
<P>The desired temperature at each timestep is a ramped value during the
|
||||
run from <I>Tstart</I> to <I>Tstop</I>. The <A HREF = "run.html">run</A> command documents
|
||||
how to make the ramping take place across multiple runs. The <I>Tdamp</I>
|
||||
parameter is specified in time units and determines how rapidly the
|
||||
temperature is relaxed. For example, a value of 100.0 means to relax
|
||||
the temperature in a timespan of (roughly) 100 time units (tau or
|
||||
fmsec or psec - see the <A HREF = "units.html">units</A> command).
|
||||
</P>
|
||||
<P>In some cases (e.g. for solids) the temperature of the system can
|
||||
oscillate undesirably when a Nose/Hoover thermostat is applied. The
|
||||
optional <I>drag</I> keyword will damp these oscillations, although it
|
||||
alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the
|
||||
Nose/Hoover formalism unchanged. A non-zero value adds a drag term;
|
||||
the larger the value specified, the greater the damping effect.
|
||||
Performing a short run and monitoring the temperature is the best way
|
||||
to determine if the drag term is working. Typically a value between
|
||||
0.2 to 2.0 is sufficient to damp oscillations after a few periods.
|
||||
</P>
|
||||
<P>This fix computes a temperature each timestep. To do this, the fix
|
||||
creates its own compute of style "temp/asphere", as if this command
|
||||
had been issued:
|
||||
</P>
|
||||
<PRE>compute fix-ID_temp group-ID temp/asphere
|
||||
</PRE>
|
||||
<P>See the <A HREF = "compute_temp_asphere.html">compute temp/asphere</A> command for
|
||||
details. Note that the ID of the new compute is the fix-ID with
|
||||
underscore + "temp" appended and the group for the new compute is
|
||||
the same as the fix group.
|
||||
</P>
|
||||
<P>Note that this is NOT the compute used by thermodynamic output (see
|
||||
the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>.
|
||||
This means you can change the attributes of this fix's temperature
|
||||
(e.g. its degrees-of-freedom) via the
|
||||
<A HREF = "compute_modify.html">compute_modify</A> command or print this temperature
|
||||
during thermodyanmic output via the <A HREF = "thermo_style.html">thermo_style
|
||||
custom</A> command using the appropriate compute-ID.
|
||||
It also means that changing attributes of <I>thermo_temp</I> will have no
|
||||
effect on this fix. Alternatively, you can directly assign a new
|
||||
compute (for calculating temeperature) that you have defined to this
|
||||
fix via the <A HREF = "fix_modify.html">fix_modify</A> command.
|
||||
</P>
|
||||
<P>This fix makes a contribution to the potential energy of the system
|
||||
that can be included in thermodynamic output of potential energy using
|
||||
the <A HREF = "fix_modify.html">fix_modify energy</A> option. The contribution can
|
||||
also be printed by itself via the keyword <I>f_fix-ID</I> in the
|
||||
<A HREF = "thermo_style.html">thermo_style custom</A> command.
|
||||
</P>
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>Can only be used if LAMMPS was built with the "asphere" package.
|
||||
</P>
|
||||
<P>The final Tstop cannot be 0.0 since it would make the target T = 0.0
|
||||
at some timestep during the simulation which is not allowed in
|
||||
the Nose/Hoover formulation.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "fix_nvt.html">fix nvt</A>, <A HREF = "fix_nve_asphere.html">fix nve_asphere</A>, <A HREF = "fix_npt_asphere.html">fix
|
||||
npt_asphere</A>, <A HREF = "fix_modify.html">fix_modify</A>
|
||||
</P>
|
||||
<P><B>Default:</B>
|
||||
</P>
|
||||
<P>The keyword defaults are drag = 0.0.
|
||||
</P>
|
||||
</HTML>
|
|
@ -0,0 +1,100 @@
|
|||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
fix nvt/asphere command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID nvt/asphere Tstart Tstop Tdamp keyword value ... :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
nvt/asphere = style name of this fix command :l
|
||||
Tstart,Tstop = desired temperature at start/end of run :l
|
||||
Tdamp = temperature damping parameter (time units) :l
|
||||
|
||||
zero or more keyword/value pairs may be appended to the args :l
|
||||
keyword = {drag} :l
|
||||
{drag} value = drag factor added to thermostat (0.0 = no drag) :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all nvt/asphere 300.0 300.0 100.0
|
||||
fix 1 all nvt/asphere 300.0 300.0 100.0 drag 0.2 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Perform constant NVT integration to update positions, velocities,
|
||||
and angular velocities each timestep for aspherical or ellipsoidal
|
||||
particles in the group using a Nose/Hoover temperature thermostat.
|
||||
V is volume; T is temperature. This creates a system trajectory
|
||||
consistent with the canonical ensemble.
|
||||
|
||||
The desired temperature at each timestep is a ramped value during the
|
||||
run from {Tstart} to {Tstop}. The "run"_run.html command documents
|
||||
how to make the ramping take place across multiple runs. The {Tdamp}
|
||||
parameter is specified in time units and determines how rapidly the
|
||||
temperature is relaxed. For example, a value of 100.0 means to relax
|
||||
the temperature in a timespan of (roughly) 100 time units (tau or
|
||||
fmsec or psec - see the "units"_units.html command).
|
||||
|
||||
In some cases (e.g. for solids) the temperature of the system can
|
||||
oscillate undesirably when a Nose/Hoover thermostat is applied. The
|
||||
optional {drag} keyword will damp these oscillations, although it
|
||||
alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the
|
||||
Nose/Hoover formalism unchanged. A non-zero value adds a drag term;
|
||||
the larger the value specified, the greater the damping effect.
|
||||
Performing a short run and monitoring the temperature is the best way
|
||||
to determine if the drag term is working. Typically a value between
|
||||
0.2 to 2.0 is sufficient to damp oscillations after a few periods.
|
||||
|
||||
This fix computes a temperature each timestep. To do this, the fix
|
||||
creates its own compute of style "temp/asphere", as if this command
|
||||
had been issued:
|
||||
|
||||
compute fix-ID_temp group-ID temp/asphere :pre
|
||||
|
||||
See the "compute temp/asphere"_compute_temp_asphere.html command for
|
||||
details. Note that the ID of the new compute is the fix-ID with
|
||||
underscore + "temp" appended and the group for the new compute is
|
||||
the same as the fix group.
|
||||
|
||||
Note that this is NOT the compute used by thermodynamic output (see
|
||||
the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}.
|
||||
This means you can change the attributes of this fix's temperature
|
||||
(e.g. its degrees-of-freedom) via the
|
||||
"compute_modify"_compute_modify.html command or print this temperature
|
||||
during thermodyanmic output via the "thermo_style
|
||||
custom"_thermo_style.html command using the appropriate compute-ID.
|
||||
It also means that changing attributes of {thermo_temp} will have no
|
||||
effect on this fix. Alternatively, you can directly assign a new
|
||||
compute (for calculating temeperature) that you have defined to this
|
||||
fix via the "fix_modify"_fix_modify.html command.
|
||||
|
||||
This fix makes a contribution to the potential energy of the system
|
||||
that can be included in thermodynamic output of potential energy using
|
||||
the "fix_modify energy"_fix_modify.html option. The contribution can
|
||||
also be printed by itself via the keyword {f_fix-ID} in the
|
||||
"thermo_style custom"_thermo_style.html command.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
Can only be used if LAMMPS was built with the "asphere" package.
|
||||
|
||||
The final Tstop cannot be 0.0 since it would make the target T = 0.0
|
||||
at some timestep during the simulation which is not allowed in
|
||||
the Nose/Hoover formulation.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix nvt"_fix_nvt.html, "fix nve_asphere"_fix_nve_asphere.html, "fix
|
||||
npt_asphere"_fix_npt_asphere.html, "fix_modify"_fix_modify.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The keyword defaults are drag = 0.0.
|
|
@ -0,0 +1,144 @@
|
|||
<HTML>
|
||||
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>fix nvt/sllod command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>fix ID group-ID nvt/sllod Tstart Tstop Tdamp keyword value ...
|
||||
</PRE>
|
||||
<UL><LI>ID, group-ID are documented in <A HREF = "fix.html">fix</A> command
|
||||
|
||||
<LI>nvt/sllod = style name of this fix command
|
||||
|
||||
<LI>Tstart,Tstop = desired temperature at start/end of run
|
||||
|
||||
<LI>Tdamp = temperature damping parameter (time units)
|
||||
|
||||
<LI>zero or more keyword/value pairs may be appended to the args
|
||||
|
||||
<LI>keyword = <I>drag</I>
|
||||
|
||||
<PRE> <I>drag</I> value = drag factor added to thermostat (0.0 = no drag)
|
||||
</PRE>
|
||||
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>fix 1 all nvt/sllod 300.0 300.0 100.0
|
||||
fix 1 all nvt/sllod 300.0 300.0 100.0 drag 0.2
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>Perform constant NVT integration to update positions and velocities
|
||||
each timestep for atoms in the group using a Nose/Hoover temperature
|
||||
thermostat. V is volume; T is temperature. This creates a system
|
||||
trajectory consistent with the canonical ensemble.
|
||||
</P>
|
||||
<P>This thermostat is used for a simulation box that is changing size
|
||||
and/or shape, for example in a non-equilibrium MD (NEMD) simulation.
|
||||
The size/shape change is induced by use of the <A HREF = "fix_deform.html">fix
|
||||
deform</A> command, so each point in the simulation box
|
||||
can be thought of as having a "streaming" velocity. This
|
||||
position-dependent streaming velocity is subtracted from each atom's
|
||||
actual velocity to yield a thermal velocity which is used for
|
||||
temperature computation and thermostatting. For example, if the box
|
||||
is being sheared in x, relative to y, then points at the bottom of the
|
||||
box (low y) have a small x velocity, while points at the top of the
|
||||
box (hi y) have a large x velocity. These velocities do not
|
||||
contribute to the thermal "temperature" of the atom.
|
||||
</P>
|
||||
<P>IMPORTANT NOTE: <A HREF = "fix_deform.html">Fix deform</A> has an option for
|
||||
remapping either atom coordinates or velocities to the changing
|
||||
simulation box. To use fix nvt/sllod, fix deform should NOT remap
|
||||
atom positions, because fix nvt/sllod adjusts the atom positions and
|
||||
velocities to create a velocity profile that matches the changing box
|
||||
size/shape. Fix deform SHOUDLD remap atom velocities when atoms cross
|
||||
periodic boundaries since that is consistent with maintaining the
|
||||
velocity profile created by fix nvt/sllod. LAMMPS will warn you if
|
||||
this setting is not consistent.
|
||||
</P>
|
||||
<P>The SLLOD equations of motion coupled to a Nose/Hoover thermostat are
|
||||
discussed in <A HREF = "#Tuckerman">(Tuckerman)</A> (eqs 4 and 5), which is what is
|
||||
implemented in LAMMPS in a velocity Verlet formulation.
|
||||
</P>
|
||||
<P>The desired temperature at each timestep is a ramped value during the
|
||||
run from <I>Tstart</I> to <I>Tstop</I>. The <A HREF = "run.html">run</A> command documents
|
||||
how to make the ramping take place across multiple runs. The <I>Tdamp</I>
|
||||
parameter is specified in time units and determines how rapidly the
|
||||
temperature is relaxed. For example, a value of 100.0 means to relax
|
||||
the temperature in a timespan of (roughly) 100 time units (tau or
|
||||
fmsec or psec - see the <A HREF = "units.html">units</A> command).
|
||||
</P>
|
||||
<P>In some cases (e.g. for solids) the temperature of the system can
|
||||
oscillate undesirably when a Nose/Hoover thermostat is applied. The
|
||||
optional <I>drag</I> keyword will damp these oscillations, although it
|
||||
alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the
|
||||
Nose/Hoover formalism unchanged. A non-zero value adds a drag term;
|
||||
the larger the value specified, the greater the damping effect.
|
||||
Performing a short run and monitoring the temperature is the best way
|
||||
to determine if the drag term is working. Typically a value between
|
||||
0.2 to 2.0 is sufficient to damp oscillations after a few periods.
|
||||
</P>
|
||||
<P>This fix computes a temperature each timestep. To do this, the fix
|
||||
creates its own compute of style "temp/deform", as if this command had
|
||||
been issued:
|
||||
</P>
|
||||
<PRE>compute fix-ID_temp group-ID temp/deform
|
||||
</PRE>
|
||||
<P>See the <A HREF = "compute_temp_deform.html">compute temp/deform</A> command for
|
||||
details. Note that the ID of the new compute is the fix-ID with
|
||||
underscore + "temp" appended and the group for the new compute is the
|
||||
same as the fix group.
|
||||
</P>
|
||||
<P>Note that this is NOT the compute used by thermodynamic output (see
|
||||
the <A HREF = "thermo_style.html">thermo_style</A> command) with ID = <I>thermo_temp</I>.
|
||||
This means you can change the attributes of this fix's temperature
|
||||
(e.g. its degrees-of-freedom) via the
|
||||
<A HREF = "compute_modify.html">compute_modify</A> command or print this temperature
|
||||
during thermodyanmic output via the <A HREF = "thermo_style.html">thermo_style
|
||||
custom</A> command using the appropriate compute-ID.
|
||||
It also means that changing attributes of <I>thermo_temp</I> will have no
|
||||
effect on this fix. Alternatively, you can directly assign a new
|
||||
compute (for calculating temeperature) that you have defined to this
|
||||
fix via the <A HREF = "fix_modify.html">fix_modify</A> command.
|
||||
</P>
|
||||
<P>This fix makes a contribution to the potential energy of the system
|
||||
that can be included in thermodynamic output of potential energy using
|
||||
the <A HREF = "fix_modify.html">fix_modify energy</A> option. The contribution can
|
||||
also be printed by itself via the keyword <I>f_fix-ID</I> in the
|
||||
<A HREF = "thermo_style.html">thermo_style custom</A> command.
|
||||
</P>
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>The final Tstop cannot be 0.0 since it would make the target T = 0.0
|
||||
at some timestep during the simulation which is not allowed in
|
||||
the Nose/Hoover formulation.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "fix_nve.html">fix nve</A>, <A HREF = "fix_npt.html">fix npt</A>, <A HREF = "fix_npt.html">fix
|
||||
npt</A>, <A HREF = "fix_temp_rescale.html">fix temp/rescale</A>, <A HREF = "fix_langevin.html">fix
|
||||
langevin</A>, <A HREF = "fix_modify.html">fix_modify</A>,
|
||||
<A HREF = "temperature.html">temperature</A>
|
||||
</P>
|
||||
<P><B>Default:</B>
|
||||
</P>
|
||||
<P>The keyword defaults are drag = 0.0.
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "Tuckerman"></A>
|
||||
|
||||
<P><B>(Tuckerman)</B> Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys,
|
||||
106, 5615 (1997).
|
||||
</P>
|
||||
</HTML>
|
|
@ -0,0 +1,132 @@
|
|||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
fix nvt/sllod command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID nvt/sllod Tstart Tstop Tdamp keyword value ... :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
nvt/sllod = style name of this fix command :l
|
||||
Tstart,Tstop = desired temperature at start/end of run :l
|
||||
Tdamp = temperature damping parameter (time units) :l
|
||||
|
||||
zero or more keyword/value pairs may be appended to the args :l
|
||||
keyword = {drag} :l
|
||||
{drag} value = drag factor added to thermostat (0.0 = no drag) :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all nvt/sllod 300.0 300.0 100.0
|
||||
fix 1 all nvt/sllod 300.0 300.0 100.0 drag 0.2 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Perform constant NVT integration to update positions and velocities
|
||||
each timestep for atoms in the group using a Nose/Hoover temperature
|
||||
thermostat. V is volume; T is temperature. This creates a system
|
||||
trajectory consistent with the canonical ensemble.
|
||||
|
||||
This thermostat is used for a simulation box that is changing size
|
||||
and/or shape, for example in a non-equilibrium MD (NEMD) simulation.
|
||||
The size/shape change is induced by use of the "fix
|
||||
deform"_fix_deform.html command, so each point in the simulation box
|
||||
can be thought of as having a "streaming" velocity. This
|
||||
position-dependent streaming velocity is subtracted from each atom's
|
||||
actual velocity to yield a thermal velocity which is used for
|
||||
temperature computation and thermostatting. For example, if the box
|
||||
is being sheared in x, relative to y, then points at the bottom of the
|
||||
box (low y) have a small x velocity, while points at the top of the
|
||||
box (hi y) have a large x velocity. These velocities do not
|
||||
contribute to the thermal "temperature" of the atom.
|
||||
|
||||
IMPORTANT NOTE: "Fix deform"_fix_deform.html has an option for
|
||||
remapping either atom coordinates or velocities to the changing
|
||||
simulation box. To use fix nvt/sllod, fix deform should NOT remap
|
||||
atom positions, because fix nvt/sllod adjusts the atom positions and
|
||||
velocities to create a velocity profile that matches the changing box
|
||||
size/shape. Fix deform SHOUDLD remap atom velocities when atoms cross
|
||||
periodic boundaries since that is consistent with maintaining the
|
||||
velocity profile created by fix nvt/sllod. LAMMPS will warn you if
|
||||
this setting is not consistent.
|
||||
|
||||
The SLLOD equations of motion coupled to a Nose/Hoover thermostat are
|
||||
discussed in "(Tuckerman)"_#Tuckerman (eqs 4 and 5), which is what is
|
||||
implemented in LAMMPS in a velocity Verlet formulation.
|
||||
|
||||
The desired temperature at each timestep is a ramped value during the
|
||||
run from {Tstart} to {Tstop}. The "run"_run.html command documents
|
||||
how to make the ramping take place across multiple runs. The {Tdamp}
|
||||
parameter is specified in time units and determines how rapidly the
|
||||
temperature is relaxed. For example, a value of 100.0 means to relax
|
||||
the temperature in a timespan of (roughly) 100 time units (tau or
|
||||
fmsec or psec - see the "units"_units.html command).
|
||||
|
||||
In some cases (e.g. for solids) the temperature of the system can
|
||||
oscillate undesirably when a Nose/Hoover thermostat is applied. The
|
||||
optional {drag} keyword will damp these oscillations, although it
|
||||
alters the Nose/Hoover equations. A value of 0.0 (no drag) leaves the
|
||||
Nose/Hoover formalism unchanged. A non-zero value adds a drag term;
|
||||
the larger the value specified, the greater the damping effect.
|
||||
Performing a short run and monitoring the temperature is the best way
|
||||
to determine if the drag term is working. Typically a value between
|
||||
0.2 to 2.0 is sufficient to damp oscillations after a few periods.
|
||||
|
||||
This fix computes a temperature each timestep. To do this, the fix
|
||||
creates its own compute of style "temp/deform", as if this command had
|
||||
been issued:
|
||||
|
||||
compute fix-ID_temp group-ID temp/deform :pre
|
||||
|
||||
See the "compute temp/deform"_compute_temp_deform.html command for
|
||||
details. Note that the ID of the new compute is the fix-ID with
|
||||
underscore + "temp" appended and the group for the new compute is the
|
||||
same as the fix group.
|
||||
|
||||
Note that this is NOT the compute used by thermodynamic output (see
|
||||
the "thermo_style"_thermo_style.html command) with ID = {thermo_temp}.
|
||||
This means you can change the attributes of this fix's temperature
|
||||
(e.g. its degrees-of-freedom) via the
|
||||
"compute_modify"_compute_modify.html command or print this temperature
|
||||
during thermodyanmic output via the "thermo_style
|
||||
custom"_thermo_style.html command using the appropriate compute-ID.
|
||||
It also means that changing attributes of {thermo_temp} will have no
|
||||
effect on this fix. Alternatively, you can directly assign a new
|
||||
compute (for calculating temeperature) that you have defined to this
|
||||
fix via the "fix_modify"_fix_modify.html command.
|
||||
|
||||
This fix makes a contribution to the potential energy of the system
|
||||
that can be included in thermodynamic output of potential energy using
|
||||
the "fix_modify energy"_fix_modify.html option. The contribution can
|
||||
also be printed by itself via the keyword {f_fix-ID} in the
|
||||
"thermo_style custom"_thermo_style.html command.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
The final Tstop cannot be 0.0 since it would make the target T = 0.0
|
||||
at some timestep during the simulation which is not allowed in
|
||||
the Nose/Hoover formulation.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix nve"_fix_nve.html, "fix npt"_fix_npt.html, "fix
|
||||
npt"_fix_npt.html, "fix temp/rescale"_fix_temp_rescale.html, "fix
|
||||
langevin"_fix_langevin.html, "fix_modify"_fix_modify.html,
|
||||
"temperature"_temperature.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The keyword defaults are drag = 0.0.
|
||||
|
||||
:line
|
||||
|
||||
:link(Tuckerman)
|
||||
[(Tuckerman)] Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys,
|
||||
106, 5615 (1997).
|
|
@ -0,0 +1,137 @@
|
|||
<HTML>
|
||||
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>pair_style colloid command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>pair_style colloid cutoff
|
||||
</PRE>
|
||||
<UL><LI>cutoff = global cutoff for colloidal interactions (distance units)
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>pair_style colloid 10.0
|
||||
pair_coeff * * 25 1.0 10.0 10.0
|
||||
pair_coeff 1 1 144 1.0 0.0 0.0 3.0
|
||||
pair_coeff 1 2 75.398 1.0 0.0 10.0 9.0
|
||||
pair_coeff 2 2 39.478 1.0 10.0 10.0 25.0
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>Style <I>colloid</I> computes pairwise interactions between large colloidal
|
||||
particles and small solvent particles using 3 formulas. A colloidal
|
||||
particle has a size > sigma; a solvent particle is the usual
|
||||
Lennard-Jones particle of size sigma.
|
||||
</P>
|
||||
<P>The colloid-colloid interaction energy is given by
|
||||
</P>
|
||||
<CENTER><IMG SRC = "Eqs/pair_colloid_cc.jpg">
|
||||
</CENTER>
|
||||
<P>A is the Hamaker constant, a1 and a2 are the radii of the two
|
||||
colloidal particles, and Rc is the cutoff. This equation results from
|
||||
describing each colloidal particle as an integrated collection of
|
||||
Lennard-Jones particles of size sigma and is derived in
|
||||
<A HREF = "#Everaers">(Everaers)</A>.
|
||||
</P>
|
||||
<P>The colloid-solvent interaction energy is given by
|
||||
</P>
|
||||
<CENTER><IMG SRC = "Eqs/pair_colloid_cs.jpg">
|
||||
</CENTER>
|
||||
<P>A is the Hamaker constant, a is the radius of the colloidal particle,
|
||||
and Rc is the cutoff. This formula is derived from the
|
||||
colloid-colloid interaction, letting one of the particle sizes go to
|
||||
zero.
|
||||
</P>
|
||||
<P>The solvent-solvent interaction energy is given by the usual
|
||||
Lennard-Jones formula
|
||||
</P>
|
||||
<CENTER><IMG SRC = "Eqs/pair_colloid_ss.jpg">
|
||||
</CENTER>
|
||||
<P>which results from letting both particle sizes go to zero.
|
||||
</P>
|
||||
<P>The following coefficients must be defined for each pair of atoms
|
||||
types via the <A HREF = "pair_coeff.html">pair_coeff</A> command as in the examples
|
||||
above, or in the data file or restart files read by the
|
||||
<A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A>
|
||||
commands:
|
||||
</P>
|
||||
<UL><LI>A (energy units)
|
||||
<LI>sigma (distance units)
|
||||
<LI>d1 (distance units)
|
||||
<LI>d2 (distance units)
|
||||
<LI>cutoff (distance units)
|
||||
</UL>
|
||||
<P>A is the energy prefactor and should typically be set as follows:
|
||||
</P>
|
||||
<UL><LI>A_cc = colloid/colloid = 4 pi^2 = 39.5
|
||||
<LI>A_ss = solvent/solvent = 144 (assuming epsilon = 1, so that 144/36 = 4)
|
||||
<LI>A_cs = colloid/solvent = sqrt(A_cc*A_ss)
|
||||
</UL>
|
||||
<P>Sigma is the size of the solvent particle or the constituent particles
|
||||
integrated over in the colloidal particle and should typically be set
|
||||
as follows:
|
||||
</P>
|
||||
<UL><LI>Sigma_cc = colloid/colloid = 1.0
|
||||
<LI>Sigma_ss = solvent/solvent = 1.0 or whatever size the solvent particle is
|
||||
<LI>Sigma_cs = colloid/solvent = arithmetic mixing between colloid sigma and solvent sigma
|
||||
</UL>
|
||||
<P>Thus typically Sigma_cs = 1.0, unless the solvent particle's size !=
|
||||
1.0.
|
||||
</P>
|
||||
<P>D1 and d2 are particle diameters, so that d1 = 2*a1 and d2 = 2*a2 in
|
||||
the formulas above. Both d1 and d2 must be values >= 0. If d1 > 0
|
||||
and d2 > 0, then the pair interacts via the colloid-colloid formula
|
||||
above. If d1 = 0 and d2 = 0, then the pair interacts via the
|
||||
solvent-solvent formula. I.e. a d value of 0 is a Lennard-Jones
|
||||
particle of size sigma. If either d1 = 0 or d2 = 0 and the other is
|
||||
larger, then the pair interacts via the colloid-solvent formula.
|
||||
</P>
|
||||
<P>Note that the diameter of a particular particle type may appear in
|
||||
multiple pair_coeff commands, as it interacts with other particle
|
||||
types. You should insure the particle diameter is specified
|
||||
consistently each time it appears.
|
||||
</P>
|
||||
<P>The last coefficient is optional. If not specified, the global cutoff
|
||||
specified in the pair_style command is used. However, you typically
|
||||
want different cutoffs for interactions between different particle
|
||||
sizes. E.g. if colloidal particles of diameter 10 are used with
|
||||
solvent particles of diameter 1, then a solvent-solvent cutoff of 2.5
|
||||
would correspond to a colloid-colloid cutoff of 25. A good
|
||||
rule-of-thumb is to use a colloid-solvent cutoff that is half the big
|
||||
diamter + 4 times the small diamter. I.e. 9 = 5 + 4 for the
|
||||
colloid-solvent cutoff in this case.
|
||||
</P>
|
||||
<P>If a pair_coeff command is not specified for I != J, then the
|
||||
coefficients are mixed according the mixing rules defined by the
|
||||
<A HREF = "pair_modify.html">pair_modify</A> command. The prefactor A is mixed like
|
||||
the Lennard-Jones epsilon; sigma,d1,d2 are all mixed like the
|
||||
Lennard-Jones sigma.
|
||||
</P>
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>The <I>colloid</I> style is part of the "colloid" package. It is only
|
||||
enabled if LAMMPS was built with that package. See the <A HREF = "Section_start.html#2_3">Making
|
||||
LAMMPS</A> section for more info.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "pair_coeff.html">pair_coeff</A>
|
||||
</P>
|
||||
<P><B>Default:</B> none
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "Everaers"></A>
|
||||
|
||||
<P><B>(Everaers)</B> Everaers, Ejtehadi, Phys Rev E, 67, 041710 (2003).
|
||||
</P>
|
||||
</HTML>
|
|
@ -0,0 +1,131 @@
|
|||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
pair_style colloid command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style colloid cutoff :pre
|
||||
|
||||
cutoff = global cutoff for colloidal interactions (distance units) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style colloid 10.0
|
||||
pair_coeff * * 25 1.0 10.0 10.0
|
||||
pair_coeff 1 1 144 1.0 0.0 0.0 3.0
|
||||
pair_coeff 1 2 75.398 1.0 0.0 10.0 9.0
|
||||
pair_coeff 2 2 39.478 1.0 10.0 10.0 25.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Style {colloid} computes pairwise interactions between large colloidal
|
||||
particles and small solvent particles using 3 formulas. A colloidal
|
||||
particle has a size > sigma; a solvent particle is the usual
|
||||
Lennard-Jones particle of size sigma.
|
||||
|
||||
The colloid-colloid interaction energy is given by
|
||||
|
||||
:c,image(Eqs/pair_colloid_cc.jpg)
|
||||
|
||||
A is the Hamaker constant, a1 and a2 are the radii of the two
|
||||
colloidal particles, and Rc is the cutoff. This equation results from
|
||||
describing each colloidal particle as an integrated collection of
|
||||
Lennard-Jones particles of size sigma and is derived in
|
||||
"(Everaers)"_#Everaers.
|
||||
|
||||
The colloid-solvent interaction energy is given by
|
||||
|
||||
:c,image(Eqs/pair_colloid_cs.jpg)
|
||||
|
||||
A is the Hamaker constant, a is the radius of the colloidal particle,
|
||||
and Rc is the cutoff. This formula is derived from the
|
||||
colloid-colloid interaction, letting one of the particle sizes go to
|
||||
zero.
|
||||
|
||||
The solvent-solvent interaction energy is given by the usual
|
||||
Lennard-Jones formula
|
||||
|
||||
:c,image(Eqs/pair_colloid_ss.jpg)
|
||||
|
||||
which results from letting both particle sizes go to zero.
|
||||
|
||||
The following coefficients must be defined for each pair of atoms
|
||||
types via the "pair_coeff"_pair_coeff.html command as in the examples
|
||||
above, or in the data file or restart files read by the
|
||||
"read_data"_read_data.html or "read_restart"_read_restart.html
|
||||
commands:
|
||||
|
||||
A (energy units)
|
||||
sigma (distance units)
|
||||
d1 (distance units)
|
||||
d2 (distance units)
|
||||
cutoff (distance units) :ul
|
||||
|
||||
A is the energy prefactor and should typically be set as follows:
|
||||
|
||||
A_cc = colloid/colloid = 4 pi^2 = 39.5
|
||||
A_ss = solvent/solvent = 144 (assuming epsilon = 1, so that 144/36 = 4)
|
||||
A_cs = colloid/solvent = sqrt(A_cc*A_ss) :ul
|
||||
|
||||
Sigma is the size of the solvent particle or the constituent particles
|
||||
integrated over in the colloidal particle and should typically be set
|
||||
as follows:
|
||||
|
||||
Sigma_cc = colloid/colloid = 1.0
|
||||
Sigma_ss = solvent/solvent = 1.0 or whatever size the solvent particle is
|
||||
Sigma_cs = colloid/solvent = arithmetic mixing between colloid sigma and solvent sigma :ul
|
||||
|
||||
Thus typically Sigma_cs = 1.0, unless the solvent particle's size !=
|
||||
1.0.
|
||||
|
||||
D1 and d2 are particle diameters, so that d1 = 2*a1 and d2 = 2*a2 in
|
||||
the formulas above. Both d1 and d2 must be values >= 0. If d1 > 0
|
||||
and d2 > 0, then the pair interacts via the colloid-colloid formula
|
||||
above. If d1 = 0 and d2 = 0, then the pair interacts via the
|
||||
solvent-solvent formula. I.e. a d value of 0 is a Lennard-Jones
|
||||
particle of size sigma. If either d1 = 0 or d2 = 0 and the other is
|
||||
larger, then the pair interacts via the colloid-solvent formula.
|
||||
|
||||
Note that the diameter of a particular particle type may appear in
|
||||
multiple pair_coeff commands, as it interacts with other particle
|
||||
types. You should insure the particle diameter is specified
|
||||
consistently each time it appears.
|
||||
|
||||
The last coefficient is optional. If not specified, the global cutoff
|
||||
specified in the pair_style command is used. However, you typically
|
||||
want different cutoffs for interactions between different particle
|
||||
sizes. E.g. if colloidal particles of diameter 10 are used with
|
||||
solvent particles of diameter 1, then a solvent-solvent cutoff of 2.5
|
||||
would correspond to a colloid-colloid cutoff of 25. A good
|
||||
rule-of-thumb is to use a colloid-solvent cutoff that is half the big
|
||||
diamter + 4 times the small diamter. I.e. 9 = 5 + 4 for the
|
||||
colloid-solvent cutoff in this case.
|
||||
|
||||
If a pair_coeff command is not specified for I != J, then the
|
||||
coefficients are mixed according the mixing rules defined by the
|
||||
"pair_modify"_pair_modify.html command. The prefactor A is mixed like
|
||||
the Lennard-Jones epsilon; sigma,d1,d2 are all mixed like the
|
||||
Lennard-Jones sigma.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
The {colloid} style is part of the "colloid" package. It is only
|
||||
enabled if LAMMPS was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#2_3 section for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_coeff"_pair_coeff.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(Everaers)
|
||||
[(Everaers)] Everaers, Ejtehadi, Phys Rev E, 67, 041710 (2003).
|
|
@ -0,0 +1,105 @@
|
|||
<HTML>
|
||||
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
|
||||
</CENTER>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>pair_style dipole/cut command
|
||||
</H3>
|
||||
<P><B>Syntax:</B>
|
||||
</P>
|
||||
<PRE>pair_style dipole/cut cutoff (cutoff2)
|
||||
</PRE>
|
||||
<UL><LI>cutoff = global cutoff LJ (and Coulombic if only 1 arg) (distance units)
|
||||
<LI>cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
</UL>
|
||||
<P><B>Examples:</B>
|
||||
</P>
|
||||
<PRE>pair_style dipole/cut 10.0
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 2 3 1.0 1.0 2.5 4.0
|
||||
</PRE>
|
||||
<P><B>Description:</B>
|
||||
</P>
|
||||
<P>Style <I>dipole/cut</I> computes interactions bewteen pairs of particles
|
||||
that each have a charge and/or a point dipole moment. In addition to
|
||||
the usual Lennard-Jones interaction between the particles (Elj) the
|
||||
charge-charge (Eqq), charge-dipole (Eqp), and dipole-dipole (Epp)
|
||||
interactions are computed by these formulas for the energy (E), force
|
||||
(F), and torque (T) between particles I and J.
|
||||
</P>
|
||||
<CENTER><IMG SRC = "Eqs/pair_dipole.jpg">
|
||||
</CENTER>
|
||||
<P>where qi and qj are the charges on the two particles, pi and pj are
|
||||
the dipole moment vectors of the two particles, r is their separation
|
||||
distance, and the vector r = Ri - Rj is the separation vector between
|
||||
the two particles. Note that Eqq and Fqq are simply Coulombic energy
|
||||
and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the
|
||||
torques do not act symmetrically. These formulas are discussed in
|
||||
<A HREF = "#Allen">(Allen)</A> and in <A HREF = "#Toukmaji">(Toukmaji)</A>.
|
||||
</P>
|
||||
<P>If one cutoff is specified in the pair_style command, it is used for
|
||||
both the LJ and Coulombic (q,p) terms. If two cutoffs are specified,
|
||||
they are used as cutoffs for the LJ and Coulombic (q,p) terms
|
||||
respectively.
|
||||
</P>
|
||||
<P>Use of this pair style requires the use of the <A HREF = "fix_nve_dipole.html">fix
|
||||
nve/dipole</A> command to integrate rotation of the
|
||||
dipole moments. Additionally, <A HREF = "atom_style.html">atom_style dipole</A>
|
||||
should be used since it defines the point dipoles and their rotational
|
||||
state. The magnitude of the dipole moment for each type of particle
|
||||
can be defined by the <A HREF = "dipole.html">dipole</A> command or in the "Dipoles"
|
||||
section of the data file read in by the <A HREF = "read_data.html">read_data</A>
|
||||
command. Their initial orientation can be defined by the <A HREF = "set.html">set
|
||||
dipole</A> command or in the "Atoms" section of the data file.
|
||||
</P>
|
||||
<P>The following coefficients must be defined for each pair of atoms
|
||||
types via the <A HREF = "pair_coeff.html">pair_coeff</A> command as in the examples
|
||||
above, or in the data file or restart files read by the
|
||||
<A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A>
|
||||
commands:
|
||||
</P>
|
||||
<UL><LI>epsilon (energy units)
|
||||
<LI>sigma (distance units)
|
||||
<LI>cutoff1 (distance units)
|
||||
<LI>cutoff2 (distance units)
|
||||
</UL>
|
||||
<P>The latter 2 coefficients are optional. If not specified, the global
|
||||
LJ and Coulombic cutoffs specified in the pair_style command are used.
|
||||
If only one cutoff is specified, it is used as the cutoff for both LJ
|
||||
and Coulombic interactions for this type pair. If both coefficients
|
||||
are specified, they are used as the LJ and Coulombic cutoffs for this
|
||||
type pair.
|
||||
</P>
|
||||
<P><B>Restrictions:</B>
|
||||
</P>
|
||||
<P>Can only be used if LAMMPS was built with the "dipole" package.
|
||||
</P>
|
||||
<P>The use of this potential requires additional fixes as described
|
||||
above.
|
||||
</P>
|
||||
<P><B>Related commands:</B>
|
||||
</P>
|
||||
<P><A HREF = "pair_coeff.html">pair_coeff</A>, <A HREF = "fix_nve_dipole.html">fix nve/dipole</A>,
|
||||
<A HREF = "compute_temp_dipole.html">compute temp/dipole</A>
|
||||
</P>
|
||||
<P><B>Default:</B> none
|
||||
</P>
|
||||
<HR>
|
||||
|
||||
<A NAME = "Allen"></A>
|
||||
|
||||
<P><B>(Allen)</B> Allen and Tildesley, Computer Simulation of Liquids,
|
||||
Clarendon Press, Oxford, 1987.
|
||||
</P>
|
||||
<A NAME = "Toukmaji"></A>
|
||||
|
||||
<P><B>(Toukmaji)</B> Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113,
|
||||
10913 (2000).
|
||||
</P>
|
||||
</HTML>
|
|
@ -0,0 +1,98 @@
|
|||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
pair_style dipole/cut command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style dipole/cut cutoff (cutoff2) :pre
|
||||
|
||||
cutoff = global cutoff LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style dipole/cut 10.0
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 2 3 1.0 1.0 2.5 4.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Style {dipole/cut} computes interactions bewteen pairs of particles
|
||||
that each have a charge and/or a point dipole moment. In addition to
|
||||
the usual Lennard-Jones interaction between the particles (Elj) the
|
||||
charge-charge (Eqq), charge-dipole (Eqp), and dipole-dipole (Epp)
|
||||
interactions are computed by these formulas for the energy (E), force
|
||||
(F), and torque (T) between particles I and J.
|
||||
|
||||
:c,image(Eqs/pair_dipole.jpg)
|
||||
|
||||
where qi and qj are the charges on the two particles, pi and pj are
|
||||
the dipole moment vectors of the two particles, r is their separation
|
||||
distance, and the vector r = Ri - Rj is the separation vector between
|
||||
the two particles. Note that Eqq and Fqq are simply Coulombic energy
|
||||
and force, Fij = -Fji as symmetric forces, and Tij != -Tji since the
|
||||
torques do not act symmetrically. These formulas are discussed in
|
||||
"(Allen)"_#Allen and in "(Toukmaji)"_#Toukmaji.
|
||||
|
||||
If one cutoff is specified in the pair_style command, it is used for
|
||||
both the LJ and Coulombic (q,p) terms. If two cutoffs are specified,
|
||||
they are used as cutoffs for the LJ and Coulombic (q,p) terms
|
||||
respectively.
|
||||
|
||||
Use of this pair style requires the use of the "fix
|
||||
nve/dipole"_fix_nve_dipole.html command to integrate rotation of the
|
||||
dipole moments. Additionally, "atom_style dipole"_atom_style.html
|
||||
should be used since it defines the point dipoles and their rotational
|
||||
state. The magnitude of the dipole moment for each type of particle
|
||||
can be defined by the "dipole"_dipole.html command or in the "Dipoles"
|
||||
section of the data file read in by the "read_data"_read_data.html
|
||||
command. Their initial orientation can be defined by the "set
|
||||
dipole"_set.html command or in the "Atoms" section of the data file.
|
||||
|
||||
The following coefficients must be defined for each pair of atoms
|
||||
types via the "pair_coeff"_pair_coeff.html command as in the examples
|
||||
above, or in the data file or restart files read by the
|
||||
"read_data"_read_data.html or "read_restart"_read_restart.html
|
||||
commands:
|
||||
|
||||
epsilon (energy units)
|
||||
sigma (distance units)
|
||||
cutoff1 (distance units)
|
||||
cutoff2 (distance units) :ul
|
||||
|
||||
The latter 2 coefficients are optional. If not specified, the global
|
||||
LJ and Coulombic cutoffs specified in the pair_style command are used.
|
||||
If only one cutoff is specified, it is used as the cutoff for both LJ
|
||||
and Coulombic interactions for this type pair. If both coefficients
|
||||
are specified, they are used as the LJ and Coulombic cutoffs for this
|
||||
type pair.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
Can only be used if LAMMPS was built with the "dipole" package.
|
||||
|
||||
The use of this potential requires additional fixes as described
|
||||
above.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_coeff"_pair_coeff.html, "fix nve/dipole"_fix_nve_dipole.html,
|
||||
"compute temp/dipole"_compute_temp_dipole.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(Allen)
|
||||
[(Allen)] Allen and Tildesley, Computer Simulation of Liquids,
|
||||
Clarendon Press, Oxford, 1987.
|
||||
|
||||
:link(Toukmaji)
|
||||
[(Toukmaji)] Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113,
|
||||
10913 (2000).
|
Loading…
Reference in New Issue