4.10 Groups
Groups are collections of geometry and mesh entities. Groups can contain other groups. Groups provide a powerful capability for organizing and performing operations on multiple entities with minimal input. Groups can collect entities according to various criteria, such as position, size, or whether they are meshed. Performing an operation on a group is usually the same as performing that operation on all the entities in that group.
There are several utilities in CUBIT which use groups as a means of visualizing output. These utilities are described elsewhere, but listed here for reference:
Importing ACIS, IGES, STEP, Free Meshes
4.10.1 Basic Group Operations
4.10.1.1 Geometry Groups
Group ["name"] Equals <list of entities>
group "exterior" equals surface 1 to 2, curve 3 to 5
will create the group named (names are case sensitive). Any command taking entities can also take a group: e.g., mesh exterior, list exterior, or draw exterior.
group ’interior’ add surface with name ’bill’ ’john’ ’fred’
will place the surfaces named ’bill’ ’john’ and ’fred’ in the group Interior.
group ’interior’ equals surface with name ’*bill*’
Group ["name" | <id>] Add <entity list>
Group ["name" | <id>] Remove <entity list>
Group ["name" | <id>] Xor <entity list>
4.10.1.2 Group Booleans
Group {<’name’>|<id>} Intersect Group <id> with Group <id>
Group {<’name’>|<id>} Unite Group <id> with Group <id>
Group {<’name’>|<id>} Subtract Group <id> from Group <id>
4.10.1.3 Group Copy and Transform
Group <id> [Copy [nomesh]] [Move <dx> <dy> <dz>]
Group <id> [Copy [nomesh]] [Move {x|y|z} <distance>...]
Group <id> [Copy [nomesh]] [Move <direction> [distance]]
Group <id> [Copy [nomesh]] [Reflect {x|y|z}]
Group <id> [Copy [nomesh]] [Reflect <x> <y> <z>]
Group <id> [Copy [nomesh]] [Rotate <angle> About {x|y|z}]
Group <id> [Copy [nomesh]] [Rotate <angle> About <x> <y> <z>]
Group <id> [Copy [nomesh]] [Rotate <angle> About Vertex <Vertex_id1> <Vertex_id2>]
Group <id> [Copy [nomesh]] [Scale <scale> | x <val> y <val> z <val>]
4.10.1.4 Deleting Groups
Delete Group <id range> [Propagate]
4.10.1.5 Cleaning Out Groups
Group <group_id_range> Cleanout [Geometry|Mesh] [Propagate]
4.10.2 Groups in Graphics
In the GUI version of Cubit, groups may be picked with the mouse.
When displaying a group containing hexes, only the outside skin of the hexes will be displayed.
4.10.3 Group Propagation
By default, if a volume or body residing in a group is split into multiple pieces during a geometry modification operation (webcut), all resulting volumes or bodies will be contained in that group.
4.10.4 Propagated Groups
Creating propagated groups is a mechanism for joining groups of elements that meet specific criteria. For hex groups it might be grouping hexes from a hex mesh using sweep-type criteria. For surface elements, it might be grouping faces or tris into sidesets based on angle criteria.
4.10.5 Propagated Hex Groups
Propagated hex groups are a way of grouping hexes from a hex mesh using sweep-type criteria. For example, creating a group containing all hexes between two specified mesh faces.
brick width 10
volume 1 size 1
mesh volume 1
4.10.5.1 Propagated Hex Group Starting on a Surface
Starting on a surface can end at a surface or can end after the number of times the user specifies.
4.10.5.1.1 Ending at a Surface
Group [’name’ | <id>] Add Hex Propagate Surface <id> Target Surface <id>
group 2 add hex propagate surface 1 target surface 2
4.10.5.1.2 Number of Times
Group [’name’ | <id>] Add Hex Propagate Surface <id> Times <number>
group 2 add hex propagate surface 1 times 4
Both methods, ending at surface or number of times, can be used with the "multiple" option which will create several groups depending upon the multiple number specified.
4.10.5.1.3 Ending at a Surface with Multiple
Group [’name’ | <id>] Add Hex Propagate Surface <id> Target Surface <id> Multiple <number>
group 2 add hex propagate surface 1 target surface 2 multiple 2
4.10.5.1.4 Number of Times with Multiple
Group [’name’ | <id>] Add Hex Propagate Surface <id> Times <number> Multiple <number>
group 2 add hex propagate surface 1 times 10 multiple 5
If number of times is specified and the direction is ambiguous, the surface direction or the node direction can be specified to direct the propagation. If the end surface is specified, only a node direction can be specified to direct the propagation. When specifying the node direction, the node has to be picked such that when the hexes are propagated, the picked node lies in these propagated hexes. If that node is never reached while propagating, the direction is not found and zero hexes will be included in the specified group.
The examples below, the result can be seen by executing these commands:
brick x 10
vol 1 size 1
brick width 10
body 2 move 10
volume all size 1
merge all
mesh volume all
4.10.5.1.5 Ending at Surface with Direction
Group [’name’ | <id>] Add Hex Propagate Surface <id> Times <number> Direction Node <id>
group 2 add hex propagate surface 6 target surface 12 direction node 1530
The direction command and the multiple command can be combined (i.e. group 2 add propagate surface 6 times 4 multiple 2 direction node 1530)
4.10.5.1.6 Number of Times with Direction
Group [’name’ | <id>] Add Hex Propagate Surface <id> Times <number> Direction [surface <id> | node <id>]
group 2 add hex propagate surface 6 times 4 direction surface 4
group 2 add hex propagate surface 6 times 4 direction node 1530
4.10.5.2 Propagated Hex Group Starting on a Face
When starting on a face, the propagation method can end at a surface, end at a face or can end after the number of times the user specifies:
4.10.5.2.1 Ending at a Surface
Group [’name’ | <id>] Add Hex Propagate [Source] Face <id range> Target Surface <id>
group 2 add hex propagate face 1 11 21 target surface 2
4.10.5.2.2 Ending at a Face
Group [’name’ | <id>] Add Hex Propagate [Source] Face <id> Target Face <id>
group 2 add hex propagate face 1 target face 1721
Ending at a face requires starting at one face at one time, but ending at surface allows multiple start faces
4.10.5.2.3 Number of Times
Group [’name’ | <id>] Add Hex Propagate [Source] Face <id range> Times <number>
group 2 add hex propagate face 2 times 4
All of these methods, ending at surface, end at a face or number of times, can be used with the "multiple" option which will create a grandparent (top-level), parent (mid-level, contained within the grandparent) and child (bottom level, contained within the parent) groups. The child groups will contain each hex layer (specified number of layers per child group), all organized into a single parent group, which is organized underneath the group ID given to the command. Subsequent propagation commands could then be executed adding to the grandparent group, but creating a new parent and child groups. This way multiple propagation "sets" can be stored in one grandparent group, if desired.
4.10.5.2.4 Ending at a Surface with Multiple
Group [’name’ | <id>] Add Hex Propagate [Source] Face <id> Target Surface <id> Multiple <number>
group 2 add hex propagate face 1 target surface 2 multiple 1
4.10.5.2.5 Ending at a Face with Multiple
Group [’name’ | <id>] Add Hex Propagate [Source] Face <id> Target Surface <id> Multiple <number>
group 2 add hex propagate face 1 target face 1721 multiple 1
4.10.5.2.6 Number of Times with Multiple
Group [’name’ | <id>] Add Hex Propagate [Source] Face <id> Times <number> Multiple <number>
group 2 add hex propagate face 1 times 10 multiple
If the end surface or end face is ambiguous, a node direction can be specified to direct the propagation. When specify the node direction, the node has to be picked such that when the hexes are propagated, the picked node lies in these propagated hexes. If that node is never reached while propagating, the direction is not found and zero hexes will be included in the specified group.
4.10.5.2.7 Ending at Face with Direction
Group [’name’ | <id>] Add Hex Propagate [source] Face <id> Target Face <id> Direction Node <id>
group 2 add hex propagate face 1721 target face 1 direction node334
4.10.5.2.8 Ending at Surface with Direction
Group [’name’ | <id>] Add Hex Propagate [Source] Face <id range> Target Surface <id> Direction Node <id>
group 2 add hex propagate face 1 target surface 2 direction node 334
The direction command and the multiple command can be used together (i.e. group 2 add propagate face 1721 end face 1 multiple 2 direction node 334)
If number of times is specified and the direction is ambiguous, a surface direction or a node direction can be specified to direct the propagation. The node direction has the same condition as when ending at a surface or face and that is it must lie in the propagated hexes.
4.10.5.2.9 Number of Times with Direction
Group [’name’ | <id>] Add Hex Propagate [Source] Face <id> Times <number>Direction [surface <id> | node <id>]
group 2 add hex propagate face 110 times 4 direction surface 2
group 2 add hex propagate face 1 times 4 direction node 269
The direction command and the multiple command can be used together. (i.e. group 2 add propagate face 1721 times 4 multiple 2 direction surface 1)
4.10.5.3 Naming Convention for Propagated Hex Groups
A special naming convention can be used for the propagated hex groups, best described by an example.
group ’W1P1T1’ add propagate surf 1 end surf 2 multiple 1
W1 |
└─ W1P1 |
├─ W1P1T1 |
├─ W1P1T2 |
├─ W1P1T3 |
├─ ... |
└─ W1P1T10 |
Where W1P1 is contained within W1, and W1P1T1, W1P1T2, etc.. are contained within W1P1.
The software simply looks for numerical numbers in the group name and parses out the correct grandparent, parent and child names from the substrings. There must be exactly 3 substrings in the group name, each ending with an integer for the command to work properly.
group ’W1P2T1’ add propagate surf 3 end surf 5 multiple 1
W1 |
├─ W1P1 |
│ ├─ W1P1T1 |
│ ├─ W1P1T2 |
│ ├─ W1P1T3 |
│ ├─ ... |
│ └─ W1P1T10 |
└─ W1P2 |
├─ W1P2T1 |
├─ W1P2T2 |
├─ W1P2T3 |
├─ ... |
└─ W1P2T10 |
4.10.6 Quality Groups
Group {<’name’>|id} {Add|Equals|Remove|Xor} Quality { Hex | Tet | Face | Tri | Volume | Surface | Group } <id_range> { quality metric name (default is SHAPE) } [ High <value> ] [ Low <value> ] [ Top <number> ] [ Bottom <number>]
group 2 add quality volume 1 jacobian
In this case, if the meshed brick from the section Propagated Hex Groups is used, Group 2 will be created and it will contain 1000 hexes with quality characteristics.
The quality metric names can be found in the Quality Assessment section of the documentation.
4.10.7 Seeded Mesh Groups
Group {<’name’>|<id>} {Add|Equals|Remove|Xor} Seed <mesh_entities> {Feature_angle <angle> [Divergence]|Depth <number>}
The seed element may be a quad, tri, or node element. There are two methods of angle comparison for this command. The feature angle option will compare angles of the each element to its adjacent elements by comparing surface normals. In the case of nodes, the seed node surface normal will be the average of the adjacent faces or tris. Nodes will be added if their attached faces meet the angle requirements. The divergence option will compare angles to the original seed element’s surface normal. The depth option will add elements within a certain radius.
The following figures illustrate the use of the seed method to create mesh groups using the feature angle and divergence methods.
Figure 206: group ’mygroup1’ add seed face 269 feature-angle 45
Figure 207: group ’mygroup2’ add seed face 269 feature-angle 45 divergence
The seed method of creating groups is particularly useful for creating groups on free meshes for the purpose of assigning nodesets and sidesets.
The GUI command panel for this command is found by selecting
"Mode-Meshing", "Entity-Group", "Action-Manage Groups", then "Create with Seed." The command panel is shown below: