the Mass models module

Einasto model

pNbody.mass_models.einasto.Density(rho0, a, r, m=6.0, G=1.0)
Parameters
  • rho0 (specific density) –

  • a (scale length) –

  • r (radius) –

  • m (power (default=6)) –

  • G (gravitational constant (default=1)) –

pNbody.mass_models.einasto.Potential(rho0, a, r, m=6.0, G=1.0)
Parameters
  • rho0 (specific density) –

  • a (scale length) –

  • r (radius) –

  • m (power (default=6)) –

  • G (gravitational constant (default=1)) –

pNbody.mass_models.einasto.Vcirc(rho0, a, r, m=6.0, G=1.0)

Circular velocity

Parameters
  • rho0 (specific density) –

  • a (scale length) –

  • r (radius) –

  • m (power (default=6)) –

  • G (gravitational constant (default=1)) –

pNbody.mass_models.exponential.Kappa(Sigma0, Rd, R, G=1.0)

Radial picycle frequency

pNbody.mass_models.exponential.Kappa2(Sigma0, Rd, R, G=1.0)

Square of the Radial picycle frequency

pNbody.mass_models.exponential.Mass(Sigma0, Rd, R, G=1.0)

Exponential Mass inside R

pNbody.mass_models.exponential.Potential(Sigma0, Rd, Rmax, R, z, G=1.0)

Exponential Potential

pNbody.mass_models.exponential.SurfaceDensity(Sigma0, Rd, R, G=1.0)

Exponential Density

pNbody.mass_models.exponential.Vcirc(Sigma0, Rd, R, G=1.0)

Exponential Circular velocity

pNbody.mass_models.exponential.dRVcirc2(Sigma0, Rd, R, G=1.0)

Radial derivative of the square of the Exponential Circular velocity

hernquist model

pNbody.mass_models.hernquist.CumulativeMass(rho0, a, r, G=1.0)

Hernquist cumulative mass

pNbody.mass_models.hernquist.Density(rho0, a, r, G=1.0)
pNbody.mass_models.hernquist.Potential(rho0, a, r, G=1.0)
pNbody.mass_models.hernquist.TotalMass(rho0, a, G=1.0)

Hernquist total mass

pNbody.mass_models.hernquist.Vcirc(rho0, a, r, G=1.0)

circular velocity

homogeneous mass model

pNbody.mass_models.homosphere.Density(M, R, r, G=1.0)
pNbody.mass_models.homosphere.Potential(M, R, r, G=1.0)
pNbody.mass_models.homosphere.Vcirc(M, R, r, G=1.0)

Circular Velocity

pNbody.mass_models.homosphere.getRho(M, R)

return the sphere density

isochrone model

pNbody.mass_models.isochrone.Density(M, b, r, G=1.0)
pNbody.mass_models.isochrone.Potential(M, b, r, G=1.0)
pNbody.mass_models.isochrone.Vcirc(M, b, r, G=1.0)

circular velocity

isothermal model

pNbody.mass_models.isothermal.Density(rho0, a, r, G=1.0)
pNbody.mass_models.isothermal.Potential(rho0, a, r, G=1.0)
pNbody.mass_models.isothermal.Vcirc(rho0, a, r, G=1.0)

circular velocity

jaffe model

pNbody.mass_models.jaffe.Density(rho0, a, r, G=1.0)
pNbody.mass_models.jaffe.Potential(rho0, a, r, G=1.0)
pNbody.mass_models.jaffe.Vcirc(rho0, a, r, G=1.0)

circular velocity

pNbody.mass_models.kuzmin.Kappa(M, a, R, G=1.0)

Kuzmin Kappa

pNbody.mass_models.kuzmin.Omega(M, a, R, G=1.0)

Kuzmin-Nagai Omega

pNbody.mass_models.kuzmin.Potential(M, a, R, z, G=1.0)

Kuzmin Potential

pNbody.mass_models.kuzmin.SurfaceDensity(M, a, R, G=1.0)

Kuzmin Density

pNbody.mass_models.kuzmin.Vcirc(M, a, R, G=1.0)

Kuzmin Circular velocity

pNbody.mass_models.kuzmin.d2R_Potential(M, a, R, z, G=1.0)

second derivative in R

pNbody.mass_models.kuzmin.d2z_Potential(M, a, R, z, G=1.0)

second derivative in R

pNbody.mass_models.kuzmin.dR_Potential(M, a, R, z, G=1.0)

first derivative in R

pNbody.mass_models.kuzmin.dz_Potential(M, a, R, z, G=1.0)

first derivative in R

pNbody.mass_models.logarithmic.Kappa(v0, Rc, q, R, G=1.0)
pNbody.mass_models.logarithmic.Omega(v0, Rc, q, R, G=1.0)
pNbody.mass_models.mestel.SurfaceDensity(V, R, G=1.0)

Mestel Density

pNbody.mass_models.mestel.Vcirc(V, R, G=1.0)

Mestel Circular velocity

pNbody.mass_models.miyamoto.Density(M, a, b, R, z, G=1.0)

Miyamoto-Nagai Density

pNbody.mass_models.miyamoto.Kappa(M, a, b, R, G=1.0)

Miyamoto-Nagai Kappa

pNbody.mass_models.miyamoto.Omega(M, a, b, R, G=1.0)

Miyamoto-Nagai Omega

pNbody.mass_models.miyamoto.Potential(M, a, b, R, z, G=1.0)

Miyamoto-Nagai Potential

pNbody.mass_models.miyamoto.Sigma_t(M, a, b, R, z, G=1.0)

Return sigma_z from Jeans equation : 1/rho Int( rho * dzPhi * dz )

sigma_t^2 = R*d/dr(Phi) + R/rho*d/dr(rho*sigma_z^2)

pNbody.mass_models.miyamoto.Sigma_z(M, a, b, R, z, G=1.0)

Return sigma_z from Jeans equation : 1/rho Int( rho * dzPhi * dz )

pNbody.mass_models.miyamoto.Sigma_zbis(M, a, b, R, z, G=1.0)

Same than Sigma_z, but optimized

pNbody.mass_models.miyamoto.SurfaceDensity(M, a, b, R, G=1.0)

Miyamoto-Nagai Surface density

pNbody.mass_models.miyamoto.Vcirc(M, a, b, R, G=1.0)

Miyamoto-Nagai Circular velocity

pNbody.mass_models.miyamoto.d2R_Potential(M, a, b, R, z, G=1.0)

second derivative in R

pNbody.mass_models.miyamoto.d2z_Potential(M, a, b, R, z, G=1.0)

second derivative in R

pNbody.mass_models.miyamoto.dR_Potential(M, a, b, R, z, G=1.0)

first derivative in R

pNbody.mass_models.miyamoto.dz_Potential(M, a, b, R, z, G=1.0)

first derivative in R

nfw model

pNbody.mass_models.nfw.CumulativeMass(rho0, a, r, G=1.0)

Cumulative mass

pNbody.mass_models.nfw.Density(rho0, a, r, G=1.0)
pNbody.mass_models.nfw.Kappa(rho0, a, r, G=1.0)

Radial epicycle frequency

pNbody.mass_models.nfw.Kappa2(rho0, a, r, G=1.0)
pNbody.mass_models.nfw.Potential(rho0, a, r, G=1.0)
pNbody.mass_models.nfw.Vcirc(rho0, a, r, G=1.0)

circular velocity

plummer model

pNbody.mass_models.plummer.CumulativeMass(M, a, r, G=1.0)

Plummer cumulative mass

pNbody.mass_models.plummer.Density(M, a, r, G=1.0)

Plummer Density

pNbody.mass_models.plummer.LDensity(M, a, r, G=1.0)

Plummer Linear Density

pNbody.mass_models.plummer.Potential(M, a, r, G=1.0)

Plummer Potential

pNbody.mass_models.plummer.Sigma(M, a, r, G=1.0)

Return sigma (radial) from Jeans equation : 1/rho Int( rho * drPhi * dr )

pNbody.mass_models.plummer.TotalMass(M, a, G=1.0)

Plummer total mass

pNbody.mass_models.plummer.Vcirc(M, a, r, G=1.0)

Plummer circular velocity

pNbody.mass_models.plummer.dPotential(M, a, r, G=1.0)

Plummer first derivative of Potential

point mass model

pNbody.mass_models.pm.Density(M, r, G=1.0)
pNbody.mass_models.pm.Potential(M, r, G=1.0)
pNbody.mass_models.pm.Vcirc(M, r, G=1.0)

circular velocity

pNbody.mass_models.pm.dPotential(M, r, G=1.0)

first derivative of Potential

pseudo-isothermal model

pNbody.mass_models.pseudoisothermal.Density(rho0, a, r, G=1.0)
pNbody.mass_models.pseudoisothermal.Potential(rho0, a, r, G=1.0)
pNbody.mass_models.pseudoisothermal.Vcirc(rho0, a, r, G=1.0)

circular velocity

pNbody.mass_models.pseudomestel.Kappa(V, a, Rmax, R, G=1.0)
pNbody.mass_models.pseudomestel.Kappa2(V, a, Rmax, R, G=1.0)
pNbody.mass_models.pseudomestel.Omega(V, a, Rmax, R, G=1.0)
pNbody.mass_models.pseudomestel.Omega2(V, a, Rmax, R, G=1.0)
pNbody.mass_models.pseudomestel.SurfaceDensity(V, a, Rmax, R, G=1.0)

pseudo-Mestel Surface Density

pNbody.mass_models.pseudomestel.Vcirc(V, a, Rmax, R, G=1.0)

Mestel Circular velocity

pNbody.mass_models.pseudomestel.Vcirc2(V, a, Rmax, R, G=1.0)

Mestel Circular velocity

ring model

Lass & Blitzer 1982 see also galpy RingPotential.py (Bovy)

pNbody.mass_models.ring.Potential(M, R0, R, z, G=1.0)

Shell Potential

pNbody.mass_models.ring.dPotential(M, R0, R, z, G=1.0)

Shell first derivative of Potential

shell model

pNbody.mass_models.shell.Potential(M, R, r, G=1.0)

Shell Potential

pNbody.mass_models.shell.dPotential(M, R, r, G=1.0)

Shell first derivative of Potential

pNbody.mass_models.slabexp.Potential(Sigma0, kx, x, y, z, G=1.0)

Slab

pNbody.mass_models.slabexp.SurfaceDensity(Sigma0, kx, x, y, z, G=1.0)

Slab with an oscillatory surface density

pNbody.mass_models.slab.Potential(Sigma0, x, y, z, G=1.0)

Slab

pNbody.mass_models.slab.SurfaceDensity(Sigma0, x, y, z, G=1.0)

Slab with a constant density