- if(!(md->schedule.count%2)) {
- /* add carbon at random place, and enable t scaling */
- for(j=0;j<NR_ATOMS;j++) {
+ /* quit */
+ if(hp->quit)
+ return 0;
+
+ /* switch on t scaling */
+ if(md->schedule.count==0)
+ set_pt_scale(md,0,0,T_SCALE_BERENDSEN,100.0);
+
+ /* last schedule add if there is enough carbon inside */
+ if(hp->a_count==(INJECT*NR_ATOMS)) {
+ hp->quit=1;
+ moldyn_add_schedule(md,5000,1.0);
+ return 0;
+ }
+
+ /* more relaxing time for too high temperatures */
+ if(md->t-md->t_ref>T_C) {
+ moldyn_add_schedule(md,10,1.0);
+ return 0;
+ }
+
+ /* inject carbon atoms */
+ printf("injecting another %d carbon atoms ...(-> %d / %d)\n",
+ NR_ATOMS,hp->a_count+NR_ATOMS,INJECT*NR_ATOMS);
+ for(j=0;j<NR_ATOMS;j++) {