Gems3k
3.1
GEMS3K standalone solver for geochemical equilibria
|
C/C++ implementation of some numerical methods (Lagrange interpolation) used in GEMS3K code. More...
Functions | |
long int | getNpoints (double Tai[4]) |
Calculate number of points from iterators. | |
double | getStep (double *Tai, int nPoints) |
double | LagranInterp (double *y, double *x, double *d, double yoi, double xoi, long int M, long int N, long int pp) |
Interpolation over tabulated values (2D array d) using Lagrange method. | |
double | LagranInterp (float *y, float *x, float *d, float yoi, float xoi, int M, int N, int pp) |
double | LagranInterp (float *y, float *x, double *d, float yoi, float xoi, int M, int N, int pp) |
double | quot (double u, double v, double du, double dv) |
1st partial derivative of quotient of two functions | |
double | quot (double u, double v, double du, double dv, double d2u, double d2v) |
2nd partial derivative of quotient of two functions | |
double | prod2 (double u, double v, double du, double dv) |
1st partial derivative of product of two functions | |
double | prod2 (double u, double v, double du, double dv, double d2u, double d2v) |
2nd partial derivative of product of two functions | |
double | prod3 (double u, double v, double w, double du, double dv, double dw) |
1st partial derivative of product of three functions | |
double | prod3 (double u, double v, double w, double du, double dv, double dw, double d2u, double d2v, double d2w) |
2nd partial derivative of product of three functions |
C/C++ implementation of some numerical methods (Lagrange interpolation) used in GEMS3K code.
double LagranInterp | ( | double * | y, |
double * | x, | ||
double * | d, | ||
double | yoi, | ||
double | xoi, | ||
long int | M, | ||
long int | N, | ||
long int | pp | ||
) |
Interpolation over tabulated values (2D array d) using Lagrange method.
y[N] - discrete values of argument over rows (ascending order) x[M] - discrete values of arguments over columns (ascending order) d[N][M] - discrete values of a function of x and y arguments yoi - row (y) argument of interest ( y[0] <= yi <= y[N-1] ) xoi - column (x) argument of interest ( x[0] <= xi <= x[M-1] ) M - number of rows in y array N - number of columns in y array pp -level of interpolation ( default 1) Function returns an interpolated value of d(yoi,xoi) or error if yoi or xoi are out of range