MFEM v4.8.0
Finite element discretization library
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
mfem::TMOP_Metric_333 Class Reference

3D barrier Shape+Size (VS) metric, well-posed (polyconvex). More...

#include <tmop.hpp>

Inheritance diagram for mfem::TMOP_Metric_333:
[legend]
Collaboration diagram for mfem::TMOP_Metric_333:
[legend]

Public Member Functions

 TMOP_Metric_333 (real_t gamma)
 
virtual ~TMOP_Metric_333 ()
 
- Public Member Functions inherited from mfem::TMOP_Combo_QualityMetric
virtual void AddQualityMetric (TMOP_QualityMetric *tq, real_t wt=1.0)
 
void SetTargetJacobian (const DenseMatrix &Jtr_) override
 Specify the reference-element -> target-element Jacobian matrix for the point of interest.
 
real_t EvalWMatrixForm (const DenseMatrix &Jpt) const override
 Evaluates the metric in matrix form (opposed to invariant form). Used for validating the invariant evaluations.
 
real_t EvalW (const DenseMatrix &Jpt) const override
 Evaluate the strain energy density function, W = W(Jpt), by using the 2D or 3D matrix invariants, see linalg/invariants.hpp.
 
void EvalP (const DenseMatrix &Jpt, DenseMatrix &P) const override
 Evaluate the 1st Piola-Kirchhoff stress tensor, P = P(Jpt).
 
void EvalPW (const DenseMatrix &Jpt, DenseMatrix &P) const override
 
void AssembleH (const DenseMatrix &Jpt, const DenseMatrix &DS, const real_t weight, DenseMatrix &A) const override
 Evaluate the derivative of the 1st Piola-Kirchhoff stress tensor and assemble its contribution to the local gradient matrix 'A'.
 
void ComputeAvgMetrics (const GridFunction &nodes, const TargetConstructor &tc, Vector &averages) const
 
void ComputeBalancedWeights (const GridFunction &nodes, const TargetConstructor &tc, Vector &weights) const
 
void GetWeights (Array< real_t > &weights) const
 
void SetWeights (const Vector &weights)
 Changes the weights of the metrics in the combination.
 
- Public Member Functions inherited from mfem::TMOP_QualityMetric
 TMOP_QualityMetric ()
 
virtual ~TMOP_QualityMetric ()
 
virtual int Id () const
 Return the metric ID.
 
- Public Member Functions inherited from mfem::HyperelasticModel
 HyperelasticModel ()
 
virtual ~HyperelasticModel ()
 
void SetTransformation (ElementTransformation &Ttr_)
 

Protected Attributes

InvariantsEvaluator2D< real_tie
 
TMOP_QualityMetricsh_metric
 
TMOP_QualityMetricsz_metric
 
- Protected Attributes inherited from mfem::TMOP_Combo_QualityMetric
Array< TMOP_QualityMetric * > tmop_q_arr
 
Array< real_twt_arr
 
- Protected Attributes inherited from mfem::TMOP_QualityMetric
const DenseMatrixJtr
 
- Protected Attributes inherited from mfem::HyperelasticModel
ElementTransformationTtr
 

Additional Inherited Members

- Protected Member Functions inherited from mfem::TMOP_QualityMetric
void SetTransformation (ElementTransformation &)
 The method HyperelasticModel::SetTransformation() is hidden for TMOP_QualityMetrics, because it is not used.
 
void DefaultAssembleH (const DenseTensor &H, const DenseMatrix &DS, const real_t weight, DenseMatrix &A) const
 See AssembleH(). This is a default implementation for the case when the 2nd derivatives of the metric are pre-computed and stored into H. This function is used in combination with AD-based computations.
 

Detailed Description

3D barrier Shape+Size (VS) metric, well-posed (polyconvex).

Definition at line 985 of file tmop.hpp.

Constructor & Destructor Documentation

◆ TMOP_Metric_333()

mfem::TMOP_Metric_333::TMOP_Metric_333 ( real_t gamma)
inline

Definition at line 992 of file tmop.hpp.

◆ ~TMOP_Metric_333()

virtual mfem::TMOP_Metric_333::~TMOP_Metric_333 ( )
inlinevirtual

Definition at line 1000 of file tmop.hpp.

Member Data Documentation

◆ ie

InvariantsEvaluator2D<real_t> mfem::TMOP_Metric_333::ie
mutableprotected

Definition at line 988 of file tmop.hpp.

◆ sh_metric

TMOP_QualityMetric* mfem::TMOP_Metric_333::sh_metric
protected

Definition at line 989 of file tmop.hpp.

◆ sz_metric

TMOP_QualityMetric * mfem::TMOP_Metric_333::sz_metric
protected

Definition at line 989 of file tmop.hpp.


The documentation for this class was generated from the following file: