DiskBulge

class dysmalpy.models.DiskBulge(invq_disk=5, invq_bulge=1, noord_flat=False, light_component='disk', gas_component='disk', baryon_type='gas+stars', **kwargs)[source]

Bases: MassModel, _LightMassModel

Mass distribution with a disk and bulge

Parameters:
  • total_mass (float) – Log10 of the combined disk and bulge in solar units

  • r_eff_disk (float) – Effective radius of the disk in kpc

  • n_disk (float) – Sersic index of the disk

  • r_eff_bulge (float) – Effective radius of the bulge

  • n_bulge (float) – Sersic index of the bulge

  • bt (float) – Bulge-to-total mass ratio

  • invq_disk (float) – Effective radius to effective height ratio for the disk

  • invq_bulge (float) – Effective radius to effective height ratio for the bulge

  • noord_flat (bool) – If True, use circular velocity profiles derived in Noordermeer 2008. If False, circular velocity is derived through v_circular

  • light_component ({'disk', 'bulge', 'total'}) – Which component to use as the flux profile

  • gas_component ({'disk', 'total'}) – Which component contributes to dlnrhogas/dlnr

  • baryon_type ({'gas+stars', 'stars', 'gas'}) – What type of baryons are included. Used for dlnrhogas/dlnr

Notes

This model is the combination of 2 components, a disk and bulge, each described by a Sersic. The model is parametrized such that the B/T is a free parameter rather than the individual masses of the disk and bulge.

Attributes Summary

bt

mass_to_light

n_bulge

n_disk

noord_flat

param_names

Names of the parameters that describe models of this type.

r_eff_bulge

r_eff_disk

total_mass

tracer

Methods Summary

circular_velocity(r)

Total circular velocity as a function of radius

circular_velocity_bulge(r)

Circular velocity of the bulge as a function of radius

circular_velocity_disk(r)

Circular velocity of the disk as a function of radius

dlnrhogas_dlnr(r)

Asymmetric drift term for the combined disk and bulge

dlnrhogas_dlnr_bulge(r)

dlnrhogas_dlnr_disk(r)

enclosed_mass(r)

Disk+Bulge total enclosed mass

enclosed_mass_bulge(r)

Enclosed mass of the bulge component

enclosed_mass_disk(r)

Enclosed mass of the disk component

evaluate(r, total_mass, r_eff_disk, n_disk, ...)

Disk+Bulge mass surface density

light_profile(r)

Conversion from mass to light as a function of radius

projected_enclosed_mass(r)

projected_enclosed_mass_bulge(r)

projected_enclosed_mass_disk(r)

rhogas(r)

Mass density as a function of radius (if noord_flat; otherwise surface density)

rhogas_bulge(r)

Mass density of the bulge as a function of radius (if noord_flat; otherwise surface density)

rhogas_disk(r)

Mass density of the disk as a function of radius (if noord_flat; otherwise surface density)

velocity_profile(r, modelset)

Total rotational velocity due to the disk+bulge

velocity_profile_bulge(r, modelset)

Rotational velocity due to the bulge

velocity_profile_disk(r, modelset)

Rotational velocity due to the disk

Attributes Documentation

bt = DysmalParameter('bt', value=0.2, bounds=(0, 1), prior=<dysmalpy.parameters.UniformPrior object>)
mass_to_light = DysmalParameter('mass_to_light', value=1.0, fixed=True, prior=<dysmalpy.parameters.UniformPrior object>)
n_bulge = DysmalParameter('n_bulge', value=4.0, fixed=True, bounds=(0, 8), prior=<dysmalpy.parameters.UniformPrior object>)
n_disk = DysmalParameter('n_disk', value=1.0, fixed=True, bounds=(0, 8), prior=<dysmalpy.parameters.UniformPrior object>)
noord_flat
param_names = ('total_mass', 'r_eff_disk', 'n_disk', 'r_eff_bulge', 'n_bulge', 'bt', 'mass_to_light')

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.

r_eff_bulge = DysmalParameter('r_eff_bulge', value=1.0, bounds=(0, 50), prior=<dysmalpy.parameters.UniformPrior object>)
r_eff_disk = DysmalParameter('r_eff_disk', value=1.0, bounds=(0, 50), prior=<dysmalpy.parameters.UniformPrior object>)
total_mass = DysmalParameter('total_mass', value=10.0, bounds=(5, 14), prior=<dysmalpy.parameters.UniformPrior object>)
tracer = 'mass'

Methods Documentation

circular_velocity(r)[source]

Total circular velocity as a function of radius

Parameters:

r (float or array) – Radii at which to calculate the circular velocity in kpc

Returns:

vcirc – Circular velocity in km/s

Return type:

float or array

circular_velocity_bulge(r)[source]

Circular velocity of the bulge as a function of radius

Parameters:

r (float or array) – Radii at which to calculate the circular velocity

Returns:

vcirc – Circular velocity in km/s

Return type:

float or array

circular_velocity_disk(r)[source]

Circular velocity of the disk as a function of radius

Parameters:

r (float or array) – Radii at which to calculate the circular velocity

Returns:

vcirc – Circular velocity in km/s

Return type:

float or array

dlnrhogas_dlnr(r)[source]

Asymmetric drift term for the combined disk and bulge

Parameters:

r (float or array) – Radius in kpc

Returns:

log_drhodr – Log surface density derivative as a function or radius

Return type:

float or array

dlnrhogas_dlnr_bulge(r)[source]
dlnrhogas_dlnr_disk(r)[source]
enclosed_mass(r)[source]

Disk+Bulge total enclosed mass

Parameters:

r (float or array) – Radii at which to calculate the enclosed mass

Returns:

menc – Enclosed mass profile

Return type:

float or array

enclosed_mass_bulge(r)[source]

Enclosed mass of the bulge component

Parameters:

r (float or array) – Radii at which to calculate the enclosed mass

Returns:

menc – Enclosed mass profile

Return type:

float or array

enclosed_mass_disk(r)[source]

Enclosed mass of the disk component

Parameters:

r (float or array) – Radii at which to calculate the enclosed mass

Returns:

menc – Enclosed mass profile

Return type:

float or array

static evaluate(r, total_mass, r_eff_disk, n_disk, r_eff_bulge, n_bulge, bt, mass_to_light)[source]

Disk+Bulge mass surface density

light_profile(r)[source]

Conversion from mass to light as a function of radius

Parameters:

r (float or array) – Radii at which to calculate the enclosed mass

Returns:

light – Relative line flux as a function of radius

Return type:

float or array

Notes

The resulting light profile depends on what DiskBulge.light_component is set to. If ‘disk’ or ‘bulge’ then only the mass associated with the disk or bulge will be converted into light. If ‘total’, then both components will be used.

projected_enclosed_mass(r)[source]
projected_enclosed_mass_bulge(r)[source]
projected_enclosed_mass_disk(r)[source]
rhogas(r)[source]

Mass density as a function of radius (if noord_flat; otherwise surface density)

Parameters:

r (float or array) – Radii at which to calculate the enclosed mass

Returns:

dens – Mass density at r in units of Msun/kpc^3 (if noord_flat; otherwise surface density)

Return type:

float or array

rhogas_bulge(r)[source]

Mass density of the bulge as a function of radius (if noord_flat; otherwise surface density)

Parameters:

r (float or array) – Radii at which to calculate the enclosed mass

Returns:

dens – Mass density at r in units of Msun/kpc^3 (if noord_flat; otherwise surface density)

Return type:

float or array

rhogas_disk(r)[source]

Mass density of the disk as a function of radius (if noord_flat; otherwise surface density)

Parameters:

r (float or array) – Radii at which to calculate the enclosed mass

Returns:

dens – Mass density at r in units of Msun/kpc^3 (if noord_flat; otherwise surface density)

Return type:

float or array

velocity_profile(r, modelset)[source]

Total rotational velocity due to the disk+bulge

Parameters:
  • r (float or array) – Radii at which to calculate the circular velocity in kpc

  • modelset (ModelSet) – Full ModelSet this component belongs to

Returns:

vrot – Rotational velocity in km/s

Return type:

float or array

Notes

This method requires a ModelSet input to be able to apply the pressure support correction due to the gas turbulence.

velocity_profile_bulge(r, modelset)[source]

Rotational velocity due to the bulge

Parameters:
  • r (float or array) – Radii at which to calculate the circular velocity in kpc

  • modelset (ModelSet) – Full ModelSet this component belongs to

Returns:

vrot – Rotational velocity in km/s

Return type:

float or array

Notes

This method requires a ModelSet input to be able to apply the pressure support correction due to the gas turbulence.

velocity_profile_disk(r, modelset)[source]

Rotational velocity due to the disk

Parameters:
  • r (float or array) – Radii at which to calculate the circular velocity in kpc

  • modelset (ModelSet) – Full ModelSet this component belongs to

Returns:

vrot – Rotational velocity in km/s

Return type:

float or array

Notes

This method requires a ModelSet input to be able to apply the pressure support correction due to the gas turbulence.