MFEM  v4.2.0
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::InverseHarmonicModel Class Reference

#include <nonlininteg.hpp>

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

Public Member Functions

virtual double EvalW (const DenseMatrix &J) const
 Evaluate the strain energy density function, W = W(Jpt). More...
 
virtual void EvalP (const DenseMatrix &J, DenseMatrix &P) const
 Evaluate the 1st Piola-Kirchhoff stress tensor, P = P(Jpt). More...
 
virtual void AssembleH (const DenseMatrix &J, const DenseMatrix &DS, const double weight, DenseMatrix &A) const
 Evaluate the derivative of the 1st Piola-Kirchhoff stress tensor and assemble its contribution to the local gradient matrix 'A'. More...
 
- Public Member Functions inherited from mfem::HyperelasticModel
 HyperelasticModel ()
 
virtual ~HyperelasticModel ()
 
void SetTransformation (ElementTransformation &_Ttr)
 

Protected Attributes

DenseMatrix Z
 
DenseMatrix S
 
DenseMatrix G
 
DenseMatrix C
 
- Protected Attributes inherited from mfem::HyperelasticModel
ElementTransformationTtr
 

Detailed Description

Inverse-harmonic hyperelastic model with a strain energy density function given by the formula: W(J) = (1/2) det(J) Tr((J J^t)^{-1}) where J is the deformation gradient.

Definition at line 182 of file nonlininteg.hpp.

Member Function Documentation

void mfem::InverseHarmonicModel::AssembleH ( const DenseMatrix Jpt,
const DenseMatrix DS,
const double  weight,
DenseMatrix A 
) const
virtual

Evaluate the derivative of the 1st Piola-Kirchhoff stress tensor and assemble its contribution to the local gradient matrix 'A'.

Parameters
[in]JptRepresents the target->physical transformation Jacobian matrix.
[in]DSGradient of the basis matrix (dof x dim).
[in]weightQuadrature weight coefficient for the point.
[in,out]ALocal gradient matrix where the contribution from this point will be added.

Computes weight * d(dW_dxi)_d(xj) at the current point, for all i and j, where x1 ... xn are the FE dofs. This function is usually defined using the matrix invariants and their derivatives.

Implements mfem::HyperelasticModel.

Definition at line 158 of file nonlininteg.cpp.

void mfem::InverseHarmonicModel::EvalP ( const DenseMatrix Jpt,
DenseMatrix P 
) const
virtual

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

Parameters
[in]JptRepresents the target->physical transformation Jacobian matrix.
[out]PThe evaluated 1st Piola-Kirchhoff stress tensor.

Implements mfem::HyperelasticModel.

Definition at line 139 of file nonlininteg.cpp.

double mfem::InverseHarmonicModel::EvalW ( const DenseMatrix Jpt) const
virtual

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

Parameters
[in]JptRepresents the target->physical transformation Jacobian matrix.

Implements mfem::HyperelasticModel.

Definition at line 132 of file nonlininteg.cpp.

Member Data Documentation

DenseMatrix mfem::InverseHarmonicModel::C
mutableprotected

Definition at line 186 of file nonlininteg.hpp.

DenseMatrix mfem::InverseHarmonicModel::G
mutableprotected

Definition at line 186 of file nonlininteg.hpp.

DenseMatrix mfem::InverseHarmonicModel::S
mutableprotected

Definition at line 185 of file nonlininteg.hpp.

DenseMatrix mfem::InverseHarmonicModel::Z
mutableprotected

Definition at line 185 of file nonlininteg.hpp.


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