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 } ]