I've done enough prototyping for the solvers to basically understand how to use Numba in a way that at least doesn't raise errors. I'm not totally happy with how I've written the prototype code. It feels like there ought to be a clearer way to express the core algorithms, and I say that even though this code is a relatively straightforward port of the previous version. It was never particularly well-explained, and that's only going to get worse as I get together the stuff I need for more numerically sophisticated algorithms. I've currently prototyped the Euler method, Heun's method I think, and classic Runge-Kutta. I've only really tested the Euler prototype because effort, but I'm planning some more things to implement.
I think at this point, I either have to commit to using the cruft clone in some capacity, or just manually set up the repo again.
Things I have in mind once I have a repo together:
- A variety of helper functions to un-clutter the current prototype definitions.
- Simple harmonic motion system.
- Basic invariant checks for the harmonic system.
- Port over more complicated code, like the variable-step methods, and some other things that I did not document well. Also, other systems and their associated checks.
- Other methods.
Anyway, I'm going to try to prototype some of those helper functions while this posts.