[MOAB-dev] mixed mesh question

Carlos Breviglieri carbrevi at gmail.com
Wed Oct 9 12:28:18 CDT 2013


Iulian, thanks again.

I have no problem partitioning homogeneous meshes. I've written a code,
similar to "examples/HelloMoabPar.cpp" to set a tag on procID and visualize
that in paraview (mbconvert file.h5m file.vtk), check
2d_naca0012_mixed_invert_p2.png attached.

The problem is with mixed meshes, well kind of...

Please find attached two meshes with mixed elements, now both are
partitioned (graph, metis) into 2 procs.

*2d_naca0012_mixed.h5m*

3555 nodes

6910 tri (LIVE)

17 quads (LIVE)

50 edges (FFIELD)

116 (WALL)

*2d_naca0012_mixed_invert.h5m*

3560 nodes

770 tri (LIVE)

3092 quad (LIVE)

50 (FFIELD)

116 (WALL)

The second mesh, which has over 4 times more quads than tris is read just
fine (the one in the picture). I have also partitioned it into 32 procs and
it all goes well.
The first one, with only 17 quads does not read properly, mb->load_file()
returns "MB_INDEX_OUT_OF_RANGE".

My understanding is that, given the fact that the second one works, the
first mesh also should, after all both are written by the the same code...

read_options are:
"PARALLEL=READ_PART;PARTITION=PARALLEL_PARTITION;PARALLEL_RESOLVE_SHARED_ENTS;PARALLEL_GHOSTS=2.0.1";

Note that, if I do not partition the mesh, both are read without problems
by MOAB. If I use PARALLEL=NONE, both are also read, but I get empty data
in my code which sets tag based on owned entities of dim=2.

Could this be related to the number of entities in a given set, when read
in parallel?

I would like to use parallel IO from HDF, hence my efforts (currently, CGNS
parallel IO are in beta) but most of my use cases rely on mixed meshes
(tetra+prism) for external compressible aerodynamics.

Thanks for your attention,

Carlos Breviglieri





On Wed, Oct 9, 2013 at 2:14 PM, Iulian Grindeanu <iulian at mcs.anl.gov> wrote:

>
>
> ------------------------------
>
> Hello again and thanks for the quick reply!
>
> I have been able to find a bug with my code (the one that loaded data to
> h5m) and seems to be fine for mixed meshes. I have used the mbsize -ll
> trick and understood the fault, thanks Iulian!
> The h5mvalidade tool still complains but I can see past that.
>
> OK, thanks for reporting it. Something is not right :(
>
>
> The attached file is the one that seems to work for me now (naca0012
> airfoil with 6910 tris + 17 quads, no parallel partitions,
> 2d_naca0012_mixed.h5m).
>
> I also use METIS to partition my mesh and then push the PARALLEL_PARTITION
> tag/set data to h5m. It works ok for homogeneous mesh but I have problems
> with mixed meshes. I am looking into it right now. If I can figure out what
> I am doing wrong with mixed elements (actually multiple ranges) I'll let
> you know. I used the mbZoltan.cpp code to base my implementation on the
> parallel data creation.
>
> can you try something like:
> mbpart 4 -p PartKway  2d_naca0012_mixed.h5m naca4.h5m
> it does get a partition, which you can see in visit :)
>
>
>
> If all goes well, I will test it against mbzoltan. By the way, is there a
> way to use mbzoltan in parallel with graph partitioners (parmetis,
> ptscotch)? mbzoltan tests if mpiComm.nprocs > 1 and then quits if
> otherwise...
>
> yes, we use it in serial only
>
>
> I would be glad to share the CGNS reader code back to you. I need to fix
> the current issues and improve the code (add global_id data, etc). I read
> each CGNS section into a different tag/set in h5m, so I can easily retrieve
> those in application code. Not sure if this is the right way to do so
> (should follow the convention to place data into MATERIAL_SET / DIRICHILET
> NEUMANN ?)  but seemed straightforward to me.
>
> I have a CGNS writer class also in the works that I'll push back to the
> repo once it is working along with some sample meshes for unit tests.
>
> I have patched the 4.6.2 sources to also include configuration flags
> (going the autotools way here) to point to cgns libraries and include
> paths. Is the CMake toolchain the official one?
>
> autotools is the official build tool.
>
>
> Thank you,
>
> regards,
>
> Carlos
>
>
> Thanks,
> Iulian
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/moab-dev/attachments/20131009/c2cb171b/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2d_naca0012_mixed_invert_p2.png
Type: image/png
Size: 88979 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/moab-dev/attachments/20131009/c2cb171b/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2d_naca0012_mixed.h5m
Type: application/octet-stream
Size: 322516 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/moab-dev/attachments/20131009/c2cb171b/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2d_naca0012_mixed_invert.h5m
Type: application/octet-stream
Size: 284072 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/moab-dev/attachments/20131009/c2cb171b/attachment-0003.obj>


More information about the moab-dev mailing list