OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Macros | Functions
rk.cpp File Reference
#include <stdlib.h>
#include <stddef.h>
#include <math.h>
#include "Algorithms/bet/BetError.h"
#include "Algorithms/bet/math/rk.h"
Include dependency graph for rk.cpp:

Go to the source code of this file.

Macros

#define FMAX(a, b)
 
#define SAFETY   0.9
 
#define PGROW   -0.2
 
#define PSHRNK   -0.25
 
#define ERRCON   1.89e-4
 
#define MAXSTP   10000
 
#define TINY   1.0e-30
 
#define SIGN(a, b)   ((b) >= 0.0 ? fabs(a) : -fabs(a))
 

Functions

void rkck (double y[], double dydx[], int n, double x, double h, double yout[], double yerr[], void(*derivs)(double, double[], double[]))
 
void rk4 (double y[], int n, double x, double h, void(*derivs)(double, double[], double[]))
 
int odeint (double ystart[], int nvar, double x1, double x2, double eps, double h1, double hmin, int *nok, int *nbad, void(*derivs)(double, double[], double[]))
 
void rkActivateBuffer (int max)
 
void rkPrintBuffer (FILE *f)
 

Macro Definition Documentation

#define ERRCON   1.89e-4

Definition at line 175 of file rk.cpp.

#define FMAX (   a,
 
)
Value:
(maxarg1=(a),maxarg2=(b),(maxarg1) > (maxarg2) ?\
(maxarg1) : (maxarg2))

Definition at line 27 of file rk.cpp.

#define MAXSTP   10000

Definition at line 295 of file rk.cpp.

Referenced by odeint().

#define PGROW   -0.2

Definition at line 173 of file rk.cpp.

#define PSHRNK   -0.25

Definition at line 174 of file rk.cpp.

#define SAFETY   0.9

Definition at line 172 of file rk.cpp.

#define SIGN (   a,
 
)    ((b) >= 0.0 ? fabs(a) : -fabs(a))

Definition at line 298 of file rk.cpp.

Referenced by odeint().

#define TINY   1.0e-30

Definition at line 296 of file rk.cpp.

Referenced by ludcmp(), and odeint().

Function Documentation

int odeint ( double  ystart[],
int  nvar,
double  x1,
double  x2,
double  eps,
double  h1,
double  hmin,
int *  nok,
int *  nbad,
void(*)(double, double[], double[])  derivs 
)

Definition at line 323 of file rk.cpp.

References fabs(), MAXSTP, SIGN, TINY, and writeBetError().

Referenced by EnvelopeBunch::timeStep().

Here is the call graph for this function:

void rk4 ( double  y[],
int  n,
double  x,
double  h,
void(*)(double, double[], double[])  derivs 
)

Definition at line 263 of file rk.cpp.

References Hypervolume::n.

Referenced by EnvelopeBunch::timeStep().

void rkActivateBuffer ( int  max)

Definition at line 395 of file rk.cpp.

References max().

Here is the call graph for this function:

void rkck ( double  y[],
double  dydx[],
int  n,
double  x,
double  h,
double  yout[],
double  yerr[],
void(*)(double, double[], double[])  derivs 
)

Definition at line 115 of file rk.cpp.

References Hypervolume::n.

void rkPrintBuffer ( FILE *  f)

Definition at line 408 of file rk.cpp.