30 void expandStencil(
const std::vector<Vector3d>& gridCoordinates,
const MatrixXd& coordinates,
const double& contributingNeighborhoodSize,
const double& noncontributingNeighborhoodSize)
32 double padding= contributingNeighborhoodSize + noncontributingNeighborhoodSize;
35 origin.setConstant(0.0);
36 step.setConstant(padding);
45 std::map<int, int> particleContributingMapLocal;
51 for (
int i_gridPoint = 0; i_gridPoint < gridCoordinates.size(); i_gridPoint++) {
52 const auto &gridPoint = gridCoordinates[i_gridPoint];
57 const std::vector<int>& particleList=
59 hashParticles.
hashTable.at(neighborBin) : std::vector<int>();
63 for (
const auto &particle: particleList) {
64 double distanceSquared = (coordinates.row(particle) -
65 gridPoint).squaredNorm();
67 if (distanceSquared <= pow(contributingNeighborhoodSize, 2))
69 particleContributingMapLocal[particle] = 1;
70 else if (distanceSquared <= pow(padding, 2))
71 particleContributingMapLocal.insert({particle, 0});
78 for(
const auto& [particle,contributing] : particleContributingMapLocal) {
79 if (contributing == 1)