mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Write penalty count to infoiter file
This commit is contained in:
parent
71a64fbd13
commit
6ff83e19ae
@ -1151,7 +1151,9 @@ namespace Opm {
|
||||
|
||||
total_penaltyCard_ += report.getPenaltyCard();
|
||||
|
||||
if (total_penaltyCard_.total() > param_.convergence_monitoring_cutoff_) {
|
||||
|
||||
|
||||
if (param_.convergence_monitoring_ && (total_penaltyCard_.total() > param_.convergence_monitoring_cutoff_)) {
|
||||
report.setReservoirFailed({ConvergenceReport::ReservoirFailure::Type::ConvergenceMonitorFailure,
|
||||
ConvergenceReport::Severity::ConvergenceMonitorFailure,
|
||||
-1}); // -1 indicates it's not specific to any component
|
||||
@ -1179,9 +1181,8 @@ namespace Opm {
|
||||
OPM_TIMEBLOCK(getWellConvergence);
|
||||
report += wellModel().getWellConvergence(B_avg, /*checkWellGroupControls*/report.converged());
|
||||
}
|
||||
if (param_.convergence_monitoring_) {
|
||||
checkCardPenalty(report, iteration);
|
||||
}
|
||||
|
||||
checkCardPenalty(report, iteration);
|
||||
|
||||
return report;
|
||||
}
|
||||
|
@ -65,6 +65,9 @@ namespace {
|
||||
"CnvCellCntConv"s,
|
||||
"CnvCellCntRelax"s,
|
||||
"CnvCellCntUnconv"s,
|
||||
"PenaltyNonConv"s,
|
||||
"PenaltyDecay"s,
|
||||
"PenaltyWellRes"s,
|
||||
};
|
||||
}
|
||||
|
||||
@ -190,6 +193,17 @@ namespace {
|
||||
}
|
||||
}
|
||||
|
||||
void writePenaltyCount(std::ostream& os,
|
||||
const std::string::size_type firstColSize,
|
||||
const Opm::ConvergenceReport& report)
|
||||
{
|
||||
const auto& penaltyCard = report.getPenaltyCard();
|
||||
|
||||
os << ' ' << std::setw(firstColSize) << penaltyCard.nonConverged;
|
||||
os << ' ' << std::setw(firstColSize) << penaltyCard.distanceDecay;
|
||||
os << ' ' << std::setw(firstColSize) << penaltyCard.largeWellResiduals;
|
||||
}
|
||||
|
||||
void writeReservoirConvergence(std::ostream& os,
|
||||
const std::string::size_type colSize,
|
||||
const Opm::ConvergenceReport& report)
|
||||
@ -229,6 +243,8 @@ namespace {
|
||||
|
||||
writeCnvPvSplit(os, expectNumCnvSplit, firstColSize, report);
|
||||
|
||||
writePenaltyCount(os, firstColSize, report);
|
||||
|
||||
writeReservoirConvergence(os, colSize, report);
|
||||
writeWellConvergence(os, colSize, report);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user