Previous | Next --- Slide 25 of 49
Back to Lecture Thumbnails
hubbahubba

Which technique is older/more established? I'm assuming Eulerian because we seem to love grids as humans.

ceviri

Could you use something like a BVH to help solve the "finding neighbors can be expensive" problem?

keenan

@hubbahubba Actually, one of the earliest fluid methods, the particle in cell (PIC) method, used both particles and a grid. This trend continues today, e.g., material point methods, which have become very popular in graphics, use both particles and a grid (and have their roots in PIC).

keenan

@ceviri Yes, though even with a BVH finding your neighbors is much more expensive than reading the next/previous memory address! (as you would do on a grid)

oadrian96

For my 15618 particle simulator we decided to use the Lagrangian approach. Our initial solution for particle interactions with their neighbors was a simple brute force N^2 algorithm but we are now in the process of using Z-order curves to make the neighbor look up faster and be able to parallelize it on GPU or CPU with OpenMP. Apparently another drawback with Eulerian methods is that its harder to maintain fluid mass due to numerical errors, whereas with Lagrangian since you are dealing with individual particles this isn't a problem.

keenan

@oadrian96 Good observation. There have been efforts to conserve mass in the Eulerian setting, e.g., this paper, which takes advantage of the coarea formula. But you're right that in general Eulerian methods struggle more with mass preservation.