module Language.Drasil.Data.ODEInfo (
ODEInfo(..), odeInfo, ODEOptions(..), odeOptions, ODEMethod(..)
) where
import Language.Drasil.Chunk.Code (CodeVarChunk)
import Language.Drasil.CodeExpr (CodeExpr)
data ODEInfo = ODEInfo {
ODEInfo -> CodeVarChunk
indepVar :: CodeVarChunk,
ODEInfo -> CodeVarChunk
depVar :: CodeVarChunk,
ODEInfo -> [CodeVarChunk]
otherVars :: [CodeVarChunk],
ODEInfo -> CodeExpr
tInit :: CodeExpr,
ODEInfo -> CodeExpr
tFinal :: CodeExpr,
ODEInfo -> CodeExpr
initVal :: CodeExpr,
ODEInfo -> [CodeExpr]
odeSyst :: [CodeExpr],
ODEInfo -> ODEOptions
odeOpts :: ODEOptions
}
odeInfo :: CodeVarChunk -> CodeVarChunk -> [CodeVarChunk] -> CodeExpr -> CodeExpr ->
CodeExpr -> [CodeExpr] -> ODEOptions -> ODEInfo
odeInfo :: CodeVarChunk
-> CodeVarChunk
-> [CodeVarChunk]
-> CodeExpr
-> CodeExpr
-> CodeExpr
-> [CodeExpr]
-> ODEOptions
-> ODEInfo
odeInfo = CodeVarChunk
-> CodeVarChunk
-> [CodeVarChunk]
-> CodeExpr
-> CodeExpr
-> CodeExpr
-> [CodeExpr]
-> ODEOptions
-> ODEInfo
ODEInfo
data ODEOptions = ODEOpts {
ODEOptions -> ODEMethod
solveMethod :: ODEMethod,
ODEOptions -> CodeExpr
absTol :: CodeExpr,
ODEOptions -> CodeExpr
relTol :: CodeExpr,
ODEOptions -> CodeExpr
stepSize :: CodeExpr,
ODEOptions -> CodeExpr
initValFstOrd :: CodeExpr
}
odeOptions :: ODEMethod -> CodeExpr -> CodeExpr -> CodeExpr -> CodeExpr -> ODEOptions
odeOptions :: ODEMethod
-> CodeExpr -> CodeExpr -> CodeExpr -> CodeExpr -> ODEOptions
odeOptions = ODEMethod
-> CodeExpr -> CodeExpr -> CodeExpr -> CodeExpr -> ODEOptions
ODEOpts
data ODEMethod = RK45 | BDF | Adams