# Mech Zry

Model that includes the options to model primary, thermal, and irradiation-induced creep

warning:Deprecated Solid Mechanics Material

The functionality of this solid mechanics material is being replaced in the TensorMechanics system:

## Description

The MechZry model includes the options to model primary, thermal, and irradiation- induced creep. Modeling of creep under LOCA conditions is available. Also, it is possible to turn on irradiation growth. If irradiation growth is turned on, do not include the IrradiationGrowthZr4 model. Finally, an accuracy-controlling time step criterion is implemented, which can be applied through the MaterialTimeStepPostprocessor post processor.

### Limback Primary and Secondary Creep

The creep model proposed by LimbÃ¤ck and Andersson (1996) includes an expression for primary creep. This can be important as part of power changes when the load on the cladding changes relatively suddenly. Thermal creep in the Limback model is given as the Matsuo (1987) model where the creep rate (hr) is (1) where the constants A, Q, and n are shown in Table 1 for the different cladding materials, T as temperature (K), (dimensionless), (J/mol/K), (dimensionless), ((n/cm)), and (dimensionless).

Based on the Limback model, a new model on ZIRLO was developed by adjusting some parameters to fit data on ZIRLO material (Foster et al., 2008; Quecedo et al., 2009; Seok et al., 2011).

Table 1: Values of the Constants A, Q, and n for Different Cladding Materials

SRA1.082012.0
RXA5.471983.5
PRXA7.061992.3
ZIRLO8.64$\times 10^8$201

where, SRA = stress relief annealed; RXA = recrystallization annealed; PRXA = partially recrystallization annealed; ZIRLO = SRA ZIRLO. is a function of effective stress. (2) Irradiation-induced creep in the Limback model is of the form outlined in ThermalIrradiationCreepZr4. The secondary creep rate is then (3) Primary creep is defined as (4) where (dimensionless), (hr), (dimensionless), (hr), and (dimensionless).

Total creep strain is the combination of the primary and secondary creep: (5)

### High Temperature Creep (LOCA)

During a loss of coolant accident, or LOCA, outward creep deformation of the cladding tube under the effect of internal pressurization and high temperature drives cladding ballooning and eventual failure due to burst. For LOCA analysis, the large creep deformation of the cladding is defined by a strain rate correlation in the form of a Norton power equation (Van Uffelen et al., 2008; Neitzel and Rosinger, 1980; Erbacher et al., 1982): (6) where (s) is the effective creep strain rate, A (MPas) the strength coefficient, Q (J/mol) the activation energy for the creep deformation, T (K) the temperature, (MPa) the effective (Von Mises) stress, and n (-) the stress exponent. The components of the strain tensor are then updated at each time step based on the effective strain increment and a flow rule. The material parameters (Table 2) used in the model were obtained from tension tests on Zircaloy-4 tubes (Neitzel and Rosinger, 1980; Erbacher et al., 1982). In the mixed phase () region, interpolations are made to calculate the Norton parameters. Depending on the strain rate, different approaches are adopted (Neitzel and Rosinger, 1980):

• For s, linear interpolation of ln(A), n, and Q is made between the values for pure and middle of ( ) phase, and between and pure phase.

• For s, it is assumed that the values of ln(A), n, and Q vary linearly between the values for pure and pure phase.

To perform the interpolation, the fraction of each phase calculated from a dedicated model as described in ZrPhase is used. The effective creep strain rate as a function of temperature for different stress values is illustrated in Figure 1.

Table 2: Material parameters used to calculate creep of Zircaloy-4 (Erbacher et al., 1982; Markiewicz and Erbacher, 1988)

Phase (s)A (MPa)Q (J/mol)n (-)
any87375.89
0.241023662.33
Lin. interp. lnLin. interpLin. interp.
any7.91419193.78

Figure 1: Effective creep strain rate of Zircaloy-4 as a function of temperature for different values of the effective stress. The approximate temperature regions corresponding to the different crystallographic phases of the material are highlighted.

When running a simulation where the temperature in the cladding increases from normal operating conditions (about 600K) up to LOCA temperatures (about 900K), the effective creep strain rate is linearly interpolated between the Matsuo (1987) model and the LOCA model. There are a number of regression tests that demonstrate the LOCA behavior and the transition between normal operation secondary thermal creep and LOCA creep.

## Combined Creep and Instantaneous Plasticity

Material models are also available for combined instantaneous plasticity and time-dependent creep. Creep is modeled using the irradiation and thermal creep constitutive equations described above. Time-independent plasticity is modeled assuming J2 plasticity based on a simple linear strain hardening curve. For each stress update, the model first considers only the creep contribution to compute a new stress, which is then compared to the yield strength. If above yield, instantaneous plasticity is applied to reduce the stress onto the yield curve. Iteration is employed to insure stress convergence.

## Example Input Syntax

[./mechzry]
type = MechZry
block = 1
disp_r = disp_x
disp_z = disp_y
temp = temp
model_thermal_expansion = false
model_primary_creep = false
model_thermal_creep = false
model_elastic_modulus = true
[../]
(test/tests/mechZry/test_elastic_modulus_zry.i)

## Input Parameters

• cold_work_factor0.01Cold work factor

Default:0.01

C++ Type:double

Description:Cold work factor

• constitutive_modelConstitutiveModel to use (optional)

C++ Type:std::string

Description:ConstitutiveModel to use (optional)

• cracking_stress0The stress threshold beyond which cracking occurs. Must be positive.

Default:0

C++ Type:double

Description:The stress threshold beyond which cracking occurs. Must be positive.

• store_stress_olderFalseParameter which indicates whether the older stress state, required for HHT time integration, needs to be stored

Default:False

C++ Type:bool

Description:Parameter which indicates whether the older stress state, required for HHT time integration, needs to be stored

• model_rthetaFalseSet to true for a plane strain model

Default:False

C++ Type:bool

Description:Set to true for a plane strain model

• model_thermal_expansionTrueSet true to turn on thermal expansion model

Default:True

C++ Type:bool

Description:Set true to turn on thermal expansion model

• material_typeElement material Choices are: SRA RXA PRXA ZIRLO 0 1 2 3

C++ Type:MooseEnum

Description:Element material Choices are: SRA RXA PRXA ZIRLO 0 1 2 3

• cracking_releaseabruptThe cracking release type. Choices are abrupt (default) and exponential.

Default:abrupt

C++ Type:std::string

Description:The cracking release type. Choices are abrupt (default) and exponential.

• bulk_modulusThe bulk modulus for the material.

C++ Type:double

Description:The bulk modulus for the material.

• acceptable_multiplier10Factor applied to relative and absolute tolerance for acceptable convergence if iterations are no longer making progress

Default:10

C++ Type:double

Description:Factor applied to relative and absolute tolerance for acceptable convergence if iterations are no longer making progress

• youngs_modulus_functionYoung's modulus as a function of temperature.

C++ Type:FunctionName

Description:Young's modulus as a function of temperature.

• formulationElement formulation. Choices are: Nonlinear3D NonlinearRZ AxisymmetricRZ SphericalR Linear PlaneStrain NonlinearPlaneStrain

C++ Type:MooseEnum

Description:Element formulation. Choices are: Nonlinear3D NonlinearRZ AxisymmetricRZ SphericalR Linear PlaneStrain NonlinearPlaneStrain

• fast_neutron_fluxThe fast neutron flux

C++ Type:std::vector

Description:The fast neutron flux

• cracking_beta1The coefficient used in the exponetional model.

Default:1

C++ Type:double

Description:The coefficient used in the exponetional model.

• strain_zzThe zz strain

C++ Type:std::vector

Description:The zz strain

• compute_InteractionIntegralFalseWhether to compute the Interaction Integral.

Default:False

C++ Type:bool

Description:Whether to compute the Interaction Integral.

• thermal_expansion_reference_temperatureReference temperature for mean thermal expansion function.

C++ Type:double

Description:Reference temperature for mean thermal expansion function.

• stress_free_temperatureThe stress-free temperature. If not specified, the initial temperature is used.

C++ Type:double

Description:The stress-free temperature. If not specified, the initial temperature is used.

Default:True

C++ Type:bool

Description:Set true to turn on irradiation growth model

• youngs_modulus7.5e+10Young's modulus of the material.

Default:7.5e+10

C++ Type:double

Description:Young's modulus of the material.

• initial_stressThe initial stress tensor (xx, yy, zz, xy, yz, zx)

C++ Type:std::vector

Description:The initial stress tensor (xx, yy, zz, xy, yz, zx)

• temp_standard_creep_end700The upper limit of temperature where the standard thermal creep model no longer applies

Default:700

C++ Type:double

Description:The upper limit of temperature where the standard thermal creep model no longer applies

• poissons_ratio0.3Poisson's ratio for the material.

Default:0.3

C++ Type:double

Description:Poisson's ratio for the material.

• compute_methodThe method used in the stress calculation.

C++ Type:MooseEnum

Description:The method used in the stress calculation.

• increment_calculationRashidApproxThe algorithm to use when computing the incremental strain and rotation (RashidApprox or Eigen). For use with Nonlinear3D/RZ formulation.

Default:RashidApprox

C++ Type:std::string

Description:The algorithm to use when computing the incremental strain and rotation (RashidApprox or Eigen). For use with Nonlinear3D/RZ formulation.

• oxygen_concentration0Oxygen concentration (ppm)

Default:0

C++ Type:double

Description:Oxygen concentration (ppm)

• disp_xThe x displacement

C++ Type:std::vector

Description:The x displacement

• model_elastic_modulusFalseSet true to calculate elastic moduli internally

Default:False

C++ Type:bool

Description:Set true to calculate elastic moduli internally

• volumetric_locking_correctionTrueSet to false to turn off volumetric locking correction

Default:True

C++ Type:bool

Description:Set to false to turn off volumetric locking correction

• boundaryThe list of boundary IDs from the mesh where this boundary condition applies

C++ Type:std::vector

Description:The list of boundary IDs from the mesh where this boundary condition applies

• max_inelastic_increment0.0001The maximum inelastic strain increment allowed in a time step

Default:0.0001

C++ Type:double

Description:The maximum inelastic strain increment allowed in a time step

• temp_loca_creep_begin900The lower limit of temperature where the loca thermal creep model begins to apply

Default:900

C++ Type:double

Description:The lower limit of temperature where the loca thermal creep model begins to apply

• fast_neutron_fluenceThe fast neutron fluence

C++ Type:std::vector

Description:The fast neutron fluence

• active_crack_planesPlanes on which cracks are allowed (0,1,2 -> x,z,theta in RZ)

C++ Type:std::vector

Description:Planes on which cracks are allowed (0,1,2 -> x,z,theta in RZ)

• scale_factor1scaling factor for youngs modulus calculated using MATPRO model. Note Youngs modulus is scaled down by this number.

Default:1

C++ Type:double

Description:scaling factor for youngs modulus calculated using MATPRO model. Note Youngs modulus is scaled down by this number.

• disp_zThe z displacement

C++ Type:std::vector

Description:The z displacement

• disp_yThe y displacement

C++ Type:std::vector

Description:The y displacement

• cracking_residual_stress0The fraction of the cracking stress allowed to be maintained following a crack.

Default:0

C++ Type:double

Description:The fraction of the cracking stress allowed to be maintained following a crack.

• shear_modulusThe shear modulus of the material.

C++ Type:double

Description:The shear modulus of the material.

• scalar_strain_zzThe zz strain (scalar variable)

C++ Type:std::vector

Description:The zz strain (scalar variable)

• thermal_expansion_function_typeType of thermal expansion function. Choices are: instantaneous mean

C++ Type:MooseEnum

Description:Type of thermal expansion function. Choices are: instantaneous mean

• disp_rThe r displacement

C++ Type:std::vector

Description:The r displacement

• appended_property_nameName appended to material properties to make them unique

C++ Type:std::string

Description:Name appended to material properties to make them unique

• outputThe reporting postprocessor to use for the max_iterations value.

C++ Type:PostprocessorName

Description:The reporting postprocessor to use for the max_iterations value.

• poissons_ratio_functionPoisson's ratio as a function of temperature.

C++ Type:FunctionName

Description:Poisson's ratio as a function of temperature.

• dep_matl_propsNames of material properties this material depends on.

C++ Type:std::vector

Description:Names of material properties this material depends on.

• compute_material_timestep_limitFalseWhether to compute the matl_timestep_limit material property

Default:False

C++ Type:bool

Description:Whether to compute the matl_timestep_limit material property

• large_strainFalseWhether to include large strain terms in AxisymmetricRZ, SphericalR, and PlaneStrain formulations.

Default:False

C++ Type:bool

Description:Whether to include large strain terms in AxisymmetricRZ, SphericalR, and PlaneStrain formulations.

• model_primary_creepTrueSet true to turn on primary creep

Default:True

C++ Type:bool

Description:Set true to turn on primary creep

• relative_tolerance1e-08Relative convergence tolerance for Newton iteration

Default:1e-08

C++ Type:double

Description:Relative convergence tolerance for Newton iteration

• model_thermal_creep_locaFalseSet true to turn on thermal creep during loca

Default:False

C++ Type:bool

Description:Set true to turn on thermal creep during loca

• computeTrueWhen false, MOOSE will not call compute methods on this material. The user must call computeProperties() after retrieving the Material via MaterialPropertyInterface::getMaterial(). Non-computed Materials are not sorted for dependencies.

Default:True

C++ Type:bool

Description:When false, MOOSE will not call compute methods on this material. The user must call computeProperties() after retrieving the Material via MaterialPropertyInterface::getMaterial(). Non-computed Materials are not sorted for dependencies.

• tempCoupled Temperature

C++ Type:std::vector

Description:Coupled Temperature

• initial_fast_fluence0The initial fast neutron fluence

Default:0

C++ Type:double

Description:The initial fast neutron fluence

• creeprate_scalef1scaling factor for creep rate

Default:1

C++ Type:double

Description:scaling factor for creep rate

• max_its30Maximum number of Newton iterations

Default:30

C++ Type:unsigned int

Description:Maximum number of Newton iterations

• cracking_neg_fractionThe fraction of the cracking strain at which a transitition begins during decreasing strain to the original stiffness.

C++ Type:double

Description:The fraction of the cracking strain at which a transitition begins during decreasing strain to the original stiffness.

• thermal_expansion_functionThermal expansion coefficient as a function of temperature.

C++ Type:FunctionName

Description:Thermal expansion coefficient as a function of temperature.

• compute_JIntegralFalseWhether to compute the J Integral.

Default:False

C++ Type:bool

Description:Whether to compute the J Integral.

Default:True

C++ Type:bool

Description:Set true to turn on irradiation induced creep

• max_cracks3The maximum number of cracks allowed at a material point.

Default:3

C++ Type:unsigned int

Description:The maximum number of cracks allowed at a material point.

• thermal_expansionThe thermal expansion coefficient.

C++ Type:double

Description:The thermal expansion coefficient.

• cracking_stress_functionThe cracking stress as a function of time and location

C++ Type:FunctionName

Description:The cracking stress as a function of time and location

• absolute_tolerance1e-11Absolute convergence tolerance for Newton iteration

Default:1e-11

C++ Type:double

Description:Absolute convergence tolerance for Newton iteration

• growth_direction1The direction you want to apply irradiation growth

Default:1

C++ Type:unsigned int

Description:The direction you want to apply irradiation growth

• model_thermal_creepTrueSet true to turn on steady state thermal creep

Default:True

C++ Type:bool

Description:Set true to turn on steady state thermal creep

• blockThe list of block ids (SubdomainID) that this object will be applied

C++ Type:std::vector

Description:The list of block ids (SubdomainID) that this object will be applied

• lambdaLame's first parameter for the material.

C++ Type:double

Description:Lame's first parameter for the material.

### Optional Parameters

• enableTrueSet the enabled status of the MooseObject.

Default:True

C++ Type:bool

Description:Set the enabled status of the MooseObject.

• 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

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.

• control_tagsAdds user-defined labels for accessing object parameters via control logic.

C++ Type:std::vector

Description:Adds user-defined labels for accessing object parameters via control logic.

• seed0The seed for the master random number generator

Default:0

C++ Type:unsigned int

Description:The seed for the master random number generator

• implicitTrueDetermines whether this object is calculated using an implicit or explicit form

Default:True

C++ Type:bool

Description:Determines whether this object is calculated using an implicit or explicit form

• 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 computeSubdomainProperties() 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

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 computeSubdomainProperties() for the 0th quadrature point, and then copy that value to the other qps. Evaluations on element qps will be skipped

• internal_solve_output_onon_errorWhen to output internal Newton solve information

Default:on_error

C++ Type:MooseEnum

Description:When to output internal Newton solve information

• internal_solve_full_iteration_historyFalseSet true to output full internal Newton iteration history at times determined by internal_solve_output_on. If false, only a summary is output.

Default:False

C++ Type:bool

Description:Set true to output full internal Newton iteration history at times determined by internal_solve_output_on. If false, only a summary is output.

### Debug Parameters

• output_propertiesList of material properties, from this material, to output (outputs must also be defined to an output type)

C++ Type:std::vector

Description:List of material properties, from this material, to output (outputs must also be defined to an output type)

• outputsnone Vector of output names were you would like to restrict the output of variables(s) associated with this object

Default:none

C++ Type:std::vector

Description:Vector of output names were you would like to restrict the output of variables(s) associated with this object

## References

1. F. J. Erbacher, H. J. Neitzel, H. Rosinger, H. Schmidt, and K. Wiehr. Burst criterion of Zircaloy fuel claddings in a loss-of-coolant accident. In Zirconium in the Nuclear Industry, Fifth Conference, ASTM STP 754, D.G. Franklin Ed., 271â€“283. American Society for Testing and Materials, 1982.[BibTeX]
2. J.P. Foster, H.K. Yueh, and R.J. Comstock. Zirloâ„¢ cladding improvement. Journal of ASTM International, 2008.[BibTeX]
3. M. LimbÃ¤ck and T. Andersson. A model for analysis of the effect of final annealing on the in- and out-of-reactor creep behavior of zircaloy cladding. In Zirconium in the Nuclear Industry: Eleventh International Symposium, ASTM STP 1295, 448â€“468. 1996.[BibTeX]
4. M. E. Markiewicz and F.J. Erbacher. Experiments on ballooning in pressurized and transiently heated Zircaloy-4 tubes. Technical Report KfK 4343, Kernforschungszentrum Karlsruhe GmbH (Germany, Kernforschungszentrum Karlsruhe, Germany, 1988.[BibTeX]
5. Y. Matsuo. Thermal creep of zircaloy-4 cladding under internal pressure. Journal of Nuclear Science and Technology, 24(2):111â€“119, February 1987.[BibTeX]
6. H. J. Neitzel and H. Rosinger. The development of a burst criterion for zircaloy fuel cladding under loca conditions. Technical Report KfK 4343, Kernforschungszentrum Karlsruhe GmbH (Germany, Kernforschungszentrum Karlsruhe, Germany, 1980.[BibTeX]
7. M. Quecedo, M. Lloret, J.M. Conde, C. Alejano, J.A. Gago, and F.J. Fernandez. Results of thermal creep test on highly irradiated zirloâ„¢. Nuclear Engineering and Technology, 41(2):179–186, 2009.[BibTeX]
8. C.S. Seok, B. Marple, Y.J. Song, S. Gollapudi, I. Charit, and K.L. Murty. High temperature deformation characteristics of zirloâ„¢ tubing via ring-creep and burst tests. Nuclear Engineering and Design, 241:599–602, 2011.[BibTeX]
9. P. Van Uffelen, C. GyÅ‘ri, A. Schubert, J. van de Laar, Z. HÃ³zer, and G. Spykman. Extending the application range of a fuel performance code from normal operating to design basis accident conditions. Journal of Nuclear Materials, 383:137–143, 2008.[BibTeX]