diff options
author | Ian Hinder <ian.hinder@aei.mpg.de> | 2013-09-09 18:10:40 +0200 |
---|---|---|
committer | Ian Hinder <ian.hinder@aei.mpg.de> | 2013-09-09 18:10:40 +0200 |
commit | 9a4f1d8278fa201c374edf4d15a1c89512b485a1 (patch) | |
tree | b3e17036513b5368e9bc32187ff0282fe44c975e | |
parent | f6fa55eecc96f923a2a620cb844284bf0482adf4 (diff) |
KrancThorn.m: Move evolved/nonevolved group functions into MoL.m and rename
-rw-r--r-- | Tools/CodeGen/KrancThorn.m | 39 | ||||
-rw-r--r-- | Tools/CodeGen/MoL.m | 28 |
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[]; |