SCMAuxVariables

Depending on the mesh type defined in the SCM input file, SCM automatically creates and populates the following auxiliary variables on the mesh. These variables are defined at equally spaced nodes from the inlet to the outlet. A subchannel cell spans the distance between two consecutive nodes.

SubChannel mesh

This is the Subchannel mesh that gets created by: SCMQuadSubChannelMeshGenerator and SCMTriSubChannelMeshGenerator for quadrilateral and triangular lattice respectively.

When the [SubChannel] problem syntax is present, defining either of these mesh generators in the subchannel mesh block, automatically defines the following auxiliary variables that live on the subchannel mesh nodes:

  • Mass flow rate: "mdot"

  • Subchannel surface area: "S"

  • Subchannel wetted perimeter: "w_perim"

  • Net crossflow per subchannel cell: "SumWij" (This refers to the cell value immediately below the node)

  • Relative pressure: "P" . This is the local pressure relative to the outlet pressure, , so P is zero at the outlet. The solver adds the "P_out" value back when evaluating fluid properties that require absolute pressure.

  • Enthalpy: "h"

  • Temperature: "T"

  • Density: "rho"

  • Viscosity: "mu"

  • Linear heat rate: "q_prime"

  • Subchannel centroid displacement: "displacement"

An example usage of displacement can be found here.

Geometric auxiliary variable initialization

When the [SubChannel] problem syntax is present, SCM also adds default initial conditions for the geometry auxiliary variables. The subchannel flow area S is initialized by SCMQuadFlowAreaIC.md or SCMTriFlowAreaIC.md, and the subchannel wetted perimeter w_perim is initialized by SCMQuadWettedPerimIC.md or SCMTriWettedPerimIC.md, depending on whether the input uses a quadrilateral or triangular subchannel mesh. These initial conditions compute undeformed geometry from the corresponding subchannel mesh.

If a pin mesh is present, SCM also initializes Dpin with a constant value equal to the pin diameter specified by the subchannel mesh generator. These default initial conditions are only added when no initial condition has already been provided for the same variable. User-provided initial conditions, including custom initial condition kernels, take precedence over the SCM defaults.

The default S and w_perim values represent the mesh-generator geometry. If Dpin or displacement is initialized to values that differ from the undeformed mesh geometry, the solver detects the deformation and recomputes the subchannel flow area, wetted perimeter, and gap before solving.

Flags

Enabling the boolean flag "full_output" in the [SubChannel] problem creates the additional auxvariables:

  • Pressure drop: "DP" (This refers to the cell value immediately below the node)

  • Friction factor: "ff" (This refers to the cell value immediately below the node)

commentnote

This DP auxvariable variable is not calculated for the monolithic solve, in which case it will read zero in all nodes.

Fuel pins mesh

This is the fuel pin mesh that gets created by: SCMQuadPinMeshGenerator and SCMTriPinMeshGenerator for quadrilateral and triangular lattice respectively.

When the [SubChannel] problem syntax is present, defining either of these mesh generators in the fuel pin mesh block, automatically defines the following auxiliary variables that live on the fuel pin mesh nodes:

  • Fuel pin average surface temperature: "Tpin"

  • Fuel pin diameter: "Dpin"

  • Linear heat rate: "q_prime"

  • Average subchannel convective heat transfer coefficient: "HTC"

commentnote

The variable q_prime is created on: the fuel pin mesh if a pin mesh is present otherwise on the subchannel mesh

commentnote

In general, the pin diameter is defined by the mesh and provided by the user through the mesh generator objects. As a result, it is assumed to be constant for all fuel pins. If a pin mesh is present, the auxiliary variable Dpin is automatically created and initialized to the mesh-generator pin diameter. This enforces the assumption that all fuel pins share the same diameter. If different pin diameters are required, the user can override this behavior by manually defining Dpin using a custom initial condition. In that case, the solver detects the variation and recomputes the geometric properties (surface area, wetted perimeter, and gap) before each time step.

Duct mesh

This is the duct mesh that gets created by: SCMQuadDuctMeshGenerator and SCMTriDuctMeshGenerator for square and triangular assemblies respetively.

When the [SubChannel] problem syntax is present, defining either of these mesh generators in the duct mesh block, automatically defines the following auxiliary variables that live on the duct mesh nodes:

  • Duct heat flux: "duct_heat_flux"

  • Duct temperature: "Tduct"

warningwarning

Auxiliary variables, block restrictions and output

All SCM auxiliary variables are block-restricted by default. Each variable is defined only on the mesh block where it is physically meaningful (e.g., subchannel, fuel pins, or duct). When visualized in ParaView, these variables may appear across the entire domain (all mesh types). However, values outside their native blocks are not meaningful and may be shown as zero or interpolated by the visualization tool. For example, subchannel quantities such as surface area or mass flow rate are defined on the subchannel mesh and should only be interpreted there.