- triso_geometryName of the UserObject that computes TRISO geometry.
C++ Type:UserObjectName
Controllable:No
Description:Name of the UserObject that computes TRISO geometry.
TRISOStressCorrelationFunction
Computes the stress correlation function.
Description
The stress for a multi-dimensional particle having parameter that varies from its mean value by an amount is approximated as: where is the stress of the SiC layer for a multi-dimensional particle having all parameters set at the mean values, is the stress of the SiC layer for an intact 1D spherical particle having all parameters set at the mean values, is the stress of the SiC layer for a 1D spherical particle having statistically varying parameters, and is a fitted function that describes the variation of maximum stress in the SiC layer of a cracked/aspherical particle:
Currently, we consider a statistical variation of the IPyC, SiC and OPyC layer thicknesses because they strongly affect particle failure. When they are varied from mean values, the stress is then approximated as:
To obtain the function, we typically sample seven points where , and is the standard deviation. At the midpoint, has a value of 1 because . At other data points, we perform both multi-dimension and one-dimension analysis to determine the value of the function. A polynomial curve fit is finally performed on the data points to generate the quadratic function.
The coefficients of "1", "", and "" are assigned to polynomial_coefficients_IPyC, polynomial_coefficients_SiC and polynomial_coefficients_OPyC. The ratio of is assigned to correlation_factor.
Example Input Syntax
[Functions<<<{"href": "../../syntax/Functions/index.html"}>>>]
[stress_correlation_crackedIPyC]
type = TRISOStressCorrelationFunction<<<{"description": "Computes the stress correlation function.", "href": "TRISOStressCorrelationFunction.html"}>>>
triso_geometry<<<{"description": "Name of the UserObject that computes TRISO geometry."}>>> = particle_geometry
polynomial_coefficients_IPyC<<<{"description": "Fitted polynomial function's coefficents for IPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 6922 -2.359e8'
polynomial_coefficients_SiC<<<{"description": "Fitted polynomial function's coefficents for SiC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 -1.257e4 1.82e8'
polynomial_coefficients_OPyC<<<{"description": "Fitted polynomial function's coefficents for OPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 -1.257e4 1.82e8'
correlation_factor<<<{"description": "The correlation factor."}>>> = -1.1932
[]
[](test/tests/triso_failure/higher_order_correlation.i)[Functions<<<{"href": "../../syntax/Functions/index.html"}>>>]
[stress_correlation_asphericity]
type = TRISOStressCorrelationFunction<<<{"description": "Computes the stress correlation function.", "href": "TRISOStressCorrelationFunction.html"}>>>
triso_geometry<<<{"description": "Name of the UserObject that computes TRISO geometry."}>>> = particle_geometry
polynomial_coefficients_IPyC<<<{"description": "Fitted polynomial function's coefficents for IPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 -1.716e4 2.123e8'
polynomial_coefficients_SiC<<<{"description": "Fitted polynomial function's coefficents for SiC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 2.688e4 -1.414e7'
polynomial_coefficients_OPyC<<<{"description": "Fitted polynomial function's coefficents for OPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 -1.716e4 2.123e8'
correlation_factor<<<{"description": "The correlation factor."}>>> = 0.2923
[]
[](test/tests/triso_failure/higher_order_correlation.i)[Functions<<<{"href": "../../syntax/Functions/index.html"}>>>]
[stress_change_correlation_asphericity]
type = TRISOStressCorrelationFunction<<<{"description": "Computes the stress correlation function.", "href": "TRISOStressCorrelationFunction.html"}>>>
triso_geometry<<<{"description": "Name of the UserObject that computes TRISO geometry."}>>> = particle_geometry
polynomial_coefficients_IPyC<<<{"description": "Fitted polynomial function's coefficents for IPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 -1.664e4 1.929e8'
polynomial_coefficients_SiC<<<{"description": "Fitted polynomial function's coefficents for SiC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 2.625e4 -1.112e7'
polynomial_coefficients_OPyC<<<{"description": "Fitted polynomial function's coefficents for OPyC thickness that correspond to constant, linear and quadratic terms."}>>> = '1 -1.664e4 1.929e8'
correlation_factor<<<{"description": "The correlation factor."}>>> = 0.5241
[]
[](test/tests/triso_failure/higher_order_correlation.i)Input Parameters
- correlation_factor1The correlation factor.
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The correlation factor.
- polynomial_coefficients_IPyC1 0 0 Fitted polynomial function's coefficents for IPyC thickness that correspond to constant, linear and quadratic terms.
Default:1 0 0
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Fitted polynomial function's coefficents for IPyC thickness that correspond to constant, linear and quadratic terms.
- polynomial_coefficients_OPyC1 0 0 Fitted polynomial function's coefficents for OPyC thickness that correspond to constant, linear and quadratic terms.
Default:1 0 0
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Fitted polynomial function's coefficents for OPyC thickness that correspond to constant, linear and quadratic terms.
- polynomial_coefficients_SiC1 0 0 Fitted polynomial function's coefficents for SiC thickness that correspond to constant, linear and quadratic terms.
Default:1 0 0
C++ Type:std::vector<double>
Unit:(no unit assumed)
Controllable:No
Description:Fitted polynomial function's coefficents for SiC thickness that correspond to constant, linear and quadratic terms.
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:No
Description:Set the enabled status of the MooseObject.
Advanced Parameters
Input Files
- (examples/TRISO/failure_probability_monte_carlo/triso_1d_function.i)
- (test/tests/triso_failure/higher_order_correlation.i)
- (test/tests/triso_failure/triso_1d_ipyc_weibull_probability.i)
- (test/tests/triso_failure/ad_triso_1d_ipyc_weibull_probability.i)
- (test/tests/triso_failure/triso_failure_diffusivity.i)
- (examples/TRISO/failure_probability_direct_integration/triso_1d.i)
- (examples/TRISO/failure_probability_monte_carlo/triso_1d_constant.i)
(test/tests/triso_failure/higher_order_correlation.i)
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x'
initial_enrichment = 0.155 # [wt-]
flux_conversion_factor = 1.0 # convert E>0.10 to E>0.18 MeV
stress_free_temperature = 973.15 # used for thermal expansion
energy_per_fission = 3.204e-11 # [J/fission]
O_U = 1.5 # Initial Oxygen to Uranium atom ratio
C_U = 0.4 # Initial Carbon to Uranium atom ratio
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DFiveLayerMeshGenerator
elem_type = EDGE3
kernel_radius = 212.5e-6
buffer_thickness = 100e-6
IPyC_thickness = 41e-6
SiC_thickness = 34e-6
OPyC_thickness = 44e-6
kernel_mesh_density = 5
buffer_mesh_density = 3
IPyC_mesh_density = 5
SiC_mesh_density = 3
OPyC_mesh_density = 4
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[UserObjects]
[particle_geometry]
type = TRISOGeometry
outer_OPyC = OPyC_outer_boundary
outer_SiC = SiC_outer_boundary
outer_IPyC = IPyC_outer_boundary
inner_IPyC = IPyC_inner_boundary
outer_buffer = buffer_outer_boundary
outer_kernel = fuel_outer_boundary
include_particle = true
include_pebble = false
IPyC_thickness_mean = 40e-6
SiC_thickness_mean = 35e-6
OPyC_thickness_mean = 40e-6
[]
[triso_failure_terminator]
type = Terminator
expression = 'triso_failure > 0'
[]
[]
[Variables]
[temperature]
initial_condition = 973.15
[]
[]
[AuxVariables]
[fission_rate]
order = CONSTANT
family = MONOMIAL
[]
[burnup]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_flux]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_fluence]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[power_history]
type = PiecewiseLinear
x = '0 76e6'
y = '1 1'
[]
[fission_rate]
type = LinearCombinationFunction
functions = power_history
w = 7.78e19
[]
[high_fidelity_strength_crackedIPyC]
type = PiecewiseLinear
x = '0 1.0e10'
y = '1.198892e9 1.198892e9'
[]
[stress_correlation_crackedIPyC]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 6922 -2.359e8'
polynomial_coefficients_SiC = '1 -1.257e4 1.82e8'
polynomial_coefficients_OPyC = '1 -1.257e4 1.82e8'
correlation_factor = -1.1932
[]
[high_fidelity_strength_asphericity]
type = PiecewiseLinear
x = '0 1.0e10'
y = '0.993212e9 0.993212e9'
[]
[stress_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 -1.716e4 2.123e8'
polynomial_coefficients_SiC = '1 2.688e4 -1.414e7'
polynomial_coefficients_OPyC = '1 -1.716e4 2.123e8'
correlation_factor = 0.2923
[]
[stress_change_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 -1.664e4 1.929e8'
polynomial_coefficients_SiC = '1 2.625e4 -1.112e7'
polynomial_coefficients_OPyC = '1 -1.664e4 1.929e8'
correlation_factor = 0.5241
[]
[]
[Physics/SolidMechanics/QuasiStatic]
generate_output = 'stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz max_principal_stress'
add_variables = true
strain = FINITE
incremental = true
[fuel]
block = fuel
eigenstrain_names = 'UCO_swelling_eigenstrain UCO_TE_strain'
extra_vector_tags = 'ref'
[]
[buffer]
block = buffer
eigenstrain_names = 'Buffer_IIDC_strain Buffer_TE_strain'
extra_vector_tags = 'ref'
[]
[IPyC]
block = IPyC
eigenstrain_names = 'IPyC_IIDC_strain IPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[SiC]
block = SiC
eigenstrain_names = 'SiC_thermal_eigenstrain'
extra_vector_tags = 'ref'
[]
[OPyC]
block = OPyC
eigenstrain_names = 'OPyC_IIDC_strain OPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[]
[Kernels]
[heat_ie]
type = HeatConductionTimeDerivative
variable = temperature
extra_vector_tags = 'ref'
[]
[heat]
type = HeatConduction
variable = temperature
extra_vector_tags = 'ref'
[]
[heat_source]
type = NeutronHeatSource
variable = temperature
block = fuel
fission_rate = fission_rate
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[fissionrate]
type = MaterialRealAux
variable = fission_rate
property = fission_rate
block = fuel
execute_on = timestep_begin
[]
[burnup]
type = MaterialRealAux
variable = burnup
property = burnup
block = fuel
execute_on = timestep_begin
[]
[fast_neutron_flux]
type = MaterialRealAux
variable = fast_neutron_flux
property = fast_neutron_flux
execute_on = timestep_begin
[]
[fast_neutron_fluence]
type = MaterialRealAux
variable = fast_neutron_fluence
property = fast_neutron_fluence
execute_on = timestep_begin
[]
[]
[ThermalContact]
[thermal_contact]
type = GasGapHeatTransfer
variable = temperature
primary = IPyC_inner_boundary
secondary = buffer_outer_boundary
initial_moles = initial_moles
gas_released = 'fis_gas_released'
released_gas_types = 'Kr Xe'
released_fractions = '0.185 0.815'
tangential_tolerance = 1e-6
quadrature = false
min_gap = 1e-7
max_gap = 50e-6
[]
[]
[BCs]
[no_disp_x]
type = DirichletBC
variable = disp_x
boundary = xzero
value = 0.0
[]
[freesurf_temp]
type = FunctionDirichletBC
variable = temperature
function = 973.15
boundary = exterior
[]
[PlenumPressure]
[plenumPressure]
boundary = buffer_IPyC_boundary
startup_time = 1e4
initial_pressure = 0
output_initial_moles = initial_moles
temperature = ave_gas_temp
volume = 'gap_volume buffer_void_volume kernel_void_volume'
material_input = 'fis_gas_released'
output = gas_pressure
[]
[]
[]
[Materials]
[tangential_stress]
type = RankTwoCylindricalComponent
rank_two_tensor = stress
cylindrical_axis_point1 = '0 0 0'
cylindrical_axis_point2 = '0 0 1'
cylindrical_component = HoopStress
property_name = tangential_stress
outputs = all
[]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_rate
block = fuel
[]
[fast_neutron_flux]
type = FastNeutronFlux
calculate_fluence = true
flux_function = power_history
factor = 1.16e18
[]
[UCO_burnup]
type = TRISOBurnup
initial_density = 11000
block = fuel
[]
[UCO_thermal]
type = UCOThermal
block = fuel
temperature = temperature
[]
[UCO_elasticity_tensor]
type = UCOElasticityTensor
block = fuel
temperature = temperature
[]
[UCO_stress]
type = ComputeFiniteStrainElasticStress
block = fuel
[]
[UCO_VolumetricSwellingEigenstrain]
type = UCOVolumetricSwellingEigenstrain
block = fuel
eigenstrain_name = UCO_swelling_eigenstrain
[]
[fuel_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = fuel
thermal_expansion_coeff = 10.0e-6
temperature = temperature
eigenstrain_name = UCO_TE_strain
[]
[UCO_density]
type = StrainAdjustedDensity
block = fuel
strain_free_density = 11000.0
[]
[fission_gas_release]
type = UCOFGR
block = fuel
average_grain_radius = 10e-6
temperature = temperature
triso_geometry = particle_geometry
cutoff_neutron_flux = 0.0
[]
[BAF]
type = BaconAnisotropyFactor
initial_BAF = 1.05
block = 'buffer IPyC OPyC'
[]
[buffer_elasticity_tensor]
type = BufferElasticityTensor
block = buffer
temperature = temperature
[]
[buffer_stress]
type = BufferCEGACreep
block = buffer
temperature = temperature
[]
[buffer_thermal]
type = BufferThermal
block = buffer
initial_density = 1050.0
[]
[buffer_density]
type = StrainAdjustedDensity
block = buffer
strain_free_density = 1050.0
[]
[buffer_TE]
type = BufferThermalExpansionEigenstrain
block = buffer
eigenstrain_name = Buffer_TE_strain
temperature = temperature
[]
[buffer_IIDC]
type = BufferCEGAIrradiationEigenstrain
block = buffer
eigenstrain_name = Buffer_IIDC_strain
temperature = temperature
[]
[IPyC_elasticity_tensor]
type = PyCElasticityTensor
block = IPyC
temperature = temperature
[]
[IPyC_stress]
type = PyCCEGACreep
block = IPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[IPyC_thermal]
type = HeatConductionMaterial
block = IPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[IPyC_density]
type = GenericConstantMaterial
block = IPyC
prop_names = 'density'
prop_values = 1900
[]
[normal_vectors_triso]
type = NormalVectorsTRISO
block = 'buffer IPyC OPyC'
[]
[IPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = IPyC
eigenstrain_name = IPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[IPyC_TE]
type = PyCThermalExpansionEigenstrain
block = IPyC
eigenstrain_name = IPyC_TE_strain
temperature = temperature
[]
[SiC_elasticity_tensor]
type = MonolithicSiCElasticityTensor
block = SiC
temperature = temperature
elastic_modulus_model = miller
[]
[SiC_stress]
type = ComputeFiniteStrainElasticStress
block = SiC
[]
[SiC_thermal]
type = MonolithicSiCThermal
block = SiC
temperature = temperature
thermal_conductivity_model = miller
[]
[SiC_density]
type = StrainAdjustedDensity
block = SiC
strain_free_density = 3200.0
[]
[SiC_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = SiC
thermal_expansion_coeff = 4.9e-6
temperature = temperature
eigenstrain_name = SiC_thermal_eigenstrain
[]
[OPyC_elasticity_tensor]
type = PyCElasticityTensor
block = OPyC
temperature = temperature
initial_BAF = 1.0
[]
[OPyC_stress]
type = PyCCEGACreep
block = OPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[OPyC_thermal_conductivity]
type = HeatConductionMaterial
block = OPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[OPyC_density]
type = GenericConstantMaterial
block = OPyC
prop_names = 'density'
prop_values = 1900
[]
[OPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = OPyC
eigenstrain_name = OPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[OPyC_TE]
type = PyCThermalExpansionEigenstrain
block = OPyC
eigenstrain_name = OPyC_TE_strain
temperature = temperature
[]
[characteristic_strength_SiC]
type = GenericConstantMaterial
prop_values = '9640000'
block = SiC
prop_names = 'characteristic_strength'
[]
[characteristic_strength_PyC]
type = PyCCharacteristicStrength
temperature = temperature
X = 1.02
block = 'IPyC OPyC'
[]
[]
[Dampers]
[temp]
type = MaxIncrement
variable = temperature
max_increment = 100
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 5e-6
nl_abs_tol = 1e-8
nl_max_its = 20
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 1e+06
dtmax = 2e5
dtmin = 1e-4
[TimeStepper]
type = IterationAdaptiveDT
dt = 1
optimal_iterations = 10
linear_iteration_ratio = 100
[]
[]
[Postprocessors]
[ave_gas_temp]
type = ElementAverageValue
block = buffer
variable = temperature
execute_on = 'initial timestep_end'
[]
[fis_gas_released]
type = ElementIntegralMaterialProperty
mat_prop = fis_gas_released
block = fuel
use_displaced_mesh = false
execute_on = 'initial timestep_end'
[]
[gap_volume]
type = InternalVolume
boundary = buffer_IPyC_boundary
execute_on = 'initial linear'
use_displaced_mesh = true
[]
[buffer_void_volume]
type = VoidVolume
block = buffer
theoretical_density = 2250
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[kernel_th_density]
type = UCOTheoreticalDensity
execute_on = initial
[]
[kernel_void_volume]
type = VoidVolume
block = fuel
theoretical_density = kernel_th_density
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[particle_power]
type = ElementIntegralPower
variable = temperature
use_material_fission_rate = true
fission_rate_material = fission_rate
block = fuel
execute_on = 'initial timestep_end'
[]
[max_fluence]
type = ElementExtremeValue
variable = fast_neutron_fluence
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[max_burnup]
type = ElementExtremeValue
variable = burnup
block = fuel
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[SiC_stress]
type = ElementExtremeMaterialProperty
block = SiC
value_type = max
mat_prop = tangential_stress
[]
[strength_SiC]
type = WeibullEffectiveMeanStrength
block = SiC
weibull_modulus = 6
use_displaced_mesh = true
[]
[failure_indicator_SiC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_asphericity'
stress_correlation_function = 'stress_correlation_asphericity'
stress_change_correlation_function = 'stress_change_correlation_asphericity'
[]
[strength_IPyC]
type = WeibullEffectiveMeanStrength
block = IPyC
weibull_modulus = 9.5
use_displaced_mesh = true
[]
[failure_indicator_IPyC]
type = WeibullFailureOutputUsingCorrelation
block = IPyC
weibull_modulus = 9.5
stress_name = max_principal_stress
effective_mean_strength = strength_IPyC
[]
[failure_indicator_SiC_crackedIPyC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_crackedIPyC'
stress_correlation_function = 'stress_correlation_crackedIPyC'
[]
[triso_failure]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
[]
[]
[Outputs]
print_linear_residuals = false
time_step_interval = 1
csv = true
exodus = false
[]
(test/tests/triso_failure/higher_order_correlation.i)
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x'
initial_enrichment = 0.155 # [wt-]
flux_conversion_factor = 1.0 # convert E>0.10 to E>0.18 MeV
stress_free_temperature = 973.15 # used for thermal expansion
energy_per_fission = 3.204e-11 # [J/fission]
O_U = 1.5 # Initial Oxygen to Uranium atom ratio
C_U = 0.4 # Initial Carbon to Uranium atom ratio
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DFiveLayerMeshGenerator
elem_type = EDGE3
kernel_radius = 212.5e-6
buffer_thickness = 100e-6
IPyC_thickness = 41e-6
SiC_thickness = 34e-6
OPyC_thickness = 44e-6
kernel_mesh_density = 5
buffer_mesh_density = 3
IPyC_mesh_density = 5
SiC_mesh_density = 3
OPyC_mesh_density = 4
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[UserObjects]
[particle_geometry]
type = TRISOGeometry
outer_OPyC = OPyC_outer_boundary
outer_SiC = SiC_outer_boundary
outer_IPyC = IPyC_outer_boundary
inner_IPyC = IPyC_inner_boundary
outer_buffer = buffer_outer_boundary
outer_kernel = fuel_outer_boundary
include_particle = true
include_pebble = false
IPyC_thickness_mean = 40e-6
SiC_thickness_mean = 35e-6
OPyC_thickness_mean = 40e-6
[]
[triso_failure_terminator]
type = Terminator
expression = 'triso_failure > 0'
[]
[]
[Variables]
[temperature]
initial_condition = 973.15
[]
[]
[AuxVariables]
[fission_rate]
order = CONSTANT
family = MONOMIAL
[]
[burnup]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_flux]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_fluence]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[power_history]
type = PiecewiseLinear
x = '0 76e6'
y = '1 1'
[]
[fission_rate]
type = LinearCombinationFunction
functions = power_history
w = 7.78e19
[]
[high_fidelity_strength_crackedIPyC]
type = PiecewiseLinear
x = '0 1.0e10'
y = '1.198892e9 1.198892e9'
[]
[stress_correlation_crackedIPyC]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 6922 -2.359e8'
polynomial_coefficients_SiC = '1 -1.257e4 1.82e8'
polynomial_coefficients_OPyC = '1 -1.257e4 1.82e8'
correlation_factor = -1.1932
[]
[high_fidelity_strength_asphericity]
type = PiecewiseLinear
x = '0 1.0e10'
y = '0.993212e9 0.993212e9'
[]
[stress_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 -1.716e4 2.123e8'
polynomial_coefficients_SiC = '1 2.688e4 -1.414e7'
polynomial_coefficients_OPyC = '1 -1.716e4 2.123e8'
correlation_factor = 0.2923
[]
[stress_change_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 -1.664e4 1.929e8'
polynomial_coefficients_SiC = '1 2.625e4 -1.112e7'
polynomial_coefficients_OPyC = '1 -1.664e4 1.929e8'
correlation_factor = 0.5241
[]
[]
[Physics/SolidMechanics/QuasiStatic]
generate_output = 'stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz max_principal_stress'
add_variables = true
strain = FINITE
incremental = true
[fuel]
block = fuel
eigenstrain_names = 'UCO_swelling_eigenstrain UCO_TE_strain'
extra_vector_tags = 'ref'
[]
[buffer]
block = buffer
eigenstrain_names = 'Buffer_IIDC_strain Buffer_TE_strain'
extra_vector_tags = 'ref'
[]
[IPyC]
block = IPyC
eigenstrain_names = 'IPyC_IIDC_strain IPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[SiC]
block = SiC
eigenstrain_names = 'SiC_thermal_eigenstrain'
extra_vector_tags = 'ref'
[]
[OPyC]
block = OPyC
eigenstrain_names = 'OPyC_IIDC_strain OPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[]
[Kernels]
[heat_ie]
type = HeatConductionTimeDerivative
variable = temperature
extra_vector_tags = 'ref'
[]
[heat]
type = HeatConduction
variable = temperature
extra_vector_tags = 'ref'
[]
[heat_source]
type = NeutronHeatSource
variable = temperature
block = fuel
fission_rate = fission_rate
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[fissionrate]
type = MaterialRealAux
variable = fission_rate
property = fission_rate
block = fuel
execute_on = timestep_begin
[]
[burnup]
type = MaterialRealAux
variable = burnup
property = burnup
block = fuel
execute_on = timestep_begin
[]
[fast_neutron_flux]
type = MaterialRealAux
variable = fast_neutron_flux
property = fast_neutron_flux
execute_on = timestep_begin
[]
[fast_neutron_fluence]
type = MaterialRealAux
variable = fast_neutron_fluence
property = fast_neutron_fluence
execute_on = timestep_begin
[]
[]
[ThermalContact]
[thermal_contact]
type = GasGapHeatTransfer
variable = temperature
primary = IPyC_inner_boundary
secondary = buffer_outer_boundary
initial_moles = initial_moles
gas_released = 'fis_gas_released'
released_gas_types = 'Kr Xe'
released_fractions = '0.185 0.815'
tangential_tolerance = 1e-6
quadrature = false
min_gap = 1e-7
max_gap = 50e-6
[]
[]
[BCs]
[no_disp_x]
type = DirichletBC
variable = disp_x
boundary = xzero
value = 0.0
[]
[freesurf_temp]
type = FunctionDirichletBC
variable = temperature
function = 973.15
boundary = exterior
[]
[PlenumPressure]
[plenumPressure]
boundary = buffer_IPyC_boundary
startup_time = 1e4
initial_pressure = 0
output_initial_moles = initial_moles
temperature = ave_gas_temp
volume = 'gap_volume buffer_void_volume kernel_void_volume'
material_input = 'fis_gas_released'
output = gas_pressure
[]
[]
[]
[Materials]
[tangential_stress]
type = RankTwoCylindricalComponent
rank_two_tensor = stress
cylindrical_axis_point1 = '0 0 0'
cylindrical_axis_point2 = '0 0 1'
cylindrical_component = HoopStress
property_name = tangential_stress
outputs = all
[]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_rate
block = fuel
[]
[fast_neutron_flux]
type = FastNeutronFlux
calculate_fluence = true
flux_function = power_history
factor = 1.16e18
[]
[UCO_burnup]
type = TRISOBurnup
initial_density = 11000
block = fuel
[]
[UCO_thermal]
type = UCOThermal
block = fuel
temperature = temperature
[]
[UCO_elasticity_tensor]
type = UCOElasticityTensor
block = fuel
temperature = temperature
[]
[UCO_stress]
type = ComputeFiniteStrainElasticStress
block = fuel
[]
[UCO_VolumetricSwellingEigenstrain]
type = UCOVolumetricSwellingEigenstrain
block = fuel
eigenstrain_name = UCO_swelling_eigenstrain
[]
[fuel_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = fuel
thermal_expansion_coeff = 10.0e-6
temperature = temperature
eigenstrain_name = UCO_TE_strain
[]
[UCO_density]
type = StrainAdjustedDensity
block = fuel
strain_free_density = 11000.0
[]
[fission_gas_release]
type = UCOFGR
block = fuel
average_grain_radius = 10e-6
temperature = temperature
triso_geometry = particle_geometry
cutoff_neutron_flux = 0.0
[]
[BAF]
type = BaconAnisotropyFactor
initial_BAF = 1.05
block = 'buffer IPyC OPyC'
[]
[buffer_elasticity_tensor]
type = BufferElasticityTensor
block = buffer
temperature = temperature
[]
[buffer_stress]
type = BufferCEGACreep
block = buffer
temperature = temperature
[]
[buffer_thermal]
type = BufferThermal
block = buffer
initial_density = 1050.0
[]
[buffer_density]
type = StrainAdjustedDensity
block = buffer
strain_free_density = 1050.0
[]
[buffer_TE]
type = BufferThermalExpansionEigenstrain
block = buffer
eigenstrain_name = Buffer_TE_strain
temperature = temperature
[]
[buffer_IIDC]
type = BufferCEGAIrradiationEigenstrain
block = buffer
eigenstrain_name = Buffer_IIDC_strain
temperature = temperature
[]
[IPyC_elasticity_tensor]
type = PyCElasticityTensor
block = IPyC
temperature = temperature
[]
[IPyC_stress]
type = PyCCEGACreep
block = IPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[IPyC_thermal]
type = HeatConductionMaterial
block = IPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[IPyC_density]
type = GenericConstantMaterial
block = IPyC
prop_names = 'density'
prop_values = 1900
[]
[normal_vectors_triso]
type = NormalVectorsTRISO
block = 'buffer IPyC OPyC'
[]
[IPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = IPyC
eigenstrain_name = IPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[IPyC_TE]
type = PyCThermalExpansionEigenstrain
block = IPyC
eigenstrain_name = IPyC_TE_strain
temperature = temperature
[]
[SiC_elasticity_tensor]
type = MonolithicSiCElasticityTensor
block = SiC
temperature = temperature
elastic_modulus_model = miller
[]
[SiC_stress]
type = ComputeFiniteStrainElasticStress
block = SiC
[]
[SiC_thermal]
type = MonolithicSiCThermal
block = SiC
temperature = temperature
thermal_conductivity_model = miller
[]
[SiC_density]
type = StrainAdjustedDensity
block = SiC
strain_free_density = 3200.0
[]
[SiC_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = SiC
thermal_expansion_coeff = 4.9e-6
temperature = temperature
eigenstrain_name = SiC_thermal_eigenstrain
[]
[OPyC_elasticity_tensor]
type = PyCElasticityTensor
block = OPyC
temperature = temperature
initial_BAF = 1.0
[]
[OPyC_stress]
type = PyCCEGACreep
block = OPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[OPyC_thermal_conductivity]
type = HeatConductionMaterial
block = OPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[OPyC_density]
type = GenericConstantMaterial
block = OPyC
prop_names = 'density'
prop_values = 1900
[]
[OPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = OPyC
eigenstrain_name = OPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[OPyC_TE]
type = PyCThermalExpansionEigenstrain
block = OPyC
eigenstrain_name = OPyC_TE_strain
temperature = temperature
[]
[characteristic_strength_SiC]
type = GenericConstantMaterial
prop_values = '9640000'
block = SiC
prop_names = 'characteristic_strength'
[]
[characteristic_strength_PyC]
type = PyCCharacteristicStrength
temperature = temperature
X = 1.02
block = 'IPyC OPyC'
[]
[]
[Dampers]
[temp]
type = MaxIncrement
variable = temperature
max_increment = 100
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 5e-6
nl_abs_tol = 1e-8
nl_max_its = 20
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 1e+06
dtmax = 2e5
dtmin = 1e-4
[TimeStepper]
type = IterationAdaptiveDT
dt = 1
optimal_iterations = 10
linear_iteration_ratio = 100
[]
[]
[Postprocessors]
[ave_gas_temp]
type = ElementAverageValue
block = buffer
variable = temperature
execute_on = 'initial timestep_end'
[]
[fis_gas_released]
type = ElementIntegralMaterialProperty
mat_prop = fis_gas_released
block = fuel
use_displaced_mesh = false
execute_on = 'initial timestep_end'
[]
[gap_volume]
type = InternalVolume
boundary = buffer_IPyC_boundary
execute_on = 'initial linear'
use_displaced_mesh = true
[]
[buffer_void_volume]
type = VoidVolume
block = buffer
theoretical_density = 2250
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[kernel_th_density]
type = UCOTheoreticalDensity
execute_on = initial
[]
[kernel_void_volume]
type = VoidVolume
block = fuel
theoretical_density = kernel_th_density
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[particle_power]
type = ElementIntegralPower
variable = temperature
use_material_fission_rate = true
fission_rate_material = fission_rate
block = fuel
execute_on = 'initial timestep_end'
[]
[max_fluence]
type = ElementExtremeValue
variable = fast_neutron_fluence
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[max_burnup]
type = ElementExtremeValue
variable = burnup
block = fuel
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[SiC_stress]
type = ElementExtremeMaterialProperty
block = SiC
value_type = max
mat_prop = tangential_stress
[]
[strength_SiC]
type = WeibullEffectiveMeanStrength
block = SiC
weibull_modulus = 6
use_displaced_mesh = true
[]
[failure_indicator_SiC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_asphericity'
stress_correlation_function = 'stress_correlation_asphericity'
stress_change_correlation_function = 'stress_change_correlation_asphericity'
[]
[strength_IPyC]
type = WeibullEffectiveMeanStrength
block = IPyC
weibull_modulus = 9.5
use_displaced_mesh = true
[]
[failure_indicator_IPyC]
type = WeibullFailureOutputUsingCorrelation
block = IPyC
weibull_modulus = 9.5
stress_name = max_principal_stress
effective_mean_strength = strength_IPyC
[]
[failure_indicator_SiC_crackedIPyC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_crackedIPyC'
stress_correlation_function = 'stress_correlation_crackedIPyC'
[]
[triso_failure]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
[]
[]
[Outputs]
print_linear_residuals = false
time_step_interval = 1
csv = true
exodus = false
[]
(test/tests/triso_failure/higher_order_correlation.i)
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x'
initial_enrichment = 0.155 # [wt-]
flux_conversion_factor = 1.0 # convert E>0.10 to E>0.18 MeV
stress_free_temperature = 973.15 # used for thermal expansion
energy_per_fission = 3.204e-11 # [J/fission]
O_U = 1.5 # Initial Oxygen to Uranium atom ratio
C_U = 0.4 # Initial Carbon to Uranium atom ratio
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DFiveLayerMeshGenerator
elem_type = EDGE3
kernel_radius = 212.5e-6
buffer_thickness = 100e-6
IPyC_thickness = 41e-6
SiC_thickness = 34e-6
OPyC_thickness = 44e-6
kernel_mesh_density = 5
buffer_mesh_density = 3
IPyC_mesh_density = 5
SiC_mesh_density = 3
OPyC_mesh_density = 4
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[UserObjects]
[particle_geometry]
type = TRISOGeometry
outer_OPyC = OPyC_outer_boundary
outer_SiC = SiC_outer_boundary
outer_IPyC = IPyC_outer_boundary
inner_IPyC = IPyC_inner_boundary
outer_buffer = buffer_outer_boundary
outer_kernel = fuel_outer_boundary
include_particle = true
include_pebble = false
IPyC_thickness_mean = 40e-6
SiC_thickness_mean = 35e-6
OPyC_thickness_mean = 40e-6
[]
[triso_failure_terminator]
type = Terminator
expression = 'triso_failure > 0'
[]
[]
[Variables]
[temperature]
initial_condition = 973.15
[]
[]
[AuxVariables]
[fission_rate]
order = CONSTANT
family = MONOMIAL
[]
[burnup]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_flux]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_fluence]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[power_history]
type = PiecewiseLinear
x = '0 76e6'
y = '1 1'
[]
[fission_rate]
type = LinearCombinationFunction
functions = power_history
w = 7.78e19
[]
[high_fidelity_strength_crackedIPyC]
type = PiecewiseLinear
x = '0 1.0e10'
y = '1.198892e9 1.198892e9'
[]
[stress_correlation_crackedIPyC]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 6922 -2.359e8'
polynomial_coefficients_SiC = '1 -1.257e4 1.82e8'
polynomial_coefficients_OPyC = '1 -1.257e4 1.82e8'
correlation_factor = -1.1932
[]
[high_fidelity_strength_asphericity]
type = PiecewiseLinear
x = '0 1.0e10'
y = '0.993212e9 0.993212e9'
[]
[stress_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 -1.716e4 2.123e8'
polynomial_coefficients_SiC = '1 2.688e4 -1.414e7'
polynomial_coefficients_OPyC = '1 -1.716e4 2.123e8'
correlation_factor = 0.2923
[]
[stress_change_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 -1.664e4 1.929e8'
polynomial_coefficients_SiC = '1 2.625e4 -1.112e7'
polynomial_coefficients_OPyC = '1 -1.664e4 1.929e8'
correlation_factor = 0.5241
[]
[]
[Physics/SolidMechanics/QuasiStatic]
generate_output = 'stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz max_principal_stress'
add_variables = true
strain = FINITE
incremental = true
[fuel]
block = fuel
eigenstrain_names = 'UCO_swelling_eigenstrain UCO_TE_strain'
extra_vector_tags = 'ref'
[]
[buffer]
block = buffer
eigenstrain_names = 'Buffer_IIDC_strain Buffer_TE_strain'
extra_vector_tags = 'ref'
[]
[IPyC]
block = IPyC
eigenstrain_names = 'IPyC_IIDC_strain IPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[SiC]
block = SiC
eigenstrain_names = 'SiC_thermal_eigenstrain'
extra_vector_tags = 'ref'
[]
[OPyC]
block = OPyC
eigenstrain_names = 'OPyC_IIDC_strain OPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[]
[Kernels]
[heat_ie]
type = HeatConductionTimeDerivative
variable = temperature
extra_vector_tags = 'ref'
[]
[heat]
type = HeatConduction
variable = temperature
extra_vector_tags = 'ref'
[]
[heat_source]
type = NeutronHeatSource
variable = temperature
block = fuel
fission_rate = fission_rate
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[fissionrate]
type = MaterialRealAux
variable = fission_rate
property = fission_rate
block = fuel
execute_on = timestep_begin
[]
[burnup]
type = MaterialRealAux
variable = burnup
property = burnup
block = fuel
execute_on = timestep_begin
[]
[fast_neutron_flux]
type = MaterialRealAux
variable = fast_neutron_flux
property = fast_neutron_flux
execute_on = timestep_begin
[]
[fast_neutron_fluence]
type = MaterialRealAux
variable = fast_neutron_fluence
property = fast_neutron_fluence
execute_on = timestep_begin
[]
[]
[ThermalContact]
[thermal_contact]
type = GasGapHeatTransfer
variable = temperature
primary = IPyC_inner_boundary
secondary = buffer_outer_boundary
initial_moles = initial_moles
gas_released = 'fis_gas_released'
released_gas_types = 'Kr Xe'
released_fractions = '0.185 0.815'
tangential_tolerance = 1e-6
quadrature = false
min_gap = 1e-7
max_gap = 50e-6
[]
[]
[BCs]
[no_disp_x]
type = DirichletBC
variable = disp_x
boundary = xzero
value = 0.0
[]
[freesurf_temp]
type = FunctionDirichletBC
variable = temperature
function = 973.15
boundary = exterior
[]
[PlenumPressure]
[plenumPressure]
boundary = buffer_IPyC_boundary
startup_time = 1e4
initial_pressure = 0
output_initial_moles = initial_moles
temperature = ave_gas_temp
volume = 'gap_volume buffer_void_volume kernel_void_volume'
material_input = 'fis_gas_released'
output = gas_pressure
[]
[]
[]
[Materials]
[tangential_stress]
type = RankTwoCylindricalComponent
rank_two_tensor = stress
cylindrical_axis_point1 = '0 0 0'
cylindrical_axis_point2 = '0 0 1'
cylindrical_component = HoopStress
property_name = tangential_stress
outputs = all
[]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_rate
block = fuel
[]
[fast_neutron_flux]
type = FastNeutronFlux
calculate_fluence = true
flux_function = power_history
factor = 1.16e18
[]
[UCO_burnup]
type = TRISOBurnup
initial_density = 11000
block = fuel
[]
[UCO_thermal]
type = UCOThermal
block = fuel
temperature = temperature
[]
[UCO_elasticity_tensor]
type = UCOElasticityTensor
block = fuel
temperature = temperature
[]
[UCO_stress]
type = ComputeFiniteStrainElasticStress
block = fuel
[]
[UCO_VolumetricSwellingEigenstrain]
type = UCOVolumetricSwellingEigenstrain
block = fuel
eigenstrain_name = UCO_swelling_eigenstrain
[]
[fuel_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = fuel
thermal_expansion_coeff = 10.0e-6
temperature = temperature
eigenstrain_name = UCO_TE_strain
[]
[UCO_density]
type = StrainAdjustedDensity
block = fuel
strain_free_density = 11000.0
[]
[fission_gas_release]
type = UCOFGR
block = fuel
average_grain_radius = 10e-6
temperature = temperature
triso_geometry = particle_geometry
cutoff_neutron_flux = 0.0
[]
[BAF]
type = BaconAnisotropyFactor
initial_BAF = 1.05
block = 'buffer IPyC OPyC'
[]
[buffer_elasticity_tensor]
type = BufferElasticityTensor
block = buffer
temperature = temperature
[]
[buffer_stress]
type = BufferCEGACreep
block = buffer
temperature = temperature
[]
[buffer_thermal]
type = BufferThermal
block = buffer
initial_density = 1050.0
[]
[buffer_density]
type = StrainAdjustedDensity
block = buffer
strain_free_density = 1050.0
[]
[buffer_TE]
type = BufferThermalExpansionEigenstrain
block = buffer
eigenstrain_name = Buffer_TE_strain
temperature = temperature
[]
[buffer_IIDC]
type = BufferCEGAIrradiationEigenstrain
block = buffer
eigenstrain_name = Buffer_IIDC_strain
temperature = temperature
[]
[IPyC_elasticity_tensor]
type = PyCElasticityTensor
block = IPyC
temperature = temperature
[]
[IPyC_stress]
type = PyCCEGACreep
block = IPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[IPyC_thermal]
type = HeatConductionMaterial
block = IPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[IPyC_density]
type = GenericConstantMaterial
block = IPyC
prop_names = 'density'
prop_values = 1900
[]
[normal_vectors_triso]
type = NormalVectorsTRISO
block = 'buffer IPyC OPyC'
[]
[IPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = IPyC
eigenstrain_name = IPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[IPyC_TE]
type = PyCThermalExpansionEigenstrain
block = IPyC
eigenstrain_name = IPyC_TE_strain
temperature = temperature
[]
[SiC_elasticity_tensor]
type = MonolithicSiCElasticityTensor
block = SiC
temperature = temperature
elastic_modulus_model = miller
[]
[SiC_stress]
type = ComputeFiniteStrainElasticStress
block = SiC
[]
[SiC_thermal]
type = MonolithicSiCThermal
block = SiC
temperature = temperature
thermal_conductivity_model = miller
[]
[SiC_density]
type = StrainAdjustedDensity
block = SiC
strain_free_density = 3200.0
[]
[SiC_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = SiC
thermal_expansion_coeff = 4.9e-6
temperature = temperature
eigenstrain_name = SiC_thermal_eigenstrain
[]
[OPyC_elasticity_tensor]
type = PyCElasticityTensor
block = OPyC
temperature = temperature
initial_BAF = 1.0
[]
[OPyC_stress]
type = PyCCEGACreep
block = OPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[OPyC_thermal_conductivity]
type = HeatConductionMaterial
block = OPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[OPyC_density]
type = GenericConstantMaterial
block = OPyC
prop_names = 'density'
prop_values = 1900
[]
[OPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = OPyC
eigenstrain_name = OPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[OPyC_TE]
type = PyCThermalExpansionEigenstrain
block = OPyC
eigenstrain_name = OPyC_TE_strain
temperature = temperature
[]
[characteristic_strength_SiC]
type = GenericConstantMaterial
prop_values = '9640000'
block = SiC
prop_names = 'characteristic_strength'
[]
[characteristic_strength_PyC]
type = PyCCharacteristicStrength
temperature = temperature
X = 1.02
block = 'IPyC OPyC'
[]
[]
[Dampers]
[temp]
type = MaxIncrement
variable = temperature
max_increment = 100
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 5e-6
nl_abs_tol = 1e-8
nl_max_its = 20
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 1e+06
dtmax = 2e5
dtmin = 1e-4
[TimeStepper]
type = IterationAdaptiveDT
dt = 1
optimal_iterations = 10
linear_iteration_ratio = 100
[]
[]
[Postprocessors]
[ave_gas_temp]
type = ElementAverageValue
block = buffer
variable = temperature
execute_on = 'initial timestep_end'
[]
[fis_gas_released]
type = ElementIntegralMaterialProperty
mat_prop = fis_gas_released
block = fuel
use_displaced_mesh = false
execute_on = 'initial timestep_end'
[]
[gap_volume]
type = InternalVolume
boundary = buffer_IPyC_boundary
execute_on = 'initial linear'
use_displaced_mesh = true
[]
[buffer_void_volume]
type = VoidVolume
block = buffer
theoretical_density = 2250
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[kernel_th_density]
type = UCOTheoreticalDensity
execute_on = initial
[]
[kernel_void_volume]
type = VoidVolume
block = fuel
theoretical_density = kernel_th_density
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[particle_power]
type = ElementIntegralPower
variable = temperature
use_material_fission_rate = true
fission_rate_material = fission_rate
block = fuel
execute_on = 'initial timestep_end'
[]
[max_fluence]
type = ElementExtremeValue
variable = fast_neutron_fluence
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[max_burnup]
type = ElementExtremeValue
variable = burnup
block = fuel
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[SiC_stress]
type = ElementExtremeMaterialProperty
block = SiC
value_type = max
mat_prop = tangential_stress
[]
[strength_SiC]
type = WeibullEffectiveMeanStrength
block = SiC
weibull_modulus = 6
use_displaced_mesh = true
[]
[failure_indicator_SiC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_asphericity'
stress_correlation_function = 'stress_correlation_asphericity'
stress_change_correlation_function = 'stress_change_correlation_asphericity'
[]
[strength_IPyC]
type = WeibullEffectiveMeanStrength
block = IPyC
weibull_modulus = 9.5
use_displaced_mesh = true
[]
[failure_indicator_IPyC]
type = WeibullFailureOutputUsingCorrelation
block = IPyC
weibull_modulus = 9.5
stress_name = max_principal_stress
effective_mean_strength = strength_IPyC
[]
[failure_indicator_SiC_crackedIPyC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_crackedIPyC'
stress_correlation_function = 'stress_correlation_crackedIPyC'
[]
[triso_failure]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
[]
[]
[Outputs]
print_linear_residuals = false
time_step_interval = 1
csv = true
exodus = false
[]
(examples/TRISO/failure_probability_monte_carlo/triso_1d_function.i)
initial_fuel_density = 5
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x'
initial_enrichment = 0.14029 # [wt-]
flux_conversion_factor = 1.0 # convert E>0.10 to E>0.18 MeV
stress_free_temperature = 481 # used for thermal expansion
energy_per_fission = 3.204e-11 # [J/fission]
O_U = 1.428 # Initial Oxygen to Uranium atom ratio
C_U = 0.392 # Initial Carbon to Uranium atom ratio
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DFiveLayerMeshGenerator
elem_type = EDGE3
kernel_radius = 213.35e-6
buffer_thickness = 98.9e-6
IPyC_thickness = 40.4e-6
SiC_thickness = 35.2e-6
OPyC_thickness = 43.4e-6
kernel_mesh_density = ${initial_fuel_density}
buffer_mesh_density = 3
IPyC_mesh_density = 5
SiC_mesh_density = 3
OPyC_mesh_density = 4
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[UserObjects]
[particle_geometry]
type = TRISOGeometry
outer_OPyC = OPyC_outer_boundary
outer_SiC = SiC_outer_boundary
outer_IPyC = IPyC_outer_boundary
inner_IPyC = IPyC_inner_boundary
outer_buffer = buffer_outer_boundary
outer_kernel = fuel_outer_boundary
include_particle = true
include_pebble = false
IPyC_thickness_mean = 40.4e-6
SiC_thickness_mean = 35.2e-6
OPyC_thickness_mean = 43.4e-6
execute_on = 'INITIAL TIMESTEP_END'
[]
[sic_failure_terminator]
type = Terminator
expression = 'sic_failure_overall > 0'
[]
[]
[Variables]
[temperature]
initial_condition = 481
[]
[]
[AuxVariables]
[fission_rate]
order = CONSTANT
family = MONOMIAL
[]
[burnup]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_flux]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_fluence]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temp_bc]
type = PiecewiseLinear
data_file = outer_temp.csv
x_index_in_file = 0
y_index_in_file = 1
format = columns
[]
[fission_rate]
type = ConstantFunction
value = 5.75e19
[]
[high_fidelity_strength_crackedIPyC]
type = ConstantFunction
value = '1403604095.0794'
[]
[stress_correlation_crackedIPyC]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 5.95176524e3 -2.25337303e8'
polynomial_coefficients_SiC = '1 1.43220859e4 -5.17689523e7'
polynomial_coefficients_OPyC = '1 -1.25870267e4 1.81620484e8'
correlation_factor = -1.2447543093270736
[]
[high_fidelity_strength_debonding]
type = ConstantFunction
value = '1705800293.3578'
[]
[stress_correlation_debonding]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 0 0'
polynomial_coefficients_SiC = '1 0 0'
polynomial_coefficients_OPyC = '1 0 0'
correlation_factor = -0.14916368684964607
[]
[high_fidelity_strength_asphericity]
type = ConstantFunction
value = '1371700806.9481'
[]
[stress_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 1.00595402e3 1.43530004e7'
polynomial_coefficients_SiC = '1 3.27925856e3 -2.02308753e8'
polynomial_coefficients_OPyC = '1 2.07404580e3 -6.12612615e6'
correlation_factor = 1.5191967993808713
[]
[stress_change_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 -5.81891553e3 -2.81628655e7'
polynomial_coefficients_SiC = '1 1.00990700e4 -5.55290343e8'
polynomial_coefficients_OPyC = '1 -3.59151050e3 -2.65952373e7'
correlation_factor = 1.3915168526633837
[]
[]
[Physics/SolidMechanics/QuasiStatic]
generate_output = 'stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz max_principal_stress'
add_variables = true
strain = FINITE
incremental = true
[fuel]
block = fuel
eigenstrain_names = 'UCO_swelling_eigenstrain UCO_TE_strain'
extra_vector_tags = 'ref'
[]
[buffer]
block = buffer
eigenstrain_names = 'Buffer_IIDC_strain Buffer_TE_strain'
extra_vector_tags = 'ref'
[]
[IPyC]
block = IPyC
eigenstrain_names = 'IPyC_IIDC_strain IPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[SiC]
block = SiC
eigenstrain_names = 'SiC_thermal_eigenstrain'
extra_vector_tags = 'ref'
[]
[OPyC]
block = OPyC
eigenstrain_names = 'OPyC_IIDC_strain OPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[]
[Kernels]
[heat_ie]
type = HeatConductionTimeDerivative
variable = temperature
extra_vector_tags = 'ref'
[]
[heat]
type = HeatConduction
variable = temperature
extra_vector_tags = 'ref'
[]
[heat_source]
type = NeutronHeatSource
variable = temperature
block = fuel
fission_rate = fission_rate
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[fissionrate]
type = MaterialRealAux
variable = fission_rate
property = fission_rate
block = fuel
execute_on = timestep_begin
[]
[burnup]
type = MaterialRealAux
variable = burnup
property = burnup
block = fuel
execute_on = timestep_begin
[]
[fast_neutron_flux]
type = MaterialRealAux
variable = fast_neutron_flux
property = fast_neutron_flux
execute_on = timestep_begin
[]
[fast_neutron_fluence]
type = MaterialRealAux
variable = fast_neutron_fluence
property = fast_neutron_fluence
execute_on = timestep_begin
[]
[]
[ThermalContact]
[thermal_contact]
type = GasGapHeatTransfer
variable = temperature
primary = IPyC_inner_boundary
secondary = buffer_outer_boundary
initial_moles = initial_moles
gas_released = 'fis_gas_released'
released_gas_types = 'Kr Xe'
released_fractions = '0.185 0.815'
tangential_tolerance = 1e-6
quadrature = false
min_gap = 1e-7
max_gap = 50e-6
gap_geometry_type = sphere
[]
[]
[BCs]
[no_disp_x]
type = DirichletBC
variable = disp_x
boundary = xzero
value = 0.0
[]
[freesurf_temp]
type = FunctionDirichletBC
variable = temperature
function = temp_bc
boundary = exterior
[]
[exterior_pressure_x]
type = Pressure
variable = disp_x
boundary = exterior
factor = 0.1e6
[]
[PlenumPressure]
[plenumPressure]
boundary = buffer_IPyC_boundary
startup_time = 1e4
initial_pressure = 0
R = 8.3145
output_initial_moles = initial_moles
temperature = ave_gas_temp
volume = 'gap_volume buffer_void_volume kernel_void_volume'
material_input = 'fis_gas_released'
output = gas_pressure
[]
[]
[]
[Materials]
[radial_stress]
type = RankTwoCylindricalComponent
rank_two_tensor = stress
cylindrical_axis_point1 = '0 0 0'
cylindrical_axis_point2 = '0 0 1'
cylindrical_component = RadialStress
property_name = radial_stress
outputs = all
[]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_rate
block = fuel
[]
[fast_neutron_flux]
type = FastNeutronFlux
calculate_fluence = true
factor = 6.2425e+17
[]
[UCO_burnup]
type = TRISOBurnup
initial_density = 10966
block = fuel
[]
[UCO_thermal]
type = UCOThermal
block = fuel
temperature = temperature
[]
[UCO_elasticity_tensor]
type = UCOElasticityTensor
block = fuel
temperature = temperature
[]
[UCO_stress]
type = ComputeFiniteStrainElasticStress
block = fuel
[]
[UCO_VolumetricSwellingEigenstrain]
type = UCOVolumetricSwellingEigenstrain
block = fuel
eigenstrain_name = UCO_swelling_eigenstrain
[]
[fuel_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = fuel
thermal_expansion_coeff = 10.0e-6
temperature = temperature
eigenstrain_name = UCO_TE_strain
[]
[UCO_density]
type = StrainAdjustedDensity
block = fuel
strain_free_density = 10966
[]
[fission_gas_release]
type = UCOFGR
block = fuel
average_grain_radius = 10e-6
temperature = temperature
triso_geometry = particle_geometry
cutoff_neutron_flux = 0.0
[]
[BAF_IPyC]
type = BaconAnisotropyFactor
initial_BAF = 1.0465
block = IPyC
[]
[BAF_OPyC]
type = BaconAnisotropyFactor
initial_BAF = 1.0429
block = OPyC
[]
[buffer_elasticity_tensor]
type = BufferElasticityTensor
block = buffer
temperature = temperature
[]
[buffer_stress]
type = BufferCEGACreep
block = buffer
temperature = temperature
[]
[buffer_thermal]
type = BufferThermal
block = buffer
initial_density = 1050.0
[]
[buffer_density]
type = StrainAdjustedDensity
block = buffer
strain_free_density = 1050.0
[]
[buffer_TE]
type = BufferThermalExpansionEigenstrain
block = buffer
eigenstrain_name = Buffer_TE_strain
temperature = temperature
[]
[buffer_IIDC]
type = BufferCEGAIrradiationEigenstrain
block = buffer
eigenstrain_name = Buffer_IIDC_strain
temperature = temperature
[]
[IPyC_elasticity_tensor]
type = PyCElasticityTensor
block = IPyC
temperature = temperature
[]
[IPyC_stress]
type = PyCCEGACreep
block = IPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[IPyC_thermal]
type = HeatConductionMaterial
block = IPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[IPyC_density]
type = GenericConstantMaterial
block = IPyC
prop_names = 'density'
prop_values = 1890
[]
[normal_vectors_triso]
type = NormalVectorsTRISO
block = 'buffer IPyC OPyC'
[]
[IPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = IPyC
eigenstrain_name = IPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[IPyC_TE]
type = PyCThermalExpansionEigenstrain
block = IPyC
eigenstrain_name = IPyC_TE_strain
temperature = temperature
[]
[SiC_elasticity_tensor]
type = MonolithicSiCElasticityTensor
block = SiC
temperature = temperature
elastic_modulus_model = miller
[]
[SiC_stress]
type = ComputeFiniteStrainElasticStress
block = SiC
[]
[SiC_thermal]
type = MonolithicSiCThermal
block = SiC
temperature = temperature
thermal_conductivity_model = miller
[]
[SiC_density]
type = StrainAdjustedDensity
block = SiC
strain_free_density = 3200.0
[]
[SiC_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = SiC
thermal_expansion_coeff = 4.9e-6
temperature = temperature
eigenstrain_name = SiC_thermal_eigenstrain
[]
[OPyC_elasticity_tensor]
type = PyCElasticityTensor
block = OPyC
temperature = temperature
initial_BAF = 1.0
[]
[OPyC_stress]
type = PyCCEGACreep
block = OPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[OPyC_thermal_conductivity]
type = HeatConductionMaterial
block = OPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[OPyC_density]
type = GenericConstantMaterial
block = OPyC
prop_names = 'density'
prop_values = 1900
[]
[OPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = OPyC
eigenstrain_name = OPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[OPyC_TE]
type = PyCThermalExpansionEigenstrain
block = OPyC
eigenstrain_name = OPyC_TE_strain
temperature = temperature
[]
[characteristic_strength_SiC]
type = GenericConstantMaterial
prop_values = '9640000'
block = SiC
prop_names = 'characteristic_strength'
[]
[characteristic_strength_PyC]
type = PyCCharacteristicStrength
temperature = temperature
X = 1.02
block = 'IPyC OPyC'
[]
[]
[Dampers]
[temp]
type = MaxIncrement
variable = temperature
max_increment = 100
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 5e-6
nl_abs_tol = 1e-8
nl_max_its = 20
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 4.831315e7
dtmin = 1e-4
dt = 5e5
[]
[Postprocessors]
[ave_gas_temp]
type = ElementAverageValue
block = buffer
variable = temperature
execute_on = 'initial timestep_end'
[]
[fis_gas_released]
type = ElementIntegralMaterialProperty
mat_prop = fis_gas_released
block = fuel
use_displaced_mesh = false
execute_on = 'initial timestep_end'
[]
[gap_volume]
type = InternalVolume
boundary = buffer_IPyC_boundary
execute_on = 'initial linear'
use_displaced_mesh = true
[]
[buffer_void_volume]
type = VoidVolume
block = buffer
theoretical_density = 2250
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[kernel_th_density]
type = UCOTheoreticalDensity
execute_on = initial
[]
[kernel_void_volume]
type = VoidVolume
block = fuel
theoretical_density = kernel_th_density
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[particle_power]
type = ElementIntegralPower
variable = temperature
use_material_fission_rate = true
fission_rate_material = fission_rate
block = fuel
execute_on = 'initial timestep_end'
[]
[max_fluence]
type = ElementExtremeValue
variable = fast_neutron_fluence
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[max_burnup]
type = ElementExtremeValue
variable = burnup
block = fuel
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[SiC_stress]
type = ElementExtremeMaterialProperty
block = SiC
value_type = min
mat_prop = stress_yy
[]
[strength_SiC]
type = WeibullEffectiveMeanStrength
block = SiC
weibull_modulus = 6
[]
[failure_indicator_SiC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_asphericity'
stress_correlation_function = 'stress_correlation_asphericity'
stress_change_correlation_function = 'stress_change_correlation_asphericity'
[]
[strength_IPyC]
type = WeibullEffectiveMeanStrength
block = IPyC
weibull_modulus = 9.5
[]
[failure_indicator_IPyC]
type = WeibullFailureOutputUsingCorrelation
block = IPyC
weibull_modulus = 9.5
stress_name = max_principal_stress
effective_mean_strength = strength_IPyC
[]
[failure_indicator_SiC_crackedIPyC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_crackedIPyC'
stress_correlation_function = 'stress_correlation_crackedIPyC'
[]
[failure_indicator_debonding]
type = TRISODebondingFailureIndicator
boundary = IPyC_outer_boundary
bond_strength = 10e6
stress_name = radial_stress
[]
[failure_indicator_SiC_debonding]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_debonding'
stress_correlation_function = 'stress_correlation_debonding'
[]
[sic_failure_overall]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
SiC_failure_pd_penetration = failure_indicator_pd_penetration
SiC_failure_kernel_migration = failure_indicator_kernel_migration
failure_type = SIC_FAILURE_OVERALL
[]
[ipyc_cracking]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
failure_type = IPYC_CRACKING
[]
[sic_failure_due_to_pressure]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
failure_type = SIC_FAILURE_DUE_TO_PRESSURE
[]
[sic_failure_due_to_ipyc_cracking]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
failure_type = SIC_FAILURE_DUE_TO_IPYC_CRACKING
[]
[debonding]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
IPyC_SiC_debonding = failure_indicator_debonding
SiC_failure_debonding = failure_indicator_SiC_debonding
failure_type = IPYC_SIC_DEBONDING
[]
[fluence_at_failure]
type = TRISOFailureOccurrenceStatus
failure_evaluation = ipyc_cracking
failure_information = max_fluence
[]
[weibull_failure_probability_IPyC]
type = WeibullFailureProbability
block = IPyC
weibull_modulus = 9.5
characteristic_strength = characteristic_strength
[]
[weibull_failure_probability_SiC]
type = WeibullFailureProbability
block = SiC
weibull_modulus = 6
characteristic_strength = characteristic_strength
[]
[pd_penetration]
type = PdPenetration
boundary = SiC_inner_boundary
variable = temperature
execute_on = 'initial timestep_end'
[]
[failure_indicator_pd_penetration]
type = PdPenetrationFailureIndicator
triso_geometry = particle_geometry
pd_penetration = pd_penetration
[]
[kernel_migration_distance]
type = KernelMigrationDistance
block = 'fuel buffer IPyC SiC OPyC'
variable = temperature
temperature_gradient = 15000
kernel_type = UCO
[]
[failure_indicator_kernel_migration]
type = KernelMigrationFailureIndicator
kernel_migration_distance = kernel_migration_distance
triso_geometry = particle_geometry
[]
[]
[Outputs]
print_linear_residuals = false
time_step_interval = 1
csv = false
exodus = false
perf_graph = true
print_linear_converged_reason = false
print_nonlinear_converged_reason = false
[]
(test/tests/triso_failure/higher_order_correlation.i)
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x'
initial_enrichment = 0.155 # [wt-]
flux_conversion_factor = 1.0 # convert E>0.10 to E>0.18 MeV
stress_free_temperature = 973.15 # used for thermal expansion
energy_per_fission = 3.204e-11 # [J/fission]
O_U = 1.5 # Initial Oxygen to Uranium atom ratio
C_U = 0.4 # Initial Carbon to Uranium atom ratio
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DFiveLayerMeshGenerator
elem_type = EDGE3
kernel_radius = 212.5e-6
buffer_thickness = 100e-6
IPyC_thickness = 41e-6
SiC_thickness = 34e-6
OPyC_thickness = 44e-6
kernel_mesh_density = 5
buffer_mesh_density = 3
IPyC_mesh_density = 5
SiC_mesh_density = 3
OPyC_mesh_density = 4
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[UserObjects]
[particle_geometry]
type = TRISOGeometry
outer_OPyC = OPyC_outer_boundary
outer_SiC = SiC_outer_boundary
outer_IPyC = IPyC_outer_boundary
inner_IPyC = IPyC_inner_boundary
outer_buffer = buffer_outer_boundary
outer_kernel = fuel_outer_boundary
include_particle = true
include_pebble = false
IPyC_thickness_mean = 40e-6
SiC_thickness_mean = 35e-6
OPyC_thickness_mean = 40e-6
[]
[triso_failure_terminator]
type = Terminator
expression = 'triso_failure > 0'
[]
[]
[Variables]
[temperature]
initial_condition = 973.15
[]
[]
[AuxVariables]
[fission_rate]
order = CONSTANT
family = MONOMIAL
[]
[burnup]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_flux]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_fluence]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[power_history]
type = PiecewiseLinear
x = '0 76e6'
y = '1 1'
[]
[fission_rate]
type = LinearCombinationFunction
functions = power_history
w = 7.78e19
[]
[high_fidelity_strength_crackedIPyC]
type = PiecewiseLinear
x = '0 1.0e10'
y = '1.198892e9 1.198892e9'
[]
[stress_correlation_crackedIPyC]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 6922 -2.359e8'
polynomial_coefficients_SiC = '1 -1.257e4 1.82e8'
polynomial_coefficients_OPyC = '1 -1.257e4 1.82e8'
correlation_factor = -1.1932
[]
[high_fidelity_strength_asphericity]
type = PiecewiseLinear
x = '0 1.0e10'
y = '0.993212e9 0.993212e9'
[]
[stress_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 -1.716e4 2.123e8'
polynomial_coefficients_SiC = '1 2.688e4 -1.414e7'
polynomial_coefficients_OPyC = '1 -1.716e4 2.123e8'
correlation_factor = 0.2923
[]
[stress_change_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 -1.664e4 1.929e8'
polynomial_coefficients_SiC = '1 2.625e4 -1.112e7'
polynomial_coefficients_OPyC = '1 -1.664e4 1.929e8'
correlation_factor = 0.5241
[]
[]
[Physics/SolidMechanics/QuasiStatic]
generate_output = 'stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz max_principal_stress'
add_variables = true
strain = FINITE
incremental = true
[fuel]
block = fuel
eigenstrain_names = 'UCO_swelling_eigenstrain UCO_TE_strain'
extra_vector_tags = 'ref'
[]
[buffer]
block = buffer
eigenstrain_names = 'Buffer_IIDC_strain Buffer_TE_strain'
extra_vector_tags = 'ref'
[]
[IPyC]
block = IPyC
eigenstrain_names = 'IPyC_IIDC_strain IPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[SiC]
block = SiC
eigenstrain_names = 'SiC_thermal_eigenstrain'
extra_vector_tags = 'ref'
[]
[OPyC]
block = OPyC
eigenstrain_names = 'OPyC_IIDC_strain OPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[]
[Kernels]
[heat_ie]
type = HeatConductionTimeDerivative
variable = temperature
extra_vector_tags = 'ref'
[]
[heat]
type = HeatConduction
variable = temperature
extra_vector_tags = 'ref'
[]
[heat_source]
type = NeutronHeatSource
variable = temperature
block = fuel
fission_rate = fission_rate
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[fissionrate]
type = MaterialRealAux
variable = fission_rate
property = fission_rate
block = fuel
execute_on = timestep_begin
[]
[burnup]
type = MaterialRealAux
variable = burnup
property = burnup
block = fuel
execute_on = timestep_begin
[]
[fast_neutron_flux]
type = MaterialRealAux
variable = fast_neutron_flux
property = fast_neutron_flux
execute_on = timestep_begin
[]
[fast_neutron_fluence]
type = MaterialRealAux
variable = fast_neutron_fluence
property = fast_neutron_fluence
execute_on = timestep_begin
[]
[]
[ThermalContact]
[thermal_contact]
type = GasGapHeatTransfer
variable = temperature
primary = IPyC_inner_boundary
secondary = buffer_outer_boundary
initial_moles = initial_moles
gas_released = 'fis_gas_released'
released_gas_types = 'Kr Xe'
released_fractions = '0.185 0.815'
tangential_tolerance = 1e-6
quadrature = false
min_gap = 1e-7
max_gap = 50e-6
[]
[]
[BCs]
[no_disp_x]
type = DirichletBC
variable = disp_x
boundary = xzero
value = 0.0
[]
[freesurf_temp]
type = FunctionDirichletBC
variable = temperature
function = 973.15
boundary = exterior
[]
[PlenumPressure]
[plenumPressure]
boundary = buffer_IPyC_boundary
startup_time = 1e4
initial_pressure = 0
output_initial_moles = initial_moles
temperature = ave_gas_temp
volume = 'gap_volume buffer_void_volume kernel_void_volume'
material_input = 'fis_gas_released'
output = gas_pressure
[]
[]
[]
[Materials]
[tangential_stress]
type = RankTwoCylindricalComponent
rank_two_tensor = stress
cylindrical_axis_point1 = '0 0 0'
cylindrical_axis_point2 = '0 0 1'
cylindrical_component = HoopStress
property_name = tangential_stress
outputs = all
[]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_rate
block = fuel
[]
[fast_neutron_flux]
type = FastNeutronFlux
calculate_fluence = true
flux_function = power_history
factor = 1.16e18
[]
[UCO_burnup]
type = TRISOBurnup
initial_density = 11000
block = fuel
[]
[UCO_thermal]
type = UCOThermal
block = fuel
temperature = temperature
[]
[UCO_elasticity_tensor]
type = UCOElasticityTensor
block = fuel
temperature = temperature
[]
[UCO_stress]
type = ComputeFiniteStrainElasticStress
block = fuel
[]
[UCO_VolumetricSwellingEigenstrain]
type = UCOVolumetricSwellingEigenstrain
block = fuel
eigenstrain_name = UCO_swelling_eigenstrain
[]
[fuel_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = fuel
thermal_expansion_coeff = 10.0e-6
temperature = temperature
eigenstrain_name = UCO_TE_strain
[]
[UCO_density]
type = StrainAdjustedDensity
block = fuel
strain_free_density = 11000.0
[]
[fission_gas_release]
type = UCOFGR
block = fuel
average_grain_radius = 10e-6
temperature = temperature
triso_geometry = particle_geometry
cutoff_neutron_flux = 0.0
[]
[BAF]
type = BaconAnisotropyFactor
initial_BAF = 1.05
block = 'buffer IPyC OPyC'
[]
[buffer_elasticity_tensor]
type = BufferElasticityTensor
block = buffer
temperature = temperature
[]
[buffer_stress]
type = BufferCEGACreep
block = buffer
temperature = temperature
[]
[buffer_thermal]
type = BufferThermal
block = buffer
initial_density = 1050.0
[]
[buffer_density]
type = StrainAdjustedDensity
block = buffer
strain_free_density = 1050.0
[]
[buffer_TE]
type = BufferThermalExpansionEigenstrain
block = buffer
eigenstrain_name = Buffer_TE_strain
temperature = temperature
[]
[buffer_IIDC]
type = BufferCEGAIrradiationEigenstrain
block = buffer
eigenstrain_name = Buffer_IIDC_strain
temperature = temperature
[]
[IPyC_elasticity_tensor]
type = PyCElasticityTensor
block = IPyC
temperature = temperature
[]
[IPyC_stress]
type = PyCCEGACreep
block = IPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[IPyC_thermal]
type = HeatConductionMaterial
block = IPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[IPyC_density]
type = GenericConstantMaterial
block = IPyC
prop_names = 'density'
prop_values = 1900
[]
[normal_vectors_triso]
type = NormalVectorsTRISO
block = 'buffer IPyC OPyC'
[]
[IPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = IPyC
eigenstrain_name = IPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[IPyC_TE]
type = PyCThermalExpansionEigenstrain
block = IPyC
eigenstrain_name = IPyC_TE_strain
temperature = temperature
[]
[SiC_elasticity_tensor]
type = MonolithicSiCElasticityTensor
block = SiC
temperature = temperature
elastic_modulus_model = miller
[]
[SiC_stress]
type = ComputeFiniteStrainElasticStress
block = SiC
[]
[SiC_thermal]
type = MonolithicSiCThermal
block = SiC
temperature = temperature
thermal_conductivity_model = miller
[]
[SiC_density]
type = StrainAdjustedDensity
block = SiC
strain_free_density = 3200.0
[]
[SiC_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = SiC
thermal_expansion_coeff = 4.9e-6
temperature = temperature
eigenstrain_name = SiC_thermal_eigenstrain
[]
[OPyC_elasticity_tensor]
type = PyCElasticityTensor
block = OPyC
temperature = temperature
initial_BAF = 1.0
[]
[OPyC_stress]
type = PyCCEGACreep
block = OPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[OPyC_thermal_conductivity]
type = HeatConductionMaterial
block = OPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[OPyC_density]
type = GenericConstantMaterial
block = OPyC
prop_names = 'density'
prop_values = 1900
[]
[OPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = OPyC
eigenstrain_name = OPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[OPyC_TE]
type = PyCThermalExpansionEigenstrain
block = OPyC
eigenstrain_name = OPyC_TE_strain
temperature = temperature
[]
[characteristic_strength_SiC]
type = GenericConstantMaterial
prop_values = '9640000'
block = SiC
prop_names = 'characteristic_strength'
[]
[characteristic_strength_PyC]
type = PyCCharacteristicStrength
temperature = temperature
X = 1.02
block = 'IPyC OPyC'
[]
[]
[Dampers]
[temp]
type = MaxIncrement
variable = temperature
max_increment = 100
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 5e-6
nl_abs_tol = 1e-8
nl_max_its = 20
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 1e+06
dtmax = 2e5
dtmin = 1e-4
[TimeStepper]
type = IterationAdaptiveDT
dt = 1
optimal_iterations = 10
linear_iteration_ratio = 100
[]
[]
[Postprocessors]
[ave_gas_temp]
type = ElementAverageValue
block = buffer
variable = temperature
execute_on = 'initial timestep_end'
[]
[fis_gas_released]
type = ElementIntegralMaterialProperty
mat_prop = fis_gas_released
block = fuel
use_displaced_mesh = false
execute_on = 'initial timestep_end'
[]
[gap_volume]
type = InternalVolume
boundary = buffer_IPyC_boundary
execute_on = 'initial linear'
use_displaced_mesh = true
[]
[buffer_void_volume]
type = VoidVolume
block = buffer
theoretical_density = 2250
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[kernel_th_density]
type = UCOTheoreticalDensity
execute_on = initial
[]
[kernel_void_volume]
type = VoidVolume
block = fuel
theoretical_density = kernel_th_density
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[particle_power]
type = ElementIntegralPower
variable = temperature
use_material_fission_rate = true
fission_rate_material = fission_rate
block = fuel
execute_on = 'initial timestep_end'
[]
[max_fluence]
type = ElementExtremeValue
variable = fast_neutron_fluence
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[max_burnup]
type = ElementExtremeValue
variable = burnup
block = fuel
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[SiC_stress]
type = ElementExtremeMaterialProperty
block = SiC
value_type = max
mat_prop = tangential_stress
[]
[strength_SiC]
type = WeibullEffectiveMeanStrength
block = SiC
weibull_modulus = 6
use_displaced_mesh = true
[]
[failure_indicator_SiC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_asphericity'
stress_correlation_function = 'stress_correlation_asphericity'
stress_change_correlation_function = 'stress_change_correlation_asphericity'
[]
[strength_IPyC]
type = WeibullEffectiveMeanStrength
block = IPyC
weibull_modulus = 9.5
use_displaced_mesh = true
[]
[failure_indicator_IPyC]
type = WeibullFailureOutputUsingCorrelation
block = IPyC
weibull_modulus = 9.5
stress_name = max_principal_stress
effective_mean_strength = strength_IPyC
[]
[failure_indicator_SiC_crackedIPyC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_crackedIPyC'
stress_correlation_function = 'stress_correlation_crackedIPyC'
[]
[triso_failure]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
[]
[]
[Outputs]
print_linear_residuals = false
time_step_interval = 1
csv = true
exodus = false
[]
(test/tests/triso_failure/triso_1d_ipyc_weibull_probability.i)
kernel_radius = 213.35e-6
buffer_thickness = 98.9e-6
IPyC_thickness = 40.4e-6
SiC_thickness = 35.2e-6
OPyC_thickness = 43.4e-6
coordinates1 = '${fparse kernel_radius}'
coordinates2 = '${fparse coordinates1+buffer_thickness}'
coordinates3 = '${fparse coordinates2+IPyC_thickness}'
coordinates4 = '${fparse coordinates3+SiC_thickness}'
coordinates5 = '${fparse coordinates4+OPyC_thickness}'
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x'
initial_enrichment = 0.14029 # [wt-]
flux_conversion_factor = 1.0 # convert E>0.10 to E>0.18 MeV
stress_free_temperature = 481 # used for thermal expansion
energy_per_fission = 3.204e-11 # [J/fission]
O_U = 1.428 # Initial Oxygen to Uranium atom ratio
C_U = 0.392 # Initial Carbon to Uranium atom ratio
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 ${coordinates1} ${coordinates2} ${coordinates2} ${coordinates3} ${coordinates4} ${coordinates5}'
mesh_density = '5 3 0 5 3 4'
block_names = 'fuel buffer IPyC SiC OPyC'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[UserObjects]
[particle_geometry]
type = TRISOGeometry
outer_OPyC = OPyC_outer_boundary
outer_SiC = SiC_outer_boundary
outer_IPyC = IPyC_outer_boundary
inner_IPyC = IPyC_inner_boundary
outer_buffer = buffer_outer_boundary
outer_kernel = fuel_outer_boundary
include_particle = true
include_pebble = false
IPyC_thickness_mean = 40.4e-6
SiC_thickness_mean = 35.2e-6
OPyC_thickness_mean = 43.4e-6
[]
[]
[Variables]
[temperature]
initial_condition = 900
[]
[]
[AuxVariables]
[fission_rate]
order = CONSTANT
family = MONOMIAL
[]
[burnup]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_flux]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_fluence]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[fission_rate]
type = ConstantFunction
value = 5.75e19
[]
[high_fidelity_strength_crackedIPyC]
type = ConstantFunction
value = '1363350801.3058'
[]
[stress_correlation_crackedIPyC]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 7017 -2.368e8'
polynomial_coefficients_SiC = '1 1.492e4 -3.802e7'
polynomial_coefficients_OPyC = '1 -1.273e4 1.849e8'
correlation_factor = -1.1824630660785265
[]
[high_fidelity_strength_asphericity]
type = ConstantFunction
value = '1086690814.283'
[]
[stress_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 -2070 3.458e7'
polynomial_coefficients_SiC = '1 -868.9 -1.368e7'
polynomial_coefficients_OPyC = '1 1734 -1.988e7'
correlation_factor = 1.0626986695756293
[]
[stress_change_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 -856 1.593e7'
polynomial_coefficients_SiC = '1 1774 -5.253e7'
polynomial_coefficients_OPyC = '1 456.4 -1.459e7'
correlation_factor = 1.0113764663823708
[]
[]
[Physics/SolidMechanics/QuasiStatic]
generate_output = 'stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz max_principal_stress'
add_variables = true
strain = FINITE
incremental = true
[fuel]
block = fuel
eigenstrain_names = 'UCO_swelling_eigenstrain UCO_TE_strain'
extra_vector_tags = 'ref'
[]
[buffer]
block = buffer
eigenstrain_names = 'Buffer_IIDC_strain Buffer_TE_strain'
extra_vector_tags = 'ref'
[]
[IPyC]
block = IPyC
eigenstrain_names = 'IPyC_IIDC_strain IPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[SiC]
block = SiC
eigenstrain_names = 'SiC_thermal_eigenstrain'
extra_vector_tags = 'ref'
[]
[OPyC]
block = OPyC
eigenstrain_names = 'OPyC_IIDC_strain OPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[]
[Kernels]
[heat_ie]
type = HeatConductionTimeDerivative
variable = temperature
extra_vector_tags = 'ref'
[]
[heat]
type = HeatConduction
variable = temperature
extra_vector_tags = 'ref'
[]
[heat_source]
type = NeutronHeatSource
variable = temperature
block = fuel
fission_rate = fission_rate
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[fissionrate]
type = MaterialRealAux
variable = fission_rate
property = fission_rate
block = fuel
execute_on = timestep_begin
[]
[burnup]
type = MaterialRealAux
variable = burnup
property = burnup
block = fuel
execute_on = timestep_begin
[]
[fast_neutron_flux]
type = MaterialRealAux
variable = fast_neutron_flux
property = fast_neutron_flux
execute_on = timestep_begin
[]
[fast_neutron_fluence]
type = MaterialRealAux
variable = fast_neutron_fluence
property = fast_neutron_fluence
execute_on = timestep_begin
[]
[]
[ThermalContact]
[thermal_contact]
type = GasGapHeatTransfer
variable = temperature
primary = IPyC_inner_boundary
secondary = buffer_outer_boundary
initial_moles = initial_moles
gas_released = 'fis_gas_released'
released_gas_types = 'Kr Xe'
released_fractions = '0.185 0.815'
tangential_tolerance = 1e-6
quadrature = false
min_gap = 1e-7
max_gap = 50e-6
gap_geometry_type = sphere
[]
[]
[BCs]
[no_disp_x]
type = DirichletBC
variable = disp_x
boundary = xzero
value = 0.0
[]
[freesurf_temp]
type = DirichletBC
variable = temperature
value = 900
boundary = exterior
[]
[exterior_pressure_x]
type = Pressure
variable = disp_x
boundary = exterior
factor = 0.1e6
[]
[PlenumPressure]
[plenumPressure]
boundary = buffer_IPyC_boundary
startup_time = 1e4
initial_pressure = 0
output_initial_moles = initial_moles
temperature = ave_gas_temp
volume = 'gap_volume buffer_void_volume kernel_void_volume'
material_input = 'fis_gas_released'
output = gas_pressure
[]
[]
[]
[Materials]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_rate
block = fuel
[]
[fast_neutron_flux]
type = FastNeutronFlux
calculate_fluence = true
factor = 6.2425e+17
[]
[UCO_burnup]
type = TRISOBurnup
initial_density = 10966
block = fuel
[]
[UCO_thermal]
type = UCOThermal
block = fuel
temperature = temperature
[]
[UCO_elasticity_tensor]
type = UCOElasticityTensor
block = fuel
temperature = temperature
[]
[UCO_stress]
type = ComputeFiniteStrainElasticStress
block = fuel
[]
[UCO_VolumetricSwellingEigenstrain]
type = UCOVolumetricSwellingEigenstrain
block = fuel
eigenstrain_name = UCO_swelling_eigenstrain
[]
[fuel_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = fuel
thermal_expansion_coeff = 10.0e-6
temperature = temperature
eigenstrain_name = UCO_TE_strain
[]
[UCO_density]
type = StrainAdjustedDensity
block = fuel
strain_free_density = 10966
[]
[fission_gas_release]
type = UCOFGR
block = fuel
average_grain_radius = 10e-6
temperature = temperature
triso_geometry = particle_geometry
cutoff_neutron_flux = 0.0
[]
[BAF_IPyC]
type = BaconAnisotropyFactor
initial_BAF = 1.0465
block = IPyC
[]
[BAF_OPyC]
type = BaconAnisotropyFactor
initial_BAF = 1.0429
block = OPyC
[]
[buffer_elasticity_tensor]
type = BufferElasticityTensor
block = buffer
temperature = temperature
[]
[buffer_stress]
type = BufferCEGACreep
block = buffer
temperature = temperature
[]
[buffer_thermal]
type = BufferThermal
block = buffer
initial_density = 1050.0
[]
[buffer_density]
type = StrainAdjustedDensity
block = buffer
strain_free_density = 1050.0
[]
[buffer_TE]
type = BufferThermalExpansionEigenstrain
block = buffer
eigenstrain_name = Buffer_TE_strain
temperature = temperature
[]
[buffer_IIDC]
type = BufferCEGAIrradiationEigenstrain
block = buffer
eigenstrain_name = Buffer_IIDC_strain
temperature = temperature
[]
[IPyC_elasticity_tensor]
type = PyCElasticityTensor
block = IPyC
temperature = temperature
[]
[IPyC_stress]
type = PyCCEGACreep
block = IPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[IPyC_thermal]
type = HeatConductionMaterial
block = IPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[IPyC_density]
type = GenericConstantMaterial
block = IPyC
prop_names = 'density'
prop_values = 1890
[]
[normal_vectors_triso]
type = NormalVectorsTRISO
block = 'buffer IPyC OPyC'
[]
[IPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = IPyC
eigenstrain_name = IPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[IPyC_TE]
type = PyCThermalExpansionEigenstrain
block = IPyC
eigenstrain_name = IPyC_TE_strain
temperature = temperature
[]
[SiC_elasticity_tensor]
type = MonolithicSiCElasticityTensor
block = SiC
temperature = temperature
elastic_modulus_model = miller
[]
[SiC_stress]
type = ComputeFiniteStrainElasticStress
block = SiC
[]
[SiC_thermal]
type = MonolithicSiCThermal
block = SiC
temperature = temperature
thermal_conductivity_model = miller
[]
[SiC_density]
type = StrainAdjustedDensity
block = SiC
strain_free_density = 3200.0
[]
[SiC_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = SiC
thermal_expansion_coeff = 4.9e-6
temperature = temperature
eigenstrain_name = SiC_thermal_eigenstrain
[]
[OPyC_elasticity_tensor]
type = PyCElasticityTensor
block = OPyC
temperature = temperature
initial_BAF = 1.0
[]
[OPyC_stress]
type = PyCCEGACreep
block = OPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[OPyC_thermal_conductivity]
type = HeatConductionMaterial
block = OPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[OPyC_density]
type = GenericConstantMaterial
block = OPyC
prop_names = 'density'
prop_values = 1900
[]
[OPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = OPyC
eigenstrain_name = OPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[OPyC_TE]
type = PyCThermalExpansionEigenstrain
block = OPyC
eigenstrain_name = OPyC_TE_strain
temperature = temperature
[]
[characteristic_strength_SiC]
type = GenericConstantMaterial
prop_values = '9640000'
block = SiC
prop_names = 'characteristic_strength'
[]
[characteristic_strength_PyC]
type = PyCCharacteristicStrength
temperature = temperature
X = 1.02
block = 'IPyC OPyC'
[]
[]
[Dampers]
[temp]
type = MaxIncrement
variable = temperature
max_increment = 100
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 5e-6
nl_abs_tol = 1e-8
nl_max_its = 20
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 4.831315e7
dtmin = 1e-4
dt = 5e5
[]
[Postprocessors]
[ave_gas_temp]
type = ElementAverageValue
block = buffer
variable = temperature
execute_on = 'initial timestep_end'
[]
[fis_gas_released]
type = ElementIntegralMaterialProperty
mat_prop = fis_gas_released
block = fuel
use_displaced_mesh = false
execute_on = 'initial timestep_end'
[]
[gap_volume]
type = InternalVolume
boundary = buffer_IPyC_boundary
execute_on = 'initial linear'
use_displaced_mesh = true
[]
[buffer_void_volume]
type = VoidVolume
block = buffer
theoretical_density = 2250
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[kernel_th_density]
type = UCOTheoreticalDensity
execute_on = initial
[]
[kernel_void_volume]
type = VoidVolume
block = fuel
theoretical_density = kernel_th_density
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[particle_power]
type = ElementIntegralPower
variable = temperature
use_material_fission_rate = true
fission_rate_material = fission_rate
block = fuel
execute_on = 'initial timestep_end'
[]
[max_fluence]
type = ElementExtremeValue
variable = fast_neutron_fluence
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[max_burnup]
type = ElementExtremeValue
variable = burnup
block = fuel
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[SiC_stress]
type = ElementExtremeMaterialProperty
block = SiC
value_type = min
mat_prop = stress_yy
[]
[weibull_failure_probability_IPyC]
type = WeibullFailureProbability
block = IPyC
weibull_modulus = 9.5
characteristic_strength = characteristic_strength
[]
[weibull_failure_probability_SiC_crackedIPyC]
type = WeibullFailureProbabilityUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_crackedIPyC'
stress_correlation_function = 'stress_correlation_crackedIPyC'
[]
[weibull_failure_probability_SiC]
type = WeibullFailureProbabilityUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_asphericity'
stress_correlation_function = 'stress_correlation_asphericity'
stress_change_correlation_function = 'stress_change_correlation_asphericity'
[]
[]
[Outputs]
show = 'weibull_failure_probability_IPyC weibull_failure_probability_SiC weibull_failure_probability_SiC_crackedIPyC'
print_linear_residuals = false
time_step_interval = 1
csv = true
exodus = false
perf_graph = false
print_linear_converged_reason = false
print_nonlinear_converged_reason = false
[]
(test/tests/triso_failure/ad_triso_1d_ipyc_weibull_probability.i)
kernel_radius = 213.35e-6
buffer_thickness = 98.9e-6
IPyC_thickness = 40.4e-6
SiC_thickness = 35.2e-6
OPyC_thickness = 43.4e-6
coordinates1 = '${fparse kernel_radius}'
coordinates2 = '${fparse coordinates1+buffer_thickness}'
coordinates3 = '${fparse coordinates2+IPyC_thickness}'
coordinates4 = '${fparse coordinates3+SiC_thickness}'
coordinates5 = '${fparse coordinates4+OPyC_thickness}'
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x'
initial_enrichment = 0.14029 # [wt-]
flux_conversion_factor = 1.0 # convert E>0.10 to E>0.18 MeV
stress_free_temperature = 481 # used for thermal expansion
energy_per_fission = 3.204e-11 # [J/fission]
O_U = 1.428 # Initial Oxygen to Uranium atom ratio
C_U = 0.392 # Initial Carbon to Uranium atom ratio
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 ${coordinates1} ${coordinates2} ${coordinates2} ${coordinates3} ${coordinates4} ${coordinates5}'
mesh_density = '5 3 0 5 3 4'
block_names = 'fuel buffer IPyC SiC OPyC'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[UserObjects]
[particle_geometry]
type = TRISOGeometry
outer_OPyC = OPyC_outer_boundary
outer_SiC = SiC_outer_boundary
outer_IPyC = IPyC_outer_boundary
inner_IPyC = IPyC_inner_boundary
outer_buffer = buffer_outer_boundary
outer_kernel = fuel_outer_boundary
include_particle = true
include_pebble = false
IPyC_thickness_mean = 40.4e-6
SiC_thickness_mean = 35.2e-6
OPyC_thickness_mean = 43.4e-6
[]
[]
[Variables]
[temperature]
initial_condition = 900
[]
[]
[AuxVariables]
[fission_rate]
order = CONSTANT
family = MONOMIAL
[]
[burnup]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_flux]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_fluence]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[fission_rate]
type = ConstantFunction
value = 5.75e19
[]
[high_fidelity_strength_crackedIPyC]
type = ConstantFunction
value = '1363350801.3058'
[]
[stress_correlation_crackedIPyC]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 7017 -2.368e8'
polynomial_coefficients_SiC = '1 1.492e4 -3.802e7'
polynomial_coefficients_OPyC = '1 -1.273e4 1.849e8'
correlation_factor = -1.1824630660785265
[]
[high_fidelity_strength_asphericity]
type = ConstantFunction
value = '1086690814.283'
[]
[stress_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 -2070 3.458e7'
polynomial_coefficients_SiC = '1 -868.9 -1.368e7'
polynomial_coefficients_OPyC = '1 1734 -1.988e7'
correlation_factor = 1.0626986695756293
[]
[stress_change_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 -856 1.593e7'
polynomial_coefficients_SiC = '1 1774 -5.253e7'
polynomial_coefficients_OPyC = '1 456.4 -1.459e7'
correlation_factor = 1.0113764663823708
[]
[]
[Physics/SolidMechanics/QuasiStatic]
generate_output = 'stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz max_principal_stress'
add_variables = true
strain = FINITE
incremental = true
[fuel]
block = fuel
eigenstrain_names = 'UCO_swelling_eigenstrain UCO_TE_strain'
extra_vector_tags = 'ref'
use_automatic_differentiation = true
[]
[buffer]
block = buffer
eigenstrain_names = 'Buffer_IIDC_strain Buffer_TE_strain'
extra_vector_tags = 'ref'
use_automatic_differentiation = true
[]
[IPyC]
block = IPyC
eigenstrain_names = 'IPyC_IIDC_strain IPyC_TE_strain'
extra_vector_tags = 'ref'
use_automatic_differentiation = true
[]
[SiC]
block = SiC
eigenstrain_names = 'SiC_thermal_eigenstrain'
extra_vector_tags = 'ref'
use_automatic_differentiation = true
[]
[OPyC]
block = OPyC
eigenstrain_names = 'OPyC_IIDC_strain OPyC_TE_strain'
extra_vector_tags = 'ref'
use_automatic_differentiation = true
[]
[]
[Kernels]
[heat_ie]
type = ADHeatConductionTimeDerivative
variable = temperature
extra_vector_tags = 'ref'
[]
[heat]
type = ADHeatConduction
variable = temperature
extra_vector_tags = 'ref'
[]
[heat_source]
type = ADNeutronHeatSource
variable = temperature
block = fuel
fission_rate = fission_rate
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[fissionrate]
type = ADMaterialRealAux
variable = fission_rate
property = fission_rate
block = fuel
execute_on = timestep_begin
[]
[burnup]
type = ADMaterialRealAux
variable = burnup
property = burnup
block = fuel
execute_on = timestep_begin
[]
[fast_neutron_flux]
type = ADMaterialRealAux
variable = fast_neutron_flux
property = fast_neutron_flux
execute_on = timestep_begin
[]
[fast_neutron_fluence]
type = ADMaterialRealAux
variable = fast_neutron_fluence
property = fast_neutron_fluence
execute_on = timestep_begin
[]
[]
[ThermalContact]
[thermal_contact]
type = GasGapHeatTransfer
variable = temperature
primary = IPyC_inner_boundary
secondary = buffer_outer_boundary
initial_moles = initial_moles
gas_released = 'fis_gas_released'
released_gas_types = 'Kr Xe'
released_fractions = '0.185 0.815'
tangential_tolerance = 1e-6
quadrature = false
min_gap = 1e-7
max_gap = 50e-6
gap_geometry_type = sphere
use_automatic_differentiation = true
[]
[]
[BCs]
[no_disp_x]
type = ADDirichletBC
variable = disp_x
boundary = xzero
value = 0.0
[]
[freesurf_temp]
type = ADDirichletBC
variable = temperature
value = 900
boundary = exterior
[]
[exterior_pressure_x]
type = ADPressure
variable = disp_x
boundary = exterior
factor = 0.1e6
[]
[PlenumPressure]
[plenumPressure]
boundary = buffer_IPyC_boundary
startup_time = 1e4
initial_pressure = 0
output_initial_moles = initial_moles
temperature = ave_gas_temp
volume = 'gap_volume buffer_void_volume kernel_void_volume'
material_input = 'fis_gas_released'
output = gas_pressure
use_automatic_differentiation = true
[]
[]
[]
[Materials]
[fission_rate]
type = ADGenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_rate
block = fuel
[]
[fast_neutron_flux]
type = ADFastNeutronFlux
calculate_fluence = true
factor = 6.2425e+17
[]
[UCO_burnup]
type = ADTRISOBurnup
initial_density = 10966
block = fuel
[]
[UCO_thermal]
type = ADUCOThermal
block = fuel
temperature = temperature
[]
[UCO_elasticity_tensor]
type = ADUCOElasticityTensor
block = fuel
temperature = temperature
[]
[UCO_stress]
type = ADComputeFiniteStrainElasticStress
block = fuel
[]
[UCO_VolumetricSwellingEigenstrain]
type = ADUCOVolumetricSwellingEigenstrain
block = fuel
eigenstrain_name = UCO_swelling_eigenstrain
[]
[fuel_thermal_expansion]
type = ADComputeThermalExpansionEigenstrain
block = fuel
thermal_expansion_coeff = 10.0e-6
temperature = temperature
eigenstrain_name = UCO_TE_strain
[]
[UCO_density]
type = ADStrainAdjustedDensity
block = fuel
strain_free_density = 10966
[]
[fission_gas_release]
type = ADUCOFGR
block = fuel
average_grain_radius = 10e-6
temperature = temperature
triso_geometry = particle_geometry
cutoff_neutron_flux = 0.0
[]
[BAF_IPyC]
type = ADBaconAnisotropyFactor
initial_BAF = 1.0465
block = IPyC
[]
[BAF_OPyC]
type = ADBaconAnisotropyFactor
initial_BAF = 1.0429
block = OPyC
[]
[buffer_elasticity_tensor]
type = ADBufferElasticityTensor
block = buffer
temperature = temperature
[]
[buffer_stress]
type = ADBufferCEGACreep
block = buffer
temperature = temperature
[]
[buffer_thermal]
type = ADBufferThermal
block = buffer
initial_density = 1050.0
[]
[buffer_density]
type = ADStrainAdjustedDensity
block = buffer
strain_free_density = 1050.0
[]
[buffer_TE]
type = ADBufferThermalExpansionEigenstrain
block = buffer
eigenstrain_name = Buffer_TE_strain
temperature = temperature
[]
[buffer_IIDC]
type = ADBufferCEGAIrradiationEigenstrain
block = buffer
eigenstrain_name = Buffer_IIDC_strain
temperature = temperature
[]
[IPyC_elasticity_tensor]
type = ADPyCElasticityTensor
block = IPyC
temperature = temperature
[]
[IPyC_stress]
type = ADPyCCEGACreep
block = IPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[IPyC_thermal]
type = ADHeatConductionMaterial
block = IPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[IPyC_density]
type = ADGenericConstantMaterial
block = IPyC
prop_names = 'density'
prop_values = 1890
[]
[normal_vectors_triso]
type = NormalVectorsTRISO
block = 'buffer IPyC OPyC'
[]
[IPyC_IIDC]
type = ADPyCCEGAIrradiationEigenstrain
block = IPyC
eigenstrain_name = IPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[IPyC_TE]
type = ADPyCThermalExpansionEigenstrain
block = IPyC
eigenstrain_name = IPyC_TE_strain
temperature = temperature
[]
[SiC_elasticity_tensor]
type = ADMonolithicSiCElasticityTensor
block = SiC
temperature = temperature
elastic_modulus_model = miller
[]
[SiC_stress]
type = ADComputeFiniteStrainElasticStress
block = SiC
[]
[SiC_thermal]
type = ADMonolithicSiCThermal
block = SiC
temperature = temperature
thermal_conductivity_model = miller
[]
[SiC_density]
type = ADStrainAdjustedDensity
block = SiC
strain_free_density = 3200.0
[]
[SiC_thermal_expansion]
type = ADComputeThermalExpansionEigenstrain
block = SiC
thermal_expansion_coeff = 4.9e-6
temperature = temperature
eigenstrain_name = SiC_thermal_eigenstrain
[]
[OPyC_elasticity_tensor]
type = ADPyCElasticityTensor
block = OPyC
temperature = temperature
initial_BAF = 1.0
[]
[OPyC_stress]
type = ADPyCCEGACreep
block = OPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[OPyC_thermal_conductivity]
type = ADHeatConductionMaterial
block = OPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[OPyC_density]
type = ADGenericConstantMaterial
block = OPyC
prop_names = 'density'
prop_values = 1900
[]
[OPyC_IIDC]
type = ADPyCCEGAIrradiationEigenstrain
block = OPyC
eigenstrain_name = OPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[OPyC_TE]
type = ADPyCThermalExpansionEigenstrain
block = OPyC
eigenstrain_name = OPyC_TE_strain
temperature = temperature
[]
[characteristic_strength_SiC]
type = ADGenericConstantMaterial
prop_values = '9640000'
block = SiC
prop_names = 'characteristic_strength'
[]
[characteristic_strength_PyC]
type = ADPyCCharacteristicStrength
temperature = temperature
X = 1.02
block = 'IPyC OPyC'
[]
[]
[Dampers]
[temp]
type = MaxIncrement
variable = temperature
max_increment = 100
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 5e-6
nl_abs_tol = 1e-8
nl_max_its = 20
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 4.831315e7
dtmin = 1e-4
dt = 5e5
[]
[Postprocessors]
[ave_gas_temp]
type = ElementAverageValue
block = buffer
variable = temperature
execute_on = 'initial timestep_end'
[]
[fis_gas_released]
type = ADElementIntegralMaterialProperty
mat_prop = fis_gas_released
block = fuel
use_displaced_mesh = false
execute_on = 'initial timestep_end'
[]
[gap_volume]
type = InternalVolume
boundary = buffer_IPyC_boundary
execute_on = 'initial linear'
use_displaced_mesh = true
[]
[buffer_void_volume]
type = ADVoidVolume
block = buffer
theoretical_density = 2250
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[kernel_th_density]
type = UCOTheoreticalDensity
execute_on = initial
[]
[kernel_void_volume]
type = ADVoidVolume
block = fuel
theoretical_density = kernel_th_density
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[particle_power]
type = ADElementIntegralPower
variable = temperature
use_material_fission_rate = true
fission_rate_material = fission_rate
block = fuel
execute_on = 'initial timestep_end'
[]
[max_fluence]
type = ElementExtremeValue
variable = fast_neutron_fluence
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[max_burnup]
type = ElementExtremeValue
variable = burnup
block = fuel
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[SiC_stress]
type = ADElementExtremeMaterialProperty
block = SiC
value_type = min
mat_prop = stress_yy
[]
[weibull_failure_probability_IPyC]
type = ADWeibullFailureProbability
block = IPyC
weibull_modulus = 9.5
characteristic_strength = characteristic_strength
[]
[weibull_failure_probability_SiC_crackedIPyC]
type = ADWeibullFailureProbabilityUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_crackedIPyC'
stress_correlation_function = 'stress_correlation_crackedIPyC'
[]
[weibull_failure_probability_SiC]
type = ADWeibullFailureProbabilityUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_asphericity'
stress_correlation_function = 'stress_correlation_asphericity'
stress_change_correlation_function = 'stress_change_correlation_asphericity'
[]
[]
[Outputs]
show = 'weibull_failure_probability_IPyC weibull_failure_probability_SiC weibull_failure_probability_SiC_crackedIPyC'
print_linear_residuals = false
time_step_interval = 1
csv = true
exodus = false
perf_graph = false
print_linear_converged_reason = false
print_nonlinear_converged_reason = false
[]
(test/tests/triso_failure/triso_failure_diffusivity.i)
kernel_radius = 213.35e-6
buffer_thickness = 98.9e-6
IPyC_thickness = 40.4e-6
SiC_thickness = 35.2e-6
OPyC_thickness = 43.4e-6
coordinates1 = '${fparse kernel_radius}'
coordinates2 = '${fparse coordinates1+buffer_thickness}'
coordinates3 = '${fparse coordinates2+IPyC_thickness}'
coordinates4 = '${fparse coordinates3+SiC_thickness}'
coordinates5 = '${fparse coordinates4+OPyC_thickness}'
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x'
initial_enrichment = 0.14029 # [wt-]
flux_conversion_factor = 1.0 # convert E>0.10 to E>0.18 MeV
stress_free_temperature = 481 # used for thermal expansion
energy_per_fission = 3.204e-11 # [J/fission]
O_U = 1.428 # Initial Oxygen to Uranium atom ratio
C_U = 0.392 # Initial Carbon to Uranium atom ratio
[]
[Mesh]
coord_type = RSPHERICAL
[mesh]
type = TRISO1DMeshGenerator
elem_type = EDGE2
coordinates = '0 ${coordinates1} ${coordinates2} ${coordinates2} ${coordinates3} ${coordinates4} ${coordinates5}'
mesh_density = '18 14 0 12 16 16'
block_names = 'fuel buffer IPyC SiC OPyC'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Physics/SolidMechanics/QuasiStatic]
generate_output = 'stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz max_principal_stress'
add_variables = true
strain = FINITE
incremental = true
[fuel]
block = fuel
eigenstrain_names = 'UCO_swelling_eigenstrain UCO_TE_strain'
extra_vector_tags = 'ref'
[]
[buffer]
block = buffer
eigenstrain_names = 'Buffer_IIDC_strain Buffer_TE_strain'
extra_vector_tags = 'ref'
[]
[IPyC]
block = IPyC
eigenstrain_names = 'IPyC_IIDC_strain IPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[SiC]
block = SiC
eigenstrain_names = 'SiC_thermal_eigenstrain'
extra_vector_tags = 'ref'
[]
[OPyC]
block = OPyC
eigenstrain_names = 'OPyC_IIDC_strain OPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[]
[UserObjects]
[particle_geometry]
type = TRISOGeometry
outer_OPyC = OPyC_outer_boundary
outer_SiC = SiC_outer_boundary
outer_IPyC = IPyC_outer_boundary
inner_IPyC = IPyC_inner_boundary
outer_buffer = buffer_outer_boundary
outer_kernel = fuel_outer_boundary
include_particle = true
include_pebble = false
IPyC_thickness_mean = ${IPyC_thickness}
SiC_thickness_mean = ${SiC_thickness}
OPyC_thickness_mean = ${OPyC_thickness}
[]
[]
[Variables]
[temperature]
initial_condition = 873.15
[]
[conc_Ag]
initial_condition = 0.0
scaling = 1e12
[]
[]
[AuxVariables]
[bounds_dummy]
order = FIRST
family = LAGRANGE
[]
[fission_rate]
order = CONSTANT
family = MONOMIAL
[]
[burnup]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_flux]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_fluence]
order = CONSTANT
family = MONOMIAL
[]
[fis_gas_produced]
order = CONSTANT
family = MONOMIAL
[]
[fis_gas_released]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[power_history]
type = PiecewiseLinear
x = '0 76e6'
y = '1 1'
[]
[fission_rate]
type = LinearCombinationFunction
functions = power_history
w = 7.78e19
[]
[high_fidelity_strength_crackedIPyC]
type = ConstantFunction
value = '1403604095.5707'
[]
[stress_correlation_crackedIPyC]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 0 0'
polynomial_coefficients_SiC = '1 0 0'
polynomial_coefficients_OPyC = '1 0 0'
correlation_factor = -4.0
[]
[high_fidelity_strength_asphericity]
type = ConstantFunction
value = '1371700766.8875'
[]
[stress_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 0 0'
polynomial_coefficients_SiC = '1 0 0'
polynomial_coefficients_OPyC = '1 0 0'
correlation_factor = 1.5191967987843993
[]
[stress_change_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 0 0'
polynomial_coefficients_SiC = '1 0 0'
polynomial_coefficients_OPyC = '1 0 0'
correlation_factor = 1.391516859626456
[]
[d_gap]
type = PiecewiseLinear
x = '1500 2100'
y = '1e-14 1e-12'
[]
[ag_d1]
type = ParsedFunction
symbol_values = 'sic_failure_overall'
symbol_names = 'failure'
expression = 'if(failure > 0.5,1e-6,3.6e-9)'
[]
[ag_q1]
type = ParsedFunction
symbol_values = 'sic_failure_overall'
symbol_names = 'failure'
expression = 'if(failure > 0.5,0,215e3)'
[]
[]
[Kernels]
[heat_ie]
type = HeatConductionTimeDerivative
variable = temperature
extra_vector_tags = 'ref'
[]
[heat]
type = HeatConduction
variable = temperature
extra_vector_tags = 'ref'
[]
[heat_source]
type = NeutronHeatSource
variable = temperature
block = fuel
fission_rate = fission_rate
extra_vector_tags = 'ref'
[]
[mass_Ag_dt]
type = TimeDerivative
variable = conc_Ag
[]
[mass_Ag]
type = ArrheniusDiffusion
variable = conc_Ag
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
extra_vector_tags = 'ref'
[]
[mass_source_Ag]
type = SpeciesSourceRate
variable = conc_Ag
property_name = Ag_generation
block = fuel
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[fissionrate]
type = MaterialRealAux
variable = fission_rate
property = fission_rate
block = fuel
execute_on = timestep_begin
[]
[burnup]
type = MaterialRealAux
variable = burnup
property = burnup
block = fuel
execute_on = timestep_begin
[]
[fast_neutron_flux]
type = MaterialRealAux
variable = fast_neutron_flux
property = fast_neutron_flux
execute_on = timestep_begin
[]
[fast_neutron_fluence]
type = MaterialRealAux
variable = fast_neutron_fluence
property = fast_neutron_fluence
execute_on = timestep_begin
[]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_temp]
type = FunctionDirichletBC
variable = temperature
function = 873.15
boundary = exterior
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[no_disp_x]
type = DirichletBC
variable = disp_x
boundary = xzero
value = 0.0
[]
[exterior_pressure_x]
type = Pressure
variable = disp_x
boundary = exterior
factor = 0.1e6
[]
[PlenumPressure]
[plenumPressure]
boundary = buffer_IPyC_boundary
startup_time = 1e4
initial_pressure = 0
output_initial_moles = initial_moles
temperature = ave_gas_temp
volume = 'gap_volume buffer_void_volume kernel_void_volume'
material_input = 'fis_gas_released'
output = gas_pressure
[]
[]
[]
[Controls]
[ag_d1]
type = RealFunctionControl
parameter = 'Materials/SiC_conc_Ag/d1'
function = 'ag_d1'
execute_on = 'INITIAL TIMESTEP_BEGIN'
[]
[ag_q1]
type = RealFunctionControl
parameter = 'Materials/SiC_conc_Ag/q1'
function = 'ag_q1'
execute_on = 'INITIAL TIMESTEP_BEGIN'
[]
[]
[Materials]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_rate
#block = fuel
[]
[fast_neutron_flux]
type = FastNeutronFlux
calculate_fluence = true
flux_function = power_history
factor = 1.16e18
[]
# Arrhenius diffusion coefficients for kernel, PyC, and SiC
# come from IAEA TECDOC-978, French parameters.
[fuel_conc_Ag]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 6.7e-9 # m^2/s
q1 = 165e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[mass_source_Ag_property]
type = SpeciesSourceMaterial
property_name = Ag_generation
kind = Ag
block = fuel
[]
### Buffer Properties
[buffer_conc_Ag]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
### IPyC properties
[IPyC_conc_Ag]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 5.3e-9 # m^2/s
q1 = 154e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
### SiC properties
[SiC_conc_Ag]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 3.6e-9 # m^2/s
q1 = 215e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
### OPyC properties
[OPyC_conc_Ag]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 5.3e-9 # m^2/s
q1 = 154e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[UCO_burnup]
type = TRISOBurnup
initial_density = 10966
block = fuel
[]
[UCO_thermal]
type = UCOThermal
block = fuel
temperature = temperature
[]
[UCO_elasticity_tensor]
type = UCOElasticityTensor
block = fuel
temperature = temperature
[]
[UCO_stress]
type = ComputeFiniteStrainElasticStress
block = fuel
[]
[UCO_VolumetricSwellingEigenstrain]
type = UCOVolumetricSwellingEigenstrain
block = fuel
eigenstrain_name = UCO_swelling_eigenstrain
[]
[fuel_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = fuel
thermal_expansion_coeff = 10.0e-6
temperature = temperature
eigenstrain_name = UCO_TE_strain
[]
[UCO_density]
type = StrainAdjustedDensity
block = fuel
strain_free_density = 10966
[]
[fission_gas_release]
type = UCOFGR
block = fuel
average_grain_radius = 10e-6
temperature = temperature
triso_geometry = particle_geometry
cutoff_neutron_flux = 0.0
[]
[normal_vectors_triso]
type = NormalVectorsTRISO
block = 'buffer IPyC OPyC'
[]
[BAF_IPyC]
type = BaconAnisotropyFactor
initial_BAF = 1.0465
block = IPyC
[]
[BAF_OPyC]
type = BaconAnisotropyFactor
initial_BAF = 1.0429
block = OPyC
[]
[buffer_elasticity_tensor]
type = BufferElasticityTensor
block = buffer
temperature = temperature
[]
[buffer_stress]
type = BufferCEGACreep
block = buffer
temperature = temperature
[]
[buffer_thermal]
type = BufferThermal
block = buffer
initial_density = 1050.0
[]
[buffer_density]
type = StrainAdjustedDensity
block = buffer
strain_free_density = 1050.0
[]
[buffer_TE]
type = BufferThermalExpansionEigenstrain
block = buffer
eigenstrain_name = Buffer_TE_strain
temperature = temperature
[]
[buffer_IIDC]
type = BufferCEGAIrradiationEigenstrain
block = buffer
eigenstrain_name = Buffer_IIDC_strain
temperature = temperature
[]
[IPyC_elasticity_tensor]
type = PyCElasticityTensor
block = IPyC
temperature = temperature
[]
[IPyC_stress]
type = PyCCEGACreep
block = IPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[IPyC_thermal]
type = HeatConductionMaterial
block = IPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[IPyC_density]
type = GenericConstantMaterial
block = IPyC
prop_names = 'density'
prop_values = 1890
[]
[IPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = IPyC
eigenstrain_name = IPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[IPyC_TE]
type = PyCThermalExpansionEigenstrain
block = IPyC
eigenstrain_name = IPyC_TE_strain
temperature = temperature
[]
[SiC_elasticity_tensor]
type = MonolithicSiCElasticityTensor
block = SiC
temperature = temperature
elastic_modulus_model = miller
[]
[SiC_stress]
type = ComputeFiniteStrainElasticStress
block = SiC
[]
[SiC_thermal]
type = MonolithicSiCThermal
block = SiC
temperature = temperature
thermal_conductivity_model = miller
[]
[SiC_density]
type = StrainAdjustedDensity
block = SiC
strain_free_density = 3200.0
[]
[SiC_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = SiC
thermal_expansion_coeff = 4.9e-6
temperature = temperature
eigenstrain_name = SiC_thermal_eigenstrain
[]
[OPyC_elasticity_tensor]
type = PyCElasticityTensor
block = OPyC
temperature = temperature
initial_BAF = 1.0
[]
[OPyC_stress]
type = PyCCEGACreep
block = OPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[OPyC_thermal_conductivity]
type = HeatConductionMaterial
block = OPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[OPyC_density]
type = GenericConstantMaterial
block = OPyC
prop_names = 'density'
prop_values = 1900
[]
[OPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = OPyC
eigenstrain_name = OPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[OPyC_TE]
type = PyCThermalExpansionEigenstrain
block = OPyC
eigenstrain_name = OPyC_TE_strain
temperature = temperature
[]
[characteristic_strength_SiC]
type = GenericConstantMaterial
prop_values = '9640000'
block = SiC
prop_names = 'characteristic_strength'
[]
[characteristic_strength_PyC]
type = PyCCharacteristicStrength
temperature = temperature
X = 1.02
block = 'IPyC OPyC'
[]
[]
[ThermalContact]
[thermal_contact]
type = GasGapHeatTransfer
variable = temperature
primary = IPyC_inner_boundary
secondary = buffer_outer_boundary
initial_moles = initial_moles # coupling to a postprocessor which supplies the initial plenum/gap gas mass
initial_gas_types = 'Kr Xe'
initial_fractions = '0.185 0.815'
gas_released = 'fis_gas_released'
released_gas_types = 'Kr Xe'
released_fractions = '0.185 0.815'
tangential_tolerance = 1e-6
roughness_primary = 0e-6
roughness_secondary = 0e-6
jumpdistance_primary = 0
jumpdistance_secondary = 0
quadrature = true
emissivity_secondary = 0.0
emissivity_primary = 0.0
min_gap = 1e-7
max_gap = 50e-6
gap_geometry_type = sphere
[]
[conc_Ag]
type = GapHeatTransfer
variable = conc_Ag
primary = IPyC_inner_boundary
secondary = buffer_outer_boundary
tangential_tolerance = 1e-6
gap_conductivity_function = d_gap
gap_conductivity_function_variable = temperature
appended_property_name = _conc_Ag
quadrature = true
gap_geometry_type = sphere
emissivity_primary = 0.0
emissivity_secondary = 0.0
min_gap = 1e-7
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
nl_rel_tol = 1e-7
nl_abs_tol = 1e-7
nl_max_its = 20
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 4.831315e7
dtmin = 1e-4
[TimeStepper]
type = IterationAdaptiveDT
dt = 20
growth_factor = 1.5
optimal_iterations = 8 #6
linear_iteration_ratio = 100
time_t = '0 76e6 76.001e6 84.641e6 84.6482e6'
time_dt = '20 20 20 20 20'
[]
[]
[Postprocessors]
[ave_gas_temp]
type = ElementAverageValue
block = buffer
variable = temperature
execute_on = 'initial timestep_end'
[]
[gap_volume]
type = InternalVolume
boundary = buffer_IPyC_boundary
execute_on = 'initial linear'
use_displaced_mesh = true
[]
[buffer_void_volume]
type = VoidVolume
block = buffer
theoretical_density = 2250
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[kernel_th_density]
type = UCOTheoreticalDensity
execute_on = initial
[]
[kernel_void_volume]
type = VoidVolume
block = fuel
theoretical_density = kernel_th_density
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[release_heat_inc]
type = SideIntegralMassFlux
variable = temperature
boundary = exterior
arrhenius_prpty_name = thermal_conductivity
execute_on = 'initial timestep_end'
[]
[release_Ag_inc]
type = SideIntegralMassFlux
variable = conc_Ag
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
execute_on = 'initial timestep_end'
[]
[released_Ag]
type = TimeIntegratedPostprocessor # computes time integration of value
value = release_Ag_inc
execute_on = 'initial timestep_end'
[]
[total_Ag]
type = ElementIntegralMaterialProperty
mat_prop = Ag_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Ag_released]
type = FractionalRelease
released = released_Ag
total = total_Ag
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
[]
[fis_gas_produced]
type = ElementIntegralMaterialProperty
mat_prop = fis_gas_produced
block = fuel
execute_on = 'initial timestep_end'
[]
[fis_gas_released]
type = ElementIntegralMaterialProperty
mat_prop = fis_gas_released
block = fuel
execute_on = 'initial linear timestep_end'
[]
### Postprocessors for CO production
[total_fission_rate]
type = ElementIntegralPower
variable = temperature
fission_rate = fission_rate
block = fuel
energy_per_fission = 1.0
execute_on = 'initial timestep_end'
[]
[total_fissions]
type = TimeIntegratedPostprocessor
value = total_fission_rate
execute_on = 'initial timestep_end'
[]
##### irradiation conditions
[particle_power]
type = ElementIntegralPower
variable = temperature
use_material_fission_rate = true
fission_rate_material = fission_rate
block = fuel
execute_on = 'initial timestep_end'
[]
[max_fluence]
type = ElementExtremeValue
variable = fast_neutron_fluence
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[max_burnup]
type = ElementExtremeValue
variable = burnup
block = fuel
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[SiC_stress]
type = ElementExtremeMaterialProperty
block = SiC
value_type = min
mat_prop = stress_yy
[]
[strength_SiC]
type = WeibullEffectiveMeanStrength
block = SiC
weibull_modulus = 6
[]
[failure_indicator_SiC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_asphericity'
stress_correlation_function = 'stress_correlation_asphericity'
stress_change_correlation_function = 'stress_change_correlation_asphericity'
[]
[strength_IPyC]
type = WeibullEffectiveMeanStrength
block = IPyC
weibull_modulus = 9.5
[]
[failure_indicator_IPyC]
type = WeibullFailureOutputUsingCorrelation
block = IPyC
weibull_modulus = 9.5
stress_name = max_principal_stress
effective_mean_strength = strength_IPyC
[]
[failure_indicator_SiC_crackedIPyC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_crackedIPyC'
stress_correlation_function = 'stress_correlation_crackedIPyC'
[]
[sic_failure_overall]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
SiC_failure_pd_penetration = failure_indicator_pd_penetration
failure_type = SIC_FAILURE_OVERALL
[]
[ipyc_cracking]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
failure_type = IPYC_CRACKING
[]
[sic_failure_due_to_pressure]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
failure_type = SIC_FAILURE_DUE_TO_PRESSURE
[]
[sic_failure_due_to_ipyc_cracking]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
failure_type = SIC_FAILURE_DUE_TO_IPYC_CRACKING
[]
[weibull_failure_probability_IPyC]
type = WeibullFailureProbability
block = IPyC
weibull_modulus = 9.5
characteristic_strength = characteristic_strength
[]
[weibull_failure_probability_SiC]
type = WeibullFailureProbability
block = SiC
weibull_modulus = 6
characteristic_strength = characteristic_strength
[]
[pd_penetration]
type = PdPenetration
boundary = SiC_inner_boundary
variable = temperature
execute_on = 'initial timestep_end'
[]
[failure_indicator_pd_penetration]
type = PdPenetrationFailureIndicator
triso_geometry = particle_geometry
pd_penetration = pd_penetration
[]
[]
[Outputs]
csv = true
[]
(examples/TRISO/failure_probability_direct_integration/triso_1d.i)
kernel_radius = 213.35e-6
buffer_thickness = 98.9e-6
IPyC_thickness = 40.4e-6
SiC_thickness = 35.2e-6
OPyC_thickness = 43.4e-6
coordinates1 = '${fparse kernel_radius}'
coordinates2 = '${fparse coordinates1+buffer_thickness}'
coordinates3 = '${fparse coordinates2+IPyC_thickness}'
coordinates4 = '${fparse coordinates3+SiC_thickness}'
coordinates5 = '${fparse coordinates4+OPyC_thickness}'
initial_fuel_density = 10966
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x'
initial_enrichment = 0.14029 # [wt-]
flux_conversion_factor = 1.0 # convert E>0.10 to E>0.18 MeV
stress_free_temperature = 481 # used for thermal expansion
energy_per_fission = 3.204e-11 # [J/fission]
O_U = 1.428 # Initial Oxygen to Uranium atom ratio
C_U = 0.392 # Initial Carbon to Uranium atom ratio
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 ${coordinates1} ${coordinates2} ${coordinates2} ${coordinates3} ${coordinates4} ${coordinates5}'
mesh_density = '5 3 0 5 3 4'
block_names = 'fuel buffer IPyC SiC OPyC'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[UserObjects]
[particle_geometry]
type = TRISOGeometry
outer_OPyC = OPyC_outer_boundary
outer_SiC = SiC_outer_boundary
outer_IPyC = IPyC_outer_boundary
inner_IPyC = IPyC_inner_boundary
outer_buffer = buffer_outer_boundary
outer_kernel = fuel_outer_boundary
include_particle = true
include_pebble = false
IPyC_thickness_mean = 40.4e-6
SiC_thickness_mean = 35.2e-6
OPyC_thickness_mean = 43.4e-6
[]
[]
[Variables]
[temperature]
initial_condition = 481
[]
[]
[AuxVariables]
[fission_rate]
order = CONSTANT
family = MONOMIAL
[]
[burnup]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_flux]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_fluence]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temp_bc]
type = PiecewiseLinear
data_file = outer_temp.csv
x_index_in_file = 0
y_index_in_file = 1
format = columns
[]
[fission_rate]
type = ConstantFunction
value = 5.75e19
[]
[high_fidelity_strength_crackedIPyC]
type = ConstantFunction
value = '1363350801.3058'
[]
[stress_correlation_crackedIPyC]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 7017 -2.368e8'
polynomial_coefficients_SiC = '1 1.492e4 -3.802e7'
polynomial_coefficients_OPyC = '1 -1.273e4 1.849e8'
correlation_factor = -1.1824630660785265
[]
[high_fidelity_strength_asphericity]
type = ConstantFunction
value = '1086690814.283'
[]
[stress_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 -2070 3.458e7'
polynomial_coefficients_SiC = '1 -868.9 -1.368e7'
polynomial_coefficients_OPyC = '1 1734 -1.988e7'
correlation_factor = 1.0626986695756293
[]
[stress_change_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 -856 1.593e7'
polynomial_coefficients_SiC = '1 1774 -5.253e7'
polynomial_coefficients_OPyC = '1 456.4 -1.459e7'
correlation_factor = 1.0113764663823708
[]
[]
[Physics/SolidMechanics/QuasiStatic]
generate_output = 'stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz max_principal_stress'
add_variables = true
strain = FINITE
incremental = true
[fuel]
block = fuel
eigenstrain_names = 'UCO_swelling_eigenstrain UCO_TE_strain'
extra_vector_tags = 'ref'
[]
[buffer]
block = buffer
eigenstrain_names = 'Buffer_IIDC_strain Buffer_TE_strain'
extra_vector_tags = 'ref'
[]
[IPyC]
block = IPyC
eigenstrain_names = 'IPyC_IIDC_strain IPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[SiC]
block = SiC
eigenstrain_names = 'SiC_thermal_eigenstrain'
extra_vector_tags = 'ref'
[]
[OPyC]
block = OPyC
eigenstrain_names = 'OPyC_IIDC_strain OPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[]
[Kernels]
[heat_ie]
type = HeatConductionTimeDerivative
variable = temperature
extra_vector_tags = 'ref'
[]
[heat]
type = HeatConduction
variable = temperature
extra_vector_tags = 'ref'
[]
[heat_source]
type = NeutronHeatSource
variable = temperature
block = fuel
fission_rate = fission_rate
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[fissionrate]
type = MaterialRealAux
variable = fission_rate
property = fission_rate
block = fuel
execute_on = timestep_begin
[]
[burnup]
type = MaterialRealAux
variable = burnup
property = burnup
block = fuel
execute_on = timestep_begin
[]
[fast_neutron_flux]
type = MaterialRealAux
variable = fast_neutron_flux
property = fast_neutron_flux
execute_on = timestep_begin
[]
[fast_neutron_fluence]
type = MaterialRealAux
variable = fast_neutron_fluence
property = fast_neutron_fluence
execute_on = timestep_begin
[]
[]
[ThermalContact]
[thermal_contact]
type = GasGapHeatTransfer
variable = temperature
primary = IPyC_inner_boundary
secondary = buffer_outer_boundary
initial_moles = initial_moles
gas_released = 'fis_gas_released'
released_gas_types = 'Kr Xe'
released_fractions = '0.185 0.815'
tangential_tolerance = 1e-6
quadrature = false
min_gap = 1e-7
max_gap = 50e-6
gap_geometry_type = sphere
[]
[]
[BCs]
[no_disp_x]
type = DirichletBC
variable = disp_x
boundary = xzero
value = 0.0
[]
[freesurf_temp]
type = FunctionDirichletBC
variable = temperature
function = temp_bc
boundary = exterior
[]
[exterior_pressure_x]
type = Pressure
variable = disp_x
boundary = exterior
factor = 0.1e6
[]
[PlenumPressure]
[plenumPressure]
boundary = buffer_IPyC_boundary
startup_time = 1e4
initial_pressure = 0
R = 8.3145
output_initial_moles = initial_moles
temperature = ave_gas_temp
volume = 'gap_volume buffer_void_volume kernel_void_volume'
material_input = 'fis_gas_released'
output = gas_pressure
[]
[]
[]
[Materials]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_rate
block = fuel
[]
[fast_neutron_flux]
type = FastNeutronFlux
calculate_fluence = true
factor = 6.2425e+17
[]
[UCO_burnup]
type = TRISOBurnup
initial_density = ${initial_fuel_density}
block = fuel
[]
[UCO_thermal]
type = UCOThermal
block = fuel
temperature = temperature
[]
[UCO_elasticity_tensor]
type = UCOElasticityTensor
block = fuel
temperature = temperature
[]
[UCO_stress]
type = ComputeFiniteStrainElasticStress
block = fuel
[]
[UCO_VolumetricSwellingEigenstrain]
type = UCOVolumetricSwellingEigenstrain
block = fuel
eigenstrain_name = UCO_swelling_eigenstrain
[]
[fuel_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = fuel
thermal_expansion_coeff = 10.0e-6
temperature = temperature
eigenstrain_name = UCO_TE_strain
[]
[UCO_density]
type = StrainAdjustedDensity
block = fuel
strain_free_density = ${initial_fuel_density}
[]
[fission_gas_release]
type = UCOFGR
block = fuel
average_grain_radius = 10e-6
temperature = temperature
triso_geometry = particle_geometry
cutoff_neutron_flux = 0.0
[]
[normal_vectors_triso]
type = NormalVectorsTRISO
block = 'buffer IPyC OPyC'
[]
[BAF_IPyC]
type = BaconAnisotropyFactor
initial_BAF = 1.0465
block = IPyC
[]
[BAF_OPyC]
type = BaconAnisotropyFactor
initial_BAF = 1.0429
block = OPyC
[]
[buffer_elasticity_tensor]
type = BufferElasticityTensor
block = buffer
temperature = temperature
[]
[buffer_stress]
type = BufferCEGACreep
block = buffer
temperature = temperature
[]
[buffer_thermal]
type = BufferThermal
block = buffer
initial_density = 1050.0
[]
[buffer_density]
type = StrainAdjustedDensity
block = buffer
strain_free_density = 1050.0
[]
[buffer_TE]
type = BufferThermalExpansionEigenstrain
block = buffer
eigenstrain_name = Buffer_TE_strain
temperature = temperature
[]
[buffer_IIDC]
type = BufferCEGAIrradiationEigenstrain
block = buffer
eigenstrain_name = Buffer_IIDC_strain
temperature = temperature
[]
[IPyC_elasticity_tensor]
type = PyCElasticityTensor
block = IPyC
temperature = temperature
[]
[IPyC_stress]
type = PyCCEGACreep
block = IPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[IPyC_thermal]
type = HeatConductionMaterial
block = IPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[IPyC_density]
type = GenericConstantMaterial
block = IPyC
prop_names = 'density'
prop_values = 1890
[]
[IPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = IPyC
eigenstrain_name = IPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[IPyC_TE]
type = PyCThermalExpansionEigenstrain
block = IPyC
eigenstrain_name = IPyC_TE_strain
temperature = temperature
[]
[SiC_elasticity_tensor]
type = MonolithicSiCElasticityTensor
block = SiC
temperature = temperature
elastic_modulus_model = miller
[]
[SiC_stress]
type = ComputeFiniteStrainElasticStress
block = SiC
[]
[SiC_thermal]
type = MonolithicSiCThermal
block = SiC
temperature = temperature
thermal_conductivity_model = miller
[]
[SiC_density]
type = StrainAdjustedDensity
block = SiC
strain_free_density = 3200.0
[]
[SiC_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = SiC
thermal_expansion_coeff = 4.9e-6
temperature = temperature
eigenstrain_name = SiC_thermal_eigenstrain
[]
[OPyC_elasticity_tensor]
type = PyCElasticityTensor
block = OPyC
temperature = temperature
initial_BAF = 1.0
[]
[OPyC_stress]
type = PyCCEGACreep
block = OPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[OPyC_thermal_conductivity]
type = HeatConductionMaterial
block = OPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[OPyC_density]
type = GenericConstantMaterial
block = OPyC
prop_names = 'density'
prop_values = 1900
[]
[OPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = OPyC
eigenstrain_name = OPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[OPyC_TE]
type = PyCThermalExpansionEigenstrain
block = OPyC
eigenstrain_name = OPyC_TE_strain
temperature = temperature
[]
[characteristic_strength_SiC]
type = GenericConstantMaterial
prop_values = '9640000'
block = SiC
prop_names = 'characteristic_strength'
[]
[characteristic_strength_PyC]
type = PyCCharacteristicStrength
temperature = temperature
X = 1.02
block = 'IPyC OPyC'
[]
[]
[Dampers]
[temp]
type = MaxIncrement
variable = temperature
max_increment = 100
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 5e-6
nl_abs_tol = 1e-8
nl_max_its = 20
l_tol = 1e-4
l_max_its = 50
#num_steps = 1
start_time = 0.0
end_time = 4.831315e7
dtmin = 1e-4
dt = 5e5
[]
[Postprocessors]
[ave_gas_temp]
type = ElementAverageValue
block = buffer
variable = temperature
execute_on = 'initial timestep_end'
[]
[fis_gas_released]
type = ElementIntegralMaterialProperty
mat_prop = fis_gas_released
block = fuel
use_displaced_mesh = false
execute_on = 'initial timestep_end'
[]
[gap_volume]
type = InternalVolume
boundary = buffer_IPyC_boundary
execute_on = 'initial linear'
use_displaced_mesh = true
[]
[buffer_void_volume]
type = VoidVolume
block = buffer
theoretical_density = 2250
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[kernel_th_density]
type = UCOTheoreticalDensity
execute_on = initial
[]
[kernel_void_volume]
type = VoidVolume
block = fuel
theoretical_density = kernel_th_density
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[particle_power]
type = ElementIntegralPower
variable = temperature
use_material_fission_rate = true
fission_rate_material = fission_rate
block = fuel
execute_on = 'initial timestep_end'
[]
[max_fluence]
type = ElementExtremeValue
variable = fast_neutron_fluence
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[max_burnup]
type = ElementExtremeValue
variable = burnup
block = fuel
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[SiC_stress]
type = ElementExtremeMaterialProperty
block = SiC
value_type = min
mat_prop = stress_yy
[]
[weibull_failure_probability_IPyC]
type = WeibullFailureProbability
block = IPyC
weibull_modulus = 9.5
characteristic_strength = characteristic_strength
[]
[weibull_failure_probability_SiC_crackedIPyC]
type = WeibullFailureProbabilityUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_crackedIPyC'
stress_correlation_function = 'stress_correlation_crackedIPyC'
[]
[weibull_failure_probability_SiC]
type = WeibullFailureProbabilityUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_asphericity'
stress_correlation_function = 'stress_correlation_asphericity'
stress_change_correlation_function = 'stress_change_correlation_asphericity'
[]
[]
[Outputs]
show = 'weibull_failure_probability_IPyC weibull_failure_probability_SiC weibull_failure_probability_SiC_crackedIPyC'
print_linear_residuals = false
time_step_interval = 1
csv = false
exodus = false
perf_graph = true
print_linear_converged_reason = false
print_nonlinear_converged_reason = false
[]
(examples/TRISO/failure_probability_monte_carlo/triso_1d_constant.i)
initial_fuel_density = 5
[GlobalParams]
order = FIRST
family = LAGRANGE
displacements = 'disp_x'
initial_enrichment = 0.14029 # [wt-]
flux_conversion_factor = 1.0 # convert E>0.10 to E>0.18 MeV
stress_free_temperature = 481 # used for thermal expansion
energy_per_fission = 3.204e-11 # [J/fission]
O_U = 1.428 # Initial Oxygen to Uranium atom ratio
C_U = 0.392 # Initial Carbon to Uranium atom ratio
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DFiveLayerMeshGenerator
elem_type = EDGE3
kernel_radius = 213.35e-6
buffer_thickness = 98.9e-6
IPyC_thickness = 40.4e-6
SiC_thickness = 35.2e-6
OPyC_thickness = 43.4e-6
kernel_mesh_density = ${initial_fuel_density}
buffer_mesh_density = 3
IPyC_mesh_density = 5
SiC_mesh_density = 3
OPyC_mesh_density = 4
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[UserObjects]
[particle_geometry]
type = TRISOGeometry
outer_OPyC = OPyC_outer_boundary
outer_SiC = SiC_outer_boundary
outer_IPyC = IPyC_outer_boundary
inner_IPyC = IPyC_inner_boundary
outer_buffer = buffer_outer_boundary
outer_kernel = fuel_outer_boundary
include_particle = true
include_pebble = false
IPyC_thickness_mean = 40.4e-6
SiC_thickness_mean = 35.2e-6
OPyC_thickness_mean = 43.4e-6
execute_on = 'INITIAL TIMESTEP_END'
[]
[sic_failure_terminator]
type = Terminator
expression = 'sic_failure_overall > 0'
[]
[]
[Variables]
[temperature]
initial_condition = 481
[]
[]
[AuxVariables]
[fission_rate]
order = CONSTANT
family = MONOMIAL
[]
[burnup]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_flux]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_fluence]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temp_bc]
type = PiecewiseLinear
data_file = outer_temp.csv
x_index_in_file = 0
y_index_in_file = 1
format = columns
[]
[fission_rate]
type = ConstantFunction
value = 5.75e19
[]
[high_fidelity_strength_crackedIPyC]
type = ConstantFunction
value = '1403604095.5707'
[]
[stress_correlation_crackedIPyC]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 0 0'
polynomial_coefficients_SiC = '1 0 0'
polynomial_coefficients_OPyC = '1 0 0'
correlation_factor = -1.2447543103484047
[]
[high_fidelity_strength_debonding]
type = ConstantFunction
value = '1705800293.3578'
[]
[stress_correlation_debonding]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 0 0'
polynomial_coefficients_SiC = '1 0 0'
polynomial_coefficients_OPyC = '1 0 0'
correlation_factor = -0.14916368684964607
[]
[high_fidelity_strength_asphericity]
type = ConstantFunction
value = '1371700766.8875'
[]
[stress_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 0 0'
polynomial_coefficients_SiC = '1 0 0'
polynomial_coefficients_OPyC = '1 0 0'
correlation_factor = 1.5191967987843993
[]
[stress_change_correlation_asphericity]
type = TRISOStressCorrelationFunction
triso_geometry = particle_geometry
polynomial_coefficients_IPyC = '1 0 0'
polynomial_coefficients_SiC = '1 0 0'
polynomial_coefficients_OPyC = '1 0 0'
correlation_factor = 1.391516859626456
[]
[sic_crackedipyc_stress_strength]
type = ParsedFunction
expression = 'a-b'
symbol_names = 'a b'
symbol_values = 'stress_SiC_crackedIPyC actual_strength_SiC_crackedIPyC'
[]
[]
[Physics/SolidMechanics/QuasiStatic]
generate_output = 'stress_xx stress_yy stress_zz strain_xx strain_yy strain_zz max_principal_stress'
add_variables = true
strain = FINITE
incremental = true
[fuel]
block = fuel
eigenstrain_names = 'UCO_swelling_eigenstrain UCO_TE_strain'
extra_vector_tags = 'ref'
[]
[buffer]
block = buffer
eigenstrain_names = 'Buffer_IIDC_strain Buffer_TE_strain'
extra_vector_tags = 'ref'
[]
[IPyC]
block = IPyC
eigenstrain_names = 'IPyC_IIDC_strain IPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[SiC]
block = SiC
eigenstrain_names = 'SiC_thermal_eigenstrain'
extra_vector_tags = 'ref'
[]
[OPyC]
block = OPyC
eigenstrain_names = 'OPyC_IIDC_strain OPyC_TE_strain'
extra_vector_tags = 'ref'
[]
[]
[Kernels]
[heat_ie]
type = HeatConductionTimeDerivative
variable = temperature
extra_vector_tags = 'ref'
[]
[heat]
type = HeatConduction
variable = temperature
extra_vector_tags = 'ref'
[]
[heat_source]
type = NeutronHeatSource
variable = temperature
block = fuel
fission_rate = fission_rate
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[fissionrate]
type = MaterialRealAux
variable = fission_rate
property = fission_rate
block = fuel
execute_on = timestep_begin
[]
[burnup]
type = MaterialRealAux
variable = burnup
property = burnup
block = fuel
execute_on = timestep_begin
[]
[fast_neutron_flux]
type = MaterialRealAux
variable = fast_neutron_flux
property = fast_neutron_flux
execute_on = timestep_begin
[]
[fast_neutron_fluence]
type = MaterialRealAux
variable = fast_neutron_fluence
property = fast_neutron_fluence
execute_on = timestep_begin
[]
[]
[ThermalContact]
[thermal_contact]
type = GasGapHeatTransfer
variable = temperature
primary = IPyC_inner_boundary
secondary = buffer_outer_boundary
initial_moles = initial_moles
gas_released = 'fis_gas_released'
released_gas_types = 'Kr Xe'
released_fractions = '0.185 0.815'
tangential_tolerance = 1e-6
quadrature = false
min_gap = 1e-7
max_gap = 50e-6
gap_geometry_type = sphere
[]
[]
[BCs]
[no_disp_x]
type = DirichletBC
variable = disp_x
boundary = xzero
value = 0.0
[]
[freesurf_temp]
type = FunctionDirichletBC
variable = temperature
function = temp_bc
boundary = exterior
[]
[exterior_pressure_x]
type = Pressure
variable = disp_x
boundary = exterior
factor = 0.1e6
[]
[PlenumPressure]
[plenumPressure]
boundary = buffer_IPyC_boundary
startup_time = 1e4
initial_pressure = 0
R = 8.3145
output_initial_moles = initial_moles
temperature = ave_gas_temp
volume = 'gap_volume buffer_void_volume kernel_void_volume'
material_input = 'fis_gas_released'
output = gas_pressure
[]
[]
[]
[Materials]
[radial_stress]
type = RankTwoCylindricalComponent
rank_two_tensor = stress
cylindrical_axis_point1 = '0 0 0'
cylindrical_axis_point2 = '0 0 1'
cylindrical_component = RadialStress
property_name = radial_stress
outputs = all
[]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_rate
block = fuel
[]
[fast_neutron_flux]
type = FastNeutronFlux
calculate_fluence = true
factor = 6.2425e+17
[]
[UCO_burnup]
type = TRISOBurnup
initial_density = 10966
block = fuel
[]
[UCO_thermal]
type = UCOThermal
block = fuel
temperature = temperature
[]
[UCO_elasticity_tensor]
type = UCOElasticityTensor
block = fuel
temperature = temperature
[]
[UCO_stress]
type = ComputeFiniteStrainElasticStress
block = fuel
[]
[UCO_VolumetricSwellingEigenstrain]
type = UCOVolumetricSwellingEigenstrain
block = fuel
eigenstrain_name = UCO_swelling_eigenstrain
[]
[fuel_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = fuel
thermal_expansion_coeff = 10.0e-6
temperature = temperature
eigenstrain_name = UCO_TE_strain
[]
[UCO_density]
type = StrainAdjustedDensity
block = fuel
strain_free_density = 10966
[]
[fission_gas_release]
type = UCOFGR
block = fuel
average_grain_radius = 10e-6
temperature = temperature
triso_geometry = particle_geometry
cutoff_neutron_flux = 0.0
[]
[normal_vectors_triso]
type = NormalVectorsTRISO
block = 'buffer IPyC OPyC'
[]
[BAF_IPyC]
type = BaconAnisotropyFactor
initial_BAF = 1.0465
block = IPyC
[]
[BAF_OPyC]
type = BaconAnisotropyFactor
initial_BAF = 1.0429
block = OPyC
[]
[buffer_elasticity_tensor]
type = BufferElasticityTensor
block = buffer
temperature = temperature
[]
[buffer_stress]
type = BufferCEGACreep
block = buffer
temperature = temperature
[]
[buffer_thermal]
type = BufferThermal
block = buffer
initial_density = 1050.0
[]
[buffer_density]
type = StrainAdjustedDensity
block = buffer
strain_free_density = 1050.0
[]
[buffer_TE]
type = BufferThermalExpansionEigenstrain
block = buffer
eigenstrain_name = Buffer_TE_strain
temperature = temperature
[]
[buffer_IIDC]
type = BufferCEGAIrradiationEigenstrain
block = buffer
eigenstrain_name = Buffer_IIDC_strain
temperature = temperature
[]
[IPyC_elasticity_tensor]
type = PyCElasticityTensor
block = IPyC
temperature = temperature
[]
[IPyC_stress]
type = PyCCEGACreep
block = IPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[IPyC_thermal]
type = HeatConductionMaterial
block = IPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[IPyC_density]
type = GenericConstantMaterial
block = IPyC
prop_names = 'density'
prop_values = 1890
[]
[IPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = IPyC
eigenstrain_name = IPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[IPyC_TE]
type = PyCThermalExpansionEigenstrain
block = IPyC
eigenstrain_name = IPyC_TE_strain
temperature = temperature
[]
[SiC_elasticity_tensor]
type = MonolithicSiCElasticityTensor
block = SiC
temperature = temperature
elastic_modulus_model = miller
[]
[SiC_stress]
type = ComputeFiniteStrainElasticStress
block = SiC
[]
[SiC_thermal]
type = MonolithicSiCThermal
block = SiC
temperature = temperature
thermal_conductivity_model = miller
[]
[SiC_density]
type = StrainAdjustedDensity
block = SiC
strain_free_density = 3200.0
[]
[SiC_thermal_expansion]
type = ComputeThermalExpansionEigenstrain
block = SiC
thermal_expansion_coeff = 4.9e-6
temperature = temperature
eigenstrain_name = SiC_thermal_eigenstrain
[]
[OPyC_elasticity_tensor]
type = PyCElasticityTensor
block = OPyC
temperature = temperature
initial_BAF = 1.0
[]
[OPyC_stress]
type = PyCCEGACreep
block = OPyC
creep_rate_scale_factor = 1
temperature = temperature
[]
[OPyC_thermal_conductivity]
type = HeatConductionMaterial
block = OPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[OPyC_density]
type = GenericConstantMaterial
block = OPyC
prop_names = 'density'
prop_values = 1900
[]
[OPyC_IIDC]
type = PyCCEGAIrradiationEigenstrain
block = OPyC
eigenstrain_name = OPyC_IIDC_strain
temperature = temperature
irradiation_eigenstrain_scale_factor = 1
[]
[OPyC_TE]
type = PyCThermalExpansionEigenstrain
block = OPyC
eigenstrain_name = OPyC_TE_strain
temperature = temperature
[]
[characteristic_strength_SiC]
type = GenericConstantMaterial
prop_values = '9640000'
block = SiC
prop_names = 'characteristic_strength'
[]
[characteristic_strength_PyC]
type = PyCCharacteristicStrength
temperature = temperature
X = 1.02
block = 'IPyC OPyC'
[]
[]
[Dampers]
[temp]
type = MaxIncrement
variable = temperature
max_increment = 100
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 5e-6
nl_abs_tol = 1e-8
nl_max_its = 20
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 4.831315e7
dtmin = 1e-4
dt = 5e5
[]
[Postprocessors]
[ave_gas_temp]
type = ElementAverageValue
block = buffer
variable = temperature
execute_on = 'initial timestep_end'
[]
[fis_gas_released]
type = ElementIntegralMaterialProperty
mat_prop = fis_gas_released
block = fuel
use_displaced_mesh = false
execute_on = 'initial timestep_end'
[]
[gap_volume]
type = InternalVolume
boundary = buffer_IPyC_boundary
execute_on = 'initial linear'
use_displaced_mesh = true
[]
[buffer_void_volume]
type = VoidVolume
block = buffer
theoretical_density = 2250
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[kernel_th_density]
type = UCOTheoreticalDensity
execute_on = initial
[]
[kernel_void_volume]
type = VoidVolume
block = fuel
theoretical_density = kernel_th_density
execute_on = 'initial timestep_end'
use_displaced_mesh = true
[]
[particle_power]
type = ElementIntegralPower
variable = temperature
use_material_fission_rate = true
fission_rate_material = fission_rate
block = fuel
execute_on = 'initial timestep_end'
[]
[max_fluence]
type = ElementExtremeValue
variable = fast_neutron_fluence
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[max_burnup]
type = ElementExtremeValue
variable = burnup
block = fuel
value_type = 'max'
execute_on = 'initial timestep_end'
[]
[SiC_stress]
type = ElementExtremeMaterialProperty
block = SiC
value_type = min
mat_prop = stress_yy
[]
[strength_SiC]
type = WeibullEffectiveMeanStrength
block = SiC
weibull_modulus = 6
[]
[failure_indicator_SiC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_asphericity'
stress_correlation_function = 'stress_correlation_asphericity'
stress_change_correlation_function = 'stress_change_correlation_asphericity'
[]
[strength_IPyC]
type = WeibullEffectiveMeanStrength
block = IPyC
weibull_modulus = 9.5
[]
[failure_indicator_IPyC]
type = WeibullFailureOutputUsingCorrelation
block = IPyC
weibull_modulus = 9.5
stress_name = max_principal_stress
effective_mean_strength = strength_IPyC
[]
[failure_indicator_SiC_crackedIPyC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_crackedIPyC'
stress_correlation_function = 'stress_correlation_crackedIPyC'
[]
[failure_indicator_debonding]
type = TRISODebondingFailureIndicator
boundary = IPyC_outer_boundary
bond_strength = 10e6
stress_name = radial_stress
[]
[failure_indicator_SiC_debonding]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_debonding'
stress_correlation_function = 'stress_correlation_debonding'
[]
[sic_failure_overall]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
SiC_failure_pd_penetration = failure_indicator_pd_penetration
SiC_failure_kernel_migration = failure_indicator_kernel_migration
failure_type = SIC_FAILURE_OVERALL
[]
[ipyc_cracking]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
failure_type = IPYC_CRACKING
[]
[sic_failure_due_to_pressure]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
failure_type = SIC_FAILURE_DUE_TO_PRESSURE
[]
[sic_failure_due_to_ipyc_cracking]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
failure_type = SIC_FAILURE_DUE_TO_IPYC_CRACKING
[]
[stress_SiC_crackedIPyC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_crackedIPyC'
stress_correlation_function = 'stress_correlation_crackedIPyC'
output_type = 'stress'
[]
[actual_strength_SiC_crackedIPyC]
type = WeibullFailureOutputUsingCorrelation
block = SiC
weibull_modulus = 6
stress_name = stress_yy
high_fidelity_analysis_strength = 'high_fidelity_strength_crackedIPyC'
stress_correlation_function = 'stress_correlation_crackedIPyC'
output_type = 'strength'
[]
[SiC_crackedIPyC_stressminusstrength]
type = FunctionValuePostprocessor
function = 'sic_crackedipyc_stress_strength'
[]
[debonding]
type = TRISOFailureEvaluation
IPyC_failure = failure_indicator_IPyC
SiC_failure_crackedIPyC = failure_indicator_SiC_crackedIPyC
SiC_failure = failure_indicator_SiC
IPyC_SiC_debonding = failure_indicator_debonding
SiC_failure_debonding = failure_indicator_SiC_debonding
failure_type = IPYC_SIC_DEBONDING
[]
[fluence_at_failure]
type = TRISOFailureOccurrenceStatus
failure_evaluation = ipyc_cracking
failure_information = max_fluence
[]
[weibull_failure_probability_IPyC]
type = WeibullFailureProbability
block = IPyC
weibull_modulus = 9.5
characteristic_strength = characteristic_strength
[]
[weibull_failure_probability_SiC]
type = WeibullFailureProbability
block = SiC
weibull_modulus = 6
characteristic_strength = characteristic_strength
[]
[pd_penetration]
type = PdPenetration
boundary = SiC_inner_boundary
variable = temperature
execute_on = 'initial timestep_end'
[]
[failure_indicator_pd_penetration]
type = PdPenetrationFailureIndicator
triso_geometry = particle_geometry
pd_penetration = pd_penetration
[]
[kernel_migration_distance]
type = KernelMigrationDistance
block = 'fuel buffer IPyC SiC OPyC'
variable = temperature
temperature_gradient = 15000
kernel_type = UCO
[]
[failure_indicator_kernel_migration]
type = KernelMigrationFailureIndicator
kernel_migration_distance = kernel_migration_distance
triso_geometry = particle_geometry
[]
[]
[Outputs]
print_linear_residuals = false
time_step_interval = 1
csv = false
exodus = false
perf_graph = true
print_linear_converged_reason = false
print_nonlinear_converged_reason = false
[]