Conditional auxiliary halo exchange when turbulence is not used#53
Conditional auxiliary halo exchange when turbulence is not used#53
Conversation
|
@MikeW097 thanks for opening this branch for work on this. I think we should introduce a dedicated configuration option to explicitly turn auxfield computation on and off, and make that one required to be on if there is turbulence to be computed. What we then need in addition is to respect this flag in the computation of derived quantities for tracking (as we can take the already computed values from the auxfield if available, but otherwise have to compute them). |
|
@haraldkl I understand the point about tracking derived quantities, but I think handling this implicitly based on the turbulence model solves everything without the need for an extra configuration option. Based on my understand:
Adding an implicit control is enough in both auxiliary and tracking:
|
|
@MikeW097 sounds reasonable, we can introduce the flag, and set it purely based on solver logic, without the possibility to change it in the user configuration. |
|
I think, we can push this into |
Signed-off-by: Harald Klimach <harald.klimach@dlr.de>
b629820 to
2973f51
Compare
|
@haraldkl It would be possible to fully deactivate the auxfield computation, but that would require more intrusive changes. Several kernels at the moment directly rely on density and velocity stored in the auxfield. Completely skipping aux computation would therefore require restructuring the kernels so that the physical variables are computed on the fly inside the kernel itself. |
|
@MikeW097 OK, thanks, we could still consider pushing the flag into the auxfield type itself during initialization. Then we do not need to carry it around in all the calls. Otherwise, we can stick with it as is and merge this. |
|
@haraldkl Thank you for your feedback. I agree that it’s best to keep the interface unchanged, and it can also avoid any unintended downstream effects inside ApesMate. As my recent changes were on top of my previous commit rather than yours. To avoid overwriting your work, I’ve pushed my updates to a new branch instead of force-updating the existing one. Please see #55 for new changes. |
|
@haraldkl Yes, and also apes-suite/musubi#58, if you prefers the implementation shown in #55. |
|
I think #55 would be preferable, as we keep the flag in the entity that is directly concerned with it. |
Following Harald’s suggestion:
This PR implements the first step in that direction by avoiding the aux-field halo exchange when the turbulence model is not required.