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.
Files changed (152) hide show
  1. transitionlistener-2.0.0/.github/workflows/ci.yml +46 -0
  2. transitionlistener-2.0.0/.github/workflows/docs.yml +68 -0
  3. transitionlistener-2.0.0/.gitignore +49 -0
  4. transitionlistener-2.0.0/CHANGELOG.md +179 -0
  5. transitionlistener-2.0.0/CITATION.cff +33 -0
  6. transitionlistener-2.0.0/LICENSE.txt +674 -0
  7. transitionlistener-2.0.0/PKG-INFO +817 -0
  8. transitionlistener-2.0.0/README.md +99 -0
  9. transitionlistener-2.0.0/docs/Makefile +20 -0
  10. transitionlistener-2.0.0/docs/source/_static/2109.06208_example.png +0 -0
  11. transitionlistener-2.0.0/docs/source/_static/2311.06346_example.png +0 -0
  12. transitionlistener-2.0.0/docs/source/_static/2502.19478_example.png +0 -0
  13. transitionlistener-2.0.0/docs/source/_static/TL-logo_large.png +0 -0
  14. transitionlistener-2.0.0/docs/source/_static/example_grid.png +0 -0
  15. transitionlistener-2.0.0/docs/source/_static/example_kappa.png +0 -0
  16. transitionlistener-2.0.0/docs/source/_static/example_output/Add_info_log10_f_peak_Hz.png +0 -0
  17. transitionlistener-2.0.0/docs/source/_static/example_output/Add_info_log10_h2OmegaGW_peak.png +0 -0
  18. transitionlistener-2.0.0/docs/source/_static/example_output/SNR_BBO.png +0 -0
  19. transitionlistener-2.0.0/docs/source/_static/example_output/SNR_DECIGO.png +0 -0
  20. transitionlistener-2.0.0/docs/source/_static/example_output/SNR_ET.png +0 -0
  21. transitionlistener-2.0.0/docs/source/_static/example_output/fig14_alpha_betaH.png +0 -0
  22. transitionlistener-2.0.0/docs/source/_static/example_output/lin_plot_c_s_bro.png +0 -0
  23. transitionlistener-2.0.0/docs/source/_static/example_output/lin_plot_c_s_sym.png +0 -0
  24. transitionlistener-2.0.0/docs/source/_static/example_output/lin_plot_g_eff_tot_reh.png +0 -0
  25. transitionlistener-2.0.0/docs/source/_static/example_output/lin_plot_xi_crit.png +0 -0
  26. transitionlistener-2.0.0/docs/source/_static/example_output/log_plot_Tcrit_SM_GeV.png +0 -0
  27. transitionlistener-2.0.0/docs/source/_static/example_output/log_plot_Tf_SM_GeV.png +0 -0
  28. transitionlistener-2.0.0/docs/source/_static/example_output/log_plot_Tnuc_SM_GeV.png +0 -0
  29. transitionlistener-2.0.0/docs/source/_static/example_output/log_plot_Tperc_SM_GeV.png +0 -0
  30. transitionlistener-2.0.0/docs/source/_static/example_output/log_plot_Treh_SM_GeV.png +0 -0
  31. transitionlistener-2.0.0/docs/source/_static/example_output/log_plot_alpha.png +0 -0
  32. transitionlistener-2.0.0/docs/source/_static/example_output/log_plot_betaH_RH.png +0 -0
  33. transitionlistener-2.0.0/docs/source/_static/example_point_GW_spectrum.png +0 -0
  34. transitionlistener-2.0.0/docs/source/_static/pipeline.png +0 -0
  35. transitionlistener-2.0.0/docs/source/api/TransitionListener.rst +175 -0
  36. transitionlistener-2.0.0/docs/source/changelog.md +2 -0
  37. transitionlistener-2.0.0/docs/source/conf.py +93 -0
  38. transitionlistener-2.0.0/docs/source/contributing.rst +46 -0
  39. transitionlistener-2.0.0/docs/source/documentation.rst +50 -0
  40. transitionlistener-2.0.0/docs/source/example_output.md +138 -0
  41. transitionlistener-2.0.0/docs/source/faq.rst +58 -0
  42. transitionlistener-2.0.0/docs/source/features.rst +37 -0
  43. transitionlistener-2.0.0/docs/source/getting_started.rst +153 -0
  44. transitionlistener-2.0.0/docs/source/index.rst +99 -0
  45. transitionlistener-2.0.0/docs/source/installation.rst +129 -0
  46. transitionlistener-2.0.0/docs/source/method.rst +145 -0
  47. transitionlistener-2.0.0/docs/source/plots.rst +49 -0
  48. transitionlistener-2.0.0/docs/source/usage.rst +187 -0
  49. transitionlistener-2.0.0/examples/bp_et.yaml +64 -0
  50. transitionlistener-2.0.0/examples/bp_lisa.yaml +70 -0
  51. transitionlistener-2.0.0/examples/bp_muares.yaml +69 -0
  52. transitionlistener-2.0.0/examples/bp_pta.yaml +64 -0
  53. transitionlistener-2.0.0/examples/example_dark_photon.yaml +73 -0
  54. transitionlistener-2.0.0/examples/example_grid.yaml +55 -0
  55. transitionlistener-2.0.0/examples/example_line.yaml +51 -0
  56. transitionlistener-2.0.0/examples/example_point.yaml +73 -0
  57. transitionlistener-2.0.0/examples/example_random_conformal.yaml +42 -0
  58. transitionlistener-2.0.0/examples/example_ultranest.yaml +39 -0
  59. transitionlistener-2.0.0/models/TL_2HDM.py +512 -0
  60. transitionlistener-2.0.0/models/TL_conformal_dark_u1.py +202 -0
  61. transitionlistener-2.0.0/models/TL_dark_U1.py +198 -0
  62. transitionlistener-2.0.0/models/TL_dark_U1_g_parameterization.py +198 -0
  63. transitionlistener-2.0.0/models/TL_dark_flipflop.py +274 -0
  64. transitionlistener-2.0.0/models/templatePotential.py +260 -0
  65. transitionlistener-2.0.0/pyproject.toml +76 -0
  66. transitionlistener-2.0.0/src/transitionlistener/__init__.py +21 -0
  67. transitionlistener-2.0.0/src/transitionlistener/bubbledynamics.py +2250 -0
  68. transitionlistener-2.0.0/src/transitionlistener/bubbledynamics_fixedstep.py +2929 -0
  69. transitionlistener-2.0.0/src/transitionlistener/ckm.py +91 -0
  70. transitionlistener-2.0.0/src/transitionlistener/colors.py +288 -0
  71. transitionlistener-2.0.0/src/transitionlistener/config.py +185 -0
  72. transitionlistener-2.0.0/src/transitionlistener/constants.py +64 -0
  73. transitionlistener-2.0.0/src/transitionlistener/counterterms/__init__.py +230 -0
  74. transitionlistener-2.0.0/src/transitionlistener/counterterms/cw.py +298 -0
  75. transitionlistener-2.0.0/src/transitionlistener/counterterms/tensors.py +343 -0
  76. transitionlistener-2.0.0/src/transitionlistener/counterterms/twohdm.py +520 -0
  77. transitionlistener-2.0.0/src/transitionlistener/counterterms/twohdm_solver.py +374 -0
  78. transitionlistener-2.0.0/src/transitionlistener/errors.py +315 -0
  79. transitionlistener-2.0.0/src/transitionlistener/finiteT.py +468 -0
  80. transitionlistener-2.0.0/src/transitionlistener/generic_potential.py +1521 -0
  81. transitionlistener-2.0.0/src/transitionlistener/gridplots.py +592 -0
  82. transitionlistener-2.0.0/src/transitionlistener/gwfopt.py +604 -0
  83. transitionlistener-2.0.0/src/transitionlistener/helper_functions.py +843 -0
  84. transitionlistener-2.0.0/src/transitionlistener/hydrodynamics.py +647 -0
  85. transitionlistener-2.0.0/src/transitionlistener/interface/__init__.py +95 -0
  86. transitionlistener-2.0.0/src/transitionlistener/interface/check.py +51 -0
  87. transitionlistener-2.0.0/src/transitionlistener/interface/cli.py +211 -0
  88. transitionlistener-2.0.0/src/transitionlistener/interface/config_loader.py +264 -0
  89. transitionlistener-2.0.0/src/transitionlistener/interface/logging_utils.py +30 -0
  90. transitionlistener-2.0.0/src/transitionlistener/interface/output_schema.py +296 -0
  91. transitionlistener-2.0.0/src/transitionlistener/interface/pipeline.py +300 -0
  92. transitionlistener-2.0.0/src/transitionlistener/interface/samplers.py +565 -0
  93. transitionlistener-2.0.0/src/transitionlistener/interface/scans.py +468 -0
  94. transitionlistener-2.0.0/src/transitionlistener/interface/single_point.py +581 -0
  95. transitionlistener-2.0.0/src/transitionlistener/interface/state.py +61 -0
  96. transitionlistener-2.0.0/src/transitionlistener/lineplots.py +597 -0
  97. transitionlistener-2.0.0/src/transitionlistener/logo/TL-logo_large.png +0 -0
  98. transitionlistener-2.0.0/src/transitionlistener/logo/TL-logo_small.png +0 -0
  99. transitionlistener-2.0.0/src/transitionlistener/nucleation.py +412 -0
  100. transitionlistener-2.0.0/src/transitionlistener/observability.py +790 -0
  101. transitionlistener-2.0.0/src/transitionlistener/particles.py +436 -0
  102. transitionlistener-2.0.0/src/transitionlistener/pathDeformation.py +1462 -0
  103. transitionlistener-2.0.0/src/transitionlistener/percolation_adaptive_gridbuilders.py +1385 -0
  104. transitionlistener-2.0.0/src/transitionlistener/percolation_adaptive_rate.py +1049 -0
  105. transitionlistener-2.0.0/src/transitionlistener/percolation_adaptivestepsize.py +1632 -0
  106. transitionlistener-2.0.0/src/transitionlistener/percolation_fixedstepsize.py +618 -0
  107. transitionlistener-2.0.0/src/transitionlistener/phases.py +1499 -0
  108. transitionlistener-2.0.0/src/transitionlistener/plot_settings.py +121 -0
  109. transitionlistener-2.0.0/src/transitionlistener/plots.py +1781 -0
  110. transitionlistener-2.0.0/src/transitionlistener/runtime_options.py +278 -0
  111. transitionlistener-2.0.0/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/bandwidths.npy +0 -0
  112. transitionlistener-2.0.0/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/density.npy +0 -0
  113. transitionlistener-2.0.0/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/freqs.npy +0 -0
  114. transitionlistener-2.0.0/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/log.txt +16 -0
  115. transitionlistener-2.0.0/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/log10rhogrid.npy +0 -0
  116. transitionlistener-2.0.0/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/log10rholabels.txt +30 -0
  117. transitionlistener-2.0.0/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/pulsar_list.txt +1 -0
  118. transitionlistener-2.0.0/src/transitionlistener/tab_data/HLV-O2-PLI.csv +82 -0
  119. transitionlistener-2.0.0/src/transitionlistener/tab_data/HLV-O2-noise.csv +83 -0
  120. transitionlistener-2.0.0/src/transitionlistener/tab_data/HLVK-design-PLI.csv +61 -0
  121. transitionlistener-2.0.0/src/transitionlistener/tab_data/HLVK-design-noise.csv +83 -0
  122. transitionlistener-2.0.0/src/transitionlistener/tab_data/NG15_PLI_hc.csv +31 -0
  123. transitionlistener-2.0.0/src/transitionlistener/tab_data/NG15_noise_hc.csv +56 -0
  124. transitionlistener-2.0.0/src/transitionlistener/tab_data/PLI-dataset.csv +327 -0
  125. transitionlistener-2.0.0/src/transitionlistener/tab_data/energydensities.dat +1001 -0
  126. transitionlistener-2.0.0/src/transitionlistener/tab_data/finiteT_b.dat.txt +1999 -0
  127. transitionlistener-2.0.0/src/transitionlistener/tab_data/finiteT_f.dat.txt +1000 -0
  128. transitionlistener-2.0.0/src/transitionlistener/tab_data/geff_SM.dat +10009 -0
  129. transitionlistener-2.0.0/src/transitionlistener/tab_data/muAres_f_Hz_PLI_h2OmegaGW.csv +131 -0
  130. transitionlistener-2.0.0/src/transitionlistener/tab_data/muAres_f_Hz_h2Omega_noise.csv +99 -0
  131. transitionlistener-2.0.0/src/transitionlistener/tab_data/noise-dataset.csv +327 -0
  132. transitionlistener-2.0.0/src/transitionlistener/tab_data/numberdensities.dat +1001 -0
  133. transitionlistener-2.0.0/src/transitionlistener/tab_data/pressures.dat +1001 -0
  134. transitionlistener-2.0.0/src/transitionlistener/thermodynamics.py +686 -0
  135. transitionlistener-2.0.0/src/transitionlistener/transitionObservables.py +1199 -0
  136. transitionlistener-2.0.0/src/transitionlistener/transitionObservables_fixedstep.py +976 -0
  137. transitionlistener-2.0.0/src/transitionlistener/transitions.py +1000 -0
  138. transitionlistener-2.0.0/src/transitionlistener/tunneling1D.py +910 -0
  139. transitionlistener-2.0.0/tests/__init__.py +0 -0
  140. transitionlistener-2.0.0/tests/check_installation.py +309 -0
  141. transitionlistener-2.0.0/tests/run_tl_without_interface.py +51 -0
  142. transitionlistener-2.0.0/tests/test_1d_tunneling.py +43 -0
  143. transitionlistener-2.0.0/tests/test_bubbledynamics_adaptive_rebuild.py +109 -0
  144. transitionlistener-2.0.0/tests/test_bubbledynamics_calcaction_cache.py +36 -0
  145. transitionlistener-2.0.0/tests/test_bubbledynamics_mainline_refined.py +108 -0
  146. transitionlistener-2.0.0/tests/test_hydrodynamics.py +20 -0
  147. transitionlistener-2.0.0/tests/test_mock_rate_peak_refinement.py +276 -0
  148. transitionlistener-2.0.0/tests/test_paper_benchmark_common.py +65 -0
  149. transitionlistener-2.0.0/tests/test_percintegral_ode.py +212 -0
  150. transitionlistener-2.0.0/tests/test_release_smoke.py +159 -0
  151. transitionlistener-2.0.0/tests/test_thermodynamics.py +29 -0
  152. 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