LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Commands

fix recenter command

Syntax:

fix ID group-ID recenter x y z keyword value ... 

Examples:

fix 1 all recenter 0.0 0.5 0.0
fix 1 all recenter INIT INIT NULL
fix 1 all recenter INIT 0.0 0.0 units box 

Description:

Constrain the center-of-mass position of a group of atoms by adjusting the coordinates of the atoms every timestep. This is simply a small shift that does not alter the dynamics of the system or change the relative coordinates of any pair of atoms in the group. This can be used to insure the entire collection of atoms (or a portion of them) do not drift during the simulation due to random perturbations (e.g. fix langevin thermostatting).

Distance units for the x,y,z values are determined by the setting of the units keyword, as discussed below. One or more x,y,z values can also be specified as NULL, which means exclude that dimension from this operation. Or it can be specified as INIT which means to constain the center-of-mass to its initial value at the beginning of the run.

The center-of-mass (COM) is computed for the group specified by the fix. If the current COM is different than the specified x,y,z, then a group of atoms has their coordinates shifted by the difference. By default the shifted group is also the group specified by the fix. A different group can be shifted by using the shift keyword. For example, the COM could be computed on a protein to keep it in the center of the simulation box. But the entire system (protein + water) could be shifted.

If the units keyword is set to box, then the distance units of x,y,z are defined by the units command - e.g. Angstroms for real units. A lattice value means the distance units are in lattice spacings. The lattice command must have been previously used to define the lattice spacing. A fraction value means a fractional distance between the lo/hi box boundaries, e.g. 0.5 = middle of the box. The default is to use lattice units.

Note that the velocity command can be used to create velocities with zero aggregate linear and/or angular momentum.

Restrictions:

This fix should not be used with an x,y,z setting that causes a large shift in the system on the 1st timestep, due to the requested COM being very different from the initial COM. This could cause atoms to be lost,especially in parallel. Instead, use the displace_atoms command, which can be used several times in succession to move atoms a large distance.

This fix should be specified after integration fixes (fix nve, fix_nvt, fix npt, etc), because the adjustments it makes to atom coordinates should come after atom coordinates are changed due to time integration. LAMMPS will warn you if your fixes are not ordered this way.

Related commands:

fix momentum, velocity

Default:

The option defaults are adjust = fix group-ID, and units = lattice.