MechSys  1.0
Computing library for simulations in continuum and discrete mechanics
Public Types | Public Member Functions | Public Attributes
ElastoPlastic Class Reference

#include <elastoplastic.h>

Inheritance diagram for ElastoPlastic:
Model CamClay

List of all members.

Public Types

enum  FCrit_t { VM_t, MC_t, GE_t }

Public Member Functions

 ElastoPlastic (int NDim, SDPair const &Prms, size_t NIv=3, char const *Name="ElastoPlastic(VM)", bool DerivedModel=false)
virtual ~ElastoPlastic ()
virtual void Rate (State const *Sta, Vec_t const &DEpsDt, Vec_t &DSigDt, Vec_t &DIvsDt) const
virtual void TgIncs (State const *Sta, Vec_t &DEps, Vec_t &DSig, Vec_t &DIvs) const
virtual void Stiffness (State const *Sta, Mat_t &D) const
virtual size_t CorrectDrift (State *Sta) const
virtual bool LoadCond (State const *Sta, Vec_t const &DEps, double &alpInt) const
virtual void InitIvs (SDPair const &Ini, State *Sta) const
virtual void Gradients (Vec_t const &Sig, Vec_t const &Ivs, bool Potential=false) const
virtual void Hardening (Vec_t const &Sig, Vec_t const &Ivs) const
virtual double YieldFunc (Vec_t const &Sig, Vec_t const &Ivs) const
virtual void ExtraDIvs (Vec_t &DIvs) const
virtual double CalcE (Vec_t const &Sig, Vec_t const &Ivs) const
virtual void ELStiff (Vec_t const &Sig, Vec_t const &Ivs) const
double Fa (double Alp, void *)
double dFada (double Alp, void *)
void Calc_pq (Vec_t const &Sig) const
void Calc_pqt (Vec_t const &Sig) const
void Calc_pqg (Vec_t const &Sig, double sinp) const
void Calc_dgdsig (Vec_t const &Sig, double sinp) const
void Calc_arc (double M) const

Public Attributes

bool Derived
 Derived model (such as CamClay)
double E
 Young.
double nu
 Poisson.
FCrit_t FC
 Failure criterion: VM:Von-Mises.
double kVM
 von Mises coefficient
double kGE
 General FC coefficient.
double kGEpot
 General FC coefficient (for potential/flow rule)
double pTol
 Tolerance for minimum poct.
double Hb
 Hardening coefficient H_bar.
double sphi
 Sin(phi) friction angle.
double spsi
 Sin(psi) dilatancy angle.
double FTol
 Tolerance to be used when finding the intersection.
double DCFTol
 Drift correction ys function tolerance.
size_t DCMaxIt
 Drift correction max iterations.
double qTol
 Tolerance for minimum qoct.
bool NewSU
 New stress update ?
double BetSU
 Beta coefficient for new stress update.
double AlpSU
 Alpha coefficient for new stress update.
double pc
double pm
double r2
 Variables for smoothing with arc.
SMPInvs SMP
 SMP invariants.
Vec_t SigB
 SigmaBar: shifted sigma for cohesion.
Vec_t Sig0
Vec_t Ivs0
Vec_t SigA
Vec_t DSigTr
 Variables for yield crossing detection.
Vec_t DEpsEl
 Elastic strain increment.
Vec_t DEpsPl
 Plastic strain increment == Lam*W.
Vec_t V
 NCps: Gradient of the yield surface.
Vec_t W
 NCps: Plastic flow rule direction.
Vec_t Y
 NIvs: Derivative of the yield surface w.r.t internal variables.
Vec_t H
 NIvs: Hardening coefficients, one for each internal variable.
Mat_t De
 Elastic stiffness.
Mat_t Dep
 Elastoplastic stiffness.
Vec_t VDe
 V*De.
Vec_t DeW
 De*W.
Vec_t s
 Deviator of sigma.
Vec_t dthdsig
 Derivative of theta w.r.t sigma.
Vec_t dgdsig
 derivative of g w.r.t sigma
Vec_t dI1dsig
Vec_t dI2dsig
Vec_t dI3dsig
 derivative of characteristic invariants
double p
double q
double t
double th
double g
double I1
double I2
double I3
 Invariants.

Member Enumeration Documentation

Enumerator:
VM_t 
MC_t 
GE_t 

Constructor & Destructor Documentation

ElastoPlastic::ElastoPlastic ( int  NDim,
SDPair const &  Prms,
size_t  NIv = 3,
char const *  Name = "ElastoPlastic(VM)",
bool  DerivedModel = false 
) [inline]
virtual ElastoPlastic::~ElastoPlastic ( ) [inline, virtual]

Member Function Documentation

void ElastoPlastic::Calc_arc ( double  M) const [inline]
void ElastoPlastic::Calc_dgdsig ( Vec_t const &  Sig,
double  sinp 
) const [inline]
void ElastoPlastic::Calc_pq ( Vec_t const &  Sig) const [inline]
void ElastoPlastic::Calc_pqg ( Vec_t const &  Sig,
double  sinp 
) const [inline]
void ElastoPlastic::Calc_pqt ( Vec_t const &  Sig) const [inline]
virtual double ElastoPlastic::CalcE ( Vec_t const &  Sig,
Vec_t const &  Ivs 
) const [inline, virtual]

Reimplemented in CamClay.

size_t ElastoPlastic::CorrectDrift ( State Sta) const [inline, virtual]

Reimplemented from Model.

double ElastoPlastic::dFada ( double  Alp,
void *   
) [inline]
void ElastoPlastic::ELStiff ( Vec_t const &  Sig,
Vec_t const &  Ivs 
) const [inline, virtual]
void ElastoPlastic::ExtraDIvs ( Vec_t DIvs) const [inline, virtual]
double ElastoPlastic::Fa ( double  Alp,
void *   
) [inline]
void ElastoPlastic::Gradients ( Vec_t const &  Sig,
Vec_t const &  Ivs,
bool  Potential = false 
) const [inline, virtual]

Reimplemented in CamClay.

void ElastoPlastic::Hardening ( Vec_t const &  Sig,
Vec_t const &  Ivs 
) const [inline, virtual]

Reimplemented in CamClay.

void ElastoPlastic::InitIvs ( SDPair const &  Ini,
State Sta 
) const [inline, virtual]

Implements Model.

Reimplemented in CamClay.

bool ElastoPlastic::LoadCond ( State const *  Sta,
Vec_t const &  DEps,
double &  alpInt 
) const [inline, virtual]

Reimplemented from Model.

void ElastoPlastic::Rate ( State const *  Sta,
Vec_t const &  DEpsDt,
Vec_t DSigDt,
Vec_t DIvsDt 
) const [inline, virtual]

Reimplemented from Model.

void ElastoPlastic::Stiffness ( State const *  Sta,
Mat_t D 
) const [inline, virtual]

Reimplemented from Model.

void ElastoPlastic::TgIncs ( State const *  Sta,
Vec_t DEps,
Vec_t DSig,
Vec_t DIvs 
) const [inline, virtual]

Reimplemented from Model.

double ElastoPlastic::YieldFunc ( Vec_t const &  Sig,
Vec_t const &  Ivs 
) const [inline, virtual]

Reimplemented in CamClay.


Member Data Documentation

Alpha coefficient for new stress update.

Beta coefficient for new stress update.

Drift correction ys function tolerance.

Drift correction max iterations.

Elastic stiffness.

Elastoplastic stiffness.

Elastic strain increment.

Plastic strain increment == Lam*W.

Derived model (such as CamClay)

De*W.

derivative of g w.r.t sigma

derivative of characteristic invariants

Variables for yield crossing detection.

Derivative of theta w.r.t sigma.

Young.

Failure criterion: VM:Von-Mises.

Tolerance to be used when finding the intersection.

double ElastoPlastic::g [mutable]

NIvs: Hardening coefficients, one for each internal variable.

Hardening coefficient H_bar.

double ElastoPlastic::I1 [mutable]
double ElastoPlastic::I2 [mutable]
double ElastoPlastic::I3 [mutable]

Invariants.

General FC coefficient.

General FC coefficient (for potential/flow rule)

von Mises coefficient

New stress update ?

Poisson.

double ElastoPlastic::p [mutable]
double ElastoPlastic::pc [mutable]
double ElastoPlastic::pm [mutable]

Tolerance for minimum poct.

double ElastoPlastic::q [mutable]

Tolerance for minimum qoct.

double ElastoPlastic::r2 [mutable]

Variables for smoothing with arc.

Deviator of sigma.

SigmaBar: shifted sigma for cohesion.

SMP invariants.

Sin(phi) friction angle.

Sin(psi) dilatancy angle.

double ElastoPlastic::t [mutable]
double ElastoPlastic::th [mutable]

NCps: Gradient of the yield surface.

V*De.

NCps: Plastic flow rule direction.

NIvs: Derivative of the yield surface w.r.t internal variables.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines