aivika-transformers-6.1.1: Transformers for the Aivika simulation library
CopyrightCopyright (c) 2009-2017 David Sorokin <david.sorokin@gmail.com>
LicenseBSD3
MaintainerDavid Sorokin <david.sorokin@gmail.com>
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

Simulation.Aivika.Trans.Internal.Specs

Description

Tested with: GHC 8.0.1

It defines the simulation specs and related stuff.

Synopsis

Documentation

data Specs m Source #

It defines the simulation specs.

Constructors

Specs 

Fields

data Method Source #

It defines the integration method.

Constructors

Euler

Euler's method

RungeKutta2

the 2nd order Runge-Kutta method

RungeKutta4

the 4th order Runge-Kutta method

RungeKutta4b

the 4th order Runge-Kutta 3/8-method

Instances

Instances details
Show Method Source # 
Instance details

Defined in Simulation.Aivika.Trans.Internal.Types

Eq Method Source # 
Instance details

Defined in Simulation.Aivika.Trans.Internal.Types

Methods

(==) :: Method -> Method -> Bool #

(/=) :: Method -> Method -> Bool #

Ord Method Source # 
Instance details

Defined in Simulation.Aivika.Trans.Internal.Types

data Run m Source #

It indentifies the simulation run.

Constructors

Run 

Fields

data Point m Source #

It defines the simulation point appended with the additional information.

Constructors

Point 

Fields

basicTime :: Specs m -> Int -> Int -> Double Source #

Returns a simulation time for the integration point specified by the specs, iteration and phase.

integIterationBnds :: Specs m -> (Int, Int) Source #

Returns the first and last integration iterations.

integIterationHiBnd :: Specs m -> Int Source #

Returns the last integration iteration.

integIterationLoBnd :: Specs m -> Int Source #

Returns the first integration iteration, i.e. zero.

integPhaseBnds :: Specs m -> (Int, Int) Source #

Returns the first and last integration phases.

integPhaseHiBnd :: Specs m -> Int Source #

Returns the last integration phase, 0 for Euler's method, 1 for RK2 and 3 for RK4.

integPhaseLoBnd :: Specs m -> Int Source #

Returns the first integration phase, i.e. zero.

integTimes :: Specs m -> [Double] Source #

Return the integration time values.

integPoints :: Run m -> [Point m] Source #

Return the integration time points.

integPointsStartingFrom :: Point m -> [Point m] Source #

Return the integration time points starting from the specified iteration.

integStartPoint :: Run m -> Point m Source #

Return the start time point.

integStopPoint :: Run m -> Point m Source #

Return the integration stop time point.

simulationStopPoint :: Run m -> Point m Source #

Return the simulation stop time point.

timeGrid :: Specs m -> Int -> [(Int, Double)] Source #

Return the indexed time values in the grid by specified size.

pointAt :: Run m -> Double -> EventPriority -> Point m Source #

Return the point at the specified time.

delayPoint :: Point m -> Int -> Point m Source #

Delay the point by the specified positive number of iterations.