CartesianMeshGenerator

This CartesianMeshGenerator creates a non-uniform Cartesian mesh.

Overview

The CartesianMeshGenerator object is the built-in mesh generation capable of creating lines, rectangles, and hexahedra ("boxes"). The mesh spacing can be non-uniform and each line/rectangle/hexahedron can be assigned a separate subdomain id. The mesh automatically creates side sets that are logically named and numbered as follows:

  • In 1D, left = 0, right = 1

  • In 2D, bottom = 0, right = 1, top = 2, left = 3

  • In 3D, back = 0, bottom = 1, right = 2, top = 3, left = 4, front = 5

The length, width, and height of each element, as well as their subdomain id can be set independently. Each linear subdivision in x, y, or z can be additionally subdivided into sub-elements.

Example Syntax

[Mesh]
  [./cmg]
    type = CartesianMeshGenerator
    dim = 3
    dx = '1.5 2.4 0.1'
    dy = '1.3 0.9'
    dz = '0.4 0.5 0.6 0.7'
    ix = '2 1 1'
    iy = '2 3'
    iz = '1 1 1 1'
    subdomain_id = '0 1 1
                    2 2 2

                    3 4 4
                    5 5 5

                    0 1 1
                    2 2 2

                    3 4 4
                    5 5 5
                    '
  [../]
[]
(moose/test/tests/meshgenerators/cartesian_mesh_generator/cartesian_mesh_3D.i)

Input Parameters

  • dimThe dimension of the mesh to be generated

    C++ Type:MooseEnum

    Unit:(no unit assumed)

    Options:1, 2, 3

    Controllable:No

    Description:The dimension of the mesh to be generated

  • dxIntervals in the X direction

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Intervals in the X direction

Required Parameters

  • dyIntervals in the Y direction (required when dim>1 otherwise ignored)

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Intervals in the Y direction (required when dim>1 otherwise ignored)

  • dzIntervals in the Z direction (required when dim>2 otherwise ignored)

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Intervals in the Z direction (required when dim>2 otherwise ignored)

  • ixNumber of grids in all intervals in the X direction (default to all one)

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of grids in all intervals in the X direction (default to all one)

  • iyNumber of grids in all intervals in the Y direction (default to all one)

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of grids in all intervals in the Y direction (default to all one)

  • izNumber of grids in all intervals in the Z direction (default to all one)

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Number of grids in all intervals in the Z direction (default to all one)

  • subdomain_idBlock IDs (default to all zero)

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Block IDs (default to all zero)

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