TransitionListener 2.0.1__tar.gz → 2.1.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 (159) hide show
  1. transitionlistener-2.1.0/.github/ISSUE_TEMPLATE/bug_report.md +28 -0
  2. transitionlistener-2.1.0/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
  3. transitionlistener-2.1.0/.github/workflows/publish.yml +28 -0
  4. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/CHANGELOG.md +60 -1
  5. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/PKG-INFO +2 -2
  6. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/README.md +1 -1
  7. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/conda/meta.yaml +2 -2
  8. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/conf.py +1 -1
  9. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/faq.rst +27 -0
  10. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/index.rst +8 -1
  11. transitionlistener-2.1.0/docs/source/installation.rst +185 -0
  12. transitionlistener-2.1.0/models/TL_2HDM_BSMPT.py +126 -0
  13. transitionlistener-2.1.0/models/TL_2HDM_BSMPT_highacc.py +38 -0
  14. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/pyproject.toml +1 -1
  15. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/hydrodynamics.py +6 -1
  16. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/transitionObservables.py +48 -21
  17. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/tests/check_installation.py +166 -14
  18. transitionlistener-2.0.1/docs/source/installation.rst +0 -129
  19. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/.github/workflows/ci.yml +0 -0
  20. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/.github/workflows/docs.yml +0 -0
  21. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/.gitignore +0 -0
  22. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/CITATION.cff +0 -0
  23. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/LICENSE.txt +0 -0
  24. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/Makefile +0 -0
  25. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/2109.06208_example.png +0 -0
  26. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/2311.06346_example.png +0 -0
  27. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/2502.19478_example.png +0 -0
  28. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/TL-logo_large.png +0 -0
  29. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_grid.png +0 -0
  30. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_kappa.png +0 -0
  31. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/Add_info_log10_f_peak_Hz.png +0 -0
  32. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/Add_info_log10_h2OmegaGW_peak.png +0 -0
  33. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/SNR_BBO.png +0 -0
  34. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/SNR_DECIGO.png +0 -0
  35. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/SNR_ET.png +0 -0
  36. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/fig14_alpha_betaH.png +0 -0
  37. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/lin_plot_c_s_bro.png +0 -0
  38. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/lin_plot_c_s_sym.png +0 -0
  39. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/lin_plot_g_eff_tot_reh.png +0 -0
  40. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/lin_plot_xi_crit.png +0 -0
  41. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/log_plot_Tcrit_SM_GeV.png +0 -0
  42. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/log_plot_Tf_SM_GeV.png +0 -0
  43. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/log_plot_Tnuc_SM_GeV.png +0 -0
  44. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/log_plot_Tperc_SM_GeV.png +0 -0
  45. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/log_plot_Treh_SM_GeV.png +0 -0
  46. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/log_plot_alpha.png +0 -0
  47. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_output/log_plot_betaH_RH.png +0 -0
  48. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/example_point_GW_spectrum.png +0 -0
  49. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/_static/pipeline.png +0 -0
  50. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/api/TransitionListener.rst +0 -0
  51. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/changelog.md +0 -0
  52. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/contributing.rst +0 -0
  53. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/documentation.rst +0 -0
  54. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/example_output.md +0 -0
  55. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/features.rst +0 -0
  56. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/getting_started.rst +0 -0
  57. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/method.rst +0 -0
  58. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/plots.rst +0 -0
  59. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/docs/source/usage.rst +0 -0
  60. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/examples/bp_et.yaml +0 -0
  61. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/examples/bp_lisa.yaml +0 -0
  62. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/examples/bp_muares.yaml +0 -0
  63. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/examples/bp_pta.yaml +0 -0
  64. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/examples/example_dark_photon.yaml +0 -0
  65. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/examples/example_grid.yaml +0 -0
  66. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/examples/example_line.yaml +0 -0
  67. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/examples/example_point.yaml +0 -0
  68. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/examples/example_random_conformal.yaml +0 -0
  69. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/examples/example_ultranest.yaml +0 -0
  70. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/models/TL_2HDM.py +0 -0
  71. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/models/TL_conformal_dark_u1.py +0 -0
  72. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/models/TL_dark_U1.py +0 -0
  73. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/models/TL_dark_U1_g_parameterization.py +0 -0
  74. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/models/TL_dark_flipflop.py +0 -0
  75. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/models/templatePotential.py +0 -0
  76. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/__init__.py +0 -0
  77. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/bubbledynamics.py +0 -0
  78. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/bubbledynamics_fixedstep.py +0 -0
  79. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/ckm.py +0 -0
  80. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/colors.py +0 -0
  81. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/config.py +0 -0
  82. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/constants.py +0 -0
  83. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/counterterms/__init__.py +0 -0
  84. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/counterterms/cw.py +0 -0
  85. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/counterterms/tensors.py +0 -0
  86. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/counterterms/twohdm.py +0 -0
  87. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/counterterms/twohdm_solver.py +0 -0
  88. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/errors.py +0 -0
  89. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/finiteT.py +0 -0
  90. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/generic_potential.py +0 -0
  91. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/gridplots.py +0 -0
  92. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/gwfopt.py +0 -0
  93. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/helper_functions.py +0 -0
  94. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/interface/__init__.py +0 -0
  95. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/interface/check.py +0 -0
  96. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/interface/cli.py +0 -0
  97. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/interface/config_loader.py +0 -0
  98. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/interface/logging_utils.py +0 -0
  99. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/interface/output_schema.py +0 -0
  100. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/interface/pipeline.py +0 -0
  101. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/interface/samplers.py +0 -0
  102. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/interface/scans.py +0 -0
  103. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/interface/single_point.py +0 -0
  104. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/interface/state.py +0 -0
  105. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/lineplots.py +0 -0
  106. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/logo/TL-logo_large.png +0 -0
  107. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/logo/TL-logo_small.png +0 -0
  108. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/nucleation.py +0 -0
  109. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/observability.py +0 -0
  110. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/particles.py +0 -0
  111. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/pathDeformation.py +0 -0
  112. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/percolation_adaptive_gridbuilders.py +0 -0
  113. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/percolation_adaptive_rate.py +0 -0
  114. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/percolation_adaptivestepsize.py +0 -0
  115. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/percolation_fixedstepsize.py +0 -0
  116. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/phases.py +0 -0
  117. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/plot_settings.py +0 -0
  118. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/plots.py +0 -0
  119. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/runtime_options.py +0 -0
  120. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/bandwidths.npy +0 -0
  121. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/density.npy +0 -0
  122. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/freqs.npy +0 -0
  123. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/log.txt +0 -0
  124. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/log10rhogrid.npy +0 -0
  125. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/log10rholabels.txt +0 -0
  126. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/30f_fs{hd}_100fDMGP_ceffyl/pulsar_list.txt +0 -0
  127. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/HLV-O2-PLI.csv +0 -0
  128. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/HLV-O2-noise.csv +0 -0
  129. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/HLVK-design-PLI.csv +0 -0
  130. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/HLVK-design-noise.csv +0 -0
  131. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/NG15_PLI_hc.csv +0 -0
  132. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/NG15_noise_hc.csv +0 -0
  133. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/PLI-dataset.csv +0 -0
  134. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/energydensities.dat +0 -0
  135. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/finiteT_b.dat.txt +0 -0
  136. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/finiteT_f.dat.txt +0 -0
  137. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/geff_SM.dat +0 -0
  138. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/muAres_f_Hz_PLI_h2OmegaGW.csv +0 -0
  139. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/muAres_f_Hz_h2Omega_noise.csv +0 -0
  140. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/noise-dataset.csv +0 -0
  141. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/numberdensities.dat +0 -0
  142. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tab_data/pressures.dat +0 -0
  143. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/thermodynamics.py +0 -0
  144. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/transitionObservables_fixedstep.py +0 -0
  145. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/transitions.py +0 -0
  146. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/src/transitionlistener/tunneling1D.py +0 -0
  147. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/tests/__init__.py +0 -0
  148. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/tests/run_tl_without_interface.py +0 -0
  149. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/tests/test_1d_tunneling.py +0 -0
  150. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/tests/test_bubbledynamics_adaptive_rebuild.py +0 -0
  151. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/tests/test_bubbledynamics_calcaction_cache.py +0 -0
  152. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/tests/test_bubbledynamics_mainline_refined.py +0 -0
  153. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/tests/test_hydrodynamics.py +0 -0
  154. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/tests/test_mock_rate_peak_refinement.py +0 -0
  155. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/tests/test_paper_benchmark_common.py +0 -0
  156. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/tests/test_percintegral_ode.py +0 -0
  157. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/tests/test_release_smoke.py +0 -0
  158. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/tests/test_thermodynamics.py +0 -0
  159. {transitionlistener-2.0.1 → transitionlistener-2.1.0}/tests/test_warning_outputs.py +0 -0
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Describe the bug**
11
+ A clear and concise description of what the bug is.
12
+
13
+ **To Reproduce**
14
+ Steps to reproduce the behavior.
15
+
16
+ **Expected behavior**
17
+ A clear and concise description of what you expected to happen.
18
+
19
+ **Screenshots**
20
+ If applicable, add screenshots to help explain your problem.
21
+
22
+ **Desktop (please complete the following information):**
23
+ - Operating system
24
+ - Version of TransitionListener
25
+ - Version of python dependencies
26
+
27
+ **Additional context**
28
+ Add any other context about the problem here.
@@ -0,0 +1,20 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ **Is your feature request related to a problem? Please describe.**
11
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12
+
13
+ **Describe the solution you'd like**
14
+ A clear and concise description of what you want to happen.
15
+
16
+ **Describe alternatives you've considered**
17
+ A clear and concise description of any alternative solutions or features you've considered.
18
+
19
+ **Additional context**
20
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,28 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+
8
+ jobs:
9
+ build-and-publish:
10
+ runs-on: ubuntu-latest
11
+ environment: pypi
12
+ permissions:
13
+ id-token: write # required for OIDC trusted publishing
14
+
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+
18
+ - uses: actions/setup-python@v5
19
+ with:
20
+ python-version: "3.12"
21
+
22
+ - name: Build
23
+ run: |
24
+ pip install build
25
+ python -m build
26
+
27
+ - name: Publish to PyPI
28
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -5,10 +5,69 @@ All notable changes between releases of TransitionListener.
5
5
  The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and the project adheres to [Semantic Versioning](https://semver.org/).
7
7
 
8
+ ## [2.1.0] - 2026-07-28
9
+
10
+ Bugfix release: reheating temperature (Treh) is now computed from the
11
+ evolved true-vacuum energy density rather than assumed instantaneous.
12
+
13
+ ### Fixed
14
+
15
+ - **Treh (reheating temperature)**: previously solved for Treh by assuming
16
+ instantaneous reheating via energy conservation at the single percolation
17
+ temperature (`eBRO(Treh) = eSYM(Tperc)`), discarding the gradual
18
+ true-vacuum-energy-density evolution the percolation routine already
19
+ tracks per step. This disagreed with the paper definition and overestimated
20
+ Treh for deeply supercooled transitions (low Tperc). The `TBROint` spline
21
+ built from the evolved `(TSYM, TBRO)` trajectory is now restored on
22
+ `PercolationResult` and evaluated at `Tperc`, realigning the adaptive-step
23
+ path with `transitionObservables_fixedstep.py`. The direct `Tb_criterion`
24
+ solve remains as a fallback when the spline is unavailable, and
25
+ `Treh = Tperc` as the final fallback.
26
+
27
+ ### Added
28
+
29
+ - `TL_2HDM_BSMPT.py` and `TL_2HDM_BSMPT_highacc.py` model files, needed to
30
+ use the `bp_lisa.yaml` benchmark point.
31
+
32
+ ### Changed
33
+
34
+ - Installation check now shows a progress indicator while warming the numpy
35
+ cache, so the install doesn't appear to hang; installation instructions
36
+ updated to match.
37
+ - README and FAQ now reference CosmoTransitions and arXiv:2303.10171 for the
38
+ LTE velocity approximation; `hydrodynamics.py` header updated accordingly.
39
+ - Issue and feature request templates updated.
40
+
41
+ ## [2.0.1] - 2026-05-18
42
+
43
+ Compatibility and packaging fixes; no physics changes.
44
+
45
+ ### Fixed
46
+
47
+ - **numpy ≥ 2.0 compatibility**: `np.product()` (removed in numpy 2.0) replaced
48
+ with `np.prod()`. Percolation criterion functions in `bubbledynamics.py` and
49
+ `bubbledynamics_fixedstep.py` now return Python scalars instead of shape-`(1,)`
50
+ arrays, fixing a `SystemError` from `scipy.optimize.brentq` on numpy 2.x.
51
+ `np.linalg.lstsq` calls updated from deprecated `rcond=-1` to `rcond=None`.
52
+ - **Windows compatibility**: `signal.SIGALRM` and `signal.alarm()` are POSIX-only
53
+ and not available on Windows. All usages are now guarded by `hasattr` checks,
54
+ fixing an `AttributeError` on import that caused the conda-forge Windows CI to
55
+ fail.
56
+ - **PTA diagnostics**: when `ptarcade.signal_builder` fails to import, the
57
+ underlying error is now shown alongside the "PTA likelihood unavailable" warning.
58
+
59
+ ### Added
60
+
61
+ - `conda/meta.yaml` recipe for conda-forge submission.
62
+ - `build` and `twine` added to the `[dev]` optional dependencies in
63
+ `pyproject.toml`.
64
+ - GitHub Actions workflow (`.github/workflows/publish.yml`) for automatic PyPI
65
+ publishing on tagged releases via OIDC trusted publishing.
66
+
8
67
  ## [2.0.0] - 2026-05-06
9
68
 
10
69
  Major code release accompanied by the paper
11
- [arXiv:2605.xxxxx](https://arxiv.org/abs/2605.xxxxx) (TDB).
70
+ [arXiv:2605.15259](https://arxiv.org/abs/2605.15259).
12
71
 
13
72
  ### Added
14
73
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TransitionListener
3
- Version: 2.0.1
3
+ Version: 2.1.0
4
4
  Summary: Framework for analyzing cosmological first-order phase transitions and their gravitational wave signatures.
5
5
  Project-URL: Homepage, https://tasillo.de/TransitionListener/
6
6
  Project-URL: Documentation, https://tasillo.de/TransitionListener/
@@ -803,7 +803,7 @@ Please feel free to write us an email in case you identify any bug in the code o
803
803
 
804
804
  ## Citation
805
805
 
806
- If you use TransitionListener in your research, please cite the [v2 release](https://arxiv.org/abs/2605.15259) paper as well as the original [v1 release](https://arxiv.org/abs/2109.06208).
806
+ If you use TransitionListener in your research, please cite the [v2 release](https://arxiv.org/abs/2605.15259) paper, the original [v1 release](https://arxiv.org/abs/2109.06208) and the underlying [```CosmoTransitions``` code](https://arxiv.org/abs/1109.4189). In case you use the LTE wall velocity approximation implemented in ```/src/transitionlistener/hydrodynamics.py```, please also cite [the corresponding work](https://arxiv.org/abs/2303.10171) of Wen-Yuan Ai, Benoit Laurent, and Jorinde van de Vis.
807
807
 
808
808
  ## License
809
809
 
@@ -85,7 +85,7 @@ Please feel free to write us an email in case you identify any bug in the code o
85
85
 
86
86
  ## Citation
87
87
 
88
- If you use TransitionListener in your research, please cite the [v2 release](https://arxiv.org/abs/2605.15259) paper as well as the original [v1 release](https://arxiv.org/abs/2109.06208).
88
+ If you use TransitionListener in your research, please cite the [v2 release](https://arxiv.org/abs/2605.15259) paper, the original [v1 release](https://arxiv.org/abs/2109.06208) and the underlying [```CosmoTransitions``` code](https://arxiv.org/abs/1109.4189). In case you use the LTE wall velocity approximation implemented in ```/src/transitionlistener/hydrodynamics.py```, please also cite [the corresponding work](https://arxiv.org/abs/2303.10171) of Wen-Yuan Ai, Benoit Laurent, and Jorinde van de Vis.
89
89
 
90
90
  ## License
91
91
 
@@ -1,4 +1,4 @@
1
- {% set version = "2.0.1" %}
1
+ {% set version = "2.1.0" %}
2
2
  {% set python_min = "3.10" %}
3
3
 
4
4
  package:
@@ -7,7 +7,7 @@ package:
7
7
 
8
8
  source:
9
9
  url: https://pypi.org/packages/source/T/TransitionListener/transitionlistener-{{ version }}.tar.gz
10
- sha256: 1c3a16edbb9eafc0e9878cff6dfc1798bb47278a51ba659b2ab8f41406d0fe27
10
+ sha256: e8670d2ef72e988b6834ad8476b51ec09c488713a716a05846ec835c8ab8d708
11
11
 
12
12
  build:
13
13
  entry_points:
@@ -20,7 +20,7 @@ on_github = bool(os.environ.get("GITHUB_PAGES"))
20
20
  project = 'TransitionListener'
21
21
  copyright = '2025, Carlo Tasillo, Jonas Matuszak'
22
22
  author = 'Carlo Tasillo, Jonas Matuszak'
23
- release = '2.0'
23
+ release = '2.1'
24
24
 
25
25
  # -- General configuration ---------------------------------------------------
26
26
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
@@ -56,3 +56,30 @@ Please cite the following papers if you use TransitionListener in your work:
56
56
  pages = "014",
57
57
  year = "2022"
58
58
  }
59
+
60
+ @article{Wainwright:2011kj,
61
+ author = "Wainwright, Carroll L.",
62
+ title = "{CosmoTransitions: Computing Cosmological Phase Transition Temperatures and Bubble Profiles with Multiple Fields}",
63
+ eprint = "1109.4189",
64
+ archivePrefix = "arXiv",
65
+ primaryClass = "hep-ph",
66
+ doi = "10.1016/j.cpc.2012.04.004",
67
+ journal = "Comput. Phys. Commun.",
68
+ volume = "183",
69
+ pages = "2006--2013",
70
+ year = "2012"
71
+ }
72
+
73
+ @article{Ai:2023see,
74
+ author = "Ai, Wen-Yuan and Laurent, Benoit and van de Vis, Jorinde",
75
+ title = "{Model-independent bubble wall velocities in local thermal equilibrium}",
76
+ eprint = "2303.10171",
77
+ archivePrefix = "arXiv",
78
+ primaryClass = "astro-ph.CO",
79
+ reportNumber = "KCL-PH-TH/2023-19",
80
+ doi = "10.1088/1475-7516/2023/07/002",
81
+ journal = "JCAP",
82
+ volume = "07",
83
+ pages = "002",
84
+ year = "2023"
85
+ }
@@ -34,8 +34,15 @@ first-order phase transitions and gravitational wave signals.
34
34
  :target: https://arxiv.org/abs/2502.19478
35
35
  :alt: arXiv
36
36
 
37
+ .. image:: https://img.shields.io/badge/arXiv-2602.09092-b31b1b.svg
38
+ :target: https://arxiv.org/abs/2602.09092
39
+ :alt: arXiv
40
+
41
+ .. image:: https://img.shields.io/badge/arXiv-2605.15259-b31b1b.svg
42
+ :target: https://arxiv.org/abs/2605.15259
43
+ :alt: arXiv
44
+
37
45
 
38
- About
39
46
  -----
40
47
 
41
48
  TransitionListener is an open-source Python package designed to facilitate the
@@ -0,0 +1,185 @@
1
+ Installation Guide
2
+ ==================
3
+
4
+ TransitionListener can be installed in three ways, listed in order of
5
+ convenience:
6
+
7
+ 1. :ref:`install-conda` — a fully resolved scientific stack from
8
+ ``conda-forge``,
9
+ 2. :ref:`install-pip` — a ``pip`` install from PyPI,
10
+ 3. :ref:`install-clone` — an editable install from a GitHub clone, for
11
+ developers and contributors.
12
+
13
+ Each route works out of the box for the *core* gravitational wave
14
+ workflow. Each route also supports the optional PTA likelihood layer
15
+ (``PTArcade`` / ``enterprise``), enabled by installing the
16
+ ``ptarcade`` package alongside ``transitionlistener``.
17
+
18
+ If you do not have a conda flavour installed yet, any of
19
+ `conda <https://docs.conda.io/projects/conda/en/stable/>`_,
20
+ `mamba <https://mamba.readthedocs.io/en/latest/>`_, or
21
+ `micromamba <https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html>`_
22
+ work; the commands below assume ``conda`` but ``mamba`` /
23
+ ``micromamba`` accept the exact same syntax.
24
+
25
+ .. note::
26
+ **Apple Silicon (M-series Macs) — read this first.**
27
+ The PTA likelihood layer depends on ``ceffyl``, which ships only
28
+ as an ``osx-64`` build on ``conda-forge``. As a consequence, any
29
+ environment that includes ``ptarcade`` has to be created with the
30
+ ``--platform osx-64`` flag. The *core* TransitionListener install
31
+ (no PTA layer) works natively on ``osx-arm64`` via any of the
32
+ three routes below.
33
+
34
+ .. _install-conda:
35
+
36
+ Option 1: conda from conda-forge (recommended)
37
+ ----------------------------------------------
38
+
39
+ The ``conda-forge`` package ``transitionlistener`` ships a fully
40
+ resolved scientific stack — no compiler step, no source build of
41
+ ``mpi4py``:
42
+
43
+ .. code-block:: bash
44
+
45
+ # Core install (no PTA likelihood)
46
+ conda create -n TL -c conda-forge transitionlistener
47
+ conda activate TL
48
+
49
+ # With the optional PTA likelihood
50
+ conda create -n TL -c conda-forge transitionlistener ptarcade
51
+ conda activate TL
52
+
53
+ On Apple Silicon, the PTA-enabled environment must be created under
54
+ ``osx-64``:
55
+
56
+ .. code-block:: bash
57
+
58
+ conda create -n TL --platform osx-64 -c conda-forge transitionlistener ptarcade
59
+ conda activate TL
60
+
61
+ (The core install above works natively on Apple Silicon without any
62
+ extra flag.)
63
+
64
+ If you intend to use the PTA likelihood, you may also need the
65
+ ``setuptools`` workaround described in :ref:`install-pta-caveat`.
66
+
67
+ .. _install-pip:
68
+
69
+ Option 2: pip from PyPI
70
+ -----------------------
71
+
72
+ The package is published on PyPI as ``transitionlistener``:
73
+
74
+ .. code-block:: bash
75
+
76
+ pip install transitionlistener # core
77
+ pip install transitionlistener ptarcade # with the optional PTA likelihood
78
+
79
+ On Apple Silicon, the second command triggers a source build of
80
+ ``enterprise-pulsar`` and its dependencies, which is brittle in
81
+ practice — for the PTA workflow on M-series Macs, prefer
82
+ :ref:`install-conda`.
83
+
84
+ If you install ``ptarcade``, see :ref:`install-pta-caveat`.
85
+
86
+ .. _install-clone:
87
+
88
+ Option 3: editable install from a GitHub clone (developers)
89
+ -----------------------------------------------------------
90
+
91
+ If you want to track ``main`` or contribute changes, install in
92
+ editable mode from a local clone:
93
+
94
+ .. code-block:: bash
95
+
96
+ git clone https://github.com/tasicarl/TransitionListener.git
97
+ cd TransitionListener
98
+ pip install -e . # core
99
+ pip install -e . ptarcade # with the optional PTA likelihood
100
+
101
+ The same Apple Silicon caveat applies to the ``ptarcade`` line.
102
+
103
+ If you install ``ptarcade``, see :ref:`install-pta-caveat`.
104
+
105
+ .. _install-pta-caveat:
106
+
107
+ PTArcade ``setuptools`` workaround (applies to all three routes)
108
+ ----------------------------------------------------------------
109
+
110
+ PTArcade currently still relies on ``pkg_resources``, which was
111
+ removed from setuptools ≥ 72. The symptom in a PTA-enabled run is a
112
+ line like
113
+
114
+ .. code-block:: text
115
+
116
+ PTA likelihood dependencies unavailable; continuing with SNR-only observability outputs.
117
+ Import error: No module named 'pkg_resources'
118
+
119
+ printed during ``tl -c examples/example_point.yaml -v`` (or any other
120
+ PTA-touching invocation): the SNR table still renders, but the
121
+ **LOG LIKELIHOODS FOR PULSAR TIMING ARRAYS** table is silently
122
+ skipped.
123
+
124
+ The workaround is to install an older ``setuptools`` inside the
125
+ PTA-enabled environment:
126
+
127
+ .. code-block:: bash
128
+
129
+ pip install "setuptools<72"
130
+
131
+ After this step, rerun the same ``tl -c ...`` command — the PTA
132
+ likelihood table should now populate alongside the SNR table.
133
+
134
+ The root fix has already landed in ``enterprise``
135
+ (`nanograv/enterprise@a6d504d <https://github.com/nanograv/enterprise/commit/a6d504d69254c45b530471efe0c7cc7a3c772c3f>`_)
136
+ and a corresponding PTArcade release is expected soon, after which
137
+ this workaround will no longer be needed. Pip may report
138
+ version-conflict warnings during this step — they are harmless and
139
+ can be ignored.
140
+
141
+ .. note::
142
+ The first invocation of ``tl`` after a fresh PTA installation
143
+ (e.g. ``tl --help``) may take several minutes while
144
+ ``enterprise`` compiles and caches internal data. This is normal
145
+ and only happens once.
146
+
147
+ Verifying the Installation
148
+ --------------------------
149
+
150
+ Whichever route you used, TransitionListener exposes a ``tl`` console
151
+ script with a built-in self-test:
152
+
153
+ .. code-block:: bash
154
+
155
+ tl --check
156
+
157
+ This runs a battery of quick imports plus an end-to-end physics
158
+ smoke test on ``examples/example_point.yaml`` (the conformal
159
+ :math:`U(1)` benchmark) and verifies that the key observables
160
+ (``Tperc_SM_GeV``, ``alpha``, ``RH``) land in their expected
161
+ physical bands.
162
+
163
+ .. note::
164
+ The first ``tl --check`` after a fresh install typically takes
165
+ 2–3 minutes while NumPy / SciPy / matplotlib warm their library
166
+ and font caches and the phase tracer allocates its internal
167
+ buffers. Subsequent runs finish in well under a minute.
168
+
169
+ For a faster sanity check that does not run the full smoke test:
170
+
171
+ .. code-block:: bash
172
+
173
+ tl -V
174
+ tl --help
175
+
176
+ If you cloned the repository (Option 3) and want to run the full
177
+ release test suite:
178
+
179
+ .. code-block:: bash
180
+
181
+ pip install pytest
182
+ pytest tests/test_release_smoke.py
183
+
184
+ If you encounter any issues, please open an issue at
185
+ https://github.com/tasicarl/TransitionListener/issues.
@@ -0,0 +1,126 @@
1
+ """2HDM model variant that swaps the radiation bath DOFs for BSMPT's tabulation.
2
+
3
+ Subclasses ``models/TL_2HDM.py`` and overrides only ``geff`` (the effective
4
+ relativistic DOF count) and ``radiationEnergyDensity`` so the comparison
5
+ against BSMPT in figs. 15-16 is fair (matched degrees of freedom).
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ import importlib.util
11
+ from pathlib import Path
12
+
13
+ import numpy as np
14
+ from scipy.interpolate import interp1d
15
+
16
+ REPO_ROOT = Path(__file__).resolve().parents[3]
17
+ _BASE_MODEL_PATH = REPO_ROOT / "models" / "TL_2HDM.py"
18
+ _SPEC = importlib.util.spec_from_file_location("tl_2hdm_base_for_bsmpt", _BASE_MODEL_PATH)
19
+ if _SPEC is None or _SPEC.loader is None:
20
+ raise ImportError(f"Could not load base 2HDM model from {_BASE_MODEL_PATH}")
21
+ _BASE = importlib.util.module_from_spec(_SPEC)
22
+ _SPEC.loader.exec_module(_BASE)
23
+ _BaseR2HDM = _BASE.R2HDM
24
+
25
+
26
+ class R2HDM(_BaseR2HDM):
27
+ """2HDM with BSMPT-tabulated g_eff and matched radiation energy density."""
28
+
29
+ def geff(self, T):
30
+ TmeV = T * self.conversionFactor * 1000.0
31
+ TQCD = 214.0
32
+ if TmeV < _GstarLow.x[0]:
33
+ return _GstarLow.y[0]
34
+ if TmeV < TQCD:
35
+ return _GstarLow(TmeV)
36
+ if TmeV > _GstarHigh.x[-1]:
37
+ return _GstarHigh.y[-1]
38
+ THigh = 1_000_000.0
39
+ NHiggs = 8 # 2 Higgs doublets
40
+ gb = 8 * 2 + 4 * 2 + NHiggs
41
+ gf = 6 * 3 * 2 * 2 + 3 * 2 * 2 + 3 * 2
42
+ geff = gb + 7.0 / 8.0 * gf
43
+ return (
44
+ np.power(TmeV / TQCD, np.log(geff / _GstarHigh(THigh)) / np.log(THigh / TQCD))
45
+ * _GstarHigh(TmeV)
46
+ )
47
+
48
+ def radiationEnergyDensity(self, X: np.ndarray, T: float, include_decoupled: bool = True) -> float:
49
+ return np.pi**2 / 30.0 * self.geff(T) * T**4
50
+
51
+
52
+ # Tabulated SM DOFs from BSMPTv3 (kept verbatim for reproducibility).
53
+ _T_geff_low_T = np.array([
54
+ 0.0108082473294362, 0.0132544853422679, 0.0164130719537513,
55
+ 0.0209254644188534, 0.0261650469874882, 0.0353608915871512,
56
+ 0.046869041923142, 0.0586047057131341, 0.0691293458424012,
57
+ 0.0792016405019255, 0.0943373221629979, 0.1080824732943627,
58
+ 0.1238303225656814, 0.1460686320364992, 0.1739828052930365,
59
+ 0.2154434690031886, 0.2667843426133424, 0.3434511531723047,
60
+ 0.4378750611447019, 0.5215543573159431, 0.6779905314017075,
61
+ 0.8813485195214554, 1.191103133283008, 1.5634817887726846,
62
+ 2.1336045265014154, 2.9116221936174886, 3.97334355690884,
63
+ 5.422221006501592, 7.399430787258669, 10.1962111033439,
64
+ 13.38388753173759, 19.740522782917267, 27.467464089622723,
65
+ 35.70611636765516, 45.5226827550731, 59.176857481888305,
66
+ 74.71670675868081, 89.86415560660353, 107.03747731285716,
67
+ 117.95869461538555, 129.99422244132464, 144.656366672378,
68
+ 159.41590374559996, 172.30065159280497, 180.87725821807484,
69
+ 189.88078244652633, 201.27853758499404, 205.22784597889367,
70
+ 211.29757595204444, 213.3604526501413, 214.0,
71
+ ])
72
+
73
+ _g_eff_low_T = np.array([
74
+ 3.3658815697017945, 3.3658815697017945, 3.3658815697017945,
75
+ 3.3658815697017945, 3.3658815697017945, 3.3658815697017945,
76
+ 3.382394267186192, 3.44925913850577, 3.604577854567564,
77
+ 3.822602965197697, 4.27802539351597, 4.764333184219352,
78
+ 5.331952737656886, 6.145013594907718, 6.978839481614777,
79
+ 8.003765717673069, 8.826780724311218, 9.49911872220214,
80
+ 9.926860119530184, 10.172762254077623, 10.373862535520988,
81
+ 10.578938268487402, 10.63083754174351, 10.63083754174351,
82
+ 10.68299142793866, 10.68299142793866, 10.68299142793866,
83
+ 10.68299142793866, 10.73540117617992, 10.73540117617992,
84
+ 10.840993285899073, 11.329158741258215, 12.312023528515777,
85
+ 13.249833303981136, 14.259076274235422, 15.34519352280245,
86
+ 16.273357000034707, 17.257661016595303, 18.66329455082922,
87
+ 19.88925385896985, 22.042043732847453, 25.0329609011362,
88
+ 29.70989855975818, 34.91719271493002, 39.84970215186929,
89
+ 45.70210860743502, 51.52387306128587, 54.37357461507157,
90
+ 57.10075759279219, 60.40653896580118, 62.206582722053376,
91
+ ])
92
+
93
+ _T_geff_high_T = np.array([
94
+ 214.0, 239.74349678010785, 264.2049367442677, 291.1622193617489,
95
+ 314.6953279849359, 417.112461205652, 580.380857968711, 916.273901188674,
96
+ 1250.392653838259, 1609.7226496584171, 1917.3456917247645, 2261.6759492228643,
97
+ 2720.1894763524597, 3177.67666397599, 4090.857446731936, 5016.744011523654,
98
+ 6585.145888528193, 8728.271965619264, 12383.032256568144, 16413.0719537513,
99
+ 20522.784597889367, 24208.40881039768, 28834.711585860652, 33035.991201283396,
100
+ 38592.0536875249, 43787.50611447019, 50167.440115236495, 58604.705713134,
101
+ 69129.34584240108, 79201.64050192556, 98075.64691084584, 114570.21549500388,
102
+ 133838.87531737564, 179128.4454622002, 221815.33182273328, 259120.700882331,
103
+ 299773.5071793429, 350190.0461431713, 409085.7446731936, 615218.7115995496,
104
+ 718687.4885321243, 856030.9194419073, 1000000.0,
105
+ ])
106
+
107
+ _g_eff_high_T = np.array([
108
+ 62.206582722053376, 62.818439158552, 63.59172964605013,
109
+ 64.37453928407265, 65.00771947954463, 67.60333468656336,
110
+ 70.64748495865959, 75.65755196355316, 78.29428716211838,
111
+ 80.23374557134463, 81.81984661378124, 83.02996532165592,
112
+ 83.4373024994812, 84.25798173219995, 85.08673306675854,
113
+ 85.08673306675854, 85.92363589937597, 85.92363589937597,
114
+ 86.34516915210169, 87.19444981010426, 88.48405910790844,
115
+ 89.3543776292553, 91.12077991416442, 92.46845978663792,
116
+ 94.29642281411095, 95.69107056836124, 97.10634521704075,
117
+ 99.02599229669757, 100.4905905672094, 101.47900388225708,
118
+ 102.97988228935156, 103.99277997720792, 104.50295874635492,
119
+ 105.01564040441929, 105.01564040441929, 105.5308372303379,
120
+ 105.5308372303379, 106.04856156328714, 106.04856156328714,
121
+ 106.04856156328714, 106.56882580297788, 106.56882580297788,
122
+ 106.56882580297788,
123
+ ])
124
+
125
+ _GstarLow = interp1d(_T_geff_low_T, _g_eff_low_T, kind="cubic")
126
+ _GstarHigh = interp1d(_T_geff_high_T, _g_eff_high_T, kind="cubic")
@@ -0,0 +1,38 @@
1
+ """2HDM high-accuracy wrapper with tuned path-deformation convergence controls.
2
+
3
+ Part of TransitionListener v2.0
4
+ Documentation: https://tasillo.de/TransitionListener/
5
+
6
+ Authors:
7
+ Jonas Matuszak <jonas.matuszak@kit.edu>
8
+ Carlo Tasillo <carlo.tasillo@ific.uv.es>
9
+ """
10
+
11
+ from __future__ import annotations
12
+
13
+ import copy
14
+ import importlib.util
15
+ from pathlib import Path
16
+
17
+ _BASE_MODEL_PATH = Path(__file__).with_name("TL_2HDM_BSMPT.py")
18
+ _SPEC = importlib.util.spec_from_file_location("tl_2hdm_base_model_nact100_conv", _BASE_MODEL_PATH)
19
+ if _SPEC is None or _SPEC.loader is None:
20
+ raise ImportError(f"Could not load base model from {_BASE_MODEL_PATH}")
21
+ _MODULE = importlib.util.module_from_spec(_SPEC)
22
+ _SPEC.loader.exec_module(_MODULE)
23
+ R2HDM = _MODULE.R2HDM
24
+
25
+
26
+ class R2HDM_HighAcc_NAct100_Conv1_FRatio005(R2HDM):
27
+ """2HDM model with n_action=100 and adjusted deformation convergence settings."""
28
+
29
+ def setConfigParameters(self) -> None:
30
+ super().setConfigParameters()
31
+ self.config.percolationConf.n_action = 100
32
+
33
+ tunneling = copy.deepcopy(self.config.tracingConf.tunneling_params)
34
+ deform = dict(tunneling.get("deformation_deform_params", {}))
35
+ deform["converge_0"] = 1.0
36
+ deform["fRatioConv"] = 5e-3
37
+ tunneling["deformation_deform_params"] = deform
38
+ self.config.tracingConf.tunneling_params = tunneling
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "TransitionListener"
7
- version = "2.0.1"
7
+ version = "2.1.0"
8
8
  description = "Framework for analyzing cosmological first-order phase transitions and their gravitational wave signatures."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -6,9 +6,14 @@ Based on the code snippet provided in `arxiv:2303.10171`.
6
6
  Part of TransitionListener v2.0
7
7
  Documentation: https://tasillo.de/TransitionListener/
8
8
 
9
- Authors:
9
+ Authors of the wrapper:
10
10
  Jonas Matuszak <jonas.matuszak@kit.edu>
11
11
  Carlo Tasillo <carlo.tasillo@ific.uv.es>
12
+
13
+ Authors of the hydrodynamics routines:
14
+ Wen-Yuan Ai <wenyuanai@sjtu.edu.cn>
15
+ Benoit Laurent <blaurent@perimeterinstitute.ca>
16
+ Jorinde van de Vis <jorinde.van.de.vis@cern.ch>
12
17
  """
13
18
 
14
19
  import numpy as np