*** Remember to include the error message listed below and, if possible,
*** include a minimal running example to reproduce the error.
*** -------------------------------------------------------------------------
*** Error: Unable to intersect cell and point.
*** Reason: Intersection is only implemented for simplex meshes.
*** Where: This error was encountered inside Cell.cpp.
*** Process: 0
*** DOLFIN version: 2018.1.0
but it works fine if I used triangular elements. Do you suggest any method to evaluate a results in terms of displacement (u) at a specific coordinates in quad mesh ?
Hi,
As the error says, this is not implemented for quadrilateral and hexahedral cells.
Most likely, this feature will be added to dolfinx later this year
I am using the C++ version of FEniCS. I noticed methods such as evaluate_basis are called when a Function object evaluate values. Are these methods neccessary when a function is evaluated? Are there some unimaginable errors if I bypass these methods and use coordinate_dofs and dofs to evaluate a function directly?
I do not know how to write evaluate_basis for hexahedron by myself but I want to evaluate a function on hexahedron mesh.
If you are only interested in the function values at physical coordinates where there are degrees of freedom, you can access the function vector directly.
u=Function(V)
arr= u.vector().get_local()
The order in the array follows X= V.tabulate_dof_coordinates()
Evaluate basis is used because if you evaluate a function at a non-dof coordinate, a linear combination of dof values has to be made
After reading more source code, I tried to write a hexahedron evaluation function. My program dose not work inc the fashion of fenics and only implemented for box cell not all hexahedron cell. However, It is enough for me!