galpy.orbit.Orbit.plotBruteSOS

Orbit.plotBruteSOS(t, pot, *args, ncross=500, surface=None, t0=0.0, method='dop853_c', skip=100, progressbar=True, **kwargs)[source]

NAME:

plotBruteSOS

PURPOSE:

Calculate and plot a surface of section of the orbit computed using bruteSOS

INPUT:

t - list of times at which to output (0 has to be in this!) (can be Quantity)

pot - Potential or list of such instances

surface= (None) surface to punch through (this has no effect in 3D, where the surface is always z=0, but in 2D it can be ‘x’ or ‘y’ for x=0 or y=0)

integration keyword arguments:

method = ‘odeint’ for scipy’s odeint

‘leapfrog’ for a simple leapfrog implementation ‘leapfrog_c’ for a simple leapfrog implementation in C ‘symplec4_c’ for a 4th order symplectic integrator in C ‘symplec6_c’ for a 6th order symplectic integrator in C ‘rk4_c’ for a 4th-order Runge-Kutta integrator in C ‘rk6_c’ for a 6-th order Runge-Kutta integrator in C ‘dopr54_c’ for a 5-4 Dormand-Prince integrator in C ‘dop853’ for a 8-5-3 Dormand-Prince integrator in Python ‘dop853_c’ for a 8-5-3 Dormand-Prince integrator in C

progressbar= (True) if True, display a tqdm progress bar when integrating multiple orbits (requires tqdm to be installed!)

for more control of the integrator, use the bruteSOS method directly and plot its results

matplotlib.plot inputs+galpy.util.plot.plot inputs

OUTPUT:

sends plot to output device

HISTORY:

2023-05-31 - Written - Bovy (UofT)