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 >:

## 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

  Scalar | Element 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] | cellIdx | Active 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] | cellIdx | Active cell index on current rank.
  [out] | endPoints | Set 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:

- opm/simulators/utils/satfunc/SatfuncCheckPointInterface.hpp