#include "simulation.h"

Simulation::Simulation ()
{
  data = new SimulationData ();
  data -> allocateA ();
  data -> initialize ();
}

Simulation::~Simulation ()
{
}

void Simulation::oneStep ()
{
  double* raw = data -> getA ();
  // the new value at a position is the average of the neighbour values
  // multiplied with an attenuation value
  for (int i = 1; i < data->getDataLength()-1; i++)
  {
    raw[i] = data->getAttenuation() * (raw[i-1]+raw[i+1])/2.;
  }
  sleep (1);
}