My Project
Loading...
Searching...
No Matches
Opm::ConvergenceReport Class Reference

Represents the convergence status of the whole simulator, to make it possible to query and store the reasons for convergence failures. More...

#include <ConvergenceReport.hpp>

Classes

struct  PenaltyCard
 
class  ReservoirConvergenceMetric
 
class  ReservoirFailure
 
class  WellConvergenceMetric
 
class  WellFailure
 

Public Types

enum  Status { AllGood = 0 , ReservoirFailed = 1 << 0 , WellFailed = 1 << 1 }
 
enum struct  Severity {
  None = 0 , Normal = 1 , ConvergenceMonitorFailure = 2 , TooLarge = 3 ,
  NotANumber = 4
}
 
using CnvPvSplit
 

Public Member Functions

 ConvergenceReport (const double reportTime)
 
void clear ()
 
void setReservoirFailed (const ReservoirFailure &rf)
 
void setWellFailed (const WellFailure &wf)
 
template<typename... Args>
void setReservoirConvergenceMetric (Args &&... args)
 
template<typename... Args>
void setWellConvergenceMetric (Args &&... args)
 
void setWellGroupTargetsViolated (const bool wellGroupTargetsViolated)
 
void setCnvPoreVolSplit (const CnvPvSplit &cnvPvSplit, const double eligiblePoreVolume)
 
ConvergenceReportoperator+= (const ConvergenceReport &other)
 
double reportTime () const
 
double eligiblePoreVolume () const
 
const CnvPvSplit & cnvPvSplit () const
 
bool converged () const
 
bool reservoirFailed () const
 
bool wellFailed () const
 
const std::vector< ReservoirFailure > & reservoirFailures () const
 
const std::vector< ReservoirConvergenceMetric > & reservoirConvergence () const
 
const std::vector< WellFailure > & wellFailures () const
 
const std::vector< WellConvergenceMetric > & wellConvergence () const
 
const PenaltyCardgetPenaltyCard () const
 
void addNonConvergedPenalty ()
 
void addDistanceDecayPenalty ()
 
void addLargeWellResidualsPenalty ()
 
Severity severityOfWorstFailure () const
 
template<typename Serializer >
void serializeOp (Serializer &serializer)
 

Detailed Description

Represents the convergence status of the whole simulator, to make it possible to query and store the reasons for convergence failures.

Member Typedef Documentation

◆ CnvPvSplit

using Opm::ConvergenceReport::CnvPvSplit
Initial value:
std::pair<
std::vector<double>,
std::vector<int>>

The documentation for this class was generated from the following file: