-
Notifications
You must be signed in to change notification settings - Fork 196
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
Boundary condition ordering #3342
Comments
Another solution, slightly more complex but that allows us to keep the current execution model is to separate the sides only on communicating boundary conditions |
Ok, and to clarify, the issue is cropping up now because we are trying to distribute a model / grid along a If we don't consider distributed problems, this issue never occurs: either both sides are Periodic, or bounded. |
exactly this is the issue with communication that pops up also in shared cases (multi-region) |
So how do you eliminate ordering requirements? (Why do we have ordering requirements in the first place?) |
ordering requirements are necessary for filling corner halos. To remove order requirements we would need to fill the halo for flux, value, and gradient also in the corners. This can be prevented by wrapping the array in a Maybe in the future, we might want to eliminate the order requirement though. So we can keep this issue open. |
Why don't we discontinue support for array boundary conditions and only support Field? |
It's better practice to use |
This was fixed in #3338 |
At the moment, the fill halo regions follow a particular ordering where
Flux, Value, Gradient > Periodic
Periodic > Halo Communication
where > indicates the priority of execution.
We also fill the two sides of one direction together.
This execution order cannot be respected in case:
The possible solutions are two:
fill_halo_regions!
(at the moment onlyPeriodic
fills the corners)probably the first solution is better because it leads to simpler code both in terms of actual implementation and in terms of logic of execution
The text was updated successfully, but these errors were encountered: