Commit 6020c0d7 authored by Thomas Witkowski's avatar Thomas Witkowski

* And again the stupid getGradient bug :)

parent 09b09438
......@@ -555,6 +555,7 @@ namespace AMDiS {
} else {
if (!result) {
result = NEW WorldVector<DOFVector<double>*>;
result->set(NULL);
}
for (int i = 0; i < dow; i++) {
......@@ -586,8 +587,9 @@ namespace AMDiS {
numNodes += numPositionNodes;
}
TEST_EXIT_DBG(numNodes == mesh->getNumberOfNodes())
("invalid number of nodes\n");
// TEST_EXIT_DBG(numNodes == mesh->getNumberOfNodes())
// ("invalid number of nodes\n");
TEST_EXIT_DBG(numDOFs == basFcts->getNumber())
("number of dofs != number of basis functions\n");
......@@ -598,7 +600,7 @@ namespace AMDiS {
// traverse mesh
std::vector<bool> visited(getUsedSize(), false);
TraverseStack stack;
Flag fillFlag = Mesh::CALL_LEAF_EL | Mesh::FILL_GRD_LAMBDA;
Flag fillFlag = Mesh::CALL_LEAF_EL | Mesh::FILL_GRD_LAMBDA | Mesh::FILL_COORDS;
ElInfo *elInfo = stack.traverseFirst(mesh, -1, fillFlag);
WorldVector<double> grd;
......@@ -614,11 +616,10 @@ namespace AMDiS {
DegreeOfFreedom dofIndex = dof[i][numNodePreDOFs[localDOFNr] + j];
if (!visited[dofIndex]) {
basFcts->evalGrdUh(*(bary[localDOFNr]), grdLambda,
localUh, &grd);
basFcts->evalGrdUh(*(bary[localDOFNr]), grdLambda, localUh, &grd);
for (int k = 0; k < dow; k++) {
(*result)[k][dofIndex] = grd[k];
(*(*result)[k])[dofIndex] = grd[k];
}
visited[dofIndex] = true;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment