MFEM
v4.0
Finite element discretization library
|
#include <nonlininteg.hpp>
Public Member Functions | |
NeoHookeanModel (double _mu, double _K, double _g=1.0) | |
NeoHookeanModel (Coefficient &_mu, Coefficient &_K, Coefficient *_g=NULL) | |
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 Member Functions | |
void | EvalCoeffs () const |
Protected Attributes | |
double | mu |
double | K |
double | g |
Coefficient * | c_mu |
Coefficient * | c_K |
Coefficient * | c_g |
bool | have_coeffs |
DenseMatrix | Z |
DenseMatrix | G |
DenseMatrix | C |
Protected Attributes inherited from mfem::HyperelasticModel | |
ElementTransformation * | Ttr |
Neo-Hookean hyperelastic model with a strain energy density function given by the formula: \((\mu/2)(\bar{I}_1 - dim) + (K/2)(det(J)/g - 1)^2\) where J is the deformation gradient and \(\bar{I}_1 = (det(J))^{-2/dim} Tr(J J^t)\). The parameters \(\mu\) and K are the shear and bulk moduli, respectively, and g is a reference volumetric scaling.
Definition at line 183 of file nonlininteg.hpp.
|
inline |
Definition at line 196 of file nonlininteg.hpp.
|
inline |
Definition at line 199 of file nonlininteg.hpp.
|
virtual |
Evaluate the derivative of the 1st Piola-Kirchhoff stress tensor and assemble its contribution to the local gradient matrix 'A'.
[in] | Jpt | Represents the target->physical transformation Jacobian matrix. |
[in] | DS | Gradient of the basis matrix (dof x dim). |
[in] | weight | Quadrature weight coefficient for the point. |
[in,out] | A | Local 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 260 of file nonlininteg.cpp.
|
inlineprotected |
Definition at line 213 of file nonlininteg.cpp.
|
virtual |
Evaluate the 1st Piola-Kirchhoff stress tensor, P = P(Jpt).
[in] | Jpt | Represents the target->physical transformation Jacobian matrix. |
[out] | P | The evaluated 1st Piola-Kirchhoff stress tensor. |
Implements mfem::HyperelasticModel.
Definition at line 239 of file nonlininteg.cpp.
|
virtual |
Evaluate the strain energy density function, W = W(Jpt).
[in] | Jpt | Represents the target->physical transformation Jacobian matrix. |
Implements mfem::HyperelasticModel.
Definition at line 223 of file nonlininteg.cpp.
|
mutableprotected |
Definition at line 191 of file nonlininteg.hpp.
|
protected |
Definition at line 187 of file nonlininteg.hpp.
|
protected |
Definition at line 187 of file nonlininteg.hpp.
|
protected |
Definition at line 187 of file nonlininteg.hpp.
|
mutableprotected |
Definition at line 186 of file nonlininteg.hpp.
|
mutableprotected |
Definition at line 191 of file nonlininteg.hpp.
|
protected |
Definition at line 188 of file nonlininteg.hpp.
|
mutableprotected |
Definition at line 186 of file nonlininteg.hpp.
|
mutableprotected |
Definition at line 186 of file nonlininteg.hpp.
|
mutableprotected |
Definition at line 190 of file nonlininteg.hpp.