Robotran C Documentation
Functions
mbs_custom.c File Reference

This file implements the functions of the custom integration method in C. Can be modified by advanced users. More...

#include <math.h>
#include "mbs_custom.h"
#include "integrator.h"
#include "mbs_message.h"
#include "mbs_1D_array.h"
#include "mbs_dirdyn_struct.h"

Functions

void initialize_custom (MbsData *mbs_data, MbsDirdyn *mbs_dd, int(*derivs)(double, double[], double[], MbsData *, MbsDirdyn *), void(*loop_fct)(MbsData *, MbsDirdyn *), int(*save_realtime_update)(MbsDirdyn *dd, MbsData *mbs_data))
 Initialize all needed fields in MbsDirdyn for Custom integrator. More...
 
int loop_custom (double t0, double tf, MbsData *mbs_data, MbsDirdyn *mbs_dd)
 Integrate the motion from t0 to tf with a custom integrator implemented by the user. More...
 
void finish_custom (MbsData *mbs_data, MbsDirdyn *mbs_dd)
 Finalize and clear memory allocated for Custom integrator. More...
 
void error_custom (MbsData *mbs_data, MbsDirdyn *dd, int err)
 If an error occurs during time integration, this function prints the error message and call finish_custom. More...
 

Detailed Description

This file implements the functions of the custom integration method in C. Can be modified by advanced users.

Creation date: April 2018

Author
Sebastien Timmermans

(c) Universite catholique de Louvain

Function Documentation

◆ error_custom()

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

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

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

◆ finish_custom()

void finish_custom ( MbsData mbs_data,
MbsDirdyn mbs_dd 
)

Finalize and clear memory allocated for Custom integrator.

Parameters
mbs_dataThe computed MBS structure
mbs_ddThe associated MbsDirdyn structure

◆ initialize_custom()

void initialize_custom ( MbsData mbs_data,
MbsDirdyn mbs_dd,
int(*)(double, double[], double[], MbsData *, MbsDirdyn *)  derivs,
void(*)(MbsData *, MbsDirdyn *)  loop_fct,
int(*)(MbsDirdyn *dd, MbsData *mbs_data)  save_realtime_update 
)

Initialize all needed fields in MbsDirdyn for Custom integrator.

Parameters
mbs_dataThe computed MBS structure
mbs_ddThe associated MbsDirdyn structure
derivsThe function computing f'
loop_fctThe function to be called at the end of each time step, or waypoints.

◆ loop_custom()

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

Integrate the motion from t0 to tf with a custom integrator implemented by the user.

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

user loop