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
BSMPT::BounceSolution Class Reference

BounceSolution class that handles the calculation of the bounce solution as well as the calculation of the charateristic temperature scales. More...

#include <BSMPT/bounce_solution/bounce_solution.h>

Public Member Functions

std::vector< double > TransformIntoOptimalDiscreteSymmetry (const std::vector< double > &vev)
 Transforms the vev to the optimal vev.
 
void CalculateOptimalDiscreteSymmetry ()
 Calculates which is the optimal symmetry from the group of symmetries.
 
double TunnelingRate (const double &Temp)
 Storage of the tunneling rate per volume of the transition from false to true vacuum.
 
double HubbleRate (const double &Temp)
 Storage of the temperature-dependent Hubble rate.
 
double GetBounceSol (const double &Temp) const
 Calculate euclidian action at temperature T.
 
void SetAndCalculateGWParameters (const TransitionTemperature &which_transition_temp_in)
 Set the Transition Temp object.
 
 BounceSolution (const std::shared_ptr< Class_Potential_Origin > &pointer_in)
 Construct a new Bounce Sol Calc object. Used for testing.
 
 BounceSolution (const std::shared_ptr< Class_Potential_Origin > &pointer_in, const std::shared_ptr< MinimumTracer > &MinTracer_in, const CoexPhases &phase_pair_in, const double &UserDefined_vwall_in, const double &UserDefined_epsturb_in, const int &MaxPathIntegrations_in, const size_t &NumberOfInitialScanTemperatures_in, const int &UserDefined_PNLO_scaling_in=1)
 Construct a new Bounce Sol Calc object. This class takes as input a pair of coexisting phases and delegates to constructor with provided symmetry group.
 
 BounceSolution (const std::shared_ptr< Class_Potential_Origin > &pointer_in, const std::shared_ptr< MinimumTracer > &MinTracer_in, const CoexPhases &phase_pair_in, const double &UserDefined_vwall_in, const double &UserDefined_epsturb_in, const int &MaxPathIntegrations_in, const size_t &NumberOfInitialScanTemperatures_in, const std::vector< Eigen::MatrixXd > &GroupElements_in, const int &UserDefined_PNLO_scaling_in=1)
 Construct a new Bounce Sol Calc object. This class takes as input a pair of coexisting phases.
 
void GWInitialScan ()
 Initially we have no idea where the transition can occur, therefore we scan the complete temperature range.
 
void CalculateActionAt (double T, bool smart=true)
 Calculate the euclidian action of the transition from false to true phase of phase pair.
 
void GWSecondaryScan ()
 If solution were found by the GWInitialScan() then we scan temperature range in the vicinity such that we are get a enough sample to then do the extrapolation.
 
void GWScanTowardsHighAction ()
 Do linear extrapolations to calculate action at higher temperatures.
 
void GWScanTowardsLowAction ()
 Do linear extrapolations to calculate action at lower temperatures.
 
void SetBounceSol ()
 Set the Bounce Sol object.
 
double GetWallVelocity () const
 Get the bubble wall velocity.
 
double GetChapmanJougetVelocity () const
 Get Chapman-Jouget velocity.
 
double GetSoundSpeedFalse () const
 Get the sound speed in the false phase.
 
double GetSoundSpeedTrue () const
 Get the sound speed in the true phase.
 
double GetEpsTurb () const
 Get epsturb.
 
void SetGstar (const double &gstar_in)
 SetGstar Set gstar.
 
void InitializeGstarProfile ()
 Generate the spline used to interpolate the gstar SM profile.
 
void InitializedVSpline ()
 Initialize two splines for the potential across the tunneling profile. Used to improve the Hubble rate calculation speed.
 
double GetGstar (const double &T) const
 Get the Gstar object.
 
double GetGstar ()
 Get Gstar for radiation-dominated epoch.
 
void SetCriticalTemp (const double &T_in)
 SetCriticalTemp Set critical temperature.
 
double GetCriticalTemp () const
 GetCriticalTemp Get critical temperature.
 
void SetStoredTemp (const double &T_in)
 SetStoredTemp Set stored temperature.
 
double GetStoredTemp () const
 GetStoredTemp Get stored temperature.
 
double GetNucleationTemp () const
 GetNucleationTemp Get nucleation temperature via exact method.
 
double GetNucleationTempApprox () const
 GetNucleationTempApprox Get nucleation temperature via approximate method.
 
double GetPercolationTemp () const
 GetPercolationTemp Get percolation temperature.
 
double GetCompletionTemp () const
 GetCompletionTemp Get percolation temperature.
 
double GetTransitionTemp () const
 GetTransitionTemp Get transition temperature.
 
double GetReheatingTemp () const
 GetReheatingTemp Get reheating temperature.
 
void CalcTransitionTemp ()
 CalcTransitionTemp Get transition temperature from int.
 
double CalculateRhoGamma (const double &T) const
 Calculate \( \rho_R = \rho_\gamma = g_\star \frac{\pi^2}{30} T_*^4 \).
 
double GetPTStrength () const
 GetPTStrength Get PT strength alpha.
 
double CalcGstarPureRad ()
 CalcGstarPureRad Calculate the number of effective degrees of freedom assuming a purely radiative universe.
 
void CalculateNucleationTemp ()
 Calculation of nucleation temperature.
 
void CalculateNucleationTempApprox ()
 Approximate calculation of nucleation temperature.
 
double FalseVacFractionExponent_I (const double &T)
 Calculate the false vacuum fraction \( I(T)=\frac{4\pi v_{b}^{3}}{3}\int_{T}^{T_{c}}\frac{\Gamma(T^{\prime})d T^{\prime}}{T^{\prime4}H(T^{\prime})}\left(\int_{T}^{T^{\prime}}\frac{d\tilde{T}}{H(\tilde{T})}\right)^{3} \).
 
double CalcTempAtFalseVacFraction (const double &false_vac_frac)
 CalcTempAtFalseVacFraction calculates the temperature at which the false vacuum fraction drops below val.
 
double CalcFalseVacFraction (const double &temp)
 CalcFalseVacFraction calculates false vacuum fraction as function of temperature.
 
void CalculatePercolationTemp (const double &false_vac_frac=0.71)
 CalculatePercolationTemp calculation of the temperature when the false vacuum fraction drops below 71 % (default)
 
void CalculateCompletionTemp (const double &false_vac_frac=0.01)
 CalculateCompletionTemp calculation of the temperature when the false vacuum fraction drops below 1 % (default)
 
void CalculateReheatingTemp ()
 CalculateReheatingTemp calculation of the reheating temperature.
 
void CalculatePTStrength ()
 Calculate phase transition strength alpha.
 
void CalcChapmanJougetVelocity ()
 Derive the Chapman-Jouget velocity from PT strength and false phase sound velocity using Eq. (55) of 2004.06995.
 
void CalculateWallVelocity (const Minimum &false_min, const Minimum &true_min)
 Calculate wall velocity.
 
double CalculateSoundSpeed (Phase &phase)
 Calculate sound speeds \( c_s^2 = \frac{1}{T} \frac{V'_{\text{eff}}(T)}{V''_{\text{eff}}(T)} \) at Tstar in phase.
 
void CalculateSoundSpeeds ()
 Calculate sound speeds \( c_s^2 = \frac{1}{T} \frac{V'_{\text{eff}}(T)}{V''_{\text{eff}}(T)} \) at Tstar in false and true phase.
 
void CalculateInvTimeScale ()
 Calculate inverse time scale of phase transition.
 
double GetInvTimeScale ()
 Get inverse time scale of phase transition.
 
void CalculateRstar ()
 \( R_{\star}=\left[T_{p}^{3}\int_{T_{p}}^{T_{c}}\frac{d T^{\prime}}{T^{\prime4}}\frac{\Gamma(T^{\prime})}{H(T^{\prime})}e^{-I(T^{\prime})}\right]^{-1/3} \)
 
double GetRstar ()
 Returns \( R_\star \).
 

Static Public Member Functions

static void ConstructSplineVofT (Phase &phase, tk::spline &spline)
 Using the phase, constructs a spline of \( V(T) \) of that phase.
 

Public Attributes

std::shared_ptr< Class_Potential_OriginmodelPointer
 modelPointer for the used parameter point
 
std::shared_ptr< MinimumTracerMinTracer
 MinTracer object.
 
int pnlo_scaling
 pressure scaling with \( \gamma \) of 1 -> N processes at NLO
 
double epsturb = 0.1
 epsilon of turbulence efficiency factor
 
double vwall = 0.95
 wall velocity
 
double vCJ = -1
 Chapman-Jouget velocity.
 
double Csound_false = -1
 sound speed in false phase
 
double Csound_true = -1
 sound speed in true phase
 
size_t NumberOfInitialScanTemperatures
 number of temperature steps in the initial scan of the bounce solver
 
bool nucleation_temp_set = false
 set to true if nucleation temperature is set
 
bool percolation_temp_set = false
 set to true if percolation temperature is set
 
bool completion_temp_set = false
 set to true if completion temperature is set
 
TransitionTemperature which_transition_temp = TransitionTemperature::NotSet
 Temperature at which to calculate parameters.
 
double Tc = -1
 critical temperature/highest temperature when transition can occur
 
double Tm = -1
 lowest temperature when a transition can occur
 
double Tnucl = -1
 nucleation temperature
 
double Tnucl_approx = -1
 approximate nucleation temperature
 
double Tperc = -1
 percolation temperature
 
double Tcompl = -1
 completion temperature
 
double Treh = -1
 reheating temperature
 
double Tstar = -1
 transition temperature
 
double store_Temp
 stored temperature
 
double alpha = -1
 PT strength.
 
double betaH = -1
 Inverse time scale \( \frac{\beta}{H} \).
 
double Rstar = -1
 \( R_{\star}=\left[T_{*}^{3}\int_{T_{*}}^{T_{c}}\frac{d T^{\prime}}{T^{\prime4}}\frac{\Gamma(T^{\prime})}{H(T^{\prime})}e^{-I(T^{\prime})}\right]^{-1/3} \)
 
double gstar
 number of effective degrees of freedom
 
int indexTrueCandidatePhase
 index of the true vacuum phase candidate in the coex list
 
tk::spline S3ofT_spline
 spline used to interpolate the action as a function of the temperature
 
tk::spline GstarProfileLowT
 Gstar spline, T < T_QCD (214.0 MeV)
 
tk::spline GstarProfileHighT
 Gstar spline, T > T_QCD (214.0 MeV)
 
tk::spline FalsePhaseVSpline
 False V spline to interpolate.
 
tk::spline TruePhaseVSpline
 True V spline to interpolate.
 
std::vector< BounceActionIntSolutionList
 Set of BounceActionInt objects with valid solutions.
 
std::vector< Eigen::MatrixXd > GroupElements
 List of group elements allowed by the potential.
 
Eigen::MatrixXd OptimalDiscreteSymmetry
 Store symmetry that produces the best tunneling rate.
 
const double AbsErr = 0
 AbsErr absolute error for numerical integration.
 
const double RelErr = 1e-6
 RelErr relative error for numerical integration.
 
const double RelativeTemperatureInCalcTempAtFalseVacFraction = 1e-8
 Maximum relative difference in temperature on the fraction of false vacuum to be accepted.
 
const double RelativeErrorInCalcTempAtFalseVacFraction = 1e-3
 Maximum relative error on the fraction of vacuum tunneled to be accepted.
 
const double MarginOfCalcTempAtFalseVacFractionBeforeFailure = 1e-4
 Additional margin of error in the while loop without admitting failure.
 
CoexPhases phase_pair
 pair of coexisiting phases
 
StatusGW status_bounce_sol = StatusGW::NotSet
 status of bounce solver
 
BSMPT::StatusTemperature status_nucl_approx
 status of approximate nucleation temperature calculation
 
BSMPT::StatusTemperature status_nucl = BSMPT::StatusTemperature::NotSet
 status of nucleation temperature calculation
 
BSMPT::StatusTemperature status_perc = BSMPT::StatusTemperature::NotSet
 status of percolation temperature calculation
 
BSMPT::StatusTemperature status_compl = BSMPT::StatusTemperature::NotSet
 status of completion temperature calculation
 
double UserDefined_vwall = 0.95
 \( v_{\text{wall}}\) defined by the user as an input parameter. If \( v_{\text{wall}}\f = -1$ then we use the approximation coming from https://arxiv.org/abs/2210.16305 If \) v_{\text{wall}}\f = -2$ then we use the upper bound from https://arxiv.org/abs/2305.02357
 
int MaxPathIntegrations = 7
 Number of integration of the bounce.
 

Friends

double inner_integrand (double var, void *params)
 inner_integrand friend to define inner integrand of percolation temperature integral
 
double outer_integrand (double var, void *params)
 outer_integrand friend to define outer integrand of percolation temperature integral
 
double action_ratio (double var, void *params)
 action_ratio friend to define input of numerical derivative in calculation of inverse time scale
 

Detailed Description

BounceSolution class that handles the calculation of the bounce solution as well as the calculation of the charateristic temperature scales.

Constructor & Destructor Documentation

◆ BounceSolution() [1/3]

BSMPT::BounceSolution::BounceSolution ( const std::shared_ptr< Class_Potential_Origin > &  pointer_in)

Construct a new Bounce Sol Calc object. Used for testing.

Parameters
pointer_inmodel pointer

◆ BounceSolution() [2/3]

BSMPT::BounceSolution::BounceSolution ( const std::shared_ptr< Class_Potential_Origin > &  pointer_in,
const std::shared_ptr< MinimumTracer > &  MinTracer_in,
const CoexPhases phase_pair_in,
const double &  UserDefined_vwall_in,
const double &  UserDefined_epsturb_in,
const int &  MaxPathIntegrations_in,
const size_t &  NumberOfInitialScanTemperatures_in,
const int &  UserDefined_PNLO_scaling_in = 1 
)

Construct a new Bounce Sol Calc object. This class takes as input a pair of coexisting phases and delegates to constructor with provided symmetry group.

Parameters
pointer_inmodel pointer
MinTracerInminimum tracer pointer
phase_pair_inpair of coexisting phases
UserDefined_vwall_inis the input value for v_wall. If = -1$ then we use the approximation coming from https://arxiv.org/abs/2210.16305. If = -2$ then we use the upper bound from https://arxiv.org/abs/2305.02357
UserDefined_epsturb_inis the input value for epsturb. If [0..1] set to value, for -1 we use the upper bound from https://arxiv.org/abs/1704.05871
MaxPathIntegrations_inmax number of path integrations
NumberOfInitialScanTemperatures_innumber of temperature steps in the initial scan of the bounce solver
UserDefined_PNLO_scaling_inis the pressure scaling at NLO for 1 -> N

◆ BounceSolution() [3/3]

BSMPT::BounceSolution::BounceSolution ( const std::shared_ptr< Class_Potential_Origin > &  pointer_in,
const std::shared_ptr< MinimumTracer > &  MinTracer_in,
const CoexPhases phase_pair_in,
const double &  UserDefined_vwall_in,
const double &  UserDefined_epsturb_in,
const int &  MaxPathIntegrations_in,
const size_t &  NumberOfInitialScanTemperatures_in,
const std::vector< Eigen::MatrixXd > &  GroupElements_in,
const int &  UserDefined_PNLO_scaling_in = 1 
)

Construct a new Bounce Sol Calc object. This class takes as input a pair of coexisting phases.

Parameters
pointer_inmodel pointer
MinTracerInminimum tracer pointer
phase_pair_inpair of coexisting phases
UserDefined_vwall_inis the input value for v_wall. If = -1$ then we use the approximation coming from https://arxiv.org/abs/2210.16305. If = -2$ then we use the upper bound from https://arxiv.org/abs/2305.02357
UserDefined_epsturb_inis the input value for epsturb. If [0..1] set to value, for -1 we use the upper bound from https://arxiv.org/abs/1704.05871
MaxPathIntegrations_inmax number of path integrations
GroupElements_InList of allowed potential symmetries
NumberOfInitialScanTemperatures_innumber of temperature steps in the initial scan of the bounce solver
UserDefined_PNLO_scaling_inis the pressure scaling at NLO for 1 -> N

Member Function Documentation

◆ CalcFalseVacFraction()

double BSMPT::BounceSolution::CalcFalseVacFraction ( const double &  temp)

CalcFalseVacFraction calculates false vacuum fraction as function of temperature.

Parameters
temptemperature
Returns
false vacuum fraction

◆ CalcTempAtFalseVacFraction()

double BSMPT::BounceSolution::CalcTempAtFalseVacFraction ( const double &  false_vac_frac)

CalcTempAtFalseVacFraction calculates the temperature at which the false vacuum fraction drops below val.

Parameters
false_vac_fracdesired false vacuum fraction value
Returns
temperature at which false vacuum fraction drops below val

◆ CalculateActionAt()

void BSMPT::BounceSolution::CalculateActionAt ( double  T,
bool  smart = true 
)

Calculate the euclidian action of the transition from false to true phase of phase pair.

Parameters
Ttemperature
smart

◆ CalculateCompletionTemp()

void BSMPT::BounceSolution::CalculateCompletionTemp ( const double &  false_vac_frac = 0.01)

CalculateCompletionTemp calculation of the temperature when the false vacuum fraction drops below 1 % (default)

Parameters
false_vac_fracfalse vacuum fraction at completion temperature, by default set to 1 %

◆ CalculatePercolationTemp()

void BSMPT::BounceSolution::CalculatePercolationTemp ( const double &  false_vac_frac = 0.71)

CalculatePercolationTemp calculation of the temperature when the false vacuum fraction drops below 71 % (default)

Parameters
false_vac_fracfalse vacuum fraction at percolation temperature, by default set to 71 %

◆ CalculateRhoGamma()

double BSMPT::BounceSolution::CalculateRhoGamma ( const double &  T) const

Calculate \( \rho_R = \rho_\gamma = g_\star \frac{\pi^2}{30} T_*^4 \).

Parameters
Ttemperature
Returns
double

◆ CalculateSoundSpeed()

double BSMPT::BounceSolution::CalculateSoundSpeed ( Phase phase)

Calculate sound speeds \( c_s^2 = \frac{1}{T} \frac{V'_{\text{eff}}(T)}{V''_{\text{eff}}(T)} \) at Tstar in phase.

Parameters
phase
Returns
sound speed

◆ CalculateWallVelocity()

void BSMPT::BounceSolution::CalculateWallVelocity ( const Minimum false_min,
const Minimum true_min 
)

Calculate wall velocity.

Parameters
false_mininitial, false minimum
true_minfinal, true minimum

◆ ConstructSplineVofT()

void BSMPT::BounceSolution::ConstructSplineVofT ( Phase phase,
tk::spline spline 
)
static

Using the phase, constructs a spline of \( V(T) \) of that phase.

Parameters
phasePhase to reconstruct using spline
splineSpline that takes the result

◆ FalseVacFractionExponent_I()

double BSMPT::BounceSolution::FalseVacFractionExponent_I ( const double &  T)

Calculate the false vacuum fraction \( I(T)=\frac{4\pi v_{b}^{3}}{3}\int_{T}^{T_{c}}\frac{\Gamma(T^{\prime})d T^{\prime}}{T^{\prime4}H(T^{\prime})}\left(\int_{T}^{T^{\prime}}\frac{d\tilde{T}}{H(\tilde{T})}\right)^{3} \).

Parameters
Ttemperature
Returns
double

◆ GetChapmanJougetVelocity()

double BSMPT::BounceSolution::GetChapmanJougetVelocity ( ) const

Get Chapman-Jouget velocity.

Returns
vCJ

◆ GetEpsTurb()

double BSMPT::BounceSolution::GetEpsTurb ( ) const

Get epsturb.

Returns
epsturb

◆ GetGstar() [1/2]

double BSMPT::BounceSolution::GetGstar ( )

Get Gstar for radiation-dominated epoch.

Returns
double

◆ GetGstar() [2/2]

double BSMPT::BounceSolution::GetGstar ( const double &  T) const

Get the Gstar object.

Parameters
Ttemperature
Returns
double

◆ GetWallVelocity()

double BSMPT::BounceSolution::GetWallVelocity ( ) const

Get the bubble wall velocity.

Returns
vb

◆ HubbleRate()

double BSMPT::BounceSolution::HubbleRate ( const double &  Temp)

Storage of the temperature-dependent Hubble rate.

Parameters
Temptemperature

◆ SetAndCalculateGWParameters()

void BSMPT::BounceSolution::SetAndCalculateGWParameters ( const TransitionTemperature which_transition_temp_in)

Set the Transition Temp object.

Parameters
which_transition_temp_in

◆ TransformIntoOptimalDiscreteSymmetry()

std::vector< double > BSMPT::BounceSolution::TransformIntoOptimalDiscreteSymmetry ( const std::vector< double > &  vev)

Transforms the vev to the optimal vev.

Parameters
vevto be converted
Returns
std::vector<double> transformed vev

◆ TunnelingRate()

double BSMPT::BounceSolution::TunnelingRate ( const double &  Temp)

Storage of the tunneling rate per volume of the transition from false to true vacuum.

Parameters
Temptemperature

Member Data Documentation

◆ status_nucl_approx

BSMPT::StatusTemperature BSMPT::BounceSolution::status_nucl_approx
Initial value:
=
BSMPT::StatusTemperature::NotSet

status of approximate nucleation temperature calculation


The documentation for this class was generated from the following files: