From: schrage Date: Tue, 22 Jun 1999 09:12:38 +0000 (+0000) Subject: First check-in. X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5dfd780db15829ddc4d20e81673de6f0941801cf;p=dealii-svn.git First check-in. git-svn-id: https://svn.dealii.org/trunk@1434 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/doc/tutorial/chapter-1.elements/adaptivity.html b/deal.II/doc/tutorial/chapter-1.elements/adaptivity.html new file mode 100644 index 0000000000..7ec6cf2e40 --- /dev/null +++ b/deal.II/doc/tutorial/chapter-1.elements/adaptivity.html @@ -0,0 +1,198 @@ + + + + + +Error Estimate and Adaptivity + + + + + + + + +

Error Estimate and Adaptivity

+ +

In this chapter we shall discuss

+ + + +

How to use error estimates for adaptive refinement

+ +

+The basic principles of using error estimates for adaptive refinement +are rather simple. First, you get an error estimate for each cell. +This error estimate can be interpreted as a +mesh function describing the desired local mesh width. +Second, each and every cell is refined according to this estimate. +

+

+The implementation of deal.II handles this principle +exactly the same way: First, you call an error estimator that returns +a vector containing the error estimtates for each cell. Second, +you pass this vector on to a function doing the refinement. +

+ +

Error Estimators in deal.II

+ +

+In deal.II there is exactly on standard error estimator: +the error estimator by Kelly, Gago, Zienkiewicz and Babuska that +tries to approximate the error per cell by integration of the jump of the +gradient of the solution along the faces of each cell. +In theory this error estimator has quite a number of limitations. These +limitations as well as its implementation are described in + +the documentation for the class KellyErrorEstimator. +In daily use, however, this error estimator has shown itself to behave +rather like Hamlet: It is laden with theoretical woes and sorrows, +but at the end of the day all practical problems are...gone. +

+ +

+In order to use an error estimator you need the following information +and objects respectively: +

+ +

+The Kelly error estimator is then used the following way: +

+
    +
  1. Include the include file:
    + #include <numerics/error_estimator.h> +
  2. + +
  3. Define an error estimator for dim dimensions:
    + KellyErrorEstimator<dim> error_estimate; +
  4. + +
  5. Make your error estimator estimate each cell's error:
    + void error_estimate::estimate (const DoFHandler<dim> + &dof, const Quadrature<dim-1> + &quadrature, const FunctionMap &neumann_bc, + const Vector<double> &solution, + Vector<float> &error, const Function<dim> + *coefficient = 0, const unsigned int selected_component = 0); + +
  6. +
+ +

Adaptive Refinement

+ +

+All the functions for refinement (and coarsening) are contained +within the Triangulation class. +Refinement and coarsening take place by first flagging the cells +for coarsening or refinement using the functions described below +and the executing it using +void execute_coarsening_and_refinement(). +There are several ways of refining or coarsening your grid using +the output from an error estimator: +

+ +

+Remember: In order to actually execute the refinement or coarsening +you have to call void execute_coarsening_and_refinement(). + + +

Example

+ +

+To be provided... +

+ + + +
+ + + + + + + +
+
+Jan Schrage
+

+Last modified: $Date$ +

+ +