OGS
ThermoRichardsMechanics/ConstitutiveStressSaturation_StrainPressureTemperature/CreateConstitutiveSetting.cpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
5
8
10{
12{
13template <int DisplacementDim>
14std::unique_ptr<SolidConstitutiveRelation<DisplacementDim>> createMFrontGeneric(
15 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
16 std::optional<ParameterLib::CoordinateSystem> const&
17 local_coordinate_system,
18 BaseLib::ConfigTree const& config)
19{
20 namespace MSM = MaterialLib::Solids::MFront;
21 using namespace boost::mp11;
22
23 return MSM::createMFrontGeneric<
24 DisplacementDim, mp_list<MSM::Strain, MSM::LiquidPressure>,
25 mp_list<MSM::Stress, MSM::Saturation>, mp_list<MSM::Temperature>>(
26 parameters, local_coordinate_system, config);
27}
28
29template <int DisplacementDim>
30std::map<int, std::shared_ptr<SolidConstitutiveRelation<DisplacementDim>>>
32 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
33 std::optional<ParameterLib::CoordinateSystem> const&
34 local_coordinate_system,
35 MeshLib::PropertyVector<int> const* const material_ids,
36 BaseLib::ConfigTree const& config)
37{
39 parameters, local_coordinate_system, material_ids, config,
41}
42
43template struct CreateConstitutiveSetting<2>;
44template struct CreateConstitutiveSetting<3>;
45} // namespace ConstitutiveStressSaturation_StrainPressureTemperature
46} // namespace ProcessLib::ThermoRichardsMechanics
std::map< int, std::shared_ptr< SolidConstitutiveRelation > > createConstitutiveRelationsGeneric(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, 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 &))
std::unique_ptr< SolidConstitutiveRelation< DisplacementDim > > createMFrontGeneric(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, BaseLib::ConfigTree const &config)
static std::map< int, std::shared_ptr< SolidConstitutiveRelation< DisplacementDim > > > createSolidConstitutiveRelations(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, MeshLib::PropertyVector< int > const *const material_ids, BaseLib::ConfigTree const &config)