#include <integrator.h>
Collaboration diagram for IntegratorSystemStruct:

JP: adding to this structure the instance being solved, the engine that we're solving it with, and a struct containing the output function ptrs
Data Fields | |
| Instance * | instance |
| slv_system_t | system |
| IntegratorEngine | engine |
| const IntegratorInternals * | internals |
| IntegratorReporter * | reporter |
| SampleList * | samples |
| void * | enginedata |
| void * | clientdata |
| slv_parameters_t | params |
| int | nstates |
| int | nderivs |
| gl_list_t * | indepvars |
| gl_list_t * | dynvars |
| gl_list_t * | obslist |
| gl_list_t * | states |
| gl_list_t * | derivs |
| var_variable * | x |
| var_variable ** | y |
| var_variable ** | ydot |
| var_variable ** | obs |
| int * | y_id |
| int * | obs_id |
| int | n_y |
| int | n_ydot |
| int | n_obs |
| int | n_diffeqs |
| int | currentstep |
| int | maxsubsteps |
| double | stepzero |
| double | minstep |
| double | maxstep |
not sure if this one is really necessary... -- JP
the system that we're integrating in ASCEND
enum containing the ID of the integrator engine we're using. Should go away -- fully replaced by 'internals'
| const IntegratorInternals* IntegratorSystemStruct::internals |
pointers to the various functions belonging to this integrator
functions for reporting integration results
pointer to the list of samples. we *don't own* this
space where the integrator engine can store stuff
any stuff that the GUI/CLI needs to associate with this (eg pointer to C++ object)
structure containing parameters applicable to this Integrator
was a local global in integrator.c, moved it here.
ditto, as for nstates
all apparent independent vars
all state and deriv instances plus indices
observation instance plus indices
ordered list of state variables and indices
ordered list of derivative (ydot) insts
independent variable
| struct var_variable** IntegratorSystemStruct::y |
array form of states
| struct var_variable** IntegratorSystemStruct::ydot |
array form of derivatives
| struct var_variable** IntegratorSystemStruct::obs |
array form of observed variables
array form of y/ydot user indices, for DAEs we use negatives here for derivative vars
array form of obs user indices
number of differential equations (used by idaanalyse)
current step number (also
move the following to the 'params' structure? Or maybe better not to? most steps between mesh poins
initial step length, SI units.
shortest step length, SI units.
longest step length, SI units.
1.5.1