Abstract types

Element abstract type hierarchy

The root of the type hierarchy tree in ReferenceFiniteElements is the following abstract type.

ReferenceFiniteElements.AbstractElementTypeType
abstract type AbstractElementType{PT<:ReferenceFiniteElements.AbstractPolynomialType, PD}

Base type for the package that all element types are subtyped off of. The parameters have the following general meaning.

$PT$ - Polynomial type

$PD$ - Cell polynomial degree

source

Interpolants abstract types

Quadrature abstract types

Topology Interface

The below methods must be implemented to define the element toplogy.

Element subtypes

Below are additional abstract types subtyped off of AbstractElementType for element topologies of different dimensions and further subtyped based on common element topologies.

0-Dimensional Element types

Different types of 0-D elements (e.g. vertices of various implementations) can be implemented by subtyping off of the abstract type

1-Dimensional Element types

Different types of 1-D elements (e.g. edges, sides, lines, etc. of various implementations) can be implemented by subtyping off of the abstract type

2-Dimensional Element types

Different types of 2-D elements (e.g. faces, triangles, quads, polygons, etc. of various implementations) can be implemented by subtyping off of the abstract type

There are also various subtypes of this type including

3-Dimensional Element types

Different types of 3-D elements (e.g. volumes, hexes, tets, etc. of various implementations) can be implemented by subtyping off of the abstract type

There are also various subtypes of this type including