BSMPT 3.1.4
BSMPT - Beyond the Standard Model Phase Transitions : A C++ package for the computation of the EWPT in BSM models
Loading...
Searching...
No Matches
transition_tracer.h
1// Copyright (C) 2024 Lisa Biermann, Margarete Mühlleitner, Rui Santos, João
2// Viana
3//
4// SPDX-FileCopyrightText: 2024 Lisa Biermann, Margarete Mühlleitner, Rui
5// Santos, João Viana
6//
7// SPDX-License-Identifier: GPL-3.0-or-later
8
9#pragma once
10
15#include "BSMPT/bounce_solution/bounce_solution.h" // BounceSolution
16#include "BSMPT/gravitational_waves/gw.h" // GravitationalWaves
17#include "BSMPT/minimum_tracer/minimum_tracer.h" // MinimumTracer
18
19namespace BSMPT
20{
21
51{
52 std::shared_ptr<Class_Potential_Origin> modelPointer;
53 double T_low = 0;
54 double T_high = 300;
55 double vwall = 0.95;
56 double perc_prbl = 0.71;
57 double compl_prbl = 0.01;
58 double epsturb = 0.1;
59 int maxpathintegrations = 7;
60 int multistepmode = -1;
61 int num_points = 10;
62 int ewsr_check = 0;
63 int nlo_check = 1;
64
65 int which_minimizer = Minimizer::WhichMinimizerDefault;
66 bool use_multithreading = false;
67
68 bool gw_calculation = false;
69 TransitionTemperature which_transition_temp =
70 TransitionTemperature::Percolation;
71 int PNLO_scaling = 1;
72 size_t number_of_initial_scan_temperatures = 25;
73};
74
79{
80 StatusNLOStability status_nlo_stability = StatusNLOStability::NotSet;
81 StatusEWSR status_ewsr = StatusEWSR::NotSet;
82 StatusTracing status_tracing = StatusTracing::NotSet;
83 StatusCoexPair status_coex_pairs = StatusCoexPair::NotSet;
84 // index of vectors is coex_phase_id
85 std::vector<StatusCrit> status_crit;
86 std::vector<StatusGW> status_bounce_sol;
87 std::vector<StatusTemperature> status_nucl_approx;
88 std::vector<StatusTemperature> status_nucl;
89 std::vector<StatusTemperature> status_perc;
90 std::vector<StatusTemperature> status_compl;
91};
92
97{
98 std::optional<double> crit_temp;
99 std::optional<double> nucl_approx_temp;
100 std::optional<double> nucl_temp;
101 std::optional<double> perc_temp;
102 std::optional<double> compl_temp;
103
104 std::vector<double> crit_true_vev;
105 std::vector<double> crit_false_vev;
106 std::vector<double> nucl_approx_true_vev;
107 std::vector<double> nucl_approx_false_vev;
108 std::vector<double> nucl_true_vev;
109 std::vector<double> nucl_false_vev;
110 std::vector<double> perc_true_vev;
111 std::vector<double> perc_false_vev;
112 std::vector<double> compl_true_vev;
113 std::vector<double> compl_false_vev;
114};
115
120{
121 std::optional<double> vwall;
122
123 std::optional<double> alpha;
124 std::optional<double> beta_over_H;
125
126 std::optional<double> kappa_col;
127 std::optional<double> kappa_sw;
128 std::optional<double> Epsilon_Turb;
129 std::optional<double> cs_f;
130 std::optional<double> cs_t;
131
132 std::optional<double> fb_col;
133 std::optional<double> omegab_col;
134
135 std::optional<double> f1_sw;
136 std::optional<double> f2_sw;
137 std::optional<double> omega_2_sw;
138
139 std::optional<double> f1_turb;
140 std::optional<double> f2_turb;
141 std::optional<double> omega_2_turb;
142
143 std::optional<double> SNR_col;
144 std::optional<double> SNR_sw;
145 std::optional<double> SNR_turb;
146 std::optional<double> SNR;
147
148 StatusGW status_gw = StatusGW::NotSet;
149 std::optional<double> trans_temp;
150 std::optional<double> reh_temp;
151};
152
153struct output
154{
155 std::vector<std::string> legend;
156 status_codes status;
157 std::vector<transition_data> vec_trans_data;
158 std::vector<gw_data> vec_gw_data;
159 std::size_t num_coex_phase_pairs = 0;
160
161 // stores string-identifier of phase id's throughout the transition history of
162 // the universe
163 std::string transition_history = "not_set";
164};
165
167{
168protected:
172 std::shared_ptr<Class_Potential_Origin> modelPointer;
173
174private:
178 std::size_t num_vev;
179
180public:
184 std::vector<CoexPhases> vec_coex;
185
192
196 std::vector<BounceSolution> ListBounceSolution;
197
202
212 double CheckMassRatio(const user_input &input,
213 const std::vector<double> &vec,
214 const double &temp) const;
215};
216
217} // namespace BSMPT
Definition transition_tracer.h:167
std::size_t num_vev
number of VEVs of model
Definition transition_tracer.h:178
double CheckMassRatio(const user_input &input, const std::vector< double > &vec, const double &temp) const
CheckMassRatio Prints the scalar and gauge boson squard masses over temperature squared ratios at the...
Definition transition_tracer.cpp:536
std::vector< BounceSolution > ListBounceSolution
Store the list of bounce solutions.
Definition transition_tracer.h:196
std::vector< CoexPhases > vec_coex
vector of all found coexisting phase regions
Definition transition_tracer.h:184
output output_store
output data storage
Definition transition_tracer.h:201
std::shared_ptr< Class_Potential_Origin > modelPointer
modelPointer for the used parameter point
Definition transition_tracer.h:172
This classes calculates the Bounce action of the potential with a set temperature.
Definition CalculateEtaInterface.h:24
StatusEWSR
Possible electroweak symmetry restoration status.
Definition minimum_tracer.h:61
StatusNLOStability
Possible NLO stability status.
Definition minimum_tracer.h:40
StatusGW
Possible results for the GW and bounce_sol class.
Definition minimum_tracer.h:172
StatusTracing
Possible tracing results.
Definition minimum_tracer.h:87
StatusCoexPair
Possible status for the coex phase.
Definition minimum_tracer.h:111
TransitionTemperature
Possible transitions temperatures.
Definition minimum_tracer.h:191
gravitational wave data struct
Definition transition_tracer.h:120
Definition transition_tracer.h:154
status codes struct
Definition transition_tracer.h:79
transition data struct
Definition transition_tracer.h:97
user_input struct to store user input and distribute to the classes
Definition transition_tracer.h:51