mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-12-28 02:00:59 -06:00
WellGroupHelpers: simply template instantation
use types for ParallelCommunication.hpp
This commit is contained in:
parent
2135a4268d
commit
5d9ee32853
@ -31,6 +31,7 @@
|
|||||||
|
|
||||||
#include <opm/simulators/utils/DeferredLogger.hpp>
|
#include <opm/simulators/utils/DeferredLogger.hpp>
|
||||||
#include <opm/simulators/utils/DeferredLoggingErrorHelpers.hpp>
|
#include <opm/simulators/utils/DeferredLoggingErrorHelpers.hpp>
|
||||||
|
#include <opm/simulators/utils/ParallelCommunication.hpp>
|
||||||
|
|
||||||
#include <opm/simulators/wells/GroupState.hpp>
|
#include <opm/simulators/wells/GroupState.hpp>
|
||||||
#include <opm/simulators/wells/RegionAverageCalculator.hpp>
|
#include <opm/simulators/wells/RegionAverageCalculator.hpp>
|
||||||
@ -1683,45 +1684,38 @@ namespace WellGroupHelpers
|
|||||||
const WellState&,
|
const WellState&,
|
||||||
GroupState&);
|
GroupState&);
|
||||||
|
|
||||||
#define INSTANCE_WELLGROUP_HELPERS(...) \
|
template
|
||||||
template \
|
void updateGuideRateForProductionGroups<Parallel::Communication>(const Group& group,
|
||||||
void updateGuideRateForProductionGroups<Dune::CollectiveCommunication<__VA_ARGS__>>(const Group& group,\
|
const Schedule& schedule,
|
||||||
const Schedule& schedule, \
|
const PhaseUsage& pu,
|
||||||
const PhaseUsage& pu, \
|
const int reportStepIdx,
|
||||||
const int reportStepIdx, \
|
const double& simTime,
|
||||||
const double& simTime, \
|
WellState& wellState,
|
||||||
WellState& wellState, \
|
const GroupState& group_state,
|
||||||
const GroupState& group_state, \
|
const Parallel::Communication& comm,
|
||||||
const Dune::CollectiveCommunication<__VA_ARGS__>& comm, \
|
GuideRate* guideRate,
|
||||||
GuideRate* guideRate, \
|
std::vector<double>& pot);
|
||||||
std::vector<double>& pot); \
|
template
|
||||||
template \
|
void updateGuideRatesForWells<Parallel::Communication>(const Schedule& schedule,
|
||||||
void updateGuideRatesForWells<Dune::CollectiveCommunication<__VA_ARGS__>>(const Schedule& schedule, \
|
const PhaseUsage& pu,
|
||||||
const PhaseUsage& pu, \
|
const int reportStepIdx,
|
||||||
const int reportStepIdx, \
|
const double& simTime,
|
||||||
const double& simTime, \
|
const WellState& wellState,
|
||||||
const WellState& wellState, \
|
const Parallel::Communication& comm,
|
||||||
const Dune::CollectiveCommunication<__VA_ARGS__>& comm, \
|
GuideRate* guideRate);
|
||||||
GuideRate* guideRate); \
|
template
|
||||||
template \
|
void updateGuideRates<Parallel::Communication>(const Group& group,
|
||||||
void updateGuideRates<Dune::CollectiveCommunication<__VA_ARGS__>>(const Group& group, \
|
const Schedule& schedule,
|
||||||
const Schedule& schedule, \
|
const SummaryState& summary_state,
|
||||||
const SummaryState& summary_state, \
|
const PhaseUsage& pu,
|
||||||
const PhaseUsage& pu, \
|
const int report_step,
|
||||||
const int report_step, \
|
const double sim_time,
|
||||||
const double sim_time, \
|
WellState& well_state,
|
||||||
WellState& well_state, \
|
const GroupState& group_state,
|
||||||
const GroupState& group_state, \
|
const Parallel::Communication& comm,
|
||||||
const Dune::CollectiveCommunication<__VA_ARGS__>& comm,\
|
GuideRate* guide_rate,
|
||||||
GuideRate* guide_rate, \
|
std::vector<double>& pot,
|
||||||
std::vector<double>& pot,\
|
DeferredLogger&);
|
||||||
Opm::DeferredLogger& deferred_logger);
|
|
||||||
|
|
||||||
#if HAVE_MPI
|
|
||||||
INSTANCE_WELLGROUP_HELPERS(MPI_Comm)
|
|
||||||
#else
|
|
||||||
INSTANCE_WELLGROUP_HELPERS(Dune::No_Comm)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
} // namespace WellGroupHelpers
|
} // namespace WellGroupHelpers
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user