Toolkit Python per lo studio dei Quasi-Normal Modes (QNMs) in spazio-tempo di Schwarzschild-de Sitter (SdS), con:
- inversione della coordinata tortoise
r* - soluzione della master equation (ODE)
- soluzione PDE in coordinate caratteristiche (Gundlach-Price-Pullin)
- confronto metodi (WKB / Frobenius-like / time-domain)
- analisi di convergenza su
hrad,hstar,spaceTimeK
scripts/tortoise_inversion.py: genera i datir <-> r*e i parametri runtime.scripts/QNMs_Master_Equation_Solution.py: pipeline principale (potenziali, frequenze, PDE, profili).scripts/qnms_utils.py: utility numeriche, I/O PDE, fit frequenze, plotting.scripts/rosignoli_lib.py: validazione input e helper CLI.
- Python 3.10+ (consigliato stesso ambiente con cui esegui già il progetto)
- Pacchetti:
numpy,sympy,matplotlib,tqdm,mpmath,rich,inputimeout,pypiexperiment
Installa i pacchetti da requirements.txt:
cd SdS-QNMs
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txtSe usi conda, puoi anche installare direttamente senza venv:
cd SdS-QNMs
pip install -r requirements.txt- Genera inversione tortoise e parametri:
cd SdS-QNMs
python3 scripts/tortoise_inversion.py- Esegui la soluzione della master equation:
python3 scripts/QNMs_Master_Equation_Solution.pyQNMS_PDE_MAX_POINTS(default:6000): limite punti usati per PDE dopo downsampling.
QNMS_PDE_MAX_POINTS=8000 python3 scripts/QNMs_Master_Equation_Solution.pyQNMS_SHOW_PLOTS:0(default): backend non interattivo, salva/chiude figure1: mostra le finestre plot a schermo
QNMS_SHOW_PLOTS=1 python3 scripts/QNMs_Master_Equation_Solution.pyLe esecuzioni creano cartelle di output, tra cui:
out/TORTOISE_INVERSION_OUTPUT/out/TORTOISE_INVERSION_PLOTS/out/QNMS_PLOTS/out/QNMS_PDE_SOL/,out/QNMS_PDE_SOL_T/out/QNMS_PDE_TIME_PROFILE/,out/QNMS_PDE_SPACE_PROFILE/,out/QNMS_PDE_SPACELIKE_PROFILE/out/QNMS_METHOD_CROSSCHECK/out/QNMS_CONVERGENCE_ANALYSIS/
- Se trovi solo un file
output_3_*, l'analisi di convergenza suhstar/hradviene salvata ma senza stima dell'ordine. - I cache PDE piccoli/invalidi vengono scartati e ricalcolati automaticamente.
- Il caricamento PDE usa cache binaria
.npy(piu veloce) con fallback.txt.