Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.simevents
Class ContinuousState

    java.lang.Object
      umontreal.iro.lecuyer.simevents.ContinuousState

    public class ContinuousState

extends Object

Represents the portion of the simulator's state associated with continuous-time simulation. Any simulator, including the default static one, can have an associate continuous state which is obtained using the `continuousState()` method of the `Simulator` class. This state includes all active integration variables as well as the current integration method.

One of the methods `selectEuler`, `selectRungeKutta2` or `selectRungeKutta4` must be called before starting any integration. These methods permit one to select the numerical integration method and the step size `h` (in time units) that will be used for all continuous-time variables linked to the simulator. For all the methods, an integration step at time t changes the values of the variables from their old values at time t - h to their new values at time t.

Each integration step is scheduled as an event and added to the event list.

Nested Class Summary
`static class` | `ContinuousState.IntegMethod`

Method Summary
`List<Continuous>` | `getContinuousVariables()` Returns the list of continuous-time variables currently integrated by the simulator.
`ContinuousState.IntegMethod` | `integMethod()` Return an integer that represent the integration method in use.
`void` | `selectEuler(double h)` Selects the Euler method as the integration method, with the integration step size `h`, in time units.
`void` | `selectRungeKutta2(double h)` Selects a Runge-Kutta method of order 2 as the integration method to be used, with step size `h`.
`void` | `selectRungeKutta4(double h)` Selects a Runge-Kutta method of order 4 as the integration method to be used, with step size `h`.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### getContinuousVariables

    public List<Continuous> getContinuousVariables()

  Returns the list of continuous-time variables currently integrated by the simulator. The returned list is updated automatically as variables are added or removed, but it cannot be modified directly. One must instead use `startInteg` or `stopInteg` in class `Continuous` to add or remove variables.

### integMethod

    public ContinuousState.IntegMethod integMethod()

  Return an integer that represent the integration method in use.

  Returns:
    Interger that represent the integration method in use.

### selectEuler

    public void selectEuler(double h)

  Selects the Euler method as the integration method, with the integration step size `h`, in time units.

  Parameters:
    `h` - integration step, in simulation time units

### selectRungeKutta2

    public void selectRungeKutta2(double h)

  Selects a Runge-Kutta method of order 2 as the integration method to be used, with step size `h`.

  Parameters:
    `h` - integration step, in simulation time units

### selectRungeKutta4

    public void selectRungeKutta4(double h)

  Selects a Runge-Kutta method of order 4 as the integration method to be used, with step size `h`.

  Parameters:
    `h` - integration step, in simulation time units

Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.