1. TDEmass – Mass inference method for tidal disruption events.

– Git repository: https://github.com/taehoryu/TDEmass
  • Model Description

i. Model – slow circularization

TDEmass is a tool for interpretation of Tidal Disruption Event (TDE) observations. In TDEs, a supermassive black hole at the center of a galaxy tears apart an ordinary star; the debris is placed on highly eccentric orbits and, in ways that remain controversial, ultimately produces a very bright flare. The spectrum of the optical/UV light in this flare is generally well described by a black body with temperature ~ few  10,000 K.

Using this tool, one can infer the mass of the black hole (M_{\rm bh}) and the mass of the star (M_{\star}) involved in a TDE by solving two non-linear algebraic equations derived in Ryu+2020 (https://ui.adsabs.harvard.edu/abs/2020arXiv200713765R/abstract) (Equations 9 and 10). These equations arise from a physical model for the optical/UV luminosity in which the energy for this light is generated by dissipation in shocks near the debris’ orbital apocenter. They may be written in the following form:

(1)   \begin{equation*} M_{\rm BH} = 0.5 \left(\frac{T_{\rm obs}}{10^{4.5}K}\right)^{-8/3}\left(\frac{\Delta\Omega}{2}\right)^{-2/3} c_{1}^{-2} \Xi(M_{\rm BH},M_{\star})^3, \end{equation*}

(2)   \begin{equation*} M_{\star} = 5 \left(\frac{L_{\rm obs}}{10^{44}{\rm erg/s}}\right)^{9/4} \left(\frac{T_{\rm obs}}{10^{4.5}K}\right)^{-1} \left(\frac{\Delta\Omega}{2}\right)^{-1/4} c_{1}^{3/2} \Xi(M_{\rm BH},M_{\star})^{-9/2}. \end{equation*}

where L_{\rm orb} refers to the observed peak UV/optical luminosity (in units of 10^{44} erg/s) and T_{\rm obs} are the observed temperature at peak luminosity (in units of 10^{4.5} K). M_{\rm BH} are M_{\star} are in units of 10^6 M_{\odot} and 1 M_{\odot}, respectively. c_{1} and \Delta\Omega are two unspecified parameters (see Section 2) below ).

\Xi(M_{\rm BH},M_{\star}) is the ratio of the width of the debris’ specific energy distribution to its conventional estimate G M_{\rm BH} R_{\star}/ r_{\rm t}^{2} where R_{\star} is the stellar radius and r_{\rm t} is the order of magnitude estimate for the tidal radius, i.e., (M_{\rm BH}/M_{\star})^{1/3} R_{\star} (Ryu+2020, Arxiv 2001:03501). \Xi(M_{\rm bh},M_{\star}) is nonlinear, but analytic function of M_{\rm BH} and M_{\star}. Its nonlinearity is what requires numerical solutions of these equations.

ii. Two unspecified parameters c_{1} and \Delta\Omega

Our model includes two unspecified parameters, c_{1} and \Delta\Omega. c_{1}a_{0} is the distance from the black hole at which a significant amount of energy is dissipated by shocks. Here, a_{0} is the apocenter distance for the orbit of the most tightly bound debris. \Delta\Omega is the solid angle. So \Delta\Omega(c_{1} a_{0})^{2} corresponds to the surface area of the emitting region. Note that \Delta\Omega(c_{1} a_{0})^{2} is equivalent to what is called the “black body radius”. For fixed L_{\rm obs} and T_{\rm obs}, larger \Delta\Omega leads to smaller M_{\rm BH} and M_{\star}, but the dependence is weak. However, M_{\rm BH} and M_{\star} are sensitive to c_{1}. For fixed L_{\rm obs} and T_{\rm obs}, M_{\rm BH}\propto c_1^{a} with a = -(1.2-2) and M_{\star}\propto c_{1}^{b} with b = 0.8-1.5.

The quantities c_1 and \Delta\Omega are coefficients poorly-determined by current theory; we recommend setting c_{1}=1 and \Delta\Omega=2 (default values in the code).

  • Code description

The code solves the equations using the following algorithm:

– Create a table of L_{\rm obs} and T_{\rm obs} values on a logarithmic grid in M_{\rm BH} and M_{\star} within ranges specified by mbh_range and mstar_range. There are 500 within each mass range.

– Locate L_{\rm obs} and T_{\rm obs} within this table and define the uncertainty in M_{\rm BH} and M_{\star} by the uncertainty in L_{\rm obs} and T_{\rm obs}.
These uncertainties are called dLobs-, dLobs+, dTobs-, and dTobs+.

– Find the central values of M_{\rm BH} and M_{\star} within the ranges determined by the uncertainty in M_{\rm BH} and M_{\star} (see find_centroid_range() in module.py for the definition of the central value)

– With the first guess, find new values of M_{\rm BH} and M_{\star} by using the two basic equations. Iterate to convergence. The initial values of M_{\rm BH} and M_{\star} are chosen to be the central values of M_{\rm BH} and M_{\star}. The routine embodying this step is solver1_LT().

– If the previous step fails to converge, use the 2-dimensional Newton-Raphson method to solve the equations.
The initial values of M_{\rm BH} and M_{\star} are the central values of M_{\rm BH} and M_{\star}. This routine is called solver2_LT().

The units in the code are:

– Luminosity(Lorb, Lobs_1, Lobs_2) = erg/s

– Temperature (Tobs, Tobs_1, Tobs_2) = K

– Black hole mass (mbh) = 10^{6}M_{\odot} (M_{\odot} : solar mass)

– Stellar mass (mstar) = M_{\odot}

  • Download and run

To download, clone the git repository using HTTP access :


To run, you first enter the directory “TDE_mass_inference”. In the directory, the code is run as

Python3 main.py

The code has three source dependencies : scipy, numpy and matplotlib

  • Inputs and outputs

Refer to the detailed description here (Section 3 and 4)

  • Issues/requests

E-mail address for issues/requests : udraeo@gmail.com