Skip to content
Snippets Groups Projects
Commit 6dd55e49 authored by Steve Plimpton's avatar Steve Plimpton Committed by GitHub
Browse files

Merge pull request #698 from lammps/doc-update

small updates to recently added docs and rename of an example dir
parents e93f8f88 281b1dc3
No related branches found
No related tags found
Loading
Showing
with 133 additions and 122 deletions
...@@ -2777,8 +2777,8 @@ USER-UEF package :link(USER-UEF),h4 ...@@ -2777,8 +2777,8 @@ USER-UEF package :link(USER-UEF),h4
[Contents:] [Contents:]
A fix style for the integration of the equations of motion under A fix style for the integration of the equations of motion under
extensional flow with proper boundary conditions, as well extensional flow with proper boundary conditions, as well as several
as several supporting compute styles and an output option. supporting compute styles and an output option.
[Author:] David Nicholson (MIT). [Author:] David Nicholson (MIT).
...@@ -2807,9 +2807,9 @@ USER-VTK package :link(USER-VTK),h4 ...@@ -2807,9 +2807,9 @@ USER-VTK package :link(USER-VTK),h4
[Contents:] [Contents:]
A "dump vtk"_dump_vtk.html command which outputs A "dump vtk"_dump_vtk.html command which outputs snapshot info in the
snapshot info in the "VTK format"_vtk, enabling visualization by "VTK format"_vtk, enabling visualization by "Paraview"_paraview or
"Paraview"_paraview or other visuzlization packages. other visuzlization packages.
:link(vtk,http://www.vtk.org) :link(vtk,http://www.vtk.org)
:link(paraview,http://www.paraview.org) :link(paraview,http://www.paraview.org)
......
...@@ -20,10 +20,11 @@ style_name = {nvt/uef} or {npt/uef} :l ...@@ -20,10 +20,11 @@ style_name = {nvt/uef} or {npt/uef} :l
one or more keyword/value pairs may be appended :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} 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 {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 {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. usually not needed, 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 {iso}, {x}, {y}, {z}, {tchain}, {pchain}, {tloop}, {ploop}, {mtk} keywords
documented by the "fix npt"_fix_nh.html command :pre
:ule :ule
[Examples:] [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 ...@@ -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:] [Description:]
This fix is used to simulate non-equilibrium molecular dynamics (NEMD) This fix is used to simulate non-equilibrium molecular dynamics (NEMD)
under diagonal flow fields, including uniaxial and biaxial flow. under diagonal flow fields, including uniaxial and biaxial flow.
Simulations under extensional flow may be carried out for an Simulations under extensional flow may be carried out for an
indefinite amount of time. It is an implementation of the boundary indefinite amount of time. It is an implementation of the boundary
conditions from "(Dobson)"_#Dobson, and also uses numerical lattice reduction conditions from "(Dobson)"_#Dobson, and also uses numerical lattice
as was proposed by "(Hunt)"_#Hunt. The lattice reduction algorithm is from reduction as was proposed by "(Hunt)"_#Hunt. The lattice reduction
"(Semaev)"_Semaev. The fix is intended for simulations of algorithm is from "(Semaev)"_Semaev. The fix is intended for
homogeneous flows, and integrates the SLLOD equations of motion, simulations of homogeneous flows, and integrates the SLLOD equations
originally proposed by Hoover and Ladd (see "(Evans and Morriss)"_#Sllod). of motion, originally proposed by Hoover and Ladd (see "(Evans and
Additional detail about this implementation can be found in Morriss)"_#Sllod). Additional detail about this implementation can be
"(Nicholson and Rutledge)"_#Nicholson. found in "(Nicholson and Rutledge)"_#Nicholson.
The applied flow field is set by the {eps} keyword. The values {edot_x} The applied flow field is set by the {eps} keyword. The values
and {edot_y} correspond to the strain rates in the xx and yy directions. {edot_x} and {edot_y} correspond to the strain rates in the xx and yy
It is implicitly assumed that the flow field is traceless, and therefore directions. It is implicitly assumed that the flow field is
the strain rate in the zz direction is eqal to -({edot_x} + {edot_y}). 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 "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 The boundary conditions require a simulation box that does not have a
consistent alignment relative to the applied flow field. Since LAMMPS consistent alignment relative to the applied flow field. Since LAMMPS
utilizes an upper-triangular simulation box, it is not possible to express utilizes an upper-triangular simulation box, it is not possible to
the evolving simulation box in the same coordinate system as the flow field. express the evolving simulation box in the same coordinate system as
This fix keeps track of two coordinate systems: the flow frame, and the the flow field. This fix keeps track of two coordinate systems: the
upper triangular LAMMPS frame. The coordinate systems are related to flow frame, and the upper triangular LAMMPS frame. The coordinate
each other through the QR decomposition, as is illustrated in the image below. systems are related to each other through the QR decomposition, as is
illustrated in the image below.
:c,image(JPG/uef_frames.jpg) :c,image(JPG/uef_frames.jpg)
During most molecular dynamics operations, the system is represented in the During most molecular dynamics operations, the system is represented
LAMMPS frame. Only when the positions and velocities are updated is the system in the LAMMPS frame. Only when the positions and velocities are
rotated to the flow frame, and it is rotated back to the LAMMPS frame updated is the system rotated to the flow frame, and it is rotated
immediately afterwards. For this reason, all vector-valued quantities back to the LAMMPS frame immediately afterwards. For this reason, all
(except for the tensors from "compute_pressure/uef"_compute_pressure_uef.html vector-valued quantities (except for the tensors from
and "compute_temp/uef"_compute_temp_uef.html) will "compute_pressure/uef"_compute_pressure_uef.html and
be computed in the LAMMPS frame. Rotationally invariant scalar quantities like "compute_temp/uef"_compute_temp_uef.html) will be computed in the
the temperature and hydrostatic pressure are frame-invariant and will be LAMMPS frame. Rotationally invariant scalar quantities like the
computed correctly. Additionally, the system is in the LAMMPS frame during all of the temperature and hydrostatic pressure are frame-invariant and will be
output steps, and therefore trajectory files made using the dump command computed correctly. Additionally, the system is in the LAMMPS frame
will be in the LAMMPS frame unless the "dump_cfg/uef"_dump_cfg_uef.html command is used. 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 :line
Temperature control is achieved with the default Nose-Hoover style Temperature control is achieved with the default Nose-Hoover style
thermostat documented in "fix npt"_fix_nh.html. When this fix is active, thermostat documented in "fix npt"_fix_nh.html. When this fix is
only the peculiar velocity of each atom is stored, defined as the velocity active, only the peculiar velocity of each atom is stored, defined as
relative to the streaming velocity. This is in contrast to the velocity relative to the streaming velocity. This is in contrast
"fix nvt/sllod"_fix_nvt_sllod.html, which uses a lab-frame velocity, and to "fix nvt/sllod"_fix_nvt_sllod.html, which uses a lab-frame
removes the contribution from the streaming velocity in order to compute velocity, and removes the contribution from the streaming velocity in
the temperature. order to compute the temperature.
Pressure control is achieved using the default Nose-Hoover barostat documented Pressure control is achieved using the default Nose-Hoover barostat
in "fix npt"_fix_nh.html. There are two ways to control the pressure using this documented in "fix npt"_fix_nh.html. There are two ways to control the
fix. The first method involves using the {ext} keyword along with the {iso} pressure pressure using this fix. The first method involves using the {ext}
style. With this method, the pressure is controlled by scaling the simulation box keyword along with the {iso} pressure style. With this method, the
isotropically to achieve the average pressure only in the directions specified by {ext}. pressure is controlled by scaling the simulation box isotropically to
For example, if the {ext} value is set to {xy}, the average pressure (Pxx+Pyy)/2 achieve the average pressure only in the directions specified by
will be controlled. {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 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 This example command will control the average stress in compression
typically correspond to free surfaces under drawing with uniaxial tension: 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 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 second method for pressure control involves setting the normal
the {x}, {y} , and/or {z} keywords. When using this method, the same pressure must be stresses using the {x}, {y} , and/or {z} keywords. When using this
specified via {Pstart} and {Pstop} for all dimensions controlled. Any choice of method, the same pressure must be specified via {Pstart} and {Pstop}
pressure conditions that would cause LAMMPS to compute a deviatoric stress are not for all dimensions controlled. Any choice of pressure conditions that
permissible and will result in an error. Additionally, all dimensions with would cause LAMMPS to compute a deviatoric stress are not permissible
controlled stress must have the same applied strain rate. The {ext} keyword must be and will result in an error. Additionally, all dimensions with
set to the default value ({xyz}) when using this method. 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: 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 ...@@ -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 :line
These fix computes a temperature and pressure each timestep. To do These fix computes a temperature and pressure each timestep. To do
this, it creates its own computes of style "temp/uef" and "pressure/uef", this, it creates its own computes of style "temp/uef" and
as if one of these two sets of commands had been issued: "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_temp group-ID temp/uef
compute fix-ID_press group-ID pressure/uef fix-ID_temp :pre compute fix-ID_press group-ID pressure/uef fix-ID_temp :pre
...@@ -137,61 +147,62 @@ compute fix-ID_temp all temp/uef ...@@ -137,61 +147,62 @@ compute fix-ID_temp all temp/uef
compute fix-ID_press all pressure/uef fix-ID_temp :pre compute fix-ID_press all pressure/uef fix-ID_temp :pre
See the "compute temp/uef"_compute_temp_uef.html and "compute See the "compute temp/uef"_compute_temp_uef.html and "compute
pressure/uef"_compute_pressure_uef.html commands for details. Note that the pressure/uef"_compute_pressure_uef.html commands for details. Note
IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID that the IDs of the new computes are the fix-ID + underscore + "temp"
+ underscore + "press". or fix_ID + underscore + "press".
[Restart, fix_modify, output, run start/stop, minimize info:] [Restart, fix_modify, output, run start/stop, minimize info:]
The fix writes the state of all the thermostat and barostat The fix writes the state of all the thermostat and barostat variables,
variables, as well as the cumulative strain applied, to as well as the cumulative strain applied, to "binary restart
"binary restart files"_restart.html. See the files"_restart.html. See the "read_restart"_read_restart.html command
"read_restart"_read_restart.html command for info on how to re-specify for info on how to re-specify a fix in an input script that reads a
a fix in an input script that reads a restart file, so that the restart file, so that the operation of the fix continues in an
operation of the fix continues in an uninterrupted fashion. uninterrupted fashion.
NOTE: It is not necessary to set the {strain} keyword when resuming NOTE: It is not necessary to set the {strain} keyword when resuming a
a run from a restart file. Only for resuming from data files, run from a restart file. Only for resuming from data files, which do
which do not contain the cumulative applied strain, will not contain the cumulative applied strain, will this keyword be
this keyword be necessary. necessary.
This fix can be used with the "fix_modify"_fix_modify.html This fix can be used with the "fix_modify"_fix_modify.html {temp} and
{temp} and {press} options. The temperature and pressure computes {press} options. The temperature and pressure computes used must be of
used must be of type {temp/uef} and {pressure/uef}. type {temp/uef} and {pressure/uef}.
This fix computes the same global scalar and vecor quantities This fix computes the same global scalar and vecor quantities as "fix
as "fix npt"_fix_nh.html. npt"_fix_nh.html.
The fix is not invoked during "energy The fix is not invoked during "energy minimization"_minimize.html.
minimization"_minimize.html.
[Restrictions:] [Restrictions:]
This fix is part of the USER-UEF package. It is only enabled if This fix is part of the USER-UEF package. It is only enabled if LAMMPS
LAMMPS was built with that package. See the was built with that package. See the "Making
"Making LAMMPS"_Section_start.html#start_3 section for more info. LAMMPS"_Section_start.html#start_3 section for more info.
Due to requirements of the boundary conditions, when the {strain} keyword Due to requirements of the boundary conditions, when the {strain}
is set to zero (or unset), the initial simulation box must be cubic and keyword is set to zero (or unset), the initial simulation box must be
have style triclinic. If the box is initially of type ortho, use cubic and have style triclinic. If the box is initially of type ortho,
"change_box"_change_box.html before invoking the fix. 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 NOTE: When resuming from restart files, you may need to use "box tilt
since lammps has internal criteria from lattice reduction that are not large"_box.html since lammps has internal criteria from lattice
the same as the criteria in the numerical lattice reduction algorithm. reduction that are not the same as the criteria in the numerical
lattice reduction algorithm.
[Related commands:] [Related commands:]
"fix nvt"_fix_nh.html,
"fix nvt/sllod"_fix_nvt_sllod.html, "fix nvt"_fix_nh.html, "fix nvt/sllod"_fix_nvt_sllod.html, "compute
"compute temp/uef"_compute_temp_uef.html, temp/uef"_compute_temp_uef.html, "compute
"compute pressure/uef"_compute_pressure_uef.html, pressure/uef"_compute_pressure_uef.html, "dump
"dump cfg/uef"_dump_cfg_uef.html cfg/uef"_dump_cfg_uef.html
[Default:] [Default:]
The default keyword values specific to this fix are exy = xyz, strain = 0 0. The default keyword values specific to this fix are exy = xyz, strain
The remaining defaults are the same as for {fix npt}_fix_nh.html except tchain = 1. = 0 0. The remaining defaults are the same as for {fix
The reason for this change is given in "fix nvt/sllod"_fix_nvt_sllod.html. npt}_fix_nh.html except tchain = 1. The reason for this change is
given in "fix nvt/sllod"_fix_nvt_sllod.html.
:line :line
...@@ -208,4 +219,5 @@ The reason for this change is given in "fix nvt/sllod"_fix_nvt_sllod.html. ...@@ -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). [(Evans and Morriss)] Evans and Morriss, Phys Rev A, 30, 1528 (1984).
:link(Nicholson) :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 ...@@ -19,24 +19,23 @@ a = anchor point of bias potential :ul
fix bias all rhok 16 0 0 4.0 16.0 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 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 thermo_style custom step temp pzz lz f_bias f_bias\[1\] f_bias\[2\] f_bias\[3\] :pre
[Description:] [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) :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, This field, which biases configurations with long-range order, can be
can be used to study crystal-liquid interfaces used to study crystal-liquid interfaces and determine melting
and determine melting temperatures "(Pedersen)"_#Pedersen. temperatures "(Pedersen)"_#Pedersen.
An example of using the interface pinning method An example of using the interface pinning method is located in the
is located in the folder {examples/USER/misc/rhok} directory.
{examples/USER/pinning} of the source code to LAMMPS.
[Restrictions:] [Restrictions:]
......
...@@ -47,7 +47,7 @@ fix imd, Axel Kohlmeyer, akohlmey at gmail.com, 9 Nov 2009 ...@@ -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 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 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 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 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 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 fix ttm/mod, Sergey Starikov and Vasily Pisarev (JIHT), pisarevvv at gmail.com, 2 Feb 2015
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment