import changes to various fixes by aidan to include virial contributions

This commit is contained in:
Axel Kohlmeyer
2017-09-11 22:24:06 -04:00
parent b3547a9eca
commit e196a2b9e5
23 changed files with 193 additions and 57 deletions

View File

@ -97,6 +97,11 @@ The "fix_modify"_fix_modify.html {energy} option is supported by this
fix to add the potential "energy" of the CMAP interactions system's
potential energy as part of "thermodynamic output"_thermo_style.html.
The "fix_modify"_fix_modify.html {virial} option is supported by this
fix to add the contribution due to the interaction between
atoms and each wall to the system's virial as part of "thermodynamic
output"_thermo_style.html. The default is {virial yes}
This fix computes a global scalar which can be accessed by various
"output commands"_Section_howto.html#howto_15. The scalar is the
potential energy discussed above. The scalar value calculated by this

View File

@ -124,6 +124,11 @@ can include the forces added by this fix in a consistent manner.
I.e. there is a decrease in potential energy when atoms move in the
direction of the added force due to the electric field.
The "fix_modify"_fix_modify.html {virial} option is supported by this
fix to add the contribution due to the interaction between
atoms and each wall to the system's virial as part of "thermodynamic
output"_thermo_style.html. The default is {virial no}
The "fix_modify"_fix_modify.html {respa} option is supported by this
fix. This allows to set at which level of the "r-RESPA"_run_style.html
integrator the fix adding its forces. Default is the outermost level.

View File

@ -131,6 +131,11 @@ forces added by this fix in a consistent manner. I.e. there is a
decrease in potential energy when atoms move in the direction of the
added force.
The "fix_modify"_fix_modify.html {virial} option is supported by this
fix to add the contribution due to the interaction between
atoms and each wall to the system's virial as part of "thermodynamic
output"_thermo_style.html. The default is {virial yes}
This fix computes a global scalar which can be accessed by various
"output commands"_Section_howto.html#howto_15. The scalar is the
potential energy discussed above. The scalar stored by this fix

View File

@ -14,10 +14,11 @@ fix_modify fix-ID keyword value ... :pre
fix-ID = ID of the fix to modify :ulb,l
one or more keyword/value pairs may be appended :l
keyword = {temp} or {press} or {energy} or {respa} or {dynamic/dof} :l
keyword = {temp} or {press} or {energy} or {virial} or {respa} or {dynamic/dof} :l
{temp} value = compute ID that calculates a temperature
{press} value = compute ID that calculates a pressure
{energy} value = {yes} or {no}
{virial} value = {yes} or {no}
{respa} value = {1} to {max respa level} or {0} (for outermost level)
{dynamic/dof} value = {yes} or {no}
yes/no = do or do not recompute the number of degrees of freedom (DOF) contributing to the temperature :pre
@ -52,11 +53,10 @@ define their own compute by default, as described in their
documentation. Thus this option allows the user to override the
default method for computing P.
For fixes that calculate a contribution to the potential energy of the
system, the {energy} keyword will include that contribution in
thermodynamic output of potential energy. This is because the {energy
yes} setting must be specified to include the fix's global or per-atom
energy in the calculation performed by the "compute
The {energy} keyword can be used with fixes that support it.
{energy yes} adds a contribution to the potential energy of the
system. The fix's global and per-atom
energy is included in the calculation performed by the "compute
pe"_compute_pe.html or "compute pe/atom"_compute_pe_atom.html
commands. See the "thermo_style"_thermo_style.html command for info
on how potential energy is output. For fixes that tally a global
@ -69,6 +69,25 @@ are using it when performing an "energy minimization"_minimize.html
and if you want the energy and forces it produces to be part of the
optimization criteria.
The {virial} keyword can be used with fixes that support it.
{virial yes} adds a contribution to the virial of the
system. The fix's global and per-atom
virial is included in the calculation performed by the "compute
pressure"_compute_pressure.html or
"compute stress/atom"_compute_stress_atom.html
commands. See the "thermo_style"_thermo_style.html command for info
on how pressure is output.
NOTE: You must specify the {virial yes} setting for a fix if you
are doing "box relaxation"_fix_box_relax.html and
if you want virial contribution of the fix to be part of the
relaxation criteria, although this seems unlikely.
NOTE: This option is only supported by fixes that explicitly say
so. For some of these (e.g. the
"fix shake"_fix_shake.html command) the default setting is
{virial yes}, for others it is {virial no}.
For fixes that set or modify forces, it may be possible to select at
which "r-RESPA"_run_style.html level the fix operates via the {respa}
keyword. The RESPA level at which the fix is active can be selected.
@ -111,4 +130,4 @@ pressure"_compute_pressure.html, "thermo_style"_thermo_style.html
[Default:]
The option defaults are temp = ID defined by fix, press = ID defined
by fix, energy = no, respa = 0.
by fix, energy = no, virial = different for each fix style, respa = 0.

View File

@ -703,6 +703,11 @@ NVT, NPT, NPH rigid styles to add the energy change induced by the
thermostatting to the system's potential energy as part of
"thermodynamic output"_thermo_style.html.
The "fix_modify"_fix_modify.html {virial} option is supported by this
fix to add the contribution due to the interaction between
atoms and each wall to the system's virial as part of "thermodynamic
output"_thermo_style.html. The default is {virial yes}
The "fix_modify"_fix_modify.html {temp} and {press} options are
supported by the 4 NPT and NPH rigid styles to change the computes
used to calculate the instantaneous pressure tensor. Note that the 2

View File

@ -186,6 +186,11 @@ to 1 and recompiling LAMMPS.
[Restart, fix_modify, output, run start/stop, minimize info:]
The "fix_modify"_fix_modify.html {virial} option is supported by this
fix to add the contribution due to the interaction between
atoms and each wall to the system's virial as part of "thermodynamic
output"_thermo_style.html. The default is {virial yes}
No information about these fixes is written to "binary restart
files"_restart.html. None of the "fix_modify"_fix_modify.html options
are relevant to these fixes. No global or per-atom quantities are

View File

@ -252,6 +252,11 @@ fix to add the energy of interaction between atoms and each wall to
the system's potential energy as part of "thermodynamic
output"_thermo_style.html.
The "fix_modify"_fix_modify.html {virial} option is supported by this
fix to add the contribution due to the interaction between
atoms and each wall to the system's virial as part of "thermodynamic
output"_thermo_style.html. The default is {virial no}
The "fix_modify"_fix_modify.html {respa} option is supported by this
fix. This allows to set at which level of the "r-RESPA"_run_style.html
integrator the fix is adding its forces. Default is the outermost level.

View File

@ -15,7 +15,7 @@ fix ID group-ID wall/region region-ID style epsilon sigma cutoff :pre
ID, group-ID are documented in "fix"_fix.html command
wall/region = style name of this fix command
region-ID = region whose boundary will act as wall
style = {lj93} or {lj126} or {colloid} or {harmonic}
style = {lj93} or {lj126} or {lj1043} or {colloid} or {harmonic}
epsilon = strength factor for wall-particle interaction (energy or energy/distance^2 units)
sigma = size factor for wall-particle interaction (distance units)
cutoff = distance from wall at which wall-particle interaction is cut off (distance units) :ul
@ -112,6 +112,10 @@ For style {lj126}, the energy E is given by the 12/6 potential:
:c,image(Eqs/pair_lj.jpg)
For style {wall/lj1043}, the energy E is given by the 10/4/3 potential:
:c,image(Eqs/fix_wall_lj1043.jpg)
For style {colloid}, the energy E is given by an integrated form of
the "pair_style colloid"_pair_colloid.html potential:
@ -128,49 +132,8 @@ surface no longer interact. The energy of the wall potential is
shifted so that the wall-particle interaction energy is 0.0 at the
cutoff distance.
For the {lj93} and {lj126} styles, {epsilon} and {sigma} are the usual
Lennard-Jones parameters, which determine the strength and size of the
particle as it interacts with the wall. Epsilon has energy units.
Note that this {epsilon} and {sigma} may be different than any
{epsilon} or {sigma} values defined for a pair style that computes
particle-particle interactions.
The {lj93} interaction is derived by integrating over a 3d
half-lattice of Lennard-Jones 12/6 particles. The {lj126} interaction
is effectively a harder, more repulsive wall interaction.
For the {colloid} style, {epsilon} is effectively a Hamaker constant
with energy units for the colloid-wall interaction, {R} is the radius
of the colloid particle, {D} is the distance from the surface of the
colloid particle to the wall (r-R), and {sigma} is the size of a
constituent LJ particle inside the colloid particle. Note that the
cutoff distance Rc in this case is the distance from the colloid
particle center to the wall.
The {colloid} interaction is derived by integrating over constituent
LJ particles of size {sigma} within the colloid particle and a 3d
half-lattice of Lennard-Jones 12/6 particles of size {sigma} in the
wall.
For the {wall/harmonic} style, {epsilon} is effectively the spring
constant K, and has units (energy/distance^2). The input parameter
{sigma} is ignored. The minimum energy position of the harmonic
spring is at the {cutoff}. This is a repulsive-only spring since the
interaction is truncated at the {cutoff}
NOTE: For all of the styles, you must insure that r is always > 0 for
all particles in the group, or LAMMPS will generate an error. This
means you cannot start your simulation with particles on the region
surface (r = 0) or with particles on the wrong side of the region
surface (r < 0). For the {wall/lj93} and {wall/lj126} styles, the
energy of the wall/particle interaction (and hence the force on the
particle) blows up as r -> 0. The {wall/colloid} style is even more
restrictive, since the energy blows up as D = r-R -> 0. This means
the finite-size particles of radius R must be a distance larger than R
from the region surface. The {harmonic} style is a softer potential
and does not blow up as r -> 0, but you must use a large enough
{epsilon} that particles always reamin on the correct side of the
region surface (r > 0).
For a full description of these wall styles, see fix_style
"wall"_fix_wall.html
[Restart, fix_modify, output, run start/stop, minimize info:]
@ -182,6 +145,11 @@ fix to add the energy of interaction between atoms and the wall to the
system's potential energy as part of "thermodynamic
output"_thermo_style.html.
The "fix_modify"_fix_modify.html {virial} option is supported by this
fix to add the contribution due to the interaction between
atoms and each wall to the system's virial as part of "thermodynamic
output"_thermo_style.html. The default is {virial no}
The "fix_modify"_fix_modify.html {respa} option is supported by this
fix. This allows to set at which level of the "r-RESPA"_run_style.html
integrator the fix is adding its forces. Default is the outermost level.