aboutsummaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2012-04-12 15:05:17 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2012-04-12 15:05:17 +0200
commit460b93ea4a2190837205f0c25122e8e163e30c61 (patch)
treeae724794b68bf495f1c4cb3e2c9eff8480374487 /Tools
parent0dfd8882e1ddeccf4647b02c54d1c2de8f679649 (diff)
Calculation.m: Add code to merge derivatives which use the same stencil points (disabled for now)
Diffstat (limited to 'Tools')
-rw-r--r--Tools/CodeGen/Calculation.m9
1 files changed, 7 insertions, 2 deletions
diff --git a/Tools/CodeGen/Calculation.m b/Tools/CodeGen/Calculation.m
index 32ee20d..7d1b1b1 100644
--- a/Tools/CodeGen/Calculation.m
+++ b/Tools/CodeGen/Calculation.m
@@ -186,8 +186,13 @@ separateDerivativesInCalculation[calc_] :=
replaceSymmetric = pd_[var_,i_,j_] /; i > j :> pd[var,j,i];
derivs = DeleteDuplicates[GetDerivatives[calc] /. replaceSymmetric];
- sepDerivs = Map[List,Flatten[Map[Cases[derivs, #] &, sepPat],1]];
-
+
+ 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 = Map[List, sepDerivs];
+
derivCalc[derivs_List] :=
Module[
{calc1, currentGroups, localGroups, derivNames = Map[derivGFName,derivs]},