synthesizer.components.blackhole

A module for holding blackhole emission models.

The class defined here should never be instantiated directly, there are only ever instantiated by the parametric/particle child classes. BlackholesComponent is a child class of Component.

Classes

class synthesizer.components.blackhole.BlackholesComponent(mass=None, accretion_rate=None, epsilon=0.1, accretion_rate_eddington=None, inclination=unyt_quantity(0., 'degree'), spin=None, bolometric_luminosity=None, metallicity=None, ionisation_parameter_blr=0.1, hydrogen_density_blr=unyt_quantity(1.e+09, 'cm**(-3)'), covering_fraction_blr=0.1, velocity_dispersion_blr=unyt_quantity(2000, 'km/s'), ionisation_parameter_nlr=0.01, hydrogen_density_nlr=unyt_quantity(10000., 'cm**(-3)'), covering_fraction_nlr=0.1, velocity_dispersion_nlr=unyt_quantity(500, 'km/s'), theta_torus=unyt_quantity(10, 'degree'), **kwargs)[source]

The parent class for stellar components of a galaxy.

This class contains the attributes and spectra creation methods which are common to both parametric and particle stellar components.

This should never be instantiated directly, instead it provides the common functionality and attributes used by the child parametric and particle BlackHole/s classes.

spectra

A dictionary containing black hole spectra.

Type:

dict, Sed

mass

The mass of each blackhole.

Type:

array-like, float

accretion_rate

The accretion rate of each blackhole.

Type:

array-like, float

epsilon

The radiative efficiency of the blackhole.

Type:

array-like, float

accretion_rate_eddington

The accretion rate expressed as a fraction of the Eddington accretion rate.

Type:

array-like, float

inclination

The inclination of the blackhole disc.

Type:

array-like, float

spin

The dimensionless spin of the blackhole.

Type:

array-like, float

bolometric_luminosity

The bolometric luminosity of the blackhole.

Type:

array-like, float

metallicity

The metallicity of the blackhole which is assumed for the line emitting regions.

Type:

array-like, float

Attributes (For EmissionModels):
ionisation_parameter_blr (array-like, float)

The ionisation parameter of the broad line region.

hydrogen_density_blr (array-like, float)

The hydrogen density of the broad line region.

covering_fraction_blr (array-like, float)

The covering fraction of the broad line region (effectively the escape fraction).

velocity_dispersion_blr (array-like, float)

The velocity dispersion of the broad line region.

ionisation_parameter_nlr (array-like, float)

The ionisation parameter of the narrow line region.

hydrogen_density_nlr (array-like, float)

The hydrogen density of the narrow line region.

covering_fraction_nlr (array-like, float)

The covering fraction of the narrow line region (effectively the escape fraction).

velocity_dispersion_nlr (array-like, float)

The velocity dispersion of the narrow line region.

theta_torus (array-like, float)

The angle of the torus.

torus_fraction (array-like, float)

The fraction of the torus angle to 90 degrees.

calculate_accretion_rate_eddington()[source]

Calculate the black hole accretion in units of the Eddington rate.

Returns
unyt_array

The black hole accretion rate in units of the Eddington rate.

calculate_bb_temperature()[source]

Calculate the black hole big bump temperature. This is used for the cloudy disc model.

Returns
unyt_array

The black hole bolometric luminosity

calculate_bolometric_luminosity()[source]

Calculate the black hole bolometric luminosity. This is by itself useful but also used for some emission models.

Returns
unyt_array

The black hole bolometric luminosity

calculate_eddington_luminosity()[source]

Calculate the eddington luminosity of the black hole.

Returns
unyt_array

The black hole bolometric luminosity

calculate_eddington_ratio()[source]

Calculate the eddington ratio of the black hole.

Returns
unyt_array

The black hole eddington ratio

generate_line(grid, line_id, line_type, fesc, mask=None, method='cic', nthreads=0, verbose=False)[source]

Calculate rest frame line luminosity and continuum from an AGN Grid.

This is a flexible base method which extracts the rest frame line luminosity of this stellar population from the AGN grid based on the passed arguments.

Parameters:
  • grid (Grid) – A Grid object.

  • line_id (list/str) – A list of line_ids or a str denoting a single line. Doublets can be specified as a nested list or using a comma (e.g. ‘OIII4363,OIII4959’).

  • line_type (str) – The type of line to extract from the grid. Must match the spectra/line type in the grid file.

  • fesc (float/array-like, float) – Fraction of AGN emission that escapes unattenuated from the birth cloud. Can either be a single value or an value per star (defaults to 0.0).

  • mask (array) – A mask to apply to the particles (only applicable to particle)

  • method (str) – The method to use for the interpolation. Options are: ‘cic’ - Cloud in cell ‘ngp’ - Nearest grid point

  • nthreads (int) – The number of threads to use in the C extension. If -1 then all available threads are used.

Returns:

Line

An instance of Line contain this lines wavelenth, luminosity, and continuum.

generate_lnu(grid, spectra_name, fesc=0.0, mask=None, verbose=False, grid_assignment_method='cic', nthreads=0)[source]

Generate integrated rest frame spectra for a given key.

Parameters:
  • emission_model (synthesizer.blackhole_emission_models.*) – An instance of a blackhole emission model.

  • grid (obj) – Spectral grid object.

  • fesc (float) – Fraction of emission that escapes unattenuated from the birth cloud (defaults to 0.0).

  • spectra_name (string) – The name of the target spectra inside the grid file (e.g. “incident”, “transmitted”, “nebular”).

  • mask (array-like, bool) – If not None this mask will be applied to the inputs to the spectra creation.

  • verbose (bool) – Are we talking?

  • grid_assignment_method (string) – The type of method used to assign particles to a SPS grid point. Allowed methods are cic (cloud in cell) or nearest grid point (ngp) or there uppercase equivalents (CIC, NGP). Defaults to cic.

  • nthreads (int) – The number of threads to use in the C extension. If -1 then all available threads are used.