Source code for pytwinnet.simulation.simulator


from __future__ import annotations
from dataclasses import dataclass
from ..core.digital_twin import DigitalTwin
from .scenario import Scenario

[docs] @dataclass class Simulator: twin: DigitalTwin
[docs] def run(self, scenario: Scenario, copy_twin: bool = True) -> DigitalTwin: sim_twin = self.twin.snapshot() if copy_twin else self.twin for event in scenario.sorted_events(): if 0.0 <= event.timestamp <= scenario.duration_s: event.apply(sim_twin) return sim_twin