Merge pull request #1703 from joakim-hove/well-store-dens-calc

Check WELSPECS values
This commit is contained in:
Joakim Hove
2020-04-16 09:26:48 +02:00
committed by GitHub
10 changed files with 129 additions and 60 deletions

View File

@@ -73,6 +73,7 @@ struct RstWell {
int hist_requested_control;
int msw_index;
int completion_ordering;
int pvt_table;
float orat_target;
float wrat_target;

View File

@@ -358,6 +358,7 @@ namespace Opm
double drainageRadius,
bool allowCrossFlow,
bool automaticShutIn,
int pvt_table,
size_t timeStep,
Connection::Order wellConnectionOrder,
const UnitSystem& unit_system);

View File

@@ -415,7 +415,7 @@ public:
};
Well();
Well() = default;
Well(const std::string& wname,
const std::string& gname,
std::size_t init_step,
@@ -430,7 +430,8 @@ public:
double udq_undefined,
double dr,
bool allow_xflow,
bool auto_shutin);
bool auto_shutin,
int pvt_table);
Well(const RestartIO::RstWell& rst_well,
int report_step,
@@ -506,11 +507,13 @@ public:
bool updatePrediction(bool prediction_mode);
bool updateAutoShutin(bool auto_shutin);
bool updateCrossFlow(bool allow_cross_flow);
bool updatePVTTable(int pvt_table);
bool updateHead(int I, int J);
bool updateRefDepth(double ref_dpeth);
bool updateDrainageRadius(double drainage_radius);
void updateSegments(std::shared_ptr<WellSegments> segments_arg);
bool updateConnections(std::shared_ptr<WellConnections> connections);
bool updateConnections(std::shared_ptr<WellConnections> connections, const EclipseGrid& grid, const std::vector<int>& pvtnum);
bool updateStatus(Status status, bool update_connections);
bool updateGroup(const std::string& group);
bool updateWellGuideRate(bool available, double guide_rate, GuideRateTarget guide_phase, double scale_factor);
@@ -537,6 +540,9 @@ public:
ProductionControls productionControls(const SummaryState& st) const;
InjectionControls injectionControls(const SummaryState& st) const;
int vfp_table_number() const;
int pvt_table_number() const;
int fip_region_number() const;
bool segmented_density_calculation() const { return true; }
double alq_value() const;
double temperature() const;
@@ -559,6 +565,7 @@ public:
serializer(drainage_radius);
serializer(allow_cross_flow);
serializer(automatic_shutin);
serializer(pvt_table);
wtype.serializeOp(serializer);
guide_rate.serializeOp(serializer);
serializer(efficiency_factor);
@@ -586,13 +593,13 @@ private:
int headI;
int headJ;
double ref_depth;
UnitSystem unit_system;
double udq_undefined;
Status status;
double drainage_radius;
bool allow_cross_flow;
bool automatic_shutin;
int pvt_table;
UnitSystem unit_system;
double udq_undefined;
Status status;
WellType wtype;
WellGuideRate guide_rate;
double efficiency_factor;

View File

@@ -66,6 +66,7 @@ namespace Opm {
const Connection& operator[](size_t index) const;
const Connection& get(size_t index) const;
const Connection& getFromIJK(const int i, const int j, const int k) const;
const Connection& lowest() const;
Connection& getFromIJK(const int i, const int j, const int k);
const_iterator begin() const { return this->m_connections.begin(); }