Skip to content

Ported Missing Riemann Solvers. Ported RK5 and Euler. SSPRK33, SSPRK43 and Limiter cherrypick from Zalbanob-Refactor#74

Open
Rodrigoansf wants to merge 18 commits into
developfrom
RodrigoDev
Open

Ported Missing Riemann Solvers. Ported RK5 and Euler. SSPRK33, SSPRK43 and Limiter cherrypick from Zalbanob-Refactor#74
Rodrigoansf wants to merge 18 commits into
developfrom
RodrigoDev

Conversation

@Rodrigoansf

Copy link
Copy Markdown
Collaborator

No description provided.

@horses-framework horses-framework deleted a comment from codecov Bot Jun 16, 2026

@amrueda amrueda left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks, @Rodrigoansf! Good catch!
Can you please add/activate a test for RoePikeRiemannSolver and u_dissRiemannSolver?

Comment thread Solver/src/libs/physics/navierstokes/RiemannSolvers_NS.f90 Outdated
@Rodrigoansf Rodrigoansf requested review from amrueda and loganoz June 22, 2026 09:29
@Rodrigoansf Rodrigoansf changed the title Fix self aliasing bug (GPU only) Ported missing Riemann Solvers. Ported RK5 and EulerExplicit. Jun 22, 2026
@Rodrigoansf Rodrigoansf changed the title Ported missing Riemann Solvers. Ported RK5 and EulerExplicit. Missing Riemann Solvers, RK5 and EulerExplicit Port Jun 22, 2026
@loganoz loganoz requested a review from Copilot June 23, 2026 07:08

Copilot AI 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.

Pull request overview

This PR expands the Navier–Stokes regression suite (notably cylinder cases) to cover additional Riemann solvers and updates expected monitor values accordingly, while also extending/porting explicit time integrators (RK5 + Explicit Euler) toward GPU/OpenACC execution paths. It also wires the new/updated tests into the repo’s configure script and CI workflows.

Changes:

  • Add new cylinder test cases/configs for additional Riemann solvers (Roe-Pike/Pirozzoli, viscous NS, u-diss, Rusanov) and update expected regression values.
  • Update Navier–Stokes Riemann-solver selection/description and adjust several solvers’ internal flux handling.
  • Update explicit time integrators (RK3/RK5/Euler) with OpenACC-oriented loop structures and refresh CI/configure coverage for the new tests.

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
Solver/test/NavierStokes/CylinderViscousStandard/SETUP/ProblemFile.f90 Adds a new cylinder regression problem file (viscous-NS solver) with expected monitor values.
Solver/test/NavierStokes/CylinderViscousStandard/CylinderViscousStandard.control Adds control file selecting the viscous NS Riemann solver and defining monitors.
Solver/test/NavierStokes/CylinderUdissStandard/SETUP/ProblemFile.f90 Adds a new cylinder regression problem file (u-diss solver) with expected monitor values.
Solver/test/NavierStokes/CylinderUdissStandard/CylinderUdissStandard.control Adds control file selecting the u-diss Riemann solver and defining monitors.
Solver/test/NavierStokes/CylinderRusanovStandard/SETUP/ProblemFile.f90 Updates regression metadata and expected values for the Rusanov-based cylinder run.
Solver/test/NavierStokes/CylinderRusanovStandard/CylinderRusanovStandard.control Switches the cylinder case to use the Rusanov Riemann solver.
Solver/test/NavierStokes/CylinderRoePikePirozzoli/SETUP/ProblemFile.f90 Updates regression metadata and expected values for the Roe-Pike/Pirozzoli cylinder run.
Solver/test/NavierStokes/CylinderRoePikePirozzoli/CylinderRoePikePirozzoli.control Sets solver/averaging to Roe-Pike + Pirozzoli for this regression.
Solver/src/libs/timeintegrator/ExplicitMethods.f90 Refactors RK3/RK5 and Explicit Euler stepping logic, adding OpenACC loop structures.
Solver/src/libs/physics/navierstokes/RiemannSolvers_NS.f90 Adds/handles viscous-NS solver in selector/describe; refactors several solvers’ flux-rotation handling; removes CentralRiemannSolver_acc.
Solver/configure Updates configured test-case list to include the new/renamed cylinder tests.
README.md Removes a performance note about specific Riemann solvers.
.github/workflows/CI_serial_GPU.yml Updates and extends GPU serial CI to run the new/renamed cylinder regressions.
.github/workflows/CI_parallel_NS.yml Updates and extends MPI CPU CI to run the new/renamed cylinder regressions.
.github/workflows/CI_parallel_GPU.yml Updates and extends MPI GPU CI to run the new/renamed cylinder regressions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Solver/src/libs/timeintegrator/ExplicitMethods.f90
Comment on lines 395 to 398
#if (defined(CAHNHILLIARD)) && (!defined(FLOW))
mesh % elements(id) % storage % G_CH = a(k)*mesh % elements(id) % storage % G_CH + mesh % elements(id) % storage % cDot
mesh % elements(id) % storage % c = mesh % elements(id) % storage % c + c(k)*deltaT* mesh % elements(id) % storage % G_CH
mesh % elements(id) % storage % G_CH = a(stage)*mesh % elements(id) % storage % G_CH + mesh % elements(id) % storage % cDot
mesh % elements(id) % storage % c = mesh % elements(id) % storage % c + c(stage)*deltaT* mesh % elements(id) % storage % G_CH
#endif
Comment on lines +725 to +727
#if (defined(CAHNHILLIARD)) && (!defined(FLOW))
mesh % elements(id) % storage % c = mesh % elements(id) % storage % c + deltaT * mesh % elements(id) % storage % cDot
#endif

Copilot AI 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.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 2 comments.

Comment on lines +614 to +615
! Called at the the end of the main driver after
! everything else is done.
Comment on lines +614 to +615
! Called at the the end of the main driver after
! everything else is done.
@Rodrigoansf Rodrigoansf changed the title Missing Riemann Solvers, RK5 and EulerExplicit Port Ported Missing Riemann Solvers. Ported RK5 and Euler. SSPRK33, SSPRK43 and Limiter cherrypick from Zalbanob-Refactor Jun 24, 2026
@loganoz

loganoz commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

@copilot resolve the merge conflicts in this pull request

Copilot AI commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

@copilot resolve the merge conflicts in this pull request

Merge conflicts resolved in db648c7. The merge with develop completed cleanly with no conflicts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants