Commit 90c1f562 authored by Thomas Witkowski's avatar Thomas Witkowski

Fixed small bug related to NNZ computations in FETI-DP context.

parent bcdca133
......@@ -77,6 +77,8 @@ namespace AMDiS {
if ((*mat)[i][j])
feSpace = (*mat)[i][j]->getRowFeSpace();
TEST_EXIT_DBG(feSpace)("No FE space found!\n");
for (DofComm::Iterator it(rowDofMap.getDofComm().getRecvDofs(), feSpace);
!it.end(); it.nextRank()) {
sendMatrixEntry[it.getRank()].resize(0);
......
......@@ -1721,8 +1721,13 @@ namespace AMDiS {
ParallelDebug::writeDebugFile(feSpaces[feSpaces.size() - 1], dofMap,
debugOutputDir + "mpi-dbg", "dat");
debug::testSortedDofs(mesh, elMap);
ParallelDebug::testCommonDofs(*this, true);
ParallelDebug::testGlobalIndexByCoords(*this);
int test = 0;
Parameters::get("parallel->remove periodic boundary", test);
if (test == 0) {
ParallelDebug::testCommonDofs(*this, true);
ParallelDebug::testGlobalIndexByCoords(*this);
}
#else
for (unsigned int i = 0; i < feSpaces.size(); i++)
MSG("FE space %d: nRankDofs = %d nOverallDofs = %d\n",
......
......@@ -300,6 +300,7 @@ namespace AMDiS {
public:
ParallelDofMapping()
: levelData(NULL),
dofComm(NULL),
hasNonLocalDofs(false),
needMatIndex(false),
needMatIndexFromGlobal(false),
......@@ -346,7 +347,9 @@ namespace AMDiS {
/// Returns the DOF communicator.
DofComm& getDofComm()
{
TEST_EXIT_DBG(dofComm);
FUNCNAME("ParallelDofMapping::getDofComm()");
TEST_EXIT_DBG(dofComm)("No DOF communicator object defined!\n");
return *dofComm;
}
......
......@@ -346,7 +346,9 @@ namespace AMDiS {
if (fetiPreconditioner != FETI_NONE)
interiorDofMap.setMpiComm(levelData.getMpiComm(meshLevel), meshLevel);
if (meshLevel > 0)
if (meshLevel == 0)
localDofMap.setDofComm(meshDistributor->getDofComm());
else
localDofMap.setDofComm(meshDistributor->getDofCommSd());
for (unsigned int i = 0; i < meshDistributor->getFeSpaces().size(); i++) {
......
......@@ -123,6 +123,8 @@ namespace AMDiS {
void PetscSolverGlobalMatrix::fillPetscMatrixWithCoarseSpace(Matrix<DOFMatrix*> *mat)
{
FUNCNAME("PetscSolverGlobalMatrix::fillPetscMatrixWithCoarseSpace()");
TEST_EXIT_DBG(interiorMap)("Should not happen!\n");
vector<const FiniteElemSpace*> feSpaces = getFeSpaces(mat);
......
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