- betaTurbulent mixing parameter [-].
C++ Type:Real
Unit:(no unit assumed)
Controllable:No
Description:Turbulent mixing parameter [-].
SCMMixingConstantBeta
Class that models the turbulent mixing coefficient beta as a user defined constant.
Overview
This closure class is used when the user wants to define a constant mixing coefficient for the whole subchannel assembly.
Calibrated parameter values
has been calibrated for quadrilateral assemblies using data from the 2x3 air-water facility that was operated by Kumamoto university. The purpose of that facility was to quantify the effects of mixing and void drift Sadatomi et al. (2004). In these experiments, the turbulent mixing rates and the fluctuations of static pressure difference between subchannels were measured. The author derived a way to use the die concentration measurements, in order to calculate the turbulent mixing rates () between subchannels Kawahara et al. (1995). Additional Information about the use of can be found in Turbulent crossflow.
It is important to note that the mixing coefficient is simply a tuning parameter that will depend on the specific geometry of the facility being modeled. This facility is a square lattice, but the geometry is much larger than that of a typical PWR pin-lattice geometry. Nevertheless this study is useful for showing that the code is capable of predicting the correct mixing rate if it is calibrated correctly.
After calibrating the turbulent diffusion coefficient we turned our attention to the turbulent modeling parameter . This is a tuning parameter that informs on how much momentum is transferred/diffused between subchannels, due to turbulence. The CNEN 4x4 test Marinelli et al. (1972) performed at Studsvik laboratory for studying the flow mixing effect between adjacent subchannels was chosen to tune this parameter. This experiment consists in velocity and temperature measurements taken at the outlet of a 16-pin assembly test section. Analysis of the velocity distribution at the exit of the assembly can be used to calibrate the turbulent parameter . Additional Information about the use of this parameter can be found in Turbulent momentum transfer.
For quadrilateral assemblies, the calibration values computed were: , Kyriakopoulos et al. (2022).
Input Parameters
- CT1Turbulent momentum, modeling parameter [-].
Default:1
C++ Type:Real
Unit:(no unit assumed)
Controllable:No
Description:Turbulent momentum, modeling parameter [-].
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:Yes
Description:Set the enabled status of the MooseObject.
Advanced Parameters
- prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
- use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.
Default:False
C++ Type:bool
Controllable:No
Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.
Material Property Retrieval Parameters
Input Files
- (modules/subchannel/validation/PNNL_12_pin/transient/2X6_transient.i)
- (modules/subchannel/test/tests/problems/psbt/psbt_monolithic.i)
- (modules/subchannel/verification/friction_model_verification/friction_model/friction_factor_sampling.i)
- (modules/subchannel/test/tests/problems/deformation/quad_pin_diameter.i)
- (modules/subchannel/verification/enthalpy_mixing_verification/two_channel.i)
- (modules/subchannel/validation/PNNL_12_pin/steady_state/2X6_ss.i)
- (modules/subchannel/validation/psbt/psbt_ss/psbt.i)
- (modules/subchannel/test/tests/problems/psbt/psbt_explicit_staggered.i)
- (modules/subchannel/verification/friction_model_verification/two_channel/two_channel.i)
- (modules/subchannel/test/tests/restart/transient.i)
- (modules/subchannel/test/tests/problems/psbt/psbt_implicit.i)
- (modules/subchannel/validation/Blockage/PNNL_7x7/7X7blockage90.i)
- (modules/subchannel/test/tests/gravity/one_pin_problem.i)
- (modules/subchannel/test/tests/SCMQuadPower/test_with_pins.i)
- (modules/subchannel/validation/psbt/psbt_null_transient/psbt_transient.i)
- (modules/subchannel/verification/friction_model_verification/two_channel/two_channel2.i)
- (modules/subchannel/validation/Blockage/PNNL_7x7/7X7blockage70.i)
- (modules/subchannel/verification/friction_model_verification/friction_model/tri_wire_flow_split.i)
- (modules/subchannel/verification/friction_model_verification/friction_model/tri_bare_flow_split.i)
- (modules/subchannel/examples/coupling/thermo_mech/quad/one_pin_problem.i)
- (modules/subchannel/examples/mesh_generator/psbt_mesh_generator_test.i)
- (modules/subchannel/examples/heating_test/3X3_channel.i)
- (modules/subchannel/test/tests/problems/psbt/psbt_explicit.i)
- (modules/subchannel/validation/psbt/psbt_null_transient/psbt_ss.i)
- (modules/subchannel/test/tests/problems/coupling/main.i)
- (modules/subchannel/test/tests/restart/steady.i)
References
- Akimaro Kawahara, Michio Sadatomi, Yoshifusa Sato, and Eiichi Shiga.
Treatment of turbulent mixing rate in a two-phase subchannel flow. for developing flow without pressure differential between subchannels.
Nippon Kikai Gakkai Ronbunshu, B Hen, 61(583):861–867, 1995.[Export]
BibTeX
@article{SADATOMI2, author = "Kawahara, Akimaro and Sadatomi, Michio and Sato, Yoshifusa and Shiga, Eiichi", title = "Treatment of turbulent mixing rate in a two-phase subchannel flow. For developing flow without pressure differential between subchannels", journal = "Nippon Kikai Gakkai Ronbunshu, B Hen", volume = "61", number = "583", pages = "861--867", year = "1995" }RIS
TY - JOUR AU - Kawahara, Akimaro AU - Sadatomi, Michio AU - Sato, Yoshifusa AU - Shiga, Eiichi TI - Treatment of turbulent mixing rate in a two-phase subchannel flow. For developing flow without pressure differential between subchannels JO - Nippon Kikai Gakkai Ronbunshu, B Hen PY - 1995 VL - 61 IS - 583 SP - 861 EP - 867 ER -Plain Text
Akimaro Kawahara, Michio Sadatomi, Yoshifusa Sato, and Eiichi Shiga. Treatment of turbulent mixing rate in a two-phase subchannel flow. for developing flow without pressure differential between subchannels. Nippon Kikai Gakkai Ronbunshu, B Hen, 61(583):861–867, 1995. - Vasileios Kyriakopoulos, Mauricio E Tano, and Jean C Ragusa.
Development of a single-phase, transient, subchannel code, within the moose multi-physics computational framework.
Energies, 15(11):3948, 2022.[Export]
BibTeX
@article{kyriakopoulos2022development, author = "Kyriakopoulos, Vasileios and Tano, Mauricio E and Ragusa, Jean C", title = "Development of a Single-Phase, Transient, Subchannel Code, within the MOOSE Multi-Physics Computational Framework", journal = "Energies", volume = "15", number = "11", pages = "3948", year = "2022", publisher = "MDPI" }RIS
TY - JOUR AU - Kyriakopoulos, Vasileios AU - Tano, Mauricio E AU - Ragusa, Jean C TI - Development of a Single-Phase, Transient, Subchannel Code, within the MOOSE Multi-Physics Computational Framework JO - Energies PY - 2022 VL - 15 IS - 11 PB - MDPI SP - 3948 ER -Plain Text
Vasileios Kyriakopoulos, Mauricio E Tano, and Jean C Ragusa. Development of a single-phase, transient, subchannel code, within the moose multi-physics computational framework. Energies, 15(11):3948, 2022. - V Marinelli, L Pastori, and B Kjellen.
Experimental investigation on mass velocity distribution and velocity profiles in an lwr rod bundle.
Trans. Amer. Nucl. Soc., 15(1):413, 1972.[Export]
BibTeX
@article{Marinelli, author = "Marinelli, V and Pastori, L and Kjellen, B", title = "EXPERIMENTAL INVESTIGATION ON MASS VELOCITY DISTRIBUTION AND VELOCITY PROFILES IN AN LWR ROD BUNDLE.", journal = "Trans. Amer. Nucl. Soc.", volume = "15", number = "1", pages = "413", year = "1972" }RIS
TY - JOUR AU - Marinelli, V AU - Pastori, L AU - Kjellen, B TI - EXPERIMENTAL INVESTIGATION ON MASS VELOCITY DISTRIBUTION AND VELOCITY PROFILES IN AN LWR ROD BUNDLE. JO - Trans. Amer. Nucl. Soc. PY - 1972 VL - 15 IS - 1 SP - 413 ER -Plain Text
V Marinelli, L Pastori, and B Kjellen. Experimental investigation on mass velocity distribution and velocity profiles in an lwr rod bundle. Trans. Amer. Nucl. Soc., 15(1):413, 1972. - M. Sadatomi, A. Kawahara, K. Kano, and Y. Sumi.
Single- and two-phase turbulent mixing rate between adjacent subchannels in a vertical 2x3 rod array channel.
International Journal of Multiphase Flow, 30(5):481–498, 2004.[Export]
BibTeX
@article{SADATOMI, author = "Sadatomi, M. and Kawahara, A. and Kano, K. and Sumi, Y.", title = "Single- and two-phase turbulent mixing rate between adjacent subchannels in a vertical 2X3 rod array channel", journal = "International Journal of Multiphase Flow", volume = "30", number = "5", pages = "481-498", year = "2004" }RIS
TY - JOUR AU - Sadatomi, M. AU - Kawahara, A. AU - Kano, K. AU - Sumi, Y. TI - Single- and two-phase turbulent mixing rate between adjacent subchannels in a vertical 2X3 rod array channel JO - International Journal of Multiphase Flow PY - 2004 VL - 30 IS - 5 SP - 481 EP - 498 ER -Plain Text
M. Sadatomi, A. Kawahara, K. Kano, and Y. Sumi. Single- and two-phase turbulent mixing rate between adjacent subchannels in a vertical 2x3 rod array channel. International Journal of Multiphase Flow, 30(5):481-498, 2004.
(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/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/verification/friction_model_verification/friction_model/friction_factor_sampling.i)
# Shared part of the friction factor sampling inputs. Each time step solves the assembly at a
# larger inlet mass flux, and the friction factor and Reynolds number of one interior, edge, and
# corner subchannel are reported. The including input defines the mesh, the problem type, the
# friction closure, the exponent G_exp0 of the initial inlet mass flux, and the center, edge, and
# corner subchannel indices.
T_in = 359.15 # K
P_out = 4.923e6 # Pa
# Inlet mass flux 10^(G_exp0 + 0.1 n) [kg/m^2-s] at step n. The bulk Reynolds number is about 1 at
# n = 1 and grows by 0.1 decades per step, so 56 steps stop the sweep just below the upper limit
# Re = 3e5 of the Pacio-Chen-Todreas applicability range
G_exp_rate = 0.1
# Each sweep step is a time step of the transient solve. The time derivative of the axial momentum
# equation, about dz (mdot - mdot_old) / dt, is about 9% of the laminar friction of the wire-wrapped
# assembly for dt = 1 s and skews the laminar flow split, so each step lasts 1e4 s, which makes it
# negligible
dt_step = 1e4 # s
# The inlet mass flux is uniform, and the flow split develops over about 1.5 m, so the friction
# factor is sampled near the outlet of the 3 m assembly, where the flow is developed. The closure
# at the outlet node of a cell uses the Reynolds number at the inlet node, so the Reynolds number
# is sampled one cell (0.1 m) below the friction factor
z_Re = 2.8
z_ff = 2.9
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
fp = water
n_blocks = 1
P_out = ${P_out}
compute_density = true
compute_viscosity = true
compute_power = false
full_output = true
mixing_closure = 'constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
[]
[SCMClosures]
[Chen]
type = SCMFrictionChenTodreas
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
# No turbulent exchange of axial momentum, so the developed flow split is set by the friction
# closure alone
CT = 0.0
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[]
[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
[]
[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
[]
[mu_ic]
type = ViscosityIC
variable = mu
p = ${P_out}
T = T
fp = water
[]
[mdot_ic]
type = ConstantIC
variable = mdot
value = 0.0
[]
[]
[Functions]
[mass_flux_fn]
type = ParsedFunction
expression = '10^(${G_exp0} + ${G_exp_rate} * t / ${dt_step})'
[]
[]
[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
execute_on = 'timestep_begin'
[]
[]
[Postprocessors]
[mass_flux]
type = FunctionValuePostprocessor
function = mass_flux_fn
execute_on = 'initial timestep_begin'
outputs = none
[]
[ff_center]
type = SubChannelPointValue
variable = ff
index = ${center}
height = ${z_ff}
[]
[ff_edge]
type = SubChannelPointValue
variable = ff
index = ${edge}
height = ${z_ff}
[]
[ff_corner]
type = SubChannelPointValue
variable = ff
index = ${corner}
height = ${z_ff}
[]
[mdot_center]
type = SubChannelPointValue
variable = mdot
index = ${center}
height = ${z_Re}
outputs = none
[]
[mdot_edge]
type = SubChannelPointValue
variable = mdot
index = ${edge}
height = ${z_Re}
outputs = none
[]
[mdot_corner]
type = SubChannelPointValue
variable = mdot
index = ${corner}
height = ${z_Re}
outputs = none
[]
[w_perim_center]
type = SubChannelPointValue
variable = w_perim
index = ${center}
height = ${z_Re}
outputs = none
[]
[w_perim_edge]
type = SubChannelPointValue
variable = w_perim
index = ${edge}
height = ${z_Re}
outputs = none
[]
[w_perim_corner]
type = SubChannelPointValue
variable = w_perim
index = ${corner}
height = ${z_Re}
outputs = none
[]
[mu_center]
type = SubChannelPointValue
variable = mu
index = ${center}
height = ${z_Re}
outputs = none
[]
[mu_edge]
type = SubChannelPointValue
variable = mu
index = ${edge}
height = ${z_Re}
outputs = none
[]
[mu_corner]
type = SubChannelPointValue
variable = mu
index = ${corner}
height = ${z_Re}
outputs = none
[]
# Subchannel Reynolds number (mdot / S) Dh / mu with Dh = 4 S / w_perim, as in the solver
[Re_center]
type = ParsedPostprocessor
expression = '4 * mdot_center / (w_perim_center * mu_center)'
pp_names = 'mdot_center w_perim_center mu_center'
[]
[Re_edge]
type = ParsedPostprocessor
expression = '4 * mdot_edge / (w_perim_edge * mu_edge)'
pp_names = 'mdot_edge w_perim_edge mu_edge'
[]
[Re_corner]
type = ParsedPostprocessor
expression = '4 * mdot_corner / (w_perim_corner * mu_corner)'
pp_names = 'mdot_corner w_perim_corner mu_corner'
[]
[]
[Outputs]
csv = true
[]
[Executioner]
type = Transient
start_time = 0.0
end_time = '${fparse 56 * dt_step}'
dt = ${dt_step}
[]
(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/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/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/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
staggered_pressure = false
verbose_subchannel = true
interpolation_scheme = exponential
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/problems/psbt/psbt_explicit_staggered.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
pin_diameter = 0.00950
[QuadSubChannelMesh]
[sub_channel]
type = 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
staggered_pressure = 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/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'
[]
[]
(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'
[]
[]
[Outputs]
exodus = true
hide = ff
[]
[Executioner]
type = Transient
start_time = 0.0
end_time = 0.2
dt = 0.1
[]
(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/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
staggered_pressure = 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/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/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/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/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/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
staggered_pressure = 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/verification/friction_model_verification/friction_model/tri_wire_flow_split.i)
# Developed flow split of the 61-pin EBR-II XX09 wire-wrapped triangular lattice of tri_wire.i.
# The assembly is solved in steady state at one inlet mass flux, which gives a bulk Reynolds number
# of about 3.3e4, the bulk Reynolds number of the EBR-II XX09 SHRT-17 steady state. The flow split,
# the mass flux of a subchannel divided by the bulk mass flux, of one interior, edge, and corner
# subchannel is reported at the outlet.
T_in = 359.15 # K
P_out = 4.923e6 # Pa
# Bulk mass flux that gives a bulk Reynolds number of about 3.3e4
mass_flux = 4000 # kg/m^2-s
# The inlet mass flux is uniform, and the flow split develops over about 1.5 m, so it is sampled at
# the outlet of the 3 m assembly, where the flow is developed
z_out = 3.0
# Subchannel indices of an interior, an edge, and a corner subchannel
center = 0
edge = 100
corner = 97
# Number of interior, edge, and corner subchannels of the 5-ring assembly: 6 (nrings - 1)^2,
# 6 (nrings - 1), and 6
n_center = 96
n_edge = 24
n_corner = 6
[TriSubChannelMesh]
[subchannel]
type = SCMTriAssemblyMeshGenerator
nrings = 5
n_cells = 30
flat_to_flat = 0.0464
heated_length = 3
pin_diameter = 0.004419
pitch = 0.005664
dwire = 0.001244
hwire = 0.1524
spacer_z = '0.0'
spacer_k = '0.0'
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = TriSubChannel1PhaseProblem
fp = water
n_blocks = 1
P_out = ${P_out}
compute_density = true
compute_viscosity = true
compute_power = false
full_output = true
# Monolithic implicit solver. The explicit solver converges the developed turbulent flow split
# only to about 1% with the default tolerances.
implicit = true
segregated = false
P_tol = 1e-8
T_tol = 1e-8
rtol = 1e-10
atol = 1e-10
friction_closure = 'Chen'
mixing_closure = 'constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
[]
[SCMClosures]
[Chen]
type = SCMFrictionChenTodreas
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
# No turbulent exchange of axial momentum, so the developed flow split is set by the friction
# closure alone
CT = 0.0
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[]
[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
[]
[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
[]
[mu_ic]
type = ViscosityIC
variable = mu
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}
execute_on = 'timestep_begin'
[]
[]
[Postprocessors]
[mdot_center]
type = SubChannelPointValue
variable = mdot
index = ${center}
height = ${z_out}
outputs = none
[]
[mdot_edge]
type = SubChannelPointValue
variable = mdot
index = ${edge}
height = ${z_out}
outputs = none
[]
[mdot_corner]
type = SubChannelPointValue
variable = mdot
index = ${corner}
height = ${z_out}
outputs = none
[]
[S_center]
type = SubChannelPointValue
variable = S
index = ${center}
height = ${z_out}
outputs = none
[]
[S_edge]
type = SubChannelPointValue
variable = S
index = ${edge}
height = ${z_out}
outputs = none
[]
[S_corner]
type = SubChannelPointValue
variable = S
index = ${corner}
height = ${z_out}
outputs = none
[]
[w_perim_center]
type = SubChannelPointValue
variable = w_perim
index = ${center}
height = ${z_out}
outputs = none
[]
[w_perim_edge]
type = SubChannelPointValue
variable = w_perim
index = ${edge}
height = ${z_out}
outputs = none
[]
[w_perim_corner]
type = SubChannelPointValue
variable = w_perim
index = ${corner}
height = ${z_out}
outputs = none
[]
# The solver evaluates the bulk Reynolds number with the inlet viscosity
[mu_in]
type = SubChannelPointValue
variable = mu
index = ${center}
height = 0.0
outputs = none
[]
# Subchannel hydraulic diameters Dh = 4 S / w_perim, as in the solver
[Dh_center]
type = ParsedPostprocessor
expression = '4 * S_center / w_perim_center'
pp_names = 'S_center w_perim_center'
[]
[Dh_edge]
type = ParsedPostprocessor
expression = '4 * S_edge / w_perim_edge'
pp_names = 'S_edge w_perim_edge'
[]
[Dh_corner]
type = ParsedPostprocessor
expression = '4 * S_corner / w_perim_corner'
pp_names = 'S_corner w_perim_corner'
[]
# Bulk hydraulic diameter, 4 times the total flow area over the total wetted perimeter
[Dh_bulk]
type = ParsedPostprocessor
expression = '4 * (${n_center} * S_center + ${n_edge} * S_edge + ${n_corner} * S_corner)
/ (${n_center} * w_perim_center + ${n_edge} * w_perim_edge
+ ${n_corner} * w_perim_corner)'
pp_names = 'S_center S_edge S_corner w_perim_center w_perim_edge w_perim_corner'
[]
[Re_bulk]
type = ParsedPostprocessor
expression = '${mass_flux} * Dh_bulk / mu_in'
pp_names = 'Dh_bulk mu_in'
[]
# Flow split, the subchannel mass flux divided by the bulk mass flux
[X_center]
type = ParsedPostprocessor
expression = 'mdot_center / (S_center * ${mass_flux})'
pp_names = 'mdot_center S_center'
[]
[X_edge]
type = ParsedPostprocessor
expression = 'mdot_edge / (S_edge * ${mass_flux})'
pp_names = 'mdot_edge S_edge'
[]
[X_corner]
type = ParsedPostprocessor
expression = 'mdot_corner / (S_corner * ${mass_flux})'
pp_names = 'mdot_corner S_corner'
[]
[]
[Outputs]
csv = true
execute_on = final
[]
[Executioner]
type = Steady
[]
(modules/subchannel/verification/friction_model_verification/friction_model/tri_bare_flow_split.i)
# Developed flow split of the 19-pin LBE bare-pin triangular lattice of tri_bare.i. The assembly is
# solved in steady state at one inlet mass flux, which gives a bulk Reynolds number of about 3.3e4,
# the same as tri_wire_flow_split.i. The flow split, the mass flux of a subchannel divided by the
# bulk mass flux, of one interior, edge, and corner subchannel is reported at the outlet.
T_in = 359.15 # K
P_out = 4.923e6 # Pa
# Bulk mass flux that gives a bulk Reynolds number of about 3.3e4 with the bulk hydraulic diameter
# of this assembly, about 8.6 mm, and the inlet viscosity of tri_wire_flow_split.i
mass_flux = 1275 # kg/m^2-s
# The inlet mass flux is uniform, and the flow split develops over about 1.5 m, so it is sampled at
# the outlet of the 3 m assembly, where the flow is developed
z_out = 3.0
# Subchannel indices of an interior, an edge, and a corner subchannel, as in tri_bare.i
center = 0
edge = 24
corner = 25
# Number of interior, edge, and corner subchannels of the 3-ring assembly: 6 (nrings - 1)^2,
# 6 (nrings - 1), and 6
n_center = 24
n_edge = 12
n_corner = 6
[TriSubChannelMesh]
[subchannel]
type = SCMTriAssemblyMeshGenerator
nrings = 3
n_cells = 30
flat_to_flat = 0.05319936
heated_length = 3
pin_diameter = 0.0082
pitch = 0.01148
dwire = 0.0
hwire = 0.0
spacer_z = '0.0'
spacer_k = '0.0'
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = TriSubChannel1PhaseProblem
fp = water
n_blocks = 1
P_out = ${P_out}
compute_density = true
compute_viscosity = true
compute_power = false
full_output = true
# Monolithic implicit solver. The explicit solver converges the developed turbulent flow split
# only to about 1% with the default tolerances.
implicit = true
segregated = false
P_tol = 1e-8
T_tol = 1e-8
rtol = 1e-10
atol = 1e-10
friction_closure = 'Chen'
mixing_closure = 'constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
[]
[SCMClosures]
[Chen]
type = SCMFrictionChenTodreas
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.006
# No turbulent exchange of axial momentum, so the developed flow split is set by the friction
# closure alone
CT = 0.0
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[]
[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
[]
[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
[]
[mu_ic]
type = ViscosityIC
variable = mu
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}
execute_on = 'timestep_begin'
[]
[]
[Postprocessors]
[mdot_center]
type = SubChannelPointValue
variable = mdot
index = ${center}
height = ${z_out}
outputs = none
[]
[mdot_edge]
type = SubChannelPointValue
variable = mdot
index = ${edge}
height = ${z_out}
outputs = none
[]
[mdot_corner]
type = SubChannelPointValue
variable = mdot
index = ${corner}
height = ${z_out}
outputs = none
[]
[S_center]
type = SubChannelPointValue
variable = S
index = ${center}
height = ${z_out}
outputs = none
[]
[S_edge]
type = SubChannelPointValue
variable = S
index = ${edge}
height = ${z_out}
outputs = none
[]
[S_corner]
type = SubChannelPointValue
variable = S
index = ${corner}
height = ${z_out}
outputs = none
[]
[w_perim_center]
type = SubChannelPointValue
variable = w_perim
index = ${center}
height = ${z_out}
outputs = none
[]
[w_perim_edge]
type = SubChannelPointValue
variable = w_perim
index = ${edge}
height = ${z_out}
outputs = none
[]
[w_perim_corner]
type = SubChannelPointValue
variable = w_perim
index = ${corner}
height = ${z_out}
outputs = none
[]
# The solver evaluates the bulk Reynolds number with the inlet viscosity
[mu_in]
type = SubChannelPointValue
variable = mu
index = ${center}
height = 0.0
outputs = none
[]
# Subchannel hydraulic diameters Dh = 4 S / w_perim, as in the solver
[Dh_center]
type = ParsedPostprocessor
expression = '4 * S_center / w_perim_center'
pp_names = 'S_center w_perim_center'
[]
[Dh_edge]
type = ParsedPostprocessor
expression = '4 * S_edge / w_perim_edge'
pp_names = 'S_edge w_perim_edge'
[]
[Dh_corner]
type = ParsedPostprocessor
expression = '4 * S_corner / w_perim_corner'
pp_names = 'S_corner w_perim_corner'
[]
# Bulk hydraulic diameter, 4 times the total flow area over the total wetted perimeter
[Dh_bulk]
type = ParsedPostprocessor
expression = '4 * (${n_center} * S_center + ${n_edge} * S_edge + ${n_corner} * S_corner)
/ (${n_center} * w_perim_center + ${n_edge} * w_perim_edge
+ ${n_corner} * w_perim_corner)'
pp_names = 'S_center S_edge S_corner w_perim_center w_perim_edge w_perim_corner'
[]
[Re_bulk]
type = ParsedPostprocessor
expression = '${mass_flux} * Dh_bulk / mu_in'
pp_names = 'Dh_bulk mu_in'
[]
# Flow split, the subchannel mass flux divided by the bulk mass flux
[X_center]
type = ParsedPostprocessor
expression = 'mdot_center / (S_center * ${mass_flux})'
pp_names = 'mdot_center S_center'
[]
[X_edge]
type = ParsedPostprocessor
expression = 'mdot_edge / (S_edge * ${mass_flux})'
pp_names = 'mdot_edge S_edge'
[]
[X_corner]
type = ParsedPostprocessor
expression = 'mdot_corner / (S_corner * ${mass_flux})'
pp_names = 'mdot_corner S_corner'
[]
[]
[Outputs]
csv = true
execute_on = final
[]
[Executioner]
type = Steady
[]
(modules/subchannel/examples/coupling/thermo_mech/quad/one_pin_problem.i)
######## BC's #################
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
heated_length = 1.0
######## Geometry #
[GlobalParams]
nx = 2
ny = 2
n_cells = 25
pitch = 0.0126
pin_diameter = 0.00950
side_gap = 0.00095
heated_length = ${heated_length}
spacer_z = '0.0'
spacer_k = '0.0'
power = 100000.0 # W
[]
[QuadSubChannelMesh]
[subchannel]
type = 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'
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'
[]
[]
[Outputs]
exodus = true
[Temp_Out_MATRIX]
type = QuadSubChannelNormalSliceValues
variable = T
execute_on = final
file_base = "Temp_Out.txt"
height = 1.0
[]
[mdot_Out_MATRIX]
type = QuadSubChannelNormalSliceValues
variable = mdot
execute_on = final
file_base = "mdot_Out.txt"
height = 1.0
[]
[mdot_In_MATRIX]
type = QuadSubChannelNormalSliceValues
variable = mdot
execute_on = final
file_base = "mdot_In.txt"
height = 0.0
[]
[]
[Executioner]
type = Steady
petsc_options_iname = '-pc_type -pc_hypre_type'
petsc_options_value = 'hypre boomeramg'
fixed_point_max_its = 8
fixed_point_min_its = 6
fixed_point_rel_tol = 1e-6
[]
################################################################################
[MultiApps]
################################################################################
# Couple to Thermo-Mechanical Pin model (uses kernels available in MOOSE)
################################################################################
[sub]
type = FullSolveMultiApp
input_files = one_pin_problem_sub.i
execute_on = 'timestep_end'
positions = '0 0 0 '
output_in_position = true
bounding_box_padding = '0 0 0.01'
[]
################################################################################
# A multiapp that projects the solution to a detailed mesh for visualization purposes
################################################################################
[viz]
type = FullSolveMultiApp
input_files = '3d.i'
execute_on = 'FINAL'
[]
[]
[Transfers]
[Tpin] # send pin surface temperature to pin model,
type = MultiAppGeneralFieldNearestLocationTransfer
to_multi_app = sub
variable = Pin_surface_temperature
source_variable = Tpin
execute_on = 'timestep_end'
greedy_search = true
[]
[diameter] # send diameter information from pin model to subchannel
type = MultiAppGeneralFieldNearestLocationTransfer
from_multi_app = sub
variable = Dpin
source_variable = pin_diameter_deformed
from_boundaries = right
execute_on = 'timestep_end'
greedy_search = true
[]
[q_prime] # send heat flux from pin model to subchannel
type = MultiAppGeneralFieldNearestLocationTransfer
from_multi_app = sub
variable = q_prime
source_variable = q_prime
from_boundaries = right
execute_on = 'timestep_end'
greedy_search = true
[]
[subchannel_transfer]
type = SCMSolutionTransfer
to_multi_app = viz
variable = 'mdot SumWij P DP h T rho mu S w_perim'
[]
[pin_transfer]
type = SCMSolutionTransfer
transfer_type = pin
to_multi_app = viz
variable = 'Tpin Dpin q_prime'
[]
[]
(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/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
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/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/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/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/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'
[]
[]
[Outputs]
exodus = true
checkpoint = true
hide = 'ff'
[]
[Executioner]
type = Steady
[]