diff options
author | Ian Hinder <ian.hinder@aei.mpg.de> | 2012-04-12 15:05:17 +0200 |
---|---|---|
committer | Ian Hinder <ian.hinder@aei.mpg.de> | 2012-04-12 15:05:17 +0200 |
commit | 460b93ea4a2190837205f0c25122e8e163e30c61 (patch) | |
tree | ae724794b68bf495f1c4cb3e2c9eff8480374487 /Tools | |
parent | 0dfd8882e1ddeccf4647b02c54d1c2de8f679649 (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.m | 9 |
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]}, |