Karamelo  714599e9
Parallel Material Point Method Simulator
Material Class Reference

Detailed Description

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< Matmaterials
 List of defined materials.
 
vector< class Strength * > strengths
 List of defined Strengths.
 
vector< class Temperature * > temperatures
 List of defined Temperature laws.
 

Member Enumeration Documentation

◆ constitutive_model

Enumerator
LINEAR 

Linear elasticity.

NEO_HOOKEAN 

Neo-Hookean model.

SHOCK 

EOS + Strength or fluids.

RIGID 

Rigid material.

Constructor & Destructor Documentation

◆ 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

◆ ~Material()

Material::~Material ( )
virtual

Destructor.

Destroys the vectors and maps of the known EOS, Strength, Damage, and Temperature.

Member Function Documentation

◆ add_damage()

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()

◆ add_EOS()

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()

◆ add_material()

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()

◆ add_strength()

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()

◆ add_temperature()

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()

◆ find_damage()

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.

◆ find_EOS()

int Material::find_EOS ( string  name)

Finds the ID of an EOS.

This function checks if 'name' is already used for an EOS.
If an EOS named 'name' exists, it returns its ID. It returns -1 otherwise.

◆ find_material()

int Material::find_material ( string  name)

Finds the ID of a Material.

This function checks if 'name' is already used for a Material.
If a Material named 'name' exists, it returns its ID. It returns -1 otherwise.

◆ find_strength()

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.

◆ find_temperature()

int Material::find_temperature ( string  name)

Finds the ID of a Temperature.

This function checks if 'name' is already used for an EOS.
If an EOS named 'name' exists, it returns its ID. It returns -1 otherwise.


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