- p_0100000Reference pressureDefault:100000 C++ Type:double Unit:(no unit assumed) Controllable:No Description:Reference pressure 
PBSodiumFluidProperties
Class that provides the methods that realize the equations of state for Liquid Sodium
Input Parameters
- T_initial_guess400Temperature initial guess for Newton Method variable set conversionDefault:400 C++ Type:double Unit:(no unit assumed) Controllable:No Description:Temperature initial guess for Newton Method variable set conversion 
- max_newton_its100Maximum number of Newton iterations for variable set conversionsDefault:100 C++ Type:unsigned int Controllable:No Description:Maximum number of Newton iterations for variable set conversions 
- p_initial_guess200000Pressure initial guess for Newton Method variable set conversionDefault:200000 C++ Type:double Unit:(no unit assumed) Controllable:No Description:Pressure initial guess for Newton Method variable set conversion 
- tolerance1e-08Tolerance for 2D Newton variable set conversionDefault:1e-08 C++ Type:double Unit:(no unit assumed) Controllable:No Description:Tolerance for 2D Newton variable set conversion 
Variable Set Conversions Newton Solve Parameters
- allow_imperfect_jacobiansFalsetrue to allow unimplemented property derivative terms to be set to zero for the AD APIDefault:False C++ Type:bool Controllable:No Description:true to allow unimplemented property derivative terms to be set to zero for the AD API 
- control_tagsAdds user-defined labels for accessing object parameters via control logic.C++ Type:std::vector<std::string> Controllable:No Description:Adds user-defined labels for accessing object parameters via control logic. 
- enableTrueSet the enabled status of the MooseObject.Default:True C++ Type:bool Controllable:Yes Description:Set the enabled status of the MooseObject. 
- fp_typesingle-phase-fpType of the fluid property objectDefault:single-phase-fp C++ Type:FPType Controllable:No Description:Type of the fluid property object 
Advanced Parameters
- prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.C++ Type:MaterialPropertyName Unit:(no unit assumed) Controllable:No Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character. 
- use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.Default:False C++ Type:bool Controllable:No Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction. 
Material Property Retrieval Parameters
Input Files
- (modules/combined/test/tests/subchannel_thm_coupling/subchannel.i)
- (modules/subchannel/validation/Toshiba_37_pin/toshiba_37_pin.i)
- (modules/subchannel/test/tests/problems/interwrapper/tri_interwrapper.i)
- (modules/subchannel/validation/EBR-II/XX09_SCM_SS17.i)
- (modules/subchannel/test/tests/problems/interwrapper/tri_interwrapper_monolithic.i)
- (modules/subchannel/test/tests/problems/SFR/sodium-19pin/test19_implicit.i)
- (modules/subchannel/examples/MultiApp/fuel_assembly.i)
- (modules/subchannel/validation/ORNL_19_pin/test_ORNL_19.i)
- (modules/subchannel/test/tests/problems/SFR/sodium-19pin/test19_explicit.i)
- (modules/subchannel/validation/ORNL_19_pin/ORNL_19.i)
- (modules/subchannel/validation/EBR-II/XX09_SCM_SS17_corrected.i)
- (modules/subchannel/examples/duct/test.i)
- (modules/subchannel/test/tests/SCMTriPower/test.i)
- (modules/subchannel/test/tests/problems/interwrapper/tri_interwrapper_implicit.i)
- (modules/subchannel/examples/mesh_generator/inter_wrapper_tri_mesh_generator_test.i)
- (modules/subchannel/validation/EBR-II/XX09_SCM_SS45R.i)
- (modules/subchannel/test/tests/problems/SFR/sodium-19pin/test19_full_monolithic.i)
- (modules/subchannel/test/tests/problems/SFR/EBR-II/XX09_SS_SHRT17.i)
- (modules/subchannel/validation/EBR-II/XX09_SCM_SS45R_corrected.i)
- (modules/subchannel/validation/Blockage/THORS/FFM-5B_high.i)
- (modules/subchannel/validation/EBR-II/XX09_SCM_TR17.i)
- (modules/subchannel/validation/Blockage/THORS/FFM-5B_low.i)
- (modules/subchannel/validation/EBR-II/XX09_SCM_TR45R.i)
- (modules/subchannel/validation/Blockage/THORS/FFM-3A.i)
- (modules/subchannel/test/tests/problems/interwrapper/tri_interwrapper_monolithic_staggered.i)
- (modules/subchannel/test/tests/SCMTriPower/test_with_pins.i)
- (modules/subchannel/test/tests/problems/SFR/sodium-19pin/test19_monolithic.i)
(modules/combined/test/tests/subchannel_thm_coupling/subchannel.i)
# Based on M. Fontana, et al. this arbitrary subassembly is used for THM-SC coupling
T_in = 583.0 #K
flow_area = 0.0004980799633447909 #m2
mass_flux_in = '${fparse 1.0/flow_area}'
P_out = 2e5 # Pa
###################################################
# Geometric parameters
###################################################
n_cells = 25
n_rings = 3
fuel_pin_pitch = 7.26e-3
fuel_pin_diameter = 5.84e-3
wire_z_spacing = 0.3048
wire_diameter = 1.42e-3
inner_duct_in = 3.41e-2
heated_length = 1.0
###################################################
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = ${n_rings}
    n_cells = ${n_cells}
    flat_to_flat = ${inner_duct_in}
    heated_length = ${heated_length}
    pin_diameter = ${fuel_pin_diameter}
    pitch = ${fuel_pin_pitch}
    dwire = ${wire_diameter}
    hwire = ${wire_z_spacing}
    spacer_z = '0.0'
    spacer_k = '0.0'
  []
  [fuel_pins]
    type = SCMTriPinMeshGenerator
    input = subchannel
    nrings = ${n_rings}
    n_cells = ${n_cells}
    heated_length = ${heated_length}
    pitch = ${fuel_pin_pitch}
  []
[]
[AuxVariables]
  [mdot]
    block = subchannel
  []
  [SumWij]
    block = subchannel
  []
  [P]
    block = subchannel
  []
  [DP]
    block = subchannel
  []
  [h]
    block = subchannel
  []
  [T]
    block = subchannel
  []
  [rho]
    block = subchannel
  []
  [S]
    block = subchannel
  []
  [w_perim]
    block = subchannel
  []
  [mu]
    block = subchannel
  []
  [displacement]
    block = subchannel
  []
  [q_prime]
    block = fuel_pins
  []
  [Tpin]
    block = fuel_pins
  []
  [Dpin]
    block = fuel_pins
  []
[]
[FluidProperties]
  [Sodium]
    type = PBSodiumFluidProperties
  []
[]
[SubChannel]
  type = TriSubChannel1PhaseProblem
  fp = Sodium
  n_blocks = 1
  P_out = report_pressure_outlet
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_tol = 1.0e-3
  T_tol = 1.0e-3
  implicit = true
  segregated = false
  staggered_pressure = false
  monolithic_thermal = false
  verbose_multiapps = true
  verbose_subchannel = false
  interpolation_scheme = 'upwind'
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = 10000 #W
    filename = "pin_power_profile19.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = ${fuel_pin_diameter}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = Sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = Sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = Sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = FunctorAux
    functor = report_temperature_inlet
    variable = T
    boundary = inlet
    execute_on = 'timestep_begin'
    block = subchannel
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = report_mass_flux_inlet
    execute_on = 'timestep_begin'
    block = subchannel
  []
[]
[Outputs]
  csv = true
[]
[Executioner]
  type = Steady
[]
[Postprocessors]
  [total_pressure_drop_SC]
    type = SubChannelDelta
    variable = P
    execute_on = "timestep_end"
  []
  [total_pressure_drop_SC_limited]
    type = ParsedPostprocessor
    pp_names = 'total_pressure_drop_SC'
    function = 'min(total_pressure_drop_SC, 1e6)'
    execute_on = "timestep_end"
  []
  [Total_power]
    type = ElementIntegralVariablePostprocessor
    variable = q_prime
    block = fuel_pins
  []
  [report_mass_flux_inlet]
    type = Receiver
    default = ${mass_flux_in}
  []
  [report_temperature_inlet]
    type = Receiver
    default = ${T_in}
    force_preaux = true
  []
  [report_pressure_outlet]
    type = Receiver
    default = ${P_out}
  []
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = '3D.i'
    execute_on = 'FINAL'
  []
[]
[Transfers]
  [subchannel_transfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu S'
  []
  [pin_transfer]
    type = SCMPinSolutionTransfer
    to_multi_app = viz
    variable = 'Dpin Tpin q_prime'
  []
[]
(modules/subchannel/validation/Toshiba_37_pin/toshiba_37_pin.i)
T_in = 660
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 37.00 / 36000.*0.5}'
P_out = 2.0e5 # Pa
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = 4
    n_cells = 20
    flat_to_flat = 0.085
    heated_length = 1.0
    pin_diameter = 0.01
    pitch = 0.012
    dwire = 0.002
    hwire = 0.0833
    spacer_z = '0 0.2 0.4 0.6 0.8'
    spacer_k = '0.1 0.1 0.1 0.1 0.10'
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[SubChannel]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = 2.0e5
  CT = 1.0
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_tol = 1.0e-6
  T_tol = 1.0e-3
  implicit = true
  segregated = false
  staggered_pressure = false
  monolithic_thermal = false
  verbose_multiapps = true
  verbose_subchannel = false
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = 1.000e5 # W
    filename = "pin_power_profile_37.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
[]
[Outputs]
  exodus = true
  csv = true
[]
[Executioner]
  type = Steady
[]
[Postprocessors]
  [T_Planar_Mean]
    type = SCMPlanarMean
    variable = T
    execute_on = 'TIMESTEP_END'
    height = 1.0
  []
  [DP_SubchannelDelta]
    type = SubChannelDelta
    variable = P
    execute_on = 'TIMESTEP_END'
  []
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = "toshiba_37_pin_viz.i"
    execute_on = "timestep_end"
  []
[]
[Transfers]
  [xfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu q_prime S'
  []
[]
(modules/subchannel/test/tests/problems/interwrapper/tri_interwrapper.i)
T_in = 360.0
P_out = 4.923e6 # Pa
[TriInterWrapperMesh]
  [sub_channel]
    type = SCMTriInterWrapperMeshGenerator
    nrings = 3
    n_cells = 10
    flat_to_flat = 0.16
    heated_length = 1.0
    assembly_pitch = 0.17
    side_bypass = 0.01
  []
[]
[AuxVariables]
  [mdot]
  []
  [SumWij]
  []
  [P]
  []
  [DP]
  []
  [h]
  []
  [T]
  []
  [rho]
  []
  [mu]
  []
  [S]
  []
  [w_perim]
  []
  [q_prime]
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[ICs]
  [S_IC]
    type = TriInterWrapperFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = TriInterWrapperWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = TriInterWrapperPowerIC
    variable = q_prime
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.1
  []
[]
[SubChannel]
  type = TriInterWrapper1PhaseProblem
  fp = sodium
  n_blocks = 1
  beta = 0.1
  P_out = 2.0e5
  CT = 1.0
  compute_density = true
  compute_viscosity = true
  compute_power = false
  P_tol = 1.0e-6
  T_tol = 1.0e-6
  implicit = false
  segregated = true
  staggered_pressure = false
  monolithic_thermal = false
  interpolation_scheme = 'upwind'
[]
[AuxKernels]
[]
[Outputs]
  exodus = true
  checkpoint = false
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/validation/EBR-II/XX09_SCM_SS17.i)
# Following Benchmark Specifications and Data Requirements for EBR-II Shutdown Heat Removal Tests SHRT-17 and SHRT-45R
# Available at: https://publications.anl.gov/anlpubs/2012/06/73647.pdf
###################################################
# Steady state subchannel calcultion
# Thermal-hydraulics parameters
###################################################
T_in = 624.70556 #Kelvin
Total_Surface_Area = 0.000854322 #m2
Mass_In = 2.45 #kg/sec
mass_flux_in = '${fparse Mass_In / Total_Surface_Area}' #kg/m2
P_out = 2.0e5 #Pa
Power_initial = 486200 #W (Page 26,35 of ANL document)
###################################################
# Geometric parameters
###################################################
scale_factor = 0.01
fuel_pin_pitch = '${fparse 0.5664*scale_factor}'
fuel_pin_diameter = '${fparse 0.4419*scale_factor}'
wire_z_spacing = '${fparse 15.24*scale_factor}'
wire_diameter = '${fparse 0.1244*scale_factor}'
inner_duct_in = '${fparse 4.64*scale_factor}'
n_rings = 5
heated_length = '${fparse 34.3*scale_factor}'
unheated_length_exit = '${fparse 26.9*scale_factor}'
###################################################
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = ${n_rings}
    n_cells = 50
    flat_to_flat = ${inner_duct_in}
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pin_diameter = ${fuel_pin_diameter}
    pitch = ${fuel_pin_pitch}
    dwire = ${wire_diameter}
    hwire = ${wire_z_spacing}
  []
  [fuel_pins]
    type = SCMTriPinMeshGenerator
    input = subchannel
    nrings = ${n_rings}
    n_cells = 50
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pitch = ${fuel_pin_pitch}
  []
  [duct]
    type = SCMTriDuctMeshGenerator
    input = fuel_pins
    nrings = ${n_rings}
    n_cells = 50
    flat_to_flat = ${inner_duct_in}
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pitch = ${fuel_pin_pitch}
  []
[]
[Functions]
  [axial_heat_rate]
    type = ParsedFunction
    value = '(pi/2)*sin(pi*z/L)*exp(-alpha*z)/(1.0/alpha*(1.0 - exp(-alpha*L)))*L'
    vars = 'L alpha'
    vals = '${heated_length} 1.8012'
  []
[]
[AuxVariables]
  [mdot]
    block = subchannel
  []
  [SumWij]
    block = subchannel
  []
  [P]
    block = subchannel
  []
  [DP]
    block = subchannel
  []
  [h]
    block = subchannel
  []
  [T]
    block = subchannel
  []
  [rho]
    block = subchannel
  []
  [S]
    block = subchannel
  []
  [w_perim]
    block = subchannel
  []
  [mu]
    block = subchannel
  []
  [displacement]
    block = subchannel
  []
  [ff]
    block = subchannel
  []
  [ff_a]
    block = subchannel
  []
  [ff_b]
    block = subchannel
  []
  [q_prime]
    block = fuel_pins
  []
  [Tpin]
    block = fuel_pins
  []
  [Dpin]
    block = fuel_pins
  []
  [duct_heat_flux]
    block = duct
  []
  [Tduct]
    block = duct
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[Problem]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = ${P_out}
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_tol = 1.0e-4
  T_tol = 1.0e-5
  implicit = true
  segregated = false
  interpolation_scheme = 'upwind'
  verbose_subchannel = true
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = ${Power_initial}
    filename = "pin_power_profile61_uniform.txt"
    axial_heat_rate = axial_heat_rate
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = ${fuel_pin_diameter}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
    block = subchannel
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
[]
[Outputs]
  csv = true
[]
[Postprocessors]
  [TTC-27]
    type = SubChannelPointValue
    variable = T
    index = 91
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-28]
    type = SubChannelPointValue
    variable = T
    index = 50
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-29]
    type = SubChannelPointValue
    variable = T
    index = 21
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-30]
    type = SubChannelPointValue
    variable = T
    index = 4
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-31]
    type = SubChannelPointValue
    variable = T
    index = 2
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-32]
    type = SubChannelPointValue
    variable = T
    index = 16
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-33]
    type = SubChannelPointValue
    variable = T
    index = 42
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-34]
    type = SubChannelPointValue
    variable = T
    index = 80
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-35]
    type = SubChannelPointValue
    variable = T
    index = 107
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [MTC-20]
  type = SubChannelPointValue
  variable = T
  index = 33
  execute_on = 'TIMESTEP_END'
  height = 0.172
  []
  [MTC-22]
    type = SubChannelPointValue
    variable = T
    index = 3
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [MTC-24]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [MTC-25]
    type = SubChannelPointValue
    variable = T
    index = 60
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [MTC-26]
    type = SubChannelPointValue
    variable = T
    index = 106
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [14TC-37]
    type = SubChannelPointValue
    variable = T
    index = 52
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
  [14TC-39]
    type = SubChannelPointValue
    variable = T
    index = 6
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
  [14TC-41]
    type = SubChannelPointValue
    variable = T
    index = 40
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
  [14TC-43]
    type = SubChannelPointValue
    variable = T
    index = 105
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
[]
[Executioner]
  type = Steady
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = '3d_SCM_SS.i'
    execute_on = 'FINAL'
  []
[]
[Transfers]
  [subchannel_transfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu S'
  []
  [pin_transfer]
    type = SCMPinSolutionTransfer
    to_multi_app = viz
    variable = 'Tpin q_prime'
  []
[]
(modules/subchannel/test/tests/problems/interwrapper/tri_interwrapper_monolithic.i)
T_in = 360.0
P_out = 4.923e6 # Pa
[TriInterWrapperMesh]
  [sub_channel]
    type = SCMTriInterWrapperMeshGenerator
    nrings = 3
    n_cells = 10
    flat_to_flat = 0.16
    heated_length = 1.0
    assembly_pitch = 0.17
    side_bypass = 0.01
  []
[]
[AuxVariables]
  [mdot]
  []
  [SumWij]
  []
  [P]
  []
  [DP]
  []
  [h]
  []
  [T]
  []
  [rho]
  []
  [mu]
  []
  [S]
  []
  [w_perim]
  []
  [q_prime]
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[ICs]
  [S_IC]
    type = TriInterWrapperFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = TriInterWrapperWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = TriInterWrapperPowerIC
    variable = q_prime
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.1
  []
[]
[SubChannel]
  type = TriInterWrapper1PhaseProblem
  fp = sodium
  n_blocks = 1
  beta = 0.1
  P_out = 2.0e5
  CT = 1.0
  compute_density = false
  compute_viscosity = false
  compute_power = false
  P_tol = 1.0e-6
  T_tol = 1.0e-6
  implicit = true
  segregated = false
  staggered_pressure = false
  monolithic_thermal = false
  interpolation_scheme = 'central_difference'
[]
[AuxKernels]
[]
[Outputs]
  exodus = true
  checkpoint = false
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/test/tests/problems/SFR/sodium-19pin/test19_implicit.i)
T_in = 660
mass_flux_in = '${fparse 1e+6 * 300.00 / 36000.*0.5}'
P_out = 2.0e5 # Pa
[GlobalParams]
  nrings = 3
  n_cells = 5
  flat_to_flat = 0.056
  heated_length = 0.5
  pitch = 0.012
[]
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    pin_diameter = 0.01
    dwire = 0.002
    hwire = 0.0833
    spacer_z = '0'
    spacer_k = '5.0'
  []
  [duct]
    type = SCMTriDuctMeshGenerator
    input = subchannel
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[SubChannel]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = 2.0e5
  CT = 1.0
  compute_density = true
  compute_viscosity = true
  compute_power = true
  implicit = true
  segregated = true
  verbose_subchannel = true
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = 1000.0 # W
    filename = "pin_power_profile19.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [duct_heat_flux_ic]
    type = ConstantIC
    variable = duct_heat_flux #W/m2
    value = 1000.0
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
[]
[Outputs]
  exodus = true
  csv = true
[]
[Postprocessors]
  [T1]
    type = SubChannelPointValue
    variable = T
    index = 37
    execute_on = "timestep_end"
    height = 0.5
  []
  [T2]
    type = SubChannelPointValue
    variable = T
    index = 36
    execute_on = "timestep_end"
    height = 0.5
  []
  [T3]
    type = SubChannelPointValue
    variable = T
    index = 20
    execute_on = "timestep_end"
    height = 0.5
  []
  [T4]
    type = SubChannelPointValue
    variable = T
    index = 10
    execute_on = "timestep_end"
    height = 0.5
  []
  [T5]
    type = SubChannelPointValue
    variable = T
    index = 4
    execute_on = "timestep_end"
    height = 0.5
  []
  [T6]
    type = SubChannelPointValue
    variable = T
    index = 1
    execute_on = "timestep_end"
    height = 0.5
  []
  [T7]
    type = SubChannelPointValue
    variable = T
    index = 14
    execute_on = "timestep_end"
    height = 0.5
  []
  [T8]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = "timestep_end"
    height = 0.5
  []
  ####### Assembly pressure drop
  [DP_SubchannelDelta]
    type = SubChannelDelta
    variable = P
    execute_on = 'TIMESTEP_END'
  []
  #####
  [Mean_Temp]
    type = SCMPlanarMean
    variable = T
    height = 2
  []
  [mdot-8]
    type = SubChannelPointValue
    variable = mdot
    index = 28
    execute_on = 'TIMESTEP_END'
    height = 0.5
  []
  [Total_power]
    type = ElementIntegralVariablePostprocessor
    variable = q_prime
    block = subchannel
  []
  [Total_power_SCMDuctPowerPostprocessor]
    type = SCMDuctHeatRatePostprocessor
  []
  [Total_power_SCMTHPowerPostprocessor]
    type = SCMTHPowerPostprocessor
  []
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/examples/MultiApp/fuel_assembly.i)
###################################################
# Thermal-hydraulics parameters
###################################################
T_in = 628.15 # K
P_out = 758423 # Pa
reactor_power = 250e6 #WTh
fuel_assemblies_per_power_unit = '${fparse 2.5}'
fuel_pins_per_assembly = 217
pin_power = '${fparse reactor_power/(fuel_assemblies_per_power_unit*fuel_pins_per_assembly)}' # Approx.
mass_flux_in = '${fparse 2786}' # kg/(m2.s)
###################################################
# Geometric parameters
###################################################
n_cells = 50
# units are cm - do not forget to convert to meter
scale_factor = 0.01
fuel_element_pitch = '${fparse 14.598*scale_factor}'
inter_assembly_gap = '${fparse 0.4*scale_factor}'
duct_thickness = '${fparse 0.3*scale_factor}'
fuel_pin_pitch = '${fparse 0.904*scale_factor}'
fuel_pin_diameter = '${fparse 0.8*scale_factor}'
wire_z_spacing = '${fparse 20.32*scale_factor}'
wire_diameter = '${fparse 0.103*scale_factor}'
n_rings = 9
# Reduced height for convenience
length_entry_fuel = '${fparse 20*scale_factor}'
length_heated_fuel = '${fparse 40*scale_factor}'
length_outlet_fuel = '${fparse 20*scale_factor}'
# height = '${fparse length_entry_fuel+length_heated_fuel+length_outlet_fuel}'
orifice_plate_height = '${fparse 5*scale_factor}'
duct_outside = '${fparse fuel_element_pitch - inter_assembly_gap}'
duct_inside = '${fparse duct_outside - 2 * duct_thickness}'
###################################################
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = '${fparse n_rings}'
    n_cells = ${n_cells}
    flat_to_flat = '${fparse duct_inside}'
    unheated_length_entry = '${fparse length_entry_fuel}'
    heated_length = '${fparse length_heated_fuel}'
    unheated_length_exit = '${fparse length_outlet_fuel}'
    pin_diameter = '${fparse fuel_pin_diameter}'
    pitch = '${fparse fuel_pin_pitch}'
    dwire = '${fparse wire_diameter}'
    hwire = '${fparse wire_z_spacing}'
    spacer_z = '${fparse orifice_plate_height} ${fparse length_entry_fuel}'
    spacer_k = '0.5 0.5'
  []
  [fuel_pins]
    type = SCMTriPinMeshGenerator
    input = subchannel
    nrings = '${fparse n_rings}'
    n_cells = ${n_cells}
    unheated_length_entry = '${fparse length_entry_fuel}'
    heated_length = '${fparse length_heated_fuel}'
    unheated_length_exit = '${fparse length_outlet_fuel}'
    pitch = '${fparse fuel_pin_pitch}'
  []
  [duct]
    type = SCMTriDuctMeshGenerator
    input = fuel_pins
    nrings = '${fparse n_rings}'
    n_cells = ${n_cells}
    flat_to_flat = '${fparse duct_inside}'
    unheated_length_entry = '${fparse length_entry_fuel}'
    heated_length = '${fparse length_heated_fuel}'
    unheated_length_exit = '${fparse length_outlet_fuel}'
    pitch = '${fparse fuel_pin_pitch}'
  []
[]
[AuxVariables]
  [mdot]
    block = subchannel
  []
  [SumWij]
    block = subchannel
  []
  [P]
    block = subchannel
  []
  [DP]
    block = subchannel
  []
  [h]
    block = subchannel
  []
  [T]
    block = subchannel
  []
  [Tpin]
    block = fuel_pins
  []
  [Dpin]
    block = fuel_pins
  []
  [rho]
    block = subchannel
  []
  [S]
    block = subchannel
  []
  [w_perim]
    block = subchannel
  []
  [displacement]
    block = subchannel
  []
  [q_prime]
    block = fuel_pins
  []
  [mu]
    block = subchannel
  []
  [duct_heat_flux]
    block = duct
    initial_condition = 0
  []
  [Tduct]
    block = duct
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[SubChannel]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  P_out = ${P_out}
  CT = 1.0
  # Solver parameters
  n_blocks = 10
  implicit = false
  segregated = true
  staggered_pressure = false
  monolithic_thermal = false
  # Tolerances
  P_tol = 1.0e-4
  T_tol = 1.0e-8
  # Output
  compute_density = true
  compute_viscosity = true
  compute_power = true
  verbose_multiapps = true
  verbose_subchannel = false
[]
[ICs]
  # Geometry
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = ${fuel_pin_diameter}
  []
  # Operating conditions
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = ${pin_power} # W
    filename = "pin_power_profile217.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
  [T_duct_ic]
    type = ConstantIC
    variable = Tduct
    value = ${T_in}
  []
  # Fluid properties
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
    block = subchannel
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
    block = subchannel
  []
[]
[Outputs]
  exodus = true
  csv = true
[]
[Executioner]
  type = Transient
  num_steps = 1
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = TransientMultiApp
    input_files = "3d.i"
    execute_on = "final"
  []
[]
[Transfers]
  [subchannel_transfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu S'
  []
  [pin_transfer]
    type = SCMPinSolutionTransfer
    to_multi_app = viz
    variable = 'Tpin q_prime'
  []
[]
(modules/subchannel/validation/ORNL_19_pin/test_ORNL_19.i)
# M. Fontana, et All,
# "Temperature distribution in the duct wall and at the exit of a 19-pin simulated lmfbr fuel assembly (ffm bundle 2a),
# "Nuclear Technology, vol. 24, no. 2, pp. 176-200, 1974.
T_in = 588.5
A12 = 1.00423e3
A13 = -0.21390
A14 = -1.1046e-5
rho = '${fparse A12 + A13 * T_in + A14 * T_in * T_in}'
flow_area = 0.0004980799633447909 #m2
vol_flow = 3.47E-03
mass_flux_in = '${fparse rho *  vol_flow / flow_area}'
P_out = 2.0e5 # Pa
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = 3
    n_cells = 40
    flat_to_flat = 3.41e-2
    heated_length = 0.5334
    unheated_length_entry = 0.4064
    unheated_length_exit = 0.0762
    pin_diameter = 5.84e-3
    pitch = 7.26e-3
    dwire = 1.42e-3
    hwire = 0.3048
    spacer_z = '0.0'
    spacer_k = '0.0'
  []
[]
[AuxVariables]
  [mdot]
  []
  [SumWij]
  []
  [P]
  []
  [DP]
  []
  [h]
  []
  [T]
  []
  [rho]
  []
  [S]
  []
  [w_perim]
  []
  [q_prime]
  []
  [mu]
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[Problem]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = 2.0e5
  CT = 2.6
  # enforce_uniform_pressure = false
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_tol = 1.0e-5
  T_tol = 1.0e-3
  implicit = true
  segregated = false
  staggered_pressure = false
  monolithic_thermal = false
  verbose_multiapps = true
  verbose_subchannel = false
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = 322482.972 #W
    filename = "pin_power_profile_19.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
[]
[Outputs]
  exodus = true
[]
[Executioner]
  type = Steady
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = "3d_ORNL_19.i"
    execute_on = "timestep_end"
  []
[]
[Transfers]
  [xfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu q_prime S'
  []
[]
(modules/subchannel/test/tests/problems/SFR/sodium-19pin/test19_explicit.i)
T_in = 660
mass_flux_in = '${fparse 1e+6 * 300.00 / 36000.*0.5}'
P_out = 2.0e5 # Pa
[GlobalParams]
  nrings = 3
  n_cells = 5
  flat_to_flat = 0.056
  heated_length = 0.5
  pitch = 0.012
[]
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    pin_diameter = 0.01
    dwire = 0.002
    hwire = 0.0833
    spacer_z = '0'
    spacer_k = '5.0'
  []
  [duct]
    type = SCMTriDuctMeshGenerator
    input = subchannel
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[SubChannel]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = 2.0e5
  CT = 1.0
  compute_density = true
  compute_viscosity = true
  compute_power = true
  implicit = false
  segregated = true
  verbose_subchannel = true
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = 1000.0 # W
    filename = "pin_power_profile19.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
[]
[Outputs]
  exodus = true
  csv = true
[]
[Postprocessors]
  [T1]
    type = SubChannelPointValue
    variable = T
    index = 37
    execute_on = "timestep_end"
    height = 0.5
  []
  [T2]
    type = SubChannelPointValue
    variable = T
    index = 36
    execute_on = "timestep_end"
    height = 0.5
  []
  [T3]
    type = SubChannelPointValue
    variable = T
    index = 20
    execute_on = "timestep_end"
    height = 0.5
  []
  [T4]
    type = SubChannelPointValue
    variable = T
    index = 10
    execute_on = "timestep_end"
    height = 0.5
  []
  [T5]
    type = SubChannelPointValue
    variable = T
    index = 4
    execute_on = "timestep_end"
    height = 0.5
  []
  [T6]
    type = SubChannelPointValue
    variable = T
    index = 1
    execute_on = "timestep_end"
    height = 0.5
  []
  [T7]
    type = SubChannelPointValue
    variable = T
    index = 14
    execute_on = "timestep_end"
    height = 0.5
  []
  [T8]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = "timestep_end"
    height = 0.5
  []
  ####### Assembly pressure drop
  [DP_SubchannelDelta]
    type = SubChannelDelta
    variable = P
    execute_on = 'TIMESTEP_END'
  []
  #####
  [Mean_Temp]
    type = SCMPlanarMean
    variable = T
    height = 2
  []
  [Total_power]
    type = ElementIntegralVariablePostprocessor
    variable = q_prime
    block = subchannel
  []
  [mdot-8]
    type = SubChannelPointValue
    variable = mdot
    index = 28
    execute_on = 'TIMESTEP_END'
    height = 0.5
  []
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/validation/ORNL_19_pin/ORNL_19.i)
# M. Fontana, et All,
# "Temperature distribution in the duct wall and at the exit of a 19-pin simulated lmfbr fuel assembly (ffm bundle 2a),
# "Nuclear Technology, vol. 24, no. 2, pp. 176-200, 1974.
T_in = 588.5
flow_area = 0.0004980799633447909 #m2
mass_flux_in = '${fparse 55*3.78541/10/60/flow_area}'
P_out = 2.0e5 # Pa
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = 3
    n_cells = 40
    flat_to_flat = 3.41e-2
    heated_length = 0.5334
    unheated_length_entry = 0.4064
    unheated_length_exit = 0.0762
    pin_diameter = 5.84e-3
    pitch = 7.26e-3
    dwire = 1.42e-3
    hwire = 0.3048
  []
[]
[AuxVariables]
  [mdot]
  []
  [SumWij]
  []
  [P]
  []
  [DP]
  []
  [h]
  []
  [T]
  []
  [rho]
  []
  [S]
  []
  [w_perim]
  []
  [q_prime]
  []
  [mu]
  []
  [displacement]
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[SubChannel]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = 2.0e5
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  implicit = true
  segregated = false
  staggered_pressure = false
  monolithic_thermal = true
  verbose_multiapps = true
  verbose_subchannel = true
  interpolation_scheme = upwind
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = 16975 # W/m
    filename = "pin_power_profile19.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
[]
[Outputs]
  exodus = true
  csv = true
[]
[Executioner]
  type = Steady
[]
[Postprocessors]
  [T]
    type = SubChannelPointValue
    variable = T
    index = 36
    execute_on = "timestep_end"
    height = 0.7
  []
  [Pin_Planar_Mean]
    type = SCMPlanarMean
    variable = P
    execute_on = 'TIMESTEP_END'
    height = 0.0
  []
  [Pout_Planar_Mean]
    type = SCMPlanarMean
    variable = P
    execute_on = 'TIMESTEP_END'
    height = 1.2
  []
  [Pout_user_provided]
    type = Receiver
    default = ${P_out}
    execute_on = 'TIMESTEP_END'
  []
  ####### Assembly pressure drop
  [DP_Planar_mean]
    type = ParsedPostprocessor
    pp_names = 'Pin_Planar_Mean Pout_Planar_Mean'
    function = 'Pin_Planar_Mean - Pout_Planar_Mean'
  []
  [DP_SubchannelDelta]
    type = SubChannelDelta
    variable = P
    execute_on = 'TIMESTEP_END'
  []
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = "3d_ORNL_19.i"
    execute_on = "timestep_end"
  []
[]
[Transfers]
  [xfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu q_prime S'
  []
[]
(modules/subchannel/validation/EBR-II/XX09_SCM_SS17_corrected.i)
# Following Benchmark Specifications and Data Requirements for EBR-II Shutdown Heat Removal Tests SHRT-17 and SHRT-45R
# Available at: https://publications.anl.gov/anlpubs/2012/06/73647.pdf
###################################################
# Steady state subchannel calcultion
# Thermal-hydraulics parameters
###################################################
T_in = 624.70556 #Kelvin
Total_Surface_Area = 0.000854322 #m2
Mass_In = 2.45 #kg/sec
mass_flux_in = '${fparse Mass_In / Total_Surface_Area}' #kg/m2
P_out = 2.0e5 #Pa
Power_initial = 486200 #W (Page 26,35 of ANL document)
###################################################
# Geometric parameters
###################################################
scale_factor = 0.01
fuel_pin_pitch = '${fparse 0.5664*scale_factor}'
fuel_pin_diameter = '${fparse 0.4419*scale_factor}'
wire_z_spacing = '${fparse 15.24*scale_factor}'
wire_diameter = '${fparse 0.1244*scale_factor}'
inner_duct_in = '${fparse 4.64*scale_factor}'
n_rings = 5
heated_length = '${fparse 34.3*scale_factor}'
unheated_length_exit = '${fparse 26.9*scale_factor}'
###################################################
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = ${n_rings}
    n_cells = 50
    flat_to_flat = ${inner_duct_in}
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pin_diameter = ${fuel_pin_diameter}
    pitch = ${fuel_pin_pitch}
    dwire = ${wire_diameter}
    hwire = ${wire_z_spacing}
  []
  [fuel_pins]
    type = SCMTriPinMeshGenerator
    input = subchannel
    nrings = ${n_rings}
    n_cells = 50
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pitch = ${fuel_pin_pitch}
  []
  [duct]
    type = SCMTriDuctMeshGenerator
    input = fuel_pins
    nrings = ${n_rings}
    n_cells = 50
    flat_to_flat = ${inner_duct_in}
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pitch = ${fuel_pin_pitch}
  []
[]
[Functions]
  [axial_heat_rate]
    type = ParsedFunction
    value = '(pi/2)*sin(pi*z/L)*exp(-alpha*z)/(1.0/alpha*(1.0 - exp(-alpha*L)))*L'
    vars = 'L alpha'
    vals = '${heated_length} 1.8012'
  []
[]
[AuxVariables]
  [mdot]
    block = subchannel
  []
  [SumWij]
    block = subchannel
  []
  [P]
    block = subchannel
  []
  [DP]
    block = subchannel
  []
  [h]
    block = subchannel
  []
  [T]
    block = subchannel
  []
  [rho]
    block = subchannel
  []
  [S]
    block = subchannel
  []
  [w_perim]
    block = subchannel
  []
  [mu]
    block = subchannel
  []
  [displacement]
    block = subchannel
  []
  [ff]
    block = subchannel
  []
  [ff_a]
    block = subchannel
  []
  [ff_b]
    block = subchannel
  []
  [q_prime]
    block = fuel_pins
  []
  [Tpin]
    block = fuel_pins
  []
  [Dpin]
    block = fuel_pins
  []
  [duct_heat_flux]
    block = duct
  []
  [Tduct]
    block = duct
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[Problem]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = ${P_out}
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_tol = 1.0e-4
  T_tol = 1.0e-5
  implicit = true
  segregated = false
  interpolation_scheme = 'upwind'
  verbose_subchannel = true
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = ${Power_initial}
    filename = "pin_power_profile61.txt"
    axial_heat_rate = axial_heat_rate
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = ${fuel_pin_diameter}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
    block = subchannel
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
[]
[Outputs]
  csv = true
[]
[Postprocessors]
  [TTC-27]
    type = SubChannelPointValue
    variable = T
    index = 91
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-28]
    type = SubChannelPointValue
    variable = T
    index = 50
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-29]
    type = SubChannelPointValue
    variable = T
    index = 21
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-30]
    type = SubChannelPointValue
    variable = T
    index = 4
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-31]
    type = SubChannelPointValue
    variable = T
    index = 2
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-32]
    type = SubChannelPointValue
    variable = T
    index = 16
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-33]
    type = SubChannelPointValue
    variable = T
    index = 42
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-34]
    type = SubChannelPointValue
    variable = T
    index = 80
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-35]
    type = SubChannelPointValue
    variable = T
    index = 107
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [MTC-20]
  type = SubChannelPointValue
  variable = T
  index = 33
  execute_on = 'TIMESTEP_END'
  height = 0.172
  []
  [MTC-22]
    type = SubChannelPointValue
    variable = T
    index = 3
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [MTC-24]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [MTC-25]
    type = SubChannelPointValue
    variable = T
    index = 60
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [MTC-26]
    type = SubChannelPointValue
    variable = T
    index = 106
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [14TC-37]
    type = SubChannelPointValue
    variable = T
    index = 52
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
  [14TC-39]
    type = SubChannelPointValue
    variable = T
    index = 6
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
  [14TC-41]
    type = SubChannelPointValue
    variable = T
    index = 40
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
  [14TC-43]
    type = SubChannelPointValue
    variable = T
    index = 105
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
[]
[Executioner]
  type = Steady
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = '3d_SCM_SS.i'
    execute_on = 'FINAL'
  []
[]
[Transfers]
  [subchannel_transfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu S'
  []
  [pin_transfer]
    type = SCMPinSolutionTransfer
    to_multi_app = viz
    variable = 'Tpin q_prime'
  []
[]
(modules/subchannel/examples/duct/test.i)
T_in = 660
mass_flux_in = '${fparse 1e+6 * 37.00 / 36000.*0.5}'
P_out = 2.0e5 # Pa
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = 4
    n_cells = 100
    flat_to_flat = 0.085
    heated_length = 1.0
    pin_diameter = 0.01
    pitch = 0.012
    dwire = 0.002
    hwire = 0.0833
    spacer_z = '0 0.2 0.4 0.6 0.8'
    spacer_k = '0.1 0.1 0.1 0.1 0.10'
  []
  [duct]
    type = SCMTriDuctMeshGenerator
    input = subchannel
    nrings = 4
    n_cells = 100
    flat_to_flat = 0.085
    heated_length = 1.0
    pitch = 0.012
  []
[]
[AuxVariables]
  [mdot]
    block = subchannel
  []
  [SumWij]
    block = subchannel
  []
  [P]
    block = subchannel
  []
  [DP]
    block = subchannel
  []
  [h]
    block = subchannel
  []
  [T]
    block = subchannel
  []
  [rho]
    block = subchannel
  []
  [S]
    block = subchannel
  []
  [w_perim]
    block = subchannel
  []
  [q_prime]
    block = subchannel
  []
  [mu]
    block = subchannel
  []
  [displacement]
    block = subchannel
  []
  [duct_heat_flux]
    block = duct
  []
  [Tduct]
    block = duct
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[Problem]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = 2.0e5
  CT = 1.0
  compute_density = false
  compute_viscosity = false
  compute_power = true
  P_tol = 1.0e-5
  T_tol = 1.0e-5
  implicit = true
  segregated = false
  staggered_pressure = false
  monolithic_thermal = false
  verbose_multiapps = true
  verbose_subchannel = false
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = 1e5 #1.000e5 # W
    filename = "pin_power_profile37.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
  [T_duct_ic]
    type = ConstantIC
    variable = Tduct
    value = ${T_in}
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
[]
[UserObjects]
  [Tduct_avg_uo]
    type = NearestPointLayeredAverage
    direction = z
    num_layers = 1000
    variable = Tduct
    block = duct
    points = '0 0 0'
    execute_on = 'TIMESTEP_END'
  []
[]
[Outputs]
  exodus = true
[]
[Executioner]
  type = Steady
  petsc_options_iname = '-pc_type -pc_hypre_type'
  petsc_options_value = 'hypre boomeramg'
  fixed_point_max_its = 2
  fixed_point_min_its = 2
  fixed_point_rel_tol = 1e-6
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  # Multiapp to duct heat conduction module
  [duct_map]
    type = FullSolveMultiApp
    input_files = wrapper.i # seperate file for multiapps due to radial power profile
    execute_on = 'timestep_end'
    positions = '0   0   0' #center of assembly
    bounding_box_padding = '10.0 10.0 10.0'
  []
  # Multiapp to detailed mesh for vizualization
  [viz]
    type = FullSolveMultiApp
    input_files = "3d.i"
    execute_on = 'timestep_end'
  []
[]
[Transfers]
  [duct_temperature_transfer] # Send duct temperature to heat conduction
    type = MultiAppInterpolationTransfer
    to_multi_app = duct_map
    source_variable = Tduct
    variable = duct_surface_temperature
  []
  [displacement_transfer]
    type = MultiAppGeneralFieldNearestNodeTransfer
    from_multi_app = duct_map
    source_variable = disp_magnitude
    variable = displacement
  []
  [q_prime] # Recover q_prime from heat conduction solve
    type = MultiAppInterpolationTransfer
    from_multi_app = duct_map
    source_variable = q_prime
    variable = duct_heat_flux
  []
  [xfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu q_prime S displacement'
  []
[]
(modules/subchannel/test/tests/SCMTriPower/test.i)
T_in = 588.5
flow_area = 0.0004980799633447909 #m2
mass_flux_in = '${fparse 55*3.78541/10/60/flow_area}'
P_out = 2.0e5 # Pa
length = 0.5
num_cells = 40
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = 3
    n_cells = ${num_cells}
    flat_to_flat = 3.41e-2
    heated_length = 0.5
    unheated_length_entry = 0.4
    unheated_length_exit = 0.1
    pin_diameter = 5.84e-3
    pitch = 7.26e-3
    dwire = 1.42e-3
    hwire = 0.3048
  []
[]
[AuxVariables]
  [q_prime_aux]
  []
[]
[Functions]
  [axial_heat_rate]
    type = ParsedFunction
    expression = '(pi/2)*sin(pi*z/L)'
    symbol_names = 'L'
    symbol_values = '${length}'
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[SubChannel]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = 2.0e5
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  implicit = true
  segregated = false
  verbose_subchannel = true
  interpolation_scheme = upwind
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_ic]
    type = SCMTriPowerIC
    variable = q_prime
    power = 20000 # W
    filename = "pin_power_profile.txt"
    # axial_heat_rate = axial_heat_rate
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
  [q_prime_AUX]
    type = SCMTriPowerAux
    variable = q_prime_aux
    power = 20000 # W
    filename = "pin_power_profile.txt" #type in name of file that describes radial power profile
    # axial_heat_rate = axial_heat_rate
    execute_on = 'initial'
  []
[]
[Executioner]
  type = Steady
[]
[Postprocessors]
  [Total_power_IC_defaultPP]
    type = ElementIntegralVariablePostprocessor
    variable = q_prime
  []
  [Total_power_Aux_defaultPP]
    type = ElementIntegralVariablePostprocessor
    variable = q_prime_aux
  []
  [Total_power_SCMPinPowerPostprocessor]
    type = SCMPinPowerPostprocessor
  []
  [Total_power_SCMTHPowerPostprocessor]
    type = SCMTHPowerPostprocessor
  []
[]
[Outputs]
  csv = true
[]
(modules/subchannel/test/tests/problems/interwrapper/tri_interwrapper_implicit.i)
T_in = 360.0
P_out = 4.923e6 # Pa
[TriInterWrapperMesh]
  [sub_channel]
    type = SCMTriInterWrapperMeshGenerator
    nrings = 3
    n_cells = 10
    flat_to_flat = 0.16
    heated_length = 1.0
    assembly_pitch = 0.17
    side_bypass = 0.01
  []
[]
[AuxVariables]
  [mdot]
  []
  [SumWij]
  []
  [P]
  []
  [DP]
  []
  [h]
  []
  [T]
  []
  [rho]
  []
  [mu]
  []
  [S]
  []
  [w_perim]
  []
  [q_prime]
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[ICs]
  [S_IC]
    type = TriInterWrapperFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = TriInterWrapperWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = TriInterWrapperPowerIC
    variable = q_prime
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.1
  []
[]
[SubChannel]
  type = TriInterWrapper1PhaseProblem
  fp = sodium
  n_blocks = 2
  beta = 0.1
  P_out = 2.0e5
  CT = 1.0
  compute_density = true
  compute_viscosity = true
  compute_power = false
  P_tol = 1.0e-6
  T_tol = 1.0e-6
  implicit = true
  segregated = true
  staggered_pressure = false
  monolithic_thermal = false
  interpolation_scheme = 'upwind'
[]
[AuxKernels]
[]
[Outputs]
  exodus = true
  checkpoint = false
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/examples/mesh_generator/inter_wrapper_tri_mesh_generator_test.i)
T_in = 360.0
P_out = 4.923e6 # Pa
[TriInterWrapperMesh]
  [sub_channel]
    type = SCMTriInterWrapperMeshGenerator
    nrings = 4
    n_cells = 50
    flat_to_flat = 0.16
    heated_length = 3.0
    assembly_pitch = 0.17
    side_bypass = 0.01
  []
[]
[AuxVariables]
  [mdot]
  []
  [SumWij]
  []
  [P]
  []
  [DP]
  []
  [h]
  []
  [T]
  []
  [rho]
  []
  [mu]
  []
  [S]
  []
  [w_perim]
  []
  [q_prime]
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[ICs]
  [S_IC]
    type = TriInterWrapperFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = TriInterWrapperWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = TriInterWrapperPowerIC
    variable = q_prime
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.1
  []
[]
[SubChannel]
  type = TriInterWrapper1PhaseProblem
  fp = sodium
  n_blocks = 1
  beta = 0.1
  P_out = 2.0e5
  CT = 1.0
  compute_density = true
  compute_viscosity = true
  compute_power = false
  #  P_tol = 1.0e-5
  #  T_tol = 1.0e-5
  implicit = false
  segregated = true
  staggered_pressure = false
  monolithic_thermal = false
[]
[AuxKernels]
[]
[Outputs]
  exodus = true
  checkpoint = false
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/validation/EBR-II/XX09_SCM_SS45R.i)
# Following Benchmark Specifications and Data Requirements for EBR-II Shutdown Heat Removal Tests SHRT-17 and SHRT-45R
# Available at: https://publications.anl.gov/anlpubs/2012/06/73647.pdf
###################################################
# Steady state subchannel calcultion
# Thermal-hydraulics parameters
###################################################
T_in = 616.4 #Kelvin
Total_Surface_Area = 0.000854322 #m2
Mass_In = 2.427 #kg/sec
mass_flux_in = '${fparse Mass_In / Total_Surface_Area}' #kg/m2
P_out = 2.0e5
Power_initial = 379800 #W (Page 26,35 of ANL document)
###################################################
# Geometric parameters
###################################################
scale_factor = 0.01
fuel_pin_pitch = '${fparse 0.5664*scale_factor}'
fuel_pin_diameter = '${fparse 0.4419*scale_factor}'
wire_z_spacing = '${fparse 15.24*scale_factor}'
wire_diameter = '${fparse 0.1244*scale_factor}'
inner_duct_in = '${fparse 4.64*scale_factor}'
n_rings = 5
heated_length = '${fparse 34.3*scale_factor}'
unheated_length_exit = '${fparse 26.9*scale_factor}'
###################################################
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = ${n_rings}
    n_cells = 50
    flat_to_flat = ${inner_duct_in}
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pin_diameter = ${fuel_pin_diameter}
    pitch = ${fuel_pin_pitch}
    dwire = ${wire_diameter}
    hwire = ${wire_z_spacing}
  []
  [fuel_pins]
    type = SCMTriPinMeshGenerator
    input = subchannel
    nrings = ${n_rings}
    n_cells = 50
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pitch = ${fuel_pin_pitch}
  []
  [duct]
    type = SCMTriDuctMeshGenerator
    input = fuel_pins
    nrings = ${n_rings}
    n_cells = 50
    flat_to_flat = ${inner_duct_in}
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pitch = ${fuel_pin_pitch}
  []
[]
[Functions]
  [axial_heat_rate]
    type = ParsedFunction
    value = '(pi/2)*sin(pi*z/L)*exp(-alpha*z)/(1.0/alpha*(1.0 - exp(-alpha*L)))*L'
    vars = 'L alpha'
    vals = '${heated_length} 1.8012'
  []
[]
[AuxVariables]
  [mdot]
    block = subchannel
  []
  [SumWij]
    block = subchannel
  []
  [P]
    block = subchannel
  []
  [DP]
    block = subchannel
  []
  [h]
    block = subchannel
  []
  [T]
    block = subchannel
  []
  [rho]
    block = subchannel
  []
  [S]
    block = subchannel
  []
  [w_perim]
    block = subchannel
  []
  [mu]
    block = subchannel
  []
  [displacement]
    block = subchannel
  []
  [ff]
    block = subchannel
  []
  [ff_a]
    block = subchannel
  []
  [ff_b]
    block = subchannel
  []
  [q_prime]
    block = fuel_pins
  []
  [Tpin]
    block = fuel_pins
  []
  [Dpin]
    block = fuel_pins
  []
  [duct_heat_flux]
    block = duct
  []
  [Tduct]
    block = duct
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[Problem]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = ${P_out}
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_tol = 1.0e-4
  T_tol = 1.0e-5
  implicit = true
  segregated = false
  interpolation_scheme = 'upwind'
  verbose_subchannel = true
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = ${Power_initial}
    filename = "pin_power_profile61_uniform.txt"
    axial_heat_rate = axial_heat_rate
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = ${fuel_pin_diameter}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
    block = subchannel
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
[]
[Outputs]
  csv = true
[]
[Postprocessors]
  [TTC-27]
    type = SubChannelPointValue
    variable = T
    index = 91
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-28]
    type = SubChannelPointValue
    variable = T
    index = 50
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-29]
    type = SubChannelPointValue
    variable = T
    index = 21
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-30]
    type = SubChannelPointValue
    variable = T
    index = 4
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-31]
    type = SubChannelPointValue
    variable = T
    index = 2
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-32]
    type = SubChannelPointValue
    variable = T
    index = 16
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-33]
    type = SubChannelPointValue
    variable = T
    index = 42
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-34]
    type = SubChannelPointValue
    variable = T
    index = 80
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-35]
    type = SubChannelPointValue
    variable = T
    index = 107
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [MTC-20]
  type = SubChannelPointValue
  variable = T
  index = 33
  execute_on = 'TIMESTEP_END'
  height = 0.172
  []
  [MTC-22]
    type = SubChannelPointValue
    variable = T
    index = 3
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [MTC-24]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [MTC-25]
    type = SubChannelPointValue
    variable = T
    index = 60
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [MTC-26]
    type = SubChannelPointValue
    variable = T
    index = 106
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [14TC-37]
    type = SubChannelPointValue
    variable = T
    index = 52
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
  [14TC-39]
    type = SubChannelPointValue
    variable = T
    index = 6
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
  [14TC-41]
    type = SubChannelPointValue
    variable = T
    index = 40
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
  [14TC-43]
    type = SubChannelPointValue
    variable = T
    index = 105
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
[]
[Executioner]
  type = Steady
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = '3d_SCM_SS.i'
    execute_on = 'FINAL'
  []
[]
[Transfers]
  [subchannel_transfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu S'
  []
  [pin_transfer]
    type = SCMPinSolutionTransfer
    to_multi_app = viz
    variable = 'Tpin q_prime'
  []
[]
(modules/subchannel/test/tests/problems/SFR/sodium-19pin/test19_full_monolithic.i)
T_in = 660
mass_flux_in = '${fparse 1e+6 * 300.00 / 36000.*0.5}'
P_out = 2.0e5 # Pa
[GlobalParams]
  nrings = 3
  n_cells = 5
  flat_to_flat = 0.056
  heated_length = 0.5
  pitch = 0.012
[]
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    pin_diameter = 0.01
    dwire = 0.002
    hwire = 0.0833
    spacer_z = '0'
    spacer_k = '5.0'
  []
  [duct]
    type = SCMTriDuctMeshGenerator
    input = subchannel
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[SubChannel]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = 2.0e5
  CT = 1.0
  compute_density = true
  compute_viscosity = true
  compute_power = true
  T_tol = 1.0e-6
  P_tol = 1.0e-6
  implicit = true
  segregated = false
  monolithic_thermal = true
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = 1000.0 # W
    filename = "pin_power_profile19.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
[]
[Outputs]
  exodus = true
  csv = true
[]
[Postprocessors]
  [T1]
    type = SubChannelPointValue
    variable = T
    index = 37
    execute_on = "timestep_end"
    height = 0.5
  []
  [T2]
    type = SubChannelPointValue
    variable = T
    index = 36
    execute_on = "timestep_end"
    height = 0.5
  []
  [T3]
    type = SubChannelPointValue
    variable = T
    index = 20
    execute_on = "timestep_end"
    height = 0.5
  []
  [T4]
    type = SubChannelPointValue
    variable = T
    index = 10
    execute_on = "timestep_end"
    height = 0.5
  []
  [T5]
    type = SubChannelPointValue
    variable = T
    index = 4
    execute_on = "timestep_end"
    height = 0.5
  []
  [T6]
    type = SubChannelPointValue
    variable = T
    index = 1
    execute_on = "timestep_end"
    height = 0.5
  []
  [T7]
    type = SubChannelPointValue
    variable = T
    index = 14
    execute_on = "timestep_end"
    height = 0.5
  []
  [T8]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = "timestep_end"
    height = 0.5
  []
  ####### Assembly pressure drop
  [DP_SubchannelDelta]
    type = SubChannelDelta
    variable = P
    execute_on = 'TIMESTEP_END'
  []
  #####
  [Mean_Temp]
    type = SCMPlanarMean
    variable = T
    height = 2
  []
  [Total_power]
    type = ElementIntegralVariablePostprocessor
    variable = q_prime
    block = subchannel
  []
  [mdot-8]
    type = SubChannelPointValue
    variable = mdot
    index = 28
    execute_on = 'TIMESTEP_END'
    height = 0.5
  []
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/test/tests/problems/SFR/EBR-II/XX09_SS_SHRT17.i)
# Following Benchmark Specifications and Data Requirements for EBR-II Shutdown Heat Removal Tests SHRT-17 and SHRT-45R
# Available at: https://publications.anl.gov/anlpubs/2012/06/73647.pdf
###################################################
#Steady state subchannel calcultion,with adapted massflow rate
# Thermal-hydraulics parameters
###################################################
T_in = 624.70556 #Kelvin
Total_Surface_Area = 0.000854322 #m3
mass_flux_in = '${fparse 2.6923 / Total_Surface_Area}' #
P_out = 2.0e5
Power_initial = 486200 #W (Page 26,35 of ANL document)
###################################################
# Geometric parameters
###################################################
scale_factor = 0.01
fuel_pin_pitch = '${fparse 0.5664*scale_factor}'
fuel_pin_diameter = '${fparse 0.4419*scale_factor}'
wire_z_spacing = '${fparse 15.24*scale_factor}'
wire_diameter = '${fparse 0.1244*scale_factor}'
inner_duct_in = '${fparse 4.64*scale_factor}'
n_rings = 5
heated_length = '${fparse 34.3*scale_factor}'
unheated_length_exit = '${fparse 26.9*scale_factor}'
###################################################
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = ${n_rings}
    n_cells = 50
    flat_to_flat = ${inner_duct_in}
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pin_diameter = ${fuel_pin_diameter}
    pitch = ${fuel_pin_pitch}
    dwire = ${wire_diameter}
    hwire = ${wire_z_spacing}
    spacer_z = '0.0'
    spacer_k = '0.0'
  []
  [fuel_pins]
    type = SCMTriPinMeshGenerator
    input = subchannel
    nrings = ${n_rings}
    n_cells = 50
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pitch = ${fuel_pin_pitch}
  []
[]
[AuxVariables]
  [mdot]
    block = subchannel
  []
  [SumWij]
    block = subchannel
  []
  [P]
    block = subchannel
  []
  [DP]
    block = subchannel
  []
  [h]
    block = subchannel
  []
  [T]
    block = subchannel
  []
  [rho]
    block = subchannel
  []
  [S]
    block = subchannel
  []
  [w_perim]
    block = subchannel
  []
  [mu]
    block = subchannel
  []
  [q_prime]
    block = fuel_pins
  []
  [Tpin]
    block = fuel_pins
  []
  [Dpin]
    block = fuel_pins
  []
  [displacement]
    block = subchannel
  []
  [ff]
    block = subchannel
  []
  [ff_a]
    block = subchannel
  []
  [ff_b]
    block = subchannel
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[Problem]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = ${P_out}
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_tol = 1.0e-4
  T_tol = 1.0e-5
  implicit = true
  segregated = false
  interpolation_scheme = 'upwind'
  deformation = true
  verbose_subchannel = true
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = ${Power_initial}
    filename = "pin_power_profile61_uniform.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = ${fuel_pin_diameter}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
    block = subchannel
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
[]
[Postprocessors]
  [TTC-27]
    type = SubChannelPointValue
    variable = T
    index = 91
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-28]
    type = SubChannelPointValue
    variable = T
    index = 50
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-29]
    type = SubChannelPointValue
    variable = T
    index = 21
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-30]
    type = SubChannelPointValue
    variable = T
    index = 4
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-31]
    type = SubChannelPointValue
    variable = T
    index = 2
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-32]
    type = SubChannelPointValue
    variable = T
    index = 16
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-33]
    type = SubChannelPointValue
    variable = T
    index = 42
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-34]
    type = SubChannelPointValue
    variable = T
    index = 80
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-35]
    type = SubChannelPointValue
    variable = T
    index = 107
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  ####### Assembly pressure drop
  [DP_SubchannelDelta]
    type = SubChannelDelta
    variable = P
    execute_on = 'TIMESTEP_END'
  []
  #####
  [Mean_Temp]
    type = SCMPlanarMean
    variable = T
    height = 2
  []
  #####
  [mdot-35]
    type = SubChannelPointValue
    variable = mdot
    index = 107
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
[]
[Outputs]
  exodus = true
  csv = true
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/validation/EBR-II/XX09_SCM_SS45R_corrected.i)
# Following Benchmark Specifications and Data Requirements for EBR-II Shutdown Heat Removal Tests SHRT-17 and SHRT-45R
# Available at: https://publications.anl.gov/anlpubs/2012/06/73647.pdf
###################################################
# Steady state subchannel calcultion
# Thermal-hydraulics parameters
###################################################
T_in = 616.4 #Kelvin
Total_Surface_Area = 0.000854322 #m2
Mass_In = 2.427 #kg/sec
mass_flux_in = '${fparse Mass_In / Total_Surface_Area}' #kg/m2
P_out = 2.0e5
Power_initial = 379800 #W (Page 26,35 of ANL document)
###################################################
# Geometric parameters
###################################################
scale_factor = 0.01
fuel_pin_pitch = '${fparse 0.5664*scale_factor}'
fuel_pin_diameter = '${fparse 0.4419*scale_factor}'
wire_z_spacing = '${fparse 15.24*scale_factor}'
wire_diameter = '${fparse 0.1244*scale_factor}'
inner_duct_in = '${fparse 4.64*scale_factor}'
n_rings = 5
heated_length = '${fparse 34.3*scale_factor}'
unheated_length_exit = '${fparse 26.9*scale_factor}'
###################################################
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = ${n_rings}
    n_cells = 50
    flat_to_flat = ${inner_duct_in}
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pin_diameter = ${fuel_pin_diameter}
    pitch = ${fuel_pin_pitch}
    dwire = ${wire_diameter}
    hwire = ${wire_z_spacing}
  []
  [fuel_pins]
    type = SCMTriPinMeshGenerator
    input = subchannel
    nrings = ${n_rings}
    n_cells = 50
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pitch = ${fuel_pin_pitch}
  []
  [duct]
    type = SCMTriDuctMeshGenerator
    input = fuel_pins
    nrings = ${n_rings}
    n_cells = 50
    flat_to_flat = ${inner_duct_in}
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pitch = ${fuel_pin_pitch}
  []
[]
[Functions]
  [axial_heat_rate]
    type = ParsedFunction
    value = '(pi/2)*sin(pi*z/L)*exp(-alpha*z)/(1.0/alpha*(1.0 - exp(-alpha*L)))*L'
    vars = 'L alpha'
    vals = '${heated_length} 1.8012'
  []
[]
[AuxVariables]
  [mdot]
    block = subchannel
  []
  [SumWij]
    block = subchannel
  []
  [P]
    block = subchannel
  []
  [DP]
    block = subchannel
  []
  [h]
    block = subchannel
  []
  [T]
    block = subchannel
  []
  [rho]
    block = subchannel
  []
  [S]
    block = subchannel
  []
  [w_perim]
    block = subchannel
  []
  [mu]
    block = subchannel
  []
  [displacement]
    block = subchannel
  []
  [ff]
    block = subchannel
  []
  [ff_a]
    block = subchannel
  []
  [ff_b]
    block = subchannel
  []
  [q_prime]
    block = fuel_pins
  []
  [Tpin]
    block = fuel_pins
  []
  [Dpin]
    block = fuel_pins
  []
  [duct_heat_flux]
    block = duct
  []
  [Tduct]
    block = duct
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[Problem]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = ${P_out}
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_tol = 1.0e-4
  T_tol = 1.0e-5
  implicit = true
  segregated = false
  interpolation_scheme = 'upwind'
  verbose_subchannel = true
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = ${Power_initial}
    filename = "pin_power_profile61.txt"
    axial_heat_rate = axial_heat_rate
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = ${fuel_pin_diameter}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
    block = subchannel
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
[]
[Outputs]
  csv = true
[]
[Postprocessors]
  [TTC-27]
    type = SubChannelPointValue
    variable = T
    index = 91
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-28]
    type = SubChannelPointValue
    variable = T
    index = 50
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-29]
    type = SubChannelPointValue
    variable = T
    index = 21
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-30]
    type = SubChannelPointValue
    variable = T
    index = 4
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-31]
    type = SubChannelPointValue
    variable = T
    index = 2
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-32]
    type = SubChannelPointValue
    variable = T
    index = 16
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-33]
    type = SubChannelPointValue
    variable = T
    index = 42
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-34]
    type = SubChannelPointValue
    variable = T
    index = 80
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [TTC-35]
    type = SubChannelPointValue
    variable = T
    index = 107
    execute_on = 'TIMESTEP_END'
    height = 0.322
  []
  [MTC-20]
  type = SubChannelPointValue
  variable = T
  index = 33
  execute_on = 'TIMESTEP_END'
  height = 0.172
  []
  [MTC-22]
    type = SubChannelPointValue
    variable = T
    index = 3
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [MTC-24]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [MTC-25]
    type = SubChannelPointValue
    variable = T
    index = 60
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [MTC-26]
    type = SubChannelPointValue
    variable = T
    index = 106
    execute_on = 'TIMESTEP_END'
    height = 0.172
  []
  [14TC-37]
    type = SubChannelPointValue
    variable = T
    index = 52
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
  [14TC-39]
    type = SubChannelPointValue
    variable = T
    index = 6
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
  [14TC-41]
    type = SubChannelPointValue
    variable = T
    index = 40
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
  [14TC-43]
    type = SubChannelPointValue
    variable = T
    index = 105
    execute_on = 'TIMESTEP_END'
    height = 0.480
  []
[]
[Executioner]
  type = Steady
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = '3d_SCM_SS.i'
    execute_on = 'FINAL'
  []
[]
[Transfers]
  [subchannel_transfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu S'
  []
  [pin_transfer]
    type = SCMPinSolutionTransfer
    to_multi_app = viz
    variable = 'Tpin q_prime'
  []
[]
(modules/subchannel/validation/Blockage/THORS/FFM-5B_high.i)
################################################################################
## THORS bundle 5B partial edge blockage benchmark                            ##
## SCM simulation, high flow case                                             ##
## POC : Vasileios Kyriakopoulos, [email protected]             ##
################################################################################
# Details on the experimental facility modeled can be found at:
# Han, J. T. "Blockages in LMFBR fuel assemblies: A review of experimental and theoretical studies." (1977).
# This input file models a block next to the duct of  the of the assembly
# 102 mm above the start of the heated section.
# Boundary conditions
T_in = 596.75 # K, high flow case
A12 = 1.00423e3
A13 = -0.21390
A14 = -1.1046e-5
rho = '${fparse A12 + A13 * T_in + A14 * T_in * T_in}'
inlet_vel = 6.93 #m/sec, high flow case
mass_flux_in = '${fparse rho *  inlet_vel}'
P_out = 2.0e5 # Pa
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = 3
    n_cells = 50
    flat_to_flat = 0.0324290
    heated_length = 0.4572
    unheated_length_entry = 0.4064
    unheated_length_exit = 0.1524
    pin_diameter = 0.005842
    pitch = 7.2644e-3
    dwire = 0.0014224
    hwire = 0.3048
    z_blockage = '0.49 0.52'
    index_blockage = '29 31 30 32 34 33 35 15 16 8 17 18 9 19'
    reduction_blockage = '0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08'
    k_blockage = '4 4 4 4 4 4 4 4 4 4 4 4 4 4 '
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[SubChannel]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = 2.0e5
  CT = 2
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_tol = 1.0e-4
  T_tol = 1.0e-4
  implicit = true
  segregated = false
  verbose_subchannel = true
  interpolation_scheme = exponential
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = 145000  #W, high flow case
    filename = "pin_power_profile_19.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
[]
[Outputs]
  exodus = true
  csv = true
[]
[Postprocessors]
  [1]
    type = SubChannelPointValue
    variable = T
    index = 34
    execute_on = 'initial timestep_end'
    height = 0.94
  []
  [2]
    type = SubChannelPointValue
    variable = T
    index = 33
    execute_on = 'initial timestep_end'
    height = 0.94
  []
  [3]
    type = SubChannelPointValue
    variable = T
    index = 18
    execute_on = 'initial timestep_end'
    height = 0.94
  []
  [4]
    type = SubChannelPointValue
    variable = T
    index = 9
    execute_on = 'initial timestep_end'
    height = 0.94
  []
  [5]
    type = SubChannelPointValue
    variable = T
    index = 3
    execute_on = 'initial timestep_end'
    height = 0.94
  []
  [6]
    type = SubChannelPointValue
    variable = T
    index = 0
    execute_on = 'initial timestep_end'
    height = 0.94
  []
  [7]
    type = SubChannelPointValue
    variable = T
    index = 12
    execute_on = 'initial timestep_end'
    height = 0.94
  []
  [8]
    type = SubChannelPointValue
    variable = T
    index = 25
    execute_on = 'initial timestep_end'
    height = 0.94
  []
[]
[Executioner]
  type = Steady
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = "FFM-5B_viz.i"
    execute_on = "timestep_end"
  []
[]
[Transfers]
  [xfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu q_prime S displacement w_perim'
  []
[]
(modules/subchannel/validation/EBR-II/XX09_SCM_TR17.i)
# Following Benchmark Specifications and Data Requirements for EBR-II Shutdown Heat Removal Tests SHRT-17 and SHRT-45R
# Available at: https://publications.anl.gov/anlpubs/2012/06/73647.pdf
# Transient Subchannel calculation
###################################################
# Thermal-hydraulics parameters
###################################################
T_in = 624.7 #Kelvin
Total_Surface_Area = 0.000854322 #m3
mass_flux_in = '${fparse 2.45 / Total_Surface_Area}'
P_out = 2.0e5
Power_initial = 486200 #W (Page 26,35 of ANL document)
###################################################
# Geometric parameters
###################################################
scale_factor = 0.01
fuel_pin_pitch = '${fparse 0.5664*scale_factor}'
fuel_pin_diameter = '${fparse 0.4419*scale_factor}'
wire_z_spacing = '${fparse 15.24*scale_factor}'
wire_diameter = '${fparse 0.1244*scale_factor}'
inner_duct_in = '${fparse 4.64*scale_factor}'
n_rings = 5
heated_length = '${fparse 34.3*scale_factor}'
unheated_length_exit = '${fparse 26.9*scale_factor}'
###################################################
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = ${n_rings}
    n_cells = 50
    flat_to_flat = ${inner_duct_in}
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pin_diameter = ${fuel_pin_diameter}
    pitch = ${fuel_pin_pitch}
    dwire = ${wire_diameter}
    hwire = ${wire_z_spacing}
    spacer_z = '0.0'
    spacer_k = '0.0'
  []
  [fuel_pins]
    type = SCMTriPinMeshGenerator
    input = subchannel
    nrings = ${n_rings}
    n_cells = 50
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pitch = ${fuel_pin_pitch}
  []
[]
[AuxVariables]
  [mdot]
    block = subchannel
  []
  [SumWij]
    block = subchannel
  []
  [P]
    block = subchannel
  []
  [DP]
    block = subchannel
  []
  [h]
    block = subchannel
  []
  [T]
    block = subchannel
  []
  [rho]
    block = subchannel
  []
  [S]
    block = subchannel
  []
  [w_perim]
    block = subchannel
  []
  [mu]
    block = subchannel
  []
  [q_prime_init]
    block = fuel_pins
  []
  [power_history_field]
    block = fuel_pins
  []
  [q_prime]
    block = fuel_pins
  []
  [Tpin]
    block = fuel_pins
  []
  [Dpin]
    block = fuel_pins
  []
  [displacement]
    block = subchannel
  []
  [ff]
    block = subchannel
  []
  [ff_a]
    block = subchannel
  []
  [ff_b]
    block = subchannel
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[Problem]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = ${P_out}
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_tol = 1.0e-4
  T_tol = 1.0e-4
  implicit = true
  segregated = false
  interpolation_scheme = 'upwind'
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime_init
    power = ${Power_initial}
    filename = "pin_power_profile61_uniform.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = ${fuel_pin_diameter}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[Functions]
  [power_func]
    type = PiecewiseLinear
    data_file = 'power_history_SHRT17.csv'
    format = "columns"
    scale_factor = 1.0
  []
  [mass_flux_in]
    type = PiecewiseLinear
    data_file = 'massflow_SHRT17.csv'
    format = "columns"
    scale_factor = '${fparse mass_flux_in / 2.45}'
  []
  [time_step_limiting]
    type = PiecewiseLinear
    xy_data = '0.1 0.1
               10.0 10.0'
  []
[]
[Controls]
  [mass_flux_ctrl]
    type = RealFunctionControl
    parameter = 'Postprocessors/mass_flux_PP/value'
    function = 'mass_flux_in'
    execute_on = 'initial timestep_begin'
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
    block = subchannel
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = mass_flux_PP
    execute_on = 'timestep_begin'
  []
  [populate_power_history]
    type = FunctionAux
    variable = power_history_field
    function = 'power_func'
    execute_on = 'INITIAL TIMESTEP_BEGIN'
  []
  [change_q_prime]
    type = ParsedAux
    variable = q_prime
    args = 'q_prime_init power_history_field'
    function = 'q_prime_init*power_history_field'
    execute_on = 'INITIAL TIMESTEP_BEGIN'
  []
[]
[Outputs]
  csv = true
[]
[Postprocessors]
  [report_pressure_outlet]
    type = Receiver
    default = ${P_out}
  []
  [TTC-31]
    type = SubChannelPointValue
    variable = T
    index = 0
    execute_on = 'initial timestep_end'
    height = 0.322
  []
  [post_func]
    type = ElementIntegralVariablePostprocessor
    block = fuel_pins
    variable = q_prime
    execute_on = 'INITIAL TIMESTEP_BEGIN'
  []
  [mass_flux_PP]
    type = ConstantPostprocessor
    value = ${mass_flux_in}
  []
  [mass_flow_PP]
    type = ParsedPostprocessor
    expression = '${Total_Surface_Area} * mass_flux_PP'
    pp_names = 'mass_flux_PP'
  []
[]
[Executioner]
  type = Transient
  start_time = -1.0
  end_time = 900.0
  [TimeStepper]
    type = IterationAdaptiveDT
    dt = 0.1
    iteration_window = 5
    optimal_iterations = 6
    growth_factor = 1.1
    cutback_factor = 0.8
    timestep_limiting_function = 'time_step_limiting'
  []
  dtmax = 20
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = TransientMultiApp
    input_files = '3d_SCM_TR.i'
    execute_on = 'INITIAL TIMESTEP_END'
    catch_up = true
  []
[]
[Transfers]
  [subchannel_transfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu S'
  []
  [pin_transfer]
    type = SCMPinSolutionTransfer
    to_multi_app = viz
    variable = 'Tpin q_prime'
  []
[]
(modules/subchannel/validation/Blockage/THORS/FFM-5B_low.i)
################################################################################
## THORS bundle 5B partial edge blockage benchmark                            ##
## SCM simulation, low flow casenn                                            ##
## POC : Vasileios Kyriakopoulos, [email protected]             ##
################################################################################
# Details on the experimental facility modeled can be found at:
# Han, J. T. "Blockages in LMFBR fuel assemblies: A review of experimental and theoretical studies." (1977).
# This input file models a block next to the duct of  the of the assembly
# 102 mm above the start of the heated section.
# Boundary conditions
T_in = 541.55 #K, low flow case
A12 = 1.00423e3
A13 = -0.21390
A14 = -1.1046e-5
rho = '${fparse A12 + A13 * T_in + A14 * T_in * T_in}'
inlet_vel = 0.48 #m/sec, low flow case
mass_flux_in = '${fparse rho *  inlet_vel}'
P_out = 2.0e5 # Pa
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = 3
    n_cells = 50
    flat_to_flat = 0.0324290
    heated_length = 0.4572
    unheated_length_entry = 0.4064
    unheated_length_exit = 0.1524
    pin_diameter = 0.005842
    pitch = 7.2644e-3
    dwire = 0.0014224
    hwire = 0.3048
    z_blockage = '0.49 0.52'
    index_blockage = '29 31 30 32 34 33 35 15 16 8 17 18 9 19'
    reduction_blockage = '0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08 0.08'
    k_blockage = '4 4 4 4 4 4 4 4 4 4 4 4 4 4 '
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[SubChannel]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = 2.0e5
  CT = 2
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_tol = 1.0e-4
  T_tol = 1.0e-4
  implicit = true
  segregated = false
  verbose_subchannel = true
  interpolation_scheme = exponential
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
  [q_prime_Aux]
    type = SCMTriPowerAux
    variable = q_prime
    power = 52800 #W, low flow case
    filename = "pin_power_profile_19.txt"
    execute_on = 'initial timestep_begin'
  []
[]
[Outputs]
  exodus = true
  csv = true
[]
[Postprocessors]
  [1]
    type = SubChannelPointValue
    variable = T
    index = 34
    execute_on = 'initial timestep_end'
    height = 0.94
  []
  [2]
    type = SubChannelPointValue
    variable = T
    index = 33
    execute_on = 'initial timestep_end'
    height = 0.94
  []
  [3]
    type = SubChannelPointValue
    variable = T
    index = 18
    execute_on = 'initial timestep_end'
    height = 0.94
  []
  [4]
    type = SubChannelPointValue
    variable = T
    index = 9
    execute_on = 'initial timestep_end'
    height = 0.94
  []
  [5]
    type = SubChannelPointValue
    variable = T
    index = 3
    execute_on = 'initial timestep_end'
    height = 0.94
  []
  [6]
    type = SubChannelPointValue
    variable = T
    index = 0
    execute_on = 'initial timestep_end'
    height = 0.94
  []
  [7]
    type = SubChannelPointValue
    variable = T
    index = 12
    execute_on = 'initial timestep_end'
    height = 0.94
  []
  [8]
    type = SubChannelPointValue
    variable = T
    index = 25
    execute_on = 'initial timestep_end'
    height = 0.94
  []
[]
[Executioner]
  type = Steady
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = "FFM-5B_viz.i"
    execute_on = "timestep_end"
  []
[]
[Transfers]
  [xfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu q_prime S displacement w_perim'
  []
[]
(modules/subchannel/validation/EBR-II/XX09_SCM_TR45R.i)
# Following Benchmark Specifications and Data Requirements for EBR-II Shutdown Heat Removal Tests SHRT-17 and SHRT-45R
# Available at: https://publications.anl.gov/anlpubs/2012/06/73647.pdf
# Transient Subchannel calculation
###################################################
# Thermal-hydraulics parameters
###################################################
T_in = 616.4 #Kelvin
Total_Surface_Area = 0.000854322 #m3
mass_flux_in = '${fparse 2.427 / Total_Surface_Area}'
P_out = 2.0e5
Power_initial = 379800 #W (Page 26,35 of ANL document)
###################################################
# Geometric parameters
###################################################
scale_factor = 0.01
fuel_pin_pitch = '${fparse 0.5664*scale_factor}'
fuel_pin_diameter = '${fparse 0.4419*scale_factor}'
wire_z_spacing = '${fparse 15.24*scale_factor}'
wire_diameter = '${fparse 0.1244*scale_factor}'
inner_duct_in = '${fparse 4.64*scale_factor}'
n_rings = 5
heated_length = '${fparse 34.3*scale_factor}'
unheated_length_exit = '${fparse 26.9*scale_factor}'
###################################################
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = ${n_rings}
    n_cells = 50
    flat_to_flat = ${inner_duct_in}
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pin_diameter = ${fuel_pin_diameter}
    pitch = ${fuel_pin_pitch}
    dwire = ${wire_diameter}
    hwire = ${wire_z_spacing}
    spacer_z = '0.0'
    spacer_k = '0.0'
  []
  [fuel_pins]
    type = SCMTriPinMeshGenerator
    input = subchannel
    nrings = ${n_rings}
    n_cells = 50
    unheated_length_exit = ${unheated_length_exit}
    heated_length = ${heated_length}
    pitch = ${fuel_pin_pitch}
  []
[]
[AuxVariables]
  [mdot]
    block = subchannel
  []
  [SumWij]
    block = subchannel
  []
  [P]
    block = subchannel
  []
  [DP]
    block = subchannel
  []
  [h]
    block = subchannel
  []
  [T]
    block = subchannel
  []
  [rho]
    block = subchannel
  []
  [S]
    block = subchannel
  []
  [w_perim]
    block = subchannel
  []
  [mu]
    block = subchannel
  []
  [q_prime_init]
    block = fuel_pins
  []
  [power_history_field]
    block = fuel_pins
  []
  [q_prime]
    block = fuel_pins
  []
  [Tpin]
    block = fuel_pins
  []
  [Dpin]
    block = fuel_pins
  []
  [displacement]
    block = subchannel
  []
  [ff]
    block = subchannel
  []
  [ff_a]
    block = subchannel
  []
  [ff_b]
    block = subchannel
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[Problem]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = ${P_out}
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_tol = 1.0e-4
  T_tol = 1.0e-4
  implicit = true
  segregated = false
  interpolation_scheme = 'upwind'
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime_init
    power = ${Power_initial}
    filename = "pin_power_profile61_uniform.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = ${fuel_pin_diameter}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[Functions]
  [power_func]
    type = PiecewiseLinear
    data_file = 'power_history_SHRT45.csv'
    format = "columns"
    scale_factor = 1.0
  []
  [mass_flux_in]
    type = PiecewiseLinear
    data_file = 'massflow_SHRT45.csv'
    format = "columns"
    scale_factor = '${fparse mass_flux_in / 2.427}'
  []
  [dts]
    type = PiecewiseLinear
    xy_data = '0.0 0.1
               5.0 2.0
               100 2.0
               110 20.0
               900 20.0'
  []
[]
[Controls]
  [mass_flux_ctrl]
    type = RealFunctionControl
    parameter = 'Postprocessors/mass_flux_PP/value'
    function = 'mass_flux_in'
    execute_on = 'initial timestep_begin'
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
    block = subchannel
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = mass_flux_PP
    execute_on = 'timestep_begin'
  []
  [populate_power_history]
    type = FunctionAux
    variable = power_history_field
    function = 'power_func'
    execute_on = 'INITIAL TIMESTEP_BEGIN'
  []
  [change_q_prime]
    type = ParsedAux
    variable = q_prime
    args = 'q_prime_init power_history_field'
    function = 'q_prime_init*power_history_field'
    execute_on = 'INITIAL TIMESTEP_BEGIN'
  []
[]
[Outputs]
  csv = true
[]
[Postprocessors]
  [report_pressure_outlet]
    type = Receiver
    default = ${P_out}
  []
  [TTC-31]
    type = SubChannelPointValue
    variable = T
    index = 0
    execute_on = 'initial timestep_end'
    height = 0.322
  []
  [post_func]
    type = ElementIntegralVariablePostprocessor
    block = fuel_pins
    variable = q_prime
    execute_on = 'INITIAL TIMESTEP_BEGIN'
  []
  [mass_flux_PP]
    type = ConstantPostprocessor
    value = ${mass_flux_in}
  []
  [mass_flow_PP]
    type = ParsedPostprocessor
    expression = '${Total_Surface_Area} * mass_flux_PP'
    pp_names = 'mass_flux_PP'
  []
[]
[Executioner]
  type = Transient
  start_time = -1
  end_time = 900.0
  [TimeStepper]
    type = FunctionDT
    function = dts
    min_dt = 0.1
    growth_factor = 2.0
  []
  dtmax = 20
  # num_steps = 15
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = TransientMultiApp
    input_files = '3d_SCM_TR.i'
    execute_on = 'INITIAL TIMESTEP_END'
    catch_up = true
  []
[]
[Transfers]
  [subchannel_transfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu S'
  []
  [pin_transfer]
    type = SCMPinSolutionTransfer
    to_multi_app = viz
    variable = 'Tpin q_prime'
  []
[]
(modules/subchannel/validation/Blockage/THORS/FFM-3A.i)
################################################################################
## THORS bundle 3A central blockage benchmark                                 ##
## SCM simulation                                                             ##
## POC : Vasileios Kyriakopoulos, [email protected]             ##
################################################################################
# Details on the experimental facility modeled can be found at:
# Han, J. T. "Blockages in LMFBR fuel assemblies: A review of experimental and theoretical studies." (1977).
# The affected subchannels get an area reduction and a form loss coefficient
T_in = 714.261
A12 = 1.00423e3
A13 = -0.21390
A14 = -1.1046e-5
rho = '${fparse A12 + A13 * T_in + A14 * T_in * T_in}'
Total_surface_area = 0.000452826 #m2
Blocked_surface_area = 0.0 #m2
Flow_area = '${fparse Total_surface_area - Blocked_surface_area}'
vol_flow = 3.4E-03 #m3/s
mass_flux_in = '${fparse rho *  vol_flow / Flow_area}'
P_out = 2.0e5 # Pa
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = 3
    n_cells = 36
    flat_to_flat = 0.0338514
    heated_length = 0.5334
    unheated_length_entry = 0.3048
    unheated_length_exit = 0.0762
    pin_diameter = 0.005842
    pitch = 7.2644e-3
    dwire = 0.0014224
    hwire = 0.3048
    spacer_z = '0.0'
    spacer_k = '0.0'
    z_blockage = '0.6858 0.69215'
    index_blockage = '0 1 2 3 4 5'
    reduction_blockage = '0.08 0.08 0.08 0.08 0.08 0.08'
    k_blockage = '2.0 2.0 2.0 2.0 2.0 2.0'
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[SubChannel]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = 2.0e5
  CT = 2
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_tol = 1.0e-4
  T_tol = 1.0e-4
  implicit = true
  segregated = false
  verbose_subchannel = true
  interpolation_scheme = exponential
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = 332500.0 #W
    filename = "pin_power_profile_19.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
[]
[Outputs]
  exodus = true
  csv = true
[]
[Executioner]
  type = Steady
  nl_rel_tol = 0.9
  l_tol = 0.9
[]
[Postprocessors]
  [1]
    type = SubChannelPointValue
    variable = T
    index = 37
    execute_on = 'TIMESTEP_END'
    height = 0.9144
  []
  [2]
    type = SubChannelPointValue
    variable = T
    index = 36
    execute_on = 'TIMESTEP_END'
    height = 0.9144
  []
  [3]
    type = SubChannelPointValue
    variable = T
    index = 20
    execute_on = 'TIMESTEP_END'
    height = 0.9144
  []
  [4]
    type = SubChannelPointValue
    variable = T
    index = 10
    execute_on = 'TIMESTEP_END'
    height = 0.9144
  []
  [5]
    type = SubChannelPointValue
    variable = T
    index = 4
    execute_on = 'TIMESTEP_END'
    height = 0.9144
  []
  [6]
    type = SubChannelPointValue
    variable = T
    index = 1
    execute_on = 'TIMESTEP_END'
    height = 0.9144
  []
  [7]
    type = SubChannelPointValue
    variable = T
    index = 14
    execute_on = 'TIMESTEP_END'
    height = 0.9144
  []
  [8]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = 'TIMESTEP_END'
    height = 0.9144
  []
[]
(modules/subchannel/test/tests/problems/interwrapper/tri_interwrapper_monolithic_staggered.i)
T_in = 360.0
P_out = 4.923e6 # Pa
[TriInterWrapperMesh]
  [sub_channel]
    type = SCMTriInterWrapperMeshGenerator
    nrings = 3
    n_cells = 10
    flat_to_flat = 0.16
    heated_length = 1.0
    assembly_pitch = 0.17
    side_bypass = 0.01
  []
[]
[AuxVariables]
  [mdot]
  []
  [SumWij]
  []
  [P]
  []
  [DP]
  []
  [h]
  []
  [T]
  []
  [rho]
  []
  [mu]
  []
  [S]
  []
  [w_perim]
  []
  [q_prime]
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[ICs]
  [S_IC]
    type = TriInterWrapperFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = TriInterWrapperWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = TriInterWrapperPowerIC
    variable = q_prime
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.1
  []
[]
[SubChannel]
  type = TriInterWrapper1PhaseProblem
  fp = sodium
  n_blocks = 1
  beta = 0.1
  P_out = 2.0e5
  CT = 1.0
  compute_density = false
  compute_viscosity = false
  compute_power = false
  P_tol = 1.0e-6
  T_tol = 1.0e-6
  implicit = true
  segregated = false
  staggered_pressure = true
  monolithic_thermal = false
  interpolation_scheme = 'central_difference'
[]
[AuxKernels]
[]
[Outputs]
  exodus = true
  checkpoint = false
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/test/tests/SCMTriPower/test_with_pins.i)
T_in = 588.5
flow_area = 0.0004980799633447909 #m2
mass_flux_in = '${fparse 55*3.78541/10/60/flow_area}'
P_out = 2.0e5 # Pa
length = 0.5
num_cells = 40
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    nrings = 3
    n_cells = ${num_cells}
    flat_to_flat = 3.41e-2
    heated_length = 0.5
    unheated_length_entry = 0.4
    unheated_length_exit = 0.1
    pin_diameter = 5.84e-3
    pitch = 7.26e-3
    dwire = 1.42e-3
    hwire = 0.3048
  []
  [fuel_pins]
    type = SCMTriPinMeshGenerator
    input = subchannel
    nrings = 3
    n_cells = ${num_cells}
    heated_length = 0.5
    unheated_length_entry = 0.4
    unheated_length_exit = 0.1
    pitch = 7.26e-3
  []
[]
[AuxVariables]
  [q_prime_aux]
    block = fuel_pins
  []
[]
[Functions]
  [axial_heat_rate]
    type = ParsedFunction
    expression = '(pi/2)*sin(pi*z/L)'
    vars = 'L'
    vals = '${length}'
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[SubChannel]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = 2.0e5
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  implicit = true
  segregated = false
  verbose_subchannel = true
  interpolation_scheme = upwind
[]
[ICs]
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = 5.84e-3
  []
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_ic]
    type = SCMTriPowerIC
    variable = q_prime
    power = 20000 # W
    filename = "pin_power_profile.txt"
    axial_heat_rate = axial_heat_rate
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
  [q_prime_AUX]
    type = SCMTriPowerAux
    variable = q_prime_aux
    power = 20000 # W
    filename = "pin_power_profile.txt" #type in name of file that describes radial power profile
    axial_heat_rate = axial_heat_rate
    execute_on = 'initial'
  []
[]
[Executioner]
  type = Steady
[]
[Postprocessors]
  [Total_power_IC_defaultPP]
    type = ElementIntegralVariablePostprocessor
    variable = q_prime
    block = fuel_pins
  []
  [Total_power_Aux_defaultPP]
    type = ElementIntegralVariablePostprocessor
    variable = q_prime_aux
    block = fuel_pins
  []
  [Total_power_SCMPinPowerPostprocessor]
    type = SCMPinPowerPostprocessor
  []
  [Total_power_SCMTHPowerPostprocessor]
    type = SCMTHPowerPostprocessor
  []
[]
[VectorPostprocessors]
  [line_check]
    type = LineValueSampler
    variable = 'q_prime q_prime_aux'
    execute_on = 'TIMESTEP_END'
    sort_by = 'z'
    start_point = '0 0 0'
    end_point = '0 0 1.0'
    num_points = ${fparse num_cells + 1}
  []
[]
[Outputs]
  csv = true
[]
(modules/subchannel/test/tests/problems/SFR/sodium-19pin/test19_monolithic.i)
T_in = 660
mass_flux_in = '${fparse 1e+6 * 300.00 / 36000.*0.5}'
P_out = 2.0e5 # Pa
[GlobalParams]
  nrings = 3
  n_cells = 5
  flat_to_flat = 0.056
  heated_length = 0.5
  pitch = 0.012
[]
[TriSubChannelMesh]
  [subchannel]
    type = SCMTriSubChannelMeshGenerator
    pin_diameter = 0.01
    dwire = 0.002
    hwire = 0.0833
    spacer_z = '0'
    spacer_k = '5.0'
  []
  [duct]
    type = SCMTriDuctMeshGenerator
    input = subchannel
  []
[]
[FluidProperties]
  [sodium]
    type = PBSodiumFluidProperties
  []
[]
[SubChannel]
  type = TriSubChannel1PhaseProblem
  fp = sodium
  n_blocks = 1
  P_out = 2.0e5
  CT = 1.0
  compute_density = true
  compute_viscosity = true
  compute_power = true
  T_tol = 1.0e-6
  P_tol = 1.0e-6
  implicit = true
  segregated = false
[]
[ICs]
  [S_IC]
    type = SCMTriFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMTriWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMTriPowerIC
    variable = q_prime
    power = 1000.0 # W
    filename = "pin_power_profile19.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [P_ic]
    type = ConstantIC
    variable = P
    value = 0.0
  []
  [DP_ic]
    type = ConstantIC
    variable = DP
    value = 0.0
  []
  [Viscosity_ic]
    type = ViscosityIC
    variable = mu
    p = ${P_out}
    T = T
    fp = sodium
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = sodium
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = sodium
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[AuxKernels]
  [T_in_bc]
    type = ConstantAux
    variable = T
    boundary = inlet
    value = ${T_in}
    execute_on = 'timestep_begin'
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = ${mass_flux_in}
    execute_on = 'timestep_begin'
  []
[]
[Outputs]
  exodus = true
  csv = true
[]
[Postprocessors]
  [T1]
    type = SubChannelPointValue
    variable = T
    index = 37
    execute_on = "timestep_end"
    height = 0.5
  []
  [T2]
    type = SubChannelPointValue
    variable = T
    index = 36
    execute_on = "timestep_end"
    height = 0.5
  []
  [T3]
    type = SubChannelPointValue
    variable = T
    index = 20
    execute_on = "timestep_end"
    height = 0.5
  []
  [T4]
    type = SubChannelPointValue
    variable = T
    index = 10
    execute_on = "timestep_end"
    height = 0.5
  []
  [T5]
    type = SubChannelPointValue
    variable = T
    index = 4
    execute_on = "timestep_end"
    height = 0.5
  []
  [T6]
    type = SubChannelPointValue
    variable = T
    index = 1
    execute_on = "timestep_end"
    height = 0.5
  []
  [T7]
    type = SubChannelPointValue
    variable = T
    index = 14
    execute_on = "timestep_end"
    height = 0.5
  []
  [T8]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = "timestep_end"
    height = 0.5
  []
  ####### Assembly pressure drop
  [DP_SubchannelDelta]
    type = SubChannelDelta
    variable = P
    execute_on = 'TIMESTEP_END'
  []
  #####
  [Mean_Temp]
    type = SCMPlanarMean
    variable = T
    height = 2
  []
  [Total_power]
    type = ElementIntegralVariablePostprocessor
    variable = q_prime
    block = subchannel
  []
  [mdot-8]
    type = SubChannelPointValue
    variable = mdot
    index = 28
    execute_on = 'TIMESTEP_END'
    height = 0.5
  []
[]
[Executioner]
  type = Steady
[]