summaryrefslogtreecommitdiff
path: root/src/include/cctk_GroupsOnGH.h
Commit message (Collapse)AuthorAge
* Introduce cctk_ash, retire cctk_lssheschnett2012-07-04
| | | | | | | | | | | | 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. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4841 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add missing lssh field to struct cGroupDynamicDataeschnett2012-06-11
| | | | | | | | | The size and memory layout of grid functions is described by two variables, cctk_lsh and cctk_lssh. The structure cGroupDynamicData is missing the lssh field. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4833 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add "activetimelevels" field to cGroupDynamicData structureschnetter2005-01-29
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@3970 17b73243-c579-4c4c-a9d2-2d5706c11dac
* New functions for querying the number of active timelevels for a group/variableallen2003-07-17
| | | | | | | | | | | | | | int CCTK_ActiveTimeLevels(const cGH *GH, const char *groupname); int CCTK_ActiveTimeLevelsGN(const cGH *GH, const char *groupname); int CCTK_ActiveTimeLevelsGI(const cGH *GH, int groupindex); int CCTK_ActiveTimeLevelsVN(const cGH *GH, const char *varname); int CCTK_ActiveTimeLevelsVI(const cGH *GH, int varindex); All are basically wrappers for CCTK_GroupStorageIncrease requesting no increase of storage. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3283 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added a const qualifier to the 'cGH *' argument of the following functionstradke2003-07-14
| | | | | | | | | | | | | (and their default overloadables): - CCTK_SyncGroup - CCTK_EnableGroupCommI / CCTK_DisableGroupCommI - CCTK_EnableGroupStorageI / CCTK_DisableGroupStorageI - CCTK_GroupStorageIncrease / CCTK_GroupStorageDecrease - CCTK_CoordRegisterRange / CCTK_CoordRegisterRangePhysIndex You should also update all driver thorns (eg. PUGH) now. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3274 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Turned the GH argument type in calls to CCTK_EnableGroup[{Storage}{Comm}]()tradke2001-11-27
| | | | | | | | | | | from 'void *' into 'cGH *'. Note that this is likely to change into a 'const cGH *' argument before the next release. This closes PR Cactus-820. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2471 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Adding a const qualifier to the 'cGH *' argument of some flesh routinestradke2001-11-05
| | | | | | | | and for I/O method registration. You will also need to update the I/O thorns which I will commit changes to now. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2452 17b73243-c579-4c4c-a9d2-2d5706c11dac
* All the CCTK_VarDataPtr() routines take a 'const cGH *' argument.tradke2001-10-30
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@2441 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Prototype for CCTK_VarDataPtr() changed.tradke2001-05-11
| | | | | | | Added missing prototypes for CCTK_GroupbboxXX() routines. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2176 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Prototypes and structure for new array querying functionsallen2000-06-22
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@1694 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changing #def statement to be the filenameallen1999-10-14
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@1024 17b73243-c579-4c4c-a9d2-2d5706c11dac
* New schedule stuff.goodale1999-09-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IMPORTANT: if you don't have a src/schedule directory, please do an "update -d" or your code won't compile! You can now create schedule groups and schedule items (other groups or functions) IN a group. You may then schedule a group AT a particular CCTK entry point, or inside another group. There is a new keyword WHILE in the schedule specification. The argument(s) to this are the full names of integer scalars, and the item which is scheduled WHILE will be executed while this integer, or these integers, are non-zero. Note that currently there is little checking of the type of these scalars, 'though this will be coming soon. BEFORE, AFTER, or WHILE can take a list of arguments of the form (a,b,c) to stop you having to do something like BEFORE a BEFORE b BEFORE c So the full format of a schedule statement is SCHEDULE [GROUP] <name> <AT entrypoint | IN group> [BEFORE|AFTER <item | (item...)>] [WHILE <integer gridscalar>] { [LANG: <language>] [COMM: <group(s)>] [STORAGE: <groups(s)] [TRIGGERS: <groups(s)] } "<description>" Note that even for a group you need to provide { } "<description>" 'though that may be relaxed soon. Also TRIGGERS are now on a group basis, not on a variable basis. So, for example, to test this I had -------------------------------------- SCHEDULE TEST1_InitialData AT INITIAL { LANG: Fortran } "Initialise" SCHEDULE TEST1_InitialData AT EVOL { LANG: Fortran } "Initialise" SCHEDULE TEST1_Evolve IN testit { LANG: Fortran } "Evolution routine" SCHEDULE GROUP testit WHILE test1::foo_int_scalar AT EVOL AFTER TEST1_InitialData { } "Test a group within a group. " --------------------------------------- where the initialisation routine set test1::foo_int_scalar to 4 and the evolution routine decremented it. The group "testit" is redundant here as only one thing is scheduled in it, the WHILE and AFTER could have gone directly onto the scheduling of TEST1_Evolve. Apart from the checking of the while stuff, the perl does a fair amount of checking that groups exist. It doesn't yet check that a group you are scheduling at or in exists, and neither does the C, so please check the screen output of the final schedule tree. Checks for this an for unreachable groups will go in, but perhaps not in the next week. There's also some tidying up which needs to go in, but this stuff passes all the tests that the unmodified code does. I have also tried to make the output of the CST a bit more useful, 'though now it's a wee bit long-winded. Please send me comments if you want more output of various things, or would like the current output, or how the WHILE stuff works, changed. Tom IMPORTANT: if you don't have a src/schedule directory, please do an "update -d" or your code won't compile! git-svn-id: http://svn.cactuscode.org/flesh/trunk@966 17b73243-c579-4c4c-a9d2-2d5706c11dac
* New include file namesallen1999-07-30
git-svn-id: http://svn.cactuscode.org/flesh/trunk@833 17b73243-c579-4c4c-a9d2-2d5706c11dac