Check WELSPECS value for FIP_REGION and DENSITY_CALCULATION

This commit is contained in:
Joakim Hove
2020-04-15 11:48:12 +02:00
parent 3072f0dabe
commit 4d9be76910
3 changed files with 20 additions and 0 deletions

View File

@@ -541,6 +541,8 @@ public:
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;

View File

@@ -745,6 +745,20 @@ void Schedule::iterateScheduleSection(const std::string& input_path, const Parse
const auto& record = keyword.getRecord(recordNr);
const std::string& wellName = trim_wgname(keyword, record.getItem<WS::WELL>().get<std::string>(0), parseContext, errors);
const std::string& groupName = trim_wgname(keyword, record.getItem<WS::GROUP>().get<std::string>(0), parseContext, errors);
auto density_calc_type = record.getItem<WS::DENSITY_CALC>().get<std::string>(0);
auto fip_region_number = record.getItem<WS::FIP_REGION>().get<int>(0);
if (fip_region_number != 0) {
const auto& location = keyword.location();
std::string msg = "The FIP_REGION item in the WELSPECS keyword in file: " + location.filename + " line: " + std::to_string(location.lineno) + " using default value: " + std::to_string(WS::FIP_REGION::defaultValue);
OpmLog::warning(msg);
}
if (density_calc_type != "SEG") {
const auto& location = keyword.location();
std::string msg = "The DENSITY_CALC item in the WELSPECS keyword in file: " + location.filename + " line: " + std::to_string(location.lineno) + " using default value: " + WS::DENSITY_CALC::defaultValue;
OpmLog::warning(msg);
}
if (!hasGroup(groupName))
addGroup(groupName , currentStep, unit_system);

View File

@@ -831,6 +831,10 @@ int Well::pvt_table_number() const {
return this->pvt_table;
}
int Well::fip_region_number() const {
return ParserKeywords::WELSPECS::FIP_REGION::defaultValue;
}
/*
When all connections of a well are closed with the WELOPEN keywords, the well
itself should also be SHUT. In the main parsing code this is handled by the