[MOAB-dev] commit/MOAB: 4 new changesets

Grindeanu, Iulian R. iulian at mcs.anl.gov
Mon Jun 30 22:49:11 CDT 2014


ention in structured meshes, the parameters are usually I/J/K.


> diff --git a/src/moab/Interface.hpp b/src/moab/Interface.hpp

IMO, any changes to Interface.hpp should at least go through pull requests, and also should be discussed on the general
list first.  I'm on the fence about is_valid being a function on Interface, but only because we have sets that don't
track owners.  The reason you included it (to allow it being called by ParallelComm) IMO isn't a valid one.


So this is a pull request, this change is only on this branch (iulian07/largemesh). 
I have though another reason is_valid should be on interface. If a user has local lists of entities saved somewhere, and then does any modification to the mesh (using the interface) that invalidates some entities on those lists, how is it supposed to keep track ?
(deletion of entities can result also from a merging operation, not necessarily from explicit deletion; merge_entities() on Interface has an explicit remove tag, but MergeMesh tool is actually deleting entities )

ParallelComm should have a method to keep track of all those shared entities (in case a user like me is doing something that later invalidates a write in parallel). And the method should be collective, the interested party needs to be informed if a remote handle is not valid anymore.
The easiest for me was to update this sharedEnts local vector, because I knew all the faces and edges are deleted, from everywhere. There are also the interface sets that should be updated. The write succeeded without taking care of them, though. So at least I have an example I can use to generate a file as big as I want, partitioned, and with only hexas and vertices. 
(there is still a limit of 1 B vertices, but when we will fix that, we can create bigger and bigger files)

Best Regards,
Iulian



More information about the moab-dev mailing list