Element Block Specification

 

Element blocks are the method CUBIT uses to group related sets of elements into a single entity. Each element in an element block must have the same basic and specific element type.

The preferred method for defining blocks is to use geometric entities such as volumes, surfaces or curves. Blocks can also be defined using mesh entities. If a block is defined at a geometric entity, each of the elements owned by the geometry are automatically assigned to the block. Deleting or remeshing the geometry automatically changes the set of elements grouped into the block. If mesh entities are used to specify a block, deleting the mesh will also delete the elements from the block.

Some important notes regarding Element Blocks are as follows:

  • Multiple volumes, surfaces, and curves can be contained in a single element block
  • A volume, surface, or curve can only be in one element block
  • Element Block id's are arbitrary and user-defined. They do not need to be in any contiguous sequence of integers.
  • Element Blocks can be assigned a single floating point number, referred to as the block Attribute; this number is used to represent the length or thickness of Bar and Shell elements, respectively. The attribute defaults to 1.0 if not specified.

Creating Element Blocks

Element blocks are defined with the following Block commands.

Block <block_id> {Curve | Surface | Volume} <range> [Remove]

Block <block_id> {Hex|Tet|Pyramid|Face|Tri|Edge} <range> [Remove]

Block <block_id> Group <range> [Remove]

The first command defines the block based on a list of geometric entities, while the second uses specific lists of mesh entities. Since a block can only contain a single element type, usually entities of the same type are defined on the same block. The third option provides for assigning groups of entities to a single block. This is useful, for example, when several entities of the same type can be grouped together. The Block Group command simplifies the specifiation of the block.

By using the Remove argument to the block command, the specified geometry or mesh entity can be removed from the block definition.

Default Element Blocks

When exporting an ExodusII file, if the user has not specified any Element Blocks, by default element blocks will be written for any meshed volumes. This default behavior can be changed, to write surface, volume, or no meshes by default. This option can be set using the command

Set Default Block [ON|off|Volume|Surface]

Default behavior, ON, is for the blocks to automatically be written based on their owning geometry. When the OFF setting is used, every geometry entity containing elements must have an explicit block definition. An error will result when writing the Exodus II file with this setting if all blocks have not been defined. If Volume is specified, only elements contained in volumes will have default blocks specified. Similary, the Surface arguments indicates that only surfaces containing elements will use default blocks.

When default blocks are used, the IDs for the resulting blocks will be defined as follows based upon the type of geometry:

Volume: The default block ID will be set to the Volume ID

Surface: The block ID will be set to 0

Curve: The block ID will be set to 0

Defining the Element Type

Each block must have a specific element type associated with it. To assign an element type to a block, use the following command:

Block <block_id_range> Element Type <type>

Available element types are defined by the Exodus II file format specification. CUBIT supports the following element types:

Curves: BAR BAR2 BAR3 BEAM BEAM2 BEAM3 TRUSS TRUSS2 TRUSS3

Surfaces: QUAD QUAD4 QUAD5 QUAD8 QUAD9 SHELL SHELL4 SHELL8 SHELL9 HEXSHELL TRI TRI3 TRI6 TRI7

Volumes: HEX HEX8 HEX9 HEX20 HEX27 PYRAMID TETRA TETRA4 TETRA8 TETRA10 TETRA14

If the element type is not assigned for an element block, it will be assigned a default type depending on which type of geometry entity is contained in the block. The default values used for element type are:

Volume: 8-node hexahedral elements (HEX8) will be generated.

Surface: 4-node shell elements (SHELL4) will be generated.

Curve: 2-node bar elements (BAR2) will be generated.

Higher order nodes are moved to curved geometry by default. To change this, use the following command:

set Node Constraint {ON|off}

On means higher order nodes snap to curved geometry. Off means higher order nodes are placed at the average location of the element nodes: for edges, this means on the line containing the edge; for 2d elements, this usually means on the plane containing the element.

Several examples of specifying various types of element blocks are given in Appendix A.

Assigning Attributes to Blocks

It may be necessary to associate attributes with a specific element block. Attributes are generally integer or floating point values that represent some physical property in the region occupied by the block, such as material properties or shell thickness. To assign an attribute to an element block, use the following command:

Block <block_id_range> Attribute <value>

If more than one attribute is to be assigned to a block, first use the following command:

Block <id_range> Attribute Count <1-10>

CUBIT will store up to 10 attributes per block. Specify the maximum number of attributes to be stored on the block with this command. Once this command has been executed, individual atrubutes may be set using the following command:

Block <id_range> Attribute Index <index> <value>

The index is an integer from 1 to the maximum count specified in the Block Attribute Count command. The value may be any valid floating point number.

Displaying Element Blocks

Blocks can be viewed individually with CUBIT by employing the following command:

Draw Block <block_id_range> [Color <color_spec>] [add]

Block colors can also be changed using the following command:

Color Block <block_id_range> {color|Default}

Deleting Element Blocks

All Nodesets, Sidesets and Blocks may be deleted from the model using the following command:

Reset Genesis

To remove only Blocks, the following may be used:

Reset Block

To remove a specific block, use the Remove argument in the Block commands described above in Creating Element Blocks.

Automatically Assigning Mesh Edges to a Block (Rebar)

After a mesh has been defined within a volume, it may be useful to use the existing mesh edges as the basis for an element block. Such an element block might be composed of bars or truss type elements that might propagate through a solid medium such as rebar placed in reinforced concrete. Although the Block <id> Edge <range> command could be used for this task, it would prove extremely tedious defining the individual edges to add to the block. To make this process easier, the following command can be used:

Rebar Start <x> <y> <z> Direction <x> <y> <z> [Length <value>] Block <id> [Element Type <type>]

The Rebar command allows the user to specify a starting location for a set of edges and an initial direction. The program will find the closest existing node in the mesh to Start <x> <y> <z> and begin propagating through the mesh in the specified Direction <x> <y> <z>, adding edges to the block as it propagates through the mesh. The edge that is attached to the last node and is within a fixed 30 degrees of the specified direction is added to the block. The Propagation of the edges continues until either the optional Length value is reached or an edge does meet the Direction criteria. Also required with this command is a block ID. An Element Type can also be specified, where the valid element types are any of the following:

Valid element types for Rebar command: BAR BAR2 BAR3 BEAM BEAM2 BEAM3 TRUSS TRUSS2 TRUSS3

A related command for creating curve geometry directly from mesh edges is the Create Curve from Mesh command. See Curve creation for more details.