Add Python demo for adaptive finite element method for linear problems
- Dominant language
- C++
- Stars
- 1.2k
- Forks
- 261
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 65
Description
## Aims and Scope
FEniCSx by default supports most of the relevant parts for the design of adaptive finite element algorithms, such as mesh-independent form compilation, evaluating the (cell-wise) errors, refining the mesh and resolving the problem. Nevertheless, a comprehensive demo combining these features, as this was done in the [legacy version](https://olddocs.fenicsproject.org/dolfin/latest/python/demos/auto-adaptive-poisson/demo_auto-adaptive-poisson.py.html) as well as performant implementations of cell marking and interaction with (facet-based) refinement routines, is missing. This is also not covered by external demos including [fenicsx-error-estimation](https://github.com/jhale/fenicsx-error-estimation) or the [FEniCSx tutorials](https://jsdokken.com/dolfinx-tutorial/chapter2/amr.html)
## Planed features
As nearly every relevant error estimator is initially introduced for the Poisson problem, the demo will focus on the adaptive solution of a Poisson problem in both primal as well as mixed form. In order to keep the complexity of the actual error estimation low, residual-type error estimators (see e.g. Carstensen [1](https://doi.org/10.1016/j.camwa.2013.12.003)) are considered. The classical L-shaped domain or a unit square with varying coefficient [2](https://doi.org/10.1016/S0898-1221(03)90086-1) could serve as test problem.
## Prerequisites
For the marking routines we suggest to implement in C++:
- ~Convenience functionality to identify the closure of topological entities based on their connectivity to neighboring entities of different topological dimensions. This allows the conversion from cell-wise markers to an edge list or alike.~
- A scalable implementation of the classical maximum strategy [3](https://doi.org/10.1007/BF01389757) and Doerfler marking [4](https://doi.org/10.1137/0733054) to demonstrate their different behavior
Contributor guide
Assessment
This issue has not been assessed yet.