lammps/doc/txt/fix_modify.txt

158 lines
7.1 KiB
Plaintext

"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
:link(lws,http://lammps.sandia.gov)
:link(ld,Manual.html)
:link(lc,Commands_all.html)
:line
fix_modify command :h3
[Syntax:]
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 {virial} or {respa} or {dynamic/dof} or {bodyforces} :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 re-compute the number of degrees of freedom (DOF) contributing to the temperature
{bodyforces} value = {early} or {late}
early/late = compute rigid-body forces/torques early or late in the timestep :pre
:ule
[Examples:]
fix_modify 3 temp myTemp press myPress
fix_modify 1 energy yes
fix_modify tether respa 2 :pre
[Description:]
Modify one or more parameters of a previously defined fix. Only
specific fix styles support specific parameters. See the doc pages
for individual fix commands for info on which ones support which
fix_modify parameters.
The {temp} keyword is used to determine how a fix computes
temperature. The specified compute ID must have been previously
defined by the user via the "compute"_compute.html command and it must
be a style of compute that calculates a temperature. All fixes that
compute temperatures define their own compute by default, as described
in their documentation. Thus this option allows the user to override
the default method for computing T.
The {press} keyword is used to determine how a fix computes pressure.
The specified compute ID must have been previously defined by the user
via the "compute"_compute.html command and it must be a style of
compute that calculates a pressure. All fixes that compute pressures
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.
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
energy, it can be printed by using the keyword f_ID in the
thermo_style custom command, where ID is the fix-ID of the appropriate
fix.
NOTE: You must also specify the {energy yes} setting for a fix if you
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.
This is a number ranging from 1 to the number of levels. If the RESPA
level is larger than the current maximum, the outermost level will be
used, which is also the default setting. This default can be restored
using a value of {0} for the RESPA level. The affected fix has to be
enabled to support this feature; if not, {fix_modify} will report an
error. Active fixes with a custom RESPA level setting are reported
with their specified level at the beginning of a r-RESPA run.
The {dynamic/dof} keyword determines whether the number of atoms N in
the fix group and their associated degrees of freedom are re-computed
each time a temperature is computed. Only fix styles that calculate
their own internal temperature use this option. Currently this is
only the "fix rigid/nvt/small"_fix_rigid.html and "fix
rigid/npt/small"_fix_rigid.html commands for the purpose of
thermostatting rigid body translation and rotation. By default, N and
their DOF are assumed to be constant. If you are adding atoms or
molecules to the system (see the "fix pour"_fix_pour.html, "fix
deposit"_fix_deposit.html, and "fix gcmc"_fix_gcmc.html commands) or
expect atoms or molecules to be lost (e.g. due to exiting the
simulation box or via "fix evaporate"_fix_evaporate.html), then
this option should be used to insure the temperature is correctly
normalized.
NOTE: Other thermostatting fixes, such as "fix nvt"_fix_nh.html, do
not use the {dynamic/dof} keyword because they use a temperature
compute to calculate temperature. See the "compute_modify
dynamic/dof"_compute_modify.html command for a similar way to insure
correct temperature normalization for those thermostats.
The {bodyforces} keyword determines whether the forces and torques
acting on rigid bodies are computed {early} at the post-force stage of
each timestep (right after per-atom forces have been computed and
communicated among processors), or {late} at the final-integrate stage
of each timestep (after any other fixes have finished their post-force
tasks). Only the rigid-body integration fixes use this option, which
includes "fix rigid"_fix_rigid.html and "fix
rigid/small"_fix_rigid.html, and their variants, and also "fix
poems"_fix_poems.html.
The default is {late}. If there are other fixes that add forces to
individual atoms, then the rigid-body constraints will include these
forces when time-integrating the rigid bodies. If {early} is
specified, then new fixes can be written that use or modify the
per-body force and torque, before time-integration of the rigid bodies
occurs. Note however this has the side effect, that fixes such as
"fix addforce"_fix_addforce.html, "fix setforce"_fix_setforce.html,
"fix spring"_fix_spring.html, which add forces to individual atoms
will have no effect on the motion of the rigid bodies if they are
specified in the input script after the fix rigid command. LAMMPS
will give a warning if that is the case.
[Restrictions:] none
[Related commands:]
"fix"_fix.html, "compute temp"_compute_temp.html, "compute
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, virial = different for each fix style, respa = 0,
bodyforce = late.