- inputThe mesh we want to modify
C++ Type:MeshGeneratorName
Controllable:No
Description:The mesh we want to modify
- stitch_boundaries_pairPair of boundaries to be stitched together.
C++ Type:std::vector<short>
Controllable:No
Description:Pair of boundaries to be stitched together.
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<<<{"href": "../../syntax/Mesh/index.html"}>>>]
[gen]
type = GeneratedMeshGenerator<<<{"description": "Create a line, square, or cube mesh with uniformly spaced or biased elements.", "href": "GeneratedMeshGenerator.html"}>>>
nx<<<{"description": "Number of elements in the X direction"}>>> = 4
ny<<<{"description": "Number of elements in the Y direction"}>>> = 4
dim<<<{"description": "The dimension of the mesh to be generated"}>>> = 2
[]
[block1]
type = SubdomainBoundingBoxGenerator<<<{"description": "Changes the subdomain ID of elements either (XOR) inside or outside the specified box to the specified ID.", "href": "SubdomainBoundingBoxGenerator.html"}>>>
block_id<<<{"description": "Subdomain id to set for inside/outside the bounding box"}>>> = 1
bottom_left<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '0 0 0'
top_right<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '0.5 1 0'
input<<<{"description": "The mesh we want to modify"}>>> = gen
[]
[block2]
type = SubdomainBoundingBoxGenerator<<<{"description": "Changes the subdomain ID of elements either (XOR) inside or outside the specified box to the specified ID.", "href": "SubdomainBoundingBoxGenerator.html"}>>>
block_id<<<{"description": "Subdomain id to set for inside/outside the bounding box"}>>> = 2
bottom_left<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '0.5 0 0'
top_right<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '1 1 0'
input<<<{"description": "The mesh we want to modify"}>>> = block1
[]
[breakmesh]
input<<<{"description": "The mesh we want to modify"}>>> = block2
type = BreakMeshByBlockGenerator<<<{"description": "Break the mesh at interfaces between blocks. New nodes will be generated so elements on each side of the break are no longer connected. At the moment, this only works on a REPLICATED mesh", "href": "BreakMeshByBlockGenerator.html"}>>>
block_pairs<<<{"description": "The list of subdomain pairs between which interfaces will be generated."}>>> = '1 2'
split_interface<<<{"description": "If true, it creates a different interface for each block pair."}>>> = true
add_interface_on_two_sides<<<{"description": "Whether to add an additional interface boundary at the other side."}>>> = true
[]
[block1_block2_top]
type = SideSetsFromBoundingBoxGenerator<<<{"description": "Defines new sidesets using currently-defined sideset IDs inside or outside of a bounding box.", "href": "SideSetsFromBoundingBoxGenerator.html"}>>>
input<<<{"description": "The mesh we want to modify"}>>> = breakmesh
included_boundaries<<<{"description": "A set of boundary names or ids whose sides will be included in the new sidesets. A side is only added if it also belongs to one of these boundaries."}>>> = 'Block1_Block2'
boundary_new<<<{"description": "Boundary on specified block within the bounding box to assign"}>>> = '103'
bottom_left<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '0 0.5 0'
top_right<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '1 1 0'
[]
[block1_block2_bottom]
type = SideSetsFromBoundingBoxGenerator<<<{"description": "Defines new sidesets using currently-defined sideset IDs inside or outside of a bounding box.", "href": "SideSetsFromBoundingBoxGenerator.html"}>>>
input<<<{"description": "The mesh we want to modify"}>>> = block1_block2_top
included_boundaries<<<{"description": "A set of boundary names or ids whose sides will be included in the new sidesets. A side is only added if it also belongs to one of these boundaries."}>>> = 'Block1_Block2'
boundary_new<<<{"description": "Boundary on specified block within the bounding box to assign"}>>> = '102'
bottom_left<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '0 0.5 0'
top_right<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '1 1 0'
location<<<{"description": "Control of where the subdomain id is to be set"}>>> = OUTSIDE
[]
[block2_block1_top]
type = SideSetsFromBoundingBoxGenerator<<<{"description": "Defines new sidesets using currently-defined sideset IDs inside or outside of a bounding box.", "href": "SideSetsFromBoundingBoxGenerator.html"}>>>
input<<<{"description": "The mesh we want to modify"}>>> = block1_block2_bottom
included_boundaries<<<{"description": "A set of boundary names or ids whose sides will be included in the new sidesets. A side is only added if it also belongs to one of these boundaries."}>>> = 'Block2_Block1'
boundary_new<<<{"description": "Boundary on specified block within the bounding box to assign"}>>> = '101'
bottom_left<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '0 0.5 0'
top_right<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '1 1 0'
[]
[block2_block1_bottom]
type = SideSetsFromBoundingBoxGenerator<<<{"description": "Defines new sidesets using currently-defined sideset IDs inside or outside of a bounding box.", "href": "SideSetsFromBoundingBoxGenerator.html"}>>>
input<<<{"description": "The mesh we want to modify"}>>> = block2_block1_top
included_boundaries<<<{"description": "A set of boundary names or ids whose sides will be included in the new sidesets. A side is only added if it also belongs to one of these boundaries."}>>> = 'Block2_Block1'
boundary_new<<<{"description": "Boundary on specified block within the bounding box to assign"}>>> = '100'
bottom_left<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '0 0.5 0'
top_right<<<{"description": "The bottom left point (in x,y,z with spaces in-between)."}>>> = '1 1 0'
location<<<{"description": "Control of where the subdomain id is to be set"}>>> = OUTSIDE
[]
[stitch]
type = StitchBoundaryMeshGenerator<<<{"description": "Allows a pair of boundaries to be stitched together.", "href": "StitchBoundaryMeshGenerator.html"}>>>
input<<<{"description": "The mesh we want to modify"}>>> = block2_block1_bottom
clear_stitched_boundary_ids<<<{"description": "Whether or not to clear the stitched boundary IDs"}>>> = false
stitch_boundaries_pair<<<{"description": "Pair of boundaries to be stitched together."}>>> = '101 103'
[]
[]
(moose/test/tests/meshgenerators/stitch_boundary_mesh_generator/stitch_2d.i)Input Parameters
- algorithmBINARYControl the use of binary search for the nodes of the stitched surfaces.
Default:BINARY
C++ Type:MooseEnum
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
Controllable:No
Description:Whether or not to clear the stitched boundary IDs
Optional Parameters
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
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
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
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
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
Controllable:No
Description:Whether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)