aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2013-09-09 18:10:40 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2013-09-09 18:10:40 +0200
commit9a4f1d8278fa201c374edf4d15a1c89512b485a1 (patch)
treeb3e17036513b5368e9bc32187ff0282fe44c975e
parentf6fa55eecc96f923a2a620cb844284bf0482adf4 (diff)
KrancThorn.m: Move evolved/nonevolved group functions into MoL.m and rename
-rw-r--r--Tools/CodeGen/KrancThorn.m39
-rw-r--r--Tools/CodeGen/MoL.m28
2 files changed, 32 insertions, 35 deletions
diff --git a/Tools/CodeGen/KrancThorn.m b/Tools/CodeGen/KrancThorn.m
index f07ce08..bb58eb2 100644
--- a/Tools/CodeGen/KrancThorn.m
+++ b/Tools/CodeGen/KrancThorn.m
@@ -166,11 +166,11 @@ CreateKrancThorn[groupsOrig_, parentDirectory_, thornName_, opts:OptionsPattern[
declaredGroups = DeleteDuplicates[Join[declaredGroups, Flatten[Map[Map[groupName,lookup[#,LocalGroups,{}]] &, calcs],1]]];
(* Get the different types of group *)
- evolvedGroups = extractEvolvedGroups[declaredGroups, calcs, groups];
- nonevolvedGroups = extractNonevolvedGroups[declaredGroups, calcs, groups];
+ evolvedGroups = MoLEvolvedGroups[declaredGroups, calcs, groups];
+ nonevolvedGroups = MoLNonevolvedGroups[declaredGroups, calcs, groups];
- evolvedODEGroups = extractEvolvedGroups[odeGroups, calcs, groups];
- nonevolvedODEGroups = extractNonevolvedGroups[odeGroups, calcs, groups];
+ evolvedODEGroups = MoLEvolvedGroups[odeGroups, calcs, groups];
+ nonevolvedODEGroups = MoLNonevolvedGroups[odeGroups, calcs, groups];
(* Replace the dots in the calculation *)
calcs = MoLReplaceDots[calcs];
@@ -315,36 +315,5 @@ CreateKrancThorn[groupsOrig_, parentDirectory_, thornName_, opts:OptionsPattern[
InfoMessage[Terse, "Creating thorn"];
CreateThorn[thornspec]];
-(* --------------------------------------------------------------------------
- Functions related to calculations
- -------------------------------------------------------------------------- *)
-
-
-extractEvolvedGroups[declaredGroups_, calcs_, groups_] :=
- Module[{evolvedVars, evolvedGroups},
- VerifyGroupNames[declaredGroups];
- VerifyGroups[groups];
- VerifyList[calcs];
- Map[VerifyNewCalculation, calcs];
- allVars = variablesFromGroups[declaredGroups, groups];
- evolvedVars = Apply[Join, Map[EvolvedVariables, calcs]];
- evolvedVars = Intersection[allVars, evolvedVars];
- evolvedGroups = containingGroups[evolvedVars, groups];
- Return[evolvedGroups]];
-
-extractNonevolvedGroups[declaredGroups_, calcs_, groups_] :=
- Module[{allVars, evolvedVars, evolvedGroups, nonevolvedGroups},
- VerifyGroupNames[declaredGroups];
- VerifyGroups[groups];
- VerifyList[calcs];
- Map[VerifyNewCalculation, calcs];
-
- allVars = variablesFromGroups[declaredGroups, groups];
- evolvedVars = Apply[Join, Map[EvolvedVariables, calcs]];
- evolvedGroups = containingGroups[evolvedVars, groups];
- nonevolvedGroups = Complement[declaredGroups, evolvedGroups];
-
- Return[nonevolvedGroups]];
-
End[];
EndPackage[];
diff --git a/Tools/CodeGen/MoL.m b/Tools/CodeGen/MoL.m
index caca9b8..8480680 100644
--- a/Tools/CodeGen/MoL.m
+++ b/Tools/CodeGen/MoL.m
@@ -28,6 +28,8 @@ CreateMoLBoundariesSource::usage = "";
CreateMoLExcisionSource::usage = "";
MoLReplaceDots;
EvolvedVariables;
+MoLEvolvedGroups;
+MoLNonevolvedGroups;
Begin["`Private`"];
@@ -516,6 +518,32 @@ EvolvedVariables[calc_] :=
evolved = Cases[lhss, dot[v_] -> v];
Return[evolved]];
+DefFn[MoLEvolvedGroups[declaredGroups_, calcs_, groups_] :=
+ Module[{evolvedVars, evolvedGroups},
+ VerifyGroupNames[declaredGroups];
+ VerifyGroups[groups];
+ VerifyList[calcs];
+ Map[VerifyNewCalculation, calcs];
+ allVars = variablesFromGroups[declaredGroups, groups];
+ evolvedVars = Apply[Join, Map[EvolvedVariables, calcs]];
+ evolvedVars = Intersection[allVars, evolvedVars];
+ evolvedGroups = containingGroups[evolvedVars, groups];
+ Return[evolvedGroups]]];
+
+DefFn[MoLNonevolvedGroups[declaredGroups_, calcs_, groups_] :=
+ Module[{allVars, evolvedVars, evolvedGroups, nonevolvedGroups},
+ VerifyGroupNames[declaredGroups];
+ VerifyGroups[groups];
+ VerifyList[calcs];
+ Map[VerifyNewCalculation, calcs];
+
+ allVars = variablesFromGroups[declaredGroups, groups];
+ evolvedVars = Apply[Join, Map[EvolvedVariables, calcs]];
+ evolvedGroups = containingGroups[evolvedVars, groups];
+ nonevolvedGroups = Complement[declaredGroups, evolvedGroups];
+
+ Return[nonevolvedGroups]]];
+
End[];
EndPackage[];