BioCMAMC-ST
case_data.hpp
1#ifndef __CASE_DATA__HPP__
2#define __CASE_DATA__HPP__
3
4#include "cma_utils/alias.hpp"
5#include <common/execinfo.hpp>
6#include <common/logger.hpp>
7#include <core/simulation_parameters.hpp>
8#include <memory>
9#include <optional>
10#include <simulation/feed_descriptor.hpp>
11#include <simulation/mass_transfer.hpp>
12
13namespace Simulation
14{
15 class SimulationUnit;
16} // namespace Simulation
17
18namespace CmaUtils
19{
20 class FlowMapTransitionner;
21} // namespace CmaUtils
22
26namespace Core
27{
28
38 struct CaseData
39 {
40
41 CaseData();
42
49 std::unique_ptr<Simulation::SimulationUnit> simulation;
50
58
66 // std::unique_ptr<CmaUtils::FlowMapTransitionner> transitioner;
67
69
78 };
79
83 void exec(std::shared_ptr<IO::Logger> logger, CaseData&& case_data);
84
85 std::optional<Core::CaseData>
86 load(std::shared_ptr<IO::Logger>& logger,
87 const ExecInfo& exec,
88 const UserControlParameters&& params,
89 std::optional<Simulation::Feed::SimulationFeed> feed = std::nullopt);
90
112 ExecInfo runtime_init(int argc,
113 char** argv,
114 std::optional<std::size_t> force_run_id = std::nullopt);
115} // namespace Core
116
117#endif
Definition simulation.hpp:54
Definition host_specific.hpp:19
rust::Box< TransitionerWrapper > TransitionnerPtrType
Opaque type for flowmap transitioner.
Definition alias.hpp:14
Core component to perform simulation.
Definition data_exporter.hpp:19
std::optional< Core::CaseData > load(std::shared_ptr< IO::Logger > &logger, const ExecInfo &exec, const UserControlParameters &&params, std::optional< Simulation::Feed::SimulationFeed > feed=std::nullopt)
Definition case_data.cpp:117
void exec(std::shared_ptr< IO::Logger > logger, CaseData &&case_data)
Start simulation.
Definition case_data.cpp:59
ExecInfo runtime_init(int argc, char **argv, std::optional< std::size_t > force_run_id=std::nullopt)
Initializes the runtime environment based on command-line arguments and simulation parameters.
Definition case_data.cpp:127
Namespace that contains classes and structures related to simulation handling.
Definition host_specific.hpp:14
Holds the data required to execute a simulation case.
Definition case_data.hpp:39
ExecInfo exec_info
Information about the execution environment.
Definition case_data.hpp:77
SimulationParameters params
Parameters that configure the simulation.
Definition case_data.hpp:57
std::unique_ptr< Simulation::SimulationUnit > simulation
Unique pointer to the simulation unit.
Definition case_data.hpp:49
CaseData()
Definition case_data.cpp:52
CmaUtils::TransitionnerPtrType transitioner
Unique pointer to the flow map transitioner.
Definition case_data.hpp:68
Definition simulation_parameters.hpp:58
A structure to hold user-defined control parameters for simulation settings.
Definition simulation_parameters.hpp:24
Definition execinfo.hpp:12