adevs
Public Member Functions
adevs::ode_system Class Reference

#include <adevs_hybrid.h>

List of all members.

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 (const 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.

Detailed Description

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.


Member Function Documentation

virtual void adevs::ode_system::postStep ( const double *  q) [inline, virtual]

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.

Referenced by adevs::Hybrid::delta_ext(), and adevs::Hybrid::output_func().


The documentation for this class was generated from the following file: