Luminosity and Mass Profiles
Parametric extended sources such as Gravity.EllipticalExtendedSource are defined in terms of specific profiles. These functions are used to describe both the source surface brightness and the source cumulative mass (which is related to the induced squared velocity for rotating objects such as spiral galaxies).
Simple Profiles
Gravity.LuminosityProfile — Type
Abstract type for luminosity profiles for extended sources.
Any concrete subtype f of this abstract type must implement a method f(ϱ²) to compute the surface brightness of the profile. The argument ϱ² is the square elliptical radius of the source.
Gravity.GaussianProfile — Type
GaussianProfile()A bivariate Gaussian profile.
It is associated to a volume density profile of the form
\[ \rho(r) = \mathrm{e}^{-r^2 / 2} \; .\]
That corresponds to a projected density profile of the form
\[ \Sigma(r) = \mathrm{e}^{-r^2 / 2} \; ,\]
and to a squared velocity profile of the form
\[ v^2(r) = 3 \left(\sqrt{\frac{\pi}{2}} rac{\mathrm{erf}(r / \sqrt{2})}{r} - \mathrm{e}^{-r^2 / 2}\right) \; .\]
Gravity.ExponentialProfile — Type
ExponentialProfile()An flat exponential profile.
The surface brightness (or surface density) is of the form
\[ \Sigma(r) = \mathrm{e}^{-r} \; .\]
The associated velocity profile is
\[ v^2(r) = \frac{r}{2} \left(\mathrm{I}_0(r / 2) \mathrm{K}_0(r / 2) - \mathrm{I}_1(r / 2) \mathrm{K}_1(r / 2)\right) \; ,\]
where $I_n$ and $K_n$ are the modified Bessel functions of the first and second kind.
Gravity.IsothermalProfile — Type
IsothermalProfile()A singular isothermal profile.
The volume density is of the form
\[ \rho(r) = \frac{1}{r^2} \; ,\]
which correspond to a projected density of the form
\[ \Sigma(r) = \frac{1}{\sqrt{r^2}} \; .\]
Note that this distribution is unnormalized (and unnormalizable).
The associated velocity profile is just
\[ v^2(r) = 1 \; .\]
See also: [SoftIsothermalProfile], [JaffeProfile]
This profile is scale-free: therefore, it does not make sense to both scale its shape and amplitude. Use either ScaledProfile or MagnifiedProfile, but not both.
Gravity.SoftIsothermalProfile — Type
SoftIsothermalProfile()A singular isothermal profile.
The volume density is of the form
\[ \rho(r) = \frac{1}{r^2 + 1} \; ,\]
which correspond to a projected density of the form
\[ \Sigma(r) = \frac{1}{\sqrt{r^2 + 1}} \; .\]
Note that this distribution is unnormalized (and unnormalizable).
The associated velocity profile is
\[ v^2(r) = 1 - \frac{\arctan(r)}{r} \; .\]
See also: [SoftIsothermalProfile], [JaffeProfile]
Gravity.PlummerProfile — Type
PlummerProfile()A projected Plummer profile.
This profile is often used to describe the surface brightness of globular clusters.
The volume density is of the form
\[ \rho(r) = \frac{1}{(1 + r^2)^{5/2}} \; ,\]
which correspond to a projected density of the form
\[ \Sigma(r^2) = \left(\frac{1}{1 + r^2}\right)^2 \; .\]
The associated velocity profile is
\[ v^2(r) = \frac{r^2}{(1 + r^2)^{3/2}} \; .\]
Gravity.JaffeProfile — Type
JaffeProfile()A pseudo-Jaffe profile.
This is the difference of a singular and a non-singular isothermal profiles.
The volume density is of the form
\[ \rho(r) = \frac{1}{r^2} - \frac{1}{r^2 + 1} = \frac{1}{r^2 (r^2 + 1)} \; ,\]
which correspond to a projected density of the form
\[ \Sigma(r) = \frac{1}{r} - \frac{1}{\sqrt{1 + r^2}} \; .\]
The associated velocity profile is
\[ v^2(r) = \frac{\arctan(r)}{r} \; .\]
Gravity.HernquistProfile — Type
HernquistProfile()An Hernquist profile.
The volume density is of the form
\[ \rho(r) = \frac{1}{r (1 + r)^3} \; .\]
The surface density has a closed analytical form, but it is somewhat complicated.
The associated velocity profile is
\[ v^2(r) = \frac{r}{(1 + r)^2} \; .\]
Gravity.NFWProfile — Type
NFWProfile()A Navarro-Frenk-White (NFW) profile.
The volume density is of the form
\[ \rho(r) = \frac{1}{r (1 + r)^2} \; .\]
The surface density has a closed analytical form, but it is somewhat complicated.
The associated velocity profile is
\[ v^2(r) = \frac{\log(1 + r)}{r} - \frac{1}{1 + r} \; .\]
Gravity.PowerLawProfile — Type
PowerLawProfile(γ)A power-law profile.
The volume density is of the form
\[ \rho(r) = r^{-\gamma} \; ,\]
which correspond to a surface brightness of the form
\[ \Sigma(r) = r^{1 - \gamma} \; .\]
The associated velocity profile is
\[ v^2(r) = r^{2 - \gamma} \; .\]
This profile is scale-free: therefore, it does not make sense to both scale its shape and amplitude. Use either ScaledProfile or MagnifiedProfile, but not both.
Gravity.SoftPowerLawProfile — Type
SoftPowerLawProfile(γ)A softened power-law profile.
The volume density is of the form
\[ \rho(r^2) = (r^2 + 1)^{-\gamma/2} \; ,\]
which correspond to a surface brightness of the form
\[ \Sigma(r^2) = (r^2 + 1)^{(1 - \gamma)/2} \; .\]
The associated velocity profile is
\[ v^2(r) = r^2 {}_2 \mathrm{F}_1(3/2, \gamma/2, 5/2, -r^2) \; ,\]
where ${}_2 \mathrm{F}_1$ is the hypergeometric function.
Gravity.SersicProfile — Type
SersicProfile([n=4])A Sersic profile, a surface brightness profile only.
The surface brightness is defined as
\[ \Sigma(r) = \mathrm{e}^{- b_n (r^{1/n} - 1)} \; .\]
The parameter $b_n$ is computed from the Sersic index $n$ using the approximation given by Ciotti & Bertin (1999). The default value for $n$ is 4, corresponding to a de-Vaucouleurs profile.
There is no velocity associated to this profile.
Gravity.Profile — Type
Profile(f)A generic profile.
This profile is defined by a function f(r²) that computes both the projected mass distribution and the squared velocity as a function of the squared (possibly elliptical) radius r².
The function f must be a callable object that accepts a single argument of returns a single value of the same type. The function must be defined for non-negative values of r².
Composite Profiles
Gravity.MagnifiedProfile — Type
MagnifiedProfile(profile, m)A magnified profile.
This profile is the same as the input profile, but magnified in projected density by a factor m:
\[ \Sigma(r) = m \times \Sigma_0(r) \; .\]
where $\Sigma_0$ is the projected density of the input profile.
The same scaling factor applies to the squared velocity:
\[ v^2(r) = m \times v_0^2(r) \; .\]
Therefore, the velocity is rescaled by a factor $\sqrt{m}$.
The operator * can be used to create a magnified profile.
Gravity.ScaledProfile — Type
ScaledProfile(profile, ξ)A scaled profile.
This profile is the same as the input profile, but scaled in size by a factor $r_0$. This is useful to model sources with different scale radii.
The projected density is defined as
\[ \Sigma(r) = \Sigma_0(r / r_0) \; .\]
where $\Sigma_0$ is the projected density of the input profile.
The scaling factor $r_0$ applies to he squared velocity through the relation
\[ v^2(r) = v_0^2(r / r_0) r_0^2 \; .\]
These equations ensure that the size of isophotes of the profile are modified by a factor $r_0$, and also that the size of the full object increases correspondingly: as a result the mass increases as $r_0^3$ and the squared velocity as $r_0^2$.
Note that, for exponential profiles, the scaling rule is
\[ v^2(r) = v_0^2(r / r_0) r_0 \; ,\]
since it represents a flat object (so that $M \propto r_0^2$).
The operator % can be used to create a scaled profile.
Gravity.CompositeProfile — Type
CompositeProfile(profiles...)A composite profile.
This profile is the sum of set of profiles: both the projected density and the squared velocity are the sum of the corresponding quantities of the input profiles.
The operator + can be used to create a composite profile.