Finite Elements (PetscFE)#
The PetscFE class encapsulates a finite element discretization. Each PetscFE object contains a PetscSpace, its dual PetscDualSpace, and a DMPLEX
in the classic Ciarlet triple representation (https://finite-element.github.io/2_finite_elements.html).
- Achieving High Performance with Unified Residual Evaluation, Matthew G. Knepley, Jed Brown, Karl Rupp, Barry F. Smith, 2013.
- Finite Element Integration with Quadrature on the GPU, Matthew G. Knepley, Karl Rupp, Andy R. Terrel, 2016.
There are many SNES Examples using PetscFE, such ex12, ex17, and ex62.
Developer Note:
Using an entire DMPLEX object to provide the cell information seems unnecessary and complicated. Why not have a simple PetscCell object that could encapsulate this information. It could then be used by a variety of DM etc.