| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
Fixed Cactus/732
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2275 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2159 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1841 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1825 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1692 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
since these refer to static information.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1494 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1488 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1312 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1293 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1268 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@830 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@821 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
function supplied by the driver
git-svn-id: http://svn.cactuscode.org/flesh/trunk@467 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@464 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@453 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
git-svn-id: http://svn.cactuscode.org/flesh/trunk@452 17b73243-c579-4c4c-a9d2-2d5706c11dac
|