Implements tabulation for a two-dimensional function. More...
#include <dumux/common/tabulated2dfunction.hh>
Implements tabulation for a two-dimensional function.
This class can be used to tabulate a two dimensional function f(x, y) over the range [x_{min}, x_{max}] \times [y_{min}, y_{max}]. For this, the ranges of the x and y axes are divided into m and n sub-intervals and the values of f(x_i, y_j) need to be provided. Here, x_i and y_j are the largest positions of the i-th and j-th interval. Between these sampling points this tabulation class uses linear interpolation.
Public Member Functions | |
Tabulated2DFunction () | |
Default constructor. More... | |
Tabulated2DFunction (Scalar xMin, Scalar xMax, int m, Scalar yMin, Scalar yMax, int n) | |
Constructor where the tabulation parameters are already provided. More... | |
void | resize (Scalar xMin, Scalar xMax, int m, Scalar yMin, Scalar yMax, int n) |
Resize the tabulation to a new range. More... | |
Scalar | iToX (int i) const |
Return the position on the x-axis of the i-th interval. More... | |
Scalar | jToY (int j) const |
Return the position on the y-axis of the j-th interval. More... | |
Scalar | xToI (Scalar x) const |
Return the interval index of a given position on the x-axis. More... | |
Scalar | yToJ (Scalar y) const |
Return the interval index of a given position on the y-axis. More... | |
Scalar | getSamplePoint (int i, int j) const |
Get the value of the sample point which is at the intersection of the i-th interval of the x-Axis and the j-th of the y-Axis. More... | |
void | setSamplePoint (int i, int j, Scalar value) |
Set the value of the sample point which is at the intersection of the i-th interval of the x-Axis and the j-th of the y-Axis. More... | |
Scalar | get (Scalar x, Scalar y) const |
Return an interpolated value. More... | |
Scalar | operator() (Scalar x, Scalar y) const |
The () operator. More... | |
|
inline |
Default constructor.
|
inline |
Constructor where the tabulation parameters are already provided.
|
inline |
Return an interpolated value.
|
inline |
Get the value of the sample point which is at the intersection of the i-th interval of the x-Axis and the j-th of the y-Axis.
|
inline |
Return the position on the x-axis of the i-th interval.
|
inline |
Return the position on the y-axis of the j-th interval.
|
inline |
The () operator.
This is just a convenience alias for get(x,y);
|
inline |
Resize the tabulation to a new range.
|
inline |
Set the value of the sample point which is at the intersection of the i-th interval of the x-Axis and the j-th of the y-Axis.
|
inline |
Return the interval index of a given position on the x-axis.
This method returns a floating point number. The integer part should be interpreted as interval, the decimal places are the position of the x value between the i-th and the (i+1)-th sample point.
|
inline |
Return the interval index of a given position on the y-axis.
This method returns a floating point number. The integer part should be interpreted as interval, the decimal places are the position of the y value between the j-th and the (j+1)-th sample point.