4.2.2. Assemblies and Mesh Groups
4.2.2.1. Assemblies
Assemblies can be defined within Aria to aggregate mesh parts (block, surface or node list) together. An example of defining a surface and block assembly is shown below:
Begin assembly flux_bc
surface = surface_1 surface_2
End assembly
Begin assembly block_test
block = block_1 block_2
End assembly
This block is defined under the finite element command block. It should be noted that each assembly must contain the same type (or rank) of parts (block, surface or node list). Building upon the examples in Mesh Part Material Assignments, we can increase the readability of our input deck by doing the following:
Begin assembly cu_blocks
block = block_1 block_4
End assembly
Begin assembly 304L_blocks
block = block_2 block_3
End assembly
use material 304L for 304L_blocks
use material cu for cu_blocks
Assemblies can be used in a variety of operations (i.e. equation definition, boundary conditions and postprocessing operations) and generally help readability of an input file. In addition, these assemblies can be used for transfers to other apps as well. The preferred method for grouping mesh parts together within an input deck is through assemblies. A summary of commands available for defining assemblies is located in Finite Element Model Parameters.
4.2.2.2. Mesh Groups
Another option for aggregating mesh parts together is using the mesh group
command (which exists at the Aria Region scope):
Mesh Group cu_blocks = block_1 block_4
Mesh Group 304L_blocks = block_2 block_3
Note that mesh groups cannot be transferred to other apps, and are
Aria-specific; however mesh groups can group together CDFEM-decomposed parts,
whereas assemblies cannot (Level Set/CDFEM for more on CDFEM).
Mesh groups also have operators that can be applied to mesh parts and refer to
other mesh groups. These operators include plus (+), minus (-) and
range (to, thru or through) operators.
As an example, we can first define a mesh group that holds all of the blocks in Fig. 4.1:
Mesh Group summed_volumes = block_1 to block_4
The operation block_1 to block_4 aggregates all of the blocks in Fig. 4.1 into summed_volumes. The 304L_blocks and
cu_blocks from the example in Assemblies
can then be defined as:
Mesh Group cu_blocks = summed_volumes - block_2 - block_3
Mesh Group 304L_blocks = summed_volumes - block_1 - block_4
By default, the following aliases are provided
ALL_BLOCKS/ALL_VOLUMESReference to all active element blocks in the mesh
ALL_SURFACESReference to all active surfaces in the mesh
ALL_BULK_ELEMENTSReference to all active bulk nodes in the mesh
Note
The ALL_BLOCKS alias does not include the bulk nodes in a mesh. To access both the blocks and bulk nodes of a mesh simultaneously, one can use a mesh group e.g.
MESH GROUP all_blocks_and_bulk_elems = all_blocks all_bulk_elements
4.2.2.3. Omitting Parts of the Mesh
It is possible to omit parts of your input mesh at the beginning of the simulation. Doing so will make it illegal to refer to the omitted volume/block/assembly later in the input file. For example, specifying initial or boundary conditions on the omitted block will be impossible. The entities (elements, faces etc.) unique to the omitted block are never created, as if the omitted parts never existed in the mesh file. However, shared entities (e.g., a surface shared between a real and an omitted volume) will exist and may have conditions (boundary, initial etc.) applied on the portion of the entities supported by the non-omitted volumes. Below shows available commands for omitting parts of the mesh:
omit block <BlockList>
omit volume <VolumeList>
omit assembly <AssemblyList>
Details on the syntax usage can be found in Finite Element Model Parameters.