Fix T78170: Mantaflow Crash | Whitewater Particles Baking
authorSebastián Barschkis <sebbas@sebbas.org>
Fri, 26 Jun 2020 16:29:14 +0000 (18:29 +0200)
committerSebastián Barschkis <sebbas@sebbas.org>
Fri, 26 Jun 2020 16:29:43 +0000 (18:29 +0200)
Fixed issue in the upstream Mantaflow repository.

extern/mantaflow/preprocessed/gitinfo.h
extern/mantaflow/preprocessed/plugin/secondaryparticles.cpp

index e4183ec342b6a27f02a9cd2d9ca2a07204d11ed0..73ff70b10a078d641682518f49187066d5a63fa4 100644 (file)
@@ -1,3 +1,3 @@
 
 
-#define MANTA_GIT_VERSION "commit 5ae24e860cf15f1310666e119575cc01bea48598"
+#define MANTA_GIT_VERSION "commit d80d3c821de74315ab26b5efd153d41477b976c4"
index 5e24b6f28db3ada49d26d6be5867f08618f70eb6..5aae7285f1a8da30fdce52850a4708014decd0f7 100644 (file)
@@ -118,7 +118,9 @@ struct knFlipComputeSecondaryParticlePotentials : public KernelBase {
     for (IndexInt x = i - radius; x <= i + radius; x++) {
       for (IndexInt y = j - radius; y <= j + radius; y++) {
         for (IndexInt z = k - radius; z <= k + radius; z++) {
-          if ((x == i && y == j && z == k) || !flags.isInBounds(Vec3i(x, y, z)) ||
+          // ensure that xyz is in bounds: use bnd=1 to ensure that vel.getCentered() always has a
+          // neighbor cell
+          if ((x == i && y == j && z == k) || !flags.isInBounds(Vec3i(x, y, z), 1) ||
               (flags(x, y, z) & jtype))
             continue;