Added "run until" functionality for simulation

This commit is contained in:
dario 2023-12-30 12:56:32 +01:00
parent b9ffa3710b
commit 478fcf0a5b

View File

@ -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)