- 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<std::vector<std::string>>
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.", "href": "BreakMeshByBlockGenerator.html"}>>>
block_pairs<<<{"description": "The list of subdomain pairs between which interfaces will be generated."}>>> = '1 2'
[]
[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'
[]
parallel_type = REPLICATED
[](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
- stitching_hmin_tolerance_factor1e-06Factor multiplied by the elements hmin to form a tolerance to use when stitching nodes
Default:1e-06
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Factor multiplied by the elements hmin to form a tolerance to use when stitching nodes
- verbose_stitchingFalseWhether mesh stitching should have verbose output.
Default:False
C++ Type:bool
Controllable:No
Description:Whether mesh stitching should have verbose output.
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)