sxs-collaboration / spectre

SpECTRE is a code for multi-scale, multi-physics problems in astrophysics and gravitational physics.
https://spectre-code.org
Other
160 stars 188 forks source link

Refactor evolution systems into pointwise functions #3525

Open nilsdeppe opened 3 years ago

nilsdeppe commented 3 years ago

As part of a resulting discussion from #3448 @nilsleiffischer @yoonso0-0 @kidder @wthrowe and I came up with the following idea on how to refactor a lot of what is currently in Evolution/Systems into PointwiseFunctions. This will allow us to eliminate a large number of cyclic dependencies, and will also mean more python bindings can (relatively) easily by added. We are soliciting feedback on the suggested refactor. Probably the earliest any such refactoring would actually happen is early Oct. 2021.

3448 will only add the PointwiseFunctions/InitialDataUtilities directory and library. The larger refactors will be done at a later time.

nilsvu commented 3 years ago

This may be obvious, but I would like to emphasize that, in the example above, the BurgersSystem library depends on Burgers, but not the other way 'round. Therefore: