"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 recenter command :h3 [Syntax:] fix ID group-ID recenter x y z keyword value ... :pre ID, group-ID are documented in "fix"_fix.html command :ulb,l recenter = style name of this fix command :l x,y,z = constrain center-of-mass to these coords (distance units), \ any coord can also be NULL or INIT (see below) :l zero or more keyword/value pairs may be appended :l keyword = {shift} or {units} :l {shift} value = group-ID group-ID = group of atoms whose coords are shifted {units} value = {box} or {lattice} or {fraction} :pre :ule [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 :pre [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"_fix_langevin.html 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 constrain 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"_units.html command - e.g. Angstroms for {real} units. A {lattice} value means the distance units are in lattice spacings. The "lattice"_lattice.html 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"_velocity.html command can be used to create velocities with zero aggregate linear and/or angular momentum. IMPORTANT NOTE: This fix performs its operations at the same point in the timestep as other time integration fixes, such as "fix nve"_fix_nve.html, "fix nvt"_fix_nh.html, or "fix npt"_fix_nh.html. Thus fix recenter should normally be the last such fix specified in the input script, since the adjustments it makes to atom coordinates should come after the changes made by time integration. LAMMPS will warn you if your fixes are not ordered this way. IMPORTANT NOTE: If you use this fix on a small group of atoms (e.g. a molecule in solvent) without using the {shift} keyword to adjust the positions of all atoms in the system, then the results can be unpredictable. For example, if the molecule is pushed in one direction by the solvent, its velocity will increase. But its coordinates will be recentered, meaning it is pushed back towards the force. Thus over time, the velocity and temperature of the molecule could become very large (though it won't appear to be moving due to the recentering). If you are thermostatting the entire system, then the solvent would be cooled to compensate. A better solution for this simulation scenario is to use the "fix spring"_fix_spring.html command to tether the molecule in place. [Restart, fix_modify, output, run start/stop, minimize info:] No information about this fix is written to "binary restart files"_restart.html. None of the "fix_modify"_fix_modify.html options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various "output commands"_Section_howto.html#howto_15. 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 minimization"_minimize.html. [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"_displace_atoms.html command, which can be used to move atoms a large distance. [Related commands:] "fix momentum"_fix_momentum.html, "velocity"_velocity.html [Default:] The option defaults are adjust = fix group-ID, and units = lattice.