summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorDominic Steinitz <dominic@steinitz.org>2018-04-10 13:22:43 +0100
committerDominic Steinitz <dominic@steinitz.org>2018-04-10 13:22:43 +0100
commit6538dcb08e7a303bc1378d29c60812489089fd0f (patch)
treec35547ba3f72c475ae576afdfd40db34be34f699 /packages
parent3f28b18d880f055c445f19ab3a982112a51c09d9 (diff)
Another change of tack
Diffstat (limited to 'packages')
-rw-r--r--packages/sundials/src/Main.hs26
1 files changed, 13 insertions, 13 deletions
diff --git a/packages/sundials/src/Main.hs b/packages/sundials/src/Main.hs
index b65d668..14b1f8a 100644
--- a/packages/sundials/src/Main.hs
+++ b/packages/sundials/src/Main.hs
@@ -25,8 +25,8 @@ lorenz _t u = [ sigma * (y - x)
25 y = u !! 1 25 y = u !! 1
26 z = u !! 2 26 z = u !! 2
27 27
28lorenzJac :: Double -> Vector Double -> Matrix Double 28_lorenzJac :: Double -> Vector Double -> Matrix Double
29lorenzJac _t u = (3><3) [ (-sigma), rho - z, y 29_lorenzJac _t u = (3><3) [ (-sigma), rho - z, y
30 , sigma , -1.0 , x 30 , sigma , -1.0 , x
31 , 0.0 , (-x) , (-beta) 31 , 0.0 , (-x) , (-beta)
32 ] 32 ]
@@ -51,8 +51,8 @@ brusselator _t x = [ a - (w + 1) * u + v * u * u
51 v = x !! 1 51 v = x !! 1
52 w = x !! 2 52 w = x !! 2
53 53
54brussJac :: Double -> Vector Double -> Matrix Double 54_brussJac :: Double -> Vector Double -> Matrix Double
55brussJac _t x = (3><3) [ (-(w + 1.0)) + 2.0 * u * v, w - 2.0 * u * v, (-w) 55_brussJac _t x = (3><3) [ (-(w + 1.0)) + 2.0 * u * v, w - 2.0 * u * v, (-w)
56 , u * u , (-(u * u)) , 0.0 56 , u * u , (-(u * u)) , 0.0
57 , (-u) , u , (-1.0) / eps - u 57 , (-u) , u , (-1.0) / eps - u
58 ] 58 ]
@@ -120,13 +120,13 @@ main = do
120 putStrLn $ show res 120 putStrLn $ show res
121 putStrLn $ butcherTableauTex res 121 putStrLn $ butcherTableauTex res
122 122
123 let res = butcherTable (KVAERNO_4_2_3 undefined) 123 let resA = butcherTable (KVAERNO_4_2_3 undefined)
124 putStrLn $ show res 124 putStrLn $ show resA
125 putStrLn $ butcherTableauTex res 125 putStrLn $ butcherTableauTex resA
126 126
127 let res = butcherTable (SDIRK_5_3_4 undefined) 127 let resB = butcherTable (SDIRK_5_3_4 undefined)
128 putStrLn $ show res 128 putStrLn $ show resB
129 putStrLn $ butcherTableauTex res 129 putStrLn $ butcherTableauTex resB
130 130
131 let res1 = odeSolve brusselator [1.2, 3.1, 3.0] (fromList [0.0, 0.1 .. 10.0]) 131 let res1 = odeSolve brusselator [1.2, 3.1, 3.0] (fromList [0.0, 0.1 .. 10.0])
132 renderRasterific "diagrams/brusselator.png" 132 renderRasterific "diagrams/brusselator.png"
@@ -151,12 +151,12 @@ main = do
151 let res3 = odeSolve lorenz [-5.0, -5.0, 1.0] (fromList [0.0, 0.01 .. 10.0]) 151 let res3 = odeSolve lorenz [-5.0, -5.0, 1.0] (fromList [0.0, 0.01 .. 10.0])
152 putStrLn $ show $ last ((toLists $ tr res3)!!0) 152 putStrLn $ show $ last ((toLists $ tr res3)!!0)
153 153
154 let res3 = odeSolve lorenz [-5.0, -5.0, 1.0] (fromList [0.0, 0.01 .. 10.0]) 154 let res3A = odeSolve lorenz [-5.0, -5.0, 1.0] (fromList [0.0, 0.01 .. 10.0])
155 putStrLn $ show $ last ((toLists $ tr res3)!!0) 155 putStrLn $ show $ last ((toLists $ tr res3A)!!0)
156 156
157 renderRasterific "diagrams/lorenz.png" 157 renderRasterific "diagrams/lorenz.png"
158 (D.dims2D 500.0 500.0) 158 (D.dims2D 500.0 500.0)
159 (renderAxis $ kSaxis $ zip ((toLists $ tr res3)!!0) ((toLists $ tr res3)!!1)) 159 (renderAxis $ kSaxis $ zip ((toLists $ tr res3)!!0) ((toLists $ tr res3A)!!1))
160 160
161 let res3a = odeSolve lorenz [-5.0, -5.0, 1.0] (fromList [0.0, 0.01 .. 10.0]) 161 let res3a = odeSolve lorenz [-5.0, -5.0, 1.0] (fromList [0.0, 0.01 .. 10.0])
162 renderRasterific "diagrams/lorenzA.png" 162 renderRasterific "diagrams/lorenzA.png"