15#include <BSMPT/bounce_solution/bounce_solution.h>
21#include <gsl/gsl_errno.h>
22#include <gsl/gsl_integration.h>
23#include <gsl/gsl_math.h>
24#include <gsl/gsl_odeiv2.h>
33 std::optional<double> Omega_b;
34 std::optional<double> f_b;
35 std::optional<double> n1;
36 std::optional<double> n2;
37 std::optional<double> a1;
39 inline bool IsDefined()
const
41 return Omega_b.has_value() && f_b.has_value() && n1.has_value() &&
42 n2.has_value() && a1.has_value();
48 std::optional<double> Omega_2;
49 std::optional<double> f_1;
50 std::optional<double> f_2;
51 std::optional<double> n1;
52 std::optional<double> n2;
53 std::optional<double> n3;
54 std::optional<double> a1;
55 std::optional<double> a2;
57 inline bool IsDefined()
const
59 return Omega_2.has_value() && f_1.has_value() && f_2.has_value() &&
60 n1.has_value() && n2.has_value() && n3.has_value() &&
61 a1.has_value() && a2.has_value();
72 bool collisionON =
true;
73 double transitionTemp =
false;
74 double reheatingTemp =
false;
75 double PTStrength =
false;
79 double XiShock =
false;
80 double Csound_false =
false;
81 double Csound_true =
false;
82 double kappa_col =
false;
83 double kappa_sw =
false;
86 int pnlo_scaling =
false;
87 double Epsilon_Turb =
false;
108 TransitionTemperature::Percolation);
196 double GetSNR(
const double fmin,
const double fmax,
const double T = 3);
210double SIfunc(
const double f);
218double Rfunc(
const double f);
251double GetK_sw(
const double &alpha,
const double &kappa_sw);
259double GetHstar0(
const double &temp,
const double &gstar);
276double GetHtauSH(
const double HR,
const double K_sw);
285double GetHtauSW(
const double HR,
const double K_sw);
295double GetYpsilon(
const double HR,
const double K_sw);
305enum class ExpansionMode
319double mu(
double a,
double b);
328double getwow(
double a,
double b);
329void custom_error_handler(
const char *reason,
341std::pair<double, ExpansionMode> getvm(
double al,
double vw,
double cs2b);
352int dfdv(
double v,
const double y[],
double dydv[],
void *params);
361std::vector<std::vector<double>> solve_ode(
double vw,
double v0,
double cs2);
362double integrate(
const std::vector<double> &y,
const std::vector<double> &x);
377std::pair<double, double>
381 std::vector<std::vector<double>> &vprofile);
392double alN(
double al,
double wow,
double cs2b,
double cs2s);
405double kappaNuMuModel(
double cs2b,
409 std::vector<std::vector<double>> &vprofile);
421double kappaNuMuModel(
double cs2b,
double cs2s,
double al,
double vw);
435double Getkappa_col(
const double &Tstar,
436 const int &pnlo_scaling,
438 BounceSolution &BACalc);
BounceSolution class that handles the calculation of the bounce solution as well as the calculation o...
Definition bounce_solution.h:41
void CalcPeakCollision()
Calculate peak amplitude and frequency for GW signal from collision.
Definition gw.cpp:113
double CalculateXiShell()
Calcualte the fluid shell thickness .
Definition gw.cpp:140
double h
reduced Hubble constant
Definition gw.h:133
const double RelErr
RelErr relative error for numerical integration.
Definition gw.h:127
const double AbsErr
AbsErr absolute error for numerical integration.
Definition gw.h:122
double CalcEpsTurb(double epsturb_in)
CalcEpsTurb calculate epsilon for turbulence contribution.
Definition gw.cpp:101
double GetSNR(const double fmin, const double fmax, const double T=3)
GetSNR.
Definition gw.cpp:267
double CalcGWAmplitude(double f)
Amplitude of GW signal as a function of.
Definition gw.cpp:245
void CalcPeakSoundWave()
Calculate peak amplitude and frequency for GW signal from sound waves.
Definition gw.cpp:156
double DBPL(const double &f, const DBPLParameters &par) const
Double broken power law spectrum .
Definition gw.cpp:225
double BPL(const double &f, const BPLParameters &par) const
Broken power law spectrum .
Definition gw.cpp:213
void CalcPeakTurbulence()
Calculate peak amplitude and frequency for GW signal from turbulence.
Definition gw.cpp:187
friend double snr_integrand(double freq, void *params)
snr_integrand friend to define inner integrand of SNR integral
Definition gw.cpp:301
This classes calculates the Bounce action of the potential with a set temperature.
Definition CalculateEtaInterface.h:24
double SIfunc(const double f)
SIfunc.
Definition gw.cpp:275
double powspec_density(const double f)
powspec_density
Definition gw.cpp:287
double GetK_sw(const double &alpha, const double &kappa_sw)
Get the kinetic energy fraction .
Definition gw.cpp:338
double h2OmSens(const double f)
return the value of LISA mission nominal sensitivity
Definition gw.cpp:294
struct resultErrorPair Nintegrate_SNR(GravitationalWave &obj, const double fmin, const double fmax)
Nintegrate_SNR Numerical integration of SNR integral.
Definition gw.cpp:310
StatusGW
Possible results for the GW and bounce_sol class.
Definition minimum_tracer.h:172
TransitionTemperature
Possible transitions temperatures.
Definition minimum_tracer.h:191
double GetHstar0(const double &temp, const double &gstar)
Calculate the Hubble rate at transition time refshifted to today.
Definition gw.cpp:343
double GetYpsilon(const double HR, const double K_sw)
Calculate from https://arxiv.org/abs/1903.09642.
Definition gw.cpp:96
double Rfunc(const double f)
Rfunc.
Definition gw.cpp:281
double GetHtauSW(const double HR, const double K_sw)
Calculate .
Definition gw.cpp:91
double GetHtauSH(const double HR, const double K_sw)
Calculate .
Definition gw.cpp:86
double GetKtilde(const double &alpha)
Get .
Definition gw.cpp:348
struct to store all calculated GW data
Definition gw.h:69
Definition bounce_solution.h:31