mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-01-04 13:36:57 -06:00
19bebcefe2
Only after rank zero does the filtering the schedule the well definitions in there are guarateed to have no perforations to inactive cells. Therefore we broadcast the schedule another time to publish this to all processes. Previously, we did the filtering locally on these processes bit that did also remove perforations to cells that are active globally but not locally. That seems very hard to work with when allowing distributed wells.
42 lines
1.3 KiB
C++
42 lines
1.3 KiB
C++
/*
|
|
Copyright 2020 Equinor AS.
|
|
|
|
This file is part of the Open Porous Media project (OPM).
|
|
|
|
OPM is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
OPM is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with OPM. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
#ifndef PARALLEL_SERIALIZATION_HPP
|
|
#define PARALLEL_SERIALIZATION_HPP
|
|
|
|
namespace Opm {
|
|
|
|
class EclipseState;
|
|
class Schedule;
|
|
class SummaryConfig;
|
|
|
|
/*! \brief Broadcasts an eclipse state from root node in parallel runs.
|
|
*! \param eclState EclipseState to broadcast
|
|
*! \param schedule Schedule to broadcast
|
|
*! \param summaryConfig SummaryConfig to broadcast
|
|
*/
|
|
void eclStateBroadcast(EclipseState& eclState, Schedule& schedule,
|
|
SummaryConfig& summaryConfig);
|
|
|
|
/// \brief Broadcasts an schedule from root node in parallel runs.
|
|
void eclScheduleBroadcast(Schedule& schedule);
|
|
|
|
} // end namespace Opm
|
|
|
|
#endif // PARALLEL_SERIALIZATION_HPP
|