FEBio  1.5.0
Data Structures | Public Member Functions | Static Public Attributes | Protected Member Functions
FEUT4Domain Class Reference

Domain for nodally integrated tet elements. More...

#include <ut4.h>

Inheritance diagram for FEUT4Domain:
FEElasticSolidDomain FESolidDomain FEDomain

Data Structures

struct  UT4NODE

Public Member Functions

 FEUT4Domain (FEMesh *pm, FEMaterial *pmat)
 constructor
 ~FEUT4Domain ()
 destructor
FEDomainClone ()
 clone function
void Serialize (DumpFile &ar)
 data serialization
FENodeElemListGetNodeElemList ()
 return the node-element list for this domain
bool Initialize (FEModel &fem)
 initialization function
void UpdateStresses (FEModel &fem)
 Update stresses.
void Residual (FESolidSolver *psolver, vector< double > &R)
 calculates the total residual
void StiffnessMatrix (FESolidSolver *psolver)
 calculates the global stiffness matrix for this domain

Static Public Attributes

static double m_alpha = 0.05
 stabilization factor alpha
static bool m_bdev = false
 use deviatoric components only for the element contribution

Protected Member Functions

void NodalResidual (FESolidSolver *psolver, vector< double > &R)
 calculates the nodal residual
void ElementResidual (FESolidSolver *psolver, vector< double > &R)
 calculates the element residual
void ElementInternalForces (FESolidElement &el, vector< double > &fe)
 Calculates the internal stress vector for solid elements.
void ElementalStiffnessMatrix (FESolidSolver *psolver)
 Calculates the element stiffness matrix.
void ElementStiffness (FEM &fem, FESolidElement &el, matrix &ke)
 calculates the solid element stiffness matrix
void NodalStiffnessMatrix (FESolidSolver *psolver)
 Calculates the nodal stiffness matrix.
void GeometricalStiffness (FESolidElement &el, matrix &ke)
 geometrical stiffness (i.e. initial stress)
void MaterialStiffness (FEM &fem, FESolidElement &el, matrix &ke)
 material stiffness component
void NodalGeometryStiffness (UT4NODE &node, matrix &ke)
 nodal geometry stiffness contribution
void NodalMaterialStiffness (UT4NODE &node, matrix &ke, FEElasticMaterial *pme)
 nodal material stiffness contribution
double TetVolume (vec3d *r)
 calculate the volume of a tet element
tens4ds Cvol (const tens4ds &C, const mat3ds &S)

Detailed Description

Domain for nodally integrated tet elements.

This class implements the uniform nodal strain tetrahedron with isochoric stabilization as described by Gee, Dohrmann, Key and Wall (2009)


Constructor & Destructor Documentation

FEUT4Domain::FEUT4Domain ( FEMesh pm,
FEMaterial pmat 
)

constructor

Constructor for the UT4Domain.


Member Function Documentation

tens4ds FEUT4Domain::Cvol ( const tens4ds C,
const mat3ds S 
) [protected]

Calculate the volumetric contribution of the spatial tangent stiffness

void FEUT4Domain::ElementalStiffnessMatrix ( FESolidSolver psolver) [protected]

Calculates the element stiffness matrix.

Calculates the element contribution to the global stiffness matrix.

void FEUT4Domain::ElementInternalForces ( FESolidElement el,
vector< double > &  fe 
) [protected]

Calculates the internal stress vector for solid elements.

calculates the internal equivalent nodal forces for solid elements

void FEUT4Domain::ElementResidual ( FESolidSolver psolver,
vector< double > &  R 
) [protected]

calculates the element residual

This function calculates the element contribution to the residual.

void FEUT4Domain::GeometricalStiffness ( FESolidElement el,
matrix ke 
) [protected]

geometrical stiffness (i.e. initial stress)

calculates element's geometrical stiffness component for integration point n

Reimplemented from FEElasticSolidDomain.

bool FEUT4Domain::Initialize ( FEModel fem) [virtual]

initialization function

Initialization for the UT4Domain. Note that we first initialize the base class before initializing the domain.

Reimplemented from FEElasticSolidDomain.

void FEUT4Domain::MaterialStiffness ( FEM fem,
FESolidElement el,
matrix ke 
) [protected]

material stiffness component

Calculates element material stiffness element matrix.

Reimplemented from FEElasticSolidDomain.

void FEUT4Domain::NodalGeometryStiffness ( UT4NODE &  node,
matrix ke 
) [protected]

nodal geometry stiffness contribution

calculates the nodal geometry stiffness contribution

void FEUT4Domain::NodalMaterialStiffness ( UT4NODE &  node,
matrix ke,
FEElasticMaterial pme 
) [protected]

nodal material stiffness contribution

Calculates the nodal material stiffness contribution.

void FEUT4Domain::NodalResidual ( FESolidSolver psolver,
vector< double > &  R 
) [protected]

calculates the nodal residual

This function calculates the nodal contribution to the residual.

void FEUT4Domain::NodalStiffnessMatrix ( FESolidSolver psolver) [protected]

Calculates the nodal stiffness matrix.

Calculates the nodal contribution to the global stiffness matrix.

void FEUT4Domain::Residual ( FESolidSolver psolver,
vector< double > &  R 
) [virtual]

calculates the total residual

The residual is defined as the sum of the nodal residual and the element residual

Reimplemented from FEElasticSolidDomain.

void FEUT4Domain::StiffnessMatrix ( FESolidSolver psolver) [virtual]

calculates the global stiffness matrix for this domain

Calculates the stiffness matrix. The stiffness matrix is a sum of the nodal and element stiffness matrices

Reimplemented from FEElasticSolidDomain.

double FEUT4Domain::TetVolume ( vec3d r) [protected]

calculate the volume of a tet element

Calculate volume for tets using the determinant rule.

void FEUT4Domain::UpdateStresses ( FEModel fem) [virtual]

Update stresses.

Update the nodal and element stresses.

Reimplemented from FEElasticSolidDomain.


The documentation for this class was generated from the following files: