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.
virtual const Vector & GetLocalErrors()
Get a Vector with all element errors.
~TMOPDeRefinerEstimator()
bool GetDerefineEnergyForIntegrator(TMOP_Integrator &tmopi, Vector &fine_energy)
bool MeshIsModified()
Check if the mesh of the solution was modified.
TMOPDeRefinerEstimator(ParMesh &pmesh_, ParNonlinearForm &pnlf_)
TMOPDeRefinerEstimator(Mesh &mesh_, NonlinearForm &nlf_)
virtual void Reset()
Reset the error estimator.
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.
virtual const Array< int > & GetAnisotropicFlags()
For anisotropic refinements, get the refinement type (e.g., x or y)
Array< IntegrationRule * > TetIntRule
real_t energy_scaling_factor
Array< IntegrationRule * > HexIntRule
virtual void Reset()
Reset the error estimator.
virtual const Vector & GetLocalErrors()
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.