|
| TMOP_WorstCaseUntangleOptimizer_Metric (TMOP_QualityMetric &tmop_metric_, int exponent_=1, double alpha_=1.5, double detT_ep_=0.0001, double muT_ep_=0.0001, BarrierType btype_=BarrierType::None, WorstCaseType wctype_=WorstCaseType::None) |
|
virtual double | 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. More...
|
|
virtual void | EvalP (const DenseMatrix &Jpt, DenseMatrix &P) const |
| 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 |
| Evaluate the derivative of the 1st Piola-Kirchhoff stress tensor and assemble its contribution to the local gradient matrix 'A'. More...
|
|
virtual double | EvalWBarrier (const DenseMatrix &Jpt) const |
|
virtual void | SetMinDetT (double min_detT_) |
|
virtual void | SetMaxMuT (double 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. More...
|
|
virtual double | EvalWMatrixForm (const DenseMatrix &Jpt) const |
| Evaluates the metric in matrix form (opposed to invariant form). Used for validating the invariant evaluations. More...
|
|
virtual int | Id () const |
| Return the metric ID. More...
|
|
| 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.