forked from lijiext/lammps
Merge pull request #698 from lammps/doc-update
small updates to recently added docs and rename of an example dir
This commit is contained in:
commit
6dd55e49cb
|
@ -2777,8 +2777,8 @@ USER-UEF package :link(USER-UEF),h4
|
|||
[Contents:]
|
||||
|
||||
A fix style for the integration of the equations of motion under
|
||||
extensional flow with proper boundary conditions, as well
|
||||
as several supporting compute styles and an output option.
|
||||
extensional flow with proper boundary conditions, as well as several
|
||||
supporting compute styles and an output option.
|
||||
|
||||
[Author:] David Nicholson (MIT).
|
||||
|
||||
|
@ -2807,9 +2807,9 @@ USER-VTK package :link(USER-VTK),h4
|
|||
|
||||
[Contents:]
|
||||
|
||||
A "dump vtk"_dump_vtk.html command which outputs
|
||||
snapshot info in the "VTK format"_vtk, enabling visualization by
|
||||
"Paraview"_paraview or other visuzlization packages.
|
||||
A "dump vtk"_dump_vtk.html command which outputs snapshot info in the
|
||||
"VTK format"_vtk, enabling visualization by "Paraview"_paraview or
|
||||
other visuzlization packages.
|
||||
|
||||
:link(vtk,http://www.vtk.org)
|
||||
:link(paraview,http://www.paraview.org)
|
||||
|
|
|
@ -20,10 +20,11 @@ style_name = {nvt/uef} or {npt/uef} :l
|
|||
one or more keyword/value pairs may be appended :l
|
||||
keyword = {ext} or {strain} or {iso} or {x} or {y} or {z} or {tchain} or {pchain} or {tloop} or {ploop} or {mtk}
|
||||
{ext} value = {x} or {y} or {z} or {xy} or {yz} or {xz} = external dimensions
|
||||
This keyword sets the external dimensions used to calculate the scalar pressure
|
||||
sets the external dimensions used to calculate the scalar pressure
|
||||
{strain} values = e_x e_y = initial strain
|
||||
Use of this keyword is usually not necessary, but may be needed to resume a run with a data file.
|
||||
The {iso}, {x}, {y}, {z}, {tchain}, {pchain}, {tloop}, {ploop}, and {mtk} keywords are documented in the "fix npt"_fix_nh.html command. :pre
|
||||
usually not needed, but may be needed to resume a run with a data file.
|
||||
{iso}, {x}, {y}, {z}, {tchain}, {pchain}, {tloop}, {ploop}, {mtk} keywords
|
||||
documented by the "fix npt"_fix_nh.html command :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
@ -35,84 +36,92 @@ fix biax_npt all npt/uef temp 400 400 100 erate -0.00001 0.000005 x 1 1 3000 :pr
|
|||
|
||||
[Description:]
|
||||
|
||||
|
||||
This fix is used to simulate non-equilibrium molecular dynamics (NEMD)
|
||||
under diagonal flow fields, including uniaxial and biaxial flow.
|
||||
Simulations under extensional flow may be carried out for an
|
||||
indefinite amount of time. It is an implementation of the boundary
|
||||
conditions from "(Dobson)"_#Dobson, and also uses numerical lattice reduction
|
||||
as was proposed by "(Hunt)"_#Hunt. The lattice reduction algorithm is from
|
||||
"(Semaev)"_Semaev. The fix is intended for simulations of
|
||||
homogeneous flows, and integrates the SLLOD equations of motion,
|
||||
originally proposed by Hoover and Ladd (see "(Evans and Morriss)"_#Sllod).
|
||||
Additional detail about this implementation can be found in
|
||||
"(Nicholson and Rutledge)"_#Nicholson.
|
||||
under diagonal flow fields, including uniaxial and biaxial flow.
|
||||
Simulations under extensional flow may be carried out for an
|
||||
indefinite amount of time. It is an implementation of the boundary
|
||||
conditions from "(Dobson)"_#Dobson, and also uses numerical lattice
|
||||
reduction as was proposed by "(Hunt)"_#Hunt. The lattice reduction
|
||||
algorithm is from "(Semaev)"_Semaev. The fix is intended for
|
||||
simulations of homogeneous flows, and integrates the SLLOD equations
|
||||
of motion, originally proposed by Hoover and Ladd (see "(Evans and
|
||||
Morriss)"_#Sllod). Additional detail about this implementation can be
|
||||
found in "(Nicholson and Rutledge)"_#Nicholson.
|
||||
|
||||
The applied flow field is set by the {eps} keyword. The values {edot_x}
|
||||
and {edot_y} correspond to the strain rates in the xx and yy directions.
|
||||
It is implicitly assumed that the flow field is traceless, and therefore
|
||||
the strain rate in the zz direction is eqal to -({edot_x} + {edot_y}).
|
||||
The applied flow field is set by the {eps} keyword. The values
|
||||
{edot_x} and {edot_y} correspond to the strain rates in the xx and yy
|
||||
directions. It is implicitly assumed that the flow field is
|
||||
traceless, and therefore the strain rate in the zz direction is eqal
|
||||
to -({edot_x} + {edot_y}).
|
||||
|
||||
NOTE: Due to an instability in the SLLOD equations under extension,
|
||||
NOTE: Due to an instability in the SLLOD equations under extension,
|
||||
"fix momentum"_fix_momentum.html should be used to regularly reset the
|
||||
linear momentum.
|
||||
linear momentum.
|
||||
|
||||
The boundary conditions require a simulation box that does not have a
|
||||
consistent alignment relative to the applied flow field. Since LAMMPS
|
||||
utilizes an upper-triangular simulation box, it is not possible to express
|
||||
the evolving simulation box in the same coordinate system as the flow field.
|
||||
This fix keeps track of two coordinate systems: the flow frame, and the
|
||||
upper triangular LAMMPS frame. The coordinate systems are related to
|
||||
each other through the QR decomposition, as is illustrated in the image below.
|
||||
The boundary conditions require a simulation box that does not have a
|
||||
consistent alignment relative to the applied flow field. Since LAMMPS
|
||||
utilizes an upper-triangular simulation box, it is not possible to
|
||||
express the evolving simulation box in the same coordinate system as
|
||||
the flow field. This fix keeps track of two coordinate systems: the
|
||||
flow frame, and the upper triangular LAMMPS frame. The coordinate
|
||||
systems are related to each other through the QR decomposition, as is
|
||||
illustrated in the image below.
|
||||
|
||||
:c,image(JPG/uef_frames.jpg)
|
||||
|
||||
During most molecular dynamics operations, the system is represented in the
|
||||
LAMMPS frame. Only when the positions and velocities are updated is the system
|
||||
rotated to the flow frame, and it is rotated back to the LAMMPS frame
|
||||
immediately afterwards. For this reason, all vector-valued quantities
|
||||
(except for the tensors from "compute_pressure/uef"_compute_pressure_uef.html
|
||||
and "compute_temp/uef"_compute_temp_uef.html) will
|
||||
be computed in the LAMMPS frame. Rotationally invariant scalar quantities like
|
||||
the temperature and hydrostatic pressure are frame-invariant and will be
|
||||
computed correctly. Additionally, the system is in the LAMMPS frame during all of the
|
||||
output steps, and therefore trajectory files made using the dump command
|
||||
will be in the LAMMPS frame unless the "dump_cfg/uef"_dump_cfg_uef.html command is used.
|
||||
During most molecular dynamics operations, the system is represented
|
||||
in the LAMMPS frame. Only when the positions and velocities are
|
||||
updated is the system rotated to the flow frame, and it is rotated
|
||||
back to the LAMMPS frame immediately afterwards. For this reason, all
|
||||
vector-valued quantities (except for the tensors from
|
||||
"compute_pressure/uef"_compute_pressure_uef.html and
|
||||
"compute_temp/uef"_compute_temp_uef.html) will be computed in the
|
||||
LAMMPS frame. Rotationally invariant scalar quantities like the
|
||||
temperature and hydrostatic pressure are frame-invariant and will be
|
||||
computed correctly. Additionally, the system is in the LAMMPS frame
|
||||
during all of the output steps, and therefore trajectory files made
|
||||
using the dump command will be in the LAMMPS frame unless the
|
||||
"dump_cfg/uef"_dump_cfg_uef.html command is used.
|
||||
|
||||
:line
|
||||
|
||||
Temperature control is achieved with the default Nose-Hoover style
|
||||
thermostat documented in "fix npt"_fix_nh.html. When this fix is active,
|
||||
only the peculiar velocity of each atom is stored, defined as the velocity
|
||||
relative to the streaming velocity. This is in contrast to
|
||||
"fix nvt/sllod"_fix_nvt_sllod.html, which uses a lab-frame velocity, and
|
||||
removes the contribution from the streaming velocity in order to compute
|
||||
the temperature.
|
||||
Temperature control is achieved with the default Nose-Hoover style
|
||||
thermostat documented in "fix npt"_fix_nh.html. When this fix is
|
||||
active, only the peculiar velocity of each atom is stored, defined as
|
||||
the velocity relative to the streaming velocity. This is in contrast
|
||||
to "fix nvt/sllod"_fix_nvt_sllod.html, which uses a lab-frame
|
||||
velocity, and removes the contribution from the streaming velocity in
|
||||
order to compute the temperature.
|
||||
|
||||
Pressure control is achieved using the default Nose-Hoover barostat documented
|
||||
in "fix npt"_fix_nh.html. There are two ways to control the pressure using this
|
||||
fix. The first method involves using the {ext} keyword along with the {iso} pressure
|
||||
style. With this method, the pressure is controlled by scaling the simulation box
|
||||
isotropically to achieve the average pressure only in the directions specified by {ext}.
|
||||
For example, if the {ext} value is set to {xy}, the average pressure (Pxx+Pyy)/2
|
||||
will be controlled.
|
||||
Pressure control is achieved using the default Nose-Hoover barostat
|
||||
documented in "fix npt"_fix_nh.html. There are two ways to control the
|
||||
pressure using this fix. The first method involves using the {ext}
|
||||
keyword along with the {iso} pressure style. With this method, the
|
||||
pressure is controlled by scaling the simulation box isotropically to
|
||||
achieve the average pressure only in the directions specified by
|
||||
{ext}. For example, if the {ext} value is set to {xy}, the average
|
||||
pressure (Pxx+Pyy)/2 will be controlled.
|
||||
|
||||
This example command will control the total hydrostatic pressure under uniaxial tension:
|
||||
This example command will control the total hydrostatic pressure under
|
||||
uniaxial tension:
|
||||
|
||||
fix f1 all npt/uef temp 0.7 0.7 0.5 iso 1 1 5 erate -0.5 -0.5 ext xyz :pre
|
||||
|
||||
This example command will control the average stress in compression directions, which would
|
||||
typically correspond to free surfaces under drawing with uniaxial tension:
|
||||
This example command will control the average stress in compression
|
||||
directions, which would typically correspond to free surfaces under
|
||||
drawing with uniaxial tension:
|
||||
|
||||
fix f2 all npt/uef temp 0.7 0.7 0.5 iso 1 1 5 erate -0.5 -0.5 ext xy :pre
|
||||
|
||||
The second method for pressure control involves setting the normal stresses using
|
||||
the {x}, {y} , and/or {z} keywords. When using this method, the same pressure must be
|
||||
specified via {Pstart} and {Pstop} for all dimensions controlled. Any choice of
|
||||
pressure conditions that would cause LAMMPS to compute a deviatoric stress are not
|
||||
permissible and will result in an error. Additionally, all dimensions with
|
||||
controlled stress must have the same applied strain rate. The {ext} keyword must be
|
||||
set to the default value ({xyz}) when using this method.
|
||||
The second method for pressure control involves setting the normal
|
||||
stresses using the {x}, {y} , and/or {z} keywords. When using this
|
||||
method, the same pressure must be specified via {Pstart} and {Pstop}
|
||||
for all dimensions controlled. Any choice of pressure conditions that
|
||||
would cause LAMMPS to compute a deviatoric stress are not permissible
|
||||
and will result in an error. Additionally, all dimensions with
|
||||
controlled stress must have the same applied strain rate. The {ext}
|
||||
keyword must be set to the default value ({xyz}) when using this
|
||||
method.
|
||||
|
||||
For example, the following commands will work:
|
||||
|
||||
|
@ -127,8 +136,9 @@ fix f6 all npt/uef temp 0.7 0.7 0.5 x 1 1 5 z 2 2 5 erate 0.5 0.5 :pre
|
|||
:line
|
||||
|
||||
These fix computes a temperature and pressure each timestep. To do
|
||||
this, it creates its own computes of style "temp/uef" and "pressure/uef",
|
||||
as if one of these two sets of commands had been issued:
|
||||
this, it creates its own computes of style "temp/uef" and
|
||||
"pressure/uef", as if one of these two sets of commands had been
|
||||
issued:
|
||||
|
||||
compute fix-ID_temp group-ID temp/uef
|
||||
compute fix-ID_press group-ID pressure/uef fix-ID_temp :pre
|
||||
|
@ -137,61 +147,62 @@ compute fix-ID_temp all temp/uef
|
|||
compute fix-ID_press all pressure/uef fix-ID_temp :pre
|
||||
|
||||
See the "compute temp/uef"_compute_temp_uef.html and "compute
|
||||
pressure/uef"_compute_pressure_uef.html commands for details. Note that the
|
||||
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
|
||||
+ underscore + "press".
|
||||
pressure/uef"_compute_pressure_uef.html commands for details. Note
|
||||
that the IDs of the new computes are the fix-ID + underscore + "temp"
|
||||
or fix_ID + underscore + "press".
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
The fix writes the state of all the thermostat and barostat
|
||||
variables, as well as the cumulative strain applied, to
|
||||
"binary restart files"_restart.html. See the
|
||||
"read_restart"_read_restart.html command for info on how to re-specify
|
||||
a fix in an input script that reads a restart file, so that the
|
||||
operation of the fix continues in an uninterrupted fashion.
|
||||
The fix writes the state of all the thermostat and barostat variables,
|
||||
as well as the cumulative strain applied, to "binary restart
|
||||
files"_restart.html. See the "read_restart"_read_restart.html command
|
||||
for info on how to re-specify a fix in an input script that reads a
|
||||
restart file, so that the operation of the fix continues in an
|
||||
uninterrupted fashion.
|
||||
|
||||
NOTE: It is not necessary to set the {strain} keyword when resuming
|
||||
a run from a restart file. Only for resuming from data files,
|
||||
which do not contain the cumulative applied strain, will
|
||||
this keyword be necessary.
|
||||
NOTE: It is not necessary to set the {strain} keyword when resuming a
|
||||
run from a restart file. Only for resuming from data files, which do
|
||||
not contain the cumulative applied strain, will this keyword be
|
||||
necessary.
|
||||
|
||||
This fix can be used with the "fix_modify"_fix_modify.html
|
||||
{temp} and {press} options. The temperature and pressure computes
|
||||
used must be of type {temp/uef} and {pressure/uef}.
|
||||
This fix can be used with the "fix_modify"_fix_modify.html {temp} and
|
||||
{press} options. The temperature and pressure computes used must be of
|
||||
type {temp/uef} and {pressure/uef}.
|
||||
|
||||
This fix computes the same global scalar and vecor quantities
|
||||
as "fix npt"_fix_nh.html.
|
||||
This fix computes the same global scalar and vecor quantities as "fix
|
||||
npt"_fix_nh.html.
|
||||
|
||||
The fix is not invoked during "energy
|
||||
minimization"_minimize.html.
|
||||
The fix is not invoked during "energy minimization"_minimize.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the USER-UEF package. It is only enabled if
|
||||
LAMMPS was built with that package. See the
|
||||
"Making LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
This fix is part of the USER-UEF package. It is only enabled if LAMMPS
|
||||
was built with that package. See the "Making
|
||||
LAMMPS"_Section_start.html#start_3 section for more info.
|
||||
|
||||
Due to requirements of the boundary conditions, when the {strain} keyword
|
||||
is set to zero (or unset), the initial simulation box must be cubic and
|
||||
have style triclinic. If the box is initially of type ortho, use
|
||||
"change_box"_change_box.html before invoking the fix.
|
||||
Due to requirements of the boundary conditions, when the {strain}
|
||||
keyword is set to zero (or unset), the initial simulation box must be
|
||||
cubic and have style triclinic. If the box is initially of type ortho,
|
||||
use "change_box"_change_box.html before invoking the fix.
|
||||
|
||||
NOTE: When resuming from restart files, you may need to use "box tilt large"_box.html
|
||||
since lammps has internal criteria from lattice reduction that are not
|
||||
the same as the criteria in the numerical lattice reduction algorithm.
|
||||
NOTE: When resuming from restart files, you may need to use "box tilt
|
||||
large"_box.html since lammps has internal criteria from lattice
|
||||
reduction that are not the same as the criteria in the numerical
|
||||
lattice reduction algorithm.
|
||||
|
||||
[Related commands:]
|
||||
"fix nvt"_fix_nh.html,
|
||||
"fix nvt/sllod"_fix_nvt_sllod.html,
|
||||
"compute temp/uef"_compute_temp_uef.html,
|
||||
"compute pressure/uef"_compute_pressure_uef.html,
|
||||
"dump cfg/uef"_dump_cfg_uef.html
|
||||
|
||||
"fix nvt"_fix_nh.html, "fix nvt/sllod"_fix_nvt_sllod.html, "compute
|
||||
temp/uef"_compute_temp_uef.html, "compute
|
||||
pressure/uef"_compute_pressure_uef.html, "dump
|
||||
cfg/uef"_dump_cfg_uef.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The default keyword values specific to this fix are exy = xyz, strain = 0 0.
|
||||
The remaining defaults are the same as for {fix npt}_fix_nh.html except tchain = 1.
|
||||
The reason for this change is given in "fix nvt/sllod"_fix_nvt_sllod.html.
|
||||
The default keyword values specific to this fix are exy = xyz, strain
|
||||
= 0 0. The remaining defaults are the same as for {fix
|
||||
npt}_fix_nh.html except tchain = 1. The reason for this change is
|
||||
given in "fix nvt/sllod"_fix_nvt_sllod.html.
|
||||
|
||||
:line
|
||||
|
||||
|
@ -208,4 +219,5 @@ The reason for this change is given in "fix nvt/sllod"_fix_nvt_sllod.html.
|
|||
[(Evans and Morriss)] Evans and Morriss, Phys Rev A, 30, 1528 (1984).
|
||||
|
||||
:link(Nicholson)
|
||||
[(Nicholson and Rutledge)] Nicholson and Rutledge, J Chem Phys, 145, 244903 (2016).
|
||||
[(Nicholson and Rutledge)] Nicholson and Rutledge, J Chem Phys, 145,
|
||||
244903 (2016).
|
||||
|
|
|
@ -19,24 +19,23 @@ a = anchor point of bias potential :ul
|
|||
|
||||
fix bias all rhok 16 0 0 4.0 16.0
|
||||
fix 1 all npt temp 0.8 0.8 4.0 z 2.2 2.2 8.0
|
||||
# output U_bias rho_k_RE rho_k_IM |rho_k|
|
||||
# output of 4 values from fix rhok: U_bias rho_k_RE rho_k_IM |rho_k|
|
||||
thermo_style custom step temp pzz lz f_bias f_bias\[1\] f_bias\[2\] f_bias\[3\] :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The fix applies an force to atoms given by the potential
|
||||
The fix applies a force to atoms given by the potential
|
||||
|
||||
:c,image(Eqs/fix_rhok.jpg)
|
||||
|
||||
as described in "(Pedersen)"_#Pedersen.
|
||||
as described in "(Pedersen)"_#Pedersen.
|
||||
|
||||
This field, that bias configurations with long-range order,
|
||||
can be used to study crystal-liquid interfaces
|
||||
and determine melting temperatures "(Pedersen)"_#Pedersen.
|
||||
This field, which biases configurations with long-range order, can be
|
||||
used to study crystal-liquid interfaces and determine melting
|
||||
temperatures "(Pedersen)"_#Pedersen.
|
||||
|
||||
An example of using the interface pinning method
|
||||
is located in the folder
|
||||
{examples/USER/pinning} of the source code to LAMMPS.
|
||||
An example of using the interface pinning method is located in the
|
||||
{examples/USER/misc/rhok} directory.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ fix imd, Axel Kohlmeyer, akohlmey at gmail.com, 9 Nov 2009
|
|||
fix ipi, Michele Ceriotti (EPFL Lausanne), michele.ceriotti at gmail.com, 24 Nov 2014
|
||||
fix nvk, Efrem Braun (UC Berkeley), efrem.braun at gmail.com, https://github.com/lammps/lammps/pull/310
|
||||
fix pimd, Yuxing Peng (U Chicago), yuxing at uchicago.edu, 24 Nov 2014
|
||||
fix rhok, Ulf Pedersen (Roskilde U), ulf AT urp.dk, 25 Sep 2017
|
||||
fix rhok, Ulf Pedersen (Roskilde U), ulf at urp.dk, 25 Sep 2017
|
||||
fix smd, Axel Kohlmeyer, akohlmey at gmail.com, 19 May 2008
|
||||
fix ti/spring, Rodrigo Freitas (Unicamp/Brazil), rodrigohb at gmail.com, 7 Nov 2013
|
||||
fix ttm/mod, Sergey Starikov and Vasily Pisarev (JIHT), pisarevvv at gmail.com, 2 Feb 2015
|
||||
|
|
Loading…
Reference in New Issue