
I don't completely follow what you mean by 'cascading interpolation,' but it sounds like more work than you need to do How I would naively start would be- for L in range(0,max_level): for g1 in range(0, len(grids(L)): interpolate ghost zones from g1.parent to g1 for g2 in range( g1, len(grids(L)): copy zones from g1 to g2 If you're working in some extracted region, the g2 loop might need to be expanded to include all the grids that might be of interest (probably all children with the same parent and all children of the parents siblings will do it). This ensures that all GZ covered by a sibling active zone get covered, and all remaining zones are interpolated from the most relevant data. d. On Mon, Mar 29, 2010 at 12:24 PM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
I need some help with the ghost zone generation. Right now it's too slow, because it performs a cascading interpolation from the lowest levels to the highest levels, filling in available cells, then interpolating to the next level and repeating the process. Looking over the Enzo source code, I think we can do better: I think we should be able to replicate the Enzo logic much more closely, which only implicitly requires cascading interpolation, by checking parents and sibling grids. The issue of Subling grids I think we will also need to address. The current code is in AMRIntSmoothedCoveringGridBase. It's not that pretty.
Does anybody have any ideas on whether or not we can do this better than it currently is done? Getting vertex centered data requires the ghost zones, and right now getting ghost zones is *easily* the most time consuming step of the volume rendering for many datasets. Dave, John, I know you've both dealt with this issue but if anybody has any ideas, they'd be greatly appreciated!
-Matt _______________________________________________ Yt-dev mailing list Yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
-- Sent from my Stone Tablet and carried by my Pterodactyl.