From 038626569669efaf20ad20b39d391dc2195118f2 Mon Sep 17 00:00:00 2001 From: Thomas Witkowski <thomas.witkowski@gmx.de> Date: Tue, 5 May 2009 14:43:39 +0000 Subject: [PATCH] Wenn ich nicht so dumm waere, muesste ich jetzt auch nicht updaten. --- AMDiS/src/PeriodicBC.cc | 4 ++++ AMDiS/src/ProblemScal.cc | 4 +++- AMDiS/src/ProblemVec.cc | 13 +++++++------ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/AMDiS/src/PeriodicBC.cc b/AMDiS/src/PeriodicBC.cc index 3fd4f9de..37383a05 100644 --- a/AMDiS/src/PeriodicBC.cc +++ b/AMDiS/src/PeriodicBC.cc @@ -205,6 +205,8 @@ namespace AMDiS { { FUNCNAME("PeriodicBC::exitMatrix()"); + ERROR_EXIT("Not yet implemented, if you have an idea how to do it, than make it!!!\n"); + TEST_EXIT(matrix)("no matrix\n"); if (matrix == masterMatrix_) { @@ -215,6 +217,8 @@ namespace AMDiS { using namespace mtl; + associated_->print(); + // Compute reorder matrix (newRow and newCol yields transposed!!!) matrix::traits::reorder<>::type R= matrix::reorder(*associated_); DOFMatrix::base_matrix_type &A= matrix->getBaseMatrix(), B, D, E, TR; diff --git a/AMDiS/src/ProblemScal.cc b/AMDiS/src/ProblemScal.cc index a91f5985..cd9cf55b 100644 --- a/AMDiS/src/ProblemScal.cc +++ b/AMDiS/src/ProblemScal.cc @@ -605,6 +605,7 @@ namespace AMDiS { systemMatrix->removeRowsWithDBC(systemMatrix->getApplyDBCs()); + // TODO: ExitMatrix should be called after finishInsertion! if (systemMatrix->getBoundaryManager()) systemMatrix->getBoundaryManager()->exitMatrix(systemMatrix); if (rhs->getBoundaryManager()) @@ -612,9 +613,10 @@ namespace AMDiS { if (solution->getBoundaryManager()) solution->getBoundaryManager()->exitVector(solution); - INFO(info, 8)("buildAfterCoarsen needed %.5f seconds\n", TIME_USED(first,clock())); systemMatrix->finishInsertion(); + INFO(info, 8)("buildAfterCoarsen needed %.5f seconds\n", TIME_USED(first,clock())); + #ifdef HAVE_PARALLEL_AMDIS // PetscErrorCode ierr; // Mat A; diff --git a/AMDiS/src/ProblemVec.cc b/AMDiS/src/ProblemVec.cc index 4cd9d2cc..2d5c9788 100644 --- a/AMDiS/src/ProblemVec.cc +++ b/AMDiS/src/ProblemVec.cc @@ -778,8 +778,9 @@ namespace AMDiS { ERROR_EXIT("Not yet implemented!\n"); } - if (assembleMatrix && matrix->getBoundaryManager()) - matrix->getBoundaryManager()->exitMatrix(matrix); + // TODO: ExitMatrix should be called after finishInsertion! + if (assembleMatrix && matrix->getBoundaryManager()) + matrix->getBoundaryManager()->exitMatrix(matrix); assembledMatrix[i][j] = true; } @@ -794,13 +795,13 @@ namespace AMDiS { // Finish insertion for (int i = 0; i < nComponents; i++) for (int j = 0; j < nComponents; j++) - if ((*systemMatrix)[i][j]) - (*systemMatrix)[i][j]->finishInsertion(); + if ((*systemMatrix)[i][j]) + (*systemMatrix)[i][j]->finishInsertion(); // clock_t first1 = clock(); -// solverMatrix.setMatrix(*systemMatrix); + solverMatrix.setMatrix(*systemMatrix); // clock_t first2 = clock(); -// createPrecon(); + createPrecon(); // clock_t first3 = clock(); // std::cout << "T1 = " << TIME_USED(first1, first2) << std::endl; -- GitLab