aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2013-09-09 13:01:38 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2013-09-09 13:01:38 +0200
commitc6023379525bbefc5bcd29595c44e28aa708a17e (patch)
tree3105c909ddf642e9b2d7a766787f8a1cb8a310ef
parent1ed265917868591e54f52a93fc3d252a7750ac4d (diff)
KrancThorn.m: Move MoL-specific functions to MoL.m
-rw-r--r--Tools/CodeGen/KrancThorn.m32
-rw-r--r--Tools/CodeGen/MoL.m34
2 files changed, 33 insertions, 33 deletions
diff --git a/Tools/CodeGen/KrancThorn.m b/Tools/CodeGen/KrancThorn.m
index 36e9c18..8d6f37b 100644
--- a/Tools/CodeGen/KrancThorn.m
+++ b/Tools/CodeGen/KrancThorn.m
@@ -277,7 +277,7 @@ CreateKrancThorn[groupsOrig_, parentDirectory_, thornName_, opts:OptionsPattern[
even if it does not evolve any variables). This could be fixed
later. *)
InfoMessage[Terse, "Creating MoL registration file"];
- molregister = createKrancMoLRegister[evolvedGroups, nonevolvedGroups, evolvedODEGroups, nonevolvedODEGroups, groups, implementation, thornName];
+ molregister = CreateKrancMoLRegister[evolvedGroups, nonevolvedGroups, evolvedODEGroups, nonevolvedODEGroups, groups, implementation, thornName];
Module[{allGFs = Join[variablesFromGroups[evolvedGroups, groups],
variablesFromGroups[nonevolvedGroups, groups]]},
@@ -378,35 +378,5 @@ extractNonevolvedGroups[declaredGroups_, calcs_, groups_] :=
Return[nonevolvedGroups]];
-(* FIXME: This is still not quite right. We only want to have those variables that
- we set as constrained, but I don't think this can hurt.*)
-
-getConstrainedVariables[evolvedGroupNames_, groups_] :=
- Module[{evolvedGFs, allVariables, constrainedVariables},
- evolvedGFs = variablesFromGroups[evolvedGroupNames, groups];
- allVariables = Flatten[Map[groupVariables, groups],1];
- constrainedVariables = Complement[allVariables, Join[evolvedGFs, Map[Symbol[addrhs[#]] &, evolvedGFs]]];
- constrainedVariables];
-
-createKrancMoLRegister[evolvedGroupNames_, nonevolvedGroupNames_, evolvedODEGroupNames_, nonevolvedODEGroupNames_, groups_, implementation_, thornName_] :=
- Module[{molspec, evolvedGFs, evolvedArrays, constrainedVariables},
- evolvedGFs = variablesFromGroups[evolvedGroupNames, groups];
- evolvedArrays = variablesFromGroups[evolvedODEGroupNames, groups];
- nonevolvedGFs = variablesFromGroups[nonevolvedGroupNames, groups];
- nonevolvedArrays = variablesFromGroups[nonevolvedGroupNames, groups];
-
- constrainedVariables = getConstrainedVariables[evolvedGroupNames, groups];
-
- molspec =
- {
- EvolvedGFs -> Map[qualifyGFName[#, groups, implementation]& , evolvedGFs],
- EvolvedArrays -> Map[qualifyGFName[#, groups, implementation]& , evolvedArrays],
- PrimitiveGFs -> Map[qualifyGFName[#, groups, implementation]& , constrainedVariables],
- BaseImplementation -> implementation,
- ThornName -> thornName
- };
- molregister = CreateMoLRegistrationSource[molspec, False];
- Return[molregister]];
-
End[];
EndPackage[];
diff --git a/Tools/CodeGen/MoL.m b/Tools/CodeGen/MoL.m
index 091bfad..1c35f63 100644
--- a/Tools/CodeGen/MoL.m
+++ b/Tools/CodeGen/MoL.m
@@ -23,7 +23,7 @@ BeginPackage[
{"Errors`", "Helpers`", "Kranc`", "CodeGenKranc`", "MapLookup`", "CodeGenCactus`",
"CodeGen`", "CodeGenC`", "KrancGroups`"}];
-CreateMoLRegistrationSource::usage = "";
+CreateKrancMoLRegister;
CreateMoLBoundariesSource::usage = "";
CreateMoLExcisionSource::usage = "";
@@ -33,13 +33,43 @@ Begin["`Private`"];
MoL Registration
------------------------------------------------------------------------ *)
+(* FIXME: This is still not quite right. We only want to have those variables that
+ we set as constrained, but I don't think this can hurt.*)
+
+getConstrainedVariables[evolvedGroupNames_, groups_] :=
+ Module[{evolvedGFs, allVariables, constrainedVariables},
+ evolvedGFs = variablesFromGroups[evolvedGroupNames, groups];
+ allVariables = Flatten[Map[groupVariables, groups],1];
+ constrainedVariables = Complement[allVariables, Join[evolvedGFs, Map[Symbol[addrhs[#]] &, evolvedGFs]]];
+ constrainedVariables];
+
+CreateKrancMoLRegister[evolvedGroupNames_, nonevolvedGroupNames_, evolvedODEGroupNames_, nonevolvedODEGroupNames_, groups_, implementation_, thornName_] :=
+ Module[{molspec, evolvedGFs, evolvedArrays, constrainedVariables},
+ evolvedGFs = variablesFromGroups[evolvedGroupNames, groups];
+ evolvedArrays = variablesFromGroups[evolvedODEGroupNames, groups];
+ nonevolvedGFs = variablesFromGroups[nonevolvedGroupNames, groups];
+ nonevolvedArrays = variablesFromGroups[nonevolvedGroupNames, groups];
+
+ constrainedVariables = getConstrainedVariables[evolvedGroupNames, groups];
+
+ molspec =
+ {
+ EvolvedGFs -> Map[qualifyGFName[#, groups, implementation]& , evolvedGFs],
+ EvolvedArrays -> Map[qualifyGFName[#, groups, implementation]& , evolvedArrays],
+ PrimitiveGFs -> Map[qualifyGFName[#, groups, implementation]& , constrainedVariables],
+ BaseImplementation -> implementation,
+ ThornName -> thornName
+ };
+ molregister = createMoLRegistrationSource[molspec, False];
+ Return[molregister]];
+
(* MoL registration = {EvolvedGFs -> {h11, ...}, PrimitiveGFs -> {trK, ...},
BaseImplementation -> "ADMBase", ThornName -> "ADMMoL"} *)
(* Given a MoL registration structure as defined above, return a
CodeGen structure of a source file which will register the
variables given with MoL. *)
-CreateMoLRegistrationSource[spec_, debug_] :=
+createMoLRegistrationSource[spec_, debug_] :=
Module[{tmp, lang},