X-Git-Url: https://hackdaworld.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=moldyn.c;h=92c4e58f3d78957a03704c40fbe62af686155a9b;hb=fd4ecbff76b2e4fc70ca88e64fb76c85fa953888;hp=a310e912a0567941248bcabeb690c5643bfd4081;hpb=e1348f10aff2c0bb1040108181d13fcb48db5af2;p=physik%2Fposic.git diff --git a/moldyn.c b/moldyn.c index a310e91..92c4e58 100644 --- a/moldyn.c +++ b/moldyn.c @@ -13,6 +13,8 @@ #include #include #include +#include +#include #include #include "moldyn.h" @@ -1348,6 +1350,7 @@ int moldyn_integrate(t_moldyn *moldyn) { char dir[128]; double ds; double energy_scale; + struct timeval t1,t2; //double tp; sched=&(moldyn->schedule); @@ -1371,6 +1374,9 @@ int moldyn_integrate(t_moldyn *moldyn) { /* energy scaling factor */ energy_scale=moldyn->count*EV; + /* get current time */ + gettimeofday(&t1,NULL); + /* calculate initial forces */ potential_force_calc(moldyn); #ifdef DEBUG @@ -1464,7 +1470,8 @@ return 0; if(!(i%s)) { snprintf(dir,128,"%s/s-%07.f.save", moldyn->vlsdir,moldyn->time); - fd=open(dir,O_WRONLY|O_TRUNC|O_CREAT); + fd=open(dir,O_WRONLY|O_TRUNC|O_CREAT, + S_IRUSR|S_IWUSR); if(fd<0) perror("[moldyn] save fd open"); else { write(fd,moldyn,sizeof(t_moldyn)); @@ -1483,12 +1490,19 @@ return 0; /* display progress */ if(!(i%10)) { - printf("\rsched:%d, steps:%d, T:%3.1f/%3.1f P:%4.1f/%4.1f V:%6.1f", + /* get current time */ + gettimeofday(&t2,NULL); + + printf("\rsched:%d, steps:%d, T:%3.1f/%3.1f P:%4.1f/%4.1f V:%6.1f (%d)", sched->count,i, moldyn->t,moldyn->t_avg, moldyn->p_avg/BAR,moldyn->gp_avg/BAR, - moldyn->volume); + moldyn->volume, + (int)(t2.tv_sec-t1.tv_sec)); fflush(stdout); + + /* copy over time */ + t1=t2; } /* increase absolute time */ @@ -1923,6 +1937,17 @@ int moldyn_bc_check(t_moldyn *moldyn) { return 0; } +/* + * restore function + */ + +int moldyn_load(t_moldyn *moldyn) { + + // later ... + + return 0; +} + /* * post processing functions */ @@ -1945,3 +1970,11 @@ int get_line(int fd,char *line,int max) { } } +int analyze_bonds(t_moldyn *moldyn) { + + + + + return 0; +} +