From 3dcb180a03379b542641d387eddc0e672f5a12ae Mon Sep 17 00:00:00 2001 From: "hanouvit@vz" <vithanousek@seznam.cz> Date: Sat, 5 May 2018 14:06:17 +0200 Subject: [PATCH] Fix explicit updater synchronization and distributed Heat equation initial condition load This version should compute same results if distributed or not distributed. --- src/TNL/Problems/HeatEquationProblem_impl.h | 2 ++ src/TNL/Solvers/PDE/ExplicitUpdater.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/TNL/Problems/HeatEquationProblem_impl.h b/src/TNL/Problems/HeatEquationProblem_impl.h index a25a7d8f4d..e4fec6154f 100644 --- a/src/TNL/Problems/HeatEquationProblem_impl.h +++ b/src/TNL/Problems/HeatEquationProblem_impl.h @@ -149,6 +149,7 @@ setInitialCondition( const Config::ParameterContainer& parameters, if(CommunicatorType::isDistributed()) { Meshes::DistributedMeshes::DistributedGridIO<MeshFunctionType,Meshes::DistributedMeshes::MpiIO> ::load(initialConditionFile, *uPointer ); + uPointer->template Synchronize<CommunicatorType>(); } else { @@ -253,6 +254,7 @@ getExplicitUpdate( const RealType& time, this->explicitUpdater.setBoundaryConditions( this->boundaryConditionPointer ), this->explicitUpdater.setRightHandSide( this->rightHandSidePointer ), this->explicitUpdater.template update< typename Mesh::Cell, CommType >( time, tau, meshPointer, this->uPointer, fuPointer ); + } template< typename Mesh, diff --git a/src/TNL/Solvers/PDE/ExplicitUpdater.h b/src/TNL/Solvers/PDE/ExplicitUpdater.h index 0baf5e6de8..21608dc84e 100644 --- a/src/TNL/Solvers/PDE/ExplicitUpdater.h +++ b/src/TNL/Solvers/PDE/ExplicitUpdater.h @@ -150,7 +150,7 @@ class ExplicitUpdater userDataPointer ); if(CommunicatorType::isDistributed()) - uPointer->template Synchronize<CommunicatorType>(); + fuPointer->template Synchronize<CommunicatorType>(); } -- GitLab