-
Notifications
You must be signed in to change notification settings - Fork 83
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
Offshore boundary plane failing time tolerance #1342
Comments
I did some more investigating, but have not been able to figure out a quick fix. I changed the time tolerance from
I also added some print statements into
Surprisingly, the values of
I assume that One more update: if I comment out |
I'm confident I found the problem. The time passed to a vof fillpatch (within the advection step) is not valid, leading to a problem with this assertion. I'm not sure what the best solution is, but to confirm this is the problem, you could try running without vof as one of the bndry variables. This would also explain why this problem is showing up for offshore ABLs in particular. |
Yep, I can confirm! If I run with my code that was compiled back in October and I set |
Putting these here for myself and other developers: both of these would lead to breaking the assertion. The second one is easy to fix. The first one is a problem for two reasons:
|
When you get a chance, could you also check with the more recent code, and just taking vof out of the input bndry variable names? No hurry |
It's a quick thing for me to check :) I un-uncommented the |
Adding to our previous discussion, I randomly get a code crash at :
It happens on both CPUs and GPUs. I would say 10% of my cases see this issue. |
@hgopalan could you make a separate issue with a testable example? That's a different problem than what Alex is seeing. |
So... when I submitted the issue, I unfortunately set up my inflow-outflow simulation incorrectly. While I set I'm now trying to run the inflow-outflow simulation with:
The simulation now errors out with
This error is being reported by |
Harish suggested setting |
Thanks, @hgopalan, that's a great suggestion for this scenario |
I ran the simulation out for 200 iterations (10 seconds). Based off the vof field by the end of the simulation, the numerical beach is indeed damping the waves. Here's pressure at that last step too. Unfortunately, u, v, w, and T look funny at the outflow. This feels like I botched something with the inflow-outflow |
are you using ABL Mean Boussinesq in there too? |
Nope, good catch. I've added ABL Mean Boussinesq in there. I've also run the
After making that change, my inflow-outflow simulation ran for the full requested two minutes without any obvious issues (u, v, w, T)! Whereas the above simulations didn't have any refinement zones, I also ran ~20 seconds of an inflow-outflow simulation with two levels of refinement. The u, v, w, and T fields also look good there! I've attached the read and write I'm going to do some more futzing around now, where I take BCs from a spun-up simulation and I try to drive a simulation with quiescent ICs, but that's not relevant to this issue. The VoF fillpatch workaround that I've been using looks like it works great for the time being, so there's no pressing need from me to thinking about the VoF fillpatch code more rigorously. Thanks for the help! |
That's awesome news @rybchuk . Good to close the issue then? |
@rybchuk, do you think you could try out the above pull request to see if it passes the asserts when you include vof as a boundary variable? |
Bug description
Likely related to this PR, and I am using the most recent commit on
main
,740679c8
. I'm running an offshore ABL simulation with linear waves. I have achieved a spun-up state at iteration80000
, and now I am trying to run an inflow-outflow simulation. I believe that I have successfully written out boundary planes using the following:(I know that I'm probably saving out too many boundary variables, but I saw the same error with
= velocity temperature vof
)I then kick off the inflow-outflow simulation using the following variables:
The simulation errors out during the first timestep.
Steps to reproduce
I have shared all the files needed to run the bc-write simulation and bc-read simulation in
/scratch/orybchuk/share/debug_inflow_outflow
on Kestrel. I've uploaded many of the files (aside from the large ones) here too.debug_inflow_outflow.zip
Steps to reproduce the behavior:
Kestrel
.zip
file.N/A
Expected behavior
The bc-read simulation should run past the first timestamp without crashing.
AMR-Wind information
Additional context
I tried initializing the bc-read simulation from
chk80000
andchk80010
, and it fails for both checkpoints.For the record, the timing of
chk80010
looks likeStep: 80011 dt: 0.05 Time: 6542.942863 to 6542.992863
, and the first few timestamps of the BC are:so the BC definitely has data before the IC. The precursor simulation was run with an adaptive timestamp, but the bc-write and bc-read simulations are currently being run with a small fixed timestamp. I was also hitting the same error with a version of AMR-Wind that I compiled from
main
in October.The text was updated successfully, but these errors were encountered: