virtual void writeOutput();
private:
- class ModuleData;
+ //class ModuleData;
double Gaussian(double value, double sigma, RVec Rpos, RVec Rgrid, RVec GridSpacing);
AnalysisNeighborhood nb_;
const TopologyInformation *top_;
- std::vector < std::vector < std::vector<double>>> gausGrid_;
+ std::vector< std::vector < std::vector<double>>> gausGrid_;
+ std::vector<std::vector<std::vector<bool>>> isSolvent_;
std::vector<double> vdw_radius_;
};
}
// prepare gausGrid
gausGrid_.resize(gridPoints_[XX], std::vector < std::vector < double>>(gridPoints_[YY], std::vector<double>(gridPoints_[ZZ])));
+ isSolvent_.resize(gridPoints_[XX], std::vector < std::vector < bool>>(gridPoints_[YY], std::vector<bool>(gridPoints_[ZZ])));
}
void
//fprintf(stderr, "Gausian = %3.8f\n",Gaussian(top->atoms.atom[pair.refIndex()].m, 0.2, refPos, point, gridSpacing_)*AMU/((NANO*NANO*NANO)*(gridSpacing_[XX]*gridSpacing_[YY]*gridSpacing_[ZZ])));
//gausGrid_[i][j][k] += Gaussian(top->atoms.atom[pair.refIndex()].m, 0.1, refPos, point, gridSpacing_)*AMU/((NANO*NANO*NANO)*(gridSpacing_[XX]*gridSpacing_[YY]*gridSpacing_[ZZ]));
gausGrid_[i][j][k] += Gaussian(top->atoms.atom[pair.refIndex()].m, vdw_radius_[pair.refIndex()], refPos, point, gridSpacing_)*AMU/((NANO*NANO*NANO)*(gridSpacing_[XX]*gridSpacing_[YY]*gridSpacing_[ZZ]));
+ // Mark if this is a pure solvent point e.g. no non-solvent atoms within cut-off
+
}
fprintf(stderr, "GausGrid[%d, %d, %d] = %f\n", i, j, k, gausGrid_[i][j][k]);
}