diff options
author | allen <allen@b61c5cb5-eaca-4651-9a7a-d64986f99364> | 2001-03-16 13:55:18 +0000 |
---|---|---|
committer | allen <allen@b61c5cb5-eaca-4651-9a7a-d64986f99364> | 2001-03-16 13:55:18 +0000 |
commit | 7bffa1ceb0bb60517936fcd9b8c62ab6ea026762 (patch) | |
tree | 89f0c11381a06a6c2ca6daeebba03e1ca783954a | |
parent | 90ca3ed6efb6fbb110e15af764d5bc5253e05159 (diff) |
Adding extra conditions for termination.
git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@311 b61c5cb5-eaca-4651-9a7a-d64986f99364
-rw-r--r-- | param.ccl | 1 | ||||
-rw-r--r-- | src/Evolve.c | 13 |
2 files changed, 8 insertions, 6 deletions
@@ -9,6 +9,7 @@ USES REAL cctk_final_time USES INT cctk_itlast +USES BOOLEAN terminate_next ############################# Restricted Parameters ######################### restricted: diff --git a/src/Evolve.c b/src/Evolve.c index 6c20bcc..14a8b9c 100644 --- a/src/Evolve.c +++ b/src/Evolve.c @@ -46,7 +46,7 @@ CCTK_FILEVERSION(CactusPUGH_PUGH_Evolve_c) /* Local function prototypes. */ -static int DoneMainLoop (CCTK_REAL cctk_time, int iteration); +static int DoneMainLoop (cGH *GH, CCTK_REAL cctk_time, int iteration); static int StepGH(cGH *GH); static void RotateTimeLevelsGH(cGH *cgh); @@ -85,7 +85,7 @@ int PUGH_Evolve(tFleshConfig *config) } EndForallConvLevels; - while (! DoneMainLoop (config->GH[0]->cctk_time, iteration)) + while (! DoneMainLoop (config->GH[0],config->GH[0]->cctk_time, iteration)) { iteration = CCTK_SetMainLoopIndex(++iteration); @@ -155,13 +155,14 @@ int PUGH_Evolve(tFleshConfig *config) @endhistory @@*/ -static int DoneMainLoop (CCTK_REAL cctk_time, int iteration) +static int DoneMainLoop (cGH *GH, CCTK_REAL cctk_time, int iteration) { DECLARE_CCTK_PARAMETERS - return (! (iteration < cctk_itlast || - (cctk_final_time > cctk_initial_time ? - cctk_time < cctk_final_time : 0))); + return (terminate_next || CCTK_TerminationReached(GH) || + ! ( iteration < cctk_itlast || + (cctk_final_time > cctk_initial_time ? + cctk_time < cctk_final_time : 0))); } |