LinearDiskBulge

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

Bases: MassModel, _LightMassModel

Mass distribution with a disk and bulge

Parameters:
  • total_mass (float) – Combined disk and bulge mass 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

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

Notes

This model is the exactly the same as DiskBulge except that total_mass is in linear units instead of log.

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

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

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

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

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.

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.