MFEM  v3.1
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Attributes | List of all members
mfem::HyperelasticModel Class Referenceabstract

Abstract class for hyperelastic models. More...

#include <nonlininteg.hpp>

Inheritance diagram for mfem::HyperelasticModel:
[legend]
Collaboration diagram for mfem::HyperelasticModel:
[legend]

Public Member Functions

 HyperelasticModel ()
 
void SetTransformation (ElementTransformation &_T)
 An element transformation that can be used to evaluate coefficients. More...
 
virtual double EvalW (const DenseMatrix &J) const =0
 Evaluate the strain energy density function, W=W(J). More...
 
virtual void EvalP (const DenseMatrix &J, DenseMatrix &P) const =0
 Evaluate the 1st Piola-Kirchhoff stress tensor, P=P(J). More...
 
virtual void AssembleH (const DenseMatrix &J, const DenseMatrix &DS, const double weight, DenseMatrix &A) const =0
 
virtual ~HyperelasticModel ()
 

Protected Attributes

ElementTransformationT
 

Detailed Description

Abstract class for hyperelastic models.

Definition at line 49 of file nonlininteg.hpp.

Constructor & Destructor Documentation

mfem::HyperelasticModel::HyperelasticModel ( )
inline

Definition at line 55 of file nonlininteg.hpp.

virtual mfem::HyperelasticModel::~HyperelasticModel ( )
inlinevirtual

Definition at line 73 of file nonlininteg.hpp.

Member Function Documentation

virtual void mfem::HyperelasticModel::AssembleH ( const DenseMatrix J,
const DenseMatrix DS,
const double  weight,
DenseMatrix A 
) const
pure virtual

Evaluate the derivative of the 1st Piola-Kirchhoff stress tensor and assemble its contribution to the local gradient matrix 'A'. 'DS' is the gradient of the basis matrix (dof x dim), and 'weight' is the quadrature weight.

Implemented in mfem::NeoHookeanModel, and mfem::InverseHarmonicModel.

virtual void mfem::HyperelasticModel::EvalP ( const DenseMatrix J,
DenseMatrix P 
) const
pure virtual

Evaluate the 1st Piola-Kirchhoff stress tensor, P=P(J).

Implemented in mfem::NeoHookeanModel, and mfem::InverseHarmonicModel.

virtual double mfem::HyperelasticModel::EvalW ( const DenseMatrix J) const
pure virtual

Evaluate the strain energy density function, W=W(J).

Implemented in mfem::NeoHookeanModel, and mfem::InverseHarmonicModel.

void mfem::HyperelasticModel::SetTransformation ( ElementTransformation _T)
inline

An element transformation that can be used to evaluate coefficients.

Definition at line 58 of file nonlininteg.hpp.

Member Data Documentation

ElementTransformation* mfem::HyperelasticModel::T
protected

Definition at line 52 of file nonlininteg.hpp.


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