Closed ekeever1 closed 10 years ago
In the larger evolution scheme (where source terms have no advection), several groupings of operators commute: { self gravity, pure mechanical forces, radiation }.
Currently working to move several purely mechanical forces (constant gravity, fixed potential, rotating frame) into a single call configured by a Matlab class.
This was a misunderstanding. Sourcing terms must be left in 1st order form owing to the nature of the operator splitting scheme.
Sourcing terms need to be rewritten to use the same RK2 method as used in the fluid update step.
This requires no more storage than the fluid update step, at the price that the source term kernels must be "written twice," one to store a prediction step and one to update the original arrays in place, just like the fluid update. I think.
Kernel templating likely to be essential.