<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: times new roman,new york,times,serif; font-size: 12pt; color: #000000'>Hi Lorenzo,<br><br><hr id="zwchr"><blockquote id="DWT1736" style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;">Dear all,<br>I have recently written a MOAB reader/writer for .vtu and .pvtu files, that is VTK unstructured grids and parallel VTK unstructured grids in xml format. <br>The only issue for the inclusion in MOAB (let me know if that would be interesting for you) is that I’m using an open-source xml reader instead of the FileTokenizer included into MOAB. <br></blockquote>what kind of license on the xml reader?<br><blockquote id="DWT1737" style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><br>The .pvtu parallel reader works fine, each process loads an independent .vtu file containing his portion of the grid and creates a PARALLEL_PARTITION entity set for his ParallelComm. <br>Actually the number of .vtu files must be equal to the number of processes, so the reader is less flexible than with the native .h5m file format. <br>Eventually the reader could be modified to handle a number of partitions different from the number of processes.<br><br>What I really would like to do next is to include in each .vtu portion of the grid the informations required to run in parallel <br>(e.g. ghost cells, shared entities) so to avoid calling resolver_shared_entities(...) and exchange_ghost_cells(….) in parallel. <br></blockquote>You cannot call resolve_shared_entities unless you have a tag like a global id tag, or a file id tag that uniquely identifies every node.<br>You need to use ParallelMerge;<br>in there, assuming that the meshes are matching between processes, within some tolerance, you just need to run merge.<br><br>Basically, a skin is computed first on each processor, and the skin is "resolved" in parallel using a 2 way communication, similar to resolve shared entities.<br><br>( each vertex on the skin is first sent to a "working processor" , established based on a pre-determined pattern; the working processor is guaranteed to receive all instances of the vertex on all processes; it decides then what vertices need to be "merged" because they are identical within some geometric tolerance; that information is then communicated back to all processes that sent that vertex)<br><blockquote id="DWT1738" style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;">Nevertheless, I would like to be able to call exchange_tags(….) and reduce_tags(….) in parallel, once the grid has been loaded.</blockquote>After parallel merge, you should be able to use exchange tags and reduce tags as before. (you should be able to ghost too, on the fly)<br><br>Currently, there are some issues with ghosting, but version 4.6.2 runs better (there are issues there too)<br><blockquote id="DWT1739" style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><br>What would I need to do so? I guess that to exchange tags across processes each shared entity must know the processors it need to communicate with. </blockquote>so for this to work, your independent meshes need to be almost perfect, with respect to geometry/distance. They have to "match", but other than that, you should be able to use ParallelMerge<br><blockquote id="DWT1740" style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><br>How can I achieve this behaviour? Which informations I need to add to the mesh files?<br></blockquote>You do not need to add anything to the file<br><blockquote id="DWT1742" style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><br>Any help is appreciated, thanks!<br>Lorenzo <br><br>   <br><br><br></blockquote>Thanks,<br>Iulian<br><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><br></blockquote><br></div></body></html>