Function Evaluation Returns wrong value
Issue #1098
new
Provided some finite element function u, then I believe there is a strong possibility that the evaluation u(x) returns the wrong value, because the bounding box routine returns the wrong element as the one containing x. Consequently, the wrong finite element basis functions are used. Attached is a minimal working example, where the evaluation of a function u on the mindpoint of element 5 actually returns the proper linear combination of basis functions from element 0
Comments (2)
-
-
@{557058:013ca159-6e16-4425-b2f3-430b55341e9d} So if you want to fix this locally, I suggest to try to replace that if-test with something like:
if (std::abs(tet_det) > 1e-16) return false;
Could you verify if this solves your problem, as I no longer use old dolfin;)
- Log in to comment
Issue seems to be in: https://bitbucket.org/fenics-project/dolfin/src/cd74a78b04333eaf66be9d43a74d58a63ffe0973/dolfin/geometry/CollisionPredicates.cpp#lines-685:686
where the determinate is of order 1e-18, which is not equal to zero. Found by making a smaller example: https://github.com/FEniCS/dolfinx/issues/767