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 bool const library_path_is_relative_to_prj_file);
31
32template <int DisplacementDim, typename Gradients, typename TDynForces,
33 typename ExtStateVars>
34std::unique_ptr<
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 bool const library_path_is_relative_to_prj_file)
42{
43 auto conf = createMFrontConfig(DisplacementDim, parameters, config,
44 library_path_is_relative_to_prj_file);
45
46 return std::make_unique<
48 std::move(conf.behaviour), std::move(conf.material_properties),
49 std::move(conf.state_variables_initial_properties),
50 local_coordinate_system);
51}
52} // namespace MaterialLib::Solids::MFront
MFrontConfig createMFrontConfig(int const displacement_dim, std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const &parameters, BaseLib::ConfigTree const &config, bool const library_path_is_relative_to_prj_file)
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, bool const library_path_is_relative_to_prj_file)
std::map< std::string, ParameterLib::Parameter< double > const * > state_variables_initial_properties
std::vector< ParameterLib::Parameter< double > const * > material_properties