flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
flexiblesusy::Beta_function Class Referenceabstract

beta function interface More...

#include <betafunction.hpp>

Inheritance diagram for flexiblesusy::Beta_function:
Inheritance graph
Collaboration diagram for flexiblesusy::Beta_function:
Collaboration graph

Public Member Functions

virtual Eigen::ArrayXd beta () const =0
 
 Beta_function ()=default
 
 Beta_function (Beta_function &&)=default
 
 Beta_function (const Beta_function &)=default
 
virtual Eigen::ArrayXd get () const =0
 
int get_loops () const
 
int get_number_of_parameters () const
 
double get_scale () const
 
int get_thresholds () const
 
double get_zero_threshold () const
 
Beta_functionoperator= (Beta_function &&)=default
 
Beta_functionoperator= (const Beta_function &)=default
 
void reset ()
 
virtual void run (double, double, double eps=-1.0)
 
virtual void run_to (double, double eps=-1.0)
 
virtual void set (const Eigen::ArrayXd &)=0
 
void set_loops (int l)
 
void set_number_of_parameters (int pars)
 
void set_scale (double s)
 
void set_thresholds (int t)
 
void set_zero_threshold (double t)
 
virtual ~Beta_function ()=default
 

Private Member Functions

Eigen::ArrayXd derivatives (double, const Eigen::ArrayXd &)
 
double get_tolerance (double eps) const
 

Private Attributes

int loops {0}
 to what loop order does the RG evolution run More...
 
double min_tolerance {1.e-11}
 minimum tolerance allowed More...
 
int num_pars {0}
 number of parameters More...
 
double scale {0.}
 current renormalization scale More...
 
int thresholds {0}
 threshold correction loop order More...
 
double tolerance {1.e-4}
 running tolerance More...
 
double zero_threshold {1.e-11}
 threshold for treating values as zero More...
 

Detailed Description

beta function interface

Beta_function is the abstract base class for the beta functions of the parameter classes of the generated models. It defines the basic RG running interface. The run() and run_to() functions use the Runge-Kutta algorithm to integrate the RGEs up to a given scale.

Definition at line 41 of file betafunction.hpp.

Constructor & Destructor Documentation

◆ Beta_function() [1/3]

flexiblesusy::Beta_function::Beta_function ( )
default

◆ Beta_function() [2/3]

flexiblesusy::Beta_function::Beta_function ( const Beta_function )
default

◆ Beta_function() [3/3]

flexiblesusy::Beta_function::Beta_function ( Beta_function &&  )
default

◆ ~Beta_function()

virtual flexiblesusy::Beta_function::~Beta_function ( )
virtualdefault

Member Function Documentation

◆ beta()

virtual Eigen::ArrayXd flexiblesusy::Beta_function::beta ( ) const
pure virtual

Implemented in softsusy::QedQcd.

Referenced by derivatives().

◆ derivatives()

Eigen::ArrayXd flexiblesusy::Beta_function::derivatives ( double  x,
const Eigen::ArrayXd &  y 
)
private

Takes logarithm of renormalisation scale as first argument and parameters of RGE passed in as an Eigen::ArrayXd object of dynamic size in the second argument. Returns the beta functions as an Eigen::ArrayXd object.

Parameters
xlogarithm of renormalization scale to calculate beta functions at
yarray of model parameters
Returns
array of beta functions

Definition at line 108 of file betafunction.cpp.

References beta(), set(), and set_scale().

Referenced by run().

◆ get()

virtual Eigen::ArrayXd flexiblesusy::Beta_function::get ( ) const
pure virtual

Implemented in softsusy::QedQcd.

Referenced by run().

◆ get_loops()

int flexiblesusy::Beta_function::get_loops ( ) const
inline

◆ get_number_of_parameters()

int flexiblesusy::Beta_function::get_number_of_parameters ( ) const
inline

Definition at line 57 of file betafunction.hpp.

References num_pars.

◆ get_scale()

double flexiblesusy::Beta_function::get_scale ( ) const
inline

◆ get_thresholds()

int flexiblesusy::Beta_function::get_thresholds ( ) const
inline

Definition at line 59 of file betafunction.hpp.

References thresholds.

Referenced by softsusy::QedQcd::massBeta(), softsusy::operator<<(), and softsusy::operator==().

◆ get_tolerance()

double flexiblesusy::Beta_function::get_tolerance ( double  eps) const
private

Helper function, which returns the RG running precision, determined from the argument eps. If eps is less than zero, the default running precision is returned. Otherwise, if eps is positive and less than the minimum allowed running precision, the minimum allowed running precision is returned. Otherwise, the value of eps is returned.

Parameters
epsvalue to determine the RG running precision from
Returns
RG running precision

Definition at line 127 of file betafunction.cpp.

References min_tolerance, and tolerance.

Referenced by run(), and run_to().

◆ get_zero_threshold()

double flexiblesusy::Beta_function::get_zero_threshold ( ) const
inline

Definition at line 60 of file betafunction.hpp.

References zero_threshold.

◆ operator=() [1/2]

Beta_function & flexiblesusy::Beta_function::operator= ( Beta_function &&  )
default

◆ operator=() [2/2]

Beta_function & flexiblesusy::Beta_function::operator= ( const Beta_function )
default

◆ reset()

void flexiblesusy::Beta_function::reset ( )

Definition at line 38 of file betafunction.cpp.

References loops, min_tolerance, num_pars, scale, thresholds, tolerance, and zero_threshold.

◆ run()

void flexiblesusy::Beta_function::run ( double  x1,
double  x2,
double  eps = -1.0 
)
virtual

Runs parameter objects of the generated models from scale x1, passed as first argument, to scale x2 passed as second argument.

Parameters
x1renormalization scale to start RG running from
x2renormalization scale to run parameters to
epsRG running precision

Definition at line 70 of file betafunction.cpp.

References derivatives(), flexiblesusy::end(), get(), get_loops(), get_tolerance(), flexiblesusy::anonymous_namespace{betafunction.cpp}::integrator, flexiblesusy::log(), min_tolerance, set(), and set_scale().

Referenced by run_to().

◆ run_to()

void flexiblesusy::Beta_function::run_to ( double  x2,
double  eps = -1.0 
)
virtual

Runs parameter objects of the generated models from current scale to the scale x2 passed as in an argument.

Parameters
x2renormalization scale to run parameters to
epsRG running precision

Definition at line 56 of file betafunction.cpp.

References get_tolerance(), run(), and scale.

Referenced by softsusy::QedQcd::runto_safe().

◆ set()

virtual void flexiblesusy::Beta_function::set ( const Eigen::ArrayXd &  )
pure virtual

Implemented in softsusy::QedQcd.

Referenced by derivatives(), and run().

◆ set_loops()

void flexiblesusy::Beta_function::set_loops ( int  l)
inline

Definition at line 52 of file betafunction.hpp.

References loops.

Referenced by softsusy::QedQcd::QedQcd().

◆ set_number_of_parameters()

void flexiblesusy::Beta_function::set_number_of_parameters ( int  pars)
inline

Definition at line 51 of file betafunction.hpp.

References num_pars.

Referenced by softsusy::QedQcd::QedQcd().

◆ set_scale()

void flexiblesusy::Beta_function::set_scale ( double  s)
inline

◆ set_thresholds()

void flexiblesusy::Beta_function::set_thresholds ( int  t)
inline

Definition at line 53 of file betafunction.hpp.

References thresholds.

Referenced by softsusy::QedQcd::QedQcd().

◆ set_zero_threshold()

void flexiblesusy::Beta_function::set_zero_threshold ( double  t)
inline

Definition at line 54 of file betafunction.hpp.

References zero_threshold.

Member Data Documentation

◆ loops

int flexiblesusy::Beta_function::loops {0}
private

to what loop order does the RG evolution run

Definition at line 73 of file betafunction.hpp.

Referenced by get_loops(), reset(), and set_loops().

◆ min_tolerance

double flexiblesusy::Beta_function::min_tolerance {1.e-11}
private

minimum tolerance allowed

Definition at line 77 of file betafunction.hpp.

Referenced by get_tolerance(), reset(), and run().

◆ num_pars

int flexiblesusy::Beta_function::num_pars {0}
private

number of parameters

Definition at line 72 of file betafunction.hpp.

Referenced by get_number_of_parameters(), reset(), and set_number_of_parameters().

◆ scale

double flexiblesusy::Beta_function::scale {0.}
private

◆ thresholds

int flexiblesusy::Beta_function::thresholds {0}
private

threshold correction loop order

Definition at line 74 of file betafunction.hpp.

Referenced by get_thresholds(), reset(), and set_thresholds().

◆ tolerance

double flexiblesusy::Beta_function::tolerance {1.e-4}
private

running tolerance

Definition at line 76 of file betafunction.hpp.

Referenced by get_tolerance(), and reset().

◆ zero_threshold

double flexiblesusy::Beta_function::zero_threshold {1.e-11}
private

threshold for treating values as zero

Definition at line 78 of file betafunction.hpp.

Referenced by get_zero_threshold(), reset(), and set_zero_threshold().


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