|
musica (C++)
|
Material properties. More...
#include <materialbase.hpp>

Public Member Functions | |
| MaterialBase (const std::unordered_map< std::string, T > &props={}) | |
| Constructor. | |
| virtual | ~MaterialBase ()=default |
| Destructor. | |
| virtual void | initialize (StateVariable< T > &sv) |
| Initialize the material. | |
| T & | operator[] (const std::string &key) |
| Access material properties. | |
| T | operator[] (const std::string &key) const |
| Access material properties. | |
| void | __setitem__ (const std::string &key, const T value) |
| Set item. | |
| bool | __contains__ (const std::string &key) const |
| Determine if the material has a property, to be used in Python. | |
| T | at (const std::string &key) const |
| Access material properties. | |
| T | get (const std::string &key, const T default_=0.0) const |
| void | set (const std::string &key, const T value) |
| Set material properties. | |
| T | sin_phi_mises (const T ba=0.0, const T Ra=1.0) const |
| Friction angle sine of Von Mises failure criteria. | |
| T | sin_phi_tresca (const T ba=0.0, const T Ra=1.0) const |
| Friction angle sine of Tresca failure criteria. | |
| T | sin_phi_smp (const T ba=0.0, const T Ra=1.0) const |
| Friction angle sine of SMP failure criteria. | |
| T | sin_phi_combined (const T ba=0.0, const T Ra=1.0, const T weight_mises=0.0, const T weight_tresca=0.0, const T weight_mohr_coulomb=1.0, const T weight_smp=0.0) const |
| Sine of combined friction angle. | |
| T | phi_combined (const T ba=0.0, const T Ra=1.0, const T weight_mises=0.0, const T weight_tresca=0.0, const T weight_mohr_coulomb=1.0, const T weight_smp=0.0) const |
| Combined friction angle. | |
| T | mu (T ba=0.0, T Ra=1.0, T weight_mises=0.0, T weight_tresca=0.0, T weight_mohr_coulomb=1.0, T weight_smp=0.0) const |
| friction coefficient | |
| T | Mc (T ba=0.0, T Ra=1.0, T weight_mises=0.0, T weight_tresca=0.0, T weight_mohr_coulomb=1.0, T weight_smp=0.0) const |
| Get the critical state slope for compression. | |
| T | Me (T ba=0.0, T Ra=1.0, T weight_mises=0.0, T weight_tresca=0.0, T weight_mohr_coulomb=1.0, T weight_smp=0.0) const |
| Get the critical state slope for extension. | |
Static Public Member Functions | |
| static std::unordered_map< std::string, T > | create (const std::vector< std::string > &keys, const std::vector< T > &values) |
| Create a material. | |
Public Attributes | |
| std::unordered_map< std::string, T > | props = {} |
| Material properties. | |
Material properties.
|
inlineexplicit |
|
virtualdefault |
Destructor.
|
inline |
Determine if the material has a property, to be used in Python.
| key | Property name |
|
inline |
Set item.
| key | Property name |
| value | Property value |
References set().

|
inline |
Access material properties.
| key | Property name |
Referenced by micromechanical::core::Material< T >::Ad(), micromechanical::core::Material< T >::b(), micromechanical::core::Material< T >::c(), micromechanical::core::Material< T >::ch(), micromechanical::core::Material< T >::chi0(), micromechanical::core::Material< T >::cohesion(), micromechanical::core::Material< T >::e0(), micromechanical::core::Material< T >::ec0(), micromechanical::core::Material< T >::emax(), micromechanical::core::Material< T >::emin(), micromechanical::core::Material< T >::eref(), micromechanical::core::Material< T >::eref0(), micromechanical::core::Material< T >::erefu(), micromechanical::core::Material< T >::fb0(), micromechanical::core::Material< T >::fc0(), micromechanical::core::Material< T >::fref(), micromechanical::core::Material< T >::h0(), micromechanical::core::Material< T >::hp(), micromechanical::core::Material< T >::kappa(), micromechanical::core::Material< T >::kn0(), micromechanical::core::Material< T >::kp(), micromechanical::core::Material< T >::kpr(), micromechanical::core::Material< T >::krr(), micromechanical::core::Material< T >::kt0(), micromechanical::core::Material< T >::Lambda(), micromechanical::core::Material< T >::m(), micromechanical::core::Material< T >::n(), micromechanical::core::Material< T >::nd(), micromechanical::core::Material< T >::ne(), micromechanical::core::Material< T >::ng(), micromechanical::core::Material< T >::np(), micromechanical::core::Material< T >::nw(), micromechanical::core::Material< T >::phi(), micromechanical::core::Material< T >::pr(), micromechanical::core::Material< T >::pref(), micromechanical::core::Material< T >::R(), micromechanical::core::Material< T >::rho(), micromechanical::core::Material< T >::rhoc(), micromechanical::core::Material< T >::theta(), micromechanical::core::Material< T >::V(), micromechanical::core::Material< T >::vf(), micromechanical::core::Material< T >::vi(), micromechanical::core::Material< T >::X(), micromechanical::core::Material< T >::xi(), micromechanical::core::Material< T >::xib(), and micromechanical::core::Material< T >::xic().

|
inlinestatic |
Create a material.
| keys | The keys of the material properties |
| values | The values of the material properties |
References props.
Referenced by elastoplastic::core::ElastoplasticMaterial< T >::elastic(), elastoplastic::core::ElastoplasticMaterial< T >::j2yang(), elastoplastic::core::ElastoplasticMaterial< T >::mohrcoulomb(), and elastoplastic::core::ElastoplasticMaterial< T >::simsand().

|
inline |
Referenced by elastoplastic::core::ElastoplasticMaterial< T >::Ad(), elastoplastic::core::ElastoplasticMaterial< T >::c(), elastoplastic::core::ElastoplasticMaterial< T >::E(), elastoplastic::core::ElastoplasticMaterial< T >::e0(), elastoplastic::core::ElastoplasticMaterial< T >::ea(), elastoplastic::core::ElastoplasticMaterial< T >::epsilon(), elastoplastic::core::ElastoplasticMaterial< T >::epsr(), elastoplastic::core::ElastoplasticMaterial< T >::eref(), elastoplastic::core::ElastoplasticMaterial< T >::G(), micromechanical::core::Material< T >::get_(), micromechanical::core::Material< T >::initialize(), elastoplastic::core::ElastoplasticMaterial< T >::K(), elastoplastic::core::ElastoplasticMaterial< T >::kp(), elastoplastic::core::ElastoplasticMaterial< T >::Lambda(), elastoplastic::core::ElastoplasticMaterial< T >::lame(), elastoplastic::core::ElastoplasticMaterial< T >::M(), elastoplastic::core::ElastoplasticMaterial< T >::me(), elastoplastic::core::ElastoplasticMaterial< T >::nd(), elastoplastic::core::ElastoplasticMaterial< T >::ne(), elastoplastic::core::ElastoplasticMaterial< T >::np(), elastoplastic::core::ElastoplasticMaterial< T >::nu(), elastoplastic::core::ElastoplasticMaterial< T >::phi(), elastoplastic::core::ElastoplasticMaterial< T >::phid(), elastoplastic::core::ElastoplasticMaterial< T >::pref(), elastoplastic::core::ElastoplasticMaterial< T >::psi(), sin_phi_combined(), sin_phi_mises(), sin_phi_smp(), sin_phi_tresca(), elastoplastic::core::ElastoplasticMaterial< T >::thetat(), and elastoplastic::core::ElastoplasticMaterial< T >::xi().

|
inlinevirtual |
Initialize the material.
| sv | State variable |
Reimplemented in micromechanical::core::Material< T >.
|
inline |
Get the critical state slope for compression.
References phi_combined(), and PI.

|
inline |
Get the critical state slope for extension.
References phi_combined(), and PI.

|
inline |
|
inline |
Access material properties.
| key | Property name |
|
inline |
Access material properties.
| key | Property name |
|
inline |
Combined friction angle.
References PI, and sin_phi_combined().
Referenced by Mc(), Me(), mu(), and micromechanical::core::Material< T >::phi_().


|
inline |
Set material properties.
| key | Property name |
| value | Property value |
Referenced by __setitem__().

|
inline |
Sine of combined friction angle.
References get(), PI, sin_phi_mises(), sin_phi_smp(), and sin_phi_tresca().
Referenced by phi_combined().


|
inline |
Friction angle sine of Von Mises failure criteria.
Referenced by sin_phi_combined().


|
inline |
Friction angle sine of SMP failure criteria.
Referenced by sin_phi_combined().


|
inline |
Friction angle sine of Tresca failure criteria.
Referenced by sin_phi_combined().


| std::unordered_map<std::string, T> constitutive::MaterialBase< T >::props = {} |
Material properties.
Referenced by micromechanical::core::Material< T >::coulomb(), micromechanical::core::Material< T >::coulomb(), create(), micromechanical::core::Material< T >::create(), elastoplastic::core::ElastoplasticMaterial< T >::elastic(), elastoplastic::core::ElastoplasticMaterial< T >::elastic(), micromechanical::core::Material< T >::elastic(), micromechanical::core::Material< T >::elastic(), elastoplastic::core::ElastoplasticMaterial< T >::ElastoplasticMaterial(), micromechanical::core::Material< T >::exponential(), micromechanical::core::Material< T >::exponential(), micromechanical::core::Material< T >::hyperbolic(), micromechanical::core::Material< T >::hyperbolic(), micromechanical::core::Material< T >::hypoplastic(), micromechanical::core::Material< T >::hypoplastic(), elastoplastic::core::ElastoplasticMaterial< T >::j2yang(), elastoplastic::core::ElastoplasticMaterial< T >::j2yang(), micromechanical::core::Material< T >::Material(), MaterialBase(), micromechanical::core::Material< T >::mcc(), micromechanical::core::Material< T >::mcc(), elastoplastic::core::ElastoplasticMaterial< T >::mohrcoulomb(), elastoplastic::core::ElastoplasticMaterial< T >::mohrcoulomb(), micromechanical::core::Material< T >::osimsand(), micromechanical::core::Material< T >::osimsand(), micromechanical::core::Material< T >::sanisand(), micromechanical::core::Material< T >::sanisand(), elastoplastic::core::ElastoplasticMaterial< T >::simsand(), elastoplastic::core::ElastoplasticMaterial< T >::simsand(), micromechanical::core::Material< T >::simsand(), and micromechanical::core::Material< T >::simsand().