avoid usage of deck on all processes setting up SummaryConfig

This commit is contained in:
Arne Morten Kvarving 2020-01-06 10:25:59 +01:00
parent fa5f026fe4
commit 227ff00730

View File

@ -347,10 +347,19 @@ int main(int argc, char** argv)
eclipseState.reset( new Opm::EclipseState(*deck, parseContext, errorGuard )); eclipseState.reset( new Opm::EclipseState(*deck, parseContext, errorGuard ));
schedule.reset(new Opm::Schedule(*deck, *eclipseState, parseContext, errorGuard)); schedule.reset(new Opm::Schedule(*deck, *eclipseState, parseContext, errorGuard));
summaryConfig.reset( new Opm::SummaryConfig(*deck, *schedule, eclipseState->getTableManager(), parseContext, errorGuard));
if (mpiRank == 0) { if (mpiRank == 0) {
setupMessageLimiter(schedule->getMessageLimits(), "STDOUT_LOGGER"); setupMessageLimiter(schedule->getMessageLimits(), "STDOUT_LOGGER");
summaryConfig.reset( new Opm::SummaryConfig(*deck, *schedule, eclipseState->getTableManager(), parseContext, errorGuard));
#ifdef HAVE_MPI
Opm::Mpi::packAndSend(*summaryConfig, mpiHelper.getCollectiveCommunication());
#endif
} }
#ifdef HAVE_MPI
else {
summaryConfig.reset(new Opm::SummaryConfig);
Opm::Mpi::receiveAndUnpack(*summaryConfig, mpiHelper.getCollectiveCommunication());
}
#endif
Opm::checkConsistentArrayDimensions(*eclipseState, *schedule, parseContext, errorGuard); Opm::checkConsistentArrayDimensions(*eclipseState, *schedule, parseContext, errorGuard);