Opm::SatFunc::CritSatVerticalScaling Class Reference

#include <ECLEndPointScaling.hpp>

Inheritance diagram for Opm::SatFunc::CritSatVerticalScaling:
Inheritance graph

Public Types

using SaturationAssoc = EPSEvalInterface::SaturationAssoc
 Associate a saturation value to a specific cell. More...
 
using SaturationPoints = EPSEvalInterface::SaturationPoints
 Convenience type alias. More...
 

Public Member Functions

 CritSatVerticalScaling (std::vector< double > sdisp, std::vector< double > fdisp, std::vector< double > smax, std::vector< double > fmax)
 Constructor. More...
 
virtual ~CritSatVerticalScaling ()
 Destructor. More...
 
 CritSatVerticalScaling (const CritSatVerticalScaling &rhs)
 Copy constructor. More...
 
 CritSatVerticalScaling (CritSatVerticalScaling &&rhs)
 Move constructor. More...
 
CritSatVerticalScalingoperator= (const CritSatVerticalScaling &rhs)
 Assignment operator. More...
 
CritSatVerticalScalingoperator= (CritSatVerticalScaling &&rhs)
 Move assignment operator. More...
 
virtual std::vector< double > vertScale (const FunctionValues &f, const SaturationPoints &sp, const std::vector< double > &val) const override
 
virtual std::unique_ptr< VerticalScalingInterfaceclone () const override
 Virtual copy constructor. More...
 

Detailed Description

Implementation of ECLIPSE's option for vertical scaling of relative permeability functions honouring critical/residual saturation of displacing phase.

Multiplies function values with a location (cell ID) and saturation dependent factor. Not intended for capillary pressure functions.

Member Typedef Documentation

◆ SaturationAssoc

Associate a saturation value to a specific cell.

◆ SaturationPoints

Constructor & Destructor Documentation

◆ CritSatVerticalScaling() [1/3]

Opm::SatFunc::CritSatVerticalScaling::CritSatVerticalScaling ( std::vector< double >  sdisp,
std::vector< double >  fdisp,
std::vector< double >  smax,
std::vector< double >  fmax 
)
explicit

Constructor.

◆ ~CritSatVerticalScaling()

virtual Opm::SatFunc::CritSatVerticalScaling::~CritSatVerticalScaling ( )
virtual

Destructor.

◆ CritSatVerticalScaling() [2/3]

Opm::SatFunc::CritSatVerticalScaling::CritSatVerticalScaling ( const CritSatVerticalScaling rhs)

Copy constructor.

◆ CritSatVerticalScaling() [3/3]

Opm::SatFunc::CritSatVerticalScaling::CritSatVerticalScaling ( CritSatVerticalScaling &&  rhs)

Move constructor.

Member Function Documentation

◆ clone()

virtual std::unique_ptr< VerticalScalingInterface > Opm::SatFunc::CritSatVerticalScaling::clone ( ) const
overridevirtual

Virtual copy constructor.

Implements Opm::SatFunc::VerticalScalingInterface.

◆ operator=() [1/2]

CritSatVerticalScaling & Opm::SatFunc::CritSatVerticalScaling::operator= ( const CritSatVerticalScaling rhs)

Assignment operator.

◆ operator=() [2/2]

CritSatVerticalScaling & Opm::SatFunc::CritSatVerticalScaling::operator= ( CritSatVerticalScaling &&  rhs)

Move assignment operator.

◆ vertScale()

virtual std::vector< double > Opm::SatFunc::CritSatVerticalScaling::vertScale ( const FunctionValues f,
const SaturationPoints sp,
const std::vector< double > &  val 
) const
overridevirtual

Compute vertically scaled saturation function values.

Parameters
[in]fUnscaled function values extracted from input's saturation function table. The critical saturation vertical scaling method uses both the displacement and the maximum points.
[in]spSequence of saturation points.
[in]valSequence of saturation function values.
Returns
Sequence of vertically scaled saturation function values in order of the input sequence. In particular the i-th element of this result is the scaled version of
val[i]
.

Implements Opm::SatFunc::VerticalScalingInterface.


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