diff options
-rw-r--r-- | src/Counter.c | 8 | ||||
-rw-r--r-- | src/GenericRK.c | 43 | ||||
-rw-r--r-- | src/ICN.c | 15 | ||||
-rw-r--r-- | src/InitialCopy.c | 72 | ||||
-rw-r--r-- | src/RK2.c | 4 | ||||
-rw-r--r-- | src/Registration.c | 10 | ||||
-rw-r--r-- | src/SandR.c | 15 | ||||
-rw-r--r-- | src/SetTime.c | 46 |
8 files changed, 66 insertions, 147 deletions
diff --git a/src/Counter.c b/src/Counter.c index bd10b0a..fca7f58 100644 --- a/src/Counter.c +++ b/src/Counter.c @@ -67,14 +67,6 @@ int MoL_SetCounter(CCTK_ARGUMENTS) CCTK_REAL *Var; - /* - // Var = CCTK_VarDataPtr(cctkGH,0,"adm_bssn::ADM_BS_gxx"); - Var = CCTK_VarDataPtr(cctkGH,0,"wavetoymol::phi"); - printf("MoL:Counter. Level %d. Variable %g\n",cctk_levfac[0],Var[0]); - // Var = CCTK_VarDataPtr(cctkGH,1,"adm_bssn::ADM_BS_gxx"); - Var = CCTK_VarDataPtr(cctkGH,1,"wavetoymol::phi"); - printf("\n\nMoL:Counter. Level %d. Variable %g\n\n",cctk_levfac[0],Var[0]); - */ *MoL_Intermediate_Step = MoL_Intermediate_Steps; return 0; diff --git a/src/GenericRK.c b/src/GenericRK.c index 12209e9..939faa3 100644 --- a/src/GenericRK.c +++ b/src/GenericRK.c @@ -91,33 +91,22 @@ void MoL_GenericRKAdd(CCTK_ARGUMENTS) RHSVar = (CCTK_REAL *)CCTK_VarDataPtrI(cctkGH, 0, RHSVariableIndex[var]); - /* +#ifdef MOLDEBUG printf("In generic RK. Variable %d (%s). RHS %d (%s).\n", EvolvedVariableIndex[var], CCTK_VarName(EvolvedVariableIndex[var]), RHSVariableIndex[var], CCTK_VarName(RHSVariableIndex[var])); - */ +#endif for (index = 0; index < totalsize; index++) { UpdateVar[index] = (*Original_Delta_Time) * beta * RHSVar[index]; - /* UpdateVar[index] = CCTK_DELTA_TIME * beta * RHSVar[index];*/ - /* UpdateVar[index] = CCTK_DELTA_TIME * RHSVar[index];*/ - /* +#ifdef MOLDEBUG printf("Variable: %d. Index: %d. dt: %f. beta %f. RHS: %f. q: %f.\n", - var, index, (*Original_Delta_Time), beta, RHSVar[index], + var, index, (*Original_Delta_Time), beta, RHSVar[index], UpdateVar[index]); - */ - /* - if (EvolvedVariableIndex[var]==CCTK_VarIndex("admbase::alp")) - { - - printf("RK: Index: %d. dt: %f. beta %f. RHS: %f (%s). q: %f.\n", - index, (*Original_Delta_Time), beta, RHSVar[index], - CCTK_VarName(RHSVariableIndex[var]),UpdateVar[index]); - } - */ +#endif } for (scratchstep = 0; @@ -134,11 +123,11 @@ void MoL_GenericRKAdd(CCTK_ARGUMENTS) { ScratchVar = &ScratchSpace[(var * MoL_Num_Scratch_Levels + scratchindex) * totalsize]; - /* +#ifdef MOLDEBUG printf("Reading from scratch space, initial address %ld index %d\n", ScratchVar, (var * MoL_Num_Scratch_Levels + scratchindex) * totalsize); - */ +#endif } else { @@ -151,10 +140,10 @@ void MoL_GenericRKAdd(CCTK_ARGUMENTS) for (index = 0; index < totalsize; index++) { UpdateVar[index] += alpha * ScratchVar[index]; - /* +#ifdef MOLDEBUG printf("Variable: %d. Index: %d. step: %d. alpha: %f. Scratch: %f. q: %f.\n", - var, index, (*MoL_Intermediate_Step), alpha, ScratchVar[index], UpdateVar[index]); - */ + var, index, (*MoL_Intermediate_Step), alpha, ScratchVar[index], UpdateVar[index]); +#endif } } @@ -171,19 +160,19 @@ void MoL_GenericRKAdd(CCTK_ARGUMENTS) ScratchVar = &ScratchSpace[(var * MoL_Num_Scratch_Levels + MoL_Intermediate_Steps - (*MoL_Intermediate_Step)) * totalsize]; - /* +#ifdef MOLDEBUG printf("Writing to scratch space, initial address %ld, index %d \n", ScratchVar, (var * MoL_Num_Scratch_Levels + - MoL_Intermediate_Steps - - (*MoL_Intermediate_Step)) * totalsize); - */ + MoL_Intermediate_Steps - + (*MoL_Intermediate_Step)) * totalsize); +#endif for (index = 0; index < totalsize; index++) { ScratchVar[index] = UpdateVar[index]; - /* +#ifdef MOLDEBUG printf("Variable: %d. Index: %d. step: %d. Scratch: %f.\n", var, index, (*MoL_Intermediate_Step), ScratchVar[index]); - */ +#endif } } } @@ -75,7 +75,7 @@ void MoL_ICNAdd(CCTK_ARGUMENTS) CCTK_REAL *UpdateVar; CCTK_REAL *RHSVar; - /* +#ifdef MOLDEBUG printf("Inside ICN.\nProcessor %d.\nStep %d.\nRefinement %d.\nTimestep %g.\nSpacestep %g.\nTime %g\n", CCTK_MyProc(cctkGH), MoL_Intermediate_Steps - *MoL_Intermediate_Step + 1, @@ -83,12 +83,12 @@ void MoL_ICNAdd(CCTK_ARGUMENTS) cctk_delta_time, CCTK_DELTA_SPACE(0), cctk_time); - */ +#endif totalsize = cctk_lsh[0] * cctk_lsh[1] * cctk_lsh[2]; - /* +#ifdef MOLDEBUG printf("MoL: the ICN routine says dt = %f.\n", CCTK_DELTA_TIME); - */ +#endif for (var = 0; var < MoLNumEvolvedVariables; var++) { OldVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 1, @@ -101,13 +101,6 @@ void MoL_ICNAdd(CCTK_ARGUMENTS) for (index = 0; index < totalsize; index++) { UpdateVar[index] = OldVar[index] + CCTK_DELTA_TIME * RHSVar[index]; - /* - if (CCTK_VarIndex("wavetoymol::phi") == EvolvedVariableIndex[var]){ - CCTK_VWarn(1,__LINE__,__FILE__,"MoL", - "ICN: proc %d index %d, dt %g, oldvar %g, rhs %g, new %g\n", - CCTK_MyProc(cctkGH), index,CCTK_DELTA_TIME, - OldVar[index], RHSVar[index], UpdateVar[index]); - }*/ } } diff --git a/src/InitialCopy.c b/src/InitialCopy.c index 5d09fa6..0a6a54b 100644 --- a/src/InitialCopy.c +++ b/src/InitialCopy.c @@ -35,6 +35,8 @@ CCTK_FILEVERSION(AlphaThorns_MoL_InitialCopy_c); void MoL_InitialCopy(CCTK_ARGUMENTS); +void MoL_FillAllLevels(CCTK_ARGUMENTS); + /******************************************************************** ********************* Other Routine Prototypes ********************* ********************************************************************/ @@ -87,15 +89,6 @@ void MoL_InitialCopy(CCTK_ARGUMENTS) EvolvedVariableIndex[var]); CurrentVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 0, EvolvedVariableIndex[var]); - /* - if (EvolvedVariableIndex[var] == CCTK_VarIndex("adm_bssn::ADM_BS_gxx")) - { - printf("Initial copy: Pointer to time levels %ld %ld\n",PreviousVar, - CurrentVar); - printf("Level %d:First point of first two levels is %g and %g.\n", - cctk_levfac[0],PreviousVar[0],CurrentVar[0]); - } - */ if (PreviousVar && CurrentVar) { memcpy(CurrentVar, PreviousVar, totalsize * sizeof(CCTK_REAL)); @@ -105,15 +98,7 @@ void MoL_InitialCopy(CCTK_ARGUMENTS) CCTK_VWarn(0,__LINE__,__FILE__,"MoL","Null pointer for variable %s", CCTK_VarName(EvolvedVariableIndex[var])); } - - /* - // if (EvolvedVariableIndex[var] == CCTK_VarIndex("adm_bssn::adm_bs_gxx")) - if (EvolvedVariableIndex[var] == CCTK_VarIndex("wavetoymol::phi")) - { - printf("Init copy: Lev %d Current %g.\n",cctk_levfac[0], - CurrentVar[0]); - } - */ + } /* @@ -143,18 +128,15 @@ void MoL_InitialCopy(CCTK_ARGUMENTS) SandRVariableIndex[var]); CurrentVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 0, SandRVariableIndex[var]); - /* ScratchVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 0, - SandRScratchSpace[var]); - */ ScratchVar = &SandRScratchSpace[var*totalsize]; - /* +#ifdef MOLDEBUG printf("Pointers for the SandR vars are to %ld, %ld and %ld.\n", PreviousVar, CurrentVar, ScratchVar); printf("Init1:Variable %s, current %g, previous %g, scratch %g\n", CCTK_VarName(SandRVariableIndex[var]), CurrentVar[0], PreviousVar[0], ScratchVar[0]); - */ +#endif if (PreviousVar && CurrentVar && ScratchVar) { memcpy(ScratchVar, CurrentVar, totalsize * sizeof(CCTK_REAL)); @@ -165,11 +147,11 @@ void MoL_InitialCopy(CCTK_ARGUMENTS) CCTK_VWarn(0,__LINE__,__FILE__,"MoL","Null pointer for variable %s", CCTK_VarName(SandRScratchSpace[var])); } - /* +#ifdef MOLDEBUG printf("Init2:Variable %s, current %g, previous %g, scratch %g\n", CCTK_VarName(SandRVariableIndex[var]), CurrentVar[0], PreviousVar[0], ScratchVar[0]); - */ +#endif } /* @@ -214,15 +196,27 @@ void MoL_InitialCopy(CCTK_ARGUMENTS) return; } -/******************************************************************** - ********************* Local Routines ************************* - ********************************************************************/ + /*@@ + @routine MoL_FillAllLevels + @date Fri Apr 25 16:11:18 2003 + @author Ian Hawke + @desc + This routine is a bit of a hack, and I'm still not convinced + it is really necessary. It fills the previous timelevels by + copying the data from the current timelevels, which should have + been set up during the CCTK_INITIAL timebin. + It also prints some useful information about the number of + registered functions. + @enddesc + @calls + @calledby + @history + + @endhistory -/* -Hack -*/ +@@*/ -void MoL_FillAllLevels(CCTK_ARGUMENTS) +void MoL_FillAllLevels(CCTK_ARGUMENTS) { DECLARE_CCTK_ARGUMENTS @@ -236,9 +230,6 @@ void MoL_FillAllLevels(CCTK_ARGUMENTS) totalsize = cctk_lsh[0]*cctk_lsh[1]*cctk_lsh[2]; -// printf("\n\n Fill all levels \n\n"); - - for (var = 0; var < MoLNumEvolvedVariables; var++) { CurrentVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 0, @@ -251,13 +242,6 @@ void MoL_FillAllLevels(CCTK_ARGUMENTS) { memcpy(PreviousVar, CurrentVar, totalsize * sizeof(CCTK_REAL)); } - /* - if (EvolvedVariableIndex[var] == CCTK_VarIndex("wavetoymol::phi")) - { - printf("All levels copy: Lev %d tl %d Current %g.\n",cctk_levfac[0], - level,PreviousVar[0]); - } - */ } } @@ -310,3 +294,7 @@ void MoL_FillAllLevels(CCTK_ARGUMENTS) return; } + +/******************************************************************** + ********************* Local Routines ************************* + ********************************************************************/ @@ -74,14 +74,14 @@ void MoL_RK2Add(CCTK_ARGUMENTS) CCTK_REAL *UpdateVar; CCTK_REAL *RHSVar; - /* +#ifdef MOLDEBUG printf("Inside RK2.\nStep %d.\nRefinement %d.\nTimestep %g.\nSpacestep %g.\nTime %g\n", MoL_Intermediate_Steps - *MoL_Intermediate_Step + 1, *cctk_levfac, cctk_delta_time, CCTK_DELTA_SPACE(0), cctk_time); - */ +#endif totalsize = cctk_lsh[0] * cctk_lsh[1] * cctk_lsh[2]; diff --git a/src/Registration.c b/src/Registration.c index f5ae5d7..c0b33cd 100644 --- a/src/Registration.c +++ b/src/Registration.c @@ -42,7 +42,7 @@ CCTK_INT MoL_RegisterConstrained(CCTK_INT ConstrainedIndex); CCTK_INT MoL_RegisterSaveAndRestore(CCTK_INT SandRIndex); CCTK_INT MoL_RegisterEvolvedGroup(CCTK_INT EvolvedGroupIndex, - CCTK_INT RHSGroupIndex); + CCTK_INT RHSGroupIndex); CCTK_INT MoL_RegisterConstrainedGroup(CCTK_INT ConstrainedGroupIndex); @@ -79,14 +79,14 @@ CCTK_INT MoL_RegisterEvolved(CCTK_INT EvolvedIndex, CCTK_INT RHSIndex) CCTK_INT ierr, index, varused, numtimelevs1, numtimelevs2; - /* +#ifdef MOLDEBUG printf("Arrived in MoLRegisterEvolved \n"); printf("The indexes are %d and %d.\n",EvolvedIndex, RHSIndex); printf("These correspond to variables %s and %s.\n", CCTK_VarName(EvolvedIndex),CCTK_VarName(RHSIndex)); printf("The pointer to EvolvedVariableIndex: %p\n", EvolvedVariableIndex); - */ +#endif numtimelevs1 = CCTK_NumTimeLevelsFromVarI(EvolvedIndex); numtimelevs2 = CCTK_NumTimeLevelsFromVarI(RHSIndex); @@ -108,10 +108,10 @@ CCTK_INT MoL_RegisterEvolved(CCTK_INT EvolvedIndex, CCTK_INT RHSIndex) for (index = 0; (index < MoLNumEvolvedVariables)&&(!varused); index++) { varused = (EvolvedIndex == EvolvedVariableIndex[index]); - /* +#ifdef MOLDEBUG printf("Registering %d. Checking index %d which is %d\n",EvolvedIndex, index,EvolvedVariableIndex[index]); - */ +#endif } if (varused) diff --git a/src/SandR.c b/src/SandR.c index d339223..ea419ff 100644 --- a/src/SandR.c +++ b/src/SandR.c @@ -86,16 +86,13 @@ void MoL_RestoreSandR(CCTK_ARGUMENTS) SandRVariableIndex[var]); vectorstart = var * totalsize; - /* + +#ifdef MOLDEBUG printf("Restore:Variable %s, first entry %g, scratch %g\n", - CCTK_VarName(SandRVariableIndex[var]), SandRDataArray[0], SandRScratchSpace[vectorstart]); - */ - /* - for (index = 0; index < totalsize; index++) - { - SandRDataArray[index] = SandRScratchSpace[vectorstart + index]; - } - */ + CCTK_VarName(SandRVariableIndex[var]), SandRDataArray[0], + SandRScratchSpace[vectorstart]); +#endif + memcpy(SandRDataArray, &SandRScratchSpace[vectorstart], totalsize * sizeof(CCTK_REAL)); } diff --git a/src/SetTime.c b/src/SetTime.c index 898f8a6..4e99c22 100644 --- a/src/SetTime.c +++ b/src/SetTime.c @@ -65,46 +65,11 @@ int MoL_SetTime(CCTK_ARGUMENTS) DECLARE_CCTK_ARGUMENTS; DECLARE_CCTK_PARAMETERS; - /* - CCTK_INT i,j,k; - CCTK_REAL *Var0,*Var1,*Var2; - - Var0 = (CCTK_REAL*)CCTK_VarDataPtr(cctkGH, 0, - "wavetoymol::phi"); - Var1 = (CCTK_REAL*)CCTK_VarDataPtr(cctkGH, 1, - "wavetoymol::phi"); - Var2 = (CCTK_REAL*)CCTK_VarDataPtr(cctkGH, 2, - "wavetoymol::phi"); - printf("Grid %d: Pointer to time levels %ld %ld %ld\n", - cctkGH->cctk_levfac[0], Var0,Var1,Var2); - printf("First point of first two levels is %g and %g.\n", - Var0[0],Var1[0]);*/ - /* - for (k=0;k<cctk_lsh[2];k++) - { - for (j=0;j<cctk_lsh[1];j++) - { - for (i=0;i<cctk_lsh[0];i++) - { - printf("Set time: %d %d %d %d %g\n", cctk_levfac[0], - i, j, k, - Var1[CCTK_GFINDEX3D(cctkGH, i, j, k)]); - } - } - }*/ - *Original_Time = cctkGH->cctk_time; *Original_Delta_Time = cctkGH->CCTK_DELTA_TIME; cctkGH->cctk_time -= cctkGH->CCTK_DELTA_TIME; - /* - CCTK_VInfo(CCTK_THORNSTRING,"Original time was %g. Reset to %g", - *Original_Time,cctkGH->cctk_time); - */ - /* if ( (CCTK_EQUALS(MoL_ODE_Method,"ICN")) || - ( (CCTK_EQUALS(MoL_ODE_Method,"Generic")) && - ( (MoL_Intermediate_Steps == 4)) - || CCTK_EQUALS(Generic_Type,"ICN") ) )*/ + if ( (CCTK_EQUALS(MoL_ODE_Method,"ICN")) || ( (CCTK_EQUALS(MoL_ODE_Method,"Generic")) && CCTK_EQUALS(Generic_Type,"ICN") ) ) @@ -152,7 +117,6 @@ int MoL_ResetTime(CCTK_ARGUMENTS) if (MoL_Intermediate_Steps == 2) { cctkGH->cctk_time = (*Original_Time); - /* cctkGH->CCTK_DELTA_TIME = 0.5 * (*Original_Delta_Time);*/ } /* else if (MoL_Intermediate_Steps == 3) { @@ -214,14 +178,10 @@ int MoL_ResetTime(CCTK_ARGUMENTS) } }*/ } - /* - CCTK_VInfo(CCTK_THORNSTRING,"Time has been reset to %g", - cctkGH->cctk_time); - */ - /* +#ifdef MOLDEBUG printf("MoL has once more reset t: %f: and dt: %f.\n", cctkGH->cctk_time, cctkGH->CCTK_DELTA_TIME); - */ +#endif return 0; } |