HSMultiSolverDirector
ptolemy.domains.hs.kernel.HSMultiSolverDirector

A CTDirector that uses multiple ODE solvers. The reason for using different solvers is that we need to handle both normal integration of ODEs over a time interval and abrupt changes in signals (or actors' functions) that happen at discrete time points. <p> At the time points where abrupt changes happen, a special ODE solver, called <i>breakpointODESolver</i>, is used. Typically, breakpointODESolver does not advance time. The job for a breakpointODESolver is to find the states of the system at a breakpoint. Usually, the system has more than one state at such time points, which is also known as discontinuities. We call the first state at a discontinuity the <i>initial</i> state, and the last state the <i>final</i> state. Therefore, a breakpointODESolver is responsible to resolve the final state of a discontinuity from the inputs and the initial states. <p> The following paper gives a detailed explanation of initial and final states and how the initial and final states are resolved. <ul> <li>Edward A. Lee and Haiyang Zheng, <a href= "http://ptolemy.eecs.berkeley.edu/publications/papers/05/OperationalSemantics"> <i>Operational Semantics of Hybrid Systems</i>, Invited paper in Hybrid Systems: Computation and Control: 8th International Workshop, HSCC, LNCS 3414, Zurich, Switzerland, March 9-11, 2005</a></ul> <p> This director handles both predictable breakpoints, whose appearance can be assured before reaching the time points they happen, and unpredictable breakpoints, whose appearance is unknown before the simulation passes the time points they happen. <P> This director can only be a top-level director. For a CT model as an opaque composite actor inside another model, use CTMixedSignalDirector (if the outer model is a discrete-event model) or CTEmbeddedDirector (if the outer model is a CT model or a Modal model with a HSFSMDirector.) <P> This director recognizes actors that implement the CTStepSizeControlActor interface and adjusts the step size by polling such actors. If all actors are content with the current step size, then it attempts to raise the step size. If any actor is not satisfied with the current step size, then this director reduces the step size. A special case is that if there are no CT step size control actors, then this director uses 5 times of the current step size or the maximum step size, whichever is smaller. <P> This director has a parameter <I>ODESolver</I>: The name of the ODE solver that is used to integrate ODEs over a time interval.

Author(s): Jie Liu, Haiyang Zheng
Version:$Id: HSMultiSolverDirector.doc.html,v 1.1 2006/02/22 18:40:27 mangal Exp $
Pt.Proposed Rating:Yellow (hyzheng)
Pt.Accepted Rating:Red (hyzheng)




ODESolver
The class name of the normal ODE solver used in iterations for normal integration. The default value is a string: "ptolemy.domains.hs.kernel.solver.ExplicitRK23Solver".