diff options
author | hawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2003-07-17 16:15:55 +0000 |
---|---|---|
committer | hawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2003-07-17 16:15:55 +0000 |
commit | 914ca2b871604f516dfa76b12179c7a3c464e1c1 (patch) | |
tree | 0d98bfb358c7944f9ab78861d5140e6ff7ca85f9 /src | |
parent | 16c984f44503a050e25cf23f6d3aa1008e45303b (diff) |
Take the ScratchSpace pointers from VarIndex instead of making assumptions about memory layout.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@22 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
Diffstat (limited to 'src')
-rw-r--r-- | src/GenericRK.c | 20 | ||||
-rw-r--r-- | src/InitialCopy.c | 7 |
2 files changed, 22 insertions, 5 deletions
diff --git a/src/GenericRK.c b/src/GenericRK.c index 13bad9e..60edf15 100644 --- a/src/GenericRK.c +++ b/src/GenericRK.c @@ -149,8 +149,13 @@ void MoL_GenericRKAdd(CCTK_ARGUMENTS) if (scratchstep) { - ScratchVar = &ScratchSpace[(var * MoL_Num_Scratch_Levels + + /* + ScratchVar = &ScratchSpace[(var * MoL_Num_Scratch_Levels + scratchindex) * totalsize]; + */ + ScratchVar = CCTK_VarDataPtrI(cctkGH, 0, + CCTK_FirstVarIndex("MOL::SCRATCHSPACE") + + var); #ifdef MOLDEBUG printf("Reading from scratch space, initial address %ld index %d\n", ScratchVar, (var * MoL_Num_Scratch_Levels + @@ -185,14 +190,19 @@ void MoL_GenericRKAdd(CCTK_ARGUMENTS) { UpdateVar = (CCTK_REAL *)CCTK_VarDataPtrI(cctkGH, 0, EvolvedVariableIndex[var]); - ScratchVar = &ScratchSpace[(var * MoL_Num_Scratch_Levels + + /* + ScratchVar = &ScratchSpace[(var * MoL_Num_Scratch_Levels + MoL_Intermediate_Steps - (*MoL_Intermediate_Step)) * totalsize]; + */ + ScratchVar = CCTK_VarDataPtrI(cctkGH, 0, + CCTK_FirstVarIndex("MOL::SCRATCHSPACE") + + var); #ifdef MOLDEBUG - printf("Writing to scratch space, initial address %ld, index %d \n", + printf("Writing to scratch space, initial address %ld, index %d, totalsize %d \n", ScratchVar, (var * MoL_Num_Scratch_Levels + MoL_Intermediate_Steps - - (*MoL_Intermediate_Step)) * totalsize); + (*MoL_Intermediate_Step)) * totalsize, totalsize); #endif for (index = 0; index < totalsize; index++) { @@ -200,10 +210,12 @@ void MoL_GenericRKAdd(CCTK_ARGUMENTS) #ifdef MOLDEBUG printf("Variable: %d. Index: %d. step: %d. Scratch: %f.\n", var, index, (*MoL_Intermediate_Step), ScratchVar[index]); + fflush(stdout); #endif } } } + /* Complex GFs */ diff --git a/src/InitialCopy.c b/src/InitialCopy.c index 160fdee..6388550 100644 --- a/src/InitialCopy.c +++ b/src/InitialCopy.c @@ -225,7 +225,12 @@ void MoL_InitialCopy(CCTK_ARGUMENTS) SandRVariableIndex[var]); CurrentVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 0, SandRVariableIndex[var]); - ScratchVar = &SandRScratchSpace[var*totalsize]; + /* + ScratchVar = &SandRScratchSpace[var*totalsize]; + */ + ScratchVar = CCTK_VarDataPtrI(cctkGH, 0, + CCTK_FirstVarIndex("MOL::SCRATCHSPACE") + + var); #ifdef MOLDEBUG printf("Pointers for the SandR vars are to %ld, %ld and %ld.\n", PreviousVar, CurrentVar, ScratchVar); |