diff options
author | hawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2003-05-24 14:34:37 +0000 |
---|---|---|
committer | hawke <hawke@578cdeb0-5ea1-4b81-8215-5a3b8777ee0b> | 2003-05-24 14:34:37 +0000 |
commit | 627caa6bdf1e4b6db96a799454303d8b2e7935fe (patch) | |
tree | 1664fad214476385f5c296f081ee13bb2b8db58b | |
parent | f3a2829b5b32b6fad8383ac16c16ac6c2f58b696 (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.ccl | 12 | ||||
-rw-r--r-- | param.ccl | 6 | ||||
-rw-r--r-- | schedule.ccl | 34 | ||||
-rw-r--r-- | src/GenericRK.c | 24 | ||||
-rw-r--r-- | src/ICN.c | 12 | ||||
-rw-r--r-- | src/InitialCopy.c | 27 | ||||
-rw-r--r-- | src/RK2.c | 20 | ||||
-rw-r--r-- | src/Registration.c | 40 | ||||
-rw-r--r-- | src/SandR.c | 13 |
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 @@ -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++) @@ -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; } @@ -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; |