Re: Problems with NDSolve and SymplecticPartitionedRungeKutta method
- To: mathgroup at smc.vnet.net
- Subject: [mg102304] Re: Problems with NDSolve and SymplecticPartitionedRungeKutta method
- From: "marks at wolfram.com" <marks at wolfram.com>
- Date: Tue, 4 Aug 2009 04:31:08 -0400 (EDT)
- References: <h4rp91$l0g$1@smc.vnet.net>
Your differential system does not appear to arise from a separable Hamiltonian H(p, q) = T(p) + V(q). This is becoming a more frequent question so I have improved the error message from NDSolve in the development version to reflect this: NDSolve::sprksep: The Hamiltonian of the differential system in the method SymplecticPartitionedRungeKutta does not appear to be in separable form. Try using the method ImplicitRungeKutta with coefficients ImplicitRungeKuttaGaussCoefficients. If you are sure the system is indeed Hamiltonian and is not separable the method ImplicitRungeKutta with coefficients suggested above is a good choice yielding a symplectic integrator. It is implicit, which is the price to pay for a more general solver. Used fixed point iteration for the nonlinear system solver at each step with tight tolerances (near MachinePrecision). There are examples of how to do this in the NDSolve advanced documentation. Mark Sofroniou Wolfram Research