General structure of the direct dynamic module. More...
#include <mbs_dirdyn_struct.h>
Public Attributes | |
| MbsDirdynOptions * | options |
| structure defining the option of a direct dynamic More... | |
| MbsAux * | mbs_aux |
| double | tsim |
| current simulation time More... | |
| double | dt |
| current integration step size More... | |
| int | nState |
| size of the state vector More... | |
| double * | y |
| Pointer to the state vector, this is a dvec_0 of size nState. More... | |
| double * | yout |
| Allocation of a vector (dvec_0) of size nState. More... | |
| double * | yd |
| Pointers to the derivative vector (dvec_0) of size nState. More... | |
| MbsBuffer ** | buffers |
| buffer to store generalized coordinates, velocities, acceleration, joint forces... More... | |
| MbsBuffer ** | buffer_visu |
| buffer used to save the visualization as it appears in 'user_realtime_visu.c' More... | |
| MbsGrowingBuffer * | user_buffer |
| growing buffer to store user values More... | |
| int | bufferNb |
| Number of buffer required to save the current system topology (ie. coordinates, links...) More... | |
| double ** | savedArrays |
| pointer to the array that must be saved to buffers More... | |
| int ** | indices_to_print_array |
| pointer to the array that indicates which indices to save inside each buffer of savedArrays and buffers column size is bufferNb, each row size is the buffer size to print ( can be njoint, ...) +1 each column follows the IDs for the buffers order defined in mbs_buffer.h first value is either 0 if this buffer should not be printed, or the number of indices to print. More... | |
| int | savePeriodCounter |
| counter for checking whether results must be saved More... | |
| int | flag_ongoing_jac_computation |
| flag is ON (=1) when the implicit integrator is currently computing the jacobian, default is 0. More... | |
| void * | integrator_struct |
| pointer to store integrator structure More... | |
| initialize_integrator_ptr | initialize_integrator |
| pointer to integrator initialize function More... | |
| loop_integrator_ptr | loop_integrator |
| pointer to integrator looping function More... | |
| finish_integrator_ptr | finish_integrator |
| pointer to integrator closing function More... | |
General structure of the direct dynamic module.
| MbsBuffer** buffer_visu |
buffer used to save the visualization as it appears in 'user_realtime_visu.c'
| int bufferNb |
Number of buffer required to save the current system topology (ie. coordinates, links...)
| MbsBuffer** buffers |
buffer to store generalized coordinates, velocities, acceleration, joint forces...
| double dt |
current integration step size
| finish_integrator_ptr finish_integrator |
pointer to integrator closing function
| int flag_ongoing_jac_computation |
flag is ON (=1) when the implicit integrator is currently computing the jacobian, default is 0.
it allows the user the make a distinction in his user functions (typically a FSM state that should now change during jacobian computation).
| int** indices_to_print_array |
pointer to the array that indicates which indices to save inside each buffer of savedArrays and buffers column size is bufferNb, each row size is the buffer size to print ( can be njoint, ...) +1 each column follows the IDs for the buffers order defined in mbs_buffer.h first value is either 0 if this buffer should not be printed, or the number of indices to print.
if -1, all the vector is printed (default) values below are indices (int) of respectively the data from the buffer array. For instance, -1 2 0 ... 0 1 0 .. .. 7 0 ... .. 0 0 ... will print all the positions (q), the velocity (qd) of joint 1 and 7 only.
| initialize_integrator_ptr initialize_integrator |
pointer to integrator initialize function
| void* integrator_struct |
pointer to store integrator structure
| loop_integrator_ptr loop_integrator |
pointer to integrator looping function
| MbsAux* mbs_aux |
| int nState |
size of the state vector
| MbsDirdynOptions* options |
structure defining the option of a direct dynamic
| double** savedArrays |
pointer to the array that must be saved to buffers
| int savePeriodCounter |
counter for checking whether results must be saved
| double tsim |
current simulation time
| MbsGrowingBuffer* user_buffer |
growing buffer to store user values
| double* y |
Pointer to the state vector, this is a dvec_0 of size nState.
| double* yd |
Pointers to the derivative vector (dvec_0) of size nState.
| double* yout |
Allocation of a vector (dvec_0) of size nState.
This vector is used by some integrator (ie. RK4) implementation to store intermediate value of the state vector. This vector is not used by the "mbsysc_modules".
1.8.17