X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=moldyn.c;h=f2923c3fbc52831fdd38bfa4b70833d431b635e6;hb=4d1515cac0af6b11df3d34a0bb19ea885676ee73;hp=93c72daa1dccc633c766794a777446d20aacf164;hpb=043b240b2312c1166440d11928e12fa3ad187086;p=physik%2Fposic.git diff --git a/moldyn.c b/moldyn.c index 93c72da..f2923c3 100644 --- a/moldyn.c +++ b/moldyn.c @@ -2375,13 +2375,13 @@ int calculate_pair_correlation(t_moldyn *moldyn,double dr,void *ptr) { unsigned char bc; t_3dvec dist; double d; - //double norm; + double norm; int o,s; unsigned char ibrand; lc=&(moldyn->lc); - slots=moldyn->cutoff/dr; + slots=2.0*moldyn->cutoff/dr; o=2*slots; if(slots*dr<=moldyn->cutoff) @@ -2458,7 +2458,7 @@ int calculate_pair_correlation(t_moldyn *moldyn,double dr,void *ptr) { d=v3_absolute_square(&dist); /* ignore if greater or equal cutoff */ - if(d>=moldyn->cutoff_square) + if(d>=4.0*moldyn->cutoff_square) continue; /* fill the slots */ @@ -2494,16 +2494,17 @@ int calculate_pair_correlation(t_moldyn *moldyn,double dr,void *ptr) { } } - /* normalization + /* normalization */ for(i=1;i 2 pi r r dr - norm=2*M_PI*moldyn->count*(i*dr*i*dr)*dr; + // ... and actually it's a constant times r^2 + norm=i*i*dr*dr; stat[i]/=norm; stat[slots+i]/=norm; stat[o+i]/=norm; } - */ + /* */ if(ptr==NULL) { /* todo: store/print pair correlation function */