#include <adevs_dess.h>
Inheritance diagram for adevs::DESS< X >:
Public Member Functions | |
DESS () | |
Constructor. Time is assumed to start at 0.0. | |
virtual void | evolve_func (double h)=0 |
virtual double | next_event_func (bool &is_event)=0 |
virtual void | discrete_action_func (const Bag< X > &xb)=0 |
virtual void | discrete_output_func (Bag< X > &yb)=0 |
virtual void | state_changed ()=0 |
void | delta_int () |
The internal transition function should not be overridden. | |
void | delta_ext (double e, const Bag< X > &xb) |
The external transition function should not be overridden. | |
void | delta_conf (const Bag< X > &xb) |
The confluent transition function should not be overridden. | |
void | output_func (Bag< X > &yb) |
The output function should not be overridden. | |
double | ta () |
The time advance function should not be overridden. | |
virtual | ~DESS () |
Destructor. |
|
This is the discrete action function. The input bag contains the discrete events that are available at this time (if any). Implemented in adevs::rk4< X >, adevs::rk45< X >, and adevs::rk45_improved< X >. |
|
This is the output function. The output function is evaluated when the next_event_func() elapses. The bag should be filled with output events. Implemented in adevs::rk4< X >, adevs::rk45< X >, and adevs::rk45_improved< X >. |
|
This virtual function is the continuous evolution function. Its purpose is to advance the continuous state variables for h units of time. A derived class should implement its integration scheme in this function. Implemented in adevs::rk4< X >, adevs::rk45< X >, and adevs::rk45_improved< X >. |
|
This function should return the time until the next state or time event in the continuous system. This method can also return the time until the next integration step, in which case the variable is_event should be set to false. If the is_event flag is true, then next state change will be treated as an internal event of the DEVS model. Implemented in adevs::rk4< X >, adevs::rk45< X >, and adevs::rk45_improved< X >. |
|
This method is executed initially (i.e., at simulation start or just following creation if added dynamically), after every evaluation of the evolution function, and after every evaluation of the discrete_action_func method. This method is intended to facilitate writing the continuous system trajectory to an output file. The overridden method should call some integrator specific method that the user can implement for that purpose. Implemented in adevs::rk4< X >, adevs::rk45< X >, and adevs::rk45_improved< X >. |