MFEM
v4.6.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 284 of file nonlininteg.hpp.
|
inline |
Definition at line 297 of file nonlininteg.hpp.
|
inline |
Definition at line 300 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 318 of file nonlininteg.cpp.
|
inlineprotected |
Definition at line 271 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 297 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 281 of file nonlininteg.cpp.
|
mutableprotected |
Definition at line 292 of file nonlininteg.hpp.
|
protected |
Definition at line 288 of file nonlininteg.hpp.
|
protected |
Definition at line 288 of file nonlininteg.hpp.
|
protected |
Definition at line 288 of file nonlininteg.hpp.
|
mutableprotected |
Definition at line 287 of file nonlininteg.hpp.
|
mutableprotected |
Definition at line 292 of file nonlininteg.hpp.
|
protected |
Definition at line 289 of file nonlininteg.hpp.
|
mutableprotected |
Definition at line 287 of file nonlininteg.hpp.
|
mutableprotected |
Definition at line 287 of file nonlininteg.hpp.
|
mutableprotected |
Definition at line 291 of file nonlininteg.hpp.