Closed Wumpf closed 4 years ago
tried a few things. It's really hard to make this happen in an efficient matter: Either we treat velocity as three grids and gather particles independently (trippling the workload on the already quite expensive gather step) or we have a huge gathering area (24 cells in my linked list grid) Failed to find any conclusive resources on the topic. There's few papers even acknowledging how problematic the gather step is to begin with. (note that I haven't profiled any of the performance claims, this is just inferring from amount of expected memory accesses and divergence)
Another solution to fix some of the issues, namely oscillating pressure (checkerboard presesure), with collocated grid is Rhie-Chow interpolation applied during pressure correction
This master thesis has some stuff on Rhie-Chow with collocated grid http://publications.lib.chalmers.se/records/fulltext/185027/185027.pdf
After reading http://www.fem.unicamp.br/~im450/palestras&artigos/CFD%20of%20Turbulence_Chalmers_Un/chapter_6-1.pdf I think I understood now roughly how Rhie-Chow interpolation computes velocity at grid walls. Which ofc begs the question if velocity at grid center is just wall velocity averaged? Would make sense the way it was defined.
Take a close look at equation 54 in http://www.fem.unicamp.br/~im450/palestras&artigos/CFD%20of%20Turbulence_Chalmers_Un/chapter_6-1.pdf .. so yes, just average again. This equation is the complete expression for a single velocity update a P (E == East, W == West, [..])
Description of using a uniform (not staggered grid) and makes mention on Rhie-Chow interpolation in a Eurographics paper (i.e., I'm able to understand stuff better than from real CFD paper ;-)) on shallow water equation solver (not quite what we're after here, but close enough) http://isg.cs.tcd.ie/cosulliv/Pubs/LeeShallowEqs.pdf
expecting higher fidelity and faster gradients velocity transfer expected to be slower (ideas?) should be faster overall
need to confirm or disprove all of the above