Skip to content

Commit

Permalink
Separate preparing EWSB equations into a separate function
Browse files Browse the repository at this point in the history
  • Loading branch information
Dylan Harries committed Jan 20, 2017
1 parent 40a4f62 commit 255896d
Showing 1 changed file with 19 additions and 15 deletions.
34 changes: 19 additions & 15 deletions meta/FlexibleSUSY.m
Expand Up @@ -2179,6 +2179,24 @@ corresponding tadpole is real or imaginary (only in models with CP
TreeMasses`SetUnrotatedParticles[nonMixedParticles];
];

PrepareEWSBEquations[indexReplacementRules_] :=
Module[{ewsbEquations},
ewsbEquations = SARAH`TadpoleEquations[FSEigenstates] /.
Parameters`ApplyGUTNormalization[] /.
indexReplacementRules /.
SARAH`sum[idx_, start_, stop_, expr_] :> Sum[expr, {idx,start,stop}];
If[Head[ewsbEquations] =!= List,
Print["Error: Could not find EWSB equations for eigenstates ",
FSEigenstates];
Quit[1];
];
(* filter out trivial EWSB eqs. *)
ewsbEquations = Select[ewsbEquations, (#=!=0)&];
ewsbEquations = Parameters`ExpandExpressions[ewsbEquations];
(* add tadpoles to the EWSB eqs. *)
MapIndexed[#1 - tadpole[First[#2]]&, ewsbEquations]
];

ReadPoleMassPrecisions[defaultPrecision_Symbol, highPrecisionList_List,
mediumPrecisionList_List, lowPrecisionList_List, eigenstates_] :=
Module[{particles, particle, i, precisionList = {}, higgs},
Expand Down Expand Up @@ -2681,15 +2699,7 @@ corresponding tadpole is real or imaginary (only in models with CP
numberOfSusyParameters];

(********************* EWSB *********************)
ewsbEquations = SARAH`TadpoleEquations[FSEigenstates] /.
Parameters`ApplyGUTNormalization[] /.
allIndexReplacementRules /.
SARAH`sum[idx_, start_, stop_, expr_] :> Sum[expr, {idx,start,stop}];
If[Head[ewsbEquations] =!= List,
Print["Error: Could not find EWSB equations for eigenstates ",
FSEigenstates];
Quit[1];
];
ewsbEquations = PrepareEWSBEquations[allIndexReplacementRules];

If[FlexibleSUSY`EWSBInitialGuess =!= {},
FlexibleSUSY`EWSBInitialGuess = EWSB`GetValidEWSBInitialGuesses[FlexibleSUSY`EWSBInitialGuess];
Expand All @@ -2699,17 +2709,11 @@ corresponding tadpole is real or imaginary (only in models with CP
FlexibleSUSY`EWSBSubstitutions = EWSB`GetValidEWSBSubstitutions[FlexibleSUSY`EWSBSubstitutions];
];

(* filter out trivial EWSB eqs. *)
ewsbEquations = Select[ewsbEquations, (#=!=0)&];

If[ewsbEquations =!= {},
ewsbEquations = Parameters`ExpandExpressions[ewsbEquations];
FlexibleSUSY`EWSBOutputParameters = Parameters`DecreaseIndexLiterals[FlexibleSUSY`EWSBOutputParameters];
If[Head[FlexibleSUSY`EWSBSubstitutions] === List && FlexibleSUSY`EWSBSubstitutions =!= {},
FlexibleSUSY`EWSBSubstitutions = FlexibleSUSY`EWSBSubstitutions /. allIndexReplacementRules;
];
(* adding tadpoles to the EWSB eqs. *)
ewsbEquations = MapIndexed[#1 - tadpole[First[#2]]&, ewsbEquations];
treeLevelEwsbSolutionOutputFile = FileNameJoin[{FSOutputDir,
FlexibleSUSY`FSModelName <> "_EWSB_solution.m"}];
treeLevelEwsbEqsOutputFile = FileNameJoin[{FSOutputDir,
Expand Down

0 comments on commit 255896d

Please sign in to comment.