|
Hermes2D
2.0
|
Simple Kelly-estimator based adaptivity for elliptic problems. More...
#include <kelly_type_adapt.h>
Inheritance diagram for Hermes::Hermes2D::BasicKellyAdapt< Scalar >: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) | |
Public Member Functions inherited from Hermes::Hermes2D::KellyTypeAdapt< Scalar > | |
| 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) |
Public Member Functions inherited from Hermes::Hermes2D::Adapt< Scalar > | |
| 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 | |
Protected Member Functions inherited from Hermes::Hermes2D::KellyTypeAdapt< Scalar > | |
| 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) |
Protected Attributes inherited from Hermes::Hermes2D::KellyTypeAdapt< Scalar > | |
| 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 Protected Attributes inherited from Hermes::Hermes2D::Adapt< Scalar > | |
| 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.