20template <
int DisplacementDim>
 
   21std::unique_ptr<LinearElasticTransverseIsotropic<DisplacementDim>>
 
   23    std::vector<std::unique_ptr<ParameterLib::ParameterBase>> 
const& parameters,
 
   24    std::optional<ParameterLib::CoordinateSystem> 
const&
 
   25        local_coordinate_system,
 
   28    if (!skip_type_checking)
 
   32        DBUG(
"Create LinearElasticTransverseIsotropic material");
 
   37        config, 
"youngs_modulus_i", parameters, 1);
 
   38    DBUG(
"Use '{}' as the in-plane Young’s modulus, E_i.", E_i.name);
 
   42        config, 
"youngs_modulus_a", parameters, 1);
 
   44        "Use '{}' as the Young’s modulus w.r.t. the direction of anisotropy, " 
   50        config, 
"poissons_ratio_ii", parameters, 1);
 
   51    DBUG(
"Use '{}' as the in-plane Poisson’s ratio, nu_ii.", nu_ii.name);
 
   55        config, 
"poissons_ratio_ia", parameters, 1);
 
   57        "Use '{}' as the Poisson ratio perpendicular to the plane of isotropy, " 
   58        "due to strain in the plane of isotropy, nu_ia.",
 
   63        config, 
"shear_modulus_ia", parameters, 1);
 
   65        "Use '{}' as the shear modulus between directions of isotropy and " 
   69    return std::make_unique<LinearElasticTransverseIsotropic<DisplacementDim>>(
 
   70        E_i, E_a, nu_ii, nu_ia, G_ia, local_coordinate_system);
 
 
   73template std::unique_ptr<LinearElasticTransverseIsotropic<2>>
 
   75    std::vector<std::unique_ptr<ParameterLib::ParameterBase>> 
const& parameters,
 
   76    std::optional<ParameterLib::CoordinateSystem> 
const&
 
   77        local_coordinate_system,
 
   80template std::unique_ptr<LinearElasticTransverseIsotropic<3>>
 
   82    std::vector<std::unique_ptr<ParameterLib::ParameterBase>> 
const& parameters,
 
   83    std::optional<ParameterLib::CoordinateSystem> 
const&
 
   84        local_coordinate_system,
 
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
 
void checkConfigParameter(std::string const ¶m, std::string_view const value) const
 
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)
 
OGS_NO_DANGLING Parameter< ParameterDataType > & findParameter(std::string const ¶meter_name, std::vector< std::unique_ptr< ParameterBase > > const ¶meters, int const num_components, MeshLib::Mesh const *const mesh=nullptr)