|
musica (C++)
|
Material properties for contact laws. More...
#include <material.hpp>


Public Member Functions | |
| Material (const std::unordered_map< std::string, T > &props={}) | |
| Constructor. | |
| void | initialize (StateVariable< T > &sv) override |
| Initialize the material. | |
| void | setAnisotropicParameters (const std::string &key, const std::string &type="chang1990-ext", const std::string &evolution="li2012", const std::unordered_map< std::string, T > &coefs={}) |
| Set anisotropic parameters. | |
| T | anisotropicFactor (const std::string &key, const int idx) |
| Return the anisotropic factor. | |
| T | get_ (const std::string &key, const int idx, const T default_=0.0) |
| Get a parameter value with 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_ (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 coefficient | |
| 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_ (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. | |
| Public Member Functions inherited from constitutive::MaterialBase< T > | |
| MaterialBase (const std::unordered_map< std::string, T > &props={}) | |
| Constructor. | |
| virtual | ~MaterialBase ()=default |
| Destructor. | |
| 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. | |
| static std::unordered_map< std::string, T > | elastic (const std::vector< T > &props) |
| Create an elastic material. | |
| static std::unordered_map< std::string, T > | elastic (T *props) |
| Create an elastic material. | |
| static std::unordered_map< std::string, T > | coulomb (const std::vector< T > &props) |
| Create a coulomb material. | |
| static std::unordered_map< std::string, T > | coulomb (T *props) |
| Create a coulomb material. | |
| static std::unordered_map< std::string, T > | exponential (const std::vector< T > &props) |
| Create an exponential material. | |
| static std::unordered_map< std::string, T > | exponential (T *props) |
| Create an exponential material. | |
| static std::unordered_map< std::string, T > | hyperbolic (const std::vector< T > &props) |
| Create a hyperbolic material. | |
| static std::unordered_map< std::string, T > | hyperbolic (T *props) |
| Create a hyperbolic material. | |
| static std::unordered_map< std::string, T > | hypoplastic (const std::vector< T > &props) |
| Create a hypoplastic material. | |
| static std::unordered_map< std::string, T > | hypoplastic (T *props) |
| Create a hypoplastic material. | |
| static std::unordered_map< std::string, T > | mcc (const std::vector< T > &props) |
| Create a mcc material. | |
| static std::unordered_map< std::string, T > | mcc (T *props) |
| Create a mcc material. | |
| static std::unordered_map< std::string, T > | sanisand (const std::vector< T > &props) |
| Create a sanisand material. | |
| static std::unordered_map< std::string, T > | sanisand (T *props) |
| Create a sanisand material. | |
| static std::unordered_map< std::string, T > | simsand (const std::vector< T > &props) |
| Create a simsand material. | |
| static std::unordered_map< std::string, T > | simsand (T *props) |
| Create a simsand material. | |
| static std::unordered_map< std::string, T > | osimsand (const std::vector< T > &props) |
| Create a osimsand material. | |
| static std::unordered_map< std::string, T > | osimsand (T *props) |
| Create a osimsand material. | |
| Static Public Member Functions inherited from constitutive::MaterialBase< T > | |
| 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::shared_ptr< Integration< T > > | integration = std::shared_ptr<Integration<T>>(nullptr) |
| Integration. | |
| std::unordered_map< std::string, std::shared_ptr< FabricTensor< T > > > | fabrics = {} |
| Fabric tensors. | |
| Public Attributes inherited from constitutive::MaterialBase< T > | |
| std::unordered_map< std::string, T > | props = {} |
| Material properties. | |
Material properties for contact laws.
|
inlineexplicit |
|
inline |
a parameter controlling the dilation
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
|
inline |
a parameter controlling the particle breakage
References constitutive::MaterialBase< T >::at().

|
inline |
a parameter controlling the particle breakage
References get_().

|
inline |
a parameter controlling the hardening of the back stress ratio
References constitutive::MaterialBase< T >::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 constitutive::MaterialBase< T >::at().

|
inline |
a parameter controlling the hardening of the back stress ratio
References get_().

|
inline |
initial bounding ratio
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
cohesion
References constitutive::MaterialBase< T >::at().

|
inline |
|
inlinestatic |
Create a coulomb material.
| props | Material properties: kt0, R, phi |
References create(), and constitutive::MaterialBase< T >::props.
Referenced by coulomb().


|
inlinestatic |
Create a coulomb material.
| props | Material properties: kt0, R, phi |
References coulomb(), and constitutive::MaterialBase< T >::props.

|
inlinestatic |
Create a material.
| keys | The keys of the material properties |
| values | The values of the material properties |
References constitutive::MaterialBase< T >::props.
Referenced by coulomb(), elastic(), exponential(), hyperbolic(), hypoplastic(), mcc(), osimsand(), sanisand(), and simsand().

|
inline |
initial void ratio
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
critical void ratio
References constitutive::MaterialBase< T >::at().

|
inline |
|
inlinestatic |
Create an elastic material.
| props | Material properties: kt0, R |
References create(), and constitutive::MaterialBase< T >::props.
Referenced by elastic().


|
inlinestatic |
Create an elastic material.
| props | Material properties: kt0, R |
References elastic(), and constitutive::MaterialBase< T >::props.

|
inline |
maximum void ratio
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
minimum void ratio
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
reference void ratio
References constitutive::MaterialBase< T >::at().

|
inline |
initial reference void ratio
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
|
inline |
ultimate reference void ratio
References constitutive::MaterialBase< T >::at().

|
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 constitutive::MaterialBase< T >::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 constitutive::MaterialBase< T >::props.

|
inline |
initial adhesive force
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
initial size of the yield surface
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
mean effective stress when log(e) = 1 in the LCC line (log(e)-log(p) space)
References get_().

|
inline |
reference force
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
Get a parameter value with anisotropic factor.
| key | Property name |
| idx | The index of the integration point |
| default_ | Default value |
References anisotropicFactor(), and constitutive::MaterialBase< T >::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 constitutive::MaterialBase< T >::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 constitutive::MaterialBase< T >::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 constitutive::MaterialBase< T >::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 constitutive::MaterialBase< T >::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 constitutive::MaterialBase< T >::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 constitutive::MaterialBase< T >::props.

|
inlineoverridevirtual |
Initialize the material.
| sv | State variable |
Reimplemented from constitutive::MaterialBase< T >.
References constitutive::StateVariable< T >::contact_min_normal_force, and constitutive::MaterialBase< T >::get().

|
inline |
slope of swelling line
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
reference normal stiffness
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
a parameter controlling the yield surface of SIMSAND model
References constitutive::MaterialBase< T >::at().

|
inline |
a parameter controlling the yield surface of SIMSAND model
References get_().

|
inline |
a parameter controlling the yield surface of SIMSAND model
References constitutive::MaterialBase< T >::at().

|
inline |
a parameter controlling the yield surface of SIMSAND model
References get_().

|
inline |
ratio of tangential to normal stiffness
References constitutive::MaterialBase< T >::at().

|
inline |
ratio of tangential to normal stiffness
References get_().

|
inline |
reference tangential stiffness
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
slope of critical state line
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
a parameter controlling the shape of yield surface
References constitutive::MaterialBase< T >::at().

|
inline |
a parameter controlling the shape of yield surface
References get_().

|
inline |
|
inlinestatic |
Create a mcc material.
| props | Material properties |
References create(), and constitutive::MaterialBase< T >::props.
Referenced by mcc().


|
inlinestatic |
Create a mcc material.
| props | Material properties |
References mcc(), and constitutive::MaterialBase< T >::props.

|
inline |
|
inline |
|
inline |
a parameter controlling the shape of yield surface
References constitutive::MaterialBase< T >::at().

|
inline |
a parameter controlling the shape of yield surface
References get_().

|
inline |
a parameter controlling the dilation
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
exponent in the equation of normal stiffness
References constitutive::MaterialBase< T >::at().

|
inline |
exponent in the equation of normal stiffness
References get_().

|
inline |
exponent in the equation of tangential stiffness
References constitutive::MaterialBase< T >::at().

|
inline |
exponent in the equation of tangential stiffness
References get_().

|
inline |
a parameter controlling the dilation
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
a parameter controlling the particle breakage
References constitutive::MaterialBase< T >::at().

|
inline |
a parameter controlling the particle breakage
References get_().

|
inlinestatic |
Create a osimsand material.
| props | Material properties |
References create(), and constitutive::MaterialBase< T >::props.
Referenced by osimsand().


|
inlinestatic |
Create a osimsand material.
| props | Material properties |
References osimsand(), and constitutive::MaterialBase< T >::props.

|
inline |
friction angle
References constitutive::MaterialBase< T >::at().

|
inline |
friction angle
References anisotropicFactor(), and constitutive::MaterialBase< T >::phi_combined().
Referenced by Mc_(), Me_(), and mu_().


|
inline |
mean effective stress when log(e) = 1 in the LCC line (log(e)-log(p) space)
References constitutive::MaterialBase< T >::at().

|
inline |
reference pressure
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
ratio of normal to tangential stiffness
References constitutive::MaterialBase< T >::at().

|
inline |
ratio of normal to tangential stiffness
References get_().

|
inline |
a parameter controlling the rate of particle breakage
References constitutive::MaterialBase< T >::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 constitutive::MaterialBase< T >::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 constitutive::MaterialBase< T >::props.
Referenced by sanisand().


|
inlinestatic |
Create a sanisand material.
| props | Material properties |
References constitutive::MaterialBase< T >::props, and sanisand().

|
inline |
Set anisotropic parameters.
| key | The key of the anisotropic parameter |
| type | fabric tensor type |
| evolution | evolution type |
| coefs | fabric tensor coefficients |
|
inlinestatic |
Create a simsand material.
| props | Material properties |
References create(), and constitutive::MaterialBase< T >::props.
Referenced by simsand().


|
inlinestatic |
Create a simsand material.
| props | Material properties |
References constitutive::MaterialBase< T >::props, and simsand().

|
inline |
a constant exponent in the hardening behavior of p0
References constitutive::MaterialBase< T >::at().

|
inline |
a constant exponent in the hardening behavior of p0
References get_().

|
inline |
a large model parameter
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
final slope of normal displacement versus tangential displacement curve
References constitutive::MaterialBase< T >::at().

|
inline |
final slope of normal displacement versus tangential displacement curve
References get_().

|
inline |
initial slope of normal displacement versus tangential displacement curve
References constitutive::MaterialBase< T >::at().

|
inline |
initial slope of normal displacement versus tangential displacement curve
References get_().

|
inline |
a positive model parameter
References constitutive::MaterialBase< T >::at().

|
inline |
|
inline |
a parameter controlling the shape of critical state line
References constitutive::MaterialBase< T >::at().

|
inline |
a parameter controlling the shape of critical state line
References get_().

|
inline |
a parameter controlling the hardening of the adhesive force
References constitutive::MaterialBase< T >::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 constitutive::MaterialBase< T >::at().

|
inline |
a parameter controlling the hardening of the size of the yield surface
References get_().

| std::unordered_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) |