-
Notifications
You must be signed in to change notification settings - Fork 98
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The approach described in #276 is implemented to optimize the performance of the case where no subcycling is occurring. When Poisson gravity is enabled, this allows for a single composite solve (across all levels) per coarse step, as opposed to multiple level solves, which are significantly less efficient, particularly on GPUs. This results in a significant performance boost for problems with Poisson gravity that do not subcycle. basic idea. In Castro_advance_ctu, we are doing: * For all levels: do first Strang burn and old sources * For all levels: do hydro advance * Perform reflux operation to sync levels * Perform composite gravity solve on all levels * For all levels: do new sources and second Strang burnvels: do first Strang burn and old sources since all levels complete their advance during the coarse step, the advance () function on the fine levels is a no-op and returns immediately the changes to Castro::reflux() are about dealing with the fact that a lot of the complexity of reflux() is unnecessary if you do it immediately after the hydro; for example, you can skip that gravity sync solve, because we are just not even doing a gravity solve until after the hydro has completed the changes to Castro_gravity() are about skipping the Poisson solve at the old time, and replacing the Poisson solve at the new time with a multi-level composite solve
- Loading branch information
1 parent
9dff540
commit 262f79b
Showing
13 changed files
with
290 additions
and
143 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.