[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