- fd=open("pair_corr_func_ab.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[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",
+ printf("[pair corr calc] reading save file ...\n");
+ ret=moldyn_read_save_file(&moldyn,argv[j]);
+ if(ret) {
+ printf("[pair corr calc] exit!\n");
+ return ret;
+ }
+
+ moldyn.cutoff*=2;
+ moldyn.cutoff_square*=4;
+
+ slots=moldyn.cutoff/dr;
+ printf("[pair corr calc]\n");
+ printf(" slots: %d\n",slots);
+ printf(" cutoff: %f\n",moldyn.cutoff);
+ printf(" dr: %f\n",dr);
+
+ if(first) {
+ stat=(double *)malloc(3*slots*sizeof(double));
+ total=(double *)malloc(3*slots*sizeof(double));
+ first=0;
+ if(stat==NULL) {
+ perror("[pair corr calc] alloc mem (stat)");
+ return -1;
+ }
+ if(total==NULL) {
+ perror("[pair corr calc] alloc mem (toal)");
+ return -1;
+ }
+ memset(total,0,3*slots*sizeof(double));
+ }
+
+ /* link cell init */
+ link_cell_init(&moldyn,VERBOSE);
+
+ calculate_pair_correlation(&moldyn,dr,stat);
+
+ for(i=0;i<3*slots;i++)
+ total[i]+=stat[i];
+
+ }
+
+ fd=open("pair_corr_func.txt",