If you find an error or inaccuracy in a DefElement entry, please open an issue on GitHub. You can also open an issue to suggest a new element that should be added to the database.
You can contribute to DefElement by forking the DefElement GitHub repo, making changes, then opening a pull request.
The functional information and examples on the element pages are generated using Symfem, a symbolic finite element definition library. Before adding an element to DefElement, it should first be implemented in Symfem.
Elements in the DefElement database are defined using a yaml file in the elements/ folder. The entries in this yaml file are:
|name||The name of the element (ascii).|
|html‑name||The name of the element, including HTML special characters.|
|reference‑elements||The reference element(s) that this finite element can be defined on.|
|alt‑names||Alternative (HTML) names of the element.|
|short‑names||Abbreviated names of the element.|
|exterior‑calculus||The family name and exerior derivatuve order.|
|dofs||Description of the DOFs of this element.|
|ndofs||The number of DOFs the element has and the A-numbers of the OEIS sequence(s) giving the number of DOFs.|
|entity‑ndofs||The number of DOFs the element has per subentity type and the A-numbers of the OEIS sequence(s) giving the number of DOFs.|
|polynomial‑set||The polynomial set of this element. This can use sets defined in the file /data/polysets. Other sets can be given by writing |
|mixed||If this element is a mixed element, the subelements that it contains.|
|mapping||The mapping used to push/pull values foward/back from/to the reference element.|
|sobolev||The Sobolev space the element lives in.|
|min‑order||The minimum order of the element|
|max‑order||The maximum order of the element|
|examples||Reference elements and orders to be included in the examples section of the entry.|
|notes||Notes about the element.|
|references||References to where the element is defined.|
|categories||Categories the element belongs to. Categories are defined in the file /data/categories.|
|basix||The name of the enum item used to define this element in Basix's create_element function.|
|bempp||The string used to define this element in Bempp.|
|symfem||The string used to define this element in Symfem's create_element function.|
|ufl||The string used to define this element in UFL.|
Once you have contributed to DefElement, you should add your name and some information about yourself to the contributors page. To do this, you should add info about yourself to the file data/contributors. If you wish to include a picture of yourself, add a square-shaped image to the pictures/ folder.