aboutsummaryrefslogtreecommitdiff
path: root/Tools/CodeGen
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2011-06-04 12:04:47 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2011-06-04 12:04:47 +0200
commit5e8c1d47bac710e01e2cddd1c9b1e9be01648089 (patch)
tree996338e3c66071629870ce38a31bf1fd10e4fce3 /Tools/CodeGen
parent23ca025ebcae909c230d1b9c57b911b2083552c0 (diff)
KrancTensor.m: Fix messed up merge
Diffstat (limited to 'Tools/CodeGen')
-rw-r--r--Tools/CodeGen/KrancTensor.m12
1 files changed, 10 insertions, 2 deletions
diff --git a/Tools/CodeGen/KrancTensor.m b/Tools/CodeGen/KrancTensor.m
index 204bc60..e9c9876 100644
--- a/Tools/CodeGen/KrancTensor.m
+++ b/Tools/CodeGen/KrancTensor.m
@@ -26,6 +26,7 @@
If[!ValueQ[$KrancTensorPackage], $KrancTensorPackage = "TensorToolsKranc`"];
BeginPackage["KrancTensor`", {"Errors`", "KrancThorn`", "MapLookup`", "KrancGroups`", "Kranc`", $KrancTensorPackage}];
+BeginPackage["KrancTensor`", {"Errors`", "KrancThorn`", "MapLookup`", "KrancGroups`", "Kranc`", $KrancTensorPackage, "ConservationCalculation`", "TensorTools`"}];
CreateKrancThornTT::usage = "Construct a Kranc thorn using tensor expressions.";
@@ -38,12 +39,14 @@ Begin["`Private`"];
-------------------------------------------------------------------------- *)
CreateKrancThornTT[groups_, parentDirectory_, thornName_, opts___] :=
- Module[{calcs, expCalcs, expGroups, options, derivs, expDerivs, reflectionSymmetries, declaredGroups},
+ Module[{calcs, expCalcs, expGroups, options, derivs, expDerivs, reflectionSymmetries, declaredGroups, consCalcs, expConsCalcs},
InfoMessage[Terse, "Processing tensorial arguments"];
calcs = lookup[{opts}, Calculations];
+ consCalcs = lookupDefault[{opts}, ConservationCalculations, {}];
derivs = lookupDefault[{opts}, PartialDerivatives, {}];
Map[CheckCalculationTensors, calcs];
expCalcs = Map[makeCalculationExplicit, calcs];
+ expConsCalcs = Map[makeCalculationExplicit, consCalcs];
InfoMessage[Info, "Group definitions:", groups];
VerifyGroups[groups];
@@ -51,6 +54,8 @@ CreateKrancThornTT[groups_, parentDirectory_, thornName_, opts___] :=
expDerivs = Flatten[Map[ExpandComponents,derivs],1];
expGroups = Map[makeGroupExplicit, groups];
options = Join[DeleteCases[{opts}, Calculations -> _], {Calculations -> expCalcs}];
+ options = Join[DeleteCases[options, ConservationCalculations -> _],
+ {ConservationCalculations -> expConsCalcs}];
options = Join[DeleteCases[options, PartialDerivatives -> _], {PartialDerivatives -> expDerivs}];
declaredGroups = lookupDefault[{opts}, DeclaredGroups, {}];
@@ -77,7 +82,10 @@ makeCalculationExplicit[calc_] :=
mapValueMapMultiple[calc,
{Shorthands -> ExpandComponents,
CollectList -> ExpandComponents,
- Equations -> ExpandComponents}];
+ Equations -> ExpandComponents,
+ PrimitiveEquations -> MakeExplicit,
+ ConservedEquations -> MakeExplicit,
+ Primitives -> MakeExplicit}];
makeGroupExplicit[g_] :=
Module[{variables, newVariables, newGroup},