CompositeSiCVolumetricSwellingEigenstrain

Computes volumetric swelling of SiC as a function of temperature and fluence.

Description

Swelling due to irradiation of composite silicon carbide is modeled in CompositeSiCVolumetricSwellingEigenstrain. The same model is also used for monolithic silicon carbide. Two correlations are available: KATOH and MIELOSZYK.

For the KATOH option, the differential equation for the swelling strain is given by Stone et al. (2015): where is the fast neutron fluence in dpa (displacements per atom), is a temperature dependent rate constant, and is a temperature dependent characteristic fast neutron fluence in dpa. A conversion factor of 1 dpa = 1n/m is used to convert the fast neutron fluence (Katoh et al., 2014). The temperature dependent rate constant is given by: where is the temperature in K. The temperature dependent characteristic fast neutron fluence is given by: where is the temperature in K.

warningwarning:Timestep Size Dependence

The KATOH swelling model cannot be analytically integrated and is particularly nonlinear at fluences less than 1.0 dpa. An incremental approach is used to calculate the swelling strain and internal sub cycling is applied at fluences less than 1.0 dpa to help mitigate the error due to time step size. The number of sub cycles is controlled by the _number_of_substeps parameter.

For the MIELOSZYK option, the increment of volumetric swelling strain is given by Mieloszyk (2015): where is the fluence at the current time, is the fluence at the previous time, and , which represents the fluence in DPA at which the swelling is saturated. Also, where is the temperature (K). and are algorithmic parameters. See Mieloszyk (2015) for details.

An incremental approach is used to solve for the total volumetric strain.

Example Input Syntax

[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [swelling]
    type = CompositeSiCVolumetricSwellingEigenstrain<<<{"description": "Computes volumetric swelling of SiC as a function of temperature and fluence.", "href": "CompositeSiCVolumetricSwellingEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 0
    temperature<<<{"description": "Coupled Temperature in Kelvin"}>>> = temp
    swelling_model<<<{"description": "Options for the correlation used to calculate thermal conductivity"}>>> = KATOH
    number_of_substeps<<<{"description": "The number of substeps to take when solving for the swelling increment in the Katoh formulation at low fluences."}>>> = 100
    fast_neutron_fluence<<<{"description": "fast neutron fluence"}>>> = fast_neutron_fluence
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = swelling_strain
  []
[]
(test/tests/solid_mechanics/compositeSiC_eigenstrains/volumetric_swelling/swelling_katoh.i)
[Materials<<<{"href": "../../../syntax/Materials/index.html"}>>>]
  [swelling]
    type = CompositeSiCVolumetricSwellingEigenstrain<<<{"description": "Computes volumetric swelling of SiC as a function of temperature and fluence.", "href": "CompositeSiCVolumetricSwellingEigenstrain.html"}>>>
    block<<<{"description": "The list of blocks (ids or names) that this object will be applied"}>>> = 0
    temperature<<<{"description": "Coupled Temperature in Kelvin"}>>> = temp
    swelling_model<<<{"description": "Options for the correlation used to calculate thermal conductivity"}>>> = MIELOSZYK
    fast_neutron_fluence<<<{"description": "fast neutron fluence"}>>> = fast_neutron_fluence
    eigenstrain_name<<<{"description": "Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator."}>>> = swelling_strain
  []
[]
(test/tests/solid_mechanics/compositeSiC_eigenstrains/volumetric_swelling/swelling_mieloszyk.i)

The eigenstrain name must also be passed to the strain calculator, and an example parameter setting in the Solid Mechanics QuasiStatic Action is shown below:

[Physics<<<{"href": "../../../syntax/Physics/index.html"}>>>]
  [SolidMechanics<<<{"href": "../../../syntax/Physics/SolidMechanics/index.html"}>>>]
    [QuasiStatic<<<{"href": "../../../syntax/Physics/SolidMechanics/QuasiStatic/index.html"}>>>]
      [square]
        block<<<{"description": "The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to"}>>> = 0
        add_variables<<<{"description": "Add the displacement variables"}>>> = false
        strain<<<{"description": "Strain formulation"}>>> = FINITE
        eigenstrain_names<<<{"description": "List of eigenstrains to be applied in this strain calculation"}>>> = 'swelling_strain'
      []
    []
  []
[]
(test/tests/solid_mechanics/compositeSiC_eigenstrains/volumetric_swelling/swelling_katoh.i)

Input Parameters

  • eigenstrain_nameMaterial property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator.

    C++ Type:std::string

    Controllable:No

    Description:Material property name for the eigenstrain tensor computed by this model. IMPORTANT: The name of this property must also be provided to the strain calculator.

  • fast_neutron_fluencefast neutron fluence

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:fast neutron fluence

  • temperatureCoupled Temperature in Kelvin

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:Coupled Temperature in Kelvin

Required Parameters

  • base_nameOptional parameter that allows the user to define multiple mechanics material systems on the same block, i.e. for multiple phases

    C++ Type:std::string

    Controllable:No

    Description:Optional parameter that allows the user to define multiple mechanics material systems on the same block, i.e. for multiple phases

  • 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

  • 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.

  • number_of_substeps100The number of substeps to take when solving for the swelling increment in the Katoh formulation at low fluences.

    Default:100

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The number of substeps to take when solving for the swelling increment in the Katoh formulation at low fluences.

  • swelling_modelMIELOSZYKOptions for the correlation used to calculate thermal conductivity

    Default:MIELOSZYK

    C++ Type:MooseEnum

    Options:KATOH, MIELOSZYK

    Controllable:No

    Description:Options for the correlation used to calculate thermal conductivity

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

References

  1. Y. Katoh, K. Ozawa, C. Shih, T. Nozawa, R. J. Shinavski, A. Hasegawa, and L. L. Snead. Continuous SiC fiber, CVI SiC matrix composites for nuclear applications: properties and irradiation effects. Journal of Nuclear Materials, 448:448–476, 2014.[BibTeX]
  2. Alexander Mieloszyk. Assessing thermo-mechanical performance of ThO2 and SiC clad light water reactor fuel rods with a modular simulation tool. PhD thesis, Massachusetts Institute of Technology, September 2015. http://hdl.handle.net/1721.1/103660.[BibTeX]
  3. J. G. Stone, R. Schleicher, C. P. Deck, G. M. Jacobsen, H. E. Khalifa, and C. A. Back. Stress analysis and probabilistic assessment of multi-layer sic-based accident tolerant nuclear fuel cladding. Journal of Nuclear Materials, 466:682–697, 2015.[BibTeX]