diff options
author | Ian Hinder <ian.hinder@aei.mpg.de> | 2013-09-09 18:17:42 +0200 |
---|---|---|
committer | Ian Hinder <ian.hinder@aei.mpg.de> | 2013-09-09 18:17:42 +0200 |
commit | c0c64dff720d7090195db1acf713c3d43fe00cb8 (patch) | |
tree | 8dfec5ccd2ebf443160b0b52b76e2c06387f88b0 /Tools | |
parent | 9a4f1d8278fa201c374edf4d15a1c89512b485a1 (diff) |
KrancGroups.m: Move evolvedGroupToRHSGroup to MoL.m and capitalise
Diffstat (limited to 'Tools')
-rw-r--r-- | Tools/CodeGen/KrancGroups.m | 20 | ||||
-rw-r--r-- | Tools/CodeGen/KrancThorn.m | 4 | ||||
-rw-r--r-- | Tools/CodeGen/MoL.m | 18 |
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[]; |