16#include <BSMPT/minimum_tracer/minimum_tracer.h>
18#include <BSMPT/utility/spline/spline.h>
21#include <gsl/gsl_deriv.h>
22#include <gsl/gsl_integration.h>
263 BSMPT::StatusTemperature::NotSet;
303 BounceSolution(
const std::shared_ptr<Class_Potential_Origin> &pointer_in);
323 BounceSolution(
const std::shared_ptr<Class_Potential_Origin> &pointer_in,
324 const std::shared_ptr<MinimumTracer> &MinTracer_in,
326 const double &UserDefined_vwall_in,
327 const double &UserDefined_epsturb_in,
328 const int &MaxPathIntegrations_in,
329 const size_t &NumberOfInitialScanTemperatures_in);
349 BounceSolution(
const std::shared_ptr<Class_Potential_Origin> &pointer_in,
350 const std::shared_ptr<MinimumTracer> &MinTracer_in,
352 const double &UserDefined_vwall_in,
353 const double &UserDefined_epsturb_in,
354 const int &MaxPathIntegrations_in,
355 const size_t &NumberOfInitialScanTemperatures_in,
356 std::vector<Eigen::MatrixXd> GroupElements_in);
415 void SetGstar(
const double &gstar_in);
551 const double &Tprime);
BounceSolution class that handles the calculation of the bounce solution as well as the calculation o...
Definition bounce_solution.h:41
void CalculateWallVelocity(const Minimum &false_min, const Minimum &true_min)
Calculate wall velocity.
Definition bounce_solution.cpp:992
friend double action_ratio(double var, void *params)
action_ratio friend to define input of numerical derivative in calculation of inverse time scale
Definition bounce_solution.cpp:1060
double betaH
Inverse time scale .
Definition bounce_solution.h:128
size_t NumberOfInitialScanTemperatures
number of temperature steps in the initial scan of the bounce solver
Definition bounce_solution.h:67
double Tnucl_approx
approximate nucleation temperature
Definition bounce_solution.h:102
void CalculateOptimalDiscreteSymmetry()
Calculates which is the optimal symmetry from the group of symmetries.
Definition bounce_solution.cpp:74
double GetBounceSol(const double &Temp) const
Calculate euclidian action at temperature T.
Definition bounce_solution.cpp:1055
double UserDefined_vwall
defined by the user as an input parameter. If v_{\text{wall}}\f = -2$ then we use the upper bound fr...
Definition bounce_solution.h:291
double GetPTStrength() const
GetPTStrength Get PT strength alpha.
Definition bounce_solution.cpp:559
std::vector< BounceActionInt > SolutionList
Set of BounceActionInt objects with valid solutions.
Definition bounce_solution.h:152
const double RelativeErrorInCalcTempAtFalseVacFraction
Maximum relative error on the fraction of vacuum tunneled to be accepted.
Definition bounce_solution.h:239
friend double inner_integrand(double var, void *params)
inner_integrand friend to define inner integrand of percolation temperature integral
Definition bounce_solution.cpp:858
void SetCriticalTemp(const double &T_in)
SetCriticalTemp Set critical temperature.
Definition bounce_solution.cpp:480
double CalcTransitionTemp(const int &which_transition_temp)
CalcTransitionTemp Get transition temperature from int.
Definition bounce_solution.cpp:520
std::vector< Eigen::MatrixXd > GroupElements
List of group elements allowed by the potential.
Definition bounce_solution.h:158
BSMPT::StatusTemperature status_compl
status of completion temperature calculation
Definition bounce_solution.h:281
bool completion_temp_set
set to true if completion temperature is set
Definition bounce_solution.h:82
double TunnelingRate(const double &Temp)
Storage of the tunneling rate per volume of the transition from false to true vacuum.
Definition bounce_solution.cpp:564
void GWInitialScan()
Initially we have no idea where the transition can occur, therefore we scan the complete temperature ...
Definition bounce_solution.cpp:118
void CalcGstarPureRad()
CalcGstarPureRad Calculate the number of effective degrees of freedom assuming a purely radiative uni...
Definition bounce_solution.cpp:590
double GetInvTimeScale()
Get inverse time scale of phase transition.
Definition bounce_solution.cpp:1095
double CalcTempAtFalseVacFraction(const double &false_vac_frac)
CalcTempAtFalseVacFraction calculates the temperature at which the false vacuum fraction drops below ...
Definition bounce_solution.cpp:724
bool percolation_temp_set
set to true if percolation temperature is set
Definition bounce_solution.h:77
void GWScanTowardsLowAction()
Do linear extrapolations to calculate action at lower temperatures.
Definition bounce_solution.cpp:377
const double RelativeTemperatureInCalcTempAtFalseVacFraction
Maximum relative difference in temperature on the fraction of false vacuum to be accepted.
Definition bounce_solution.h:233
double HubbleRate(const double &Temp)
Storage of the temperature-dependent Hubble rate.
Definition bounce_solution.cpp:583
int MaxPathIntegrations
Number of integration of the bounce.
Definition bounce_solution.h:297
double GetPercolationTemp() const
GetPercolationTemp Get percolation temperature.
Definition bounce_solution.cpp:510
void CalculateActionAt(double T, bool smart=true)
Calculate the euclidian action of the transition from false to true phase of phase pair.
Definition bounce_solution.cpp:187
void GWSecondaryScan()
If solution were found by the GWInitialScan() then we scan temperature range in the vicinity such tha...
Definition bounce_solution.cpp:264
BSMPT::StatusTemperature status_perc
status of percolation temperature calculation
Definition bounce_solution.h:275
double Tperc
percolation temperature
Definition bounce_solution.h:107
void SetGstar(const double &gstar_in)
SetGstar Set gstar.
Definition bounce_solution.cpp:470
friend double outer_integrand(double var, void *params)
outer_integrand friend to define outer integrand of percolation temperature integral
Definition bounce_solution.cpp:865
Eigen::MatrixXd OptimalDiscreteSymmetry
Store symmetry that produces the best tunneling rate.
Definition bounce_solution.h:164
std::shared_ptr< MinimumTracer > MinTracer
MinTracer object.
Definition bounce_solution.h:51
void CalculateCompletionTemp(const double &false_vac_frac=0.01)
CalculateCompletionTemp calculation of the temperature when the false vacuum fraction drops below 1 %...
Definition bounce_solution.cpp:830
CoexPhases phase_pair
pair of coexisiting phases
Definition bounce_solution.h:250
double GetCriticalTemp() const
GetCriticalTemp Get critical temperature.
Definition bounce_solution.cpp:485
double GetGstar() const
GetGstar Get gstar.
Definition bounce_solution.cpp:475
double GetNucleationTempApprox() const
GetNucleationTempApprox Get nucleation temperature via approximate method.
Definition bounce_solution.cpp:505
void CalculateNucleationTemp()
Calculation of nucleation temperature.
Definition bounce_solution.cpp:601
double Tm
lowest temperature when a transition can occur
Definition bounce_solution.h:92
void SetBounceSol()
Set the Bounce Sol object.
Definition bounce_solution.cpp:415
const double AbsErr
AbsErr absolute error for numerical integration.
Definition bounce_solution.h:221
double Tc
critical temperature/highest temperature when transition can occur
Definition bounce_solution.h:87
int indexTrueCandidatePhase
index of the true vacuum phase candidate in the coex list
Definition bounce_solution.h:139
double store_Temp
stored temperature
Definition bounce_solution.h:117
void CalculatePTStrength()
Calculate phase transition strength alpha at percolation temperature.
Definition bounce_solution.cpp:934
std::vector< double > TransformIntoOptimalDiscreteSymmetry(const std::vector< double > &vev)
Transforms the vev to the optimal vev.
Definition bounce_solution.cpp:107
double GetNucleationTemp() const
GetNucleationTemp Get nucleation temperature via exact method.
Definition bounce_solution.cpp:500
double Tnucl
nucleation temperature
Definition bounce_solution.h:97
void GWScanTowardsHighAction()
Do linear extrapolations to calculate action at higher temperatures.
Definition bounce_solution.cpp:338
void SetStoredTemp(const double &T_in)
SetStoredTemp Set stored temperature.
Definition bounce_solution.cpp:490
double Tcompl
completion temperature
Definition bounce_solution.h:112
void CalculatePercolationTemp(const double &false_vac_frac=0.71)
CalculatePercolationTemp calculation of the temperature when the false vacuum fraction drops below 71...
Definition bounce_solution.cpp:799
double vwall
wall velocity
Definition bounce_solution.h:61
void CalculateNucleationTempApprox()
Approximate calculation of nucleation temperature.
Definition bounce_solution.cpp:662
double alpha
PT strength.
Definition bounce_solution.h:122
std::shared_ptr< Class_Potential_Origin > modelPointer
modelPointer for the used parameter point
Definition bounce_solution.h:46
double GetStoredTemp() const
GetStoredTemp Get stored temperature.
Definition bounce_solution.cpp:495
BSMPT::StatusTemperature status_nucl
status of nucleation temperature calculation
Definition bounce_solution.h:269
double epsturb
epsilon of turbulence efficiency factor
Definition bounce_solution.h:56
double GetCompletionTemp() const
GetCompletionTemp Get percolation temperature.
Definition bounce_solution.cpp:515
bool nucleation_temp_set
set to true if nucleation temperature is set
Definition bounce_solution.h:72
void CalculateInvTimeScale()
Calculate inverse time scale of phase transition.
Definition bounce_solution.cpp:1083
BSMPT::StatusTemperature status_nucl_approx
status of approximate nucleation temperature calculation
Definition bounce_solution.h:262
double GetWallVelocity() const
Get the bubble wall velocity.
Definition bounce_solution.cpp:460
tk::spline S3ofT_spline
spline used to interpolate the action as a function of the temperature
Definition bounce_solution.h:146
double gstar
number of effective degrees of freedom
Definition bounce_solution.h:133
const double RelErr
RelErr relative error for numerical integration.
Definition bounce_solution.h:226
double GetEpsTurb() const
Get epsturb.
Definition bounce_solution.cpp:465
double CalcFalseVacFraction(const double &temp)
CalcFalseVacFraction calculates false vacuum fraction as function of temperature.
Definition bounce_solution.cpp:717
const double MarginOfCalcTempAtFalseVacFractionBeforeFailure
Additional margin of error in the while loop without admitting failure.
Definition bounce_solution.h:245
StatusGW status_bounce_sol
status of bounce solver
Definition bounce_solution.h:256
This classes calculates the Bounce action of the potential with a set temperature.
Definition CalculateEtaInterface.h:24
StatusGW
Possible results for the GW and bounce_sol class.
Definition minimum_tracer.h:172
struct resultErrorPair Nderive_BounceRatio(BounceSolution &obj)
Nderive_BounceRatio Numerical derivative for the inverse time scale calculation.
Definition bounce_solution.cpp:1067
StatusTemperature
Possible status for the approximated nucleation, exact nucleation, percolation and completion tempera...
Definition minimum_tracer.h:152
struct resultErrorPair Nintegrate_Inner(BounceSolution &obj, const double &Tprime)
Nintegrate_Inner Numerical integration of inner integral over inverse Hubble rate for the percolation...
Definition bounce_solution.cpp:875
struct resultErrorPair Nintegrate_Outer(BounceSolution &obj)
Nintegrate_Outer Numerical integration of outer integral for the percolation temperature calculation.
Definition bounce_solution.cpp:905
CoexPhases struct to save pair of coexisting phases (false and true phase)
Definition minimum_tracer.h:735
struct to store minimum and temperature
Definition minimum_tracer.h:253
Definition bounce_solution.h:31