mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-20 11:48:25 -06:00
This commit switches the parallel implemenation of function Opm::gatherConvergenceReport() into using the general serialisation framework (classes Opm::Serializer<> and Opm::Mpi::Packer). In particular, we add serializeOp() functions to each of the types - ConvergenceReport - ConvergenceReport::ReservoirFailure - ConvergenceReport::ReservoirConvergenceMetric - ConvergenceReport::WellFailure and defer the job of converting the objects between in-memory and byte stream representations to Opm::Serializer<>. The new special purpose class CollectConvReports inherits from the latter and uses its pack() and unpack() member functions, along with its internal m_buffer data member, to distribute each rank's convergence report object to all ranks. We add this feature here, in a very narrowly scoped use case, to enable testing and experimentation before we consider adding this distribution mechanism as a general feature in Opm::MpiSerializer. |
||
---|---|---|
.. | ||
AdaptiveSimulatorTimer.cpp | ||
AdaptiveSimulatorTimer.hpp | ||
AdaptiveTimeStepping.cpp | ||
AdaptiveTimeStepping.hpp | ||
ConvergenceReport.cpp | ||
ConvergenceReport.hpp | ||
EclTimeSteppingParams.cpp | ||
EclTimeSteppingParams.hpp | ||
gatherConvergenceReport.cpp | ||
gatherConvergenceReport.hpp | ||
SimulatorReport.cpp | ||
SimulatorReport.hpp | ||
SimulatorTimer.cpp | ||
SimulatorTimer.hpp | ||
SimulatorTimerInterface.cpp | ||
SimulatorTimerInterface.hpp | ||
TimeStepControl.cpp | ||
TimeStepControl.hpp | ||
TimeStepControlInterface.hpp |