- heated_lengthHeated length [m]
C++ Type:Real
Unit:(no unit assumed)
Controllable:No
Description:Heated length [m]
- n_cellsThe number of cells in the axial direction
C++ Type:unsigned int
Controllable:No
Description:The number of cells in the axial direction
- nxNumber of channels in the x direction [-]
C++ Type:unsigned int
Controllable:No
Description:Number of channels in the x direction [-]
- nyNumber of channels in the y direction [-]
C++ Type:unsigned int
Controllable:No
Description:Number of channels in the y direction [-]
- pin_diameterRod diameter [m]
C++ Type:Real
Unit:(no unit assumed)
Controllable:No
Description:Rod diameter [m]
- pitchPitch [m]
C++ Type:Real
Unit:(no unit assumed)
Controllable:No
Description:Pitch [m]
- side_gapThe side gap, not to be confused with the gap between pins; this refers to the gap next to the duct or else the distance between the subchannel centroid and the duct wall. distance(edge pin center, duct wall) = pitch / 2 + side_gap [m]
C++ Type:Real
Unit:(no unit assumed)
Controllable:No
Description:The side gap, not to be confused with the gap between pins; this refers to the gap next to the duct or else the distance between the subchannel centroid and the duct wall. distance(edge pin center, duct wall) = pitch / 2 + side_gap [m]
SCMQuadAssemblyMeshGenerator
Creates one mesh containing both 1D subchannels and 1D pins in a square lattice arrangement
Overview
This mesh generator creates the 1D subchannel and pin meshes for a square lattice arrangement. The generated subdomains are named subchannel and fuel_pins. The center of the mesh is the origin.
This object replaces the old chained SCMQuadSubChannelMeshGenerator and SCMQuadPinMeshGenerator input pattern. See the SubChannel mesh generator migration page for old-to-new input examples.
Example Input File Syntax
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
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'
[]
[](modules/subchannel/test/tests/problems/psbt/psbt_explicit.i)Input Parameters
- Kij0.5Lateral form loss coefficient [-]
Default:0.5
C++ Type:Real
Unit:(no unit assumed)
Controllable:No
Description:Lateral form loss coefficient [-]
- index_blockage0 Index of subchannels affected by blockage
Default:0
C++ Type:std::vector<unsigned int>
Controllable:No
Description:Index of subchannels affected by blockage
- k_blockage0 Form loss coefficient of blocked subchannels
Default:0
C++ Type:std::vector<Real>
Unit:(no unit assumed)
Controllable:No
Description:Form loss coefficient of blocked subchannels
- pin_block_id1Fuel Pin block id
Default:1
C++ Type:unsigned int
Controllable:No
Description:Fuel Pin block id
- reduction_blockage1 Area reduction of subchannels affected by blockage
Default:1
C++ Type:std::vector<Real>
Unit:(no unit assumed)
Controllable:No
Description:Area reduction of subchannels affected by blockage
- spacer_kK-loss coefficient of spacers/vanes/mixing vanes [-]
C++ Type:std::vector<Real>
Unit:(no unit assumed)
Controllable:No
Description:K-loss coefficient of spacers/vanes/mixing vanes [-]
- spacer_zAxial location of spacers/vanes/mixing vanes [m]
C++ Type:std::vector<Real>
Unit:(no unit assumed)
Controllable:No
Description:Axial location of spacers/vanes/mixing vanes [m]
- subchannel_block_id0Subchannel block id
Default:0
C++ Type:unsigned int
Controllable:No
Description:Subchannel block id
- unheated_length_entry0Unheated length at entry [m]
Default:0
C++ Type:Real
Unit:(no unit assumed)
Controllable:No
Description:Unheated length at entry [m]
- unheated_length_exit0Unheated length at exit [m]
Default:0
C++ Type:Real
Unit:(no unit assumed)
Controllable:No
Description:Unheated length at exit [m]
- z_blockage0 0 Axial location of blockage (inlet, outlet) [m]
Default:0 0
C++ Type:std::vector<Real>
Unit:(no unit assumed)
Controllable:No
Description:Axial location of blockage (inlet, outlet) [m]
Optional Parameters
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:No
Description:Set the enabled status of the MooseObject.
- save_with_nameKeep the mesh from this mesh generator in memory with the name specified
C++ Type:std::string
Controllable:No
Description:Keep the mesh from this mesh generator in memory with the name specified
Advanced Parameters
- nemesisFalseWhether or not to output the mesh file in the nemesisformat (only if output = true)
Default:False
C++ Type:bool
Controllable:No
Description:Whether or not to output the mesh file in the nemesisformat (only if output = true)
- outputFalseWhether or not to output the mesh file after generating the mesh
Default:False
C++ Type:bool
Controllable:No
Description:Whether or not to output the mesh file after generating the mesh
- show_infoFalseWhether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)
Default:False
C++ Type:bool
Controllable:No
Description:Whether or not to show mesh info after generating the mesh (bounding box, element types, sidesets, nodesets, subdomains, etc)
Debugging Parameters
Input Files
- (modules/subchannel/validation/PNNL_12_pin/transient/2X6_transient.i)
- (modules/subchannel/examples/heating_test/3X3_channel.i)
- (modules/subchannel/test/tests/mesh/quad_duct/coords.i)
- (modules/subchannel/test/tests/problems/psbt/psbt_explicit_v2.i)
- (modules/subchannel/validation/PNNL_12_pin/steady_state/2X6_ss.i)
- (modules/subchannel/test/tests/ics/quad_wetted_perimeter/test.i)
- (modules/subchannel/test/tests/restart/transient.i)
- (modules/subchannel/validation/Blockage/PNNL_7x7/7X7blockage70.i)
- (modules/subchannel/test/tests/problems/deformation/quad_pin_diameter.i)
- (modules/subchannel/test/tests/auxkernels/mass_flow_rate/blocked_test.i)
- (modules/subchannel/test/tests/mesh/quad_assembly/coords.i)
- (modules/subchannel/test/tests/SCMQuadPower/two_pin_shapes.i)
- (modules/subchannel/test/tests/outputs/normalslicevalues/test.i)
- (modules/subchannel/test/tests/auxkernels/uniform_mass_flow_rate/test.i)
- (modules/subchannel/test/tests/postprocessors/quadsubchannelpointvalue/test_error.i)
- (modules/combined/test/tests/subchannel_thermo_mech/one_pin_problem.i)
- (modules/subchannel/test/tests/SCMQuadPower/postprocessor_power.i)
- (modules/subchannel/validation/psbt/psbt_null_transient/psbt_transient.i)
- (modules/subchannel/test/tests/problems/psbt/psbt_implicit.i)
- (modules/subchannel/test/tests/ics/mass_flow/test.i)
- (modules/subchannel/verification/friction_model_verification/two_channel/two_channel2.i)
- (modules/subchannel/test/tests/ics/quad_flow_area/test.i)
- (modules/subchannel/validation/Blockage/PNNL_7x7/7X7blockage90.i)
- (modules/subchannel/test/tests/SCMQuadPower/transient_power.i)
- (modules/subchannel/verification/friction_model_verification/friction_model/quad_bare.i)
- (modules/subchannel/test/tests/problems/coupling/main.i)
- (modules/subchannel/validation/psbt/psbt_ss/psbt.i)
- (modules/subchannel/test/tests/SCMQuadPower/test_with_pins.i)
- (modules/subchannel/verification/enthalpy_mixing_verification/two_channel.i)
- (modules/subchannel/validation/psbt/psbt_null_transient/psbt_ss.i)
- (modules/subchannel/test/tests/transfers/multiapp_detailed_solution_transfer/legacy_pin_transfer.i)
- (modules/subchannel/test/tests/restart/steady.i)
- (modules/subchannel/test/tests/problems/psbt/psbt_explicit.i)
- (modules/subchannel/test/tests/gravity/one_pin_problem.i)
- (modules/subchannel/test/tests/transfers/multiapp_detailed_solution_transfer/quad.i)
- (modules/subchannel/test/tests/postprocessors/quadsubchannelpointvalue/test.i)
- (modules/subchannel/test/tests/problems/psbt/psbt_monolithic.i)
- (modules/subchannel/examples/mesh_generator/psbt_mesh_generator_test.i)
- (modules/subchannel/test/tests/mesh/quad_assembly/subchannel_number.i)
- (modules/subchannel/verification/friction_model_verification/two_channel/two_channel.i)
(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 = SCMQuadAssemblyMeshGenerator
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'
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
verbose_subchannel = true
friction_closure = 'MATRA'
pin_HTC_closure = 'Dittus-Boelter'
full_output = true
mixing_closure ='constant_beta'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.6
[]
[]
[ICs]
[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}
[]
[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 = subchannel
[]
[mdot_in_bc]
type = SCMMassFlowRateAux
variable = mdot
boundary = inlet
area = S
mass_flux = report_mass_flux_inlet
execute_on = 'timestep_begin'
block = subchannel
[]
[]
[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/transient/2X6_transient.i)
T_in = 297.039 # K
P_out = 101325 # Pa
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
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
P_tol = 1e-6
T_tol = 1e-6
compute_density = true
compute_viscosity = true
compute_power = false
P_out = ${P_out}
friction_closure = 'MATRA'
full_output = true
mixing_closure ='constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.6
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[]
[ICs]
[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
[]
[Dpin_ic]
type = ConstantIC
variable = Dpin
value = 0.012065
[]
[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
transfer_type = subchannel
variable = 'mdot SumWij P DP h T rho mu S'
[]
[xfer_q_prime]
type = SCMSolutionTransfer
to_multi_app = viz
transfer_type = pin
variable = q_prime
[]
[]
(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 = SCMQuadAssemblyMeshGenerator
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
P_tol = 1e-6
T_tol = 1e-6
# The explicit crossflow solve uses unpreconditioned GMRES, which breaks down near convergence
# at the default linear tolerances of 1e-6 and leaves the crossflow at its previous iterate
rtol = 1e-4
atol = 1e-4
full_output = true
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
friction_closure = 'MATRA'
mixing_closure ='constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.0
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[]
[ICs]
[T_ic]
type = ConstantIC
variable = T
value = ${T_in}
[]
[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
# []
[Dpin_ic]
type = ConstantIC
variable = Dpin
value = 0.00950
[]
[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
transfer_type = subchannel
variable = 'mdot SumWij P DP h T rho mu S w_perim'
[]
[xfer_q_prime]
type = SCMSolutionTransfer
to_multi_app = viz
transfer_type = pin
variable = q_prime
[]
[]
(modules/subchannel/test/tests/mesh/quad_duct/coords.i)
[GlobalParams]
nx = 5
ny = 4
n_cells = 10
pitch = 0.25
pin_diameter = 0.125
side_gap = 0.1
heated_length = 1
spacer_k = '0.0'
spacer_z = '0'
[]
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
[]
[duct]
type = SCMQuadDuctMeshGenerator
input = sub_channel
[]
[]
(modules/subchannel/test/tests/problems/psbt/psbt_explicit_v2.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 = SCMQuadAssemblyMeshGenerator
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'
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = true
P_out = report_pressure_outlet
verbose_subchannel = true
mixing_closure = 'Kim_and_Chung'
friction_closure = 'Chen'
pin_HTC_closure = 'Dittus-Boelter'
full_output = true
[]
[SCMClosures]
[Chen]
type = SCMFrictionChenTodreas
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[Kim_and_Chung]
type = SCMMixingKimAndChung
CT = 2.6
[]
[]
[ICs]
[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'
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
[]
[q_prime_IC]
type = SCMQuadPowerAux
variable = q_prime
power = 1.0e6 # W
filename = "power_profile.txt" #type in name of file that describes radial power profile
execute_on = 'initial timestep_begin'
[]
[]
[Postprocessors]
[report_mass_flux_inlet]
type = Receiver
default = ${mass_flux_in}
[]
[report_pressure_outlet]
type = Receiver
default = ${P_out}
[]
[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
[Temp_Out_MATRIX]
type = QuadSubChannelNormalSliceValues
variable = T
execute_on = final
file_base = "Temp_Out_Explicit.txt"
height = 1.0
[]
[]
[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]
[assembly]
type = SCMQuadAssemblyMeshGenerator
subchannel_block_id = 0
pin_block_id = 1
[]
[]
[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
[]
[mu]
block = subchannel
[]
[S]
block = subchannel
[]
[w_perim]
block = subchannel
[]
[q_prime]
block = fuel_pins
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
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
friction_closure = 'MATRA'
pin_HTC_closure = 'Dittus-Boelter'
full_output = true
mixing_closure ='constant_beta'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.6
[]
[]
[ICs]
[q_prime_IC]
type = SCMQuadPowerIC
variable = q_prime
power = 5460 # W
filename = "power_profile.txt"
block = fuel_pins
[]
[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 = 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 = SCMSolutionTransfer
transfer_type = pin
to_multi_app = viz
variable = 'Tpin q_prime'
[]
[]
(modules/subchannel/test/tests/ics/quad_wetted_perimeter/test.i)
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
nx = 3
ny = 3
n_cells = 10
pitch = 0.25
pin_diameter = 0.125
side_gap = 0.1
heated_length = 1
spacer_k = '0.0'
spacer_z = '0'
[]
[]
[Variables]
[w_perim]
[]
[]
[ICs]
[w_perim_IC]
type = SCMQuadWettedPerimIC
variable = w_perim
[]
[]
[Postprocessors]
[center]
type = SubChannelPointValue
variable = w_perim
index = 4
execute_on = 'timestep_end'
height = 0.5
[]
[edge]
type = SubChannelPointValue
variable = w_perim
index = 1
execute_on = 'timestep_end'
height = 0.5
[]
[corner]
type = SubChannelPointValue
variable = w_perim
index = 0
execute_on = 'timestep_end'
height = 0.5
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = false
csv = true
[]
(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 = SCMQuadAssemblyMeshGenerator
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
[]
[]
[AuxVariables]
[Dpin]
block = fuel_pins
[]
[Tduct]
block = subchannel
[]
[Tpin]
block = fuel_pins
[]
[duct_heat_flux]
block = subchannel
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
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
friction_closure = 'MATRA'
full_output = true
mixing_closure ='constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 1.8
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[]
[ICs]
[q_prime_ic]
type = SCMQuadPowerIC
variable = q_prime
power = 1e6
filename = "power_profile.txt"
[]
[]
[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]
[T_out]
type = SCMPlanarMean
variable = T
height = 1
execute_on = 'initial timestep_end'
[]
[DP]
type = SubChannelDelta
variable = P
execute_on = 'initial timestep_end'
[]
# Center subchannel of the 3x3 array
[T_center_mid]
type = SubChannelPointValue
variable = T
index = 4
height = 0.5
execute_on = 'initial timestep_end'
[]
# Corner subchannel of the 3x3 array
[mdot_corner_out]
type = SubChannelPointValue
variable = mdot
index = 0
height = 1
execute_on = 'initial timestep_end'
[]
[]
[VectorPostprocessors]
# Every nodal value of the subchannel variables, so a variable that is not
# restored from the checkpoint shows up in the time = 0 transient output
[fluid]
type = NodalValueSampler
block = subchannel
variable = 'mdot SumWij P DP h T rho mu S w_perim displacement ff HTC'
sort_by = id
execute_on = 'initial timestep_end'
[]
[pins]
type = NodalValueSampler
block = fuel_pins
variable = 'q_prime Tpin Dpin'
sort_by = id
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
csv = true
hide = ff
[]
[Executioner]
type = Transient
start_time = 0.0
end_time = 0.2
dt = 0.1
[]
(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 = SCMQuadAssemblyMeshGenerator
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 = 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
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = false
P_out = ${P_out}
implicit = true
segregated = false
interpolation_scheme = 'upwind'
friction_closure = 'MATRA'
mixing_closure ='constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.6
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[]
[ICs]
[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/test/tests/problems/deformation/quad_pin_diameter.i)
T_in = 359.15
P_out = 4.923e6
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
[QuadSubChannelMesh]
[assembly]
type = SCMQuadAssemblyMeshGenerator
nx = 3
ny = 3
n_cells = 5
pitch = 0.014605
pin_diameter = 0.012
side_gap = 0.0015875
heated_length = 0.5
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = false
P_out = ${P_out}
implicit = true
segregated = false
friction_closure = 'MATRA'
mixing_closure = 'constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
full_output = true
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.08
CT = 2.6
[]
[]
[ICs]
[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 = ${mass_flux_in}
execute_on = 'timestep_begin'
[]
[]
[Postprocessors]
[S_deformed]
type = SubChannelPointValue
variable = S
index = 4
height = 0.25
execute_on = 'timestep_end'
[]
[w_perim_deformed]
type = SubChannelPointValue
variable = w_perim
index = 4
height = 0.25
execute_on = 'timestep_end'
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
console = true
csv = true
[]
(modules/subchannel/test/tests/auxkernels/mass_flow_rate/blocked_test.i)
[QuadSubChannelMesh]
[subchannel]
type = SCMQuadAssemblyMeshGenerator
nx = 6
ny = 6
n_cells = 3
pitch = 0.0126
pin_diameter = 0.00950
side_gap = 0.00095
heated_length = 1.0
spacer_z = '0.0'
spacer_k = '0.0'
[]
[]
[AuxVariables]
[S]
[]
[mdot]
[]
[]
[ICs]
[S_IC]
type = ConstantIC
variable = S
value = 0.5
[]
[]
[AuxKernels]
[mdot_ak]
type = SCMBlockedMassFlowRateAux
variable = mdot
area = S
index_blockage = '0'
unblocked_mass_flux = 4722
blocked_mass_flux = 1.0
execute_on = 'initial'
[]
[]
[Postprocessors]
[blocked_inlet]
type = SubChannelPointValue
variable = mdot
index = 0
height = 0.0
execute_on = 'timestep_end'
[]
[central_inlet]
type = SubChannelPointValue
variable = mdot
index = 14
height = 0.0
execute_on = 'timestep_end'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(modules/subchannel/test/tests/mesh/quad_assembly/coords.i)
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
nx = 3
ny = 3
n_cells = 10
pitch = 0.25
pin_diameter = 0.125
side_gap = 0.1
heated_length = 1
spacer_k = '0.0'
spacer_z = '0'
[]
[]
(modules/subchannel/test/tests/SCMQuadPower/two_pin_shapes.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
heated_length = 1.0
# Radial weights are 1 and 2, so the pins should receive 1/3 and 2/3 of this power
power = 30000.0 # W
# Two pins at x = -pitch/2 and x = +pitch/2
[QuadSubChannelMesh]
[subchannel]
type = SCMQuadAssemblyMeshGenerator
nx = 3
ny = 2
n_cells = 10
pitch = 0.0126
pin_diameter = 0.00950
side_gap = 0.00095
heated_length = ${heated_length}
[]
[]
[Functions]
# A sine shape on the pin at x < 0 and a linear shape on the pin at x > 0. Neither is
# normalized to the heated length.
[axial_heat_rate]
type = ParsedFunction
expression = 'if(x < 0, sin(pi*z/L), 5*z/L)'
symbol_names = 'L'
symbol_values = '${heated_length}'
[]
[]
[AuxVariables]
[q_prime_aux]
block = fuel_pins
[]
[q_prime_IC_pin0]
block = fuel_pins
[]
[q_prime_IC_pin1]
block = fuel_pins
[]
[q_prime_aux_pin0]
block = fuel_pins
[]
[q_prime_aux_pin1]
block = fuel_pins
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
friction_closure = 'MATRA'
mixing_closure = 'constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.6
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[]
[ICs]
[q_prime_IC]
type = SCMQuadPowerIC
variable = q_prime
power = ${power}
filename = 'two_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
[]
[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]
[q_prime_AUX]
type = SCMQuadPowerAux
variable = q_prime_aux
power = ${power}
filename = 'two_pin_power_profile.txt'
axial_heat_rate = axial_heat_rate
execute_on = 'initial'
[]
# Split q_prime by pin so that each pin's power can be integrated separately
[IC_pin0]
type = ParsedAux
variable = q_prime_IC_pin0
coupled_variables = 'q_prime'
expression = 'if(x < 0, q_prime, 0)'
use_xyzt = true
[]
[IC_pin1]
type = ParsedAux
variable = q_prime_IC_pin1
coupled_variables = 'q_prime'
expression = 'if(x > 0, q_prime, 0)'
use_xyzt = true
[]
[aux_pin0]
type = ParsedAux
variable = q_prime_aux_pin0
coupled_variables = 'q_prime_aux'
expression = 'if(x < 0, q_prime_aux, 0)'
use_xyzt = true
[]
[aux_pin1]
type = ParsedAux
variable = q_prime_aux_pin1
coupled_variables = 'q_prime_aux'
expression = 'if(x > 0, q_prime_aux, 0)'
use_xyzt = true
[]
[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]
[pin0_power_IC]
type = ElementIntegralVariablePostprocessor
variable = q_prime_IC_pin0
block = fuel_pins
[]
[pin1_power_IC]
type = ElementIntegralVariablePostprocessor
variable = q_prime_IC_pin1
block = fuel_pins
[]
[pin0_power_aux]
type = ElementIntegralVariablePostprocessor
variable = q_prime_aux_pin0
block = fuel_pins
[]
[pin1_power_aux]
type = ElementIntegralVariablePostprocessor
variable = q_prime_aux_pin1
block = fuel_pins
[]
[total_power_TH]
type = SCMTHPowerPostprocessor
[]
[]
[VectorPostprocessors]
# Axial q_prime profile of both pins
[q_prime_profiles]
type = NodalValueSampler
variable = 'q_prime q_prime_aux'
block = fuel_pins
sort_by = id
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(modules/subchannel/test/tests/outputs/normalslicevalues/test.i)
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
nx = 3
ny = 3
n_cells = 10
pitch = 0.25
pin_diameter = 0.125
side_gap = 0.1
heated_length = 1
spacer_k = '0.0'
spacer_z = '0'
[]
[]
[Functions]
[T_fn]
type = ParsedFunction
expression = if(z>0.5,100.0,50.0)
[]
[]
[Variables]
[T]
[]
[]
[ICs]
[T_ic]
type = FunctionIC
variable = T
function = T_fn
[]
[]
[Outputs]
exodus = false
[Temp_Out_MATRIX]
type = QuadSubChannelNormalSliceValues
variable = T
execute_on = final
file_base = "Temp_out_matrix.csv"
height = 0.55
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
(modules/subchannel/test/tests/auxkernels/uniform_mass_flow_rate/test.i)
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
nx = 6
ny = 6
n_cells = 10
pitch = 0.0126
pin_diameter = 0.00950
side_gap = 0.00095
heated_length = 1.0
spacer_z = '0.0'
spacer_k = '0.0'
[]
[]
[AuxVariables]
[mdot]
[]
[]
[AuxKernels]
[mdot_uniform]
type = SCMFlatMassFlowRateAux
variable = mdot
boundary = inlet
mass_flow = 36.0 #kg/sec
execute_on = 'initial'
[]
[]
[Postprocessors]
[total_mass_flow_rate]
type = NodalSum
boundary = inlet
variable = mdot
execute_on = 'initial'
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
csv = true
[]
(modules/subchannel/test/tests/postprocessors/quadsubchannelpointvalue/test_error.i)
T_in = 359.15
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
nx = 3
ny = 3
n_cells = 10
pitch = 0.25
pin_diameter = 0.125
side_gap = 0.1
heated_length = 1
spacer_k = '0.0'
spacer_z = '0'
[]
[]
[AuxVariables]
[T]
[]
[]
[ICs]
[T_ic]
type = ConstantIC
variable = T
value = ${T_in}
[]
[]
[Problem]
type = NoSolveProblem
[]
[Postprocessors]
[T]
type = SubChannelPointValue
variable = T
index = 4
execute_on = 'initial timestep_end'
height = 5
[]
[]
[Outputs]
csv = true
[]
[Executioner]
type = Transient
start_time = 0.0
end_time = 10.0
dt = 1.0
[]
(modules/combined/test/tests/subchannel_thermo_mech/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 = SCMQuadAssemblyMeshGenerator
[]
[]
[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
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
verbose_subchannel = true
full_output = true
friction_closure = 'MATRA'
mixing_closure ='constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.6
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[]
[ICs]
[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}
[]
[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]
# Heat rate from the pins to the coolant, which the q_prime transfer preserves
[pin_power]
type = SCMPinPowerPostprocessor
execute_on = 'timestep_end transfer'
[]
[coolant_power]
type = SCMTHPowerPostprocessor
[]
[]
[VectorPostprocessors]
# Pin surface temperature at the SCM axial nodes, interpolated linearly in the pin model when the
# Tpin_interpolated transfer is active
[Tpin_profile]
type = LineValueSampler
variable = Tpin
start_point = '0 0 0'
end_point = '0 0 ${heated_length}'
num_points = 26 # n_cells + 1, one point per SCM axial node
sort_by = z
execute_on = 'timestep_end'
[]
[]
[Outputs]
exodus = true
csv = 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'
# SCM does not compute a nonlinear residual, so the fixed-point tolerance has no effect and the
# number of coupling iterations is fixed. The pin power in SCM is converged after two iterations
fixed_point_max_its = 3
fixed_point_min_its = 3
[]
################################################################################
[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_interpolated replaces Tpin when the pin model uses the right_interpolated boundary condition
inactive = Tpin_interpolated
[Tpin] # send the nearest SCM pin surface temperature to each pin surface node
type = MultiAppGeneralFieldNearestLocationTransfer
to_multi_app = sub
variable = Pin_surface_temperature
source_variable = Tpin
execute_on = 'timestep_end'
greedy_search = true
[]
[Tpin_interpolated] # alternative: send the pin surface temperature profile to the pin model
type = MultiAppReporterTransfer
to_multi_app = sub
from_reporters = 'Tpin_profile/z Tpin_profile/Tpin'
to_reporters = 'Tpin_profile/z Tpin_profile/Tpin'
execute_on = 'timestep_end'
[]
[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_nodal
from_boundaries = right
execute_on = 'timestep_end'
greedy_search = true
# Scale q_prime so that the pin power in SCM equals the heat rate through the pin surface
from_postprocessors_to_be_preserved = pin_surface_heat_rate
to_postprocessors_to_be_preserved = pin_power
[]
[subchannel_transfer]
type = SCMSolutionTransfer
to_multi_app = viz
variable = 'mdot SumWij P DP h T rho mu S w_perim'
[]
[pin_transfer]
type = SCMSolutionTransfer
transfer_type = pin
to_multi_app = viz
variable = 'Tpin Dpin q_prime'
[]
[]
(modules/subchannel/test/tests/SCMQuadPower/postprocessor_power.i)
# Assigns q_prime with SCMQuadPowerIC from a power supplied by a postprocessor, without solving for
# the coolant, and integrates q_prime over the pins to check that it carries that power
power = 30000.0 # W
# Two pins at x = -pitch/2 and x = +pitch/2
[QuadSubChannelMesh]
[subchannel]
type = SCMQuadAssemblyMeshGenerator
nx = 3
ny = 2
n_cells = 10
pitch = 0.0126
pin_diameter = 0.00950
side_gap = 0.00095
heated_length = 1.0
[]
[]
[Functions]
[axial_heat_rate]
type = ParsedFunction
expression = 'sin(pi*z)'
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
P_out = 4.923e6 # Pa
compute_density = false
compute_viscosity = false
compute_power = false
# Only q_prime is assigned and checked, so the coolant is not solved for
solve = false
friction_closure = 'MATRA'
mixing_closure = 'constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.6
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[]
[ICs]
[q_prime_IC]
type = SCMQuadPowerIC
variable = q_prime
power = power_pp
filename = 'two_pin_power_profile.txt'
axial_heat_rate = axial_heat_rate
[]
[]
[Postprocessors]
[power_pp]
type = FunctionValuePostprocessor
function = ${power}
execute_on = 'initial'
[]
# Trapezoidal integral of q_prime over the pins, as used by the subchannel solver
[q_prime_power]
type = SCMPinPowerPostprocessor
[]
[]
[Executioner]
type = Steady
[]
[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 = SCMQuadAssemblyMeshGenerator
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
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
friction_closure = 'MATRA'
mixing_closure ='constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.0
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[]
[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]
[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_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 = SCMQuadAssemblyMeshGenerator
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'
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
verbose_subchannel = true
implicit = true
segregated = true
friction_closure = 'MATRA'
pin_HTC_closure = 'Dittus-Boelter'
full_output = true
mixing_closure ='constant_beta'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.6
[]
[]
[ICs]
[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}
[]
[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 = subchannel
[]
[mdot_in_bc]
type = SCMMassFlowRateAux
variable = mdot
boundary = inlet
area = S
mass_flux = report_mass_flux_inlet
execute_on = 'timestep_begin'
block = subchannel
[]
[]
[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/ics/mass_flow/test.i)
mass_flux_in = ${fparse 1e+6 * 17.00 / 3600.}
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
nx = 3
ny = 3
n_cells = 10
pitch = 0.25
pin_diameter = 0.125
side_gap = 0.1
heated_length = 1
spacer_k = '0.0'
spacer_z = '0'
[]
[]
[Variables]
[S]
[]
[mdot]
[]
[]
[ICs]
[S_IC]
type = SCMQuadFlowAreaIC
variable = S
[]
[mdot_ic]
type = SCMMassFlowRateIC
variable = mdot
area = S
mass_flux = ${mass_flux_in}
[]
[]
[Postprocessors]
[center]
type = SubChannelPointValue
variable = mdot
index = 4
execute_on = 'timestep_end'
height = 0.5
[]
[edge]
type = SubChannelPointValue
variable = mdot
index = 1
execute_on = 'timestep_end'
height = 0.5
[]
[corner]
type = SubChannelPointValue
variable = mdot
index = 0
execute_on = 'timestep_end'
height = 0.5
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = false
csv = true
[]
(modules/subchannel/verification/friction_model_verification/two_channel/two_channel2.i)
T_in = 473.15 # K
mass_flux_in = 3500 # kg /sec m2
P_out = 155e+5 # Pa
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
nx = 2
ny = 1
n_cells = 100
pitch = 0.0126
pin_diameter = 0.00950
side_gap = 0.00095
heated_length = 10.0
spacer_z = '0.0'
spacer_k = '0.0'
[]
[]
[Functions]
[S_fn]
type = ParsedFunction
expression = if(x>0.0,0.002,0.001)
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
friction_closure = 'Chen'
full_output = true
mixing_closure ='constant_beta'
[]
[SCMClosures]
[Chen]
type = SCMFrictionChenTodreas
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 0.0
[]
[]
[ICs]
[S_ic]
type = FunctionIC
variable = S
function = S_fn
[]
[w_perim_IC]
type = ConstantIC
variable = w_perim
value = 0.34188034
[]
[q_prime_IC]
type = ConstantIC
variable = q_prime
value = 0.0
[]
[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'
[]
[]
[Postprocessors]
[mdot_1]
type = SubChannelPointValue
variable = mdot
index = 0
execute_on = 'initial timestep_end'
height = 10.0
[]
[mdot_2]
type = SubChannelPointValue
variable = mdot
index = 1
execute_on = 'initial timestep_end'
height = 10.0
[]
[]
[Outputs]
csv = true
[]
[Executioner]
type = Steady
[]
(modules/subchannel/test/tests/ics/quad_flow_area/test.i)
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
nx = 3
ny = 3
n_cells = 10
pitch = 0.25
pin_diameter = 0.125
side_gap = 0.1
heated_length = 1
spacer_k = '0.0'
spacer_z = '0'
[]
[]
[Variables]
[S]
[]
[]
[ICs]
[S_IC]
type = SCMQuadFlowAreaIC
variable = S
[]
[]
[Postprocessors]
[center]
type = SubChannelPointValue
variable = S
index = 4
execute_on = 'timestep_end'
height = 0.5
[]
[edge]
type = SubChannelPointValue
variable = S
index = 1
execute_on = 'timestep_end'
height = 0.5
[]
[corner]
type = SubChannelPointValue
variable = S
index = 0
execute_on = 'timestep_end'
height = 0.5
[]
[]
[Problem]
solve = false
[]
[Executioner]
type = Steady
[]
[Outputs]
exodus = false
csv = true
[]
(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 = SCMQuadAssemblyMeshGenerator
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 = 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
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = false
P_out = ${P_out}
implicit = true
segregated = false
interpolation_scheme = central_difference
friction_closure = 'MATRA'
mixing_closure ='constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.6
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[]
[ICs]
[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/test/tests/SCMQuadPower/transient_power.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
heated_length = 1.0
# Two pins at x = -pitch/2 and x = +pitch/2
[QuadSubChannelMesh]
[subchannel]
type = SCMQuadAssemblyMeshGenerator
nx = 3
ny = 2
n_cells = 10
pitch = 0.0126
pin_diameter = 0.00950
side_gap = 0.00095
heated_length = ${heated_length}
[]
[]
[Functions]
[axial_heat_rate]
type = ParsedFunction
expression = 'sin(pi*z/L)'
symbol_names = 'L'
symbol_values = '${heated_length}'
[]
# Assembly power that doubles every time step
[power_history]
type = ParsedFunction
expression = '1e4 * 2^(t/0.1)'
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
friction_closure = 'MATRA'
mixing_closure = 'constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.6
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[]
[ICs]
[T_ic]
type = ConstantIC
variable = T
value = ${T_in}
[]
[P_ic]
type = ConstantIC
variable = P
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]
# Executes on the same flags as the power postprocessor, which therefore executes first, and
# before the solve so the solver uses the power of the current time step
[q_prime_AUX]
type = SCMQuadPowerAux
variable = q_prime
power = power
filename = 'two_pin_power_profile.txt'
axial_heat_rate = axial_heat_rate
execute_on = 'initial timestep_begin'
[]
[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]
[power]
type = FunctionValuePostprocessor
function = power_history
execute_on = 'initial timestep_begin'
[]
[q_prime_power]
type = ElementIntegralVariablePostprocessor
variable = q_prime
block = fuel_pins
execute_on = 'initial timestep_end'
[]
# Zero when q_prime carries the current value of the power postprocessor
[power_mismatch]
type = ParsedPostprocessor
expression = 'q_prime_power - power'
pp_names = 'q_prime_power power'
execute_on = 'initial timestep_end'
[]
[]
[Executioner]
type = Transient
dt = 0.1
num_steps = 3
[]
[Outputs]
csv = true
[]
(modules/subchannel/verification/friction_model_verification/friction_model/quad_bare.i)
# Friction factor sampling for the PSBT bare-pin square lattice
G_exp0 = -1.6
# Subchannel indices of an interior, an edge, and a corner subchannel
center = 7
edge = 1
corner = 0
!include friction_factor_sampling.i
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
nx = 6
ny = 6
n_cells = 30
pitch = 0.0126
pin_diameter = 0.00950
side_gap = 0.00095
heated_length = 3
spacer_z = '0.0'
spacer_k = '0.0'
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
friction_closure = 'MATRA'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[]
(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 = SCMQuadAssemblyMeshGenerator
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'
[]
[]
[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
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
pin_HTC_closure = 'dittus-boelter'
friction_closure = 'MATRA'
full_output = true
mixing_closure = 'constant'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[dittus-boelter]
type = SCMHTCDittusBoelter
correction_factor = none
[]
[constant]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.6
[]
[]
[ICs]
[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}
[]
[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 = SCMSolutionTransfer
transfer_type = pin
to_multi_app = viz
variable = 'Tpin q_prime Dpin'
execute_on = 'timestep_end'
[]
[]
(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 = SCMQuadAssemblyMeshGenerator
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'
[]
[]
[AuxVariables]
[mdot]
block = subchannel
[]
[SumWij]
block = subchannel
[]
[P]
block = subchannel
[]
[DP]
block = subchannel
[]
[h]
block = subchannel
[]
[T]
block = subchannel
[]
[Tpin]
block = fuel_pins
[]
[rho]
block = subchannel
[]
[mu]
block = subchannel
[]
[S]
block = subchannel
[]
[w_perim]
block = subchannel
[]
[q_prime]
block = fuel_pins
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
implicit = true
segregated = false
verbose_subchannel = true
# At this Peclet number the exponential scheme reduces to upwind, where the cell-center
# turbulent mixing uses only the bottom-face enthalpies. On this 20-cell mesh the mixing flow of a
# cell is about twice its axial flow, above the stability limit of one for that weighting; central
# differencing puts half the weight on the top face and is stable
interpolation_scheme = central_difference
friction_closure = 'MATRA'
pin_HTC_closure = 'Dittus-Boelter'
full_output = true
mixing_closure ='constant_beta'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
correction_factor = none
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.08
CT = 2.6
[]
[]
[ICs]
[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}
[]
[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/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 = SCMQuadAssemblyMeshGenerator
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
[]
[]
[Functions]
[axial_heat_rate]
type = ParsedFunction
expression = '(pi/2)*sin(pi*z/L)'
symbol_names = 'L'
symbol_values = '${length}'
[]
[]
[AuxVariables]
[q_prime_aux]
block = fuel_pins
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
verbose_subchannel = true
implicit = true
segregated = false
friction_closure = 'MATRA'
pin_HTC_closure = 'Dittus-Boelter'
full_output = true
mixing_closure ='constant_beta'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.08
CT = 2.6
[]
[]
[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
[]
[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
[]
[]
[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/verification/enthalpy_mixing_verification/two_channel.i)
mass_flux_in = 3500 # kg /sec m2
P_out = 155e+5 # Pa
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
nx = 2
ny = 1
n_cells = 100
pitch = 0.0126
pin_diameter = 0.00950
side_gap = 0.00095
heated_length = 10.0
spacer_z = '0.0'
spacer_k = '0.0'
[]
[]
[Functions]
[T_fn]
type = ParsedFunction
expression = if(x>0.0,483.10,473.10)
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
P_tol = 1e-6
T_tol = 1e-6
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
friction_closure = 'MATRA'
full_output = true
mixing_closure ='constant_beta'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.0
[]
[]
[ICs]
[S_ic]
type = ConstantIC
variable = S
value = 8.78778158e-05
[]
[T_ic]
type = FunctionIC
variable = T
function = T_fn
[]
[w_perim_IC]
type = ConstantIC
variable = w_perim
value = 0.34188034
[]
[q_prime_IC]
type = ConstantIC
variable = q_prime
value = 0.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 = 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]
[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]
[Temp_1]
type = SubChannelPointValue
variable = T
index = 0
execute_on = 'initial timestep_end'
height = 10.0
[]
[Temp_2]
type = SubChannelPointValue
variable = T
index = 1
execute_on = 'initial timestep_end'
height = 10.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/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 = SCMQuadAssemblyMeshGenerator
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
P_tol = 1e-6
T_tol = 1e-6
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
friction_closure = 'MATRA'
full_output = true
mixing_closure ='constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.0
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[]
[ICs]
[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/test/tests/transfers/multiapp_detailed_solution_transfer/legacy_pin_transfer.i)
[GlobalParams]
nx = 3
ny = 3
n_cells = 3
pitch = 1
heated_length = 0.2
[]
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
pin_diameter = 0.5
side_gap = 0.1
spacer_z = '0'
spacer_k = '0'
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[AuxVariables]
[P]
block = subchannel
[]
[T]
block = fuel_pins
[]
[]
[AuxKernels]
[P_ak]
type = ParsedAux
variable = P
expression = 'pow(x + 1, 2) + pow(2*(y + 1), 2) - (50 * z)'
use_xyzt = true
execute_on = 'INITIAL TIMESTEP_BEGIN'
[]
[T_ak]
type = ParsedAux
variable = T
expression = 'pow(x + 0.5, 2) + pow(2*(y + 0.5), 2) + (50 * z)'
use_xyzt = true
execute_on = 'INITIAL TIMESTEP_BEGIN'
[]
[]
[Variables]
[u]
[]
[]
[Kernels]
[td]
type = TimeDerivative
variable = u
[]
[]
[MultiApps]
[viz]
type = TransientMultiApp
input_files = 'quad_viz.i'
max_procs_per_app = 1
[]
[]
[Transfers]
[P_transfer]
type = SCMSolutionTransfer
to_multi_app = viz
variable = 'P'
[]
[T_transfer]
type = PinSolutionTransfer
to_multi_app = viz
variable = 'T'
[]
[]
[Executioner]
type = Transient
num_steps = 1
[]
[Outputs]
exodus = true
[]
(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 = SCMQuadAssemblyMeshGenerator
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
[]
[]
[AuxVariables]
[Dpin]
block = fuel_pins
[]
[Tduct]
block = subchannel
[]
[Tpin]
block = fuel_pins
[]
[duct_heat_flux]
block = subchannel
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
friction_closure = 'MATRA'
full_output = true
mixing_closure ='constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 1.8
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[]
[ICs]
[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
[]
[Dpin_ic]
type = ConstantIC
variable = Dpin
value = 0.00950
[]
[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]
[T_out]
type = SCMPlanarMean
variable = T
height = 1
execute_on = 'timestep_end'
[]
[DP]
type = SubChannelDelta
variable = P
execute_on = 'timestep_end'
[]
# Center subchannel of the 3x3 array
[T_center_mid]
type = SubChannelPointValue
variable = T
index = 4
height = 0.5
execute_on = 'timestep_end'
[]
# Corner subchannel of the 3x3 array
[mdot_corner_out]
type = SubChannelPointValue
variable = mdot
index = 0
height = 1
execute_on = 'timestep_end'
[]
[]
[VectorPostprocessors]
# Every nodal value of the subchannel variables, so a variable that is not
# restored from the checkpoint shows up in the time = 0 transient output
[fluid]
type = NodalValueSampler
block = subchannel
variable = 'mdot SumWij P DP h T rho mu S w_perim displacement ff HTC'
sort_by = id
execute_on = 'timestep_end'
[]
[pins]
type = NodalValueSampler
block = fuel_pins
variable = 'q_prime Tpin Dpin'
sort_by = id
execute_on = 'timestep_end'
[]
[]
[Outputs]
csv = true
checkpoint = true
hide = 'ff'
[]
[Executioner]
type = Steady
[]
(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 = SCMQuadAssemblyMeshGenerator
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'
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
verbose_subchannel = true
friction_closure = 'MATRA'
pin_HTC_closure = 'Dittus-Boelter'
full_output = true
mixing_closure ='constant_beta'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.6
[]
[]
[ICs]
[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}
[]
[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 = subchannel
[]
[mdot_in_bc]
type = SCMMassFlowRateAux
variable = mdot
boundary = inlet
area = S
mass_flux = report_mass_flux_inlet
execute_on = 'timestep_begin'
block = subchannel
[]
[]
[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/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 = SCMQuadAssemblyMeshGenerator
[]
[]
[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
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
verbose_subchannel = true
friction_closure = 'MATRA'
pin_HTC_closure = 'Dittus-Boelter'
full_output = true
mixing_closure ='constant_beta'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.6
[]
[]
[ICs]
[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}
[]
[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/transfers/multiapp_detailed_solution_transfer/quad.i)
[GlobalParams]
nx = 3
ny = 3
n_cells = 3
pitch = 1
heated_length = 0.2
[]
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
pin_diameter = 0.5
side_gap = 0.1
spacer_z = '0'
spacer_k = '0'
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[AuxVariables]
[P]
block = subchannel
[]
[T]
block = fuel_pins
[]
[]
[AuxKernels]
[P_ak]
type = ParsedAux
variable = P
expression = 'pow(x + 1, 2) + pow(2*(y + 1), 2) - (50 * z)'
use_xyzt = true
execute_on = 'INITIAL TIMESTEP_BEGIN'
[]
[T_ak]
type = ParsedAux
variable = T
expression = 'pow(x + 0.5, 2) + pow(2*(y + 0.5), 2) + (50 * z)'
use_xyzt = true
execute_on = 'INITIAL TIMESTEP_BEGIN'
[]
[]
[Variables]
[u]
[]
[]
[Kernels]
[td]
type = TimeDerivative
variable = u
[]
[]
[MultiApps]
[viz]
type = TransientMultiApp
input_files = 'quad_viz.i'
max_procs_per_app = 1
[]
[]
[Transfers]
[P_transfer]
type = SCMSolutionTransfer
to_multi_app = viz
variable = 'P'
[]
[T_transfer]
type = SCMSolutionTransfer
transfer_type = pin
to_multi_app = viz
variable = 'T'
[]
[]
[Executioner]
type = Transient
num_steps = 1
[]
[Outputs]
exodus = true
[]
(modules/subchannel/test/tests/postprocessors/quadsubchannelpointvalue/test.i)
T_in = 359.15
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
nx = 3
ny = 3
n_cells = 10
pitch = 0.25
pin_diameter = 0.125
side_gap = 0.1
heated_length = 1
spacer_k = '0.0'
spacer_z = '0'
[]
[]
[AuxVariables]
[T]
[]
[]
[ICs]
[T_ic]
type = ConstantIC
variable = T
value = ${T_in}
[]
[]
[Problem]
type = NoSolveProblem
[]
[Postprocessors]
[T]
type = SubChannelPointValue
variable = T
index = 4
execute_on = 'initial timestep_end'
height = 0.5
[]
[]
[Outputs]
csv = true
[]
[Executioner]
type = Transient
start_time = 0.0
end_time = 10.0
dt = 1.0
[]
(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]
[assembly]
type = SCMQuadAssemblyMeshGenerator
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'
subchannel_block_id = 0
pin_block_id = 1
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
verbose_subchannel = true
implicit = true
segregated = false
friction_closure = 'MATRA'
pin_HTC_closure = 'Dittus-Boelter'
full_output = true
mixing_closure ='constant_beta'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 2.6
[]
[]
[ICs]
[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}
[]
[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 = subchannel
[]
[mdot_in_bc]
type = SCMMassFlowRateAux
variable = mdot
boundary = inlet
area = S
mass_flux = report_mass_flux_inlet
execute_on = 'timestep_begin'
block = subchannel
[]
[]
[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]
exodus = true
csv = true
[]
[Executioner]
type = Steady
[]
(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 = SCMQuadAssemblyMeshGenerator
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'
[]
[]
[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
[]
[mu]
block = subchannel
[]
[S]
block = subchannel
[]
[w_perim]
block = subchannel
[]
[q_prime]
block = subchannel
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
P_tol = 1e-6
T_tol = 1e-6
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
friction_closure = 'MATRA'
pin_HTC_closure = 'Dittus-Boelter'
mixing_closure ='constant_beta'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.08
CT = 2.6
[]
[]
[ICs]
[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
[]
[P_ic]
type = ConstantIC
variable = P
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/test/tests/mesh/quad_assembly/subchannel_number.i)
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
nx = 1
ny = 1
n_cells = 10
pitch = 0.25
pin_diameter = 0.125
side_gap = 0.1
heated_length = 1
spacer_k = '0.5'
spacer_z = '0'
[]
[]
(modules/subchannel/verification/friction_model_verification/two_channel/two_channel.i)
T_in = 473.15 # K
mass_flux_in = 3500 # kg /sec m2
P_out = 155e+5 # Pa
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadAssemblyMeshGenerator
nx = 1
ny = 2
n_cells = 100
pitch = 0.0126
pin_diameter = 0.00950
side_gap = 0.00095
heated_length = 10.0
spacer_z = '0.0'
spacer_k = '0.0'
[]
[]
[Functions]
[S_fn]
type = ParsedFunction
expression = if(y>0.0,0.002,0.001)
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
P_tol = 1e-6
T_tol = 1e-6
implicit = false
compute_density = true
compute_viscosity = true
compute_power = true
P_out = ${P_out}
friction_closure = 'MATRA'
full_output = true
mixing_closure ='constant_beta'
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
CT = 0.0
[]
[]
[ICs]
[S_ic]
type = FunctionIC
variable = S
function = S_fn
[]
[w_perim_IC]
type = ConstantIC
variable = w_perim
value = 0.34188034
[]
[q_prime_IC]
type = ConstantIC
variable = q_prime
value = 0.0
[]
[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]
csv = true
[]
[Postprocessors]
[mdot_1]
type = SubChannelPointValue
variable = mdot
index = 0
execute_on = 'initial timestep_end'
height = 10.0
[]
[mdot_2]
type = SubChannelPointValue
variable = mdot
index = 1
execute_on = 'initial timestep_end'
height = 10.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'
[]
[]