aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Calculation.m: Provide a default for UseCaKernel in GetCalculationScheduleNameIan Hinder2012-11-14
|
* EM-xTensor.m: Improve code which loads the Metrics packageIan Hinder2012-11-14
| | | | | * Add the EinsteinToolkit relative location in EinsteinExact (the submodule must be checked out) * Give an error and abort if the metrics database cannot be loaded
* Regenerate Advect exampleIan Hinder2012-11-14
|
* KrancTensor.m: Declare all derivative operators to TensorToolsIan Hinder2012-11-14
|
* TensorTools.m: Expand contractions in all derivative operatorsIan Hinder2012-11-14
| | | Previously, only contractions in the PD operator were expanded. TensorTools didn't know about other operators, as it didn't need to.
* TensorTools.m: Add a registration interface for derivative operatorsIan Hinder2012-11-14
| | | | It turns out that we need to know which symbols are going to be used as derivative operators so that we can expand contractions under them. A more general solution might have unintended consequences.
* Add ParameterConditions option for CreateThornIan Hinder2012-11-14
| | | | This option allows the user to set certain conditions on parameters which must be satisfied otherwise the thorn aborts with a given error message (details in Doc/KrancDoc.tex).
* TensorTools.m: Expand contractions within partial derivativesIan Hinder2012-11-14
| | | Previously, PD[v[ua],la] was not expanded
* TestTensorTools.m: Correct expected result for PD[u[ua],la] testIan Hinder2012-11-14
| | | The test still fails (see Issue #87).
* TestTensorTools.m: Improve output formattingIan Hinder2012-11-14
|
* Remove TestTensorTools.nbIan Hinder2012-11-14
|
* TestTensorTools.m: Improve report of tests passed and failedIan Hinder2012-11-14
|
* TestTensorTools.m: Add robustness and scriptability functionsIan Hinder2012-11-14
|
* TestTensorTools.m: Fix remaining tests - 1 failsIan Hinder2012-11-14
|
* TestTensorTools.m: Re-enable and fix most testsIan Hinder2012-11-14
| | | The old tests assumed it was possible to have the same tensor kernel with different index positions, and TensorTools has been modified since to prohibit this.
* TestTensorTools.m: Improve formatting of outputIan Hinder2012-11-14
|
* TestTensorTools.m: Make test work as a script, disable some testsIan Hinder2012-11-14
|
* Add TestTensorTools.m (script version of TestTensorTools.nb)Ian Hinder2012-11-14
| | | | Currently just copied in the content unmodified
* Correct _Ratio pattern to _RationalErik Schnetter2012-10-25
| | | | Also slightly rewrite kdiv expansion rules.
* Expect isnan in std:: namespace in C++Erik Schnetter2012-10-22
|
* Declare private functions as staticErik Schnetter2012-09-25
|
* Don't convert small integers to reals during code generationErik Schnetter2012-09-13
| | | | Don't convert small integers to reals during code generation. Small integers may be used in if conditions, and converting these to real numbers creates less efficient code.
* Optimise product of sqrt() callsErik Schnetter2012-09-13
|
* Make signbit() call compile with IBM C++ compilersErik Schnetter2012-09-13
|
* Handle Piecewise[] in code generationErik Schnetter2012-09-08
| | | | | Replace Piecewise[] by IfThen[] calls. Unfortunately, this does not work with vectorisation.
* Handle Piecewise[] during CSEErik Schnetter2012-09-08
| | | | Piecewise[] expects nested lists as arguments. CSE doesn't handle this well; therefore, replace Piecewise[] by a different function that expects regular arguments during CSE.
* Use <cmath> instead of <math.h> to access signbit()Erik Schnetter2012-09-04
|
* Reinstate dir[] naming work-around; translate Sign[] to isgn()Erik Schnetter2012-08-16
|
* Don't declare dir* variables with ptrdiff_t (use CCTK_REAL instead)Erik Schnetter2012-08-12
|
* TensorTools.m: Remove components generated by symmetries of antisymmetric ↵Ian Hinder2012-08-11
| | | | tensors
* Add ksgn, so that calls to Sign can be vectorisedErik Schnetter2012-08-10
|
* Delay converting integers to realsErik Schnetter2012-08-10
| | | | Delay converting integers to reals, so that the simplification functions still act on integers. This improves the generated code.
* Handle Sign function while vectorisingErik Schnetter2012-07-25
|
* Don't generate large integers; convert them to CCTK_REAL insteadErik Schnetter2012-07-25
|
* Correct indentation in GenericFD.hErik Schnetter2012-07-25
|
* CaKernel.m: Use CaKernel static kernelsIan Hinder2012-07-25
| | | Dynamic compilation slows down execution; we can re-enable it when we are optimising.
* Add CaKernel initialisation function to the scheduleIan Hinder2012-07-25
|
* Add BoundaryNoSync to BoundaryCalculationQErik Schnetter2012-07-24
|
* Require MPI in auto-generated thornsErik Schnetter2012-07-24
|
* Introduce cctk_ash, retire cctk_lsshErik Schnetter2012-07-03
| | | | | | | | | Introduce cctk_ash, describing the process-local array shape that has been allocated. This may be larger than cctk_lsh, the process-local shape that should be used. Retire cctk_lssh and related infrastructure to handle staggered grid functions.
* Don't #define restrict; this is now handled by the fleshErik Schnetter2012-06-17
|
* Correct expanding Scalar[]Erik Schnetter2012-06-13
| | | | | | | Handle kmadd and friends. Do not produce / operator; use ScalarINV instead to prevent problems with integer operands.
* Allow disabling UseJacobian for specific calculationsErik Schnetter2012-06-02
| | | | | Add UseJacobian as possible flag for calculations, which then overrides the thorn's UseJacobian setting.
* Implement additional vectorisation optimisationsErik Schnetter2012-05-30
| | | | | | | | | When vectorising, break the macros INV, SQR etc. apart, which allows further optimisations, such as avoinding the kmul in kmul[x, kdiv[1, y]]. Combine also operations on ToReal operands, so that these operations are performed on scalars, not on vectors, e.g. kmul[ToReal[omega], ToReal[omege]] now becomes ToReal[omega*omega].
* Merge branch 'master' of github.com:ianhinder/KrancSteve Brandt2012-05-03
|\
| * Add BoundaryNoSync value for Where in calculationsIan Hinder2012-05-02
| | | | | | This is by analogy with InteriorNoSync. Ideally, this would be determined automatically. Less ideally, there would be a Sync -> True/False flag. But BoundaryNoSync is what we have.
| * GenericFD: Provide annotation to sgn function for CUDAIan Hinder2012-05-02
| |
| * Add #include <math.h> because of copysign()Erik Schnetter2012-05-02
| |
| * GenericFD: Correct implementation of SignIan Hinder2012-05-02
| | | | | | | | | | | | | | | | | | Mathematica defines Sign(x) = Which[x>0, 1, x<0, -1, x==0, 0] whereas the current implementation in terms of copysign gives Sign(0) != 0. This causes problems when Sign is used to choose the finite differencing operator in boundary conditions. This commit restores the old definition in terms of the sgn function which we define now as static inline in GenericFD.h.
| * Use GetSchedule for calculations instead of accessing key directlyIan Hinder2012-05-02
| |