OGS
MaterialLib::Solids::Creep Namespace Reference

Classes

class  CreepBGRa
 A class for computing the BGRa creep model, which reads. More...
 

Functions

template<int DisplacementDim>
std::unique_ptr< MaterialLib::Solids::MechanicsBase< DisplacementDim > > createCreepBGRa (std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, BaseLib::ConfigTree const &config)
 
template std::unique_ptr< MaterialLib::Solids::MechanicsBase< 2 > > createCreepBGRa< 2 > (std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, BaseLib::ConfigTree const &config)
 
template std::unique_ptr< MaterialLib::Solids::MechanicsBase< 3 > > createCreepBGRa< 3 > (std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, BaseLib::ConfigTree const &config)
 
double getCreepConstantCoefficient (const double A, const double n, const double sigma0)
 

Function Documentation

◆ createCreepBGRa()

template<int DisplacementDim>
std::unique_ptr< MaterialLib::Solids::MechanicsBase< DisplacementDim > > MaterialLib::Solids::Creep::createCreepBGRa ( std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const & parameters,
BaseLib::ConfigTree const & config )
Input File Parameter
material__solid__constitutive_relation__type
Input File Parameter
material__solid__constitutive_relation__CreepBGRa__a
Input File Parameter
material__solid__constitutive_relation__CreepBGRa__n
Input File Parameter
material__solid__constitutive_relation__CreepBGRa__sigma0
Input File Parameter
material__solid__constitutive_relation__CreepBGRa__q
Input File Parameter
material__solid__constitutive_relation__CreepBGRa__nonlinear_solver

Definition at line 30 of file CreateCreepBGRa.cpp.

33{
35 config.checkConfigParameter("type", "CreepBGRa");
36 DBUG("Create CreepBGRa material");
37
38 // Read elastic data first.
39 const bool skip_type_checking = true;
40 auto elastic_data =
41 MaterialLib::Solids::createLinearElasticIsotropic<DisplacementDim>(
42 parameters, config, skip_type_checking);
43
44 auto& A = ParameterLib::findParameter<double>(
46 config, "a", parameters, 1);
47
48 auto& n = ParameterLib::findParameter<double>(
50 config, "n", parameters, 1);
51
52 auto& sigma0 = ParameterLib::findParameter<double>(
54 config, "sigma0", parameters, 1);
55
56 auto& Q = ParameterLib::findParameter<double>(
58 config, "q", parameters, 1);
59
60 auto const& nonlinear_solver_config =
62 config.getConfigSubtree("nonlinear_solver");
63 auto const nonlinear_solver_parameters =
64 NumLib::createNewtonRaphsonSolverParameters(nonlinear_solver_config);
65
66 return std::unique_ptr<CreepBGRa<DisplacementDim>>{
68 nonlinear_solver_parameters, A, n,
69 sigma0, Q}};
70}
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:30
A class for computing the BGRa creep model, which reads.
Definition CreepBGRa.h:40
NewtonRaphsonSolverParameters createNewtonRaphsonSolverParameters(BaseLib::ConfigTree const &config)

References BaseLib::ConfigTree::checkConfigParameter(), NumLib::createNewtonRaphsonSolverParameters(), DBUG(), BaseLib::ConfigTree::getConfigSubtree(), and MaterialLib::Solids::LinearElasticIsotropic< DisplacementDim >::getMaterialProperties().

◆ createCreepBGRa< 2 >()

template std::unique_ptr< MaterialLib::Solids::MechanicsBase< 2 > > MaterialLib::Solids::Creep::createCreepBGRa< 2 > ( std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const & parameters,
BaseLib::ConfigTree const & config )

◆ createCreepBGRa< 3 >()

template std::unique_ptr< MaterialLib::Solids::MechanicsBase< 3 > > MaterialLib::Solids::Creep::createCreepBGRa< 3 > ( std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const & parameters,
BaseLib::ConfigTree const & config )

◆ getCreepConstantCoefficient()

double MaterialLib::Solids::Creep::getCreepConstantCoefficient ( const double A,
const double n,
const double sigma0 )

Definition at line 28 of file CreepBGRa.cpp.

30{
31 return A * std::pow(1.5, 0.5 * (1 + n)) / std::pow(sigma0, n);
32}

Referenced by MaterialLib::Solids::Creep::CreepBGRa< DisplacementDim >::getTemperatureRelatedCoefficient(), and MaterialLib::Solids::Creep::CreepBGRa< DisplacementDim >::integrateStress().