introduce a 2body bond function with callback, modified pair corr calc
[physik/posic.git] / pair_correlation_calc.c
index f6a256f..c7716a3 100644 (file)
@@ -41,6 +41,7 @@ int main(int argc,char **argv) {
 
        memset(&moldyn,0,sizeof(t_moldyn));
 
+       printf("[pair corr calc] reading save file ...\n");
        ret=moldyn_read_save_file(&moldyn,argv[1]);
        if(ret) {
                printf("[pair corr calc] exit!\n");
@@ -51,7 +52,7 @@ int main(int argc,char **argv) {
        //moldyn.cutoff_square*=4;
 
        dr=atof(argv[2]);
-       slots=moldyn.cutoff/dr;
+       slots=2.0*moldyn.cutoff/dr;
        printf("[pair corr calc]\n");
        printf("  slots: %d\n",slots);
        printf("  cutoff: %f\n",moldyn.cutoff);
@@ -65,28 +66,17 @@ int main(int argc,char **argv) {
 
        calculate_pair_correlation(&moldyn,dr,stat);
 
-       fd=open("pair_corr_func_ab.txt",
+       fd=open("pair_corr_func.txt",
                O_WRONLY|O_CREAT|O_TRUNC,S_IRUSR|S_IWUSR);
-       dprintf(fd,"# type a - type b bonds\n");
+       dprintf(fd,"#r #ab #aa #bb\n");
        for(i=0;i<slots;i++)
-               dprintf(fd,"%f %f\n",i*dr,stat[i]);
+               dprintf(fd,"%f %f %f %f\n",
+                       i*dr,stat[i],stat[slots+i],stat[2*slots+i]);
        close(fd);
-               
-       fd=open("pair_corr_func_aa.txt",
-               O_WRONLY|O_CREAT|O_TRUNC,S_IRUSR|S_IWUSR);
-       dprintf(fd,"# type a - type a bonds\n");
-       for(i=0;i<slots;i++)
-               dprintf(fd,"%f %f\n",i*dr,stat[slots+i]);
-       close(fd);
-               
-       fd=open("pair_corr_func_bb.txt",
-               O_WRONLY|O_CREAT|O_TRUNC,S_IRUSR|S_IWUSR);
-       dprintf(fd,"# type a - type b bonds\n");
-       for(i=0;i<slots;i++)
-               dprintf(fd,"%f %f\n",i*dr,stat[2*slots+i]);
-       close(fd);
-               
+
        free(stat);
 
+       moldyn_free_save_file(&moldyn);
+
        return 0;
 }