Opm::SatFunc::PureVerticalScaling Class Reference

#include <ECLEndPointScaling.hpp>

Inheritance diagram for Opm::SatFunc::PureVerticalScaling:
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

 PureVerticalScaling (std::vector< double > fmax)
 
virtual ~PureVerticalScaling ()
 Destructor. More...
 
 PureVerticalScaling (const PureVerticalScaling &rhs)
 Copy constructor. More...
 
 PureVerticalScaling (PureVerticalScaling &&rhs)
 Move constructor. More...
 
PureVerticalScalingoperator= (const PureVerticalScaling &rhs)
 Assignment operator. More...
 
PureVerticalScalingoperator= (PureVerticalScaling &&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 standard, pure vertical saturation function scaling option.

Multiplies function values with a location (cell ID) dependent factor. Applies to both relative permeability and capillary pressure functions.

Member Typedef Documentation

◆ SaturationAssoc

Associate a saturation value to a specific cell.

◆ SaturationPoints

Constructor & Destructor Documentation

◆ PureVerticalScaling() [1/3]

Opm::SatFunc::PureVerticalScaling::PureVerticalScaling ( std::vector< double >  fmax)
explicit

Constructor.

Typically set up to define vertical scaling of saturation function values in all active cells in a model, but could alternatively be used as a means to computing the effective saturation function value of a single cell.

Parameters
[in]fmaxScaled maximum saturation function (Kr or Pc) value in collection of cells. Typically an input vector like PCG or KROW from an ECL result set.

◆ ~PureVerticalScaling()

virtual Opm::SatFunc::PureVerticalScaling::~PureVerticalScaling ( )
virtual

Destructor.

◆ PureVerticalScaling() [2/3]

Opm::SatFunc::PureVerticalScaling::PureVerticalScaling ( const PureVerticalScaling rhs)

Copy constructor.

◆ PureVerticalScaling() [3/3]

Opm::SatFunc::PureVerticalScaling::PureVerticalScaling ( PureVerticalScaling &&  rhs)

Move constructor.

Member Function Documentation

◆ clone()

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

Virtual copy constructor.

Implements Opm::SatFunc::VerticalScalingInterface.

◆ operator=() [1/2]

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

Assignment operator.

◆ operator=() [2/2]

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

Move assignment operator.

◆ vertScale()

virtual std::vector< double > Opm::SatFunc::PureVerticalScaling::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. Method PureVerticalScaling uses the maximum value/point only.
[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]
. Multiplies entries in val with an appropriate location dependent factor.

Implements Opm::SatFunc::VerticalScalingInterface.


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