WIP: Generalize source to allow flexible inflow

Closed Daniel Lehmberg requested to merge generalize_source into master

Later on the inflow can be from data (e.g. inflow measured from an experiment), a function or anything else.

For this the source had to be generalised and a new interface SpawnDistributions was introduced. The ConstantDistribution which so far was the only distribution used for sources is adapted to this new interface.

On a side, I also changed the handling for spawning. If a single pedestrian could not be placed in a source, then the loop interrupts. For this I increased the number of tries. This should have improve one of the bottlenecks we have, when the source is too small.

Problems and Todos:

  • How to set up a general SpawnDistribution? This needs some flexibility in the JSON settings (each SpawnDistribution has specific parameter).
  • Rename ConstantDistribution -> ConstantSpawnDistribution to indicate better that it is used for spawning pedestrians
  • Write a TotalNumberSpawnDistribution which spawns total number of agents in as fast as possible.

Closes #283 (closed)

Edited by Daniel Lehmberg

Merge request reports