OGS
CreateConstitutiveRelationIce.h
Go to the documentation of this file.
1
10#pragma once
11
12#include <memory>
13#include <optional>
14#include <vector>
15
16namespace BaseLib
17{
18class ConfigTree;
19}
20
21namespace ParameterLib
22{
23struct ParameterBase;
24struct CoordinateSystem;
25} // namespace ParameterLib
26
27namespace MaterialLib
28{
29namespace Solids
30{
31template <int DisplacementDim>
32struct MechanicsBase;
33
34template <int DisplacementDim>
35std::unique_ptr<MaterialLib::Solids::MechanicsBase<DisplacementDim>>
37 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
38 std::optional<ParameterLib::CoordinateSystem> const&
39 local_coordinate_system,
40 BaseLib::ConfigTree const& config);
41
42extern template std::unique_ptr<MaterialLib::Solids::MechanicsBase<2>>
44 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
45 std::optional<ParameterLib::CoordinateSystem> const&
46 local_coordinate_system,
47 BaseLib::ConfigTree const& config);
48
49extern template std::unique_ptr<MaterialLib::Solids::MechanicsBase<3>>
51 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
52 std::optional<ParameterLib::CoordinateSystem> const&
53 local_coordinate_system,
54 BaseLib::ConfigTree const& config);
55} // namespace Solids
56} // namespace MaterialLib
std::unique_ptr< MaterialLib::Solids::MechanicsBase< DisplacementDim > > createConstitutiveRelationIce(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, BaseLib::ConfigTree const &config)