aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b>2003-05-24 14:34:37 +0000
committerhawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b>2003-05-24 14:34:37 +0000
commit627caa6bdf1e4b6db96a799454303d8b2e7935fe (patch)
tree1664fad214476385f5c296f081ee13bb2b8db58b
parentf3a2829b5b32b6fad8383ac16c16ac6c2f58b696 (diff)
Comment or ifdef out complex variable support as Carpet doesn't like it.
To use the complex variable stuff right now you need to uncomment the appropriate groups in the interface.ccl and #def MOLDOESCOMPLEX in the appropriate files. It still probably won't work. git-svn-id: http://svn.cactuscode.org/arrangements/CactusNumerical/MoL/trunk@13 578cdeb0-5ea1-4b81-8215-5a3b8777ee0b
-rw-r--r--interface.ccl12
-rw-r--r--param.ccl6
-rw-r--r--schedule.ccl34
-rw-r--r--src/GenericRK.c24
-rw-r--r--src/ICN.c12
-rw-r--r--src/InitialCopy.c27
-rw-r--r--src/RK2.c20
-rw-r--r--src/Registration.c40
-rw-r--r--src/SandR.c13
9 files changed, 161 insertions, 27 deletions
diff --git a/interface.ccl b/interface.ccl
index 36758a6..46b0acf 100644
--- a/interface.ccl
+++ b/interface.ccl
@@ -202,15 +202,15 @@ CCTK_REAL ScratchSpace[MoL_Num_Evolved_Vars*MoL_Num_Scratch_Levels+1] TYPE = GF
CCTK_REAL SandRScratchSpace[MoL_Num_SaveAndRestore_Vars+1] TYPE = GF Timelevels = 1
-CCTK_COMPLEX ComplexScratchSpace[MoL_Num_ComplexEvolved_Vars*MoL_Num_Scratch_Levels+1] TYPE = GF Timelevels = 1
+#CCTK_COMPLEX ComplexScratchSpace[MoL_Num_ComplexEvolved_Vars*MoL_Num_Scratch_Levels] TYPE = GF Timelevels = 1
-CCTK_COMPLEX ComplexSandRScratchSpace[MoL_Num_ComplexSaveAndRestore_Vars+1] TYPE = GF Timelevels = 1
+#CCTK_COMPLEX ComplexSandRScratchSpace[MoL_Num_ComplexSaveAndRestore_Vars] TYPE = GF Timelevels = 1
-CCTK_REAL ArrayScratchSpace[MoL_Num_Scratch_Levels+1] TYPE = ARRAY DIM = 1 SIZE = MoL_Max_Evolved_Array_Size Timelevels = 1
+CCTK_REAL ArrayScratchSpace[MoL_Num_Scratch_Levels+1] TYPE = ARRAY DIM = 1 SIZE = MoL_Max_Evolved_Array_Size+1 Timelevels = 1
-CCTK_REAL ArraySandRScratchSpace[MoL_Num_Scratch_Levels+1] TYPE = ARRAY DIM = 1 SIZE = MoL_Max_Evolved_Array_Size Timelevels = 1
+CCTK_REAL ArraySandRScratchSpace TYPE = ARRAY DIM = 1 SIZE = MoL_Max_Evolved_Array_Size+1 Timelevels = 1
-CCTK_COMPLEX ComplexArraySandRScratchSpace[MoL_Num_Scratch_Levels+1] TYPE = ARRAY DIM = 1 SIZE = MoL_Max_Evolved_Array_Size Timelevels = 1
+#CCTK_COMPLEX ComplexArrayScratchSpace[MoL_Num_Scratch_Levels] TYPE = ARRAY DIM = 1 SIZE = MoL_Max_Evolved_ComplexArray_Size Timelevels = 1
-CCTK_COMPLEX ComplexArrayScratchSpace[MoL_Num_Scratch_Levels+1] TYPE = ARRAY DIM = 1 SIZE = MoL_Max_Evolved_Array_Size Timelevels = 1
+#CCTK_COMPLEX ComplexArraySandRScratchSpace TYPE = ARRAY DIM = 1 SIZE = MoL_Max_Evolved_ComplexArray_Size Timelevels = 1
diff --git a/param.ccl b/param.ccl
index 9eba633..004c4ab 100644
--- a/param.ccl
+++ b/param.ccl
@@ -34,7 +34,11 @@ CCTK_INT MoL_Num_ComplexSaveAndRestore_Vars "The maximum number of complex varia
} 1
CCTK_INT MoL_Max_Evolved_Array_Size "The maximum total size of any grid arrays to be evolved" ACCUMULATOR = (x+y)
-#ACCUMULATOR = (x>y?x:y)
+{
+ (0:* :: "Anything non negative. Accumulated by other thorns"
+} 1
+
+CCTK_INT MoL_Max_Evolved_ComplexArray_Size "The maximum total size of any complex grid arrays to be evolved" ACCUMULATOR = (x+y)
{
(0:* :: "Anything non negative. Accumulated by other thorns"
} 1
diff --git a/schedule.ccl b/schedule.ccl
index a14a2dd..c787cc2 100644
--- a/schedule.ccl
+++ b/schedule.ccl
@@ -11,16 +11,20 @@ STORAGE: MoL_Counters, MoL_Original_Time
### Storage for the scratch space if memory hungry ###
########################################################
+# NOTE: I don't think this does what I expected.
+# I now think that this is always switching on memory,
+# regardless of the parameter...
+
if (MoL_Memory_Always_On)
{
STORAGE: ScratchSpace
- STORAGE: SandRScratchSpace
- STORAGE: ComplexScratchSpace
- STORAGE: ComplexSandRScratchSpace
+# STORAGE: ComplexScratchSpace
STORAGE: ArrayScratchSpace
+# STORAGE: ComplexArrayScratchSpace
+ STORAGE: SandRScratchSpace
+# STORAGE: ComplexSandRScratchSpace
STORAGE: ArraySandRScratchSpace
- STORAGE: ComplexArrayScratchSpace
- STORAGE: ComplexArraySandRScratchSpace
+# STORAGE: ComplexArraySandRScratchSpace
}
############################################################
@@ -102,17 +106,21 @@ schedule MoL_FillAllLevels AT PostInitial AFTER MoL_Register
### boundary enforcement and so on. ###
######################################################
+# NOTE: I temporarily comment out the storage statements as I do not
+# want to write out the if statements above! So this will not currently
+# work with the memory hungry parameter to no.
+
schedule GROUP MoL_Evolution AT Evol
{
LANG: C
- STORAGE: ScratchSpace
- STORAGE: SandRScratchSpace
- STORAGE: ComplexScratchSpace
- STORAGE: ComplexSandRScratchSpace
- STORAGE: ArrayScratchSpace
- STORAGE: ArraySandRScratchSpace
- STORAGE: ComplexArrayScratchSpace
- STORAGE: ComplexArraySandRScratchSpace
+ STORAGE: ScratchSpace
+# STORAGE: ComplexScratchSpace
+ STORAGE: SandRScratchSpace
+# STORAGE: ComplexSandRScratchSpace
+ STORAGE: ArrayScratchSpace
+# STORAGE: ComplexArrayScratchSpace
+ STORAGE: ArraySandRScratchSpace
+# STORAGE: ComplexArraySandRScratchSpace
} "A single Cactus evolution step using MoL"
######################################################
diff --git a/src/GenericRK.c b/src/GenericRK.c
index d1e3bc8..417f2e4 100644
--- a/src/GenericRK.c
+++ b/src/GenericRK.c
@@ -75,11 +75,17 @@ void MoL_GenericRKAdd(CCTK_ARGUMENTS)
CCTK_INT groupindex, ierr;
CCTK_INT arraytotalsize, arraydim;
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
CCTK_COMPLEX Complex_alpha, Complex_beta, Complex_Delta_Time;
CCTK_COMPLEX *UpdateComplexVar;
CCTK_COMPLEX *RHSComplexVar;
CCTK_COMPLEX *ScratchComplexVar;
+#endif
+
CCTK_INT index, var, scratchstep, alphaindex, scratchindex;
CCTK_INT totalsize;
CCTK_REAL alpha, beta;
@@ -88,13 +94,19 @@ void MoL_GenericRKAdd(CCTK_ARGUMENTS)
CCTK_REAL *ScratchVar;
totalsize = cctk_lsh[0] * cctk_lsh[1] * cctk_lsh[2];
-
- Complex_Delta_Time = CCTK_Cmplx((*Original_Delta_Time), 0);
beta = RKBetaCoefficients[MoL_Intermediate_Steps -
(*MoL_Intermediate_Step)];
+
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
+ Complex_Delta_Time = CCTK_Cmplx((*Original_Delta_Time), 0);
Complex_beta = CCTK_Cmplx(beta, 0);
+#endif
+
/* Real GFs */
for (var = 0; var < MoLNumEvolvedVariables; var++)
@@ -193,6 +205,10 @@ void MoL_GenericRKAdd(CCTK_ARGUMENTS)
/* Complex GFs */
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
for (var = 0; var < MoLNumEvolvedComplexVariables; var++)
{
@@ -262,6 +278,10 @@ void MoL_GenericRKAdd(CCTK_ARGUMENTS)
}
}
+ /* FIXME */
+
+#endif
+
/* Real arrays */
for (var = 0; var < MoLNumEvolvedArrayVariables; var++)
diff --git a/src/ICN.c b/src/ICN.c
index 7284d00..b32bf15 100644
--- a/src/ICN.c
+++ b/src/ICN.c
@@ -79,10 +79,16 @@ void MoL_ICNAdd(CCTK_ARGUMENTS)
CCTK_REAL *UpdateVar;
CCTK_REAL *RHSVar;
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
CCTK_COMPLEX *OldComplexVar;
CCTK_COMPLEX *UpdateComplexVar;
CCTK_COMPLEX *RHSComplexVar;
CCTK_COMPLEX Complex_Delta_Time = CCTK_Cmplx(CCTK_DELTA_TIME, 0);
+
+#endif
#ifdef MOLDEBUG
printf("Inside ICN.\nProcessor %d.\nStep %d.\nRefinement %d.\nTimestep %g.\nSpacestep %g.\nTime %g\n",
@@ -142,6 +148,10 @@ void MoL_ICNAdd(CCTK_ARGUMENTS)
UpdateVar[index] = OldVar[index] + CCTK_DELTA_TIME * RHSVar[index];
}
}
+
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
for (var = 0; var < MoLNumEvolvedComplexVariables; var++)
{
@@ -159,6 +169,8 @@ void MoL_ICNAdd(CCTK_ARGUMENTS)
RHSComplexVar[index]));
}
}
+
+#endif
return;
diff --git a/src/InitialCopy.c b/src/InitialCopy.c
index 9004f37..54bbd41 100644
--- a/src/InitialCopy.c
+++ b/src/InitialCopy.c
@@ -71,10 +71,16 @@ void MoL_InitialCopy(CCTK_ARGUMENTS)
CCTK_REAL *ScratchVar;
CCTK_INT StorageOn;
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
CCTK_COMPLEX *CurrentComplexVar;
CCTK_COMPLEX *PreviousComplexVar;
CCTK_COMPLEX *ScratchComplexVar;
+#endif
+
totalsize = cctk_lsh[0]*cctk_lsh[1]*cctk_lsh[2];
for (var = 0; var < MoLNumEvolvedVariables; var++)
@@ -147,6 +153,9 @@ void MoL_InitialCopy(CCTK_ARGUMENTS)
}
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
for (var = 0; var < MoLNumEvolvedComplexVariables; var++)
{
@@ -182,6 +191,8 @@ void MoL_InitialCopy(CCTK_ARGUMENTS)
}
+#endif
+
/*
Now the Save and Restore variables. Shift the data in the
current level to the scratch space, then do the copy
@@ -233,8 +244,11 @@ void MoL_InitialCopy(CCTK_ARGUMENTS)
CCTK_VarName(SandRVariableIndex[var]), CurrentVar[0],
PreviousVar[0], ScratchVar[0]);
#endif
- }
-
+ }
+
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
for (var = 0; var < MoLNumSandRComplexVariables; var++)
{
@@ -275,6 +289,8 @@ void MoL_InitialCopy(CCTK_ARGUMENTS)
}
}
+#endif
+
/*
Now do the constrained variables.
*/
@@ -313,7 +329,10 @@ void MoL_InitialCopy(CCTK_ARGUMENTS)
}
}
-
+
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
for (var = 0; var < MoLNumConstrainedComplexVariables; var++)
{
@@ -349,6 +368,8 @@ void MoL_InitialCopy(CCTK_ARGUMENTS)
}
}
+
+#endif
return;
}
diff --git a/src/RK2.c b/src/RK2.c
index 34232be..1b88f78 100644
--- a/src/RK2.c
+++ b/src/RK2.c
@@ -78,12 +78,18 @@ void MoL_RK2Add(CCTK_ARGUMENTS)
CCTK_REAL *UpdateVar;
CCTK_REAL *RHSVar;
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
CCTK_COMPLEX *OldComplexVar;
CCTK_COMPLEX *UpdateComplexVar;
CCTK_COMPLEX *RHSComplexVar;
CCTK_COMPLEX Complex_Delta_Time = CCTK_Cmplx(CCTK_DELTA_TIME, 0);
CCTK_COMPLEX Complex_Half = CCTK_Cmplx(0.5, 0);
+#endif
+
#ifdef MOLDEBUG
printf("Inside RK2.\nStep %d.\nRefinement %d.\nTimestep %g.\nSpacestep %g.\nTime %g\n",
MoL_Intermediate_Steps - *MoL_Intermediate_Step + 1,
@@ -140,6 +146,10 @@ void MoL_RK2Add(CCTK_ARGUMENTS)
}
}
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
for (var = 0; var < MoLNumEvolvedComplexVariables; var++)
{
UpdateComplexVar = (CCTK_COMPLEX*)CCTK_VarDataPtrI(cctkGH, 0,
@@ -154,6 +164,9 @@ void MoL_RK2Add(CCTK_ARGUMENTS)
RHSComplexVar[index]));
}
}
+
+#endif
+
break;
}
case 1:
@@ -205,6 +218,10 @@ void MoL_RK2Add(CCTK_ARGUMENTS)
}
}
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
for (var = 0; var < MoLNumEvolvedComplexVariables; var++)
{
OldComplexVar = (CCTK_COMPLEX*)CCTK_VarDataPtrI(cctkGH, 1,
@@ -221,6 +238,9 @@ void MoL_RK2Add(CCTK_ARGUMENTS)
(CCTK_CmplxAdd(OldComplexVar[index], UpdateComplexVar[index]))), CCTK_CmplxMul(Complex_Delta_Time, RHSComplexVar[index]));
}
}
+
+#endif
+
break;
}
default:
diff --git a/src/Registration.c b/src/Registration.c
index 71c98ee..13d5d12 100644
--- a/src/Registration.c
+++ b/src/Registration.c
@@ -1113,7 +1113,11 @@ CCTK_INT MoL_RegisterEvolvedComplex(CCTK_INT EvolvedIndex, CCTK_INT RHSIndex)
DECLARE_CCTK_PARAMETERS;
- CCTK_INT /* ierr, */ index, varused, numtimelevs1, numtimelevs2;
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
+ CCTK_INT index, varused, numtimelevs1, numtimelevs2;
#ifdef MOLDEBUG
printf("Arrived in MoLRegisterEvolvedComplex \n");
@@ -1240,6 +1244,8 @@ CCTK_INT MoL_RegisterEvolvedComplex(CCTK_INT EvolvedIndex, CCTK_INT RHSIndex)
MoLNumSandRComplexVariables--;
}
+#endif /* FIXME */
+
return 0;
}
@@ -1249,6 +1255,10 @@ CCTK_INT MoL_RegisterConstrainedComplex(CCTK_INT ConstrainedIndex)
DECLARE_CCTK_PARAMETERS;
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
CCTK_INT numtimelevs, varused, evolved, index;
if (!(CCTK_GroupTypeFromVarI(ConstrainedIndex)==CCTK_GF))
@@ -1328,6 +1338,8 @@ CCTK_INT MoL_RegisterConstrainedComplex(CCTK_INT ConstrainedIndex)
}
+#endif /* FIXME */
+
return 0;
}
@@ -1337,6 +1349,10 @@ CCTK_INT MoL_RegisterSaveAndRestoreComplex(CCTK_INT SandRIndex)
DECLARE_CCTK_PARAMETERS;
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
CCTK_INT numtimelevs, varused, evolved;
if (!(CCTK_GroupTypeFromVarI(SandRIndex)==CCTK_GF))
@@ -1404,6 +1420,8 @@ CCTK_INT MoL_RegisterSaveAndRestoreComplex(CCTK_INT SandRIndex)
}
+#endif /* FIXME */
+
return 0;
}
@@ -1912,7 +1930,11 @@ CCTK_INT MoL_RegisterEvolvedComplexArray(CCTK_INT EvolvedIndex,
DECLARE_CCTK_PARAMETERS;
- CCTK_INT /* ierr, */ index, varused, numtimelevs1, numtimelevs2;
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
+ CCTK_INT index, varused, numtimelevs1, numtimelevs2;
#ifdef MOLDEBUG
printf("Arrived in MoLRegisterEvolvedComplexArray \n");
@@ -2033,6 +2055,8 @@ CCTK_INT MoL_RegisterEvolvedComplexArray(CCTK_INT EvolvedIndex,
MoLNumSandRComplexArrayVariables--;
}
+#endif /* FIXME */
+
return 0;
}
@@ -2042,6 +2066,10 @@ CCTK_INT MoL_RegisterConstrainedComplexArray(CCTK_INT ConstrainedIndex)
DECLARE_CCTK_PARAMETERS;
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
CCTK_INT numtimelevs, varused, evolved, index;
if (!(CCTK_GroupTypeFromVarI(ConstrainedIndex)==CCTK_ARRAY))
@@ -2121,6 +2149,8 @@ CCTK_INT MoL_RegisterConstrainedComplexArray(CCTK_INT ConstrainedIndex)
}
+#endif
+
return 0;
}
@@ -2130,6 +2160,10 @@ CCTK_INT MoL_RegisterSaveAndRestoreComplexArray(CCTK_INT SandRIndex)
DECLARE_CCTK_PARAMETERS;
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
CCTK_INT numtimelevs, varused, evolved;
if (!(CCTK_GroupTypeFromVarI(SandRIndex)==CCTK_ARRAY))
@@ -2197,6 +2231,8 @@ CCTK_INT MoL_RegisterSaveAndRestoreComplexArray(CCTK_INT SandRIndex)
}
+#endif
+
return 0;
}
diff --git a/src/SandR.c b/src/SandR.c
index 586b31f..969bc8c 100644
--- a/src/SandR.c
+++ b/src/SandR.c
@@ -78,7 +78,14 @@ void MoL_RestoreSandR(CCTK_ARGUMENTS)
CCTK_INT totalsize;
CCTK_INT vectorstart;
CCTK_REAL *SandRDataArray;
+
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
CCTK_COMPLEX *SandRComplexDataArray;
+
+#endif
totalsize = cctk_lsh[0] * cctk_lsh[1] * cctk_lsh[2];
@@ -100,6 +107,10 @@ void MoL_RestoreSandR(CCTK_ARGUMENTS)
totalsize * sizeof(CCTK_REAL));
}
+ /* FIXME */
+
+#ifdef MOLDOESCOMPLEX
+
for (var = 0; var < MoLNumSandRComplexVariables; var++)
{
@@ -111,6 +122,8 @@ void MoL_RestoreSandR(CCTK_ARGUMENTS)
memcpy(SandRComplexDataArray, &ComplexSandRScratchSpace[vectorstart],
totalsize * sizeof(CCTK_COMPLEX));
}
+
+#endif
return;