- filenamename of radial power profile .txt file (should be a single column) [UnitLess].
C++ Type:std::string
Controllable:No
Description:name of radial power profile .txt file (should be a single column) [UnitLess].
 - powerThe postprocessor or Real to use for the total power of the subassembly [W]
C++ Type:PostprocessorName
Unit:(no unit assumed)
Controllable:No
Description:The postprocessor or Real to use for the total power of the subassembly [W]
 - variableThe variable this initial condition is supposed to provide values for.
C++ Type:VariableName
Unit:(no unit assumed)
Controllable:No
Description:The variable this initial condition is supposed to provide values for.
 
SCMQuadPowerIC
Computes axial heat rate (W/m) that goes into the subchannel cells or is assigned to the fuel pins, in a square lattice arrangement
Overview
This IC assigns the axial heat rate ("variable" = q_prime) on the subchannels or pins in the case of a problem with subchannels/pins in a square lattice arrangement.
The user must provide the total power of the subassembly "power", the axial shape of the power profile and the radial power distribution (power per pin). The axial power profile is given as a function over the -z direction, which integral over the length of the heated portion of the pin, is equal to the length of the heated portion of the pin. The radial power distribution is given as a column of numbers in a .txt file "filename" that has as many entries as the number of pins.
If the first entry is 1.0, that means that the pin with index 0 is at 100% power. If the 5th entry has a value of 0.0 that means that pin with index 4 has 0% power, etc. The pin and subchannel indexes are presented in user notes page.
A pin with 100% power has a value of power which is equal to the total power of the subassembly divided with the total number of heated pins (if a pin has zero power it doesn't count in that number).
The total power of pin with index 6 is calculated as the product of the 100% pin power, times the value on the 7th line of the radial power distribution .txt file. Hence the user should pay attention that the sum of entries on the radial power distribution file should be equal to the number of heated pins.
The axial heat rate at a specific height is the product of the total power of the pin, times the value of the axial power profile function, at that height.
Caveat
If the user has created a mesh for the pins, the axial heat rate will be assigned to the nodes of the pin mesh. If the user hasn't created a pin mesh the appropriate heat rate will be assigned to the nodes of the subchannel mesh. When the user has defined a fuel-pin mesh, the axial heat rate ("variable" = q_prime) is the heat rate at the surface of the fuels pins and it is distributed equally to each neighboring subchannel.
Input Parameters
- axial_heat_rate1.0user provided normalized function of axial heat rate [Unitless]. The integral over pin heated length should equal the heated length
Default:1.0
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:user provided normalized function of axial heat rate [Unitless]. The integral over pin heated length should equal the heated length
 - blockThe list of blocks (ids or names) that this object will be applied
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The list of blocks (ids or names) that this object will be applied
 - boundaryThe list of boundaries (ids or names) from the mesh where this object applies
C++ Type:std::vector<BoundaryName>
Controllable:No
Description:The list of boundaries (ids or names) from the mesh where this object applies
 - stateCURRENTThis parameter is used to set old state solutions at the start of simulation. If specifying multiple states at the start of simulation, use one IC object for each state being specified. The states are CURRENT=0 OLD=1 OLDER=2. States older than 2 are not currently supported. When the user only specifies current state, the solution is copied to the old and older states, as expected. This functionality is mainly used for dynamic simulations with explicit time integration schemes, where old solution states are used in the velocity and acceleration approximations.
Default:CURRENT
C++ Type:MooseEnum
Options:CURRENT, OLD, OLDER
Controllable:No
Description:This parameter is used to set old state solutions at the start of simulation. If specifying multiple states at the start of simulation, use one IC object for each state being specified. The states are CURRENT=0 OLD=1 OLDER=2. States older than 2 are not currently supported. When the user only specifies current state, the solution is copied to the old and older states, as expected. This functionality is mainly used for dynamic simulations with explicit time integration schemes, where old solution states are used in the velocity and acceleration approximations.
 
Optional Parameters
- 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:No
Description:Set the enabled status of the MooseObject.
 - ignore_uo_dependencyFalseWhen set to true, a UserObject retrieved by this IC will not be executed before the this IC
Default:False
C++ Type:bool
Controllable:No
Description:When set to true, a UserObject retrieved by this IC will not be executed before the this IC
 
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/subchannel/test/tests/problems/coupling/main.i)
 - (modules/subchannel/examples/coupling/thermo_mech/quad/one_pin_problem.i)
 - (modules/subchannel/test/tests/restart/transient.i)
 - (modules/subchannel/validation/PNNL_12_pin/transient/2X6_transient.i)
 - (modules/subchannel/test/tests/SCMQuadPower/test.i)
 - (modules/subchannel/validation/psbt/psbt_null_transient/psbt_transient.i)
 - (modules/subchannel/test/tests/problems/psbt/psbt_explicit.i)
 - (modules/subchannel/test/tests/problems/psbt/psbt_explicit_staggered.i)
 - (modules/subchannel/test/tests/SCMQuadPower/test_with_pins.i)
 - (modules/subchannel/validation/psbt/psbt_null_transient/psbt_ss.i)
 - (modules/subchannel/validation/Blockage/PNNL_7x7/7X7blockage70.i)
 - (modules/subchannel/validation/psbt/psbt_ss/psbt.i)
 - (modules/subchannel/test/tests/gravity/one_pin_problem.i)
 - (modules/subchannel/test/tests/restart/steady.i)
 - (modules/subchannel/validation/Blockage/PNNL_7x7/7X7blockage90.i)
 - (modules/subchannel/examples/mesh_generator/psbt_mesh_generator_test.i)
 - (modules/subchannel/examples/heating_test/3X3_channel.i)
 - (modules/subchannel/test/tests/problems/psbt/psbt_full_monolithic.i)
 - (modules/subchannel/test/tests/problems/psbt/psbt_monolithic.i)
 - (modules/subchannel/validation/PNNL_12_pin/steady_state/2X6_ss.i)
 - (modules/subchannel/test/tests/problems/psbt/psbt_implicit.i)
 - (modules/subchannel/test/tests/problems/psbt/psbt_full_monolithic_staggered.i)
 
variable
C++ Type:VariableName
Unit:(no unit assumed)
Controllable:No
Description:The variable this initial condition is supposed to provide values for.
power
C++ Type:PostprocessorName
Unit:(no unit assumed)
Controllable:No
Description:The postprocessor or Real to use for the total power of the subassembly [W]
filename
C++ Type:std::string
Controllable:No
Description:name of radial power profile .txt file (should be a single column) [UnitLess].
variable
C++ Type:VariableName
Unit:(no unit assumed)
Controllable:No
Description:The variable this initial condition is supposed to provide values for.
(modules/subchannel/test/tests/problems/coupling/main.i)
T_in = 297.039 # K
P_out = 101325 # Pa
heated_length = 1.0
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 2
    ny = 2
    n_cells = 10
    pitch = 0.014605
    pin_diameter = 0.012065
    side_gap = 0.0015875
    heated_length = ${heated_length}
    spacer_z = '0.0'
    spacer_k = '0.0'
  []
  [fuel_pins]
    type = SCMQuadPinMeshGenerator
    input = sub_channel
    nx = 2
    ny = 2
    n_cells = 10
    pitch = 0.014605
    heated_length = ${heated_length}
  []
[]
[AuxVariables]
  [mdot]
    block = sub_channel
  []
  [SumWij]
    block = sub_channel
  []
  [P]
    block = sub_channel
  []
  [DP]
    block = sub_channel
  []
  [h]
    block = sub_channel
  []
  [T]
    block = sub_channel
  []
  [Tpin]
    block = fuel_pins
  []
  [Dpin]
    block = fuel_pins
  []
  [rho]
    block = sub_channel
  []
  [mu]
    block = sub_channel
  []
  [S]
    block = sub_channel
  []
  [w_perim]
    block = sub_channel
  []
  [q_prime]
    block = fuel_pins
  []
  [displacement]
    block = sub_channel
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[Functions]
  [axial_heat_rate]
    type = ParsedFunction
    expression = '(pi/2)*sin(pi*z/L)'
    symbol_names = 'L'
    symbol_values = '${heated_length}'
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  n_blocks = 1
  fp = water
  beta = 0.006
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 1000 # W
    filename = "power_profile.txt"
    axial_heat_rate = axial_heat_rate
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = 0.012065
  []
  [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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [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 = 131.43435930715006
    execute_on = 'timestep_begin'
  []
[]
[Outputs]
  exodus = true
[]
[Executioner]
  type = Steady
  petsc_options_iname = '-pc_type -pc_hypre_type'
  petsc_options_value = 'hypre boomeramg'
  fixed_point_max_its = 30
  fixed_point_min_its = 2
  fixed_point_rel_tol = 1e-6
[]
################################################################################
# A multiapp that transfers data to heat conduction simulations
################################################################################
[MultiApps] # I have as many multiapps as pins
  [sub]
    type = FullSolveMultiApp
    input_files = sub.i # seperate file for multiapps due to radial power profile
    execute_on = 'timestep_end'
    positions = '0   0   0 '
    bounding_box_padding = '0 0 0.01'
    max_procs_per_app = 1
  []
  [viz]
    type = FullSolveMultiApp
    input_files = '3d.i'
    execute_on = 'timestep_end'
    max_procs_per_app = 1
  []
[]
[Transfers]
  [Tpin] # send pin surface temperature to heat conduction,
    type = MultiAppGeneralFieldNearestLocationTransfer
    to_multi_app = sub
    variable = Pin_surface_temperature
    source_variable = Tpin
    execute_on = 'timestep_end'
  []
  [from_sub] # send heat flux from heat conduction to subchannel
    type = MultiAppGeneralFieldNearestLocationTransfer
    from_multi_app = sub
    variable = q_prime
    source_variable = q_prime
    from_boundaries = right
    execute_on = 'timestep_end'
  []
  [subchannel_transfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu S'
    execute_on = 'timestep_end'
  []
  [pin_transfer]
    type = SCMPinSolutionTransfer
    to_multi_app = viz
    variable = 'Tpin q_prime Dpin'
    execute_on = 'timestep_end'
  []
[]
(modules/subchannel/examples/coupling/thermo_mech/quad/one_pin_problem.i)
######## BC's #################
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
heated_length = 1.0
######## Geometry #
[GlobalParams]
    nx = 2
    ny = 2
    n_cells = 25
    pitch = 0.0126
    pin_diameter = 0.00950
    side_gap = 0.00095
    heated_length = ${heated_length}
    spacer_z = '0.0'
    spacer_k = '0.0'
    power = 100000.0 # W
[]
[QuadSubChannelMesh]
    [subchannel]
        type = SCMQuadSubChannelMeshGenerator
    []
    [fuel_pins]
        type = SCMQuadPinMeshGenerator
        input = subchannel
    []
[]
[Functions]
    [axial_heat_rate]
        type = ParsedFunction
        expression = '(pi/2)*sin(pi*z/L)'
        symbol_names = 'L'
        symbol_values = '${heated_length}'
    []
[]
[AuxVariables]
    [mdot]
        block = subchannel
    []
    [SumWij]
        block = subchannel
    []
    [P]
        block = subchannel
    []
    [DP]
        block = subchannel
    []
    [h]
        block = subchannel
    []
    [T]
        block = subchannel
    []
    [rho]
        block = subchannel
    []
    [mu]
        block = subchannel
    []
    [S]
        block = subchannel
    []
    [w_perim]
        block = subchannel
    []
    [q_prime]
        block = fuel_pins
    []
    [Tpin]
        block = fuel_pins
    []
    [Dpin]
        block = fuel_pins
    []
[]
[FluidProperties]
    [water]
        type = Water97FluidProperties
    []
[]
[SubChannel]
    type = QuadSubChannel1PhaseProblem
    fp = water
    n_blocks = 1
    beta = 0.006
    CT = 2.6
    compute_density = true
    compute_viscosity = true
    compute_power = true
    P_out = ${P_out}
    verbose_subchannel = true
    deformation = true
[]
[ICs]
    [S_IC]
        type = SCMQuadFlowAreaIC
        variable = S
    []
    [w_perim_IC]
        type = SCMQuadWettedPerimIC
        variable = w_perim
    []
    [q_prime_IC]
        type = SCMQuadPowerIC
        variable = q_prime
        filename = "power_profile.txt"
        axial_heat_rate = axial_heat_rate
    []
    [T_ic]
        type = ConstantIC
        variable = T
        value = ${T_in}
    []
    [Dpin_ic]
        type = ConstantIC
        variable = Dpin
        value = 0.00950
    []
    [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 = water
    []
    [rho_ic]
        type = RhoFromPressureTemperatureIC
        variable = rho
        p = ${P_out}
        T = T
        fp = water
    []
    [h_ic]
        type = SpecificEnthalpyFromPressureTemperatureIC
        variable = h
        p = ${P_out}
        T = T
        fp = water
    []
    [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
    [Temp_Out_MATRIX]
        type = QuadSubChannelNormalSliceValues
        variable = T
        execute_on = final
        file_base = "Temp_Out.txt"
        height = 1.0
    []
    [mdot_Out_MATRIX]
        type = QuadSubChannelNormalSliceValues
        variable = mdot
        execute_on = final
        file_base = "mdot_Out.txt"
        height = 1.0
    []
    [mdot_In_MATRIX]
        type = QuadSubChannelNormalSliceValues
        variable = mdot
        execute_on = final
        file_base = "mdot_In.txt"
        height = 0.0
    []
[]
[Executioner]
    type = Steady
    petsc_options_iname = '-pc_type -pc_hypre_type'
    petsc_options_value = 'hypre boomeramg'
    fixed_point_max_its = 8
    fixed_point_min_its = 6
    fixed_point_rel_tol = 1e-6
[]
################################################################################
[MultiApps]
    ################################################################################
    # Couple to Thermo-Mechanical Pin model (uses kernels available in MOOSE)
    ################################################################################
    [sub]
        type = FullSolveMultiApp
        input_files = one_pin_problem_sub.i
        execute_on = 'timestep_end'
        positions = '0   0   0 '
        output_in_position = true
        bounding_box_padding = '0 0 0.01'
    []
    ################################################################################
    # A multiapp that projects the solution to a detailed mesh for visualization purposes
    ################################################################################
    [viz]
        type = FullSolveMultiApp
        input_files = '3d.i'
        execute_on = 'FINAL'
    []
[]
[Transfers]
    [Tpin] # send pin surface temperature to pin model,
        type = MultiAppGeneralFieldNearestLocationTransfer
        to_multi_app = sub
        variable = Pin_surface_temperature
        source_variable = Tpin
        execute_on = 'timestep_end'
        greedy_search = true
    []
    [diameter] # send diameter information from pin model to subchannel
        type = MultiAppGeneralFieldNearestLocationTransfer
        from_multi_app = sub
        variable = Dpin
        source_variable = pin_diameter_deformed
        from_boundaries = right
        execute_on = 'timestep_end'
        greedy_search = true
    []
    [q_prime] # send heat flux from pin model to subchannel
        type = MultiAppGeneralFieldNearestLocationTransfer
        from_multi_app = sub
        variable = q_prime
        source_variable = q_prime
        from_boundaries = right
        execute_on = 'timestep_end'
        greedy_search = true
    []
    [subchannel_transfer]
        type = SCMSolutionTransfer
        to_multi_app = viz
        variable = 'mdot SumWij P DP h T rho mu S w_perim'
    []
    [pin_transfer]
        type = SCMPinSolutionTransfer
        to_multi_app = viz
        variable = 'Tpin Dpin q_prime'
    []
[]
(modules/subchannel/test/tests/restart/transient.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 3
    ny = 3
    n_cells = 10
    pitch = 0.0126
    pin_diameter = 0.00950
    side_gap = 0.00095
    heated_length = 1
    spacer_z = '0.0'
    spacer_k = '0.0'
  []
[]
[UserObjects]
  [steady_sln]
    type = SolutionUserObject
    mesh = steady_out.e
    timestep = LATEST
    system_variables = 'mdot SumWij P DP h T Tpin rho mu S w_perim q_prime'
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.006
  CT = 1.8
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
  restart_file_base = steady_out_cp/LATEST
  skip_additional_restart_data = true
  allow_initial_conditions_with_restart = true
[]
[Functions]
  [mdot_ic_fn]
    type = SolutionFunction
    solution = steady_sln
    from_variable = mdot
  []
  [P_ic_fn]
    type = SolutionFunction
    solution = steady_sln
    from_variable = P
  []
  [DP_ic_fn]
    type = SolutionFunction
    solution = steady_sln
    from_variable = DP
  []
  [h_ic_fn]
    type = SolutionFunction
    solution = steady_sln
    from_variable = h
  []
  [T_ic_fn]
    type = SolutionFunction
    solution = steady_sln
    from_variable = T
  []
  [rho_ic_fn]
    type = SolutionFunction
    solution = steady_sln
    from_variable = rho
  []
  [mu_ic_fn]
    type = SolutionFunction
    solution = steady_sln
    from_variable = mu
  []
[]
[ICs]
  [S_ic]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_ic]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_ic]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 1e6
    filename = "power_profile.txt"
  []
  [T_ic]
    type = FunctionIC
    variable = T
    function = T_ic_fn
  []
  [P_ic]
    type = FunctionIC
    variable = P
    function = P_ic_fn
  []
  [DP_ic]
    type = FunctionIC
    variable = DP
    function = DP_ic_fn
  []
  [viscosity_ic]
    type = FunctionIC
    variable = mu
    function = mu_ic_fn
  []
  [rho_ic]
    type = FunctionIC
    variable = rho
    function = rho_ic_fn
  []
  [h_ic]
    type = FunctionIC
    variable = h
    function = h_ic_fn
  []
  [mdot_ic]
    type = FunctionIC
    variable = mdot
    function = mdot_ic_fn
  []
[]
[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 = Transient
  start_time = 0.0
  end_time = 0.2
  dt = 0.1
[]
(modules/subchannel/validation/PNNL_12_pin/transient/2X6_transient.i)
T_in = 297.039 # K
P_out = 101325 # Pa
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 7
    ny = 3
    n_cells = 60
    pitch = 0.014605
    pin_diameter = 0.012065
    side_gap = 0.0015875
    unheated_length_entry = 0.3048
    heated_length = 1.2192
    spacer_z = '0.0'
    spacer_k = '0.0'
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.006
  CT = 2.6
  P_tol = 1e-6
  T_tol = 1e-6
  compute_density = true
  compute_viscosity = true
  compute_power = false
  P_out = ${P_out}
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 0.0 # W
    filename = "power_profile.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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.012101767481985
  []
[]
[Functions]
  [mass_flux]
    type = PiecewiseLinear
    xy_data = '
      5.0 122.2645
      10.0 42.7926'
  []
[]
[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'
  []
[]
[Postprocessors]
  [mass_flux_in]
    type = FunctionValuePostprocessor
    function = mass_flux
    execute_on = 'initial timestep_end'
  []
  [mdot]
    type = SubChannelPointValue
    variable = mdot
    index = 4
    execute_on = 'initial timestep_end'
    height = 0.4953
  []
  [mdot2]
    type = SubChannelPointValue
    variable = mdot
    index = 4
    execute_on = 'initial timestep_end'
    height = 0.0
  []
[]
[Outputs]
  exodus = true
  csv = true
[]
[Executioner]
  type = Transient
  nl_rel_tol = 0.9
  l_tol = 0.9
  start_time = 0.0
  end_time = 10
  dt = 1.0
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = TransientMultiApp
    input_files = "3d.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/SCMQuadPower/test.i)
num_cells = 15
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 3
    ny = 3
    n_cells = ${num_cells}
    pitch = 0.25
    pin_diameter = 0.125
    side_gap = 0.1
    unheated_length_entry = 0.5
    heated_length = 0.5
    unheated_length_exit = 0.5
  []
[]
[AuxVariables]
  [q_prime_aux]
  []
  [q_prime]
  []
  [mdot]
  []
  [SumWij]
  []
  [P]
  []
  [DP]
  []
  [h]
  []
  [T]
  []
  [rho]
  []
  [mu]
  []
  [S]
  []
  [w_perim]
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.08
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
  verbose_subchannel = true
  implicit = true
  segregated = false
[]
[AuxKernels]
  [q_prime_IC]
    type = SCMQuadPowerAux
    variable = q_prime_aux
    power = 1e6 # W
    filename = "power_profile.txt" #type in name of file that describes radial power profile
    execute_on = 'initial'
  []
  [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'
  []
[]
[ICs]
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 1e6 # W
    filename = "power_profile.txt" #type in name of file that describes radial power profile
  []
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = 0.00950
  []
  [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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[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
  []
[]
[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.5'
    num_points = ${fparse num_cells + 1}
  []
[]
[Outputs]
  csv = true
[]
(modules/subchannel/validation/psbt/psbt_null_transient/psbt_transient.i)
# This is an input file based on M. Avramova et al. 2012,
# OECD/NRC Benchmark Based on NUPEC PWR
# Sub-channel and Bundle Tests (PSBT). Volume III: Departure from Nucleate Boiling
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 6
    ny = 6
    n_cells = 50
    pitch = 0.0126
    pin_diameter = 0.00950
    side_gap = 0.00095
    heated_length = 3.658
    spacer_z = '0.0 0.229 0.457 0.686 0.914 1.143 1.372 1.600 1.829 2.057 2.286 2.515 2.743 2.972 3.200 3.429'
    spacer_k = '0.7 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4'
  []
[]
[UserObjects]
  [steady_sln]
    type = SolutionUserObject
    mesh = psbt_ss_out.e
    timestep = LATEST
    system_variables = 'mdot SumWij P DP h T rho mu S w_perim q_prime'
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.006
  CT = 2.0
  P_tol = 1e-6
  T_tol = 1e-6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
  restart_file_base = psbt_SS_out_cp/LATEST
  skip_additional_restart_data = true
[]
[Functions]
  [mdot_ic_fn]
    type = SolutionFunction
    solution = steady_sln
    from_variable = mdot
  []
  [P_ic_fn]
    type = SolutionFunction
    solution = steady_sln
    from_variable = P
  []
  [DP_ic_fn]
    type = SolutionFunction
    solution = steady_sln
    from_variable = DP
  []
  [h_ic_fn]
    type = SolutionFunction
    solution = steady_sln
    from_variable = h
  []
  [T_ic_fn]
    type = SolutionFunction
    solution = steady_sln
    from_variable = T
  []
  [rho_ic_fn]
    type = SolutionFunction
    solution = steady_sln
    from_variable = rho
  []
  [Mu_ic_fn]
    type = SolutionFunction
    solution = steady_sln
    from_variable = mu
  []
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 3.44e6 # W
    filename = "power_profile.txt"
  []
  [T_ic]
    type = FunctionIC
    variable = T
    function = T_ic_fn
  []
  [P_ic]
    type = FunctionIC
    variable = P
    function = P_ic_fn
  []
  [DP_ic]
    type = FunctionIC
    variable = DP
    function = DP_ic_fn
  []
  [Viscosity_ic]
    type = FunctionIC
    variable = mu
    function = Mu_ic_fn
  []
  [rho_ic]
    type = FunctionIC
    variable = rho
    function = rho_ic_fn
  []
  [h_ic]
    type = FunctionIC
    variable = h
    function = h_ic_fn
  []
  [mdot_ic]
    type = FunctionIC
    variable = mdot
    function = mdot_ic_fn
  []
[]
[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
  [Temp_Out_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = T
    execute_on = TIMESTEP_END
    file_base = "Temp_Out.txt"
    height = 3.658
  []
  [mdot_Out_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = mdot
    execute_on = TIMESTEP_END
    file_base = "mdot_Out.txt"
    height = 3.658
  []
  [mdot_In_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = mdot
    execute_on = TIMESTEP_END
    file_base = "mdot_In.txt"
    height = 0.0
  []
[]
[Executioner]
  type = Transient
  start_time = 0.0
  end_time = 0.2
  dt = 0.1
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = "3d.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/psbt/psbt_explicit.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
pin_diameter = 0.00950
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 6
    ny = 6
    n_cells = 10
    pitch = 0.0126
    pin_diameter = ${pin_diameter}
    side_gap = 0.00095
    heated_length = 1.0
    spacer_z = '0.0'
    spacer_k = '0.0'
  []
  [fuel_pins]
    type = SCMQuadPinMeshGenerator
    input = sub_channel
    nx = 6
    ny = 6
    n_cells = 10
    pitch = 0.0126
    heated_length = 1.0
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.006
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
  verbose_subchannel = true
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 1.0e6 # W
    filename = "power_profile.txt" #type in name of file that describes radial power profile
    block = fuel_pins
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = ${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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [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 = sub_channel
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = report_mass_flux_inlet
    execute_on = 'timestep_begin'
    block = sub_channel
  []
[]
[Postprocessors]
  [report_mass_flux_inlet]
    type = Receiver
    default = ${mass_flux_in}
  []
  [total_pressure_drop]
    type = SubChannelDelta
    variable = P
    execute_on = "timestep_end"
  []
  [T1]
    type = SubChannelPointValue
    variable = T
    index = 0
    execute_on = "timestep_end"
    height = 1
  []
  [T2]
    type = SubChannelPointValue
    variable = T
    index = 7
    execute_on = "timestep_end"
    height = 1
  []
  [T3]
    type = SubChannelPointValue
    variable = T
    index = 14
    execute_on = "timestep_end"
    height = 1
  []
  [T4]
    type = SubChannelPointValue
    variable = T
    index = 21
    execute_on = "timestep_end"
    height = 1
  []
  [T5]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = "timestep_end"
    height = 1
  []
  [T6]
    type = SubChannelPointValue
    variable = T
    index = 35
    execute_on = "timestep_end"
    height = 1
  []
[]
[Outputs]
  csv = true
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/test/tests/problems/psbt/psbt_explicit_staggered.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
pin_diameter = 0.00950
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 6
    ny = 6
    n_cells = 10
    pitch = 0.0126
    pin_diameter = ${pin_diameter}
    side_gap = 0.00095
    heated_length = 1.0
    spacer_z = '0.0'
    spacer_k = '0.0'
  []
  [fuel_pins]
    type = SCMQuadPinMeshGenerator
    input = sub_channel
    nx = 6
    ny = 6
    n_cells = 10
    pitch = 0.0126
    heated_length = 1.0
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.006
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
  verbose_subchannel = true
  staggered_pressure = true
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 1.0e6 # W
    filename = "power_profile.txt" #type in name of file that describes radial power profile
    block = fuel_pins
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = ${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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [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 = sub_channel
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = report_mass_flux_inlet
    execute_on = 'timestep_begin'
    block = sub_channel
  []
[]
[Postprocessors]
  [report_mass_flux_inlet]
    type = Receiver
    default = ${mass_flux_in}
  []
  [total_pressure_drop]
    type = SubChannelDelta
    variable = P
    execute_on = "timestep_end"
  []
  [T1]
    type = SubChannelPointValue
    variable = T
    index = 0
    execute_on = "timestep_end"
    height = 1
  []
  [T2]
    type = SubChannelPointValue
    variable = T
    index = 7
    execute_on = "timestep_end"
    height = 1
  []
  [T3]
    type = SubChannelPointValue
    variable = T
    index = 14
    execute_on = "timestep_end"
    height = 1
  []
  [T4]
    type = SubChannelPointValue
    variable = T
    index = 21
    execute_on = "timestep_end"
    height = 1
  []
  [T5]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = "timestep_end"
    height = 1
  []
  [T6]
    type = SubChannelPointValue
    variable = T
    index = 35
    execute_on = "timestep_end"
    height = 1
  []
[]
[Outputs]
  csv = true
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/test/tests/SCMQuadPower/test_with_pins.i)
num_cells = 15
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
length = 0.5
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 3
    ny = 3
    n_cells = ${num_cells}
    pitch = 0.25
    pin_diameter = 0.125
    side_gap = 0.1
    unheated_length_entry = 0.5
    heated_length = 0.5
    unheated_length_exit = 0.5
  []
  [fuel_pins]
    type = SCMQuadPinMeshGenerator
    input = sub_channel
    nx = 3
    ny = 3
    n_cells = ${num_cells}
    pitch = 0.25
    unheated_length_entry = 0.5
    heated_length = 0.5
    unheated_length_exit = 0.5
  []
[]
[Functions]
  [axial_heat_rate]
    type = ParsedFunction
    value = '(pi/2)*sin(pi*z/L)'
    vars = 'L'
    vals = '${length}'
  []
[]
[AuxVariables]
  [q_prime_aux]
    block = fuel_pins
  []
  [q_prime]
    block = fuel_pins
  []
  [mdot]
    block = sub_channel
  []
  [SumWij]
    block = sub_channel
  []
  [P]
    block = sub_channel
  []
  [DP]
    block = sub_channel
  []
  [h]
    block = sub_channel
  []
  [T]
    block = sub_channel
  []
  [Tpin]
    block = fuel_pins
  []
  [rho]
    block = sub_channel
  []
  [mu]
    block = sub_channel
  []
  [S]
    block = sub_channel
  []
  [w_perim]
    block = sub_channel
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.08
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
  verbose_subchannel = true
  implicit = true
  segregated = false
[]
[AuxKernels]
  [q_prime_AUX]
    type = SCMQuadPowerAux
    variable = q_prime_aux
    power = 1e6 # W
    filename = "power_profile.txt" #type in name of file that describes radial power profile
    execute_on = 'initial'
    axial_heat_rate = axial_heat_rate
  []
  [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'
  []
[]
[ICs]
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 1e6 # W
    filename = "power_profile.txt" #type in name of file that describes radial power profile
    axial_heat_rate = axial_heat_rate
  []
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = 0.00950
  []
  [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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [mdot_ic]
    type = ConstantIC
    variable = mdot
    value = 0.0
  []
[]
[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.125 0.125 0'
    end_point = '0.125 0.125 1.5'
    num_points = ${fparse num_cells + 1}
  []
[]
[Outputs]
  csv = true
[]
(modules/subchannel/validation/psbt/psbt_null_transient/psbt_ss.i)
# This is an input file based on M. Avramova et. all 2012,
# OECD/NRC Benchmark Based on NUPEC PWR
# Sub-channel and Bundle Tests (PSBT). Volume III: Departure from Nucleate Boiling
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 6
    ny = 6
    n_cells = 50
    pitch = 0.0126
    pin_diameter = 0.00950
    side_gap = 0.00095
    heated_length = 3.658
    spacer_z = '0.0 0.229 0.457 0.686 0.914 1.143 1.372 1.600 1.829 2.057 2.286 2.515 2.743 2.972 3.200 3.429'
    spacer_k = '0.7 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4'
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.006
  CT = 2.0
  P_tol = 1e-6
  T_tol = 1e-6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 3.44e6 # W
    filename = "power_profile.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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [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
  checkpoint = true
  [Temp_Out_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = T
    execute_on = final
    file_base = "Temp_Out.txt"
    height = 3.658
  []
  [mdot_Out_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = mdot
    execute_on = final
    file_base = "mdot_Out.txt"
    height = 3.658
  []
  [mdot_In_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = mdot
    execute_on = final
    file_base = "mdot_In.txt"
    height = 0.0
  []
[]
[Executioner]
  type = Steady
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = "3d.i"
    execute_on = "timestep_end"
  []
[]
[Transfers]
  [xfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu q_prime'
  []
[]
(modules/subchannel/validation/Blockage/PNNL_7x7/7X7blockage70.i)
T_in = 302.594
mass_flux_in = 1730.0950134985335
P_out = 101325 # Pa
# Creer et. al 1976
# Blockage is modeled with area reduction and form loss coefficient distributed on the
# affected subchannels
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 8
    ny = 8
    n_cells = 36
    pitch = 0.0136906
    Kij = 0.5
    pin_diameter = 0.0099568
    side_gap = 0.0036957
    heated_length = 1.4224
    z_blockage = '0.60325 0.67945'
    index_blockage = '18 19 20 21 26 27 28 29 34 35 36 37 42 43 44 45'
    reduction_blockage = '0.83 0.65 0.65 0.83 0.65 0.30 0.30 0.65 0.65 0.30 0.30 0.65 0.83 0.65 0.65 0.83'
    k_blockage = '0.0 0.0 0.0 0.0 0.0 1 1 0.0 0.0 1 1 0.0 0.0 0.0 0.0 0.0'
    spacer_z = '0.3683 1.3843'
    spacer_k = '1.14 1.14'
  []
[]
[AuxVariables]
  [mdot]
    block = sub_channel
  []
  [SumWij]
    block = sub_channel
  []
  [P]
    block = sub_channel
  []
  [DP]
    block = sub_channel
  []
  [h]
    block = sub_channel
  []
  [T]
    block = sub_channel
  []
  [rho]
    block = sub_channel
  []
  [mu]
    block = sub_channel
  []
  [S]
    block = sub_channel
  []
  [w_perim]
    block = sub_channel
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.06
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = false
  P_out = ${P_out}
  implicit = true
  segregated = false
  staggered_pressure = false
  monolithic_thermal = false
  interpolation_scheme = 'upwind'
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 0.0 # W
    filename = "power_profile.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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [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
[]
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = "detailedMesh.i"
    execute_on = "final"
  []
[]
[Transfers]
  ###### Transfers to the detailedMesh at the end of the coupled simulations
  [subchannel_transfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu S'
  []
[]
(modules/subchannel/validation/psbt/psbt_ss/psbt.i)
# M. Avramova et al., 2012,
# OECD/NRC Benchmark Based on NUPEC PWR
# Sub-channel and Bundle Tests (PSBT). Volume III: Departure from Nucleate Boiling
# Case:01-5237
T_in = 502.35
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = ${fparse 1e+6 * 16.95 / 3600.}
P_out = 14.72e6 # Pa
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 6
    ny = 6
    n_cells = 20
    pitch = 0.0126
    pin_diameter = 0.00950
    side_gap = 0.00095
    heated_length = 3.658
    spacer_z = '0.0 0.229 0.457 0.686 0.914 1.143 1.372 1.600 1.829 2.057 2.286 2.515 2.743 2.972 3.200 3.429'
    spacer_k = '0.7 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4'
  []
  [fuel_pins]
    type = SCMQuadPinMeshGenerator
    input = sub_channel
    nx = 6
    ny = 6
    n_cells = 20
    pitch = 0.0126
    heated_length = 3.658
  []
[]
[AuxVariables]
  [mdot]
    block = sub_channel
  []
  [SumWij]
    block = sub_channel
  []
  [P]
    block = sub_channel
  []
  [DP]
    block = sub_channel
  []
  [h]
    block = sub_channel
  []
  [T]
    block = sub_channel
  []
  [Tpin]
    block = fuel_pins
  []
  [rho]
    block = sub_channel
  []
  [mu]
    block = sub_channel
  []
  [S]
    block = sub_channel
  []
  [w_perim]
    block = sub_channel
  []
  [q_prime]
    block = fuel_pins
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.08
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
  implicit = true
  segregated = false
  staggered_pressure = false
  monolithic_thermal = false
  verbose_subchannel = true
  interpolation_scheme = exponential
  deformation = true # this flag allows the re-calculation of subchannel geometric parameters based on the dpin value
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 3.23e6 # W
    filename = "power_profile.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = 0.00950
  []
  [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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [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
  [Temp_Out_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = T
    execute_on = final
    file_base = "Temp_Out.txt"
    height = 3.658
  []
  [mdot_Out_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = mdot
    execute_on = final
    file_base = "mdot_Out.txt"
    height = 3.658
  []
  [mdot_In_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = mdot
    execute_on = final
    file_base = "mdot_In.txt"
    height = 0.0
  []
[]
[Postprocessors]
  [total_pressure_drop]
    type = SubChannelDelta
    variable = P
    execute_on = "timestep_end"
  []
  [T1]
    type = SubChannelPointValue
    variable = T
    index = 0
    execute_on = "timestep_end"
    height = 3.658
  []
  [T2]
    type = SubChannelPointValue
    variable = T
    index = 7
    execute_on = "timestep_end"
    height = 3.658
  []
  [T3]
    type = SubChannelPointValue
    variable = T
    index = 14
    execute_on = "timestep_end"
    height = 3.658
  []
  [T4]
    type = SubChannelPointValue
    variable = T
    index = 21
    execute_on = "timestep_end"
    height = 3.658
  []
  [T5]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = "timestep_end"
    height = 3.658
  []
  [T6]
    type = SubChannelPointValue
    variable = T
    index = 35
    execute_on = "timestep_end"
    height = 3.658
  []
  [PinTemp]
    type = SCMPinSurfaceTemperature
    index = 10
    height = 3.658
  []
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/test/tests/gravity/one_pin_problem.i)
######## BC's #################
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
heated_length = 1.0
######## Geometry #
[GlobalParams]
    nx = 2
    ny = 2
    n_cells = 20
    pitch = 0.0126
    pin_diameter = 0.00950
    side_gap = 0.00095
    heated_length = ${heated_length}
    spacer_z = '0.0'
    spacer_k = '0.0'
    power = 10000.0 # W
[]
[QuadSubChannelMesh]
    [subchannel]
        type = SCMQuadSubChannelMeshGenerator
    []
    [fuel_pins]
        type = SCMQuadPinMeshGenerator
        input = subchannel
    []
[]
[Functions]
    [axial_heat_rate]
        type = ParsedFunction
        expression = '(pi/2)*sin(pi*z/L)'
        symbol_names = 'L'
        symbol_values = '${heated_length}'
    []
[]
[FluidProperties]
    [water]
        type = Water97FluidProperties
    []
[]
[SubChannel]
    type = QuadSubChannel1PhaseProblem
    fp = water
    n_blocks = 1
    beta = 0.006
    CT = 2.6
    compute_density = true
    compute_viscosity = true
    compute_power = true
    P_out = ${P_out}
    verbose_subchannel = true
[]
[ICs]
    [S_IC]
        type = SCMQuadFlowAreaIC
        variable = S
    []
    [w_perim_IC]
        type = SCMQuadWettedPerimIC
        variable = w_perim
    []
    [q_prime_IC]
        type = SCMQuadPowerIC
        variable = q_prime
        filename = "power_profile.txt"
        axial_heat_rate = axial_heat_rate
    []
    [T_ic]
        type = ConstantIC
        variable = T
        value = ${T_in}
    []
    [Dpin_ic]
        type = ConstantIC
        variable = Dpin
        value = 0.00950
    []
    [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 = water
    []
    [rho_ic]
        type = RhoFromPressureTemperatureIC
        variable = rho
        p = ${P_out}
        T = T
        fp = water
    []
    [h_ic]
        type = SpecificEnthalpyFromPressureTemperatureIC
        variable = h
        p = ${P_out}
        T = T
        fp = water
    []
    [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'
    []
[]
[Postprocessors]
    [DP]
        type = SubChannelDelta
        variable = P
        execute_on = 'timestep_end'
    []
[]
[Outputs]
    csv = true
[]
[Executioner]
    type = Steady
[]
(modules/subchannel/test/tests/restart/steady.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 3
    ny = 3
    n_cells = 10
    pitch = 0.0126
    pin_diameter = 0.00950
    side_gap = 0.00095
    heated_length = 1
    spacer_z = '0.0'
    spacer_k = '0.0'
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.006
  CT = 1.8
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
[]
[ICs]
  [S_ic]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_ic]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_ic]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 1e6
    filename = "power_profile.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
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [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
  checkpoint = true
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/validation/Blockage/PNNL_7x7/7X7blockage90.i)
T_in = 302.594
mass_flux_in = 1730.0950134985335
P_out = 101325 # Pa
# Creer et. al 1976
# Blockage is modeled with area reduction and form loss coefficient distributed on the
# affected subchannels
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 8
    ny = 8
    n_cells = 84
    pitch = 0.0136906
    Kij = 0.5
    pin_diameter = 0.0099568
    side_gap = 0.0036957
    heated_length = 1.4224
    z_blockage = '0.60325 0.67945'
    index_blockage = '18 19 20 21 26 27 28 29 34 35 36 37 42 43 44 45'
    reduction_blockage = '0.78 0.55 0.55 0.78 0.55 0.10 0.10 0.55 0.55 0.10 0.10 0.55 0.78 0.55 0.55 0.78'
    k_blockage = '0.0 0.0 0.0 0.0 0.0 0.9 0.9 0.0 0.0 0.9 0.9 0.0 0.0 0.0 0.0 0.0'
    spacer_z = '0.4064 1.4224'
    spacer_k = '1.14 1.14'
  []
[]
[AuxVariables]
  [mdot]
    block = sub_channel
  []
  [SumWij]
    block = sub_channel
  []
  [P]
    block = sub_channel
  []
  [DP]
    block = sub_channel
  []
  [h]
    block = sub_channel
  []
  [T]
    block = sub_channel
  []
  [rho]
    block = sub_channel
  []
  [mu]
    block = sub_channel
  []
  [S]
    block = sub_channel
  []
  [w_perim]
    block = sub_channel
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.006
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = false
  P_out = ${P_out}
  implicit = true
  segregated = false
  staggered_pressure = false
  monolithic_thermal = false
  interpolation_scheme = central_difference
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 0.0 # W
    filename = "power_profile.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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [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
[]
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = "detailedMesh.i"
    execute_on = "final"
  []
[]
[Transfers]
  ###### Transfers to the detailedMesh at the end of the coupled simulations
  [subchannel_transfer]
    type = SCMSolutionTransfer
    to_multi_app = viz
    variable = 'mdot SumWij P DP h T rho mu S'
  []
[]
(modules/subchannel/examples/mesh_generator/psbt_mesh_generator_test.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.0 / 3600.}'
P_out = 4.923e6 # Pa
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 6
    ny = 6
    n_cells = 20
    pitch = 0.0126
    pin_diameter = 0.00950
    side_gap = 0.00095
    heated_length = 1.00
    spacer_z = '0.5'
    spacer_k = '0.5'
  []
  [fuel_pins]
    type = SCMQuadPinMeshGenerator
    input = sub_channel
    nx = 6
    ny = 6
    n_cells = 20
    pitch = 0.0126
    heated_length = 1.00
  []
[]
[AuxVariables]
  [mdot]
    block = sub_channel
  []
  [SumWij]
    block = sub_channel
  []
  [P]
    block = sub_channel
  []
  [DP]
    block = sub_channel
  []
  [h]
    block = sub_channel
  []
  [T]
    block = sub_channel
  []
  [Tpin]
    block = fuel_pins
  []
  [Dpin]
    block = fuel_pins
  []
  [rho]
    block = sub_channel
  []
  [mu]
    block = sub_channel
  []
  [S]
    block = sub_channel
  []
  [w_perim]
    block = sub_channel
  []
  [q_prime]
    block = sub_channel
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.08
  CT = 2.6
  P_tol = 1e-6
  T_tol = 1e-6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 1.00e6 # W
    filename = "power_profile.txt" #
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Tpin_ic]
    type = ConstantIC
    variable = Tpin
    value = 0.0
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = 0.00950
  []
  [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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [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
  checkpoint = false
  [Temp_Out_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = T
    execute_on = final
    file_base = "Temp_Out.txt"
    height = 3.658
  []
  [mdot_Out_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = mdot
    execute_on = final
    file_base = "mdot_Out.txt"
    height = 3.658
  []
  [mdot_In_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = mdot
    execute_on = final
    file_base = "mdot_In.txt"
    height = 0.0
  []
[]
[Executioner]
  type = Steady
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = "3d.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/examples/heating_test/3X3_channel.i)
mass_flux_in = 3500 # kg /sec m2
T_in = 297.039 # K
P_out = 101325 # Pa
pitch = 0.0126
unheated_length_entry = 2.5
heated_length = 5.0
unheated_length_exit = 2.5
n_cells = 20
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 3
    ny = 3
    n_cells = '${n_cells}'
    pitch = '${pitch}'
    pin_diameter = 0.00950
    side_gap = 0.00095
    unheated_length_entry = '${unheated_length_entry}'
    heated_length = '${heated_length}'
    unheated_length_exit = '${unheated_length_exit}'
    spacer_z ='0.0'
    spacer_k ='0.0'
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.006
  CT = 2.0
  P_tol = 1e-6
  T_tol = 1e-6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 10000.0 # W
    filename = "power_profile.txt"
  []
  [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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [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
  [h_3]
    type = QuadSubChannelNormalSliceValues
    variable = h
    execute_on = final
    file_base = "h_3.txt"
    height = 10.0
  []
  [h_2]
    type = QuadSubChannelNormalSliceValues
    variable = h
    execute_on = final
    file_base = "h_2.txt"
    height = 7.5
  []
  [h_1]
    type = QuadSubChannelNormalSliceValues
    variable = h
    execute_on = final
    file_base = "h_1.txt"
    height = 2.5
  []
  [h_0]
    type = QuadSubChannelNormalSliceValues
    variable = h
    execute_on = final
    file_base = "h_0.txt"
    height = 0.0
  []
  [mdot_3]
    type = QuadSubChannelNormalSliceValues
    variable = mdot
    execute_on = final
    file_base = "mdot_3.txt"
    height = 10.0
  []
  [mdot_2]
    type = QuadSubChannelNormalSliceValues
    variable = mdot
    execute_on = final
    file_base = "mdot_2.txt"
    height = 7.5
  []
  [mdot_1]
    type = QuadSubChannelNormalSliceValues
    variable = mdot
    execute_on = final
    file_base = "mdot_1.txt"
    height = 2.5
  []
  [mdot_0]
    type = QuadSubChannelNormalSliceValues
    variable = mdot
    execute_on = final
    file_base = "mdot_0.txt"
    height = 0.0
  []
[]
[Executioner]
  type = Steady
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = "3d.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 w_perim'
  []
[]
(modules/subchannel/test/tests/problems/psbt/psbt_full_monolithic.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
pin_diameter = 0.00950
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 6
    ny = 6
    n_cells = 10
    pitch = 0.0126
    pin_diameter = ${pin_diameter}
    side_gap = 0.00095
    heated_length = 1.0
    spacer_z = '0.0'
    spacer_k = '0.0'
  []
  [fuel_pins]
    type = SCMQuadPinMeshGenerator
    input = sub_channel
    nx = 6
    ny = 6
    n_cells = 10
    pitch = 0.0126
    heated_length = 1.0
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.006
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
  verbose_subchannel = true
  implicit = true
  segregated = false
  monolithic_thermal = true
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 1.0e6 # W
    filename = "power_profile.txt" #type in name of file that describes radial power profile
    block = fuel_pins
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = ${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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [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 = sub_channel
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = report_mass_flux_inlet
    execute_on = 'timestep_begin'
    block = sub_channel
  []
[]
[Postprocessors]
  [report_mass_flux_inlet]
    type = Receiver
    default = ${mass_flux_in}
  []
  [total_pressure_drop]
    type = SubChannelDelta
    variable = P
    execute_on = "timestep_end"
  []
  [T1]
    type = SubChannelPointValue
    variable = T
    index = 0
    execute_on = "timestep_end"
    height = 1
  []
  [T2]
    type = SubChannelPointValue
    variable = T
    index = 7
    execute_on = "timestep_end"
    height = 1
  []
  [T3]
    type = SubChannelPointValue
    variable = T
    index = 14
    execute_on = "timestep_end"
    height = 1
  []
  [T4]
    type = SubChannelPointValue
    variable = T
    index = 21
    execute_on = "timestep_end"
    height = 1
  []
  [T5]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = "timestep_end"
    height = 1
  []
  [T6]
    type = SubChannelPointValue
    variable = T
    index = 35
    execute_on = "timestep_end"
    height = 1
  []
[]
[Outputs]
  csv = true
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/test/tests/problems/psbt/psbt_monolithic.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
pin_diameter = 0.00950
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 6
    ny = 6
    n_cells = 10
    pitch = 0.0126
    pin_diameter = ${pin_diameter}
    side_gap = 0.00095
    heated_length = 1.0
    spacer_z = '0.0'
    spacer_k = '0.0'
  []
  [fuel_pins]
    type = SCMQuadPinMeshGenerator
    input = sub_channel
    nx = 6
    ny = 6
    n_cells = 10
    pitch = 0.0126
    heated_length = 1.0
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.006
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
  verbose_subchannel = true
  implicit = true
  segregated = false
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 1.0e6 # W
    filename = "power_profile.txt" #type in name of file that describes radial power profile
    block = fuel_pins
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = ${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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [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 = sub_channel
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = report_mass_flux_inlet
    execute_on = 'timestep_begin'
    block = sub_channel
  []
[]
[Postprocessors]
  [report_mass_flux_inlet]
    type = Receiver
    default = ${mass_flux_in}
  []
  [total_pressure_drop]
    type = SubChannelDelta
    variable = P
    execute_on = "timestep_end"
  []
  [T1]
    type = SubChannelPointValue
    variable = T
    index = 0
    execute_on = "timestep_end"
    height = 1
  []
  [T2]
    type = SubChannelPointValue
    variable = T
    index = 7
    execute_on = "timestep_end"
    height = 1
  []
  [T3]
    type = SubChannelPointValue
    variable = T
    index = 14
    execute_on = "timestep_end"
    height = 1
  []
  [T4]
    type = SubChannelPointValue
    variable = T
    index = 21
    execute_on = "timestep_end"
    height = 1
  []
  [T5]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = "timestep_end"
    height = 1
  []
  [T6]
    type = SubChannelPointValue
    variable = T
    index = 35
    execute_on = "timestep_end"
    height = 1
  []
[]
[Outputs]
  csv = true
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/validation/PNNL_12_pin/steady_state/2X6_ss.i)
[GlobalParams]
  ######## Geometry #
  nx = 7
  ny = 3
  n_cells = 48
  n_blocks = 1
  pitch = 0.014605
  pin_diameter = 0.012065
  side_gap = 0.0015875
  heated_length = 1.2192
  spacer_z = '0.0'
  spacer_k = '0.0'
[]
######## BC's #################
T_in = 297.039 # K
P_out = 101325 # Pa
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
  []
  [fuel_pins]
    type = SCMQuadPinMeshGenerator
    input = sub_channel
  []
[]
[AuxVariables]
  [mdot]
    block = sub_channel
  []
  [SumWij]
    block = sub_channel
  []
  [P]
    block = sub_channel
  []
  [DP]
    block = sub_channel
  []
  [h]
    block = sub_channel
  []
  [T]
    block = sub_channel
  []
  [Tpin]
    block = fuel_pins
  []
  [Dpin]
    block = fuel_pins
  []
  [rho]
    block = sub_channel
  []
  [mu]
    block = sub_channel
  []
  [S]
    block = sub_channel
  []
  [w_perim]
    block = sub_channel
  []
  [q_prime]
    block = fuel_pins
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  beta = 0.006
  CT = 2.6
  P_tol = 1e-6
  T_tol = 1e-6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
  implicit = true
  segregated = false
  monolithic_thermal = false
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 5460 # W
    filename = "power_profile.txt"
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = 0.012065
  []
  [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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [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 = 131.43435930715006
    execute_on = 'timestep_begin'
  []
[]
[Outputs]
  exodus = true
  csv = true
  [mdot_in_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = mdot
    execute_on = final
    file_base = "mdot_in.txt"
    height = 0.0
  []
  [rho_in_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = rho
    execute_on = final
    file_base = "rho_in.txt"
    height = 0.0
  []
  [mdot_out_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = mdot
    execute_on = final
    file_base = "mdot_out.txt"
    height = 1.2192
  []
  [rho_out_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = rho
    execute_on = final
    file_base = "rho_out.txt"
    height = 1.2192
  []
  [mdot_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = mdot
    execute_on = final
    file_base = "mdot_075.txt"
    height = 0.9144
  []
  [T_in_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = T
    execute_on = final
    file_base = "T_in.txt"
    height = 0.0
  []
  [T_out_MATRIX]
    type = QuadSubChannelNormalSliceValues
    variable = T
    execute_on = final
    file_base = "T_out.txt"
    height = 1.2192
  []
[]
[Postprocessors]
  [mdot7]
    type = SubChannelPointValue
    variable = mdot
    index = 7
    execute_on = 'initial timestep_end'
    height = 0.9144
  []
  [mdot8]
    type = SubChannelPointValue
    variable = mdot
    index = 8
    execute_on = 'initial timestep_end'
    height = 0.9144
  []
  [mdot9]
    type = SubChannelPointValue
    variable = mdot
    index = 9
    execute_on = 'initial timestep_end'
    height = 0.9144
  []
  [mdot10]
    type = SubChannelPointValue
    variable = mdot
    index = 10
    execute_on = 'initial timestep_end'
    height = 0.9144
  []
  [mdot11]
    type = SubChannelPointValue
    variable = mdot
    index = 11
    execute_on = 'initial timestep_end'
    height = 0.9144
  []
  [mdot12]
    type = SubChannelPointValue
    variable = mdot
    index = 12
    execute_on = 'initial timestep_end'
    height = 0.9144
  []
  [mdot13]
    type = SubChannelPointValue
    variable = mdot
    index = 13
    execute_on = 'initial timestep_end'
    height = 0.9144
  []
[]
[Executioner]
  type = Steady
[]
################################################################################
# A multiapp that projects data to a detailed mesh
################################################################################
[MultiApps]
  [viz]
    type = FullSolveMultiApp
    input_files = "3d.i"
    execute_on = "timestep_end"
  []
[]
###### Transfers to the detailedMesh at the end of the coupled simulations
[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/psbt/psbt_implicit.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
pin_diameter = 0.00950
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 6
    ny = 6
    n_cells = 10
    pitch = 0.0126
    pin_diameter = ${pin_diameter}
    side_gap = 0.00095
    heated_length = 1.0
    spacer_z = '0.0'
    spacer_k = '0.0'
  []
  [fuel_pins]
    type = SCMQuadPinMeshGenerator
    input = sub_channel
    nx = 6
    ny = 6
    n_cells = 10
    pitch = 0.0126
    heated_length = 1.0
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.006
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
  verbose_subchannel = true
  implicit = true
  segregated = true
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 1.0e6 # W
    filename = "power_profile.txt" #type in name of file that describes radial power profile
    block = fuel_pins
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = ${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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [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 = sub_channel
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = report_mass_flux_inlet
    execute_on = 'timestep_begin'
    block = sub_channel
  []
[]
[Postprocessors]
  [report_mass_flux_inlet]
    type = Receiver
    default = ${mass_flux_in}
  []
  [total_pressure_drop]
    type = SubChannelDelta
    variable = P
    execute_on = "timestep_end"
  []
  [T1]
    type = SubChannelPointValue
    variable = T
    index = 0
    execute_on = "timestep_end"
    height = 1
  []
  [T2]
    type = SubChannelPointValue
    variable = T
    index = 7
    execute_on = "timestep_end"
    height = 1
  []
  [T3]
    type = SubChannelPointValue
    variable = T
    index = 14
    execute_on = "timestep_end"
    height = 1
  []
  [T4]
    type = SubChannelPointValue
    variable = T
    index = 21
    execute_on = "timestep_end"
    height = 1
  []
  [T5]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = "timestep_end"
    height = 1
  []
  [T6]
    type = SubChannelPointValue
    variable = T
    index = 35
    execute_on = "timestep_end"
    height = 1
  []
[]
[Outputs]
  csv = true
[]
[Executioner]
  type = Steady
[]
(modules/subchannel/test/tests/problems/psbt/psbt_full_monolithic_staggered.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
pin_diameter = 0.00950
[QuadSubChannelMesh]
  [sub_channel]
    type = SCMQuadSubChannelMeshGenerator
    nx = 6
    ny = 6
    n_cells = 10
    pitch = 0.0126
    pin_diameter = ${pin_diameter}
    side_gap = 0.00095
    heated_length = 1.0
    spacer_z = '0.0'
    spacer_k = '0.0'
  []
  [fuel_pins]
    type = SCMQuadPinMeshGenerator
    input = sub_channel
    nx = 6
    ny = 6
    n_cells = 10
    pitch = 0.0126
    heated_length = 1.0
  []
[]
[FluidProperties]
  [water]
    type = Water97FluidProperties
  []
[]
[SubChannel]
  type = QuadSubChannel1PhaseProblem
  fp = water
  n_blocks = 1
  beta = 0.006
  CT = 2.6
  compute_density = true
  compute_viscosity = true
  compute_power = true
  P_out = ${P_out}
  verbose_subchannel = true
  implicit = true
  segregated = false
  monolithic_thermal = true
  staggered_pressure = true
[]
[ICs]
  [S_IC]
    type = SCMQuadFlowAreaIC
    variable = S
  []
  [w_perim_IC]
    type = SCMQuadWettedPerimIC
    variable = w_perim
  []
  [q_prime_IC]
    type = SCMQuadPowerIC
    variable = q_prime
    power = 1.0e6 # W
    filename = "power_profile.txt" #type in name of file that describes radial power profile
    block = fuel_pins
  []
  [T_ic]
    type = ConstantIC
    variable = T
    value = ${T_in}
  []
  [Dpin_ic]
    type = ConstantIC
    variable = Dpin
    value = ${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 = water
  []
  [rho_ic]
    type = RhoFromPressureTemperatureIC
    variable = rho
    p = ${P_out}
    T = T
    fp = water
  []
  [h_ic]
    type = SpecificEnthalpyFromPressureTemperatureIC
    variable = h
    p = ${P_out}
    T = T
    fp = water
  []
  [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 = sub_channel
  []
  [mdot_in_bc]
    type = SCMMassFlowRateAux
    variable = mdot
    boundary = inlet
    area = S
    mass_flux = report_mass_flux_inlet
    execute_on = 'timestep_begin'
    block = sub_channel
  []
[]
[Postprocessors]
  [report_mass_flux_inlet]
    type = Receiver
    default = ${mass_flux_in}
  []
  [total_pressure_drop]
    type = SubChannelDelta
    variable = P
    execute_on = "timestep_end"
  []
  [T1]
    type = SubChannelPointValue
    variable = T
    index = 0
    execute_on = "timestep_end"
    height = 1
  []
  [T2]
    type = SubChannelPointValue
    variable = T
    index = 7
    execute_on = "timestep_end"
    height = 1
  []
  [T3]
    type = SubChannelPointValue
    variable = T
    index = 14
    execute_on = "timestep_end"
    height = 1
  []
  [T4]
    type = SubChannelPointValue
    variable = T
    index = 21
    execute_on = "timestep_end"
    height = 1
  []
  [T5]
    type = SubChannelPointValue
    variable = T
    index = 28
    execute_on = "timestep_end"
    height = 1
  []
  [T6]
    type = SubChannelPointValue
    variable = T
    index = 35
    execute_on = "timestep_end"
    height = 1
  []
[]
[Outputs]
  csv = true
[]
[Executioner]
  type = Steady
[]