Loading src/TNL/Meshes/DistributedMeshes/DistributedGrid_1D.hpp +11 −17 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -134,7 +129,6 @@ setGlobalGrid( const GridType& globalGrid, localGridSize.x() += overlap.x(); else localGridSize.x() += 2*overlap.x(); } } Loading @@ -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); }; Loading src/TNL/Solvers/ODE/Euler_impl.h +1 −0 Original line number Diff line number Diff line Loading @@ -231,6 +231,7 @@ void Euler< Problem > :: computeNewTimeLevel( DofVectorPointer& u, } localResidue /= tau * ( RealType ) size; Problem::CommunicatorType::Allreduce( &localResidue, ¤tResidue, 1, MPI_SUM ); //std::cerr << "Local residue = " << localResidue << " - globalResidue = " << currentResidue << std::endl; } #ifdef HAVE_CUDA Loading Loading
src/TNL/Meshes/DistributedMeshes/DistributedGrid_1D.hpp +11 −17 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -134,7 +129,6 @@ setGlobalGrid( const GridType& globalGrid, localGridSize.x() += overlap.x(); else localGridSize.x() += 2*overlap.x(); } } Loading @@ -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); }; Loading
src/TNL/Solvers/ODE/Euler_impl.h +1 −0 Original line number Diff line number Diff line Loading @@ -231,6 +231,7 @@ void Euler< Problem > :: computeNewTimeLevel( DofVectorPointer& u, } localResidue /= tau * ( RealType ) size; Problem::CommunicatorType::Allreduce( &localResidue, ¤tResidue, 1, MPI_SUM ); //std::cerr << "Local residue = " << localResidue << " - globalResidue = " << currentResidue << std::endl; } #ifdef HAVE_CUDA Loading