Sirko
Sirko Date: 01/06/23
Authors: Alessandro A. Trani, Daria Gangardt
Module that uses the equations from Sirko & Goodman 2003 to produce a self-gravitating Active Galactic Nuclei disc
Contains SirkoAGN class, which creates an AGN disc object, documented below.
- class pagn.Sirko.SirkoAGN(Mbh=1.98847e+38, le=0.5, alpha=0.01, b=0, Mdot=None, eps=0.1, opacity='combined', X=0.7, debug=False, xtol=1e-10, rootm='lm')
- L_Edd()
Method to calculate the Eddington luminosity given a mass and hydrogen abundance
- Returns:
L – Eddington luminosity of the Super Massive Black Hole (SMBH) fuelling the AGN in watts.
- Return type:
float
- __init__(Mbh=1.98847e+38, le=0.5, alpha=0.01, b=0, Mdot=None, eps=0.1, opacity='combined', X=0.7, debug=False, xtol=1e-10, rootm='lm')
Class that creates an AGN disc object using the equations from Sirko and Goodman 2003.
- Parameters:
Mbh (float, optional (default: 1e8*ct.MSun)) – Mass of the Super Massive Black Hole (SMBH) fuelling the AGN in kg.
le (float, optional (default: 0.5)) – Luminosity ratio L0/LE, where L0 is the non self gravitating luminosity and LE is the Eddington luminosity of the SMBH.
alpha (float, optional (default: 0.01)) – Viscosity parameter of the inner region of the AGN.
b (float, optional (default: 0.)) – Power index for viscosity-gas pressure relation, can only be 0 or 1.
Mdot (float, optional (default: None)) – Mass accretion rate, taken as constant throughout the disc, in units of kg/s. Can be given instead of le.
eps (float, optional (default: 0.1)) – SMBH radiative efficiency parameter.
opacity (string/tuple, optional (default: 'combined')) –
Which opacity table to use. Options are “semenov”, which extrapolates values from Semenov et al. 2003 only, “combined”, which combines the Semenov et al. 2003 values with the Badnell et al. 2005 values, or a custom table of values entered as a tuple made up of three arrays:
(opacity 2D array, density 1D array, temperature 1D array). For the custom table, inputs must be in SI units.
X (float, optional (default: 0.7)) – Hydrogen abundance of gas in AGN disk.
debug (bool, optional (default: False)) – Enter debug regime. Code will check root finder operations by printing solutions at every value of r.
xtol (float, optional (default: 1e-10)) – Tolerance in the root finding method.
rootm (string, optional (default: 'lm')) – Root finding method to be used for both star and no star formation regimes.
- no_starformation(x, set=True)
The system of equations to find the [log10(cs), log10(T)] values, assuming no starformation, pulling known quantities from member variables, using self.i as grid index
- Parameters:
x (array) – Array of [log10(T), log10(rho)] guesses.
set (bool, optional (default: True)) – Flag on whether to set member values with current solutions. Set to False when debugging.
- Returns:
sols – 2d array of equilibrium solutions that needs to be zero
- Return type:
array
- plot(params='all')
Simple disk plotting method, can be used to check that disk has been evolved correctly.
- Parameters:
params (str or list of str, optional (default: "all")) – List of parameters to plot, can be any parameter combination from [‘h’, ‘rho’, ‘tau’, ‘T’]
- plot_roots_no_star(guess=None, zoomguess=False)
Plots current solution space for root finder in the no star formation regime.
- Parameters:
guess (array, optional (default: None)) – Array of log10(cs), log10(T) guesses to be plotted on solution space.
zoomguess (bool, optional (default: False)) – Flag to zoom in on given guess in plot.
- plot_roots_yes_star(guess=None, zoomguess=False)
Plots current solution space for root finder in the star formation regime.
- Parameters:
guess (array, optional (default: None)) – Array of log10(T), log10(eta) guesses to be plotted on solution space.
zoomguess (bool, optional (default: False)) – Flag to zoom in on given guess in plot.
- solve_disk(N=10000.0)
Method to evolve the AGN disc, from outer boundary inwards, using Sirko and Goodman 2003 equations.
- Parameters:
N (float, optional (default: 1e4)) – Disc radial resolution.
- yes_starformation(x, set=True)
The system of equations to find the [log10(Teff), log10(T)] values, assuming star formation, pulling known quantities from member variables, using self.i as grid index
- Parameters:
x (array) – Array of [log10(T), log10(eta)] guesses.
set (bool, optional (default: True)) – Flag on whether to set member values with current solutions. Set to False when debugging.
- Returns:
sols – 2d array of equilibrium solutions that needs to be zero
- Return type:
array