- while (pairSearch.findNextPair(&pair))
- {
- fprintf(stderr,"Index %d\n", pair.refIndex());
- fprintf(stderr,"dx = (%f, %f, %f)\n", pair.dx()[XX], pair.dx()[YY], pair.dx()[ZZ] );
- fprintf(stderr,"ref = (%f, %f, %f)\n", fr.x[pair.refIndex()][XX], fr.x[pair.refIndex()][YY], fr.x[pair.refIndex()][ZZ]);
- fprintf(stderr,"ref_dx = (%f, %f, %f)\n", GridSpacing[XX]+pair.dx()[XX], GridSpacing[YY]+pair.dx()[YY], GridSpacing[ZZ]+pair.dx()[ZZ] );
-
- }
+
+ fprintf(stderr,"Box dimensions:\n");
+ for(int i = 0; i<DIM; i++) {
+ fprintf(stderr,"[ ");
+ for(int j = 0 ; j<DIM; j++) {
+ fprintf(stderr," %f ", fr.box[i][j]);
+ }
+ fprintf(stderr, " ]\n");
+ }
+ // main loop over grid points
+ for (int i=0; i<gridPoints_[XX];i++){
+ for(int j=0; j<gridPoints_[YY];j++) {
+ for (int k=0; k<gridPoints_[ZZ];k++) {
+ RVec point(i*gridSpacing_[XX], j*gridSpacing_[YY], k*gridSpacing_[ZZ]);
+ AnalysisNeighborhoodPairSearch pairSearch = nbsearch.startPairSearch(point.as_vec());
+ AnalysisNeighborhoodPair pair;
+ while (pairSearch.findNextPair(&pair)) {
+ // fprintf(stderr,"Index %d\n", pair.refIndex());
+ // fprintf(stderr,"dx = (%f, %f, %f)\n", pair.dx()[XX], pair.dx()[YY], pair.dx()[ZZ] );
+ // fprintf(stderr,"ref = (%f, %f, %f)\n", fr.x[pair.refIndex()][XX], fr.x[pair.refIndex()][YY], fr.x[pair.refIndex()][ZZ]);
+ // fprintf(stderr,"ref_dx = (%f, %f, %f)\n", GridSpacing[XX]+pair.dx()[XX], GridSpacing[YY]+pair.dx()[YY], GridSpacing[ZZ]+pair.dx()[ZZ] );
+ RVec refPos(point[XX]+pair.dx()[XX], point[YY]+pair.dx()[YY], point[ZZ]+pair.dx()[ZZ]);
+ gausGrid_[i][j][k] += Gaussian(top->atoms.atom[pair.refIndex()].m, 2.0, refPos, point, gridSpacing_);
+ }
+ fprintf(stderr, "GausGrid[%d, %d, %d] = %f\n", i,j,k, gausGrid_[i][j][k]);
+ }
+ }
+ }
+ // only for orthogonal boxes...
+ fprintf(stderr, "NX = %d, NY = %d, NZ = %d\n", gridPoints_[XX], gridPoints_[YY], gridPoints_[ZZ]);