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

#include <uwpelem.h>

Inheritance diagram for FEM::UWPElem:
FEM::Element

List of all members.

Public Types

typedef std::map< size_t, SDPairIdxToBcs_t
typedef std::map< size_t,
BCFuncs * > 
IdxToBcf_t

Public Member Functions

 UWPElem (int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes)
 Connectivity.
 ~UWPElem ()
void SetBCs (size_t IdxEdgeOrFace, SDPair const &BCs, BCFuncs *BCF)
 Set boundary conditions.
void CalcSurfLoads (double Time, Vec_t &Sl, Vec_t &Sq) const
 Calculate surface loads.
void GetLoc () const
 Get location vectors.
void ElemEqs (double Time, Vec_t const &V_g, Vec_t const &Ww_g, Vec_t const &Pw_g) const
 Element equations: M,Mw,Hw,f,fw,hw,cw,ew.
void StateKeys (Array< String > &Keys) const
 State keys.
void StateAtIP (SDPair &KeysVals, int IdxIP) const
 State at IP.
void Interp (Mat_t const &C, IntegPoint const &IP, double h=1.0) const
 Interpolation matrices.
double Update (size_t Idx, Vec_t const &V_g, Vec_t const &dPwdt_g, double dt)
 Calculate rates and update. FE:Idx=0, ME:Idx=1.
void Restore ()
 Restore state.

Public Attributes

Array< UnsatFlowState * > FSta
 Flow state.
UnsatFlow const * FMdl
 Flow model.
IdxToBcs_t LBCs
 Loads boundary conditions.
IdxToBcf_t LBCf
 Loads callbacks.
bool HasGrav
 Has gravity?
Vec_t g
 Gravity vector: [0,-g]^T or [0,0,-g]^T.

Static Public Attributes

static size_t NCo = 0
 Number of stress/strain components == 2*NDim.
static size_t NDu = 0
 Number of DOFs (displacements) == NN*NDim.
static size_t NDp = 0
 Number of DOFs of pressure == GEp->NN.
static Array< size_t > LocU
 location of U
static Array< size_t > LocWw
 location of Ww
static Array< size_t > LocPw
 location of Pw
static Mat_t M
 Solids mass matrix: NDu,NDu.
static Mat_t Mw
 Water mass matrix: NDu,NDu.
static Mat_t Hw
 Water storage matrix: NDp,NDp.
static Vec_t f
 Solids force vector: NDu.
static Vec_t fw
 Water force vector: NDu.
static Vec_t hw
 Water gradient vector: NDu.
static Vec_t cw
 Water convection vector: NDu.
static Vec_t ew
 Water coupling vector: NDp.
static Mat_t dNdX
 Derivative of shape functions: NDim,GE->NN.
static Mat_t B
 Matrix with deriv of shapes: NCo,NDu.
static Mat_t Bp
 Pressure matrix with derivs: NDim,GE->NN == dNdX.
static Mat_t N
 Shape functions: NDim,NDu.
static Mat_t Np
 Pressure shape functions: 1,NDp.
static Vec_t Npv
 Vector of pressure shape funcs: NDp.
static Mat_t J
 Jacobian of dNdX: NDim,NDim.
static Mat_t Ji
 Inverse of J: NDim,NDim.
static Mat_t Jf
 Jacobian of dNfacedX: NDim-1,NDim.
static double DetJ
 Determinant of Jacobian.
static double Coef
 Coef for integration.
static Vec_t V
 Element (local) solids velocity vector: NDu.
static Vec_t Ww
 Element (local) water rel. velocity: NDu.
static Vec_t Pw
 Element (local) water pressure: NDp.
static Vec_t dPwdt
 Element (local) derivative of pw: NDp.
static Mat_t Co
 Coordinates matrix: GE->NN,NDim.
static Mat_t Cf
 Face coordinates matrix: GE->NFN,NDim.
static Mat_t lw
 O2 tensor: velocity gradient == Sum_n (vsn+wwn) dy Gn: NDim,NDim.
static Vec_t ww
 Water rel velocit at IP: ww = N * Ww: NDim.
static Vec_t d
 O2 tensor: rate of deformation of solids == B*v: NCo.
static Vec_t fwd
 Drag force vector: NDim.
static Array< StringStaKeys
 State keys such as 'sx', 'sy', to be extrapolated to nodes.

Member Typedef Documentation

typedef std::map<size_t,BCFuncs*> FEM::UWPElem::IdxToBcf_t
typedef std::map<size_t,SDPair > FEM::UWPElem::IdxToBcs_t

Constructor & Destructor Documentation

FEM::UWPElem::UWPElem ( 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
FEM::UWPElem::~UWPElem ( ) [inline]

Member Function Documentation

void FEM::UWPElem::CalcSurfLoads ( double  Time,
Vec_t Sl,
Vec_t Sq 
) const [inline]

Calculate surface loads.

void FEM::UWPElem::ElemEqs ( double  Time,
Vec_t const &  V_g,
Vec_t const &  Ww_g,
Vec_t const &  Pw_g 
) const [inline, virtual]

Element equations: M,Mw,Hw,f,fw,hw,cw,ew.

Reimplemented from FEM::Element.

void FEM::UWPElem::GetLoc ( ) const [inline, virtual]

Get location vectors.

Reimplemented from FEM::Element.

void FEM::UWPElem::Interp ( Mat_t const &  C,
IntegPoint const &  IP,
double  h = 1.0 
) const [inline]

Interpolation matrices.

void FEM::UWPElem::Restore ( ) [inline, virtual]

Restore state.

Reimplemented from FEM::Element.

void FEM::UWPElem::SetBCs ( size_t  IdxEdgeOrFace,
SDPair const &  BCs,
BCFuncs BCF 
) [inline, virtual]

Set boundary conditions.

Reimplemented from FEM::Element.

void FEM::UWPElem::StateAtIP ( SDPair KeysVals,
int  IdxIP 
) const [inline, virtual]

State at IP.

Reimplemented from FEM::Element.

void FEM::UWPElem::StateKeys ( Array< String > &  Keys) const [inline, virtual]

State keys.

Reimplemented from FEM::Element.

double FEM::UWPElem::Update ( size_t  Idx,
Vec_t const &  V_g,
Vec_t const &  dPwdt_g,
double  dt 
) [inline, virtual]

Calculate rates and update. FE:Idx=0, ME:Idx=1.

Reimplemented from FEM::Element.


Member Data Documentation

Matrix with deriv of shapes: NCo,NDu.

Pressure matrix with derivs: NDim,GE->NN == dNdX.

Face coordinates matrix: GE->NFN,NDim.

Coordinates matrix: GE->NN,NDim.

double FEM::UWPElem::Coef [static]

Coef for integration.

Water convection vector: NDu.

O2 tensor: rate of deformation of solids == B*v: NCo.

double FEM::UWPElem::DetJ [static]

Determinant of Jacobian.

Derivative of shape functions: NDim,GE->NN.

Element (local) derivative of pw: NDp.

Water coupling vector: NDp.

Solids force vector: NDu.

Flow model.

Flow state.

Water force vector: NDu.

Drag force vector: NDim.

Gravity vector: [0,-g]^T or [0,0,-g]^T.

Has gravity?

Water storage matrix: NDp,NDp.

Water gradient vector: NDu.

Jacobian of dNdX: NDim,NDim.

Jacobian of dNfacedX: NDim-1,NDim.

Inverse of J: NDim,NDim.

Loads callbacks.

Loads boundary conditions.

Array< size_t > FEM::UWPElem::LocPw [static]

location of Pw

Array< size_t > FEM::UWPElem::LocU [static]

location of U

Array< size_t > FEM::UWPElem::LocWw [static]

location of Ww

O2 tensor: velocity gradient == Sum_n (vsn+wwn) dy Gn: NDim,NDim.

Solids mass matrix: NDu,NDu.

Water mass matrix: NDu,NDu.

Shape functions: NDim,NDu.

size_t FEM::UWPElem::NCo = 0 [static]

Number of stress/strain components == 2*NDim.

size_t FEM::UWPElem::NDp = 0 [static]

Number of DOFs of pressure == GEp->NN.

size_t FEM::UWPElem::NDu = 0 [static]

Number of DOFs (displacements) == NN*NDim.

Pressure shape functions: 1,NDp.

Vector of pressure shape funcs: NDp.

Element (local) water pressure: NDp.

State keys such as 'sx', 'sy', to be extrapolated to nodes.

Element (local) solids velocity vector: NDu.

Element (local) water rel. velocity: NDu.

Water rel velocit at IP: ww = N * Ww: NDim.


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