mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Merge pull request #723 from jokva/deprecate-wellptr
Well shared_ptr alias deprecated
This commit is contained in:
commit
efa9a604a8
@ -141,7 +141,7 @@ namespace Opm {
|
|||||||
|
|
||||||
MultisegmentWells::
|
MultisegmentWells::
|
||||||
MultisegmentWells(const Wells* wells_arg,
|
MultisegmentWells(const Wells* wells_arg,
|
||||||
const std::vector<WellConstPtr>& wells_ecl,
|
const std::vector< const Well* >& wells_ecl,
|
||||||
const int time_step)
|
const int time_step)
|
||||||
: wells_multisegment_( createMSWellVector(wells_arg, wells_ecl, time_step) )
|
: wells_multisegment_( createMSWellVector(wells_arg, wells_ecl, time_step) )
|
||||||
, wops_ms_(wells_multisegment_)
|
, wops_ms_(wells_multisegment_)
|
||||||
@ -179,7 +179,7 @@ namespace Opm {
|
|||||||
|
|
||||||
std::vector<WellMultiSegmentConstPtr>
|
std::vector<WellMultiSegmentConstPtr>
|
||||||
MultisegmentWells::createMSWellVector(const Wells* wells_arg,
|
MultisegmentWells::createMSWellVector(const Wells* wells_arg,
|
||||||
const std::vector<WellConstPtr>& wells_ecl,
|
const std::vector< const Well* >& wells_ecl,
|
||||||
const int time_step)
|
const int time_step)
|
||||||
{
|
{
|
||||||
std::vector<WellMultiSegmentConstPtr> wells_multisegment;
|
std::vector<WellMultiSegmentConstPtr> wells_multisegment;
|
||||||
|
@ -83,11 +83,11 @@ namespace Opm {
|
|||||||
// TODO: using a vector of WellMultiSegmentConstPtr for now
|
// TODO: using a vector of WellMultiSegmentConstPtr for now
|
||||||
// TODO: it should use const Wells or something else later.
|
// TODO: it should use const Wells or something else later.
|
||||||
MultisegmentWells(const Wells* wells_arg,
|
MultisegmentWells(const Wells* wells_arg,
|
||||||
const std::vector<WellConstPtr>& wells_ecl,
|
const std::vector< const Well* >& wells_ecl,
|
||||||
const int time_step);
|
const int time_step);
|
||||||
|
|
||||||
std::vector<WellMultiSegmentConstPtr> createMSWellVector(const Wells* wells_arg,
|
std::vector<WellMultiSegmentConstPtr> createMSWellVector(const Wells* wells_arg,
|
||||||
const std::vector<WellConstPtr>& wells_ecl,
|
const std::vector< const Well* >& wells_ecl,
|
||||||
const int time_step);
|
const int time_step);
|
||||||
|
|
||||||
void init(const BlackoilPropsAdInterface* fluid_arg,
|
void init(const BlackoilPropsAdInterface* fluid_arg,
|
||||||
|
@ -256,14 +256,14 @@ namespace Opm
|
|||||||
}
|
}
|
||||||
|
|
||||||
namespace SimFIBODetails {
|
namespace SimFIBODetails {
|
||||||
typedef std::unordered_map<std::string, WellConstPtr> WellMap;
|
typedef std::unordered_map<std::string, const Well* > WellMap;
|
||||||
|
|
||||||
inline WellMap
|
inline WellMap
|
||||||
mapWells(const std::vector<WellConstPtr>& wells)
|
mapWells(const std::vector< const Well* >& wells)
|
||||||
{
|
{
|
||||||
WellMap wmap;
|
WellMap wmap;
|
||||||
|
|
||||||
for (std::vector<WellConstPtr>::const_iterator
|
for (std::vector< const Well* >::const_iterator
|
||||||
w = wells.begin(), e = wells.end();
|
w = wells.begin(), e = wells.end();
|
||||||
w != e; ++w)
|
w != e; ++w)
|
||||||
{
|
{
|
||||||
@ -305,7 +305,7 @@ namespace Opm
|
|||||||
WellMap::const_iterator i = wmap.find(name);
|
WellMap::const_iterator i = wmap.find(name);
|
||||||
|
|
||||||
if (i != wmap.end()) {
|
if (i != wmap.end()) {
|
||||||
WellConstPtr wp = i->second;
|
const Well* wp = i->second;
|
||||||
|
|
||||||
match = (wp->isProducer(step) &&
|
match = (wp->isProducer(step) &&
|
||||||
wp->getProductionProperties(step)
|
wp->getProductionProperties(step)
|
||||||
@ -427,7 +427,7 @@ namespace Opm
|
|||||||
{
|
{
|
||||||
typedef SimFIBODetails::WellMap WellMap;
|
typedef SimFIBODetails::WellMap WellMap;
|
||||||
|
|
||||||
const std::vector<WellConstPtr>& w_ecl = eclipse_state_->getSchedule()->getWells(step);
|
const auto w_ecl = eclipse_state_->getSchedule()->getWells(step);
|
||||||
const WellMap& wmap = SimFIBODetails::mapWells(w_ecl);
|
const WellMap& wmap = SimFIBODetails::mapWells(w_ecl);
|
||||||
|
|
||||||
const std::vector<int>& resv_wells = SimFIBODetails::resvWells(wells, step, wmap);
|
const std::vector<int>& resv_wells = SimFIBODetails::resvWells(wells, step, wmap);
|
||||||
@ -505,7 +505,7 @@ namespace Opm
|
|||||||
WellMap::const_iterator i = wmap.find(wells->name[*rp]);
|
WellMap::const_iterator i = wmap.find(wells->name[*rp]);
|
||||||
|
|
||||||
if (i != wmap.end()) {
|
if (i != wmap.end()) {
|
||||||
WellConstPtr wp = i->second;
|
const auto* wp = i->second;
|
||||||
|
|
||||||
const WellProductionProperties& p =
|
const WellProductionProperties& p =
|
||||||
wp->getProductionProperties(step);
|
wp->getProductionProperties(step);
|
||||||
@ -562,7 +562,7 @@ namespace Opm
|
|||||||
if (!is_producer && wells->name[w] != 0) {
|
if (!is_producer && wells->name[w] != 0) {
|
||||||
WellMap::const_iterator i = wmap.find(wells->name[w]);
|
WellMap::const_iterator i = wmap.find(wells->name[w]);
|
||||||
if (i != wmap.end()) {
|
if (i != wmap.end()) {
|
||||||
WellConstPtr wp = i->second;
|
const auto* wp = i->second;
|
||||||
const WellInjectionProperties& injector = wp->getInjectionProperties(step);
|
const WellInjectionProperties& injector = wp->getInjectionProperties(step);
|
||||||
if (!injector.predictionMode) {
|
if (!injector.predictionMode) {
|
||||||
//History matching WCONINJEH
|
//History matching WCONINJEH
|
||||||
|
@ -114,7 +114,7 @@ namespace Opm
|
|||||||
WellState well_state;
|
WellState well_state;
|
||||||
// well_state.init(wells, state, prev_well_state);
|
// well_state.init(wells, state, prev_well_state);
|
||||||
|
|
||||||
const std::vector<WellConstPtr>& wells_ecl = eclipse_state_->getSchedule()->getWells(timer.currentStepNum());
|
const auto wells_ecl = eclipse_state_->getSchedule()->getWells(timer.currentStepNum());
|
||||||
const int current_time_step = timer.currentStepNum();
|
const int current_time_step = timer.currentStepNum();
|
||||||
|
|
||||||
const WellModel well_model(wells, wells_ecl, current_time_step);
|
const WellModel well_model(wells, wells_ecl, current_time_step);
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
namespace Opm
|
namespace Opm
|
||||||
{
|
{
|
||||||
|
|
||||||
WellMultiSegment::WellMultiSegment(WellConstPtr well, size_t time_step, const Wells* wells) {
|
WellMultiSegment::WellMultiSegment(const Well* well, size_t time_step, const Wells* wells) {
|
||||||
m_well_name_ = well->name();
|
m_well_name_ = well->name();
|
||||||
if (well->isMultiSegment(time_step)) {
|
if (well->isMultiSegment(time_step)) {
|
||||||
initMultiSegmentWell(well, time_step, wells);
|
initMultiSegmentWell(well, time_step, wells);
|
||||||
@ -36,7 +36,7 @@ namespace Opm
|
|||||||
updateWellOps();
|
updateWellOps();
|
||||||
}
|
}
|
||||||
|
|
||||||
void WellMultiSegment::initMultiSegmentWell(WellConstPtr well, size_t time_step, const Wells* wells) {
|
void WellMultiSegment::initMultiSegmentWell(const Well* well, size_t time_step, const Wells* wells) {
|
||||||
|
|
||||||
CompletionSetConstPtr completion_set = well->getCompletions(time_step);
|
CompletionSetConstPtr completion_set = well->getCompletions(time_step);
|
||||||
|
|
||||||
@ -169,7 +169,7 @@ namespace Opm
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void WellMultiSegment::initNonMultiSegmentWell(WellConstPtr well, size_t time_step, const Wells* wells) {
|
void WellMultiSegment::initNonMultiSegmentWell(const Well* well, size_t time_step, const Wells* wells) {
|
||||||
|
|
||||||
CompletionSetConstPtr completion_set = well->getCompletions(time_step);
|
CompletionSetConstPtr completion_set = well->getCompletions(time_step);
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ namespace Opm
|
|||||||
/// \param[in] well information from EclipseState
|
/// \param[in] well information from EclipseState
|
||||||
/// \param[in] current time step
|
/// \param[in] current time step
|
||||||
/// \param[in[ pointer to Wells structure, to be removed eventually
|
/// \param[in[ pointer to Wells structure, to be removed eventually
|
||||||
WellMultiSegment(WellConstPtr well, size_t time_step, const Wells* wells);
|
WellMultiSegment(const Well* well, size_t time_step, const Wells* wells);
|
||||||
|
|
||||||
/// Well name.
|
/// Well name.
|
||||||
const std::string& name() const;
|
const std::string& name() const;
|
||||||
@ -146,8 +146,8 @@ namespace Opm
|
|||||||
private:
|
private:
|
||||||
// for the moment, we use the information from wells.
|
// for the moment, we use the information from wells.
|
||||||
// TODO: remove the dependency on wells from opm-core.
|
// TODO: remove the dependency on wells from opm-core.
|
||||||
void initMultiSegmentWell(WellConstPtr well, size_t time_step, const Wells* wells);
|
void initMultiSegmentWell(const Well* well, size_t time_step, const Wells* wells);
|
||||||
void initNonMultiSegmentWell(WellConstPtr well, size_t time_step, const Wells* wells);
|
void initNonMultiSegmentWell(const Well* well, size_t time_step, const Wells* wells);
|
||||||
void updateWellOps();
|
void updateWellOps();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -185,13 +185,13 @@ namespace Opm
|
|||||||
setupCompressedToCartesian(global_cell, number_of_cells,
|
setupCompressedToCartesian(global_cell, number_of_cells,
|
||||||
cartesian_to_compressed);
|
cartesian_to_compressed);
|
||||||
|
|
||||||
ScheduleConstPtr schedule = eclipseState->getSchedule();
|
ScheduleConstPtr schedule = eclipseState->getSchedule();
|
||||||
std::vector<WellConstPtr> wells = schedule->getWells(timeStep);
|
auto wells = schedule->getWells(timeStep);
|
||||||
|
|
||||||
int well_index = 0;
|
int well_index = 0;
|
||||||
|
|
||||||
for (auto wellIter= wells.begin(); wellIter != wells.end(); ++wellIter) {
|
for (auto wellIter= wells.begin(); wellIter != wells.end(); ++wellIter) {
|
||||||
WellConstPtr well = (*wellIter);
|
const auto* well = (*wellIter);
|
||||||
|
|
||||||
if (well->getStatus(timeStep) == WellCommon::SHUT) {
|
if (well->getStatus(timeStep) == WellCommon::SHUT) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -104,7 +104,7 @@ struct SetupMSW {
|
|||||||
false);
|
false);
|
||||||
|
|
||||||
const Wells* wells = wells_manager.c_wells();
|
const Wells* wells = wells_manager.c_wells();
|
||||||
const std::vector<Opm::WellConstPtr>& wells_ecl = ecl_state->getSchedule()->getWells(current_timestep);
|
const auto wells_ecl = ecl_state->getSchedule()->getWells(current_timestep);
|
||||||
|
|
||||||
ms_wells.reset(new Opm::MultisegmentWells(wells, wells_ecl, current_timestep));
|
ms_wells.reset(new Opm::MultisegmentWells(wells, wells_ecl, current_timestep));
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user