TRISO1DMeshGenerator

Creates a 1D mesh for use with TRISO analysis.

Description

TRISO1DMeshGenerator creates a 1D mesh appropriate for use in TRISO analysis. The user supplies radial coordinates that mark the boundaries of mesh blocks. A list of numbers of radial elements per block is also supplied. A 0 for the elements in the block represents a gap and is typically used for the gap that opens between the buffer and IPyC layers.

Sidesets are created at each mesh boundary. The number that is assigned to the sideset is a function of how many blocks are requested. Numbering starts from the origin and counts outward. The pattern can be seen in Figure 1. If there is a gap, it is assigned the last number and is a union of the left and the right boundaries of the 2 adjacent blocks. See Figure 1 sideset 12 for graphical clarification.

The bias parameter affects mesh density moving from the inner edge to the outer edge. For example, a bias value of 2 for a given block doubles element size from the inner to the outer edge, whereas a bias value of 0.5 cuts element size in half going from inner to outer edge. The dual_bias parameter may be used to affect mesh density on both ends of the block. It is also applied from inner to outer edge. When dual_bias is given, bias affects the first half of the elements, and dual_bias affects the right half of the elements. If the two biases are the same, the result will be the same as the original, single-value bias approach.

Any number of blocks can be made but Figure 1 below is representative of a standard TRISO particle with 5 blocks.

See also TRISO1DFiveLayerMeshGenerator.

commentnote

The depiction below assumes that the blocks are named fuel, buffer, IPyC, SiC and OPyC in the input file. They can be named anything according to user preferences.

Figure 1: Pictorial line representation of the 1D spherical mesh created by TRISO1DMeshGenerator.

Example Input Syntax

[Mesh<<<{"href": "../../syntax/Mesh/index.html"}>>>]
  coord_type = RSPHERICAL
  [gen]
    type = TRISO1DMeshGenerator<<<{"description": "Creates a 1D mesh for use with TRISO analysis.", "href": "TRISO1DMeshGenerator.html"}>>>
    elem_type<<<{"description": "The type of element from libMesh to generate"}>>> = EDGE3
    coordinates<<<{"description": "Radial coordinates of mesh block boundaries."}>>> = '0 2.485e-4 3.425e-4 3.425e-4 3.835e-4 4.195e-4 4.595e-4'
    mesh_density<<<{"description": "A list giving the number of elements in each interval (could be zero for a gap)."}>>> = '6 6 0 6 8 6'
    block_names<<<{"description": "A list of names to be assigned to the mesh blocks."}>>> = 'fuel buffer IPyC SiC OPyC'
  []
[]
(examples/TRISO/full_particle/1D/full_particle_1D.i)

Input Parameters

  • coordinatesRadial coordinates of mesh block boundaries.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Radial coordinates of mesh block boundaries.

  • mesh_densityA list giving the number of elements in each interval (could be zero for a gap).

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

    Controllable:No

    Description:A list giving the number of elements in each interval (could be zero for a gap).

Required Parameters

  • biasMesh bias. Same length as mesh_density, 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 mesh_density, each entry b: 0.5 <= b <= 2.0.

  • block_namesA list of names to be assigned to the mesh blocks.

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

    Controllable:No

    Description:A list of names to be assigned to the mesh blocks.

  • 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_typeEDGE3The type of element from libMesh to generate

    Default:EDGE3

    C++ Type:MooseEnum

    Options:EDGE2, EDGE3

    Controllable:No

    Description:The type of element from libMesh to generate

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