![]() |
Karamelo
714599e9
Parallel Material Point Method Simulator
|
Stores all the user defined Equations of State, elasto-plastic, damage, and temperature laws as well as the different materials which are a combination of the formers.
Public Types | |
enum | constitutive_model { LINEAR, NEO_HOOKEAN, SHOCK, RIGID } |
Public Member Functions | |
void | add_damage (vector< string >) |
Create a new Damage. More... | |
void | add_EOS (vector< string >) |
Create a new EOS. More... | |
void | add_material (vector< string >) |
Create a new Material. More... | |
void | add_strength (vector< string >) |
Create a new Strength. More... | |
void | add_temperature (vector< string >) |
Create a new Temperature. More... | |
int | find_damage (string) |
Finds the ID of a Damage. More... | |
int | find_EOS (string) |
Finds the ID of an EOS. More... | |
int | find_material (string) |
Finds the ID of a Material. More... | |
int | find_strength (string) |
Finds the ID of a Strength. More... | |
int | find_temperature (string) |
Finds the ID of a Temperature. More... | |
Material (class MPM *) | |
Creator. More... | |
virtual | ~Material () |
Destructor. More... | |
Public Attributes | |
vector< class Damage * > | damages |
List of defined Damage laws. | |
vector< class EOS * > | EOSs |
List of defined Equations of State. | |
string | id |
Identification name of the material. | |
vector< Mat > | materials |
List of defined materials. | |
vector< class Strength * > | strengths |
List of defined Strengths. | |
vector< class Temperature * > | temperatures |
List of defined Temperature laws. | |
Enumerator | |
---|---|
LINEAR | Linear elasticity. |
NEO_HOOKEAN | Neo-Hookean model. |
SHOCK | EOS + Strength or fluids. |
RIGID | Rigid material. |
Material::Material | ( | class MPM * | mpm | ) |
Creator.
Creates the maps of the different known EOS, Strength, Damage, and Temperature. The list of these different laws are fetched in headers style_eos.h, style_strength.h, style_damage.h, style_temperature.h
|
virtual |
Destructor.
Destroys the vectors and maps of the known EOS, Strength, Damage, and Temperature.
void Material::add_damage | ( | vector< string > | args | ) |
Create a new Damage.
This function is the C++ equivalent to the damage() user function.
Syntax: damage(name, type, type specific arguments)
This function checks if the damage name was already used.
If not, it creates an entry in the vector Material::damages and calls Damage::Damage()
void Material::add_EOS | ( | vector< string > | args | ) |
Create a new EOS.
This function is the C++ equivalent to the eos() user function.
Syntax: eos(name, type, type specific arguments)
This function checks if the EOS name was already used.
If not, it creates an entry in the vector Material::EOSs and calls EOS::EOS()
void Material::add_material | ( | vector< string > | args | ) |
Create a new Material.
This function is the C++ equivalent to the eos() user function.
Syntax: eos(name, type, type specific arguments)
This function checks if the EOS name was already used.
If not, it creates an entry in the vector Material::EOSs and calls EOS::EOS()
void Material::add_strength | ( | vector< string > | args | ) |
Create a new Strength.
This function is the C++ equivalent to the strength() user function.
Syntax: strength(name, type, type specific arguments)
This function checks if the Strength name was already used.
If not, it creates an entry in the vector Material::strengths and calls Strength::Strength()
void Material::add_temperature | ( | vector< string > | args | ) |
Create a new Temperature.
This function is the C++ equivalent to the temperature() user function.
Syntax: temperature(name, type, type specific arguments)
This function checks if the Temperature name was already used.
If not, it creates an entry in the vector Material::temperatures and calls Temperature::Temperature()
int Material::find_damage | ( | string | name | ) |
Finds the ID of a Damage.
This function checks if 'name' is already used for a Damage.
If a Damage named 'name' exists, it returns its ID. It returns -1 otherwise.
int Material::find_EOS | ( | string | name | ) |
int Material::find_material | ( | string | name | ) |
int Material::find_strength | ( | string | name | ) |
Finds the ID of a Strength.
This function checks if 'name' is already used for a Strength.
If a Strength named 'name' exists, it returns its ID. It returns -1 otherwise.
int Material::find_temperature | ( | string | name | ) |