aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2013-09-09 18:17:42 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2013-09-09 18:17:42 +0200
commitc0c64dff720d7090195db1acf713c3d43fe00cb8 (patch)
tree8dfec5ccd2ebf443160b0b52b76e2c06387f88b0
parent9a4f1d8278fa201c374edf4d15a1c89512b485a1 (diff)
KrancGroups.m: Move evolvedGroupToRHSGroup to MoL.m and capitalise
-rw-r--r--Tools/CodeGen/KrancGroups.m20
-rw-r--r--Tools/CodeGen/KrancThorn.m4
-rw-r--r--Tools/CodeGen/MoL.m18
3 files changed, 20 insertions, 22 deletions
diff --git a/Tools/CodeGen/KrancGroups.m b/Tools/CodeGen/KrancGroups.m
index 51dd224..f1ee2ea 100644
--- a/Tools/CodeGen/KrancGroups.m
+++ b/Tools/CodeGen/KrancGroups.m
@@ -29,9 +29,7 @@ BeginPackage["KrancGroups`",
CreateGroup;
groupsFromGFs::usage = "";
-addrhs::usage = "";
variablesInGroup::usage = "";
-evolvedGroupToRHSGroup::usage = "";
variablesFromGroups::usage = "";
groupFromName::usage = "";
groupName::usage = "";
@@ -158,27 +156,9 @@ groupsFromGFs[groups_, GFs_] := Module[{inter, check},
renameGroup[g_, newName_] :=
SetGroupName[g, newName];
-addrhs[x_] := ToString[x] <> "rhs";
-
variablesInGroup[name_, groups_] :=
groupVariables[groupFromName[name, groups]];
-
-evolvedGroupToRHSGroup[name_, groups_] :=
- Module[{names, group},
- names = Map[groupName, groups];
- If[!MemberQ[names, name], ThrowError["evolvedGroupToRHSGroup: Group \"" <> groupName <> "\" not found in groups structure:", groups]];
-
- group = First[Select[groups, groupName[#] === name &]];
-
- oldVars = groupVariables[group];
- newVars = Map[Symbol[addrhs[ToString[#]]] &, oldVars];
-
- group = SetGroupName[group, addrhs[name]];
- group = SetGroupVariables[group, newVars];
- group = AddGroupTag[group, "Prolongation" -> "None"];
- Return[group]];
-
variablesFromGroups[groupNames_, groups_] :=
Flatten[Map[variablesInGroup[#, groups] &, groupNames], 1];
diff --git a/Tools/CodeGen/KrancThorn.m b/Tools/CodeGen/KrancThorn.m
index bb58eb2..f67906f 100644
--- a/Tools/CodeGen/KrancThorn.m
+++ b/Tools/CodeGen/KrancThorn.m
@@ -177,11 +177,11 @@ CreateKrancThorn[groupsOrig_, parentDirectory_, thornName_, opts:OptionsPattern[
(* Add the RHS groups *)
evolvedGroupDefinitions = Map[groupFromName[#, groups] &, evolvedGroups];
- rhsGroupDefinitions = Map[evolvedGroupToRHSGroup[#, evolvedGroupDefinitions] &, evolvedGroups];
+ rhsGroupDefinitions = Map[EvolvedGroupToRHSGroup[#, evolvedGroupDefinitions] &, evolvedGroups];
groups = Join[groups, rhsGroupDefinitions];
evolvedODEGroupDefinitions = Map[groupFromName[#, groups] &, evolvedODEGroups];
- rhsODEGroupDefinitions = Map[evolvedGroupToRHSGroup[#, evolvedODEGroupDefinitions] &, evolvedODEGroups];
+ rhsODEGroupDefinitions = Map[EvolvedGroupToRHSGroup[#, evolvedODEGroupDefinitions] &, evolvedODEGroups];
groups = Join[groups, rhsODEGroupDefinitions];
(* Add the groups into the calcs *)
diff --git a/Tools/CodeGen/MoL.m b/Tools/CodeGen/MoL.m
index 8480680..76acd90 100644
--- a/Tools/CodeGen/MoL.m
+++ b/Tools/CodeGen/MoL.m
@@ -30,6 +30,7 @@ MoLReplaceDots;
EvolvedVariables;
MoLEvolvedGroups;
MoLNonevolvedGroups;
+EvolvedGroupToRHSGroup::usage = "";
Begin["`Private`"];
@@ -544,6 +545,23 @@ DefFn[MoLNonevolvedGroups[declaredGroups_, calcs_, groups_] :=
Return[nonevolvedGroups]]];
+addrhs[x_] := ToString[x] <> "rhs";
+
+EvolvedGroupToRHSGroup[name_, groups_] :=
+ Module[{names, group},
+ names = Map[groupName, groups];
+ If[!MemberQ[names, name], ThrowError["evolvedGroupToRHSGroup: Group \"" <> groupName <> "\" not found in groups structure:", groups]];
+
+ group = First[Select[groups, groupName[#] === name &]];
+
+ oldVars = groupVariables[group];
+ newVars = Map[Symbol[addrhs[ToString[#]]] &, oldVars];
+
+ group = SetGroupName[group, addrhs[name]];
+ group = SetGroupVariables[group, newVars];
+ group = AddGroupTag[group, "Prolongation" -> "None"];
+ Return[group]];
+
End[];
EndPackage[];