git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@673 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -21,7 +21,10 @@ certain kinds of LAMMPS simulations.
|
||||
4.8 "TIP4P water model"_#4_8
|
||||
4.9 "SPC water model"_#4_9
|
||||
4.10 "Coupling LAMMPS to other codes"_#4_10
|
||||
4.11 "Visualizing LAMMPS snapshots"_#4_11 :all(b)
|
||||
4.11 "Visualizing LAMMPS snapshots"_#4_11
|
||||
4.12 "Non-orthogonal simulation boxes"_#4_12
|
||||
4.13 "NEMD simulations"_#4_13
|
||||
4.14 "Aspherical particles"_#4_14 :all(b)
|
||||
|
||||
The example input scripts included in the LAMMPS distribution and
|
||||
highlighted in "this section"_Section_example.html also show how to
|
||||
@ -642,6 +645,145 @@ See the "dump"_dump.html command for more information on XTC files.
|
||||
|
||||
:line
|
||||
|
||||
4.12 Non-orthogonal simulation boxes :link(4_12),h4
|
||||
|
||||
By default, LAMMPS uses an orthogonal simulation box to encompass the
|
||||
particles. The "boundary"_boundary.html command sets the boundary
|
||||
conditions of the box (periodic, non-periodic, etc). If the box size
|
||||
is xprd by yprd by zprd then the 3 mutually orthogonal edge vectors of
|
||||
an orthogonal simulation box are a = (xprd,0,0), b = (0,yprd,0), and c
|
||||
= (0,0,zprd).
|
||||
|
||||
LAMMPS also allows non-orthogonal simulation boxes (triclinic
|
||||
symmetry) to be defined with 3 additional "tilt" parameters which
|
||||
change the edge vectors of the simulation box to be a = (xprd,0,0), b
|
||||
= (xy,yprd,0), and c = (xz,yz,zprd). The xy, xz, and yz parameters
|
||||
can be positive or negative. The simulation box must be periodic in
|
||||
both dimensions associated with a tilt factor. For example, if xz !=
|
||||
0.0, then the x and z dimensions must be periodic.
|
||||
|
||||
To avoid extremely tilted boxes (which would be computationally
|
||||
inefficient), no tilt factor can skew the box more than half the
|
||||
distance of the parallel box length, which is the 1st dimension in the
|
||||
tilt factor (x for xz). 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.
|
||||
|
||||
You tell LAMMPS to use a non-orthogonal box when the simulation box is
|
||||
defined. This happens in one of 3 ways. If the
|
||||
"create_box"_create_box.html command is used with a region of style
|
||||
{prism}, then a non-orthogonal domain is setup. See the
|
||||
"region"_region.html command for details. If the
|
||||
"read_data"_read_data.html command is used to define the simulation
|
||||
box, and the header of the data file contains a line with the "xy xz
|
||||
yz" keyword, then a non-orthogonal domain is setup. See the
|
||||
"read_data"_read_data.html command for details. Finally, if the
|
||||
"read_restart"_read_restart.html command reads a restart file which
|
||||
was written from a simulation using a triclinic box, then a
|
||||
non-orthogonal box will be enabled for the restarted simulation.
|
||||
|
||||
Note that you can define a non-orthogonal box with all 3 tilt factors
|
||||
= 0.0, so that it is initially orthogonal. This is necessary if the
|
||||
box will ever become non-orthogonal.
|
||||
|
||||
One use of non-orthogonal boxes is to model solid-state crystals with
|
||||
triclinic symmetry. The "lattice"_lattice.html command can be used
|
||||
with non-orthogonal basis vectors to define a lattice that will tile a
|
||||
non-orthogonal simulation box via the "create_atoms"_create_atoms.html
|
||||
command. Note that while the box edge vectors a,b,c cannot be
|
||||
arbitrary vectors (e.g. a must be aligned with the x axis), it is
|
||||
possible to rotate any crystal's basis vectors so that they meet these
|
||||
restrictions.
|
||||
|
||||
A second use of non-orthogonal boxes is to shear a bulk solid to study
|
||||
the response of the material. The "fix deform"_fix_deform.html
|
||||
command can be used for this purpose. It allows dynamic control of
|
||||
the xy, xz, and yz tilt factors as a simulation runs.
|
||||
|
||||
Another use of non-orthogonal boxes is to perform non-equilibrium MD
|
||||
(NEMD) simulations, as discussed in the next section.
|
||||
|
||||
:line
|
||||
|
||||
4.13 NEMD simulations :link(4_13),h4
|
||||
|
||||
Non-equilibrium molecular dynamics or NEMD simulations are typically
|
||||
used to measure a fluid's rheological properties such as viscosity.
|
||||
In LAMMPS, such simulations can be performed by first setting up a
|
||||
non-orthogonal simulation box (see the preceeding Howto section).
|
||||
|
||||
A shear strain can be applied to the simualation box at a desired
|
||||
strain rate by using the "fix deform"_fix_deform.html command. The
|
||||
"fix nvt/sllod"_fix_nvt_sllod.html command can be used to thermostat
|
||||
the sheared fluid and integrate the SLLOD equations of motion for the
|
||||
system. Fix nvt/sllod uses "compute
|
||||
temp/deform"_compute_temp_deform.html to compute a thermal temperature
|
||||
by subtracting out the streaming velocity of the shearing atoms. The
|
||||
velocity profile or other properties of the fluid can be monitored via
|
||||
the "fix ave/spatial"_fix_ave_spatial.html command.
|
||||
|
||||
As discussed in the previous section on non-orthogonal simulation
|
||||
boxes, the amount of tilt or skew that can be applied is limited by
|
||||
LAMMPS for computation efficiency to be 1/2 of the paralell box
|
||||
length. However, "fix deform"_fix_deform.html can be used to
|
||||
continuously strain a box by an arbitrary amount. As discussed in the
|
||||
"fix deform"_fix_deform.html command, when the tilt reaches a limit,
|
||||
the box is re-shaped to the opposite limit which is an equivalent
|
||||
tiling of the periodic plane. The strain rate can then continue to
|
||||
change as before. In a long NEMD simulation these box re-shaping may
|
||||
occur any number of times.
|
||||
|
||||
In a NEMD simulation, the "remap" option of "fix
|
||||
deform"_fix_deform.html should be set to "remap v", since that is what
|
||||
"fix nvt/sllod"_fix_nvt_sllod.html assumes to generate a velocity
|
||||
profile consistent with the applied shear strain rate.
|
||||
|
||||
:line
|
||||
|
||||
4.14 Aspherical particles :link(4_14),h4
|
||||
|
||||
LAMMPS supports ellipsoidal particles via the "atom_style
|
||||
ellipsoid"_atom_style.html and "shape"_shape.html commands. The
|
||||
latter defines the 3 axes (diamaters) of a general ellipsoid. The
|
||||
"pair_style gayberne"_pair_gayberne.html command can be used to define
|
||||
a Gay-Berne (GB) potential for how such particles interact with each
|
||||
other and with spherical particles. The GB potential is like a
|
||||
Lennard-Jones (LJ) potential generalized for ellipsoids interacting in
|
||||
an orientiation-dependent manner.
|
||||
|
||||
The orientation of ellipsoidal particles is stored as a quaternion.
|
||||
See the "set"_set.html command for a brief explanation of quaternions
|
||||
and how the orientation of such particles can be initialized. The
|
||||
data file read by the "read_data"_read_data.html command also contains
|
||||
quaternions for each atom in the Atoms section if "atom_style
|
||||
ellipsoid"_atom_style.html is being used. The "compute
|
||||
temp/asphere"_compute_temp_asphere.html command can be used to
|
||||
calculate the temperature of a group of ellipsoidal particles, taking
|
||||
account of rotational degrees of freedom. The motion of the particles
|
||||
can be integrated via the "fix nve/asphere"_fix_nve_asphere.html, "fix
|
||||
nvt/asphere"_fix_nvt_asphere.html, or "fix
|
||||
npt/asphere"_fix_npt_asphere.html commands. All of these commands are
|
||||
part of the ASPHERE package in LAMMPS.
|
||||
|
||||
Computationally, the cost for two ellipsoidal particles to interact is
|
||||
30x or more expensive than for 2 LJ particles. Thus if you are
|
||||
modeling a system with many spherical particles (e.g. as the solvent),
|
||||
then you should insure sphere-sphere interactions are computed with
|
||||
the a cheaper potential than GB. This can be done by setting the
|
||||
particle's 3 shape parameters to all be equal (a sphere).
|
||||
Additionally, the corresponding GB potential coefficients can be set
|
||||
so the GB potential will treat the pair of particles as LJ spheres.
|
||||
Details are given in the doc page for the "pair_style
|
||||
gayberne"_pair_gayberne.html. Alternatively, the "pair_style
|
||||
hybrid"_pair_hybrid.html potential can be used, with the sphere-sphere
|
||||
interactions computed by another pair potential, such as "pair_style
|
||||
lj/cut"_pair_lj.html.
|
||||
|
||||
:line
|
||||
|
||||
:link(Cornell)
|
||||
[(Cornell)] Cornell, Cieplak, Bayly, Gould, Merz, Ferguson,
|
||||
Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).
|
||||
|
||||
Reference in New Issue
Block a user