BioCMAMC-ST
case_data.hpp
1#ifndef __CASE_DATA__HPP__
2#define __CASE_DATA__HPP__
3
4#include <common/execinfo.hpp>
5#include <common/logger.hpp>
6#include <core/simulation_parameters.hpp>
7#include <memory>
8#include <optional>
9#include <simulation/feed_descriptor.hpp>
10#include <simulation/mass_transfer.hpp>
11
12namespace Simulation
13{
14 class SimulationUnit;
15} // namespace Simulation
16
17namespace CmaUtils
18{
20} // namespace CmaUtils
21
25namespace Core
26{
27
37 struct CaseData
38 {
45 std::unique_ptr<Simulation::SimulationUnit> simulation;
46
54
62 std::unique_ptr<CmaUtils::FlowMapTransitionner> transitioner;
63
72 };
73
77 void exec(std::shared_ptr<IO::Logger> logger, CaseData&& case_data);
78
79 std::optional<Core::CaseData>
80 load(const ExecInfo& exec,
81 const UserControlParameters&& params,
82 std::optional<Simulation::Feed::SimulationFeed> feed = std::nullopt);
83
105 ExecInfo runtime_init(int argc,
106 char** argv,
107 std::optional<std::size_t> force_run_id = std::nullopt);
108} // namespace Core
109
110#endif
Manages the reading, caching, and transitioning of flowmaps for simulation timesteps.
Definition transitionner.hpp:41
Definition simulation.hpp:56
Namespace to handle algorithms and structures related to reading compartment mesh.
Definition host_specific.hpp:18
Core component to perform simulation.
Definition data_exporter.hpp:19
std::optional< Core::CaseData > load(const ExecInfo &exec, const UserControlParameters &&params, std::optional< Simulation::Feed::SimulationFeed > feed=std::nullopt)
Definition case_data.cpp:102
void exec(std::shared_ptr< IO::Logger > logger, CaseData &&case_data)
Start simulation.
Definition case_data.cpp:51
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:111
Namespace that contains classes and structures related to simulation handling.
Definition host_specific.hpp:13
Holds the data required to execute a simulation case.
Definition case_data.hpp:38
ExecInfo exec_info
Information about the execution environment.
Definition case_data.hpp:71
SimulationParameters params
Parameters that configure the simulation.
Definition case_data.hpp:53
std::unique_ptr< CmaUtils::FlowMapTransitionner > transitioner
Unique pointer to the flow map transitioner.
Definition case_data.hpp:62
std::unique_ptr< Simulation::SimulationUnit > simulation
Unique pointer to the simulation unit.
Definition case_data.hpp:45
Definition simulation_parameters.hpp:59
A structure to hold user-defined control parameters for simulation settings.
Definition simulation_parameters.hpp:24
Definition execinfo.hpp:12