{-# LANGUAGE RecursiveDo #-} import Simulation.Aivika import Simulation.Aivika.SystemDynamics specs = Specs { spcStartTime = 0, spcStopTime = 13, spcDT = 0.01, spcMethod = RungeKutta4, spcGeneratorType = SimpleGenerator } model :: Simulation [Double] model = mdo a <- integ (- ka * a) 100 b <- integ (ka * a - kb * b) 0 c <- integ (kb * b) 0 let ka = 1 kb = 1 runDynamicsInStopTime $ sequence [a, b, c] main = runSimulation model specs >>= print