![]() |
MechSys
1.0
Computing library for simulations in continuum and discrete mechanics
|
#include <hydromechelem.h>
Public Member Functions | |
HydroMechElem (int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes) | |
Connectivity. | |
~HydroMechElem () | |
void | SetBCs (size_t IdxEdgeOrFace, SDPair const &BCs, BCFuncs *BCF) |
If setting body forces, IdxEdgeOrFace is ignored. | |
void | CalcKCM (Mat_t &KK, Mat_t &CC, Mat_t &MM) const |
void | GetLoc (Array< size_t > &Loc) const |
Get location vector for mounting K/M matrices. | |
void | UpdateState (Vec_t const &dU, Vec_t *F_int=NULL) const |
Update state at IPs. | |
void | StateKeys (Array< String > &Keys) const |
Get state keys, ex: sx, sy, sxy, ex, ey, exy. | |
void | StateAtIP (SDPair &KeysVals, int IdxIP) const |
Get state at IP. | |
void | Interp (Mat_t const &C, IntegPoint const &IP, Mat_t &B, Mat_t &Bp, Mat_t &N, Mat_t &Np, double &detJ, double &Coef) const |
Interpolation matrices. | |
size_t | NIVs () const |
Number of internal variables. | |
double | GetIV (size_t i) const |
Get internal variable. | |
void | SetIV (size_t i, double Val) |
Set internal variable. | |
void | CalcIVRate (double Time, Vec_t const &U, Vec_t const &V, Vec_t &Rate) const |
Calculate rate of internal variables. | |
Public Attributes | |
Array< UnsatFlowState * > | FSta |
Flow state. | |
UnsatFlow const * | FMdl |
Flow model. | |
Static Public Attributes | |
static size_t | NDp = 0 |
Number of DOFs of pressure = GEp->NN. | |
static size_t | NDt = 0 |
Total number of DOFs = NDu + NDp. | |
static Mat_t | Im |
Identity column matrix (NCo,1) | |
static Vec_t | Iv |
Identity vector (NCo) | |
static Vec_t | zv |
z-vector: pointing up along y (2) or z (3D) |
FEM::HydroMechElem::HydroMechElem | ( | int | NDim, |
Mesh::Cell const & | Cell, | ||
Model const * | Mdl, | ||
Model const * | XMdl, | ||
SDPair const & | Prp, | ||
SDPair const & | Ini, | ||
Array< Node * > const & | Nodes | ||
) | [inline] |
FEM::HydroMechElem::~HydroMechElem | ( | ) | [inline] |
void FEM::HydroMechElem::CalcIVRate | ( | double | Time, |
Vec_t const & | U, | ||
Vec_t const & | V, | ||
Vec_t & | Rate | ||
) | const [inline, virtual] |
Calculate rate of internal variables.
Reimplemented from FEM::EquilibElem.
void FEM::HydroMechElem::CalcKCM | ( | Mat_t & | KK, |
Mat_t & | CC, | ||
Mat_t & | MM | ||
) | const [inline, virtual] |
Reimplemented from FEM::Element.
double FEM::HydroMechElem::GetIV | ( | size_t | i | ) | const [inline, virtual] |
Get internal variable.
Reimplemented from FEM::EquilibElem.
void FEM::HydroMechElem::GetLoc | ( | Array< size_t > & | Loc | ) | const [inline, virtual] |
Get location vector for mounting K/M matrices.
Reimplemented from FEM::EquilibElem.
void FEM::HydroMechElem::Interp | ( | Mat_t const & | C, |
IntegPoint const & | IP, | ||
Mat_t & | B, | ||
Mat_t & | Bp, | ||
Mat_t & | N, | ||
Mat_t & | Np, | ||
double & | detJ, | ||
double & | Coef | ||
) | const [inline] |
Interpolation matrices.
size_t FEM::HydroMechElem::NIVs | ( | ) | const [inline, virtual] |
Number of internal variables.
Reimplemented from FEM::EquilibElem.
void FEM::HydroMechElem::SetBCs | ( | size_t | IdxEdgeOrFace, |
SDPair const & | BCs, | ||
BCFuncs * | BCF | ||
) | [inline, virtual] |
If setting body forces, IdxEdgeOrFace is ignored.
Reimplemented from FEM::EquilibElem.
void FEM::HydroMechElem::SetIV | ( | size_t | i, |
double | Val | ||
) | [inline, virtual] |
Set internal variable.
Reimplemented from FEM::EquilibElem.
void FEM::HydroMechElem::StateAtIP | ( | SDPair & | KeysVals, |
int | IdxIP | ||
) | const [inline, virtual] |
Get state at IP.
Reimplemented from FEM::EquilibElem.
void FEM::HydroMechElem::StateKeys | ( | Array< String > & | Keys | ) | const [inline, virtual] |
Get state keys, ex: sx, sy, sxy, ex, ey, exy.
Reimplemented from FEM::EquilibElem.
void FEM::HydroMechElem::UpdateState | ( | Vec_t const & | dU, |
Vec_t * | F_int = NULL |
||
) | const [inline, virtual] |
Update state at IPs.
Reimplemented from FEM::EquilibElem.
Flow model.
Flow state.
Mat_t FEM::HydroMechElem::Im [static] |
Identity column matrix (NCo,1)
Vec_t FEM::HydroMechElem::Iv [static] |
Identity vector (NCo)
size_t FEM::HydroMechElem::NDp = 0 [static] |
Number of DOFs of pressure = GEp->NN.
size_t FEM::HydroMechElem::NDt = 0 [static] |
Total number of DOFs = NDu + NDp.
Vec_t FEM::HydroMechElem::zv [static] |
z-vector: pointing up along y (2) or z (3D)