Mesh refinementΒΆ

Mesh refinement with the Bank et all method (see [bank1983]) is available in dimension 1, 2 or 3 for simplex meshes (segments, triangles and tetrahedrons). For a given object mymesh of type getfem::mesh, the method:

mymesh.Bank_refine(bv);

refines the elements whose indices are stored in bv (a dal::bit_vector object). The conformity of the mesh is kept thanks to additional refinement (the so called green triangles). Information about green triangles (in Figure exemple of Bank refinement in 2D) is stored on the mesh object to gather them for further refinements (see [bank1983]).

../_images/getfemuserrefine.png

exemple of Bank refinement in 2D

Mesh refinement is most of the time coupled with an a posteriori error estimate. A basic error estimate is available in the file getfem/getfem_error_estimate.h:

error_estimate(mim, mf, U, err, cvlist);

where mim is the integration method (a getfem::mesh_im object), mf is the finite element method on which the unknown has been computed (a getfem::mesh_fem object), U is the vector of degrees of freedom of the unknow, err is a sufficiently large vector in which the error estimate is computed for each element of the mesh, and cvlst is a list of indices of element on which the error estimate should be computed (a dal::bit_vector object).

This basic error estimate is only valid for order two problems and just compute the sum of the jump in normal derivative across the elements on each edge (for two-dimensional problems) or each face (for three-dimensional problems). This means that for each face e of the mesh the following quantity is computed:

\int_e |\hspace{0.01em}[\hspace{-0.12em}[
\partial_n u ]\hspace{-0.12em}]\hspace{0.01em}|^2 d \Gamma,

where [\hspace{-0.12em}[\partial_n u]\hspace{-0.12em}] is the jump of the normal derivative. Then, for each element the mean value is computed with respect to its faces and stored in the vector err. This basic error estimate can be taken as a model for more elaborated ones.

Previous topic

Selecting integration methods

Next topic

Standard assembly procedures

Download

Download GetFEM++

Main documentations

Other resources