MechSys  1.0
Computing library for simulations in continuum and discrete mechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Public Attributes | Static Public Attributes
FEM::HydroMechElem Class Reference

#include <hydromechelem.h>

Inheritance diagram for FEM::HydroMechElem:
FEM::EquilibElem FEM::Element

List of all members.

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)

Constructor & Destructor Documentation

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]

Connectivity.

Parameters:
NDimSpace dimension
CellGeometric information: ID, Tag, connectivity
MdlModel
XMdlExtra Model
PrpProperties
IniInitial values

Member Function Documentation

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.


Member Data Documentation

Flow model.

Flow state.

Identity column matrix (NCo,1)

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.

z-vector: pointing up along y (2) or z (3D)


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