template<class X> class adevs::DESS

This is the base class for building ODE and DAE solvers that can be used inside of a discrete event simulation.

Inheritance:


Public Methods

[more] DESS()
Constructor.
[more]virtual void evolve_func(double h) = 0
This virtual function is the continuous evolution function.
[more]virtual double next_event_func(bool& is_event) = 0
This function should return the time until the next state or time event in the continuous system.
[more]virtual void discrete_action_func(const Bag<X>& xb) = 0
This is the discrete action function.
[more]virtual void discrete_output_func(Bag<X>& yb) = 0
This is the output function.
[more]void delta_int()
The internal transition function should not be overridden
[more]void delta_ext(double e, const Bag<X>& xb)
The external transition function should not be overridden
[more]void delta_conf(const Bag<X>& xb)
The confluent transition function should not be overridden
[more]void output_func(Bag<X>& yb)
The output function should not be overridden
[more]double ta()
The time advance function should not be overridden
[more]virtual ~DESS()
Destructor


Inherited from Atomic:

Public Methods

ovirtual void gc_output(Bag<X>& g)
oAtomic<X> * typeIsAtomic()


Inherited from Devs:

Public Methods

ovirtual Network<X> * typeIsNetwork()
oconst Network<X> * getParent() const
oNetwork<X> * getParent()
ovoid setParent(Network<X>* parent)
ovirtual bool model_transition()


Documentation

This is the base class for building ODE and DAE solvers that can be used inside of a discrete event simulation. A description of the integration technique can be found in ????. The template argument specifies the model input and output type. The DEVS state transition functions and output function should not be overridden by derived classes. The DEVS dynamic structure and output garbage collection functions can be used by derived classes.
o DESS()
Constructor. Time is assumed to start at 0.0.

ovirtual void evolve_func(double h) = 0
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.

ovirtual double next_event_func(bool& is_event) = 0
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.

ovirtual void discrete_action_func(const Bag<X>& xb) = 0
This is the discrete action function. The input bag contains the discrete events that are available at this time (if any).

ovirtual void discrete_output_func(Bag<X>& yb) = 0
This is the output function. The output function is evaluated when the next_event_func() elapses. The bag should be filled with output events.

ovoid delta_int()
The internal transition function should not be overridden

ovoid delta_ext(double e, const Bag<X>& xb)
The external transition function should not be overridden

ovoid delta_conf(const Bag<X>& xb)
The confluent transition function should not be overridden

ovoid output_func(Bag<X>& yb)
The output function should not be overridden

odouble ta()
The time advance function should not be overridden

ovirtual ~DESS()
Destructor

o DESS_STEP

o DESS_EVENT

o DESS_OUTPUT


Direct child classes:
rk4

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.