-
Notifications
You must be signed in to change notification settings - Fork 186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lid-driven cavity verification experiment #572
Conversation
2039a97
to
728835b
Compare
Codecov Report
@@ Coverage Diff @@
## master #572 +/- ##
==========================================
- Coverage 72.61% 69.85% -2.76%
==========================================
Files 199 144 -55
Lines 5806 3281 -2525
==========================================
- Hits 4216 2292 -1924
+ Misses 1590 989 -601
Continue to review full report at Codecov.
|
EDIT: the pressure solver is, in fact, correct, as proven by the forced flow fixed slip test in #767. |
It's Re = 100 from the plots, which is the lowest Ghia et al. (1982) go. Could still be relatively high Re as far as pressure solver errors go... The "forced flow" test in #573 is better in this regard as it runs at Re = 1. |
d87b90d
to
4f49c5a
Compare
The above comment was incorrect. I've struck it through. The forced flow convergence tests in #767 run at Re = 1. |
7e22d8b
to
c4f67a8
Compare
c4f67a8
to
eb4002b
Compare
Alright after PR #910 I think we're good to go with this verification (we needed to compute vorticity at the top wall). I produced movies for each Re (100, 400, 1000, 3200, 5000, 7500, 10000) that I'm going to upload to YouTube and embed into the docs. I'm attaching the last frame from each movie here showing the agreement. Vorticity seems to agree very well. Velocities at higher Re don't agree exactly but I think it's close enough for this kind of verification (maybe more simulation time is needed to reach equilibrium, but there may be several other factors).
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the plotting script should be julia (because it easily can be and I think using fewer programming languages is better, especially if we recommend users to look to validation scripts for inspiration). But this is an important experiment so I'm approving; we can translate the plotting script later.
grid = RegularCartesianGrid(topology=topology, size=(1, N, N); domain...) | ||
|
||
v_bcs = VVelocityBoundaryConditions(grid, | ||
top = ValueBoundaryCondition(1.0), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Trivial side note: I think it's perfectly fine to use 1
instead of 1.0
and I do not think there is any effect on performance (since type promotion is cheap --- correct me if I'm wrong!)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah good point, the type promotion only happens once.
@ali-ramadhan should we merge? We might want to redo this experiment with new time-stepper and advection schemes, at which point we can rewrite the plotting script if we desire. |
I was going to update the documentation to include a page on this verification test/experiment and try to embed some YouTube videos, but yeah might be a good chance to translate the script and try RK3 + WENO if data needs to be generated again. |
This PR aims to add the lid-driven cavity as a verification experiment (first) and as a simple example (second) that is very well-known in the CFD world.
It's set up as a 2D problem in the yz plane. It also tests that horizontal/channel boundary conditions work.
The verification experiment aims to reproduce the results detailed by Ghia, Ghia, & Shin (1982).
Unfortunately right now it seems to blow up no matter what I do. Once the top plate is set in motion a vorticity anomaly makes its way along the top plate then down to the bottom plate at which point blow up seems to occur no matter the time step or Reynolds number.
A Physics StackExchange post suggested that quiescent initial conditions should be fine "although if the wall Mach number is large, the sudden impulse could be numerically destabilizing" which would only make sense for compressible models. I tried with vortical initial conditions too but no luck.