make WellInjectionProperties constructible from variables

also make it default constructible
This commit is contained in:
Arne Morten Kvarving
2019-12-10 14:05:39 +01:00
parent e4361cd1e0
commit 80702dba06
2 changed files with 52 additions and 0 deletions

View File

@@ -205,7 +205,21 @@ public:
bool operator==(const WellInjectionProperties& other) const;
bool operator!=(const WellInjectionProperties& other) const;
WellInjectionProperties();
WellInjectionProperties(const std::string& wname);
WellInjectionProperties(const std::string& wname,
const UDAValue& surfaceInjRate,
const UDAValue& reservoirInjRate,
const UDAValue& BHP,
const UDAValue& THP,
double temp, double bhph,
double thph,
int vfpTableNum,
bool predMode,
int injControls,
Well::InjectorType injType,
InjectorCMode ctrlMode);
void handleWELTARG(WELTARGCMode cmode, double newValue, double siFactorG, double siFactorL, double siFactorP);
void handleWCONINJE(const DeckRecord& record, bool availableForGroupControl, const std::string& well_name);
void handleWCONINJH(const DeckRecord& record, bool is_producer, const std::string& well_name);

View File

@@ -35,6 +35,14 @@
namespace Opm {
Well::WellInjectionProperties::WellInjectionProperties()
: temperature(0.0), BHPH(0.0), THPH(0.0), VFPTableNumber(0),
predictionMode(false), injectionControls(0),
injectorType(Well::InjectorType::WATER),
controlMode(Well::InjectorCMode::CMODE_UNDEFINED)
{
}
Well::WellInjectionProperties::WellInjectionProperties(const std::string& wname)
: name(wname),
injectorType(InjectorType::WATER),
@@ -51,6 +59,36 @@ namespace Opm {
}
Well::WellInjectionProperties::WellInjectionProperties(const std::string& wname,
const UDAValue& surfaceInjRate,
const UDAValue& reservoirInjRate,
const UDAValue& BHP,
const UDAValue& THP,
double temp, double bhph,
double thph,
int vfpTableNum,
bool predMode,
int injControls,
Well::InjectorType injType,
InjectorCMode ctrlMode)
: name(wname),
surfaceInjectionRate(surfaceInjRate),
reservoirInjectionRate(reservoirInjRate),
BHPLimit(BHP),
THPLimit(THP),
temperature(temp),
BHPH(bhph),
THPH(thph),
VFPTableNumber(vfpTableNum),
predictionMode(predMode),
injectionControls(injControls),
injectorType(injType),
controlMode(ctrlMode)
{
}
void Well::WellInjectionProperties::handleWCONINJE(const DeckRecord& record, bool availableForGroupControl, const std::string& well_name) {
this->injectorType = Well::InjectorTypeFromString( record.getItem("TYPE").getTrimmedString(0) );
this->predictionMode = true;