OGS
CreateMFrontGeneric.h
Go to the documentation of this file.
1
10#pragma once
11
13#include "MFrontGeneric.h"
14
16{
17
19{
20 mgis::behaviour::Behaviour behaviour;
21 std::vector<ParameterLib::Parameter<double> const*> material_properties;
22 std::map<std::string, ParameterLib::Parameter<double> const*>
24};
25
27 int const displacement_dim,
28 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
29 BaseLib::ConfigTree const& config);
30
31template <int DisplacementDim, typename Gradients, typename TDynForces,
32 typename ExtStateVars>
33std::unique_ptr<
36 std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
37 std::optional<ParameterLib::CoordinateSystem> const&
38 local_coordinate_system,
39 BaseLib::ConfigTree const& config)
40{
41 auto conf = createMFrontConfig(DisplacementDim, parameters, config);
42
43 return std::make_unique<
45 std::move(conf.behaviour), std::move(conf.material_properties),
46 std::move(conf.state_variables_initial_properties),
47 local_coordinate_system);
48}
49} // 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