NoU1Mixing Bug

Report the bugs you found
Post Reply
JPEllis
Posts: 71
Joined: 28. Apr 2016, 10:34

NoU1Mixing Bug

Post by JPEllis » 30. Apr 2016, 08:15

There appears to be a bug in the (undocumented) NoU1Mixing model variable for non-SUSY models (at least, as far as I can tell).

The bug can be reproduced by taking the SM model file, adding

Code: Select all

NoU1Mixing=True;
to SM.m and generating the RGEs. Adding this parameter should have no effect since there is only a single U(1), but the running of the hypercharge coupling is actually constant.

Code: Select all

<< SARAH`;
Start["SM"];
CalcRGEs[];
Module[{init, keys, rgeSols, plt},
  init = {g1 -> 0.45, g2 -> 0.63, g3 -> 1.04};
  keys = Keys[init];
  rgeSols = RunRGEs[init, 3, 20];
  plt = Plot[Evaluate[#[t] & /@ keys /. rgeSols], {t, 3, 20}, 
    PlotLegends -> keys];
  Export["RGE.png", plt, ImageSize -> 2000];
  plt
]
Image
This was generated with:

Code: Select all

Mathematica: 10.4.0 for Linux x86 (64-bit) (February 26, 2016)
SARAH: 4.8.5
I tried this also with the MSSM model, but that seems to work fine both with and without U1 mixing enabled.
Joshua Ellis jpellis.me

FStaub
Site Admin
Posts: 822
Joined: 13. Apr 2016, 14:05

Re: NoU1Mixing Bug

Post by FStaub » 3. May 2016, 16:20

The patch is attached.
Florian
Attachments
nonSUSYrges.m
(64.46 KiB) Downloaded 178 times

JPEllis
Posts: 71
Joined: 28. Apr 2016, 10:34

Re: NoU1Mixing Bug

Post by JPEllis » 3. May 2016, 16:55

Awesome! Thanks for the fix.

I just generated diff (which is easier to apply, and can work for multiple versions of SARAH) is:

Code: Select all

--- a/SARAH-4.8.5/Package/RGEs/nonSUSYrges.m
+++ b/SARAH-4.8.5/Package/RGEs/nonSUSYrges.m
@@ -592,7 +592,7 @@ If[i===j,
 SA`gCoup[i,j]=Gauge[[i,4]];,
 SA`gCoup[i,j]=0;
 ];,
-If[Gauge[[j,2]]=!=U[1]  || NoU1Mixing===True,
+If[Gauge[[j,2]]=!=U[1]  || (NoU1Mixing===True && i!=j),
 SA`gCoup[i,j]=0;,
 If[i===j,
 SA`gCoup[i,j]=Gauge[[i,4]];,
@@ -1062,7 +1062,6 @@ UseSymmASymm=False;
 
 
 GetNonZeroEntriesNS[term_,type_,fields_]:=Block[{sub={},pos,i,j,fac=1,epsilons, deltas, indnr,coup,coup2,searchedcoup,indtab,Found},
-Print[term,type,fields];
 Switch[type,
 LIJKL,
    coup=Lijkl[fields[[1]]/.subGC[1],fields[[2]]/.subGC[2],fields[[3]]/.subGC[3],fields[[4]]/.subGC[4] ];
Joshua Ellis jpellis.me

Post Reply