adevs
|
#include <adevs_hybrid.h>
Public Member Functions | |
ode_system (int N_vars, int M_event_funcs) | |
Make a system with N state variables and M state event functions. | |
int | numVars () const |
Get the number of state variables. | |
int | numEvents () const |
Get the number of state events. | |
virtual void | init (double *q)=0 |
Copy the initial state of the model to q. | |
virtual void | der_func (const double *q, double *dq)=0 |
Compute the derivative for state q and put it in dq. | |
virtual void | state_event_func (const double *q, double *z)=0 |
Compute the state event functions for state q and put them in z. | |
virtual double | time_event_func (const double *q)=0 |
Compute the time event function using state q. | |
virtual void | postStep (double *q) |
virtual void | internal_event (double *q, const bool *state_event)=0 |
The internal transition function. | |
virtual void | external_event (double *q, double e, const Bag< X > &xb)=0 |
The external transition function. | |
virtual void | confluent_event (double *q, const bool *state_event, const Bag< X > &xb)=0 |
The confluent transition function. | |
virtual void | output_func (const double *q, const bool *state_event, Bag< X > &yb)=0 |
The output function. | |
virtual void | gc_output (Bag< X > &gb)=0 |
Garbage collection function. This works just like the Atomic gc_output method. | |
virtual | ~ode_system () |
Destructor. | |
This is the base class for all hybrid systems. The init and der_func methods are used to implement the model's continuous dynamics. The other functions are for discrete event dynamics.
|
inlinevirtual |
This method is invoked immediately following an update of the continuous state variables. The main use of this callback is to update algberaic variables. The default implementation does nothing.
Reimplemented in adevs::dae_se1_system< X >.