From b5681db0dbd8aca8b071bea6c0a3f6e0188889ed Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Sun, 18 Nov 2018 22:14:57 -0700 Subject: [PATCH] Add a comment to GridTools::transform(). --- include/deal.II/grid/grid_tools.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/deal.II/grid/grid_tools.h b/include/deal.II/grid/grid_tools.h index a6ff6c7d7c..2762529c6e 100644 --- a/include/deal.II/grid/grid_tools.h +++ b/include/deal.II/grid/grid_tools.h @@ -331,6 +331,17 @@ namespace GridTools * or it is a pointer to the function. In either case, argument and return * value have to be of type Point@. * + * @note The transformations that make sense to use with this function + * should have a Jacobian with a positive determinant. For example, + * rotation, shearing, stretching, or scaling all satisfy this (though + * there is no requirement that the transformation used actually is + * linear, as all of these examples are). On the other hand, reflections + * or inversions have a negative determinant of the Jacobian. The + * current function has no way of asserting a positive determinant + * of the Jacobian, but if you happen to use such a transformation, + * the result will be a triangulation in which cells have a negative + * volume. + * * @note If you are using a parallel::distributed::Triangulation you will * have hanging nodes in your local Triangulation even if your "global" mesh * has no hanging nodes. This will cause issues with wrong positioning of -- 2.39.5