https://github.com/andresgur/qpes
Fitting the lightcurves of QPEs with a precession model and the output of GRMHD simulations
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.0%) to scientific vocabulary
Repository
Fitting the lightcurves of QPEs with a precession model and the output of GRMHD simulations
Basic Info
- Host: GitHub
- Owner: andresgur
- Language: Python
- Default Branch: main
- Size: 2.71 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
QPEs
Fitting the lightcurves of quasi-periodic eruptions (QPEs) with a precession model and the output of GRMHD simulations

The model is based on the kinematic model proposed to explain the periodic variations observed in the infamous high-mass X-ray binary SS433 (Abel & Margon 1977):
$\cos \i (t) = \cos \Theta i \cos i0 + \sin \Theta i \sin i0 \cos {2 \pi [(t-t_\mathrm{0}) / P + \phi]}$
where $\i (t)$ is the instantaneous angle of the cone, $\phi = \omega t$ is the phase. For other definitions, here's a schematic of the model:

We couple that equation with the outputs from GRMHD simulations, which derived the Eddington luminosity (in the 0.3 $-$ 10 keV band) as a function of observer's inclination ($i$):

Only four values of $\dot{m}$ were calculated, as shown. Beyond $i\gtrsim67^\circ$ the simulations do not reach steady state, and we assumed the luminosity drops to 0 after that (but a constant component is added to the model to account for the quiescent emission / emission from higher inclinations which is assumed to plateau. We can then produce the following outputs:

(These Figures were created using plot_precessing_cone.py)
Usage
The script fit_lightcurve_harm_edd.py basically couples the model above and performs an MCMC on an input lightcurve.
Important: the lightcurve needs to be converted in Eddington units prior to fit it! If you know the count rates for some unabsorbed luminosities (e.g. derived from spectral fitting) you can simply map count rates to Eddington luminosities for your whole lightcurve using interpolation (see convert_lightcurve.py)

Use the option -h to see all the available options for the scripts.
Acknowledging
If these scripts were useful to you in any way, we would greatly appreciate if you could cite the original paper for which these scripts were developed.
@ARTICLE{2025arXiv250106185M,
author = {{Middleton}, M. and {Gurpide}, A. and {Kwan}, T.~M. and {Dai}, L. and {Arcodia}, R. and {Chakraborty}, J. and {Dauser}, T. and {Fragile}, P.~C. and {Ingram}, A. and {Miniutti}, G. and {Pinto}, C. and {Kosec}, P.},
title = "{QPEs as Lense-Thirring precession of super-Eddington flows}",
journal = {arXiv e-prints},
keywords = {Astrophysics - High Energy Astrophysical Phenomena},
year = 2025,
month = jan,
eid = {arXiv:2501.06185},
pages = {arXiv:2501.06185},
archivePrefix = {arXiv},
eprint = {2501.06185},
primaryClass = {astro-ph.HE},
adsurl = {https://ui.adsabs.harvard.edu/abs/2025arXiv250106185M},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
Owner
- Login: andresgur
- Kind: user
- Repositories: 2
- Profile: https://github.com/andresgur
GitHub Events
Total
- Push event: 29
Last Year
- Push event: 29