Potential (galpy.potential
)¶
3D potentials¶
General instance routines¶
Use as Potential-instance.method(...)
In addition to these, the NFWPotential
also has methods to calculate virial quantities
General 3D potential routines¶
Use as method(...)
- dvcircdR
- epifreq
- evaluateDensities
- evaluatephiforces
- evaluatePotentials
- evaluateR2derivs
- evaluateRzderivs
- evaluateRforces
- evaluaterforces
- evaluatez2derivs
- evaluatezforces
- flattening
- lindbladR
- nemo_accname
- nemo_accpars
- omegac
- plotDensities
- plotEscapecurve
- plotPotentials
- plotRotcurve
- rl
- turn_physical_off
- turn_physical_on
- vcirc
- verticalfreq
- vesc
- vterm
In addition to these, the following methods are available to compute expansion coefficients for the SCFPotential
class for a given density
Specific potentials¶
All of the following potentials can also be modified by the specific WrapperPotentials
listed below.
Spherical potentials¶
Axisymmetric potentials¶
- Double exponential disk potential
- Flattened Power-law potential
- Interpolated axisymmetric potential
- Interpolated SnapshotRZ potential
- Kuzmin disk potential
- Kuzmin-Kutuzov Staeckel potential
- Logarithmic halo potential
- Miyamoto-Nagai potential
- Three Miyamoto-Nagai disk approximation to an exponential disk
- Razor-thin exponential disk potential
- Axisymmetrized N-body snapshot potential
Triaxial, spiral, and bar potentials¶
All galpy
potentials can also be made to rotate using the SolidBodyRotationWrapperPotential
listed in the section on wrapper potentials below.
General Poisson solvers for disks and halos¶
In addition to these classes, a simple Milky-Way-like potential fit to
data on the Milky Way is included as
galpy.potential.MWPotential2014
(see the galpy
paper for
details). Note that this potential assumes a circular velocity of 220
km/s at the solar radius at 8 kpc; see arXiv/1412.3451 for full information on how this
potential was fit. This potential is defined as
>>> bp= PowerSphericalPotentialwCutoff(alpha=1.8,rc=1.9/8.,normalize=0.05)
>>> mp= MiyamotoNagaiPotential(a=3./8.,b=0.28/8.,normalize=.6)
>>> np= NFWPotential(a=16/8.,normalize=.35)
>>> MWPotential2014= [bp,mp,np]
and can thus be used like any list of Potentials
. If one wants to
add the supermassive black hole at the Galactic center, this can be
done by
>>> from galpy.potential import KeplerPotential
>>> from galpy.util import bovy_conversion
>>> MWPotential2014.append(KeplerPotential(amp=4*10**6./bovy_conversion.mass_in_msol(220.,8.)))
for a black hole with a mass of \(4\times10^6\,M_{\odot}\).
As explained in this section, without this black
hole MWPotential2014
can be used with Dehnen’s gyrfalcON code
using accname=PowSphwCut+MiyamotoNagai+NFW
and
accpars=0,1001.79126907,1.8,1.9#0,306770.418682,3.0,0.28#0,16.0,162.958241887
.
An older version galpy.potential.MWPotential
of a similar
potential that was not fit to data on the Milky Way is defined as
>>> mp= MiyamotoNagaiPotential(a=0.5,b=0.0375,normalize=.6)
>>> np= NFWPotential(a=4.5,normalize=.35)
>>> hp= HernquistPotential(a=0.6/8,normalize=0.05)
>>> MWPotential= [mp,np,hp]
galpy.potential.MWPotential2014
supersedes
galpy.potential.MWPotential
.
2D potentials¶
General instance routines¶
Use as Potential-instance.method(...)
General axisymmetric potential instance routines¶
Use as Potential-instance.method(...)
General 2D potential routines¶
Use as method(...)
Specific potentials¶
All of the 3D potentials above can be used as two-dimensional potentials in the mid-plane.
In addition, a two-dimensional bar potential, two spiral potentials, the Henon & Heiles (1964) potential, and some static non-axisymmetric perturbations are included
1D potentials¶
General instance routines¶
Use as Potential-instance.method(...)
General 1D potential routines¶
Use as method(...)
Specific potentials¶
One-dimensional potentials can also be derived from 3D axisymmetric potentials as the vertical potential at a certain Galactocentric radius
Potential wrappers¶
Gravitational potentials in galpy
can also be modified using wrappers, for example, to change their amplitude as a function of time. These wrappers can be applied to any galpy
potential (although whether they can be used in C depends on whether the wrapper and all of the potentials that it wraps are implemented in C). Multiple wrappers can be applied to the same potential.