PatternedMeshGenerator

Creates a 2D mesh from a specified set of unique 'tiles' meshes and a two-dimensional pattern.

Overview

The PatternedMeshGenerator object is similar to TiledMeshGenerator. However, it is restricted to two dimensions and adds the ability to create a tile pattern from an arbitrary number of input meshes.

For example the input meshes shown in Figures 1 and 2 can be organized into a two dimensional pattern within the input file, as shown below, to create the pattern shown in Figure 3.

[Mesh]
  [./fmg]
    type = FileMeshGenerator
    file = quad_mesh.e
  []

  [./fmg2]
    type = FileMeshGenerator
    file = tri_mesh.e
  []

  [./pmg]
    type = PatternedMeshGenerator
    inputs = 'fmg fmg2'
    pattern = '0 0 0 0 0 0 0 0 0 0 0 0 0 0 ;
               0 1 1 0 0 0 0 0 0 0 0 1 1 0 ;
               0 1 1 1 0 0 0 0 0 0 1 1 1 0 ;
               0 1 0 1 1 0 0 0 0 1 1 0 1 0 ;
               0 1 0 0 1 1 0 0 1 1 0 0 1 0 ;
               0 1 0 0 0 1 1 1 1 0 0 0 1 0 ;
               0 1 0 0 0 0 1 1 0 0 0 0 1 0 ;
               0 1 0 0 0 0 0 0 0 0 0 0 1 0 ;
               0 1 0 0 0 0 0 0 0 0 0 0 1 0 ;
               0 1 0 0 0 0 0 0 0 0 0 0 1 0 ;
               0 1 0 0 0 0 0 0 0 0 0 0 1 0 ;
               0 0 0 0 0 0 0 0 0 0 0 0 0 0'
    bottom_boundary = 1
    right_boundary = 2
    top_boundary = 3
    left_boundary = 4
  []
[]
(../../../SoftwareDownloads/moose/test/tests/meshgenerators/patterned_mesh_generator/patterned_mesh_generator.i)

Fig 1: Input put mesh: quad_mesh.e

Fig 2: Input put mesh: tri_mesh.e

Fig 3: Resulting mesh created using PatternedMesh.

Input Parameters

  • inputsThe input MeshGenerators.

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

    Controllable:No

    Description:The input MeshGenerators.

  • patternA double-indexed array starting with the upper-left corner

    C++ Type:std::vector<std::vector<unsigned int>>

    Controllable:No

    Description:A double-indexed array starting with the upper-left corner

Required Parameters

  • bottom_boundarybottomname of the bottom (y) boundary

    Default:bottom

    C++ Type:BoundaryName

    Controllable:No

    Description:name of the bottom (y) boundary

  • left_boundaryleftname of the left (x) boundary

    Default:left

    C++ Type:BoundaryName

    Controllable:No

    Description:name of the left (x) boundary

  • right_boundaryrightname of the right (x) boundary

    Default:right

    C++ Type:BoundaryName

    Controllable:No

    Description:name of the right (x) boundary

  • 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)

  • top_boundarytopname of the top (y) boundary

    Default:top

    C++ Type:BoundaryName

    Controllable:No

    Description:name of the top (y) boundary

  • x_width0The tile width in the x direction

    Default:0

    C++ Type:double

    Controllable:No

    Description:The tile width in the x direction

  • y_width0The tile width in the y direction

    Default:0

    C++ Type:double

    Controllable:No

    Description:The tile width in the y direction

  • z_width0The tile width in the z direction

    Default:0

    C++ Type:double

    Controllable:No

    Description:The tile width in the z direction

Optional Parameters

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

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

    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

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters