Skip to content

1321 copy constructable simulation#1345

Merged
MaxBetzDLR merged 16 commits intomainfrom
1321-copy-constructable-simulation
Aug 25, 2025
Merged

1321 copy constructable simulation#1345
MaxBetzDLR merged 16 commits intomainfrom
1321-copy-constructable-simulation

Conversation

@MaxBetzDLR
Copy link
Member

@MaxBetzDLR MaxBetzDLR commented Aug 11, 2025

Changes and Information

Please briefly list the changes (main added features, changed items, or corrected bugs) made:

  • Move handling of IntegratorCore outside of Simulation class into member pointer integrator
  • Change IntegratorCore to be unique in integrator
  • Add Copy Const/Assignmen

If need be, add additional information and what the reviewer should look out for in particular:

Merge Request - Guideline Checklist

Please check our git workflow. Use the draft feature if the Pull Request is not yet ready to review.

Checks by code author

  • Every addressed issue is linked (use the "Closes #ISSUE" keyword below)
  • New code adheres to coding guidelines
  • No large data files have been added (files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)
  • Tests are added for new functionality and a local test run was successful (with and without OpenMP)
  • Appropriate documentation within the code (Doxygen) for new functionality has been added in the code
  • Appropriate external documentation (ReadTheDocs) for new functionality has been added to the online documentation
  • Proper attention to licenses, especially no new third-party software with conflicting license has been added
  • (For ABM development) Checked benchmark results and ran and posted a local test above from before and after development to ensure performance is monitored.

Checks by code reviewer(s)

  • Corresponding issue(s) is/are linked and addressed
  • Code is clean of development artifacts (no deactivated or commented code lines, no debugging printouts, etc.)
  • Appropriate unit tests have been added, CI passes, code coverage and performance is acceptable (did not decrease)
  • No large data files added in the whole history of commits(files should in sum not exceed 100 KB, avoid PDFs, Word docs, etc.)
  • On merge, add 2-5 lines with the changes (main added features, changed items, or corrected bugs) to the merge-commit-message. This can be taken from the briefly-list-the-changes above (best case) or the separate commit messages (worst case).

Closes #1321

@MaxBetzDLR MaxBetzDLR self-assigned this Aug 11, 2025
@MaxBetzDLR MaxBetzDLR added loc::backend This issue concerns the C++ backend implementation. model::ode This issue concerns any kind of ODE-based model. labels Aug 11, 2025
@MaxBetzDLR MaxBetzDLR linked an issue Aug 11, 2025 that may be closed by this pull request
2 tasks
@MaxBetzDLR MaxBetzDLR added model::ide This issue concerns any kind of integro differential equations-based model. class::improvement Cleanup that doesn't affect functionality model::sde This issue concerns any kind of stochastic differential equation-based model. labels Aug 11, 2025
@MaxBetzDLR
Copy link
Member Author

We moved to pybind11v3.0.0 for better handling of unique_ptr. As a follow up, #1347 should look at future proofing the usage of pybind11.

@codecov
Copy link

codecov bot commented Aug 12, 2025

Codecov Report

❌ Patch coverage is 83.67347% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 97.27%. Comparing base (2defe8b) to head (e587e64).
⚠️ Report is 11 commits behind head on main.

Files with missing lines Patch % Lines
cpp/memilio/math/adapt_rk.h 0.00% 2 Missing ⚠️
cpp/memilio/math/euler.h 0.00% 2 Missing ⚠️
cpp/memilio/math/euler_maruyama.h 0.00% 2 Missing ⚠️
cpp/memilio/math/stepper_wrapper.h 50.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1345      +/-   ##
==========================================
- Coverage   97.37%   97.27%   -0.11%     
==========================================
  Files         174      174              
  Lines       15024    15126     +102     
==========================================
+ Hits        14630    14714      +84     
- Misses        394      412      +18     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@MaxBetzDLR MaxBetzDLR requested a review from reneSchm August 12, 2025 18:47
Copy link
Member

@reneSchm reneSchm left a comment

Choose a reason for hiding this comment

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

Thanks for making simulations copyable! I have some requests, but mostly clean-up

MaxBetzDLR and others added 3 commits August 21, 2025 14:35
@MaxBetzDLR MaxBetzDLR requested a review from reneSchm August 21, 2025 14:33
Copy link
Member

@reneSchm reneSchm left a comment

Choose a reason for hiding this comment

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

Looks good, thanks for your work!

@MaxBetzDLR MaxBetzDLR merged commit f59a074 into main Aug 25, 2025
98 of 104 checks passed
@MaxBetzDLR MaxBetzDLR deleted the 1321-copy-constructable-simulation branch August 25, 2025 13:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

class::improvement Cleanup that doesn't affect functionality loc::backend This issue concerns the C++ backend implementation. model::ide This issue concerns any kind of integro differential equations-based model. model::ode This issue concerns any kind of ODE-based model. model::sde This issue concerns any kind of stochastic differential equation-based model.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Copy constructable Simulation

2 participants