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_radius_large group_radius_small

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 ft 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 coarsegrained 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.
Related commands
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.
Related files
group.f90
, fix_displacement.f90
, fix_force.f90
, and group_cal.f90
Default
None