Extend Simplex to SimplicialComplex with minimal changes.
Implement SplitSimplicialComplex and AlfeldSplit and IsoSplit subclasses, which take a parent simplex in the constructor.
DualSet on a SplitSimplicialComplex merges the entities DOFs on the complex onto the parent entites.
ExpansionSet loops across subcells and does indirection to evaluate the hierarchical DG or CG basis functions.
FiniteElement gets a reference complex attached to in, in case we want to expose the split to define quadrature rules. CiarletElement will infer the reference complex from the underlying polynomial space.
create_quadrature returns a MacroQuadrature rule on macro cells.
Extend
Simplex
toSimplicialComplex
with minimal changes.Implement
SplitSimplicialComplex
andAlfeldSplit
andIsoSplit
subclasses, which take a parent simplex in the constructor.DualSet
on aSplitSimplicialComplex
merges the entities DOFs on the complex onto the parent entites.ExpansionSet
loops across subcells and does indirection to evaluate the hierarchical DG or CG basis functions.FiniteElement
gets a reference complex attached to in, in case we want to expose the split to define quadrature rules.CiarletElement
will infer the reference complex from the underlying polynomial space.create_quadrature
returns aMacroQuadrature
rule on macro cells.