My Project
Loading...
Searching...
No Matches
Opm::Satfunc::PhaseChecks::SatfuncCheckPointInterface< Scalar > Struct Template Referenceabstract

Callback protocol for single saturation function consistency check point. More...

#include <SatfuncCheckPointInterface.hpp>

Inheritance diagram for Opm::Satfunc::PhaseChecks::SatfuncCheckPointInterface< Scalar >:
Opm::Satfunc::PhaseChecks::ScaledSatfuncCheckPoint< Scalar > Opm::Satfunc::PhaseChecks::UnscaledSatfuncCheckPoint< Scalar >

Public Member Functions

virtual ~SatfuncCheckPointInterface ()=default
 Virtual destructor for public inheritance.
 
virtual std::optional< std::size_t > pointID (const int cellIdx) const =0
 Compute locally unique, i.e., per MPI rank, ID of this check for a particular cell index.
 
virtual void populateCheckPoint (const int cellIdx, EclEpsScalingPointsInfo< Scalar > &endPoints) const =0
 Populate check point values for a particular cell.
 

Detailed Description

template<typename Scalar>
struct Opm::Satfunc::PhaseChecks::SatfuncCheckPointInterface< Scalar >

Callback protocol for single saturation function consistency check point.

Intended to be used as a base class.

Template Parameters
ScalarElement type. Typically float or double.

Member Function Documentation

◆ pointID()

template<typename Scalar >
virtual std::optional< std::size_t > Opm::Satfunc::PhaseChecks::SatfuncCheckPointInterface< Scalar >::pointID ( const int  cellIdx) const
pure virtual

Compute locally unique, i.e., per MPI rank, ID of this check for a particular cell index.

Common examples include the drainage or imbibition region ID (i.e., SATNUM or IMBNUM) or the Cartesian block index of a cell.

Parameters
[in]cellIdxActive cell index on current rank.
Returns
Locally unique point ID for cellIdx. Nullopt if this check point does not apply to cellIdx. A common cause of the latter is running a region based check and the region already having been visited.

Implemented in Opm::Satfunc::PhaseChecks::ScaledSatfuncCheckPoint< Scalar >, and Opm::Satfunc::PhaseChecks::UnscaledSatfuncCheckPoint< Scalar >.

◆ populateCheckPoint()

template<typename Scalar >
virtual void Opm::Satfunc::PhaseChecks::SatfuncCheckPointInterface< Scalar >::populateCheckPoint ( const int  cellIdx,
EclEpsScalingPointsInfo< Scalar > &  endPoints 
) const
pure virtual

Populate check point values for a particular cell.

Parameters
[in]cellIdxActive cell index on current rank.
[out]endPointsSet of saturation function end-points. Member function populateCheckPoint() assigns all data members and derived classes must abide by this requirement.

Implemented in Opm::Satfunc::PhaseChecks::ScaledSatfuncCheckPoint< Scalar >, and Opm::Satfunc::PhaseChecks::UnscaledSatfuncCheckPoint< Scalar >.


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