-
-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2nd Order, Partitioned, and Symplectic ODEs #14
Comments
Yep, that would be good. Conversion is as usual by doubling the number of variables: |
oh true, that would be an easy promotion to do. And just double the size of the ODE, with the convention of |
But shouldn't it only save the values and not the derivatives (or optionally save the derivatives as |
We should get @michakraus in on this discussion. I think the path for this is to have a type structure here like:
Similarly for symplectic problems where one defines a Hamiltonian H(p,q) = ... # User has to ensure the symplectic property? we can have
and then for the final promotion
(Maybe throw in a I believe that this gives a way for GeometricIntegrators.jl to properly plug in at all of the right levels, and then have these problems have promoted versions to make things like |
Regarding symplectic integrators, my take on this is that for the time being the user just specifies the vector field, which can be partitioned or not, but there are no checks on symplecticity or the like. Pretty soon there should be an option to specify also invariants like energy or momentum, so that those can be computed automatically along with the solution of the problem, but again no checks of any kind. Regarding 2nd order ODEs, I haven't really thought about this, yet, but it would make sense to have an infrastructure for this, also without resorting to rewriting it as a system of 1st order ODEs. At last, standard variational integrators are discretisations of 2nd order ODEs... |
This setup of specifying the Hamiltonian/Lagrangian and auto-promoting it to a [Also, the infrastructure of ParameterizedFunctions.jl can easily be adapted to do these computations symbolically. This would take a little bit more work, but would be interesting.] But from re-reading Hairer II.16, I guess symplectic methods are just methods for |
Thanks for the inputs. The appropriate problem types were created for solvers. A DiffEqPhysics.jl was created to start a Physics DSL for Hamiltonian and Legrangians. Since the solvers are instead built to |
It would be nice to have a type for 2nd order ODEs
for things like Runge-Kutta-Nystrom methods. I know there are a bunch of methods which are specifically designed for these problems. Is there a way to also automatically have them convert to a 1st order ODE?
The text was updated successfully, but these errors were encountered: