Cosmological phase transitions & Higgs Triplet Model
CosmoPhases: | Code that studies electroweak phase transitions for the Higgs Triplet Model |
Authors: | Denis Werth |
Version: | 1.0 |
Homepage: | https://github.com/deniswerth/CosmoPhases |
This Python code was written to answer the question whether the Higgs triplet model is a suitable Standard Model extension that can predict the baryonic asymmetry of the Universe. The effective potential is implemented in potential.py
. Electroweak phase transitions are studied using phase_transition.py
. A complete phase diagram was generated by scanning the free parameter space in phase_diagram.py
. Finally, the bubbe wall velocity is computed in bubble_wall_velocity.py
. All codes are in the CosmoPhases file.
Further details including the model can be found on ArXiV.
Our model has three free parameters: mDelta (Higgs triplet mass), kappa (portal coupling constant), and LambdaDelta (triplet quartic coupling constant). Every code is written as a class with mDelta, kappa and LambdaDelta as inputs. In what follows, we go through each code and explain how one can use them with just a few lines of code.
In this code, the full effective potential (tree-level potential, Coleman-Weinberg potential using the on-shell renormalization scheme, one-loop thermal potential, thermal mass corrections) is implemented. The full effective potential can be imported in a seperate file with
from potential import Finite_Temperature_Potential
mDelta, LambdaDelta, kappa = 700, 0.1, 10
FTP = Finite_Temperature_Potential(mDelta, LambdaDelta, kappa)
We note that CosmoTransitions has been changed to allow on-shell renormalization. The modified CosmoTransitions code can be found in the CosmoTransitions file.
This code enables to study the phase transition for a given point in the parameter space. The full effective potential can plotted with
from phase_transition import Phase_Transition
PT = Phase_Transition(mDelta = 700, LambdaDelta = 0.1, kappa = 10)
PT.plot_potential()
then chose a temperature T and the number of dimensions for plotting (1 or 2) directly in the kernal. The order parameter can be plotted as a function of the temperature with
from phase_transition import Phase_Transition
PT = Phase_Transition(mDelta = 400, LambdaDelta = 0.1, kappa = 4.5)
PT.plot_phase_transition()
The phase transition history is computed with
from phase_transition import Phase_Transition
PT = Phase_Transition(mDelta = 500, LambdaDelta = 0.1, kappa = 7.5)
print(PT.phase_transition_critical())
Note that these few lines are just examples and the reader is invited to explore the code by himself.
This code enables to scan the parameter space in the mDelta-kappa plane for a fixed value of LambdaDelta. An example of such a run is
from phase_diagram import scan
S = scan(LambdaDelta, save_paths)
X, Y = S.defining_scan_points(type = "parallelogram")
mDelta, kappa, History = S.run(X, Y)
This code computes the bubble wall velocity for a given point in the parameter space. An example of use is
from bubble_wall_velocity import bubble_wall_velocity
bwv = bubble_wall_velocity(mDelta = 700, kappa = 10, LambdaDelta = 0.1)
vw, phi0, Tn, Lw, DeltaV = bwv.velocity()
print(Lw, Tn, phi0, vw, DeltaV)
Gauge bosons are treated either classically, at the fluid equation level or are omitted. This can be directly changed in bubble_wall_velocity.py
line 52.