- TPrescribed temperature [K]
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:Yes
Description:Prescribed temperature [K]
- boundaryList of boundary names for which this component applies
C++ Type:std::vector<BoundaryName>
Controllable:No
Description:List of boundary names for which this component applies
- hsHeat structure name
C++ Type:std::string
Controllable:No
Description:Heat structure name
HSBoundarySpecifiedTemperature
This component is a heat structure boundary that applies Dirichlet boundary conditions.
Usage
The parameter "hs" specifies the name of the heat structure component, and "boundary" is a list of boundary names on the heat structure where the boundary condition is to be applied.
The parameter "T" specifies the temperature function Tb to strongly impose on the boundary.
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:No
Description:Set the enabled status of the MooseObject.
Advanced Parameters
Formulation
For Dirichlet conditions on the boundary Γ, the temperature is set to a known temperature function Tb:
T=Tbx∈Γ.Input Files
- (modules/thermal_hydraulics/test/tests/components/heat_structure_base/err.no_T_ic.i)
- (modules/thermal_hydraulics/test/tests/components/heat_structure_cylindrical/steady.i)
- (modules/thermal_hydraulics/test/tests/components/heat_structure_cylindrical/part_base.i)
- (modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_transfer_from_heat_structure_3d/test.i)
- (modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_structure_3d/test.i)
- (modules/thermal_hydraulics/test/tests/components/geometrical_component/err.2nd_order.i)
- (modules/thermal_hydraulics/test/tests/misc/restart_1phase/test.i)
- (modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_structure/steady_state.i)
- (modules/thermal_hydraulics/test/tests/components/file_mesh_component/file_mesh_component.i)
- (modules/thermal_hydraulics/test/tests/components/heat_structure_base/err.no_2nd_order_with_trap.i)
- (modules/thermal_hydraulics/test/tests/components/heat_structure_from_file_3d/phy.standalone.i)
- (modules/thermal_hydraulics/test/tests/components/heat_structure_base/phy.sub_discretization.i)
- (modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_structure_3d/steady_state.i)
- (modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_transfer_from_heat_structure/test.i)
- (modules/thermal_hydraulics/test/tests/components/heat_structure_base/phy.variable_init_t.i)
- (modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_structure/test.i)
- (modules/thermal_hydraulics/test/tests/components/hs_boundary_specified_temperature/err.no_bnd.i)
- (modules/thermal_hydraulics/test/tests/components/heat_structure_base/2nd_order.i)
- (modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_transfer_from_heat_structure/steady_state.i)
- (modules/thermal_hydraulics/test/tests/components/heat_structure_plate/part_base.i)
- (modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_transfer_from_heat_structure_3d/steady_state.i)
hs
C++ Type:std::string
Controllable:No
Description:Heat structure name
boundary
C++ Type:std::vector<BoundaryName>
Controllable:No
Description:List of boundary names for which this component applies
T
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:Yes
Description:Prescribed temperature [K]
(modules/thermal_hydraulics/test/tests/components/heat_structure_base/err.no_T_ic.i)
# Tests that error is generated when no initial temperature function is provided
# when not restarting.
[GlobalParams]
[]
[SolidProperties]
[fuel-mat]
type = ThermalFunctionSolidProperties
k = 3.65
cp = 288.734
rho = 1.0412e2
[]
[gap-mat]
type = ThermalFunctionSolidProperties
k = 1.084498
cp = 1.0
rho = 1.0
[]
[clad-mat]
type = ThermalFunctionSolidProperties
k = 16.48672
cp = 321.384
rho = 6.6e1
[]
[]
[Components]
[reactor]
type = TotalPower
power = 296153.84615384615385
[]
[hs]
type = HeatStructureCylindrical
position = '0 0 0'
orientation = '1 0 0'
length = 1
n_elems = 1
names = 'FUEL GAP CLAD'
widths = '0.0046955 0.0000955 0.000673'
n_part_elems = '1 1 1'
solid_properties = 'fuel-mat gap-mat clad-mat'
solid_properties_T_ref = '300 300 300'
[]
[temp_outside]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = hs:outer
T = 600
[]
[]
[Preconditioning]
[SMP_PJFNK]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
dt = 0.1
dtmin = 1e-1
solve_type = 'PJFNK'
nl_rel_tol = 1e-6
nl_abs_tol = 1e-6
nl_max_its = 30
l_tol = 1e-4
l_max_its = 300
start_time = 0.0
end_time = 2.0
[]
(modules/thermal_hydraulics/test/tests/components/heat_structure_cylindrical/steady.i)
# Tests that cylindrical heat structure geometry can be used with a steady executioner.
[Functions]
[power_profile_fn]
type = ParsedFunction
expression = '1.570796326794897 * sin(x / 3.6576 * pi)'
[]
[]
[SolidProperties]
[fuel_sp]
type = ThermalFunctionSolidProperties
rho = 1.0412e2
cp = 288.734
k = 3.65
[]
[gap_sp]
type = ThermalFunctionSolidProperties
rho = 1.0
cp = 1.0
k = 1.084498
[]
[clad_sp]
type = ThermalFunctionSolidProperties
rho = 6.6e1
cp = 321.384
k = 16.48672
[]
[]
[Components]
[reactor]
type = TotalPower
power = 296153.84615384615385
[]
[hs]
type = HeatStructureCylindrical
position = '0 0 1'
orientation = '1 0 0'
length = 3.6576
n_elems = 20
names = 'FUEL GAP CLAD'
widths = '0.0046955 0.0000955 0.000673'
n_part_elems = '3 1 1'
solid_properties = 'fuel_sp gap_sp clad_sp'
solid_properties_T_ref = '300 300 300'
initial_T = 564.15
[]
[hg]
type = HeatSourceFromTotalPower
hs = hs
regions = 'FUEL'
power_fraction = 3.33672612e-1
power = reactor
power_shape_function = power_profile_fn
[]
[temp_outside]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = hs:outer
T = 600
[]
[]
[Preconditioning]
[pc]
type = SMP
full = true
[]
[]
[Executioner]
type = Steady
solve_type = 'NEWTON'
nl_rel_tol = 1e-6
nl_abs_tol = 1e-6
nl_max_its = 30
l_tol = 1e-4
l_max_its = 300
[]
[Outputs]
[out]
type = Exodus
[]
[console]
type = Console
execute_scalars_on = none
[]
[]
(modules/thermal_hydraulics/test/tests/components/heat_structure_cylindrical/part_base.i)
[Functions]
[power_profile_fn]
type = ParsedFunction
expression = '1.570796326794897 * sin(x / 3.6576 * pi)'
[]
[]
[Components]
[reactor]
type = TotalPower
power = 296153.84615384615385
[]
[hs]
type = HeatStructureCylindrical
position = '0 0 1'
orientation = '1 0 0'
length = 3.6576
n_elems = 20
names = 'FUEL GAP CLAD'
widths = '0.0046955 0.0000955 0.000673'
n_part_elems = '3 1 1'
initial_T = 564.15
[]
[hg]
type = HeatSourceFromTotalPower
hs = hs
regions = 'FUEL'
power_fraction = 3.33672612e-1
power = reactor
power_shape_function = power_profile_fn
[]
[temp_outside]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = hs:outer
T = 600
[]
[]
[Preconditioning]
[pc]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
start_time = 0
dt = 2
num_steps = 10
abort_on_solve_fail = true
solve_type = 'NEWTON'
nl_rel_tol = 1e-6
nl_abs_tol = 1e-6
nl_max_its = 30
l_tol = 1e-4
l_max_its = 300
[]
[Outputs]
file_base = transient
exodus = true
[console]
type = Console
execute_scalars_on = none
[]
[]
(modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_transfer_from_heat_structure_3d/test.i)
[GlobalParams]
scaling_factor_1phase = '1. 1.e-2 1.e-4'
scaling_factor_temperature = 1e-2
initial_from_file = 'steady_state_out.e'
closures = simple_closures
[]
[FluidProperties]
[fp]
type = StiffenedGasFluidProperties
gamma = 2.35
cv = 1816.0
q = -1.167e6
p_inf = 1.0e9
q_prime = 0
k = 0.5
mu = 281.8e-6
[]
[]
[Closures]
[simple_closures]
type = Closures1PhaseSimple
[]
[]
[Materials]
[mat]
type = ADGenericConstantMaterial
prop_names = 'density specific_heat thermal_conductivity'
prop_values = '16 356 6.5514e3'
[]
[]
[Functions]
[Ts_bc]
type = ParsedFunction
expression = '2*sin(x*pi/2)+2*sin(pi*y) +507'
[]
[]
[Components]
[pipe]
type = FlowChannel1Phase
fp = fp
# geometry
position = '-1 0 -2.5'
orientation = '1 0 0'
length = 2
n_elems = 2
A = 0.3
D_h = 0.1935483871
f = 0.1
[]
[inlet]
type = InletMassFlowRateTemperature1Phase
input = 'pipe:in'
m_dot = 0.1
T = 500
[]
[outlet]
type = Outlet1Phase
input = 'pipe:out'
p = 6e6
[]
[ht]
type = HeatTransferFromHeatStructure3D1Phase
flow_channels = 'pipe'
hs = blk
boundary = blk:right
P_hf = 3
Hw = 1000
[]
[blk]
type = HeatStructureFromFile3D
file = box.e
position = '0 0 0'
[]
[right_bnd]
type = HSBoundarySpecifiedTemperature
hs = blk
boundary = blk:bottom
T = Ts_bc
[]
[]
[Executioner]
type = Transient
dt = 1
num_steps = 1
abort_on_solve_fail = true
solve_type = 'NEWTON'
line_search = 'basic'
nl_rel_tol = 1e-7
nl_abs_tol = 1e-8
nl_max_its = 10
l_tol = 1e-3
l_max_its = 100
[]
[Outputs]
exodus = true
execute_on = 'initial'
[]
(modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_structure_3d/test.i)
[GlobalParams]
initial_from_file = 'steady_state_out.e'
[]
[Materials]
[mat]
type = ADGenericConstantMaterial
prop_names = 'density specific_heat thermal_conductivity'
prop_values = '16 356 6.5514e3'
[]
[]
[Functions]
[Ts_bc]
type = ParsedFunction
expression = '2*sin(x*pi/2)+2*sin(pi*y) +507'
[]
[]
[Components]
[blk]
type = HeatStructureFromFile3D
file = box.e
position = '0 0 0'
[]
[right_bnd]
type = HSBoundarySpecifiedTemperature
hs = blk
boundary = blk:right
T = Ts_bc
[]
[]
[Executioner]
type = Transient
dt = 1
num_steps = 1
abort_on_solve_fail = true
solve_type = 'NEWTON'
line_search = 'basic'
nl_rel_tol = 1e-7
nl_abs_tol = 1e-8
nl_max_its = 10
l_tol = 1e-3
l_max_its = 100
[]
[Outputs]
exodus = true
execute_on = 'initial'
[]
(modules/thermal_hydraulics/test/tests/components/geometrical_component/err.2nd_order.i)
[GlobalParams]
gravity_vector = '0 0 0'
initial_p = 1e6
initial_T = 353.1
initial_vel = 0.0
2nd_order_mesh = true
closures = simple_closures
[]
[Closures]
[simple_closures]
type = Closures1PhaseSimple
[]
[]
[SolidProperties]
[hs-mat]
type = ThermalFunctionSolidProperties
k = 1
cp = 1
rho = 1
[]
[]
[Components]
[hs]
type = HeatStructureCylindrical
position = '0 0 0'
orientation = '1 0 0'
length = 1
n_elems = 2
names = 'blk'
widths = '1'
n_part_elems = '2'
solid_properties = 'hs-mat'
solid_properties_T_ref = '300'
initial_T = 350
[]
[start]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = hs:start
T = 300
[]
[]
[Preconditioning]
[pc]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
dt = 0.1
dtmin = 1.e-7
solve_type = 'PJFNK'
line_search = 'basic'
nl_rel_tol = 1e-5
nl_abs_tol = 1e-6
nl_max_its = 30
l_tol = 1e-3
l_max_its = 100
start_time = 0.0
end_time = 4.0
[Quadrature]
type = TRAP
order = FIRST
[]
[]
[Outputs]
[out]
type = Exodus
[]
[]
(modules/thermal_hydraulics/test/tests/misc/restart_1phase/test.i)
[GlobalParams]
gravity_vector = '0 0 0'
closures = simple_closures
[]
[FluidProperties]
[eos]
type = StiffenedGasFluidProperties
gamma = 2.35
q = -1167e3
q_prime = 0
p_inf = 1.e9
cv = 1816
[]
[]
[Closures]
[simple_closures]
type = Closures1PhaseSimple
[]
[]
[SolidProperties]
[mat1]
type = ThermalFunctionSolidProperties
k = 16
cp = 356.
rho = 6.551400E+03
[]
[]
[Functions]
[Ts_init]
type = ParsedFunction
expression = '2*sin(x*pi)+507'
[]
[]
[Components]
[pipe1]
type = FlowChannel1Phase
fp = eos
# geometry
position = '0 0 0'
orientation = '1 0 0'
length = 1
n_elems = 5
A = 1.907720E-04
D_h = 1.698566E-02
f = 0.1
[]
[jct1]
type = VolumeJunction1Phase
connections = 'pipe1:out pipe2:in'
position = '1 0 0'
volume = 1e-5
[]
[pipe2]
type = FlowChannel1Phase
fp = eos
# geometry
position = '1 0 0'
orientation = '1 0 0'
length = 1
n_elems = 5
A = 1.907720E-04
D_h = 1.698566E-02
f = 0.1
[]
[jct2]
type = VolumeJunction1Phase
connections = 'pipe2:out pipe3:in'
position = '2 0 0'
volume = 1e-5
[]
[pipe3]
type = FlowChannel1Phase
fp = eos
# geometry
position = '2 0 0'
orientation = '1 0 0'
length = 1
n_elems = 5
A = 1.907720E-04
D_h = 1.698566E-02
f = 0.1
[]
[hs]
type = HeatStructureCylindrical
position = '1 0.01 0'
orientation = '1 0 0'
length = 1
n_elems = 5
names = '0'
n_part_elems = 1
solid_properties = 'mat1'
solid_properties_T_ref = '300'
widths = 0.1
[]
[temp_outside]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = hs:outer
T = Ts_init
[]
[inlet]
type = InletVelocityTemperature1Phase
input = 'pipe1:in'
T = 507
vel = 1
[]
[outlet]
type = Outlet1Phase
input = 'pipe3:out'
p = 6e6
[]
[hx3ext]
type = HeatTransferFromExternalAppTemperature1Phase
flow_channel = pipe3
P_hf = 0.0449254
Hw = 100000
[]
[]
[Preconditioning]
[SMP_PJFNK]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
dt = 0.01
num_steps = 5
abort_on_solve_fail = true
solve_type = 'newton'
line_search = 'basic'
nl_rel_tol = 1e-8
nl_abs_tol = 1e-8
nl_max_its = 10
l_tol = 1e-3
l_max_its = 100
automatic_scaling = true
petsc_options_iname = '-pc_type'
petsc_options_value = ' lu'
[]
[Outputs]
exodus = true
velocity_as_vector = false
[]
(modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_structure/steady_state.i)
[SolidProperties]
[mat1]
type = ThermalFunctionSolidProperties
k = 16
cp = 356.
rho = 6.551400E+03
[]
[]
[Functions]
[Ts_init]
type = ParsedFunction
expression = '2*sin(x*pi)+507'
[]
[]
[Components]
[hs]
type = HeatStructureCylindrical
position = '1 0 0'
orientation = '1 0 0'
length = 1
n_elems = 3
names = 'wall'
n_part_elems = 1
solid_properties = 'mat1'
solid_properties_T_ref = '300'
widths = 0.1
initial_T = Ts_init
[]
[temp_outside]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = hs:outer
T = Ts_init
[]
[]
[Preconditioning]
[pc]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
start_time = 0
dt = 1
num_steps = 100
abort_on_solve_fail = true
solve_type = 'NEWTON'
line_search = 'basic'
nl_rel_tol = 1e-7
nl_abs_tol = 1e-8
nl_max_its = 10
l_tol = 1e-3
l_max_its = 100
[]
[Outputs]
exodus = true
execute_on = 'initial final'
velocity_as_vector = false
[]
(modules/thermal_hydraulics/test/tests/components/file_mesh_component/file_mesh_component.i)
# This test solves two identical heat conduction problems, one created with THM
# components, and one with the constituent lower-level objects and FileMeshComponent.
rho = 8000
cp = 500
k = 15
initial_T = 1000
T_left = 1005
T_right = 300
htc_right = 1000
[Variables]
[T_moose]
block = 'hs_external:block_a'
initial_condition = ${initial_T}
[]
[]
[Kernels]
[time_derivative]
type = ADHeatConductionTimeDerivative
variable = T_moose
block = 'hs_external:block_a'
density_name = density
specific_heat = specific_heat
[]
[heat_conduction]
type = ADHeatConduction
variable = T_moose
block = 'hs_external:block_a'
thermal_conductivity = thermal_conductivity
[]
[]
[BCs]
[dirichlet_bc]
type = ADFunctionDirichletBC
variable = T_moose
boundary = 'hs_external:left'
function = ${T_left}
[]
[convection_bc]
type = ADConvectionHeatTransferBC
variable = T_moose
boundary = 'hs_external:right'
T_ambient = ${T_right}
htc_ambient = ${htc_right}
[]
[]
[Materials]
[prop_mat]
type = ADGenericConstantMaterial
prop_names = 'density specific_heat thermal_conductivity'
prop_values = '${rho} ${cp} ${k}'
[]
[]
[Components]
[hs_external]
type = FileMeshComponent
file = 'mesh_in.e'
position = '0 0 0'
[]
[hs]
type = HeatStructurePlate
position = '0 0 0'
orientation = '1 0 0'
length = 5.0
n_elems = 10
names = 'blk'
widths = '1.0'
n_part_elems = '2'
depth = 1.0
initial_T = ${initial_T}
[]
[start]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = 'hs:start'
T = ${T_left}
[]
[end]
type = HSBoundaryAmbientConvection
hs = hs
boundary = 'hs:end'
T_ambient = ${T_right}
htc_ambient = ${htc_right}
[]
[]
# Currently, there is no way to have a variable of the same name created in THM
# as one in MOOSE, even though they are on different blocks. Thus, we create a
# common variable name here and copy both variables into it for output.
[AuxVariables]
[T]
[]
[]
[AuxKernels]
[T_moose_ak]
type = CopyValueAux
variable = T
block = 'hs_external:block_a'
source = T_moose
execute_on = 'INITIAL TIMESTEP_END'
[]
[T_thm_ak]
type = CopyValueAux
variable = T
block = 'hs:blk'
source = T_solid
execute_on = 'INITIAL TIMESTEP_END'
[]
[]
[Preconditioning]
[pc]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
start_time = 0
dt = 1.0
num_steps = 5
abort_on_solve_fail = true
solve_type = 'NEWTON'
[]
[Outputs]
[exodus]
type = Exodus
file_base = 'file_mesh_component'
show = 'T'
[]
[]
(modules/thermal_hydraulics/test/tests/components/heat_structure_base/err.no_2nd_order_with_trap.i)
[GlobalParams]
initial_p = 15.17e6
initial_vel = 1.
initial_T = 564.15
2nd_order_mesh = true
[]
[SolidProperties]
[fuel-mat]
type = ThermalFunctionSolidProperties
k = 3.65
cp = 288.734
rho = 1.0412e2
[]
[gap-mat]
type = ThermalFunctionSolidProperties
k = 1.084498
cp = 1.0
rho = 1.0
[]
[clad-mat]
type = ThermalFunctionSolidProperties
k = 16.48672
cp = 321.384
rho = 6.6e1
[]
[]
[Components]
[reactor]
type = TotalPower
power = 296153.84615384615385
[]
[hs]
type = HeatStructureCylindrical
position = '0 0 0'
orientation = '1 0 0'
length = 1
n_elems = 1
names = 'FUEL GAP CLAD'
widths = '0.0046955 0.0000955 0.000673'
n_part_elems = '1 1 1'
solid_properties = 'fuel-mat gap-mat clad-mat'
solid_properties_T_ref = '300 300 300'
initial_T = 564.15
[]
[hg]
type = HeatSourceFromTotalPower
hs = hs
regions = 'FUEL'
power_fraction = 3.33672612e-1
power = reactor
[]
[temp_outside]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = hs:outer
T = 600
[]
[]
[Preconditioning]
[SMP_PJFNK]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
dt = 0.1
dtmin = 1e-1
solve_type = 'PJFNK'
nl_rel_tol = 1e-6
nl_abs_tol = 1e-6
nl_max_its = 30
l_tol = 1e-4
l_max_its = 300
start_time = 0.0
end_time = 2.0
[Quadrature]
type = TRAP
order = FIRST
[]
[]
(modules/thermal_hydraulics/test/tests/components/heat_structure_from_file_3d/phy.standalone.i)
[Materials]
[mat]
type = ADGenericConstantMaterial
prop_names = 'density specific_heat thermal_conductivity'
prop_values = '1 1 1'
[]
[]
[Components]
[blk]
type = HeatStructureFromFile3D
file = box.e
position = '0 0 0'
initial_T = 300
[]
[left_bnd]
type = HSBoundarySpecifiedTemperature
hs = blk
boundary = blk:left
T = 300
[]
[right_bnd]
type = HSBoundarySpecifiedTemperature
hs = blk
boundary = blk:right
T = 310
[]
[]
[Executioner]
type = Transient
dt = 0.1
num_steps = 1
abort_on_solve_fail = true
[]
[Outputs]
exodus = true
[]
(modules/thermal_hydraulics/test/tests/components/heat_structure_base/phy.sub_discretization.i)
#
# Testing the ability to discretize the HeatStructure by dividing it into
# axial subsections
#
[GlobalParams]
[]
[SolidProperties]
[fuel-mat]
type = ThermalFunctionSolidProperties
k = 3.65
cp = 288.734
rho = 1.0412e2
[]
[gap-mat]
type = ThermalFunctionSolidProperties
k = 1.084498
cp = 1.0
rho = 1.0
[]
[clad-mat]
type = ThermalFunctionSolidProperties
k = 16.48672
cp = 321.384
rho = 6.6e1
[]
[]
[Components]
[hs]
type = HeatStructureCylindrical
position = '0 0 1'
orientation = '1 0 0'
axial_region_names = 'reg1 reg2'
length = '2.0 1.6576'
n_elems = '7 4'
names = 'FUEL GAP CLAD'
widths = '0.0046955 0.0000955 0.000673'
n_part_elems = '10 3 3'
solid_properties = 'fuel-mat gap-mat clad-mat'
solid_properties_T_ref = '300 300 300'
initial_T = 300
[]
[temp_outside]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = hs:outer
T = 300
[]
[]
[Preconditioning]
[SMP_PJFNK]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
start_time = 0
dt = 1
num_steps = 1
abort_on_solve_fail = true
solve_type = 'PJFNK'
nl_rel_tol = 1e-6
nl_abs_tol = 1e-6
nl_max_its = 30
l_tol = 1e-4
l_max_its = 300
[]
[Outputs]
[out]
type = Exodus
[]
[console]
type = Console
execute_scalars_on = none
[]
[]
(modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_structure_3d/steady_state.i)
[Materials]
[mat]
type = ADGenericConstantMaterial
prop_names = 'density specific_heat thermal_conductivity'
prop_values = '16 356 6.5514e3'
[]
[]
[Functions]
[Ts_init]
type = ParsedFunction
expression = '2*sin(x*pi/2)+2*sin(pi*y) +507'
[]
[]
[Components]
[blk]
type = HeatStructureFromFile3D
file = box.e
position = '0 0 0'
initial_T = Ts_init
[]
[right_bnd]
type = HSBoundarySpecifiedTemperature
hs = blk
boundary = blk:right
T = Ts_init
[]
[]
[Executioner]
type = Transient
dt = 1
num_steps = 100
abort_on_solve_fail = true
solve_type = 'NEWTON'
line_search = 'basic'
nl_rel_tol = 1e-7
nl_abs_tol = 1e-8
nl_max_its = 10
l_tol = 1e-3
l_max_its = 100
[]
[Outputs]
exodus = true
execute_on = 'initial final'
[]
(modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_transfer_from_heat_structure/test.i)
# Test that the initial conditions read from the exodus file are correct
[GlobalParams]
scaling_factor_1phase = '1. 1.e-2 1.e-4'
scaling_factor_temperature = 1e-2
closures = simple_closures
initial_from_file = 'steady_state_out.e'
[]
[FluidProperties]
[fp]
type = StiffenedGasFluidProperties
gamma = 2.35
cv = 1816.0
q = -1.167e6
p_inf = 1.0e9
q_prime = 0
k = 0.5
mu = 281.8e-6
[]
[]
[Closures]
[simple_closures]
type = Closures1PhaseSimple
[]
[]
[SolidProperties]
[mat1]
type = ThermalFunctionSolidProperties
k = 16
cp = 356.
rho = 6.551400E+03
[]
[]
[Functions]
[Ts_bc]
type = ParsedFunction
expression = '2*sin(x*pi)+507'
[]
[]
[Components]
[pipe]
type = FlowChannel1Phase
fp = fp
# geometry
position = '0 0 0'
orientation = '1 0 0'
length = 1
n_elems = 3
A = 1.907720E-04
D_h = 1.698566E-02
f = 0.1
[]
[hs]
type = HeatStructureCylindrical
position = '0 0 0'
orientation = '1 0 0'
length = 1
n_elems = 3
names = 'wall'
n_part_elems = 1
solid_properties = 'mat1'
solid_properties_T_ref = '300'
inner_radius = 0.01
widths = 0.1
[]
[ht]
type = HeatTransferFromHeatStructure1Phase
flow_channel = pipe
hs = hs
hs_side = INNER
Hw = 10000
[]
[temp_outside]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = hs:outer
T = Ts_bc
[]
[inlet]
type = InletMassFlowRateTemperature1Phase
input = 'pipe:in'
m_dot = 0.1
T = 500
[]
[outlet]
type = Outlet1Phase
input = 'pipe:out'
p = 6e6
[]
[]
[Preconditioning]
[pc]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
start_time = 0
dt = 1
num_steps = 1
abort_on_solve_fail = true
solve_type = 'NEWTON'
line_search = 'basic'
nl_rel_tol = 1e-7
nl_abs_tol = 1e-8
nl_max_its = 10
l_tol = 1e-3
l_max_its = 100
petsc_options_iname = '-pc_type'
petsc_options_value = ' lu'
[]
[Outputs]
exodus = true
execute_on = 'initial'
velocity_as_vector = false
[]
(modules/thermal_hydraulics/test/tests/components/heat_structure_base/phy.variable_init_t.i)
# Tests that a function can be used to initialize temperature in a heat structure.
[GlobalParams]
[]
[Functions]
[fn-initial_T]
type = ParsedFunction
expression = 'baseT + (dT * sin((pi * x) / length))'
symbol_names = 'baseT dT length'
symbol_values = '560.0 30.0 3.6576'
[]
[]
[SolidProperties]
[fuel-mat]
type = ThermalFunctionSolidProperties
k = 3.65
cp = 288.734
rho = 1.0412e2
[]
[gap-mat]
type = ThermalFunctionSolidProperties
k = 0.1
cp = 1.0
rho = 1.0
[]
[clad-mat]
type = ThermalFunctionSolidProperties
k = 16.48672
cp = 321.384
rho = 6.6e1
[]
[]
[Components]
[hs]
type = HeatStructureCylindrical
position = '0 0 0'
orientation = '1 0 0'
length = 3.6576
n_elems = 100
names = 'FUEL GAP CLAD'
widths = '0.0046955 0.0000955 0.000673'
n_part_elems = '10 3 3'
solid_properties = 'fuel-mat gap-mat clad-mat'
solid_properties_T_ref = '300 300 300'
initial_T = fn-initial_T
[]
[temp_outside]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = hs:outer
T = 580.0
[]
[]
[Preconditioning]
[SMP_PJFNK]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
start_time = 0
dt = 0.01
num_steps = 10
abort_on_solve_fail = true
solve_type = 'PJFNK'
nl_rel_tol = 1e-5
nl_abs_tol = 1e-6
nl_max_its = 8
l_tol = 1e-4
l_max_its = 10
[]
[Outputs]
[out]
type = Exodus
[]
[console]
type = Console
execute_scalars_on = none
[]
[]
(modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_structure/test.i)
# Test that the initial conditions read from the exodus file are correct
[GlobalParams]
initial_from_file = 'steady_state_out.e'
[]
[SolidProperties]
[mat1]
type = ThermalFunctionSolidProperties
k = 16
cp = 356.
rho = 6.551400E+03
[]
[]
[Functions]
[Ts_bc]
type = ParsedFunction
expression = '2*sin(x*pi)+507'
[]
[]
[Components]
[hs]
type = HeatStructureCylindrical
position = '1 0 0'
orientation = '1 0 0'
length = 1
n_elems = 3
names = 'wall'
n_part_elems = 1
solid_properties = 'mat1'
solid_properties_T_ref = '300'
widths = 0.1
[]
[temp_outside]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = hs:outer
T = Ts_bc
[]
[]
[Preconditioning]
[pc]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
start_time = 0
dt = 1
num_steps = 1
abort_on_solve_fail = true
solve_type = 'NEWTON'
line_search = 'basic'
nl_rel_tol = 1e-7
nl_abs_tol = 1e-8
nl_max_its = 10
l_tol = 1e-3
l_max_its = 100
[]
[Outputs]
exodus = true
execute_on = 'initial'
velocity_as_vector = false
[]
(modules/thermal_hydraulics/test/tests/components/hs_boundary_specified_temperature/err.no_bnd.i)
[SolidProperties]
[hs_mat]
type = ThermalFunctionSolidProperties
rho = 1
cp = 2
k = 3
[]
[]
[Components]
[hs]
type = HeatStructureCylindrical
orientation = '1 0 0'
position = '0 0 0'
length = 1
n_elems = 2
names = 'blk'
widths = '0.1'
n_part_elems = '1'
solid_properties = 'hs_mat'
solid_properties_T_ref = '300'
initial_T = 300
[]
[hs_boundary]
type = HSBoundarySpecifiedTemperature
boundary = 'hs:inner'
hs = hs
T = 300
[]
[]
[Executioner]
type = Transient
dt = 0.1
num_steps = 1
[]
(modules/thermal_hydraulics/test/tests/components/heat_structure_base/2nd_order.i)
# This tests ensures that 2nd-order meshes can be used; it checks for the
# "Solve Converged" string at the end of a time step.
[GlobalParams]
2nd_order_mesh = true
[]
[SolidProperties]
[fuel-mat]
type = ThermalFunctionSolidProperties
k = 3.65
cp = 288.734
rho = 1.0412e2
[]
[gap-mat]
type = ThermalFunctionSolidProperties
k = 1.084498
cp = 1.0
rho = 1.0
[]
[clad-mat]
type = ThermalFunctionSolidProperties
k = 16.48672
cp = 321.384
rho = 6.6e1
[]
[]
[Components]
[reactor]
type = TotalPower
power = 296153.84615384615385
[]
[hs]
type = HeatStructureCylindrical
position = '0 0 0'
orientation = '1 0 0'
length = 1
n_elems = 1
names = 'FUEL GAP CLAD'
widths = '0.0046955 0.0000955 0.000673'
n_part_elems = '1 1 1'
solid_properties = 'fuel-mat gap-mat clad-mat'
solid_properties_T_ref = '300 300 300'
initial_T = 564.15
[]
[hg]
type = HeatSourceFromTotalPower
hs = hs
regions = 'FUEL'
power_fraction = 3.33672612e-1
power = reactor
[]
[temp_outside]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = hs:outer
T = 600
[]
[]
[Preconditioning]
[SMP_PJFNK]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
start_time = 0
dt = 0.1
num_steps = 1
abort_on_solve_fail = true
solve_type = 'PJFNK'
nl_rel_tol = 1e-6
nl_abs_tol = 1e-6
nl_max_its = 30
l_tol = 1e-4
l_max_its = 300
[]
(modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_transfer_from_heat_structure/steady_state.i)
[GlobalParams]
scaling_factor_1phase = '1. 1.e-2 1.e-4'
scaling_factor_temperature = 1e-2
initial_T = 500
initial_p = 6.e6
initial_vel = 0
closures = simple_closures
[]
[FluidProperties]
[fp]
type = StiffenedGasFluidProperties
gamma = 2.35
cv = 1816.0
q = -1.167e6
p_inf = 1.0e9
q_prime = 0
k = 0.5
mu = 281.8e-6
[]
[]
[Closures]
[simple_closures]
type = Closures1PhaseSimple
[]
[]
[SolidProperties]
[mat1]
type = ThermalFunctionSolidProperties
k = 16
cp = 356.
rho = 6.551400E+03
[]
[]
[Functions]
[Ts_init]
type = ParsedFunction
expression = '2*sin(x*pi)+507'
[]
[]
[Components]
[pipe]
type = FlowChannel1Phase
fp = fp
# geometry
position = '0 0 0'
orientation = '1 0 0'
length = 1
n_elems = 3
A = 1.907720E-04
D_h = 1.698566E-02
f = 0.1
[]
[hs]
type = HeatStructureCylindrical
position = '0 0 0'
orientation = '1 0 0'
length = 1
n_elems = 3
names = 'wall'
n_part_elems = 1
solid_properties = 'mat1'
solid_properties_T_ref = '300'
inner_radius = 0.01
widths = 0.1
initial_T = Ts_init
[]
[ht]
type = HeatTransferFromHeatStructure1Phase
flow_channel = pipe
hs = hs
hs_side = INNER
Hw = 10000
[]
[temp_outside]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = hs:outer
T = Ts_init
[]
[inlet]
type = InletMassFlowRateTemperature1Phase
input = 'pipe:in'
m_dot = 0.1
T = 500
[]
[outlet]
type = Outlet1Phase
input = 'pipe:out'
p = 6e6
[]
[]
[Preconditioning]
[pc]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
start_time = 0
dt = 1
num_steps = 100
abort_on_solve_fail = true
solve_type = 'NEWTON'
line_search = 'basic'
nl_rel_tol = 1e-7
nl_abs_tol = 1e-8
nl_max_its = 10
l_tol = 1e-3
l_max_its = 100
petsc_options_iname = '-pc_type'
petsc_options_value = ' lu'
[]
[Outputs]
exodus = true
execute_on = 'initial final'
velocity_as_vector = false
[]
(modules/thermal_hydraulics/test/tests/components/heat_structure_plate/part_base.i)
[Components]
[hs]
type = HeatStructurePlate
position = '0 0 0'
orientation = '1 0 0'
length = 1
n_elems = 5
names = 'blk'
widths = '1'
depth = 0.5
n_part_elems = '5'
initial_T = 350
[]
[start]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = hs:start
T = 300
[]
[end]
type = HSBoundarySpecifiedTemperature
hs = hs
boundary = hs:end
T = 400
[]
[]
[Preconditioning]
[pc]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
scheme = 'bdf2'
start_time = 0
dt = 1
num_steps = 10
abort_on_solve_fail = true
solve_type = 'NEWTON'
nl_rel_tol = 1e-8
nl_abs_tol = 1e-8
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
[]
[Outputs]
file_base = transient
exodus = true
[]
(modules/thermal_hydraulics/test/tests/misc/initial_from_file/heat_transfer_from_heat_structure_3d/steady_state.i)
[GlobalParams]
scaling_factor_1phase = '1. 1.e-2 1.e-4'
scaling_factor_temperature = 1e-2
initial_T = 500
initial_p = 6.e6
initial_vel = 0
closures = simple_closures
[]
[FluidProperties]
[fp]
type = StiffenedGasFluidProperties
gamma = 2.35
cv = 1816.0
q = -1.167e6
p_inf = 1.0e9
q_prime = 0
k = 0.5
mu = 281.8e-6
[]
[]
[Closures]
[simple_closures]
type = Closures1PhaseSimple
[]
[]
[Materials]
[mat]
type = ADGenericConstantMaterial
prop_names = 'density specific_heat thermal_conductivity'
prop_values = '16 356 6.5514e3'
[]
[]
[Functions]
[Ts_init]
type = ParsedFunction
expression = '2*sin(x*pi/2)+2*sin(pi*y) +507'
[]
[]
[Components]
[pipe]
type = FlowChannel1Phase
fp = fp
# geometry
position = '-1 0 -2.5'
orientation = '1 0 0'
length = 2
n_elems = 2
A = 0.3
D_h = 0.1935483871
f = 0.1
[]
[inlet]
type = InletMassFlowRateTemperature1Phase
input = 'pipe:in'
m_dot = 0.1
T = 500
[]
[outlet]
type = Outlet1Phase
input = 'pipe:out'
p = 6e6
[]
[ht]
type = HeatTransferFromHeatStructure3D1Phase
flow_channels = 'pipe'
hs = blk
boundary = blk:right
P_hf = 3
Hw = 1000
[]
[blk]
type = HeatStructureFromFile3D
file = box.e
position = '0 0 0'
initial_T = Ts_init
[]
[right_bnd]
type = HSBoundarySpecifiedTemperature
hs = blk
boundary = blk:bottom
T = Ts_init
[]
[]
[Executioner]
type = Transient
dt = 1
num_steps = 100
abort_on_solve_fail = true
solve_type = 'NEWTON'
line_search = 'basic'
nl_rel_tol = 1e-7
nl_abs_tol = 1e-8
nl_max_its = 10
l_tol = 1e-3
l_max_its = 100
petsc_options_iname = '-pc_type'
petsc_options_value = ' lu'
[]
[Outputs]
exodus = true
execute_on = 'initial final'
[]