1. use scaled_messages_ to store scaled endpoints infor.
2. format the terminal output messages.
This commit is contained in:
1 parent
1f809cf3d5
commit
5e234fcd21
2 files changed
+32
-21
No files matched your search
@@ -42,7 +42,7 @@ namespace Opm{
|
||||
Opm::DeckConstPtr deck,
|
||||
const UnstructuredGrid& grid)
|
||||
{
|
||||
std::cout << "***************Relperm Diagnostics***************\n";
|
||||
std::cout << "\n\n***************Relperm Diagnostics***************\n\n";
|
||||
phaseCheck_(deck);
|
||||
satFamilyCheck_(eclState);
|
||||
tableCheck_(eclState, deck);
|
||||
@@ -52,21 +52,30 @@ namespace Opm{
|
||||
std::sort(messages_.begin(), messages_.end());
|
||||
auto it = std::unique(messages_.begin(), messages_.end());
|
||||
messages_.erase(it, messages_.end());
|
||||
int counter = 1;
|
||||
std::cout << "***************\nProblem found:\n";
|
||||
std::cout << std::endl;
|
||||
for (const auto& x : messages_) {
|
||||
std::cout << counter << ". " << x << std::endl;
|
||||
counter++;
|
||||
std::cout << "--" << x << std::endl;
|
||||
}
|
||||
}
|
||||
int limits = 0;
|
||||
if (!scaled_messages_.empty()) {
|
||||
std::cout << std::endl;
|
||||
for (const auto& x : scaled_messages_) {
|
||||
if (limits < 10) {
|
||||
std::cout << "-- " << x << std::endl;
|
||||
limits++;
|
||||
} else {
|
||||
std::cout << "****************\nConsistency check all passed!" << std::endl;
|
||||
std::cout << "\nMore inconsistencies exist. Check saturation function input and LOGFILE!" << std::endl;
|
||||
break;
|
||||
}
|
||||
std::cout << "Error summary:" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
std::cout << "\n\nError summary:" << std::endl;
|
||||
std::cout << "Warnings " << counter_.warning << std::endl;
|
||||
std::cout << "Problems " << counter_.problem << std::endl;
|
||||
std::cout << "Errors " << counter_.error << std::endl;
|
||||
std::cout << "Bugs " << counter_.bug << std::endl;
|
||||
std::cout << "********************************************************\n";
|
||||
}
|
||||
|
||||
|
||||
@@ -566,11 +575,11 @@ namespace Opm{
|
||||
const TableContainer& slgofTables = tables->getSlgofTables();
|
||||
const TableContainer& sof3Tables = tables->getSof3Tables();
|
||||
|
||||
std::cout << "***************\nEnd-Points In all the Tables\n";
|
||||
// std::cout << "***************\nEnd-Points In all the Tables\n";
|
||||
for (int satnumIdx = 0; satnumIdx < numSatRegions; ++satnumIdx) {
|
||||
unscaledEpsInfo_[satnumIdx].extractUnscaled(deck, eclState, satnumIdx);
|
||||
std::cout << "*****Region" << satnumIdx + 1 << "*****" << std::endl;
|
||||
unscaledEpsInfo_[satnumIdx].print();
|
||||
// std::cout << "*****Region" << satnumIdx + 1 << "*****" << std::endl;
|
||||
//unscaledEpsInfo_[satnumIdx].print();
|
||||
///Consistency check.
|
||||
if (unscaledEpsInfo_[satnumIdx].Sgu > (1. - unscaledEpsInfo_[satnumIdx].Swl)) {
|
||||
std::string msg = "Error: Sgmax should not exceed 1-Swco.";
|
||||
@@ -673,7 +682,7 @@ namespace Opm{
|
||||
// SGU <= 1.0 - SWL
|
||||
if (scaledEpsInfo_[c].Sgu > (1.0 - scaledEpsInfo_[c].Swl)) {
|
||||
std::string msg = "Error: For scaled endpoints input, cell" + cellIdx + " SGU exceed 1.0 - SWL";
|
||||
messages_.push_back(msg);
|
||||
scaled_messages_.push_back(msg);
|
||||
streamLog_->addMessage(Log::MessageType::Warning, msg);
|
||||
counter_.error += 1;
|
||||
}
|
||||
@@ -681,7 +690,7 @@ namespace Opm{
|
||||
// SGL <= 1.0 - SWU
|
||||
if (scaledEpsInfo_[c].Sgl > (1.0 - scaledEpsInfo_[c].Swu)) {
|
||||
std::string msg = "Error: For scaled endpoints input, cell" + cellIdx + " SGL exceed 1.0 - SWU";
|
||||
messages_.push_back(msg);
|
||||
scaled_messages_.push_back(msg);
|
||||
streamLog_->addMessage(Log::MessageType::Warning, msg);
|
||||
counter_.error += 1;
|
||||
}
|
||||
@@ -690,14 +699,14 @@ namespace Opm{
|
||||
// Mobilility check.
|
||||
if ((scaledEpsInfo_[c].Sowcr + scaledEpsInfo_[c].Swcr) >= 1.0) {
|
||||
std::string msg = "Error: For scaled endpoints input, cell" + cellIdx + " SOWCR + SWCR exceed 1.0";
|
||||
messages_.push_back(msg);
|
||||
scaled_messages_.push_back(msg);
|
||||
streamLog_->addMessage(Log::MessageType::Warning, msg);
|
||||
counter_.error += 1;
|
||||
}
|
||||
|
||||
if ((scaledEpsInfo_[c].Sogcr + scaledEpsInfo_[c].Sgcr + scaledEpsInfo_[c].Swl) >= 1.0) {
|
||||
std::string msg = "Error: For scaled endpoints input, cell" + cellIdx + " SOGCR + SGCR + SWL exceed 1.0";
|
||||
messages_.push_back(msg);
|
||||
scaled_messages_.push_back(msg);
|
||||
streamLog_->addMessage(Log::MessageType::Warning, msg);
|
||||
counter_.error += 1;
|
||||
}
|
||||
@@ -706,21 +715,21 @@ namespace Opm{
|
||||
if (fluidSystem_ != FluidSystem::WaterGas) {
|
||||
if (scaledEpsInfo_[c].Swl > scaledEpsInfo_[c].Swcr) {
|
||||
std::string msg = "Warning: For scaled endpoints input, cell" + cellIdx + " SWL > SWCR";
|
||||
messages_.push_back(msg);
|
||||
scaled_messages_.push_back(msg);
|
||||
streamLog_->addMessage(Log::MessageType::Warning, msg);
|
||||
counter_.warning += 1;
|
||||
}
|
||||
|
||||
if (scaledEpsInfo_[c].Swcr > scaledEpsInfo_[c].Sowcr) {
|
||||
std::string msg = "Warning: For scaled endpoints input, cell" + cellIdx + " SWCR > SOWCR";
|
||||
messages_.push_back(msg);
|
||||
scaled_messages_.push_back(msg);
|
||||
streamLog_->addMessage(Opm::Log::MessageType::Warning, msg);
|
||||
counter_.warning += 1;
|
||||
}
|
||||
|
||||
if (scaledEpsInfo_[c].Sowcr > scaledEpsInfo_[c].Swu) {
|
||||
std::string msg = "Warning: For scaled endpoints input, cell" + cellIdx + " SOWCR > SWU";
|
||||
messages_.push_back(msg);
|
||||
scaled_messages_.push_back(msg);
|
||||
streamLog_->addMessage(Log::MessageType::Warning, msg);
|
||||
counter_.warning += 1;
|
||||
}
|
||||
@@ -729,7 +738,7 @@ namespace Opm{
|
||||
if (fluidSystem_ != FluidSystem::OilWater) {
|
||||
if (scaledEpsInfo_[c].Sgl > scaledEpsInfo_[c].Sgcr) {
|
||||
std::string msg = "Warning: For scaled endpoints input, cell" + cellIdx + " SGL > SGCR";
|
||||
messages_.push_back(msg);
|
||||
scaled_messages_.push_back(msg);
|
||||
streamLog_->addMessage(Log::MessageType::Warning, msg);
|
||||
counter_.warning += 1;
|
||||
}
|
||||
@@ -738,14 +747,14 @@ namespace Opm{
|
||||
if (fluidSystem_ != FluidSystem::BlackOil) {
|
||||
if (scaledEpsInfo_[c].Sgcr > scaledEpsInfo_[c].Sogcr) {
|
||||
std::string msg = "Warning: For scaled endpoints input, cell" + cellIdx + " SGCR > SOGCR";
|
||||
messages_.push_back(msg);
|
||||
scaled_messages_.push_back(msg);
|
||||
streamLog_->addMessage(Log::MessageType::Warning, msg);
|
||||
counter_.warning += 1;
|
||||
}
|
||||
|
||||
if (scaledEpsInfo_[c].Sogcr > scaledEpsInfo_[c].Sgu) {
|
||||
std::string msg = "Warning: For scaled endpoints input, cell" + cellIdx + " SOGCR > SGU";
|
||||
messages_.push_back(msg);
|
||||
scaled_messages_.push_back(msg);
|
||||
streamLog_->addMessage(Log::MessageType::Warning, msg);
|
||||
counter_.warning += 1;
|
||||
}
|
||||
|
||||
@@ -95,6 +95,8 @@ namespace Opm {
|
||||
std::vector<Opm::EclEpsScalingPointsInfo<double> > scaledEpsInfo_;
|
||||
|
||||
std::vector<std::string> messages_;
|
||||
///Store scaled information.
|
||||
std::vector<std::string> scaled_messages_;
|
||||
|
||||
///Use OpmLog
|
||||
std::shared_ptr<Opm::StreamLog> streamLog_;
|
||||
|
||||
Reference in new issue
Block a user