[MOAB-dev] Re: Some MOAB questions

Tim Tautges tautges at engr.wisc.edu
Thu Aug 21 14:54:31 CDT 2008


[cc'ing moab-dev since some of these questions might be of general 
interest...]


Milad Fatenejad wrote:
> Hi Tim:
> This is Milad. I had a few additional questions about MOAB that I was
> hoping you could answer....
> 
> 1) I noticed that in the SVN, trunk version there is code for a
> StructuredElementSeq class which seems to provide some convenience
> functions for dealing with structured meshes. Since I am dealing with
> a 3D structured mesh this would be useful to me, but I noticed that
> the header file doesn't get added to the include directory when you
> install the code (StructuredElementSeq.hpp). Is this because the code
> is still in development and shouldn't be used? Or is there some other
> object I am supposed to use for manipulating structured grids...
> 

That's an oversight.  The structured mesh stuff should work; see 
scdseq_test.cpp for example usage.  The parallel stuff probably won't 
work with structured sequences, though.

> 2) Is it possible to write out the MOAB hdf5 files in pieces? The way
> I had written my code before enabled me to generate/write out my
> meshes (which are very simple) in pieces so that I never had to store
> the whole all the data in memory at one time. Is this possible with
> MOAB?

I'll let Jason answer with more details, but you can pass individual 
sets to MOAB's write function to specify the sets you want to write. 
That would probably overwrite existing mesh in the same file, though. 
In general, since we try hard to minimize memory, writing the mesh 
usually isn't too much of an extra burden.

> 
> 3) I haven't really gotten too deep into the parallel code, but there
> was something I was wondering about. I am planning to attach tags to
> each vertex/zone in the code to represent different variables, such as
> density, pressure, etc... When working in parallel it is necessary at
> certain times to update the values of these tags on the borders of the
> local domain so that each process as the most recent values. Is it
> possible in MOAB to pick and choose exactly what quantities you want
> communicated over the network? Or do you have to communicate
> everything all at once?
> 

Yep; see the MBParallelComm::exchange_tags function, which allows you to 
identify individual tags.

- tim

> I hope these questions are clear, thanks for your help...
> Milad
> 




More information about the moab-dev mailing list