The constructor for a Simulation uses a default list of parameters as starting point. As the same dict is copied in all objects, we always end up with the same parameter set.
It can be solved by adding a call to copy() to the line self.param = _default_parameter_list
The constructor for a Simulation uses a default list of parameters as starting point. As the same dict is copied in all objects, we always end up with the same parameter set.
It can be solved by adding a call to copy() to the line self.param = _default_parameter_list