Write penalty count to infoiter file

This commit is contained in:
jakobtorben
2024-09-12 16:43:40 +02:00
parent 71a64fbd13
commit 6ff83e19ae
2 changed files with 21 additions and 4 deletions

View File

@@ -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);