Syntax:
atom_modify keyword value ...
map value = array or hash first value = group-ID = group whose atoms will appear first in internal atom lists
Examples:
atom_modify map hash atom_modify first colloid
Description:
Modify properties of the atom style selected within LAMMPS.
The map keyword determines how atom ID lookup is done for molecular problems. Lookups are performed by bond (angle, etc) routines in LAMMPS to find the local atom index associated with a global atom ID. When the array value is used, each processor stores a lookup table of length N, where N is the total # of atoms in the system. This is the fastest method for most simulations, but a processor can run out of memory to store the table for very large simulations. The hash value uses a hash table to perform the lookups. This method can be slightly slower than the array method, but its memory cost is proportional to N/P on each processor, where P is the total number of processors running the simulation.
The first keyword allows a group to be specified whose atoms will be maintained as the first atoms in each processor's list of owned atoms. This in only useful when the specified group is a small fraction of all the atoms, and there are other operations LAMMPS is performing that will be sped-up significantly by being able to loop over the smaller set of atoms. Otherwise the reordering required by this option will be a net slow-down. The neigh_modify include and communicate group commands are two examples of commands that require this setting to work efficiently. Several fixes, most notably time integration fixes like fix nve, also take advantage of this setting if the group they operate on is the group specified by this command.
Note that because the atom_modify command must be used in an input script before a simulation is setup and groups are defined, this means the first keyword will specify a group that is not yet defined. This is OK; LAMMPS will check that the group exists before the first simulation is performed.
Restrictions:
This command must be used before the simulation box is defined by a read_data or create_box command.
Related commands: none
Default:
By default, atomic (non-molecular) problems do not allocate maps. For molecular problems, the option default is map = array. By default, a "first" group is not defined.