From fc619e37a5661d42a7f7cdbb22e2607dab6df0eb Mon Sep 17 00:00:00 2001 From: Siqi Ling <lsq0473@gmail.com> Date: Tue, 4 Nov 2014 14:13:54 +0000 Subject: [PATCH] change in function matvecassemble to get rid of: Da stimmt was nicht --- AMDiS/src/Assembler.cc | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/AMDiS/src/Assembler.cc b/AMDiS/src/Assembler.cc index aa9e9d44..b72b39b8 100644 --- a/AMDiS/src/Assembler.cc +++ b/AMDiS/src/Assembler.cc @@ -341,19 +341,21 @@ namespace AMDiS { TEST_EXIT(rowFeSpace->getBasisFcts() == colFeSpace->getBasisFcts()) ("Works only for equal basis functions for different components!\n"); - TEST_EXIT(operat->uhOld->getFeSpace()->getMesh() == auxElInfo->getMesh()) - ("Da stimmt was nicht!\n"); - - Element *mainEl = mainElInfo->getElement(); - Element *auxEl = auxElInfo->getElement(); - + Element *usedEl = nullptr; + if (operat->uhOld->getFeSpace()->getMesh() == auxElInfo->getMesh()) + usedEl = auxElInfo->getElement(); + else if (operat->uhOld->getFeSpace()->getMesh() == mainElInfo->getMesh()) + usedEl = mainElInfo->getElement(); + else + ERROR("Mesh is incorrect.\n"); + const BasisFunction *basFcts = rowFeSpace->getBasisFcts(); int nBasFcts = basFcts->getNumber(); ElementVector uhOldLoc(nBasFcts); - operat->uhOld->getLocalVector(auxEl, uhOldLoc); + operat->uhOld->getLocalVector(usedEl, uhOldLoc); - if (mainEl != lastMatEl) { + if (mainElInfo->getElement() != lastMatEl) { set_to_zero(elementMatrix); calculateElementMatrix(mainElInfo, auxElInfo, smallElInfo, largeElInfo, false, elementMatrix); -- GitLab