Opm::Tabulated1DFunction< Scalar > Class Template Reference Implements a linearly interpolated scalar function that depends on one variable. More...
Inheritance diagram for Opm::Tabulated1DFunction< Scalar >:
Detailed Descriptiontemplate<class Scalar> class Opm::Tabulated1DFunction< Scalar > Implements a linearly interpolated scalar function that depends on one variable. Constructor & Destructor Documentation◆ Tabulated1DFunction() [1/4]
template<class Scalar >
Default constructor for a piecewise linear function. To specfiy the acutal curve, use one of the set() methods. ◆ Tabulated1DFunction() [2/4]
template<class Scalar >
template<class ScalarArrayX , class ScalarArrayY >
Convenience constructor for a piecewise linear function.
References Opm::Tabulated1DFunction< Scalar >::setXYArrays(). ◆ Tabulated1DFunction() [3/4]
template<class Scalar >
template<class ScalarContainer >
Convenience constructor for a piecewise linear function.
References Opm::Tabulated1DFunction< Scalar >::setXYContainers(). ◆ Tabulated1DFunction() [4/4]
template<class Scalar >
template<class PointContainer >
Convenience constructor for a piecewise linear function.
References Opm::Tabulated1DFunction< Scalar >::setContainerOfTuples(). Member Function Documentation◆ applies()
template<class Scalar >
template<class Evaluation >
Return true iff the given x is in range [x1, xn]. References Opm::Tabulated1DFunction< Scalar >::numSamples(). Referenced by Opm::Tabulated1DFunction< Scalar >::printCSV(). ◆ eval()
template<class Scalar >
template<class Evaluation >
Evaluate the spline at a given position.
Referenced by Opm::Tabulated1DFunction< Scalar >::printCSV(), Opm::WetGasPvt< Scalar >::setSaturatedGasFormationVolumeFactor(), Opm::DryHumidGasPvt< Scalar >::setSaturatedGasViscosity(), and Opm::WetGasPvt< Scalar >::setSaturatedGasViscosity(). ◆ evalDerivative()
template<class Scalar >
template<class Evaluation >
Evaluate the spline's derivative at a given position.
Referenced by Opm::Tabulated1DFunction< Scalar >::printCSV(). ◆ evalSecondDerivative()
template<class Scalar >
template<class Evaluation >
Evaluate the function's second derivative at a given position. Since this class represents a piecewise linear function, this method will always return 0.
◆ evalThirdDerivative()
template<class Scalar >
template<class Evaluation >
Evaluate the function's third derivative at a given position. Since this class represents a piecewise linear function, this method will always return 0.
◆ monotonic() [1/2]
template<class Scalar >
Same as monotonic(x0, x1), but with the entire range of the function as interval. References Opm::Tabulated1DFunction< Scalar >::monotonic(), Opm::Tabulated1DFunction< Scalar >::xMax(), and Opm::Tabulated1DFunction< Scalar >::xMin(). Referenced by Opm::Tabulated1DFunction< Scalar >::monotonic(). ◆ monotonic() [2/2]
template<class Scalar >
Returns 1 if the function is monotonically increasing, -1 if the function is mononously decreasing and 0 if the function is not monotonous in the interval (x0, x1). In the corner case that the function is constant within the given interval, this method returns 3. References Opm::Tabulated1DFunction< Scalar >::numSamples(), Opm::Tabulated1DFunction< Scalar >::xMax(), and Opm::Tabulated1DFunction< Scalar >::xMin(). ◆ numSamples()
template<class Scalar >
Returns the number of sampling points. Referenced by Opm::Tabulated1DFunction< Scalar >::applies(), Opm::Tabulated1DFunction< Scalar >::monotonic(), Opm::Tabulated1DFunction< Scalar >::printCSV(), Opm::Tabulated1DFunction< Scalar >::setArrayOfPoints(), Opm::Tabulated1DFunction< Scalar >::setContainerOfTuples(), Opm::Tabulated1DFunction< Scalar >::setXYArrays(), Opm::Tabulated1DFunction< Scalar >::setXYContainers(), and Opm::Tabulated1DFunction< Scalar >::xMax(). ◆ operator==()
template<class Scalar >
◆ printCSV()
template<class Scalar >
Prints k tuples of the format (x, y, dx/dy, isMonotonic) to stdout. If the function does not apply for parts of [x0, x1] it is extrapolated using a straight line. The result can be inspected using the following commands: --------— snip --------— ./yourProgramm > function.csv gnuplot gnuplot> plot "function.csv" using 1:2 w l ti "Curve", \ "function.csv" using 1:3 w l ti "Derivative" --------— snap --------— References Opm::Tabulated1DFunction< Scalar >::applies(), Opm::Tabulated1DFunction< Scalar >::eval(), Opm::Tabulated1DFunction< Scalar >::evalDerivative(), Opm::max(), Opm::min(), and Opm::Tabulated1DFunction< Scalar >::numSamples(). ◆ setArrayOfPoints()
template<class Scalar >
template<class PointArray >
Set the sampling points for the piecewise linear function. References Opm::Tabulated1DFunction< Scalar >::numSamples(). ◆ setContainerOfTuples()
template<class Scalar >
template<class XYContainer >
Set the sampling points of the piecewise linear function using a STL-compatible container of tuple-like objects. This method uses a single STL-compatible container of sampling points, which are assumed to be tuple-like objects storing the X and Y coordinates. "tuple-like" means that the objects provide access to the x values via std::get<0>(obj) and to the y value via std::get<1>(obj) (e.g. std::tuple or std::pair). "STL-compatible" means that the container provides access to iterators using the begin(), end() methods and also provides a size() method. Also, the number of entries in the X and the Y containers must be equal and larger than 1. References Opm::Tabulated1DFunction< Scalar >::numSamples(). Referenced by Opm::WetGasPvt< Scalar >::setSaturatedGasFormationVolumeFactor(), Opm::DryHumidGasPvt< Scalar >::setSaturatedGasViscosity(), Opm::WetGasPvt< Scalar >::setSaturatedGasViscosity(), and Opm::Tabulated1DFunction< Scalar >::Tabulated1DFunction(). ◆ setXYArrays()
template<class Scalar >
template<class ScalarArrayX , class ScalarArrayY >
Set the sampling points for the piecewise linear function. This method takes C-style arrays (pointers) as arguments. References Opm::Tabulated1DFunction< Scalar >::numSamples(). Referenced by Opm::Tabulated1DFunction< Scalar >::Tabulated1DFunction(). ◆ setXYContainers()
template<class Scalar >
template<class ScalarContainerX , class ScalarContainerY >
Set the sampling points for the piecewise linear function. This method takes STL compatible containers as arguments. References Opm::Tabulated1DFunction< Scalar >::numSamples(). Referenced by Opm::EclSpecrockLawParams< ScalarT >::setHeatCapacities(), and Opm::Tabulated1DFunction< Scalar >::Tabulated1DFunction(). ◆ valueAt()
template<class Scalar >
Return the value of the a sample point with a given index. ◆ xAt()
template<class Scalar >
Return the x value of the a sample point with a given index. ◆ xMax()
template<class Scalar >
Return the x value of the rightmost sampling point. References Opm::Tabulated1DFunction< Scalar >::numSamples(). Referenced by Opm::Tabulated1DFunction< Scalar >::monotonic(). ◆ xMin()
template<class Scalar >
Return the x value of the leftmost sampling point. Referenced by Opm::Tabulated1DFunction< Scalar >::monotonic(). ◆ xValues()
template<class Scalar >
◆ yValues()
template<class Scalar >
The documentation for this class was generated from the following file: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||