aivika-experiment-chart-4.2: examples/DifferenceEquations/Experiment.hs
module Experiment (experiment, generators) where
import Data.Monoid
import Simulation.Aivika
import Simulation.Aivika.Experiment
import Simulation.Aivika.Experiment.Chart
specs = Specs { spcStartTime = 0,
spcStopTime = 10000,
spcDT = 1,
spcMethod = RungeKutta4,
spcGeneratorType = SimpleGenerator }
experiment :: Experiment
experiment =
defaultExperiment {
experimentSpecs = specs,
experimentRunCount = 1,
experimentTitle = "Difference Equations",
experimentDescription = "Difference Equations as described in " ++
"the corresponded tutorial of Berkeley-Madonna " ++
"with small modification for calculating std." }
t = resultByName "t"
x = resultByName "x"
sumX = resultByName "sumX"
sumX2 = resultByName "sumX2"
avg = resultByName "avg"
std = resultByName "std"
generators :: ChartRendering r => [WebPageGenerator r]
generators =
[outputView defaultExperimentSpecsView,
outputView defaultInfoView,
outputView $ defaultTableView {
tableSeries =
t <> x <> sumX <> sumX2 <> avg <> std },
outputView $ defaultTimeSeriesView {
timeSeriesTitle = "Time Series",
timeSeriesLeftYSeries = x <> avg },
outputView $ defaultTimingStatsView {
timingStatsSeries = x },
outputView $ defaultTimeSeriesView {
timeSeriesTitle = "Sums",
timeSeriesLeftYSeries = sumX,
timeSeriesRightYSeries = sumX2 },
outputView $ defaultTimeSeriesView {
timeSeriesTitle = "Standard Deviation",
timeSeriesLeftYSeries = std } ]