|
| TMOP_WorstCaseUntangleOptimizer_Metric (TMOP_QualityMetric &tmop_metric_, int exponent_=1, real_t alpha_=1.5, real_t detT_ep_=0.0001, real_t muT_ep_=0.0001, BarrierType btype_=BarrierType::None, WorstCaseType wctype_=WorstCaseType::None) |
|
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 | 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'.
|
|
real_t | EvalWBarrier (const DenseMatrix &Jpt) const |
|
void | SetMinDetT (real_t min_detT_) |
|
void | SetMaxMuT (real_t max_muT_) |
|
BarrierType | GetBarrierType () |
|
WorstCaseType | GetWorstCaseType () |
|
| TMOP_QualityMetric () |
|
virtual | ~TMOP_QualityMetric () |
|
virtual void | SetTargetJacobian (const DenseMatrix &Jtr_) |
| Specify the reference-element -> target-element Jacobian matrix for the point of interest.
|
|
virtual real_t | EvalWMatrixForm (const DenseMatrix &Jpt) const |
| Evaluates the metric in matrix form (opposed to invariant form). Used for validating the invariant evaluations.
|
|
virtual void | EvalPW (const DenseMatrix &Jpt, DenseMatrix &PW) const |
|
virtual int | Id () const |
| Return the metric ID.
|
|
| HyperelasticModel () |
|
virtual | ~HyperelasticModel () |
|
void | SetTransformation (ElementTransformation &Ttr_) |
|
Simultaneous Untangler + Worst Case Improvement Metric Uses a base metric mu and is defined as: mu_tilde = mu_hat, when WorstCaseType = None, = mu_hat/(beta - mu_hat), when WorstCaseType = Beta, = mu_hat^p, when WorstCaseType = PMean, where beta = max(mu_hat) + muT_ep, and mu_hat = (mu/2phi(tau,ep)) where 2phi(tau,ep) = 1, when when BarrierType = None, = 2*(tau - min(alpha*min(tau)-detT_ep,0)), when BarrierType = Shifted = tau^2 + sqrt(tau^2 + ep^2), when BarrierType = Pseudo where tau = det(T), and max(mu_hat) and min(tau) are computed over the entire mesh. Ultimately, this metric can be used for mesh untangling with the BarrierType option and for worst case quality improvement with the WorstCaseType option.
Definition at line 163 of file tmop.hpp.
Evaluate the derivative of the 1st Piola-Kirchhoff stress tensor and assemble its contribution to the local gradient matrix 'A'.
- Parameters
-
[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::TMOP_QualityMetric.
Definition at line 216 of file tmop.hpp.