SSJ
3.3.1
Stochastic Simulation in Java
|
Represents the portion of the simulator’s state associated with continuous-time simulation. More...
Classes | |
enum | IntegMethod |
Public Member Functions | |
List< Continuous > | getContinuousVariables () |
Returns the list of continuous-time variables currently integrated by the simulator. More... | |
IntegMethod | integMethod () |
Return an integer that represent the integration method in use. More... | |
void | selectEuler (double h) |
Selects the Euler method as the integration method, with the integration step size h , in time units. More... | |
void | selectRungeKutta2 (double h) |
Selects a Runge-Kutta method of order 2 as the integration method to be used, with step size h . More... | |
void | selectRungeKutta4 (double h) |
Selects a Runge-Kutta method of order 4 as the integration method to be used, with step size h . More... | |
Protected Member Functions | |
ContinuousState (Simulator sim) | |
Creates a new ContinuousState object linked to the given simulator. More... | |
void | startInteg (Continuous c) |
Starts the integration process that will change the state of Continuous variable at each integration step. | |
void | stopInteg (Continuous c) |
Stops the integration process for Continuous variable. More... | |
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.
|
protected |
Creates a new ContinuousState object linked to the given simulator.
Usually, the user should not call this constructor directly since a new object is created automatically by the continuousState()
method of class Simulator.
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 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.
h | integration step, in simulation 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
.
h | integration step, in simulation time units |
void selectRungeKutta4 | ( | double | h | ) |
Selects a Runge-Kutta method of order 4 as the integration method to be used, with step size h
.
h | integration step, in simulation time units |
|
protected |
Stops the integration process for Continuous variable.
The variable keeps the value it took at the last integration step before calling stopInteg
.