Skip to content
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

Hydrostatic condition for open domain #91

Open
mameehan5 opened this issue May 27, 2022 · 10 comments
Open

Hydrostatic condition for open domain #91

mameehan5 opened this issue May 27, 2022 · 10 comments

Comments

@mameehan5
Copy link

Hi all,

I am looking to run a buoyancy-driven flow that is open to atmospheric conditions. However, when running a simulation with boundary conditions specified as "Outflow" normal to the direction of gravity, the hydrostatic condition induced by the gravitational field disappears.

To show this most clearly, starting from the HotBubble tutorial case, the following conditions

geometry.is_periodic = 1 0               # For each dir, 0: non-perio, 1: periodic
peleLM.lo_bc = Interior NoSlipWallAdiab
peleLM.hi_bc = Interior Outflow

produced an avg_pressure field (using yt)

as expected for the first snapshot with a hydrostatic condition.

Using

geometry.is_periodic = 0 0               # For each dir, 0: non-perio, 1: periodic
peleLM.lo_bc = NoSlipWallAdiab NoSlipWallAdiab
peleLM.hi_bc = NoSlipWallAdiab Outflow

produced

Again, this is expected.

And finally, using

geometry.is_periodic = 0 0               # For each dir, 0: non-perio, 1: periodic
peleLM.lo_bc = Outflow NoSlipWallAdiab
peleLM.hi_bc = Outflow Outflow

produced

This last image I would have expected to be quite similar to the other two. Is there a physical justification for this behavior or a bug? If the former, is there a way to introduce the hydrostatic condition?

Thank you very much!!

@mameehan5
Copy link
Author

I realized now that I can just force the hydrostatic condition with gradP0 for fix my personal simulations. However, I still would like confirmation this is the expected behavior before closing, so please let me know!

@esclapez
Copy link
Collaborator

esclapez commented May 31, 2022

That rings a bell with an old issue of PeleLM that @nickwimer found a while back.
I'll see if the solution implemented in:
AMReX-Combustion/IAMR@9f5f52d
can fix the issue.

@mameehan5
Copy link
Author

Sounds great! Those snippets do seem like they would do the trick.

@nickwimer
Copy link
Collaborator

Just checking in to see if this issue has been resolved?

@esclapez
Copy link
Collaborator

esclapez commented Jul 1, 2022

Not yet, the entire infrastructure to handle the phi BC isn't setup in LMeX. I'm thinking it could actually live into AMReX-Hydro projectors, but I need to discuss that with the LBNL team.

@Alex-jian522
Copy link

Is this problem solved now?

@mameehan5
Copy link
Author

For myself, I just set gradP0 for the hydrostatic condition I need. This seems to work well, and in fact, may even be better than what I posted as the problem because this is no ambiguity as to what the ambient density would be. I will let the developers decide whether they want to pursue this further or close the issue.

@nickwimer
Copy link
Collaborator

I am in the middle of a rewrite to sections of the code to fix the underlying issue at play here. In the meantime, @mameehan5 would you be willing to share your solution involving the gradP0? It might be a good "band-aid" solution that we can patch for others facing the same type of issue in the short term.

@mameehan5
Copy link
Author

Yep! In the input file, if using gravity, say peleLM.gravity = 0 0 -9.81, I define peleLM.gradP0 to be g*rhoinf where rhoinf is the ambient density. So then buoyancy is only generated where there is a density difference (i.e., density different than the ambient).

@drummerdoc
Copy link

Did this get resolved @nickwimer ?

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

No branches or pull requests

5 participants