TransitionListener 2.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- transitionlistener-2.0.0/.github/workflows/ci.yml +46 -0
- transitionlistener-2.0.0/.github/workflows/docs.yml +68 -0
- transitionlistener-2.0.0/.gitignore +49 -0
- transitionlistener-2.0.0/CHANGELOG.md +179 -0
- transitionlistener-2.0.0/CITATION.cff +33 -0
- transitionlistener-2.0.0/LICENSE.txt +674 -0
- transitionlistener-2.0.0/PKG-INFO +817 -0
- transitionlistener-2.0.0/README.md +99 -0
- transitionlistener-2.0.0/docs/Makefile +20 -0
- transitionlistener-2.0.0/docs/source/_static/2109.06208_example.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/2311.06346_example.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/2502.19478_example.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/TL-logo_large.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_grid.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_kappa.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/Add_info_log10_f_peak_Hz.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/Add_info_log10_h2OmegaGW_peak.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/SNR_BBO.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/SNR_DECIGO.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/SNR_ET.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/fig14_alpha_betaH.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/lin_plot_c_s_bro.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/lin_plot_c_s_sym.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/lin_plot_g_eff_tot_reh.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/lin_plot_xi_crit.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/log_plot_Tcrit_SM_GeV.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/log_plot_Tf_SM_GeV.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/log_plot_Tnuc_SM_GeV.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/log_plot_Tperc_SM_GeV.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/log_plot_Treh_SM_GeV.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/log_plot_alpha.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_output/log_plot_betaH_RH.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/example_point_GW_spectrum.png +0 -0
- transitionlistener-2.0.0/docs/source/_static/pipeline.png +0 -0
- transitionlistener-2.0.0/docs/source/api/TransitionListener.rst +175 -0
- transitionlistener-2.0.0/docs/source/changelog.md +2 -0
- transitionlistener-2.0.0/docs/source/conf.py +93 -0
- transitionlistener-2.0.0/docs/source/contributing.rst +46 -0
- transitionlistener-2.0.0/docs/source/documentation.rst +50 -0
- transitionlistener-2.0.0/docs/source/example_output.md +138 -0
- transitionlistener-2.0.0/docs/source/faq.rst +58 -0
- transitionlistener-2.0.0/docs/source/features.rst +37 -0
- transitionlistener-2.0.0/docs/source/getting_started.rst +153 -0
- transitionlistener-2.0.0/docs/source/index.rst +99 -0
- transitionlistener-2.0.0/docs/source/installation.rst +129 -0
- transitionlistener-2.0.0/docs/source/method.rst +145 -0
- transitionlistener-2.0.0/docs/source/plots.rst +49 -0
- transitionlistener-2.0.0/docs/source/usage.rst +187 -0
- transitionlistener-2.0.0/examples/bp_et.yaml +64 -0
- transitionlistener-2.0.0/examples/bp_lisa.yaml +70 -0
- transitionlistener-2.0.0/examples/bp_muares.yaml +69 -0
- transitionlistener-2.0.0/examples/bp_pta.yaml +64 -0
- transitionlistener-2.0.0/examples/example_dark_photon.yaml +73 -0
- transitionlistener-2.0.0/examples/example_grid.yaml +55 -0
- transitionlistener-2.0.0/examples/example_line.yaml +51 -0
- transitionlistener-2.0.0/examples/example_point.yaml +73 -0
- transitionlistener-2.0.0/examples/example_random_conformal.yaml +42 -0
- transitionlistener-2.0.0/examples/example_ultranest.yaml +39 -0
- transitionlistener-2.0.0/models/TL_2HDM.py +512 -0
- transitionlistener-2.0.0/models/TL_conformal_dark_u1.py +202 -0
- transitionlistener-2.0.0/models/TL_dark_U1.py +198 -0
- transitionlistener-2.0.0/models/TL_dark_U1_g_parameterization.py +198 -0
- transitionlistener-2.0.0/models/TL_dark_flipflop.py +274 -0
- transitionlistener-2.0.0/models/templatePotential.py +260 -0
- transitionlistener-2.0.0/pyproject.toml +76 -0
- transitionlistener-2.0.0/src/transitionlistener/__init__.py +21 -0
- transitionlistener-2.0.0/src/transitionlistener/bubbledynamics.py +2250 -0
- transitionlistener-2.0.0/src/transitionlistener/bubbledynamics_fixedstep.py +2929 -0
- transitionlistener-2.0.0/src/transitionlistener/ckm.py +91 -0
- transitionlistener-2.0.0/src/transitionlistener/colors.py +288 -0
- transitionlistener-2.0.0/src/transitionlistener/config.py +185 -0
- transitionlistener-2.0.0/src/transitionlistener/constants.py +64 -0
- transitionlistener-2.0.0/src/transitionlistener/counterterms/__init__.py +230 -0
- transitionlistener-2.0.0/src/transitionlistener/counterterms/cw.py +298 -0
- transitionlistener-2.0.0/src/transitionlistener/counterterms/tensors.py +343 -0
- transitionlistener-2.0.0/src/transitionlistener/counterterms/twohdm.py +520 -0
- transitionlistener-2.0.0/src/transitionlistener/counterterms/twohdm_solver.py +374 -0
- transitionlistener-2.0.0/src/transitionlistener/errors.py +315 -0
- transitionlistener-2.0.0/src/transitionlistener/finiteT.py +468 -0
- transitionlistener-2.0.0/src/transitionlistener/generic_potential.py +1521 -0
- transitionlistener-2.0.0/src/transitionlistener/gridplots.py +592 -0
- transitionlistener-2.0.0/src/transitionlistener/gwfopt.py +604 -0
- transitionlistener-2.0.0/src/transitionlistener/helper_functions.py +843 -0
- transitionlistener-2.0.0/src/transitionlistener/hydrodynamics.py +647 -0
- transitionlistener-2.0.0/src/transitionlistener/interface/__init__.py +95 -0
- transitionlistener-2.0.0/src/transitionlistener/interface/check.py +51 -0
- transitionlistener-2.0.0/src/transitionlistener/interface/cli.py +211 -0
- transitionlistener-2.0.0/src/transitionlistener/interface/config_loader.py +264 -0
- transitionlistener-2.0.0/src/transitionlistener/interface/logging_utils.py +30 -0
- transitionlistener-2.0.0/src/transitionlistener/interface/output_schema.py +296 -0
- transitionlistener-2.0.0/src/transitionlistener/interface/pipeline.py +300 -0
- transitionlistener-2.0.0/src/transitionlistener/interface/samplers.py +565 -0
- transitionlistener-2.0.0/src/transitionlistener/interface/scans.py +468 -0
- transitionlistener-2.0.0/src/transitionlistener/interface/single_point.py +581 -0
- transitionlistener-2.0.0/src/transitionlistener/interface/state.py +61 -0
- transitionlistener-2.0.0/src/transitionlistener/lineplots.py +597 -0
- transitionlistener-2.0.0/src/transitionlistener/logo/TL-logo_large.png +0 -0
- transitionlistener-2.0.0/src/transitionlistener/logo/TL-logo_small.png +0 -0
- transitionlistener-2.0.0/src/transitionlistener/nucleation.py +412 -0
- transitionlistener-2.0.0/src/transitionlistener/observability.py +790 -0
- transitionlistener-2.0.0/src/transitionlistener/particles.py +436 -0
- transitionlistener-2.0.0/src/transitionlistener/pathDeformation.py +1462 -0
- transitionlistener-2.0.0/src/transitionlistener/percolation_adaptive_gridbuilders.py +1385 -0
- transitionlistener-2.0.0/src/transitionlistener/percolation_adaptive_rate.py +1049 -0
- transitionlistener-2.0.0/src/transitionlistener/percolation_adaptivestepsize.py +1632 -0
- transitionlistener-2.0.0/src/transitionlistener/percolation_fixedstepsize.py +618 -0
- transitionlistener-2.0.0/src/transitionlistener/phases.py +1499 -0
- transitionlistener-2.0.0/src/transitionlistener/plot_settings.py +121 -0
- transitionlistener-2.0.0/src/transitionlistener/plots.py +1781 -0
- transitionlistener-2.0.0/src/transitionlistener/runtime_options.py +278 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/bandwidths.npy +0 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/density.npy +0 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/freqs.npy +0 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/log.txt +16 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/log10rhogrid.npy +0 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/log10rholabels.txt +30 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/pulsar_list.txt +1 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/HLV-O2-PLI.csv +82 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/HLV-O2-noise.csv +83 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/HLVK-design-PLI.csv +61 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/HLVK-design-noise.csv +83 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/NG15_PLI_hc.csv +31 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/NG15_noise_hc.csv +56 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/PLI-dataset.csv +327 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/energydensities.dat +1001 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/finiteT_b.dat.txt +1999 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/finiteT_f.dat.txt +1000 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/geff_SM.dat +10009 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/muAres_f_Hz_PLI_h2OmegaGW.csv +131 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/muAres_f_Hz_h2Omega_noise.csv +99 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/noise-dataset.csv +327 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/numberdensities.dat +1001 -0
- transitionlistener-2.0.0/src/transitionlistener/tab_data/pressures.dat +1001 -0
- transitionlistener-2.0.0/src/transitionlistener/thermodynamics.py +686 -0
- transitionlistener-2.0.0/src/transitionlistener/transitionObservables.py +1199 -0
- transitionlistener-2.0.0/src/transitionlistener/transitionObservables_fixedstep.py +976 -0
- transitionlistener-2.0.0/src/transitionlistener/transitions.py +1000 -0
- transitionlistener-2.0.0/src/transitionlistener/tunneling1D.py +910 -0
- transitionlistener-2.0.0/tests/__init__.py +0 -0
- transitionlistener-2.0.0/tests/check_installation.py +309 -0
- transitionlistener-2.0.0/tests/run_tl_without_interface.py +51 -0
- transitionlistener-2.0.0/tests/test_1d_tunneling.py +43 -0
- transitionlistener-2.0.0/tests/test_bubbledynamics_adaptive_rebuild.py +109 -0
- transitionlistener-2.0.0/tests/test_bubbledynamics_calcaction_cache.py +36 -0
- transitionlistener-2.0.0/tests/test_bubbledynamics_mainline_refined.py +108 -0
- transitionlistener-2.0.0/tests/test_hydrodynamics.py +20 -0
- transitionlistener-2.0.0/tests/test_mock_rate_peak_refinement.py +276 -0
- transitionlistener-2.0.0/tests/test_paper_benchmark_common.py +65 -0
- transitionlistener-2.0.0/tests/test_percintegral_ode.py +212 -0
- transitionlistener-2.0.0/tests/test_release_smoke.py +159 -0
- transitionlistener-2.0.0/tests/test_thermodynamics.py +29 -0
- transitionlistener-2.0.0/tests/test_warning_outputs.py +109 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [release, main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [release, main]
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
smoke:
|
|
12
|
+
name: smoke (Python ${{ matrix.python-version }})
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
strategy:
|
|
15
|
+
fail-fast: false
|
|
16
|
+
matrix:
|
|
17
|
+
python-version: ["3.10"]
|
|
18
|
+
steps:
|
|
19
|
+
- name: Checkout
|
|
20
|
+
uses: actions/checkout@v4
|
|
21
|
+
|
|
22
|
+
- name: Set up Python
|
|
23
|
+
uses: actions/setup-python@v5
|
|
24
|
+
with:
|
|
25
|
+
python-version: ${{ matrix.python-version }}
|
|
26
|
+
cache: pip
|
|
27
|
+
|
|
28
|
+
- name: System packages for mpi4py
|
|
29
|
+
run: |
|
|
30
|
+
sudo apt-get update
|
|
31
|
+
sudo apt-get install -y --no-install-recommends libopenmpi-dev openmpi-bin
|
|
32
|
+
|
|
33
|
+
- name: Install TransitionListener (editable)
|
|
34
|
+
run: |
|
|
35
|
+
python -m pip install --upgrade pip
|
|
36
|
+
pip install -e ".[dev]"
|
|
37
|
+
|
|
38
|
+
- name: Confirm `tl` is on PATH
|
|
39
|
+
run: tl --help >/dev/null
|
|
40
|
+
|
|
41
|
+
- name: Release smoke test
|
|
42
|
+
run: pytest -v tests/test_release_smoke.py
|
|
43
|
+
env:
|
|
44
|
+
OMP_NUM_THREADS: "1"
|
|
45
|
+
OPENBLAS_NUM_THREADS: "1"
|
|
46
|
+
MKL_NUM_THREADS: "1"
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
name: Build and Deploy Sphinx to Pages
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ "main" ]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
pages: write
|
|
11
|
+
id-token: write
|
|
12
|
+
|
|
13
|
+
concurrency:
|
|
14
|
+
group: "pages"
|
|
15
|
+
cancel-in-progress: true
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
build:
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v4
|
|
22
|
+
|
|
23
|
+
- name: Set up TL conda environment
|
|
24
|
+
uses: mamba-org/setup-micromamba@v1
|
|
25
|
+
with:
|
|
26
|
+
environment-name: TL
|
|
27
|
+
init-shell: bash
|
|
28
|
+
cache-environment: true
|
|
29
|
+
condarc: |
|
|
30
|
+
channels:
|
|
31
|
+
- conda-forge
|
|
32
|
+
create-args: >
|
|
33
|
+
python=3.10
|
|
34
|
+
ptarcade
|
|
35
|
+
ultranest
|
|
36
|
+
tqdm
|
|
37
|
+
corner
|
|
38
|
+
getdist
|
|
39
|
+
mpi4py
|
|
40
|
+
|
|
41
|
+
- name: Configure Pages
|
|
42
|
+
uses: actions/configure-pages@v5
|
|
43
|
+
|
|
44
|
+
- name: Install documentation dependencies
|
|
45
|
+
shell: bash -l {0}
|
|
46
|
+
run: |
|
|
47
|
+
python -m pip install -U pip
|
|
48
|
+
pip install sphinx myst-parser sphinx-autodoc-typehints furo rich
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
- name: Build HTML
|
|
52
|
+
shell: bash -l {0}
|
|
53
|
+
run: sphinx-build -b html docs/source docs/_build/html
|
|
54
|
+
|
|
55
|
+
- name: Upload artifact
|
|
56
|
+
uses: actions/upload-pages-artifact@v3
|
|
57
|
+
with:
|
|
58
|
+
path: docs/_build/html
|
|
59
|
+
|
|
60
|
+
deploy:
|
|
61
|
+
needs: build
|
|
62
|
+
runs-on: ubuntu-latest
|
|
63
|
+
environment:
|
|
64
|
+
name: github-pages
|
|
65
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
66
|
+
steps:
|
|
67
|
+
- id: deployment
|
|
68
|
+
uses: actions/deploy-pages@v4
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# macOS / editor cruft (anywhere in the tree)
|
|
2
|
+
**/.DS_Store
|
|
3
|
+
.DS_Store
|
|
4
|
+
*.~undo-tree~
|
|
5
|
+
|
|
6
|
+
# Python
|
|
7
|
+
*.pyc
|
|
8
|
+
__pycache__/
|
|
9
|
+
**/__pycache__/
|
|
10
|
+
*.egg-info/
|
|
11
|
+
|
|
12
|
+
# Auto-generated model artefacts (counterterm tensors, etc.)
|
|
13
|
+
models/generated/
|
|
14
|
+
|
|
15
|
+
# IDE
|
|
16
|
+
.vscode/settings.json
|
|
17
|
+
**/.vscode/settings.json
|
|
18
|
+
|
|
19
|
+
# tl runtime outputs (anywhere in the tree)
|
|
20
|
+
scans/
|
|
21
|
+
**/scans/
|
|
22
|
+
output.*.txt
|
|
23
|
+
|
|
24
|
+
# Sphinx / docs build artifacts
|
|
25
|
+
docs/_build/
|
|
26
|
+
docs/build/
|
|
27
|
+
docs/*.aux
|
|
28
|
+
docs/*.log
|
|
29
|
+
docs/*.out
|
|
30
|
+
docs/*.toc
|
|
31
|
+
docs/*.bbl
|
|
32
|
+
docs/*.blg
|
|
33
|
+
docs/*.fls
|
|
34
|
+
docs/*.fdb_latexmk
|
|
35
|
+
|
|
36
|
+
# arxiv LaTeX build artifacts (we ship the figure PDFs but never the LaTeX
|
|
37
|
+
# intermediates of main.tex)
|
|
38
|
+
arxiv/*.aux
|
|
39
|
+
arxiv/*.bbl
|
|
40
|
+
arxiv/*.bcf
|
|
41
|
+
arxiv/*.blg
|
|
42
|
+
arxiv/*.fdb_latexmk
|
|
43
|
+
arxiv/*.fls
|
|
44
|
+
arxiv/*.log
|
|
45
|
+
arxiv/*.out
|
|
46
|
+
arxiv/*.run.xml
|
|
47
|
+
arxiv/*.synctex.gz
|
|
48
|
+
arxiv/*.toc
|
|
49
|
+
arxiv/main.pdf
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes between releases of TransitionListener.
|
|
4
|
+
|
|
5
|
+
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and the project adheres to [Semantic Versioning](https://semver.org/).
|
|
7
|
+
|
|
8
|
+
## [2.0.0] - 2026-05-06
|
|
9
|
+
|
|
10
|
+
Major code release accompanied by the paper
|
|
11
|
+
[arXiv:2605.xxxxx](https://arxiv.org/abs/2605.xxxxx) (TDB).
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- Public packaged interface (`pip install -e .`, `tl` console script,
|
|
16
|
+
YAML-driven scans). v1 was a collection of top-level Python scripts
|
|
17
|
+
(`My_point.py`, `My_point_comparison.py`, `My_potential_plot_point.py`,
|
|
18
|
+
`My_scan_LISA_low_res.py`, `scanner.py`, `tl_dark_photon_model.py`)
|
|
19
|
+
invoked individually; v2 ships a single CLI and a structured
|
|
20
|
+
`transitionlistener` package under `src/`.
|
|
21
|
+
- Self-consistent percolation solver. The new
|
|
22
|
+
`adaptive_step_size` algorithm iterates the Hubble rate and the
|
|
23
|
+
false-vacuum fraction until convergence and is the default. A
|
|
24
|
+
`fixed_step_size` static-grid solver is kept as a benchmarking
|
|
25
|
+
baseline; both run from the same model files via the
|
|
26
|
+
`percolation_algorithm_mode` YAML override (or `PercolationConf`
|
|
27
|
+
default).
|
|
28
|
+
- ODE-based percolation integral (`percolation_integral_method = "ode"`,
|
|
29
|
+
default) that uses the symmetric-phase sound speed and the integrated
|
|
30
|
+
cosmological scale-factor ratio
|
|
31
|
+
(`percolation_time_temperature_mode = "sound_speed"`, default) so the
|
|
32
|
+
evolved `P_t(T)` already includes both effects without a separate
|
|
33
|
+
`Pr_exp` channel. The historical bag/`c_s²=1/3` form is still
|
|
34
|
+
reachable via `percolation_time_temperature_mode = "bag"`.
|
|
35
|
+
- Full thermodynamic alpha catalogue:
|
|
36
|
+
- `alpha` (the canonical column), now defined as the
|
|
37
|
+
Giese:2020 / pseudo-trace-anomaly definition
|
|
38
|
+
(`alpha_thetabar`).
|
|
39
|
+
- `alpha_theta` (bag-EOS) is still emitted as a separate output
|
|
40
|
+
column so users can compare definitions on a per-point basis.
|
|
41
|
+
- `alpha_p`, `alpha_e`, `alpha_hyd`, `alpha_inf`, `alpha_eq`.
|
|
42
|
+
- LTE bubble-wall velocity solver based on
|
|
43
|
+
arXiv:2303.10171 (`Hydrodynamics.calcWallVelocityLTE`), reading the
|
|
44
|
+
hydrodynamic coupling option from `pot.config.gwConf.coupled_hydrodynamics`.
|
|
45
|
+
Free-input numeric `wall_velocity` values in `(0, 1]` are also
|
|
46
|
+
accepted.
|
|
47
|
+
- LISA Cosmology Working Group spectrum recommendations
|
|
48
|
+
(arXiv:2403.03723): bubble-collision + sound-wave + turbulence
|
|
49
|
+
contributions with sound-wave-source lifetime.
|
|
50
|
+
- `precision_mode` bundles for tracing and tunnelling tolerances:
|
|
51
|
+
`default`, `robust`, `xtrace`, `tunneltight`, `benchmark`.
|
|
52
|
+
- Output schema and observability:
|
|
53
|
+
- Stable, fully columnar `output_table.csv` with documented columns
|
|
54
|
+
(see paper App. A).
|
|
55
|
+
- Documented error codes in `transitionlistener/errors.py`.
|
|
56
|
+
- SNR computation against LISA, BBO, DECIGO, ET, muAres, and the
|
|
57
|
+
PTA datasets (NANOGrav, EPTA, IPTA).
|
|
58
|
+
- PTA log-likelihood evaluation through `PTArcade`.
|
|
59
|
+
- UltraNest integration for nested-sampling scans of large parameter
|
|
60
|
+
spaces.
|
|
61
|
+
- Multi-Higgs / multi-field potentials:
|
|
62
|
+
- `models/TL_2HDM.py` and high-accuracy variants,
|
|
63
|
+
- `models/TL_dark_flipflop.py` (two-singlet vev-flip-flop),
|
|
64
|
+
- `models/TL_dark_U1.py`, `models/TL_dark_U1_g_parameterization.py`,
|
|
65
|
+
- `models/TL_conformal_dark_u1.py`,
|
|
66
|
+
- `models/templatePotential.py` as a starting point for new models.
|
|
67
|
+
- Automatic SM and BSM degrees-of-freedom accounting at finite T,
|
|
68
|
+
including a kinetic-equilibrium switch
|
|
69
|
+
(`pot.config.gwConf.coupled_hydrodynamics`) that controls whether
|
|
70
|
+
the species coupled to the transitioning scalar and the rest of the
|
|
71
|
+
heat bath are treated as a single hydrodynamic fluid.
|
|
72
|
+
- Self-consistent energy-density evaluation from the user-defined
|
|
73
|
+
effective potential (replacing the older `ΔV` / bag approximation).
|
|
74
|
+
- Stable down to extreme supercooling: `α ~ 10^10` benchmarks pass.
|
|
75
|
+
- Reproducibility infrastructure for the paper:
|
|
76
|
+
- `arxiv/figures/paper/configs/`: every YAML scan that feeds a
|
|
77
|
+
paper figure.
|
|
78
|
+
- `arxiv/reproducibility/paper/manifest.yaml`: figure → builder
|
|
79
|
+
script → YAML inputs map.
|
|
80
|
+
- `arxiv/reproducibility/paper/scripts/build_all.py`: walks the
|
|
81
|
+
manifest, optionally re-runs the underlying tl scans, and rebuilds
|
|
82
|
+
the figures (`--regenerate`, `--mode {adaptive_step_size,
|
|
83
|
+
fixed_step_size}`, `--only LABEL`).
|
|
84
|
+
- Sphinx documentation: <https://tasillo.de/TransitionListener/>.
|
|
85
|
+
- `tests/test_release_smoke.py`: 1-2 minute end-to-end smoke that runs
|
|
86
|
+
`tl -c examples/example_point.yaml` and asserts `Tperc`, `Treh`,
|
|
87
|
+
`alpha`, `alpha_thetabar`, `RH` in their expected physical bands.
|
|
88
|
+
- GitHub Actions CI that installs the package (with the dev extras
|
|
89
|
+
for pytest) and runs the smoke test on every push to `main` /
|
|
90
|
+
`release`.
|
|
91
|
+
- `CITATION.cff` and an expanded `pyproject.toml` (project URLs,
|
|
92
|
+
classifiers, dev extras).
|
|
93
|
+
|
|
94
|
+
### Changed
|
|
95
|
+
|
|
96
|
+
- `derived["alpha"]` now equals the Giese:2020 definition
|
|
97
|
+
(`alpha_thetabar`) instead of the bag-EOS one. Old code that read
|
|
98
|
+
`alpha` will continue to work but will pick up the new (more
|
|
99
|
+
accurate) value; the old definition is still available as
|
|
100
|
+
`alpha_theta`.
|
|
101
|
+
- The package layout moved from `TransitionListener/*.py` (top of
|
|
102
|
+
repo, with hand-written paths in user scripts) to a proper
|
|
103
|
+
`src/transitionlistener/*.py` import root with subpackages
|
|
104
|
+
(`interface/`, `counterterms/`).
|
|
105
|
+
- `transitionFinder.py` (the v1 monolith) was split into:
|
|
106
|
+
`phases.py` + `transitions.py` + `transitionObservables.py` +
|
|
107
|
+
`bubbledynamics.py` + `nucleation.py`.
|
|
108
|
+
- The `xi` / temperature-ratio quantities (`xi_nuc`, `Tnuc_DS`
|
|
109
|
+
vs. `Tnuc_SM`) are no longer first-class outputs (see Removed).
|
|
110
|
+
|
|
111
|
+
### Removed
|
|
112
|
+
|
|
113
|
+
- Computation of the temperature ratio between the transitioning
|
|
114
|
+
sector and the external bath, and its propagation into the phase-
|
|
115
|
+
transition observables. v1 carried `xi_nuc`, `Tnuc_DS`, `g_eff_DS`,
|
|
116
|
+
`g_eff_SM` separately; v2 reports a single SM-temperature column
|
|
117
|
+
(`*_SM_GeV`) and assumes thermal equilibrium between the two sectors
|
|
118
|
+
during the transition (controlled by
|
|
119
|
+
`pot.config.gwConf.coupled_hydrodynamics`). For models in which the
|
|
120
|
+
two sectors decouple, set the flag to `False` and supply the
|
|
121
|
+
decoupled-sector `geff` callbacks on the model.
|
|
122
|
+
- Computation of the dilution factor `D`. v1 shipped
|
|
123
|
+
`TransitionListener/dilution.py` (a full Boltzmann solver inspired
|
|
124
|
+
by arXiv:1811.03608 for non-thermal mediator decays). v2 leaves
|
|
125
|
+
`D` as an open parameter on the GW spectrum (default `1`); users
|
|
126
|
+
who need the dilution can compute it externally and pass it in.
|
|
127
|
+
|
|
128
|
+
## [1.0.2] - 2023-12-06
|
|
129
|
+
|
|
130
|
+
Added a conda environment file.
|
|
131
|
+
|
|
132
|
+
### Added
|
|
133
|
+
|
|
134
|
+
- `TL.yml`, a conda environment file intended to provide a working v1 setup
|
|
135
|
+
with `scipy==1.10.1` and the small Python dependencies needed by the
|
|
136
|
+
original scripts.
|
|
137
|
+
|
|
138
|
+
### Changed
|
|
139
|
+
|
|
140
|
+
- `My_scan_LISA_low_res.py` was wrapped in a standard
|
|
141
|
+
`if __name__ == "__main__":` entry point so the example scan script behaves
|
|
142
|
+
more cleanly when imported or launched from different environments.
|
|
143
|
+
- The README compatibility note was updated to document the `scipy`-related
|
|
144
|
+
failure mode in the CosmoTransitions backend more precisely and to point
|
|
145
|
+
users to the new conda environment file.
|
|
146
|
+
|
|
147
|
+
## [1.0.1] - 2023-10-12
|
|
148
|
+
|
|
149
|
+
Documentation-only maintenance update on the public v1 repository.
|
|
150
|
+
|
|
151
|
+
### Changed
|
|
152
|
+
|
|
153
|
+
- The README command examples were corrected to match the actual script names
|
|
154
|
+
(`My_point.py`, `My_scan.py`, `My_comparison.py`).
|
|
155
|
+
- A compatibility note was added documenting that the v1 code path can run
|
|
156
|
+
into CosmoTransitions error-code-7 failures on then-current Python / NumPy /
|
|
157
|
+
SciPy stacks, especially on Apple M2 systems, while the authors could still
|
|
158
|
+
confirm a working environment with `python 3.9.16`, `scipy 1.10.1`, and
|
|
159
|
+
`numpy 1.24.3`.
|
|
160
|
+
|
|
161
|
+
## [1.0.0] - 2021-10-21
|
|
162
|
+
|
|
163
|
+
Initial public v1 release of TransitionListener on GitHub, corresponding to
|
|
164
|
+
the original dark sector workflow used in
|
|
165
|
+
[arXiv:2109.06208](https://arxiv.org/abs/2109.06208).
|
|
166
|
+
|
|
167
|
+
### Added
|
|
168
|
+
|
|
169
|
+
- A script-driven analysis workflow built on top of CosmoTransitions for
|
|
170
|
+
dark sector first-order phase transitions and their stochastic
|
|
171
|
+
gravitational wave signals.
|
|
172
|
+
- Single-point, grid-scan, comparison, and potential-cross-check entry points
|
|
173
|
+
via `My_point.py`, `scanner.py`, `My_point_comparison.py`,
|
|
174
|
+
`My_scan_LISA_low_res.py`, and `My_potential_plot_point.py`.
|
|
175
|
+
- Model support for a dark `U(1)` extension through `tl_dark_photon_model.py`
|
|
176
|
+
and the bundled `TransitionListener/` module directory.
|
|
177
|
+
- Computation of nucleation temperature, transition strength, inverse
|
|
178
|
+
timescale, relativistic degrees of freedom, entropy-dilution effects, GW
|
|
179
|
+
spectra, and detector signal-to-noise ratios in the original v1 framework.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
cff-version: 1.2.0
|
|
2
|
+
title: TransitionListener
|
|
3
|
+
message: >-
|
|
4
|
+
If you use TransitionListener in your work, please cite the v2.0 release
|
|
5
|
+
paper and the v1 release paper that introduced the framework.
|
|
6
|
+
type: software
|
|
7
|
+
authors:
|
|
8
|
+
- given-names: Carlo
|
|
9
|
+
family-names: Tasillo
|
|
10
|
+
email: carlo.tasillo@ific.uv.es
|
|
11
|
+
affiliation: IFIC Valencia
|
|
12
|
+
orcid: "https://orcid.org/0000-0003-2683-5169"
|
|
13
|
+
- given-names: Jonas
|
|
14
|
+
family-names: Matuszak
|
|
15
|
+
email: jonas.matuszak@kit.edu
|
|
16
|
+
affiliation: Karlsruhe Institute of Technology
|
|
17
|
+
repository-code: "https://github.com/tasicarl/TransitionListener"
|
|
18
|
+
url: "https://tasillo.de/TransitionListener/"
|
|
19
|
+
abstract: >-
|
|
20
|
+
TransitionListener is an open-source Python framework for analyzing
|
|
21
|
+
cosmological first-order phase transitions and their stochastic
|
|
22
|
+
gravitational-wave backgrounds. It implements a full thermal history
|
|
23
|
+
from microphysical model parameters to observable signals, including a
|
|
24
|
+
precision percolation solver, the LTE bubble-wall velocity, and
|
|
25
|
+
state-of-the-art gravitational-wave spectra.
|
|
26
|
+
keywords:
|
|
27
|
+
- cosmology
|
|
28
|
+
- gravitational waves
|
|
29
|
+
- phase transitions
|
|
30
|
+
- particle physics
|
|
31
|
+
license: GPL-3.0-or-later
|
|
32
|
+
version: "2.0.0"
|
|
33
|
+
date-released: 2026-04-26
|