aboutsummaryrefslogtreecommitdiff
path: root/Tools/CodeGen/ConservationCalculation.m
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2011-06-03 18:11:41 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2011-06-03 18:11:41 +0200
commit763e38daee0f8808d1497e78e75a91fe8dfd3fc7 (patch)
tree64e14e522f195c556ffe6f9e1a5dedc8ed921fa4 /Tools/CodeGen/ConservationCalculation.m
parent3e6f454f556bb811148fffb66a69e90e5000b9ea (diff)
Temporary commit
Diffstat (limited to 'Tools/CodeGen/ConservationCalculation.m')
-rw-r--r--Tools/CodeGen/ConservationCalculation.m39
1 files changed, 23 insertions, 16 deletions
diff --git a/Tools/CodeGen/ConservationCalculation.m b/Tools/CodeGen/ConservationCalculation.m
index fc7af04..9e5ac3f 100644
--- a/Tools/CodeGen/ConservationCalculation.m
+++ b/Tools/CodeGen/ConservationCalculation.m
@@ -89,23 +89,27 @@ consVars[calc_] :=
(* Return the list of variables to reconstruct in a calculation *)
primitiveVars[calc_] :=
- Module[{allGFs, calcSyms, gfsUsed, conserved, primitive},
- allGFs = allGroupVariables[lookup[calc, Groups]];
- calcSyms = calculationSymbols[calc];
- gfsUsed = Intersection[allGFs, calcSyms];
- conserved = consVars[calc];
- primitive = Complement[gfsUsed, conserved];
- primitive];
+ lookup[calc, Primitives];
+
+ (* Module[{allGFs, calcSyms, gfsUsed, conserved, primitive}, *)
+ (* allGFs = allGroupVariables[lookup[calc, Groups]]; *)
+ (* calcSyms = calculationSymbols[calc]; *)
+ (* gfsUsed = Intersection[allGFs, calcSyms]; *)
+ (* conserved = consVars[calc]; *)
+ (* primitive = Complement[gfsUsed, conserved]; *)
+ (* primitive]; *)
(* Return the variables for which Left and Right GFs need to be created *)
lrGFs[calc_] :=
- Module[{allGFs, calcSyms, gfsUsed, conserved, primitive},
- allGFs = allGroupVariables[lookup[calc, Groups]];
- calcSyms = calculationSymbols[calc];
- gfsUsed = Intersection[allGFs, calcSyms];
- conserved = consVars[calc];
- primitive = Complement[gfsUsed, conserved];
- Join[primitive, conserved]];
+ Join[primitiveVars[calc], consVars[calc]];
+
+ (* Module[{allGFs, calcSyms, gfsUsed, conserved, primitive}, *)
+ (* allGFs = allGroupVariables[lookup[calc, Groups]]; *)
+ (* calcSyms = calculationSymbols[calc]; *)
+ (* gfsUsed = Intersection[allGFs, calcSyms]; *)
+ (* conserved = consVars[calc]; *)
+ (* primitive = Complement[gfsUsed, conserved]; *)
+ (* Join[primitive, conserved]]; *)
reconstructCalc[calc_, i_] :=
{
@@ -162,14 +166,16 @@ primitivesCalc[calc_, thornName_] :=
{
Name -> lookup[calc, Name] <> "_primitives",
Schedule -> {"in MoL_PostStep after " <> thornName <>"_ApplyBCs"},
- Equations -> lookup[calc, PrimitiveEquations]
+ Equations -> lookup[calc, PrimitiveEquations],
+ Shorthands -> lookup[calc, Shorthands]
};
conservedCalc[calc_] :=
{
Name -> lookup[calc, Name] <> "_conserved",
Schedule -> {"at POSTINITIAL"},
- Equations -> lookup[calc, ConservedEquations]
+ Equations -> lookup[calc, ConservedEquations],
+ Shorthands -> lookup[calc, Shorthands]
};
conservedIntercellCalc[calc_, i_] :=
@@ -177,6 +183,7 @@ conservedIntercellCalc[calc_, i_] :=
Name -> lookup[calc, Name] <> "_intercell_conserved_" <> ToString[i],
Schedule -> {"in MoL_CalcRHS after " <> lookup[calc, Name] <> "_reconstruct_" <> ToString[i]},
+ Shorthands -> lookup[calc, Shorthands],
Equations ->
Module[{vars = Join[primitiveVars[calc], consVars[calc]]},
Join[lookup[calc, ConservedEquations] /. (Map[# -> leftSymbol[#] &, vars]),