12#ifndef MFEM_TMOP_AMR_HPP
13#define MFEM_TMOP_AMR_HPP
122 real_t spat_gf_critical_ = 0.5)
236 bool move_bnd_,
bool hradaptivity_,
237 int mesh_poly_deg_,
int amr_metric_id_,
238 int hr_iter_ = 5,
int h_per_r_iter_ = 1);
242 bool move_bnd_,
bool hradaptivity_,
243 int mesh_poly_deg_,
int amr_metric_id_,
244 int hr_iter_ = 5,
int h_per_r_iter_ = 1);
The AnisotropicErrorEstimator class is the base class for all error estimators that compute one non-n...
Base class for all element based error estimators.
Class FiniteElementSpace - responsible for providing FEM view of the mesh, mainly managing the set of...
Class for grid function - Vector with associated FE space.
Class for an integration rule - an Array of IntegrationPoint.
int Dimension() const
Dimension of the reference space used within the elements.
Abstract parallel finite element space.
Class for parallel grid function.
Class for parallel meshes.
~TMOPDeRefinerEstimator()
bool GetDerefineEnergyForIntegrator(TMOP_Integrator &tmopi, Vector &fine_energy)
void Reset() override
Reset the error estimator.
bool MeshIsModified()
Check if the mesh of the solution was modified.
TMOPDeRefinerEstimator(ParMesh &pmesh_, ParNonlinearForm &pnlf_)
const Vector & GetLocalErrors() override
Get a Vector with all element errors.
TMOPDeRefinerEstimator(Mesh &mesh_, NonlinearForm &nlf_)
void GetTMOPDerefinementEnergy(Mesh &cmesh, TMOP_Integrator &tmopi, Vector &el_energy_vec)
void RebalanceParNCMesh()
void AddGridFunctionForUpdate(ParGridFunction *pgf_)
void UpdateNonlinearFormAndBC(Mesh *mesh, NonlinearForm *nlf)
TMOPRefinerEstimator * tmop_r_est
void AddGridFunctionForUpdate(GridFunction *gf)
ThresholdRefiner * tmop_r
void SetHRAdaptivityIterations(int iter)
void SetHAdaptivityIterations(int iter)
Total number of h-adaptivity iterations per r-adaptivity iteration.
void AddFESpaceForUpdate(FiniteElementSpace *fes)
TMOPNewtonSolver * tmopns
Array< GridFunction * > gridfuncarr
void AddFESpaceForUpdate(ParFiniteElementSpace *pfes_)
Array< ParFiniteElementSpace * > pfespacearr
TMOPDeRefinerEstimator * tmop_dr_est
Array< FiniteElementSpace * > fespacearr
TMOPHRSolver(Mesh &mesh_, NonlinearForm &nlf_, TMOPNewtonSolver &tmopns_, GridFunction &x_, bool move_bnd_, bool hradaptivity_, int mesh_poly_deg_, int amr_metric_id_, int hr_iter_=5, int h_per_r_iter_=1)
ThresholdDerefiner * tmop_dr
Array< ParGridFunction * > pgridfuncarr
bool MeshIsModified()
Check if the mesh of the solution was modified.
Array< IntegrationRule * > TetIntRule
void Reset() override
Reset the error estimator.
real_t energy_scaling_factor
Array< IntegrationRule * > HexIntRule
const Array< int > & GetAnisotropicFlags() override
For anisotropic refinements, get the refinement type (e.g., x or y)
const Vector & GetLocalErrors() override
void SetEnergyScalingFactor(real_t scale)
TMOPRefinerEstimator(Mesh &mesh_, NonlinearForm &nlf_, int order_, int amrmetric_)
Array< IntegrationRule * > QuadIntRule
Array< IntegrationRule * > TriIntRule
void SetSpatialIndicator(GridFunction &spat_gf_, real_t spat_gf_critical_=0.5)
void SetSpatialIndicatorCritical(real_t val_)
IntegrationRule * SetIntRulesFromMesh(Mesh &meshsplit)
void GetTMOPRefinementEnergy(int reftype, Vector &el_energy_vec)
A TMOP integrator class based on any given TMOP_QualityMetric and TargetConstructor.
De-refinement operator using an error threshold.
Mesh refinement operator using an error threshold.