![]() |
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.
Inheritance diagram for Material: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 | ) |