FEBio  1.5.0
Public Member Functions | Protected Member Functions
FEElasticSolidDomain Class Reference

#include <FEElasticSolidDomain.h>

Inheritance diagram for FEElasticSolidDomain:
FESolidDomain FEDomain FE3FieldElasticSolidDomain FEBiphasicDomain FEBiphasicSoluteDomain FEMultiphasicDomain FEPoroSolidDomain FERigidSolidDomain FETriphasicDomain FEUDGHexDomain FEUT4Domain

Public Member Functions

 FEElasticSolidDomain (FEMesh *pm, FEMaterial *pmat)
 constructor
FEElasticSolidDomainoperator= (FEElasticSolidDomain &d)
 TODO: do I really use this?
FEDomainClone ()
 create a clone of this class
bool Initialize (FEModel &fem)
 initialize class
void InitElements ()
 Init elements.
void Reset ()
 reset element data
void UnpackLM (FEElement &el, vector< int > &lm)
 Unpack solid element data.
void UpdateStresses (FEModel &fem)
void StiffnessMatrix (FESolidSolver *psolver)
 calculates the global stiffness matrix for this domain
virtual void ElementStiffness (FEM &fem, int iel, matrix &ke)
 calculates the solid element stiffness matrix
void Residual (FESolidSolver *psolver, vector< double > &R)
 calculates the residual
void InternalForces (FESolidElement &el, vector< double > &fe)
 Calculates the internal stress vector for solid elements.

Protected Member Functions

void GeometricalStiffness (FESolidElement &el, matrix &ke)
 geometrical stiffness (i.e. initial stress)
void MaterialStiffness (FEM &fem, FESolidElement &el, matrix &ke)
 material stiffness component
void ElementInertialStiffness (FEM &fem, FESolidElement &el, matrix &ke)
 calculates the solid element inertial stiffness matrix
void BodyForceStiffness (FEM &fem, FESolidElement &el, matrix &ke)
 calculates the stiffness matrix due to body forces
void BodyForces (FEM &fem, FESolidElement &elem, vector< double > &fe)
 Calculatess external body forces for solid elements.

Detailed Description

domain described by Lagrange-type 3D volumetric elements


Member Function Documentation

void FEElasticSolidDomain::BodyForces ( FEM fem,
FESolidElement elem,
vector< double > &  fe 
) [protected]

Calculatess external body forces for solid elements.

calculates the body forces

void FEElasticSolidDomain::BodyForceStiffness ( FEM fem,
FESolidElement el,
matrix ke 
) [protected]

calculates the stiffness matrix due to body forces

This function calculates the stiffness due to body forces.

void FEElasticSolidDomain::ElementInertialStiffness ( FEM fem,
FESolidElement el,
matrix ke 
) [protected]

calculates the solid element inertial stiffness matrix

calculates element inertial stiffness matrix

void FEElasticSolidDomain::ElementStiffness ( FEM fem,
int  iel,
matrix ke 
) [virtual]

calculates the solid element stiffness matrix

This function calculates the element stiffness matrix. It calls the material stiffness function, the geometrical stiffness function and, if necessary, the dilatational stiffness function. Note that these three functions only calculate the upper diagonal matrix due to the symmetry of the element stiffness matrix The last section of this function fills the rest of the element stiffness matrix.

Reimplemented in FE3FieldElasticSolidDomain, FEMultiphasicDomain, FETriphasicDomain, and FEBiphasicDomain.

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

geometrical stiffness (i.e. initial stress)

calculates element's geometrical stiffness component for integration point n

Reimplemented in FEUT4Domain.

void FEElasticSolidDomain::InternalForces ( FESolidElement el,
vector< double > &  fe 
)

Calculates the internal stress vector for solid elements.

calculates the internal equivalent nodal forces for solid elements

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

material stiffness component

Calculates element material stiffness element matrix.

Reimplemented in FEUT4Domain.

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

calculates the residual

this element should not be UDG

Reimplemented from FEDomain.

Reimplemented in FEUDGHexDomain, FERigidSolidDomain, FEPoroSolidDomain, FEUT4Domain, FEBiphasicSoluteDomain, FEMultiphasicDomain, FETriphasicDomain, and FEBiphasicDomain.

void FEElasticSolidDomain::UnpackLM ( FEElement el,
vector< int > &  lm 
) [virtual]

Unpack solid element data.

Unpack the element LM data.

Implements FEDomain.


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