diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/RK3.c | 6 | ||||
-rw-r--r-- | src/RK45.c | 5 |
2 files changed, 7 insertions, 4 deletions
@@ -262,6 +262,8 @@ void MoL_RK3Add(CCTK_ARGUMENTS) } case 1: { + const CCTK_REAL one_third = 1.0 / 3.0; + for (var = 0; var < MoLNumEvolvedVariables; var++) { OldVar = (CCTK_REAL*)CCTK_VarDataPtrI(cctkGH, 1, @@ -273,7 +275,7 @@ void MoL_RK3Add(CCTK_ARGUMENTS) for (index = 0; index < totalsize; index++) { - UpdateVar[index] = (OldVar[index] + 2*UpdateVar[index])/3 + UpdateVar[index] = (OldVar[index] + 2*UpdateVar[index]) * one_third + CCTK_DELTA_TIME * RHSVar[index]; } } @@ -305,7 +307,7 @@ void MoL_RK3Add(CCTK_ARGUMENTS) for (index = 0; index < arraytotalsize; index++) { - UpdateVar[index] = (OldVar[index] + 2*UpdateVar[index])/3 + UpdateVar[index] = (OldVar[index] + 2*UpdateVar[index]) * one_third + CCTK_DELTA_TIME * RHSVar[index]; } } @@ -122,6 +122,8 @@ void MoL_RK45Add(CCTK_ARGUMENTS) for (var = 0; var < MoLNumEvolvedVariables; var++) { + const CCTK_REAL tmp = (*Original_Delta_Time) / cctkGH->cctk_timefac; + UpdateVar = (CCTK_REAL *)CCTK_VarDataPtrI(cctkGH, 0, EvolvedVariableIndex[var]); RHSVar = (CCTK_REAL *)CCTK_VarDataPtrI(cctkGH, 0, @@ -134,8 +136,7 @@ void MoL_RK45Add(CCTK_ARGUMENTS) (*MoL_Intermediate_Step))); for (index = 0; index < totalsize; index++) { - ScratchVar[index] = (*Original_Delta_Time) / cctkGH->cctk_timefac * - RHSVar[index]; + ScratchVar[index] = tmp * RHSVar[index]; } } |