.. _potential-api: Potential (``galpy.potential``) ================================ 3D potentials ------------- General instance routines +++++++++++++++++++++++++ Use as ``Potential-instance.method(...)`` .. toctree:: :maxdepth: 2 __call__ dens dvcircdR epifreq flattening lindbladR mass nemo_accname nemo_accpars omegac phiforce phi2deriv plot plotDensity plotEscapecurve plotRotcurve R2deriv Rzderiv Rforce rforce rl toPlanar toVertical turn_physical_off turn_physical_on vcirc verticalfreq vesc vterm z2deriv zforce In addition to these, the ``NFWPotential`` also has methods to calculate virial quantities .. toctree:: :maxdepth: 2 conc mvir rvir General 3D potential routines +++++++++++++++++++++++++++++ Use as ``method(...)`` .. toctree:: :maxdepth: 2 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 .. toctree:: :maxdepth: 2 scf_compute_coeffs scf_compute_coeffs_axi scf_compute_coeffs_spherical Specific potentials ++++++++++++++++++++ Spherical potentials ********************* .. toctree:: :maxdepth: 2 potentialburkert.rst potentialdoublepowerspher.rst potentialjaffe.rst potentialhernquist.rst potentialisochrone.rst potentialkepler.rst potentialnfw.rst potentialplummer.rst potentialpowerspher.rst potentialpowerspherwcut.rst potentialpseudoiso.rst Axisymmetric potentials ************************ .. toctree:: :maxdepth: 2 potentialdoubleexp.rst potentialflattenedpower.rst potentialinterprz.rst potentialinterpsnapshotrzpotential.rst potentialkuzmindisk.rst potentialkuzminkutuzov.rst potentialloghalo.rst potentialmiyamoto.rst potential3mn.rst potentialrazorexp.rst potentialsnapshotrzpotential.rst Triaxial potentials ********************* .. toctree:: :maxdepth: 2 potentialdoublepowertriaxial.rst potentialmovingobj.rst potentialscf.rst potentialtriaxialjaffe.rst potentialtriaxialhernquist.rst potentialtriaxialnfw.rst .. _potential-mw: 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 :math:`4\times10^6\,M_{\odot}`. As explained in :ref:`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(...)`` .. toctree:: :maxdepth: 2 __call__ phiforce Rforce turn_physical_off turn_physical_on General axisymmetric potential instance routines ++++++++++++++++++++++++++++++++++++++++++++++++ Use as ``Potential-instance.method(...)`` .. toctree:: :maxdepth: 2 epifreq lindbladR omegac plot plotEscapecurve plotRotcurve vcirc vesc General 2D potential routines +++++++++++++++++++++++++++++ Use as ``method(...)`` .. toctree:: :maxdepth: 2 evaluateplanarphiforces evaluateplanarPotentials evaluateplanarRforces evaluateplanarR2derivs LinShuReductionFactor plotEscapecurve plotplanarPotentials plotRotcurve turn_physical_off turn_physical_on Specific potentials ++++++++++++++++++++ All of the 3D potentials above can be used as two-dimensional potentials in the mid-plane. .. toctree:: :maxdepth: 2 toPlanarPotential (general) RZToplanarPotential In addition, a two-dimensional bar potential and a two spiral potentials are included .. toctree:: :maxdepth: 2 potentialdehnenbar.rst potentialcosmphidisk.rst potentialellipticaldisk.rst potentiallopsideddisk.rst potentialsteadylogspiral.rst potentialtransientlogspiral.rst 1D potentials ------------- General instance routines +++++++++++++++++++++++++ Use as ``Potential-instance.method(...)`` .. toctree:: :maxdepth: 2 __call__ force plot turn_physical_off turn_physical_on General 1D potential routines +++++++++++++++++++++++++++++ Use as ``method(...)`` .. toctree:: :maxdepth: 2 evaluatelinearForces evaluatelinearPotentials plotlinearPotentials turn_physical_off turn_physical_on Specific potentials ++++++++++++++++++++ .. toctree:: :maxdepth: 2 KGPotential One-dimensional potentials can also be derived from 3D axisymmetric potentials as the vertical potential at a certain Galactocentric radius .. toctree:: :maxdepth: 2 RZToverticalPotential