MFEM
v3.3.2
Finite element discretization library
|
Abstract class for hyperelastic models. More...
#include <nonlininteg.hpp>
Public Member Functions | |
HyperelasticModel () | |
virtual | ~HyperelasticModel () |
void | SetTransformation (ElementTransformation &_Ttr) |
virtual double | EvalW (const DenseMatrix &Jpt) const =0 |
Evaluate the strain energy density function, W = W(Jpt). More... | |
virtual void | EvalP (const DenseMatrix &Jpt, DenseMatrix &P) const =0 |
Evaluate the 1st Piola-Kirchhoff stress tensor, P = P(Jpt). More... | |
virtual void | AssembleH (const DenseMatrix &Jpt, const DenseMatrix &DS, const double weight, DenseMatrix &A) const =0 |
Evaluate the derivative of the 1st Piola-Kirchhoff stress tensor and assemble its contribution to the local gradient matrix 'A'. More... | |
Protected Attributes | |
ElementTransformation * | Ttr |
Abstract class for hyperelastic models.
Definition at line 76 of file nonlininteg.hpp.
|
inline |
Definition at line 83 of file nonlininteg.hpp.
|
inlinevirtual |
Definition at line 84 of file nonlininteg.hpp.
|
pure 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.
Implemented in mfem::TMOP_Metric_352, mfem::TMOP_Metric_321, mfem::TMOP_Metric_316, mfem::TMOP_Metric_315, mfem::TMOP_Metric_303, mfem::TMOP_Metric_302, mfem::TMOP_Metric_301, mfem::TMOP_Metric_252, mfem::TMOP_Metric_211, mfem::TMOP_Metric_077, mfem::TMOP_Metric_058, mfem::TMOP_Metric_056, mfem::TMOP_Metric_055, mfem::TMOP_Metric_050, mfem::NeoHookeanModel, mfem::TMOP_Metric_022, mfem::InverseHarmonicModel, mfem::TMOP_Metric_009, mfem::TMOP_Metric_007, mfem::TMOP_Metric_002, mfem::TMOP_Metric_001, and mfem::TMOP_QualityMetric.
|
pure 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. |
Implemented in mfem::TMOP_Metric_352, mfem::TMOP_Metric_321, mfem::TMOP_Metric_316, mfem::TMOP_Metric_315, mfem::TMOP_Metric_303, mfem::TMOP_Metric_302, mfem::TMOP_Metric_301, mfem::TMOP_Metric_252, mfem::TMOP_Metric_211, mfem::TMOP_Metric_077, mfem::TMOP_Metric_058, mfem::TMOP_Metric_056, mfem::TMOP_Metric_055, mfem::TMOP_Metric_050, mfem::NeoHookeanModel, mfem::TMOP_Metric_022, mfem::InverseHarmonicModel, mfem::TMOP_Metric_009, mfem::TMOP_Metric_007, mfem::TMOP_Metric_002, mfem::TMOP_Metric_001, and mfem::TMOP_QualityMetric.
|
pure virtual |
Evaluate the strain energy density function, W = W(Jpt).
[in] | Jpt | Represents the target->physical transformation Jacobian matrix. |
Implemented in mfem::TMOP_Metric_352, mfem::TMOP_Metric_321, mfem::TMOP_Metric_316, mfem::TMOP_Metric_315, mfem::TMOP_Metric_303, mfem::TMOP_Metric_302, mfem::TMOP_Metric_301, mfem::TMOP_Metric_252, mfem::TMOP_Metric_211, mfem::TMOP_Metric_077, mfem::TMOP_Metric_058, mfem::TMOP_Metric_056, mfem::TMOP_Metric_055, mfem::TMOP_Metric_050, mfem::NeoHookeanModel, mfem::TMOP_Metric_022, mfem::InverseHarmonicModel, mfem::TMOP_Metric_009, mfem::TMOP_Metric_007, mfem::TMOP_Metric_002, mfem::TMOP_Metric_001, and mfem::TMOP_QualityMetric.
|
inline |
A reference-element to target-element transformation that can be used to evaluate Coefficients.
Definition at line 90 of file nonlininteg.hpp.
|
protected |
Reference-element to target-element transformation.
Definition at line 79 of file nonlininteg.hpp.