ammarhakim / gkyl

This is the main source repo for the Gkeyll 2.0 code. Please see gkeyll.rtfd.io for details.
https://gkeyll.readthedocs.io/en/latest/
56 stars 15 forks source link

Separate Vlasov objects #140

Open manauref opened 1 year ago

manauref commented 1 year ago

Vlasov objects are growing in complexity. I propose that we separate them, especially in the app system.

For example, when you look at the MaxwellField app there are lots of if-statements where it checks whether the plasmaB exists, if it does then it assumes VM, otherwise it assumes VP. Maybe we should just have separate Maxwell and Poisson apps. Just an idea.

Of course there are other models that add further complexity (SR Vlasov, PKPM) in both the field and the species code. Some of this could be simplified with separation.

Reason for this proposal: to reduce risk of breaking one model when modifying another.

ammarhakim commented 1 year ago

We need to wait on this for a short while before the separation. We are trying to wrap some of the Vlasov-App code via Lua-C API directly to make the process less error prone. It will also simplify this refactoring proposed here.