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 = std::pair< std::vector< double >, std::vector< int > >
 

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.


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