Skip to content

Commit

Permalink
Do not set basis parameters in inner, SUSY iteration
Browse files Browse the repository at this point in the history
  • Loading branch information
Dylan Harries committed Jan 6, 2017
1 parent 0015056 commit b5d2dbd
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 4 deletions.
13 changes: 9 additions & 4 deletions meta/FlexibleSUSY.m
Expand Up @@ -3021,7 +3021,6 @@ corresponding tadpole is real or imaginary (only in models with CP
FlexibleSUSY`SUSYScaleInput,
FlexibleSUSY`HighScaleInput}];
semiAnalyticSolns = SemiAnalytic`GetSemiAnalyticSolutions[semiAnalyticBCs];

Print["Creating classes for convergence testers ..."];
WriteConvergenceTesterClass[Complement[Parameters`GetModelParameters[], SemiAnalytic`GetSemiAnalyticParameters[]],
{{FileNameJoin[{$flexiblesusyTemplateDir, "susy_convergence_tester.hpp.in"}],
Expand All @@ -3042,7 +3041,9 @@ corresponding tadpole is real or imaginary (only in models with CP

Print["Creating class for high-scale constraint ..."];
WriteSemiAnalyticConstraintClass[FlexibleSUSY`HighScale,
Select[FlexibleSUSY`HighScaleInput, !SemiAnalytic`IsSemiAnalyticSetting[#]&],
Select[FlexibleSUSY`HighScaleInput,
(!SemiAnalytic`IsSemiAnalyticSetting[#]
&& !SemiAnalytic`IsBasisParameterSetting[#, semiAnalyticSolns])&],
FlexibleSUSY`HighScaleFirstGuess,
{FlexibleSUSY`HighScaleMinimum, FlexibleSUSY`HighScaleMaximum},
SemiAnalytic`IsSemiAnalyticConstraint[FlexibleSUSY`HighScaleInput],
Expand All @@ -3054,7 +3055,9 @@ corresponding tadpole is real or imaginary (only in models with CP

Print["Creating class for susy-scale constraint ..."];
WriteSemiAnalyticConstraintClass[FlexibleSUSY`SUSYScale,
Select[FlexibleSUSY`SUSYScaleInput, !SemiAnalytic`IsSemiAnalyticSetting[#]&],
Select[FlexibleSUSY`SUSYScaleInput,
(!SemiAnalytic`IsSemiAnalyticSetting[#]
&& !SemiAnalytic`IsBasisParameterSetting[#, semiAnalyticSolns])&],
FlexibleSUSY`SUSYScaleFirstGuess,
{FlexibleSUSY`SUSYScaleMinimum, FlexibleSUSY`SUSYScaleMaximum},
SemiAnalytic`IsSemiAnalyticConstraint[FlexibleSUSY`SUSYScaleInput],
Expand All @@ -3066,7 +3069,9 @@ corresponding tadpole is real or imaginary (only in models with CP

Print["Creating class for low-scale constraint ..."];
WriteSemiAnalyticConstraintClass[FlexibleSUSY`LowScale,
Select[FlexibleSUSY`LowScaleInput, !SemiAnalytic`IsSemiAnalyticSetting[#]&],
Select[FlexibleSUSY`LowScaleInput,
(!SemiAnalytic`IsSemiAnalyticSetting[#]
&& !SemiAnalytic`IsBasisParameterSetting[#, semiAnalyticSolns])&],
FlexibleSUSY`LowScaleFirstGuess,
{FlexibleSUSY`LowScaleMinimum, FlexibleSUSY`LowScaleMaximum},
SemiAnalytic`IsSemiAnalyticConstraint[FlexibleSUSY`LowScaleInput],
Expand Down
10 changes: 10 additions & 0 deletions meta/SemiAnalytic.m
Expand Up @@ -8,6 +8,7 @@

CheckSemiAnalyticBoundaryConditions::usage="";
IsSemiAnalyticSetting::usage="";
IsBasisParameterSetting::usage="";
IsSemiAnalyticConstraint::usage="";
SelectSemiAnalyticConstraint::usage="";

Expand Down Expand Up @@ -118,6 +119,15 @@
Intersection[Constraint`FindFixedParametersFromConstraint[{setting}],
allSemiAnalyticParameters] =!= {};

IsBasisParameterSetting[setting_, solutions_List] :=
Module[{allBasisParameters},
allBasisParameters = Parameters`FindAllParameters[DeleteDuplicates[Flatten[(GetBasis[#]& /@ solutions)]]];
allBasisParameters = DeleteCases[allBasisParameters,
p_ /; (Parameters`IsModelParameter[p] && !IsAllowedSemiAnalyticParameter[p])];
Intersection[Constraint`FindFixedParametersFromConstraint[{setting}],
allBasisParameters] =!= {}
];

RemoveUnusedSettings[constraints_List] := Select[constraints, IsSemiAnalyticSetting];

IsSemiAnalyticConstraint[constraint_] :=
Expand Down

0 comments on commit b5d2dbd

Please sign in to comment.