Skip to content

[SPH] move sink predictor step into solvergraph - #2372

Merged
mergify[bot] merged 1 commit into
Shamrock-code:mainfrom
tdavidcl:sink_migr_next
Sep 17, 2026
Merged

mergify[bot] merged 1 commit into
Shamrock-code:mainfrom
tdavidcl:sink_migr_next

Conversation

@tdavidcl

Copy link
Copy Markdown
Member

No description provided.

Register the sink predictor's velocity/position leapfrog update as a
"sink predictor" node in the solver graph, gated on the "has_sinks"
edge via OperationIf (mirroring "sink ext force"), instead of building
the nodes ad hoc inside SinkParticlesUpdate::predictor_step every
timestep. The call site now just evaluates the registered node.

Assisted-by: Claude Code
@coderabbitai

coderabbitai Bot commented Sep 17, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 51 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 4e58c00d-5f06-4fb7-a7d5-6fa206a48c55

📥 Commits

Reviewing files that changed from the base of the PR and between 8c054a1 and e73d4be.

📒 Files selected for processing (3)
  • src/shammodels/sph/include/shammodels/sph/modules/SinkParticlesUpdate.hpp
  • src/shammodels/sph/src/Solver.cpp
  • src/shammodels/sph/src/modules/SinkParticlesUpdate.cpp

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@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 full-ci to run the full test suite (default is light CI; full CI also runs on Mergify merge-queue branches).
5 - Add label profile-build to run the compile-time build profile job even in light CI.
6 - 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

@github-actions

Copy link
Copy Markdown
Contributor

Workflow report

workflow report corresponding to commit e73d4be
Commiter email is timothee.davidcleris@proton.me

Light CI is enabled (the default for pull requests). This will only run the basic tests and not the full tests.
Full CI runs if the full-ci label is set, or automatically on Mergify merge-queue branches (mergify/merge-queue/*).
The merge gate job "on PR / all" is skipped in this case. Queue entry uses "on PR / all_light"; full CI runs in the merge queue.

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


54915 warnings generated.
Suppressed 54916 warnings (54915 in non-user code, 1 NOLINT).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.

54931 warnings generated.
Suppressed 54932 warnings (54929 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.

55452 warnings generated.
Suppressed 55453 warnings (55387 in non-user code, 65 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 : 16
New warnings : 15
Warnings count : 8213 → 8212 (-0.0%)

Detailed changes :
+ src/shammodels/sph/include/shammodels/sph/modules/SinkParticlesUpdate.hpp:44: warning: Member compute_sph_forces() (function) of class shammodels::sph::modules::SinkParticlesUpdate is not documented.
- src/shammodels/sph/include/shammodels/sph/modules/SinkParticlesUpdate.hpp:44: warning: Member predictor_step(Tscal dt) (function) of class shammodels::sph::modules::SinkParticlesUpdate is not documented.
- src/shammodels/sph/include/shammodels/sph/modules/SinkParticlesUpdate.hpp:45: warning: Member compute_sph_forces() (function) of class shammodels::sph::modules::SinkParticlesUpdate is not documented.
+ src/shammodels/sph/include/shammodels/sph/modules/SinkParticlesUpdate.hpp:45: warning: Member corrector_step(Tscal dt) (function) of class shammodels::sph::modules::SinkParticlesUpdate is not documented.
- src/shammodels/sph/include/shammodels/sph/modules/SinkParticlesUpdate.hpp:46: warning: Member corrector_step(Tscal dt) (function) of class shammodels::sph::modules::SinkParticlesUpdate is not documented.
- src/shammodels/sph/src/Solver.cpp:1000: warning: Member buf_vxyz (variable) of struct shammodels::sph::Debug_ph_dump is not documented.
- src/shammodels/sph/src/Solver.cpp:1004: warning: Member fill_blocks(PhantomDumpBlock &block, Debug_ph_dump< Tvec > &info) (function) of namespace shammodels::sph is not documented.
- src/shammodels/sph/src/Solver.cpp:1041: warning: Member make_interface_debug_phantom_dump(Debug_ph_dump< Tvec > info) (function) of namespace shammodels::sph is not documented.
+ src/shammodels/sph/src/Solver.cpp:1050: warning: Compound shammodels::sph::Debug_ph_dump is not documented.
+ src/shammodels/sph/src/Solver.cpp:1051: warning: Member Tscal (typedef) of struct shammodels::sph::Debug_ph_dump is not documented.
+ src/shammodels/sph/src/Solver.cpp:1053: warning: Member nobj (variable) of struct shammodels::sph::Debug_ph_dump is not documented.
+ src/shammodels/sph/src/Solver.cpp:1054: warning: Member gpart_mass (variable) of struct shammodels::sph::Debug_ph_dump is not documented.
+ src/shammodels/sph/src/Solver.cpp:1056: warning: Member buf_xyz (variable) of struct shammodels::sph::Debug_ph_dump is not documented.
+ src/shammodels/sph/src/Solver.cpp:1057: warning: Member buf_hpart (variable) of struct shammodels::sph::Debug_ph_dump is not documented.
+ src/shammodels/sph/src/Solver.cpp:1058: warning: Member buf_vxyz (variable) of struct shammodels::sph::Debug_ph_dump is not documented.
+ src/shammodels/sph/src/Solver.cpp:1062: warning: Member fill_blocks(PhantomDumpBlock &block, Debug_ph_dump< Tvec > &info) (function) of namespace shammodels::sph is not documented.
+ src/shammodels/sph/src/Solver.cpp:1099: warning: Member make_interface_debug_phantom_dump(Debug_ph_dump< Tvec > info) (function) of namespace shammodels::sph is not documented.
- src/shammodels/sph/src/Solver.cpp:1933: warning: Member map_field_refs(PatchScheduler &sched, u32 field_idx, shamrock::solvergraph::FieldRefs< T > &refs) (function) of file Solver.cpp is not documented.
- src/shammodels/sph/src/Solver.cpp:1948: warning: Member map_field_refs_ext(PatchScheduler &sched, shambase::DistributedData< shamrock::patch::PatchDataLayer > &mpdats, u32 field_idx, shamrock::solvergraph::FieldRefs< T > &refs) (function) of file Solver.cpp is not documented.
- src/shammodels/sph/src/Solver.cpp:1967: warning: Member map_field_refs_ext(PatchScheduler &sched, shamrock::ComputeField< T > &field_data, shamrock::solvergraph::FieldRefs< T > &refs) (function) of file Solver.cpp is not documented.
+ src/shammodels/sph/src/Solver.cpp:1991: warning: Member map_field_refs(PatchScheduler &sched, u32 field_idx, shamrock::solvergraph::FieldRefs< T > &refs) (function) of file Solver.cpp is not documented.
+ src/shammodels/sph/src/Solver.cpp:2006: warning: Member map_field_refs_ext(PatchScheduler &sched, shambase::DistributedData< shamrock::patch::PatchDataLayer > &mpdats, u32 field_idx, shamrock::solvergraph::FieldRefs< T > &refs) (function) of file Solver.cpp is not documented.
+ src/shammodels/sph/src/Solver.cpp:2025: warning: Member map_field_refs_ext(PatchScheduler &sched, shamrock::ComputeField< T > &field_data, shamrock::solvergraph::FieldRefs< T > &refs) (function) of file Solver.cpp is not documented.
- src/shammodels/sph/src/Solver.cpp:992: warning: Compound shammodels::sph::Debug_ph_dump is not documented.
- src/shammodels/sph/src/Solver.cpp:993: warning: Member Tscal (typedef) of struct shammodels::sph::Debug_ph_dump is not documented.
- src/shammodels/sph/src/Solver.cpp:995: warning: Member nobj (variable) of struct shammodels::sph::Debug_ph_dump is not documented.
- src/shammodels/sph/src/Solver.cpp:996: warning: Member gpart_mass (variable) of struct shammodels::sph::Debug_ph_dump is not documented.
- src/shammodels/sph/src/Solver.cpp:998: warning: Member buf_xyz (variable) of struct shammodels::sph::Debug_ph_dump is not documented.
- src/shammodels/sph/src/Solver.cpp:999: warning: Member buf_hpart (variable) of struct shammodels::sph::Debug_ph_dump is not documented.

@shamrock-code-admin

Copy link
Copy Markdown
Collaborator

@Mergifyio queue

@mergify

mergify Bot commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Merge Queue Status

This pull request spent 2 hours 10 minutes 15 seconds in the queue, including 2 hours 7 minutes 3 seconds running CI.

Required conditions to merge
  • check-success = all

@mergify mergify Bot added the queued label Sep 17, 2026
@mergify
mergify Bot merged commit ee2c6ed into Shamrock-code:main Sep 17, 2026
42 checks passed
@mergify mergify Bot removed the queued label Sep 17, 2026
@tdavidcl
tdavidcl deleted the sink_migr_next branch September 18, 2026 19:35
tdavidcl added a commit to tdavidcl/Shamrock that referenced this pull request Sep 18, 2026
Mirrors the predictor migration (Shamrock-code#2372): the velocity kick moves into
a ForwardEulerHost2Deriv node on sink_vel/sink_acc_sph/sink_acc_ext,
gated by OperationIf on has_sinks, reusing the main solver's dt_half
edge since it is already up to date by the time the corrector runs.
SinkParticlesUpdate::corrector_step is now dead and removed.

Assisted-by: Claude Code
mergify Bot pushed a commit that referenced this pull request Sep 20, 2026
Mirrors the predictor migration (#2372): the velocity kick moves into a ForwardEulerHost2Deriv node on sink_vel/sink_acc_sph/sink_acc_ext, gated by OperationIf on has_sinks, reusing the main solver's dt_half edge since it is already up to date by the time the corrector runs. SinkParticlesUpdate::corrector_step is now dead and removed.

Assisted-by: Claude Code
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.

2 participants