summaryrefslogtreecommitdiff
path: root/src/main/GroupsOnGH.c
Commit message (Collapse)AuthorAge
* Fixed arguements for some CCTK_VWarn statementsallen2001-07-10
| | | | | | | Fixed Cactus/732 git-svn-id: http://svn.cactuscode.org/flesh/trunk@2275 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changed to varname argument for CCTK_VarDataPtr() to 'const char *' type.tradke2001-05-11
| | | | | | | | | | This fixes PR Cactus 674. Also added prototypes for fortran wrappers. This blows up the source file even more. Should try and automatically declare wrapper prototypes soon. git-svn-id: http://svn.cactuscode.org/flesh/trunk@2175 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Making rcsid strings constant - PR 669.goodale2001-05-10
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@2159 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Macro name changesallen2000-09-22
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@1841 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Fixing BR 437. Untabified source.tradke2000-09-18
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@1825 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Routines for querying array data from the cctkGH, such as lsh, bbox etcallen2000-06-22
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@1692 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Removing warnings from rcsid variables.allen2000-04-17
| | | | | | | Tidied include files a bit, removing a few cctk.h's, so I've introduced a few more warnings to fix git-svn-id: http://svn.cactuscode.org/flesh/trunk@1550 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Let CCTK_ArrayGroupSize() and CCTK_ArrayGroupSizeI() return const pointerstradke2000-03-27
| | | | | | | since these refer to static information. git-svn-id: http://svn.cactuscode.org/flesh/trunk@1494 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Fixing bugs in the debug lines !!allen2000-03-23
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@1488 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Untabified.goodale2000-01-27
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@1312 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Adding the ArrayGroupSize wrappers and changing namesallen2000-01-25
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@1293 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Replacing CCTK_WARN with CCTK_Warnallen2000-01-16
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@1268 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
* Include file name changesallen1999-07-30
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@830 17b73243-c579-4c4c-a9d2-2d5706c11dac
* A check for a valid indexlanfer1999-07-29
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@821 17b73243-c579-4c4c-a9d2-2d5706c11dac
* New names for many of the Group functions which are used by infrastructureallen1999-07-08
| | | | | | | | | thorns and the flesh. The names should be more consistent now. You might want to hold of from this update for a little while until all the thorn changes are in. git-svn-id: http://svn.cactuscode.org/flesh/trunk@688 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changed CCTK_Warns t CCTK_WARN so that I can try and pass thorught theallen1999-07-03
| | | | | | | | | | | | | | | | | | | | | | | | line number and file name to the Warn message. This hass problems: 1) I really need to include cctk.h then (for some reason) in WarnLevel.h, but then I guess the Fortran name for CCTK_Warn is CCTK_WARN so it doesn't much care for me having a macro for CCTK_WARN. 2) Now I need three fortran strings to be passed into C. This works at the moment on Linux, but not on other machines, so you may need to run with warnings off for a little while. 3) Fortran doesn't get the file name, because (?) it is actually something from a pipe which gets preprocessed and not the file. I have no idea how to fix this. I may just scrap all this, but I want to persevere a bit Oh, there is a new parameter cctk_full_warnings (default yes for now) which gives the old style warnings with no. git-svn-id: http://svn.cactuscode.org/flesh/trunk@618 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Corrected my submission for stupidest bug of all time ...allen1999-05-20
| | | | | | | | | | | | | | | CCTK_GetVarDataPtr_ByName was always returning a NULL, which explains why Malcolm is having such a hard time making elliptic solvers work. Also, I've changed around the argument lists for calling these functions, so that the string is last, in case we want to call them from Fortran. I think they are only called from LinearElliptic at the moment. git-svn-id: http://svn.cactuscode.org/flesh/trunk@531 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Restructured all the groups routines a bit, now in general theyallen1999-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | take the full group or variable name, so you don't need all the DecomposeName business anymore. There will be 3 copies of many routines one taking the fullname one taking the index and one taking both/either arguments. IF YOU HAVE AN INDEX USE IT ... the routines which take the full name just call a routine to get the index. The general convention for names is CCTK_GetSomething(const char *fullname) ( = CCTK_GetSomething_ByIndex(CCTK_Get...Index(fullname)) ) CCTK_GetSomething_ByIndex(int index) CCTK_GetSomething_ByBoth(int index, const char *fullname) Also important to note is that the Group routines will all check and report errors ... so you should just have to handle the error codes in your own routine, you don't have to say for example that the variable index is out of range. I've changed all checked in routines (except for Grace :) ) to make use of these changes, but I have only checked under Linux, so you might want to hold of updating for a couple of hours while I check other platforms Gab. git-svn-id: http://svn.cactuscode.org/flesh/trunk@478 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Removed ArrayGroupSize which is now an overloadableallen1999-04-14
| | | | | | | function supplied by the driver git-svn-id: http://svn.cactuscode.org/flesh/trunk@467 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Some error checkingallen1999-04-10
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@464 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Corrected a routine name which didn't existallen1999-04-07
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@453 17b73243-c579-4c4c-a9d2-2d5706c11dac
* File name change, and added some GH group functions.allen1999-04-07
git-svn-id: http://svn.cactuscode.org/flesh/trunk@452 17b73243-c579-4c4c-a9d2-2d5706c11dac