aboutsummaryrefslogtreecommitdiff
path: root/src/SetTime.c
Commit message (Collapse)AuthorAge
* 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
* Set variables in error branch of conditionals to avoid compiler warningshinder2012-11-26
| | | | | | The compiler doesn't know that CCTK_WARN(0,…) is fatal. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@189 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Add verbose output for adaptive step size controleschnett2012-10-24
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@180 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* MoL: add Multirate capabilities. This add three new multirate RK schemes to MoL.rhaas2012-08-02
| | | | | | | | | | | Flags indicate whether it is time to execute slow RHS computation. For instance, in the RK4-RK2 scheme, there are 4 substeps in total, but the RK2 RHS are only evaluated in the very first and in the very last step of the four substeps. From: Christian Reisswig, minor changes by Roland Haas git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@175 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Remove OldBoundary infrastructureeschnett2011-11-12
| | | | | | | Remove now-unused and currently broken OldBoundary infrastructure git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@153 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Correct signatures of scheduled functionseschnett2011-01-21
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@144 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Correct the problem with scheduling the "Old Style" Boundaries by running ↵hawke2006-08-24
| | | | | | various routines in LEVEL mode. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@119 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
* Implement RK45 Cash-Karp integrator in MoL.schnetter2006-02-19
| | | | | | | | | | This integrator is similar to the existing RK45 integrator. It also supports adaptive time stepping, but uses slightly different coefficients. The Numerical Recipes say that it has "slightly better error properties". git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@110 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Peter Diener's RK65 and RK87 adaptive timestep integrators.hawke2006-01-23
| | | | | | | | | As yet not altered to do grid arrays. As with RK45, adaptive timestepping does not work with mesh refinement. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@106 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Correct critical error in the RK45 time integrator.schnetter2005-12-11
| | | | | | | | The current time and the time step sizes were not set correctly. That led to first order convergence instead of fifth order convergence. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@101 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Add the Classic RK3 method (as a generic method, so use Generic_Type).hawke2004-07-01
| | | | | | | | | | | | Agrees with other RK3's to floating point round off (except at boundaries) for linear case. Uses more storage and is slower than standard RK3 so I don't recommend it. This showed up (so I fixed) a bug with the generic methods when used with Carpet. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@72 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Update CCTK_FILEVERSION macros to CactusBase.hawke2004-07-01
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@71 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Formatting changes only.hawke2003-07-24
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@32 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Add two methods:hawke2003-07-22
| | | | | | | | | | | RK3. The optimized version of the TVD RK3 solver. Requires no scratch space so is about as efficient as ICN, but third order. Generic method from a parameter table. By specifying the number of intermediate steps and the alpha and beta arrays, create your own method at parameter time. Not well (or at all) documented because it doesn't seem to work correctly at the moment. Some tidying of extraneous code as well. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@29 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Formatting changes and extra debugging statements only.hawke2003-07-18
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@25 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Erik Schnetter's implementation of ICN with averaging, so the intermediate ↵hawke2003-07-18
| | | | | | steps are always at t+dt. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@24 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Correct the setting of cctk_time for the generic solvers. Should only affect ↵hawke2003-07-08
| | | | | | Carpet runs. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@20 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Correct a major screw up with the setting of t/dt that was causing the ↵hawke2003-06-20
| | | | | | BSSN_MoL testsuite bh_shift_rad to fail. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@18 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Patch for the new cctk_time / lev / levoffset etc. variables from Erik ↵hawke2003-06-19
| | | | | | Schnetter. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@16 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Change MoL_ODE_Method parameter to ODE_Method to be consistent with original ↵hawke2003-05-25
| | | | | | MoL. Don't know why I did this in the first place. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@15 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Add support for evolving complex GFs and (real and complex) GAs.hawke2003-05-21
| | | | | | | | | Only works with ICN or RK2 for now - in fact this commit may break the generic RK methods temporarily. Note the documentation isn't quite right - there's no longer a seperate function for each different type... git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@12 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Change the previous_times array to be a malloc (can't use run time constants ↵hawke2003-05-14
| | | | | | as array sizes...). git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@11 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* The resetting of t and dt is corrected for the generic methods.hawke2003-04-25
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@7 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Change the commented out debugging statements to ifdef'd out.hawke2003-04-25
| | | | | | | Remove old, buggy commented out stuff. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@6 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Change the fileversion strings and comments from MoL2->MoL (cosmetic).hawke2003-04-24
| | | | | | | Change the grid scalar used in the schedule.ccl from MoL2->MoL (necessary). git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@4 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* The Method of Lines thorn (version 2 - see below).hawke2003-04-23
MoL provides generic integration methods for multiple thorns simultaneously. By providing a layer between the driver and evolution thorns, this should mean that some technical issues to do with mesh refinement can be ignored. It also allows you to choose different evolution methods (in time, at least). But the primary purpose is to unambiguously evolve models in different thorns at the same time. This is version 2 - the one that will work with mesh refinement. It's a straight copy of HawkeCVS/Public/CactusMoL2/MoL2 and I haven't checked that it will work "as is" with the new name (one of the reasons it goes into Alpha). At the moment the only evolution method guaranteed to work with mesh refinement is ICN, although RK2 should. The generic RK methods will do something that will be subtly wrong... Note that the "old" way of registering variables (through the functions declared in header files) is still there. As soon as function aliasing settles down, this will be removed. Also to be done: Better documentation Tidy up the code (especially the debugging statements) Optimize Add various useful time evolution methods. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@2 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b