aspect icon indicating copy to clipboard operation
aspect copied to clipboard

[WIP] use SUNDIALS to compute reaction

Open jdannberg opened this issue 1 year ago • 1 comments

First version of using SUNDIALS in the operator splitting routine. If you have any feedback on the general structure, let me know! For now, I have ignored the possibility that temperature and composition might use different finite elements. I have also simply replaced the old version instead of checking if deal.ii is compiled with SUNDIALS.

I am also looking for feedback on how to pick the input parameters for ARKode.

  • [x] I have followed the instructions for indenting my code.

For new features/models or changes of existing features:

  • [x] I have tested my new feature locally to ensure it is correct.
  • [ ] I have created a testcase for the new feature/benchmark in the tests/ directory.
  • [ ] I have added a changelog entry in the doc/modules/changes directory that will inform other users of my change.

jdannberg avatar Jul 15 '23 00:07 jdannberg

I addressed your comments (other than the last one about the steps), so my next question would be: how do we want to move forward with this? At the moment, we don't even have a section for the operator splitting in the timer output, so I do not know how this change affects the runtime. So that could be something to add in a separate PR?

We have some test cases with an analytical solution, so we do know that the new solution is more accurate now. But do we need to quantify this? Do we want to make the tolerance an input parameter?

Other than that, if this looks reasonable, I could now also add the implementation for the case where temperature and composition have different finite elements.

And finally, do we want to wait with this until we require SUNDIALS, or should I keep the old code and add a check if we have SUNDIALS?

jdannberg avatar Aug 02 '23 21:08 jdannberg