Copyright | Copyright (c) 2016, David Sorokin <david.sorokin@gmail.com> |
---|---|

License | BSD3 |

Maintainer | David Sorokin <david.sorokin@gmail.com> |

Stability | experimental |

Safe Haskell | None |

Language | Haskell98 |

Tested with: GHC 7.10.3

This module defines `LIO`

as an instance of the `MonadDES`

and `EventIOQueueing`

type classes.

- data LIO a
- runLIO :: LIO a -> IO a
- latticeTimeIndex :: LIO Int
- latticeMemberIndex :: LIO Int
- latticeSize :: Parameter LIO Int
- latticeTime :: Parameter LIO Double
- latticeTimeStep :: Parameter LIO Double
- findLatticeTimeIndex :: Double -> Parameter LIO Double

# Documentation

The `LIO`

computation that can be run as nested one on the lattice node.

runLIO :: LIO a -> IO a Source #

Run the `LIO`

computation using the integration times points as lattice nodes.

latticeTimeIndex :: LIO Int Source #

Return the lattice time index starting from 0. It corresponds to the integration time point.
The index should be less than `latticeSize`

.

latticeMemberIndex :: LIO Int Source #

Return the lattice member index starting from 0. It is always less than or equaled to `latticeTimeIndex`

.

latticeTimeStep :: Parameter LIO Double Source #

The time step used when constructing the lattice. Currently, it is equivalent to `dt`

.

findLatticeTimeIndex :: Double -> Parameter LIO Double Source #

Find the lattice time index for the specified modeling time.