MFEM  v3.4
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
mfem::ThresholdDerefiner Class Reference

De-refinement operator using an error threshold. More...

#include <mesh_operators.hpp>

Inheritance diagram for mfem::ThresholdDerefiner:
[legend]
Collaboration diagram for mfem::ThresholdDerefiner:
[legend]

Public Member Functions

 ThresholdDerefiner (ErrorEstimator &est)
 Construct a ThresholdDerefiner using the given ErrorEstimator. More...
 
void SetThreshold (double thresh)
 Set the de-refinement threshold. The default value is zero. More...
 
void SetOp (int op)
 
void SetNCLimit (int nc_limit)
 Set the maximum ratio of refinement levels of adjacent elements (0 = unlimited). More...
 
virtual void Reset ()
 Reset the associated estimator. More...
 
- Public Member Functions inherited from mfem::MeshOperator
bool Apply (Mesh &mesh)
 Perform the mesh operation. More...
 
bool Stop () const
 Check if STOP action is requested, e.g. stopping criterion is satisfied. More...
 
bool Repeat () const
 Check if REPEAT action is requested, i.e. FiniteElementSpaces and GridFunctions need to be updated, and Apply() must be called again. More...
 
bool Continue () const
 Check if CONTINUE action is requested, i.e. FiniteElementSpaces and GridFunctions need to be updated and computations should continue. More...
 
bool Refined () const
 Check if the mesh was refined. More...
 
bool Derefined () const
 Check if the mesh was de-refined. More...
 
bool Rebalanced () const
 Check if the mesh was rebalanced. More...
 
int GetActionInfo () const
 Get the full ActionInfo value generated by the last call to Apply(). More...
 
virtual ~MeshOperator ()
 The destructor is virtual. More...
 

Protected Member Functions

virtual int ApplyImpl (Mesh &mesh)
 Apply the operator to the mesh. More...
 
- Protected Member Functions inherited from mfem::MeshOperator
 MeshOperator ()
 Constructor to be used by derived classes. More...
 

Protected Attributes

ErrorEstimatorestimator
 
double threshold
 
int nc_limit
 
int op
 

Additional Inherited Members

- Public Types inherited from mfem::MeshOperator
enum  Action {
  NONE = 0, CONTINUE = 1, STOP = 2, REPEAT = 3,
  MASK_UPDATE = 1, MASK_ACTION = 3
}
 Action and information constants and masks. More...
 
enum  Info { REFINED = 4*1, DEREFINED = 4*2, REBALANCED = 4*3, MASK_INFO = ~3 }
 

Detailed Description

De-refinement operator using an error threshold.

This de-refinement operator marks elements in the hierarchy whose children are leaves and their combined error is below a given threshold. The errors of the children are combined by one of the following operations:

Definition at line 268 of file mesh_operators.hpp.

Constructor & Destructor Documentation

mfem::ThresholdDerefiner::ThresholdDerefiner ( ErrorEstimator est)
inline

Construct a ThresholdDerefiner using the given ErrorEstimator.

Definition at line 283 of file mesh_operators.hpp.

Member Function Documentation

int mfem::ThresholdDerefiner::ApplyImpl ( Mesh mesh)
protectedvirtual

Apply the operator to the mesh.

Returns
DEREFINED + CONTINUE if some elements were de-refined; NONE otherwise.

Implements mfem::MeshOperator.

Definition at line 142 of file mesh_operators.cpp.

virtual void mfem::ThresholdDerefiner::Reset ( )
inlinevirtual

Reset the associated estimator.

Implements mfem::MeshOperator.

Definition at line 307 of file mesh_operators.hpp.

void mfem::ThresholdDerefiner::SetNCLimit ( int  nc_limit)
inline

Set the maximum ratio of refinement levels of adjacent elements (0 = unlimited).

Definition at line 300 of file mesh_operators.hpp.

void mfem::ThresholdDerefiner::SetOp ( int  op)
inline

Definition at line 296 of file mesh_operators.hpp.

void mfem::ThresholdDerefiner::SetThreshold ( double  thresh)
inline

Set the de-refinement threshold. The default value is zero.

Definition at line 294 of file mesh_operators.hpp.

Member Data Documentation

ErrorEstimator& mfem::ThresholdDerefiner::estimator
protected

Definition at line 271 of file mesh_operators.hpp.

int mfem::ThresholdDerefiner::nc_limit
protected

Definition at line 274 of file mesh_operators.hpp.

int mfem::ThresholdDerefiner::op
protected

Definition at line 274 of file mesh_operators.hpp.

double mfem::ThresholdDerefiner::threshold
protected

Definition at line 273 of file mesh_operators.hpp.


The documentation for this class was generated from the following files: