Gems3k  3.1
GEMS3K standalone solver for geochemical equilibria
 All Classes Files Functions Variables Enumerations Enumerator
Classes | Typedefs | Functions
/Users/kulik/DevGEMS/trunk/standalone/GEMS3K/num_methods.h File Reference

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

Detailed Description

Declarations of C/C++ Numerical Methods used in GEMS3K code.


Function Documentation

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