|
| 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) |
|
virtual real_t | EvalW (const DenseMatrix &Jpt) const |
| Evaluate the strain energy density function, W = W(Jpt), by using the 2D or 3D matrix invariants, see linalg/invariants.hpp.
|
|
virtual void | EvalP (const DenseMatrix &Jpt, DenseMatrix &P) const |
| Evaluate the 1st Piola-Kirchhoff stress tensor, P = P(Jpt).
|
|
virtual void | AssembleH (const DenseMatrix &Jpt, const DenseMatrix &DS, const real_t weight, DenseMatrix &A) const |
| Evaluate the derivative of the 1st Piola-Kirchhoff stress tensor and assemble its contribution to the local gradient matrix 'A'.
|
|
virtual real_t | EvalWBarrier (const DenseMatrix &Jpt) const |
|
virtual void | SetMinDetT (real_t min_detT_) |
|
virtual void | SetMaxMuT (real_t max_muT_) |
|
virtual BarrierType | GetBarrierType () |
|
virtual 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 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 151 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 204 of file tmop.hpp.