OGS
CreateMFrontGeneric.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
7#include "MFrontGeneric.h"
8
10{
11
13{
14 mgis::behaviour::Behaviour behaviour;
15 std::vector<ParameterLib::Parameter<double> const*> material_properties;
16 std::map<std::string, ParameterLib::Parameter<double> const*>
18};
19
21 int const displacement_dim,
22 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
23 BaseLib::ConfigTree const& config);
24
25template <int DisplacementDim, typename Gradients, typename TDynForces,
26 typename ExtStateVars>
27std::unique_ptr<
30 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
31 std::optional<ParameterLib::CoordinateSystem> const&
32 local_coordinate_system,
33 BaseLib::ConfigTree const& config)
34{
35 auto conf = createMFrontConfig(DisplacementDim, parameters, config);
36
37 return std::make_unique<
39 std::move(conf.behaviour), std::move(conf.material_properties),
40 std::move(conf.state_variables_initial_properties),
41 local_coordinate_system);
42}
43} // namespace MaterialLib::Solids::MFront
MFrontConfig createMFrontConfig(int const displacement_dim, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, BaseLib::ConfigTree const &config)
std::unique_ptr< MFrontGeneric< DisplacementDim, Gradients, TDynForces, ExtStateVars > > createMFrontGeneric(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, std::optional< ParameterLib::CoordinateSystem > const &local_coordinate_system, BaseLib::ConfigTree const &config)
std::map< std::string, ParameterLib::Parameter< double > const * > state_variables_initial_properties
std::vector< ParameterLib::Parameter< double > const * > material_properties