Skip to main content

AVxcelerate Simulation Framework 2025 R2 SP02

simulation_instance

Last update: 19.09.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/logging/logging.h"
11#include "core/service/parameter/simulation_parameters.h"
12#include "core/service/standalone_activity_service/standalone_init_data/standalone_init_data.h"
13#include "core/time/i_clock/i_clock.h"
14#include "core/time/i_simulation_completion_checker/i_simulation_completion_checker.h"
15
21{
22namespace core
23{
24namespace lifecycle
25{
26
27class SimulationInstanceImpl;
28
30
35{
36
37 public:
49 SimulationInstance(std::unique_ptr<IActivityFactory> activity_factory,
50 std::shared_ptr<core::time::IClock> sim_clock,
51 std::unique_ptr<time::ISimulationCompletionChecker> sim_state_checker,
52 const core::StandaloneInitData& standalone_init_data,
54
64 SimulationInstance(std::unique_ptr<IActivityFactory> activity_factory,
65 std::shared_ptr<core::time::IClock> sim_clock,
66 std::unique_ptr<time::ISimulationCompletionChecker> sim_state_checker,
67 const core::StandaloneInitData& standalone_init_data,
68 const std::string& scheduling_config_path,
69 const logging::LogLevel log_level = logging::LogLevel::kDebug);
70
72
73 void Init() override;
74 void StepOnce() override;
75 void Reset() override;
76 bool IsSimulationFinished() override;
77 std::chrono::milliseconds GetSimulationDuration() const override;
78 std::chrono::milliseconds GetSimulationBaseCycleTime() const override;
79
80 private:
81 std::unique_ptr<SimulationInstanceImpl> impl_;
82};
83
84} // namespace lifecycle
85} // namespace core
86} // namespace simulation_framework
This is the concrete Topic class that can be used for creation of a communication channel with given ...
Definition topic.h:38
std::chrono::milliseconds GetSimulationDuration() const override
return the duration of the simulation in milliseconds
void StepOnce() override
Step the simulation based on base cycle time.
SimulationInstance(std::unique_ptr< IActivityFactory > activity_factory, std::shared_ptr< core::time::IClock > sim_clock, std::unique_ptr< time::ISimulationCompletionChecker > sim_state_checker, const core::StandaloneInitData &standalone_init_data, const std::string &scheduling_config_path, const logging::LogLevel log_level=logging::LogLevel::kDebug)
Constructor for SimulationInstance where most of the SimulationParameters are the default values.
void Reset() override
provides the reset to SimRunner to let the simulation back to init state
void Init() override
Initialize based on user config and turn the instance to ready state.
bool IsSimulationFinished() override
indicates whether this run if simulation reaches the end
SimulationInstance(std::unique_ptr< IActivityFactory > activity_factory, std::shared_ptr< core::time::IClock > sim_clock, std::unique_ptr< time::ISimulationCompletionChecker > sim_state_checker, const core::StandaloneInitData &standalone_init_data, const core::SimulationParameters &core_parameters)
Constructor for SimulationInstance, which initializes the simulation instance with specific Simulatio...
std::chrono::milliseconds GetSimulationBaseCycleTime() const override
return the base cycle time of the simulation in milliseconds, which usually is the greatest common di...
The namespace for all core functionalities under namespace simulation_framework.
The top namespace for simulation framework.
The SimulationParameters struct encapsulates parameters related to simfwk-core configuration.

Connect with Ansys