- kindWhich kind of mass source to compute.
C++ Type:MooseEnum
Controllable:No
Description:Which kind of mass source to compute.
- property_nameName to use for the mass source material property.
C++ Type:std::string
Controllable:No
Description:Name to use for the mass source material property.
SpeciesSourceMaterial
Computes mass source (mol/m^3/s).
Description
This material computes a species source term material property. The source term for silver, cesium, and strontium is computed according to TRISOUtils. It is also possible to define a custom source term. The initial calculation results in a value in mol/fission. This is multiplied by the fission rate, resulting in mol/m/s. The total is also computed in units of mol/m.
See also SpeciesSourceRate.
Example Input Syntax
[Materials<<<{"href": "../../syntax/Materials/index.html"}>>>]
[conc_generation]
type = SpeciesSourceMaterial<<<{"description": "Computes mass source (mol/m^3/s).", "href": "SpeciesSourceMaterial.html"}>>>
property_name<<<{"description": "Name to use for the mass source material property."}>>> = conc_generation
kind<<<{"description": "Which kind of mass source to compute."}>>> = Ag
[]
[](test/tests/species_source/Ag_exact.i)Input Parameters
- additional_functionAdditional function to apply (requires additional_function_property).
C++ Type:std::vector<FunctionName>
Unit:(no unit assumed)
Controllable:No
Description:Additional function to apply (requires additional_function_property).
- additional_function_propertyName of material property to be used to evaluate additional_function.
C++ Type:std::vector<MaterialPropertyName>
Unit:(no unit assumed)
Controllable:No
Description:Name of material property to be used to evaluate additional_function.
- blockThe list of blocks (ids or names) that this object will be applied
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The list of blocks (ids or names) that this object will be applied
- boundaryThe list of boundaries (ids or names) from the mesh where this object applies
C++ Type:std::vector<BoundaryName>
Controllable:No
Description:The list of boundaries (ids or names) from the mesh where this object applies
- burnup_nameburnupName of the burnup material.
Default:burnup
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:Name of the burnup material.
- computeTrueWhen false, MOOSE will not call compute methods on this material. The user must call computeProperties() after retrieving the MaterialBase via MaterialBasePropertyInterface::getMaterialBase(). Non-computed MaterialBases are not sorted for dependencies.
Default:True
C++ Type:bool
Controllable:No
Description:When false, MOOSE will not call compute methods on this material. The user must call computeProperties() after retrieving the MaterialBase via MaterialBasePropertyInterface::getMaterialBase(). Non-computed MaterialBases are not sorted for dependencies.
- constant_onNONEWhen ELEMENT, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps.When SUBDOMAIN, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps. Evaluations on element qps will be skipped
Default:NONE
C++ Type:MooseEnum
Options:NONE, ELEMENT, SUBDOMAIN
Controllable:No
Description:When ELEMENT, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps.When SUBDOMAIN, MOOSE will only call computeQpProperties() for the 0th quadrature point, and then copy that value to the other qps. Evaluations on element qps will be skipped
- declare_suffixAn optional suffix parameter that can be appended to any declared properties. The suffix will be prepended with a '_' character.
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:An optional suffix parameter that can be appended to any declared properties. The suffix will be prepended with a '_' character.
- fission_ratefission_rateCoupled fission rate.
Default:fission_rate
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:Coupled fission rate.
- initial_enrichmentInitial enrichment fraction of U235 (wt percent).
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Initial enrichment fraction of U235 (wt percent).
- species_source_function1A function that describes the mass source.
Default:1
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:A function that describes the mass source.
- time_average_mass_rateTrueWhether to average the mass rate with the previous mass rate when computing the total mass.
Default:True
C++ Type:bool
Controllable:No
Description:Whether to average the mass rate with the previous mass rate when computing the total mass.
- total_property_nameName to use for the total mass (time integral of property_name). If not given, the value of property_name appended with '_total' will be used.
C++ Type:std::string
Controllable:No
Description:Name to use for the total mass (time integral of property_name). If not given, the value of property_name appended with '_total' will be used.
- value1Leading coefficient.
Default:1
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Leading coefficient.
Optional Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:Yes
Description:Set the enabled status of the MooseObject.
- implicitTrueDetermines whether this object is calculated using an implicit or explicit form
Default:True
C++ Type:bool
Controllable:No
Description:Determines whether this object is calculated using an implicit or explicit form
- seed0The seed for the master random number generator
Default:0
C++ Type:unsigned int
Controllable:No
Description:The seed for the master random number generator
- use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Default:False
C++ Type:bool
Controllable:No
Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Advanced Parameters
- output_propertiesList of material properties, from this material, to output (outputs must also be defined to an output type)
C++ Type:std::vector<std::string>
Controllable:No
Description:List of material properties, from this material, to output (outputs must also be defined to an output type)
- outputsnone Vector of output names where you would like to restrict the output of variables(s) associated with this object
Default:none
C++ Type:std::vector<OutputName>
Controllable:No
Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object
Outputs Parameters
- prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
- use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.
Default:False
C++ Type:bool
Controllable:No
Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.
Material Property Retrieval Parameters
Input Files
- (assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_6b/case_6b.i)
- (assessment/TRISO/validation/AGR-34/SharedFiles/capsule_dtf.i)
- (assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_8b/case_8b.i)
- (assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_4b/case_4b.i)
- (assessment/TRISO/validation/AGR-1/AGR-1_Ag_Microstructure.i)
- (assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_4a/case_4a.i)
- (test/tests/triso_failure/triso_failure_diffusivity.i)
- (test/tests/species_source/ad_custom_source.i)
- (examples/TRISO/pebble/triso_1d.i)
- (assessment/TRISO/validation/AGR-2/AGR-2_Kr.i)
- (assessment/TRISO/validation/AGR-34/Compacts/Ag/DTF/AGR-34_dtf_Ag.i)
- (test/tests/triso_pebble/triso_1d.i)
- (examples/TRISO/pebble/triso_1d_failed.i)
- (assessment/TRISO/validation/AGR-34/Compacts/Ag/Driver/AGR-34_driver_Ag.i)
- (test/tests/arrhenius_diffusion_coef/check_jacobian.i)
- (assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_5b/case_5b.i)
- (assessment/TRISO/validation/AGR-2/AGR-2_Cs.i)
- (assessment/TRISO/validation/AGR-2/AGR-2_Sr.i)
- (assessment/TRISO/validation/AGR-1/AGR-1_Ag_Microstructure_Irradiation.i)
- (assessment/TRISO/validation/AGR-34/Compacts/Cs/Driver/AGR-34_driver_Cs.i)
- (assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_4c/case_4c.i)
- (assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_10/case_10.i)
- (assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_5a/case_5a.i)
- (assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_8a/case_8a.i)
- (test/tests/species_source/ad_Sr_exact.i)
- (assessment/TRISO/validation/AGR-34/Compacts/Sr/DTF/AGR-34_dtf_Sr.i)
- (assessment/TRISO/validation/AGR-1/AGR-1_Kr.i)
- (assessment/TRISO/validation/AGR-2/AGR-2_Ag_Microstructure.i)
- (test/tests/species_source/custom_source.i)
- (assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_4d/case_4d.i)
- (test/tests/species_source/ad_Ag_exact.i)
- (assessment/TRISO/validation/AGR-34/Compacts/Cs/DTF/AGR-34_dtf_Cs.i)
- (assessment/TRISO/validation/AGR-1/AGR-1_Sr.i)
- (test/tests/species_source/Kr_exact.i)
- (test/tests/species_source/Sr_exact.i)
- (assessment/TRISO/validation/AGR-1/AGR-1_Cs.i)
- (assessment/TRISO/validation/AGR-34/Compacts/Sr/Driver/AGR-34_driver_Sr.i)
- (assessment/TRISO/validation/AGR-34/SharedFiles/capsule_driver.i)
- (assessment/TRISO/validation/AGR-1/AGR-1_Ag.i)
- (assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_11/case_11.i)
- (test/tests/species_source/Ag_exact.i)
- (assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_6a/case_6a.i)
- (assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_7b/case_7b.i)
- (assessment/TRISO/validation/AGR-2/AGR-2_Ag.i)
- (assessment/TRISO/validation/AGR-2/AGR-2_Ag_Microstructure_Irradiation.i)
- (test/tests/species_source/ad_Kr_exact.i)
- (assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_9/case_9.i)
- (assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_7a/case_7a.i)
References
No citations exist within this document.(test/tests/species_source/Ag_exact.i)
#
# This test checks whether the species source for silver is operating
# as intended. The amount of silver produced in SpeciesSourceMaterial
# is checked against the amount computed through a ParsedMaterial.
#
# If correct, the 'diff' Postprocessor will have a value close to zero,
# and the 'fraction' Postprocessor will be one.
#
[GlobalParams]
initial_enrichment = 0.2
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
[]
[]
[Variables]
[conc]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1000
[]
[]
[Kernels]
[conc_dt]
type = TimeDerivative
variable = conc
[]
[conc_diffusion]
type = ArrheniusDiffusion
variable = conc
arrhenius_prpty_name = diff_coef
[]
[conc_source]
type = SpeciesSourceRate
variable = conc
property_name = conc_generation
[]
[]
[BCs]
[conc]
type = FunctionDirichletBC
variable = conc
boundary = 'left right'
function = '.1 * t + .1'
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
prop_names = burnup
prop_values = '0.01*t'
[]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = 'if(t=0,0,1e19)'
[]
[diff_coef]
type = ArrheniusDiffusionCoef
temperature = temperature
d1 = 1e-6
q1 = 100e3
arrhenius_prpty_name = diff_coef
[]
[conc_generation]
type = SpeciesSourceMaterial
property_name = conc_generation
kind = Ag
[]
[conc_generation_exact]
type = ParsedMaterial
property_name = conc_generation_exact
material_property_names = 'burnup fission_rate'
constant_names = 'a1 a2 b1 b2 e limit avo'
constant_expressions = '1.31625e-3 8.24492e-4 0.55734 0.53853 0.2 0.175 6.02214076e23'
expression = 'b:=if(burnup*100<1.0,1.0,burnup*100);
if(e<limit,a1*b^b1,a2*b^b2)/avo*fission_rate'
[]
[]
[Executioner]
type = Transient
num_steps = 10
[]
[Postprocessors]
[conc]
type = ElementIntegralMaterialProperty
mat_prop = conc_generation
execute_on = 'initial timestep_end'
[]
[conc_exact]
type = ElementIntegralMaterialProperty
mat_prop = conc_generation_exact
execute_on = 'initial timestep_end'
[]
[diff]
type = DifferencePostprocessor
value1 = 'conc'
value2 = 'conc_exact'
outputs = console
execute_on = 'initial timestep_end'
[]
[fraction]
type = FractionalRelease
released = conc
total = conc_exact
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
csv = true
[]
(assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_6b/case_6b.i)
#
# Particle failure at 49, 115, and 200h after 1600 C (30430800 s).
# So, particle failure at 30607200, 30844800, and 31150800 s.
# A failure-free analysis is also needed (four in all).
# The compact has 1631 particles.
#
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.0982
constant_expressions = 31525200.0
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 248.5e-6 342.5e-6 383.5e-6 419.5e-6 459.5e-6'
mesh_density = '50 30 15 15 15'
block_names = 'fuel buffer IPyC SiC OPyC'
bias = '1 1.25 1.25 1.25 1.25'
dual_bias = '0.8 0.8 0.8 0.8 1'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc_Cs]
[]
[conc_Ag]
[]
[conc_Sr]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1348.15
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Sr_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temperature]
type = PiecewiseLinear
data_file = temperature_history.dat
format = columns
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
[]
[mass_Ag_dt]
type = TimeDerivative
variable = conc_Ag
[]
[mass_Ag]
type = ArrheniusDiffusion
variable = conc_Ag
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Ag]
type = SpeciesSourceRate
variable = conc_Ag
property_name = Ag_generation
block = fuel
[]
[mass_Sr_dt]
type = TimeDerivative
variable = conc_Sr
[]
[mass_Sr]
type = ArrheniusDiffusion
variable = conc_Sr
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Sr]
type = SpeciesSourceRate
variable = conc_Sr
property_name = Sr_generation
block = fuel
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[Sr_diff_coef]
type = MaterialRealAux
variable = Sr_diff_coef
property = arrhenius_diffusion_coef_Sr
execute_on = timestep_end
[]
[temperature]
type = FunctionAux
function = temperature
variable = temperature
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[freesurf_conc_Sr]
type = DirichletBC
variable = conc_Sr
boundary = exterior
value = 0.0
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
block = fuel
prop_names = 'burnup'
prop_values = 'if(t<30326400,0.139/30326400*t,0.139)'
[]
[fission_rate]
type = GenericFunctionMaterial
block = fuel
prop_names = 'fission_rate'
# 1.105e20 = 0.139/30326400*10810/.27*6.0221409e23
prop_values = 'if(t<30326400,1.105e20,0)'
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4
q2 = 362e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Cs_generation
kind = Cs
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Cs_intact]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
d1_function = 'if(t<30326400,exp(7.5e25/30326400*t/5e25),exp(7.5e25/5e25))'
q1 = 125e3 # J/mol
d2 = 1.6e-2
q2 = 514e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs_intact
[]
[time]
type = TimeStepMaterial
[]
[SiC_conc_Cs]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Cs
coupled_variables = 'temperature'
material_property_names = 'time arrhenius_diffusion_coef_Cs_intact'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Cs_intact, 1e-6)'
[]
[SiC_conc_Cs_dT]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Cs_dT
coupled_variables = 'temperature'
material_property_names = 'time arrhenius_diffusion_coef_Cs_intact_dT'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Cs_intact_dT, 0)'
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[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
block = fuel
property_name = Ag_generation
kind = Ag
[]
[buffer_conc_Ag]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[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_conc_Ag_intact]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 3.6e-9 # m^2/s
q1 = 215e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag_intact
[]
[SiC_conc_Ag]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Ag
material_property_names = 'time arrhenius_diffusion_coef_Ag_intact'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Ag_intact, 1e-6)'
[]
[SiC_conc_Ag_dT]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Ag_dT
material_property_names = 'time arrhenius_diffusion_coef_Ag_intact_dT'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Ag_intact_dT, 0)'
[]
[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
[]
[fuel_conc_Sr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 2.2e-3 # m^2/s
q1 = 488e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[mass_source_Sr_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Sr_generation
kind = Sr
[]
[buffer_conc_Sr]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[IPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[SiC_conc_Sr_intact]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 1.2e-9 # m^2/s
q1 = 205e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr_intact
[]
[SiC_conc_Sr]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Sr
material_property_names = 'time arrhenius_diffusion_coef_Sr_intact'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Sr_intact, 1e-6)'
[]
[SiC_conc_Sr_dT]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Sr_dT
material_property_names = 'time arrhenius_diffusion_coef_Sr_intact_dT'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Sr_intact_dT, 0)'
[]
[OPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'conc_Cs conc_Ag'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-6
nl_abs_tol = 3e-19
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 31525200
num_steps = 1450
dt = 86400
dtmax = 86400
#dtmin = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<30326400,86400,
if(t<30430800,1800,
3600))'
[]
[]
[Postprocessors]
[_temp]
type = NodalExtremeValue
variable = temperature
[]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released_overall]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
start_time = 30326400
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
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
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_overall]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
[]
[x_Ag_released]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
start_time = 30326400
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[release_Sr_inc]
type = SideIntegralMassFlux
variable = conc_Sr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
execute_on = 'initial timestep_end'
[]
[released_Sr]
type = TimeIntegratedPostprocessor
value = release_Sr_inc
execute_on = 'initial timestep_end'
[]
[total_Sr]
type = ElementIntegralMaterialProperty
mat_prop = Sr_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Sr_released_overall]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
[]
[x_Sr_released]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
start_time = 30326400
[]
[retained_Sr]
type = ElementIntegralVariablePostprocessor
variable = conc_Sr
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
exodus = true
[console]
type = Console
time_step_interval = 1
[]
[out]
type = CSV
[]
[out_final]
type = CSV
execute_on = final
[]
[]
(assessment/TRISO/validation/AGR-34/SharedFiles/capsule_dtf.i)
kernel_radius = 178.65e-6
PyC_thickness = 20e-6
coordinates1 = '${fparse kernel_radius}'
coordinates2 = '${fparse coordinates1+PyC_thickness}'
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.19717 # [wt-]
energy_per_fission = 3.204e-11 # [J/fission]
O_U = 1.430 # Initial oxygen to uranium atom ratio
C_U = 0.361 # Initial carbon to uranium atom ratio
[]
[Mesh]
coord_type = RSPHERICAL
[mesh]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 ${coordinates1} ${coordinates2}'
mesh_density = '18 14'
block_names = 'fuel PyC'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[UserObjects]
[particle_geometry]
type = TRISOGeometry
outer_OPyC = PyC_outer_boundary
outer_SiC = PyC_outer_boundary
outer_IPyC = PyC_outer_boundary
inner_IPyC = PyC_outer_boundary
outer_buffer = PyC_outer_boundary
outer_kernel = fuel_outer_boundary
include_particle = true
include_pebble = false
[]
[]
[Variables]
[temperature]
initial_condition = 1200
[]
[conc_Ag]
initial_condition = 0.0
scaling = 1e12 #1e18
[]
[conc_Cs]
initial_condition = 0.0
scaling = 1e12 #1e18
[]
[conc_Sr]
initial_condition = 0.0
scaling = 1e12 #1e18
[]
[]
[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
[]
[fis_gas_produced]
order = CONSTANT
family = MONOMIAL
[]
[fis_gas_released]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Sr_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temp_bc]
type = PiecewiseLinear
x_index_in_file = 0
y_index_in_file = 1
xy_in_file_only = false
format = columns
data_file='AGR-34_capsule_daily_data/Cap1Temps.csv'
[]
[power_history]
type = PiecewiseLinear
x = '0 76e6'
y = '1 1'
[]
[fission_rate]
type = LinearCombinationFunction
functions = power_history
w = 4.8156e+19
[]
[]
[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
extra_vector_tags = 'ref'
[]
[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'
[]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
extra_vector_tags = 'ref'
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
extra_vector_tags = 'ref'
[]
[mass_Sr_dt]
type = TimeDerivative
variable = conc_Sr
extra_vector_tags = 'ref'
[]
[mass_Sr]
type = ArrheniusDiffusion
variable = conc_Sr
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
extra_vector_tags = 'ref'
[]
[mass_source_Sr]
type = SpeciesSourceRate
variable = conc_Sr
property_name = Sr_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
[]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Sr_diff_coef]
type = MaterialRealAux
variable = Sr_diff_coef
property = arrhenius_diffusion_coef_Sr
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_temp]
type = FunctionDirichletBC
variable = temperature
function = temp_bc
boundary = exterior
extra_vector_tags = 'ref'
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Sr]
type = DirichletBC
variable = conc_Sr
boundary = exterior
value = 0.0
[]
[]
[Materials]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_rate
[]
[fast_neutron_flux]
type = FastNeutronFlux
calculate_fluence = true
flux_function = power_history
factor = 0.5519e+18
[]
[UCO_burnup]
type = TRISOBurnup
initial_density = ${initial_fuel_density}
[]
[UCO_thermal]
type = UCOThermal
block = fuel
temperature = temperature
[]
[UCO_density]
type = StrainAdjustedDensity
block = fuel
strain_free_density = 11098.0
[]
[fission_gas_release]
type = UCOFGR
block = fuel
average_grain_radius = 10e-6
temperature = temperature
triso_geometry = particle_geometry
[]
# Arrhenius diffusion coefficients for kernel, PyC, and SiC
# come from IAEA TECDOC-978, French parameters.
[fuel_conc_Ag]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 1.0e-6 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 1.0e-6 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[fuel_conc_Sr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 1.0e-6 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[mass_source_Ag_property]
type = SpeciesSourceMaterial
property_name = Ag_generation
kind = Ag
block = fuel
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
property_name = Cs_generation
kind = Cs
block = fuel
[]
[mass_source_Sr_property]
type = SpeciesSourceMaterial
property_name = Sr_generation
kind = Sr
block = fuel
[]
### PyC properties
[PyC_thermal]
type = HeatConductionMaterial
block = PyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[PyC_density]
type = StrainAdjustedDensity
block = PyC
density = 1988.0
[]
[PyC_conc_Ag]
type = ArrheniusDiffusionCoef
block = PyC
d1 = 1.0e-6 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[PyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = PyC
d1 = 1.0e-6 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[PyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = PyC
d1 = 1.0e-6 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[]
[Dampers]
[temp]
type = MaxIncrement
variable = temperature
max_increment = 50
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'temperature conc_Ag conc_Cs conc_Sr'
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
nl_rel_tol = 1e-9
nl_abs_tol = 1e-9
nl_max_its = 20
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 31890240
dt = 86400
[]
[Postprocessors]
[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
[]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
[]
[release_Sr_inc]
type = SideIntegralMassFlux
variable = conc_Sr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
execute_on = 'initial timestep_end'
[]
[released_Sr]
type = TimeIntegratedPostprocessor
value = release_Sr_inc
execute_on = 'initial timestep_end'
[]
[total_Sr]
type = ElementIntegralMaterialProperty
mat_prop = Sr_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Sr_released]
type = FractionalRelease
released = released_Sr
total = total_Sr
[]
[retained_Sr]
type = ElementIntegralVariablePostprocessor
variable = conc_Sr
[]
[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 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'
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
print_linear_converged_reason = false
print_nonlinear_converged_reason = false
exodus = false
csv = true
[]
(assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_8b/case_8b.i)
#
# Particle failure at 50, 55, 65, 70, 75, 80, 85, 89, 92, and 97h after 1800 C.
# A failure-free analysis is also needed (eleven in all).
# The compact has 16350 particles.
#
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.0982
constant_expressions = 31690800.0
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 248.5e-6 342.5e-6 383.5e-6 419.5e-6 459.5e-6'
mesh_density = '50 30 15 15 15'
block_names = 'fuel buffer IPyC SiC OPyC'
bias = '1 1.25 1.25 1.25 1.25'
dual_bias = '0.8 0.8 0.8 0.8 1'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc_Cs]
[]
[conc_Ag]
[]
[conc_Sr]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1114.65
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Sr_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temperature]
type = PiecewiseLinear
data_file = temperature_history.dat
format = columns
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
[]
[mass_Ag_dt]
type = TimeDerivative
variable = conc_Ag
[]
[mass_Ag]
type = ArrheniusDiffusion
variable = conc_Ag
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Ag]
type = SpeciesSourceRate
variable = conc_Ag
property_name = Ag_generation
block = fuel
[]
[mass_Sr_dt]
type = TimeDerivative
variable = conc_Sr
[]
[mass_Sr]
type = ArrheniusDiffusion
variable = conc_Sr
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Sr]
type = SpeciesSourceRate
variable = conc_Sr
property_name = Sr_generation
block = fuel
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[Sr_diff_coef]
type = MaterialRealAux
variable = Sr_diff_coef
property = arrhenius_diffusion_coef_Sr
execute_on = timestep_end
[]
[temperature]
type = FunctionAux
function = temperature
variable = temperature
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[freesurf_conc_Sr]
type = DirichletBC
variable = conc_Sr
boundary = exterior
value = 0.0
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
block = fuel
prop_names = 'burnup'
prop_values = 'if(t<31017600,0.106/31017600*t,0.106)'
[]
[fission_rate]
type = GenericFunctionMaterial
block = fuel
prop_names = 'fission_rate'
# 8.24e19 = 0.106/31017600*10810/.27*6.0221409e23
prop_values = 'if(t<31017600,8.24e19,0)'
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4
q2 = 362e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Cs_generation
kind = Cs
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Cs_intact]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
d1_function = 'if(t<31017600,exp(5.9e25/31017600*t/5e25),exp(5.9e25/5e25))'
q1 = 125e3 # J/mol
d2 = 1.6e-2
q2 = 514e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs_intact
[]
[time]
type = TimeStepMaterial
[]
[SiC_conc_Cs]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Cs
coupled_variables = 'temperature'
material_property_names = 'time arrhenius_diffusion_coef_Cs_intact'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Cs_intact, 1e-6)'
[]
[SiC_conc_Cs_dT]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Cs_dT
coupled_variables = 'temperature'
material_property_names = 'time arrhenius_diffusion_coef_Cs_intact_dT'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Cs_intact_dT, 0)'
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[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
block = fuel
property_name = Ag_generation
kind = Ag
[]
[buffer_conc_Ag]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[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_conc_Ag_intact]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 3.6e-9 # m^2/s
q1 = 215e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag_intact
[]
[SiC_conc_Ag]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Ag
coupled_variables = 'temperature'
material_property_names = 'time arrhenius_diffusion_coef_Ag_intact'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Ag_intact, 1e-6)'
[]
[SiC_conc_Ag_dT]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Ag_dT
coupled_variables = 'temperature'
material_property_names = 'time arrhenius_diffusion_coef_Ag_intact_dT'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Ag_intact_dT, 0)'
[]
[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
[]
[fuel_conc_Sr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 2.2e-3 # m^2/s
q1 = 488e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[mass_source_Sr_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Sr_generation
kind = Sr
[]
[buffer_conc_Sr]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[IPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[SiC_conc_Sr_intact]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 1.2e-9 # m^2/s
q1 = 205e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr_intact
[]
[SiC_conc_Sr]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Sr
coupled_variables = 'temperature'
material_property_names = 'time arrhenius_diffusion_coef_Sr_intact'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Sr_intact, 1e-6)'
[]
[SiC_conc_Sr_dT]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Sr_dT
coupled_variables = 'temperature'
material_property_names = 'time arrhenius_diffusion_coef_Sr_intact_dT'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Sr_intact_dT, 0)'
[]
[OPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'conc_Cs conc_Ag conc_Sr'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-6
nl_abs_tol = 5e-21
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 31690800
num_steps = 1450
dt = 86400
dtmax = 86400
#dtmin = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<31017600,86400,1800)'
[]
[]
[Postprocessors]
[_temp]
type = NodalExtremeValue
variable = temperature
[]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released_overall]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
start_time = 31017600
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
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
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_overall]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
[]
[x_Ag_released]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
start_time = 31017600
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[release_Sr_inc]
type = SideIntegralMassFlux
variable = conc_Sr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
execute_on = 'initial timestep_end'
[]
[released_Sr]
type = TimeIntegratedPostprocessor
value = release_Sr_inc
execute_on = 'initial timestep_end'
[]
[total_Sr]
type = ElementIntegralMaterialProperty
mat_prop = Sr_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Sr_released_overall]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
[]
[x_Sr_released]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
start_time = 31017600
[]
[retained_Sr]
type = ElementIntegralVariablePostprocessor
variable = conc_Sr
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
exodus = true
[console]
type = Console
time_step_interval = 1
[]
[out]
type = CSV
[]
[out_final]
type = CSV
execute_on = final
[]
[]
(assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_4b/case_4b.i)
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.08
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 250e-6 350e-6 390e-6 425e-6 465e-6'
mesh_density = '50 30 15 15 15'
block_names = 'fuel buffer IPyC SiC OPyC'
bias = '1 1.25 1.25 1.25 1.25'
dual_bias = '0.8 0.8 0.8 0.8 1'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc_Cs]
[]
[conc_Ag]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1273.15
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
[]
[mass_Ag_dt]
type = TimeDerivative
variable = conc_Ag
[]
[mass_Ag]
type = ArrheniusDiffusion
variable = conc_Ag
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Ag]
type = SpeciesSourceRate
variable = conc_Ag
property_name = Ag_generation
block = fuel
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[temperature]
type = FunctionAux
function = 'if(t<4.3200001e7,1273.15,2073.15)'
variable = temperature
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
block = fuel
prop_names = 'burnup'
prop_values = '0.1/4.32e7*t'
[]
[fission_rate]
type = GenericFunctionMaterial
block = fuel
prop_names = 'fission_rate'
# 5.581219e19 = 0.1/4.32e7*10810/.27*6.0221409e23
prop_values = '5.581219e19'
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4
q2 = 362e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Cs_generation
kind = Cs
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
d1_function = 'exp(2e25/4.32e7*t/5e25)'
q1 = 125e3 # J/mol
d2 = 1.6e-2
q2 = 514e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[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
block = fuel
property_name = Ag_generation
kind = Ag
[]
[buffer_conc_Ag]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[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_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_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
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'conc_Cs conc_Ag'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-6
nl_abs_tol = 5e-21 #1e-22
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 4.392e7
num_steps = 700
dt = 86400
dtmax = 86400
#dtmin = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<4.3200001e7,86400,3600)'
[]
[]
[Postprocessors]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
[]
[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
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
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
exodus = true
[console]
type = Console
time_step_interval = 1
[]
[out]
type = CSV
execute_on = final
[]
[]
(assessment/TRISO/validation/AGR-1/AGR-1_Ag_Microstructure.i)
[Variables]
[conc_Ag]
initial_condition = 0.0
scaling = 1e14
[]
[]
[AuxVariables]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[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 OPyC'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[]
[Materials]
# 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 = ArrheniusDiffusionCoefMicrostructureIrradiation
block = SiC
scalar = 10
d1 = 6.88e-10 # m^2/s
d1_coef = -5.10e-4 # m/s
q1 = 211e3 # J/mol
q1_coef = 3.82e9 # J/mol/m
grain_minor_axis_length = 0.3e-6 # m
temperature = temperature # K
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
[]
[mass_source_Ag_property_OPyC]
type = SpeciesSourceMaterial
property_name = Ag_generation
kind = Ag
block = OPyC
#value = impurities * vol_kernel / vol_opyc
#value = 1.59e-6 * 4.07e-11 / 9.16e-11 # for UCO
#value = 1.57e-6 * 6.85e-11 / 1.18e-10 # for UO2
value = ${mass_source_property_OPyC}
[]
[]
[Postprocessors]
[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
value = release_Ag_inc
execute_on = 'initial timestep_end'
[]
[total_Ag]
type = ElementIntegralMaterialProperty
mat_prop = Ag_generation_total
block = 'fuel OPyC'
execute_on = 'initial timestep_end'
[]
[x_Ag_released]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
[]
[x_Ag_released_safety]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
start_time = 55209600
safety_fraction_type = net
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[]
(assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_4a/case_4a.i)
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.08
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 250e-6 350e-6 390e-6 425e-6 465e-6'
mesh_density = '50 30 15 15 15'
block_names = 'fuel buffer IPyC SiC OPyC'
bias = '1 1.25 1.25 1.25 1.25'
dual_bias = '0.8 0.8 0.8 0.8 1'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc_Cs]
[]
[conc_Ag]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1273.15
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
[]
[mass_Ag_dt]
type = TimeDerivative
variable = conc_Ag
[]
[mass_Ag]
type = ArrheniusDiffusion
variable = conc_Ag
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Ag]
type = SpeciesSourceRate
variable = conc_Ag
property_name = Ag_generation
block = fuel
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[temperature]
type = FunctionAux
function = 'if(t<4.3200001e7,1273.15,1873.15)'
variable = temperature
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
block = fuel
prop_names = 'burnup'
prop_values = '0.1/4.32e7*t'
[]
[fission_rate]
type = GenericFunctionMaterial
block = fuel
prop_names = 'fission_rate'
# 5.581219e19 = 0.1/4.32e7*10810/.27*6.0221409e23
prop_values = '5.581219e19'
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4
q2 = 362e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Cs_generation
kind = Cs
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
d1_function = 'exp(2e25/4.32e7*t/5e25)'
q1 = 125e3 # J/mol
d2 = 1.6e-2
q2 = 514e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[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
block = fuel
property_name = Ag_generation
kind = Ag
[]
[buffer_conc_Ag]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[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_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_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
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'conc_Cs conc_Ag'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-6
nl_abs_tol = 5e-21 #1e-22
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 4.392e7
num_steps = 700
dt = 86400
dtmax = 86400
#dtmin = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<4.3200001e7,86400,3600)'
[]
[]
[Postprocessors]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
[]
[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
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
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
exodus = true
[console]
type = Console
time_step_interval = 1
[]
[out]
type = CSV
execute_on = final
[]
[]
(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
[]
(test/tests/species_source/ad_custom_source.i)
#
# This test checks whether the species source computed using custom
# input is functioning as intended in AD. The amount of mass produced in
# SpeciesSourceMaterial is checked against the amount computed through
# a ParsedMaterial.
#
# If correct, the 'diff' Postprocessor will have a value close to zero,
# and the 'check_rate' Postprocessor will be one.
#
# In addition, the total amount produced is also checked. The 'check_total'
# Postprocessor should report a value of one.
#
[GlobalParams]
initial_enrichment = 0.2
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = GeneratedMeshGenerator
dim = 1
xmin = 0
nx = 50
[]
[]
[Variables]
[conc]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1000
[]
[]
[Kernels]
[conc_dt]
type = ADTimeDerivative
variable = conc
[]
[conc_diffusion]
type = ADArrheniusDiffusion
variable = conc
arrhenius_prpty_name = diff_coef
[]
[conc_source]
type = ADSpeciesSourceRate
variable = conc
property_name = conc_generation
[]
[]
[BCs]
[conc]
type = ADFunctionDirichletBC
variable = conc
boundary = 'right'
function = 0
[]
[]
[Functions]
[fred]
type = ParsedFunction
expression = 't/6.022e23'
[]
[]
[Materials]
[dummy]
type = ADGenericFunctionMaterial
prop_names = dummy
prop_values = 'if(t<=10000,1.1819e-8,0)'
[]
[fission_rate]
type = ADGenericFunctionMaterial
prop_names = fission_rate
prop_values = 'if(t<=10000,1e19,0)'
[]
[diff_coef]
type = ADArrheniusDiffusionCoef
temperature = temperature
d1 = 1e-6
q1 = 100e3
arrhenius_prpty_name = diff_coef
[]
[conc_generation]
type = ADSpeciesSourceMaterial
property_name = conc_generation
kind = custom
additional_function = fred
additional_function_property = dummy
[]
[conc_generation_exact]
type = ADParsedMaterial
property_name = conc_generation_exact
material_property_names = 'dummy fission_rate'
constant_names = 'avo'
constant_expressions = '6.02214076e23'
expression = 'b:=dummy/avo;
if(fission_rate>0,b*fission_rate,0)'
[]
[]
[Executioner]
type = Transient
num_steps = 11
dt = 1000
automatic_scaling = true
[]
[Postprocessors]
[rate]
type = ADElementIntegralMaterialProperty
mat_prop = conc_generation
execute_on = 'initial timestep_end'
[]
[rate_exact]
type = ADElementIntegralMaterialProperty
mat_prop = conc_generation_exact
execute_on = 'initial timestep_end'
[]
[diff]
type = DifferencePostprocessor
value1 = rate
value2 = rate_exact
outputs = console
execute_on = 'initial timestep_end'
[]
[check_rate]
type = FractionalRelease
released = rate
total = rate_exact
execute_on = 'initial timestep_end'
[]
[total_direct]
type = ADElementIntegralMaterialProperty
mat_prop = conc_generation_total
execute_on = 'initial timestep_end'
[]
[total_integrated]
type = TimeIntegratedPostprocessor
value = rate
execute_on = 'initial timestep_end'
[]
[check_total]
type = FractionalRelease
released = total_direct
total = total_integrated
execute_on = 'initial timestep_end'
[]
[mass_flux]
type = ADSideIntegralMassFlux
variable = conc
boundary = right
arrhenius_prpty_name = diff_coef
execute_on = 'initial timestep_end'
[]
[integrated_flux]
type = TimeIntegratedPostprocessor
value = mass_flux
execute_on = 'initial timestep_end'
[]
[fraction]
type = FractionalRelease
released = integrated_flux
total = total_direct
execute_on = 'initial timestep_end'
[]
[fraction_safety_net]
type = FractionalRelease
released = integrated_flux
total = total_direct
start_time = 1000
stop_time = 10000
safety_fraction_type = net
execute_on = 'initial timestep_end'
[]
[fraction_safety_total]
type = FractionalRelease
released = integrated_flux
total = total_direct
start_time = 1000
safety_fraction_type = total
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
csv = true
[]
(examples/TRISO/pebble/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}'
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.14029 # [wt-]
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 = EDGE3
coordinates = '0 ${coordinates1} ${coordinates2} ${coordinates3} ${coordinates4} ${coordinates5}'
mesh_density = '18 14 12 16 16'
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
[]
[]
[Variables]
[temperature]
initial_condition = 773.15
[]
[conc_Cs]
initial_condition = 0.0
scaling = 1e18
[]
[]
[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
[]
[fis_gas_produced]
order = CONSTANT
family = MONOMIAL
[]
[fis_gas_released]
order = CONSTANT
family = MONOMIAL
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[power_history]
type = PiecewiseLinear
x = '0 1e3 4.51008e7' #change time (s) for desired EFPD
y = '0 1 1'
[]
[fission_rate]
type = LinearCombinationFunction
functions = power_history
w = 2.927e18
[]
[temp_bc_func]
type = ParsedFunction
value = temp_bc
symbol_names = temp_bc
symbol_values = temp_bc
[]
[]
[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_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_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
[]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_temp]
type = FunctionDirichletBC
variable = temperature
function = temp_bc_func
boundary = exterior
[]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[]
[Materials]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_rate
[]
[fast_neutron_flux]
type = FastNeutronFlux
calculate_fluence = true
flux_function = power_history
factor = 1.109e18
[]
[UCO_burnup]
type = TRISOBurnup
initial_density = 10966.0
[]
[UCO_thermal]
type = UCOThermal
block = fuel
temperature = temperature
[]
[UCO_density]
type = StrainAdjustedDensity
block = fuel
strain_free_density = 10966.0
[]
[fission_gas_release]
type = UCOFGR
block = fuel
average_grain_radius = 10e-6
temperature = temperature
triso_geometry = particle_geometry
[]
# Arrhenius diffusion coefficients for kernel, PyC, and SiC
# come from IAEA TECDOC-978, French parameters.
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
property_name = Cs_generation
kind = Cs
block = fuel
[]
### Buffer Properties
[buffer_thermal]
type = BufferThermal
block = buffer
initial_density = 1050.0
[]
[Buffer_density]
type = StrainAdjustedDensity
block = buffer
strain_free_density = 1050.0
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
### IPyC properties
[IPyC_thermal]
type = HeatConductionMaterial
block = IPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[IPyC_density]
type = StrainAdjustedDensity
block = IPyC
strain_free_density = 1907.0
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
### SiC properties
[SiC_thermal]
type = MonolithicSiCThermal
block = SiC
temperature = temperature
thermal_conductivity_model = miller
[]
[SiC_density]
type = StrainAdjustedDensity
block = SiC
strain_free_density = 3200.0
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
q1 = 125e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
### OPyC properties
[OPyC_thermal_conductivity]
type = HeatConductionMaterial
block = OPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[OPyC_density]
type = StrainAdjustedDensity
block = OPyC
strain_free_density = 1907.0
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[]
[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-8
nl_abs_tol = 1e-6
nl_max_its = 20
l_tol = 1e-4
l_max_its = 50
dt = 500000
num_steps = 10
[]
[Postprocessors]
[temp_bc]
type = Receiver
[]
[release_heat_inc]
type = SideIntegralMassFlux
variable = temperature
boundary = exterior
arrhenius_prpty_name = thermal_conductivity
execute_on = 'initial timestep_end'
[]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
[]
[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 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'
[]
[aver_temp_exterior]
type = SideAverageValue
variable = temperature
boundary = exterior
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = true
print_linear_converged_reason = false
print_nonlinear_converged_reason = false
[]
(assessment/TRISO/validation/AGR-2/AGR-2_Kr.i)
[Variables]
[conc_Kr]
initial_condition = 0.0
[]
[]
[AuxVariables]
[Kr_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[mass_Kr_dt]
type = TimeDerivative
variable = conc_Kr
[]
[mass_Kr]
type = ArrheniusDiffusion
variable = conc_Kr
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
extra_vector_tags = 'ref'
[]
[mass_source_Kr]
type = SpeciesSourceRate
variable = conc_Kr
property_name = Kr_generation
block = 'fuel OPyC'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Kr_diff_coef]
type = MaterialRealAux
variable = Kr_diff_coef
property = arrhenius_diffusion_coef_Kr
execute_on = timestep_end
[]
[]
[BCs]
# fix concentration on free surface
[freesurf_conc_Kr]
type = DirichletBC
variable = conc_Kr
boundary = exterior
value = 0.0
[]
[]
[Materials]
# # Arrhenius diffusion coefficients for kernel, PyC, and SiC
# # come from IAEA TECDOC-978, French parameters.
# [fuel_conc_Kr]
# type = ParsedMaterial
# block = fuel
# property_name = arrhenius_diffusion_coef_Kr
# coupled_variables = 'temperature'
# constant_names = 'R D1_low Q1_low D1 Q1 D2 Q2 switch'
# constant_expressions = '8.3145 1.3e-12 126e3 8.8e-15 54e3 6e-1 480e3 1773.15'
# expression = 'if(temperature<switch,D1_low*exp(-Q1_low/(R*temperature)),D1*exp(-Q1/(R*temperature))+D2*exp(-Q2/(R*temperature)))'
# []
# [fuel_conc_Kr_dT]
# type = ParsedMaterial
# block = fuel
# property_name = arrhenius_diffusion_coef_Kr_dT
# coupled_variables = 'temperature'
# constant_names = 'R D1_low Q1_low D1 Q1 D2 Q2 switch'
# constant_expressions = '8.3145 1.3e-12 126e3 8.8e-15 54e3 6e-1 480e3 1773.15'
# expression = 'if(temperature<switch,D1_low*exp(-Q1_low/(R*temperature))*Q1_low/(R*temperature*temperature),D1*exp(-Q1/(R*temperature))*Q1/(R*temperature*temperature)+D2*exp(-Q2/(R*temperature))*Q2/(R*temperature*temperature))'
# []
# [mass_source_Kr_property]
# type = SpeciesSourceMaterial
# property_name = Kr_generation
# kind = Kr
# block = fuel
# []
[fuel_conc_Kr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 8.8e-15 # m^2/s
q1 = 54e3 # J/mol
d2 = 6.0e-1
q2 = 480e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
[]
[mass_source_Kr_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Kr_generation
kind = custom
additional_function = '0.002717/6.022e23'
additional_function_property = fission_rate
[]
### Buffer Properties
[buffer_conc_Kr]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
[]
### IPyC properties
[IPyC_conc_Kr]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 2.9e-8 # m^2/s
q1 = 291e3 # J/mol
d2 = 2e5 # m^2/s
q2 = 923e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
[]
### SiC properties
[SiC_conc_Kr]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Kr
coupled_variables = 'temperature'
# Switching temperature between low and high correlations is given as 1673.15 K in
# INL/EXT-16-39548. Here, we use 1626 since that gives continuity between
# correlations and is the value used in PARFUME.
constant_names = 'R D1_low Q1_low D1 Q1 switch'
constant_expressions = '8.3145 8.6e-10 326e3 3.7e1 657e3 2e6'
expression = 'if(temperature<switch,D1_low*exp(-Q1_low/(R*temperature)),D1*exp(-Q1/(R*temperature)))'
[]
[SiC_conc_Kr_dT]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Kr_dT
coupled_variables = 'temperature'
# Switching temperature between low and high correlations is given as 1673.15 K in
# INL/EXT-16-39548. Here, we use 1626 since that gives continuity between
# correlations and is the value used in PARFUME.
constant_names = 'R D1_low Q1_low D1 Q1 switch'
constant_expressions = '8.3145 8.6e-10 326e3 3.7e1 657e3 2e6'
expression = 'if(temperature<switch,D1_low*exp(-Q1_low/(R*temperature))*Q1_low/(R*temperature*temperature),D1*exp(-Q1/(R*temperature))*Q1/(R*temperature*temperature))'
[]
### OPyC properties
[OPyC_conc_Kr]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 2.9e-8 # m^2/s
q1 = 291e3 # J/mol
d2 = 2e5 # m^2/s
q2 = 923e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
[]
[mass_source_Kr_property_OPyC]
type = SpeciesSourceMaterial
property_name = Kr_generation
kind = Kr
block = OPyC
#value = impurities * vol_kernel / vol_opyc
#value = 1.59e-6 * 4.07e-11 / 9.16e-11 # for UCO
#value = 1.57e-6 * 6.85e-11 / 1.18e-10 # for UO2
value = ${mass_source_property_OPyC}
[]
[]
[Postprocessors]
[release_Kr_inc]
type = SideIntegralMassFlux
variable = conc_Kr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
execute_on = 'initial timestep_end'
[]
[released_Kr]
type = TimeIntegratedPostprocessor
value = release_Kr_inc
execute_on = 'initial timestep_end'
[]
[total_Kr]
type = ElementIntegralMaterialProperty
mat_prop = Kr_generation_total
block = 'fuel OPyC'
execute_on = 'initial timestep_end'
[]
[x_Kr_released]
type = FractionalRelease
released = released_Kr
total = total_Kr
execute_on = 'initial timestep_end'
[]
[x_Kr_released_safety]
type = FractionalRelease
released = released_Kr
total = total_Kr
execute_on = 'initial timestep_end'
start_time = 50284800
safety_fraction_type = net
[]
[retained_Kr]
type = ElementIntegralVariablePostprocessor
variable = conc_Kr
execute_on = 'initial timestep_end'
[]
[]
(assessment/TRISO/validation/AGR-34/Compacts/Ag/DTF/AGR-34_dtf_Ag.i)
[Variables]
[conc_Ag_dtf]
initial_condition = 0.0
[]
[]
[AuxVariables]
[Ag_dtf_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[mass_Ag_dtf_dt]
type = TimeDerivative
variable = conc_Ag_dtf
extra_vector_tags = 'ref'
[]
[mass_Ag_dtf]
type = ArrheniusDiffusion
variable = conc_Ag_dtf
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag_dtf
extra_vector_tags = 'ref'
[]
[mass_source_Ag_dtf]
type = SpeciesSourceRate
variable = conc_Ag_dtf
property_name = Ag_dtf_generation
block = 'fuel'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Ag_dtf_diff_coef]
type = MaterialRealAux
variable = Ag_dtf_diff_coef
property = arrhenius_diffusion_coef_Ag_dtf
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_conc_Ag_dtf]
type = DirichletBC
variable = conc_Ag_dtf
boundary = exterior
value = 0.0
[]
[]
[Materials]
### Kernel Properties
[fuel_conc_Ag_dtf]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 6.7e-9 # m^2/s
q1 = 165e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag_dtf
[]
[mass_source_Ag_dtf_property]
type = SpeciesSourceMaterial
property_name = Ag_dtf_generation
kind = Ag
block = fuel
[]
### PyC properties
[IPyC_conc_Ag_dtf]
type = ArrheniusDiffusionCoef
block = PyC
d1 = 1.0e-6 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag_dtf
[]
[]
[Postprocessors]
### Release
[release_Ag_dtf_inc]
type = SideIntegralMassFlux
variable = conc_Ag_dtf
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag_dtf
execute_on = 'initial timestep_end'
[]
[released_Ag_dtf]
type = TimeIntegratedPostprocessor # computes time integration of value
value = release_Ag_dtf_inc
execute_on = 'initial timestep_end'
[]
[total_Ag_dtf]
type = ElementIntegralMaterialProperty
mat_prop = Ag_dtf_generation_total
block = 'fuel'
execute_on = 'initial timestep_end'
[]
[x_Ag_dtf_released]
type = FractionalRelease
released = released_Ag_dtf
total = total_Ag_dtf
execute_on = 'initial timestep_end'
[]
[retained_Ag_dtf]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag_dtf
execute_on = 'initial timestep_end'
[]
[]
(test/tests/triso_pebble/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}'
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.14029 # [wt-]
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 = EDGE3
coordinates = '0 ${coordinates1} ${coordinates2} ${coordinates3} ${coordinates4} ${coordinates5}'
mesh_density = '18 14 12 16 16'
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
[]
[]
[Variables]
[temperature]
initial_condition = 773.15
[]
[conc_Ag]
initial_condition = 0.0
scaling = 1e14
[]
[conc_Cs]
initial_condition = 0.0
scaling = 1e14
[]
[conc_Sr]
initial_condition = 0.0
scaling = 1e14
[]
[]
[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
[]
[fis_gas_produced]
order = CONSTANT
family = MONOMIAL
[]
[fis_gas_released]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Sr_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 = 5.75e19
[]
[d1_function]
type = ParsedFunction
expression = 'exp(t/4.5e25)'
[]
[temp_bc_func]
type = ParsedFunction
expression = temp_bc
symbol_names = temp_bc
symbol_values = temp_bc
[]
[]
[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'
[]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
extra_vector_tags = 'ref'
[]
[mass_Sr_dt]
type = MassLumpedTimeDerivative
variable = conc_Sr
[]
[mass_Sr]
type = ArrheniusDiffusion
variable = conc_Sr
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
extra_vector_tags = 'ref'
[]
[mass_source_Sr]
type = SpeciesSourceRate
variable = conc_Sr
property_name = Sr_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
[]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Sr_diff_coef]
type = MaterialRealAux
variable = Sr_diff_coef
property = arrhenius_diffusion_coef_Sr
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_temp]
type = FunctionDirichletBC
variable = temperature
function = temp_bc_func
boundary = exterior
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Sr]
type = DirichletBC
variable = conc_Sr
boundary = exterior
value = 0.0
[]
[]
[Materials]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_rate
[]
[fast_neutron_flux]
type = FastNeutronFlux
calculate_fluence = true
flux_function = power_history
factor = 6.28e17
[]
[UCO_burnup]
type = TRISOBurnup
initial_density = 10966.0
[]
[UCO_thermal]
type = UCOThermal
block = fuel
temperature = temperature
[]
[UCO_density]
type = ParsedMaterial
block = fuel
property_name = density
expression = 10966.0
[]
[fission_gas_release]
type = UCOFGR
block = fuel
average_grain_radius = 10e-6
temperature = temperature
triso_geometry = particle_geometry
cutoff_neutron_flux = 0.0
[]
# 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
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[fuel_conc_Sr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 2.2e-3 # m^2/s
q1 = 488e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[mass_source_Ag_property]
type = SpeciesSourceMaterial
property_name = Ag_generation
kind = Ag
block = fuel
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
property_name = Cs_generation
kind = Cs
block = fuel
[]
[mass_source_Sr_property]
type = SpeciesSourceMaterial
property_name = Sr_generation
kind = Sr
block = fuel
[]
### Buffer Properties
[buffer_thermal]
type = BufferThermal
block = buffer
initial_density = 1050.0
[]
[Buffer_density]
type = ParsedMaterial
block = buffer
property_name = density
expression = 1050.0
[]
[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
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[buffer_conc_Sr]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
### IPyC properties
[IPyC_thermal]
type = HeatConductionMaterial
block = IPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[IPyC_density]
type = ParsedMaterial
block = IPyC
property_name = density
expression = 1907.0
[]
[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
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
### SiC properties
[SiC_thermal]
type = MonolithicSiCThermal
block = SiC
temperature = temperature
thermal_conductivity_model = miller
[]
[SiC_density]
type = ParsedMaterial
block = SiC
property_name = density
expression = 3200.0
[]
[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
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
q1 = 125e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Sr]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 1.2e-9 # m^2/s
q1 = 205e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
### OPyC properties
[OPyC_thermal_conductivity]
type = HeatConductionMaterial
block = OPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[OPyC_density]
type = ParsedMaterial
block = OPyC
property_name = density
expression = 1907.0
[]
[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
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[OPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'temperature conc_Ag conc_Cs conc_Sr'
[]
[Executioner]
type = Transient
solve_type = 'PJFNK'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
automatic_scaling = true
nl_rel_tol = 1e-12
nl_abs_tol = 1e-12
nl_max_its = 20
nl_forced_its = 2
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
dt = 20000
num_steps = 2
[]
[Postprocessors]
[temp_bc]
type = Receiver
[]
[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
[]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
[]
[release_Sr_inc]
type = SideIntegralMassFlux
variable = conc_Sr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
execute_on = 'initial timestep_end'
[]
[released_Sr]
type = TimeIntegratedPostprocessor
value = release_Sr_inc
execute_on = 'initial timestep_end'
[]
[released_heat_inc]
type = SideIntegralMassFlux
variable = temperature
boundary = exterior
arrhenius_prpty_name = thermal_conductivity
execute_on = 'initial timestep_end'
[]
[total_Sr]
type = ElementIntegralMaterialProperty
mat_prop = Sr_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Sr_released]
type = FractionalRelease
released = released_Sr
total = total_Sr
[]
[retained_Sr]
type = ElementIntegralVariablePostprocessor
variable = conc_Sr
[]
[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 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'
[]
[aver_temp_exterior]
type = SideAverageValue
variable = temperature
boundary = exterior
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
print_linear_residuals = false
[]
(examples/TRISO/pebble/triso_1d_failed.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 = SECOND
family = LAGRANGE
initial_enrichment = 0.14029 # [wt-]
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 = EDGE3
coordinates = '0 ${coordinates1} ${coordinates2} ${coordinates3} ${coordinates4} ${coordinates5}'
mesh_density = '18 14 12 16 16'
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
[]
[]
[Variables]
[temperature]
initial_condition = 773.15
[]
[conc_Cs]
initial_condition = 0.0
scaling = 1e18
[]
[]
[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
[]
[fis_gas_produced]
order = CONSTANT
family = MONOMIAL
[]
[fis_gas_released]
order = CONSTANT
family = MONOMIAL
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[power_history]
type = PiecewiseLinear
x = '0 1e3 4.51008e7' #change time (s) for desired EFPD
y = '0 1 1'
[]
[fission_rate]
type = LinearCombinationFunction
functions = power_history
w = 2.927e18
[]
[temp_bc_func]
type = ParsedFunction
value = temp_bc
symbol_names = temp_bc
symbol_values = temp_bc
[]
[]
[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_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_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
[]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_temp]
type = FunctionDirichletBC
variable = temperature
function = temp_bc_func
boundary = exterior
[]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[]
[Materials]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_rate
[]
[fast_neutron_flux]
type = FastNeutronFlux
calculate_fluence = true
flux_function = power_history
factor = 1.109e18
[]
[UCO_burnup]
type = TRISOBurnup
initial_density = ${initial_fuel_density}
[]
[UCO_thermal]
type = UCOThermal
block = fuel
temperature = temperature
[]
[UCO_density]
type = StrainAdjustedDensity
block = fuel
strain_free_density = 10966.0
[]
[fission_gas_release]
type = UCOFGR
block = fuel
average_grain_radius = 10e-6
temperature = temperature
triso_geometry = particle_geometry
[]
# Arrhenius diffusion coefficients for kernel, PyC, and SiC
# come from IAEA TECDOC-978, French parameters.
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
property_name = Cs_generation
kind = Cs
block = fuel
[]
### Buffer Properties
[buffer_thermal]
type = BufferThermal
block = buffer
initial_density = 1050.0
[]
[Buffer_density]
type = StrainAdjustedDensity
block = buffer
strain_free_density = 1050.0
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
### IPyC properties
[IPyC_thermal]
type = HeatConductionMaterial
block = IPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[IPyC_density]
type = StrainAdjustedDensity
block = IPyC
strain_free_density = 1907.0
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
### SiC properties
[SiC_thermal]
type = MonolithicSiCThermal
block = SiC
temperature = temperature
thermal_conductivity_model = miller
[]
[SiC_density]
type = StrainAdjustedDensity
block = SiC
strain_free_density = 3200.0
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 1e-6 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
### OPyC properties
[OPyC_thermal_conductivity]
type = HeatConductionMaterial
block = OPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[OPyC_density]
type = StrainAdjustedDensity
block = OPyC
strain_free_density = 1907.0
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[]
[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-8
nl_abs_tol = 1e-6
nl_max_its = 20
l_tol = 1e-4
l_max_its = 50
end_time = 4.831315e7
dt = 500000
num_steps = 10
[]
[Postprocessors]
[temp_bc]
type = Receiver
[]
[release_heat_inc]
type = SideIntegralMassFlux
variable = temperature
boundary = exterior
arrhenius_prpty_name = thermal_conductivity
execute_on = 'initial timestep_end'
[]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
[]
[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 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'
[]
[aver_temp_exterior]
type = SideAverageValue
variable = temperature
boundary = exterior
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
print_linear_converged_reason = false
print_nonlinear_converged_reason = false
[]
(assessment/TRISO/validation/AGR-34/Compacts/Ag/Driver/AGR-34_driver_Ag.i)
[Variables]
[conc_Ag]
initial_condition = 0.0
[]
[]
[AuxVariables]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[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]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[]
[Materials]
# 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
[]
[]
[Postprocessors]
### Release
[release_Ag_driver_inc]
type = SideIntegralMassFlux
variable = conc_Ag
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
execute_on = 'initial timestep_end'
[]
[released_Ag_driver]
type = TimeIntegratedPostprocessor # computes time integration of value
value = release_Ag_driver_inc
execute_on = 'initial timestep_end'
[]
[total_Ag_driver]
type = ElementIntegralMaterialProperty
mat_prop = Ag_generation_total
block = 'fuel'
execute_on = 'initial timestep_end'
[]
[x_Ag_driver_released]
type = FractionalRelease
released = released_Ag_driver
total = total_Ag_driver
execute_on = 'initial timestep_end'
[]
[retained_Ag_driver]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[]
(test/tests/arrhenius_diffusion_coef/check_jacobian.i)
[GlobalParams]
order = FIRST
family = LAGRANGE
initial_enrichment = 0.1676
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE2
coordinates = '0 1'
mesh_density = '1'
block_names = 'flubber'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc]
[]
[temperature]
initial_condition = 1373.15
[]
[]
[AuxVariables]
[diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[burnup]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temperature]
type = ParsedFunction
expression = 1373.15
[]
[]
[Kernels]
[mass_dt]
type = TimeDerivative
variable = conc
[]
[mass]
type = ArrheniusDiffusion
variable = conc
arrhenius_prpty_name = arrhenius_diffusion_coef
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source]
type = SpeciesSourceRate
variable = conc
property_name = generation
[]
[heat]
type = HeatConduction
variable = temperature
extra_vector_tags = 'ref'
[]
[heat_source]
type = FissionRateHeatSource
variable = temperature
energy_per_fission = 1e-16
fission_rate = fission_rate
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[diff_coef]
type = MaterialRealAux
variable = diff_coef
property = arrhenius_diffusion_coef
execute_on = timestep_end
[]
[burnup]
type = MaterialRealAux
variable = burnup
property = burnup
[]
[]
[BCs]
[freesurf_conc]
type = DirichletBC
variable = conc
boundary = exterior
value = 0.0
[]
[temperature]
type = FunctionDirichletBC
variable = temperature
function = temperature
boundary = exterior
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
prop_names = 'burnup'
prop_values = 'if(t<21513600,0.093/21513600*t,0.093)'
[]
[fission_rate]
type = GenericFunctionMaterial
prop_names = 'fission_rate'
prop_values = 1.05e21
[]
[conc]
type = ArrheniusDiffusionCoef
d1 = 5e40
q1 = 1140000
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef
[]
[mass_source_property]
type = SpeciesSourceMaterial
property_name = generation
kind = Ag
[]
[thermal]
type = HeatConductionMaterial
thermal_conductivity = 100
specific_heat = 10
[]
[den]
type = ParsedMaterial
property_name = density
expression = 10850
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'temperature conc'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-12
nl_abs_tol = 5e-19
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 24523200
num_steps = 2
dt = 86400
dtmax = 86400
#dtmin = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<21513600,86400,3600)'
[]
[]
[Outputs]
perf_graph = false
print_linear_residuals = true
[]
(assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_5b/case_5b.i)
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.08
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 250e-6 350e-6 390e-6 425e-6 465e-6'
mesh_density = '50 30 15 15 15'
block_names = 'fuel buffer IPyC SiC OPyC'
bias = '1 1.25 1.25 1.25 1.25'
dual_bias = '0.8 0.8 0.8 0.8 1'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc_Cs]
[]
[conc_Ag]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 873.15
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temperature]
type = PiecewiseLinear
data_file = temperature_history.dat
format = columns
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
[]
[mass_Ag_dt]
type = TimeDerivative
variable = conc_Ag
[]
[mass_Ag]
type = ArrheniusDiffusion
variable = conc_Ag
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Ag]
type = SpeciesSourceRate
variable = conc_Ag
property_name = Ag_generation
block = fuel
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[temperature]
type = FunctionAux
function = temperature
variable = temperature
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
block = fuel
prop_names = 'burnup'
prop_values = '0.1/8.64e7*t'
[]
[fission_rate]
type = GenericFunctionMaterial
block = fuel
prop_names = 'fission_rate'
# 2.790610e19 = 0.1/8.64e7*10810/.27*6.0221409e23
prop_values = '2.790610e19'
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4
q2 = 362e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Cs_generation
kind = Cs
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
d1_function = 'exp(2e25/8.64e7*t/5e25)'
q1 = 125e3 # J/mol
d2 = 1.6e-2
q2 = 514e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[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
block = fuel
property_name = Ag_generation
kind = Ag
[]
[buffer_conc_Ag]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[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_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_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
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'conc_Cs conc_Ag'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-6
nl_abs_tol = 5e-21 #1e-22
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 8.712e7
num_steps = 1450
dt = 86400
dtmax = 86400
#dtmin = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<8.64e7,86400,3600)'
[]
[]
[Postprocessors]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
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
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
execute_on = 'initial timestep_end'
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
exodus = true
[console]
type = Console
time_step_interval = 1
[]
[out]
type = CSV
execute_on = final
[]
[]
(assessment/TRISO/validation/AGR-2/AGR-2_Cs.i)
[Variables]
[conc_Cs]
initial_condition = 0.0
[]
[]
[AuxVariables]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = 'fuel OPyC'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[]
[Materials]
# Arrhenius diffusion coefficients for kernel, PyC, and SiC
# come from IAEA TECDOC-978, French parameters.
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4 # m^2/s
q2 = 362e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
property_name = Cs_generation
kind = Cs
block = fuel
[]
### Buffer Properties
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
### IPyC properties
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
### SiC properties
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
# IAEA TECDOC-978, p. 442
d1 = 5.5e-14 # m^2/s
# The 1.1 is a factor applied in PARFUME
d1_function = 'exp(1.1*t/5e25)'
d1_function_variable = fast_neutron_fluence
q1 = 125e3 # J/mol
d2 = 1.60e-2 # m^2/s
q2 = 514e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
### OPyC properties
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property_OPyC]
type = SpeciesSourceMaterial
property_name = Cs_generation
kind = Cs
block = OPyC
#value = impurities * vol_kernel / vol_opyc
#value = 1.59e-6 * 4.07e-11 / 9.16e-11 # for UCO
#value = 1.57e-6 * 6.85e-11 / 1.18e-10 # for UO2
value = ${mass_source_property_OPyC}
[]
[]
[Postprocessors]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = 'fuel OPyC'
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
[]
[x_Cs_released_safety]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
start_time = 50284800
safety_fraction_type = net
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
execute_on = 'initial timestep_end'
[]
[]
(assessment/TRISO/validation/AGR-2/AGR-2_Sr.i)
[Variables]
[conc_Sr]
initial_condition = 0.0
[]
[]
[AuxVariables]
[Sr_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[mass_Sr_dt]
type = TimeDerivative
variable = conc_Sr
[]
[mass_Sr]
type = ArrheniusDiffusion
variable = conc_Sr
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
extra_vector_tags = 'ref'
[]
[mass_source_Sr]
type = SpeciesSourceRate
variable = conc_Sr
property_name = Sr_generation
block = 'fuel OPyC'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Sr_diff_coef]
type = MaterialRealAux
variable = Sr_diff_coef
property = arrhenius_diffusion_coef_Sr
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_conc_Sr]
type = DirichletBC
variable = conc_Sr
boundary = exterior
value = 0.0
[]
[]
[Materials]
# Arrhenius diffusion coefficients for kernel, PyC, and SiC
# come from IAEA TECDOC-978, French parameters.
[fuel_conc_Sr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 2.2e-3 # m^2/s
q1 = 488e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[mass_source_Sr_property]
type = SpeciesSourceMaterial
property_name = Sr_generation
kind = Sr
block = fuel
[]
### Buffer Properties
[buffer_conc_Sr]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
### IPyC properties
[IPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
### SiC properties
[SiC_conc_Sr]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 1.2e-9 # m^2/s
q1 = 205e3 # J/mol
d2 = 1.8e6 # m^2/s
q2 = 791e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
### OPyC properties
[OPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[mass_source_Sr_property_OPyC]
type = SpeciesSourceMaterial
property_name = Sr_generation
kind = Sr
block = OPyC
#value = impurities * vol_kernel / vol_opyc
#value = 1.59e-6 * 4.07e-11 / 9.16e-11 # for UCO
#value = 1.57e-6 * 6.85e-11 / 1.18e-10 # for UO2
value = ${mass_source_property_OPyC}
[]
[]
[Postprocessors]
[release_Sr_inc]
type = SideIntegralMassFlux
variable = conc_Sr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
execute_on = 'initial timestep_end'
[]
[released_Sr]
type = TimeIntegratedPostprocessor
value = release_Sr_inc
execute_on = 'initial timestep_end'
[]
[total_Sr]
type = ElementIntegralMaterialProperty
mat_prop = Sr_generation_total
block = 'fuel OPyC'
execute_on = 'initial timestep_end'
[]
[x_Sr_released]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
[]
[x_Sr_released_safety]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
start_time = 50284800
safety_fraction_type = net
[]
[retained_Sr]
type = ElementIntegralVariablePostprocessor
variable = conc_Sr
execute_on = 'initial timestep_end'
[]
[]
(assessment/TRISO/validation/AGR-1/AGR-1_Ag_Microstructure_Irradiation.i)
[Variables]
[conc_Ag]
initial_condition = 0.0
scaling = 1e14
[]
[]
[AuxVariables]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[flux]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[flux]
type = PiecewiseLinear
#data_file = DATA_FILE
x_index_in_file = 0
y_index_in_file = 5
xy_in_file_only = false
format = columns
[]
[]
[Kernels]
[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 OPyC'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[flux]
type = FunctionAux
variable = flux
function = flux
block = 'fuel buffer IPyC SiC OPyC'
execute_on = timestep_begin
[]
[]
[BCs]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[]
[Materials]
# 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 = ArrheniusDiffusionCoefMicrostructureIrradiation
block = SiC
scalar = 10
d1 = 6.88e-10 # m^2/s
d1_coef = -5.10e-4 # m/s
q1 = 211e3 # J/mol
q1_coef = 3.82e9 # J/mol/m
grain_minor_axis_length = 0.3e-6 # m
d1_irr_0 = 2.80e-13 # (n/m^2/s)^-1
d1_irr_1 = 0.458 # (-)
d1_irr_2 = 8.30e6 # m^-1
d1_irr_3 = 9.41e3 # K^-1
temperature = temperature # K
flux = flux # n/m^2/s
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
[]
[mass_source_Ag_property_OPyC]
type = SpeciesSourceMaterial
property_name = Ag_generation
kind = Ag
block = OPyC
#value = impurities * vol_kernel / vol_opyc
#value = 1.59e-6 * 4.07e-11 / 9.16e-11 # for UCO
#value = 1.57e-6 * 6.85e-11 / 1.18e-10 # for UO2
value = ${mass_source_property_OPyC}
[]
[]
[Postprocessors]
[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
value = release_Ag_inc
execute_on = 'initial timestep_end'
[]
[total_Ag]
type = ElementIntegralMaterialProperty
mat_prop = Ag_generation_total
block = 'fuel OPyC'
execute_on = 'initial timestep_end'
[]
[x_Ag_released]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
[]
[x_Ag_released_safety]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
start_time = 55209600
safety_fraction_type = net
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[]
(assessment/TRISO/validation/AGR-34/Compacts/Cs/Driver/AGR-34_driver_Cs.i)
[Variables]
[conc_Cs]
initial_condition = 0.0
[]
[]
[AuxVariables]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
extra_vector_tags = 'ref'
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = 'fuel'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[]
[Materials]
# Arrhenius diffusion coefficients for kernel, PyC, and SiC
# come from IAEA TECDOC-978, French parameters.
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4 # m^2/s
q2 = 362e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
property_name = Cs_generation
kind = Cs
block = fuel
[]
### Buffer Properties
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
### IPyC properties
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
### SiC properties
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
# IAEA TECDOC-978, p. 442
d1 = 5.5e-14 # m^2/s
# The 1.1 is a factor applied in PARFUME
d1_function = 'exp(1.1*t/5e25)'
d1_function_variable = fast_neutron_fluence
q1 = 125e3 # J/mol
d2 = 1.60e-2 # m^2/s
q2 = 514e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
### OPyC properties
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[]
[Postprocessors]
### Release
[release_Cs_driver_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs_driver]
type = TimeIntegratedPostprocessor # computes time integration of value
value = release_Cs_driver_inc
execute_on = 'initial timestep_end'
[]
[total_Cs_driver]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = 'fuel'
execute_on = 'initial timestep_end'
[]
[x_Cs_driver_released]
type = FractionalRelease
released = released_Cs_driver
total = total_Cs_driver
execute_on = 'initial timestep_end'
[]
[retained_Cs_driver]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
execute_on = 'initial timestep_end'
[]
[]
(assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_4c/case_4c.i)
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.08
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 250e-6 350e-6 390e-6 425e-6 465e-6'
mesh_density = '50 30 15 15 15'
block_names = 'fuel buffer IPyC SiC OPyC'
bias = '1 1.25 1.25 1.25 1.25'
dual_bias = '0.8 0.8 0.8 0.8 1'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc_Cs]
[]
[conc_Ag]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1273.15
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[fast_neutron_fluence]
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
[]
[mass_Ag_dt]
type = TimeDerivative
variable = conc_Ag
[]
[mass_Ag]
type = ArrheniusDiffusion
variable = conc_Ag
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Ag]
type = SpeciesSourceRate
variable = conc_Ag
property_name = Ag_generation
block = fuel
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[temperature]
type = FunctionAux
function = 'if(t<4.3200001e7,1273.15,if(t<4.3920001e7,1873.15,2073.15))'
variable = temperature
[]
[fast_neutron_fluence]
type = FunctionAux
function = 'if(t<4.3200001e7,2e25/4.32e7*t,2e25)'
variable = fast_neutron_fluence
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
block = fuel
prop_names = 'burnup'
prop_values = 'if(t<4.3200001e7,0.1/4.32e7*t,0.1)'
[]
[fission_rate]
type = GenericFunctionMaterial
block = fuel
prop_names = 'fission_rate'
# 5.581219e19 = 0.1/4.32e7*10810/.27*6.0221409e23
prop_values = 'if(t<4.3200001e7,5.581219e19,0)'
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4
q2 = 362e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Cs_generation
kind = Cs
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
d1_function = 'exp(t/5e25)'
d1_function_variable = fast_neutron_fluence
q1 = 125e3 # J/mol
d2 = 1.6e-2
q2 = 514e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[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
block = fuel
property_name = Ag_generation
kind = Ag
[]
[buffer_conc_Ag]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[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_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_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
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'conc_Cs conc_Ag'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-6
nl_abs_tol = 5e-21 #1e-22
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 4.464e7
num_steps = 1000
dt = 86400
dtmax = 86400
#dtmin = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<4.3200001e7,86400,3600)'
[]
[]
[Postprocessors]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
[]
[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
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
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
exodus = true
[console]
type = Console
time_step_interval = 1
[]
[out]
type = CSV
execute_on = final
[]
[]
(assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_10/case_10.i)
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.1676
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 250.5e-6 342.5e-6 380.5e-6 413.5e-6 454.5e-6'
mesh_density = '50 30 15 15 15'
block_names = 'fuel buffer IPyC SiC OPyC'
bias = '1 1.25 1.25 1.25 1.25'
dual_bias = '0.8 0.8 0.8 0.8 1'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc_Cs]
[]
[conc_Ag]
[]
[conc_Sr]
[]
[temperature]
initial_condition = 1373.15
scaling = 1e-10
[]
[]
[AuxVariables]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Sr_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[burnup]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temperature]
type = PiecewiseLinear
data_file = temperature_history.dat
format = columns
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
[]
[mass_Ag_dt]
type = TimeDerivative
variable = conc_Ag
[]
[mass_Ag]
type = ArrheniusDiffusion
variable = conc_Ag
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Ag]
type = SpeciesSourceRate
variable = conc_Ag
property_name = Ag_generation
block = fuel
[]
[mass_Sr_dt]
type = TimeDerivative
variable = conc_Sr
[]
[mass_Sr]
type = ArrheniusDiffusion
variable = conc_Sr
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Sr]
type = SpeciesSourceRate
variable = conc_Sr
property_name = Sr_generation
block = fuel
[]
[heat]
type = HeatConduction
variable = temperature
extra_vector_tags = 'ref'
[]
[heat_source]
type = FissionRateHeatSource
variable = temperature
block = fuel
energy_per_fission = 3.2e-11 # units of J/fission
fission_rate = fission_rate
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[Sr_diff_coef]
type = MaterialRealAux
variable = Sr_diff_coef
property = arrhenius_diffusion_coef_Sr
execute_on = timestep_end
[]
[burnup]
type = MaterialRealAux
block = fuel
variable = burnup
property = burnup
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[freesurf_conc_Sr]
type = DirichletBC
variable = conc_Sr
boundary = exterior
value = 0.0
[]
[temperature]
type = FunctionDirichletBC
variable = temperature
function = temperature
boundary = exterior
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
block = fuel
prop_names = 'burnup'
prop_values = 'if(t<21513600,0.093/21513600*t,0.093)'
[]
[fission_rate]
type = GenericFunctionMaterial
block = fuel
prop_names = 'fission_rate'
# 1.05e21 = 0.093/21513600*10850/.27*6.0221409e23
prop_values = 'if(t<=21513600,1.05e21,0)'
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4
q2 = 362e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Cs_generation
kind = Cs
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
d1_function = 'if(t<21513600,exp(3.0e25/21513600*t/5e25),exp(3.0e25/5e25))'
q1 = 125e3 # J/mol
d2 = 1.6e-2
q2 = 514e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[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
block = fuel
property_name = Ag_generation
kind = Ag
[]
[buffer_conc_Ag]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[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_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_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
[]
[fuel_conc_Sr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 2.2e-3 # m^2/s
q1 = 488e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[mass_source_Sr_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Sr_generation
kind = Sr
[]
[buffer_conc_Sr]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[IPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[SiC_conc_Sr]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 1.2e-9 # m^2/s
q1 = 205e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[OPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[fuel_thermal]
type = UO2Thermal
thermal_conductivity_model = FINK_LUCUTA
block = fuel
temperature = temperature
burnup = burnup
[]
[fuel_den]
type = ParsedMaterial
block = fuel
property_name = density
expression = 10850.0
[]
[buffer_temperature]
type = HeatConductionMaterial
block = buffer
thermal_conductivity = 0.5
specific_heat = 720.0
[]
[buffer_den]
type = ParsedMaterial
block = buffer
property_name = density
expression = 1000
[]
[PyC_temperature]
type = HeatConductionMaterial
block = 'IPyC OPyC'
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[IPyC_den]
type = ParsedMaterial
block = IPyC
property_name = density
expression = 1900
[]
[OPyC_den]
type = ParsedMaterial
block = OPyC
property_name = density
expression = 1880
[]
[SiC_temperature]
type = HeatConductionMaterial
block = SiC
thermal_conductivity = 13.9
specific_heat = 620.0
[]
[SiC_den]
type = ParsedMaterial
block = SiC
property_name = density
expression = 3200.0
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'conc_Cs conc_Ag'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-6
nl_abs_tol = 5e-19 #5e-21 #1e-22
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 24523200
num_steps = 2500
dt = 86400
dtmax = 86400
#dtmin = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<21513600,86400,3600)'
[]
[]
[Postprocessors]
[_temp]
type = NodalExtremeValue
variable = temperature
[]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released_overall]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
start_time = 21513600
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
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
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_overall]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
[]
[x_Ag_released]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
start_time = 21513600
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[release_Sr_inc]
type = SideIntegralMassFlux
variable = conc_Sr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
execute_on = 'initial timestep_end'
[]
[released_Sr]
type = TimeIntegratedPostprocessor
value = release_Sr_inc
execute_on = 'initial timestep_end'
[]
[total_Sr]
type = ElementIntegralMaterialProperty
mat_prop = Sr_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Sr_released_overall]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
[]
[x_Sr_released]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
start_time = 21513600
[]
[retained_Sr]
type = ElementIntegralVariablePostprocessor
variable = conc_Sr
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
exodus = true
[console]
type = Console
time_step_interval = 1
[]
[out]
type = CSV
[]
[out_final]
type = CSV
execute_on = final
[]
[]
(assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_5a/case_5a.i)
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.08
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 250e-6 350e-6 390e-6 425e-6 465e-6'
mesh_density = '50 30 15 15 15'
block_names = 'fuel buffer IPyC SiC OPyC'
bias = '1 1.25 1.25 1.25 1.25'
dual_bias = '0.8 0.8 0.8 0.8 1'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc_Cs]
[]
[conc_Ag]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 873.15
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temperature]
type = PiecewiseLinear
data_file = temperature_history.dat
format = columns
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
[]
[mass_Ag_dt]
type = TimeDerivative
variable = conc_Ag
[]
[mass_Ag]
type = ArrheniusDiffusion
variable = conc_Ag
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Ag]
type = SpeciesSourceRate
variable = conc_Ag
property_name = Ag_generation
block = fuel
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[temperature]
type = FunctionAux
function = temperature
variable = temperature
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
block = fuel
prop_names = 'burnup'
prop_values = '0.1/8.64e7*t'
[]
[fission_rate]
type = GenericFunctionMaterial
block = fuel
prop_names = 'fission_rate'
# 2.790610e19 = 0.1/8.64e7*10810/.27*6.0221409e23
prop_values = '2.790610e19'
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4
q2 = 362e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Cs_generation
kind = Cs
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
d1_function = 'exp(2e25/8.64e7*t/5e25)'
q1 = 125e3 # J/mol
d2 = 1.6e-2
q2 = 514e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[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
block = fuel
property_name = Ag_generation
kind = Ag
[]
[buffer_conc_Ag]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[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_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_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
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'conc_Cs conc_Ag'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-6
nl_abs_tol = 5e-21 #1e-22
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 8.64e7
num_steps = 1450
dt = 86400
dtmax = 86400
#dtmin = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<8.64e7,86400,3600)'
[]
[]
[Postprocessors]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
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
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
execute_on = 'initial timestep_end'
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
exodus = true
[console]
type = Console
time_step_interval = 1
[]
[out]
type = CSV
execute_on = final
[]
[]
(assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_8a/case_8a.i)
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.0982
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 248.5e-6 342.5e-6 383.5e-6 419.5e-6 459.5e-6'
mesh_density = '50 30 15 15 15'
block_names = 'fuel buffer IPyC SiC OPyC'
bias = '1 1.25 1.25 1.25 1.25'
dual_bias = '0.8 0.8 0.8 0.8 1'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc_Cs]
[]
[conc_Ag]
[]
[conc_Sr]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1391.15
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Sr_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temperature]
type = PiecewiseLinear
data_file = temperature_history.dat
format = columns
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
[]
[mass_Ag_dt]
type = TimeDerivative
variable = conc_Ag
[]
[mass_Ag]
type = ArrheniusDiffusion
variable = conc_Ag
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Ag]
type = SpeciesSourceRate
variable = conc_Ag
property_name = Ag_generation
block = fuel
[]
[mass_Sr_dt]
type = TimeDerivative
variable = conc_Sr
[]
[mass_Sr]
type = ArrheniusDiffusion
variable = conc_Sr
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Sr]
type = SpeciesSourceRate
variable = conc_Sr
property_name = Sr_generation
block = fuel
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[Sr_diff_coef]
type = MaterialRealAux
variable = Sr_diff_coef
property = arrhenius_diffusion_coef_Sr
execute_on = timestep_end
[]
[temperature]
type = FunctionAux
function = temperature
variable = temperature
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[freesurf_conc_Sr]
type = DirichletBC
variable = conc_Sr
boundary = exterior
value = 0.0
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
block = fuel
prop_names = 'burnup'
prop_values = 'if(t<31017600,0.075/31017600*t,0.075)'
[]
[fission_rate]
type = GenericFunctionMaterial
block = fuel
prop_names = 'fission_rate'
# 5.83e19 = 0.075/31017600*10810/.27*6.0221409e23
prop_values = 'if(t<31017600,5.83e19,0)'
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4
q2 = 362e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Cs_generation
kind = Cs
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
d1_function = 'if(t<31017600,exp(4.0e25/31017600*t/5e25),exp(4.0e25/5e25))'
q1 = 125e3 # J/mol
d2 = 1.6e-2
q2 = 514e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[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
block = fuel
property_name = Ag_generation
kind = Ag
[]
[buffer_conc_Ag]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[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_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_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
[]
[fuel_conc_Sr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 2.2e-3 # m^2/s
q1 = 488e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[mass_source_Sr_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Sr_generation
kind = Sr
[]
[buffer_conc_Sr]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[IPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[SiC_conc_Sr]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 1.2e-9 # m^2/s
q1 = 205e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[OPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'conc_Cs conc_Ag'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-6
nl_abs_tol = 5e-21 #1e-22
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 32965200
num_steps = 1450
dt = 86400
dtmax = 86400
#dtmin = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<31017600,86400,
if(t<31165200,900,
3600))'
[]
[]
[Postprocessors]
[_temp]
type = NodalExtremeValue
variable = temperature
[]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released_overall]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
start_time = 31017600
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
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
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_overall]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
[]
[x_Ag_released]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
start_time = 31017600
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[release_Sr_inc]
type = SideIntegralMassFlux
variable = conc_Sr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
execute_on = 'initial timestep_end'
[]
[released_Sr]
type = TimeIntegratedPostprocessor
value = release_Sr_inc
execute_on = 'initial timestep_end'
[]
[total_Sr]
type = ElementIntegralMaterialProperty
mat_prop = Sr_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Sr_released_overall]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
[]
[x_Sr_released]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
start_time = 31017600
[]
[retained_Sr]
type = ElementIntegralVariablePostprocessor
variable = conc_Sr
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
exodus = true
[console]
type = Console
time_step_interval = 1
[]
[out]
type = CSV
[]
[out_final]
type = CSV
execute_on = final
[]
[]
(test/tests/species_source/ad_Sr_exact.i)
#
# This test checks whether the species source for strontium is operating
# as intended in AD. The amount of strontium produced in SpeciesSourceMaterial
# is checked against the amount computed through a ParsedMaterial.
#
# If correct, the 'diff' Postprocessor will have a value close to zero,
# and the 'fraction' Postprocessor will be one.
#
[GlobalParams]
initial_enrichment = 0.2
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
[]
[]
[Variables]
[conc]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1000
[]
[]
[Kernels]
[conc_dt]
type = ADTimeDerivative
variable = conc
[]
[conc_diffusion]
type = ADArrheniusDiffusion
variable = conc
arrhenius_prpty_name = diff_coef
[]
[conc_source]
type = ADSpeciesSourceRate
variable = conc
property_name = conc_generation
[]
[]
[BCs]
[conc]
type = ADFunctionDirichletBC
variable = conc
boundary = 'left right'
function = '.1 * t + .1'
[]
[]
[Materials]
[burnup]
type = ADGenericFunctionMaterial
prop_names = burnup
prop_values = '0.01*t'
[]
[fission_rate]
type = ADGenericFunctionMaterial
prop_names = fission_rate
prop_values = 'if(t=0,0,1e19)'
[]
[diff_coef]
type = ADArrheniusDiffusionCoef
temperature = temperature
d1 = 1e-6
q1 = 100e3
arrhenius_prpty_name = diff_coef
[]
[conc_generation]
type = ADSpeciesSourceMaterial
property_name = conc_generation
kind = Sr
[]
[conc_generation_exact]
type = ADParsedMaterial
property_name = conc_generation_exact
material_property_names = 'burnup fission_rate'
constant_names = 'a1 a2 b1 b2 e limit avo'
constant_expressions = '0.11754 0.11819 -0.21762 -0.15778 0.2 0.175 6.02214076e23'
expression = 'b:=if(burnup*100<1.0,1.0,burnup*100);
if(e<limit,a1*b^b1,a2*b^b2)/avo*fission_rate'
[]
[]
[Executioner]
type = Transient
num_steps = 10
[]
[Postprocessors]
[conc]
type = ADElementIntegralMaterialProperty
mat_prop = conc_generation
execute_on = 'initial timestep_end'
[]
[conc_exact]
type = ADElementIntegralMaterialProperty
mat_prop = conc_generation_exact
execute_on = 'initial timestep_end'
[]
[diff]
type = DifferencePostprocessor
value1 = 'conc'
value2 = 'conc_exact'
outputs = console
execute_on = 'initial timestep_end'
[]
[fraction]
type = FractionalRelease
released = conc
total = conc_exact
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
csv = true
[]
(assessment/TRISO/validation/AGR-34/Compacts/Sr/DTF/AGR-34_dtf_Sr.i)
[Variables]
[conc_Sr_dtf]
initial_condition = 0.0
[]
[]
[AuxVariables]
[Sr_dtf_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[mass_Sr_dtf_dt]
type = TimeDerivative
variable = conc_Sr_dtf
extra_vector_tags = 'ref'
[]
[mass_Sr_dtf]
type = ArrheniusDiffusion
variable = conc_Sr_dtf
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr_dtf
extra_vector_tags = 'ref'
[]
[mass_source_Sr_dtf]
type = SpeciesSourceRate
variable = conc_Sr_dtf
property_name = Sr_dtf_generation
block = 'fuel'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Sr_dtf_diff_coef]
type = MaterialRealAux
variable = Sr_dtf_diff_coef
property = arrhenius_diffusion_coef_Sr_dtf
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_conc_Sr_dtf]
type = DirichletBC
variable = conc_Sr_dtf
boundary = exterior
value = 0.0
[]
[]
[Materials]
### Kernel Properties
[fuel_conc_Sr_dtf]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 2.2e-3 # m^2/s
q1 = 488e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr_dtf
[]
[mass_source_Sr_dtf_property]
type = SpeciesSourceMaterial
property_name = Sr_dtf_generation
kind = Sr
block = fuel
[]
### PyC properties
[IPyC_conc_Sr_dtf]
type = ArrheniusDiffusionCoef
block = PyC
d1 = 1.0e-6 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr_dtf
[]
[]
[Postprocessors]
### Release
[release_Sr_dtf_inc]
type = SideIntegralMassFlux
variable = conc_Sr_dtf
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr_dtf
execute_on = 'initial timestep_end'
[]
[released_Sr_dtf]
type = TimeIntegratedPostprocessor # computes time integration of value
value = release_Sr_dtf_inc
execute_on = 'initial timestep_end'
[]
[total_Sr_dtf]
type = ElementIntegralMaterialProperty
mat_prop = Sr_dtf_generation_total
block = 'fuel'
execute_on = 'initial timestep_end'
[]
[x_Sr_dtf_released]
type = FractionalRelease
released = released_Sr_dtf
total = total_Sr_dtf
execute_on = 'initial timestep_end'
[]
[retained_Sr_dtf]
type = ElementIntegralVariablePostprocessor
variable = conc_Sr_dtf
execute_on = 'initial timestep_end'
[]
[]
(assessment/TRISO/validation/AGR-1/AGR-1_Kr.i)
[Variables]
[conc_Kr]
initial_condition = 0.0
[]
[]
[AuxVariables]
[Kr_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[mass_Kr_dt]
type = TimeDerivative
variable = conc_Kr
[]
[mass_Kr]
type = ArrheniusDiffusion
variable = conc_Kr
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
extra_vector_tags = 'ref'
[]
[mass_source_Kr]
type = SpeciesSourceRate
variable = conc_Kr
property_name = Kr_generation
block = 'fuel OPyC'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Kr_diff_coef]
type = MaterialRealAux
variable = Kr_diff_coef
property = arrhenius_diffusion_coef_Kr
execute_on = timestep_end
[]
[]
[BCs]
# fix concentration on free surface
[freesurf_conc_Kr]
type = DirichletBC
variable = conc_Kr
boundary = exterior
value = 0.0
[]
[]
[Materials]
# # Arrhenius diffusion coefficients for kernel, PyC, and SiC
# # come from IAEA TECDOC-978, French parameters.
# [fuel_conc_Kr]
# type = ParsedMaterial
# block = fuel
# property_name = arrhenius_diffusion_coef_Kr
# coupled_variables = 'temperature'
# constant_names = 'R D1_low Q1_low D1 Q1 D2 Q2 switch'
# constant_expressions = '8.3145 1.3e-12 126e3 8.8e-15 54e3 6e-1 480e3 1773.15'
# expression = 'if(temperature<switch,D1_low*exp(-Q1_low/(R*temperature)),D1*exp(-Q1/(R*temperature))+D2*exp(-Q2/(R*temperature)))'
# []
# [fuel_conc_Kr_dT]
# type = ParsedMaterial
# block = fuel
# property_name = arrhenius_diffusion_coef_Kr_dT
# coupled_variables = 'temperature'
# constant_names = 'R D1_low Q1_low D1 Q1 D2 Q2 switch'
# constant_expressions = '8.3145 1.3e-12 126e3 8.8e-15 54e3 6e-1 480e3 1773.15'
# expression = 'if(temperature<switch,D1_low*exp(-Q1_low/(R*temperature))*Q1_low/(R*temperature*temperature),D1*exp(-Q1/(R*temperature))*Q1/(R*temperature*temperature)+D2*exp(-Q2/(R*temperature))*Q2/(R*temperature*temperature))'
# []
# [mass_source_Kr_property]
# type = SpeciesSourceMaterial
# property_name = Kr_generation
# kind = Kr
# block = fuel
# []
[fuel_conc_Kr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 8.8e-15 # m^2/s
q1 = 54e3 # J/mol
d2 = 6.0e-1
q2 = 480e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
[]
[mass_source_Kr_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Kr_generation
kind = custom
additional_function = '0.002717/6.022e23'
additional_function_property = fission_rate
[]
### Buffer Properties
[buffer_conc_Kr]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
[]
### IPyC properties
[IPyC_conc_Kr]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 2.9e-8 # m^2/s
q1 = 291e3 # J/mol
d2 = 2e5 # m^2/s
q2 = 923e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
[]
### SiC properties
[SiC_conc_Kr]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Kr
coupled_variables = 'temperature'
# Switching temperature between low and high correlations is given as 1673.15 K in
# INL/EXT-16-39548. Here, we use 1626 since that gives continuity between
# correlations and is the value used in PARFUME.
constant_names = 'R D1_low Q1_low D1 Q1 switch'
constant_expressions = '8.3145 8.6e-10 326e3 3.7e1 657e3 2e6'
expression = 'if(temperature<switch,D1_low*exp(-Q1_low/(R*temperature)),D1*exp(-Q1/(R*temperature)))'
[]
[SiC_conc_Kr_dT]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Kr_dT
coupled_variables = 'temperature'
# Switching temperature between low and high correlations is given as 1673.15 K in
# INL/EXT-16-39548. Here, we use 1626 since that gives continuity between
# correlations and is the value used in PARFUME.
constant_names = 'R D1_low Q1_low D1 Q1 switch'
constant_expressions = '8.3145 8.6e-10 326e3 3.7e1 657e3 2e6'
expression = 'if(temperature<switch,D1_low*exp(-Q1_low/(R*temperature))*Q1_low/(R*temperature*temperature),D1*exp(-Q1/(R*temperature))*Q1/(R*temperature*temperature))'
[]
### OPyC properties
[OPyC_conc_Kr]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 2.9e-8 # m^2/s
q1 = 291e3 # J/mol
d2 = 2e5 # m^2/s
q2 = 923e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
[]
[mass_source_Kr_property_OPyC]
type = SpeciesSourceMaterial
property_name = Kr_generation
kind = Kr
block = OPyC
#value = impurities * vol_kernel / vol_opyc
#value = 1.59e-6 * 4.07e-11 / 9.16e-11 # for UCO
#value = 1.57e-6 * 6.85e-11 / 1.18e-10 # for UO2
value = ${mass_source_property_OPyC}
[]
[]
[Postprocessors]
[release_Kr_inc]
type = SideIntegralMassFlux
variable = conc_Kr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
execute_on = 'initial timestep_end'
[]
[released_Kr]
type = TimeIntegratedPostprocessor
value = release_Kr_inc
execute_on = 'initial timestep_end'
[]
[total_Kr]
type = ElementIntegralMaterialProperty
mat_prop = Kr_generation_total
block = 'fuel OPyC'
execute_on = 'initial timestep_end'
[]
[x_Kr_released]
type = FractionalRelease
released = released_Kr
total = total_Kr
execute_on = 'initial timestep_end'
[]
[x_Kr_released_safety]
type = FractionalRelease
released = released_Kr
total = total_Kr
execute_on = 'initial timestep_end'
start_time = 55209600
safety_fraction_type = net
[]
[retained_Kr]
type = ElementIntegralVariablePostprocessor
variable = conc_Kr
execute_on = 'initial timestep_end'
[]
[]
(assessment/TRISO/validation/AGR-2/AGR-2_Ag_Microstructure.i)
[Variables]
[conc_Ag]
initial_condition = 0.0
[]
[]
[AuxVariables]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[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 OPyC'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[]
[Materials]
# 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 = ArrheniusDiffusionCoefMicrostructureIrradiation
block = SiC
scalar = 10
d1 = 6.88e-10 # m^2/s
d1_coef = -5.10e-4 # m/s
q1 = 211e3 # J/mol
q1_coef = 3.82e9 # J/mol/m
grain_minor_axis_length = 0.4e-6 # m
temperature = temperature # K
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
[]
[mass_source_Ag_property_OPyC]
type = SpeciesSourceMaterial
property_name = Ag_generation
kind = Ag
block = OPyC
#value = impurities * vol_kernel / vol_opyc
#value = 1.59e-6 * 4.07e-11 / 9.16e-11 # for UCO
#value = 1.57e-6 * 6.85e-11 / 1.18e-10 # for UO2
value = ${mass_source_property_OPyC}
[]
[]
[Postprocessors]
[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
value = release_Ag_inc
execute_on = 'initial timestep_end'
[]
[total_Ag]
type = ElementIntegralMaterialProperty
mat_prop = Ag_generation_total
block = 'fuel OPyC'
execute_on = 'initial timestep_end'
[]
[x_Ag_released]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
[]
[x_Ag_released_safety]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
start_time = 50284800
safety_fraction_type = net
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[]
(test/tests/species_source/custom_source.i)
#
# This test checks whether the species source computed using custom
# input is functioning as intended. The amount of mass produced in
# SpeciesSourceMaterial is checked against the amount computed through
# a ParsedMaterial.
#
# If correct, the 'diff' Postprocessor will have a value close to zero,
# and the 'check_rate' Postprocessor will be one.
#
# In addition, the total amount produced is also checked. The 'check_total'
# Postprocessor should report a value of one.
#
[GlobalParams]
initial_enrichment = 0.2
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = GeneratedMeshGenerator
dim = 1
xmin = 0
nx = 50
[]
[]
[Variables]
[conc]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1000
[]
[]
[Kernels]
[conc_dt]
type = TimeDerivative
variable = conc
[]
[conc_diffusion]
type = ArrheniusDiffusion
variable = conc
arrhenius_prpty_name = diff_coef
[]
[conc_source]
type = SpeciesSourceRate
variable = conc
property_name = conc_generation
[]
[]
[BCs]
[conc]
type = FunctionDirichletBC
variable = conc
boundary = 'right'
function = 0
[]
[]
[Functions]
[fred]
type = ParsedFunction
expression = 't/6.022e23'
[]
[]
[Materials]
[dummy]
type = GenericFunctionMaterial
prop_names = dummy
prop_values = 'if(t<=10000,1.1819e-8,0)'
[]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = 'if(t<=10000,1e19,0)'
[]
[diff_coef]
type = ArrheniusDiffusionCoef
temperature = temperature
d1 = 1e-6
q1 = 100e3
arrhenius_prpty_name = diff_coef
[]
[conc_generation]
type = SpeciesSourceMaterial
property_name = conc_generation
kind = custom
additional_function = fred
additional_function_property = dummy
[]
[conc_generation_exact]
type = ParsedMaterial
property_name = conc_generation_exact
material_property_names = 'dummy fission_rate'
constant_names = 'avo'
constant_expressions = '6.02214076e23'
expression = 'b:=dummy/avo;
if(fission_rate>0,b*fission_rate,0)'
[]
[]
[Executioner]
type = Transient
num_steps = 11
dt = 1000
automatic_scaling = true
[]
[Postprocessors]
[rate]
type = ElementIntegralMaterialProperty
mat_prop = conc_generation
execute_on = 'initial timestep_end'
[]
[rate_exact]
type = ElementIntegralMaterialProperty
mat_prop = conc_generation_exact
execute_on = 'initial timestep_end'
[]
[diff]
type = DifferencePostprocessor
value1 = rate
value2 = rate_exact
outputs = console
execute_on = 'initial timestep_end'
[]
[check_rate]
type = FractionalRelease
released = rate
total = rate_exact
execute_on = 'initial timestep_end'
[]
[total_direct]
type = ElementIntegralMaterialProperty
mat_prop = conc_generation_total
execute_on = 'initial timestep_end'
[]
[total_integrated]
type = TimeIntegratedPostprocessor
value = rate
execute_on = 'initial timestep_end'
[]
[check_total]
type = FractionalRelease
released = total_direct
total = total_integrated
execute_on = 'initial timestep_end'
[]
[mass_flux]
type = SideIntegralMassFlux
variable = conc
boundary = right
arrhenius_prpty_name = diff_coef
execute_on = 'initial timestep_end'
[]
[integrated_flux]
type = TimeIntegratedPostprocessor
value = mass_flux
execute_on = 'initial timestep_end'
[]
[fraction]
type = FractionalRelease
released = integrated_flux
total = total_direct
execute_on = 'initial timestep_end'
[]
[fraction_safety_net]
type = FractionalRelease
released = integrated_flux
total = total_direct
start_time = 1000
stop_time = 10000
safety_fraction_type = net
execute_on = 'initial timestep_end'
[]
[fraction_safety_total]
type = FractionalRelease
released = integrated_flux
total = total_direct
start_time = 1000
safety_fraction_type = total
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
csv = true
[]
(assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_4d/case_4d.i)
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.08
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 250e-6 350e-6 390e-6 425e-6 465e-6'
mesh_density = '50 30 15 15 15'
block_names = 'fuel buffer IPyC SiC OPyC'
bias = '1 1.25 1.25 1.25 1.25'
dual_bias = '0.8 0.8 0.8 0.8 1'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc_Cs]
[]
[conc_Ag]
[]
[conc_Kr]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1273.15
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Kr_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
[]
[mass_Ag_dt]
type = TimeDerivative
variable = conc_Ag
[]
[mass_Ag]
type = ArrheniusDiffusion
variable = conc_Ag
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Ag]
type = SpeciesSourceRate
variable = conc_Ag
property_name = Ag_generation
block = fuel
[]
[mass_Kr_dt]
type = TimeDerivative
variable = conc_Kr
[]
[mass_Kr]
type = ArrheniusDiffusion
variable = conc_Kr
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Kr]
type = SpeciesSourceRate
variable = conc_Kr
property_name = Kr_generation
block = fuel
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[Kr_diff_coef]
type = MaterialRealAux
variable = Kr_diff_coef
property = arrhenius_diffusion_coef_Kr
execute_on = timestep_end
[]
[temperature]
type = FunctionAux
function = 'if(t<4.3200001e7,1273.15,if(t<4.3920001e7,1873.15,2073.15))'
variable = temperature
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[freesurf_conc_Kr]
type = DirichletBC
variable = conc_Kr
boundary = exterior
value = 0.0
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
block = fuel
prop_names = 'burnup'
prop_values = 'if(t<4.3200001e7,0.1/4.32e7*t,0.1)'
[]
[fission_rate]
type = GenericFunctionMaterial
block = fuel
prop_names = 'fission_rate'
# 5.581219e19 = 0.1/4.32e7*10810/.27*6.0221409e23
prop_values = 'if(t<4.3200001e7,5.581219e19,0)'
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4
q2 = 362e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Cs_generation
kind = Cs
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
# 6.22285e6 = 1e-6/6.3e-8/exp(-222e3/8.3145/2073.15)
d1_function = 'if(t<4.3920001e7,1,6.22285e6)'
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
d1_function = 'if(t<4.3200001e7,exp(2e25/4.32e7*t/5e25),if(t<4.3920001e7,(1e-6-1.6e-2*exp(-514e3/8.3145/1873.15))/5.5e-14/exp(-125e3/8.3145/1873.15),(1e-6-1.6e-2*exp(-514e3/8.3145/2073.15))/5.5e-14/exp(-125e3/8.3145/2073.15)))'
q1 = 125e3 # J/mol
d2 = 1.6e-2
q2 = 514e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
# 6.22285e6 = 1e-6/6.3e-8/exp(-222e3/8.3145/2073.15)
d1_function = 'if(t<4.3920001e7,1,6.22285e6)'
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[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
block = fuel
property_name = Ag_generation
kind = Ag
[]
[buffer_conc_Ag]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[IPyC_conc_Ag]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 5.3e-9 # m^2/s
# 1.431468e6 = 1e-6/5.3e-9/exp(-154e3/8.3145/2073.15)
d1_function = 'if(t<4.3920001e7,1,1.431468e6)'
q1 = 154e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[SiC_conc_Ag]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 3.6e-9 # m^2/s
d1_function = 'if(t<4.3200001e7,1,if(t<4.3920001e7,1e-6/3.6e-9/exp(-215e3/8.3145/1873.15),1e-6/3.6e-9/exp(-215e3/8.3145/2073.15)))'
q1 = 215e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[OPyC_conc_Ag]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 5.3e-9 # m^2/s
# 1.431468e6 = 1e-6/5.3e-9/exp(-154e3/8.3145/2073.15)
d1_function = 'if(t<4.3920001e7,1,1.431468e6)'
q1 = 154e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[fuel_conc_Kr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 8.8e-15 # m^2/s
q1 = 54e3 # J/mol
d2 = 6.0e-1
q2 = 480e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
[]
[mass_source_Kr_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Kr_generation
kind = custom
additional_function = '0.002717/6.022e23'
additional_function_property = fission_rate
[]
[buffer_conc_Kr]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
[]
[IPyC_conc_Kr]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 2.9e-8 # m^2/s
# 7.40285e8 = 1e-6 / (2.9e-8*exp(-291e3/8.3145/2073.15))
d1_function = 'if(t<4.3920001e7,1,7.40285e8)'
q1 = 291e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
[]
[SiC_conc_Kr]
type = ArrheniusDiffusionCoef
block = SiC
# See "Diffusion Modeling of Fission Product Release during Depressurized Core Conduction Cooldown Conditions,"
# R. C. Martin, https://www.osti.gov/servlets/purl/5719008
d1 = 1.4e-9 # m^2/s
d1_function = 'if(t<4.3200001e7,1,if(t<4.3920001e7,1e-6/1.4e-9/exp(-265.98e3/8.3145/1873.15),1e-6/1.4e-9/exp(-265.98e3/8.3145/2073.15)))'
q1 = 265.98e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
[]
[OPyC_conc_Kr]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 2.9e-8 # m^2/s
# 7.40285e8 = 1e-6 / (2.9e-8*exp(-291e3/8.3145/2073.15))
d1_function = 'if(t<4.3920001e7,1,7.40285e8)'
q1 = 291e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'conc_Cs conc_Kr'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-6
nl_abs_tol = 5e-19
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 4.464e7
num_steps = 1000
dt = 86400
dtmax = 86400
#dtmin = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<4.32e7,86400,3600)'
[]
[]
[Postprocessors]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
[]
[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
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
[]
[release_Kr_inc]
type = SideIntegralMassFlux
variable = conc_Kr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Kr
execute_on = 'initial timestep_end'
[]
[released_Kr]
type = TimeIntegratedPostprocessor
value = release_Kr_inc
execute_on = 'initial timestep_end'
[]
[total_Kr]
type = ElementIntegralMaterialProperty
mat_prop = Kr_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Kr_released]
type = FractionalRelease
released = released_Kr
total = total_Kr
[]
[retained_Kr]
type = ElementIntegralVariablePostprocessor
variable = conc_Kr
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
exodus = true
[console]
type = Console
time_step_interval = 1
[]
[out]
type = CSV
execute_on = final
[]
[]
(test/tests/species_source/ad_Ag_exact.i)
#
# This test checks whether the species source for silver is operating
# as intended in AD. The amount of silver produced in SpeciesSourceMaterial
# is checked against the amount computed through a ParsedMaterial.
#
# If correct, the 'diff' Postprocessor will have a value close to zero,
# and the 'fraction' Postprocessor will be one.
#
[GlobalParams]
initial_enrichment = 0.2
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
[]
[]
[Variables]
[conc]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1000
[]
[]
[Kernels]
[conc_dt]
type = ADTimeDerivative
variable = conc
[]
[conc_diffusion]
type = ADArrheniusDiffusion
variable = conc
arrhenius_prpty_name = diff_coef
[]
[conc_source]
type = ADSpeciesSourceRate
variable = conc
property_name = conc_generation
[]
[]
[BCs]
[conc]
type = ADFunctionDirichletBC
variable = conc
boundary = 'left right'
function = '.1 * t + .1'
[]
[]
[Materials]
[burnup]
type = ADGenericFunctionMaterial
prop_names = burnup
prop_values = '0.01*t'
[]
[fission_rate]
type = ADGenericFunctionMaterial
prop_names = fission_rate
prop_values = 'if(t=0,0,1e19)'
[]
[diff_coef]
type = ADArrheniusDiffusionCoef
temperature = temperature
d1 = 1e-6
q1 = 100e3
arrhenius_prpty_name = diff_coef
[]
[conc_generation]
type = ADSpeciesSourceMaterial
property_name = conc_generation
kind = Ag
[]
[conc_generation_exact]
type = ADParsedMaterial
property_name = conc_generation_exact
material_property_names = 'burnup fission_rate'
constant_names = 'a1 a2 b1 b2 e limit avo'
constant_expressions = '1.31625e-3 8.24492e-4 0.55734 0.53853 0.2 0.175 6.02214076e23'
expression = 'b:=if(burnup*100<1.0,1.0,burnup*100);
if(e<limit,a1*b^b1,a2*b^b2)/avo*fission_rate'
[]
[]
[Executioner]
type = Transient
num_steps = 10
[]
[Postprocessors]
[conc]
type = ADElementIntegralMaterialProperty
mat_prop = conc_generation
execute_on = 'initial timestep_end'
[]
[conc_exact]
type = ADElementIntegralMaterialProperty
mat_prop = conc_generation_exact
execute_on = 'initial timestep_end'
[]
[diff]
type = DifferencePostprocessor
value1 = 'conc'
value2 = 'conc_exact'
outputs = console
execute_on = 'initial timestep_end'
[]
[fraction]
type = FractionalRelease
released = conc
total = conc_exact
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
csv = true
[]
(assessment/TRISO/validation/AGR-34/Compacts/Cs/DTF/AGR-34_dtf_Cs.i)
[Variables]
[conc_Cs_dtf]
initial_condition = 0.0
[]
[]
[AuxVariables]
[Cs_dtf_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[mass_Cs_dtf_dt]
type = TimeDerivative
variable = conc_Cs_dtf
extra_vector_tags = 'ref'
[]
[mass_Cs_dtf]
type = ArrheniusDiffusion
variable = conc_Cs_dtf
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs_dtf
extra_vector_tags = 'ref'
[]
[mass_source_Cs_dtf]
type = SpeciesSourceRate
variable = conc_Cs_dtf
property_name = Cs_dtf_generation
block = 'fuel'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Cs_dtf_diff_coef]
type = MaterialRealAux
variable = Cs_dtf_diff_coef
property = arrhenius_diffusion_coef_Cs_dtf
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_conc_Cs_dtf]
type = DirichletBC
variable = conc_Cs_dtf
boundary = exterior
value = 0.0
[]
[]
[Materials]
### Kernel Properties
[fuel_conc_Cs_dtf]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4 # m^2/s
q2 = 362e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs_dtf
[]
[mass_source_Cs_dtf_property]
type = SpeciesSourceMaterial
property_name = Cs_dtf_generation
kind = Cs
block = fuel
[]
### PyC properties
[IPyC_conc_Cs_dtf]
type = ArrheniusDiffusionCoef
block = PyC
d1 = 1.0e-6 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs_dtf
[]
[]
[Postprocessors]
### Release
[release_Cs_dtf_inc]
type = SideIntegralMassFlux
variable = conc_Cs_dtf
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs_dtf
execute_on = 'initial timestep_end'
[]
[released_Cs_dtf]
type = TimeIntegratedPostprocessor # computes time integration of value
value = release_Cs_dtf_inc
execute_on = 'initial timestep_end'
[]
[total_Cs_dtf]
type = ElementIntegralMaterialProperty
mat_prop = Cs_dtf_generation_total
block = 'fuel'
execute_on = 'initial timestep_end'
[]
[x_Cs_dtf_released]
type = FractionalRelease
released = released_Cs_dtf
total = total_Cs_dtf
execute_on = 'initial timestep_end'
[]
[retained_Cs_dtf]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs_dtf
execute_on = 'initial timestep_end'
[]
[]
(assessment/TRISO/validation/AGR-1/AGR-1_Sr.i)
[Variables]
[conc_Sr]
initial_condition = 0.0
scaling = 1e14
[]
[]
[AuxVariables]
[Sr_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[mass_Sr_dt]
type = MassLumpedTimeDerivative # Sr has extremely low diffusivity in the kernel, and the use of MassLumpedTimeDerivative can mitigate solution oscillation.
variable = conc_Sr
[]
[mass_Sr]
type = ArrheniusDiffusion
variable = conc_Sr
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
extra_vector_tags = 'ref'
[]
[mass_source_Sr]
type = SpeciesSourceRate
variable = conc_Sr
property_name = Sr_generation
block = 'fuel OPyC'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Sr_diff_coef]
type = MaterialRealAux
variable = Sr_diff_coef
property = arrhenius_diffusion_coef_Sr
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_conc_Sr]
type = DirichletBC
variable = conc_Sr
boundary = exterior
value = 0.0
[]
[]
[Materials]
# Arrhenius diffusion coefficients for kernel, PyC, and SiC
# come from IAEA TECDOC-978, French parameters.
[fuel_conc_Sr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 2.2e-3 # m^2/s
q1 = 488e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[mass_source_Sr_property]
type = SpeciesSourceMaterial
property_name = Sr_generation
kind = Sr
block = fuel
[]
### Buffer Properties
[buffer_conc_Sr]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
### IPyC properties
[IPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
### SiC properties
[SiC_conc_Sr]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 1.2e-9 # m^2/s
q1 = 205e3 # J/mol
d2 = 1.8e6 # m^2/s
q2 = 791e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
### OPyC properties
[OPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[mass_source_Sr_property_OPyC]
type = SpeciesSourceMaterial
property_name = Sr_generation
kind = Sr
block = OPyC
#value = impurities * vol_kernel / vol_opyc
#value = 1.59e-6 * 4.07e-11 / 9.16e-11 # for UCO
#value = 1.57e-6 * 6.85e-11 / 1.18e-10 # for UO2
value = ${mass_source_property_OPyC}
[]
[]
[Postprocessors]
[release_Sr_inc]
type = SideIntegralMassFlux
variable = conc_Sr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
execute_on = 'initial timestep_end'
[]
[released_Sr]
type = TimeIntegratedPostprocessor
value = release_Sr_inc
execute_on = 'initial timestep_end'
[]
[total_Sr]
type = ElementIntegralMaterialProperty
mat_prop = Sr_generation_total
block = 'fuel OPyC'
execute_on = 'initial timestep_end'
[]
[x_Sr_released]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
[]
[x_Sr_released_safety]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
start_time = 55209600
safety_fraction_type = net
[]
[retained_Sr]
type = ElementIntegralVariablePostprocessor
variable = conc_Sr
execute_on = 'initial timestep_end'
[]
[]
(test/tests/species_source/Kr_exact.i)
#
# This test checks whether the species source for krypton is operating
# as intended. The amount of strontium produced in SpeciesSourceMaterial
# is checked against the amount computed through a ParsedMaterial.
#
# If correct, the 'diff' Postprocessor will have a value close to zero,
# and the 'fraction' Postprocessor will be one.
#
[GlobalParams]
initial_enrichment = 0.2
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
[]
[]
[Variables]
[conc]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1000
[]
[]
[Kernels]
[conc_dt]
type = TimeDerivative
variable = conc
[]
[conc_diffusion]
type = ArrheniusDiffusion
variable = conc
arrhenius_prpty_name = diff_coef
[]
[conc_source]
type = SpeciesSourceRate
variable = conc
property_name = conc_generation
[]
[]
[BCs]
[conc]
type = FunctionDirichletBC
variable = conc
boundary = 'left right'
function = '.1 * t + .1'
[]
[]
[Materials]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = 'if(t=0,0,t*t*1e17)'
[]
[diff_coef]
type = ArrheniusDiffusionCoef
temperature = temperature
d1 = 1e-6
q1 = 100e3
arrhenius_prpty_name = diff_coef
[]
[conc_generation]
type = SpeciesSourceMaterial
property_name = conc_generation
kind = Kr
[]
[conc_generation_exact]
type = ParsedMaterial
property_name = conc_generation_exact
material_property_names = 'fission_rate'
constant_names = 'c avo'
constant_expressions = '0.297 6.02214076e23'
expression = 'c/avo*fission_rate'
[]
[]
[Executioner]
type = Transient
num_steps = 10
[]
[Postprocessors]
[conc]
type = ElementIntegralMaterialProperty
mat_prop = conc_generation
execute_on = 'initial timestep_end'
[]
[conc_exact]
type = ElementIntegralMaterialProperty
mat_prop = conc_generation_exact
execute_on = 'initial timestep_end'
[]
[diff]
type = DifferencePostprocessor
value1 = 'conc'
value2 = 'conc_exact'
outputs = console
execute_on = 'initial timestep_end'
[]
[fraction]
type = FractionalRelease
released = conc
total = conc_exact
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
csv = true
[]
(test/tests/species_source/Sr_exact.i)
#
# This test checks whether the species source for strontium is operating
# as intended. The amount of strontium produced in SpeciesSourceMaterial
# is checked against the amount computed through a ParsedMaterial.
#
# If correct, the 'diff' Postprocessor will have a value close to zero,
# and the 'fraction' Postprocessor will be one.
#
[GlobalParams]
initial_enrichment = 0.2
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
[]
[]
[Variables]
[conc]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1000
[]
[]
[Kernels]
[conc_dt]
type = TimeDerivative
variable = conc
[]
[conc_diffusion]
type = ArrheniusDiffusion
variable = conc
arrhenius_prpty_name = diff_coef
[]
[conc_source]
type = SpeciesSourceRate
variable = conc
property_name = conc_generation
[]
[]
[BCs]
[conc]
type = FunctionDirichletBC
variable = conc
boundary = 'left right'
function = '.1 * t + .1'
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
prop_names = burnup
prop_values = '0.01*t'
[]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = 'if(t=0,0,1e19)'
[]
[diff_coef]
type = ArrheniusDiffusionCoef
temperature = temperature
d1 = 1e-6
q1 = 100e3
arrhenius_prpty_name = diff_coef
[]
[conc_generation]
type = SpeciesSourceMaterial
property_name = conc_generation
kind = Sr
[]
[conc_generation_exact]
type = ParsedMaterial
property_name = conc_generation_exact
material_property_names = 'burnup fission_rate'
constant_names = 'a1 a2 b1 b2 e limit avo'
constant_expressions = '0.11754 0.11819 -0.21762 -0.15778 0.2 0.175 6.02214076e23'
expression = 'b:=if(burnup*100<1.0,1.0,burnup*100);
if(e<limit,a1*b^b1,a2*b^b2)/avo*fission_rate'
[]
[]
[Executioner]
type = Transient
num_steps = 10
[]
[Postprocessors]
[conc]
type = ElementIntegralMaterialProperty
mat_prop = conc_generation
execute_on = 'initial timestep_end'
[]
[conc_exact]
type = ElementIntegralMaterialProperty
mat_prop = conc_generation_exact
execute_on = 'initial timestep_end'
[]
[diff]
type = DifferencePostprocessor
value1 = 'conc'
value2 = 'conc_exact'
outputs = console
execute_on = 'initial timestep_end'
[]
[fraction]
type = FractionalRelease
released = conc
total = conc_exact
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
csv = true
[]
(assessment/TRISO/validation/AGR-1/AGR-1_Cs.i)
[Variables]
[conc_Cs]
initial_condition = 0.0
scaling = 1e14
[]
[]
[AuxVariables]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = 'fuel OPyC'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[]
[Materials]
# Arrhenius diffusion coefficients for kernel, PyC, and SiC
# come from IAEA TECDOC-978, French parameters.
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4 # m^2/s
q2 = 362e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
property_name = Cs_generation
kind = Cs
block = fuel
[]
### Buffer Properties
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
### IPyC properties
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
### SiC properties
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
# IAEA TECDOC-978, p. 442
d1 = 5.5e-14 # m^2/s
# The 1.1 is a factor applied in PARFUME
d1_function = 'exp(1.1*t/5e25)'
d1_function_variable = fast_neutron_fluence
q1 = 125e3 # J/mol
d2 = 1.60e-2 # m^2/s
q2 = 514e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
### OPyC properties
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property_OPyC]
type = SpeciesSourceMaterial
property_name = Cs_generation
kind = Cs
block = OPyC
#value = impurities * vol_kernel / vol_opyc
#value = 1.59e-6 * 4.07e-11 / 9.16e-11 # for UCO
#value = 1.57e-6 * 6.85e-11 / 1.18e-10 # for UO2
value = ${mass_source_property_OPyC}
[]
[]
[Postprocessors]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = 'fuel OPyC'
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
[]
[x_Cs_released_safety]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
start_time = 55209600
safety_fraction_type = net
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
execute_on = 'initial timestep_end'
[]
[]
(assessment/TRISO/validation/AGR-34/Compacts/Sr/Driver/AGR-34_driver_Sr.i)
[Variables]
[conc_Sr]
initial_condition = 0.0
[]
[]
[AuxVariables]
[Sr_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[mass_Sr_dt]
type = TimeDerivative
variable = conc_Sr
extra_vector_tags = 'ref'
[]
[mass_Sr]
type = ArrheniusDiffusion
variable = conc_Sr
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
extra_vector_tags = 'ref'
[]
[mass_source_Sr]
type = SpeciesSourceRate
variable = conc_Sr
property_name = Sr_generation
block = 'fuel'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Sr_diff_coef]
type = MaterialRealAux
variable = Sr_diff_coef
property = arrhenius_diffusion_coef_Sr
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_conc_Sr]
type = DirichletBC
variable = conc_Sr
boundary = exterior
value = 0.0
[]
[]
[Materials]
# Arrhenius diffusion coefficients for kernel, PyC, and SiC
# come from IAEA TECDOC-978, French parameters.
[fuel_conc_Sr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 2.2e-3 # m^2/s
q1 = 488e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[mass_source_Sr_property]
type = SpeciesSourceMaterial
property_name = Sr_generation
kind = Sr
block = fuel
[]
### Buffer Properties
[buffer_conc_Sr]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
### IPyC properties
[IPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
### SiC properties
[SiC_conc_Sr]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 1.2e-9 # m^2/s
q1 = 205e3 # J/mol
d2 = 1.8e6 # m^2/s
q2 = 791e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
### OPyC properties
[OPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[]
[Postprocessors]
### Release
[release_Sr_driver_inc]
type = SideIntegralMassFlux
variable = conc_Sr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
execute_on = 'initial timestep_end'
[]
[released_Sr_driver]
type = TimeIntegratedPostprocessor # computes time integration of value
value = release_Sr_driver_inc
execute_on = 'initial timestep_end'
[]
[total_Sr_driver]
type = ElementIntegralMaterialProperty
mat_prop = Sr_generation_total
block = 'fuel'
execute_on = 'initial timestep_end'
[]
[x_Sr_driver_released]
type = FractionalRelease
released = released_Sr_driver
total = total_Sr_driver
execute_on = 'initial timestep_end'
[]
[retained_Sr_driver]
type = ElementIntegralVariablePostprocessor
variable = conc_Sr
execute_on = 'initial timestep_end'
[]
[]
(assessment/TRISO/validation/AGR-34/SharedFiles/capsule_driver.i)
kernel_radius = 178.65e-6
buffer_thickness = 109.7e-6
IPyC_thickness = 40.4e-6
SiC_thickness = 33.5e-6
OPyC_thickness = 41.3e-6
buffer_density = 1100
ipyc_density = 1904
opyc_density = 1901
sic_density = 3203
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 = SECOND
family = LAGRANGE
initial_enrichment = 0.19717 # [wt-]
energy_per_fission = 3.204e-11 # [J/fission]
O_U = 1.430 # Initial Oxygen to Uranium atom ratio
C_U = 0.361 # Initial Carbon to Uranium atom ratio
[]
[Mesh]
coord_type = RSPHERICAL
[mesh]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 ${coordinates1} ${coordinates2} ${coordinates3} ${coordinates4} ${coordinates5}'
mesh_density = '18 14 12 16 16'
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
[]
[]
[Variables]
[temperature]
initial_condition = 1200
[]
[conc_Ag]
initial_condition = 0.0
scaling = 1e12 #1e18
[]
[conc_Cs]
initial_condition = 0.0
scaling = 1e12 #1e18
[]
[conc_Sr]
initial_condition = 0.0
scaling = 1e12 #1e18
[]
[]
[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
[]
[fis_gas_produced]
order = CONSTANT
family = MONOMIAL
[]
[fis_gas_released]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Sr_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temp_bc]
type = PiecewiseLinear
x_index_in_file = 0
y_index_in_file = 1
xy_in_file_only = false
format = columns
data_file='AGR-34_capsule_daily_data/Cap1Temps.csv'
[]
[power_history]
type = PiecewiseLinear
x = '0 76e6'
y = '1 1'
[]
[fission_rate]
type = LinearCombinationFunction
functions = power_history
w = 4.8156e+19
[]
[]
[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
extra_vector_tags = 'ref'
[]
[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'
[]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
extra_vector_tags = 'ref'
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
extra_vector_tags = 'ref'
[]
[mass_Sr_dt]
type = TimeDerivative
variable = conc_Sr
extra_vector_tags = 'ref'
[]
[mass_Sr]
type = ArrheniusDiffusion
variable = conc_Sr
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
extra_vector_tags = 'ref'
[]
[mass_source_Sr]
type = SpeciesSourceRate
variable = conc_Sr
property_name = Sr_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
[]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Sr_diff_coef]
type = MaterialRealAux
variable = Sr_diff_coef
property = arrhenius_diffusion_coef_Sr
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_temp]
type = FunctionDirichletBC
variable = temperature
function = temp_bc
boundary = exterior
extra_vector_tags = 'ref'
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Sr]
type = DirichletBC
variable = conc_Sr
boundary = exterior
value = 0.0
[]
[]
[Materials]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = fission_rate
[]
[fast_neutron_flux]
type = FastNeutronFlux
calculate_fluence = true
flux_function = power_history
factor = 0.5519e+18
[]
[UCO_burnup]
type = TRISOBurnup
initial_density = ${initial_fuel_density}
[]
[UCO_thermal]
type = UCOThermal
block = fuel
temperature = temperature
[]
[UCO_density]
type = StrainAdjustedDensity
block = fuel
strain_free_density = 11098.0
[]
[fission_gas_release]
type = UCOFGR
block = fuel
average_grain_radius = 10e-6
temperature = temperature
triso_geometry = particle_geometry
[]
# 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
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[fuel_conc_Sr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 2.2e-3 # m^2/s
q1 = 488e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[mass_source_Ag_property]
type = SpeciesSourceMaterial
property_name = Ag_generation
kind = Ag
block = fuel
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
property_name = Cs_generation
kind = Cs
block = fuel
[]
[mass_source_Sr_property]
type = SpeciesSourceMaterial
property_name = Sr_generation
kind = Sr
block = fuel
[]
### Buffer Properties
[buffer_thermal]
type = BufferThermal
block = buffer
initial_density = ${buffer_density}
[]
[Buffer_density]
type = StrainAdjustedDensity
block = buffer
strain_free_density = ${buffer_density}
[]
[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
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[buffer_conc_Sr]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0.0
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
### IPyC properties
[IPyC_thermal]
type = HeatConductionMaterial
block = IPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[IPyC_density]
type = StrainAdjustedDensity
block = IPyC
strain_free_density = ${ipyc_density}
[]
[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
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
### SiC properties
[SiC_thermal]
type = MonolithicSiCThermal
block = SiC
temperature = temperature
thermal_conductivity_model = miller
[]
[SiC_density]
type = StrainAdjustedDensity
block = SiC
strain_free_density = ${sic_density}
[]
[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
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
q1 = 125e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Sr]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 1.2e-9 # m^2/s
q1 = 205e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
### OPyC properties
[OPyC_thermal_conductivity]
type = HeatConductionMaterial
block = OPyC
thermal_conductivity = 4.0
specific_heat = 720.0
[]
[OPyC_density]
type = StrainAdjustedDensity
block = OPyC
strain_free_density = ${opyc_density}
[]
[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
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[OPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[]
[Dampers]
[temp]
type = MaxIncrement
variable = temperature
max_increment = 50
[]
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'temperature conc_Ag conc_Cs conc_Sr'
[]
[Executioner]
type = Transient
solve_type = 'NEWTON'
petsc_options_iname = '-pc_type'
petsc_options_value = 'lu'
line_search = 'none'
nl_rel_tol = 1e-8
nl_abs_tol = 1e-8
nl_max_its = 20
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
dt = 86400
end_time = 31890240
[]
[Postprocessors]
[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
[]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
[]
[release_Sr_inc]
type = SideIntegralMassFlux
variable = conc_Sr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
execute_on = 'initial timestep_end'
[]
[released_Sr]
type = TimeIntegratedPostprocessor
value = release_Sr_inc
execute_on = 'initial timestep_end'
[]
[total_Sr]
type = ElementIntegralMaterialProperty
mat_prop = Sr_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Sr_released]
type = FractionalRelease
released = released_Sr
total = total_Sr
[]
[retained_Sr]
type = ElementIntegralVariablePostprocessor
variable = conc_Sr
[]
[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 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'
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
print_linear_converged_reason = false
print_nonlinear_converged_reason = false
exodus = false
csv = true
[]
(assessment/TRISO/validation/AGR-1/AGR-1_Ag.i)
[Variables]
[conc_Ag]
initial_condition = 0.0
scaling = 1e14
[]
[]
[AuxVariables]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[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 OPyC'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[]
[Materials]
# 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
[]
[mass_source_Ag_property_OPyC]
type = SpeciesSourceMaterial
property_name = Ag_generation
kind = Ag
block = OPyC
#value = impurities * vol_kernel / vol_opyc
#value = 1.59e-6 * 4.07e-11 / 9.16e-11 # for UCO
#value = 1.57e-6 * 6.85e-11 / 1.18e-10 # for UO2
value = ${mass_source_property_OPyC}
[]
[]
[Postprocessors]
[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
value = release_Ag_inc
execute_on = 'initial timestep_end'
[]
[total_Ag]
type = ElementIntegralMaterialProperty
mat_prop = Ag_generation_total
block = 'fuel OPyC'
execute_on = 'initial timestep_end'
[]
[x_Ag_released]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
[]
[x_Ag_released_safety]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
start_time = 55209600
safety_fraction_type = net
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[]
(assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_11/case_11.i)
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.089
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 250e-6 345e-6 385e-6 420e-6 460e-6'
mesh_density = '50 30 15 15 15'
block_names = 'fuel buffer IPyC SiC OPyC'
bias = '1 1.25 1.25 1.25 1.25'
dual_bias = '0.8 0.8 0.8 0.8 1'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc_Cs]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1273.15
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temperature]
type = PiecewiseLinear
data_file = temperature_history.dat
format = columns
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
extra_vector_tags = 'ref'
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[temperature]
type = FunctionAux
function = temperature
variable = temperature
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
block = fuel
prop_names = 'burnup'
prop_values = 'if(t<86400000,0.09/86400000*t,0.09)'
[]
[fission_rate]
type = GenericFunctionMaterial
block = fuel
prop_names = 'fission_rate'
# 2.42e19 = 0.09/86400000*10400/.27*6.0221409e23
prop_values = 'if(t<86400000,2.42e19,0)'
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4
q2 = 362e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Cs_generation
kind = Cs
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
d1_function = 'if(t<86400000,exp(5.0e25/86400000*t/5e25),exp(5.0e25/5e25))'
q1 = 125e3 # J/mol
d2 = 1.6e-2
q2 = 514e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'conc_Cs'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-6
nl_abs_tol = 5e-19
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 89366400
num_steps = 5000
dt = 86400
dtmax = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<86400000,86400,1800)'
[]
[]
[Postprocessors]
[_temp]
type = NodalExtremeValue
variable = temperature
[]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released_overall]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
start_time = 86400000
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
exodus = true
[console]
type = Console
time_step_interval = 1
[]
[out]
type = CSV
[]
[out_final]
type = CSV
execute_on = final
[]
[]
(test/tests/species_source/Ag_exact.i)
#
# This test checks whether the species source for silver is operating
# as intended. The amount of silver produced in SpeciesSourceMaterial
# is checked against the amount computed through a ParsedMaterial.
#
# If correct, the 'diff' Postprocessor will have a value close to zero,
# and the 'fraction' Postprocessor will be one.
#
[GlobalParams]
initial_enrichment = 0.2
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
[]
[]
[Variables]
[conc]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1000
[]
[]
[Kernels]
[conc_dt]
type = TimeDerivative
variable = conc
[]
[conc_diffusion]
type = ArrheniusDiffusion
variable = conc
arrhenius_prpty_name = diff_coef
[]
[conc_source]
type = SpeciesSourceRate
variable = conc
property_name = conc_generation
[]
[]
[BCs]
[conc]
type = FunctionDirichletBC
variable = conc
boundary = 'left right'
function = '.1 * t + .1'
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
prop_names = burnup
prop_values = '0.01*t'
[]
[fission_rate]
type = GenericFunctionMaterial
prop_names = fission_rate
prop_values = 'if(t=0,0,1e19)'
[]
[diff_coef]
type = ArrheniusDiffusionCoef
temperature = temperature
d1 = 1e-6
q1 = 100e3
arrhenius_prpty_name = diff_coef
[]
[conc_generation]
type = SpeciesSourceMaterial
property_name = conc_generation
kind = Ag
[]
[conc_generation_exact]
type = ParsedMaterial
property_name = conc_generation_exact
material_property_names = 'burnup fission_rate'
constant_names = 'a1 a2 b1 b2 e limit avo'
constant_expressions = '1.31625e-3 8.24492e-4 0.55734 0.53853 0.2 0.175 6.02214076e23'
expression = 'b:=if(burnup*100<1.0,1.0,burnup*100);
if(e<limit,a1*b^b1,a2*b^b2)/avo*fission_rate'
[]
[]
[Executioner]
type = Transient
num_steps = 10
[]
[Postprocessors]
[conc]
type = ElementIntegralMaterialProperty
mat_prop = conc_generation
execute_on = 'initial timestep_end'
[]
[conc_exact]
type = ElementIntegralMaterialProperty
mat_prop = conc_generation_exact
execute_on = 'initial timestep_end'
[]
[diff]
type = DifferencePostprocessor
value1 = 'conc'
value2 = 'conc_exact'
outputs = console
execute_on = 'initial timestep_end'
[]
[fraction]
type = FractionalRelease
released = conc
total = conc_exact
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
csv = true
[]
(assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_6a/case_6a.i)
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.0982
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 248.5e-6 342.5e-6 383.5e-6 419.5e-6 459.5e-6'
mesh_density = '50 30 15 15 15'
block_names = 'fuel buffer IPyC SiC OPyC'
bias = '1 1.25 1.25 1.25 1.25'
dual_bias = '0.8 0.8 0.8 0.8 1'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc_Cs]
[]
[conc_Ag]
[]
[conc_Sr]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1213.15
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Sr_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temperature]
type = PiecewiseLinear
data_file = temperature_history.dat
format = columns
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
[]
[mass_Ag_dt]
type = TimeDerivative
variable = conc_Ag
[]
[mass_Ag]
type = ArrheniusDiffusion
variable = conc_Ag
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Ag]
type = SpeciesSourceRate
variable = conc_Ag
property_name = Ag_generation
block = fuel
[]
[mass_Sr_dt]
type = TimeDerivative
variable = conc_Sr
[]
[mass_Sr]
type = ArrheniusDiffusion
variable = conc_Sr
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Sr]
type = SpeciesSourceRate
variable = conc_Sr
property_name = Sr_generation
block = fuel
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[Sr_diff_coef]
type = MaterialRealAux
variable = Sr_diff_coef
property = arrhenius_diffusion_coef_Sr
execute_on = timestep_end
[]
[temperature]
type = FunctionAux
function = temperature
variable = temperature
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[freesurf_conc_Sr]
type = DirichletBC
variable = conc_Sr
boundary = exterior
value = 0.0
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
block = fuel
prop_names = 'burnup'
prop_values = 'if(t<30326400,0.111/30326400*t,0.111)'
[]
[fission_rate]
type = GenericFunctionMaterial
block = fuel
prop_names = 'fission_rate'
# 8.825e19 = 0.111/30326400*10810/.27*6.0221409e23
prop_values = 'if(t<30326400,8.825e19,0)'
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4
q2 = 362e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Cs_generation
kind = Cs
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
d1_function = 'if(t<30326400,exp(5.5e25/30326400*t/5e25),exp(5.5e25/5e25))'
q1 = 125e3 # J/mol
d2 = 1.6e-2
q2 = 514e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[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
block = fuel
property_name = Ag_generation
kind = Ag
[]
[buffer_conc_Ag]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[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_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_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
[]
[fuel_conc_Sr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 2.2e-3 # m^2/s
q1 = 488e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[mass_source_Sr_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Sr_generation
kind = Sr
[]
[buffer_conc_Sr]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[IPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[SiC_conc_Sr]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 1.2e-9 # m^2/s
q1 = 205e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[OPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'conc_Cs conc_Ag conc_Sr'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
automatic_scaling = true
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 5e-5
nl_abs_tol = 1e-13
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 31525200
num_steps = 1450
dt = 86400
dtmax = 86400
#dtmin = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<30326400,86400,
if(t<30430800,1800,
3600))'
[]
[]
[Postprocessors]
[_temp]
type = NodalExtremeValue
variable = temperature
[]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released_overall]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
start_time = 30326400
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
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
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_overall]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
[]
[x_Ag_released]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
start_time = 30326400
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[release_Sr_inc]
type = SideIntegralMassFlux
variable = conc_Sr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
execute_on = 'initial timestep_end'
[]
[released_Sr]
type = TimeIntegratedPostprocessor
value = release_Sr_inc
execute_on = 'initial timestep_end'
[]
[total_Sr]
type = ElementIntegralMaterialProperty
mat_prop = Sr_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Sr_released_overall]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
[]
[x_Sr_released]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
start_time = 30326400
[]
[retained_Sr]
type = ElementIntegralVariablePostprocessor
variable = conc_Sr
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
exodus = true
[console]
type = Console
time_step_interval = 1
[]
[out]
type = CSV
[]
[out_final]
type = CSV
execute_on = final
[]
[]
(assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_7b/case_7b.i)
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.0407
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 272e-6 396e-6 402e-6 436e-6 475e-6'
mesh_density = '50 30 15 15 15'
block_names = 'fuel buffer IPyC SiC OPyC'
bias = '1 1.25 1.25 1.25 1.25'
dual_bias = '0.8 0.8 0.8 0.8 1'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc_Cs]
[]
[conc_Ag]
[]
[conc_Sr]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1304.15
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Sr_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temperature]
type = PiecewiseLinear
data_file = temperature_history.dat
format = columns
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
[]
[mass_Ag_dt]
type = TimeDerivative
variable = conc_Ag
[]
[mass_Ag]
type = ArrheniusDiffusion
variable = conc_Ag
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Ag]
type = SpeciesSourceRate
variable = conc_Ag
property_name = Ag_generation
block = fuel
[]
[mass_Sr_dt]
type = TimeDerivative
variable = conc_Sr
[]
[mass_Sr]
type = ArrheniusDiffusion
variable = conc_Sr
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Sr]
type = SpeciesSourceRate
variable = conc_Sr
property_name = Sr_generation
block = fuel
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[Sr_diff_coef]
type = MaterialRealAux
variable = Sr_diff_coef
property = arrhenius_diffusion_coef_Sr
execute_on = timestep_end
[]
[temperature]
type = FunctionAux
function = temperature
variable = temperature
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[freesurf_conc_Sr]
type = DirichletBC
variable = conc_Sr
boundary = exterior
value = 0.0
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
block = fuel
prop_names = 'burnup'
prop_values = 'if(t<7682400,0.048/7682400*t,0.048)'
[]
[fission_rate]
type = GenericFunctionMaterial
block = fuel
prop_names = 'fission_rate'
# 1.699e20 = 0.048/7682400*10840/.27*6.0221409e23
prop_values = 'if(t<7682400,1.699e20,0)'
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4
q2 = 362e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Cs_generation
kind = Cs
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
d1_function = 'if(t<7682400,exp(2.1e25/7682400*t/5e25),exp(2.1e25/5e25))'
q1 = 125e3 # J/mol
d2 = 1.6e-2
q2 = 514e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[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
block = fuel
property_name = Ag_generation
kind = Ag
[]
[buffer_conc_Ag]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[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_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_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
[]
[fuel_conc_Sr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 2.2e-3 # m^2/s
q1 = 488e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[mass_source_Sr_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Sr_generation
kind = Sr
[]
[buffer_conc_Sr]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[IPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[SiC_conc_Sr]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 1.2e-9 # m^2/s
q1 = 205e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[OPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'conc_Cs conc_Ag'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-6
nl_abs_tol = 5e-21 #1e-22
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 8506800
num_steps = 1450
dt = 86400
dtmax = 86400
#dtmin = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<7682400,86400,
if(t<7707600,720,
3600))'
[]
[]
[Postprocessors]
[_temp]
type = NodalExtremeValue
variable = temperature
[]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released_overall]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
start_time = 7682400
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
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
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_overall]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
[]
[x_Ag_released]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
start_time = 7682400
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[release_Sr_inc]
type = SideIntegralMassFlux
variable = conc_Sr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
execute_on = 'initial timestep_end'
[]
[released_Sr]
type = TimeIntegratedPostprocessor
value = release_Sr_inc
execute_on = 'initial timestep_end'
[]
[total_Sr]
type = ElementIntegralMaterialProperty
mat_prop = Sr_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Sr_released_overall]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
[]
[x_Sr_released]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
start_time = 7682400
[]
[retained_Sr]
type = ElementIntegralVariablePostprocessor
variable = conc_Sr
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
exodus = true
[console]
type = Console
time_step_interval = 1
[]
[out]
type = CSV
[]
[out_final]
type = CSV
execute_on = final
[]
[]
(assessment/TRISO/validation/AGR-2/AGR-2_Ag.i)
[Variables]
[conc_Ag]
initial_condition = 0.0
[]
[]
[AuxVariables]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Kernels]
[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 OPyC'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[]
[BCs]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[]
[Materials]
# 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
[]
[mass_source_Ag_property_OPyC]
type = SpeciesSourceMaterial
property_name = Ag_generation
kind = Ag
block = OPyC
#value = impurities * vol_kernel / vol_opyc
#value = 1.59e-6 * 4.07e-11 / 9.16e-11 # for UCO
#value = 1.57e-6 * 6.85e-11 / 1.18e-10 # for UO2
value = ${mass_source_property_OPyC}
[]
[]
[Postprocessors]
[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
value = release_Ag_inc
execute_on = 'initial timestep_end'
[]
[total_Ag]
type = ElementIntegralMaterialProperty
mat_prop = Ag_generation_total
block = 'fuel OPyC'
execute_on = 'initial timestep_end'
[]
[x_Ag_released]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
[]
[x_Ag_released_safety]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
start_time = 50284800
safety_fraction_type = net
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[]
(assessment/TRISO/validation/AGR-2/AGR-2_Ag_Microstructure_Irradiation.i)
[Variables]
[conc_Ag]
initial_condition = 0.0
[]
[]
[AuxVariables]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[flux]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[flux]
type = PiecewiseLinear
#data_file = DATA_FILE
x_index_in_file = 0
y_index_in_file = 5
xy_in_file_only = false
format = columns
[]
[]
[Kernels]
[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 OPyC'
extra_vector_tags = 'ref'
[]
[]
[AuxKernels]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[flux]
type = FunctionAux
variable = flux
function = flux
block = 'fuel buffer IPyC SiC OPyC'
execute_on = timestep_begin
[]
[]
[BCs]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[]
[Materials]
# 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 = ArrheniusDiffusionCoefMicrostructureIrradiation
block = SiC
scalar = 10
d1 = 6.88e-10 # m^2/s
d1_coef = -5.10e-4 # m/s
q1 = 211e3 # J/mol
q1_coef = 3.82e9 # J/mol/m
grain_minor_axis_length = 0.4e-6 # m
d1_irr_0 = 2.80e-13 # (n/m^2/s)^-1
d1_irr_1 = 0.458 # (-)
d1_irr_2 = 8.30e6 # m^-1
d1_irr_3 = 9.41e3 # K^-1
temperature = temperature # K
flux = flux # n/m^2/s
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
[]
[mass_source_Ag_property_OPyC]
type = SpeciesSourceMaterial
property_name = Ag_generation
kind = Ag
block = OPyC
#value = impurities * vol_kernel / vol_opyc
#value = 1.59e-6 * 4.07e-11 / 9.16e-11 # for UCO
#value = 1.57e-6 * 6.85e-11 / 1.18e-10 # for UO2
value = ${mass_source_property_OPyC}
[]
[]
[Postprocessors]
[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
value = release_Ag_inc
execute_on = 'initial timestep_end'
[]
[total_Ag]
type = ElementIntegralMaterialProperty
mat_prop = Ag_generation_total
block = 'fuel OPyC'
execute_on = 'initial timestep_end'
[]
[x_Ag_released]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
[]
[x_Ag_released_safety]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
start_time = 55209600
safety_fraction_type = net
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[]
(test/tests/species_source/ad_Kr_exact.i)
#
# This test checks whether the species source for krypton is operating
# as intended in AD. The amount of strontium produced in SpeciesSourceMaterial
# is checked against the amount computed through a ParsedMaterial.
#
# If correct, the 'diff' Postprocessor will have a value close to zero,
# and the 'fraction' Postprocessor will be one.
#
[GlobalParams]
initial_enrichment = 0.2
[]
[Mesh]
[gen]
type = GeneratedMeshGenerator
dim = 1
[]
[]
[Variables]
[conc]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1000
[]
[]
[Kernels]
[conc_dt]
type = ADTimeDerivative
variable = conc
[]
[conc_diffusion]
type = ADArrheniusDiffusion
variable = conc
arrhenius_prpty_name = diff_coef
[]
[conc_source]
type = ADSpeciesSourceRate
variable = conc
property_name = conc_generation
[]
[]
[BCs]
[conc]
type = ADFunctionDirichletBC
variable = conc
boundary = 'left right'
function = '.1 * t + .1'
[]
[]
[Materials]
[fission_rate]
type = ADGenericFunctionMaterial
prop_names = fission_rate
prop_values = 'if(t=0,0,t*t*1e17)'
[]
[diff_coef]
type = ADArrheniusDiffusionCoef
temperature = temperature
d1 = 1e-6
q1 = 100e3
arrhenius_prpty_name = diff_coef
[]
[conc_generation]
type = ADSpeciesSourceMaterial
property_name = conc_generation
kind = Kr
[]
[conc_generation_exact]
type = ADParsedMaterial
property_name = conc_generation_exact
material_property_names = 'fission_rate'
constant_names = 'c avo'
constant_expressions = '0.297 6.02214076e23'
expression = 'c/avo*fission_rate'
[]
[]
[Executioner]
type = Transient
num_steps = 10
[]
[Postprocessors]
[conc]
type = ADElementIntegralMaterialProperty
mat_prop = conc_generation
execute_on = 'initial timestep_end'
[]
[conc_exact]
type = ADElementIntegralMaterialProperty
mat_prop = conc_generation_exact
execute_on = 'initial timestep_end'
[]
[diff]
type = DifferencePostprocessor
value1 = 'conc'
value2 = 'conc_exact'
outputs = console
execute_on = 'initial timestep_end'
[]
[fraction]
type = FractionalRelease
released = conc
total = conc_exact
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
csv = true
[]
(assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_9/case_9.i)
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.106
constant_expressions = 57294000.0
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 254e-6 356e-6 395e-6 431e-6 469e-6'
mesh_density = '50 30 15 15 15'
block_names = 'fuel buffer IPyC SiC OPyC'
bias = '1 1.25 1.25 1.25 1.25'
dual_bias = '0.8 0.8 0.8 0.8 1'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc_Cs]
[]
[conc_Ag]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1391.15
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temperature]
type = PiecewiseLinear
data_file = temperature_history.dat
format = columns
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
[]
[mass_Ag_dt]
type = TimeDerivative
variable = conc_Ag
[]
[mass_Ag]
type = ArrheniusDiffusion
variable = conc_Ag
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Ag]
type = SpeciesSourceRate
variable = conc_Ag
property_name = Ag_generation
block = fuel
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[temperature]
type = FunctionAux
function = temperature
variable = temperature
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
block = fuel
prop_names = 'burnup'
prop_values = 'if(t<54777600,0.109/54777600*t,0.109)'
[]
[fission_rate]
type = GenericFunctionMaterial
block = fuel
prop_names = 'fission_rate'
# 4.76e19 = 0.109/54777600*10720/.27*6.0221409e23
prop_values = 'if(t<54777600,4.76e19,0)'
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4
q2 = 362e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Cs_generation
kind = Cs
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Cs_intact]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
d1_function = 'if(t<31017600,exp(4.8e25/54777600*t/5e25),exp(4.8e25/5e25))'
q1 = 125e3 # J/mol
d2 = 1.6e-2
q2 = 514e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs_intact
[]
[time]
type = TimeStepMaterial
[]
[SiC_conc_Cs]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Cs
coupled_variables = 'temperature'
material_property_names = 'time arrhenius_diffusion_coef_Cs_intact'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Cs_intact, 1e-6)'
[]
[SiC_conc_Cs_dT]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Cs_dT
coupled_variables = 'temperature'
material_property_names = 'time arrhenius_diffusion_coef_Cs_intact_dT'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Cs_intact_dT, 0)'
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[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
block = fuel
property_name = Ag_generation
kind = Ag
[]
[buffer_conc_Ag]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[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_conc_Ag_intact]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 3.6e-9 # m^2/s
q1 = 215e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag_intact
[]
[SiC_conc_Ag]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Ag
material_property_names = 'time arrhenius_diffusion_coef_Ag_intact'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Ag_intact, 1e-6)'
[]
[SiC_conc_Ag_dT]
type = ParsedMaterial
block = SiC
property_name = arrhenius_diffusion_coef_Ag_dT
material_property_names = 'time arrhenius_diffusion_coef_Ag_intact_dT'
constant_names = 'failure_time'
expression = 'if(time<=failure_time, arrhenius_diffusion_coef_Ag_intact_dT, 0)'
[]
[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
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'conc_Cs conc_Ag'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-6
nl_abs_tol = 1e-20
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 57294000
num_steps = 2600
dt = 86400
dtmax = 86400
#dtmin = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<54777600,86400,
if(t<56214000,900,
3600))'
[]
[]
[Postprocessors]
[_temp]
type = NodalExtremeValue
variable = temperature
[]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released_overall]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
start_time = 54777600
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
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
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_overall]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
[]
[x_Ag_released]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
start_time = 54777600
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
exodus = true
[console]
type = Console
time_step_interval = 1
[]
[out]
type = CSV
[]
[out_final]
type = CSV
execute_on = final
[]
[]
(assessment/TRISO/benchmark/IAEA_CRP-6/diffusion/case_7a/case_7a.i)
[GlobalParams]
order = SECOND
family = LAGRANGE
initial_enrichment = 0.0407
[]
[Mesh]
coord_type = RSPHERICAL
[gen]
type = TRISO1DMeshGenerator
elem_type = EDGE3
coordinates = '0 272e-6 396e-6 402e-6 436e-6 475e-6'
mesh_density = '50 30 15 15 15'
block_names = 'fuel buffer IPyC SiC OPyC'
bias = '1 1.25 1.25 1.25 1.25'
dual_bias = '0.8 0.8 0.8 0.8 1'
[]
[]
[Problem]
type = ReferenceResidualProblem
reference_vector = 'ref'
extra_tag_vectors = 'ref'
[]
[Variables]
[conc_Cs]
[]
[conc_Ag]
[]
[conc_Sr]
[]
[]
[AuxVariables]
[temperature]
initial_condition = 1304.15
[]
[Cs_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Ag_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[Sr_diff_coef]
order = CONSTANT
family = MONOMIAL
[]
[]
[Functions]
[temperature]
type = PiecewiseLinear
data_file = temperature_history.dat
format = columns
[]
[]
[Kernels]
[mass_Cs_dt]
type = TimeDerivative
variable = conc_Cs
[]
[mass_Cs]
type = ArrheniusDiffusion
variable = conc_Cs
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Cs]
type = SpeciesSourceRate
variable = conc_Cs
property_name = Cs_generation
block = fuel
[]
[mass_Ag_dt]
type = TimeDerivative
variable = conc_Ag
[]
[mass_Ag]
type = ArrheniusDiffusion
variable = conc_Ag
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Ag]
type = SpeciesSourceRate
variable = conc_Ag
property_name = Ag_generation
block = fuel
[]
[mass_Sr_dt]
type = TimeDerivative
variable = conc_Sr
[]
[mass_Sr]
type = ArrheniusDiffusion
variable = conc_Sr
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
temperature = temperature
extra_vector_tags = 'ref'
[]
[mass_source_Sr]
type = SpeciesSourceRate
variable = conc_Sr
property_name = Sr_generation
block = fuel
[]
[]
[AuxKernels]
[Cs_diff_coef]
type = MaterialRealAux
variable = Cs_diff_coef
property = arrhenius_diffusion_coef_Cs
execute_on = timestep_end
[]
[Ag_diff_coef]
type = MaterialRealAux
variable = Ag_diff_coef
property = arrhenius_diffusion_coef_Ag
execute_on = timestep_end
[]
[Sr_diff_coef]
type = MaterialRealAux
variable = Sr_diff_coef
property = arrhenius_diffusion_coef_Sr
execute_on = timestep_end
[]
[temperature]
type = FunctionAux
function = temperature
variable = temperature
[]
[]
[BCs]
[freesurf_conc_Cs]
type = DirichletBC
variable = conc_Cs
boundary = exterior
value = 0.0
[]
[freesurf_conc_Ag]
type = DirichletBC
variable = conc_Ag
boundary = exterior
value = 0.0
[]
[freesurf_conc_Sr]
type = DirichletBC
variable = conc_Sr
boundary = exterior
value = 0.0
[]
[]
[Materials]
[burnup]
type = GenericFunctionMaterial
block = fuel
prop_names = 'burnup'
prop_values = 'if(t<7682400,0.048/7682400*t,0.048)'
[]
[fission_rate]
type = GenericFunctionMaterial
block = fuel
prop_names = 'fission_rate'
# 1.699e20 = 0.048/7682400*10840/.27*6.0221409e23
prop_values = 'if(t<7682400,1.699e20,0)'
[]
[fuel_conc_Cs]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 5.6e-8 # m^2/s
q1 = 209e3 # J/mol
d2 = 5.2e-4
q2 = 362e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[mass_source_Cs_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Cs_generation
kind = Cs
[]
[buffer_conc_Cs]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[IPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[SiC_conc_Cs]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 5.5e-14 # m^2/s
d1_function = 'if(t<7682400,exp(2.1e25/7682400*t/5e25),exp(2.1e25/5e25))'
q1 = 125e3 # J/mol
d2 = 1.6e-2
q2 = 514e3
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[OPyC_conc_Cs]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 6.3e-8 # m^2/s
q1 = 222e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
[]
[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
block = fuel
property_name = Ag_generation
kind = Ag
[]
[buffer_conc_Ag]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Ag
[]
[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_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_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
[]
[fuel_conc_Sr]
type = ArrheniusDiffusionCoef
block = fuel
d1 = 2.2e-3 # m^2/s
q1 = 488e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[mass_source_Sr_property]
type = SpeciesSourceMaterial
block = fuel
property_name = Sr_generation
kind = Sr
[]
[buffer_conc_Sr]
type = ArrheniusDiffusionCoef
block = buffer
d1 = 1e-8 # m^2/s
q1 = 0 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[IPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = IPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[SiC_conc_Sr]
type = ArrheniusDiffusionCoef
block = SiC
d1 = 1.2e-9 # m^2/s
q1 = 205e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[OPyC_conc_Sr]
type = ArrheniusDiffusionCoef
block = OPyC
d1 = 2.3e-6 # m^2/s
q1 = 197e3 # J/mol
temperature = temperature
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
[]
[]
[Debug]
show_var_residual_norms = true
show_var_residual = 'conc_Cs conc_Ag'
[]
[Preconditioning]
[smp]
type = SMP
full = true
[]
[]
[Executioner]
type = Transient
solve_type = NEWTON
petsc_options_iname = '-pc_type -pc_factor_mat_solver_package'
petsc_options_value = 'lu superlu_dist'
line_search = 'none'
nl_rel_tol = 1e-6
nl_abs_tol = 5e-21 #1e-22
nl_max_its = 50
l_tol = 1e-4
l_max_its = 50
start_time = 0.0
end_time = 8679600
num_steps = 1450
dt = 86400
dtmax = 86400
#dtmin = 86400
[TimeStepper]
type = FunctionDT
function = 'if(t<7682400,86400,
if(t<7707600,720,
3600))'
[]
[]
[Postprocessors]
[_temp]
type = NodalExtremeValue
variable = temperature
[]
[release_Cs_inc]
type = SideIntegralMassFlux
variable = conc_Cs
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Cs
execute_on = 'initial timestep_end'
[]
[released_Cs]
type = TimeIntegratedPostprocessor
value = release_Cs_inc
execute_on = 'initial timestep_end'
[]
[total_Cs]
type = ElementIntegralMaterialProperty
mat_prop = Cs_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Cs_released_overall]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
[]
[x_Cs_released]
type = FractionalRelease
released = released_Cs
total = total_Cs
execute_on = 'initial timestep_end'
start_time = 7682400
[]
[retained_Cs]
type = ElementIntegralVariablePostprocessor
variable = conc_Cs
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
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_overall]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
[]
[x_Ag_released]
type = FractionalRelease
released = released_Ag
total = total_Ag
execute_on = 'initial timestep_end'
start_time = 7682400
[]
[retained_Ag]
type = ElementIntegralVariablePostprocessor
variable = conc_Ag
execute_on = 'initial timestep_end'
[]
[release_Sr_inc]
type = SideIntegralMassFlux
variable = conc_Sr
boundary = exterior
arrhenius_prpty_name = arrhenius_diffusion_coef_Sr
execute_on = 'initial timestep_end'
[]
[released_Sr]
type = TimeIntegratedPostprocessor
value = release_Sr_inc
execute_on = 'initial timestep_end'
[]
[total_Sr]
type = ElementIntegralMaterialProperty
mat_prop = Sr_generation_total
block = fuel
execute_on = 'initial timestep_end'
[]
[x_Sr_released_overall]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
[]
[x_Sr_released]
type = FractionalRelease
released = released_Sr
total = total_Sr
execute_on = 'initial timestep_end'
start_time = 7682400
[]
[retained_Sr]
type = ElementIntegralVariablePostprocessor
variable = conc_Sr
execute_on = 'initial timestep_end'
[]
[]
[Outputs]
perf_graph = true
print_linear_residuals = false
exodus = true
[console]
type = Console
time_step_interval = 1
[]
[out]
type = CSV
[]
[out_final]
type = CSV
execute_on = final
[]
[]