Gems3k
3.1
GEMS3K standalone solver for geochemical equilibria
|
Declarations of C/C++ Numerical Methods used in GEMS3K code. More...
#include <cmath>
Go to the source code of this file.
Classes | |
struct | GoldenSectionData |
Data for minimization of convex one parameter function ( f(x)=>0 ) More... | |
class | GoldenSection |
Class for minimization of convex one parameter function ( f(x)=>0 ) Method of Gold Selection. More... | |
class | GoldenSectionTwo |
Class for minimization of convex two parameter function ( f(x,y)=>0 ) Method of Gold Selection. More... | |
Typedefs | |
typedef double(* | minFunction )(double x, double y) |
Functions | |
long int | getNpoints (double Tai[4]) |
Calculate number of points from iterators. | |
double | getStep (double *Tai, int nPoints) |
double | LagranInterp (float *y, float *x, double *d, float yoi, float xoi, int M, int N, int pp) |
double | LagranInterp (float *y, float *x, float *d, float yoi, float xoi, int M, int N, int pp) |
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 | 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 |
Declarations of C/C++ Numerical Methods 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