Commit ea92aee6 authored by Tomáš Oberhuber's avatar Tomáš Oberhuber
Browse files

Fixed domain decomposition log for 1D distributed grid.

parent b373967c
Loading
Loading
Loading
Loading
+11 −17
Original line number Diff line number Diff line
@@ -89,22 +89,17 @@ setGlobalGrid( const GridType& globalGrid,
   else
   {            
       //nearnodes
       if(rank!=0)
           left=rank-1;
       if(rank!=nproc-1)
           right=rank+1;

       this->domainDecomposition[ 0 ] = rank;
       std::cerr << "setting domain decomposition to " << this->domainDecomposition << std::endl;
       if( rank != 0 ) left=rank-1;
       if( rank != nproc-1 ) right=rank+1;

       this->domainDecomposition[ 0 ] = nproc;
       globalDimensions=globalGrid.getDimensions();                 

       //compute local mesh size               
       numberOfLarger = globalGrid.getDimensions().x() % nproc;

       localSize.x()=(globalGrid.getDimensions().x()/nproc);               
       if(numberOfLarger>rank)
            localSize.x()+=1;                      
       localSize.x() = globalGrid.getDimensions().x() / nproc;
       if(numberOfLarger>rank) localSize.x() += 1;

       if(numberOfLarger>rank)
       {
@@ -134,7 +129,6 @@ setGlobalGrid( const GridType& globalGrid,
           localGridSize.x() += overlap.x();
       else
           localGridSize.x() += 2*overlap.x();

   }  
} 

@@ -146,7 +140,7 @@ setupGrid( GridType& grid)
   TNL_ASSERT_TRUE(isSet,"DistributedGrid is not set, but used by SetupGrid");
   grid.setOrigin(localOrigin);
   grid.setDimensions(localGridSize);
   //compute local proporions by sideefect
   //compute local proportions by sideefect
   grid.setSpaceSteps(spaceSteps);
   grid.SetDistMesh(this);
};
+1 −0
Original line number Diff line number Diff line
@@ -231,6 +231,7 @@ void Euler< Problem > :: computeNewTimeLevel( DofVectorPointer& u,
   }
   localResidue /= tau * ( RealType ) size;
   Problem::CommunicatorType::Allreduce( &localResidue, &currentResidue, 1, MPI_SUM );
   //std::cerr << "Local residue = " << localResidue << " - globalResidue = " << currentResidue << std::endl;
}

#ifdef HAVE_CUDA