The StdRegions library, see the figure below, bundles all classes that mimic a spectral/hp element expansion on a standard region. Such an expansion, i.e.
can be encapsulated in a class that essentially should only contain three data structures, respectively representing:
,
, and
which represents the value of the
.All standard expansions, independent of the dimensionality or shape of the standard region, can be abstracted in a similar way. Therefore, it is possible to define these data structures in an abstract base class, i.e. the class StdExpansion. This base class can also contain the implementation of methods that are identical across all shapes. Derived from this base class is another level of abstraction, i.e. the abstract classes StdExpansion1D, StdExpansion2D and StdExpansion3D. All other shape-specific classes (such as e.g. StdSegExp or StdQuadExp) are inherited from these abstract base classes. These shape-specific classes are the classes from which objects will be instantiated. They also contain the shape-specific implementation for operations such as integration or differentiation.
1.7.1