Loading src/TNL/Meshes/DistributedGridIO.h +3 −1 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ class DistributedGridIO<MeshFunctionType,LocalCopy> typedef typename MeshFunctionType::VectorType VectorType; //typedef DistributedGrid< MeshType,MeshFunctionType::getMeshDimension()> DistributedGridType; static bool save(File &file,MeshFunctionType &meshFunction) static bool save(File &file,File &meshOutputFile, MeshFunctionType &meshFunction) { auto *distrGrid=meshFunction.getMesh().GetDistGrid(); Loading @@ -93,6 +93,8 @@ class DistributedGridIO<MeshFunctionType,LocalCopy> newMesh->setSpaceSteps(spaceSteps); newMesh->setOrigin(origin+TNL::Containers::tnlDotProduct(spaceSteps,localBegin)); newMesh->save( meshOutputFile ); VectorType newDof(newMesh-> template getEntitiesCount< typename MeshType::Cell >()); MeshFunctionType newMeshFunction; Loading src/TNL/Problems/HeatEquationProblem_impl.h +5 −2 Original line number Diff line number Diff line Loading @@ -200,8 +200,11 @@ makeSnapshot( const RealType& time, fileName.setIndex( step ); #ifdef USE_MPI File file; file.open( fileName.getFileName()+convertToString(MPI::COMM_WORLD.Get_rank()), IOMode::write ); Meshes::DistributedGridIO<MeshFunctionType> ::save(file, *uPointer ); File meshFile; meshFile.open( convertToString(MPI::COMM_WORLD.Get_rank())+String("mesh.tnl"),IOMode::write); file.open( convertToString(MPI::COMM_WORLD.Get_rank())+fileName.getFileName(), IOMode::write ); Meshes::DistributedGridIO<MeshFunctionType> ::save(file,meshFile, *uPointer ); meshFile.close(); file.close(); #else if( ! this->uPointer->save( fileName.getFileName() ) ) Loading src/TNL/Solvers/PDE/ExplicitUpdater.h +3 −1 Original line number Diff line number Diff line Loading @@ -147,7 +147,9 @@ class ExplicitUpdater TraverserBoundaryEntitiesProcessor > ( meshPointer, userDataPointer ); #ifdef USE_MPI uPointer->synchronize(); #endif } Loading src/TNL/Solvers/PDE/TimeDependentPDESolver.h +1 −5 Original line number Diff line number Diff line Loading @@ -49,10 +49,6 @@ class TimeDependentPDESolver : public PDESolver< typename Problem::RealType, TimeDependentPDESolver(); #ifdef USE_MPI ~TimeDependentPDESolver(); #endif static void configSetup( Config::ConfigDescription& config, const String& prefix = "" ); Loading Loading @@ -95,7 +91,7 @@ class TimeDependentPDESolver : public PDESolver< typename Problem::RealType, #ifdef USE_MPI MeshPointer globalMeshPointer; Meshes::DistributedGrid<MeshType> * distrGrid; Meshes::DistributedGrid<MeshType> distrGrid; #endif DofVectorPointer dofsPointer; Loading src/TNL/Solvers/PDE/TimeDependentPDESolver_impl.h +2 −12 Original line number Diff line number Diff line Loading @@ -30,16 +30,6 @@ TimeDependentPDESolver() { } #ifdef USE_MPI template< typename Problem, typename DiscreteSolver, typename TimeStepper > TimeDependentPDESolver< Problem, DiscreteSolver, TimeStepper >:: ~TimeDependentPDESolver() { delete distrGrid; } #endif template< typename Problem, typename DiscreteSolver, Loading Loading @@ -85,8 +75,8 @@ setup( const Config::ParameterContainer& parameters, typename Meshes::DistributedGrid<MeshType>::CoordinatesType overlap; overlap.setValue(1); this->distrGrid=new Meshes::DistributedGrid<MeshType>(*globalMeshPointer,overlap); distrGrid->SetupGrid(*meshPointer); this->distrGrid.SetGlobalGrid(*globalMeshPointer,overlap); distrGrid.SetupGrid(*meshPointer); #else std::cout << "Loading a mesh from the file " << meshFile << "..."; if( ! this->meshPointer->load( meshFile ) ) Loading Loading
src/TNL/Meshes/DistributedGridIO.h +3 −1 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ class DistributedGridIO<MeshFunctionType,LocalCopy> typedef typename MeshFunctionType::VectorType VectorType; //typedef DistributedGrid< MeshType,MeshFunctionType::getMeshDimension()> DistributedGridType; static bool save(File &file,MeshFunctionType &meshFunction) static bool save(File &file,File &meshOutputFile, MeshFunctionType &meshFunction) { auto *distrGrid=meshFunction.getMesh().GetDistGrid(); Loading @@ -93,6 +93,8 @@ class DistributedGridIO<MeshFunctionType,LocalCopy> newMesh->setSpaceSteps(spaceSteps); newMesh->setOrigin(origin+TNL::Containers::tnlDotProduct(spaceSteps,localBegin)); newMesh->save( meshOutputFile ); VectorType newDof(newMesh-> template getEntitiesCount< typename MeshType::Cell >()); MeshFunctionType newMeshFunction; Loading
src/TNL/Problems/HeatEquationProblem_impl.h +5 −2 Original line number Diff line number Diff line Loading @@ -200,8 +200,11 @@ makeSnapshot( const RealType& time, fileName.setIndex( step ); #ifdef USE_MPI File file; file.open( fileName.getFileName()+convertToString(MPI::COMM_WORLD.Get_rank()), IOMode::write ); Meshes::DistributedGridIO<MeshFunctionType> ::save(file, *uPointer ); File meshFile; meshFile.open( convertToString(MPI::COMM_WORLD.Get_rank())+String("mesh.tnl"),IOMode::write); file.open( convertToString(MPI::COMM_WORLD.Get_rank())+fileName.getFileName(), IOMode::write ); Meshes::DistributedGridIO<MeshFunctionType> ::save(file,meshFile, *uPointer ); meshFile.close(); file.close(); #else if( ! this->uPointer->save( fileName.getFileName() ) ) Loading
src/TNL/Solvers/PDE/ExplicitUpdater.h +3 −1 Original line number Diff line number Diff line Loading @@ -147,7 +147,9 @@ class ExplicitUpdater TraverserBoundaryEntitiesProcessor > ( meshPointer, userDataPointer ); #ifdef USE_MPI uPointer->synchronize(); #endif } Loading
src/TNL/Solvers/PDE/TimeDependentPDESolver.h +1 −5 Original line number Diff line number Diff line Loading @@ -49,10 +49,6 @@ class TimeDependentPDESolver : public PDESolver< typename Problem::RealType, TimeDependentPDESolver(); #ifdef USE_MPI ~TimeDependentPDESolver(); #endif static void configSetup( Config::ConfigDescription& config, const String& prefix = "" ); Loading Loading @@ -95,7 +91,7 @@ class TimeDependentPDESolver : public PDESolver< typename Problem::RealType, #ifdef USE_MPI MeshPointer globalMeshPointer; Meshes::DistributedGrid<MeshType> * distrGrid; Meshes::DistributedGrid<MeshType> distrGrid; #endif DofVectorPointer dofsPointer; Loading
src/TNL/Solvers/PDE/TimeDependentPDESolver_impl.h +2 −12 Original line number Diff line number Diff line Loading @@ -30,16 +30,6 @@ TimeDependentPDESolver() { } #ifdef USE_MPI template< typename Problem, typename DiscreteSolver, typename TimeStepper > TimeDependentPDESolver< Problem, DiscreteSolver, TimeStepper >:: ~TimeDependentPDESolver() { delete distrGrid; } #endif template< typename Problem, typename DiscreteSolver, Loading Loading @@ -85,8 +75,8 @@ setup( const Config::ParameterContainer& parameters, typename Meshes::DistributedGrid<MeshType>::CoordinatesType overlap; overlap.setValue(1); this->distrGrid=new Meshes::DistributedGrid<MeshType>(*globalMeshPointer,overlap); distrGrid->SetupGrid(*meshPointer); this->distrGrid.SetGlobalGrid(*globalMeshPointer,overlap); distrGrid.SetupGrid(*meshPointer); #else std::cout << "Loading a mesh from the file " << meshFile << "..."; if( ! this->meshPointer->load( meshFile ) ) Loading