[MOAB-dev] vertex to cell adjacencies in parallel
Tim Tautges
tautges at mcs.anl.gov
Fri Oct 7 08:54:04 CDT 2011
On 10/07/2011 04:05 AM, Lorenzo Alessio Botti wrote:
> Hi all,
> I have a question about getting adjacencies in parallel.
>
> After having partitioned a mesh, resolved shared entities and exchanged ghost cells I fail to
> update the mesh cell adjacencies so to include ghost cells.
>
> The face to elements adjacencies are correctly updated, that is the faces obtained with
> pcomm.get_iface_entities(1,2,faces); (I'm running on 2 processors)
> have two neighbors one owned and one non owned.
>
> However the vertex to cell adjacencies do not seem to be updated to include ghost cells
> and even after
> mb.get_entities_by_dimension(0,3,entities);
> mb.get_adjacencies(entities, 0, true, vertexEntities, Interface::UNION);
> entities.clear();
> mb.get_adjacencies(vertexEntities, 3, true, entities, Interface::UNION);
> I'm not able to find vertex to not owned cells adjacencies.
>
> Is get_adjacencies(...,create if missing=true,...) supposed to work also for non owned cells?
> It seems that the vertex to non owned cell adjacencies are detected but not created.
>
That sounds like a bug; Hong-Jun, could you look at that?
MOAB's parallel model is that all locally-represented entities, which includes ghost and shared interface entities,
should appear locally as a serial mesh, with all adjacencies and other API calls available.
> Overall MOAB works fine in parallel and pcomm.assign_global_ids(...) is useful.
> Are you also planning to introduce some repartitioning capabilities?
Yes, this year's work plan includes migrating entities for repartitioning. In theory, the partitioning class in
tools/mbzoltan should work to compute the new partition in parallel, though I think it's currently hardwired to run on
one processor (on my list to get rid of that restriction).
> For my application it would be very interesting to be able to partition based on entity sets.
>
If those entity sets form a covering for the entities (each of the entities included in exactly one of those sets), and
those sets can be identified by a tag and optionally tag value, then you should be able to already read in parallel
based on that partition (which has to already be in the file). See section 5 of the user's guide (in the doc subdir)
and the description of how to read according to a material_set partition.
- tim
> Thanks for help.
> Lorenzo
--
================================================================
"You will keep in perfect peace him whose mind is
steadfast, because he trusts in you." Isaiah 26:3
Tim Tautges Argonne National Laboratory
(tautges at mcs.anl.gov) (telecommuting from UW-Madison)
phone: (608) 263-8485 1500 Engineering Dr.
fax: (608) 263-4499 Madison, WI 53706
More information about the moab-dev
mailing list