Hermes2D
2.0
|
Simple Kelly-estimator based adaptivity for elliptic problems. More...
#include <kelly_type_adapt.h>
Classes | |
class | ErrorEstimatorFormKelly |
Public Member Functions | |
BasicKellyAdapt (Hermes::vector< Space< Scalar > * > spaces_, double const_by_laplacian=1.0, Hermes::vector< ProjNormType > norms_=Hermes::vector< ProjNormType >()) | |
BasicKellyAdapt (Space< Scalar > *space_, double const_by_laplacian=1.0, ProjNormType norm_=HERMES_UNSET_NORM) | |
![]() | |
KellyTypeAdapt (Hermes::vector< Space< Scalar > * > spaces, bool ignore_visited_segments=true, Hermes::vector< const InterfaceEstimatorScalingFunction * > interface_scaling_fns_=Hermes::vector< const InterfaceEstimatorScalingFunction * >(), Hermes::vector< ProjNormType > norms_=Hermes::vector< ProjNormType >()) | |
KellyTypeAdapt (Space< Scalar > *space, bool ignore_visited_segments=true, const InterfaceEstimatorScalingFunction *interface_scaling_fn_=NULL, ProjNormType norm_=HERMES_UNSET_NORM) | |
virtual | ~KellyTypeAdapt () |
Destructor. | |
Mesh::ElementMarkersConversion * | get_element_markers_conversion () |
Mesh::BoundaryMarkersConversion * | get_boundary_markers_conversion () |
void | add_error_estimator_vol (ErrorEstimatorForm *form) |
void | add_error_estimator_surf (ErrorEstimatorForm *form) |
double | calc_err_est (Solution< Scalar > *sln, unsigned int error_flags=HERMES_TOTAL_ERROR_REL|HERMES_ELEMENT_ERROR_REL) |
double | calc_err_est (Hermes::vector< Solution< Scalar > * > slns, Hermes::vector< double > *component_errors=NULL, unsigned int error_flags=HERMES_TOTAL_ERROR_REL|HERMES_ELEMENT_ERROR_REL) |
bool | adapt (double thr, int strat=0, int regularize=-1, double to_be_processed=0.0) |
void | disable_aposteriori_interface_scaling () |
void | set_volumetric_scaling_const (double C) |
void | set_boundary_scaling_const (double C) |
![]() | |
Adapt (Hermes::vector< Space< Scalar > * > spaces, Hermes::vector< ProjNormType > proj_norms=Hermes::vector< ProjNormType >()) | |
Adapt (Space< Scalar > *space, ProjNormType proj_norm=HERMES_UNSET_NORM) | |
virtual | ~Adapt () |
Destructor. Deallocates allocated private data. | |
void | set_error_form (int i, int j, MatrixFormVolError *form) |
Sets user defined bilinear form which is used to calculate error. More... | |
void | set_error_form (MatrixFormVolError *form) |
i = j = 0 | |
void | set_norm_form (int i, int j, MatrixFormVolError *form) |
void | set_norm_form (MatrixFormVolError *form) |
i = j = 0 | |
double | calc_err_est (Solution< Scalar > *sln, Solution< Scalar > *rsln, bool solutions_for_adapt=true, unsigned int error_flags=HERMES_TOTAL_ERROR_REL|HERMES_ELEMENT_ERROR_REL) |
double | calc_err_est (Hermes::vector< Solution< Scalar > * > slns, Hermes::vector< Solution< Scalar > * > rslns, Hermes::vector< double > *component_errors=NULL, bool solutions_for_adapt=true, unsigned int error_flags=HERMES_TOTAL_ERROR_REL|HERMES_ELEMENT_ERROR_REL) |
double | calc_err_exact (Solution< Scalar > *sln, Solution< Scalar > *rsln, bool solutions_for_adapt=true, unsigned int error_flags=HERMES_TOTAL_ERROR_REL|HERMES_ELEMENT_ERROR_REL) |
double | calc_err_exact (Hermes::vector< Solution< Scalar > * > slns, Hermes::vector< Solution< Scalar > * > rslns, Hermes::vector< double > *component_errors=NULL, bool solutions_for_adapt=true, unsigned int error_flags=HERMES_TOTAL_ERROR_REL|HERMES_ELEMENT_ERROR_REL) |
bool | adapt (Hermes::vector< RefinementSelectors::Selector< Scalar > * > refinement_selectors, double thr, int strat=0, int regularize=-1, double to_be_processed=0.0) |
Refines elements based on results from calc_err_est(). More... | |
bool | adapt (RefinementSelectors::Selector< Scalar > *refinement_selector, double thr, int strat=0, int regularize=-1, double to_be_processed=0.0) |
Refines elements based on results from calc_err_est(). More... | |
double | get_element_error_squared (int component, int id) const |
Returns a squared error of an element. More... | |
Additional Inherited Members | |
![]() | |
double | eval_volumetric_estimator (typename KellyTypeAdapt::ErrorEstimatorForm *err_est_form, RefMap *rm) |
double | eval_boundary_estimator (typename KellyTypeAdapt::ErrorEstimatorForm *err_est_form, RefMap *rm, SurfPos *surf_pos) |
double | eval_interface_estimator (typename KellyTypeAdapt::ErrorEstimatorForm *err_est_form, RefMap *rm, SurfPos *surf_pos, LightArray< NeighborSearch< Scalar > * > &neighbor_searches, int neighbor_index) |
double | eval_solution_norm (typename Adapt< Scalar >::MatrixFormVolError *form, RefMap *rm, MeshFunction< Scalar > *sln) |
virtual double | calc_err_internal (Hermes::vector< Solution< Scalar > * > slns, Hermes::vector< double > *component_errors, unsigned int error_flags) |
![]() | |
DiscreteProblem< Scalar > | dp |
Hermes::vector< typename KellyTypeAdapt::ErrorEstimatorForm * > | error_estimators_vol |
Hermes::vector< typename KellyTypeAdapt::ErrorEstimatorForm * > | error_estimators_surf |
Mesh::ElementMarkersConversion | element_markers_conversion |
Mesh::BoundaryMarkersConversion | boundary_markers_conversion |
Hermes::vector< const InterfaceEstimatorScalingFunction * > | interface_scaling_fns |
bool | use_aposteriori_interface_scaling |
double | interface_scaling_const |
Constant scaling of the boundary error estimates. More... | |
double | volumetric_scaling_const |
Constant scaling of the volumetric error estimates (like the residual norm). | |
double | boundary_scaling_const |
Constant scaling of the boundary error estimates. | |
bool | ignore_visited_segments |
![]() | |
static const unsigned char | HERMES_TOTAL_ERROR_MASK = 0x0F |
A mask which masks-out total error type. Used by Adapt::calc_err_internal(). | |
static const unsigned char | HERMES_ELEMENT_ERROR_MASK = 0xF0 |
A mask which masks-out element error type. Used by Adapt::calc_err_internal(). | |
Simple Kelly-estimator based adaptivity for elliptic problems.
Original error estimator that Kelly et. al. ([1]) derived for the Laplace equation with constant coefficient, approximated on a quadrilateral mesh. The error of each element is estimated by the L2 norm of jumps of gradients across element faces (the contribution of the residual norm is relatively insignificant and is neglected, see[3]). Note that the estimator has been successfully used also for other problems than that for which it had been originally derived.
poisson-kelly-adapt
. Definition at line 311 of file kelly_type_adapt.h.
|
inline |
Constructor.
For the equation , the argument
const_by_laplacian
is equal to $ K $.
Definition at line 347 of file kelly_type_adapt.h.