MFEM
v3.3.2
Finite element discretization library
|
A TMOP integrator class based on any given TMOP_QualityMetric and TargetConstructor. More...
#include <tmop.hpp>
Public Member Functions | |
TMOP_Integrator (TMOP_QualityMetric *m, TargetConstructor *tc) | |
void | SetCoefficient (Coefficient &w1) |
Sets a scaling Coefficient for the quality metric term of the integrator. More... | |
void | EnableLimiting (const GridFunction &n0, Coefficient &w0) |
Adds a limiting term to the integrator. More... | |
void | SetLimitingNodes (const GridFunction &n0) |
Update the original/reference nodes used for limiting. More... | |
virtual double | GetElementEnergy (const FiniteElement &el, ElementTransformation &T, const Vector &elfun) |
Computes the integral of W(Jacobian(Trt)) over a target zone. More... | |
virtual void | AssembleElementVector (const FiniteElement &el, ElementTransformation &T, const Vector &elfun, Vector &elvect) |
Perform the local action of the NonlinearFormIntegrator. More... | |
virtual void | AssembleElementGrad (const FiniteElement &el, ElementTransformation &T, const Vector &elfun, DenseMatrix &elmat) |
Assemble the local gradient matrix. More... | |
Public Member Functions inherited from mfem::NonlinearFormIntegrator | |
void | SetIntRule (const IntegrationRule *ir) |
Prescribe a fixed IntegrationRule to use (when ir != NULL) or let the integrator choose (when ir == NULL). More... | |
void | SetIntegrationRule (const IntegrationRule &irule) |
Prescribe a fixed IntegrationRule to use. More... | |
virtual void | AssembleFaceVector (const FiniteElement &el1, const FiniteElement &el2, FaceElementTransformations &Tr, const Vector &elfun, Vector &elvect) |
Perform the local action of the NonlinearFormIntegrator resulting from a face integral term. More... | |
virtual void | AssembleFaceGrad (const FiniteElement &el1, const FiniteElement &el2, FaceElementTransformations &Tr, const Vector &elfun, DenseMatrix &elmat) |
Assemble the local action of the gradient of the NonlinearFormIntegrator resulting from a face integral term. More... | |
virtual | ~NonlinearFormIntegrator () |
Protected Attributes | |
TMOP_QualityMetric * | metric |
const TargetConstructor * | targetC |
Coefficient * | coeff1 |
const GridFunction * | nodes0 |
Coefficient * | coeff0 |
DenseMatrix | DSh |
DenseMatrix | DS |
DenseMatrix | Jrt |
DenseMatrix | Jpr |
DenseMatrix | Jpt |
DenseMatrix | P |
DenseMatrix | PMatI |
DenseMatrix | PMatO |
Protected Attributes inherited from mfem::NonlinearFormIntegrator | |
const IntegrationRule * | IntRule |
Additional Inherited Members | |
Protected Member Functions inherited from mfem::NonlinearFormIntegrator | |
NonlinearFormIntegrator (const IntegrationRule *ir=NULL) | |
A TMOP integrator class based on any given TMOP_QualityMetric and TargetConstructor.
Represents over a target zone, where W is the metric's strain energy density function, and Jpt is the Jacobian of the target->physical coordinates transformation. The virtual target zone is defined by the TargetConstructor.
|
inline |
[in] | m | TMOP_QualityMetric that will be integrated (not owned). |
[in] | tc | Target-matrix construction algorithm to use (not owned). |
|
virtual |
Assemble the local gradient matrix.
Reimplemented from mfem::NonlinearFormIntegrator.
|
virtual |
Perform the local action of the NonlinearFormIntegrator.
Reimplemented from mfem::NonlinearFormIntegrator.
|
inline |
Adds a limiting term to the integrator.
With this addition, the integrator becomes , where the second term measures the change with respect to the original physical positions, n0.
[in] | n0 | Original mesh node coordinates. |
[in] | w0 | Coefficient scaling the limiting term. |
|
virtual |
Computes the integral of W(Jacobian(Trt)) over a target zone.
[in] | el | Type of FiniteElement. |
[in] | T | Mesh element transformation. |
[in] | elfun | Physical coordinates of the zone. |
Reimplemented from mfem::NonlinearFormIntegrator.
|
inline |
Sets a scaling Coefficient for the quality metric term of the integrator.
With this addition, the integrator becomes .
Note that the Coefficient is evaluated in the physical configuration and not in the target configuration which may be undefined.
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |