OGS
CreateConstitutiveRelationIce.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#include "MechanicsBase.h"
9
10namespace MaterialLib
11{
12namespace Solids
13{
14template <int DisplacementDim>
15std::unique_ptr<MaterialLib::Solids::MechanicsBase<DisplacementDim>>
17 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
18 std::optional<ParameterLib::CoordinateSystem> const&
19 local_coordinate_system,
20 BaseLib::ConfigTree const& config)
21{
22 auto const ice_constitutive_relation_config =
24 config.getConfigSubtreeOptional("ice_constitutive_relation");
25
26 if (!ice_constitutive_relation_config)
27 {
28 return nullptr;
29 }
30
32 parameters, local_coordinate_system, *ice_constitutive_relation_config);
33}
34
35template std::unique_ptr<MaterialLib::Solids::MechanicsBase<2>>
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
42template std::unique_ptr<MaterialLib::Solids::MechanicsBase<3>>
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} // namespace Solids
49} // namespace MaterialLib
std::optional< ConfigTree > getConfigSubtreeOptional(std::string const &root) const
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)
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)