LowerDBlockFromSidesetGenerator

Adds lower dimensional elements on the specified sidesets.

Overview

This mesh generator accepts a list of sidesets and creates a lower dimensional block of elements along those sides. The order of the newly create lower dimensional element block will match the order of the parent elements (e.g. first order for first order parents, second order for second order parents).

Element sides are not explicitly meshed in MOOSE/libMesh, i.e. no shape functions live on the lower dimensional sides. To run kernels on lower dimensional manifolds they need to be explicitly meshed. That can be accomplished in a mesh generation tool like Cubit, or using this MeshGenerator.

In 3D simulations, the appropriate 2D elements (for 2D simulations, 1D elements) will be meshed in at selected side sets (boundaries).

Coupling between side and volume meshes

The newly-generated lower dimensional side elements will share nodes with the higher dimensional volume's elements. Coupling to the variables from volume elements "just works".

Coupling in the other direction is not as straight forward. The lower dimensional variables exist on some nodes of the adjacent volume elements. The volume kernels will run on the volume quadrature points at which tapered off values from the adjacent edges can be found. Use at your own risk.

Input Parameters

  • inputThe mesh we want to modify

    C++ Type:MeshGeneratorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The mesh we want to modify

  • sidesetsThe sidesets from which to create the new block

    C++ Type:std::vector<BoundaryName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The sidesets from which to create the new block

Required Parameters

  • new_block_idThe lower dimensional block id to create

    C++ Type:unsigned short

    Unit:(no unit assumed)

    Controllable:No

    Description:The lower dimensional block id to create

  • new_block_nameThe lower dimensional block name to create (optional)

    C++ Type:SubdomainName

    Unit:(no unit assumed)

    Controllable:No

    Description:The lower dimensional block name to create (optional)

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Set the enabled status of the MooseObject.

  • save_with_nameKeep the mesh from this mesh generator in memory with the name specified

    C++ Type:std::string

    Unit:(no unit assumed)

    Controllable:No

    Description:Keep the mesh from this mesh generator in memory with the name specified

Advanced Parameters

  • nemesisFalseWhether or not to output the mesh file in the nemesisformat (only if output = true)

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to output the mesh file in the nemesisformat (only if output = true)

  • outputFalseWhether or not to output the mesh file after generating the mesh

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to output the mesh file after generating the mesh

  • show_infoFalseWhether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)

Debugging Parameters