/home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/physics/regulators.hh Source File#
|
DiFfRG
Discretization Framework for functional Renormalization Group flows
|
regulators.hh
Go to the documentation of this file.
214 template <typename NT1, typename NT2> static KOKKOS_INLINE_FUNCTION auto RBdot(const NT1 k2, const NT2 q2)
258 // These are magic numbers. c controls the tail, which is of shape exp(-c q^2/k^2), whereas b0 controls how strong
259 // the litim-like part gets cut off into the tail, see also the ConvexRegulators.nb Mathematica notebook
270 return x * (-3. * (2. + x + 2. * b0 * x) + c * (6. + (3. + 6. * b0) * x + (2. + 3. * b0) * powr<2>(x))) *
281 powr<-1>(1. + b0 * powr<2>(x) + 0.06666666666666667 * (3. + 5. * b0) * powr<-1>(-1. + c) * powr<4>(x));
286 powr<-1>(1. + b0 * powr<3>(x) + 0.16666666666666666 * (1. + 2. * b0) * powr<-1>(-1. + c) * powr<5>(x));
291 powr<-1>(1. + b0 * powr<3>(x) + 0.03571428571428571 * (4. + 7. * b0) * powr<-1>(-1. + c) * powr<6>(x));
293 return (x + 0.5 * powr<2>(x) + 0.3333333333333333 * powr<3>(x) + 0.25 * powr<4>(x) + (0.2 + b0) * powr<5>(x) +
294 0.16666666666666666 * (1. + 3. * b0) * powr<6>(x) + 0.047619047619047616 * (3. + 7. * b0) * powr<7>(x) +
298 return (x + 0.5 * powr<2>(x) + 0.3333333333333333 * powr<3>(x) + 0.25 * powr<4>(x) + (0.2 + b0) * powr<5>(x) +
299 0.16666666666666666 * (1. + 3. * b0) * powr<6>(x) + 0.047619047619047616 * (3. + 7. * b0) * powr<7>(x) +
302 powr<-1>(1. + b0 * powr<4>(x) + 0.022222222222222223 * (5. + 9. * b0) * powr<-1>(-1. + c) * powr<8>(x));
304 return (x + 0.5 * powr<2>(x) + 0.3333333333333333 * powr<3>(x) + 0.25 * powr<4>(x) + 0.2 * powr<5>(x) +
311 return (x + 0.5 * powr<2>(x) + 0.3333333333333333 * powr<3>(x) + 0.25 * powr<4>(x) + 0.2 * powr<5>(x) +
319 return (x + 0.5 * powr<2>(x) + 0.3333333333333333 * powr<3>(x) + 0.25 * powr<4>(x) + 0.2 * powr<5>(x) +
324 powr<-1>(1. + b0 * powr<6>(x) + 0.08333333333333333 * (1. + 2. * b0) * powr<-1>(-1. + c) * powr<11>(x));
326 return (x + 0.5 * powr<2>(x) + 0.3333333333333333 * powr<3>(x) + 0.25 * powr<4>(x) + 0.2 * powr<5>(x) +
332 powr<-1>(1. + b0 * powr<6>(x) + 0.01098901098901099 * (7. + 13. * b0) * powr<-1>(-1. + c) * powr<12>(x));
334 return (x + 0.5 * powr<2>(x) + 0.3333333333333333 * powr<3>(x) + 0.25 * powr<4>(x) + 0.2 * powr<5>(x) +
335 0.16666666666666666 * powr<6>(x) + 0.14285714285714285 * powr<7>(x) + (0.125 + b0) * powr<8>(x) +
342 powr<-1>(1. + b0 * powr<7>(x) + 0.07142857142857142 * (1. + 2. * b0) * powr<-1>(-1. + c) * powr<13>(x));
344 return (x + 0.5 * powr<2>(x) + 0.3333333333333333 * powr<3>(x) + 0.25 * powr<4>(x) + 0.2 * powr<5>(x) +
345 0.16666666666666666 * powr<6>(x) + 0.14285714285714285 * powr<7>(x) + (0.125 + b0) * powr<8>(x) +
392 return ((1. + b0 * powr<2>(x) + 0.06666666666666667 * (3. + 5. * b0) * powr<-1>(-1. + c) * powr<4>(x)) *
399 powr<-2>(1. + b0 * powr<2>(x) + 0.06666666666666667 * (3. + 5. * b0) * powr<-1>(-1. + c) * powr<4>(x));
401 return ((1. + b0 * powr<3>(x) + 0.16666666666666666 * (1. + 2. * b0) * powr<-1>(-1. + c) * powr<5>(x)) *
408 powr<-2>(1. + b0 * powr<3>(x) + 0.16666666666666666 * (1. + 2. * b0) * powr<-1>(-1. + c) * powr<5>(x));
410 return ((1. + b0 * powr<3>(x) + 0.03571428571428571 * (4. + 7. * b0) * powr<-1>(-1. + c) * powr<6>(x)) *
413 1. * (3. * b0 * powr<2>(x) + 0.21428571428571427 * (4. + 7. * b0) * powr<-1>(-1. + c) * powr<5>(x)) *
417 powr<-2>(1. + b0 * powr<3>(x) + 0.03571428571428571 * (4. + 7. * b0) * powr<-1>(-1. + c) * powr<6>(x));
421 (1. + 2.3333333333333335 * b0) * powr<6>(x) + (c + 2. * b0 * c) * powr<-1>(-1. + c) * powr<7>(x)) -
429 return ((1. + b0 * powr<4>(x) + 0.022222222222222223 * (5. + 9. * b0) * powr<-1>(-1. + c) * powr<8>(x)) *
433 1. * (4. * b0 * powr<3>(x) + 0.17777777777777778 * (5. + 9. * b0) * powr<-1>(-1. + c) * powr<7>(x)) *
438 powr<-2>(1. + b0 * powr<4>(x) + 0.022222222222222223 * (5. + 9. * b0) * powr<-1>(-1. + c) * powr<8>(x));
445 (x + 0.5 * powr<2>(x) + 0.3333333333333333 * powr<3>(x) + 0.25 * powr<4>(x) + 0.2 * powr<5>(x) +
452 return ((1. + b0 * powr<5>(x) + 0.015151515151515152 * (6. + 11. * b0) * powr<-1>(-1. + c) * powr<10>(x)) *
457 1. * (5. * b0 * powr<4>(x) + 0.15151515151515152 * (6. + 11. * b0) * powr<-1>(-1. + c) * powr<9>(x)) *
458 (x + 0.5 * powr<2>(x) + 0.3333333333333333 * powr<3>(x) + 0.25 * powr<4>(x) + 0.2 * powr<5>(x) +
466 return ((1. + b0 * powr<6>(x) + 0.08333333333333333 * (1. + 2. * b0) * powr<-1>(-1. + c) * powr<11>(x)) *
470 1. * (6. * b0 * powr<5>(x) + 0.9166666666666666 * (1. + 2. * b0) * powr<-1>(-1. + c) * powr<10>(x)) *
471 (x + 0.5 * powr<2>(x) + 0.3333333333333333 * powr<3>(x) + 0.25 * powr<4>(x) + 0.2 * powr<5>(x) +
476 powr<-2>(1. + b0 * powr<6>(x) + 0.08333333333333333 * (1. + 2. * b0) * powr<-1>(-1. + c) * powr<11>(x));
478 return ((1. + b0 * powr<6>(x) + 0.01098901098901099 * (7. + 13. * b0) * powr<-1>(-1. + c) * powr<12>(x)) *
483 1. * (6. * b0 * powr<5>(x) + 0.13186813186813187 * (7. + 13. * b0) * powr<-1>(-1. + c) * powr<11>(x)) *
484 (x + 0.5 * powr<2>(x) + 0.3333333333333333 * powr<3>(x) + 0.25 * powr<4>(x) + 0.2 * powr<5>(x) +
490 powr<-2>(1. + b0 * powr<6>(x) + 0.01098901098901099 * (7. + 13. * b0) * powr<-1>(-1. + c) * powr<12>(x));
492 return ((1. + b0 * powr<7>(x) + 0.07142857142857142 * (1. + 2. * b0) * powr<-1>(-1. + c) * powr<13>(x)) *
498 1. * (7. * b0 * powr<6>(x) + 0.9285714285714286 * (1. + 2. * b0) * powr<-1>(-1. + c) * powr<12>(x)) *
499 (x + 0.5 * powr<2>(x) + 0.3333333333333333 * powr<3>(x) + 0.25 * powr<4>(x) + 0.2 * powr<5>(x) +
500 0.16666666666666666 * powr<6>(x) + 0.14285714285714285 * powr<7>(x) + (0.125 + b0) * powr<8>(x) +
507 powr<-2>(1. + b0 * powr<7>(x) + 0.07142857142857142 * (1. + 2. * b0) * powr<-1>(-1. + c) * powr<13>(x));
509 return ((1. + b0 * powr<7>(x) + 0.008333333333333333 * (8. + 15. * b0) * powr<-1>(-1. + c) * powr<14>(x)) *
515 1. * (7. * b0 * powr<6>(x) + 0.11666666666666667 * (8. + 15. * b0) * powr<-1>(-1. + c) * powr<13>(x)) *
516 (x + 0.5 * powr<2>(x) + 0.3333333333333333 * powr<3>(x) + 0.25 * powr<4>(x) + 0.2 * powr<5>(x) +
517 0.16666666666666666 * powr<6>(x) + 0.14285714285714285 * powr<7>(x) + (0.125 + b0) * powr<8>(x) +
Definition complex_math.hh:10
constexpr KOKKOS_INLINE_FUNCTION NumberType powr(const NumberType x)
A compile-time evaluatable power function for whole number exponents.
Definition math.hh:50
Definition regulators.hh:51
Implements one of the standard exponential regulators, i.e.
Definition regulators.hh:70
static KOKKOS_INLINE_FUNCTION auto dq2RB(const NT1 k2, const NT2 q2)
Definition regulators.hh:79
static KOKKOS_INLINE_FUNCTION auto RB(const NT1 k2, const NT2 q2)
Definition regulators.hh:73
static KOKKOS_INLINE_FUNCTION auto RFdot(const NT1 k2, const NT2 q2)
Definition regulators.hh:112
static KOKKOS_INLINE_FUNCTION auto dq2RF(const NT1 k2, const NT2 q2)
Definition regulators.hh:105
static KOKKOS_INLINE_FUNCTION auto RBdot(const NT1 k2, const NT2 q2)
Definition regulators.hh:89
static KOKKOS_INLINE_FUNCTION auto RF(const NT1 k2, const NT2 q2)
Definition regulators.hh:99
Definition regulators.hh:119
Implements one of the standard exponential regulators, i.e.
Definition regulators.hh:138
static KOKKOS_INLINE_FUNCTION auto dq2RF(const NT1 k2, const NT2 q2)
Definition regulators.hh:172
static KOKKOS_INLINE_FUNCTION auto RB(const NT1 k2, const NT2 q2)
Definition regulators.hh:144
static KOKKOS_INLINE_FUNCTION auto RF(const NT1 k2, const NT2 q2)
Definition regulators.hh:166
static KOKKOS_INLINE_FUNCTION auto dq2RB(const NT1 k2, const NT2 q2)
Definition regulators.hh:151
static KOKKOS_INLINE_FUNCTION auto RFdot(const NT1 k2, const NT2 q2)
Definition regulators.hh:179
static KOKKOS_INLINE_FUNCTION auto RBdot(const NT1 k2, const NT2 q2)
Definition regulators.hh:159
static KOKKOS_INLINE_FUNCTION auto RB(const NT1 k2, const NT2 q2)
Definition regulators.hh:25
static KOKKOS_INLINE_FUNCTION auto RFdot(const NT1 k2, const NT2 q2)
Definition regulators.hh:41
static void dq2RB(const NT1, const NT2)=delete
static KOKKOS_INLINE_FUNCTION auto RBdot(const NT1 k2, const NT2 q2)
Definition regulators.hh:30
static KOKKOS_INLINE_FUNCTION auto RF(const NT1 k2, const NT2 q2)
Definition regulators.hh:35
Definition regulators.hh:595
static KOKKOS_INLINE_FUNCTION auto dq2RF(const NT1 k2, const NT2 q2)
Definition regulators.hh:672
static KOKKOS_INLINE_FUNCTION auto RB(const NT1 k2, const NT2 q2)
Definition regulators.hh:633
static KOKKOS_INLINE_FUNCTION auto get_df(std::integer_sequence< int, c0, c... >, const auto x)
Definition regulators.hh:626
static KOKKOS_INLINE_FUNCTION auto RBdot(const NT1 k2, const NT2 q2)
Definition regulators.hh:641
static KOKKOS_INLINE_FUNCTION auto RFdot(const NT1 k2, const NT2 q2)
Definition regulators.hh:665
static KOKKOS_INLINE_FUNCTION auto RF(const NT1 k2, const NT2 q2)
Definition regulators.hh:659
static KOKKOS_INLINE_FUNCTION auto dq2RB(const NT1 k2, const NT2 q2)
Definition regulators.hh:650
static KOKKOS_INLINE_FUNCTION auto get_f(std::integer_sequence< int, c0, c... >, const auto x)
Definition regulators.hh:617
Definition regulators.hh:235
static KOKKOS_INLINE_FUNCTION auto dq2RF(const NT1 k2, const NT2 q2)
Definition regulators.hh:587
static KOKKOS_INLINE_FUNCTION auto RBdot(const NT1 k2, const NT2 q2)
Definition regulators.hh:557
static KOKKOS_INLINE_FUNCTION auto get_f(const auto x)
Definition regulators.hh:263
static KOKKOS_INLINE_FUNCTION auto RF(const NT1 k2, const NT2 q2)
Definition regulators.hh:575
static KOKKOS_INLINE_FUNCTION auto get_df(const auto x)
Definition regulators.hh:368
static KOKKOS_INLINE_FUNCTION auto dq2RB(const NT1 k2, const NT2 q2)
Definition regulators.hh:566
static KOKKOS_INLINE_FUNCTION auto RB(const NT1 k2, const NT2 q2)
Definition regulators.hh:549
static KOKKOS_INLINE_FUNCTION auto RFdot(const NT1 k2, const NT2 q2)
Definition regulators.hh:581
Definition regulators.hh:186
Implements one of the standard exponential regulators, i.e.
Definition regulators.hh:205
static KOKKOS_INLINE_FUNCTION auto RF(const NT1 k2, const NT2 q2)
Definition regulators.hh:222
static KOKKOS_INLINE_FUNCTION auto RB(const NT1 k2, const NT2 q2)
Definition regulators.hh:208
static KOKKOS_INLINE_FUNCTION auto RBdot(const NT1 k2, const NT2 q2)
Definition regulators.hh:214
static KOKKOS_INLINE_FUNCTION auto RFdot(const NT1 k2, const NT2 q2)
Definition regulators.hh:228
Generated by