Robotran C Documentation
Functions | Variables
dopri5.c File Reference

This file implements the functions of the dopri5 integrator in C. Specific functions of the algorithm. More...

#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <memory.h>
#include "dopri5.h"
#include "mbs_dirdyn.h"
#include "mbs_message.h"
#include "mbs_errors_names.h"

Functions

long nfcnRead (void)
 
long nstepRead (void)
 
long naccptRead (void)
 
long nrejctRead (void)
 
double hRead (void)
 
double xRead (void)
 
static double sign (double a, double b)
 
static double min_d (double a, double b)
 
static double max_d (double a, double b)
 
static double hinit (unsigned n, FcnEqDiff fcn, double x, double *y, double posneg, double *f0, double *f1, double *yy1, int iord, double hmax, double *atoler, double *rtoler, int itoler, MbsData *s, MbsDirdyn *dd)
 
static int dopcor (unsigned n, FcnEqDiff fcn, double x, double *y, double xend, double hmax, double h, double *rtoler, double *atoler, int itoler, SolTrait solout, int iout, long nmax, double uround, int meth, long nstiff, double safe, double beta, double fac1, double fac2, unsigned *icont, MbsData *s, MbsDirdyn *dd)
 
int dopri5 (unsigned n, FcnEqDiff fcn, double x, double *y, double xend, double *rtoler, double *atoler, int itoler, SolTrait solout, int iout, double uround, double safe, double fac1, double fac2, double beta, double hmax, double h, long nmax, int meth, long nstiff, unsigned nrdens, unsigned *icont, unsigned licont, double **dopri5_alloc_tab, MbsData *s, MbsDirdyn *dd, double *last_h)
 See the source file for more informations. More...
 
double contd5 (unsigned ii, double x)
 

Variables

static long nfcn
 
static long nstep
 
static long naccpt
 
static long nrejct
 
static long n_fcn
 
static double hout
 
static double xold
 
static double xout
 
static double last_hnew
 
static unsigned nrds
 
static unsigned * indir
 
double * yy1
 
double * k1
 
double * k2
 
double * k3
 
double * k4
 
double * k5
 
double * k6
 
double * ysti
 
static double * rcont1
 
static double * rcont2
 
static double * rcont3
 
static double * rcont4
 
static double * rcont5
 

Detailed Description

This file implements the functions of the dopri5 integrator in C. Specific functions of the algorithm.

Creation date: September 2015

Author
Nicolas Van der Noot

Modification date: April 2018 \modified by Sebastien Timmermans

(c) Universite catholique de Louvain

Function Documentation

◆ contd5()

double contd5 ( unsigned  ii,
double  x 
)

◆ dopcor()

static int dopcor ( unsigned  n,
FcnEqDiff  fcn,
double  x,
double *  y,
double  xend,
double  hmax,
double  h,
double *  rtoler,
double *  atoler,
int  itoler,
SolTrait  solout,
int  iout,
long  nmax,
double  uround,
int  meth,
long  nstiff,
double  safe,
double  beta,
double  fac1,
double  fac2,
unsigned *  icont,
MbsData s,
MbsDirdyn dd 
)
static

◆ dopri5()

int dopri5 ( unsigned  n,
FcnEqDiff  fcn,
double  x,
double *  y,
double  xend,
double *  rtoler,
double *  atoler,
int  itoler,
SolTrait  solout,
int  iout,
double  uround,
double  safe,
double  fac1,
double  fac2,
double  beta,
double  hmax,
double  h,
long  nmax,
int  meth,
long  nstiff,
unsigned  nrdens,
unsigned *  icont,
unsigned  licont,
double **  dopri5_alloc_tab,
MbsData s,
MbsDirdyn dd,
double *  last_h 
)

See the source file for more informations.

◆ hinit()

static double hinit ( unsigned  n,
FcnEqDiff  fcn,
double  x,
double *  y,
double  posneg,
double *  f0,
double *  f1,
double *  yy1,
int  iord,
double  hmax,
double *  atoler,
double *  rtoler,
int  itoler,
MbsData s,
MbsDirdyn dd 
)
static

◆ hRead()

double hRead ( void  )

◆ max_d()

static double max_d ( double  a,
double  b 
)
static

◆ min_d()

static double min_d ( double  a,
double  b 
)
static

◆ naccptRead()

long naccptRead ( void  )

◆ nfcnRead()

long nfcnRead ( void  )

◆ nrejctRead()

long nrejctRead ( void  )

◆ nstepRead()

long nstepRead ( void  )

◆ sign()

static double sign ( double  a,
double  b 
)
static

◆ xRead()

double xRead ( void  )

Variable Documentation

◆ hout

double hout
static

◆ indir

unsigned * indir
static

◆ k1

double * k1

◆ k2

double * k2

◆ k3

double * k3

◆ k4

double * k4

◆ k5

double * k5

◆ k6

double * k6

◆ last_hnew

double last_hnew
static

◆ n_fcn

long n_fcn
static

◆ naccpt

long naccpt
static

◆ nfcn

long nfcn
static

◆ nrds

unsigned nrds
static

◆ nrejct

long nrejct
static

◆ nstep

long nstep
static

◆ rcont1

double* rcont1
static

◆ rcont2

double * rcont2
static

◆ rcont3

double * rcont3
static

◆ rcont4

double * rcont4
static

◆ rcont5

double * rcont5
static

◆ xold

double xold
static

◆ xout

double xout
static

◆ ysti

double * ysti

◆ yy1

double* yy1