fix store/state command


fix ID group-ID store/state N input1 input2 ... keyword value ...
  • ID, group-ID are documented in fix command

  • store/state = style name of this fix command

  • N = store atom attributes every N steps, N = 0 for initial store only

  • input = one or more atom attributes

    possible attributes = id, mol, type, mass,
                          x, y, z, xs, ys, zs, xu, yu, zu, xsu, ysu, zsu, ix, iy, iz,
                          vx, vy, vz, fx, fy, fz,
                          q, mux, muy, muz, mu,
                          radius, diameter, omegax, omegay, omegaz,
                          angmomx, angmomy, angmomz, tqx, tqy, tqz,
                          c_ID, c_ID[I], f_ID, f_ID[I], v_name,
                          d_name, i_name, i2_name[I], d2_name[I],
    id = atom ID
    mol = molecule ID
    type = atom type
    mass = atom mass
    x,y,z = unscaled atom coordinates
    xs,ys,zs = scaled atom coordinates
    xu,yu,zu = unwrapped atom coordinates
    xsu,ysu,zsu = scaled unwrapped atom coordinates
    ix,iy,iz = box image that the atom is in
    vx,vy,vz = atom velocities
    fx,fy,fz = forces on atoms
    q = atom charge
    mux,muy,muz = orientation of dipolar atom
    mu = magnitued of dipole moment of atom
    radius,diameter = radius.diameter of spherical particle
    omegax,omegay,omegaz = angular velocity of spherical particle
    angmomx,angmomy,angmomz = angular momentum of aspherical particle
    tqx,tqy,tqz = torque on finite-size particles
    c_ID = per-atom vector calculated by a compute with ID
    c_ID[I] = Ith column of per-atom array calculated by a compute with ID
    f_ID = per-atom vector calculated by a fix with ID
    f_ID[I] = Ith column of per-atom array calculated by a fix with ID
    v_name = per-atom vector calculated by an atom-style variable with name
    i_name = custom integer vector with name
    d_name = custom floating point vector with name
    i2_name[I] = Ith column of custom integer array with name
    d2_name[I] = Ith column of custom floating-point array with name
  • zero or more keyword/value pairs may be appended

  • keyword = com

    com value = yes or no


fix 1 all store/state 0 x y z
fix 1 all store/state 0 xu yu zu com yes
fix 2 all store/state 1000 vx vy vz


Define a fix that stores attributes for each atom in the group at the time the fix is defined. If N is 0, then the values are never updated, so this is a way of archiving an atom attribute at a given time for future use in a calculation or output. See the discussion of output commands that take fixes as inputs.

If N is not zero, then the attributes will be updated every N steps.


Actually, only atom attributes specified by keywords like xu or vy or radius are initially stored immediately at the point in your input script when the fix is defined. Attributes specified by a compute, fix, or variable are not initially stored until the first run following the fix definition begins. This is because calculating those attributes may require quantities that are not defined in between runs.

The list of possible attributes is the same as that used by the dump custom command, which describes their meaning.

If the com keyword is set to yes then the xu, yu, and zu inputs store the position of each atom relative to the center-of-mass of the group of atoms, instead of storing the absolute position.

The requested values are stored in a per-atom vector or array as discussed below. Zeroes are stored for atoms not in the specified group.

Restart, fix_modify, output, run start/stop, minimize info

This fix writes the per-atom values it stores to binary restart files, so that the values can be restored when a simulation is restarted. 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.


When reading data from a restart file, this fix command has to be specified exactly the same way as before. LAMMPS will only check whether a fix is of the same style and has the same fix ID and in case of a match will then try to initialize the fix with the data stored in the binary restart file. If the fix store/state command does not match exactly, data can be corrupted or LAMMPS may crash.

None of the fix_modify options are relevant to this fix.

If a single input is specified, this fix produces a per-atom vector. If multiple inputs are specified, a per-atom array is produced where the number of columns for each atom is the number of inputs. These can be accessed by various output commands. 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 minimization.




The option default is com = no.