diff --git a/spatz/simulation.py b/spatz/simulation.py index 97178e1..de2418c 100644 --- a/spatz/simulation.py +++ b/spatz/simulation.py @@ -5,7 +5,7 @@ from tqdm import tqdm from spatz.dataset import Dataset from spatz.logger import Logger from spatz.sensors import Sensor -from spatz.dataset import Dataset +from spatz.dataset import Dataset, Phase from spatz.logger import Logger from spatz.sensors import Sensor from spatz.observer import Observer @@ -43,7 +43,7 @@ class Simulation: self.__sensors: List[Sensor] = [] self.__time_steps = time_steps - def run(self, verbose=False): + def run(self, verbose=False, until: Phase = None): idx = 0 # Clear all logs and reset the dataset to the first time step. @@ -62,6 +62,9 @@ class Simulation: if t_ > self.__dataset.get_length(): break + if until is not None and self.__dataset.get_phase() == until: + break + self.__dataset.step(dt) self.__logger.step(dt)