SCMQuadSubChannelMeshGenerator

Creates a mesh of 1D subchannels in a square lattice arrangement

Overview

This mesh generator creates the mesh were the SCM solution variables associated with the subchannels live. The user needs to provide the number of subchannels "nx" in the -x direction and "ny" in the -y direction. The number of cells in the -z direction is given by "n_cells". The distance of the pins from eachother is given by the "pitch" parameter and the total length of the sub-assembly is defined by the parameters: "heated_length","unheated_length_entry","unheated_length_entry". The fuel pin diameter is given by "pin_diameter". The user also has the ability to define the effect of spacers or mixing vanes on the subassembly by defining their axial location "spacer_z" and a local presure form loss coefficient "spacer_k". The center of the mesh is the origin. Last the "side_gap" is an added distance between a perimetric pin and the duct, such that: distance(edge/corner pin center, duct wall) = pitch / 2 + side_gap.

Note that:

  • the vector (in the XY plane) from a corner pin center to the corner subchannel centroid is .

  • the vector (in the XY plane) from a corner pin center to the corner of the duct is .

Figure 1 presents a sketch of the SCM geometry nomenclature near the duct corner.

Figure 1: Geometric features of the quadrilateral SCM mesh

Example Input File Syntax

[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 6
    ny = 6
    n_cells = 10
    pitch = 0.0126
    pin_diameter = ${pin_diameter}
    side_gap = 0.00095
    heated_length = 1.0
    spacer_z = '0.0'
    spacer_k = '0.0'
  []

  [fuel_pins]
    type = SCMQuadPinMeshGenerator
    input = sub_channel
    nx = 6
    ny = 6
    n_cells = 10
    pitch = 0.0126
    heated_length = 1.0
  []
[]
(modules/subchannel/test/tests/problems/psbt/psbt_explicit.i)

Input Parameters

  • heated_lengthHeated length [m]

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Heated length [m]

  • n_cellsThe number of cells in the axial direction

    C++ Type:unsigned int

    Controllable:No

    Description:The number of cells in the axial direction

  • nxNumber of channels in the x direction [-]

    C++ Type:unsigned int

    Controllable:No

    Description:Number of channels in the x direction [-]

  • nyNumber of channels in the y direction [-]

    C++ Type:unsigned int

    Controllable:No

    Description:Number of channels in the y direction [-]

  • pin_diameterRod diameter [m]

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Rod diameter [m]

  • pitchPitch [m]

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Pitch [m]

  • side_gapThe side gap, not to be confused with the gap between pins, this refers to the gap next to the duct or else the distance between the subchannel centroid to the duct wall.distance(edge pin center, duct wall) = pitch / 2 + side_gap [m]

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The side gap, not to be confused with the gap between pins, this refers to the gap next to the duct or else the distance between the subchannel centroid to the duct wall.distance(edge pin center, duct wall) = pitch / 2 + side_gap [m]

Required Parameters

  • Kij0.5Lateral form loss coefficient [-]

    Default:0.5

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Lateral form loss coefficient [-]

  • block_id0Domain Index

    Default:0

    C++ Type:unsigned int

    Controllable:No

    Description:Domain Index

  • index_blockage0 index of subchannels affected by blockage

    Default:0

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

    Controllable:No

    Description:index of subchannels affected by blockage

  • k_blockage0 Form loss coefficient of subchannels affected by blockage

    Default:0

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Form loss coefficient of subchannels affected by blockage

  • reduction_blockage1 Area reduction of subchannels affected by blockage (number to muliply the area)

    Default:1

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Area reduction of subchannels affected by blockage (number to muliply the area)

  • spacer_kK-loss coefficient of spacers/vanes/mixing_vanes [-]

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

    Unit:(no unit assumed)

    Controllable:No

    Description:K-loss coefficient of spacers/vanes/mixing_vanes [-]

  • spacer_zAxial location of spacers/vanes/mixing_vanes [m]

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Axial location of spacers/vanes/mixing_vanes [m]

  • unheated_length_entry0Unheated length at entry [m]

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Unheated length at entry [m]

  • unheated_length_exit0Unheated length at exit [m]

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Unheated length at exit [m]

  • z_blockage0 0 axial location of blockage (inlet, outlet) [m]

    Default:0 0

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

    Unit:(no unit assumed)

    Controllable:No

    Description:axial location of blockage (inlet, outlet) [m]

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