diff options
Diffstat (limited to 'packages/sundials/src/Main.hs')
-rw-r--r-- | packages/sundials/src/Main.hs | 41 |
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)) |