From 7c97f29fa6fc371c1ab7f50a945aeb8dcd9fe6c3 Mon Sep 17 00:00:00 2001 From: rastogi Date: Thu, 30 Oct 2025 21:36:03 +0100 Subject: [PATCH] Added ctrl_cell_ids --- src/Control/ControlModule.hpp | 5 +++++ src/poet.cpp | 3 +++ src/poet.hpp.in | 12 ++++-------- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/Control/ControlModule.hpp b/src/Control/ControlModule.hpp index 01c76ccb9..2631e937a 100644 --- a/src/Control/ControlModule.hpp +++ b/src/Control/ControlModule.hpp @@ -52,6 +52,7 @@ public: std::uint32_t control_interval; std::vector species_names; std::vector mape_threshold; + std::vector ctrl_cell_ids; }; void enableControlLogic(const ControlSetup &setup) { @@ -60,6 +61,7 @@ public: this->control_interval = setup.control_interval; this->species_names = setup.species_names; this->mape_threshold = setup.mape_threshold; + this->ctrl_cell_ids = setup.ctrl_cell_ids; } bool getControlIntervalEnabled() const { @@ -78,6 +80,8 @@ public: std::vector getMapeThreshold() const { return this->mape_threshold; } + std::vector getCtrlCellIds() const { return this->ctrl_cell_ids; } + /* Profiling getters */ auto getUpdateCtrlLogicTime() const { return this->prep_t; } @@ -100,6 +104,7 @@ private: std::uint32_t rollback_count = 0; std::uint32_t sur_disabled_counter = 0; std::vector mape_threshold; + std::vector ctrl_cell_ids; std::vector species_names; std::string out_dir; diff --git a/src/poet.cpp b/src/poet.cpp index 5f7a92e82..bf04da0a8 100644 --- a/src/poet.cpp +++ b/src/poet.cpp @@ -250,10 +250,13 @@ int parseInitValues(int argc, char **argv, RuntimeParameters ¶ms) { params.timesteps = Rcpp::as>(global_rt_setup->operator[]("timesteps")); + params.checkpoint_interval = Rcpp::as(global_rt_setup->operator[]("checkpoint_interval")); params.control_interval = Rcpp::as(global_rt_setup->operator[]("control_interval")); params.mape_threshold = Rcpp::as>( global_rt_setup->operator[]("mape_threshold")); + params.ctrl_cell_ids = Rcpp::as>( + global_rt_setup->operator[]("ctrl_cell_ids")); catch (const std::exception &e) { ERRMSG("Error while parsing R scripts: " + std::string(e.what())); diff --git a/src/poet.hpp.in b/src/poet.hpp.in index a5b82c150..d92f35bc2 100644 --- a/src/poet.hpp.in +++ b/src/poet.hpp.in @@ -41,7 +41,6 @@ static const inline std::string r_runtime_parameters = "mysetup"; struct RuntimeParameters { std::string out_dir; std::vector timesteps; - std::vector species_epsilon; Rcpp::List init_params; @@ -52,13 +51,10 @@ struct RuntimeParameters { bool print_progress = false; - std::uint32_t penalty_iteration = 0; - std::uint32_t max_penalty_iteration = 0; - std::uint32_t penalty_counter = 0; - std::uint32_t next_penalty_check = 0; - bool rollback_simulation = false; - bool control_iteration_active = false; - std::uint32_t control_iteration = 1; + std::uint32_t checkpoint_interval = 0; + std::uint32_t control_interval = 0; + std::vector mape_threshold; + std::vector ctrl_cell_ids; static constexpr std::uint32_t WORK_PACKAGE_SIZE_DEFAULT = 32; std::uint32_t work_package_size = WORK_PACKAGE_SIZE_DEFAULT;