1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
module Numeric.Sundials.ODEOpts where
import Data.Word (Word32)
import qualified Data.Vector.Storable as VS
import Numeric.LinearAlgebra.HMatrix (Vector, Matrix)
type Jacobian = Double -> Vector Double -> Matrix Double
data ODEOpts = ODEOpts {
maxNumSteps :: Word32
, minStep :: Double
, relTol :: Double
, absTols :: VS.Vector Double
, initStep :: Maybe Double
, maxFail :: Word32
} deriving (Read, Show, Eq, Ord)
data SundialsDiagnostics = SundialsDiagnostics {
aRKodeGetNumSteps :: Int
, aRKodeGetNumStepAttempts :: Int
, aRKodeGetNumRhsEvals_fe :: Int
, aRKodeGetNumRhsEvals_fi :: Int
, aRKodeGetNumLinSolvSetups :: Int
, aRKodeGetNumErrTestFails :: Int
, aRKodeGetNumNonlinSolvIters :: Int
, aRKodeGetNumNonlinSolvConvFails :: Int
, aRKDlsGetNumJacEvals :: Int
, aRKDlsGetNumRhsEvals :: Int
} deriving Show
|