MFEM
v4.4.0
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 193 of file nonlininteg.hpp.
|
inline |
Definition at line 200 of file nonlininteg.hpp.
|
inlinevirtual |
Definition at line 201 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_AMetric_107a, mfem::TMOP_AMetric_036, mfem::TMOP_AMetric_014a, mfem::TMOP_AMetric_011, mfem::TMOP_Metric_352, mfem::TMOP_Metric_321, mfem::TMOP_Metric_316, mfem::TMOP_Metric_315, mfem::TMOP_Metric_313, mfem::TMOP_Metric_311, mfem::TMOP_Metric_303, mfem::TMOP_Metric_302, mfem::TMOP_Metric_301, mfem::TMOP_Metric_252, mfem::TMOP_Metric_211, mfem::TMOP_Metric_098, mfem::TMOP_Metric_085, mfem::TMOP_Metric_077, mfem::TMOP_Metric_058, mfem::TMOP_Metric_056, mfem::TMOP_Metric_055, mfem::NeoHookeanModel, mfem::TMOP_Metric_050, mfem::TMOP_Metric_022, mfem::InverseHarmonicModel, mfem::TMOP_Metric_014, mfem::TMOP_Metric_009, mfem::TMOP_Metric_007, mfem::TMOP_Metric_002, mfem::TMOP_Metric_aspratio3D, mfem::TMOP_Metric_aspratio2D, mfem::TMOP_Metric_skew3D, mfem::TMOP_Metric_skew2D, mfem::TMOP_Metric_001, mfem::TMOP_Combo_QualityMetric, 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_AMetric_107a, mfem::TMOP_AMetric_036, mfem::TMOP_AMetric_014a, mfem::TMOP_AMetric_011, mfem::TMOP_Metric_352, mfem::TMOP_Metric_321, mfem::TMOP_Metric_316, mfem::TMOP_Metric_315, mfem::TMOP_Metric_313, mfem::TMOP_Metric_311, mfem::TMOP_Metric_303, mfem::TMOP_Metric_302, mfem::TMOP_Metric_301, mfem::TMOP_Metric_252, mfem::TMOP_Metric_211, mfem::TMOP_Metric_098, mfem::TMOP_Metric_085, mfem::TMOP_Metric_077, mfem::TMOP_Metric_058, mfem::TMOP_Metric_056, mfem::TMOP_Metric_055, mfem::NeoHookeanModel, mfem::TMOP_Metric_050, mfem::TMOP_Metric_022, mfem::InverseHarmonicModel, mfem::TMOP_Metric_014, mfem::TMOP_Metric_009, mfem::TMOP_Metric_007, mfem::TMOP_Metric_002, mfem::TMOP_Metric_aspratio3D, mfem::TMOP_Metric_aspratio2D, mfem::TMOP_Metric_skew3D, mfem::TMOP_Metric_skew2D, mfem::TMOP_Metric_001, mfem::TMOP_Combo_QualityMetric, 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_AMetric_107a, mfem::TMOP_AMetric_036, mfem::TMOP_AMetric_014a, mfem::TMOP_AMetric_011, mfem::TMOP_Metric_352, mfem::TMOP_Metric_321, mfem::TMOP_Metric_316, mfem::TMOP_Metric_315, mfem::TMOP_Metric_313, mfem::TMOP_Metric_311, mfem::TMOP_Metric_303, mfem::TMOP_Metric_302, mfem::TMOP_Metric_301, mfem::TMOP_Metric_252, mfem::TMOP_Metric_211, mfem::TMOP_Metric_098, mfem::TMOP_Metric_085, mfem::TMOP_Metric_077, mfem::TMOP_Metric_058, mfem::TMOP_Metric_056, mfem::TMOP_Metric_055, mfem::NeoHookeanModel, mfem::TMOP_Metric_050, mfem::TMOP_Metric_022, mfem::InverseHarmonicModel, mfem::TMOP_Metric_014, mfem::TMOP_Metric_009, mfem::TMOP_Metric_007, mfem::TMOP_Metric_002, mfem::TMOP_Metric_aspratio3D, mfem::TMOP_Metric_aspratio2D, mfem::TMOP_Metric_skew3D, mfem::TMOP_Metric_skew2D, mfem::TMOP_Metric_001, mfem::TMOP_Combo_QualityMetric, and mfem::TMOP_QualityMetric.
|
inline |
A reference-element to target-element transformation that can be used to evaluate Coefficients.
Definition at line 207 of file nonlininteg.hpp.
|
protected |
Reference-element to target-element transformation.
Definition at line 196 of file nonlininteg.hpp.