-
Anne Hommelberg authored
Large refactoring of the IO mixins (PIMixin and CSVMixin for both SimulationProblems and OptimizationProblems. We add a general DataStoreAccessor class extended by OptimizationProblem and SimulationProblem, which is used to store all data read by the IO mixins in a DataStore object. Higher lever mixins like PIMixin/CSVMixin do not store their data themselves anymore. Of course users are still free to override get_timeseries/set_timeseries and store data themselves in their own mixins. For both simulation and optimization we also add an IOMixin class for which contains methods that were previously duplicated in their respective PIMixin and CSVMixin classes. There is still quite a bit of duplicate code between the IOMixin for optimization and the IOMixin for simulation (and similarly for the respective PIMixins and CSVMixins), but that is something a future commit will address.
d5dd1182