CapsuleMeshGenerator

Creates a 2D-RZ axisymmetric mesh of a capsule.

Description

The CapsuleMeshGenerator generates a mesh for a capsule. The structure of this mesh is similar to that of the cladding mesh from FuelPinMeshGenerator. CapsuleMeshGenerator is intended to be used alongside FuelPinMeshGenerator to create a complete mesh of a fuel experiment.

Values for block_id, block_name, sideset_ids, and sideset_names, should generally be independent from values used in FuelPinMeshGenerator.

Example Input Syntax

An example of a mesh that includes a capsule surrounding a fuel pin is given by:

[Mesh<<<{"href": "../../syntax/Mesh/index.html"}>>>]
  [rodlet]
    type = FuelPinMeshGenerator<<<{"description": "Creates a 2D-RZ axisymmetric mesh of a fuel rod.", "href": "FuelPinMeshGenerator.html"}>>>
    clad_top_gap_height<<<{"description": "Gap between top of pellet and inside top surface of cladding"}>>> = 6.0413e-4
    nx_chamfer<<<{"description": "Number of radial elements across the chamfer for each pellet block."}>>> = 1
    nx_flat<<<{"description": "Number of radial elements across the flat portion for each pellet block."}>>> = 3
    nx_dish<<<{"description": "Number of radial elements across the dish for each pellet block."}>>> = 5
    chamfer_width<<<{"description": "Width of the chamfer for each pellet block.  Must be non-negative.  Assumed to be zero if not given."}>>> = 5e-4
    chamfer_height<<<{"description": "Height of the chamfer for each pellet block.  Must be non-negative.  Ignored if 'pellet_chamfer_width' is zero.  Must be give if 'pellet_chamfer_width' is positive."}>>> = 1.6e-4
    dish_depth<<<{"description": "Depth of the dish for each pellet block.  Must be non-negative.  Assumed to be zero if not given."}>>> = 3e-4
    dish_radius<<<{"description": "Radius of dished region for each pellet block.  Region between this radius and the chamfer will be a flat surface."}>>> = .002
    pellet_mesh_density<<<{"description": "Sets the mesh density of the pellet (really_coarse coarse medium fine customize)."}>>> = customize
    pellet_quantity<<<{"description": "Number of pellets in smeared mesh"}>>> = '3 2'
    use_legacy_block_ids<<<{"description": "Whether to use legacy block id convention.  Must be false if creating multiple fuel blocks."}>>> = false
    fuel_base_name<<<{"description": "The base block name for fuel blocks."}>>> = fuel
    ny_p<<<{"description": "Number of fuel elements in axial direction"}>>> = '15 16'
    nx_c<<<{"description": "Number of cladding elements in radial direction."}>>> = 1
    ny_cu<<<{"description": "Number of cladding elements in upper plug in axial direction."}>>> = 1
    ny_cl<<<{"description": "Number of cladding elements in lower plug in  axial direction."}>>> = 1
    clad_mesh_density<<<{"description": "Sets the mesh density of the cladding (coarse, medium, fine)"}>>> = customize
    bottom_coordinate<<<{"description": "Y coordinate of lowest part of the mesh."}>>> = 0.0025
  []
  [capsule]
    type = CapsuleMeshGenerator<<<{"description": "Creates a 2D-RZ axisymmetric mesh of a capsule.", "href": "CapsuleMeshGenerator.html"}>>>
    bottom_coordinate<<<{"description": "y-coordinate of lowest portion of the capsule."}>>> = -0.0025
    capsule_height<<<{"description": "Overall height of the capsule."}>>> = 0.075
    capsule_radius<<<{"description": "Outside radius of the capsule."}>>> = 0.01
    capsule_thickness<<<{"description": "Thickness of capsule side wall."}>>> = 0.0005
    top_bot_plug_height<<<{"description": "Thickness of top and bottom plugs."}>>> = 0.002
    mesh_density<<<{"description": "Sets the mesh density of the pellet (really_coarse coarse medium fine customize)."}>>> = customize
    nx_cl<<<{"description": "Number of capsule elements in lower plug in radial direction."}>>> = 5
    ny_cl<<<{"description": "Number of capsule elements in lower plug in axial direction."}>>> = 2
    nx_cu<<<{"description": "Number of capsule elements in upper plug in radial direction."}>>> = 10
    ny_cu<<<{"description": "Number of capsule elements in upper plug in axial direction."}>>> = 3
    block_id<<<{"description": "Block number to be assigned to the capsule."}>>> = 10
    block_name<<<{"description": "Block name to be assigned to the capsule."}>>> = capsule
    sideset_ids<<<{"description": "List of six sideset ids for the inside bottom, right, and top surfaces and the outside bottom, right, and top surfaces."}>>> = '101 102 103 104 105 106'
    sideset_names<<<{"description": "List of six sideset names for the inside bottom, right, and top surfaces and the outside bottom, right, and top surfaces."}>>> = 'capsule_inside_bottom capsule_inside_right capsule_inside_top capsule_outside_bottom capsule_outside_right capsule_outside_top'
  []
  [combine]
    type = CombinerGenerator<<<{"description": "Combine multiple meshes (or copies of one mesh) together into one (disjoint) mesh.  Can optionally translate those meshes before combining them.", "href": "CombinerGenerator.html"}>>>
    inputs<<<{"description": "The input MeshGenerators.  This can either be N generators or 1 generator.  If only 1 is given then 'positions' must also be given."}>>> = 'rodlet capsule'
  []
  [translate]
    type = TransformGenerator<<<{"description": "Applies a linear transform to the entire mesh.", "href": "TransformGenerator.html"}>>>
    input<<<{"description": "The mesh we want to modify"}>>> = combine
    transform<<<{"description": "The type of transformation to perform (TRANSLATE, TRANSLATE_CENTER_ORIGIN, TRANSLATE_MIN_ORIGIN, ROTATE, SCALE)"}>>> = translate
    vector_value<<<{"description": "The value to use for the transformation. When using TRANSLATE or SCALE, the xyz coordinates are applied in each direction respectively. When using ROTATE, the values are interpreted as the Euler angles phi, theta and psi given in degrees."}>>> = '0 -0.0025 0'
  []
[]
(test/tests/fuel_pin_mesh_generator/capsule.i)

Input Parameters

  • block_idBlock number to be assigned to the capsule.

    C++ Type:unsigned int

    Controllable:No

    Description:Block number to be assigned to the capsule.

  • block_nameBlock name to be assigned to the capsule.

    C++ Type:std::string

    Controllable:No

    Description:Block name to be assigned to the capsule.

  • bottom_coordinatey-coordinate of lowest portion of the capsule.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:y-coordinate of lowest portion of the capsule.

  • capsule_heightOverall height of the capsule.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Overall height of the capsule.

  • capsule_radiusOutside radius of the capsule.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Outside radius of the capsule.

  • capsule_thicknessThickness of capsule side wall.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Thickness of capsule side wall.

  • sideset_idsList of six sideset ids for the inside bottom, right, and top surfaces and the outside bottom, right, and top surfaces.

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

    Controllable:No

    Description:List of six sideset ids for the inside bottom, right, and top surfaces and the outside bottom, right, and top surfaces.

  • sideset_namesList of six sideset names for the inside bottom, right, and top surfaces and the outside bottom, right, and top surfaces.

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

    Controllable:No

    Description:List of six sideset names for the inside bottom, right, and top surfaces and the outside bottom, right, and top surfaces.

  • top_bot_plug_heightThickness of top and bottom plugs.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Thickness of top and bottom plugs.

Required Parameters

  • elem_typeQUAD4The type of element to generate (QUAD4 QUAD8).

    Default:QUAD4

    C++ Type:MooseEnum

    Options:QUAD4, QUAD8

    Controllable:No

    Description:The type of element to generate (QUAD4 QUAD8).

  • mesh_densitymediumSets the mesh density of the pellet (really_coarse coarse medium fine customize).

    Default:medium

    C++ Type:MooseEnum

    Options:really_coarse, coarse, medium, fine, customize

    Controllable:No

    Description:Sets the mesh density of the pellet (really_coarse coarse medium fine customize).

  • nx_c2Number of capsule elements in radial direction.

    Default:2

    C++ Type:unsigned int

    Controllable:No

    Description:Number of capsule elements in radial direction.

  • nx_cl1Number of capsule elements in lower plug in radial direction.

    Default:1

    C++ Type:unsigned int

    Controllable:No

    Description:Number of capsule elements in lower plug in radial direction.

  • nx_cu1Number of capsule elements in upper plug in radial direction.

    Default:1

    C++ Type:unsigned int

    Controllable:No

    Description:Number of capsule elements in upper plug in radial direction.

  • ny_c24Number of capsule elements in axial direction.

    Default:24

    C++ Type:unsigned int

    Controllable:No

    Description:Number of capsule elements in axial direction.

  • ny_cl1Number of capsule elements in lower plug in axial direction.

    Default:1

    C++ Type:unsigned int

    Controllable:No

    Description:Number of capsule elements in lower plug in axial direction.

  • ny_cu1Number of capsule elements in upper plug in axial direction.

    Default:1

    C++ Type:unsigned int

    Controllable:No

    Description:Number of capsule elements in upper plug in axial direction.

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.