Skip to content

strace can't proces incomplete Spaces in 2D #197

Description

@bboeyken

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:

BEAST.jl/src/bases/trace.jl

Lines 105 to 111 in 472a1e6

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions