BEAST

The basis functions defined in BEAST.jl can be sorted into trees.

TwoNTree together with BEAST

For basis functoins defined in BEAST.jl the computation of the protrusion defaults to BEASTProtrusionFunctor which means that setting the maxprotrusion is actually meaningfull. For TwoNTrees this can, for example, be done like this for the Galerkin case

using BEAST, CompScienceMeshes
using H2Trees

m = meshsphere(1.0, 0.1)
X = raviartthomas(m)
tree = TwoNTree(X, 0.0; maxprotrusion=0.3, minvalues=200)
TwoNTree{3, BoxData{3, Float64}, Float64}
 level: 1 with 1 node(s) with on average 4821.0 points and 8.0 children and halfsize: 0.9975383534182404
- level: 2 with 8 node(s) with on average 602.62 points and 7.0 children and halfsize: 0.4987691767091202
-- level: 3 with 56 node(s) with on average 86.09 points and 0.0 children and halfsize: 0.2493845883545601

and for the Petrov-Galerkin case

using BEAST, CompScienceMeshes
using H2Trees
using PlotlyJS

m = meshsphere(1.0, 0.1)
X = raviartthomas(m)
Y = buffachristiansen(m)
tree = TwoNTree(X, Y, 0.0; testmaxprotrusion=0.3, trialmaxprotrusion=0.3)
BlockTree{TwoNTree{3, BoxData{3, Float64}, Float64}}(TwoNTree{3, BoxData{3, Float64}, Float64}
 level: 2 with 1 node(s) with on average 4821.0 points and 8.0 children and halfsize: 0.9975383534182404
- level: 3 with 8 node(s) with on average 602.62 points and 7.0 children and halfsize: 0.4987691767091202
-- level: 4 with 56 node(s) with on average 86.09 points and 0.57 children and halfsize: 0.2493845883545601
--- level: 5 with 32 node(s) with on average 14.69 points and 0.0 children and halfsize: 0.12469229417728005
, TwoNTree{3, BoxData{3, Float64}, Float64}
 level: 1 with 1 node(s) with on average 4821.0 points and 8.0 children and halfsize: 1.9950767068364808
- level: 2 with 8 node(s) with on average 602.62 points and 3.25 children and halfsize: 0.9975383534182404
-- level: 3 with 26 node(s) with on average 185.42 points and 2.85 children and halfsize: 0.4987691767091202
--- level: 4 with 74 node(s) with on average 65.15 points and 0.23 children and halfsize: 0.2493845883545601
---- level: 5 with 17 node(s) with on average 1.47 points and 0.0 children and halfsize: 0.12469229417728005
)