BEAST

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

TwoNTree

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.1)
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.6
- level: 2 with 8 node(s) with on average 602.62 points and 4.0 children and halfsize: 0.8
-- level: 3 with 32 node(s) with on average 150.66 points and 3.56 children and halfsize: 0.4
--- level: 4 with 114 node(s) with on average 42.29 points and 3.49 children and halfsize: 0.2
---- level: 5 with 398 node(s) with on average 12.11 points and 0.0 children and halfsize: 0.1

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.1)
BlockTree{TwoNTree{3, BoxData{3, Float64}, Float64}}(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.6
- level: 2 with 8 node(s) with on average 602.62 points and 4.0 children and halfsize: 0.8
-- level: 3 with 32 node(s) with on average 150.66 points and 3.56 children and halfsize: 0.4
--- level: 4 with 114 node(s) with on average 42.29 points and 3.49 children and halfsize: 0.2
---- level: 5 with 398 node(s) with on average 12.11 points and 0.0 children and halfsize: 0.1
, 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.6
- level: 2 with 8 node(s) with on average 602.62 points and 4.0 children and halfsize: 0.8
-- level: 3 with 32 node(s) with on average 150.66 points and 3.59 children and halfsize: 0.4
--- level: 4 with 115 node(s) with on average 41.92 points and 3.48 children and halfsize: 0.2
---- level: 5 with 400 node(s) with on average 12.05 points and 0.0 children and halfsize: 0.1
)

QuadPointsTree

Similarly QuadPointsTrees can be constructed for BEAST.jl spaces for the Galerkin case

using BEAST, CompScienceMeshes
using H2Trees

m = meshsphere(1.0, 0.1)
X = raviartthomas(m)
tree = QuadPointsTree(X, 0.1)
QuadPointsTree{TwoNTree{3, BoxData{3, Float64}, Float64}}
 level: 1 with 1 node(s) with on average 10182.0 points and 8.0 children and halfsize: 1.6
- level: 2 with 8 node(s) with on average 1272.75 points and 4.0 children and halfsize: 0.8
-- level: 3 with 32 node(s) with on average 318.19 points and 4.0 children and halfsize: 0.4
--- level: 4 with 128 node(s) with on average 79.55 points and 3.25 children and halfsize: 0.2
---- level: 5 with 416 node(s) with on average 24.48 points and 0.0 children and halfsize: 0.1

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 = QuadPointsTree(X, Y, 0.1)
BlockTree{QuadPointsTree{TwoNTree{3, BoxData{3, Float64}, Float64}}}(QuadPointsTree{TwoNTree{3, BoxData{3, Float64}, Float64}}
 level: 1 with 1 node(s) with on average 10182.0 points and 8.0 children and halfsize: 1.6
- level: 2 with 8 node(s) with on average 1272.75 points and 4.0 children and halfsize: 0.8
-- level: 3 with 32 node(s) with on average 318.19 points and 4.0 children and halfsize: 0.4
--- level: 4 with 128 node(s) with on average 79.55 points and 3.25 children and halfsize: 0.2
---- level: 5 with 416 node(s) with on average 24.48 points and 0.0 children and halfsize: 0.1
, QuadPointsTree{TwoNTree{3, BoxData{3, Float64}, Float64}}
 level: 1 with 1 node(s) with on average 15463.0 points and 8.0 children and halfsize: 1.6
- level: 2 with 8 node(s) with on average 1932.88 points and 4.0 children and halfsize: 0.8
-- level: 3 with 32 node(s) with on average 483.22 points and 4.0 children and halfsize: 0.4
--- level: 4 with 128 node(s) with on average 120.8 points and 3.25 children and halfsize: 0.2
---- level: 5 with 416 node(s) with on average 37.17 points and 0.0 children and halfsize: 0.1
)