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>>{
67  new CreepBGRa<DisplacementDim>{elastic_data->getMaterialProperties(),
68  nonlinear_solver_parameters, A, n,
69  sigma0, Q}};
70 }
void DBUG(char const *fmt, Args const &... args)
Definition: Logging.h:27
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 27 of file CreepBGRa.cpp.

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

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