mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#1561 Replacing old combine function for RigCompletionData with new combineEclipseCellCompletions which can calculate WPImult. Assumes completions to always have calculated transmissibility.
This commit is contained in:
@@ -22,6 +22,8 @@
|
||||
|
||||
#include <QString>
|
||||
#include <cmath> // Needed for HUGE_VAL on Linux
|
||||
#include "CompletionCommands\RicExportCompletionDataSettingsUi.h"
|
||||
#include "CompletionCommands\RicWellPathExportCompletionDataFeature.h"
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
@@ -37,7 +39,10 @@ RigCompletionData::RigCompletionData(const QString wellName, const IJKCellIndex&
|
||||
m_dFactor(HUGE_VAL),
|
||||
m_direction(DIR_UNDEF),
|
||||
m_connectionState(OPEN),
|
||||
m_count(1)
|
||||
m_count(1),
|
||||
m_wpimult(1),
|
||||
m_isMainBore(false),
|
||||
m_readyForExport(false)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -86,6 +91,7 @@ RigCompletionData RigCompletionData::combine(const std::vector<RigCompletionData
|
||||
result.m_metadata.reserve(result.m_metadata.size() + it->m_metadata.size());
|
||||
result.m_metadata.insert(result.m_metadata.end(), it->m_metadata.begin(), it->m_metadata.end());
|
||||
|
||||
//TODO: remove?
|
||||
result.m_count += it->m_count;
|
||||
}
|
||||
|
||||
@@ -157,6 +163,33 @@ void RigCompletionData::setFromPerforation(double diameter, CellDirection direct
|
||||
m_direction = direction;
|
||||
}
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
//==================================================================================================
|
||||
void RigCompletionData::setCombinedValuesExplicitTrans(double transmissibility,
|
||||
CompletionType completionType)
|
||||
{
|
||||
m_completionType = completionType;
|
||||
m_transmissibility = transmissibility;
|
||||
m_readyForExport = true;
|
||||
}
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
//==================================================================================================
|
||||
void RigCompletionData::setCombinedValuesImplicitTransWPImult(double wpimult,
|
||||
CellDirection celldirection,
|
||||
double skinFactor,
|
||||
double wellDiameter,
|
||||
CompletionType completionType)
|
||||
{
|
||||
m_wpimult = wpimult;
|
||||
m_completionType = completionType;
|
||||
m_skinFactor = skinFactor;
|
||||
m_diameter = wellDiameter;
|
||||
m_readyForExport = true;
|
||||
}
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
//==================================================================================================
|
||||
|
||||
@@ -110,6 +110,15 @@ public:
|
||||
void setFromFishbone(double diameter, CellDirection direction);
|
||||
void setFromFishbone(double transmissibility, double skinFactor);
|
||||
void setFromPerforation(double diameter, CellDirection direction);
|
||||
|
||||
void setCombinedValuesExplicitTrans(double transmissibility,
|
||||
CompletionType completionType);
|
||||
void setCombinedValuesImplicitTransWPImult(double wpimult,
|
||||
CellDirection celldirection,
|
||||
double skinFactor,
|
||||
double wellDiameter,
|
||||
CompletionType completionType);
|
||||
|
||||
void addMetadata(const QString& name, const QString& comment);
|
||||
static bool isDefaultValue(double val);
|
||||
|
||||
@@ -119,29 +128,35 @@ public:
|
||||
WellConnectionState connectionState() const { return m_connectionState; }
|
||||
double saturation() const { return m_saturation; }
|
||||
double transmissibility() const { return m_transmissibility; }
|
||||
double diameter() const { return m_diameter; }
|
||||
double diameter() const { return m_diameter; } //TODO: should be ft or m
|
||||
double kh() const { return m_kh; }
|
||||
double skinFactor() const { return m_skinFactor; }
|
||||
double dFactor() const { return m_dFactor; }
|
||||
CellDirection direction() const { return m_direction; }
|
||||
size_t count() const { return m_count; }
|
||||
CompletionType completionType() const { return m_completionType; }
|
||||
bool isMainBore() const { return m_isMainBore; }
|
||||
bool readyForExport() const { return m_readyForExport; }
|
||||
|
||||
|
||||
private:
|
||||
std::vector<RigCompletionMetaData> m_metadata;
|
||||
QString m_wellName;
|
||||
IJKCellIndex m_cellIndex;
|
||||
WellConnectionState m_connectionState;
|
||||
double m_saturation;
|
||||
double m_saturation; //TODO: remove, always use default in Eclipse?
|
||||
double m_transmissibility;
|
||||
double m_diameter;
|
||||
double m_kh;
|
||||
double m_kh; //TODO: Remove, always use default in Eclipse?
|
||||
double m_skinFactor;
|
||||
double m_dFactor;
|
||||
double m_dFactor; //TODO: Remove, always use default in Eclipse?
|
||||
CellDirection m_direction;
|
||||
|
||||
// Number of parts that have contributed to this completion
|
||||
size_t m_count;
|
||||
bool m_isMainBore; //to use mainbore for Eclipse calculation
|
||||
bool m_readyForExport;
|
||||
|
||||
size_t m_count; //TODO: Remove, usage replaced by WPImult
|
||||
size_t m_wpimult;
|
||||
|
||||
CompletionType m_completionType;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user