module Experiment (experiment, generators) where
import Data.Monoid
import Simulation.Aivika
import Simulation.Aivika.Experiment
import Simulation.Aivika.Experiment.Chart
specs = Specs { spcStartTime = 0.0,
spcStopTime = 8.0,
spcDT = 0.1,
spcMethod = RungeKutta4,
spcGeneratorType = SimpleGenerator }
experiment :: Experiment
experiment =
defaultExperiment {
experimentSpecs = specs,
experimentRunCount = 20,
experimentDescription = "This is the famous Bass Diffusion model solved with help of the agent-based modelling." }
potentialAdopters = resultByName "potentialAdopters"
adopters = resultByName "adopters"
generators :: ChartRendering r => [WebPageGenerator r]
generators =
[outputView defaultExperimentSpecsView,
outputView defaultInfoView,
outputView $ defaultDeviationChartView {
deviationChartLeftYSeries =
potentialAdopters <> adopters },
outputView $ defaultTimeSeriesView {
timeSeriesLeftYSeries =
potentialAdopters <> adopters } ]