|
| | TMOP_Integrator (TMOP_QualityMetric *m, TargetConstructor *tc, TMOP_QualityMetric *hm) |
| |
| | TMOP_Integrator (TMOP_QualityMetric *m, TargetConstructor *tc) |
| |
| | ~TMOP_Integrator () |
| |
| void | ReleasePADeviceMemory (bool copy_to_host=true) |
| |
| void | SetIntegrationRules (IntegrationRules &irules, int order) |
| | Prescribe a set of integration rules; relevant for mixed meshes.
|
| |
| void | SetInitialMeshPos (const GridFunction *x0) |
| |
| void | IntegrateOverTarget (bool integ_over_target_) |
| |
| void | SetCoefficient (Coefficient &w1) |
| | Sets a scaling Coefficient for the quality metric term of the integrator.
|
| |
| void | EnableLimiting (const GridFunction &n0, const GridFunction &dist, Coefficient &w0, TMOP_LimiterFunction *lfunc=NULL) |
| | Limiting of the mesh displacements (general version).
|
| |
| void | EnableLimiting (const GridFunction &n0, Coefficient &w0, TMOP_LimiterFunction *lfunc=NULL) |
| | Adds a limiting term to the integrator with limiting distance function (dist in the general version of the method) equal to 1.
|
| |
| void | EnableAdaptiveLimiting (const GridFunction &z0, Coefficient &coeff, AdaptivityEvaluator &ae) |
| | Restriction of the node positions to certain regions.
|
| |
| void | EnableAdaptiveLimiting (const ParGridFunction &z0, Coefficient &coeff, AdaptivityEvaluator &ae) |
| | Parallel support for adaptive limiting.
|
| |
| void | EnableSurfaceFitting (const GridFunction &s0, const Array< bool > &smarker, Coefficient &coeff, AdaptivityEvaluator &ae) |
| | Fitting of certain DOFs to the zero level set of a function.
|
| |
| void | EnableSurfaceFitting (const ParGridFunction &s0, const Array< bool > &smarker, Coefficient &coeff, AdaptivityEvaluator &ae, AdaptivityEvaluator *aegrad=NULL, AdaptivityEvaluator *aehess=NULL) |
| |
| void | EnableSurfaceFittingFromSource (const ParGridFunction &s_bg, ParGridFunction &s0, const Array< bool > &smarker, Coefficient &coeff, AdaptivityEvaluator &ae, const ParGridFunction &s_bg_grad, ParGridFunction &s0_grad, AdaptivityEvaluator &age, const ParGridFunction &s_bg_hess, ParGridFunction &s0_hess, AdaptivityEvaluator &ahe) |
| | Fitting of certain DOFs in the current mesh to the zero level set of a function defined on another (finer) source mesh.
|
| |
| void | EnableSurfaceFitting (const GridFunction &pos, const Array< bool > &smarker, Coefficient &coeff) |
| | Fitting of certain DOFs to given positions in physical space.
|
| |
| void | GetSurfaceFittingErrors (const Vector &d_loc, real_t &err_avg, real_t &err_max) |
| |
| bool | IsSurfaceFittingEnabled () |
| |
| void | SetLimitingNodes (const GridFunction &n0) |
| | Update the original/reference nodes used for limiting.
|
| |
| real_t | GetElementEnergy (const FiniteElement &el, ElementTransformation &T, const Vector &d_el) override |
| | Computes the integral of W(Jacobian(Trt)) over a target zone.
|
| |
| virtual real_t | GetRefinementElementEnergy (const FiniteElement &el, ElementTransformation &T, const Vector &elfun, const IntegrationRule &irule) |
| | Computes the mean of the energies of the given element's children.
|
| |
| virtual real_t | GetDerefinementElementEnergy (const FiniteElement &el, ElementTransformation &T, const Vector &elfun) |
| |
| void | AssembleElementVector (const FiniteElement &el, ElementTransformation &T, const Vector &d_el, Vector &elvect) override |
| | First defivative of GetElementEnergy() w.r.t. each local H1 DOF.
|
| |
| void | AssembleElementGrad (const FiniteElement &el, ElementTransformation &T, const Vector &d_el, DenseMatrix &elmat) override |
| | Second derivative of GetElementEnergy() w.r.t. each local H1 DOF.
|
| |
| TMOP_QualityMetric & | GetAMRQualityMetric () |
| |
| void | UpdateAfterMeshTopologyChange () |
| |
| void | ParUpdateAfterMeshTopologyChange () |
| |
| void | AssemblePA (const FiniteElementSpace &) override |
| | Method defining partial assembly.
|
| |
| void | AssembleGradPA (const Vector &, const FiniteElementSpace &) override |
| | Prepare the integrator for partial assembly (PA) gradient evaluations on the given FE space fes at the state x.
|
| |
| real_t | GetLocalStateEnergyPA (const Vector &) const override |
| | Compute the local (to the MPI rank) energy with partial assembly.
|
| |
| void | AddMultPA (const Vector &, Vector &) const override |
| | Method for partially assembled action.
|
| |
| void | AddMultGradPA (const Vector &, Vector &) const override |
| | Method for partially assembled gradient action.
|
| |
| void | AssembleGradDiagonalPA (Vector &) const override |
| | Method for computing the diagonal of the gradient with partial assembly.
|
| |
| DiscreteAdaptTC * | GetDiscreteAdaptTC () const |
| |
| void | EnableNormalization (const GridFunction &x) |
| | Computes the normalization factors of the metric and limiting integrals using the mesh position given by x.
|
| |
| void | ParEnableNormalization (const ParGridFunction &x) |
| |
| void | EnableFiniteDifferences (const GridFunction &x) |
| | Enables FD-based approximation and computes dx.
|
| |
| void | EnableFiniteDifferences (const ParGridFunction &x) |
| |
| void | SetFDhScale (real_t scale) |
| |
| bool | GetFDFlag () const |
| |
| real_t | GetFDh () const |
| |
| void | SetExactActionFlag (bool flag_) |
| | Flag to control if exact action of Integration is effected.
|
| |
| void | UpdateSurfaceFittingWeight (real_t factor) |
| | Update the surface fitting weight as surf_fit_coeff *= factor;.
|
| |
| real_t | GetSurfaceFittingWeight () |
| | Get the surface fitting weight.
|
| |
| void | ComputeUntangleMetricQuantiles (const Vector &d, const FiniteElementSpace &fes) |
| |
| virtual void | AssemblePA (const FiniteElementSpace &trial_fes, const FiniteElementSpace &test_fes) |
| |
| void | SetIntegrationMode (Mode m) |
| |
| bool | Patchwise () const |
| |
| void | SetPAMemoryType (MemoryType mt) |
| |
| 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.
|
| |
| 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.
|
| |
| virtual bool | SupportsCeed () const |
| | Indicates whether this integrator can use a Ceed backend.
|
| |
| virtual void | AssembleMF (const FiniteElementSpace &fes) |
| | Method defining fully unassembled operator.
|
| |
| virtual void | AddMultMF (const Vector &x, Vector &y) const |
| |
| ceed::Operator & | GetCeedOp () |
| |
| virtual | ~NonlinearFormIntegrator () |
| |
| | Integrator (const IntegrationRule *ir=NULL) |
| | Create a new Integrator, optionally providing a prescribed quadrature rule to use in assembly.
|
| |
| virtual void | SetIntRule (const IntegrationRule *ir) |
| | Prescribe a fixed IntegrationRule to use, or set to null to let the integrator choose an appropriate rule.
|
| |
| void | SetIntegrationRule (const IntegrationRule &ir) |
| | Prescribe a fixed IntegrationRule to use. Sets the NURBS patch integration rule to null.
|
| |
| void | SetNURBSPatchIntRule (NURBSMeshRules *pr) |
| | Sets an integration rule for use on NURBS patches.
|
| |
| bool | HasNURBSPatchIntRule () const |
| | Check if a NURBS patch integration rule has been set.
|
| |
| const IntegrationRule * | GetIntRule () const |
| | Directly return the IntRule pointer (possibly null) without checking for NURBS patch rules or falling back on a default.
|
| |
| const IntegrationRule * | GetIntegrationRule () const |
| | Equivalent to GetIntRule, but retained for backward compatibility with applications.
|
| |
|
| void | ComputeNormalizationEnergies (const GridFunction &x, real_t &metric_energy, real_t &lim_energy, real_t &surf_fit_gf_energy) |
| |
| void | AssembleElementVectorExact (const FiniteElement &el, ElementTransformation &T, const Vector &d_el, Vector &elvect) |
| |
| void | AssembleElementGradExact (const FiniteElement &el, ElementTransformation &T, const Vector &d_el, DenseMatrix &elmat) |
| |
| void | AssembleElementVectorFD (const FiniteElement &el, ElementTransformation &T, const Vector &d_el, Vector &elvect) |
| |
| void | AssembleElementGradFD (const FiniteElement &el, ElementTransformation &T, const Vector &d_el, DenseMatrix &elmat) |
| |
| void | AssembleElemVecAdaptLim (const FiniteElement &el, IsoparametricTransformation &Tpr, const IntegrationRule &ir, const Vector &weights, DenseMatrix &mat) |
| |
| void | AssembleElemGradAdaptLim (const FiniteElement &el, IsoparametricTransformation &Tpr, const IntegrationRule &ir, const Vector &weights, DenseMatrix &m) |
| |
| void | AssembleElemVecSurfFit (const FiniteElement &el_x, IsoparametricTransformation &Tpr, DenseMatrix &mat) |
| |
| void | AssembleElemGradSurfFit (const FiniteElement &el_x, IsoparametricTransformation &Tpr, DenseMatrix &mat) |
| |
| real_t | GetFDDerivative (const FiniteElement &el, ElementTransformation &T, Vector &d_el, const int nodenum, const int idir, const real_t baseenergy, bool update_stored) |
| |
| void | ComputeFDh (const Vector &d, const FiniteElementSpace &fes) |
| | Determines the perturbation, h, for FD-based approximation.
|
| |
| void | ComputeMinJac (const Vector &x, const FiniteElementSpace &fes) |
| |
| void | UpdateAfterMeshPositionChange (const Vector &d, const FiniteElementSpace &d_fes) |
| |
| void | DisableLimiting () |
| |
| const IntegrationRule & | EnergyIntegrationRule (const FiniteElement &el) const |
| |
| const IntegrationRule & | ActionIntegrationRule (const FiniteElement &el) const |
| |
| const IntegrationRule & | GradientIntegrationRule (const FiniteElement &el) const |
| |
| void | AssembleGradPA_2D (const Vector &) const |
| |
| void | AssembleGradPA_3D (const Vector &) const |
| |
| void | AssembleGradPA_C0_2D (const Vector &) const |
| |
| void | AssembleGradPA_C0_3D (const Vector &) const |
| |
| real_t | GetLocalStateEnergyPA_2D (const Vector &) const |
| |
| real_t | GetLocalStateEnergyPA_C0_2D (const Vector &) const |
| |
| real_t | GetLocalStateEnergyPA_3D (const Vector &) const |
| |
| real_t | GetLocalStateEnergyPA_C0_3D (const Vector &) const |
| |
| void | AddMultPA_2D (const Vector &, Vector &) const |
| |
| void | AddMultPA_3D (const Vector &, Vector &) const |
| |
| void | AddMultPA_C0_2D (const Vector &, Vector &) const |
| |
| void | AddMultPA_C0_3D (const Vector &, Vector &) const |
| |
| void | AddMultGradPA_2D (const Vector &, Vector &) const |
| |
| void | AddMultGradPA_3D (const Vector &, Vector &) const |
| |
| void | AddMultGradPA_C0_2D (const Vector &, Vector &) const |
| |
| void | AddMultGradPA_C0_3D (const Vector &, Vector &) const |
| |
| void | AssembleDiagonalPA_2D (Vector &) const |
| |
| void | AssembleDiagonalPA_3D (Vector &) const |
| |
| void | AssembleDiagonalPA_C0_2D (Vector &) const |
| |
| void | AssembleDiagonalPA_C0_3D (Vector &) const |
| |
| void | AssemblePA_Limiting () |
| |
| void | ComputeAllElementTargets (const Vector &xe=Vector()) const |
| |
| void | UpdateCoefficientsPA (const Vector &d_loc) |
| |
| real_t | ComputeMinDetT (const Vector &x, const FiniteElementSpace &fes) |
| |
| real_t | ComputeUntanglerMaxMuBarrier (const Vector &x, const FiniteElementSpace &fes) |
| |
| void | RemapSurfaceFittingLevelSetAtNodes (const Vector &new_x, int new_x_ordering) |
| |
| | NonlinearFormIntegrator (const IntegrationRule *ir=NULL) |
| |
| const IntegrationRule * | GetIntegrationRule (const FiniteElement &trial_fe, const FiniteElement &test_fe, const ElementTransformation &trans) const |
| | Returns an integration rule based on the arguments and internal state of the Integrator object.
|
| |
| const IntegrationRule * | GetIntegrationRule (const FiniteElement &el, const ElementTransformation &trans) const |
| | Returns an integration rule based on the arguments and internal state. (Version for identical trial_fe and test_fe)
|
| |
| virtual const IntegrationRule * | GetDefaultIntegrationRule (const FiniteElement &trial_fe, const FiniteElement &test_fe, const ElementTransformation &trans) const |
| | Subclasses should override to choose a default integration rule.
|
| |
A TMOP integrator class based on any given TMOP_QualityMetric and TargetConstructor.
Represents \( \int W(Jpt) dx \) 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.
Definition at line 1884 of file tmop.hpp.