OGS
CreateConstitutiveRelation.h
Go to the documentation of this file.
1
12#pragma once
13
14#include <map>
15#include <memory>
16#include <optional>
17#include <vector>
18
19namespace BaseLib
20{
21class ConfigTree;
22}
23
24namespace ParameterLib
25{
26struct ParameterBase;
27struct CoordinateSystem;
28}
29
30namespace MaterialLib
31{
32namespace Solids
33{
34template <int DisplacementDim>
35struct MechanicsBase;
36
37template <int DisplacementDim>
38std::unique_ptr<MaterialLib::Solids::MechanicsBase<DisplacementDim>>
40 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
41 std::optional<ParameterLib::CoordinateSystem> const&
42 local_coordinate_system,
43 BaseLib::ConfigTree const& config);
44
45extern template std::unique_ptr<MaterialLib::Solids::MechanicsBase<2>>
47 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
48 std::optional<ParameterLib::CoordinateSystem> const&
49 local_coordinate_system,
50 BaseLib::ConfigTree const& config);
51
52extern template std::unique_ptr<MaterialLib::Solids::MechanicsBase<3>>
54 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
55 std::optional<ParameterLib::CoordinateSystem> const&
56 local_coordinate_system,
57 BaseLib::ConfigTree const& config);
58
59template <int DisplacementDim>
60std::map<int,
61 std::unique_ptr<MaterialLib::Solids::MechanicsBase<DisplacementDim>>>
63 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
64 std::optional<ParameterLib::CoordinateSystem> const&
65 local_coordinate_system,
66 BaseLib::ConfigTree const& config);
67
68extern template std::map<int,
69 std::unique_ptr<MaterialLib::Solids::MechanicsBase<2>>>
71 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
72 std::optional<ParameterLib::CoordinateSystem> const&
73 local_coordinate_system,
74 BaseLib::ConfigTree const& config);
75
76extern template std::map<int,
77 std::unique_ptr<MaterialLib::Solids::MechanicsBase<3>>>
79 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
80 std::optional<ParameterLib::CoordinateSystem> const&
81 local_coordinate_system,
82 BaseLib::ConfigTree const& config);
83} // namespace Solids
84} // namespace MaterialLib
std::map< int, std::unique_ptr< MaterialLib::Solids::MechanicsBase< DisplacementDim > > > createConstitutiveRelations(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, BaseLib::ConfigTree const &config)
template std::map< int, std::unique_ptr< MaterialLib::Solids::MechanicsBase< 2 > > > createConstitutiveRelations< 2 >(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, BaseLib::ConfigTree const &config)
template std::map< int, std::unique_ptr< MaterialLib::Solids::MechanicsBase< 3 > > > createConstitutiveRelations< 3 >(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, BaseLib::ConfigTree const &config)
std::unique_ptr< MaterialLib::Solids::MechanicsBase< DisplacementDim > > createConstitutiveRelation(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, BaseLib::ConfigTree const &config)