Skip to content

[Pylib] Add utility to run simulations using callbacks & auto checkpointing#1874

Merged
tdavidcl merged 28 commits into
Shamrock-code:mainfrom
tdavidcl:evolve_until_walttime
Jun 18, 2026
Merged

[Pylib] Add utility to run simulations using callbacks & auto checkpointing#1874
tdavidcl merged 28 commits into
Shamrock-code:mainfrom
tdavidcl:evolve_until_walttime

Conversation

@tdavidcl

Copy link
Copy Markdown
Member

No description provided.

@tdavidcl tdavidcl added the draft label Jun 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thanks @tdavidcl for opening this PR!

You can do multiple things directly here:
1 - Comment pre-commit.ci run to run pre-commit checks.
2 - Comment pre-commit.ci autofix to apply fixes.
3 - Add label autofix.ci to fix authorship & pre-commit for every commit made.
4 - Add label light-ci to only trigger a reduced & faster version of the CI (need the full one before merge).
5 - Add label trigger-ci to create an empty commit to trigger the CI.

Once the workflow completes a message will appear displaying informations related to the run.

Also the PR gets automatically reviewed by gemini, you can:
1 - Comment /gemini review to trigger a review
2 - Comment /gemini summary for a summary
3 - Tag it using @gemini-code-assist either in the PR or in review comments on files

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces walltime and global walltime limits to the SPH solver's evolve_until method, allowing simulations to stop gracefully when limits are reached. The implementation dynamically calculates the next check interval to minimize overhead. Feedback focuses on preventing undefined behavior in C++: first, by adding a bounds check before casting floating-point remaining iterations to an integer; and second, by performing a safe addition when calculating the next check iteration to prevent signed integer overflow.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread src/shammodels/sph/include/shammodels/sph/Solver.hpp
Comment thread src/shammodels/sph/include/shammodels/sph/Solver.hpp
@tdavidcl tdavidcl changed the title [SPH] add the option of stopping evolve_until according to walltime [Pylib] Add utility to run simulations using callbacks & auto checkpointing Jun 17, 2026
@tdavidcl

Copy link
Copy Markdown
Member Author

/gemini review

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new SimulationRunner utility class to structure simulation runs using setup and callback decorators, and refactors the circular disc sink example to use this new framework. The review feedback highlights several critical improvements for SimulationRunner.py, including fixing validation logic in SimulationRunner (since __post_init__ is not called on non-dataclasses), handling None values for next_walltime to avoid pybind11 type errors, refactoring CallbackState to be a standard Python class instead of a broken dataclass, and adding a small tolerance to floating-point time comparisons to prevent missed callback triggers.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread src/pylib/shamrock/utils/SimulationRunner.py
Comment thread src/pylib/shamrock/utils/SimulationRunner.py
Comment thread src/pylib/shamrock/utils/SimulationRunner.py Outdated
Comment thread src/pylib/shamrock/utils/SimulationRunner.py
tdavidcl and others added 5 commits June 17, 2026 18:58
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@tdavidcl tdavidcl marked this pull request as ready for review June 17, 2026 20:26
@github-actions

Copy link
Copy Markdown
Contributor

Workflow report

workflow report corresponding to commit c1eab20
Commiter email is timothee.davidcleris@proton.me
GitHub page artifact URL GitHub page artifact link (can expire)

Pre-commit check report

Pre-commit check: ✅

trim trailing whitespace.................................................Passed
fix end of files.........................................................Passed
check for merge conflicts................................................Passed
check that executables have shebangs.....................................Passed
check that scripts with shebangs are executable..........................Passed
check for added large files..............................................Passed
check for case conflicts.................................................Passed
check for broken symlinks................................................Passed
check yaml...............................................................Passed
detect private key.......................................................Passed
No-tabs checker..........................................................Passed
Tabs remover.............................................................Passed
cmake-format.............................................................Passed
Validate GitHub Workflows................................................Passed
clang-format.............................................................Passed
ruff check...............................................................Passed
ruff format..............................................................Passed
Check doxygen headers....................................................Passed
Check license headers....................................................Passed
Check #pragma once.......................................................Passed
Check SYCL #include......................................................Passed
No ssh in git submodules remote..........................................Passed
No UTF-8 in files (except for authors)...................................Passed

Test pipeline can run.

Clang-tidy diff report


727 warnings generated.
Suppressed 728 warnings (725 in non-user code, 2 due to line filter, 1 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.

1132 warnings generated.
Suppressed 1133 warnings (1034 in non-user code, 98 due to line filter, 1 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.

Doxygen diff with main

Removed warnings : 67
New warnings : 102
Warnings count : 7916 → 7951 (0.4%)

Detailed changes :
+ src/pylib/shamrock/utils/SimulationRunner.py:131: warning: Member _declared_callbacks (variable) of class shamrock.utils.SimulationRunner.SimulationMeta is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:132: warning: Member _setup (variable) of class shamrock.utils.SimulationRunner.SimulationMeta is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:146: warning: Compound shamrock::utils::SimulationRunner::CallbackInfo is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:150: warning: Member tsim_interval (variable) of class shamrock.utils.SimulationRunner.CallbackInfo is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:151: warning: Member iter_count_interval (variable) of class shamrock.utils.SimulationRunner.CallbackInfo is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:152: warning: Member walltime_interval (variable) of class shamrock.utils.SimulationRunner.CallbackInfo is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:155: warning: Compound shamrock::utils::SimulationRunner::CallbackState is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:156: warning: Member __init__(self, CallbackInfo info, float tsim_start) (function) of class shamrock.utils.SimulationRunner.CallbackState is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:157: warning: Member info (variable) of class shamrock.utils.SimulationRunner.CallbackState is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:158: warning: Member counter (variable) of class shamrock.utils.SimulationRunner.CallbackState is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:159: warning: Member next_tsim (variable) of class shamrock.utils.SimulationRunner.CallbackState is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:160: warning: Member next_iter_count (variable) of class shamrock.utils.SimulationRunner.CallbackState is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:161: warning: Member next_walltime (variable) of class shamrock.utils.SimulationRunner.CallbackState is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:163: warning: Member advance(self, float t_model, int iter_count, float walltime) (function) of class shamrock.utils.SimulationRunner.CallbackState is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:181: warning: Member should_trigger(self, float t_model, int iter_count, float walltime) (function) of class shamrock.utils.SimulationRunner.CallbackState is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:207: warning: Member to_dict(self) (function) of class shamrock.utils.SimulationRunner.CallbackState is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:215: warning: Member from_dict(self, dict data) (function) of class shamrock.utils.SimulationRunner.CallbackState is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:246: warning: Member t_end (variable) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:247: warning: Member dump_prefix (variable) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:249: warning: Member cur_t (variable) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:250: warning: Member cur_iter_count (variable) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:255: warning: Member __init__(self, model) (function) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:256: warning: Member model (variable) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:258: warning: Member _callbacks (variable) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:271: warning: Member _callbacks_state (variable) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:274: warning: Member dump_helper (variable) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:287: warning: Member do_checkpoint(self, int icheckpoint, **kwargs) (function) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:304: warning: Member run_setup(self) (function) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:321: warning: Member restore_from_checkpoint(self, dict metadata) (function) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:343: warning: Member evolve_until(self, float next_time, int|None next_iter_count, float|None next_walltime) (function) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:368: warning: Member trigger_and_advance_callbacks(self) (function) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:387: warning: Member goto_run_next_callback(self) (function) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:424: warning: Member run(self) (function) of class shamrock.utils.SimulationRunner.SimulationRunner is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:67: warning: Compound shamrock::utils::SimulationRunner::SimulationMeta is not documented.
+ src/pylib/shamrock/utils/SimulationRunner.py:68: warning: Member __new__(mcls, name, bases, namespace) (function) of class shamrock.utils.SimulationRunner.SimulationMeta is not documented.
- src/shammodels/sph/include/shammodels/sph/Model.hpp:959: warning: Member evolve_until(Tscal target_time, i32 niter_max, f64 max_global_walltime=-1) (function) of class shammodels::sph::Model is not documented.
+ src/shammodels/sph/include/shammodels/sph/Model.hpp:959: warning: Member evolve_until(Tscal target_time, i32 niter_max, f64 max_walltime=-1) (function) of class shammodels::sph::Model is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1437: warning: Member add_analysisBarycenter_instance(py::module &m, const std::string &name_model) (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1441: warning: Member add_analysisBarycenter_instance(py::module &m, const std::string &name_model) (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1455: warning: Member add_analysisEnergyKinetic_instance(py::module &m, const std::string &name_model) (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1459: warning: Member add_analysisEnergyKinetic_instance(py::module &m, const std::string &name_model) (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1471: warning: Member add_analysisEnergyPotential_instance(py::module &m, const std::string &name_model) (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1475: warning: Member add_analysisEnergyPotential_instance(py::module &m, const std::string &name_model) (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1487: warning: Member add_analysisTotalMomentum_instance(py::module &m, const std::string &name_model) (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1491: warning: Member add_analysisTotalMomentum_instance(py::module &m, const std::string &name_model) (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1503: warning: Member add_analysisAngularMomentum_instance(py::module &m, const std::string &name_model) (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1507: warning: Member add_analysisAngularMomentum_instance(py::module &m, const std::string &name_model) (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1519: warning: Member add_analysisDustMass_instance(py::module &m, const std::string &name_model) (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1523: warning: Member add_analysisDustMass_instance(py::module &m, const std::string &name_model) (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1537: warning: Member analysis_impl(shammodels::sph::Model< Tvec, SPHKernel > &model) -> Analysis (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1541: warning: Member analysis_impl(shammodels::sph::Model< Tvec, SPHKernel > &model) -> Analysis (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1542: warning: Member register_analysis_impl_for_each_kernel(py::module &msph, const char *name_class) (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1546: warning: Member register_analysis_impl_for_each_kernel(py::module &msph, const char *name_class) (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1602: warning: Member ON_PYTHON_INIT (variable) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1605: warning: Member msph (variable) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1605: warning: documented symbol 'py::class_< EvolveUntilResults >' was not declared or defined.
+ src/shammodels/sph/src/pySPHModel.cpp:1606: warning: Member ON_PYTHON_INIT (variable) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1609: warning: Member def_readwrite("reach_niter_max", &EvolveUntilResults::reach_niter_max) .def_readwrite("reach_max_walltime" (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1609: warning: Member msph (variable) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1609: warning: documented symbol 'py::class_< EvolveUntilResults >' was not declared or defined.
- src/shammodels/sph/src/pySPHModel.cpp:1611: warning: Member def_readwrite("iter_count", &EvolveUntilResults::iter_count) .def("__repr__" (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1612: warning: Member add_instance< f64_3, shammath::C2 >(msph, "SPHModel_f64_3_C2_SolverConfig", "SPHModel_f64_3_C2") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1612: warning: Member add_instance< f64_3, shammath::C4 >(msph, "SPHModel_f64_3_C4_SolverConfig", "SPHModel_f64_3_C4") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1612: warning: Member add_instance< f64_3, shammath::C6 >(msph, "SPHModel_f64_3_C6_SolverConfig", "SPHModel_f64_3_C6") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1612: warning: Member add_instance< f64_3, shammath::M4 >(msph, "SPHModel_f64_3_M4_SolverConfig", "SPHModel_f64_3_M4") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1612: warning: Member add_instance< f64_3, shammath::M6 >(msph, "SPHModel_f64_3_M6_SolverConfig", "SPHModel_f64_3_M6") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1612: warning: Member add_instance< f64_3, shammath::M8 >(msph, "SPHModel_f64_3_M8_SolverConfig", "SPHModel_f64_3_M8") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1612: warning: Member self (variable) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1613: warning: Member def_readwrite("reach_niter_max", &EvolveUntilResults::reach_niter_max) .def_readwrite("reach_max_walltime" (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1615: warning: Member def_readwrite("iter_count", &EvolveUntilResults::iter_count) .def("__repr__" (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1616: warning: Member add_instance< f64_3, shammath::C2 >(msph, "SPHModel_f64_3_C2_SolverConfig", "SPHModel_f64_3_C2") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1616: warning: Member add_instance< f64_3, shammath::C4 >(msph, "SPHModel_f64_3_C4_SolverConfig", "SPHModel_f64_3_C4") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1616: warning: Member add_instance< f64_3, shammath::C6 >(msph, "SPHModel_f64_3_C6_SolverConfig", "SPHModel_f64_3_C6") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1616: warning: Member add_instance< f64_3, shammath::M4 >(msph, "SPHModel_f64_3_M4_SolverConfig", "SPHModel_f64_3_M4") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1616: warning: Member add_instance< f64_3, shammath::M6 >(msph, "SPHModel_f64_3_M6_SolverConfig", "SPHModel_f64_3_M6") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1616: warning: Member add_instance< f64_3, shammath::M8 >(msph, "SPHModel_f64_3_M8_SolverConfig", "SPHModel_f64_3_M8") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1616: warning: Member self (variable) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1632: warning: Member VariantSPHModelBind (typedef) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1636: warning: Member VariantSPHModelBind (typedef) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1640: warning: Member def("get_Model_SPH", [](ShamrockCtx &ctx, const std::string &vector_type, const std::string &kernel) -> VariantSPHModelBind { VariantSPHModelBind ret;if(vector_type=="f64_3" &&kernel=="M4") { ret=std::make_unique< Model< f64_3, shammath::M4 > >(ctx);} else if(vector_type=="f64_3" &&kernel=="M6") { ret=std::make_unique< Model< f64_3, shammath::M6 > >(ctx);} else if(vector_type=="f64_3" &&kernel=="M8") { ret=std::make_unique< Model< f64_3, shammath::M8 > >(ctx);} else if(vector_type=="f64_3" &&kernel=="C2") { ret=std::make_unique< Model< f64_3, shammath::C2 > >(ctx);} else if(vector_type=="f64_3" &&kernel=="C4") { ret=std::make_unique< Model< f64_3, shammath::C4 > >(ctx);} else if(vector_type=="f64_3" &&kernel=="C6") { ret=std::make_unique< Model< f64_3, shammath::C6 > >(ctx);} else { throw shambase::make_except_with_loc< std::invalid_argument >("unknown combination of representation and kernel");} return ret;}, py::kw_only(), py::arg("context"), py::arg("vector_type"), py::arg("sph_kernel")) (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1640: warning: Member py::class_< shammodels::sph::modules::ISPHSetupNode, std::shared_ptr< shammodels::sph::modules::ISPHSetupNode > >(msph, "ISPHSetupNode") .def("get_dot" (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1644: warning: Member def("get_Model_SPH", [](ShamrockCtx &ctx, const std::string &vector_type, const std::string &kernel) -> VariantSPHModelBind { VariantSPHModelBind ret;if(vector_type=="f64_3" &&kernel=="M4") { ret=std::make_unique< Model< f64_3, shammath::M4 > >(ctx);} else if(vector_type=="f64_3" &&kernel=="M6") { ret=std::make_unique< Model< f64_3, shammath::M6 > >(ctx);} else if(vector_type=="f64_3" &&kernel=="M8") { ret=std::make_unique< Model< f64_3, shammath::M8 > >(ctx);} else if(vector_type=="f64_3" &&kernel=="C2") { ret=std::make_unique< Model< f64_3, shammath::C2 > >(ctx);} else if(vector_type=="f64_3" &&kernel=="C4") { ret=std::make_unique< Model< f64_3, shammath::C4 > >(ctx);} else if(vector_type=="f64_3" &&kernel=="C6") { ret=std::make_unique< Model< f64_3, shammath::C6 > >(ctx);} else { throw shambase::make_except_with_loc< std::invalid_argument >("unknown combination of representation and kernel");} return ret;}, py::kw_only(), py::arg("context"), py::arg("vector_type"), py::arg("sph_kernel")) (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1644: warning: Member py::class_< shammodels::sph::modules::ISPHSetupNode, std::shared_ptr< shammodels::sph::modules::ISPHSetupNode > >(msph, "ISPHSetupNode") .def("get_dot" (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisAngularMomentum_instance< f64_3, shammath::C2 >(msph, "AnalysisAngularMomentum_f64_3_C2") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisAngularMomentum_instance< f64_3, shammath::C4 >(msph, "AnalysisAngularMomentum_f64_3_C4") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisAngularMomentum_instance< f64_3, shammath::C6 >(msph, "AnalysisAngularMomentum_f64_3_C6") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisAngularMomentum_instance< f64_3, shammath::M4 >(msph, "AnalysisAngularMomentum_f64_3_M4") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisAngularMomentum_instance< f64_3, shammath::M6 >(msph, "AnalysisAngularMomentum_f64_3_M6") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisAngularMomentum_instance< f64_3, shammath::M8 >(msph, "AnalysisAngularMomentum_f64_3_M8") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisBarycenter_instance< f64_3, shammath::C2 >(msph, "AnalysisBarycenter_f64_3_C2") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisBarycenter_instance< f64_3, shammath::C4 >(msph, "AnalysisBarycenter_f64_3_C4") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisBarycenter_instance< f64_3, shammath::C6 >(msph, "AnalysisBarycenter_f64_3_C6") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisBarycenter_instance< f64_3, shammath::M4 >(msph, "AnalysisBarycenter_f64_3_M4") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisBarycenter_instance< f64_3, shammath::M6 >(msph, "AnalysisBarycenter_f64_3_M6") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisBarycenter_instance< f64_3, shammath::M8 >(msph, "AnalysisBarycenter_f64_3_M8") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisDustMass_instance< f64_3, shammath::C2 >(msph, "AnalysisDustMass_f64_3_C2") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisDustMass_instance< f64_3, shammath::C4 >(msph, "AnalysisDustMass_f64_3_C4") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisDustMass_instance< f64_3, shammath::C6 >(msph, "AnalysisDustMass_f64_3_C6") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisDustMass_instance< f64_3, shammath::M4 >(msph, "AnalysisDustMass_f64_3_M4") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisDustMass_instance< f64_3, shammath::M6 >(msph, "AnalysisDustMass_f64_3_M6") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisDustMass_instance< f64_3, shammath::M8 >(msph, "AnalysisDustMass_f64_3_M8") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisEnergyKinetic_instance< f64_3, shammath::C2 >(msph, "AnalysisEnergyKinetic_f64_3_C2") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisEnergyKinetic_instance< f64_3, shammath::C4 >(msph, "AnalysisEnergyKinetic_f64_3_C4") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisEnergyKinetic_instance< f64_3, shammath::C6 >(msph, "AnalysisEnergyKinetic_f64_3_C6") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisEnergyKinetic_instance< f64_3, shammath::M4 >(msph, "AnalysisEnergyKinetic_f64_3_M4") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisEnergyKinetic_instance< f64_3, shammath::M6 >(msph, "AnalysisEnergyKinetic_f64_3_M6") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisEnergyKinetic_instance< f64_3, shammath::M8 >(msph, "AnalysisEnergyKinetic_f64_3_M8") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisEnergyPotential_instance< f64_3, shammath::C2 >(msph, "AnalysisEnergyPotential_f64_3_C2") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisEnergyPotential_instance< f64_3, shammath::C4 >(msph, "AnalysisEnergyPotential_f64_3_C4") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisEnergyPotential_instance< f64_3, shammath::C6 >(msph, "AnalysisEnergyPotential_f64_3_C6") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisEnergyPotential_instance< f64_3, shammath::M4 >(msph, "AnalysisEnergyPotential_f64_3_M4") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisEnergyPotential_instance< f64_3, shammath::M6 >(msph, "AnalysisEnergyPotential_f64_3_M6") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisEnergyPotential_instance< f64_3, shammath::M8 >(msph, "AnalysisEnergyPotential_f64_3_M8") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisTotalMomentum_instance< f64_3, shammath::C2 >(msph, "AnalysisTotalMomentum_f64_3_C2") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisTotalMomentum_instance< f64_3, shammath::C4 >(msph, "AnalysisTotalMomentum_f64_3_C4") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisTotalMomentum_instance< f64_3, shammath::C6 >(msph, "AnalysisTotalMomentum_f64_3_C6") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisTotalMomentum_instance< f64_3, shammath::M4 >(msph, "AnalysisTotalMomentum_f64_3_M4") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisTotalMomentum_instance< f64_3, shammath::M6 >(msph, "AnalysisTotalMomentum_f64_3_M6") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member add_analysisTotalMomentum_instance< f64_3, shammath::M8 >(msph, "AnalysisTotalMomentum_f64_3_M8") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member register_analysis_impl_for_each_kernel< modules::AnalysisAngularMomentum >(msph, "analysisAngularMomentum") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member register_analysis_impl_for_each_kernel< modules::AnalysisBarycenter >(msph, "analysisBarycenter") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member register_analysis_impl_for_each_kernel< modules::AnalysisDustMass >(msph, "analysisDustMass") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member register_analysis_impl_for_each_kernel< modules::AnalysisEnergyKinetic >(msph, "analysisEnergyKinetic") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member register_analysis_impl_for_each_kernel< modules::AnalysisEnergyPotential >(msph, "analysisEnergyPotential") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1674: warning: Member register_analysis_impl_for_each_kernel< modules::AnalysisTotalMomentum >(msph, "analysisTotalMomentum") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisAngularMomentum_instance< f64_3, shammath::C2 >(msph, "AnalysisAngularMomentum_f64_3_C2") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisAngularMomentum_instance< f64_3, shammath::C4 >(msph, "AnalysisAngularMomentum_f64_3_C4") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisAngularMomentum_instance< f64_3, shammath::C6 >(msph, "AnalysisAngularMomentum_f64_3_C6") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisAngularMomentum_instance< f64_3, shammath::M4 >(msph, "AnalysisAngularMomentum_f64_3_M4") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisAngularMomentum_instance< f64_3, shammath::M6 >(msph, "AnalysisAngularMomentum_f64_3_M6") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisAngularMomentum_instance< f64_3, shammath::M8 >(msph, "AnalysisAngularMomentum_f64_3_M8") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisBarycenter_instance< f64_3, shammath::C2 >(msph, "AnalysisBarycenter_f64_3_C2") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisBarycenter_instance< f64_3, shammath::C4 >(msph, "AnalysisBarycenter_f64_3_C4") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisBarycenter_instance< f64_3, shammath::C6 >(msph, "AnalysisBarycenter_f64_3_C6") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisBarycenter_instance< f64_3, shammath::M4 >(msph, "AnalysisBarycenter_f64_3_M4") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisBarycenter_instance< f64_3, shammath::M6 >(msph, "AnalysisBarycenter_f64_3_M6") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisBarycenter_instance< f64_3, shammath::M8 >(msph, "AnalysisBarycenter_f64_3_M8") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisDustMass_instance< f64_3, shammath::C2 >(msph, "AnalysisDustMass_f64_3_C2") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisDustMass_instance< f64_3, shammath::C4 >(msph, "AnalysisDustMass_f64_3_C4") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisDustMass_instance< f64_3, shammath::C6 >(msph, "AnalysisDustMass_f64_3_C6") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisDustMass_instance< f64_3, shammath::M4 >(msph, "AnalysisDustMass_f64_3_M4") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisDustMass_instance< f64_3, shammath::M6 >(msph, "AnalysisDustMass_f64_3_M6") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisDustMass_instance< f64_3, shammath::M8 >(msph, "AnalysisDustMass_f64_3_M8") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisEnergyKinetic_instance< f64_3, shammath::C2 >(msph, "AnalysisEnergyKinetic_f64_3_C2") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisEnergyKinetic_instance< f64_3, shammath::C4 >(msph, "AnalysisEnergyKinetic_f64_3_C4") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisEnergyKinetic_instance< f64_3, shammath::C6 >(msph, "AnalysisEnergyKinetic_f64_3_C6") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisEnergyKinetic_instance< f64_3, shammath::M4 >(msph, "AnalysisEnergyKinetic_f64_3_M4") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisEnergyKinetic_instance< f64_3, shammath::M6 >(msph, "AnalysisEnergyKinetic_f64_3_M6") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisEnergyKinetic_instance< f64_3, shammath::M8 >(msph, "AnalysisEnergyKinetic_f64_3_M8") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisEnergyPotential_instance< f64_3, shammath::C2 >(msph, "AnalysisEnergyPotential_f64_3_C2") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisEnergyPotential_instance< f64_3, shammath::C4 >(msph, "AnalysisEnergyPotential_f64_3_C4") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisEnergyPotential_instance< f64_3, shammath::C6 >(msph, "AnalysisEnergyPotential_f64_3_C6") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisEnergyPotential_instance< f64_3, shammath::M4 >(msph, "AnalysisEnergyPotential_f64_3_M4") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisEnergyPotential_instance< f64_3, shammath::M6 >(msph, "AnalysisEnergyPotential_f64_3_M6") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisEnergyPotential_instance< f64_3, shammath::M8 >(msph, "AnalysisEnergyPotential_f64_3_M8") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisTotalMomentum_instance< f64_3, shammath::C2 >(msph, "AnalysisTotalMomentum_f64_3_C2") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisTotalMomentum_instance< f64_3, shammath::C4 >(msph, "AnalysisTotalMomentum_f64_3_C4") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisTotalMomentum_instance< f64_3, shammath::C6 >(msph, "AnalysisTotalMomentum_f64_3_C6") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisTotalMomentum_instance< f64_3, shammath::M4 >(msph, "AnalysisTotalMomentum_f64_3_M4") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisTotalMomentum_instance< f64_3, shammath::M6 >(msph, "AnalysisTotalMomentum_f64_3_M6") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member add_analysisTotalMomentum_instance< f64_3, shammath::M8 >(msph, "AnalysisTotalMomentum_f64_3_M8") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member register_analysis_impl_for_each_kernel< modules::AnalysisAngularMomentum >(msph, "analysisAngularMomentum") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member register_analysis_impl_for_each_kernel< modules::AnalysisBarycenter >(msph, "analysisBarycenter") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member register_analysis_impl_for_each_kernel< modules::AnalysisDustMass >(msph, "analysisDustMass") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member register_analysis_impl_for_each_kernel< modules::AnalysisEnergyKinetic >(msph, "analysisEnergyKinetic") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member register_analysis_impl_for_each_kernel< modules::AnalysisEnergyPotential >(msph, "analysisEnergyPotential") (function) of file pySPHModel.cpp is not documented.
+ src/shammodels/sph/src/pySPHModel.cpp:1678: warning: Member register_analysis_impl_for_each_kernel< modules::AnalysisTotalMomentum >(msph, "analysisTotalMomentum") (function) of file pySPHModel.cpp is not documented.
- src/shammodels/sph/src/pySPHModel.cpp:1685: warning: Found ';' while parsing initializer list! (doxygen could be confused by a macro call without semicolon)
+ src/shammodels/sph/src/pySPHModel.cpp:1689: warning: Found ';' while parsing initializer list! (doxygen could be confused by a macro call without semicolon)

@codecov

codecov Bot commented Jun 18, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 12 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/shammodels/sph/src/pySPHModel.cpp 0.00% 10 Missing ⚠️
...rc/shammodels/sph/include/shammodels/sph/Model.hpp 0.00% 2 Missing ⚠️

📢 Thoughts on this report? Let us know!

@tdavidcl tdavidcl merged commit 682b34a into Shamrock-code:main Jun 18, 2026
83 checks passed
@tdavidcl tdavidcl deleted the evolve_until_walttime branch June 18, 2026 09:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant