summaryrefslogtreecommitdiff
path: root/packages/sundials/src/Main.hs
diff options
context:
space:
mode:
Diffstat (limited to 'packages/sundials/src/Main.hs')
-rw-r--r--packages/sundials/src/Main.hs41
1 files changed, 27 insertions, 14 deletions
diff --git a/packages/sundials/src/Main.hs b/packages/sundials/src/Main.hs
index eef8148..b950036 100644
--- a/packages/sundials/src/Main.hs
+++ b/packages/sundials/src/Main.hs
@@ -115,36 +115,49 @@ main = do
115 -- \end{array} 115 -- \end{array}
116 -- $$ 116 -- $$
117 117
118 let res = btGet (SDIRK_2_1_2 undefined) 118 -- let res = btGet (SDIRK_2_1_2 undefined)
119 putStrLn $ show res 119 -- putStrLn $ show res
120 putStrLn $ butcherTableauTex res 120 -- putStrLn $ butcherTableauTex res
121 121
122 let res = btGet (KVAERNO_4_2_3 undefined) 122 -- let res = btGet (KVAERNO_4_2_3 undefined)
123 putStrLn $ show res 123 -- putStrLn $ show res
124 putStrLn $ butcherTableauTex res 124 -- putStrLn $ butcherTableauTex res
125 125
126 let res = btGet (SDIRK_5_3_4 undefined) 126 -- let res = btGet (SDIRK_5_3_4 undefined)
127 putStrLn $ show res 127 -- putStrLn $ show res
128 putStrLn $ butcherTableauTex res 128 -- putStrLn $ butcherTableauTex res
129 129
130 let res1 = odeSolve' (KVAERNO_4_2_3 undefined) brussJac brusselator [1.2, 3.1, 3.0] (fromList [0.0, 0.1 .. 10.0]) 130 let res1 = odeSolve' (SDIRK_5_3_4 brussJac) brusselator [1.2, 3.1, 3.0] (fromList [0.0, 0.1 .. 100.0])
131 putStrLn $ show res1
132 renderRasterific "diagrams/brusselator.png" 131 renderRasterific "diagrams/brusselator.png"
133 (D.dims2D 500.0 500.0) 132 (D.dims2D 500.0 500.0)
134 (renderAxis $ lSaxis $ [0.0, 0.1 .. 10.0]:(toLists $ tr res1)) 133 (renderAxis $ lSaxis $ [0.0, 0.1 .. 100.0]:(toLists $ tr res1))
135 134
135 let res1a = odeSolve' (SDIRK_5_3_4') brusselator [1.2, 3.1, 3.0] (fromList [0.0, 0.1 .. 100.0])
136 renderRasterific "diagrams/brusselatorA.png"
137 (D.dims2D 500.0 500.0)
138 (renderAxis $ lSaxis $ [0.0, 0.1 .. 100.0]:(toLists $ tr res1a))
136 139
137 let res2 = odeSolve' (KVAERNO_4_2_3 undefined) stiffJac stiffish [0.0] (fromList [0.0, 0.1 .. 10.0]) 140 let res2 = odeSolve' (SDIRK_5_3_4 stiffJac) stiffish [0.0] (fromList [0.0, 0.1 .. 10.0])
138 putStrLn $ show res2 141 putStrLn $ show res2
139 renderRasterific "diagrams/stiffish.png" 142 renderRasterific "diagrams/stiffish.png"
140 (D.dims2D 500.0 500.0) 143 (D.dims2D 500.0 500.0)
141 (renderAxis $ kSaxis $ zip [0.0, 0.1 .. 10.0] (concat $ toLists res2)) 144 (renderAxis $ kSaxis $ zip [0.0, 0.1 .. 10.0] (concat $ toLists res2))
142 145
143 let res3 = odeSolve' (KVAERNO_4_2_3 undefined) lorenzJac lorenz [-5.0, -5.0, 1.0] (fromList [0.0, 0.01 .. 30.0]) 146 let res3 = odeSolve' (SDIRK_5_3_4 lorenzJac) lorenz [-5.0, -5.0, 1.0] (fromList [0.0, 0.01 .. 1000.0])
147 putStrLn $ show $ last ((toLists $ tr res3)!!0)
148
149 let res3 = odeSolve' (SDIRK_5_3_4') lorenz [-5.0, -5.0, 1.0] (fromList [0.0, 0.01 .. 1000.0])
150 putStrLn $ show $ last ((toLists $ tr res3)!!0)
151
144 renderRasterific "diagrams/lorenz.png" 152 renderRasterific "diagrams/lorenz.png"
145 (D.dims2D 500.0 500.0) 153 (D.dims2D 500.0 500.0)
146 (renderAxis $ kSaxis $ zip ((toLists $ tr res3)!!0) ((toLists $ tr res3)!!1)) 154 (renderAxis $ kSaxis $ zip ((toLists $ tr res3)!!0) ((toLists $ tr res3)!!1))
147 155
156 let res3a = odeSolve' (SDIRK_5_3_4') lorenz [-5.0, -5.0, 1.0] (fromList [0.0, 0.01 .. 30.0])
157 renderRasterific "diagrams/lorenzA.png"
158 (D.dims2D 500.0 500.0)
159 (renderAxis $ kSaxis $ zip ((toLists $ tr res3)!!0) ((toLists $ tr res3a)!!1))
160
148 renderRasterific "diagrams/lorenz1.png" 161 renderRasterific "diagrams/lorenz1.png"
149 (D.dims2D 500.0 500.0) 162 (D.dims2D 500.0 500.0)
150 (renderAxis $ kSaxis $ zip ((toLists $ tr res3)!!0) ((toLists $ tr res3)!!2)) 163 (renderAxis $ kSaxis $ zip ((toLists $ tr res3)!!0) ((toLists $ tr res3)!!2))