|  | Home | Libraries | People | FAQ | More | 
        This concept describes how to define a symplectic system written with generalized
        coordinate q and generalized
        momentum p:
      
q'(t) = f(p)
p'(t) = g(q)
Such a situation is typically found for Hamiltonian systems with a separable Hamiltonian:
H(p,q) = Hkin(p) + V(q)
which gives the equations of motion:
q'(t) = dHkin / dp = f(p)
p'(t) = dV / dq = g(q)
        The algorithmic implementation of this situation is described by a pair of
        callable objects for f and g with
        a specific parameter signature. Such a system should be implemented as a
        std::pair of functions or a functors. Symplectic systems are used in symplectic
        steppers like symplectic_rkn_sb3a_mclachlan.
      
SystemA type that is a model of SymplecticSystem
CoorThe type of the coordinate q
MomentumThe type of the momentum p
CoorDerivThe type of the derivative of coordinate q'
MomentumDerivThe type of the derivative of momentum p'
sys
              An object of the type System
            
qObject of type Coor
pObject of type Momentum
dqdtObject of type CoorDeriv
dpdtObject of type MomentumDeriv
| Name | Expression | Type | Semantics | 
|---|---|---|---|
| Check for pair | 
                   | 
                   | Check if System is a pair | 
| Calculate dq/dt = f(p) | 
                   | 
                   | 
                  Calculates f(p), the result is stored into
                   | 
| Calculate dp/dt = g(q) | 
                   | 
                   | 
                  Calculates g(q), the result is stored into
                   |