- correction_factorPresserCorrection factor modeling the effect of the fuel-pin bundle. Default is Presser
Default:Presser
C++ Type:MooseEnum
Controllable:No
Description:Correction factor modeling the effect of the fuel-pin bundle. Default is Presser
SCMHTCDittusBoelter
Class that computes the convective heat transfer coefficient using the Dittus Boelter correlation.
The HTC closure models inherit from: SCMHTCClosureBase.
Dittus-Boelter Correlation for Turbulent Nusselt Number
The Dittus-Boelter equation Dittus (1930) is implemented as proposed by McAdams McAdams and McAdams (1954) as follows:
where:
: Nusselt number
: Reynolds number
: Prandtl number
All fluid properties are evaluated at the mean subchannel temperature. The correlation is used on a local basis.
Correction factors applied to the Dittus-Boelter Correlation
Additionally, the user has the option to define correction factors to account for the effect of fully turbulent flow along pin bundles. Nu values may significantly deviate from the circular geometry because of the strong geometric nonuniformity of the subchannels Todreas and Kazimi (2021). The usual way to represent the relevant correlation is to express the Nusselt number for fully developed conditions , as a product of for a circular tube multiplied by a correction factor:
The problem then is to calculate . The models available to the user to calculate are that of Presser Presser (1967) and Weisman Weisman (1959).
Presser suggested:
for the triangular array and .
for the square array and .
For water, Weisman suggested:
for the triangular array and .
for the square array and , both for .
The default model used for the correction factor is that of Presser.
Input 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/test/tests/problems/deformation/quad_pin_diameter.i)
- (modules/subchannel/test/tests/problems/psbt/psbt_implicit.i)
- (modules/subchannel/test/tests/problems/coupling/main.i)
- (modules/subchannel/test/tests/gravity/one_pin_problem.i)
- (modules/subchannel/test/tests/problems/psbt/psbt_monolithic.i)
- (modules/subchannel/test/tests/problems/psbt/psbt_explicit_v2.i)
- (modules/subchannel/test/tests/problems/psbt/psbt_explicit.i)
- (modules/subchannel/test/tests/SCMQuadPower/test_with_pins.i)
- (modules/subchannel/test/tests/SCMQuadPower/test.i)
- (modules/subchannel/test/tests/problems/psbt/psbt_explicit_staggered.i)
- (modules/subchannel/test/tests/positions/pin_positions.i)
- (modules/subchannel/validation/psbt/psbt_ss/psbt.i)
- (modules/subchannel/validation/PNNL_12_pin/steady_state/2X6_ss.i)
- (modules/subchannel/test/tests/problems/heat_transfer_correlations/XX09_SCM_SS17.i)
- (modules/subchannel/examples/mesh_generator/psbt_mesh_generator_test.i)
References
- Frederick William Dittus.
Heat transfer in automobile radiators of the tubular type.
Univ. of California Pub., Eng., 2(13):443–461, 1930.[BibTeX]
@article{dittus1930heat, author = "Dittus, Frederick William", title = "Heat transfer in automobile radiators of the tubular type", journal = "Univ. of California Pub., Eng.", volume = "2", number = "13", pages = "443--461", year = "1930" } - William Henry McAdams and William H McAdams.
Heat transmission.
Volume 3.
McGraw-hill New York, 1954.[BibTeX]
@book{mcadams1954heat, author = "McAdams, William Henry and McAdams, William H", title = "Heat transmission", volume = "3", year = "1954", publisher = "McGraw-hill New York" } - K Presser.
Waermeuebergang und druckverlust an reaktorbrennelementen in form laengsdurchstroemter rundstabbuendel.(heat transfer and pressure loss of reactor fuel elements in the form of longitudinal flow through round rod bundles).
Technical Report, Kernforschungsanlage, Juelich (West Germany). Institut fuer Reaktorbauelemente, 1967.[BibTeX]
@techreport{presser1967waermeuebergang, author = "Presser, K", title = "WAERMEUEBERGANG UND DRUCKVERLUST AN REAKTORBRENNELEMENTEN IN FORM LAENGSDURCHSTROEMTER RUNDSTABBUENDEL.(Heat Transfer and Pressure Loss of Reactor Fuel Elements in the Form of Longitudinal Flow Through Round Rod Bundles).", year = "1967", institution = "Kernforschungsanlage, Juelich (West Germany). Institut fuer Reaktorbauelemente" } - Neil E Todreas and Mujid S Kazimi.
Nuclear systems volume I: Thermal hydraulic fundamentals.
CRC press, 2021.[BibTeX]
@book{todreas2021nuclear1, author = "Todreas, Neil E and Kazimi, Mujid S", title = "Nuclear systems volume I: Thermal hydraulic fundamentals", year = "2021", publisher = "CRC press" } - Joel Weisman.
Heat transfer to water flowing parallel to tube bundles.
Nuclear Science and Engineering, 6(1):78–79, 1959.[BibTeX]
@article{weisman1959heat, author = "Weisman, Joel", title = "Heat transfer to water flowing parallel to tube bundles", journal = "Nuclear Science and Engineering", volume = "6", number = "1", pages = "78--79", year = "1959", publisher = "Taylor \\& Francis" }
(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]
[sub_channel]
type = SCMQuadSubChannelMeshGenerator
nx = 3
ny = 3
n_cells = 5
pitch = 0.014605
pin_diameter = 0.012
side_gap = 0.0015875
heated_length = 0.5
[]
[fuel_pins]
type = SCMQuadPinMeshGenerator
input = sub_channel
nx = 3
ny = 3
n_cells = 5
pitch = 0.014605
heated_length = 0.5
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = false
P_out = ${P_out}
implicit = true
segregated = false
friction_closure = 'MATRA'
mixing_closure = 'constant_beta'
pin_HTC_closure = 'Dittus-Boelter'
full_output = true
[]
[SCMClosures]
[MATRA]
type = SCMFrictionMATRA
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[constant_beta]
type = SCMMixingConstantBeta
beta = 0.08
CT = 2.6
[]
[]
[ICs]
[T_ic]
type = ConstantIC
variable = T
value = ${T_in}
[]
[Dpin_ic]
type = ConstantIC
variable = Dpin
value = 0.012065
[]
[P_ic]
type = ConstantIC
variable = P
value = 0.0
[]
[DP_ic]
type = ConstantIC
variable = DP
value = 0.0
[]
[Viscosity_ic]
type = ViscosityIC
variable = mu
p = ${P_out}
T = T
fp = water
[]
[rho_ic]
type = RhoFromPressureTemperatureIC
variable = rho
p = ${P_out}
T = T
fp = water
[]
[h_ic]
type = SpecificEnthalpyFromPressureTemperatureIC
variable = h
p = ${P_out}
T = T
fp = water
[]
[mdot_ic]
type = ConstantIC
variable = mdot
value = 0.0
[]
[]
[AuxKernels]
[T_in_bc]
type = ConstantAux
variable = T
boundary = inlet
value = ${T_in}
execute_on = 'timestep_begin'
[]
[mdot_in_bc]
type = SCMMassFlowRateAux
variable = mdot
boundary = inlet
area = S
mass_flux = ${mass_flux_in}
execute_on = 'timestep_begin'
[]
[]
[Postprocessors]
[S_deformed]
type = SubChannelPointValue
variable = S
index = 4
height = 0.25
execute_on = 'timestep_end'
[]
[w_perim_deformed]
type = SubChannelPointValue
variable = w_perim
index = 4
height = 0.25
execute_on = 'timestep_end'
[]
[]
[Executioner]
type = Steady
[]
[Outputs]
console = true
csv = true
[]
(modules/subchannel/test/tests/problems/psbt/psbt_implicit.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
pin_diameter = 0.00950
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadSubChannelMeshGenerator
nx = 6
ny = 6
n_cells = 10
pitch = 0.0126
pin_diameter = ${pin_diameter}
side_gap = 0.00095
heated_length = 1.0
spacer_z = '0.0'
spacer_k = '0.0'
[]
[fuel_pins]
type = SCMQuadPinMeshGenerator
input = sub_channel
nx = 6
ny = 6
n_cells = 10
pitch = 0.0126
heated_length = 1.0
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
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 = sub_channel
[]
[mdot_in_bc]
type = SCMMassFlowRateAux
variable = mdot
boundary = inlet
area = S
mass_flux = report_mass_flux_inlet
execute_on = 'timestep_begin'
block = sub_channel
[]
[]
[Postprocessors]
[report_mass_flux_inlet]
type = Receiver
default = ${mass_flux_in}
[]
[total_pressure_drop]
type = SubChannelDelta
variable = P
execute_on = "timestep_end"
[]
[T1]
type = SubChannelPointValue
variable = T
index = 0
execute_on = "timestep_end"
height = 1
[]
[T2]
type = SubChannelPointValue
variable = T
index = 7
execute_on = "timestep_end"
height = 1
[]
[T3]
type = SubChannelPointValue
variable = T
index = 14
execute_on = "timestep_end"
height = 1
[]
[T4]
type = SubChannelPointValue
variable = T
index = 21
execute_on = "timestep_end"
height = 1
[]
[T5]
type = SubChannelPointValue
variable = T
index = 28
execute_on = "timestep_end"
height = 1
[]
[T6]
type = SubChannelPointValue
variable = T
index = 35
execute_on = "timestep_end"
height = 1
[]
[]
[Outputs]
csv = true
[]
[Executioner]
type = Steady
[]
(modules/subchannel/test/tests/problems/coupling/main.i)
T_in = 297.039 # K
P_out = 101325 # Pa
heated_length = 1.0
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadSubChannelMeshGenerator
nx = 2
ny = 2
n_cells = 10
pitch = 0.014605
pin_diameter = 0.012065
side_gap = 0.0015875
heated_length = ${heated_length}
spacer_z = '0.0'
spacer_k = '0.0'
[]
[fuel_pins]
type = SCMQuadPinMeshGenerator
input = sub_channel
nx = 2
ny = 2
n_cells = 10
pitch = 0.014605
heated_length = ${heated_length}
[]
[]
[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 = SCMPinSolutionTransfer
to_multi_app = viz
variable = 'Tpin q_prime Dpin'
execute_on = 'timestep_end'
[]
[]
(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]
[sub_channel]
type = SCMQuadSubChannelMeshGenerator
[]
[fuel_pins]
type = SCMQuadPinMeshGenerator
input = sub_channel
[]
[]
[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/problems/psbt/psbt_monolithic.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
pin_diameter = 0.00950
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadSubChannelMeshGenerator
nx = 6
ny = 6
n_cells = 10
pitch = 0.0126
pin_diameter = ${pin_diameter}
side_gap = 0.00095
heated_length = 1.0
spacer_z = '0.0'
spacer_k = '0.0'
[]
[fuel_pins]
type = SCMQuadPinMeshGenerator
input = sub_channel
nx = 6
ny = 6
n_cells = 10
pitch = 0.0126
heated_length = 1.0
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
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 = sub_channel
[]
[mdot_in_bc]
type = SCMMassFlowRateAux
variable = mdot
boundary = inlet
area = S
mass_flux = report_mass_flux_inlet
execute_on = 'timestep_begin'
block = sub_channel
[]
[]
[Postprocessors]
[report_mass_flux_inlet]
type = Receiver
default = ${mass_flux_in}
[]
[total_pressure_drop]
type = SubChannelDelta
variable = P
execute_on = "timestep_end"
[]
[T1]
type = SubChannelPointValue
variable = T
index = 0
execute_on = "timestep_end"
height = 1
[]
[T2]
type = SubChannelPointValue
variable = T
index = 7
execute_on = "timestep_end"
height = 1
[]
[T3]
type = SubChannelPointValue
variable = T
index = 14
execute_on = "timestep_end"
height = 1
[]
[T4]
type = SubChannelPointValue
variable = T
index = 21
execute_on = "timestep_end"
height = 1
[]
[T5]
type = SubChannelPointValue
variable = T
index = 28
execute_on = "timestep_end"
height = 1
[]
[T6]
type = SubChannelPointValue
variable = T
index = 35
execute_on = "timestep_end"
height = 1
[]
[]
[Outputs]
csv = true
[]
[Executioner]
type = Steady
[]
(modules/subchannel/test/tests/problems/psbt/psbt_explicit_v2.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
pin_diameter = 0.00950
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadSubChannelMeshGenerator
nx = 6
ny = 6
n_cells = 10
pitch = 0.0126
pin_diameter = ${pin_diameter}
side_gap = 0.00095
heated_length = 1.0
spacer_z = '0.0'
spacer_k = '0.0'
[]
[fuel_pins]
type = SCMQuadPinMeshGenerator
input = sub_channel
nx = 6
ny = 6
n_cells = 10
pitch = 0.0126
heated_length = 1.0
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
compute_density = true
compute_viscosity = true
compute_power = true
P_out = report_pressure_outlet
verbose_subchannel = true
mixing_closure = 'Kim_and_Chung'
friction_closure = 'Cheng'
pin_HTC_closure = 'Dittus-Boelter'
full_output = true
[]
[SCMClosures]
[Cheng]
type = SCMFrictionUpdatedChengTodreas
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[Kim_and_Chung]
type = SCMMixingKimAndChung
CT = 2.6
[]
[]
[ICs]
[T_ic]
type = ConstantIC
variable = T
value = ${T_in}
[]
[P_ic]
type = ConstantIC
variable = P
value = 0.0
[]
[DP_ic]
type = ConstantIC
variable = DP
value = 0.0
[]
[Viscosity_ic]
type = ViscosityIC
variable = mu
p = ${P_out}
T = T
fp = water
[]
[rho_ic]
type = RhoFromPressureTemperatureIC
variable = rho
p = ${P_out}
T = T
fp = water
[]
[h_ic]
type = SpecificEnthalpyFromPressureTemperatureIC
variable = h
p = ${P_out}
T = T
fp = water
[]
[mdot_ic]
type = ConstantIC
variable = mdot
value = 0.0
[]
[]
[AuxKernels]
[T_in_bc]
type = ConstantAux
variable = T
boundary = inlet
value = ${T_in}
execute_on = 'timestep_begin'
block = sub_channel
[]
[mdot_in_bc]
type = SCMMassFlowRateAux
variable = mdot
boundary = inlet
area = S
mass_flux = report_mass_flux_inlet
execute_on = 'timestep_begin'
block = sub_channel
[]
[q_prime_IC]
type = SCMQuadPowerAux
variable = q_prime
power = 1.0e6 # W
filename = "power_profile.txt" #type in name of file that describes radial power profile
execute_on = 'initial timestep_begin'
[]
[]
[Postprocessors]
[report_mass_flux_inlet]
type = Receiver
default = ${mass_flux_in}
[]
[report_pressure_outlet]
type = Receiver
default = ${P_out}
[]
[total_pressure_drop]
type = SubChannelDelta
variable = P
execute_on = "timestep_end"
[]
[T1]
type = SubChannelPointValue
variable = T
index = 0
execute_on = "timestep_end"
height = 1
[]
[T2]
type = SubChannelPointValue
variable = T
index = 7
execute_on = "timestep_end"
height = 1
[]
[T3]
type = SubChannelPointValue
variable = T
index = 14
execute_on = "timestep_end"
height = 1
[]
[T4]
type = SubChannelPointValue
variable = T
index = 21
execute_on = "timestep_end"
height = 1
[]
[T5]
type = SubChannelPointValue
variable = T
index = 28
execute_on = "timestep_end"
height = 1
[]
[T6]
type = SubChannelPointValue
variable = T
index = 35
execute_on = "timestep_end"
height = 1
[]
[]
[Outputs]
csv = true
[Temp_Out_MATRIX]
type = QuadSubChannelNormalSliceValues
variable = T
execute_on = final
file_base = "Temp_Out_Explicit.txt"
height = 1.0
[]
[]
[Executioner]
type = Steady
[]
(modules/subchannel/test/tests/problems/psbt/psbt_explicit.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
pin_diameter = 0.00950
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadSubChannelMeshGenerator
nx = 6
ny = 6
n_cells = 10
pitch = 0.0126
pin_diameter = ${pin_diameter}
side_gap = 0.00095
heated_length = 1.0
spacer_z = '0.0'
spacer_k = '0.0'
[]
[fuel_pins]
type = SCMQuadPinMeshGenerator
input = sub_channel
nx = 6
ny = 6
n_cells = 10
pitch = 0.0126
heated_length = 1.0
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
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 = sub_channel
[]
[mdot_in_bc]
type = SCMMassFlowRateAux
variable = mdot
boundary = inlet
area = S
mass_flux = report_mass_flux_inlet
execute_on = 'timestep_begin'
block = sub_channel
[]
[]
[Postprocessors]
[report_mass_flux_inlet]
type = Receiver
default = ${mass_flux_in}
[]
[total_pressure_drop]
type = SubChannelDelta
variable = P
execute_on = "timestep_end"
[]
[T1]
type = SubChannelPointValue
variable = T
index = 0
execute_on = "timestep_end"
height = 1
[]
[T2]
type = SubChannelPointValue
variable = T
index = 7
execute_on = "timestep_end"
height = 1
[]
[T3]
type = SubChannelPointValue
variable = T
index = 14
execute_on = "timestep_end"
height = 1
[]
[T4]
type = SubChannelPointValue
variable = T
index = 21
execute_on = "timestep_end"
height = 1
[]
[T5]
type = SubChannelPointValue
variable = T
index = 28
execute_on = "timestep_end"
height = 1
[]
[T6]
type = SubChannelPointValue
variable = T
index = 35
execute_on = "timestep_end"
height = 1
[]
[]
[Outputs]
csv = true
[]
[Executioner]
type = Steady
[]
(modules/subchannel/test/tests/SCMQuadPower/test_with_pins.i)
num_cells = 15
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
length = 0.5
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadSubChannelMeshGenerator
nx = 3
ny = 3
n_cells = ${num_cells}
pitch = 0.25
pin_diameter = 0.125
side_gap = 0.1
unheated_length_entry = 0.5
heated_length = 0.5
unheated_length_exit = 0.5
[]
[fuel_pins]
type = SCMQuadPinMeshGenerator
input = sub_channel
nx = 3
ny = 3
n_cells = ${num_cells}
pitch = 0.25
unheated_length_entry = 0.5
heated_length = 0.5
unheated_length_exit = 0.5
[]
[]
[Functions]
[axial_heat_rate]
type = ParsedFunction
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/test/tests/SCMQuadPower/test.i)
num_cells = 15
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadSubChannelMeshGenerator
nx = 3
ny = 3
n_cells = ${num_cells}
pitch = 0.25
pin_diameter = 0.125
side_gap = 0.1
unheated_length_entry = 0.5
heated_length = 0.5
unheated_length_exit = 0.5
[]
[]
[AuxVariables]
[q_prime_aux]
[]
[]
[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_IC]
type = SCMQuadPowerAux
variable = q_prime_aux
power = 1e6 # W
filename = "power_profile.txt" #type in name of file that describes radial power profile
execute_on = 'initial'
[]
[T_in_bc]
type = ConstantAux
variable = T
boundary = inlet
value = ${T_in}
execute_on = 'timestep_begin'
[]
[mdot_in_bc]
type = SCMMassFlowRateAux
variable = mdot
boundary = inlet
area = S
mass_flux = ${mass_flux_in}
execute_on = 'timestep_begin'
[]
[]
[ICs]
[q_prime_IC]
type = SCMQuadPowerIC
variable = q_prime
power = 1e6 # W
filename = "power_profile.txt" #type in name of file that describes radial power profile
[]
[T_ic]
type = ConstantIC
variable = T
value = ${T_in}
[]
[P_ic]
type = ConstantIC
variable = P
value = 0.0
[]
# DP is by default set to zero
# [DP_ic]
# type = ConstantIC
# variable = DP
# value = 0.0
# []
[Viscosity_ic]
type = ViscosityIC
variable = mu
p = ${P_out}
T = T
fp = water
[]
[rho_ic]
type = RhoFromPressureTemperatureIC
variable = rho
p = ${P_out}
T = T
fp = water
[]
[h_ic]
type = SpecificEnthalpyFromPressureTemperatureIC
variable = h
p = ${P_out}
T = T
fp = water
[]
[mdot_ic]
type = ConstantIC
variable = mdot
value = 0.0
[]
[]
[Executioner]
type = Steady
[]
[Postprocessors]
[Total_power_IC_defaultPP]
type = ElementIntegralVariablePostprocessor
variable = q_prime
[]
[Total_power_Aux_defaultPP]
type = ElementIntegralVariablePostprocessor
variable = q_prime_aux
[]
[Total_power_SCMPinPowerPostprocessor]
type = SCMPinPowerPostprocessor
[]
[Total_power_SCMTHPowerPostprocessor]
type = SCMTHPowerPostprocessor
[]
[]
[VectorPostprocessors]
[line_check]
type = LineValueSampler
variable = 'q_prime q_prime_aux'
execute_on = 'TIMESTEP_END'
sort_by = 'z'
start_point = '0 0 0'
end_point = '0 0 1.5'
num_points = ${fparse num_cells + 1}
[]
[]
[Outputs]
csv = true
[]
(modules/subchannel/test/tests/problems/psbt/psbt_explicit_staggered.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.00 / 3600.}'
P_out = 4.923e6 # Pa
pin_diameter = 0.00950
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadSubChannelMeshGenerator
nx = 6
ny = 6
n_cells = 10
pitch = 0.0126
pin_diameter = ${pin_diameter}
side_gap = 0.00095
heated_length = 1.0
spacer_z = '0.0'
spacer_k = '0.0'
[]
[fuel_pins]
type = SCMQuadPinMeshGenerator
input = sub_channel
nx = 6
ny = 6
n_cells = 10
pitch = 0.0126
heated_length = 1.0
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
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 = sub_channel
[]
[mdot_in_bc]
type = SCMMassFlowRateAux
variable = mdot
boundary = inlet
area = S
mass_flux = report_mass_flux_inlet
execute_on = 'timestep_begin'
block = sub_channel
[]
[]
[Postprocessors]
[report_mass_flux_inlet]
type = Receiver
default = ${mass_flux_in}
[]
[total_pressure_drop]
type = SubChannelDelta
variable = P
execute_on = "timestep_end"
[]
[T1]
type = SubChannelPointValue
variable = T
index = 0
execute_on = "timestep_end"
height = 1
[]
[T2]
type = SubChannelPointValue
variable = T
index = 7
execute_on = "timestep_end"
height = 1
[]
[T3]
type = SubChannelPointValue
variable = T
index = 14
execute_on = "timestep_end"
height = 1
[]
[T4]
type = SubChannelPointValue
variable = T
index = 21
execute_on = "timestep_end"
height = 1
[]
[T5]
type = SubChannelPointValue
variable = T
index = 28
execute_on = "timestep_end"
height = 1
[]
[T6]
type = SubChannelPointValue
variable = T
index = 35
execute_on = "timestep_end"
height = 1
[]
[]
[Outputs]
csv = true
[]
[Executioner]
type = Steady
[]
(modules/subchannel/test/tests/positions/pin_positions.i)
###################################################
# Thermal-hydraulics parameters
###################################################
P_out = 758423 # Pa
###################################################
# Geometric parameters
###################################################
n_cells = 50
# units are cm - do not forget to convert to meter
scale_factor = 0.01
fuel_element_pitch = '${fparse 14.598*scale_factor}'
inter_assembly_gap = '${fparse 0.4*scale_factor}'
duct_thickness = '${fparse 0.3*scale_factor}'
fuel_pin_pitch = '${fparse 0.904*scale_factor}'
fuel_pin_diameter = '${fparse 0.8*scale_factor}'
wire_z_spacing = '${fparse 20.32*scale_factor}'
wire_diameter = '${fparse 0.103*scale_factor}'
n_rings = 9
# Reduced height for convenience
length_entry_fuel = '${fparse 20*scale_factor}'
length_heated_fuel = '${fparse 40*scale_factor}'
length_outlet_fuel = '${fparse 20*scale_factor}'
# height = '${fparse length_entry_fuel+length_heated_fuel+length_outlet_fuel}'
orifice_plate_height = '${fparse 5*scale_factor}'
duct_outside = '${fparse fuel_element_pitch - inter_assembly_gap}'
duct_inside = '${fparse duct_outside - 2 * duct_thickness}'
###################################################
[TriSubChannelMesh]
[sub_channel]
type = SCMTriSubChannelMeshGenerator
nrings = '${fparse n_rings}'
n_cells = ${n_cells}
flat_to_flat = '${fparse duct_inside}'
unheated_length_entry = '${fparse length_entry_fuel}'
heated_length = '${fparse length_heated_fuel}'
unheated_length_exit = '${fparse length_outlet_fuel}'
pin_diameter = '${fparse fuel_pin_diameter}'
pitch = '${fparse fuel_pin_pitch}'
dwire = '${fparse wire_diameter}'
hwire = '${fparse wire_z_spacing}'
spacer_z = '${fparse orifice_plate_height} ${fparse length_entry_fuel}'
spacer_k = '0.5 0.5'
[]
[fuel_pins]
type = SCMTriPinMeshGenerator
input = sub_channel
nrings = '${fparse n_rings}'
n_cells = ${n_cells}
unheated_length_entry = '${fparse length_entry_fuel}'
heated_length = '${fparse length_heated_fuel}'
unheated_length_exit = '${fparse length_outlet_fuel}'
pitch = '${fparse fuel_pin_pitch}'
[]
[duct]
type = SCMTriDuctMeshGenerator
input = fuel_pins
nrings = '${fparse n_rings}'
n_cells = ${n_cells}
flat_to_flat = '${fparse duct_inside}'
unheated_length_entry = '${fparse length_entry_fuel}'
heated_length = '${fparse length_heated_fuel}'
unheated_length_exit = '${fparse length_outlet_fuel}'
pitch = '${fparse fuel_pin_pitch}'
[]
[]
[AuxVariables]
[mdot]
block = sub_channel
[]
[SumWij]
block = sub_channel
[]
[P]
block = sub_channel
initial_condition = 0
[]
[DP]
block = sub_channel
[]
[h]
block = sub_channel
[]
[T]
block = sub_channel
[]
[Tpin]
block = fuel_pins
[]
[Dpin]
block = fuel_pins
[]
[rho]
block = sub_channel
[]
[S]
block = sub_channel
[]
[w_perim]
block = sub_channel
[]
[displacement]
block = sub_channel
[]
[ff]
block = sub_channel
[]
[HTC]
block = sub_channel
[]
[q_prime]
block = fuel_pins
[]
[mu]
block = sub_channel
[]
[duct_heat_flux]
block = duct
initial_condition = 0
[]
[Tduct]
block = duct
[]
[]
[FluidProperties]
[sodium]
type = PBSodiumFluidProperties
[]
[]
[Problem]
type = TriSubChannel1PhaseProblem
fp = sodium
P_out = ${P_out}
solve = false
# Solver parameters
n_blocks = 10
implicit = false
segregated = true
staggered_pressure = false
# Tolerances
P_tol = 1.0e-4
T_tol = 1.0e-8
# Output
compute_density = true
compute_viscosity = true
compute_power = true
verbose_multiapps = true
verbose_subchannel = false
# friction model
friction_closure = 'cheng'
# HTC
pin_HTC_closure = Dittus-Boelter
duct_HTC_closure = Dittus-Boelter
# mixing model (beta)
mixing_closure = 'cheng_todreas'
[]
[SCMClosures]
[Cheng]
type = SCMFrictionUpdatedChengTodreas
[]
[Dittus-Boelter]
type = SCMHTCDittusBoelter
[]
[cheng_todreas]
type = SCMMixingChengTodreas
[]
[]
[SCMClosures]
[cheng]
type = SCMFrictionUpdatedChengTodreas
[]
[]
[Executioner]
type = Steady
[]
[Positions]
[pin_positions]
type = SCMPinPositions
outputs = json
[]
[]
[Outputs]
json = true
[]
(modules/subchannel/validation/psbt/psbt_ss/psbt.i)
# M. Avramova et al., 2012,
# OECD/NRC Benchmark Based on NUPEC PWR
# Sub-channel and Bundle Tests (PSBT). Volume III: Departure from Nucleate Boiling
# Case:01-5237
T_in = 502.35
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = ${fparse 1e+6 * 16.95 / 3600.}
P_out = 14.72e6 # Pa
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadSubChannelMeshGenerator
nx = 6
ny = 6
n_cells = 20
pitch = 0.0126
pin_diameter = 0.00950
side_gap = 0.00095
heated_length = 3.658
spacer_z = '0.0 0.229 0.457 0.686 0.914 1.143 1.372 1.600 1.829 2.057 2.286 2.515 2.743 2.972 3.200 3.429'
spacer_k = '0.7 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4 1.0 0.4'
[]
[fuel_pins]
type = SCMQuadPinMeshGenerator
input = sub_channel
nx = 6
ny = 6
n_cells = 20
pitch = 0.0126
heated_length = 3.658
[]
[]
[AuxVariables]
[mdot]
block = sub_channel
[]
[SumWij]
block = sub_channel
[]
[P]
block = sub_channel
[]
[DP]
block = sub_channel
[]
[h]
block = sub_channel
[]
[T]
block = sub_channel
[]
[Tpin]
block = fuel_pins
[]
[rho]
block = sub_channel
[]
[mu]
block = sub_channel
[]
[S]
block = sub_channel
[]
[w_perim]
block = sub_channel
[]
[q_prime]
block = fuel_pins
[]
[]
[FluidProperties]
[water]
type = Water97FluidProperties
[]
[]
[SubChannel]
type = QuadSubChannel1PhaseProblem
fp = water
n_blocks = 1
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/validation/PNNL_12_pin/steady_state/2X6_ss.i)
[GlobalParams]
######## Geometry #
nx = 7
ny = 3
n_cells = 48
n_blocks = 1
pitch = 0.014605
pin_diameter = 0.012065
side_gap = 0.0015875
heated_length = 1.2192
spacer_z = '0.0'
spacer_k = '0.0'
[]
######## BC's #################
T_in = 297.039 # K
P_out = 101325 # Pa
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadSubChannelMeshGenerator
[]
[fuel_pins]
type = SCMQuadPinMeshGenerator
input = sub_channel
[]
[]
[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 = SCMPinSolutionTransfer
to_multi_app = viz
variable = 'Tpin q_prime'
[]
[]
(modules/subchannel/test/tests/problems/heat_transfer_correlations/XX09_SCM_SS17.i)
# Following Benchmark Specifications and Data Requirements for EBR-II Shutdown Heat Removal Tests SHRT-17 and SHRT-45R
# Available at: https://publications.anl.gov/anlpubs/2012/06/73647.pdf
###################################################
# Steady state subchannel calcultion
# Thermal-hydraulics parameters
###################################################
T_in = 624.70556 #Kelvin
Total_Surface_Area = 0.000854322 #m2
Mass_In = 2.45 #kg/sec
mass_flux_in = '${fparse Mass_In / Total_Surface_Area}' #kg/m2
P_out = 2.0e5 #Pa
Power_initial = 486200 #W (Page 26,35 of ANL document)
###################################################
# Geometric parameters
###################################################
scale_factor = 0.01
fuel_pin_pitch = '${fparse 0.5664*scale_factor}'
fuel_pin_diameter = '${fparse 0.4419*scale_factor}'
wire_z_spacing = '${fparse 15.24*scale_factor}'
wire_diameter = '${fparse 0.1244*scale_factor}'
inner_duct_in = '${fparse 4.64*scale_factor}'
n_rings = 5
heated_length = '${fparse 34.3*scale_factor}'
unheated_length_exit = '${fparse 26.9*scale_factor}'
###################################################
[TriSubChannelMesh]
[sub_channel]
type = SCMTriSubChannelMeshGenerator
nrings = ${n_rings}
n_cells = 20
flat_to_flat = ${inner_duct_in}
unheated_length_exit = ${unheated_length_exit}
heated_length = ${heated_length}
pin_diameter = ${fuel_pin_diameter}
pitch = ${fuel_pin_pitch}
dwire = ${wire_diameter}
hwire = ${wire_z_spacing}
[]
[fuel_pins]
type = SCMTriPinMeshGenerator
input = sub_channel
nrings = ${n_rings}
n_cells = 20
unheated_length_exit = ${unheated_length_exit}
heated_length = ${heated_length}
pitch = ${fuel_pin_pitch}
[]
[duct]
type = SCMTriDuctMeshGenerator
input = fuel_pins
nrings = ${n_rings}
n_cells = 20
flat_to_flat = ${inner_duct_in}
unheated_length_exit = ${unheated_length_exit}
heated_length = ${heated_length}
pitch = ${fuel_pin_pitch}
[]
[]
[Functions]
[axial_heat_rate]
type = ParsedFunction
expression = '(pi/2)*sin(pi*z/L)*exp(-alpha*z)/(1.0/alpha*(1.0 - exp(-alpha*L)))*L'
symbol_names = 'L alpha'
symbol_values = '${heated_length} 1.8012'
[]
[]
[FluidProperties]
[sodium]
type = PBSodiumFluidProperties
[]
[]
[SubChannel]
type = TriSubChannel1PhaseProblem
fp = sodium
n_blocks = 1
P_out = ${P_out}
compute_density = true
compute_viscosity = true
compute_power = true
P_tol = 1.0e-4
T_tol = 1.0e-5
implicit = true
segregated = false
interpolation_scheme = 'upwind'
verbose_subchannel = true
friction_closure = 'cheng'
full_output = true
mixing_closure = 'cheng_todreas'
[]
[SCMClosures]
[cheng]
type = SCMFrictionUpdatedChengTodreas
[]
[dittus-boelter]
type = SCMHTCDittusBoelter
[]
[gnielinski]
type = SCMHTCGnielinski
[]
[kazimi-carelli]
type = SCMHTCKazimiCarelli
[]
[schad-modified]
type = SCMHTCSchadModified
[]
[graber-rieger]
type = SCMHTCGraberRieger
[]
[borishanskii]
type = SCMHTCBorishanskii
[]
[cheng_todreas]
type = SCMMixingChengTodreas
CT = 2.6
[]
[]
# Keep T manually declared and unrestricted so this legacy regression continues
# to compare against the pre-scoped AuxVariable golds. The automatic
# SubChannelAddVariablesAction path remains block-restricted for normal inputs.
[AuxVariables]
[T]
[]
[]
[ICs]
[q_prime_IC]
type = SCMTriPowerIC
variable = q_prime
power = ${Power_initial}
filename = "pin_power_profile61_uniform.txt"
axial_heat_rate = axial_heat_rate
[]
[T_ic]
type = ConstantIC
variable = T
value = ${T_in}
[]
[P_ic]
type = ConstantIC
variable = P
value = 0.0
[]
[DP_ic]
type = ConstantIC
variable = DP
value = 0.0
[]
[Viscosity_ic]
type = ViscosityIC
variable = mu
p = ${P_out}
T = T
fp = sodium
[]
[rho_ic]
type = RhoFromPressureTemperatureIC
variable = rho
p = ${P_out}
T = T
fp = sodium
[]
[h_ic]
type = SpecificEnthalpyFromPressureTemperatureIC
variable = h
p = ${P_out}
T = T
fp = sodium
[]
[mdot_ic]
type = ConstantIC
variable = mdot
value = 0.0
[]
[]
[AuxKernels]
[T_in_bc]
type = ConstantAux
variable = T
boundary = inlet
value = ${T_in}
execute_on = 'timestep_begin'
block = sub_channel
[]
[mdot_in_bc]
type = SCMMassFlowRateAux
variable = mdot
boundary = inlet
area = S
mass_flux = ${mass_flux_in}
execute_on = 'timestep_begin'
[]
[]
[Outputs]
csv = true
[]
[Postprocessors]
### Central pin inlet temperature
[Pin_Temp_0_Inlet]
type = SCMPinSurfaceTemperature
index = 0
height = ${fparse heated_length*0.01}
[]
### Central pin center temperature
[Pin_Temp_1_Center]
type = SCMPinSurfaceTemperature
index = 0
height = ${fparse heated_length*0.5}
[]
### Central pin outlet temperature
[Pin_Temp_2_Outlet]
type = SCMPinSurfaceTemperature
index = 0
height = ${fparse heated_length*0.99}
[]
[]
[Executioner]
type = Steady
[]
(modules/subchannel/examples/mesh_generator/psbt_mesh_generator_test.i)
T_in = 359.15
# [1e+6 kg/m^2-hour] turns into kg/m^2-sec
mass_flux_in = '${fparse 1e+6 * 17.0 / 3600.}'
P_out = 4.923e6 # Pa
[QuadSubChannelMesh]
[sub_channel]
type = SCMQuadSubChannelMeshGenerator
nx = 6
ny = 6
n_cells = 20
pitch = 0.0126
pin_diameter = 0.00950
side_gap = 0.00095
heated_length = 1.00
spacer_z = '0.5'
spacer_k = '0.5'
[]
[fuel_pins]
type = SCMQuadPinMeshGenerator
input = sub_channel
nx = 6
ny = 6
n_cells = 20
pitch = 0.0126
heated_length = 1.00
[]
[]
[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'
[]
[]