From f62d15de78d77e52f43ab5f536ae9ffe0ba40c59 Mon Sep 17 00:00:00 2001
From: sjplimp These are fix styles contributed by users, which can be used if
diff --git a/doc/Section_commands.txt b/doc/Section_commands.txt
index 0e1be8d521..24cf75f6ce 100644
--- a/doc/Section_commands.txt
+++ b/doc/Section_commands.txt
@@ -406,6 +406,7 @@ of each style or click on the style itself for a full description:
"lineforce"_fix_lineforce.html,
"msd"_fix_msd.html,
"momentum"_fix_momentum.html,
+"move"_fix_move.html,
"nph"_fix_nph.html,
"npt"_fix_npt.html,
"npt/asphere"_fix_npt_asphere.html,
@@ -445,8 +446,7 @@ of each style or click on the style itself for a full description:
"wall/gran"_fix_wall_gran.html,
"wall/lj126"_fix_wall.html,
"wall/lj93"_fix_wall.html,
-"wall/reflect"_fix_wall_reflect.html,
-"wiggle"_fix_wiggle.html :tb(c=8,ea=c)
+"wall/reflect"_fix_wall_reflect.html :tb(c=8,ea=c)
These are fix styles contributed by users, which can be used if
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
diff --git a/doc/fix.html b/doc/fix.html
index ed409c6e71..79e34a3f9f 100644
--- a/doc/fix.html
+++ b/doc/fix.html
@@ -130,6 +130,7 @@ list of fix styles available in LAMMPS:
There are also additional fix styles submitted by users which are
included in the LAMMPS distribution. The list of these with links to
diff --git a/doc/fix.txt b/doc/fix.txt
index 89540b1286..0c089348f8 100644
--- a/doc/fix.txt
+++ b/doc/fix.txt
@@ -129,6 +129,7 @@ list of fix styles available in LAMMPS:
(i.e. diffusion coefficient)
"momentum"_fix_momentum.html - zero the linear and/or angular momentum \
of a group of atoms
+"move"_fix_move.html - move atoms in a prescribed fashion
"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
@@ -177,8 +178,7 @@ list of fix styles available in LAMMPS:
"wall/gran"_fix_wall_gran.html - frictional wall(s) for granular simulations
"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
+"wall/reflect"_fix_wall_reflect.html - reflecting wall(s) :ul
There are also additional fix styles submitted by users which are
included in the LAMMPS distribution. The list of these with links to
diff --git a/doc/fix_coord_original.html b/doc/fix_coord_original.html
index 7538a9b3cd..d3c32599b7 100644
--- a/doc/fix_coord_original.html
+++ b/doc/fix_coord_original.html
@@ -59,8 +59,9 @@ fix.
This fix produces a per-atom vector which can be accessed by various
output commands. The length of the vector
-for each atom is 3, and the components store the x,y,z coords of each
-atom. The per-atom values be accessed on any timestep.
+for each atom is 3, and the components store the original unwrapped
+x,y,z coords of each atom. The per-atom values be accessed on any
+timestep.
No parameter of this fix can be used with the start/stop keywords of
the run command. This fix is not invoked during energy
diff --git a/doc/fix_coord_original.txt b/doc/fix_coord_original.txt
index d4f3158045..e1d206465d 100644
--- a/doc/fix_coord_original.txt
+++ b/doc/fix_coord_original.txt
@@ -56,8 +56,9 @@ fix.
This fix produces a per-atom vector which can be accessed by various
"output commands"_Section_howto.html#4_15. The length of the vector
-for each atom is 3, and the components store the x,y,z coords of each
-atom. The per-atom values be accessed on any timestep.
+for each atom is 3, and the components store the original unwrapped
+x,y,z coords of each atom. The per-atom values be accessed on any
+timestep.
No parameter of this fix can be used with the {start/stop} keywords of
the "run"_run.html command. This fix is not invoked during "energy
diff --git a/doc/fix_gravity.html b/doc/fix_gravity.html
index 28865d7ada..a964083388 100644
--- a/doc/fix_gravity.html
+++ b/doc/fix_gravity.html
@@ -79,8 +79,9 @@ the gradient arguments are in full rotations per time unit. E.g. a
timestep of 0.001 and a gradient of 0.1 means the acceleration vector
would rotate thru 360 degrees every 10,000 timesteps. For the
time-dependent case, the initial direction of the acceleration vector
-is phi,theta at the time the fix is specified. For 2d systems, phi
-and phi_grad are ignored.
+is phi,theta at the beginning of the simulation. For 2d systems,
+phi and phi_grad are ignored. See the note below about making the
+acceleration vector rotate continuously across multiple runs.
Style vector imposes an acceleration in the vector direction given
by (x,y,z). For 2d systems, the z component is ignored.
@@ -91,9 +92,15 @@ by (x,y,z). For 2d systems, the z component is ignored.
files. None of the fix_modify options
are relevant to this fix. No global scalar or vector or per-atom
quantities are stored by this fix for access by various output
-commands. No parameter of this fix can be
-used with the start/stop keywords of the run command.
-This fix is not invoked during energy minimization.
+commands.
+ This fix can change the direction of the gravity vector, due to the
+time-dependent gradient keyword, continuously over multiple runs,
+using the start and stop keywords of the run command.
+If you do not do this, the direction of the gravity vector will be
+reset to its initial value at the beginning of each run.
+ This fix is not invoked during energy minimization.
Restrictions: none
Syntax:
+ Examples:
+ Description:
+ Perform updates of position and velocity for atoms in the group each
+timestep using the specified settings or formulas, without regard to
+forces on the atoms. This can be useful for boundary or other atoms,
+whose movement can influence nearby atoms.
+ IMPORTANT NOTE: The atoms affected by this fix should not normally be
+time integrated by other fixes (e.g. fix nve, fix
+nvt), since that will change their positions and
+velocities twice.
+ IMPORTANT NOTE: As atoms move due to this fix, they will pass thru
+periodic boundaries and be remapped to the other side of the
+simulation box, just as they would during normal time integration
+(e.g. via the fix nve command). It is up to you to
+decide whether periodic boundaries are appropriate with the kind of
+atom motion you are prescribing with this fix.
+ IMPORTANT NOTE: As dicsussed below, atoms are moved relative to their
+initial position at the time the fix is specified. These initial
+coordinates are stored by the fix in "unwrapped" form, by using the
+image flags associated with each atom. See the dump
+custom command for a discussion of "unwrapped" coordinates.
+See the Atoms section of the read_data command for a
+discussion of image flags and how they are set for each atom. You can
+reset the image flags (e.g. to 0) before invoking this fix by using
+the set image command.
+ The linear style moves atoms at a constant velocity, so that their
+position X = (x,y,z) as a function of time is given in vector
+notation as
+ where X0 = (x0,y0,z0) is their position at the time the fix is
+specified, V is the specified velocity vector with components
+(Vx,Vy,Vz), and delta is the time elapsed since the beginning of the
+simulation. This style also sets the velocity of each atom to V =
+(Vx,Vy,Vz). If any of the velocity components is specified as NULL,
+then the position and velocity of that component is time integrated
+the same as the fix nve command would perform, using
+the corresponding force component on the atom.
+ The wiggle style moves atoms in an oscillatory fashion, so that
+their position X = (x,y,z) as a function of time is given in vector
+notation as
+ where X0 = (x0,y0,z0) is their position at the time the fix is
+specified, A is the specified amplitude vector with components
+(Ax,Ay,Az), omega is 2 PI / period, and delta is the time
+elapsed since the beginning of the simulation. This style also sets
+the velocity of each atom to the time derivative of this expression.
+If any of the amplitude components is specified as NULL, then the
+position and velocity of that component is time integrated the same as
+the fix nve command would perform, using the
+corresponding force component on the atom.
+ The rotate style rotates atoms around a rotation axis R =
+(Rx,Ry,Rz) that goes thru a point P = (Px,Py,Pz). The period of
+the rotation is also specified. This style also sets the velocity of
+each atom to (omega cross Rperp) where omega is its angular velocity
+around the rotation axis and Rperp is a perpendicular vector from the
+rotation axis to the atom. If the defined
+atom_style assigns an angular velocity to each atom,
+then each atom's angular velocity is also set to omega.
+ The variable style allows the position and velocity components of
+each atom to be set by formulas specified via the
+variable command. Each of the 6 variables is
+specified as an argument to the fix as v_name, where name is the
+name of the variable that appears elsewhere in the input script.
+ Each variable must be of either the equal or atom style.
+Equal-style variables compute a single numeric quantity, that can be
+a function of the timestep as well as of other simulation values.
+Atom-style variables compute a numeric quantity for each atom, that
+can be a function per-atom quantities, such as the atom's position, as
+well as of the timestep and other simulation values. See the
+variable command for details.
+ The first 3 variables (v_dx,v_dy,v_dz) specified for the variable
+style are used to calculate a displacement from the atom's original
+position at the time the fix was specified. The second 3 variables
+(v_vx,v_vy,v_vz) specified are used to compute a velocity for each
+atom.
+ Any of the 6 variables can be specified as NULL. If both the
+displacement and velocity variables for a particular x,y,z component
+are specified as NULL, then the position and velocity of that
+component is time integrated the same as the fix nve
+command would perform, using the corresponding force component on the
+atom. If only the velocity variable for a component is specified as
+NULL, then the displacement variable will be used to set the position
+of the atom, and its velocity component will not be changed. If only
+the displacement variable for a component is specified as NULL, then
+the velocity variable will be used to set the velocity of the atom,
+and the position of the atom will be time integrated using that
+velocity.
+ The units keyword determines the meaning of the distance units used
+to define the linear velocity and wiggle amplitude and rotate
+origin. This setting is ignored for the variable style. A box
+value selects standard units as defined by the units
+command, e.g. velocity in Angstroms/fmsec and amplitude and position
+in Angstroms for units = real. A lattice value means the velocity
+units are in lattice spacings per time and the amplitude and position
+are in lattice spacings. The lattice command must have
+been previously used to define the lattice spacing. Each of these 3
+quantities may be dependent on the x,y,z dimension, since the lattice
+spacings can be different in x,y,z.
+ For rRESPA time integration, this fix adjusts the
+position and velocity of atoms on the outermost rRESPA level.
+ Restart, fix_modify, output, run start/stop, minimize info:
+ This fix writes the original coordinates of moving atoms to binary
+restart files, so that the motion can be continuous in a
+restarted simulation. See the read_restart
+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.
+ None of the fix_modify options are relevant to this
+fix.
+ This fix produces a per-atom vector which can be accessed by various
+output commands. The length of the vector
+for each atom is 3, and the components store the original unwrapped
+x,y,z coords of each atom. The per-atom values be accessed on any
+timestep.
+ This fix can move atoms continously over multiple runs, using the
+start and stop keywords of the run command. See the
+run command for details of how to do this.
+ This fix is not invoked during energy minimization.
+ Restrictions: none
+ Related commands:
+ fix nve
+ Default: none
+ The option default is units = lattice.
+addforce aveforce ave/atom ave/spatial ave/time bond/break bond/create bond/swap box/relax com coord/original deform deposit drag dt/reset efield
-enforce2d evaporate freeze gravity gyration heat indent langevin
-lineforce msd momentum nph npt npt/asphere npt/sphere nve
-nve/asphere nve/limit nve/noforce nve/sphere nvt nvt/asphere nvt/sllod nvt/sphere
-orient/fcc planeforce poems pour press/berendsen print rdf reax/bonds
-recenter rigid setforce shake spring spring/rg spring/self temp/berendsen
-temp/rescale thermal/conductivity tmd ttm viscosity viscous wall/colloid wall/gran wall/lj126 wall/lj93 wall/reflect wiggle
+
+lineforce msd momentum move nph npt npt/asphere npt/sphere
+nve nve/asphere nve/limit nve/noforce nve/sphere nvt nvt/asphere nvt/sllod
+nvt/sphere orient/fcc planeforce poems pour press/berendsen print rdf
+reax/bonds recenter rigid setforce shake spring spring/rg spring/self
+temp/berendsen temp/rescale thermal/conductivity tmd ttm viscosity viscous wall/colloid wall/gran wall/lj126 wall/lj93 wall/reflect
+
+fix move command
+
+fix ID group-ID move style args keyword values ...
+
+
+ linear args = Vx Vy Vz
+ Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL
+ wiggle args = Ax Ay Az period
+ Ax,Ay,Az = components of amplitude vector (distance units), any component can be specified as NULL
+ period = period of oscillation (time units)
+ rotate args = Px Py Pz Rx Ry Rz period
+ Px,Py,Pz = origin point of axis of rotation (distance units)
+ Rx,Ry,Rz = axis of rotation vector
+ period = period of rotation (time units)
+ variable args = v_dx v_dy v_dz v_vx v_vy v_vz
+ v_dx,v_dy,v_dz = 3 variable names that calculate x,y,z displacement as function of time, any component can be specified as NULL
+ v_vx,v_vy,v_vz = 3 variable names that calculate x,y,z velocity as function of time, any component can be specified as NULL
+
+ units value = box or lattice
+
+
+fix 1 boundary move wiggle 3.0 0.0 0.0 1.0 units box
+fix 2 boundary move rotate 0.0 0.0 0.0 0.0 0.0 1.0 5.0
+fix 2 boundary move variable v_myx v_myy NULL v_VX v_VY NULL
+
+
+
+X(t) = X0 + V * delta
+
+X(t) = X0 + A sin(omega*delta)
+
+
+
+
position = pos0 + A - A cos (omega * delta)-
where pos0 is the position at the time the fix was specified, A is -the amplitude, omega is 2 PI / period, and delta is the -elapsed time since the fix was specified. The velocity of the wall is -set to the derivative of this expression. +
where pos0 is the position at the beginning of the simulation, A +is the amplitude, omega is 2 PI / period, and delta is the +elapsed time since the beginning of the simulatoin. The velocity of +the wall is set to the derivative of this expression. See the note +below about making a wall oscillate continuously across multiple runs.
For the shear keyword, the wall moves continuously in the specified dimension with velocity vshear. The dimension must be tangential to @@ -155,9 +156,15 @@ uninterrupted fashion.
None of the fix_modify options are relevant to this fix. No global scalar or vector or per-atom quantities are stored by this fix for access by various output -commands. No parameter of this fix can be -used with the start/stop keywords of the run command. -This fix is not invoked during energy minimization. +commands. +
+This fix can change the position and velocity of the wall(s), due to +the wiggle keyword, continuously over multiple runs, using the +start and stop keywords of the run command. If you do +not do this, the wall position and velocity will be reset to its +initial values at the beginning of each run. +
+This fix is not invoked during energy minimization.
Restrictions:
@@ -169,7 +176,7 @@ LAMMPS section for more info.Related commands:
->fix_wiggle, pair_style granular +
fix_wiggle, pair_style granular
Default: none
diff --git a/doc/fix_wall_gran.txt b/doc/fix_wall_gran.txt index 08e515452b..aadffd1a02 100644 --- a/doc/fix_wall_gran.txt +++ b/doc/fix_wall_gran.txt @@ -110,10 +110,11 @@ is set according to this equation: position = pos0 + A - A cos (omega * delta) :pre -where {pos0} is the position at the time the fix was specified, {A} is -the {amplitude}, {omega} is 2 PI / {period}, and {delta} is the -elapsed time since the fix was specified. The velocity of the wall is -set to the derivative of this expression. +where {pos0} is the position at the beginning of the simulation, {A} +is the {amplitude}, {omega} is 2 PI / {period}, and {delta} is the +elapsed time since the beginning of the simulatoin. The velocity of +the wall is set to the derivative of this expression. See the note +below about making a wall oscillate continuously across multiple runs. For the {shear} keyword, the wall moves continuously in the specified dimension with velocity {vshear}. The dimension must be tangential to @@ -138,8 +139,14 @@ uninterrupted fashion. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global scalar or vector or per-atom quantities are stored by this fix for access by various "output -commands"_Section_howto.html#4_15. No parameter of this fix can be -used with the {start/stop} keywords of the "run"_run.html command. +commands"_Section_howto.html#4_15. + +This fix can change the position and velocity of the wall(s), due to +the {wiggle} keyword, continuously over multiple runs, using the +{start} and {stop} keywords of the "run"_run.html command. If you do +not do this, the wall position and velocity will be reset to its +initial values at the beginning of each run. + This fix is not invoked during "energy minimization"_minimize.html. [Restrictions:] @@ -152,6 +159,6 @@ Any dimension (xyz) that has a granular wall must be non-periodic. [Related commands:] -"fix_wiggle"_fix_wiggle.html, pair_style granular"_pair_gran.html +"fix_wiggle"_fix_wiggle.html, "pair_style granular"_pair_gran.html [Default:] none diff --git a/doc/variable.html b/doc/variable.html index 0d69c3fcfc..395ceaefce 100644 --- a/doc/variable.html +++ b/doc/variable.html @@ -267,17 +267,18 @@ can use formula elements that produce either global values or per-atom values.The thermo keywords allowed in a formula are those defined by the -"thermo_style custom" command. Thermo keywords that require a -compute to calculate their values such as "temp" or -"press", use computes stored and invoked by the thermo_style command. -This means that you can only use those keywords in a variable if the -style you are using with the thermo_style command (and the thermo -keywords associated with that style) also define and use the needed -compute. Note that some thermo keywords use a compute indirectly to -calculate their value (e.g. the enthalpy keyword uses temp, pe, and -pressure). If a variable is evaluated in an input script (not during -a run), then the values accessed by the thermo keyword must be -current. See the discussion below about "Variable Accuracy". +thermo_style custom command. Thermo keywords that +require a compute to calculate their values such as +"temp" or "press", use computes stored and invoked by the +thermo_style command. This means that you can +only use those keywords in a variable if the style you are using with +the thermo_style command (and the thermo keywords associated with that +style) also define and use the needed compute. Note that some thermo +keywords use a compute indirectly to calculate their value (e.g. the +enthalpy keyword uses temp, pe, and pressure). If a variable is +evaluated in an input script (not during a run), then the values +accessed by the thermo keyword must be current. See the discussion +below about "Variable Accuracy".
Math operations are written in the usual way, where the "x" and "y" in the examples above can be another section of the formula. Operators diff --git a/doc/variable.txt b/doc/variable.txt index 2f6ce10b71..54d6e44541 100644 --- a/doc/variable.txt +++ b/doc/variable.txt @@ -263,17 +263,18 @@ can use formula elements that produce either global values or per-atom values. The thermo keywords allowed in a formula are those defined by the -"thermo_style custom" command. Thermo keywords that require a -"compute"_compute.html to calculate their values such as "temp" or -"press", use computes stored and invoked by the thermo_style command. -This means that you can only use those keywords in a variable if the -style you are using with the thermo_style command (and the thermo -keywords associated with that style) also define and use the needed -compute. Note that some thermo keywords use a compute indirectly to -calculate their value (e.g. the enthalpy keyword uses temp, pe, and -pressure). If a variable is evaluated in an input script (not during -a run), then the values accessed by the thermo keyword must be -current. See the discussion below about "Variable Accuracy". +"thermo_style custom"_thermo_style.html command. Thermo keywords that +require a "compute"_compute.html to calculate their values such as +"temp" or "press", use computes stored and invoked by the +"thermo_style"_thermo_style.html command. This means that you can +only use those keywords in a variable if the style you are using with +the thermo_style command (and the thermo keywords associated with that +style) also define and use the needed compute. Note that some thermo +keywords use a compute indirectly to calculate their value (e.g. the +enthalpy keyword uses temp, pe, and pressure). If a variable is +evaluated in an input script (not during a run), then the values +accessed by the thermo keyword must be current. See the discussion +below about "Variable Accuracy". Math operations are written in the usual way, where the "x" and "y" in the examples above can be another section of the formula. Operators