Skip to main content

AVxcelerate Simulation Framework 2025 R1

simulation_instance

Last update: 16.07.2025
1 
5 
6 #pragma once
7 
8 #include "core/lifecycle/i_activity_factory/i_activity_factory.h"
9 #include "core/lifecycle/i_simulation_instance/i_simulation_instance.h"
10 #include "core/service/parameter/simulation_parameters.h"
11 #include "core/service/standalone_activity_service/standalone_init_data/standalone_init_data.h"
12 #include "core/time/i_clock/i_clock.h"
13 #include "core/time/i_simulation_completion_checker/i_simulation_completion_checker.h"
14 
19 namespace simulation_framework
20 {
21 namespace core
22 {
23 namespace lifecycle
24 {
25 
26 class SimulationInstanceImpl;
27 
29 
34 {
35 
36  public:
37  SimulationInstance(std::unique_ptr<IActivityFactory> activity_factory,
38  std::shared_ptr<core::time::IClock> sim_clock,
39  std::unique_ptr<time::ISimulationCompletionChecker> sim_state_checker,
40  const core::StandaloneInitData& standalone_init_data,
41  const core::SimulationParameters& core_parameters);
42 
44 
45  void Init() override;
46  void StepOnce() override;
47  void Reset() override;
48  bool IsSimulationFinished() override;
49  std::chrono::milliseconds GetSimulationDuration() const override;
50  std::chrono::milliseconds GetSimulationBaseCycleTime() const override;
51 
52  private:
53  std::unique_ptr<SimulationInstanceImpl> impl_;
54 };
55 
56 } // namespace lifecycle
57 } // namespace core
58 } // namespace simulation_framework

Connect with Ansys