-
Notifications
You must be signed in to change notification settings - Fork 40
Open
Description
The assemble function can't deal with triangulized surface in udim = 2 for lagrange and nedelec interpolation. assemble calls quaddata and _allocate_workspace. This last method calls the following function, for a lagrange reference space:
BEAST.jl/src/bases/local/laglocal.jl
Lines 213 to 214 in 55ec0a3
| # Evaluete linear lagrange elements on a triangle | |
| function (f::LagrangeRefSpace{T,1,3})(t) where T |
This methode calculates the normal of a triangle. However in a udim = 2, a triangle has no normal vector.
A solution is to overload this function so that it doesn't require the normal vector.
Example for the issue is the following:
Ω = meshrectangle(1.0, 1.0, 0.5, 2)
X = lagrangec0d1(Ω, boundary(Ω))
I = BEAST.Identity()
assemble(I, X,X)Which give rise to "BoundsError: attempt to access Tuple{} at index [1]", meaning there is no normal vector.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels