# surface_of_section¶

gala.dynamics.surface_of_section(orbit, plane_ix, interpolate=False)[source]

Generate and return a surface of section from the given orbit.

Warning

This is an experimental function and the API may change.

Parameters
orbitOrbit
plane_ixint

Integer that represents the coordinate to record crossings in. For example, for a 2D Hamiltonian where you want to make a SoS in $$y-p_y$$, you would specify plane_ix=0 (crossing the $$x$$ axis), and this will only record crossings for which $$p_x>0$$.

interpolatebool (optional)

Whether or not to interpolate on to the plane of interest. This makes it much slower, but will work for orbits with a coarser sampling.

Examples

If your orbit of interest is a tube orbit, it probably conserves (at least approximately) some equivalent to angular momentum in the direction of the circulation axis. Therefore, a surface of section in R-z should be instructive for classifying these orbits. TODO…show how to convert an orbit to Cylindrical..etc…