aboutsummaryrefslogtreecommitdiff
path: root/src/RK4.c
Commit message (Collapse)AuthorAge
* Parallelize on the level of variables rather than grid points.HEADmasterAnton Khirnov2022-09-06
| | | | The latter has higher overhead.
* MoL Updateeschnett2013-01-22
| | | | | | | | | | | | | | | | | | New integrator Euler. This is an explicit, first-order method, mostly useful for debugging. New integrators AB (Adams-Bashforth) with various orders. These are explicit integrators using several past timelevels to provide higher-order integration with a single RHS evaluation each. Introduce LinearCombination, a generic routine to calculate linear combinations of grid functions. This simplifies existing code, and can be overloaded if MoL should run on a device (e.g. with OpenCL). Replace cctk_lsh with cctk_ash where necessary. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@190 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Slightly reduce round-off erroreschnett2012-10-29
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@182 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Correct calculation of sum_alpha when more than one component (or moreeschnett2011-05-24
| | | | | | | than one map) exist on the current process git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@147 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Improve roundoff accuracy of efficient RK4eschnett2011-03-25
| | | | | | | | | | | | | | | | | | | | I just encountered a weird case where evolving Minkowski with the efficient RK4 implementation was not static. It turns out that the reason was floating-point round-off error in RK4. During each of the substeps, RK4 adds terms with factors of 1/3 and 2/3, and for the final step, adds a term with a factor of 4/3. Due to round-off, these terms do not cancel exactly, so that the time-evolved lapse is slightly different from 1 (although all the lapse RHS terms are 0). The same goes for the diagonal terms of the metric. The attached patch keeps track of the round-off error when adding these terms, leading to a more accurate integration result. The problem described above is not always visible, but also depends on optimisation settings. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@145 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Parallelise loops with OpenMP.schnetter2008-09-23
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@129 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Modification for evolving array variables; change to localhawke2006-08-01
| | | | | | | | | arrays. This gets around the problems with the driver allocating the scratch space differently on multiprocessors from the individual arrays. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@116 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Efficient RK4, as provided by Yosef Zlochower.hawke2006-07-28
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@113 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b