MPSCircularCrossSectionMeshGenerator

Generates a cross section mesh of an axisymmetric fuel rod with an MPS.

Description

This mesh class generates a sliced, circular cross section mesh of fuel and cladding where the fuel has a Missing Pellet Surface (MPS) defect. The mesh class is built on top of CircularCrossSectionMeshGenerator.

Figure 1: Typical mesh from MPSCircularCrossSectionMeshGenerator.

Figure 2: Nodeset ids and locations for a typical MPS circular cross section mesh.

[Mesh<<<{"href": "../../syntax/Mesh/index.html"}>>>]
  [mpsccsmg]
    type = MPSCircularCrossSectionMeshGenerator<<<{"description": "Generates a cross section mesh of an axisymmetric fuel rod with an MPS.", "href": "MPSCircularCrossSectionMeshGenerator.html"}>>>
    num_sectors<<<{"description": "Number of azimuthal sectors in each quadrant. 'num_sectors' must be an even number."}>>> = 20
    elements_per_ring<<<{"description": "A list giving the number of elements in each ring (will be zero for a gap). The first entry is the number of radial elements outside the inner quadrilateral portion of the fuel mesh."}>>> = '5 0 3'
    block_names<<<{"description": "A list giving the block names.  Must be the same length as elements_per_ring.  If an entry in 'elements_per_ring' is zero, the corresponding entry in block_names will be ignored."}>>> = 'fuel null clad'
    coordinates<<<{"description": "Radial coordinates of mesh block boundaries."}>>> = '0.0041 0.00418 0.00474'
    mps_depth<<<{"description": "Radial depth of MPS"}>>> = 0.0005
  []
[]
(test/tests/circular_cross_section_mesh/mps_circular_cross_section_mesh_generator.i)

Input Parameters

  • block_namesA list giving the block names. Must be the same length as elements_per_ring. If an entry in 'elements_per_ring' is zero, the corresponding entry in block_names will be ignored.

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

    Controllable:No

    Description:A list giving the block names. Must be the same length as elements_per_ring. If an entry in 'elements_per_ring' is zero, the corresponding entry in block_names will be ignored.

  • coordinatesRadial coordinates of mesh block boundaries.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Radial coordinates of mesh block boundaries.

  • elements_per_ringA list giving the number of elements in each ring (will be zero for a gap). The first entry is the number of radial elements outside the inner quadrilateral portion of the fuel mesh.

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

    Controllable:No

    Description:A list giving the number of elements in each ring (will be zero for a gap). The first entry is the number of radial elements outside the inner quadrilateral portion of the fuel mesh.

  • mps_depthRadial depth of MPS

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Radial depth of MPS

  • num_sectorsNumber of azimuthal sectors in each quadrant. 'num_sectors' must be an even number.

    C++ Type:unsigned int

    Controllable:No

    Description:Number of azimuthal sectors in each quadrant. 'num_sectors' must be an even number.

Required Parameters

  • all_bottom_leftFalseWhether to generate sidesets for every bottom and left surface of mesh blocks.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to generate sidesets for every bottom and left surface of mesh blocks.

  • axial_directionzThe direction perpendicular to the circular cross section.

    Default:z

    C++ Type:MooseEnum

    Options:x, y, z

    Controllable:No

    Description:The direction perpendicular to the circular cross section.

  • axial_offset0The offset of the generated mesh in the axial direction of the fuel rod from the origin.

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The offset of the generated mesh in the axial direction of the fuel rod from the origin.

  • biasMesh bias. Same length as elements_per_ring, each entry b: 0.5 <= b <= 2.0.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Mesh bias. Same length as elements_per_ring, each entry b: 0.5 <= b <= 2.0.

  • compress_boundary_idsFalseWhether to compress the boundary IDs into a consecutive list.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether to compress the boundary IDs into a consecutive list.

  • dual_biasMesh dual bias. If given, bias must be given. Same length as bias, each entry b: 0.5 <= b <= 2.0.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Mesh dual bias. If given, bias must be given. Same length as bias, each entry b: 0.5 <= b <= 2.0.

  • elem_typequad8Whether to generate quad8 or quad4 elements.

    Default:quad8

    C++ Type:MooseEnum

    Options:quad4, quad8

    Controllable:No

    Description:Whether to generate quad8 or quad4 elements.

  • name_prefixIf provided, prefix the built in boundary names with this string

    C++ Type:std::string

    Controllable:No

    Description:If provided, prefix the built in boundary names with this string

  • offset0 0 The in-plane offset of the fuel (to generate eccentric fuel.

    Default:0 0

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The in-plane offset of the fuel (to generate eccentric fuel.

  • portiontop_halfControl of which part of mesh is created

    Default:top_half

    C++ Type:MooseEnum

    Options:full, top_half

    Controllable:No

    Description:Control of which part of mesh is created

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)

Debugging Parameters

Input Files

References

No citations exist within this document.