aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b>2003-07-17 16:15:55 +0000
committerhawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b>2003-07-17 16:15:55 +0000
commit914ca2b871604f516dfa76b12179c7a3c464e1c1 (patch)
tree0d98bfb358c7944f9ab78861d5140e6ff7ca85f9 /src
parent16c984f44503a050e25cf23f6d3aa1008e45303b (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.c20
-rw-r--r--src/InitialCopy.c7
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);