Burkert

class dysmalpy.models.Burkert(z=0, cosmo=FlatLambdaCDM(H0=70.0 km / (Mpc s), Om0=0.3, Tcmb0=0.0 K, Neff=3.04, m_nu=None, Ob0=None), **kwargs)[source]

Bases: DarkMatterHalo

Dark matter halo following a Burkert profile

Parameters:
  • mvirial (float) – Virial mass in logarithmic solar units

  • rB (float) – Size of the dark matter core in kpc

  • fdm (float) – Dark matter fraction

  • z (float) – Redshift

  • cosmo (cosmology object) – The cosmology to use for modelling. If this model component will be attached to a Galaxy make sure the respective cosmologies are the same. Default is FlatLambdaCDM with H0=70., and Om0=0.3.

Notes

Model formula:

The mass density follows Burkert (1995) [1]:

\[\rho=\frac{\rho_0}{(1 + r/r_B)(1 + (r/r_B)^2)}\]

References

Attributes Summary

fdm

mvirial

param_names

Names of the parameters that describe models of this type.

rB

Methods Summary

I(r)

calc_conc()

Calculate the concentration parameter

calc_rB_from_fdm(baryons, r_fdm)

Calculate core radius given dark matter fraction and baryonic distribution

calc_rho0()

Normalization of the density distribution

enclosed_mass(r)

Enclosed mass as a function of radius

evaluate(r, mvirial, rB, fdm)

Mass density as a function of radius

Attributes Documentation

fdm = DysmalParameter('fdm', value=-99.9, fixed=True, bounds=(0, 1), prior=<dysmalpy.parameters.UniformPrior object>)
mvirial = DysmalParameter('mvirial', value=1.0, bounds=(5, 20), prior=<dysmalpy.parameters.UniformPrior object>)
param_names = ('mvirial', 'fdm', 'rB')

Names of the parameters that describe models of this type.

The parameters in this tuple are in the same order they should be passed in when initializing a model of a specific type. Some types of models, such as polynomial models, have a different number of parameters depending on some other property of the model, such as the degree.

When defining a custom model class the value of this attribute is automatically set by the Parameter attributes defined in the class body.

rB = DysmalParameter('rB', value=1.0, prior=<dysmalpy.parameters.UniformPrior object>)

Methods Documentation

I(r)[source]
calc_conc()[source]

Calculate the concentration parameter

Returns:

conc – Concentration based on the core radius, rB.

Return type:

float

calc_rB_from_fdm(baryons, r_fdm)[source]

Calculate core radius given dark matter fraction and baryonic distribution

Parameters:
  • baryons (MassModel or dictionary) – Model component representing the baryons (assumed to be light emitting), or dictionary containing a list of the baryon components (baryons[‘components’]) and a list of whether the baryon components are light emitting or not (baryons[‘light’])

  • r_fdm (float) – Radius at which the dark matter fraction is determined

Returns:

rB – Core radius in kpc

Return type:

float

Notes

This uses the current values of fdm, and mvirial together with the input baryon distribution to calculate the necessary value of rB.

calc_rho0()[source]

Normalization of the density distribution

Returns:

rho0 – Mass density normalization in \(M_{\odot}/\rm{kpc}^3\)

Return type:

float

enclosed_mass(r)[source]

Enclosed mass as a function of radius

Parameters:

r (float or array) – Radius or radii in kpc

Returns:

menc – Enclosed mass in solar units

Return type:

float or array

evaluate(r, mvirial, rB, fdm)[source]

Mass density as a function of radius