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 =
42 parameters, config, skip_type_checking);
43
46 config, "a", parameters, 1);
47
50 config, "n", parameters, 1);
51
54 config, "sigma0", parameters, 1);
55
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>>{
67 new CreepBGRa<DisplacementDim>{elastic_data->getMaterialProperties(),
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
std::unique_ptr< LinearElasticIsotropic< DisplacementDim > > createLinearElasticIsotropic(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, BaseLib::ConfigTree const &config, const bool skip_type_checking)
NewtonRaphsonSolverParameters createNewtonRaphsonSolverParameters(BaseLib::ConfigTree const &config)
OGS_NO_DANGLING Parameter< ParameterDataType > & findParameter(std::string const &parameter_name, std::vector< std::unique_ptr< ParameterBase > > const &parameters, int const num_components, MeshLib::Mesh const *const mesh=nullptr)
Definition Utils.h:102

References BaseLib::ConfigTree::checkConfigParameter(), MaterialLib::Solids::createLinearElasticIsotropic(), NumLib::createNewtonRaphsonSolverParameters(), DBUG(), ParameterLib::findParameter(), and BaseLib::ConfigTree::getConfigSubtree().

Referenced by MaterialLib::Solids::createConstitutiveRelation().

◆ 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().