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.

Note: the first examples below are based on first executing these commands:

brick width 10
volume 1 size 1
mesh volume 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.

Ending at a Surface

Group ['name' | <id>] Add Hex Propagate Surface <id> Target Surface <id>

Example

group 2 add hex propagate surface 1 target surface

Result: Group 2 will be created containing 1000 hexes

Number of Times

Group ['name' | <id>] Add Hex Propagate Surface <id> Times <number>

Example

group 2 add hex propagate surface 1 times 4

Result: Group 2 will be created containing 400 hexes

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.

Ending at a Surface with Multiple

Group ['name' | <id>] Add Hex Propagate Surface <id> Target Surface <id> Multiple <number>

Example

group 2 add hex propagate surface 1 target surface 2 multiple 2

Result: Five groups will be created and stored with their respective ids of multiple 2, these groups will be stored in the parent group, Group 3, and Group 3 will be stored in the grand parent group, Group 2.

Number of Times with Multiple

Group ['name' | <id>] Add Hex Propagate Surface <id> Times <number> Multiple <number>

Example

group 2 add hex propagate surface 1 times 10 multiple 5

Result: Two groups will be created and stored with their respective ids of multiple 5, these two groups will be stored in the parent group, Group 3, and Group 3 will be stored in the grand parent group, Group 2.

 

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.

Note: for 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

Ending at Surface with Direction

Group ['name' | <id>] Add Hex Propagate Surface <id> Times <number> Direction Node <id>

Example

group 2 add hex propagate surface 6 target surface 12 direction node 1530

Result: Group 2 will be created containing 400 hexes

Note: 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)

Number of Times with Direction

Group ['name' | <id>] Add Hex Propagate Surface <id> Times <number> Direction [surface <id> | node <id>]

Example

group 2 add hex propagate surface 6 times 4 direction surface 4

group 2 add hex propagate surface 6 times 4 direction node 1530

Result: group 2 will be created containing 400 hexes

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:

Ending at a Surface

Group ['name' | <id>] Add Hex Propagate [Source] Face <id range> Target Surface <id>

Example

group 2 add hex propagate face 1 11 21 target surface 2

Result: Group 2 will be created containing 30 propagated hexes (10 layers of 3 hexes)

Ending at a Face

Group ['name' | <id>] Add Hex Propagate [Source] Face <id> Target Face <id>

Example

group 2 add hex propagate face 1 target face 1721

Result: Group 2 will be created containing 5 propagated hexes (5 layers of 1 hex)

Note: Ending at a face requires starting at one face at one time, but ending at surface allows multiple start faces

Number of Times

Group ['name' | <id>] Add Hex Propagate [Source] Face <id range> Times <number>

Example

group 2 add hex propagate face 2 times 4

Result: Group 2 will be created containing 4 propagated hexes (4 layers of 1 hex)

 

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.

Ending at a Surface with Multiple

Group ['name' | <id>] Add Hex Propagate [Source] Face <id> Target Surface <id> Multiple <number>

Example

group 2 add hex propagate face 1 target surface 2 multiple 1

Result: Ten groups will be created and stored with their respective ids, one for each layer of hexes. These groups will be stored in the parent group, Group 3, and Group 3 will be stored in the grand parent group, Group 2. A subsequent propagation command could be executed adding to group 2 (the grandparent), which would create a single group contained in group 2 (the parent), containing the hex layer groups (the children).

Ending at a Face with Multiple

Group ['name' | <id>] Add Hex Propagate [Source] Face <id> Target Surface <id> Multiple <number>

Example

group 2 add hex propagate face 1 target face 1721 multiple 1

Result: 5 groups will be created and stored with their respective ids, one for each layer of hexes. These groups will be stored in the parent group, Group 3, and Group 3 will be stored in the grand parent group, Group 2. A subsequent propagation command could be executed adding to group 2 (the grandparent), which would create a single group contained in group 2 (the parent), containing the hex layer groups (the children).

Number of Times with Multiple

Group ['name' | <id>] Add Hex Propagate [Source] Face <id> Times <number> Multiple <number>

Example

group 2 add hex propagate face 1 times 10 multiple

Result: Two groups will be created and stored with their respective ids, these two groups will be stored in the parent group, Group 3, and Group 3 will be stored in the grand parent group, Group 2.

 

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.

Ending at Face with Direction

Group ['name' | <id>] Add Hex Propagate [source] Face <id> Target Face <id> Direction Node <id>

Example

group 2 add hex propagate face 1721 target face 1 direction node334

Result: group 2 will be created containing 6 hexes

Ending at Surface with Direction

Group ['name' | <id>] Add Hex Propagate [Source] Face <id range> Target Surface <id> Direction Node <id>

Example

group 2 add hex propagate face 1 target surface 2 direction node 334

Result: group 2 will be created containing 10 hexes

Note: 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.

Number of Times with Direction

Group ['name' | <id>] Add Hex Propagate [Source] Face <id> Times <number>Direction [surface <id> | node <id>]

Example

group 2 add hex propagate face 110 times 4 direction surface 2

group 2 add hex propagate face 1 times 4 direction node 269

Result: group 2 will be created contained 4 hexes

Note: 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)

Naming Convention for Propagated Hex Groups

A special naming convention can be used for the propagated hex groups, best described by an example.

The following command will create a hierarchy of logically named groups, as follows.

group 'W1P1T1' add propagate surf 1 end surf 2 multiple 1

The hierarchy looks like this:

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.

A subsequent command:

group 'W1P2T1' add propagate surf 3 end surf 5 multiple 1

will add a parent group to W1, called W1P2, and the subsequent child groups:

W1

W1P1

W1P1T1

W1P1T2

W1P1T3

...

W1P1T10

W1P2

W1P2T1

W1P2T2

W1P2T3

...

W1P2T10