## group

### Syntax

group group_name style_cg style_at group_shape
x lower_b upper_b i j k
y lower_b upper_b i j k
z lower_b upper_b i j k
boolean_in group_axis
group_centroid_x group_centroid_y group_centroid_z

• group_name = a string (length <= 30)

• style_cg = element or node or null

• style_at = atom or null

• group_shape = block or cylinder or cone or tube or sphere

• lower_b, upper_b = real number or inf

• i, j, k = real number

• boolean_in = t or f

  t is true
f is false

• group_axis = 1 or 2 or 3

• group_centroid_x, group_centroid_y, group_centroid_z = real number

• group_radius_large, group_radius_small = positive real number

### Examples

group top_box null atom block x inf inf 1. 0. 0. y inf inf 0. 1. 0. z 14.4 inf 0. 0. 1. t 3 20. 5. 0. 10. 10.
group cylin node null cylinder x inf inf 1. 0. 0. y inf inf 0. 1. 0. z 14.4 inf 0. 0. 1. f 3 20. 5. 0. 10. 10.
group red_cone element atom cone x inf inf 1. 0. 0. y inf inf 0. 1. 0. z 14.4 inf 0. 0. 1. t 3 20. 5. 0. 10. 5.
group big_sphere element null sphere x inf inf 1. 0. 0. y inf inf 0. 1. 0. z 14.4 inf 0. 0. 1. t 3 20. 5. 0. 10. 10.


### Description

This command sets new groups, the number of which is provided in the group_num command. The elements/nodes/atoms in a group, either a new group or a restar group, can be moved at each simulation step, deformed with the simulation cell (when boolean_def in both fix and deform commands = t), or not moved/deformed. The syntax is similar to the first of that of the modify command.

Different new groups cannot have the same group_name. Also, since the restart groups are automatically named group_*, where * is a positive integer starting from new_group_number + 1, the group_name in this command cannot have any of those names.

style_cg decides whether the group contains elements (element), nodes (node), or nothing (null) in the coarse-grained domain; the differences between element and node are discussed here. style_at decides whether the group contains atoms (atom) or nothing (null) in the atomistic domain.

There are currently five group_shape: block, cylinder, cone, tube, and sphere.

lower_b and upper_b are the lower and upper boundaries of the group_shape, respectively, in units of the component of the lattice periodicity length vector $\vec{l'}_0$ along the corresponding direction. When lower_b or upper_b = inf, the corresponding lower or upper simulation cell boundaries are taken as the group_shape boundaries, respectively. Note that when group_shape = cylinder or cone or tube, lower_b and upper_b are the lower and upper plane boundaries normal to the central axis group_axis direction, respectively.

i, j, and k decide the group_shape ($\neq$ sphere) boundary plane orientations with respect to the simulation cell, similar to those in the box_dir command.

Note that these five options (lower_b, upper_b, i, j, and k) are irrelevant when group_shape = sphere, and when group_shape = cylinder or cone or tube if the corresponding direction is not group_axis. Also, group_axis is irrelevant when group_shape = block or sphere. However, they need to be provided regardless.

When boolean_in = t, elements/nodes/atoms inside the group_shape belong to the group; otherwise, those outside do.

group_centroid_x, group_centroid_y, and group_centroid_z, in units of the component of the lattice periodicity length vector $\vec{l'}_0$ and with respect to the lower boundaries of the simulation cell along the corresponding direction, are the coordinates of the center of the base plane of a cylinder or cone or tube, or the center of a sphere. When group_shape = cylinder or cone or tube, the group_centroid_* that corresponds to the group_axis direction becomes irrelevant. For example, when group_axis = 2, group_centroid_y can take any real number without affecting the results.

group_radius_large is the base radius of a cylinder, the large base radius of a cone, the outer base radius of a tube, or the radius of a sphere. group_radius_small, the small base radius of a cone or the inner base radius of a tube, is irrelevant for other group_shape. Both group_radius_large and group_radius_small are in units of the maximum lattice periodicity length $l'_\mathrm{max}$.

Note that these six options (group_axis, group_centroid_*, and group_radius_*) are not relevant when group_shape = block. Yet, they need to be provided regardless.

There cannot be fewer group commands than new_group_number. When there are too many group commands, those appearing later will be ignored. The group_name in the cal and fix commands must match that in the current command.

This command becomes irrelevant when new_group_number = 0.

group.f90, fix_displacement.f90, fix_force.f90, and group_cal.f90

None