Non-linear elasto-plastic mechanics with only isotropic options for thermal and creep strains. More...
#include <GeneralCladThermalCreepPlasticModel.h>

Protected Member Functions | |
| double | compute_dE1_dsig_e (double effective_stress_trial, double effective_stress, double Temp_np1, double G) |
| void | computeCreepStrain (const double Temp_np1, const double stress_n[6], const double creep_strain_prev, double delta_creep_strain[6], double net_stra_np1[6]) |
| void | computeEvalv (const std::vector< std::vector< double > > &) |
| int | det_sign (double a) |
| double | help_compute_E1 (const double Temp_np1, double effective_stress) |
| void | radialReturn (const double *stra_np1, double *stre_np1, double *ystre_np1, double *eph_bar_plas_np1) |
Non-linear elasto-plastic mechanics with only isotropic options for thermal and creep strains.
This class represents the mechanics non-linear elasto-plastic material model. This has a capability of capturing the thermal expansion of the clad in a isotropic sense. Other than thermal expansion, creep and plastic deformation of the clad can be captured using this model as well.
Definition at line 22 of file GeneralCladThermalCreepPlasticModel.h.
|
explicit |
Constructor. This reads the values of some parameters from the database object contained in the parameter object (params), or sets those parameters to default values if they are not specified in the database. Some of these parameters might be overwritten by values from the materials library. The parameters are as follows:
(1) USE_MATERIALS_LIBRARY {d_useMaterialsLibrary} (FALSE by default) - This must be set to TRUE for the current material.
(2) Material {matname} - Name of the material that is being used to calculate the material properties for the current material model. This must be a clad material.
(3) Use_Thermal_Strain {d_UseThermalStrain} (TRUE by default) - This parameter is set to TRUE if the strain due to thermal expansion has to be taken into account. Without thermal strain, clad model does not work.
(4) Use_Creep_Strain {d_UseCreepStrain} (FALSE by default) - This parameter is set to TRUE to take into consideration the irrecoverable strain due to thermal and stress induced creep inside the clad.
(5) Linear_Strain_Hardening {d_H} [5.0e8 (Pa) by default] - This one signifies the strain hardening coefficient during the plastic deformation.
(6) Plastic_Strain_Exponent {d_n} [1.0 by default] - The equivalent plastic strain exponent when calculating the modified yield stress during plastic deformation.
(7) Youngs_Modulus {default_E} [2.08e11 (Pa) by default] - The default value of Young's Modulus.
(8) Poissons_Ratio {default_Nu} [0.23 by default] - The default value of Poisson's Ratio.
(9) THERMAL_EXPANSION_COEFFICIENT {default_alpha} [2.0e-6 (/ K) by default] - Isotropic thermal expansion coefficient.
(11) Elastic_Yield_Stress {d_Sig0} [3.45e8 (Pa) by default] - The limit where elastic deformation ends and plastic deformation starts.
(12) Default_Oxygen_Concentration {default_OXYGEN_CONCENTRATION} [0.0 (unit-less) by default]
(13) Default_Temperature {default_TEMPERATURE} [310.0 (K) by default] - This gives the default temperature if the "temperature" variable is inactive.
(14) Default_Burnup {default_BURNUP} [0.0 (GWd/MTU) by default] - This gives the default burnup at each gauss point if the "burnup" variable is inactive.
(15) Creep_Delta_Time {d_Delta_Time} [1.0 days (d) by default] - This is used in the calculation of the creep strain inside the clad.
|
inlinevirtual |
Destructor.
Definition at line 97 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
This is used to evaluate the implicit creep strain rate. This function returns the first derivative of E1 with respect to the effective stress.
|
protected |
This function calculates the creep strain increment ( \(\dot{epsilon}^c\)) at each time step using an implicit scheme. The formula is a general one: \(\dot{\epsilon}^c = A\sigma_e^n exp(\frac{-Q}{RT})\).
|
protected |
This function calls the evalv functions in the materials library and updates the material parameters, such as, Young's Modulus, Poisson's Ratio and Thermal Expansion Coefficient. These material parameters corresponding to the current temperature, burnup and oxygen concentration is extracted from the materials library.
|
protected |
This function calculates the sign of a double which it takes as an input.
|
overridevirtual |
Calculates the linearized elasto-plastic stress-strain constitutive matrix at each gauss point which enters the computation of the jacobian for the element.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
|
inlinevirtualinherited |
Calculates the constitutive matrix for the material model in Updated Lagrangian. This matrix is used for the construction of the Jacobian during the solve process.
Reimplemented in AMP::Operator::IsotropicElasticModel, AMP::Operator::PericElastoViscoPlasticModel, AMP::Operator::ThermalStrainMaterialModel, and AMP::Operator::VonMisesElastoPlasticModel.
Definition at line 73 of file MechanicsMaterialModel.h.
|
inlinevirtualinherited |
Used to print the effective stress at any point of the simulation.
Reimplemented in AMP::Operator::PericElastoViscoPlasticModel, and AMP::Operator::VonMisesElastoPlasticModel.
Definition at line 96 of file MechanicsMaterialModel.h.
|
inlinevirtualinherited |
Used to print the equivalent plastic or creep or thermal strain at any point of the simulation.
Reimplemented in AMP::Operator::PericElastoViscoPlasticModel, and AMP::Operator::VonMisesElastoPlasticModel.
Definition at line 102 of file MechanicsMaterialModel.h.
|
inlinevirtualinherited |
Used for linear material models if the problem is being solved in an explicit method. This function has not been implemented, because all the linear material model problems are being solved in implicit way.
Reimplemented in AMP::Operator::ElasticDamageThermalStrainModel, and AMP::Operator::ThermalStrainMaterialModel.
Definition at line 109 of file MechanicsMaterialModel.h.
|
overridevirtual |
Given a certain strain, this function calculates the corresponding stress taking into consideration the thermal swelling and creep effects. Creep is modeled in an implicit fashion.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
|
inlinevirtualinherited |
Reimplemented in AMP::Operator::IsotropicElasticModel, AMP::Operator::ThermalStrainMaterialModel, and AMP::Operator::VonMisesElastoPlasticModel.
Definition at line 88 of file MechanicsMaterialModel.h.
|
inlineinherited |
Definition at line 226 of file MechanicsMaterialModel.h.
References AMP::Operator::MechanicsMaterialModel::d_material.
|
inlinevirtualinherited |
Returns the 6x1 stress vector at the current gauss point. Used in UpdatedLagrangian calculations.
Reimplemented in AMP::Operator::IsotropicElasticModel, AMP::Operator::PericElastoViscoPlasticModel, AMP::Operator::ThermalStrainMaterialModel, and AMP::Operator::VonMisesElastoPlasticModel.
Definition at line 79 of file MechanicsMaterialModel.h.
|
overridevirtual |
This function updates the old equilibrium values with the new one under certain conditions.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
|
protected |
This function is used to calculate the implicit creep strain rate. It returns a creep strain rate at a given temperature and effective stress (which enters the function as input parameters).
|
overridevirtual |
This function initializes all the gauss point vectors with the default values.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
|
overridevirtual |
This function updates all the material parameters and calls the radialReturn before calculating the jacobian.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
|
inlinevirtualinherited |
Reimplemented in AMP::Operator::IsotropicElasticModel, AMP::Operator::ThermalStrainMaterialModel, and AMP::Operator::VonMisesElastoPlasticModel.
Definition at line 214 of file MechanicsMaterialModel.h.
|
overridevirtual |
At each gauss point the "radialReturn" function is called from this function.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
|
inlinevirtualinherited |
Reimplemented in AMP::Operator::IsotropicElasticModel, AMP::Operator::ThermalStrainMaterialModel, and AMP::Operator::VonMisesElastoPlasticModel.
Definition at line 192 of file MechanicsMaterialModel.h.
|
inlinevirtualinherited |
Definition at line 123 of file MechanicsMaterialModel.h.
|
inlinevirtualinherited |
Definition at line 127 of file MechanicsMaterialModel.h.
|
inlineoverridevirtual |
This is called after the apply() at each gauss point is called.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
Definition at line 120 of file GeneralCladThermalCreepPlasticModel.h.
References d_gaussPtCnt.
|
overridevirtual |
How many gauss points have reached plasticity, is calculated in this function (done after each assembly).
Reimplemented from AMP::Operator::MechanicsMaterialModel.
|
inlinevirtualinherited |
Definition at line 162 of file MechanicsMaterialModel.h.
|
inlineoverridevirtual |
After the apply at each gauss point , this function increments the gauss point count by one.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
Definition at line 154 of file GeneralCladThermalCreepPlasticModel.h.
References d_gaussPtCnt.
|
inlinevirtualinherited |
Definition at line 137 of file MechanicsMaterialModel.h.
|
inlinevirtualinherited |
Definition at line 141 of file MechanicsMaterialModel.h.
|
inlinevirtualinherited |
Definition at line 145 of file MechanicsMaterialModel.h.
|
inlinevirtualinherited |
Definition at line 202 of file MechanicsMaterialModel.h.
|
inlinevirtualinherited |
Definition at line 206 of file MechanicsMaterialModel.h.
|
inlineoverridevirtual |
The gauss point count is incremented after computing the nonlinear jacobian at every gauss point.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
Definition at line 190 of file GeneralCladThermalCreepPlasticModel.h.
References d_gaussPtCnt.
|
overridevirtual |
If the updating is not done in the global reset, it is done in this function.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
|
inlinevirtualinherited |
Definition at line 178 of file MechanicsMaterialModel.h.
|
inlineoverridevirtual |
Incrementing the gauss point count by unity is conducted in this function.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
Definition at line 164 of file GeneralCladThermalCreepPlasticModel.h.
References d_gaussPtCnt.
|
inlineoverridevirtual |
This function is called just before the linear assembly.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
Definition at line 115 of file GeneralCladThermalCreepPlasticModel.h.
References d_gaussPtCnt.
|
inlinevirtualinherited |
Definition at line 125 of file MechanicsMaterialModel.h.
|
inlinevirtualinherited |
Definition at line 129 of file MechanicsMaterialModel.h.
|
inlineoverridevirtual |
This is called before every non-linear assembly. Here the gauss point count and the total number of gauss points which have reached plasticity, are initialized to zero.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
Definition at line 137 of file GeneralCladThermalCreepPlasticModel.h.
References d_gaussPtCnt, and Plastic_Gauss_Point.
|
inlinevirtualinherited |
Definition at line 160 of file MechanicsMaterialModel.h.
|
inlinevirtualinherited |
Definition at line 164 of file MechanicsMaterialModel.h.
|
overridevirtual |
This function is called before the NonlinearInit is invoked. Here the memory assigned to all the gauss point vectors are cleared.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
|
inlinevirtualinherited |
Definition at line 139 of file MechanicsMaterialModel.h.
|
inlinevirtualinherited |
Definition at line 143 of file MechanicsMaterialModel.h.
|
inlineoverridevirtual |
Initializes the gauss point count before the nonlinear jacobian is called.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
Definition at line 184 of file GeneralCladThermalCreepPlasticModel.h.
References d_gaussPtCnt.
|
inlinevirtualinherited |
Definition at line 204 of file MechanicsMaterialModel.h.
|
inlinevirtualinherited |
Definition at line 208 of file MechanicsMaterialModel.h.
|
inlineoverridevirtual |
This function initializes the gauss point count for the nonlinear reset.
Reimplemented from AMP::Operator::MechanicsMaterialModel.
Definition at line 159 of file GeneralCladThermalCreepPlasticModel.h.
References d_gaussPtCnt.
|
inlinevirtualinherited |
Definition at line 176 of file MechanicsMaterialModel.h.
|
inlinevirtualinherited |
Definition at line 180 of file MechanicsMaterialModel.h.
|
protected |
Given the total strain, this function calculates the stress which is used to compute the internal force. The formula is as follows, \(f_{int} = {int}_{V} B^T \sigma dv\).
|
inlinevirtualinherited |
Specify level of diagnostic information printed during iterations.
| [in] | print_level | zero prints none or minimal information, higher numbers provide increasingly verbose debugging information. |
Definition at line 36 of file ElementPhysicsModel.h.
References AMP::Operator::ElementPhysicsModel::d_iDebugPrintInfoLevel.
|
inlineinherited |
Definition at line 220 of file MechanicsMaterialModel.h.
References AMP::Operator::MechanicsMaterialModel::d_currentTime, and AMP::Operator::MechanicsMaterialModel::d_previousTime.
|
protected |
A gauss point vector containing the Thermal Expansion Coefficient at each gauss point.
Definition at line 295 of file GeneralCladThermalCreepPlasticModel.h.
|
protectedinherited |
Definition at line 244 of file MechanicsMaterialModel.h.
Referenced by AMP::Operator::MechanicsMaterialModel::MechanicsMaterialModel().
|
protected |
Stores the 6x6 constitutive matrix for each gauss point.
Definition at line 278 of file GeneralCladThermalCreepPlasticModel.h.
|
protectedinherited |
The time at present.
Definition at line 229 of file MechanicsMaterialModel.h.
Referenced by AMP::Operator::MechanicsMaterialModel::MechanicsMaterialModel(), and AMP::Operator::MechanicsMaterialModel::updateTime().
|
protected |
The time increment (to be used in clad creep).
Definition at line 276 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector containing the Young's Moduli at each gauss point.
Definition at line 290 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which contains the information whether a particular gauss has reached plastic state or still in the elastic regime.
Definition at line 335 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which stores the creep strain (scalar) at the previous equilibrium configuration.
Definition at line 321 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which stores the equivalent plastic strain at the previous equilibrium configuration.
Definition at line 317 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which stores the equilibrium strain.
Definition at line 310 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which stores the equilibrium stress.
Definition at line 307 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which stores the equilibrium temperature.
Definition at line 325 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector containing the equilibrium Thermal Strain at each gauss point.
Definition at line 328 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which stores the yield stress at the previous equilibrium configuration.
Definition at line 313 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A counter that keeps track of the number of the gauss points.
Definition at line 281 of file GeneralCladThermalCreepPlasticModel.h.
Referenced by postLinearGaussPointOperation(), postNonlinearAssemblyGaussPointOperation(), postNonlinearJacobianGaussPointOperation(), postNonlinearResetGaussPointOperation(), preLinearAssembly(), preNonlinearAssembly(), preNonlinearJacobian(), and preNonlinearReset().
|
protected |
Default value for the linear strain hardening coefficient.
Definition at line 268 of file GeneralCladThermalCreepPlasticModel.h.
|
protectedinherited |
Variable that controls the amount of diagnostic information that gets printed within this material model.
Definition at line 39 of file ElementPhysicsModel.h.
Referenced by AMP::Operator::ElementPhysicsModel::ElementPhysicsModel(), and AMP::Operator::ElementPhysicsModel::setDebugPrintInfoLevel().
|
protected |
Checks whether init has been called already or not.
Definition at line 377 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
Definition at line 375 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which contains a plasticity parameter at each gauss point.
Definition at line 332 of file GeneralCladThermalCreepPlasticModel.h.
|
protectedinherited |
Shared pointer to the materials object.
Definition at line 247 of file MechanicsMaterialModel.h.
Referenced by AMP::Operator::MechanicsMaterialModel::getMaterial(), and AMP::Operator::MechanicsMaterialModel::MechanicsMaterialModel().
|
protected |
Default value for the equivalent plastic strain exponent.
Definition at line 270 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector containing the Poisson's Ratio at each gauss point.
Definition at line 293 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector containing the equivalent plastic strain exponent at each gauss point.
Definition at line 302 of file GeneralCladThermalCreepPlasticModel.h.
|
protectedinherited |
Time at the previous step.
Definition at line 231 of file MechanicsMaterialModel.h.
Referenced by AMP::Operator::MechanicsMaterialModel::MechanicsMaterialModel(), and AMP::Operator::MechanicsMaterialModel::updateTime().
|
protected |
Definition at line 373 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
The initial Yield Stress.
Definition at line 272 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector containing the linear strain hardening coefficient at each gauss point.
Definition at line 298 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which stores the creep strain (scalar) at the current configuration.
Definition at line 352 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which stores the equivalent plastic strain at the current configuration.
Definition at line 349 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which stores the strain at the current step.
Definition at line 343 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which stores the stress at the current step.
Definition at line 340 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which stores the temperature at the current step.
Definition at line 355 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector containing the current Thermal Strain at each gauss point.
Definition at line 358 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which stores the yield stress at the current configuration.
Definition at line 345 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which stores the equivalent plastic strain at the current step while jacobian is being calculated.
Definition at line 368 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which stores the stress at the current step while jacobian is being calculated.
Definition at line 361 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
A gauss point vector which stores the yield stress at the current step while jacobian is being calculated.
Definition at line 364 of file GeneralCladThermalCreepPlasticModel.h.
|
protectedinherited |
Flag to check whether to use Continuum tangent is elasto plasticity or not.
Definition at line 241 of file MechanicsMaterialModel.h.
Referenced by AMP::Operator::MechanicsMaterialModel::MechanicsMaterialModel().
|
protected |
This variable determines whether to use creep strain or not.
Definition at line 381 of file GeneralCladThermalCreepPlasticModel.h.
|
protectedinherited |
Flag to check whether to use Jaumann rate in updated lagrangian or not.
Definition at line 238 of file MechanicsMaterialModel.h.
Referenced by AMP::Operator::MechanicsMaterialModel::MechanicsMaterialModel().
|
protectedinherited |
A flag that is true if the AMP::materials library is used in this model and false otherwise.
Definition at line 233 of file MechanicsMaterialModel.h.
Referenced by AMP::Operator::MechanicsMaterialModel::MechanicsMaterialModel().
|
protected |
This variable determines whether to use thermal strain or not.
Definition at line 379 of file GeneralCladThermalCreepPlasticModel.h.
|
protectedinherited |
Flag to check whether to use updated lagrangian or not.
Definition at line 236 of file MechanicsMaterialModel.h.
Referenced by AMP::Operator::MechanicsMaterialModel::MechanicsMaterialModel().
|
protected |
Default value of the thermal expansion coefficient.
Definition at line 274 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
The default burnup which is passed to the materials library when evalv is called.
Definition at line 261 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
The default value of the Young's Modulus.
Definition at line 264 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
The default value of the Poisson'd Ratio.
Definition at line 266 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
The default oxygen_concentration which is passed to the materials library when evalv is called.
Definition at line 257 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
The default temperature which is passed to the materials library when evalv is called.
Definition at line 253 of file GeneralCladThermalCreepPlasticModel.h.
|
protected |
How many gauss points have reached plasticity at the current stage.
Definition at line 286 of file GeneralCladThermalCreepPlasticModel.h.
Referenced by preNonlinearAssembly().
|
protected |
Total how many gauss points are there in this simulation.
Definition at line 284 of file GeneralCladThermalCreepPlasticModel.h.
|
Advanced Multi-Physics (AMP) Oak Ridge National Laboratory Idaho National Laboratory Los Alamos National Laboratory |
This page automatically produced from the source code by Last updated: Tue Mar 10 2026 13:06:44. Comments on this page |