For Parallel Mesh I was just thinking that each processor would write it's own file... so that you could perfectly recreate the exact Mesh data structure on read (not too mention being more amenable to parallel filesystems like Panasas)


On Wed, Nov 6, 2013 at 4:33 PM, Kirk, Benjamin (JSC-EG311) <> wrote:
On Nov 6, 2013, at 4:18 PM, Derek Gaston <>

> Let me be a bit more clear:
> After writing an XDA file and reading it back in - I want _exactly_ the same Mesh structure that I had to start with.... same numbering, same everything…

That should be possible…  The parallel format is loosely thought out and open to extension.  From a serial file the global ids are inferred, for the parallel case I don't see a reason we couldn't include a unique global id too.

> It should go:
> Meta Data
> Nodes
> Elements
> BCs

The idea here is we can optionally support a partition file, which defines element ownership.  This could allow the elements to be shipped off first in the case of a serial read, or read only on the processors that need them.  The important subset of nodes can then be determined.

Reading the nodes first would require caching all of them until you know which ones you can discard.  Or closing the buffer and doing some seek business.