vtk-m/vtkm/exec
Kenneth Moreland 75a060a243 Fix cell derivatives for polygon cell shape
For polygon cell shapes (that are not triangles or quadrilaterals),
interpolations are done by finding the center point and creating a
triangle fan around that point. Previously, the gradient was computed in
the same way as interpolation: identifying the correct triangle and
computing the gradient for that triangle.

The problem with that approach is that makes the gradient discontinuous
at the boundaries of this implicit triangle fan. To make things worse,
this discontinuity happens right at each vertex where gradient
calculations happen frequently. This means that when you ask for the
gradient at the vertex, you might get wildly different answers based on
floating point imprecision.

Get around this problem by creating a small triangle around the point in
question, interpolating values to that triangle, and use that for the
gradient. This makes for a smoother gradient transition around these
internal boundaries.
2019-08-29 17:37:42 -06:00
..
arg Refactor topology mappings to clarify meaning. 2019-08-06 11:27:26 -04:00
cellmetrics Removed all modifications in the internal device adapter algorithm header files. 2019-07-03 11:12:19 -07:00
cuda Patch thrust to be happy with aligned_r_cast<long> and friends. 2019-08-12 15:21:11 -04:00
internal Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
openmp correct compile issues caused by clang formatting. 2019-04-23 17:16:26 -04:00
serial correct compile issues caused by clang formatting. 2019-04-23 17:16:26 -04:00
tbb correct compile issues caused by clang formatting. 2019-04-23 17:16:26 -04:00
testing Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
AtomicArrayExecutionObject.h Simplify and extend AtomicArray implementation. 2019-08-23 15:40:37 -04:00
BoundaryState.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
CellDerivative.h Fix cell derivatives for polygon cell shape 2019-08-29 17:37:42 -06:00
CellEdge.h Specialized cases for cell-edge functions on polylines. 2019-05-29 09:53:09 -04:00
CellFace.h Support for polylines. 2019-05-17 13:35:35 -04:00
CellInside.h Support for polylines. 2019-05-17 13:35:35 -04:00
CellInterpolate.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
CellLocator.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
CellLocatorBoundingIntervalHierarchyExec.h Refactor topology mappings to clarify meaning. 2019-08-06 11:27:26 -04:00
CellLocatorRectilinearGrid.h Fixing unreachable statement nvcc warning 2019-08-08 09:41:44 -07:00
CellLocatorUniformGrid.h Fixing issues raised by Ken on Gitlab 2019-08-08 09:15:28 -07:00
CellMeasure.h conslidate the license statement 2019-04-17 10:57:13 -06:00
CMakeLists.txt Merge topic 'add_mesh_quality' 2019-07-17 15:42:22 -04:00
ColorTable.h conslidate the license statement 2019-04-17 10:57:13 -06:00
ColorTable.hxx conslidate the license statement 2019-04-17 10:57:13 -06:00
ConnectivityExplicit.h conslidate the license statement 2019-04-17 10:57:13 -06:00
ConnectivityExtrude.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
ConnectivityPermuted.h Refactor topology mappings to clarify meaning. 2019-08-06 11:27:26 -04:00
ConnectivityStructured.h Refactor topology mappings to clarify meaning. 2019-08-06 11:27:26 -04:00
ExecutionWholeArray.h conslidate the license statement 2019-04-17 10:57:13 -06:00
FieldNeighborhood.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
FunctorBase.h Always export VTK-m functor symbols 2019-08-01 12:53:54 -04:00
Jacobian.h conslidate the license statement 2019-04-17 10:57:13 -06:00
ParametricCoordinates.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
PointLocator.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
PointLocatorUniformGrid.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
TaskBase.h conslidate the license statement 2019-04-17 10:57:13 -06:00