aboutsummaryrefslogtreecommitdiff
path: root/src/InitialCopy.c
Commit message (Collapse)AuthorAge
* Parallelize on the level of variables rather than grid points.HEADmasterAnton Khirnov2022-09-06
| | | | The latter has higher overhead.
* Drop unused crap, optimize.Anton Khirnov2017-06-30
|
* 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
* Parallelise loops with OpenMP.schnetter2008-09-23
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@129 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Make certain not to try and allocate a zero sized array.hawke2006-08-04
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@117 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
* Fix for evolving arrays on multi-processors with the generic RKhawke2006-07-28
| | | | | | | | method. This fix should use minimal memory, and works even when there is no storage for the array on the local processor. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@115 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Add const and restrict qualifiers to the pointers.schnetter2005-12-11
| | | | | | | | | | Simplify some complex arithmetic. Initialise the error variable in the RK45 integrator only after the last iteration. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@104 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Replace "MoL" by CCTK_THORNSTRING in calls to CCTK_VWarn.schnetter2005-12-11
| | | | | | | | | Correct some typos in warnings. Remove some commented out variable declarations. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@102 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Check that a constrained GF may have more than one timelevel beforehawke2005-05-04
| | | | | | | | | | complaining that it doesn't when copying data (if a constrained GF only has one timelevel then such a copy is unnecessary). Fixes PR/1921. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@89 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Add missing #include <stdio.h> and #include <stddef.h> statementsschnetter2004-12-29
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@80 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
* Make MoL independent of dimensions for GFs.hawke2004-06-23
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@70 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* If the new keyword parameter 'verbose' is set to 'register' thenhawke2004-06-21
| | | | | | | report the names of all registered variables. Closes PR 1771. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@69 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Fix memory leak. Hint to self: NEVER use group names when trying tohawke2004-04-21
| | | | | | | extract group information. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@64 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Initialise the RHS with zero before scheduling the physics routines.schnetter2004-03-23
| | | | | | | | This is necessary because MoL switches off boundary prolongation when there is mesh refinement, leaving certain grid points undefined. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@54 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Nasty bugs in the save and restore variables.hawke2004-01-16
| | | | git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@47 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Correct the way that the FillAllTimelevels routine works, now thathawke2003-12-09
| | | | | | | | | | QueryGroupStorage changed. Should have done this months ago Of course, it would be better if the initial data thorns set up all timelevels themselves, but hey. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@44 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
* Optionally don't fill all timelevels after initial data is computed (changes ↵hawke2003-07-17
| | | | | | the default but should have no effect). git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@23 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Take the ScratchSpace pointers from VarIndex instead of making assumptions ↵hawke2003-07-17
| | | | | | about memory layout. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@22 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Fix an error in the internal arrays for when changing from constrained/SandR ↵hawke2003-07-17
| | | | | | | | | to evolved. Add a load more debugging statements (ifdef'd). git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@21 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
* Comment or ifdef out complex variable support as Carpet doesn't like it.hawke2003-05-24
| | | | | | | To use the complex variable stuff right now you need to uncomment the appropriate groups in the interface.ccl and #def MOLDOESCOMPLEX in the appropriate files. It still probably won't work. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@13 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 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