Opm::SatFunc::TwoPointScaling Class Reference

#include <ECLEndPointScaling.hpp>

Inheritance diagram for Opm::SatFunc::TwoPointScaling:
Inheritance graph

Public Types

using SaturationPoints = std::vector< SaturationAssoc >
 Convenience type alias. More...
 

Public Member Functions

 TwoPointScaling (std::vector< double > smin, std::vector< double > smax)
 
 ~TwoPointScaling ()
 Destructor. More...
 
 TwoPointScaling (const TwoPointScaling &rhs)
 
 TwoPointScaling (TwoPointScaling &&rhs)
 
TwoPointScalingoperator= (const TwoPointScaling &rhs)
 
TwoPointScalingoperator= (TwoPointScaling &&rhs)
 
virtual std::vector< double > eval (const TableEndPoints &tep, const SaturationPoints &sp) const override
 
virtual std::vector< double > reverse (const TableEndPoints &tep, const SaturationPoints &sp) const override
 
virtual std::unique_ptr< EPSEvalInterfaceclone () const override
 Virtual copy constructor. More...
 

Detailed Description

Implementation of ECLIPSE's standard, two-point, saturation scaling option.

Member Typedef Documentation

◆ SaturationPoints

Convenience type alias.

Constructor & Destructor Documentation

◆ TwoPointScaling() [1/3]

Opm::SatFunc::TwoPointScaling::TwoPointScaling ( std::vector< double >  smin,
std::vector< double >  smax 
)

Constructor.

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

Parameters
[in]sminLeft end points for a set of cells.
[in]smaxRight end points for a set of cells.

◆ ~TwoPointScaling()

Opm::SatFunc::TwoPointScaling::~TwoPointScaling ( )

Destructor.

◆ TwoPointScaling() [2/3]

Opm::SatFunc::TwoPointScaling::TwoPointScaling ( const TwoPointScaling rhs)

Copy constructor.

Parameters
[in]rhsExisting object.

◆ TwoPointScaling() [3/3]

Opm::SatFunc::TwoPointScaling::TwoPointScaling ( TwoPointScaling &&  rhs)

Move constructor.

Subsumes the implementation of an existing object.

Parameters
[in]rhsExisting object.

Member Function Documentation

◆ clone()

virtual std::unique_ptr< EPSEvalInterface > Opm::SatFunc::TwoPointScaling::clone ( ) const
overridevirtual

Virtual copy constructor.

Implements Opm::SatFunc::EPSEvalInterface.

◆ eval()

virtual std::vector< double > Opm::SatFunc::TwoPointScaling::eval ( const TableEndPoints tep,
const SaturationPoints sp 
) const
overridevirtual

Derive scaled saturations using the two-point scaling definition from a sequence of unscaled saturation values.

Parameters
[in]tepStatic end points that identify the saturation scaling intervals of a particular tabulated saturation function. The evaluation procedure considers only
tep.low
and
tep.high
. The value of
tep.disp
is never referenced.
[in]spSequence of saturation points. The maximum cell index (
sp[i].cell
) must be strictly less than the size of the input arrays that define the current saturation regions.
Returns
Sequence of scaled saturation values in order of the input sequence. In particular the i-th element of this result is the scaled version of
sp[i].sat
.

Implements Opm::SatFunc::EPSEvalInterface.

◆ operator=() [1/2]

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

Assignment operator.

Replaces current implementation with a copy of existing object's implementation details.

Parameters
[in]rhsExisting object.
Returns
*this
.

◆ operator=() [2/2]

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

Move assingment operator.

Subsumes existing object's implementation details and uses those to replace the current implementation.

Returns
*this
.

◆ reverse()

virtual std::vector< double > Opm::SatFunc::TwoPointScaling::reverse ( const TableEndPoints tep,
const SaturationPoints sp 
) const
overridevirtual

Derive unscaled (raw) input saturations from a sequence of table points (independent variate in a tabulated saturation function).

This function maps the result of

eval()
virtual std::vector< double > eval(const TableEndPoints &tep, const SaturationPoints &sp) const override

back to its original arguments. In other words, this is the inverse of member function

eval()

.

Parameters
[in]tepStatic end points that identify the saturation scaling intervals of a particular tabulated saturation function. The reverse mapping procedure considers only
tep.low
and
tep.high
. The value of
tep.disp
is never referenced.
[in]spSequence of saturation points.
Returns
Sequence of input saturation values in order of the input sequence. In particular the i-th element of this result is the scaled version of
sp[i].sat
.

Implements Opm::SatFunc::EPSEvalInterface.


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