BSMPT 3.1.3
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
54{
55 std::shared_ptr<Class_Potential_Origin> modelPointer;
56 double T_low = 0;
57 double T_high = 300;
58 double vwall = 0.95;
59 double perc_prbl = 0.71;
60 double compl_prbl = 0.01;
61 double epsturb = 0.1;
62 int maxpathintegrations = 7;
63 int multistepmode = -1;
64 int num_points = 10;
65 int ewsr_check = 0;
66 int nlo_check = 1;
67
68 int which_minimizer = Minimizer::WhichMinimizerDefault;
69 bool use_multithreading = false;
70
71 bool gw_calculation = false;
72 TransitionTemperature which_transition_temp =
73 TransitionTemperature::Percolation;
74 int PNLO_scaling = 1;
75 size_t number_of_initial_scan_temperatures = 25;
76};
77
82{
83 StatusNLOStability status_nlo_stability = StatusNLOStability::NotSet;
84 StatusEWSR status_ewsr = StatusEWSR::NotSet;
85 StatusTracing status_tracing = StatusTracing::NotSet;
86 StatusCoexPair status_coex_pairs = StatusCoexPair::NotSet;
87 // index of vectors is coex_phase_id
88 std::vector<StatusCrit> status_crit;
89 std::vector<StatusGW> status_bounce_sol;
90 std::vector<StatusTemperature> status_nucl_approx;
91 std::vector<StatusTemperature> status_nucl;
92 std::vector<StatusTemperature> status_perc;
93 std::vector<StatusTemperature> status_compl;
94};
95
100{
101 std::optional<double> crit_temp;
102 std::optional<double> nucl_approx_temp;
103 std::optional<double> nucl_temp;
104 std::optional<double> perc_temp;
105 std::optional<double> compl_temp;
106
107 std::vector<double> crit_true_vev;
108 std::vector<double> crit_false_vev;
109 std::vector<double> nucl_approx_true_vev;
110 std::vector<double> nucl_approx_false_vev;
111 std::vector<double> nucl_true_vev;
112 std::vector<double> nucl_false_vev;
113 std::vector<double> perc_true_vev;
114 std::vector<double> perc_false_vev;
115 std::vector<double> compl_true_vev;
116 std::vector<double> compl_false_vev;
117};
118
123{
124 std::optional<double> vwall;
125
126 std::optional<double> alpha;
127 std::optional<double> beta_over_H;
128
129 std::optional<double> kappa_col;
130 std::optional<double> kappa_sw;
131 std::optional<double> Epsilon_Turb;
132 std::optional<double> cs_f;
133 std::optional<double> cs_t;
134
135 std::optional<double> fb_col;
136 std::optional<double> omegab_col;
137
138 std::optional<double> f1_sw;
139 std::optional<double> f2_sw;
140 std::optional<double> omega_2_sw;
141
142 std::optional<double> f1_turb;
143 std::optional<double> f2_turb;
144 std::optional<double> omega_2_turb;
145
146 std::optional<double> SNR_col;
147 std::optional<double> SNR_sw;
148 std::optional<double> SNR_turb;
149 std::optional<double> SNR;
150
151 StatusGW status_gw = StatusGW::NotSet;
152 std::optional<double> trans_temp;
153 std::optional<double> reh_temp;
154};
155
156struct output
157{
158 std::vector<std::string> legend;
159 status_codes status;
160 std::vector<transition_data> vec_trans_data;
161 std::vector<gw_data> vec_gw_data;
162 std::size_t num_coex_phase_pairs = 0;
163
164 // stores string-identifier of phase id's throughout the transition history of
165 // the universe
166 std::string transition_history = "not_set";
167};
168
170{
171protected:
175 std::shared_ptr<Class_Potential_Origin> modelPointer;
176
177private:
181 std::size_t num_vev;
182
183public:
187 std::vector<CoexPhases> vec_coex;
188
195
199 std::vector<BounceSolution> ListBounceSolution;
200
205
215 double CheckMassRatio(const user_input &input,
216 const std::vector<double> &vec,
217 const double &temp) const;
218};
219
220} // namespace BSMPT
Definition transition_tracer.h:170
std::size_t num_vev
number of VEVs of model
Definition transition_tracer.h:181
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:199
std::vector< CoexPhases > vec_coex
vector of all found coexisting phase regions
Definition transition_tracer.h:187
output output_store
output data storage
Definition transition_tracer.h:204
std::shared_ptr< Class_Potential_Origin > modelPointer
modelPointer for the used parameter point
Definition transition_tracer.h:175
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:123
Definition transition_tracer.h:157
status codes struct
Definition transition_tracer.h:82
transition data struct
Definition transition_tracer.h:100
user_input struct to store user input and distribute to the classes
Definition transition_tracer.h:54