runtime schedule adding and injection of c atoms
[physik/posic.git] / moldyn.c
index 992d112..433be68 100644 (file)
--- a/moldyn.c
+++ b/moldyn.c
@@ -1391,7 +1391,8 @@ return 0;
        printf("[moldyn] integration start, go get a coffee ...\n");
 
        /* executing the schedule */
-       for(sched->count=0;sched->count<sched->total_sched;sched->count++) {
+       sched->count=0;
+       while(sched->count<sched->total_sched) {
 
                /* setting amount of runs and finite time step size */
                moldyn->tau=sched->tau[sched->count];
@@ -1489,13 +1490,15 @@ return 0;
        }
 
                /* check for hooks */
-               if(sched->count+1<sched->total_sched)
-                       if(sched->hook) {
-                               printf("\n ## schedule hook %d/%d start ##\n",
-                                      sched->count+1,sched->total_sched);
-                               sched->hook(moldyn,sched->hook_params);
-                               printf(" ## schedule hook end ##\n");
-                       }
+               if(sched->hook) {
+                       printf("\n ## schedule hook %d/%d start ##\n",
+                              sched->count+1,sched->total_sched-1);
+                       sched->hook(moldyn,sched->hook_params);
+                       printf(" ## schedule hook end ##\n");
+               }
+
+               /* increase the schedule counter */
+               sched->count+=1;
 
        }