X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=pair_correlation_calc.c;fp=pair_correlation_calc.c;h=2f93ab74985b86f60820caf1b5c6e1e5968a6f23;hb=dff2917d22ed07707d222bc10fab7370356699dc;hp=0000000000000000000000000000000000000000;hpb=799fb13ad0a987bacfd259bfc34ba3c4703dd402;p=physik%2Fposic.git diff --git a/pair_correlation_calc.c b/pair_correlation_calc.c new file mode 100644 index 0000000..2f93ab7 --- /dev/null +++ b/pair_correlation_calc.c @@ -0,0 +1,83 @@ +/* + * calcultae pair correlation function + * + * author: frank.zirkelbach@physik.uni-augsburg.de + * + */ + +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include + +#include "moldyn.h" + +int usage(char *prog) { + + printf("\nusage:\n"); + printf(" %s \n\n",prog); + + return -1; +} + +int main(int argc,char **argv) { + + t_moldyn moldyn; + int ret; + double *stat; + int slots; + int i; + double dr; + int fd; + + if(argc!=3) { + usage(argv[0]); + return -1; + } + + ret=moldyn_read_save_file(&moldyn,argv[1]); + if(ret) { + printf("[pair corr calc] exit!\n"); + return ret; + } + + dr=atof(argv[2]); + slots=(int)(moldyn.cutoff/dr); + + stat=(double *)malloc(3*slots*sizeof(double)); + if(stat==NULL) { + perror("[pair corr calc] alloc mem"); + return -1; + } + + calculate_pair_correlation(&moldyn,dr,stat); + + 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