31template <
int DisplacementDim>
 
   32std::unique_ptr<MaterialLib::Solids::MechanicsBase<DisplacementDim>>
 
   34    std::vector<std::unique_ptr<ParameterLib::ParameterBase>> 
const& parameters,
 
   35    std::optional<ParameterLib::CoordinateSystem> 
const&
 
   36        local_coordinate_system,
 
   48    if (type == 
"LinearElasticIsotropic")
 
   50        const bool skip_type_checking = 
false;
 
   52            DisplacementDim>(parameters, config, skip_type_checking);
 
   54    if (type == 
"LinearElasticOrthotropic")
 
   56        const bool skip_type_checking = 
false;
 
   59            parameters, local_coordinate_system, config, skip_type_checking);
 
   61    if (type == 
"LinearElasticTransverseIsotropic")
 
   63        const bool skip_type_checking = 
false;
 
   66            parameters, local_coordinate_system, config, skip_type_checking);
 
   73    if (type == 
"CreepBGRa")
 
   82            parameters, local_coordinate_system, config);
 
   85            "OGS is compiled without MFront support. See OGS_USE_MFRONT CMake " 
   89    OGS_FATAL(
"Cannot construct constitutive relation of given type '{:s}'.",
 
 
   93template std::unique_ptr<MaterialLib::Solids::MechanicsBase<2>>
 
   95    std::vector<std::unique_ptr<ParameterLib::ParameterBase>> 
const& parameters,
 
   96    std::optional<ParameterLib::CoordinateSystem> 
const&
 
   97        local_coordinate_system,
 
  100template std::unique_ptr<MaterialLib::Solids::MechanicsBase<3>>
 
  102    std::vector<std::unique_ptr<ParameterLib::ParameterBase>> 
const& parameters,
 
  103    std::optional<ParameterLib::CoordinateSystem> 
const&
 
  104        local_coordinate_system,
 
  107template <
int DisplacementDim>
 
  109         std::shared_ptr<MaterialLib::Solids::MechanicsBase<DisplacementDim>>>
 
  111    std::vector<std::unique_ptr<ParameterLib::ParameterBase>> 
const& parameters,
 
  112    std::optional<ParameterLib::CoordinateSystem> 
const&
 
  113        local_coordinate_system,
 
  120        local_coordinate_system,
 
 
  126template std::map<int, std::shared_ptr<MaterialLib::Solids::MechanicsBase<2>>>
 
  128    std::vector<std::unique_ptr<ParameterLib::ParameterBase>> 
const& parameters,
 
  129    std::optional<ParameterLib::CoordinateSystem> 
const&
 
  130        local_coordinate_system,
 
  134template std::map<int, std::shared_ptr<MaterialLib::Solids::MechanicsBase<3>>>
 
  136    std::vector<std::unique_ptr<ParameterLib::ParameterBase>> 
const& parameters,
 
  137    std::optional<ParameterLib::CoordinateSystem> 
const&
 
  138        local_coordinate_system,
 
 
T peekConfigParameter(std::string const ¶m) const
 
std::unique_ptr< MaterialLib::Solids::MechanicsBase< DisplacementDim > > createCreepBGRa(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, BaseLib::ConfigTree const &config)
 
std::unique_ptr< SolidEhlers< DisplacementDim > > createEhlers(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, BaseLib::ConfigTree const &config)
 
std::unique_ptr< Lubby2< DisplacementDim > > createLubby2(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, BaseLib::ConfigTree const &config)
 
std::unique_ptr< MechanicsBase< DisplacementDim > > createMFront(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, BaseLib::ConfigTree const &config)
 
std::map< int, std::shared_ptr< MaterialLib::Solids::MechanicsBase< DisplacementDim > > > createConstitutiveRelations(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, MeshLib::PropertyVector< int > const *const material_ids, BaseLib::ConfigTree const &config)
 
std::unique_ptr< LinearElasticTransverseIsotropic< DisplacementDim > > createLinearElasticTransverseIsotropic(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, BaseLib::ConfigTree const &config, const bool skip_type_checking)
 
std::unique_ptr< LinearElasticOrthotropic< DisplacementDim > > createLinearElasticOrthotropic(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, BaseLib::ConfigTree const &config, const bool skip_type_checking)
 
std::unique_ptr< LinearElasticIsotropic< DisplacementDim > > createLinearElasticIsotropic(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, BaseLib::ConfigTree const &config, const bool skip_type_checking)
 
std::map< int, std::shared_ptr< SolidConstitutiveRelation > > createConstitutiveRelationsGeneric(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, MeshLib::PropertyVector< int > const *const material_ids, BaseLib::ConfigTree const &config, std::unique_ptr< SolidConstitutiveRelation >(*create_constitutive_relation)(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &, std::optional< ParameterLib::CoordinateSystem > const &, BaseLib::ConfigTree const &))
 
template std::map< int, std::shared_ptr< MaterialLib::Solids::MechanicsBase< 2 > > > createConstitutiveRelations< 2 >(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, MeshLib::PropertyVector< int > const *const material_ids, BaseLib::ConfigTree const &config)
 
std::unique_ptr< MaterialLib::Solids::MechanicsBase< DisplacementDim > > createConstitutiveRelation(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, BaseLib::ConfigTree const &config)
 
template std::map< int, std::shared_ptr< MaterialLib::Solids::MechanicsBase< 3 > > > createConstitutiveRelations< 3 >(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, MeshLib::PropertyVector< int > const *const material_ids, BaseLib::ConfigTree const &config)