OGS
|
A class for computing the BGRa creep model, which reads.
\[ \dot {\mathbf{\epsilon}}^{cr}=\sqrt{\frac{3}{2}}A \mathrm{e}^{-\frac{Q}{RT}} \left(\frac{\sigma_{eff}}{\sigma_0}\right)^n\frac{\mathbf{s}}{||\mathbf{s}||} \]
where \(\sigma_{eff}=\sqrt{\frac{3}{2}}||\mathbf{s}||\), \(A, \sigma_0, n, Q\) are parameter, and \(R\) is the gas constant.
Definition at line 39 of file CreepBGRa.h.
#include <CreepBGRa.h>
Public Types | |
using | ResidualVectorType = Eigen::Matrix<double, KelvinVectorSize, 1> |
using | JacobianMatrix |
using | KelvinVector |
using | KelvinMatrix |
using | Parameter = ParameterLib::Parameter<double> |
Public Types inherited from MaterialLib::Solids::LinearElasticIsotropic< DisplacementDim > | |
using | KelvinVector |
using | KelvinMatrix |
Public Types inherited from MaterialLib::Solids::MechanicsBase< DisplacementDim > | |
using | KelvinVector |
using | KelvinMatrix |
Public Member Functions | |
std::unique_ptr< typename MechanicsBase< DisplacementDim >::MaterialStateVariables > | createMaterialStateVariables () const override |
CreepBGRa (typename LinearElasticIsotropic< DisplacementDim >::MaterialProperties mp, NumLib::NewtonRaphsonSolverParameters nonlinear_solver_parameters, Parameter const &A, Parameter const &n, Parameter const &sigma_f, Parameter const &Q) | |
std::optional< std::tuple< KelvinVector, std::unique_ptr< typename MechanicsBase< DisplacementDim >::MaterialStateVariables >, KelvinMatrix > > | integrateStress (MaterialPropertyLib::VariableArray const &variable_array_prev, MaterialPropertyLib::VariableArray const &variable_array, double const t, ParameterLib::SpatialPosition const &x, double const dt, typename MechanicsBase< DisplacementDim >::MaterialStateVariables const &material_state_variables) const override |
ConstitutiveModel | getConstitutiveModel () const override |
Gets the type of constitutive model. | |
double | getTemperatureRelatedCoefficient (double const t, double const dt, ParameterLib::SpatialPosition const &x, double const T, double const deviatoric_stress_norm) const override |
Public Member Functions inherited from MaterialLib::Solids::LinearElasticIsotropic< DisplacementDim > | |
LinearElasticIsotropic (MaterialProperties material_properties) | |
double | computeFreeEnergyDensity (double const, ParameterLib::SpatialPosition const &, double const, KelvinVector const &eps, KelvinVector const &sigma, typename MechanicsBase< DisplacementDim >::MaterialStateVariables const &) const override |
std::optional< std::tuple< typename MechanicsBase< DisplacementDim >::KelvinVector, std::unique_ptr< typename MechanicsBase< DisplacementDim >::MaterialStateVariables >, typename MechanicsBase< DisplacementDim >::KelvinMatrix > > | integrateStress (MaterialPropertyLib::VariableArray const &variable_array_prev, MaterialPropertyLib::VariableArray const &variable_array, double const t, ParameterLib::SpatialPosition const &x, double const, typename MechanicsBase< DisplacementDim >::MaterialStateVariables const &material_state_variables) const override |
KelvinMatrix | getElasticTensor (double const t, ParameterLib::SpatialPosition const &x, double const T) const |
MaterialProperties | getMaterialProperties () const |
double | getBulkModulus (double const t, ParameterLib::SpatialPosition const &x, KelvinMatrix const *const) const override |
Public Member Functions inherited from MaterialLib::Solids::MechanicsBase< DisplacementDim > | |
virtual void | initializeInternalStateVariables (double const, ParameterLib::SpatialPosition const &, typename MechanicsBase< DisplacementDim >::MaterialStateVariables &) const |
virtual std::optional< std::tuple< KelvinVector, std::unique_ptr< MaterialStateVariables >, KelvinMatrix > > | integrateStress (MaterialPropertyLib::VariableArray const &variable_array_prev, MaterialPropertyLib::VariableArray const &variable_array, double const t, ParameterLib::SpatialPosition const &x, double const dt, MaterialStateVariables const &material_state_variables) const =0 |
virtual std::vector< InternalVariable > | getInternalVariables () const |
virtual double | computeFreeEnergyDensity (double const t, ParameterLib::SpatialPosition const &x, double const dt, KelvinVector const &eps, KelvinVector const &sigma, MaterialStateVariables const &material_state_variables) const =0 |
virtual | ~MechanicsBase ()=default |
Private Attributes | |
NumLib::NewtonRaphsonSolverParameters const | _nonlinear_solver_parameters |
Parameter const & | _a |
Parameter const & | _n |
A parameter determined by experiment. | |
Parameter const & | _sigma_f |
Creep rate exponent n. | |
Parameter const & | _q |
A stress scaling factor. | |
Additional Inherited Members | |
Static Public Attributes inherited from MaterialLib::Solids::LinearElasticIsotropic< DisplacementDim > | |
static int const | KelvinVectorSize |
Protected Attributes inherited from MaterialLib::Solids::LinearElasticIsotropic< DisplacementDim > | |
MaterialProperties | _mp |
using MaterialLib::Solids::Creep::CreepBGRa< DisplacementDim >::JacobianMatrix |
Definition at line 44 of file CreepBGRa.h.
using MaterialLib::Solids::Creep::CreepBGRa< DisplacementDim >::KelvinMatrix |
Definition at line 49 of file CreepBGRa.h.
using MaterialLib::Solids::Creep::CreepBGRa< DisplacementDim >::KelvinVector |
Definition at line 47 of file CreepBGRa.h.
using MaterialLib::Solids::Creep::CreepBGRa< DisplacementDim >::Parameter = ParameterLib::Parameter<double> |
Definition at line 52 of file CreepBGRa.h.
using MaterialLib::Solids::Creep::CreepBGRa< DisplacementDim >::ResidualVectorType = Eigen::Matrix<double, KelvinVectorSize, 1> |
Definition at line 43 of file CreepBGRa.h.
|
inline |
Definition at line 64 of file CreepBGRa.h.
|
inlineoverridevirtual |
Polymorphic creator for MaterialStateVariables objects specific for a material model.
Reimplemented from MaterialLib::Solids::MechanicsBase< DisplacementDim >.
Definition at line 58 of file CreepBGRa.h.
References MaterialLib::Solids::Creep::CreepBGRa< DisplacementDim >::createMaterialStateVariables().
Referenced by MaterialLib::Solids::Creep::CreepBGRa< DisplacementDim >::createMaterialStateVariables().
|
inlineoverridevirtual |
Gets the type of constitutive model.
Reimplemented from MaterialLib::Solids::MechanicsBase< DisplacementDim >.
Definition at line 89 of file CreepBGRa.h.
References MaterialLib::Solids::CreepBGRa.
|
overridevirtual |
Get temperature related coefficient for the global assembly if there is one.
Reimplemented from MaterialLib::Solids::MechanicsBase< DisplacementDim >.
Definition at line 138 of file CreepBGRa.cpp.
References MaterialLib::Solids::Creep::getCreepConstantCoefficient(), and MaterialLib::PhysicalConstant::IdealGasConstant.
|
override |
Definition at line 39 of file CreepBGRa.cpp.
References MaterialLib::Solids::Creep::getCreepConstantCoefficient(), MaterialLib::PhysicalConstant::IdealGasConstant, MaterialPropertyLib::VariableArray::mechanical_strain, MaterialPropertyLib::VariableArray::stress, and MaterialPropertyLib::VariableArray::temperature.
|
private |
Definition at line 101 of file CreepBGRa.h.
|
private |
A parameter determined by experiment.
Definition at line 102 of file CreepBGRa.h.
|
private |
Definition at line 99 of file CreepBGRa.h.
|
private |
A stress scaling factor.
Definition at line 104 of file CreepBGRa.h.
|
private |
Creep rate exponent n.
Definition at line 103 of file CreepBGRa.h.