![]() |
MechSys
1.0
Computing library for simulations in continuum and discrete mechanics
|
#include <model.h>
Public Member Functions | |
Model (int NDim, SDPair const &Prms, size_t NIvs=0, char const *Name="__unnamed_model__") | |
NDim:space dimension, Prms:parameters. | |
virtual | ~Model () |
virtual void | InitIvs (SDPair const &Ini, State *Sta) const =0 |
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 | UpdateSta (ATensor2 const &F, State *Sta) const |
virtual void | InvTgIncs (State const *Sta, Vec_t &DSig, Vec_t &DEps, Vec_t &DIvs) const |
virtual void | Stiffness (State const *Sta, Mat_t &D) const |
virtual void | Stiffness (State const *Sta, Mat_t &D, Vec_t &Dw) const |
virtual void | Hydraulic (State const *Sta, Mat_t &Kw, double &ChiW, double &InvQs) const |
virtual bool | LoadCond (State const *Sta, Vec_t const &DEps, double &alpInt) const |
virtual size_t | CorrectDrift (State *Sta) const |
virtual size_t | CorrectDrift (State *Sta, double &pw) const |
virtual void | UpdatePath (State const *Sta, Vec_t const &DEps, Vec_t const &DSig) const |
virtual void | TgIncs (State const *Sta, double pw, Vec_t &DEps, double Dpw, Vec_t &DSig, Vec_t &DIvs) const |
virtual void | Stiffness (State const *Sta, double pw, Mat_t &D, Vec_t &d) const |
virtual bool | LoadCond (State const *Sta, double pw, Vec_t const &DEps, double Dpw) const |
Public Attributes | |
int | NDim |
Space dimension: 2 or 3. | |
SDPair | Prms |
Parameters. | |
GeomType | GTy |
Geometry type. | |
String | Name |
Model name. Ex: LinElastic. | |
size_t | NCps |
Number of stress/strain components. | |
size_t | NIvs |
Number of internal values. | |
Array< String > | IvNames |
Names of internal values. | |
bool | HMCoup |
HydroMech coupled? | |
bool | UseUpdateSta |
Use update sta instead of TgIncs. | |
double | Grav |
Gravity. Ex.: 9.81 m/s2. | |
double | GamW |
Unit weight of water. Ex.: 9.81 kN/m3. | |
double | Rho |
Density of the material. Ex.: 2.0 Mg/m3. | |
double | RhoS |
Density of solids. Ex.: 2.0 Mg/m3. | |
double | Por |
Porosity of material. Ex.: 0.2. | |
double | GamNat |
Natural unit weight of geo-material: Ex.: 20.0 kN/m3. | |
double | GamSat |
Saturated unit weight of geo-material: Ex.: 21.0 kN/m3. | |
StressUpdate | SUp |
Static Public Attributes | |
static Vec_t | I |
Identity tensor. | |
static Mat_t | Psd |
Sym-dev 4th order tensor. | |
static Mat_t | IdyI |
I dy I 4th order tensor. |
Model::Model | ( | int | NDim, |
SDPair const & | Prms, | ||
size_t | NIvs = 0 , |
||
char const * | Name = "__unnamed_model__" |
||
) | [inline] |
NDim:space dimension, Prms:parameters.
virtual Model::~Model | ( | ) | [inline, virtual] |
virtual size_t Model::CorrectDrift | ( | State * | Sta | ) | const [inline, virtual] |
Reimplemented in ElastoPlastic, and ProblemEP.
virtual size_t Model::CorrectDrift | ( | State * | Sta, |
double & | pw | ||
) | const [inline, virtual] |
Reimplemented in BBMx.
virtual void Model::Hydraulic | ( | State const * | Sta, |
Mat_t & | Kw, | ||
double & | ChiW, | ||
double & | InvQs | ||
) | const [inline, virtual] |
virtual void Model::InitIvs | ( | SDPair const & | Ini, |
State * | Sta | ||
) | const [pure virtual] |
Implemented in ElastoPlastic, ProblemEP, UnsatFlow, Unconv01, Unconv02, Unconv03, Unconv04, LinElastic, LinFlow, NeoHookean, NLElastic, BBMx, and CamClay.
virtual void Model::InvTgIncs | ( | State const * | Sta, |
Vec_t & | DSig, | ||
Vec_t & | DEps, | ||
Vec_t & | DIvs | ||
) | const [inline, virtual] |
Reimplemented in LinElastic, and NLElastic.
virtual bool Model::LoadCond | ( | State const * | Sta, |
Vec_t const & | DEps, | ||
double & | alpInt | ||
) | const [inline, virtual] |
virtual bool Model::LoadCond | ( | State const * | Sta, |
double | pw, | ||
Vec_t const & | DEps, | ||
double | Dpw | ||
) | const [inline, virtual] |
Reimplemented in BBMx.
virtual void Model::Rate | ( | State const * | Sta, |
Vec_t const & | DEpsDt, | ||
Vec_t & | DSigDt, | ||
Vec_t & | DIvsDt | ||
) | const [inline, virtual] |
Reimplemented in ElastoPlastic, and LinElastic.
virtual void Model::Stiffness | ( | State const * | Sta, |
Mat_t & | D | ||
) | const [inline, virtual] |
Reimplemented in ElastoPlastic, ProblemEP, LinElastic, Unconv01, Unconv02, Unconv03, Unconv04, NLElastic, and LinFlow.
virtual void Model::Stiffness | ( | State const * | Sta, |
Mat_t & | D, | ||
Vec_t & | Dw | ||
) | const [inline, virtual] |
virtual void Model::Stiffness | ( | State const * | Sta, |
double | pw, | ||
Mat_t & | D, | ||
Vec_t & | d | ||
) | const [inline, virtual] |
Reimplemented in BBMx.
virtual void Model::TgIncs | ( | State const * | Sta, |
Vec_t & | DEps, | ||
Vec_t & | DSig, | ||
Vec_t & | DIvs | ||
) | const [inline, virtual] |
Reimplemented in ElastoPlastic, ProblemEP, Unconv01, Unconv02, Unconv03, Unconv04, LinElastic, LinFlow, and NLElastic.
virtual void Model::TgIncs | ( | State const * | Sta, |
double | pw, | ||
Vec_t & | DEps, | ||
double | Dpw, | ||
Vec_t & | DSig, | ||
Vec_t & | DIvs | ||
) | const [inline, virtual] |
Reimplemented in BBMx.
virtual void Model::UpdatePath | ( | State const * | Sta, |
Vec_t const & | DEps, | ||
Vec_t const & | DSig | ||
) | const [inline, virtual] |
virtual void Model::UpdateSta | ( | ATensor2 const & | F, |
State * | Sta | ||
) | const [inline, virtual] |
Reimplemented in NeoHookean.
double Model::GamNat |
Natural unit weight of geo-material: Ex.: 20.0 kN/m3.
double Model::GamSat |
Saturated unit weight of geo-material: Ex.: 21.0 kN/m3.
double Model::GamW |
Unit weight of water. Ex.: 9.81 kN/m3.
double Model::Grav |
Gravity. Ex.: 9.81 m/s2.
Geometry type.
bool Model::HMCoup |
HydroMech coupled?
Mat_t Model::IdyI [static] |
Names of internal values.
Model name. Ex: LinElastic.
Reimplemented in UnsatFlow.
size_t Model::NCps |
Number of stress/strain components.
int Model::NDim |
Space dimension: 2 or 3.
size_t Model::NIvs |
Number of internal values.
double Model::Por |
Porosity of material. Ex.: 0.2.
Parameters.
Mat_t Model::Psd [static] |
double Model::Rho |
Density of the material. Ex.: 2.0 Mg/m3.
double Model::RhoS |
Density of solids. Ex.: 2.0 Mg/m3.
StressUpdate Model::SUp [mutable] |
bool Model::UseUpdateSta |
Use update sta instead of TgIncs.