What exactly is the "grid" here? If we're talking about things like particles in 3d space, do we need to extend this to higher dimensions?
In another class, there is a lot of mention on how to implement code like this efficiently. Have you ever seen use for some domain-specific programming languages which can compile this looping code in such a way that cache misses are minimized?
How different is it to solve the heat equation in a Lagrangian vs. Eulerian framework? I imagine in an Eulerian framework you could use a grid solver like you said in the slide, but in a Lagrangian framework the neighbors are in irregular positions which would require using a spatial data structure like a BVH or quadtree or something similar
When you say grid, does that imply this method only words with eulerian representation?
Is there still a grid if we're working with particles in 3D space?
Does the loop over the grid ever become too inefficient when the grid is too large, even if it only remains in 2D? Which of the boundary conditions is usually used?