BSMPT 3.0.7
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.
 
 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)
 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, std::vector< Eigen::MatrixXd > GroupElements_in)
 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 GetEpsTurb () const
 Get epsturb.
 
void SetGstar (const double &gstar_in)
 SetGstar Set gstar.
 
double GetGstar () const
 GetGstar Get gstar.
 
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 CalcTransitionTemp (const int &which_transition_temp)
 CalcTransitionTemp Get transition temperature from int.
 
double GetPTStrength () const
 GetPTStrength Get PT strength alpha.
 
void 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 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 CalculatePTStrength ()
 Calculate phase transition strength alpha at percolation temperature.
 
void CalculateWallVelocity (const Minimum &false_min, const Minimum &true_min)
 Calculate wall velocity.
 
void CalculateInvTimeScale ()
 Calculate inverse time scale of phase transition.
 
double GetInvTimeScale ()
 Get inverse time scale of phase transition.
 

Public Attributes

std::shared_ptr< Class_Potential_OriginmodelPointer
 modelPointer for the used parameter point
 
std::shared_ptr< MinimumTracerMinTracer
 MinTracer object.
 
double epsturb = 0.1
 epsilon of turbulence efficiency factor
 
double vwall = 0.95
 wall velocity
 
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
 
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 store_Temp
 stored temperature
 
double alpha = -1
 PT strength.
 
double betaH = -1
 Inverse time scale \( \frac{\beta}{H} \).
 
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
 
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 
)

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

◆ 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,
std::vector< Eigen::MatrixXd >  GroupElements_in 
)

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

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 %

◆ 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

◆ GetEpsTurb()

double BSMPT::BounceSolution::GetEpsTurb ( ) const

Get epsturb.

Returns
epsturb

◆ 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

◆ 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: