From de82c374ea0c85da9bb239a22edfd6f2f93b4cf9 Mon Sep 17 00:00:00 2001 From: Wolfgang Bangerth Date: Wed, 24 Jul 2013 11:40:19 +0000 Subject: [PATCH] Better document GridTools::laplace_transform. git-svn-id: https://svn.dealii.org/trunk@30148 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/include/deal.II/grid/grid_tools.h | 36 ++++++++++++++++------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/deal.II/include/deal.II/grid/grid_tools.h b/deal.II/include/deal.II/grid/grid_tools.h index 1df740cff6..bdbc8ab792 100644 --- a/deal.II/include/deal.II/grid/grid_tools.h +++ b/deal.II/include/deal.II/grid/grid_tools.h @@ -237,16 +237,32 @@ namespace GridTools Triangulation<2> &triangulation); /** - * This function transformes the @p Triangulation @p tria smoothly to a - * domain that is described by the boundary points in the map @p - * new_points. This map maps the point indices to the boundary points in the - * transformed domain. - * - * Note, that the @p Triangulation is changed in-place, therefore you don't - * need to keep two triangulations, but the given triangulation is changed - * (overwritten). - * - * In 1d, this function is not currently implemented. + * Transform the given triangulation smoothly to a different domain where + * each of the vertices at the boundary of the triangulation is mapped to + * the corresponding points in the @p new_points map. + * + * The way this function works is that it solves a Laplace equation for each + * of the dim components of a displacement field that maps the current + * domain into one described by @p new_points . The @p new_points array + * therefore represents the boundary values of this displacement field. + * The function then evaluates this displacement field at each vertex in + * the interior and uses it to place the mapped vertex where the + * displacement field locates it. Because the solution of the Laplace + * equation is smooth, this guarantees a smooth mapping from the old + * domain to the new one. + * + * @param[in] new_points The locations where a subset of the existing vertices + * are to be placed. Typically, this would be a map from the vertex indices + * of all nodes on the boundary to their new locations, thus completely + * specifying the geometry of the mapped domain. However, it may also include + * interior points if necessary and it does not need to include all boundary + * vertices (although you then lose control over the exact shape of the mapped + * domain). + * + * @param[in,out] tria The Triangulation object. This object is changed in-place, + * i.e., the previous locations of vertices are overwritten. + * + * @note This function is not currently implemented for the 1d case. */ template void laplace_transform (const std::map > &new_points, -- 2.39.5