|
| OSIMSANDContactLaw (const std::map< std::string, T > &props={}) |
|
void | initialize (StateVariable< T > &sv) override |
| initialize the contact law
|
|
T | yieldSurface (int idx, T fn, T fr, const StateVariable< T > &sv0, StateVariable< T > &sv) override |
| Yield function for elastoplastic contact laws.
|
|
void | setPlasticMethod (const std::string &method) |
| set the plastic method
|
|
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > | yieldSurfaces (int idx, const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &fn, const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &fr, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| Calculate yield function for multiple times.
|
|
| ContactLawBase (const std::map< std::string, T > &props={}) |
| constructor
|
|
virtual | ~ContactLawBase ()=default |
| destructor
|
|
virtual std::vector< std::string > | symmetricContactScalars () |
| Symmetric contact scalar variables.
|
|
virtual std::vector< std::string > | symmetricContactVectors () |
| Symmetric contact vector variables.
|
|
ContactLawBase & | operator= (const ContactLawBase &other) |
| move operator
|
|
T | frictionCoefficient (int idx, const StateVariable< T > &sv0, const StateVariable< T > &sv) |
| calculate the friction coefficient combined with different criteria
|
|
Eigen::Matrix< T, 3, 3 > | forceDisplacement (int idx, Eigen::Matrix< T, 3, 1 > &ddisp, Eigen::Matrix< T, 3, 3 > &Ke, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| integrate the force-displacement relation
|
|
Eigen::Matrix< T, 3, 3 > | elasticStiffness (int idx, T fn, const StateVariable< T > &sv0, const StateVariable< T > &sv) override |
| Calculate the elastic stiffness matrix.
|
|
T | CSL (int idx, const StateVariable< T > &sv0, StateVariable< T > &sv) override |
| calculate the critical state line
|
|
|
Eigen::Matrix< T, 3, 1 > | dfdforce (int idx, const StateVariable< T > &sv0, StateVariable< T > &sv) override |
| Derivative of the yield function with respect to the force.
|
|
Eigen::Matrix< T, 3, 1 > | dgdforce (int idx, const StateVariable< T > &sv0, StateVariable< T > &sv) override |
| Derivative of the potential function with respect to the force.
|
|
T | hardening (int idx, const Eigen::Matrix< T, 3, 1 > &dgdforce, const StateVariable< T > &sv0, StateVariable< T > &sv) override |
| Hardening items for elastoplastic contact laws.
|
|
void | updateHardeningVariables (int idx, T dlambda, const Eigen::Matrix< T, 3, 1 > &ddispp, const StateVariable< T > &sv0, StateVariable< T > &sv) override |
| Update the hardening variables.
|
|
bool | isExplicit () const |
| check if the plastic method is explicit
|
|
bool | isCPA () const |
| check if the plastic method is CPA
|
|
bool | isCPPM () const |
| check if the plastic method is CPPM
|
|
Eigen::Matrix< T, 3, 3 > | integrate (int idx, const Eigen::Matrix< T, 3, 1 > &ddisp, const Eigen::Matrix< T, 3, 3 > &Ke, const StateVariable< T > &sv0, StateVariable< T > &sv) override |
| integrate the force-displacement contact law, with a number of increments.
|
|
Eigen::Matrix< T, 3, 3 > | stiffness (int idx, const Eigen::Matrix< T, 3, 1 > &ddisp, const StateVariable< T > &sv0, StateVariable< T > &sv) override |
| calculate the elastoplastic stiffness matrix
|
|
virtual bool | isConverged (int idx, T f, bool trial, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| Determine whether the contact force state is converged to the yield surface or the force state is in the elastic region.
|
|
virtual T | plasticModulus (int idx, const Eigen::Matrix< T, 3, 3 > &Ke, const Eigen::Matrix< T, 3, 1 > &dfdforce, const Eigen::Matrix< T, 3, 1 > &dgdforce, T hardening, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| Calculate the plastic modulus.
|
|
virtual T | plasticMultiplier (int idx, T f, const Eigen::Matrix< T, 3, 3 > &Ke, const Eigen::Matrix< T, 3, 1 > &ddisp, const Eigen::Matrix< T, 3, 1 > &dfdforce, T Kp, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| Calculate the plastic multiplier.
|
|
Eigen::Matrix< T, 3, 3 > | ExplicitCPA (int idx, const Eigen::Matrix< T, 3, 1 > &ddisp, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| Explicit method for elastoplastic contact laws.
|
|
Eigen::Matrix< T, 3, 3 > | CPPM (int idx, const Eigen::Matrix< T, 3, 1 > &ddisp, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| CPPM method for elastoplastic contact laws.
|
|
virtual void | revertHardeningVariables (int idx, T dlambda, const Eigen::Matrix< T, 3, 1 > &ddispp, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| Revert the hardening variables.
|
|
virtual void | YieldSurfaceCorrection (int idx, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| Yield surface correction to keep the force state on the yield surface.
|
|
virtual void | maintainYieldSurface (int idx, const Eigen::Matrix< T, 3, 1 > &ddisp, const Eigen::Matrix< T, 3, 1 > &dforce, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| Revert state variables from elastic state to maintain the force state on the yield surface.
|
|
Eigen::Matrix< T, 3, 3 > | increment (int idx, const Eigen::Matrix< T, 3, 1 > &ddisp, const Eigen::Matrix< T, 3, 3 > &Ke, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| Calculate one increment.
|
|
virtual void | check (int idx, const Eigen::Matrix< T, 3, 1 > &ddisp, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| check the convergence of the contact law
|
|
virtual void | preIntegration (int idx, const Eigen::Matrix< T, 3, 1 > &ddisp, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| pre-processing before the integration
|
|
virtual void | postIntegration (int idx, const Eigen::Matrix< T, 3, 1 > &ddisp, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| post-processing after the integration
|
|
virtual void | preIncrement (int idx, const Eigen::Matrix< T, 3, 1 > &ddisp, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| pre-processing before the increment
|
|
virtual void | postIncrement (int idx, const Eigen::Matrix< T, 3, 1 > &ddisp, const StateVariable< T > &sv0, StateVariable< T > &sv) |
| post-processing after the increment
|
|
T | tanphip (int idx, const StateVariable< T > &sv0, StateVariable< T > &sv) |
|
T | tanphipt (int idx, const StateVariable< T > &sv0, StateVariable< T > &sv) |
|
template<typename T>
struct micromechanical::contacts::OSIMSANDContactLaw< T >
OSIMSAND contact law.
- Note
- 397 state variables