Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/sm as input and add unit test for Debye calculations #107

Merged
merged 11 commits into from
Apr 6, 2023
5 changes: 3 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
cmake_minimum_required(VERSION 3.13)
project(
BSMPT
VERSION 2.5.1
VERSION 2.6.0
LANGUAGES C CXX
DESCRIPTION
"BSMPT - Beyond the Standard Model Phase Transitions : A C++ package for the computation of the EWPT in BSM models"
Expand Down Expand Up @@ -210,7 +210,8 @@ if(BSMPT_IS_TOPLEVEL)
"${CMAKE_CURRENT_SOURCE_DIR}/include/"
"${CMAKE_CURRENT_SOURCE_DIR}/src/"
"${CMAKE_CURRENT_SOURCE_DIR}/README.md"
"${CMAKE_CURRENT_SOURCE_DIR}/Changelog.md")
"${CMAKE_CURRENT_SOURCE_DIR}/Changelog.md"
"${CMAKE_CURRENT_SOURCE_DIR}/tests/")

else()
message(
Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas M
SPDX-License-Identifier: GPL-3.0-or-later
-->

Program: BSMPT version 2.5.1
Program: BSMPT version 2.6.0

Released by: Philipp Basler and Lisa Biermann and Margarete Mühlleitner and Jonas Müller

Expand All @@ -18,7 +18,6 @@ Released by: Philipp Basler and Lisa Biermann and Margarete Mühlleitner and Jon
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/phbasler/bsmpt/graphs/commit-activity)
[![GitHub license](https://img.shields.io/github/license/phbasler/bsmpt.svg)](https://github.com/phbasler/BSMPT/blob/master/LICENSE.md)
[![Latest release](https://badgen.net/github/release/phbasler/bsmpt)](https://github.com/phbasler/bsmpt/releases)
[![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/phbasler/BSMPT.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/phbasler/BSMPT/context:cpp)



Expand Down
21 changes: 18 additions & 3 deletions include/BSMPT/baryo_calculation/CalculateEtaInterface.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include <BSMPT/baryo_calculation/transport_equations.h>
#include <BSMPT/minimizer/Minimizer.h>
#include <BSMPT/models/IncludeAllModels.h>
#include <BSMPT/models/SMparam.h>
#include <string>
#include <vector>

Expand Down Expand Up @@ -105,13 +106,21 @@ class CalculateEtaInterface
*/
GSL_integration_mubl GSL_integration_mubl_container;

/**
* @brief SMConstants The SM Constants used during the EWBG calculation
*/
const ISMConstants SMConstants;

public:
/**
* @brief CalculateEtaInterface Initialises the class with a config pair
* @param config config.first sets the CalculateEtaInterface::method_transport
* and second CalculateEtaInterface::bot_mass_flag
* @param smConstants The SM Constants. This should be the same as used by the
* parameter point used to calculate the SFOEWPT
*/
CalculateEtaInterface(const std::pair<std::vector<bool>, int> &config);
CalculateEtaInterface(const std::pair<std::vector<bool>, int> &config,
const ISMConstants &smConstants);

/**
* Initialises the class member and sets the
Expand All @@ -120,17 +129,23 @@ class CalculateEtaInterface
* @param method_input Sets the CalculateEtaInterface::method_transport member
* @param bot_mass_flag_in Sets the CalculateEtaInterface::bot_mass_flag
* member
* @param smConstants The SM Constants. This should be the same as used by the
* parameter point used to calculate the SFOEWPT
*/
CalculateEtaInterface(const std::vector<bool> &method_input,
const int &bot_mass_flag_in);
const int &bot_mass_flag_in,
const ISMConstants &smConstants);

/**
* Initialises the class member and sets the
* CalculateEtaInterface::method_transport and
* CalculateEtaInterface::bot_mass_flag with the input given in the input file
* @param file input file to get the settings
* @param smConstants The SM Constants. This should be the same as used by the
* parameter point used to calculate the SFOEWPT
*/
CalculateEtaInterface(const std::string &file);
CalculateEtaInterface(const std::string &file,
const ISMConstants &smConstants);

virtual ~CalculateEtaInterface();

Expand Down
4 changes: 3 additions & 1 deletion include/BSMPT/baryo_calculation/Fluid_Type/bot_source.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// Copyright (C) 2020 Philipp Basler, Margarete Mühlleitner and Jonas Müller
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas Müller
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas
// Müller
//
// SPDX-License-Identifier: GPL-3.0-or-later

Expand Down Expand Up @@ -37,6 +38,7 @@ class bot_source : public gen_fluid
{
private:
public:
bot_source(const ISMConstants &smConstants);
/**
* @brief operator () Needed for the numerical solution via boost.
* @param omega Vector of all included (rescaled) chemical potentials
Expand Down
11 changes: 8 additions & 3 deletions include/BSMPT/baryo_calculation/Fluid_Type/gen_func_fluid.h
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,7 @@ double NIntegrate_kappa(const Calc_kappa_t &C_kap);
class Calc_eta
{
private:
ISMConstants SMConstants;
/**
* @brief Temp Temperature
*/
Expand All @@ -255,6 +256,7 @@ class Calc_eta

public:
double prefactor;
Calc_eta(const ISMConstants &smConstants);
void set_class(std::vector<double> array_z,
std::vector<double> array_nL,
double Temp,
Expand Down Expand Up @@ -297,7 +299,10 @@ double Nintegrate_eta(const Calc_eta &C_eta,
class gen_fluid
{
private:
const ISMConstants SMConstants;

public:
gen_fluid(const ISMConstants &smConstants);
int bot_mass_flag;
int tau_mass_flag =
1; // Changing to zero for massless tau leptons --> might cause problems!
Expand Down Expand Up @@ -394,9 +399,9 @@ class gen_fluid
double gprime = 0.36;
double alphaS = 1. / 7;
double alphaW = 1. / 30;
double mtop_0 = C_MassTop;
double mbot_0 = C_MassBottom;
double mtau_0 = C_MassTau;
double mtop_0{0};
double mbot_0{0};
double mtau_0{0};

/**
* @brief Dq Diffusion constant of quarks.
Expand Down
4 changes: 3 additions & 1 deletion include/BSMPT/baryo_calculation/Fluid_Type/tau_source.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
#define TAU_SOURCE_H

// Copyright (C) 2020 Philipp Basler, Margarete Mühlleitner and Jonas Müller
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas Müller
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas
// Müller
//
// SPDX-License-Identifier: GPL-3.0-or-later

Expand Down Expand Up @@ -32,6 +33,7 @@ class tau_source : public gen_fluid
{
private:
public:
tau_source(const ISMConstants &smConstants);
/**
* @brief operator () Needed for the numerical solution via boost.
* @param omega Vector of all included (rescaled) chemical potentials
Expand Down
4 changes: 3 additions & 1 deletion include/BSMPT/baryo_calculation/Fluid_Type/top_source.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
#define TOP_SOURCE_H

// Copyright (C) 2020 Philipp Basler, Margarete Mühlleitner and Jonas Müller
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas Müller
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas
// Müller
//
// SPDX-License-Identifier: GPL-3.0-or-later

Expand Down Expand Up @@ -32,6 +33,7 @@ class top_source : public gen_fluid
{
private:
public:
top_source(const ISMConstants &smConstants);
/**
* @brief operator () Needed for the numerical solution via boost.
* @param omega Vector of all included (rescaled) chemical potentials
Expand Down
5 changes: 4 additions & 1 deletion include/BSMPT/minimizer/MinimizePlane.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas Müller
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas
// Müller
//
// SPDX-License-Identifier: GPL-3.0-or-later

Expand Down Expand Up @@ -119,6 +120,7 @@ struct PointerContainerMinPlane
* @param Model Decides which model should be used through FChoose
* @param par Inputparameters for the parameterpoint
* @param parCT Counterterm parameters for the parameterpoint
* @param SMConstant The SM constants used by the parameter point
* @param Temp Temperature at which the minimum should be calculated
* @return MinimizePlaneReturn struct which has the minimum and the value of the
* potential
Expand All @@ -130,6 +132,7 @@ MinimizePlane(const std::vector<double> &basepoint,
const ModelID::ModelIDs &Model,
const std::vector<double> &par,
const std::vector<double> &parCT,
const ISMConstants &SMConstant,
const double &Temp,
const int &WhichMinimizer = WhichMinimizerDefault);
/**
Expand Down
2 changes: 2 additions & 0 deletions include/BSMPT/minimizer/Minimizer.h
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ PTFinder_gen_all(const std::shared_ptr<Class_Potential_Origin> &modelPointer,
* @param Model Which Model to minimize
* @param par parameters of the point
* @param parCT counterterm parameters
* @param SMConstants The SM Constants used for the minimisation
* @param Check Vector to safe the error flags during the minimization
* @param start Starting point for the minimization
* @param WhichMinimizer Which minimizers should be taken? 1 = CMAES, 2 = GSL, 4
Expand All @@ -178,6 +179,7 @@ std::vector<double>
Minimize_gen_all_tree_level(const ModelID::ModelIDs &Model,
const std::vector<double> &par,
const std::vector<double> &parCT,
const ISMConstants &SMConstants,
std::vector<double> &Check,
const std::vector<double> &start,
int WhichMinimizer = WhichMinimizerDefault,
Expand Down
9 changes: 5 additions & 4 deletions include/BSMPT/models/ClassPotentialC2HDM.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// Copyright (C) 2018 Philipp Basler and Margarete Mühlleitner
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas Müller
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas
// Müller
//
// SPDX-License-Identifier: GPL-3.0-or-later

Expand Down Expand Up @@ -77,7 +78,7 @@ namespace Models
class Class_Potential_C2HDM : public Class_Potential_Origin
{
public:
Class_Potential_C2HDM();
Class_Potential_C2HDM(const ISMConstants &smConstants);
virtual ~Class_Potential_C2HDM() override;

bool UseHsmNotationInTripleHiggs = false;
Expand All @@ -88,7 +89,7 @@ class Class_Potential_C2HDM : public Class_Potential_Origin
Du1CT = 0, DRu3CT = 0;
double DIL5CT = 0, DIu3CT = 0;
double DT1 = 0, DT2 = 0, DT3 = 0, DTCharged = 0;
double DIL6CT=0;
double DIL6CT = 0;
double TanBeta = 0, C_CosBeta = 0, C_SinBeta = 0, C_CosBetaSquared = 0,
C_SinBetaSquared = 0;
double beta = 0;
Expand All @@ -97,7 +98,7 @@ class Class_Potential_C2HDM : public Class_Potential_Origin
double CTempC1 = 0, CTempC2 = 0, CTempCS = 0;
double R_Hh_1 = 0, R_Hh_2 = 0, R_Hh_3 = 0, R_Hl_1 = 0, R_Hl_2 = 0, R_Hl_3 = 0,
R_Hsm_1 = 0, R_Hsm_2 = 0, R_Hsm_3 = 0;

void ReadAndSet(const std::string &linestr,
std::vector<double> &par) override;
std::vector<std::string> addLegendCT() const override;
Expand Down
2 changes: 1 addition & 1 deletion include/BSMPT/models/ClassPotentialCPintheDark.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ namespace Models
class Class_Potential_CPintheDark : public Class_Potential_Origin
{
public:
Class_Potential_CPintheDark();
Class_Potential_CPintheDark(const ISMConstants &smConstants);
virtual ~Class_Potential_CPintheDark();

// parameters of scalar potential
Expand Down
9 changes: 5 additions & 4 deletions include/BSMPT/models/ClassPotentialCxSM.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// Copyright (C) 2020 Philipp Basler, Margarete Mühlleitner and Jonas Müller
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas Müller
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas
// Müller
//
// SPDX-License-Identifier: GPL-3.0-or-later

Expand Down Expand Up @@ -65,7 +66,7 @@ namespace Models
class Class_CxSM : public Class_Potential_Origin
{
public:
Class_CxSM();
Class_CxSM(const ISMConstants &smConstants);
virtual ~Class_CxSM();

// Add here your parameters for the Lagrangian as well as for the counterterm
Expand All @@ -77,8 +78,8 @@ class Class_CxSM : public Class_Potential_Origin
double dmsq, dlambda, ddelta2, db2, dd2, dReb1, dImb1, dRea1, dIma1, dT1, dT2,
dT3, dT4, dT5, dT6;

double g1 = C_gs;
double g2 = C_g;
double g1 = SMConstants.C_gs;
double g2 = SMConstants.C_g;

double vh, vs, va;

Expand Down
25 changes: 22 additions & 3 deletions include/BSMPT/models/ClassPotentialOrigin.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,12 @@ const double C_CWcbHiggs = 1.5;
*/
class Class_Potential_Origin
{
public:
/**
* @brief SMConstants The SM constants used by the model
*/
const ISMConstants SMConstants;

protected:
/**
* @brief UseTreeLevel Enforces VEff to only use the tree-level potential
Expand All @@ -64,7 +70,7 @@ class Class_Potential_Origin
/**
* MSBar renormalization scale
*/
double scale = C_vev0;
double scale;

/**
* Number of Lagrange parameters in the Higgs Tree-Level potential
Expand Down Expand Up @@ -383,7 +389,7 @@ class Class_Potential_Origin
std::vector<std::size_t> VevOrder;

public:
Class_Potential_Origin();
Class_Potential_Origin(const ISMConstants &smConstants);
virtual ~Class_Potential_Origin();

/**
Expand Down Expand Up @@ -517,6 +523,16 @@ class Class_Potential_Origin
* @return ModelID of the Model
*/
ModelID::ModelIDs get_Model() const { return Model; }

/**
* @brief get_DebyeHiggs get the Debye corrections to the Higgs mass matrix
* @return
*/
const std::vector<std::vector<double>> &get_DebyeHiggs() const
{
return DebyeHiggs;
}

/**
* @brief set_InputLineNumber
* @param InputLineNumber_in value to set InputLineNumber
Expand Down Expand Up @@ -732,8 +748,11 @@ class Class_Potential_Origin
* Calculates the Debye corrections to the Higgs mass matrix.
* If you can provide CalculateDebyeSimplified() with the Matrix as this will
* reduce the runtime.
* @param forceCalculation Forces the caclulation, even if the model
* implements a simplified version. The simplified calculation will be
* skipped.
*/
void CalculateDebye();
void CalculateDebye(bool forceCalculation = false);
/**
* Calculates the Debye corrections to the gauge sector. By using
* CalculateDebyeGaugeSimplified() the runtime can be reduced.
Expand Down
5 changes: 3 additions & 2 deletions include/BSMPT/models/ClassPotentialR2HDM.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// Copyright (C) 2018 Philipp Basler and Margarete Mühlleitner
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas Müller
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas
// Müller
//
// SPDX-License-Identifier: GPL-3.0-or-later

Expand Down Expand Up @@ -75,7 +76,7 @@ namespace Models
class Class_Potential_R2HDM : public Class_Potential_Origin
{
public:
Class_Potential_R2HDM();
Class_Potential_R2HDM(const ISMConstants &smConstants);
virtual ~Class_Potential_R2HDM();

double L1 = 0, L2 = 0, L3 = 0, L4 = 0, RL5 = 0, RealMMix = 0, u1 = 0, u2 = 0;
Expand Down
5 changes: 3 additions & 2 deletions include/BSMPT/models/ClassPotentialRN2HDM.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// Copyright (C) 2018 Philipp Basler and Margarete Mühlleitner
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas Müller
// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas
// Müller
//
// SPDX-License-Identifier: GPL-3.0-or-later

Expand Down Expand Up @@ -79,7 +80,7 @@ namespace Models
class Class_Potential_RN2HDM : public Class_Potential_Origin
{
public:
Class_Potential_RN2HDM();
Class_Potential_RN2HDM(const ISMConstants &smConstants);
virtual ~Class_Potential_RN2HDM();

double L1 = 0, L2 = 0, L3 = 0, L4 = 0, RL5 = 0, RealMMix = 0, u1 = 0, u2 = 0;
Expand Down
Loading