NimbleSM
NimbleSM is a solid mechanics simulation code for dynamic systems
Loading...
Searching...
No Matches
nimble::MaterialParameters Class Reference

#include <nimble_material.h>

Public Member Functions

 MaterialParameters ()
 
NIMBLE_INLINE_FUNCTION MaterialParameters (const std::string &material_name, const std::map< std::string, std::string > &string_params, const std::map< std::string, double > &double_params, int num_material_points=0)
 
 ~MaterialParameters ()=default
 
void AddParameter (const char *parameter_name, double parameter_value)
 
void AddStringParameter (const char *parameter_name, const char *parameter_value)
 
bool IsParameter (const char *parameter_name) const
 
bool IsStringParameter (const char *parameter_name) const
 
std::string GetMaterialName (bool upper_case=false) const
 
int GetNumParameters () const
 
int GetNumStringParameters () const
 
double GetParameterValue (const char *parameter_name) const
 
const std::string & GetStringParameterValue (const char *parameter_name) const
 
int GetNumMaterialPoints () const
 
const std::map< std::string, double > & GetParameters () const
 
const std::map< std::string, std::string > & GetStringParameters () const
 
void Print () const
 

Static Public Member Functions

static void ConvertStringToUpperCase (std::string &s)
 

Static Public Attributes

static const int MAX_NUM_MAT_PARAM = 64
 
static const int MAX_MAT_MODEL_STR_LEN = 64
 

Constructor & Destructor Documentation

◆ MaterialParameters() [1/2]

nimble::MaterialParameters::MaterialParameters ( )
inline
67: num_material_points_(0) {}

◆ MaterialParameters() [2/2]

NIMBLE_INLINE_FUNCTION nimble::MaterialParameters::MaterialParameters ( const std::string & material_name,
const std::map< std::string, std::string > & string_params,
const std::map< std::string, double > & double_params,
int num_material_points = 0 )
inline
75 : material_name_(material_name),
76 material_string_parameters_(string_params),
77 material_double_parameters_(double_params),
78 num_material_points_(num_material_points)
79 {
80 }

◆ ~MaterialParameters()

nimble::MaterialParameters::~MaterialParameters ( )
inlinedefault

Member Function Documentation

◆ AddParameter()

void nimble::MaterialParameters::AddParameter ( const char * parameter_name,
double parameter_value )
inline
92 {
93 material_double_parameters_.insert(std::make_pair(std::string(parameter_name), parameter_value));
94 }

◆ AddStringParameter()

void nimble::MaterialParameters::AddStringParameter ( const char * parameter_name,
const char * parameter_value )
inline
98 {
99 material_string_parameters_.insert(std::make_pair(std::string(parameter_name), std::string(parameter_value)));
100 }

◆ ConvertStringToUpperCase()

static void nimble::MaterialParameters::ConvertStringToUpperCase ( std::string & s)
inlinestatic
84 {
85 std::transform(s.begin(), s.end(), s.begin(), ::toupper);
86 }

◆ GetMaterialName()

std::string nimble::MaterialParameters::GetMaterialName ( bool upper_case = false) const
inline
116 {
117 std::string name = material_name_;
118 if (upper_case) { ConvertStringToUpperCase(name); }
119 return name;
120 }
static void ConvertStringToUpperCase(std::string &s)
Definition nimble_material.h:83

◆ GetNumMaterialPoints()

int nimble::MaterialParameters::GetNumMaterialPoints ( ) const
inline
158 {
159 return num_material_points_;
160 }

◆ GetNumParameters()

int nimble::MaterialParameters::GetNumParameters ( ) const
inline
124 {
125 return static_cast<int>(material_double_parameters_.size());
126 }

◆ GetNumStringParameters()

int nimble::MaterialParameters::GetNumStringParameters ( ) const
inline
130 {
131 return static_cast<int>(material_string_parameters_.size());
132 }

◆ GetParameters()

const std::map< std::string, double > & nimble::MaterialParameters::GetParameters ( ) const
inline
164 {
165 return material_double_parameters_;
166 }

◆ GetParameterValue()

double nimble::MaterialParameters::GetParameterValue ( const char * parameter_name) const
inline
136 {
137 try {
138 return material_double_parameters_.at(parameter_name);
139 } catch (...) {
140 std::string errMsg = "Double parameter '" + std::string(parameter_name) + "' does not exist";
141 throw std::invalid_argument(errMsg);
142 }
143 }

◆ GetStringParameters()

const std::map< std::string, std::string > & nimble::MaterialParameters::GetStringParameters ( ) const
inline
170 {
171 return material_string_parameters_;
172 }

◆ GetStringParameterValue()

const std::string & nimble::MaterialParameters::GetStringParameterValue ( const char * parameter_name) const
inline
147 {
148 try {
149 return material_string_parameters_.at(parameter_name);
150 } catch (...) {
151 std::string errMsg = "String parameter '" + std::string(parameter_name) + "' does not exist";
152 throw std::invalid_argument(errMsg);
153 }
154 }

◆ IsParameter()

bool nimble::MaterialParameters::IsParameter ( const char * parameter_name) const
inline
104 {
105 return material_double_parameters_.find(parameter_name) != material_double_parameters_.end();
106 }

◆ IsStringParameter()

bool nimble::MaterialParameters::IsStringParameter ( const char * parameter_name) const
inline
110 {
111 return material_string_parameters_.find(parameter_name) != material_string_parameters_.end();
112 }

◆ Print()

void nimble::MaterialParameters::Print ( ) const
inline
176 {
177 printf("\n--MaterialParameters\n");
178 printf(" material name %s\n", material_name_.c_str());
179 int num_material_double_parameters_ = static_cast<int>(material_double_parameters_.size());
180 printf(" number of material double parameters %d\n", num_material_double_parameters_);
181 for (const auto& p : material_double_parameters_) { printf(" %s %f\n", p.first.c_str(), p.second); }
182 int num_material_string_parameters_ = static_cast<int>(material_string_parameters_.size());
183 printf(" number of material string parameters %d\n", num_material_string_parameters_);
184 for (const auto& p : material_string_parameters_) { printf(" %s %s\n", p.first.c_str(), p.second.c_str()); }
185 }

Member Data Documentation

◆ MAX_MAT_MODEL_STR_LEN

const int nimble::MaterialParameters::MAX_MAT_MODEL_STR_LEN = 64
static

◆ MAX_NUM_MAT_PARAM

const int nimble::MaterialParameters::MAX_NUM_MAT_PARAM = 64
static

The documentation for this class was generated from the following file: