"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

atom_modify command :h3

[Syntax:]

atom_modify keyword value ... :pre

one or more keyword/value pairs may be appended :ulb,l
keyword = {map} or {first} :l
  {map} value = {array} or {hash}
  {first} value = group-ID = group whose atoms will appear first in internal atom lists :pre
:ule

[Examples:]

atom_modify map hash
atom_modify first colloid :pre

[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"_group.html 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"_neigh_modify.html and "communicate group"_communicate.html
commands are two examples of commands that require this setting to
work efficiently.  Several "fixes"_fix.html, most notably time
integration fixes like "fix nve"_fix_nve.html, 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"_read_data.html or "create_box"_create_box.html 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.
