Robotran C Documentation
Functions
mbs_rosenbrock.c File Reference

This file implements the functions of the Rosenbrock integration method in C. Specific functions implementation of the algorithm. More...

#include "mbs_rosenbrock.h"
#include "mbs_message.h"

Functions

void initialize_rosenbrock (MbsData *mbs_data, MbsDirdyn *mbs_dd)
 Initialize all needed fields in MbsDirdyn for Rosenbrock integrator. More...
 
int loop_rosenbrock (double t0, double tf, MbsData *mbs_data, MbsDirdyn *mbs_dd)
 Integrate the motion from t0 to tf. More...
 
void finish_rosenbrock (MbsData *mbs_data, MbsDirdyn *dd)
 Finalize and clear memory allocated for Rosenbrock integrator. More...
 
void error_rosenbrock (MbsData *mbs_data, MbsDirdyn *dd, int err)
 If an error occurs during time integration, this function prints the error message and call finish_rosenbrock. More...
 

Detailed Description

This file implements the functions of the Rosenbrock integration method in C. Specific functions implementation of the algorithm.

Creation date: December 2016

Author
Olivier Lantsoght

Modification date: April 2018 \modified by Sebastien Timmermans

\source H. H. Rosenbrock, "Some general implicit processes for the numerical solution of differential equations", The Computer Journal (1963) 5(4): 329-330 Shampine, L.F. 1982, ACM Transactions on Mathematical Software, vol. 8, pp. 93-113

(c) Universite catholique de Louvain

Function Documentation

◆ error_rosenbrock()

void error_rosenbrock ( MbsData mbs_data,
MbsDirdyn dd,
int  err 
)

If an error occurs during time integration, this function prints the error message and call finish_rosenbrock.

Parameters
mbs_dataThe computed MBS structure
mbs_ddThe associated MbsDirdyn structure
errThe error number

◆ finish_rosenbrock()

void finish_rosenbrock ( MbsData mbs_data,
MbsDirdyn mbs_dd 
)

Finalize and clear memory allocated for Rosenbrock integrator.

Parameters
mbs_dataThe computed MBS structure
mbs_ddThe associated MbsDirdyn structure

◆ initialize_rosenbrock()

void initialize_rosenbrock ( MbsData mbs_data,
MbsDirdyn mbs_dd 
)

Initialize all needed fields in MbsDirdyn for Rosenbrock integrator.

Parameters
mbs_dataThe computed MBS structure
mbs_ddThe associated MbsDirdyn structure

◆ loop_rosenbrock()

int loop_rosenbrock ( double  t0,
double  tf,
MbsData mbs_data,
MbsDirdyn mbs_dd 
)

Integrate the motion from t0 to tf.

Parameters
t0The initial time
tfThe final time
mbs_dataThe computed MBS structure
mbs_ddThe associated MbsDirdyn structure
Returns
Error status, <0 in case of failure.

user loop