[WIP] Pressure Based Flow Solver V8
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 --allto 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)
Navier Stokes Solver: Incompressible Hydrofoil case Pressure-based (PB) vs Density Based (DB)
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.
Target branch is master, you probably wanted it to be develop?
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.
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.
And let's throw out everything that is not related to the PB solver.
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.
Test cases added,
@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.
NSSolver Vorticity error fixed. RANS Solver starts without crashing, results yet to be benchmarked.