From: Wolfgang Bangerth Date: Mon, 24 Sep 2001 12:44:08 +0000 (+0000) Subject: Fix miscomputation. X-Git-Tag: v8.0.0~18761 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a2a0ae45bf3c097f20c7952fec2f4354de258168;p=dealii.git Fix miscomputation. git-svn-id: https://svn.dealii.org/trunk@5037 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/source/fe/mapping_c1.cc b/deal.II/deal.II/source/fe/mapping_c1.cc index d33a1d906b..3ae9bf3337 100644 --- a/deal.II/deal.II/source/fe/mapping_c1.cc +++ b/deal.II/deal.II/source/fe/mapping_c1.cc @@ -122,12 +122,12 @@ MappingC1<2>::add_line_support_points (const Triangulation<2>::cell_iterator &ce // into the global // coordinate system. they // are @p{A (1,c)} and @p{A - // (1,b)} with @p{A} the + // (1,-b-2c)} with @p{A} the // rotation matrix, since // the tangentials in the // coordinate system // relative to the line are - // @p{(1,c)} and @p{(1,b)} + // @p{(1,c)} and @p{(1,-b-2c)} // at the two vertices, // respectively. We then // have to make sure by @@ -142,14 +142,16 @@ MappingC1<2>::add_line_support_points (const Triangulation<2>::cell_iterator &ce coordinate_axis /= h; const double alpha = std::atan2(coordinate_axis[1], coordinate_axis[0]); - const double b = ((face_vertex_normals[0][1] * std::sin(alpha) - +face_vertex_normals[0][0] * std::cos(alpha)) / - (face_vertex_normals[0][1] * std::cos(alpha) - -face_vertex_normals[0][0] * std::sin(alpha))), - c = ((face_vertex_normals[1][1] * std::sin(alpha) - +face_vertex_normals[1][0] * std::cos(alpha)) / - (face_vertex_normals[1][1] * std::cos(alpha) - -face_vertex_normals[1][0] * std::sin(alpha))); + const double c = -((face_vertex_normals[0][1] * std::sin(alpha) + +face_vertex_normals[0][0] * std::cos(alpha)) / + (face_vertex_normals[0][1] * std::cos(alpha) + -face_vertex_normals[0][0] * std::sin(alpha))); + const double b = ((face_vertex_normals[1][1] * std::sin(alpha) + +face_vertex_normals[1][0] * std::cos(alpha)) / + (face_vertex_normals[1][1] * std::cos(alpha) + -face_vertex_normals[1][0] * std::sin(alpha))) + -2*c; + // next evaluate the so // determined cubic