[FLASH-USERS] gid array format

David Williamson david.john.williamson at gmail.com
Tue May 24 18:42:18 EDT 2011


Thanks Nathan!

Yes, it looks like it was the indexing, adding 1 to everything made it work much better...

Cheers,
-Dave


On 24/05/2011, at 2:52 PM, Nathan Hearn wrote:

> Hi David,
> 
>    You have the right idea about the GID array format, but I think
> the order is
> 
> <neighbor IDs> <parent ID> <child IDs>
> 
> There are also a few issues to be aware of.
> 
>    First, be sure to note that the block IDs used in the GID array
> format correspond to Fortran (origin-one) array indexes, as opposed to
> the zero-origin indexes used in C (and the HDF5 API).
> 
>    Second, as you probably surmised, the negative values have
> meanings regarding the type of block (or boundary) that neighbors a
> given block.
> 
> -1   -> denotes the absence of a neighbor block (or child, as I recall)
> -10  -> Denotes no boundary
> -20  -> "Paramesh" boundary
> -31  -> Reflective boundary
> -32  -> Outflow boundary
> -33  -> Isolated boundary
> -34  -> Hydrostatic boundary
> -35  -> Periodic boundary
> -38  -> User-defined boundary
> 
>    Third, if you are explicitly using uniform grids (rather than
> Paramesh AMR) there are some subtle differences that arise.
> 
>    I don't have a recent version of the Flash User's Guide in front
> of me right now, but there is a modicum of documentation in the
> QuickFlash library (particularly, files
> src_lib/quickflash_mesh_boundarydefs.cpp,
> src_lib/quickflash_file_treeinfo.cpp, and
> src_lib/quickflash_file_meshinfo.hpp).  An (admittedly ancient)
> distribution of QuickFlash can be found at
> 
> http://sourceforge.net/projects/quickflash/files/quickflash/
> 
>    I hope this is helpful.
> 
> 
> - Nathan
> 
> 
> -- 
> Nathan C. Hearn, Ph.D.
> nhearn at ucar.edu
> 
> Project Scientist
> Computational & Information Systems Laboratory
> National Center for Atmospheric Research
> 
> 
> 
> On Tue, May 24, 2011 at 15:14, David Williamson
> <david.john.williamson at gmail.com> wrote:
>> Hi all,
>> 
>> I am trying to read in the gid array from hdf5 data in Flash3.0 to work out the structure of the grid. The documentation implies that for 3d data this should be in the form of a 2D array of size gid[15][nb] (nb=number of boxes), where the [15] entries are the box IDs of the 6 neighbouring boxes, the 8 children, and the 1 parent.
>> 
>> However, when I use the coordinates array to compare the locations of the boxes indicated by gid, they don't seem to match very well - they are generally *close* to the box, but they aren't on the faces. I also notice negative numbers (-1 and -32) appearing in the gid array.
>> 
>> I can't find any documentation on the details of the gid array, so I'd like to check - am I looking at this right?
>> 
>> Cheers,
>> -David




More information about the flash-users mailing list