44#ifndef SRC_NIMBLE_MATERIAL_FACTORY_BASE_H_
45#define SRC_NIMBLE_MATERIAL_FACTORY_BASE_H_
64 find_or_insert_string_in_vector(
const std::string& str, std::vector<std::string>& vec)
66 if (std::find(vec.begin(), vec.end(), str) == vec.end()) { vec.push_back(str); }
76 find_or_insert_string_in_vector(std::string(name), valid_double_parameter_names);
82 find_or_insert_string_in_vector(std::string(name), valid_string_parameter_names);
85 virtual std::shared_ptr<nimble::Material>
104 virtual std::map<std::string, double>
115 std::shared_ptr<nimble::MaterialParameters>
118 std::map<std::string, double>
125 std::shared_ptr<nimble::Material>
material =
nullptr;
129 std::vector<std::string> valid_double_parameter_names;
130 std::vector<std::string> valid_string_parameter_names;
void add_valid_double_parameter_name(const char *name)
Definition nimble_material_factory_base.h:74
virtual void parse_and_create(const std::string &mat_params)
Definition nimble_material_factory_base.h:99
void add_valid_string_parameter_name(const char *name)
Definition nimble_material_factory_base.h:80
std::map< std::string, double > ParseMaterialParamsStringToMap(const std::string &material_parameters) const
Definition nimble_material_factory_base.cc:101
std::shared_ptr< nimble::MaterialParameters > ParseMaterialParametersString(const std::string &material_parameters, int num_material_points=0) const
Definition nimble_material_factory_base.cc:63
virtual ~MaterialFactoryBase()=default
std::shared_ptr< nimble::Material > material
Definition nimble_material_factory_base.h:125
virtual std::shared_ptr< nimble::Material > get_material() const
Definition nimble_material_factory_base.h:86
MaterialFactoryBase()
Definition nimble_material_factory_base.cc:56
virtual void parse_and_create(const std::string &mat_params, int num_points)
Definition nimble_material_factory_base.h:92
virtual std::map< std::string, double > parse_material_params_string(const std::string &mat_params)
Definition nimble_material_factory_base.h:105
std::shared_ptr< const nimble::MaterialParameters > material_params
Definition nimble_material_factory_base.h:126
Definition nimble_material.h:197
Definition nimble_material.h:62
Definition kokkos_contact_manager.h:49