From 416282c32026df451f6e548f516033225957c857 Mon Sep 17 00:00:00 2001
From: Thomas Witkowski <thomas.witkowski@gmx.de>
Date: Fri, 4 Dec 2009 08:20:15 +0000
Subject: [PATCH] Bugfix for integration of dof vectors.

---
 AMDiS/src/DOFVector.hh | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/AMDiS/src/DOFVector.hh b/AMDiS/src/DOFVector.hh
index 940ecd43..27af3953 100644
--- a/AMDiS/src/DOFVector.hh
+++ b/AMDiS/src/DOFVector.hh
@@ -368,10 +368,10 @@ namespace AMDiS {
 			     DegreeOfFreedom* dof_indices)
   {
     BasisFunction* phi = const_cast<BasisFunction*>(this->getFESpace()->getBasisFcts());
-    int numberOfBasFcts = phi->getNumber();
+    int nBasisFcts = phi->getNumber();
     T val = 0.0;
 
-    for (int i = 0; i < numberOfBasFcts; i++)
+    for (int i = 0; i < nBasisFcts; i++)
       val += (*this)[dof_indices[i]]*(*phi->getPhi(i))(lambda);
 
     return val;
@@ -490,7 +490,7 @@ namespace AMDiS {
 
     double result = 0.0;
     int nPoints = quadFast->getNumPoints();
-    std::vector<T> uh_vec(this->feSpace->getBasisFcts()->getNumber());
+    std::vector<T> uh_vec(nPoints);
     TraverseStack stack;
     ElInfo *elInfo = 
       stack.traverseFirst(mesh, -1, 
@@ -526,7 +526,7 @@ namespace AMDiS {
 
     double result = 0.0;
     int nPoints = quadFast->getNumPoints();
-    std::vector<T> uh_vec(this->feSpace->getBasisFcts()->getNumber());
+    std::vector<T> uh_vec(nPoints);
     TraverseStack stack;
     ElInfo *elInfo = 
       stack.traverseFirst(mesh, -1, 
@@ -563,11 +563,12 @@ namespace AMDiS {
     double result = 0.0;
     int nPoints = quadFast->getNumPoints();
     int dimOfWorld = Global::getGeo(WORLD);
-    std::vector<WorldVector<T> > grduh_vec(this->feSpace->getBasisFcts()->getNumber());
+    std::vector<WorldVector<T> > grduh_vec(nPoints);
     TraverseStack stack;
     ElInfo *elInfo = 
       stack.traverseFirst(mesh, -1, 
-			  Mesh::CALL_LEAF_EL | Mesh::FILL_COORDS | Mesh::FILL_DET | Mesh::FILL_GRD_LAMBDA);
+			  Mesh::CALL_LEAF_EL | Mesh::FILL_COORDS | 
+			  Mesh::FILL_DET | Mesh::FILL_GRD_LAMBDA);
     while (elInfo) {
       double det = elInfo->getDet();
       double normT = 0.0;
@@ -1077,7 +1078,7 @@ namespace AMDiS {
 
     double result = 0.0;
     int nPoints = quadFast->getNumPoints();
-    std::vector<T> uh_vec(this->feSpace->getBasisFcts()->getNumber());
+    std::vector<T> uh_vec(nPoints);
     TraverseStack stack;
     ElInfo *elInfo = 
       stack.traverseFirst(mesh, -1, 
-- 
GitLab