From 28a13d65386082953cf3a686fab41d2460385e03 Mon Sep 17 00:00:00 2001
From: wolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Date: Mon, 24 Sep 2001 12:44:08 +0000
Subject: [PATCH] Fix miscomputation.

git-svn-id: https://svn.dealii.org/trunk@5037 0785d39b-7218-0410-832d-ea1e28bc413d
---
 deal.II/deal.II/source/fe/mapping_c1.cc | 22 ++++++++++++----------
 1 file changed, 12 insertions(+), 10 deletions(-)

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
-- 
2.39.5