The methode strace can't proces spaces that don't include all simplex cells.
The problems is with the p index from the enumerate which loops over the simplices used in the interpolation space X, variable E. But this also identifies in which cell we look in the geometry of the space, variable D. If some simplices are not used in X but still present in geometry(X) then p indicates different cells and the strace of the space will give wrong values.
An example of code that fails is:
using BEAST
Ω = meshrectangle(1.0, 1.0, 0.3, 2)
Γ = boundary(Ω)
X = lagrangec0d1(Ω, skeleton(Γ,0)) # contains only triangle simplices which have an edge at the boundary.
strace(X, Γ )
The strace contains inactive basis function.
code fragment:
|
for (p,el) in enumerate(E) |
|
|
|
for q in 1:dimension(Γ)+1 |
|
|
|
# find the global index in Σ of the q-th face of the p-element |
|
e = 0 |
|
for k in nzrange(D,p) |
The methode
stracecan't proces spaces that don't include all simplex cells.The problems is with the
pindex from the enumerate which loops over the simplices used in the interpolation space X, variableE. But this also identifies in which cell we look in the geometry of the space, variableD. If some simplices are not used in X but still present in geometry(X) thenpindicates different cells and the strace of the space will give wrong values.An example of code that fails is:
The strace contains inactive basis function.
code fragment:
BEAST.jl/src/bases/trace.jl
Lines 105 to 111 in 472a1e6