- interp_typeThe type of interpolation to perform.
C++ Type:MooseEnum
Unit:(no unit assumed)
Controllable:No
Description:The type of interpolation to perform.
- num_groupsThe number of groups the energy spectrum is divided into.
C++ Type:unsigned int
Unit:(no unit assumed)
Controllable:No
Description:The number of groups the energy spectrum is divided into.
- num_precursor_groupsThe number of delayed neutron precursor groups.
C++ Type:unsigned int
Unit:(no unit assumed)
Controllable:No
Description:The number of delayed neutron precursor groups.
- prop_namesThe names of the properties this material will have
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:The names of the properties this material will have
- prop_valuesThe values associated with the named properties
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:Yes
Description:The values associated with the named properties
- property_tables_rootThe file root name containing interpolation tables for material properties.
C++ Type:std::string
Unit:(no unit assumed)
Controllable:No
Description:The file root name containing interpolation tables for material properties.
CammiModerator
The CammiModerator has not been documented. The content listed below should be used as a starting point for documenting the class, which includes the typical automatic documentation associated with a MooseObject; however, what is contained is ultimately determined by what is necessary to make the documentation clear for users.
Declares material properties based on names and values prescribed by input parameters.
Overview
Example Input File Syntax
Input Parameters
- blockThe list of blocks (ids or names) that this object will be applied
C++ Type:std::vector<SubdomainName>
Unit:(no unit assumed)
Controllable:No
Description:The list of blocks (ids or names) that this object will be applied
- boundaryThe list of boundaries (ids or names) from the mesh where this object applies
C++ Type:std::vector<BoundaryName>
Unit:(no unit assumed)
Controllable:No
Description:The list of boundaries (ids or names) from the mesh where this object applies
- computeTrueWhen false, MOOSE will not call compute methods on this material. The user must call computeProperties() after retrieving the MaterialBase via MaterialBasePropertyInterface::getMaterialBase(). Non-computed MaterialBases are not sorted for dependencies.
Default:True
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:When false, MOOSE will not call compute methods on this material. The user must call computeProperties() after retrieving the MaterialBase via MaterialBasePropertyInterface::getMaterialBase(). Non-computed MaterialBases are not sorted for dependencies.
- constant_onNONEWhen ELEMENT, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps.When SUBDOMAIN, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps. Evaluations on element qps will be skipped
Default:NONE
C++ Type:MooseEnum
Unit:(no unit assumed)
Options:NONE, ELEMENT, SUBDOMAIN
Controllable:No
Description:When ELEMENT, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps.When SUBDOMAIN, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps. Evaluations on element qps will be skipped
- controller_gain0.01For every W/cm^3 that the peak power density is greater than the peak power density set point, the absorption cross section gets incremented by this amount
Default:0.01
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:For every W/cm^3 that the peak power density is greater than the peak power density set point, the absorption cross section gets incremented by this amount
- declare_suffixAn optional suffix parameter that can be appended to any declared 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 declared properties. The suffix will be prepended with a '_' character.
- fuel_temp_pointsThe fuel temperature interpolation points.
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:The fuel temperature interpolation points.
- materialMust specify either *fuel* or *moderator*.
C++ Type:std::string
Unit:(no unit assumed)
Controllable:No
Description:Must specify either *fuel* or *moderator*.
- mod_temp_pointsThe moderator temperature interpolation points.
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:The moderator temperature interpolation points.
- other_temp0If doing bivariable interpolation, need to supply a postprocessor for the average temperature of the other material.
Default:0
C++ Type:PostprocessorName
Unit:(no unit assumed)
Controllable:No
Description:If doing bivariable interpolation, need to supply a postprocessor for the average temperature of the other material.
- peak_power_density0The postprocessor which holds the peak power density.
Default:0
C++ Type:PostprocessorName
Unit:(no unit assumed)
Controllable:No
Description:The postprocessor which holds the peak power density.
- peak_power_density_set_point10The peak power density set point in W/cm^3
Default:10
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The peak power density set point in W/cm^3
- 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.
- sss2_inputTrueWhether serpent 2 was used to generate the input files.
Default:True
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Whether serpent 2 was used to generate the input files.
- temperature937.0The temperature field for determining group constants.
Default:937.0
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:The temperature field for determining group constants.
- 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
Unit:(no unit assumed)
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.
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
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
Unit:(no unit assumed)
Controllable:Yes
Description:Set the enabled status of the MooseObject.
- implicitTrueDetermines whether this object is calculated using an implicit or explicit form
Default:True
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Determines whether this object is calculated using an implicit or explicit form
- seed0The seed for the master random number generator
Default:0
C++ Type:unsigned int
Unit:(no unit assumed)
Controllable:No
Description:The seed for the master random number generator
- use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Advanced Parameters
- output_propertiesList of material properties, from this material, to output (outputs must also be defined to an output type)
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:List of material properties, from this material, to output (outputs must also be defined to an output type)
- outputsnone Vector of output names where you would like to restrict the output of variables(s) associated with this object
Default:none
C++ Type:std::vector<OutputName>
Unit:(no unit assumed)
Controllable:No
Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object
Outputs Parameters
Input Files
- (problems/011717_precursors/Input.i)
- (problems/021417_MSRE_materials/CG_temp.i)
- (problems/020617_mod_heat_source_one_minus_beta_fission/gamma_source_check.i)
- (problems/011317_notebook_add_temperature_coupling/Input_serpent.i)
- (problems/021417_MSRE_materials/Input.i)
- (problems/011717_precursors/Input_restart_rdg_module.i)
- (problems/012017_temperature_to_dg/Input.i)
- (problems/011317_notebook_perfectly_bracketed_critical_buckling_height_from_newt/Input.i)
- (problems/021417_MSRE_materials/mini_msre_cg_temp.i)
- (problems/011317_notebook_perfectly_bracketed_critical_buckling_height_from_newt/Input_serpent.i)
- (problems/011317_notebook_add_temperature_coupling/Input.i)
- (problems/012017_temperature_to_dg/test_mat_props.i)
- (problems/020617_mod_heat_source_one_minus_beta_fission/Input_PJFNK.i)
- (problems/020617_mod_heat_source_one_minus_beta_fission/Input.i)
- (problems/021417_MSRE_materials/CG_no_temp.i)
- (problems/021417_MSRE_materials/CG_no_temp_eigen.i)
- (problems/021417_MSRE_materials/CG_no_temp_eigen_b1_gcs.i)
(problems/011717_precursors/Input.i)
flow_velocity=147 # Cammi 147 cm/s
inlet_temp=824
initial_outlet_temp=824
nt_scale=1e16
precursor_log_inlet_conc=-17
reactor_height=115 # Cammi 396 cm; critical_buckling_from_newt ~ 115 cm
global_temperature=temp
[GlobalParams]
num_groups = 2
num_precursor_groups = 6
use_exp_form = true
group_fluxes = 'group1 group2'
v_def = ${flow_velocity}
tau = 1
transient_simulation = true
incompressible_flow = false
# prec_scale = 1e5
[../]
[Mesh]
file = 'cylinder_structured.msh'
[../]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'fuel_top graphite_top fuel_bottom graphite_bottom'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
# create_temperature_var = false
temperature = ${global_temperature}
# temperature_value = ${global_temperature}
[]
[Precursors]
var_name_base = pre
block = 'fuel'
inlet_boundary = 'fuel_bottom'
inlet_boundary_condition = 'DirichletBC'
inlet_bc_value = ${precursor_log_inlet_conc}
outlet_boundary = 'fuel_top'
initial_condition = ${precursor_log_inlet_conc}
tau = 1
use_source_stabilization = true
offset = 24
[]
[Kernels]
# Temperature
[./temp_flow_fuel]
block = 'fuel'
type = MatINSTemperatureRZ
variable = temp
rho = 'rho'
k = 'k'
cp = 'cp'
uz = ${flow_velocity}
[../]
[./temp_art_diff_fuel]
block = 'fuel'
type = ScalarAdvectionArtDiff
variable = temp
use_exp_form = false
[../]
[./temp_flow_moder]
block = 'moder'
type = MatINSTemperatureRZ
variable = temp
rho = 'rho'
k = 'k'
cp = 'cp'
[../]
[./temp_source]
type = TransientFissionHeatSource
variable = temp
nt_scale=${nt_scale}
[../]
[./temp_time_derivative]
type = MatINSTemperatureTimeDerivative
variable = temp
rho = 'rho'
cp = 'cp'
[../]
[]
[Materials]
[./fuel]
type = CammiFuel
block = 'fuel'
property_tables_root = '../property_file_dir/newt_fuel_'
prop_names = 'cp'
prop_values = '1357' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[./moder]
type = CammiModerator
block = 'moder'
property_tables_root = '../property_file_dir/newt_mod_'
prop_names = 'rho cp'
prop_values = '1.843e-3 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[]
[BCs]
[./temp_inlet]
boundary = 'fuel_bottom graphite_bottom'
type = DirichletBC
variable = temp
value = ${inlet_temp}
[../]
[./temp_outlet]
boundary = 'fuel_top'
type = MatINSTemperatureNoBCBC
variable = temp
k = 'k'
[../]
[./temp_art_diff_fuel]
boundary = 'fuel_top'
type = ScalarAdvectionArtDiffNoBCBC
variable = temp
use_exp_form = false
[../]
[]
[Problem]
type = FEProblem
coord_type = RZ
[../]
[Executioner]
type = Transient
end_time = 10000
# line_search = none
nl_rel_tol = 1e-6
nl_abs_tol = 1e-5
# trans_ss_check = true
# ss_check_tol = 8e-9
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -pc_factor_shift_type -pc_factor_shift_amount -ksp_type -snes_linesearch_minlambda -pc_factor_mat_solver_package'
petsc_options_value = 'lu NONZERO 1.e-10 preonly 1e-3 mumps'
nl_max_its = 10
l_max_its = 10
dtmin = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.4
dt = 1e-4
growth_factor = 1.05
optimal_iterations = 20
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Outputs]
csv = true
[./out]
type = Exodus
execute_on = 'initial timestep_end'
[../]
[./dof_map]
type = DOFMap
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[ICs]
# [./temp_ic]
# type = ConstantIC
# variable = temp
# value = ${inlet_temp}
# [../]
[./temp_all_ic_func]
type = FunctionIC
variable = temp
function = temp_ic_func
[../]
[]
[Functions]
[./temp_ic_func]
type = ParsedFunction
value = '(${initial_outlet_temp} - ${inlet_temp}) / ${reactor_height} * y + ${inlet_temp}'
[../]
[./nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[../]
[]
[Postprocessors]
[./group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[../]
[./temp_fuel]
type = ElementAverageValue
variable = temp
block = 'fuel'
# execute_on = 'linear nonlinear'
outputs = 'csv console'
[../]
[./temp_moder]
type = ElementAverageValue
variable = temp
block = 'moder'
# execute_on = 'linear nonlinear'
outputs = 'csv console'
[../]
[]
(problems/021417_MSRE_materials/CG_temp.i)
flow_velocity=21.7 # cm/s. See MSRE-properties.ods
diri_temp=908
nt_scale=1e13
reactor_height=162.56
global_temperature=temp
# global_temperature=922
[GlobalParams]
num_groups = 2
num_precursor_groups = 8
use_exp_form = true
group_fluxes = 'group1 group2'
# u_def = 0
# v_def = 0
# w_def = ${flow_velocity}
[../]
[Mesh]
file = 'msre_22x22_correct_vol_fraction.msh'
[../]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'fuel_bottoms fuel_tops moder_bottoms moder_tops fuel_sides'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
create_temperature_var = true
temperature = ${global_temperature}
# temperature_value = ${global_temperature}
dg_for_temperature = false
[]
# [Precursors]
# var_name_base = pre
# block = 'fuel'
# advection_boundaries = 'fuel_top fuel_bottom'
# family = MONOMIAL
# order = CONSTANT
# []
[Kernels]
# Temperature
[./temp_source_fuel]
type = TransientFissionHeatSource
variable = temp
nt_scale=${nt_scale}
block = 'fuel'
[../]
# [./temp_source_mod]
# type = GammaHeatSource
# variable = temp
# gamma = .0144 # Cammi .0144
# block = 'moder'
# average_fission_heat = 'average_fission_heat'
# [../]
[./temp_time_derivative]
type = MatINSTemperatureTimeDerivative
variable = temp
[../]
[./temp_diffusion]
type = MatDiffusion
diffusivity = 'k'
variable = temp
[../]
[./temp_advection_fuel]
type = ConservativeTemperatureAdvection
velocity = '0 0 ${flow_velocity}'
variable = temp
block = 'fuel'
[../]
[]
[Materials]
[./fuel]
# type = CammiFuel
type = GenericMoltresMaterial
block = 'fuel'
property_tables_root = '../property_file_dir/full_core_cuboid_msre_comp_fuel_data_func_of_fuel_temp_'
prop_names = 'rho k cp'
prop_values = '2.146e-3 .0553 1967' # Robertson MSRE technical report @ 922 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[./moder]
# type = CammiModerator
type = GenericMoltresMaterial
block = 'moder'
property_tables_root = '../property_file_dir/full_core_cuboid_msre_comp_mod_data_func_of_mod_temp_'
prop_names = 'rho k cp'
prop_values = '1.843e-3 .312 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[]
[BCs]
[./temp_diri_cg]
boundary = 'fuel_bottoms moder_bottoms fuel_sides'
type = DirichletBC
variable = temp
value = ${diri_temp}
[../]
[./temp_advection_outlet]
boundary = 'fuel_tops'
type = TemperatureOutflowBC
variable = temp
velocity = '0 0 ${flow_velocity}'
[../]
[]
# [Problem]
# type = FEProblem
# coord_type = RZ
# [../]
[Executioner]
type = Transient
end_time = 10000
# num_steps = 1
nl_rel_tol = 1e-6
nl_abs_tol = 1e-5
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -sub_pc_type -pc_asm_overlap -sub_ksp_type -snes_linesearch_minlambda'
petsc_options_value = 'asm lu 1 preonly 1e-3'
nl_max_its = 30
l_max_its = 100
dtmin = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.4
dt = 1e-3
growth_factor = 1.025
optimal_iterations = 20
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Outputs]
csv = true
print_linear_residuals = true
perf_graph = true
[./out]
type = Exodus
execute_on = 'initial timestep_end'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[ICs]
[./temp_all_ic_func]
type = FunctionIC
variable = temp
function = temp_ic_func
[../]
[]
[Functions]
[./temp_ic_func]
type = ParsedFunction
value = '${diri_temp}'
[../]
[./nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[../]
[./diri_temp_func]
type = ParsedFunction
value = '${diri_temp}'
[../]
[]
[Postprocessors]
[./group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[../]
[./temp_fuel]
type = ElementAverageValue
variable = temp
block = 'fuel'
outputs = 'csv console'
[../]
[./temp_moder]
type = ElementAverageValue
variable = temp
block = 'moder'
outputs = 'csv console'
[../]
# # [./average_fission_heat]
# # type = AverageFissionHeat
# # nt_scale = ${nt_scale}
# # execute_on = 'linear nonlinear'
# # outputs = 'csv console'
# # block = 'fuel'
# # [../]
[]
(problems/020617_mod_heat_source_one_minus_beta_fission/gamma_source_check.i)
[Mesh]
type = GeneratedMesh
dim = 2
nx = 10
ny = 10
[../]
[Kernels]
# Temperature
[./temp_source_fuel]
type = TransientFissionHeatSource
variable = temp
nt_scale = 1
group_fluxes = '1 1'
block = 'fuel'
[../]
[./temp_source_mod]
type = GammaHeatSource
variable = temp
gamma = 1 # Cammi .0144
block = 'moder'
average_fission_heat = 'average_fission_heat'
[../]
[./temp_time_derivative]
type = MatINSTemperatureTimeDerivative
variable = temp
[../]
[]
[Materials]
[./fuel]
type = CammiFuel
block = '0'
property_tables_root = '../property_file_dir/newt_fuel_'
prop_names = 'cp'
prop_values = '1357' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = temp
[../]
[./moder]
type = CammiModerator
block = '1'
property_tables_root = '../property_file_dir/newt_mod_'
prop_names = 'rho cp'
prop_values = '1.843e-3 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = temp
[../]
[]
[Executioner]
type = Transient
end_time = 10000
nl_rel_tol = 1e-6
nl_abs_tol = 1e-5
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -pc_factor_shift_type -pc_factor_shift_amount -ksp_type -snes_linesearch_minlambda -pc_factor_mat_solver_package'
petsc_options_value = 'lu NONZERO 1.e-10 preonly 1e-3 mumps'
nl_max_its = 20
l_max_its = 10
dtmin = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.4
dt = 1e-3
growth_factor = 1.025
optimal_iterations = 20
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Outputs]
csv = true
[./out]
type = Exodus
execute_on = 'initial timestep_end'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[ICs]
[./temp_all_ic_func]
type = ConstantIC
variable = temp
value = 824
[../]
[]
[Postprocessors]
[./temp_fuel]
type = ElementAverageValue
variable = temp
block = '0'
outputs = 'csv console'
[../]
[./temp_moder]
type = ElementAverageValue
variable = temp
block = '0'
outputs = 'csv console'
[../]
[./average_fission_heat]
type = AverageFissionHeat
nt_scale = ${nt_scale}
execute_on = 'linear nonlinear'
outputs = 'csv console'
block = '0'
[../]
[]
(problems/011317_notebook_add_temperature_coupling/Input_serpent.i)
flow_velocity=147 # Cammi 147 cm/s
inlet_temp=824
initial_outlet_temp=824
nt_scale=1e0
precursor_log_inlet_conc=-17
reactor_height=175 # Cammi 396 cm; critical_buckling_from_newt ~ 115 cm
global_temperature=900
[GlobalParams]
num_groups = 2
num_precursor_groups = 8
use_exp_form = true
group_fluxes = 'group1 group2'
v_def = ${flow_velocity}
tau = 1
transient_simulation = true
incompressible_flow = false
# prec_scale = 1e5
[../]
[Mesh]
file = 'cylinder_structured.msh'
[../]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'fuel_top graphite_top fuel_bottom graphite_bottom'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
create_temperature_var = false
# temperature = ${global_temperature}
temperature_value = ${global_temperature}
[]
# [Precursors]
# var_name_base = pre
# block = 'fuel'
# inlet_boundary = 'fuel_bottom'
# inlet_boundary_condition = 'DirichletBC'
# inlet_bc_value = ${precursor_log_inlet_conc}
# outlet_boundary = 'fuel_top'
# initial_condition = ${precursor_log_inlet_conc}
# tau = 1
# use_source_stabilization = true
# offset = 24
# []
# [Kernels]
# # Temperature
# [./temp_flow_fuel]
# block = 'fuel'
# type = MatINSTemperatureRZ
# variable = temp
# rho = 'rho'
# k = 'k'
# cp = 'cp'
# uz = ${flow_velocity}
# [../]
# [./temp_art_diff_fuel]
# block = 'fuel'
# type = ScalarAdvectionArtDiff
# variable = temp
# use_exp_form = false
# [../]
# [./temp_flow_moder]
# block = 'moder'
# type = MatINSTemperatureRZ
# variable = temp
# rho = 'rho'
# k = 'k'
# cp = 'cp'
# [../]
# [./temp_source]
# type = TransientFissionHeatSource
# variable = temp
# nt_scale=${nt_scale}
# [../]
# [./temp_time_derivative]
# type = MatINSTemperatureTimeDerivative
# variable = temp
# rho = 'rho'
# cp = 'cp'
# [../]
# []
[Materials]
[./fuel]
type = CammiFuel
block = 'fuel'
property_tables_root = '../property_file_dir/msr2g_Th_U_two_mat_homogenization_fuel_data_func_of_fuel_temp_'
prop_names = 'cp'
prop_values = '1357' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[./moder]
type = CammiModerator
block = 'moder'
property_tables_root = '../property_file_dir/msr2g_Th_U_two_mat_homogenization_mod_data_func_of_mod_temp_'
prop_names = 'rho cp'
prop_values = '1.843e-3 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[]
# [BCs]
# [./temp_inlet]
# boundary = 'fuel_bottom graphite_bottom'
# type = DirichletBC
# variable = temp
# value = ${inlet_temp}
# [../]
# [./temp_outlet]
# boundary = 'fuel_top'
# type = MatINSTemperatureNoBCBC
# variable = temp
# k = 'k'
# [../]
# [./temp_art_diff_fuel]
# boundary = 'fuel_top'
# type = ScalarAdvectionArtDiffNoBCBC
# variable = temp
# use_exp_form = false
# [../]
# []
[Problem]
type = FEProblem
coord_type = RZ
[../]
[Executioner]
type = Transient
end_time = 10000
# line_search = none
nl_rel_tol = 1e-6
# nl_abs_tol = 1e-5
# trans_ss_check = true
# ss_check_tol = 8e-9
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -pc_factor_shift_type -pc_factor_shift_amount -ksp_type -snes_linesearch_minlambda -pc_factor_mat_solver_package'
petsc_options_value = 'lu NONZERO 1.e-10 preonly 1e-3 mumps'
nl_max_its = 10
l_max_its = 10
dtmin = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.4
dt = 1e-4
growth_factor = 1.2
optimal_iterations = 20
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Outputs]
csv = true
[./out]
type = Exodus
execute_on = 'initial timestep_end'
[../]
[./dof_map]
type = DOFMap
[../]
[]
[Debug]
show_var_residual_norms = true
[]
# [ICs]
# # [./temp_ic]
# # type = ConstantIC
# # variable = temp
# # value = ${inlet_temp}
# # [../]
# [./temp_all_ic_func]
# type = FunctionIC
# variable = temp
# function = temp_ic_func
# [../]
# []
[Functions]
[./temp_ic_func]
type = ParsedFunction
value = '(${initial_outlet_temp} - ${inlet_temp}) / ${reactor_height} * y + ${inlet_temp}'
[../]
[./nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[../]
[]
[Postprocessors]
[./group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[../]
# [./temp_fuel]
# type = ElementAverageValue
# variable = temp
# block = 'fuel'
# # execute_on = 'linear nonlinear'
# outputs = 'csv console'
# [../]
# [./temp_moder]
# type = ElementAverageValue
# variable = temp
# block = 'moder'
# # execute_on = 'linear nonlinear'
# outputs = 'csv console'
# [../]
[]
(problems/021417_MSRE_materials/Input.i)
flow_velocity=21.7 # cm/s. See MSRE-properties.ods
diri_temp=908
nt_scale=1e13
reactor_height=162.56
global_temperature=temp
# global_temperature=922
sigma_val=6
[GlobalParams]
num_groups = 2
num_precursor_groups = 8
use_exp_form = true
group_fluxes = 'group1 group2'
# u_def = 0
# v_def = 0
# w_def = ${flow_velocity}
[../]
[Mesh]
# file = 'msre_22x22_correct_vol_fraction.msh'
file = msre_cuboid_3x3.msh
[../]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'boundary'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
create_temperature_var = true
temperature = ${global_temperature}
# temperature_value = ${global_temperature}
dg_for_temperature = true
[]
# [Precursors]
# var_name_base = pre
# block = 'fuel'
# advection_boundaries = 'fuel_top fuel_bottom'
# family = MONOMIAL
# order = CONSTANT
# []
[Kernels]
# Temperature
[./temp_source_fuel]
type = TransientFissionHeatSource
variable = temp
nt_scale=${nt_scale}
block = 'fuel'
[../]
# [./temp_source_mod]
# type = GammaHeatSource
# variable = temp
# gamma = .0144 # Cammi .0144
# block = 'moder'
# average_fission_heat = 'average_fission_heat'
# [../]
[./temp_time_derivative]
type = MatINSTemperatureTimeDerivative
variable = temp
[../]
[./temp_diffusion]
type = MatDiffusion
diffusivity = 'k'
variable = temp
[../]
[./temp_advection_fuel]
type = ConservativeTemperatureAdvection
velocity = '0 0 ${flow_velocity}'
variable = temp
block = 'fuel'
[../]
[]
[DGKernels]
[./temp_advection_fuel]
block = 'fuel'
type = DGTemperatureAdvection
variable = temp
velocity = '0 0 ${flow_velocity}'
[../]
[./temp_diffusion]
type = DGDiffusion
variable = temp
sigma = ${sigma_val}
epsilon = -1
diff = 'k'
[../]
[]
[Materials]
[./fuel]
# type = CammiFuel
type = GenericMoltresMaterial
block = 'fuel'
property_tables_root = '../property_file_dir/full_core_cuboid_msre_comp_fuel_data_func_of_fuel_temp_'
prop_names = 'rho k cp'
prop_values = '2.146e-3 .0553 1967' # Robertson MSRE technical report @ 922 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[./moder]
# type = CammiModerator
type = GenericMoltresMaterial
block = 'moder'
property_tables_root = '../property_file_dir/full_core_cuboid_msre_comp_mod_data_func_of_mod_temp_'
prop_names = 'rho k cp'
prop_values = '1.843e-3 .312 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[]
[BCs]
[./temp_dirichlet_diffusion_inlet]
boundary = 'temp_diri_bnd'
type = DGFunctionDiffusionDirichletBC
variable = temp
sigma = ${sigma_val}
epsilon = -1
diff = 'k'
function = 'diri_temp_func'
[../]
[./temp_advection_inlet]
boundary = 'temp_inflow_bnd'
type = TemperatureInflowBC
variable = temp
velocity = '0 0 ${flow_velocity}'
inlet_conc = ${diri_temp}
[../]
[./temp_advection_outlet]
boundary = 'temp_outflow_bnd'
type = TemperatureOutflowBC
variable = temp
velocity = '0 0 ${flow_velocity}'
[../]
[]
# [Problem]
# type = FEProblem
# coord_type = RZ
# [../]
[Executioner]
type = Transient
end_time = 10000
# num_steps = 1
nl_rel_tol = 1e-6
nl_abs_tol = 1e-5
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -sub_pc_type -pc_asm_overlap -sub_ksp_type' # -ksp_gmres_restart'
petsc_options_value = 'asm lu 1 preonly' # 31'
nl_max_its = 20
l_max_its = 10
dtmin = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.4
dt = 1e-3
growth_factor = 1.025
optimal_iterations = 20
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Outputs]
csv = true
print_linear_residuals = true
perf_graph = true
[./out]
type = Exodus
execute_on = 'initial timestep_end'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[ICs]
[./temp_all_ic_func]
type = FunctionIC
variable = temp
function = temp_ic_func
[../]
[]
[Functions]
[./temp_ic_func]
type = ParsedFunction
value = '${diri_temp}'
[../]
[./nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[../]
[./diri_temp_func]
type = ParsedFunction
value = '${diri_temp}'
[../]
[]
[Postprocessors]
[./group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[../]
[./temp_fuel]
type = ElementAverageValue
variable = temp
block = 'fuel'
outputs = 'csv console'
[../]
[./temp_moder]
type = ElementAverageValue
variable = temp
block = 'moder'
outputs = 'csv console'
[../]
# # [./average_fission_heat]
# # type = AverageFissionHeat
# # nt_scale = ${nt_scale}
# # execute_on = 'linear nonlinear'
# # outputs = 'csv console'
# # block = 'fuel'
# # [../]
[]
(problems/011717_precursors/Input_restart_rdg_module.i)
flow_velocity=147 # Cammi 147 cm/s
inlet_temp=824
initial_outlet_temp=824
nt_scale=1e16
precursor_log_inlet_conc=-25
reactor_height=115 # Cammi 396 cm; critical_buckling_from_newt ~ 115 cm
global_temperature=temp
[GlobalParams]
num_groups = 2
num_precursor_groups = 6
use_exp_form = true
group_fluxes = 'group1 group2'
u_def = 0
v_def = ${flow_velocity}
w_def = 0
tau = 1
transient_simulation = true
incompressible_flow = false
[../]
[Mesh]
file = 'Input_out.e'
[../]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'fuel_top graphite_top fuel_bottom graphite_bottom'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
# create_temperature_var = false
temperature = ${global_temperature}
# temperature_value = ${global_temperature}
init_nts_from_file = true
init_temperature_from_file = true
[]
[Precursors]
var_name_base = pre
block = 'fuel'
advection_boundaries = 'fuel_top fuel_bottom'
family = MONOMIAL
order = CONSTANT
[]
[Kernels]
# Temperature
[./temp_flow_fuel]
block = 'fuel'
type = MatINSTemperatureRZ
variable = temp
uz = ${flow_velocity}
[../]
[./temp_art_diff_fuel]
block = 'fuel'
type = ScalarAdvectionArtDiff
variable = temp
use_exp_form = false
[../]
[./temp_flow_moder]
block = 'moder'
type = MatINSTemperatureRZ
variable = temp
[../]
[./temp_source]
type = TransientFissionHeatSource
variable = temp
nt_scale=${nt_scale}
[../]
[./temp_time_derivative]
type = MatINSTemperatureTimeDerivative
variable = temp
[../]
[]
[Materials]
[./fuel]
type = CammiFuel
block = 'fuel'
property_tables_root = '../property_file_dir/newt_fuel_'
prop_names = 'cp'
prop_values = '1357' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[./moder]
type = CammiModerator
block = 'moder'
property_tables_root = '../property_file_dir/newt_mod_'
prop_names = 'rho cp'
prop_values = '1.843e-3 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[]
[BCs]
[./temp_inlet]
boundary = 'fuel_bottom graphite_bottom'
type = DirichletBC
variable = temp
value = ${inlet_temp}
[../]
[./temp_outlet]
boundary = 'fuel_top'
type = MatINSTemperatureNoBCBC
variable = temp
k = 'k'
[../]
[./temp_art_diff_fuel]
boundary = 'fuel_top'
type = ScalarAdvectionArtDiffNoBCBC
variable = temp
use_exp_form = false
[../]
[]
[Problem]
type = FEProblem
coord_type = RZ
[../]
[Executioner]
type = Transient
end_time = 10000
# line_search = none
nl_rel_tol = 1e-6
nl_abs_tol = 1e-5
# trans_ss_check = true
# ss_check_tol = 8e-9
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -pc_factor_shift_type -pc_factor_shift_amount -ksp_type -snes_linesearch_minlambda -pc_factor_mat_solver_package'
petsc_options_value = 'lu NONZERO 1.e-10 preonly 1e-3 mumps'
nl_max_its = 20
l_max_its = 10
dtmin = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.4
dt = 1e-4
growth_factor = 1.05
optimal_iterations = 20
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Outputs]
csv = true
[./out]
type = Exodus
execute_on = 'initial timestep_end'
[../]
[./dof_map]
type = DOFMap
[../]
[]
[Debug]
show_var_residual_norms = true
[]
# [ICs]
# [./temp_all_ic_func]
# type = FunctionIC
# variable = temp
# function = temp_ic_func
# [../]
# []
[Functions]
[./temp_ic_func]
type = ParsedFunction
value = '(${initial_outlet_temp} - ${inlet_temp}) / ${reactor_height} * y + ${inlet_temp}'
[../]
[./nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[../]
[]
[Postprocessors]
[./group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[../]
[./temp_fuel]
type = ElementAverageValue
variable = temp
block = 'fuel'
# execute_on = 'linear nonlinear'
outputs = 'csv console'
[../]
[./temp_moder]
type = ElementAverageValue
variable = temp
block = 'moder'
# execute_on = 'linear nonlinear'
outputs = 'csv console'
[../]
[]
(problems/012017_temperature_to_dg/Input.i)
flow_velocity=147 # Cammi 147 cm/s
inlet_temp=824
initial_outlet_temp=824
nt_scale=1e16
reactor_height=115 # Cammi 396 cm; critical_buckling_from_newt ~ 115 cm
global_temperature=temp
sigma_val=6
[GlobalParams]
num_groups = 2
num_precursor_groups = 6
use_exp_form = true
group_fluxes = 'group1 group2'
u_def = 0
v_def = ${flow_velocity}
w_def = 0
[../]
[Mesh]
file = 'cylinder_structured.msh'
[../]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'fuel_top graphite_top fuel_bottom graphite_bottom'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
# create_temperature_var = false
temperature = ${global_temperature}
# temperature_value = ${global_temperature}
dg_for_temperature = true
[]
# [Precursors]
# var_name_base = pre
# block = 'fuel'
# advection_boundaries = 'fuel_top fuel_bottom'
# family = MONOMIAL
# order = CONSTANT
# []
[Kernels]
# Temperature
[./temp_source]
type = TransientFissionHeatSource
variable = temp
nt_scale=${nt_scale}
block = 'fuel'
[../]
[./temp_time_derivative]
type = MatINSTemperatureTimeDerivative
variable = temp
[../]
[./temp_diffusion]
type = MatDiffusion
diffusivity = 'k'
variable = temp
[../]
[./temp_advection_fuel]
type = ConservativeTemperatureAdvection
velocity = '0 ${flow_velocity} 0'
variable = temp
block = 'fuel'
[../]
[]
[DGKernels]
[./temp_advection_fuel]
block = 'fuel'
type = DGTemperatureAdvection
variable = temp
velocity = '0 ${flow_velocity} 0'
[../]
[./temp_diffusion]
type = DGDiffusion
variable = temp
sigma = ${sigma_val}
epsilon = -1
diff = 'k'
[../]
[]
[Materials]
[./fuel]
type = CammiFuel
block = 'fuel'
property_tables_root = '../property_file_dir/newt_fuel_'
prop_names = 'cp'
prop_values = '1357' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[./moder]
type = CammiModerator
block = 'moder'
property_tables_root = '../property_file_dir/newt_mod_'
prop_names = 'rho cp'
prop_values = '1.843e-3 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[]
[BCs]
[./temp_dirichlet_diffusion_inlet]
boundary = 'fuel_bottom graphite_bottom'
type = DGFunctionDiffusionDirichletBC
variable = temp
sigma = ${sigma_val}
epsilon = -1
diff = 'k'
function = 'inlet_boundary_temp_func'
[../]
[./temp_advection_inlet]
boundary = 'fuel_bottom'
type = TemperatureInflowBC
variable = temp
velocity = '0 ${flow_velocity} 0'
inlet_conc = 824
[../]
[./temp_advection_outlet]
boundary = 'fuel_top'
type = TemperatureOutflowBC
variable = temp
velocity = '0 ${flow_velocity} 0'
[../]
[]
[Problem]
type = FEProblem
coord_type = RZ
[../]
[Executioner]
type = Transient
end_time = 10000
nl_rel_tol = 1e-6
nl_abs_tol = 1e-5
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -pc_factor_shift_type -pc_factor_shift_amount -ksp_type -snes_linesearch_minlambda -pc_factor_mat_solver_package'
petsc_options_value = 'lu NONZERO 1.e-10 preonly 1e-3 mumps'
nl_max_its = 20
l_max_its = 10
dtmin = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.4
dt = 1e-3
growth_factor = 1.025
optimal_iterations = 20
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Outputs]
csv = true
[./out]
type = Exodus
execute_on = 'initial timestep_end'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[ICs]
[./temp_all_ic_func]
type = FunctionIC
variable = temp
function = temp_ic_func
[../]
[]
[Functions]
[./forcing_func]
type = ParsedFunction
value = '1000'
[../]
[./temp_ic_func]
type = ParsedFunction
value = '(${initial_outlet_temp} - ${inlet_temp}) / ${reactor_height} * y + ${inlet_temp}'
[../]
[./nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[../]
[./inlet_boundary_temp_func]
type = ParsedFunction
value = '${inlet_temp}'
[../]
[]
[Postprocessors]
[./group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[../]
[./temp_fuel]
type = ElementAverageValue
variable = temp
block = 'fuel'
# execute_on = 'linear nonlinear'
outputs = 'csv console'
[../]
[./temp_moder]
type = ElementAverageValue
variable = temp
block = 'moder'
# execute_on = 'linear nonlinear'
outputs = 'csv console'
[../]
[]
(problems/011317_notebook_perfectly_bracketed_critical_buckling_height_from_newt/Input.i)
flow_velocity=147 # Cammi 147 cm/s
inlet_temp=824
initial_outlet_temp=824
nt_scale=1e0
precursor_log_inlet_conc=-17
reactor_height=115 # Cammi 396 cm; critical_buckling_from_newt ~ 115 cm
global_temperature=950
[GlobalParams]
num_groups = 2
num_precursor_groups = 6
use_exp_form = true
group_fluxes = 'group1 group2'
v_def = ${flow_velocity}
tau = 1
transient_simulation = true
incompressible_flow = false
# prec_scale = 1e5
[../]
[Mesh]
file = 'cylinder_structured.msh'
[../]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'fuel_top graphite_top fuel_bottom graphite_bottom'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
create_temperature_var = false
# temperature = ${global_temperature}
temperature_value = ${global_temperature}
[]
# [Precursors]
# var_name_base = pre
# block = 'fuel'
# inlet_boundary = 'fuel_bottom'
# inlet_boundary_condition = 'DirichletBC'
# inlet_bc_value = ${precursor_log_inlet_conc}
# outlet_boundary = 'fuel_top'
# initial_condition = ${precursor_log_inlet_conc}
# tau = 1
# use_source_stabilization = true
# offset = 24
# []
# [Kernels]
# # Temperature
# [./temp_flow_fuel]
# block = 'fuel'
# type = MatINSTemperatureRZ
# variable = temp
# rho = 'rho'
# k = 'k'
# cp = 'cp'
# uz = ${flow_velocity}
# [../]
# [./temp_art_diff_fuel]
# block = 'fuel'
# type = ScalarAdvectionArtDiff
# variable = temp
# use_exp_form = false
# [../]
# [./temp_flow_moder]
# block = 'moder'
# type = MatINSTemperatureRZ
# variable = temp
# rho = 'rho'
# k = 'k'
# cp = 'cp'
# [../]
# [./temp_source]
# type = TransientFissionHeatSource
# variable = temp
# nt_scale=${nt_scale}
# [../]
# [./temp_time_derivative]
# type = MatINSTemperatureTimeDerivative
# variable = temp
# rho = 'rho'
# cp = 'cp'
# [../]
# []
[Materials]
[./fuel]
type = CammiFuel
block = 'fuel'
property_tables_root = '../property_file_dir/newt_fuel_'
prop_names = 'cp'
prop_values = '1357' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[./moder]
type = CammiModerator
block = 'moder'
property_tables_root = '../property_file_dir/newt_mod_'
prop_names = 'rho cp'
prop_values = '1.843e-3 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[]
# [BCs]
# [./temp_inlet]
# boundary = 'fuel_bottom graphite_bottom'
# type = DirichletBC
# variable = temp
# value = ${inlet_temp}
# [../]
# [./temp_outlet]
# boundary = 'fuel_top'
# type = MatINSTemperatureNoBCBC
# variable = temp
# k = 'k'
# [../]
# [./temp_art_diff_fuel]
# boundary = 'fuel_top'
# type = ScalarAdvectionArtDiffNoBCBC
# variable = temp
# use_exp_form = false
# [../]
# []
[Problem]
type = FEProblem
coord_type = RZ
[../]
[Executioner]
type = Transient
end_time = 10000
# line_search = none
nl_rel_tol = 1e-6
# nl_abs_tol = 1e-5
# trans_ss_check = true
# ss_check_tol = 8e-9
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -pc_factor_shift_type -pc_factor_shift_amount -ksp_type -snes_linesearch_minlambda -pc_factor_mat_solver_package'
petsc_options_value = 'lu NONZERO 1.e-10 preonly 1e-3 mumps'
nl_max_its = 10
l_max_its = 10
dtmin = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.4
dt = 1e-4
growth_factor = 1.2
optimal_iterations = 20
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Outputs]
csv = true
[./out]
type = Exodus
execute_on = 'initial timestep_end'
[../]
[./dof_map]
type = DOFMap
[../]
[]
[Debug]
show_var_residual_norms = true
[]
# [ICs]
# # [./temp_ic]
# # type = ConstantIC
# # variable = temp
# # value = ${inlet_temp}
# # [../]
# [./temp_all_ic_func]
# type = FunctionIC
# variable = temp
# function = temp_ic_func
# [../]
# []
[Functions]
[./temp_ic_func]
type = ParsedFunction
value = '(${initial_outlet_temp} - ${inlet_temp}) / ${reactor_height} * y + ${inlet_temp}'
[../]
[./nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[../]
[]
[Postprocessors]
[./group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[../]
# [./temp_fuel]
# type = ElementAverageValue
# variable = temp
# block = 'fuel'
# # execute_on = 'linear nonlinear'
# outputs = 'csv console'
# [../]
# [./temp_moder]
# type = ElementAverageValue
# variable = temp
# block = 'moder'
# # execute_on = 'linear nonlinear'
# outputs = 'csv console'
# [../]
[]
(problems/021417_MSRE_materials/mini_msre_cg_temp.i)
flow_velocity=21.7 # cm/s. See MSRE-properties.ods
diri_temp=908
nt_scale=1e13
reactor_height=162.56
global_temperature=temp
# global_temperature=922
[GlobalParams]
num_groups = 2
num_precursor_groups = 8
use_exp_form = true
group_fluxes = 'group1 group2'
# u_def = 0
# v_def = 0
# w_def = ${flow_velocity}
[../]
[Mesh]
file = 'mini_msre_cuboid.msh'
[../]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'fuel_bottoms fuel_tops moder_bottoms moder_tops fuel_sides'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
create_temperature_var = true
temperature = ${global_temperature}
# temperature_value = ${global_temperature}
dg_for_temperature = false
[]
# [Precursors]
# var_name_base = pre
# block = 'fuel'
# advection_boundaries = 'fuel_top fuel_bottom'
# family = MONOMIAL
# order = CONSTANT
# []
[Kernels]
# Temperature
[./temp_source_fuel]
type = TransientFissionHeatSource
variable = temp
nt_scale=${nt_scale}
block = 'fuel'
[../]
# [./temp_source_mod]
# type = GammaHeatSource
# variable = temp
# gamma = .0144 # Cammi .0144
# block = 'moder'
# average_fission_heat = 'average_fission_heat'
# [../]
[./temp_time_derivative]
type = MatINSTemperatureTimeDerivative
variable = temp
[../]
[./temp_diffusion]
type = MatDiffusion
diffusivity = 'k'
variable = temp
[../]
[./temp_advection_fuel]
type = ConservativeTemperatureAdvection
velocity = '0 0 ${flow_velocity}'
variable = temp
block = 'fuel'
[../]
[]
[Materials]
[./fuel]
# type = CammiFuel
type = GenericMoltresMaterial
block = 'fuel'
property_tables_root = '../property_file_dir/full_core_cuboid_msre_comp_fuel_data_func_of_fuel_temp_'
prop_names = 'rho k cp'
prop_values = '2.146e-3 .0553 1967' # Robertson MSRE technical report @ 922 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[./moder]
# type = CammiModerator
type = GenericMoltresMaterial
block = 'moder'
property_tables_root = '../property_file_dir/full_core_cuboid_msre_comp_mod_data_func_of_mod_temp_'
prop_names = 'rho k cp'
prop_values = '1.843e-3 .312 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[]
[BCs]
[./temp_diri_cg]
boundary = 'fuel_bottoms moder_bottoms fuel_sides'
type = DirichletBC
variable = temp
value = ${diri_temp}
[../]
[./temp_advection_outlet]
boundary = 'fuel_tops'
type = TemperatureOutflowBC
variable = temp
velocity = '0 0 ${flow_velocity}'
[../]
[]
# [Problem]
# type = FEProblem
# coord_type = RZ
# [../]
[Executioner]
type = Transient
end_time = 10000
# num_steps = 1
nl_rel_tol = 1e-6
nl_abs_tol = 1e-5
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -sub_pc_type -pc_asm_overlap -sub_ksp_type -snes_linesearch_minlambda'
petsc_options_value = 'asm lu 1 preonly 1e-3'
nl_max_its = 30
l_max_its = 100
dtmin = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.4
dt = 1e-3
growth_factor = 1.025
optimal_iterations = 20
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Outputs]
csv = true
print_linear_residuals = true
perf_graph = true
[./out]
type = Exodus
execute_on = 'initial timestep_end'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[ICs]
[./temp_all_ic_func]
type = FunctionIC
variable = temp
function = temp_ic_func
[../]
[]
[Functions]
[./temp_ic_func]
type = ParsedFunction
value = '${diri_temp}'
[../]
[./nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[../]
[./diri_temp_func]
type = ParsedFunction
value = '${diri_temp}'
[../]
[]
[Postprocessors]
[./group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[../]
[./temp_fuel]
type = ElementAverageValue
variable = temp
block = 'fuel'
outputs = 'csv console'
[../]
[./temp_moder]
type = ElementAverageValue
variable = temp
block = 'moder'
outputs = 'csv console'
[../]
# # [./average_fission_heat]
# # type = AverageFissionHeat
# # nt_scale = ${nt_scale}
# # execute_on = 'linear nonlinear'
# # outputs = 'csv console'
# # block = 'fuel'
# # [../]
[]
(problems/011317_notebook_perfectly_bracketed_critical_buckling_height_from_newt/Input_serpent.i)
flow_velocity=147 # Cammi 147 cm/s
inlet_temp=824
initial_outlet_temp=824
nt_scale=1e0
precursor_log_inlet_conc=-17
reactor_height=175 # Cammi 396 cm; critical_buckling_from_newt ~ 115 cm
global_temperature=900
[GlobalParams]
num_groups = 2
num_precursor_groups = 8
use_exp_form = true
group_fluxes = 'group1 group2'
v_def = ${flow_velocity}
tau = 1
transient_simulation = true
incompressible_flow = false
# prec_scale = 1e5
[../]
[Mesh]
file = 'cylinder_structured.msh'
[../]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'fuel_top graphite_top fuel_bottom graphite_bottom'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
create_temperature_var = false
# temperature = ${global_temperature}
temperature_value = ${global_temperature}
[]
# [Precursors]
# var_name_base = pre
# block = 'fuel'
# inlet_boundary = 'fuel_bottom'
# inlet_boundary_condition = 'DirichletBC'
# inlet_bc_value = ${precursor_log_inlet_conc}
# outlet_boundary = 'fuel_top'
# initial_condition = ${precursor_log_inlet_conc}
# tau = 1
# use_source_stabilization = true
# offset = 24
# []
# [Kernels]
# # Temperature
# [./temp_flow_fuel]
# block = 'fuel'
# type = MatINSTemperatureRZ
# variable = temp
# rho = 'rho'
# k = 'k'
# cp = 'cp'
# uz = ${flow_velocity}
# [../]
# [./temp_art_diff_fuel]
# block = 'fuel'
# type = ScalarAdvectionArtDiff
# variable = temp
# use_exp_form = false
# [../]
# [./temp_flow_moder]
# block = 'moder'
# type = MatINSTemperatureRZ
# variable = temp
# rho = 'rho'
# k = 'k'
# cp = 'cp'
# [../]
# [./temp_source]
# type = TransientFissionHeatSource
# variable = temp
# nt_scale=${nt_scale}
# [../]
# [./temp_time_derivative]
# type = MatINSTemperatureTimeDerivative
# variable = temp
# rho = 'rho'
# cp = 'cp'
# [../]
# []
[Materials]
[./fuel]
type = CammiFuel
block = 'fuel'
property_tables_root = '../property_file_dir/msr2g_Th_U_two_mat_homogenization_fuel_data_func_of_fuel_temp_'
prop_names = 'cp'
prop_values = '1357' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[./moder]
type = CammiModerator
block = 'moder'
property_tables_root = '../property_file_dir/msr2g_Th_U_two_mat_homogenization_mod_data_func_of_mod_temp_'
prop_names = 'rho cp'
prop_values = '1.843e-3 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[]
# [BCs]
# [./temp_inlet]
# boundary = 'fuel_bottom graphite_bottom'
# type = DirichletBC
# variable = temp
# value = ${inlet_temp}
# [../]
# [./temp_outlet]
# boundary = 'fuel_top'
# type = MatINSTemperatureNoBCBC
# variable = temp
# k = 'k'
# [../]
# [./temp_art_diff_fuel]
# boundary = 'fuel_top'
# type = ScalarAdvectionArtDiffNoBCBC
# variable = temp
# use_exp_form = false
# [../]
# []
[Problem]
type = FEProblem
coord_type = RZ
[../]
[Executioner]
type = Transient
end_time = 10000
# line_search = none
nl_rel_tol = 1e-6
# nl_abs_tol = 1e-5
# trans_ss_check = true
# ss_check_tol = 8e-9
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -pc_factor_shift_type -pc_factor_shift_amount -ksp_type -snes_linesearch_minlambda -pc_factor_mat_solver_package'
petsc_options_value = 'lu NONZERO 1.e-10 preonly 1e-3 mumps'
nl_max_its = 10
l_max_its = 10
dtmin = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.4
dt = 1e-4
growth_factor = 1.2
optimal_iterations = 20
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Outputs]
csv = true
[./out]
type = Exodus
execute_on = 'initial timestep_end'
[../]
[./dof_map]
type = DOFMap
[../]
[]
[Debug]
show_var_residual_norms = true
[]
# [ICs]
# # [./temp_ic]
# # type = ConstantIC
# # variable = temp
# # value = ${inlet_temp}
# # [../]
# [./temp_all_ic_func]
# type = FunctionIC
# variable = temp
# function = temp_ic_func
# [../]
# []
[Functions]
[./temp_ic_func]
type = ParsedFunction
value = '(${initial_outlet_temp} - ${inlet_temp}) / ${reactor_height} * y + ${inlet_temp}'
[../]
[./nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[../]
[]
[Postprocessors]
[./group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[../]
# [./temp_fuel]
# type = ElementAverageValue
# variable = temp
# block = 'fuel'
# # execute_on = 'linear nonlinear'
# outputs = 'csv console'
# [../]
# [./temp_moder]
# type = ElementAverageValue
# variable = temp
# block = 'moder'
# # execute_on = 'linear nonlinear'
# outputs = 'csv console'
# [../]
[]
(problems/011317_notebook_add_temperature_coupling/Input.i)
flow_velocity=147 # Cammi 147 cm/s
inlet_temp=824
initial_outlet_temp=824
nt_scale=1e16
precursor_log_inlet_conc=-17
reactor_height=115 # Cammi 396 cm; critical_buckling_from_newt ~ 115 cm
global_temperature=temp
[GlobalParams]
num_groups = 2
num_precursor_groups = 6
use_exp_form = true
group_fluxes = 'group1 group2'
v_def = ${flow_velocity}
tau = 1
transient_simulation = true
incompressible_flow = false
# prec_scale = 1e5
[../]
[Mesh]
file = 'cylinder_structured.msh'
[../]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'fuel_top graphite_top fuel_bottom graphite_bottom'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
# create_temperature_var = false
temperature = ${global_temperature}
# temperature_value = ${global_temperature}
[]
# [Precursors]
# var_name_base = pre
# block = 'fuel'
# inlet_boundary = 'fuel_bottom'
# inlet_boundary_condition = 'DirichletBC'
# inlet_bc_value = ${precursor_log_inlet_conc}
# outlet_boundary = 'fuel_top'
# initial_condition = ${precursor_log_inlet_conc}
# tau = 1
# use_source_stabilization = true
# offset = 24
# []
[Kernels]
# Temperature
[./temp_flow_fuel]
block = 'fuel'
type = MatINSTemperatureRZ
variable = temp
rho = 'rho'
k = 'k'
cp = 'cp'
uz = ${flow_velocity}
[../]
[./temp_art_diff_fuel]
block = 'fuel'
type = ScalarAdvectionArtDiff
variable = temp
use_exp_form = false
[../]
[./temp_flow_moder]
block = 'moder'
type = MatINSTemperatureRZ
variable = temp
rho = 'rho'
k = 'k'
cp = 'cp'
[../]
[./temp_source]
type = TransientFissionHeatSource
variable = temp
nt_scale=${nt_scale}
[../]
[./temp_time_derivative]
type = MatINSTemperatureTimeDerivative
variable = temp
rho = 'rho'
cp = 'cp'
[../]
[]
[Materials]
[./fuel]
type = CammiFuel
block = 'fuel'
property_tables_root = '../property_file_dir/newt_fuel_'
prop_names = 'cp'
prop_values = '1357' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[./moder]
type = CammiModerator
block = 'moder'
property_tables_root = '../property_file_dir/newt_mod_'
prop_names = 'rho cp'
prop_values = '1.843e-3 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[]
[BCs]
[./temp_inlet]
boundary = 'fuel_bottom graphite_bottom'
type = DirichletBC
variable = temp
value = ${inlet_temp}
[../]
[./temp_outlet]
boundary = 'fuel_top'
type = MatINSTemperatureNoBCBC
variable = temp
k = 'k'
[../]
[./temp_art_diff_fuel]
boundary = 'fuel_top'
type = ScalarAdvectionArtDiffNoBCBC
variable = temp
use_exp_form = false
[../]
[]
[Problem]
type = FEProblem
coord_type = RZ
[../]
[Executioner]
type = Transient
end_time = 10000
# line_search = none
nl_rel_tol = 1e-6
nl_abs_tol = 1e-5
# trans_ss_check = true
# ss_check_tol = 8e-9
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -pc_factor_shift_type -pc_factor_shift_amount -ksp_type -snes_linesearch_minlambda -pc_factor_mat_solver_package'
petsc_options_value = 'lu NONZERO 1.e-10 preonly 1e-3 mumps'
nl_max_its = 10
l_max_its = 10
dtmin = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.4
dt = 1e-4
growth_factor = 1.05
optimal_iterations = 20
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Outputs]
csv = true
[./out]
type = Exodus
execute_on = 'initial timestep_end'
[../]
[./dof_map]
type = DOFMap
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[ICs]
# [./temp_ic]
# type = ConstantIC
# variable = temp
# value = ${inlet_temp}
# [../]
[./temp_all_ic_func]
type = FunctionIC
variable = temp
function = temp_ic_func
[../]
[]
[Functions]
[./temp_ic_func]
type = ParsedFunction
value = '(${initial_outlet_temp} - ${inlet_temp}) / ${reactor_height} * y + ${inlet_temp}'
[../]
[./nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[../]
[]
[Postprocessors]
[./group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[../]
[./temp_fuel]
type = ElementAverageValue
variable = temp
block = 'fuel'
# execute_on = 'linear nonlinear'
outputs = 'csv console'
[../]
[./temp_moder]
type = ElementAverageValue
variable = temp
block = 'moder'
# execute_on = 'linear nonlinear'
outputs = 'csv console'
[../]
[]
(problems/012017_temperature_to_dg/test_mat_props.i)
flow_velocity=147 # Cammi 147 cm/s
inlet_temp=824
initial_outlet_temp=824
nt_scale=1e16
reactor_height=115 # Cammi 396 cm; critical_buckling_from_newt ~ 115 cm
global_temperature=temp
sigma_val=6
[GlobalParams]
num_groups = 2
num_precursor_groups = 6
use_exp_form = true
group_fluxes = 'group1 group2'
u_def = 0
v_def = ${flow_velocity}
w_def = 0
[../]
[Mesh]
file = 'one_element.msh'
[../]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'fuel_top graphite_top fuel_bottom graphite_bottom'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
# create_temperature_var = false
temperature = ${global_temperature}
# temperature_value = ${global_temperature}
dg_for_temperature = true
[]
# [Precursors]
# var_name_base = pre
# block = 'fuel'
# advection_boundaries = 'fuel_top fuel_bottom'
# family = MONOMIAL
# order = CONSTANT
# []
[Kernels]
# Temperature
[./temp_source]
type = TransientFissionHeatSource
variable = temp
nt_scale=${nt_scale}
block = 'fuel'
[../]
# [./source]
# type = UserForcingFunction
# variable = temp
# function = 'forcing_func'
# block = 'fuel'
# [../]
[./temp_time_derivative]
type = MatINSTemperatureTimeDerivative
variable = temp
[../]
[./temp_diffusion]
type = MatDiffusion
diffusivity = 'k'
variable = temp
[../]
[./temp_advection_fuel]
type = ConservativeTemperatureAdvection
velocity = '0 ${flow_velocity} 0'
variable = temp
block = 'fuel'
[../]
[]
[DGKernels]
[./temp_advection_fuel]
block = 'fuel'
type = DGTemperatureAdvection
variable = temp
velocity = '0 ${flow_velocity} 0'
[../]
[./temp_diffusion]
type = DGDiffusion
variable = temp
sigma = ${sigma_val}
epsilon = -1
diff = 'k'
[../]
[]
[Materials]
[./fuel]
type = CammiFuel
block = 'fuel'
property_tables_root = '../property_file_dir/newt_fuel_'
prop_names = 'cp'
prop_values = '1357' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[./moder]
type = CammiModerator
block = 'moder'
property_tables_root = '../property_file_dir/newt_mod_'
prop_names = 'rho cp'
prop_values = '1.843e-3 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[]
[BCs]
[./temp_dirichlet_diffusion_inlet]
boundary = 'fuel_bottom graphite_bottom'
type = DGFunctionDiffusionDirichletBC
variable = temp
sigma = ${sigma_val}
epsilon = -1
diff = 'k'
function = 'inlet_boundary_temp_func'
[../]
[./temp_advection_inlet]
boundary = 'fuel_bottom'
type = TemperatureInflowBC
variable = temp
velocity = '0 ${flow_velocity} 0'
inlet_conc = 824
[../]
[./temp_advection_outlet]
boundary = 'fuel_top'
type = TemperatureOutflowBC
variable = temp
velocity = '0 ${flow_velocity} 0'
[../]
[]
[Problem]
type = FEProblem
coord_type = RZ
[../]
[Executioner]
type = Transient
end_time = 1e-3
nl_rel_tol = 1e-6
nl_abs_tol = 1e-5
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -pc_factor_shift_type -pc_factor_shift_amount -ksp_type -snes_linesearch_minlambda -pc_factor_mat_solver_package'
petsc_options_value = 'lu NONZERO 1.e-10 preonly 1e-3 mumps'
nl_max_its = 20
l_max_its = 10
dtmin = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.4
dt = 1e-3
growth_factor = 1.025
optimal_iterations = 20
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Outputs]
csv = true
[./out]
type = Exodus
execute_on = 'initial timestep_end'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[ICs]
[./temp_all_ic_func]
type = FunctionIC
variable = temp
function = temp_ic_func
[../]
[]
[Functions]
[./forcing_func]
type = ParsedFunction
value = '1000'
[../]
[./temp_ic_func]
type = ParsedFunction
value = '(${initial_outlet_temp} - ${inlet_temp}) / ${reactor_height} * y + ${inlet_temp}'
[../]
[./nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[../]
[./inlet_boundary_temp_func]
type = ParsedFunction
value = '${inlet_temp}'
[../]
[]
[Postprocessors]
[./group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[../]
[./temp_fuel]
type = ElementAverageValue
variable = temp
block = 'fuel'
# execute_on = 'linear nonlinear'
outputs = 'csv console'
[../]
[./temp_moder]
type = ElementAverageValue
variable = temp
block = 'moder'
# execute_on = 'linear nonlinear'
outputs = 'csv console'
[../]
[]
(problems/020617_mod_heat_source_one_minus_beta_fission/Input_PJFNK.i)
flow_velocity=147 # Cammi 147 cm/s
inlet_temp=824
initial_outlet_temp=824
nt_scale=1e16
reactor_height=115 # Cammi 396 cm; critical_buckling_from_newt ~ 115 cm
global_temperature=temp
sigma_val=6
[GlobalParams]
num_groups = 2
num_precursor_groups = 6
use_exp_form = true
group_fluxes = 'group1 group2'
u_def = 0
v_def = ${flow_velocity}
w_def = 0
[../]
[Mesh]
file = 'cylinder_structured.msh'
[../]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'fuel_top graphite_top fuel_bottom graphite_bottom'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
# create_temperature_var = false
temperature = ${global_temperature}
# temperature_value = ${global_temperature}
dg_for_temperature = true
[]
# [Precursors]
# var_name_base = pre
# block = 'fuel'
# advection_boundaries = 'fuel_top fuel_bottom'
# family = MONOMIAL
# order = CONSTANT
# []
[Kernels]
# Temperature
[./temp_source_fuel]
type = TransientFissionHeatSource
variable = temp
nt_scale=${nt_scale}
block = 'fuel'
[../]
[./temp_source_mod]
type = GammaHeatSource
variable = temp
gamma = .0144 # Cammi .0144
block = 'moder'
average_fission_heat = 'average_fission_heat'
[../]
[./temp_time_derivative]
type = MatINSTemperatureTimeDerivative
variable = temp
[../]
[./temp_diffusion]
type = MatDiffusion
diffusivity = 'k'
variable = temp
[../]
[./temp_advection_fuel]
type = ConservativeTemperatureAdvection
velocity = '0 ${flow_velocity} 0'
variable = temp
block = 'fuel'
[../]
[]
[DGKernels]
[./temp_advection_fuel]
block = 'fuel'
type = DGTemperatureAdvection
variable = temp
velocity = '0 ${flow_velocity} 0'
[../]
[./temp_diffusion]
type = DGDiffusion
variable = temp
sigma = ${sigma_val}
epsilon = -1
diff = 'k'
[../]
[]
[Materials]
[./fuel]
type = CammiFuel
block = 'fuel'
property_tables_root = '../property_file_dir/newt_fuel_'
prop_names = 'cp'
prop_values = '1357' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[./moder]
type = CammiModerator
block = 'moder'
property_tables_root = '../property_file_dir/newt_mod_'
prop_names = 'rho cp'
prop_values = '1.843e-3 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[]
[BCs]
[./temp_dirichlet_diffusion_inlet]
boundary = 'fuel_bottom graphite_bottom'
type = DGFunctionDiffusionDirichletBC
variable = temp
sigma = ${sigma_val}
epsilon = -1
diff = 'k'
function = 'inlet_boundary_temp_func'
[../]
[./temp_advection_inlet]
boundary = 'fuel_bottom'
type = TemperatureInflowBC
variable = temp
velocity = '0 ${flow_velocity} 0'
inlet_conc = 824
[../]
[./temp_advection_outlet]
boundary = 'fuel_top'
type = TemperatureOutflowBC
variable = temp
velocity = '0 ${flow_velocity} 0'
[../]
[]
[Problem]
type = FEProblem
coord_type = RZ
[../]
[Executioner]
type = Transient
end_time = 10000
nl_rel_tol = 1e-6
nl_abs_tol = 1e-5
solve_type = 'PJFNK'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -sub_pc_type -pc_asm_overlap -sub_ksp_type -ksp_gmres_restart'
petsc_options_value = 'asm lu 2 preonly 31'
nl_max_its = 20
l_max_its = 10
dtmin = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.4
dt = 1e-3
growth_factor = 1.025
optimal_iterations = 20
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Outputs]
csv = true
print_linear_residuals = true
[./out]
type = Exodus
execute_on = 'initial timestep_end'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[ICs]
[./temp_all_ic_func]
type = FunctionIC
variable = temp
function = temp_ic_func
[../]
[]
[Functions]
[./forcing_func]
type = ParsedFunction
value = '1000'
[../]
[./temp_ic_func]
type = ParsedFunction
value = '(${initial_outlet_temp} - ${inlet_temp}) / ${reactor_height} * y + ${inlet_temp}'
[../]
[./nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[../]
[./inlet_boundary_temp_func]
type = ParsedFunction
value = '${inlet_temp}'
[../]
[]
[Postprocessors]
[./group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[../]
[./temp_fuel]
type = ElementAverageValue
variable = temp
block = 'fuel'
outputs = 'csv console'
[../]
[./temp_moder]
type = ElementAverageValue
variable = temp
block = 'moder'
outputs = 'csv console'
[../]
[./average_fission_heat]
type = AverageFissionHeat
nt_scale = ${nt_scale}
execute_on = 'linear nonlinear'
outputs = 'csv console'
block = 'fuel'
[../]
[]
(problems/020617_mod_heat_source_one_minus_beta_fission/Input.i)
flow_velocity=147 # Cammi 147 cm/s
inlet_temp=824
initial_outlet_temp=824
nt_scale=1e16
reactor_height=115 # Cammi 396 cm; critical_buckling_from_newt ~ 115 cm
global_temperature=temp
sigma_val=6
[GlobalParams]
num_groups = 2
num_precursor_groups = 6
use_exp_form = true
group_fluxes = 'group1 group2'
u_def = 0
v_def = ${flow_velocity}
w_def = 0
[../]
[Mesh]
file = 'cylinder_structured.msh'
[../]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'fuel_top graphite_top fuel_bottom graphite_bottom'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
# create_temperature_var = false
temperature = ${global_temperature}
# temperature_value = ${global_temperature}
dg_for_temperature = true
[]
# [Precursors]
# var_name_base = pre
# block = 'fuel'
# advection_boundaries = 'fuel_top fuel_bottom'
# family = MONOMIAL
# order = CONSTANT
# []
[Kernels]
# Temperature
[./temp_source_fuel]
type = TransientFissionHeatSource
variable = temp
nt_scale=${nt_scale}
block = 'fuel'
[../]
[./temp_source_mod]
type = GammaHeatSource
variable = temp
gamma = .0144 # Cammi .0144
block = 'moder'
average_fission_heat = 'average_fission_heat'
[../]
[./temp_time_derivative]
type = MatINSTemperatureTimeDerivative
variable = temp
[../]
[./temp_diffusion]
type = MatDiffusion
diffusivity = 'k'
variable = temp
[../]
[./temp_advection_fuel]
type = ConservativeTemperatureAdvection
velocity = '0 ${flow_velocity} 0'
variable = temp
block = 'fuel'
[../]
[]
[DGKernels]
[./temp_advection_fuel]
block = 'fuel'
type = DGTemperatureAdvection
variable = temp
velocity = '0 ${flow_velocity} 0'
[../]
[./temp_diffusion]
type = DGDiffusion
variable = temp
sigma = ${sigma_val}
epsilon = -1
diff = 'k'
[../]
[]
[Materials]
[./fuel]
type = CammiFuel
block = 'fuel'
property_tables_root = '../property_file_dir/newt_fuel_'
prop_names = 'cp'
prop_values = '1357' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[./moder]
type = CammiModerator
block = 'moder'
property_tables_root = '../property_file_dir/newt_mod_'
prop_names = 'rho cp'
prop_values = '1.843e-3 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[../]
[]
[BCs]
[./temp_dirichlet_diffusion_inlet]
boundary = 'fuel_bottom graphite_bottom'
type = DGFunctionDiffusionDirichletBC
variable = temp
sigma = ${sigma_val}
epsilon = -1
diff = 'k'
function = 'inlet_boundary_temp_func'
[../]
[./temp_advection_inlet]
boundary = 'fuel_bottom'
type = TemperatureInflowBC
variable = temp
velocity = '0 ${flow_velocity} 0'
inlet_conc = 824
[../]
[./temp_advection_outlet]
boundary = 'fuel_top'
type = TemperatureOutflowBC
variable = temp
velocity = '0 ${flow_velocity} 0'
[../]
[]
[Problem]
type = FEProblem
coord_type = RZ
[../]
[Executioner]
type = Transient
end_time = 10000
nl_rel_tol = 1e-6
nl_abs_tol = 1e-5
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -pc_factor_shift_type -pc_factor_shift_amount -ksp_type -snes_linesearch_minlambda -pc_factor_mat_solver_package'
petsc_options_value = 'lu NONZERO 1.e-10 preonly 1e-3 mumps'
nl_max_its = 20
l_max_its = 10
dtmin = 1e-5
[./TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.4
dt = 1e-3
growth_factor = 1.025
optimal_iterations = 20
[../]
[]
[Preconditioning]
[./SMP]
type = SMP
full = true
[../]
[]
[Outputs]
csv = true
[./out]
type = Exodus
execute_on = 'initial timestep_end'
[../]
[]
[Debug]
show_var_residual_norms = true
[]
[ICs]
[./temp_all_ic_func]
type = FunctionIC
variable = temp
function = temp_ic_func
[../]
[]
[Functions]
[./forcing_func]
type = ParsedFunction
value = '1000'
[../]
[./temp_ic_func]
type = ParsedFunction
value = '(${initial_outlet_temp} - ${inlet_temp}) / ${reactor_height} * y + ${inlet_temp}'
[../]
[./nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[../]
[./inlet_boundary_temp_func]
type = ParsedFunction
value = '${inlet_temp}'
[../]
[]
[Postprocessors]
[./group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[../]
[./multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[../]
[./temp_fuel]
type = ElementAverageValue
variable = temp
block = 'fuel'
outputs = 'csv console'
[../]
[./temp_moder]
type = ElementAverageValue
variable = temp
block = 'moder'
outputs = 'csv console'
[../]
[./average_fission_heat]
type = AverageFissionHeat
nt_scale = ${nt_scale}
execute_on = 'linear nonlinear'
outputs = 'csv console'
block = 'fuel'
[../]
[]
(problems/021417_MSRE_materials/CG_no_temp.i)
reactor_height = 162.56
# global_temperature=temp
global_temperature = 922
[GlobalParams]
num_groups = 2
num_precursor_groups = 8
use_exp_form = false
group_fluxes = 'group1 group2'
[]
[Mesh]
file = 'msre_22x22_correct_vol_fraction.msh'
[]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'fuel_bottoms fuel_tops moder_bottoms moder_tops fuel_sides'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
create_temperature_var = false
# temperature = ${global_temperature}
temperature_value = ${global_temperature}
dg_for_temperature = false
eigen = false
[]
[Materials]
[fuel]
# type = CammiFuel
type = GenericMoltresMaterial
block = 'fuel'
property_tables_root = '../property_file_dir/full_core_cuboid_msre_comp_fuel_data_func_of_fuel_temp_'
prop_names = 'rho k cp'
prop_values = '2.146e-3 .0553 1967' # Robertson MSRE technical report @ 922 K
interp_type = 'spline'
temperature = ${global_temperature}
[]
[moder]
# type = CammiModerator
type = GenericMoltresMaterial
block = 'moder'
property_tables_root = '../property_file_dir/full_core_cuboid_msre_comp_mod_data_func_of_mod_temp_'
prop_names = 'rho k cp'
prop_values = '1.843e-3 .312 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[]
[]
[Executioner]
type = Transient
end_time = 10000
# num_steps = 1
nl_rel_tol = 1e-6
nl_abs_tol = 1e-5
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor -snes_test_display'
# petsc_options_iname = '-pc_type -sub_pc_type -pc_asm_overlap -sub_ksp_type -snes_linesearch_minlambda'
# petsc_options_value = 'asm lu 1 preonly 1e-3'
petsc_options_iname = '-snes_type'
petsc_options_value = 'test'
nl_max_its = 30
l_max_its = 100
dtmin = 1e-5
[TimeStepper]
type = IterationAdaptiveDT
cutback_factor = 0.4
dt = 1e-3
growth_factor = 1.025
optimal_iterations = 20
[]
[]
[Preconditioning]
[SMP]
type = SMP
full = true
[]
[]
[Outputs]
csv = true
print_linear_residuals = true
perf_graph = true
exodus = true
[]
[Debug]
show_var_residual_norms = true
[]
[Functions]
[nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[]
[]
[Postprocessors]
[group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[]
[group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[]
[multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[]
[bnorm]
type = ElmIntegTotFissNtsPostprocessor
group_fluxes = 'group1 group2'
execute_on = linear
[]
[tot_fissions]
type = ElmIntegTotFissPostprocessor
execute_on = linear
[]
[group1norm]
type = ElementIntegralVariablePostprocessor
variable = group1
execute_on = linear
[]
[group2norm]
type = ElementIntegralVariablePostprocessor
variable = group2
execute_on = linear
[]
[group1max]
type = NodalExtremeValue
value_type = max
variable = group1
execute_on = timestep_end
[]
[group2max]
type = NodalExtremeValue
value_type = max
variable = group2
execute_on = timestep_end
[]
[group1diff]
type = ElementL2Diff
variable = group1
execute_on = 'linear timestep_end'
use_displaced_mesh = false
[]
[]
(problems/021417_MSRE_materials/CG_no_temp_eigen.i)
reactor_height = 162.56
# global_temperature=temp
global_temperature = 922
[GlobalParams]
num_groups = 2
num_precursor_groups = 8
use_exp_form = false
group_fluxes = 'group1 group2'
[]
[Mesh]
file = 'msre_22x22_correct_vol_fraction.msh'
[]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'fuel_bottoms fuel_tops moder_bottoms moder_tops fuel_sides'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
create_temperature_var = false
# temperature = ${global_temperature}
temperature_value = ${global_temperature}
dg_for_temperature = false
eigen = true
[]
[Materials]
[fuel]
# type = CammiFuel
type = GenericMoltresMaterial
block = 'fuel'
property_tables_root = '../property_file_dir/full_core_cuboid_msre_comp_fuel_data_func_of_fuel_temp_'
prop_names = 'rho k cp'
prop_values = '2.146e-3 .0553 1967' # Robertson MSRE technical report @ 922 K
interp_type = 'spline'
temperature = ${global_temperature}
[]
[moder]
# type = CammiModerator
type = GenericMoltresMaterial
block = 'moder'
property_tables_root = '../property_file_dir/full_core_cuboid_msre_comp_mod_data_func_of_mod_temp_'
prop_names = 'rho k cp'
prop_values = '1.843e-3 .312 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[]
[]
[Executioner]
# type = NonlinearEigen
# free_power_iterations = 4
# source_abs_tol = 1e-12
# source_rel_tol = 1e-8
# output_after_power_iterations = true
type = InversePowerMethod
max_power_iterations = 50
xdiff = 'group1diff'
bx_norm = 'bnorm'
k0 = 1.0
pfactor = 1e-2
l_max_its = 100
# solve_type = 'PJFNK'
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -sub_pc_type'
petsc_options_value = 'asm lu'
[]
[Preconditioning]
[SMP]
type = SMP
full = true
[]
[]
[Outputs]
csv = true
print_linear_residuals = true
perf_graph = true
exodus = true
[]
[Debug]
show_var_residual_norms = true
[]
[Functions]
[nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[]
[]
[Postprocessors]
[group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[]
[group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[]
[multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[]
[bnorm]
type = ElmIntegTotFissNtsPostprocessor
group_fluxes = 'group1 group2'
execute_on = linear
[]
[tot_fissions]
type = ElmIntegTotFissPostprocessor
execute_on = linear
[]
[group1norm]
type = ElementIntegralVariablePostprocessor
variable = group1
execute_on = linear
[]
[group2norm]
type = ElementIntegralVariablePostprocessor
variable = group2
execute_on = linear
[]
[group1max]
type = NodalExtremeValue
value_type = max
variable = group1
execute_on = timestep_end
[]
[group2max]
type = NodalExtremeValue
value_type = max
variable = group2
execute_on = timestep_end
[]
[group1diff]
type = ElementL2Diff
variable = group1
execute_on = 'linear timestep_end'
use_displaced_mesh = false
[]
[]
(problems/021417_MSRE_materials/CG_no_temp_eigen_b1_gcs.i)
reactor_height = 162.56
# global_temperature=temp
global_temperature = 922
[GlobalParams]
num_groups = 2
num_precursor_groups = 8
use_exp_form = false
group_fluxes = 'group1 group2'
[]
[Mesh]
file = 'msre_22x22_correct_vol_fraction.msh'
[]
[Nt]
var_name_base = 'group'
vacuum_boundaries = 'fuel_bottoms fuel_tops moder_bottoms moder_tops fuel_sides'
temp_scaling = 1e0
nt_ic_function = 'nt_ic_func'
create_temperature_var = false
# temperature = ${global_temperature}
temperature_value = ${global_temperature}
dg_for_temperature = false
eigen = true
[]
[Materials]
[fuel]
# type = CammiFuel
type = GenericMoltresMaterial
block = 'fuel'
property_tables_root = '../property_file_dir/B1_full_core_cuboid_msre_comp_fuel_data_func_of_fuel_temp_'
prop_names = 'rho k cp'
prop_values = '2.146e-3 .0553 1967' # Robertson MSRE technical report @ 922 K
interp_type = 'spline'
temperature = ${global_temperature}
[]
[moder]
# type = CammiModerator
type = GenericMoltresMaterial
block = 'moder'
property_tables_root = '../property_file_dir/B1_full_core_cuboid_msre_comp_mod_data_func_of_mod_temp_'
prop_names = 'rho k cp'
prop_values = '1.843e-3 .312 1760' # Cammi 2011 at 908 K
interp_type = 'spline'
temperature = ${global_temperature}
[]
[]
[Executioner]
# type = NonlinearEigen
# free_power_iterations = 4
# source_abs_tol = 1e-12
# source_rel_tol = 1e-8
# output_after_power_iterations = true
type = InversePowerMethod
max_power_iterations = 50
xdiff = 'group1diff'
bx_norm = 'bnorm'
k0 = 1.0
pfactor = 1e-2
l_max_its = 100
# solve_type = 'PJFNK'
solve_type = 'NEWTON'
petsc_options = '-snes_converged_reason -ksp_converged_reason -snes_linesearch_monitor'
petsc_options_iname = '-pc_type -sub_pc_type'
petsc_options_value = 'asm lu'
[]
[Preconditioning]
[SMP]
type = SMP
full = true
[]
[]
[Outputs]
csv = true
print_linear_residuals = true
perf_graph = true
exodus = true
[]
[Debug]
show_var_residual_norms = true
[]
[Functions]
[nt_ic_func]
type = ParsedFunction
value = '4/${reactor_height} * y * (1 - y/${reactor_height})'
[]
[]
[Postprocessors]
[group1_current]
type = IntegralNewVariablePostprocessor
variable = group1
outputs = 'csv console'
[]
[group1_old]
type = IntegralOldVariablePostprocessor
variable = group1
outputs = 'csv console'
[]
[multiplication]
type = DivisionPostprocessor
value1 = group1_current
value2 = group1_old
outputs = 'csv console'
[]
[bnorm]
type = ElmIntegTotFissNtsPostprocessor
group_fluxes = 'group1 group2'
execute_on = linear
[]
[tot_fissions]
type = ElmIntegTotFissPostprocessor
execute_on = linear
[]
[group1norm]
type = ElementIntegralVariablePostprocessor
variable = group1
execute_on = linear
[]
[group2norm]
type = ElementIntegralVariablePostprocessor
variable = group2
execute_on = linear
[]
[group1max]
type = NodalExtremeValue
value_type = max
variable = group1
execute_on = timestep_end
[]
[group2max]
type = NodalExtremeValue
value_type = max
variable = group2
execute_on = timestep_end
[]
[group1diff]
type = ElementL2Diff
variable = group1
execute_on = 'linear timestep_end'
use_displaced_mesh = false
[]
[]