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

C/C++ implementation of some numerical methods (Lagrange interpolation) used in GEMS3K code. More...

#include "v_user.h"
#include "num_methods.h"

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

Detailed Description

C/C++ implementation of some numerical methods (Lagrange interpolation) 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