SU2 icon indicating copy to clipboard operation
SU2 copied to clipboard

[WIP] Pressure Based Flow Solver V8

Open NAnand-TUD opened this issue 1 year ago • 8 comments

Proposed Changes

Give a brief overview of your contribution here in a few sentences. Reimplemented pressure-based solver from feature_Pressure_based into the development branch.

Related Work

branch: feature_Pressure_based

PR Checklist

Put an X by all that apply. You can fill this out after submitting the PR. If you have any questions, don't hesitate to ask! We want to help. These are a guide for you to know what the reviewers will be looking for in your contribution.

  • [X ] I am submitting my contribution to the develop branch.
  • [ ] My contribution generates no new compiler warnings (try with --warnlevel=3 when using meson).
  • [ X] My contribution is commented and consistent with SU2 style (https://su2code.github.io/docs_v7/Style-Guide/).
  • [ ] I used the pre-commit hook to prevent dirty commits and used pre-commit run --all to format old commits.
  • [ ] I have added a test case that demonstrates my contribution, if necessary.
  • [ ] I have updated appropriate documentation (Tutorials, Docs Page, config_template.cpp), if necessary.

Euler Solver: Incompressible cylinder case Pressure based (PB) vs Density Based (DB) incomp_cylinder incomp_cylinder_history

Navier Stokes Solver: Incompressible Hydrofoil case Pressure-based (PB) vs Density Based (DB) NACA0012_hydrofoil NACA0012_hydrofoil_history

Still TODOs

  • Fixing RANS: Current CIncPBVariable inherits CVariable instead of CFlowVariable, if this is fixed RANS should work.
  • Fixing MPI: The problem is currently unknown
  • Fixing ND: non-dimensionalization is different in the two solvers. It should be harmonized.
  • Multigrid: A PB multigrid is available but has not been tested.
  • Small style changes.

NAnand-TUD avatar Feb 14 '24 08:02 NAnand-TUD

Target branch is master, you probably wanted it to be develop?

jblueh avatar Feb 14 '24 15:02 jblueh

But kudos for bringing this up to speed of course. Maybe to start you and other reviewers can try to point out what aspects of this solver we can take from IncEuler and IncNs and the base flow solver.

pcarruscag avatar Feb 14 '24 16:02 pcarruscag

Yes, I plan to invest some time here and there to finish this, but, not everything here falls under my expertise. I am currently making CPBIncEulerVariable to inherit CFlowVariable (instead of CVariable). This should already remove some duplication.

NAnand-TUD avatar Feb 15 '24 10:02 NAnand-TUD

And let's throw out everything that is not related to the PB solver.

bigfooted avatar Feb 15 '24 10:02 bigfooted

I pointed the PB solver to the existing vorticity and strain mag. functions and removed the heat.cpp file. If you can make your testcase available, then we can already setup our own regression tests.

bigfooted avatar Feb 15 '24 11:02 bigfooted

Test cases added,

NAnand-TUD avatar Feb 15 '24 16:02 NAnand-TUD

@bigfooted : I fixed the CFlowVariable thing. Many CPBIncEulerVariables are now commented out. CPBIncEulerSolver has the same behaviour as before now, however, PBIncNVSolver is crashing due to the initialization of vorticity. Maybe you can fix that.

NAnand-TUD avatar Feb 15 '24 21:02 NAnand-TUD

NSSolver Vorticity error fixed. RANS Solver starts without crashing, results yet to be benchmarked.

NAnand-TUD avatar Feb 20 '24 15:02 NAnand-TUD