[Yt-dev] Call for assistance: Ghost Zones
Matthew Turk
matthewturk at gmail.com
Wed Mar 31 17:17:01 PDT 2010
Hi guys,
Thanks very much for this. Reading this over, I can see that the
ghost zone generation really should be a Special Thing and not just a
particular application of another routine. I will utilize this,
following the enzo mechanisms, when I rewrite the ghost zone
generation...
Thanks again,
Matt
On Tue, Mar 30, 2010 at 6:29 AM, John Wise <jwise at astro.princeton.edu> wrote:
> I think we can closely follow what Enzo does to calculate the ghost zones. Dave outlined a good first shot at it.
>
> We can probably make the function work on a grid-by-grid basis because during the rendering, we don't necessarily need all of the grids, depending on the viewing angle and cutting planes. We can create a routine that's similar to Grid_CheckForOverlap.C in Enzo to check for overlapping siblings and SUBlings. It'd probably be best to implement it stepwise in the steps how Enzo was developed.
>
> Phase 1: Ghost zones from interpolating the parent and copying any overlapping siblings
> Phase 2: Include SUBlings
> Phase 3: Accelerate routine with a fast sibling locator
>
> For the interpolation from the parent, nearest neighbor interpolation would be fine for an initial implementation, and then we can experiment with different interpolation schemes.
>
> John
>
> On 29 Mar 2010, at 15:43, david collins wrote:
>
>> 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 at 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 at lists.spacepope.org
>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>>>
>>
>>
>>
>> --
>> Sent from my Stone Tablet and carried by my Pterodactyl.
>> _______________________________________________
>> Yt-dev mailing list
>> Yt-dev at lists.spacepope.org
>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>
> _______________________________________________
> Yt-dev mailing list
> Yt-dev at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>
More information about the yt-dev
mailing list