From: rschulz Date: Fri, 12 May 2006 13:07:37 +0000 (+0000) Subject: sorry, some small mistakes in the last commit... corrected here! X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cce9e62d9b25d7e744bd9ae2cea2406318073eed;p=dealii-svn.git sorry, some small mistakes in the last commit... corrected here! git-svn-id: https://svn.dealii.org/trunk@13107 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/source/grid/grid_tools.cc b/deal.II/deal.II/source/grid/grid_tools.cc index e4e66ba9f3..d375a5036c 100644 --- a/deal.II/deal.II/source/grid/grid_tools.cc +++ b/deal.II/deal.II/source/grid/grid_tools.cc @@ -593,8 +593,8 @@ GridTools::find_active_cell_around_point (const Mapping &mapping, // unit cell (or at least not too far // outside). If it is, it is also checked // that the cell has a more refined state - if(dist <= best_distance - && (*cell)->level() > best_level) + if(dist < best_distance || + (dist == best_distance && (*cell)->level() > best_level)) { best_distance = dist; best_level = (*cell)->level(); diff --git a/tests/bits/find_cell_4.cc b/tests/bits/find_cell_4.cc index c07245355b..7ec0dc326a 100644 --- a/tests/bits/find_cell_4.cc +++ b/tests/bits/find_cell_4.cc @@ -37,12 +37,24 @@ void check (Triangulation<3> &tria) = GridTools::find_active_cell_around_point (tria, p); deallog << cell << std::endl; - for (unsigned int v=0; v::vertices_per_cell; ++v) + for (unsigned int v=0; v::vertices_per_cell; ++v) deallog << "<" << cell->vertex(v) << "> "; deallog << std::endl; - Assert (p.distance (cell->center()) < cell->diameter()/2+1e-10, - ExcInternalError()); + // Transform back and forth + Point<3> pp = + StaticMappingQ1<3>::mapping.transform_unit_to_real_cell + ( cell, + GeometryInfo<3>::project_to_unit_cell + ( + StaticMappingQ1<3>::mapping.transform_real_to_unit_cell + ( cell, + p + ) + ) + ); + + Assert (p.distance (pp) < 1e-15, ExcInternalError()); } diff --git a/tests/bits/find_cell_4/cmp/generic b/tests/bits/find_cell_4/cmp/generic new file mode 100644 index 0000000000..7bdc5e949d --- /dev/null +++ b/tests/bits/find_cell_4/cmp/generic @@ -0,0 +1,3 @@ + +DEAL::3.72 +DEAL::<0.750000 0.00000 0.00000> <0.875000 0.00000 0.00000> <0.750000 0.125000 0.00000> <0.875000 0.125000 0.00000> <0.750000 0.00000 0.125000> <0.875000 0.00000 0.125000> <0.750000 0.125000 0.125000> <0.875000 0.125000 0.125000> diff --git a/tests/bits/find_cell_5.cc b/tests/bits/find_cell_5.cc index 9bc0072b57..c30ffb873d 100644 --- a/tests/bits/find_cell_5.cc +++ b/tests/bits/find_cell_5.cc @@ -42,8 +42,21 @@ void check (Triangulation<3> &tria) deallog << "<" << cell->vertex(v) << "> "; deallog << std::endl; - Assert (p.distance (cell->center()) < cell->diameter()/2+1e-10, - ExcInternalError()); + // Transform back and forth + Point<3> pp = + StaticMappingQ1<3>::mapping.transform_unit_to_real_cell + ( cell, + GeometryInfo<3>::project_to_unit_cell + ( + StaticMappingQ1<3>::mapping.transform_real_to_unit_cell + ( cell, + p + ) + ) + ); + + Assert (p.distance (pp) < 1e-15, ExcInternalError()); + } diff --git a/tests/bits/find_cell_alt_4.cc b/tests/bits/find_cell_alt_4.cc index 3f5ed64519..67cbcd6928 100644 --- a/tests/bits/find_cell_alt_4.cc +++ b/tests/bits/find_cell_alt_4.cc @@ -39,13 +39,16 @@ void check (Triangulation<3> &tria) = GridTools::find_active_cell_around_point (map, tria, p); deallog << cell.first << std::endl; - for (unsigned int v=0; v::vertices_per_cell; ++v) + for (unsigned int v=0; v::vertices_per_cell; ++v) deallog << "<" << cell.first->vertex(v) << "> "; deallog << "[ " << cell.second << "] "; deallog << std::endl; - Assert (GeometryInfo<3>::distance_to_unit_cell(cell.second) < 1e-10, - ExcInternalError()); + // Now transform back and check distance + Point<3> pp = map.transform_unit_to_real_cell(cell.first, GeometryInfo<3>::project_to_unit_cell(cell.second)); + deallog << pp.distance(p) << std::endl; + Assert (pp.distance(p) < 1e-13, + ExcInternalError()); } diff --git a/tests/bits/find_cell_alt_4/cmp/generic b/tests/bits/find_cell_alt_4/cmp/generic index 509909a6c9..51492c821e 100644 --- a/tests/bits/find_cell_alt_4/cmp/generic +++ b/tests/bits/find_cell_alt_4/cmp/generic @@ -1,3 +1,4 @@ -DEAL::3.65 -DEAL::<0.625000 0.00000 0.00000> <0.750000 0.00000 0.00000> <0.625000 0.125000 0.00000> <0.750000 0.125000 0.00000> [ 1.00000 0.00000 5.55112e-17] +DEAL::3.72 +DEAL::<0.750000 0.00000 0.00000> <0.875000 0.00000 0.00000> <0.750000 0.125000 0.00000> <0.875000 0.125000 0.00000> <0.750000 0.00000 0.125000> <0.875000 0.00000 0.125000> <0.750000 0.125000 0.125000> <0.875000 0.125000 0.125000> [ -3.33067e-16 0.00000 5.55112e-17] +DEAL::0 diff --git a/tests/bits/find_cell_alt_7.cc b/tests/bits/find_cell_alt_7.cc index 3ed761dc1e..095ce86abc 100644 --- a/tests/bits/find_cell_alt_7.cc +++ b/tests/bits/find_cell_alt_7.cc @@ -29,8 +29,6 @@ #include - - void check (Triangulation<2> &tria) { MappingQ<2> map(5); @@ -51,9 +49,8 @@ void check (Triangulation<2> &tria) // Now transform back and check distance Point<2> pp = map.transform_unit_to_real_cell(cell.first, GeometryInfo<2>::project_to_unit_cell(cell.second)); - deallog << (pp-p).square() << std::endl; - - Assert (GeometryInfo<2>::distance_to_unit_cell(cell.second) < 1e-10, + deallog << pp.distance(p) << std::endl; + Assert (pp.distance(p) < 1e-13, ExcInternalError()); } diff --git a/tests/bits/find_cell_alt_7/cmp/generic b/tests/bits/find_cell_alt_7/cmp/generic index 49f3613be4..eb5c5e8336 100644 --- a/tests/bits/find_cell_alt_7/cmp/generic +++ b/tests/bits/find_cell_alt_7/cmp/generic @@ -1,6 +1,6 @@ -DEAL::2.66 -DEAL::<-0.382683 0.923880> <-0.305418 0.694720> <0.00000 1.00000> <0.00000 0.768306> [ 4.31605e-08 1.00000] 0 +DEAL::2.72 +DEAL::<0.00000 1.00000> <0.00000 0.768306> <0.382683 0.923880> <0.305418 0.694720> [ 4.31603e-08 1.26953e-19] 0 DEAL::2.72 DEAL::<0.00000 1.00000> <0.00000 0.768306> <0.382683 0.923880> <0.305418 0.694720> [ 1.84097e-08 0.0800000] 0 DEAL::2.72 @@ -99,8 +99,8 @@ DEAL::2.52 DEAL::<1.00000 0.00000> <0.923880 0.382683> <0.768306 0.00000> <0.694720 0.305418> [ 0.160000 3.03924e-08] 0 DEAL::2.52 DEAL::<1.00000 0.00000> <0.923880 0.382683> <0.768306 0.00000> <0.694720 0.305418> [ 0.0800000 1.84097e-08] 0 -DEAL::2.49 -DEAL::<0.923880 -0.382683> <1.00000 0.00000> <0.694720 -0.305418> <0.768306 0.00000> [ 1.00000 4.31605e-08] 0 +DEAL::2.52 +DEAL::<1.00000 0.00000> <0.923880 0.382683> <0.768306 0.00000> <0.694720 0.305418> [ 1.60129e-16 4.31603e-08] 0 DEAL::2.49 DEAL::<0.923880 -0.382683> <1.00000 0.00000> <0.694720 -0.305418> <0.768306 0.00000> [ 0.920000 1.84097e-08] 0 DEAL::2.49 @@ -149,8 +149,8 @@ DEAL::2.48 DEAL::<0.707107 -0.707107> <0.923880 -0.382683> <0.603553 -0.603553> <0.694720 -0.305418> [ 0.160000 4.17686e-08] 0 DEAL::2.48 DEAL::<0.707107 -0.707107> <0.923880 -0.382683> <0.603553 -0.603553> <0.694720 -0.305418> [ 0.0800000 2.67832e-08] 0 -DEAL::2.5 -DEAL::<0.382683 -0.923880> <0.707107 -0.707107> <0.305418 -0.694720> <0.603553 -0.603553> [ 1.00000 6.82846e-08] 0 +DEAL::2.48 +DEAL::<0.707107 -0.707107> <0.923880 -0.382683> <0.603553 -0.603553> <0.694720 -0.305418> [ 2.71333e-16 6.82843e-08] 0 DEAL::2.5 DEAL::<0.382683 -0.923880> <0.707107 -0.707107> <0.305418 -0.694720> <0.603553 -0.603553> [ 0.920000 2.67832e-08] 0 DEAL::2.5 @@ -199,8 +199,8 @@ DEAL::2.4 DEAL::<0.00000 -1.00000> <0.382683 -0.923880> <0.00000 -0.768306> <0.305418 -0.694720> [ 0.160000 3.03924e-08] 0 DEAL::2.4 DEAL::<0.00000 -1.00000> <0.382683 -0.923880> <0.00000 -0.768306> <0.305418 -0.694720> [ 0.0800000 1.84097e-08] 0 -DEAL::2.1 -DEAL::<-0.382683 -0.923880> <0.00000 -1.00000> <-0.305418 -0.694720> <0.00000 -0.768306> [ 1.00000 4.31605e-08] 0 +DEAL::2.4 +DEAL::<0.00000 -1.00000> <0.382683 -0.923880> <0.00000 -0.768306> <0.305418 -0.694720> [ 3.20132e-16 4.31603e-08] 0 DEAL::2.1 DEAL::<-0.382683 -0.923880> <0.00000 -1.00000> <-0.305418 -0.694720> <0.00000 -0.768306> [ 0.920000 1.84098e-08] 0 DEAL::2.1 @@ -299,8 +299,8 @@ DEAL::2.18 DEAL::<-0.923880 -0.382683> <-0.694720 -0.305418> <-1.00000 0.00000> <-0.768306 0.00000> [ 3.03924e-08 0.840000] 0 DEAL::2.18 DEAL::<-0.923880 -0.382683> <-0.694720 -0.305418> <-1.00000 0.00000> <-0.768306 0.00000> [ 1.84097e-08 0.920000] 0 -DEAL::2.18 -DEAL::<-0.923880 -0.382683> <-0.694720 -0.305418> <-1.00000 0.00000> <-0.768306 0.00000> [ 4.31605e-08 1.00000] 0 +DEAL::2.24 +DEAL::<-1.00000 0.00000> <-0.768306 0.00000> <-0.923880 0.382683> <-0.694720 0.305418> [ 4.31603e-08 -4.79881e-16] 0 DEAL::2.24 DEAL::<-1.00000 0.00000> <-0.768306 0.00000> <-0.923880 0.382683> <-0.694720 0.305418> [ 1.84097e-08 0.0800000] 0 DEAL::2.24 @@ -349,8 +349,8 @@ DEAL::2.26 DEAL::<-0.923880 0.382683> <-0.694720 0.305418> <-0.707107 0.707107> <-0.603553 0.603553> [ 4.17687e-08 0.840000] 0 DEAL::2.26 DEAL::<-0.923880 0.382683> <-0.694720 0.305418> <-0.707107 0.707107> <-0.603553 0.603553> [ 2.67835e-08 0.920000] 0 -DEAL::2.26 -DEAL::<-0.923880 0.382683> <-0.694720 0.305418> <-0.707107 0.707107> <-0.603553 0.603553> [ 6.82845e-08 1.00000] 0 +DEAL::2.64 +DEAL::<-0.707107 0.707107> <-0.603553 0.603553> <-0.382683 0.923880> <-0.305418 0.694720> [ 6.82843e-08 -5.24473e-16] 0 DEAL::2.64 DEAL::<-0.707107 0.707107> <-0.603553 0.603553> <-0.382683 0.923880> <-0.305418 0.694720> [ 2.67832e-08 0.0800000] 0 DEAL::2.64