IGR integration#1615
Open
StevenXue98 wants to merge 17 commits into
Open
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #1615 +/- ##
==========================================
- Coverage 60.43% 57.86% -2.58%
==========================================
Files 83 83
Lines 19868 20547 +679
Branches 2956 3011 +55
==========================================
- Hits 12007 11889 -118
- Misses 5860 6675 +815
+ Partials 2001 1983 -18 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
# Conflicts: # src/simulation/m_rhs.fpp
Author
|
I ran some local performance comparisons against the legacy IGR path. Representative CPU results: 18A71AB2, 50 steps, 100 runs:
18A71AB2, 500 steps, 10 runs:
18A71AB2, larger grid, ~100^3, 20 steps, 3 runs:
Raw output comparisons against legacy IGR passed to roundoff. I also trimmed two unused IGR allocations from the refactored path:
The remaining memory overhead is mainly from the shared RHS/Riemann storage arrays required by the integrated path. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR integrates IGR with more of the shared RHS/Riemann infrastructure while preserving the existing IGR numerical behavior. This is an intermediate integration milestone, not the final IGR architecture. It intentionally preserves the existing IGR reconstruction/Sigma/viscous-source behavior while moving RHS accumulation, RK update behavior, state layout, and LF Riemann dispatch toward shared MFC infrastructure.
Main changes:
s_riemann_solverpath using the LF Riemann solver.s_compute_advection_source_terms_compute_additional_physics_rhss_igr_riemann_solverbehavior into smaller IGR-specific routines called from the shared RHS path:s_igr_reconstruct_cell_boundary_valuess_igr_correct_lf_fluxess_igr_sigmarhs_vfallocation previously needed by IGR-specific direct RHS updates.IGR-specific reconstruction, Sigma correction, and viscous source-flux construction are still present in
m_igr.fpp. Subroutines_igr_riemann_solveris also still present inm_igr.fpp, which explains the increased line count.Deferred follow-up work:
Type of change
Testing
Local testing:
Additional local comparison/debug checks used during development:
The IGR golden files were updated with
--add-new-variablesto include the newly stored final volume fraction. Existing golden entries were preserved, and the added final-alpha fields satisfy the expected volume-fraction sum checks, which is verified by the local Python scripts. The updated IGR tests match the previous conserved-variable outputs to machine-level roundoff, aside from the newly added final volume-fraction fields.Checklist
Check these like this
[x]to indicate which of the below applies.See the developer guide for full coding standards.
GPU changes (expand if you modified
src/simulation/)AI code reviews
Reviews are not retriggered automatically. To request a review, comment on the PR:
@claude full review— Claude full review (also triggers on PR open/reopen/ready)claude-full-review— Claude full review via label