2006-09-22 00:22:34 +08:00
|
|
|
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
|
|
:link(ld,Manual.html)
|
|
|
|
:link(lc,Section_commands.html#comm)
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
fix command :h3
|
|
|
|
|
|
|
|
[Syntax:]
|
|
|
|
|
|
|
|
fix ID group-ID style args :pre
|
|
|
|
|
|
|
|
ID = user-assigned name for the fix
|
|
|
|
group-ID = ID of the group of atoms to apply the fix to
|
|
|
|
style = one of a long list of possible style names (see below)
|
|
|
|
args = arguments used by a particular style :ul
|
|
|
|
|
|
|
|
[Examples:]
|
|
|
|
|
|
|
|
fix 1 all nve
|
|
|
|
fix 3 all nvt 300.0 300.0 0.01
|
|
|
|
fix mine top setforce 0.0 NULL 0.0 :pre
|
|
|
|
|
|
|
|
[Description:]
|
|
|
|
|
|
|
|
Set a fix that will be applied to a group of atoms. In LAMMPS, a
|
|
|
|
"fix" is any operation that is applied to the system during
|
|
|
|
timestepping or minimization. Examples include updating of atom
|
|
|
|
positions and velocities due to time integration, controlling
|
|
|
|
temperature, applying constraint forces to atoms, enforcing boundary
|
|
|
|
conditions, computing diagnostics, etc. There are dozens of fixes
|
2008-01-03 03:25:15 +08:00
|
|
|
defined in LAMMPS and new ones can be added; see "this
|
2006-09-22 00:22:34 +08:00
|
|
|
section"_Section_modify.html for a discussion.
|
|
|
|
|
|
|
|
Fixes perform their operations at different stages of the timestep.
|
2008-01-03 03:25:15 +08:00
|
|
|
If 2 or more fixes operate at the same stage of the timestep, they are
|
|
|
|
invoked in the order they were specified in the input script.
|
|
|
|
|
|
|
|
The ID of a fix can only contain alphanumeric characters and
|
|
|
|
underscores.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
2008-01-03 03:25:15 +08:00
|
|
|
Fixes can be deleted with the "unfix"_unfix.html command.
|
|
|
|
|
|
|
|
IMPORTANT NOTE: The "unfix"_unfix.html command is the only way to turn
|
|
|
|
off a fix; simply specifying a new fix with a similar style will not
|
|
|
|
turn off the first one. This is especially important to realize for
|
|
|
|
integration fixes. For example, using a "fix nve"_fix_nve.html
|
|
|
|
command for a second run after using a "fix nvt"_fix_nvt.html command
|
|
|
|
for the first run, will not cancel out the NVT time integration
|
|
|
|
invoked by the "fix nvt" command. Thus two time integrators would be
|
|
|
|
in place!
|
2006-09-22 00:22:34 +08:00
|
|
|
|
2006-12-16 06:53:57 +08:00
|
|
|
If you specify a new fix with the same ID and style as an existing
|
|
|
|
fix, the old fix is deleted and the new one is created (presumably
|
|
|
|
with new settings). This is the same as if an "unfix" command were
|
|
|
|
first performed on the old fix, except that the new fix is kept in the
|
|
|
|
same order relative to the existing fixes as the old one originally
|
|
|
|
was. Note that this operation also wipes out any additional changes
|
|
|
|
made to the old fix via the "fix_modify"_fix_modify.html command.
|
|
|
|
|
2007-06-26 08:03:39 +08:00
|
|
|
The "fix modify"_fix_modify.html command allows settings for some
|
|
|
|
fixes to be reset. See the doc page for individual fixes for details.
|
|
|
|
|
2007-10-10 02:24:42 +08:00
|
|
|
Some fixes calculate a global scalar or vector quantity which can be
|
2008-01-03 03:25:15 +08:00
|
|
|
accessed by various commands for output, including "equal- and
|
|
|
|
atom-style variables"_variable.html, "thermo_style
|
|
|
|
custom"_thermo_style.html, and "fix ave/time"_fix_ave_time.html.
|
|
|
|
|
|
|
|
Some fixes calculate a per-atom scalar or vector quantity which can be
|
|
|
|
accessed by various commands for output, including "atom-style
|
|
|
|
variables"_variable.html, "dump_style custom"_dump.html, and "fix
|
|
|
|
ave/spatial"_fix_ave_spatial.html.
|
|
|
|
|
|
|
|
The results of fixes that calculate global quantities can be either
|
|
|
|
"intensive" or "extensive" values. Intensive means the value is
|
|
|
|
independent of the number of atoms in the simulation, e.g. timestep
|
|
|
|
size. Extensive means the value scales with the number of atoms in
|
|
|
|
the simulation, e.g. total force applied by the fix. "Thermodynamic
|
|
|
|
output"_thermo_style.html will normalize extensive values depending on
|
|
|
|
the "thermo_modify norm" setting. But if a fix value is accessed in
|
|
|
|
another way, e.g. by a "variable"_variable.html, you may need to know
|
|
|
|
whether it is an intensive or extensive value. See the doc page for
|
|
|
|
individual fixes for further info.
|
|
|
|
|
|
|
|
See this "howto section"_Section_howto.html#4_15 for a summary of
|
|
|
|
various LAMMPS output options. See the doc pages for individual fixes
|
|
|
|
for info on which ones calculate these quantities.
|
2007-10-10 02:24:42 +08:00
|
|
|
|
2007-06-26 08:03:39 +08:00
|
|
|
Some fixes store an internal "state" which is written to binary
|
|
|
|
restart files via the "restart"_restart.html or
|
|
|
|
"write_restart"_write_restart.html commands. This allows the fix to
|
|
|
|
continue on with its calculations in a restarted simulation. 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. See the doc pages
|
|
|
|
for individual fixes for info on which ones can be restarted.
|
|
|
|
|
2008-01-03 03:25:15 +08:00
|
|
|
Each fix style has its own documentation page which describes its
|
|
|
|
arguments and what it does, as listed below. Here is an alphabetic
|
|
|
|
list of fix styles available in LAMMPS:
|
2006-09-22 00:22:34 +08:00
|
|
|
|
2007-10-05 23:39:59 +08:00
|
|
|
"addforce"_fix_addforce.html - add a force to each atom
|
|
|
|
"aveforce"_fix_aveforce.html - add an averaged force to each atom
|
|
|
|
"ave/atom"_fix_ave_atom.html - compute per-atom time-averaged quantities
|
|
|
|
"ave/spatial"_fix_ave_spatial.html - output per-atom quantities by layer
|
|
|
|
"ave/time"_fix_ave_time.html - output time-averaged compute quantities
|
2009-01-06 06:26:31 +08:00
|
|
|
"bond/break"_fix_bond_break.html - break bonds on the fly
|
|
|
|
"bond/create"_fix_bond_create.html - create bonds on the fly
|
2008-05-16 05:21:50 +08:00
|
|
|
"bond/swap"_fix_bond_swap.html - Monte Carlo bond swapping
|
2007-10-05 23:39:59 +08:00
|
|
|
"com"_fix_com.html - compute a center-of-mass
|
2008-01-04 08:27:56 +08:00
|
|
|
"coord/original"_fix_coord_original.html - store original coords of each atom
|
2007-10-05 23:39:59 +08:00
|
|
|
"deform"_fix_deform.html - change the simulation box size/shape
|
|
|
|
"deposit"_fix_deposit.html - add new atoms above a surface
|
|
|
|
"drag"_fix_drag.html - drag atoms towards a defined coordinate
|
2007-10-11 06:28:11 +08:00
|
|
|
"dt/reset"_fix_dt_reset.html - reset the timestep based on velocity, forces
|
2007-10-05 23:39:59 +08:00
|
|
|
"efield"_fix_efield.html - impose electric field on system
|
|
|
|
"enforce2d"_fix_enforce2d.html - zero out z-dimension velocity and force
|
|
|
|
"freeze"_fix_freeze.html - freeze atoms in a granular simulation
|
|
|
|
"gravity"_fix_gravity.html - add gravity to atoms in a granular simulation
|
|
|
|
"gyration"_fix_gyration.html - compute radius of gyration
|
2007-10-27 04:42:35 +08:00
|
|
|
"heat"_fix_heat.html - add/subtract momentum-conserving heat
|
2007-10-05 23:39:59 +08:00
|
|
|
"indent"_fix_indent.html - impose force due to an indenter
|
|
|
|
"langevin"_fix_langevin.html - Langevin temperature control
|
|
|
|
"lineforce"_fix_lineforce.html - constrain atoms to move in a line
|
|
|
|
"msd"_fix_msd.html - compute mean-squared displacement \
|
2006-09-22 00:22:34 +08:00
|
|
|
(i.e. diffusion coefficient)
|
2007-10-05 23:39:59 +08:00
|
|
|
"momentum"_fix_momentum.html - zero the linear and/or angular momentum \
|
2006-09-22 00:22:34 +08:00
|
|
|
of a group of atoms
|
2007-10-05 23:39:59 +08:00
|
|
|
"nph"_fix_nph.html - constant NPH time integration via Nose/Hoover
|
|
|
|
"npt"_fix_npt.html - constant NPT time integration via Nose/Hoover
|
|
|
|
"npt/asphere"_fix_npt_asphere.html - NPT for aspherical particles
|
2008-03-20 06:23:37 +08:00
|
|
|
"npt/sphere"_fix_npt_sphere.html - NPT for spherical particles
|
2007-10-05 23:39:59 +08:00
|
|
|
"nve"_fix_nve.html - constant NVE time integration
|
|
|
|
"nve/asphere"_fix_nve_asphere.html - NVT for aspherical particles
|
|
|
|
"nve/limit"_fix_nve_limit.html - NVE with limited step length
|
|
|
|
"nve/noforce"_fix_nve_noforce.html - NVE without forces (v only)
|
2008-03-18 08:23:39 +08:00
|
|
|
"nve/sphere"_fix_nve_asphere.html - NVT for spherical particles
|
2007-10-05 23:39:59 +08:00
|
|
|
"nvt"_fix_nvt.html - constant NVT time integration via Nose/Hoover
|
|
|
|
"nvt/asphere"_fix_nvt_asphere.html - NVT for aspherical particles
|
|
|
|
"nvt/sllod"_fix_nvt_sllod.html - NVT for NEMD with SLLOD equations
|
2008-03-20 06:23:37 +08:00
|
|
|
"nvt/sphere"_fix_nvt_sphere.html - NVT for spherical particles
|
2007-10-05 23:39:59 +08:00
|
|
|
"orient/fcc"_fix_orient_fcc.html - add grain boundary migration force
|
|
|
|
"planeforce"_fix_planeforce.html - constrain atoms to move in a plane
|
|
|
|
"poems"_fix_poems.html - constrain clusters of atoms to move \
|
2006-09-22 00:22:34 +08:00
|
|
|
as coupled rigid bodies
|
2007-10-05 23:39:59 +08:00
|
|
|
"pour"_fix_pour.html - pour new atoms into a granular simulation domain
|
2008-03-19 06:21:46 +08:00
|
|
|
"press/berendsen"_fix_press_berendsen.html - pressure control by \
|
|
|
|
Berendsen barostat
|
2007-10-05 23:39:59 +08:00
|
|
|
"print"_fix_print.html - print text and variables during a simulation
|
|
|
|
"rdf"_fix_rdf.html - compute radial distribution functions
|
|
|
|
"recenter"_fix_recenter.html - constrain the center-of-mass position \
|
2006-09-22 00:22:34 +08:00
|
|
|
of a group of atoms
|
2007-10-05 23:39:59 +08:00
|
|
|
"rigid"_fix_rigid.html - constrain one or more clusters of atoms to \
|
2006-09-22 00:22:34 +08:00
|
|
|
move as a rigid body
|
2007-10-05 23:39:59 +08:00
|
|
|
"setforce"_fix_setforce.html - set the force on each atom
|
|
|
|
"shake"_fix_shake.html - SHAKE constraints on bonds and/or angles
|
|
|
|
"spring"_fix_spring.html - apply harmonic spring force to group of atoms
|
|
|
|
"spring/rg"_fix_spring_rg.html - spring on radius of gyration of \
|
2006-09-22 00:22:34 +08:00
|
|
|
group of atoms
|
2007-10-05 23:39:59 +08:00
|
|
|
"spring/self"_fix_spring_self.html - spring from each atom to its origin
|
2008-03-12 00:37:01 +08:00
|
|
|
"temp/berendsen"_fix_temp_berendsen.html - temperature control by \
|
|
|
|
Berendsen thermostat
|
2007-10-05 23:39:59 +08:00
|
|
|
"temp/rescale"_fix_temp_rescale.html - temperature control by \
|
2006-09-22 00:22:34 +08:00
|
|
|
velocity rescaling
|
2008-05-15 05:40:02 +08:00
|
|
|
"thermal/conductivity"_fix_thermal_conductivity.html - Muller-Plathe kinetic energy exchange for \
|
|
|
|
thermal conductivity calculation
|
2007-10-05 23:39:59 +08:00
|
|
|
"tmd"_fix_tmd.html - guide a group of atoms to a new configuration
|
2007-10-17 02:39:08 +08:00
|
|
|
"viscosity"_fix_viscosity.html - Muller-Plathe momentum exchange for \
|
|
|
|
viscosity calculation
|
2007-10-05 23:39:59 +08:00
|
|
|
"viscous"_fix_viscous.html - viscous damping for granular simulations
|
|
|
|
"wall/gran"_fix_wall_gran.html - frictional wall(s) for \
|
2006-09-22 00:22:34 +08:00
|
|
|
granular simulations
|
2007-10-05 23:39:59 +08:00
|
|
|
"wall/lj126"_fix_wall_lj126.html - Lennard-Jones 12-6 wall
|
|
|
|
"wall/lj93"_fix_wall_lj93.html - Lennard-Jones 9-3 wall
|
|
|
|
"wall/reflect"_fix_wall_reflect.html - reflecting wall(s)
|
|
|
|
"wiggle"_fix_wiggle.html - oscillate walls and frozen atoms :ul
|
2006-09-22 00:22:34 +08:00
|
|
|
|
2007-10-03 06:56:45 +08:00
|
|
|
There are also additional fix styles submitted by users which are
|
|
|
|
included in the LAMMPS distribution. The list of these with links to
|
|
|
|
the individual styles are given in the fix section of "this
|
|
|
|
page"_Section_commands.html#3_5.
|
|
|
|
|
2006-09-22 00:22:34 +08:00
|
|
|
[Restrictions:]
|
|
|
|
|
|
|
|
Some fix styles are part of specific packages. They are only enabled
|
|
|
|
if LAMMPS was built with that package. See the "Making
|
2007-06-26 08:03:39 +08:00
|
|
|
LAMMPS"_Section_start.html#2_3 section for more info on packages. The
|
|
|
|
doc pages for individual fixes tell if it is part of a package.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
[Related commands:]
|
|
|
|
|
|
|
|
"unfix"_unfix.html, "fix_modify"_fix_modify.html
|
|
|
|
|
|
|
|
[Default:] none
|