From: Guido Kanschat Date: Thu, 20 Dec 2001 10:38:11 +0000 (+0000) Subject: cylinder fixed X-Git-Tag: v8.0.0~18493 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e6f11246e1375c4144c32b1f9690e2923c92f037;p=dealii.git cylinder fixed git-svn-id: https://svn.dealii.org/trunk@5342 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/source/grid/tria_boundary_lib.cc b/deal.II/deal.II/source/grid/tria_boundary_lib.cc index fa443d675b..18d41251a5 100644 --- a/deal.II/deal.II/source/grid/tria_boundary_lib.cc +++ b/deal.II/deal.II/source/grid/tria_boundary_lib.cc @@ -45,28 +45,42 @@ CylinderBoundary::get_new_point_on_line (const typename Triangulation: }; -template -Point -CylinderBoundary:: -get_new_point_on_quad (const typename Triangulation::quad_iterator &quad) const +#if deal_II_dimension >=3 + +template<> +Point<3> +CylinderBoundary<3>:: +get_new_point_on_quad (const Triangulation<3>::quad_iterator &quad) const { - Point middle = StraightBoundary::get_new_point_on_quad (quad); + Point<3> middle = StraightBoundary<3>::get_new_point_on_quad (quad); // project to boundary - if (dim>=3 - && quad->vertex(0).square()-quad->vertex(0)(0)*quad->vertex(0)(0) >= radius*radius-1.e-12 + if (quad->vertex(0).square()-quad->vertex(0)(0)*quad->vertex(0)(0) >= radius*radius-1.e-12 && quad->vertex(1).square()-quad->vertex(1)(0)*quad->vertex(1)(0) >= radius*radius-1.e-12 && quad->vertex(2).square()-quad->vertex(2)(0)*quad->vertex(2)(0) >= radius*radius-1.e-12 && quad->vertex(3).square()-quad->vertex(3)(0)*quad->vertex(3)(0) >= radius*radius-1.e-12) - + { const double f = radius / std::sqrt(middle.square()-middle(0)*middle(0)); - for (unsigned int i=1;i +Point +CylinderBoundary:: +get_new_point_on_quad (const typename Triangulation::quad_iterator &) const +{ + Assert(false, Boundary::ExcFunctionNotUseful(dim)); + return Point(); +} + + template void