aboutsummaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2012-04-13 03:57:09 +0100
committerIan Hinder <ian.hinder@aei.mpg.de>2012-04-13 03:57:49 +0100
commitbba4d88b2179a2a748aa878c8e9ce2a034e12d1f (patch)
tree9d5e16006626ef1dd9c41d258c007ac7fab2693c /Tools
parentf93e3e96485903060c7e921a60f851a8fdf44d0b (diff)
Calculation.m: Merge f_i and f_ii derivatives into the same kernels since they use the same grid points
Diffstat (limited to 'Tools')
-rw-r--r--Tools/CodeGen/Calculation.m8
1 files changed, 5 insertions, 3 deletions
diff --git a/Tools/CodeGen/Calculation.m b/Tools/CodeGen/Calculation.m
index aacc279..851fa0f 100644
--- a/Tools/CodeGen/Calculation.m
+++ b/Tools/CodeGen/Calculation.m
@@ -189,18 +189,20 @@ separateDerivativesInCalculation[calc_] :=
sepDerivs = Flatten[Map[Cases[derivs, #] &, sepPat],1];
- (* sepDerivs = GatherBy[sepDerivs, Function[d, d /. {pd_[var_, i_] -> pd[var,i], pd_[var_, i_, i_] -> pd[var,i]}]]; *)
+ sepDerivs = GatherBy[sepDerivs, Function[d, d /. {pd_[var_, i_] -> pd[var,i], pd_[var_, i_, i_] -> pd[var,i]}]];
- sepDerivs = Map[List, sepDerivs];
+ (* sepDerivs = Map[List, sepDerivs]; *)
derivCalc[derivs_List] :=
Module[
{calc1, currentGroups, localGroups, derivNames = Map[derivGFName,derivs]},
+ Print["derivs = ", derivs];
+ Print["derivNames = ", derivNames];
calc1 = mapReplace[calc,
Equations,
Thread[derivNames -> derivs]];
calc1 = mapReplace[calc1, Schedule, Map[#<>" before "<>lookup[calc,Name] &, lookup[calc,Schedule]]];
- calc1 = mapReplace[calc1, Name, lookup[calc,Name]<>"_"<>StringJoin[Riffle[derivGFName2/@derivs,"_"]]];
+ calc1 = mapReplace[calc1, Name, StringReplace[lookup[calc,Name]<>"_"<>StringJoin[Riffle[derivGFName2/@derivs,"_"]],"PDstandardNth"->""]];
calc1 = Append[calc1, CachedVariables -> (First/@derivs)];
currentGroups = lookup[calc, LocalGroups, {}];
localGroups = Join[currentGroups, Map[{ToString@#<>"_group", {#}} &, derivNames]];