Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

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


  • Prev by Date: Re: Eigenvalues of sparse arrays
  • Next by Date: Why use OptionsPattern, OptionsValue ?
  • Previous by thread: Making your own Definitions using Operators without built in meanings
  • Next by thread: Why use OptionsPattern, OptionsValue ?