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 = 500, spcDT = 0.1, spcMethod = RungeKutta4, spcGeneratorType = SimpleGenerator } experiment :: Experiment experiment = defaultExperiment { experimentSpecs = specs, experimentRunCount = 1, experimentTitle = "Linear Array", experimentDescription = "Model Linear Array as described in " ++ "the examples included in Berkeley-Madonna." } t = resultByName "t" m = resultByName "m" c = resultByName "c" generators :: ChartRendering r => [WebPageGenerator r] generators = [outputView defaultExperimentSpecsView, outputView $ defaultTableView { tableSeries = t <> m <> c }, outputView $ defaultTimeSeriesView { timeSeriesLeftYSeries = m, timeSeriesWidth = 800, timeSeriesHeight = 800 }, outputView $ defaultTimeSeriesView { timeSeriesRightYSeries = c, timeSeriesWidth = 800, timeSeriesHeight = 800 }, outputView $ defaultTimeSeriesView { timeSeriesLeftYSeries = m, timeSeriesRightYSeries = c, timeSeriesWidth = 800, timeSeriesHeight = 800 }, outputView $ defaultXYChartView { xyChartXSeries = t, xyChartLeftYSeries = m, xyChartWidth = 800, xyChartHeight = 800 }, outputView $ defaultXYChartView { xyChartXSeries = t, xyChartRightYSeries = c, xyChartWidth = 800, xyChartHeight = 800 }, outputView $ defaultXYChartView { xyChartXSeries = t, xyChartLeftYSeries = m, xyChartRightYSeries = c, xyChartWidth = 800, xyChartHeight = 800 } ]