micromechanical (C++)
|
Material properties for contact laws. More...
#include <material.hpp>
Public Member Functions | |
Material (const std::map< std::string, T > &props={}) | |
Constructor. | |
virtual | ~Material ()=default |
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. | |
T | at (const std::string &key) const |
Access material properties. | |
T | sin_phi_mises (T ba=0.0, T Ra=1.0) const |
Friction angle sine of Von Mises failure criteria. | |
T | sin_phi_tresca (T ba=0.0, T Ra=1.0) const |
Friction angle sine of Tresca failure criteria. | |
T | sin_phi_smp (T ba=0.0, T Ra=1.0) const |
Friction angle sine of SMP failure criteria. | |
T | phi_combined (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 |
Combined friction angle. | |
T | get (const std::string &key, T default_=0.0) const |
Access material properties. | |
T | get_ (const std::string &key, const int idx, T default_=0.0) |
Get a parameter value with anisotropic factor. | |
void | set (const std::string &key, T value) |
Set material properties. | |
bool | __contains__ (const std::string &key) const |
Determine if the material has a property, to be used in Python. | |
void | __setitem__ (const std::string &key, T value) |
Set item. | |
void | setAnisotropicParameters (const std::string &key, const std::string &type="chang1990-ext", std::string evolution="zhao2020", const std::map< std::string, T > &coefs={}) |
Set anisotropic parameters. | |
T | anisotropicFactor (const std::string &key, int idx) |
Return the anisotropic factor. | |
T | kn0_ (const int idx) |
reference normal stiffness | |
T | kt0_ (const int idx) |
reference tangential stiffness | |
T | fref_ (const int idx) |
reference force | |
T | krr_ (const int idx) |
ratio of tangential to normal stiffness | |
T | R_ (const int idx) |
ratio of normal to tangential stiffness | |
T | ne_ (const int idx) |
exponent in the equation of normal stiffness | |
T | ng_ (const int idx) |
exponent in the equation of tangential stiffness | |
T | cohesion_ (const int idx) |
cohesion | |
T | e0_ (const int idx) |
initial void ratio | |
T | ec0_ (const int idx) |
critical void ratio | |
T | emin_ (const int idx) |
minimum void ratio | |
T | emax_ (const int idx) |
maximum void ratio | |
T | Lambda_ (const int idx) |
slope of critical state line | |
T | kappa_ (const int idx) |
slope of swelling line | |
T | xi_ (const int idx) |
a parameter controlling the shape of critical state line | |
T | eref_ (const int idx) |
reference void ratio | |
T | eref0_ (const int idx) |
initial reference void ratio | |
T | pref_ (const int idx) |
reference pressure | |
T | np_ (const int idx) |
a parameter controlling the dilation | |
T | nd_ (const int idx) |
a parameter controlling the dilation | |
T | Ad_ (const int idx) |
a parameter controlling the dilation | |
T | erefu_ (const int idx) |
ultimate reference void ratio | |
T | b_ (const int idx) |
a parameter controlling the particle breakage | |
T | rho_ (const int idx) |
a parameter controlling the rate of particle breakage | |
T | nw_ (const int idx) |
a parameter controlling the particle breakage | |
T | vi_ (const int idx) |
initial slope of normal displacement versus tangential displacement curve | |
T | vf_ (const int idx) |
final slope of normal displacement versus tangential displacement curve | |
T | m_ (const int idx) |
a parameter controlling the shape of yield surface | |
T | n_ (const int idx) |
a parameter controlling the shape of yield surface | |
T | fb0_ (const int idx) |
initial adhesive force | |
T | fc0_ (const int idx) |
initial size of the yield surface | |
T | xib_ (const int idx) |
a parameter controlling the hardening of the adhesive force | |
T | xic_ (const int idx) |
a parameter controlling the hardening of the size of the yield surface | |
T | chi0_ (const int idx) |
initial bounding ratio | |
T | hp_ (const int idx) |
a parameter relating to plastic modulus of bounding surface effect | |
T | kp_ (const int idx) |
a parameter controlling the yield surface of SIMSAND model | |
T | kpr_ (const int idx) |
a parameter controlling the yield surface of SIMSAND model | |
T | h0_ (const int idx) |
a parameter controlling the hardening of the back stress ratio | |
T | ch_ (const int idx) |
a parameter controlling the hardening of the back stress ratio | |
T | c_ (const int idx) |
a parameter controlling the hardening of the back stress ratio | |
T | fnr_ (const int idx) |
mean effective stress when log(e) = 1 in the LCC line (log(e)-log(p) space) | |
T | rhoc_ (const int idx) |
slope of the LCC line in the log(e) - log(p) space | |
T | theta_ (const int idx) |
a constant exponent in the hardening behavior of p0 | |
T | X_ (const int idx) |
a positive model parameter | |
T | V_ (const int idx) |
a large model parameter | |
T | kn0 () const |
reference normal stiffness | |
T | kt0 () const |
reference tangential stiffness | |
T | fref () const |
reference force | |
T | krr () const |
ratio of tangential to normal stiffness | |
T | R () const |
ratio of normal to tangential stiffness | |
T | ne () const |
exponent in the equation of normal stiffness | |
T | ng () const |
exponent in the equation of tangential stiffness | |
T | phi () const |
friction angle | |
T | cohesion () const |
cohesion | |
T | e0 () const |
initial void ratio | |
T | ec0 () const |
critical void ratio | |
T | emin () const |
minimum void ratio | |
T | emax () const |
maximum void ratio | |
T | Lambda () const |
slope of critical state line | |
T | kappa () const |
slope of swelling line | |
T | xi () const |
a parameter controlling the shape of critical state line | |
T | eref () const |
reference void ratio | |
T | eref0 () const |
initial reference void ratio | |
T | pref () const |
reference pressure | |
T | np () const |
a parameter controlling the dilation | |
T | nd () const |
a parameter controlling the dilation | |
T | Ad () const |
a parameter controlling the dilation | |
T | erefu () const |
ultimate reference void ratio | |
T | b () const |
a parameter controlling the particle breakage | |
T | rho () const |
a parameter controlling the rate of particle breakage | |
T | nw () const |
a parameter controlling the particle breakage | |
T | vi () const |
initial slope of normal displacement versus tangential displacement curve | |
T | vf () const |
final slope of normal displacement versus tangential displacement curve | |
T | m () const |
a parameter controlling the shape of yield surface | |
T | n () const |
a parameter controlling the shape of yield surface | |
T | fb0 () const |
initial adhesive force | |
T | fc0 () const |
initial size of the yield surface | |
T | xib () const |
a parameter controlling the hardening of the adhesive force | |
T | xic () const |
a parameter controlling the hardening of the size of the yield surface | |
T | chi0 () const |
initial bounding ratio | |
T | hp () const |
a parameter relating to plastic modulus of bounding surface effect | |
T | kp () const |
a parameter controlling the yield surface of SIMSAND model | |
T | kpr () const |
a parameter controlling the yield surface of SIMSAND model | |
T | h0 () const |
a parameter controlling the hardening of the back stress ratio | |
T | ch () const |
a parameter controlling the hardening of the back stress ratio | |
T | c () const |
a parameter controlling the hardening of the back stress ratio | |
T | pr () const |
mean effective stress when log(e) = 1 in the LCC line (log(e)-log(p) space) | |
T | rhoc () const |
slope of the LCC line in the log(e) - log(p) space | |
T | theta () const |
a constant exponent in the hardening behavior of p0 | |
T | X () const |
a positive model parameter | |
T | V () const |
a large model parameter | |
T | phi_ (const int idx, 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) |
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 | mu_ (const int idx, 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) |
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 | Mc_ (const int idx, 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) |
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. | |
T | Me_ (const int idx, 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) |
Get the critical state slope for extension. | |
Static Public Member Functions | |
static std::map< std::string, T > | create (const std::vector< std::string > &keys, const std::vector< T > &values) |
Create a material. | |
static std::map< std::string, T > | elastic (const std::vector< T > &props) |
Create an elastic material. | |
static std::map< std::string, T > | elastic (T *props) |
Create an elastic material. | |
static std::map< std::string, T > | coulomb (const std::vector< T > &props) |
Create a coulomb material. | |
static std::map< std::string, T > | coulomb (T *props) |
Create a coulomb material. | |
static std::map< std::string, T > | exponential (const std::vector< T > &props) |
Create an exponential material. | |
static std::map< std::string, T > | exponential (T *props) |
Create an exponential material. | |
static std::map< std::string, T > | hyperbolic (const std::vector< T > &props) |
Create a hyperbolic material. | |
static std::map< std::string, T > | hyperbolic (T *props) |
Create a hyperbolic material. | |
static std::map< std::string, T > | hypoplastic (const std::vector< T > &props) |
Create a hypoplastic material. | |
static std::map< std::string, T > | hypoplastic (T *props) |
Create a hypoplastic material. | |
static std::map< std::string, T > | mcc (const std::vector< T > &props) |
Create a mcc material. | |
static std::map< std::string, T > | mcc (T *props) |
Create a mcc material. | |
static std::map< std::string, T > | sanisand (const std::vector< T > &props) |
Create a sanisand material. | |
static std::map< std::string, T > | sanisand (T *props) |
Create a sanisand material. | |
static std::map< std::string, T > | simsand (const std::vector< T > &props) |
Create a simsand material. | |
static std::map< std::string, T > | simsand (T *props) |
Create a simsand material. | |
static std::map< std::string, T > | osimsand (const std::vector< T > &props) |
Create a osimsand material. | |
static std::map< std::string, T > | osimsand (T *props) |
Create a osimsand material. | |
Public Attributes | |
std::map< std::string, T > | props = {} |
Material properties. | |
std::shared_ptr< Integration< T > > | integration = std::shared_ptr<Integration<T>>(nullptr) |
Integration. | |
std::map< std::string, std::shared_ptr< FabricTensor< T > > > | fabrics = {} |
Fabric tensors. | |
Material properties for contact laws.
|
inlineexplicit |
|
virtualdefault |
|
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 |
|
inline |
|
inline |
|
inline |
Access material properties.
key | Property name |
Referenced by Ad(), b(), c(), ch(), chi0(), cohesion(), e0(), ec0(), emax(), emin(), eref(), eref0(), erefu(), fb0(), fc0(), fref(), h0(), hp(), kappa(), kn0(), kp(), kpr(), krr(), kt0(), Lambda(), m(), n(), nd(), ne(), ng(), np(), nw(), phi(), pr(), pref(), R(), rho(), rhoc(), theta(), V(), vf(), vi(), X(), xi(), xib(), and xic().
|
inline |
a parameter controlling the particle breakage
References at().
|
inline |
a parameter controlling the particle breakage
References get_().
|
inline |
a parameter controlling the hardening of the back stress ratio
References at().
|
inline |
a parameter controlling the hardening of the back stress ratio
References get_().
|
inline |
a parameter controlling the hardening of the back stress ratio
References at().
|
inline |
a parameter controlling the hardening of the back stress ratio
References get_().
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Create a material.
keys | The keys of the material properties |
values | The values of the material properties |
References props.
Referenced by coulomb(), elastic(), exponential(), hyperbolic(), hypoplastic(), mcc(), osimsand(), sanisand(), and simsand().
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
Create an exponential material.
props | Material properties: kt0, R, phi, e0, Lambda, xi, np, nd, eref0, erefu, b, rho, nw, Ad |
References create(), and props.
Referenced by exponential().
|
inlinestatic |
Create an exponential material.
props | Material properties: kt0, R, phi, e0, Lambda, xi, np, nd, eref0, erefu, b, rho, nw, Ad |
References exponential(), and props.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
mean effective stress when log(e) = 1 in the LCC line (log(e)-log(p) space)
References get_().
|
inline |
|
inline |
|
inline |
Access material properties.
key | Property name |
Referenced by get_(), phi_combined(), sin_phi_mises(), sin_phi_smp(), and sin_phi_tresca().
|
inline |
Get a parameter value with anisotropic factor.
key | Property name |
idx | The index of the integration point |
default_ | Default value |
References anisotropicFactor(), and get().
Referenced by Ad_(), b_(), c_(), ch_(), chi0_(), cohesion_(), e0_(), ec0_(), emax_(), emin_(), eref0_(), eref_(), erefu_(), fb0_(), fc0_(), fnr_(), fref_(), h0_(), hp_(), kappa_(), kn0_(), kp_(), kpr_(), krr_(), kt0_(), Lambda_(), m_(), n_(), nd_(), ne_(), ng_(), np_(), nw_(), pref_(), R_(), rho_(), rhoc_(), theta_(), V_(), vf_(), vi_(), X_(), xi_(), xib_(), and xic_().
|
inline |
a parameter controlling the hardening of the back stress ratio
References at().
|
inline |
a parameter controlling the hardening of the back stress ratio
References get_().
|
inline |
a parameter relating to plastic modulus of bounding surface effect
References at().
|
inline |
a parameter relating to plastic modulus of bounding surface effect
References get_().
|
inlinestatic |
Create a hyperbolic material.
props | Material properties: kt0, R, phi, e0, Lambda, xi, np, nd, eref0, erefu, b, rho, nw, Ad |
References create(), and props.
Referenced by hyperbolic().
|
inlinestatic |
Create a hyperbolic material.
props | Material properties: kt0, R, phi, e0, Lambda, xi, np, nd, eref0, erefu, b, rho, nw, Ad |
References hyperbolic(), and props.
|
inlinestatic |
Create a hypoplastic material.
props | Material properties: kt0, ng, phi, e0, Lambda, xi, np, nd, eref0, erefu, b, rho, nw, vi |
References create(), and props.
Referenced by hypoplastic().
|
inlinestatic |
Create a hypoplastic material.
props | Material properties: kt0, ng, phi, e0, Lambda, xi, np, nd, eref0, erefu, b, rho, nw, vi |
References hypoplastic(), and props.
|
inline |
Initialize the material.
sv | State variable |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
a parameter controlling the yield surface of SIMSAND model
References at().
|
inline |
a parameter controlling the yield surface of SIMSAND model
References get_().
|
inline |
a parameter controlling the yield surface of SIMSAND model
References at().
|
inline |
a parameter controlling the yield surface of SIMSAND model
References get_().
|
inline |
|
inline |
ratio of tangential to normal stiffness
References get_().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
a parameter controlling the shape of yield surface
References at().
|
inline |
a parameter controlling the shape of yield surface
References get_().
|
inline |
Get the critical state slope for compression.
References phi_combined(), and PI.
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inline |
Get the critical state slope for extension.
References phi_combined(), and PI.
|
inline |
|
inline |
|
inline |
|
inline |
a parameter controlling the shape of yield surface
References at().
|
inline |
a parameter controlling the shape of yield surface
References get_().
|
inline |
|
inline |
|
inline |
exponent in the equation of normal stiffness
References at().
|
inline |
exponent in the equation of normal stiffness
References get_().
|
inline |
exponent in the equation of tangential stiffness
References at().
|
inline |
exponent in the equation of tangential stiffness
References get_().
|
inline |
|
inline |
|
inline |
a parameter controlling the particle breakage
References at().
|
inline |
a parameter controlling the particle breakage
References get_().
|
inline |
Access material properties.
key | Property name |
|
inline |
Access material properties.
key | Property name |
|
inlinestatic |
Create a osimsand material.
props | Material properties |
References create(), and props.
Referenced by osimsand().
|
inlinestatic |
Create a osimsand material.
props | Material properties |
References osimsand(), and props.
|
inline |
friction angle
References at().
Referenced by sin_phi_mises(), sin_phi_smp(), and sin_phi_tresca().
|
inline |
friction angle
References anisotropicFactor(), and phi_combined().
Referenced by Mc_(), Me_(), and mu_().
|
inline |
Combined friction angle.
References get(), PI, sin_phi_mises(), sin_phi_smp(), and sin_phi_tresca().
Referenced by Mc(), Me(), mu(), and phi_().
|
inline |
mean effective stress when log(e) = 1 in the LCC line (log(e)-log(p) space)
References at().
|
inline |
|
inline |
|
inline |
|
inline |
ratio of normal to tangential stiffness
References get_().
|
inline |
a parameter controlling the rate of particle breakage
References at().
|
inline |
a parameter controlling the rate of particle breakage
References get_().
|
inline |
slope of the LCC line in the log(e) - log(p) space
References at().
|
inline |
slope of the LCC line in the log(e) - log(p) space
References get_().
|
inlinestatic |
Create a sanisand material.
props | Material properties |
References create(), and props.
Referenced by sanisand().
|
inlinestatic |
Create a sanisand material.
props | Material properties |
References props, and sanisand().
|
inline |
Set material properties.
key | Property name |
value | Property value |
Referenced by __setitem__().
|
inline |
Set anisotropic parameters.
key | The key of the anisotropic parameter |
type | fabric tensor type |
evolution | evolution type |
coefs | fabric tensor coefficients |
|
inlinestatic |
|
inlinestatic |
|
inline |
Friction angle sine of Von Mises failure criteria.
References get(), phi(), and PI.
Referenced by phi_combined().
|
inline |
Friction angle sine of SMP failure criteria.
References get(), phi(), and PI.
Referenced by phi_combined().
|
inline |
Friction angle sine of Tresca failure criteria.
References get(), phi(), and PI.
Referenced by phi_combined().
|
inline |
a constant exponent in the hardening behavior of p0
References at().
|
inline |
a constant exponent in the hardening behavior of p0
References get_().
|
inline |
|
inline |
|
inline |
final slope of normal displacement versus tangential displacement curve
References at().
|
inline |
final slope of normal displacement versus tangential displacement curve
References get_().
|
inline |
initial slope of normal displacement versus tangential displacement curve
References at().
|
inline |
initial slope of normal displacement versus tangential displacement curve
References get_().
|
inline |
|
inline |
|
inline |
a parameter controlling the shape of critical state line
References at().
|
inline |
a parameter controlling the shape of critical state line
References get_().
|
inline |
a parameter controlling the hardening of the adhesive force
References at().
|
inline |
a parameter controlling the hardening of the adhesive force
References get_().
|
inline |
a parameter controlling the hardening of the size of the yield surface
References at().
|
inline |
a parameter controlling the hardening of the size of the yield surface
References get_().
std::map<std::string, std::shared_ptr<FabricTensor<T> > > micromechanical::core::Material< T >::fabrics = {} |
Fabric tensors.
std::shared_ptr<Integration<T> > micromechanical::core::Material< T >::integration = std::shared_ptr<Integration<T>>(nullptr) |
std::map<std::string, T> micromechanical::core::Material< T >::props = {} |
Material properties.
Referenced by coulomb(), coulomb(), create(), elastic(), elastic(), exponential(), exponential(), hyperbolic(), hyperbolic(), hypoplastic(), hypoplastic(), Material(), mcc(), mcc(), osimsand(), osimsand(), sanisand(), sanisand(), simsand(), and simsand().