StitchBoundaryMeshGenerator

Allows a pair of boundaries to be stitched together.

Description

StitchBoundaryMeshGenerator stitches two boundaries by merging their nodes together. The boundary ids are specified by stitch_boundaries_pair. To fully stitch two boundaries, the pairs of nodes on two boundaries must be at the same locations within a default tolerance. The two boundaries must be in the same mesh.

Example Input Syntax

[Mesh]
  [gen]
    type = GeneratedMeshGenerator
    nx = 4
    ny = 4
    dim = 2
  []
  [block1]
    type = SubdomainBoundingBoxGenerator
    block_id = 1
    bottom_left = '0 0 0'
    top_right = '0.5 1 0'
    input = gen
  []
  [block2]
    type = SubdomainBoundingBoxGenerator
    block_id = 2
    bottom_left = '0.5 0 0'
    top_right = '1 1 0'
    input = block1
  []
  [breakmesh]
    input = block2
    type = BreakMeshByBlockGenerator
    block_pairs = '1 2'
    split_interface = true
    add_interface_on_two_sides = true
  []
  [block1_block2_top]
    type = SideSetsFromBoundingBoxGenerator
    input = breakmesh
    included_boundaries = 'Block1_Block2'
    boundary_new = '103'
    bottom_left = '0 0.5 0'
    top_right = '1 1 0'
  []
  [block1_block2_bottom]
    type = SideSetsFromBoundingBoxGenerator
    input = block1_block2_top
    included_boundaries = 'Block1_Block2'
    boundary_new = '102'
    bottom_left = '0 0.5 0'
    top_right = '1 1 0'
    location = OUTSIDE
  []

  [block2_block1_top]
    type = SideSetsFromBoundingBoxGenerator
    input = block1_block2_bottom
    included_boundaries = 'Block2_Block1'
    boundary_new = '101'
    bottom_left = '0 0.5 0'
    top_right = '1 1 0'
  []
  [block2_block1_bottom]
    type = SideSetsFromBoundingBoxGenerator
    input = block2_block1_top
    included_boundaries = 'Block2_Block1'
    boundary_new = '100'
    bottom_left = '0 0.5 0'
    top_right = '1 1 0'
    location = OUTSIDE
  []
  [stitch]
    type = StitchBoundaryMeshGenerator
    input = block2_block1_bottom
    clear_stitched_boundary_ids = false
    stitch_boundaries_pair = '101 103'
  []
[]
(moose/test/tests/meshgenerators/stitch_boundary_mesh_generator/stitch_2d.i)

Input Parameters

  • inputThe mesh we want to modify

    C++ Type:MeshGeneratorName

    Unit:(no unit assumed)

    Controllable:No

    Description:The mesh we want to modify

  • stitch_boundaries_pairPair of boundaries to be stitched together.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Pair of boundaries to be stitched together.

Required Parameters

  • algorithmBINARYControl the use of binary search for the nodes of the stitched surfaces.

    Default:BINARY

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:BINARY, EXHAUSTIVE

    Controllable:No

    Description:Control the use of binary search for the nodes of the stitched surfaces.

  • clear_stitched_boundary_idsTrueWhether or not to clear the stitched boundary IDs

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether or not to clear the stitched boundary IDs

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