Skip to content

Commit

Permalink
chop beta function values smaller than zero_threshold
Browse files Browse the repository at this point in the history
Reason: Certain beta-functions can be numerically non-zero due to the
imprecision of numerical operations, even if the beta-function should
be algebraically zero.  Since such tiny non-zero beta-functions
sometimes fluctuate, which can confuse the Runge-Kutta integrator,
leading to non-perturbative running.  An example of such a behaviour
can be found in the CMSSMCPV for values of eta != 0.

In order to avoid such problems, a zero-threshold was introduced in
the previous commit.  Beta-functions smaller than this zero-threshold
are set to zero using the Chop() functor.
  • Loading branch information
Alexander Voigt authored and Alexander Voigt committed May 6, 2015
1 parent 8b0bb78 commit 0c7a7ac
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
3 changes: 2 additions & 1 deletion templates/two_scale_soft_parameters.cpp.in
Expand Up @@ -20,6 +20,7 @@

#include "@ModelName@_two_scale_soft_parameters.hpp"
#include "wrappers.hpp"
#include "functors.hpp"

#include <iostream>

Expand Down Expand Up @@ -47,7 +48,7 @@ namespace flexiblesusy {

Eigen::ArrayXd @ModelName@_soft_parameters::beta() const
{
return calc_beta().get();
return calc_beta().get().unaryExpr(Chop<double>(get_zero_threshold()));
}

@ModelName@_soft_parameters @ModelName@_soft_parameters::calc_beta() const
Expand Down
3 changes: 2 additions & 1 deletion templates/two_scale_susy_parameters.cpp.in
Expand Up @@ -20,6 +20,7 @@

#include "@ModelName@_two_scale_susy_parameters.hpp"
#include "wrappers.hpp"
#include "functors.hpp"

#include <iostream>

Expand Down Expand Up @@ -54,7 +55,7 @@ namespace flexiblesusy {

Eigen::ArrayXd @ModelName@_susy_parameters::beta() const
{
return calc_beta().get();
return calc_beta().get().unaryExpr(Chop<double>(get_zero_threshold()));
}

@ModelName@_susy_parameters @ModelName@_susy_parameters::calc_beta() const
Expand Down

0 comments on commit 0c7a7ac

Please sign in to comment.