diff --git a/extern/mantaflow/preprocessed/plugin/flip.cpp b/extern/mantaflow/preprocessed/plugin/flip.cpp index 8757958d4b0..f5d7147c34f 100644 --- a/extern/mantaflow/preprocessed/plugin/flip.cpp +++ b/extern/mantaflow/preprocessed/plugin/flip.cpp @@ -1012,6 +1012,7 @@ struct ComputeAveragedLevelsetWeight : public KernelBase { const ParticleIndexSystem &indexSys, LevelsetGrid &phi, const Real radius, + const Real sradiusInv, const ParticleDataImpl *ptype, const int exclude, Grid *save_pAcc = nullptr, @@ -1020,8 +1021,6 @@ struct ComputeAveragedLevelsetWeight : public KernelBase { const Vec3 gridPos = Vec3(i, j, k) + Vec3(0.5); // shifted by half cell Real phiv = radius * 1.0; // outside - // loop over neighborhood, similar to ComputeUnionLevelsetPindex - const Real sradiusInv = 1. / (4. * radius * radius); const int r = int(radius) + 1; // accumulators Real wacc = 0.; @@ -1120,17 +1119,19 @@ struct ComputeAveragedLevelsetWeight : public KernelBase { { const int _maxX = maxX; const int _maxY = maxY; + // loop over neighborhood, similar to ComputeUnionLevelsetPindex + const Real sradiusInv = 1. / (4. * radius * radius); if (maxZ > 1) { for (int k = __r.begin(); k != (int)__r.end(); k++) for (int j = 0; j < _maxY; j++) for (int i = 0; i < _maxX; i++) - op(i, j, k, parts, index, indexSys, phi, radius, ptype, exclude, save_pAcc, save_rAcc); + op(i, j, k, parts, index, indexSys, phi, radius, sradiusInv, ptype, exclude, save_pAcc, save_rAcc); } else { const int k = 0; for (int j = __r.begin(); j != (int)__r.end(); j++) for (int i = 0; i < _maxX; i++) - op(i, j, k, parts, index, indexSys, phi, radius, ptype, exclude, save_pAcc, save_rAcc); + op(i, j, k, parts, index, indexSys, phi, radius, sradiusInv, ptype, exclude, save_pAcc, save_rAcc); } } void run()