aboutsummaryrefslogtreecommitdiff
path: root/Tools/CodeGen/Differencing.m
Commit message (Collapse)AuthorAge
* Convert index expressions explicitly to int for stencils that depend on ↵Erik Schnetter2009-04-28
| | | | local variables. Intel 11 does not automatically perform this conversion.
* Use cctk_lssh instead of cctk_lsh when calculating grid function extents. ↵Erik Schnetter2009-04-27
| | | | | | | | | | | | This will allow future optimisations with cache-aligned memory allocations. Correct an error in declaring local variables for partial derivatives. Don't register constrained variables, which is in general not necessary but which can use much memory. Register symmetries in the schedule group SymmetryRegister instad of at basegrid.
* Differencing.m: Added StandardUpwindDifferenceOperator (Peter Diener)Ian Hinder2009-04-26
|
* Erik's addition of () around macro argumentIan Hinder2008-02-01
|
* Erik's addition of more debugging codeIan Hinder2008-02-01
|
* Erik's fix of optimizer bug - should not have affected anythingIan Hinder2008-02-01
|
* Erik's addition of a comment before declaring derivativesIan Hinder2008-02-01
|
* Erik's cosmetic changesIan Hinder2008-02-01
|
* Corrected bug in optimization of finite differencing stencils.ianhin2007-11-16
| | | | | | Previous version would introduce a sign error in some cases. In practice, this bug affected only the second order second derivative, and the first order one sided derivative.
* Finite differencing expressions optimized by precalculating multiplesianhin2006-11-14
| | | | | | | | | | | | | | | | | | | | | | | and divisions of grid spacing. CreateDifferencingHeader returns a list of 'pre-definitions' which are then computed outside the equation loop by CalculationFunction. AKA "why can't my compiler do such a simple optimization?" Partial derivatives are now assumed to commute, so occurrences of PD[f,2,1] are replaced in the equations by PD[f,1,2]. The unused ones are automatically not computed, as before. I wish that this had made a noticeable speed improvement (would have been big), but the compiler must have been intelligent enough to see these. Added khalf, kthird, ktwothird, kfourthird, keightthird computed outside the loop. What compiler on earth would not see these optimizations?? Factor out common expressions i.e. xx_ y_ + xx_ z_ -> xx(y+z). Intel, I have lost all respect for you. Remove RegularExpression from schedule matching, as it is not supported in Mathematica 4. Replaced with a simple StringMatchQ.
* Added some support for SummationbyParts derivative operators.ianhin2006-09-07
|
* Improve error handling slightlyianhin2006-06-19
|
* Added option to not precompute certain derivatives. Allowed moreianhin2006-02-23
| | | | | | types of differencing operators; specifically those that have indices calculated based on shorthands. (This change was just in the type of expressions which would be rendered into the header file correctly.)
* Made a function public for finding derivatives in an expressionianhin2005-08-26
| | | | Removed a large chunk of redundant code
* extend macro generation to allow for Fortran syntax (depending onshusa2005-06-28
| | | | CodeGen`SOURCELANGUAGE)
* Added brackets around macro definitions of difference operators.ianhin2004-11-16
| | | | Removed several unused functions.
* Added support for doing other than 3D runs by tweaking differenceianhin2004-08-11
| | | | | operators so that they are automatically zero in the trivial directions.
* Added error checking on the form of the derivative operator.ianhin2004-07-08
| | | | Fixed some bugs.
* Added function to derive standard centered difference operatorsianhin2004-07-07
|
* Second try at custom differencing operators. Much more general now.ianhin2004-07-07
| | | | | | Can have derivative operators which take any number of indices (including 0). Much easier to specify derivative operators than before.
* Added commentsianhin2004-07-07
|
* Initial versionianhin2004-07-07