1*46696af2SBarry Smith# Finite Elements (PetscFE) 2*46696af2SBarry Smith 3*46696af2SBarry SmithThe `PetscFE` class encapsulates a finite element discretization. Each `PetscFE` object contains a `PetscSpace`, its dual `PetscDualSpace`, and a `DMPLEX` 4*46696af2SBarry Smithin the classic Ciarlet triple representation (<a href="https://finite-element.github.io/2_finite_elements.html" target=_blank>https://finite-element.github.io/2_finite_elements.html</a>). 5*46696af2SBarry Smith 6*46696af2SBarry Smith<ul> 7*46696af2SBarry Smith <li><a href="http://arxiv.org/abs/1309.1204">Achieving High Performance with Unified Residual Evaluation</a>, Matthew G. Knepley, Jed Brown, Karl Rupp, Barry F. Smith, 2013.</li> 8*46696af2SBarry Smith <li><a href="http://arxiv.org/abs/1607.04245">Finite Element Integration with Quadrature on the GPU</a>, Matthew G. Knepley, Karl Rupp, Andy R. Terrel, 2016.</li> 9*46696af2SBarry Smith</ul> 10*46696af2SBarry Smith 11*46696af2SBarry SmithThere are many <A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/snes/tutorials/index.html">SNES Examples</A> using `PetscFE`, such ex12, ex17, and ex62. 12*46696af2SBarry Smith 13*46696af2SBarry SmithDeveloper Note: 14*46696af2SBarry SmithUsing 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. 15