Continuous2DFunction¶
-
class
OpenMM
::
Continuous2DFunction
¶ This is a
TabulatedFunction
that computes a continuous two dimensional function.Methods
Create a
Continuous2DFunction
f(x,y) based on a set of tabulated values.Get the parameters for the tabulated function.
Set the parameters for the tabulated function.
Create a deep copy of the tabulated function
-
Continuous2DFunction
(int xsize, int ysize, const std::vector<double> &values, double xmin, double xmax, double ymin, double ymax, bool periodic = false)¶ Create a
Continuous2DFunction()
f(x,y) based on a set of tabulated values.- Parameters
values – the tabulated values of the function f(x,y) at xsize uniformly spaced values of x between xmin and xmax, and ysize values of y between ymin and ymax. A natural cubic spline is used to interpolate between the tabulated values. The function is assumed to be zero when x or y is outside its specified range. The values should be ordered so that values[i+xsize*j] = f(x_i,y_j), where x_i is the i’th uniformly spaced value of x. This must be of length xsize*ysize.
xsize – the number of table elements along the x direction
ysize – the number of table elements along the y direction
xmin – the value of x corresponding to the first element of values
xmax – the value of x corresponding to the last element of values
ymin – the value of y corresponding to the first element of values
ymax – the value of y corresponding to the last element of values
periodic – whether the interpolated function is periodic
-
void
getFunctionParameters
(int &xsize, int &ysize, std::vector<double> &values, double &xmin, double &xmax, double &ymin, double &ymax) const¶ Get the parameters for the tabulated function.
- Parameters
values – [out] the tabulated values of the function f(x,y) at xsize uniformly spaced values of x between xmin and xmax, and ysize values of y between ymin and ymax. A natural cubic spline is used to interpolate between the tabulated values. The function is assumed to be zero when x or y is outside its specified range. The values should be ordered so that values[i+xsize*j] = f(x_i,y_j), where x_i is the i’th uniformly spaced value of x. This must be of length xsize*ysize.
xsize – [out] the number of table elements along the x direction
ysize – [out] the number of table elements along the y direction
xmin – [out] the value of x corresponding to the first element of values
xmax – [out] the value of x corresponding to the last element of values
ymin – [out] the value of y corresponding to the first element of values
ymax – [out] the value of y corresponding to the last element of values
-
void
setFunctionParameters
(int xsize, int ysize, const std::vector<double> &values, double xmin, double xmax, double ymin, double ymax)¶ Set the parameters for the tabulated function.
- Parameters
values – the tabulated values of the function f(x,y) at xsize uniformly spaced values of x between xmin and xmax, and ysize values of y between ymin and ymax. A natural cubic spline is used to interpolate between the tabulated values. The function is assumed to be zero when x or y is outside its specified range. The values should be ordered so that values[i+xsize*j] = f(x_i,y_j), where x_i is the i’th uniformly spaced value of x. This must be of length xsize*ysize.
xsize – the number of table elements along the x direction
ysize – the number of table elements along the y direction
xmin – the value of x corresponding to the first element of values
xmax – the value of x corresponding to the last element of values
ymin – the value of y corresponding to the first element of values
ymax – the value of y corresponding to the last element of values
-
Continuous2DFunction *
Copy
() const¶ Create a deep copy of the tabulated function
Deprecated
This will be removed in a future release.
-