[MOAB-dev] how to store adjacencies informations?

Jason Kraftcheck kraftche at cae.wisc.edu
Thu May 12 08:10:45 CDT 2011


On 05/12/2011 04:35 AM, Lorenzo Alessio Botti wrote:
> Hi all,
> I plan to use MOAB to implement discontinuous Galerkin discretizations.
> Since these formulation are base on fluxes I need to know the cell neighbors at assembly time.
> 
> I found two ways of computing adjacencies (I'm working with a 3D mesh)
> 
> 1) iterate over cells without building interior faces

> 
> 2) Compute interior faces and iterate over them  

> 
> First question.
> Are there better options?
> 

Not that I can think of.

> Second point.
> Clearly in both cases get_adjacencies is the time consuming operation...

MOAB's get_adjacencies call is slow.

> I would like to know if there is an easy and supported way to add adjacencies to handles once they have been computed.
> I tried   
> 
> result = instance.add_adjacencies(ent, side_neighbors, true);
> 
> to add element to element connectivity in (1) but it fails.

The add_adjacencies call is intended for disambiguation when the mesh
contains topologically identical entities (e.g. a small hole meshed with two
intervals such that the mesh of the hole is two edges with identical end
vertices.)

> Do I have to tag neighbors to handles?
> 

If get_adjacencies is too slow, that would be a good work-around until
MOAB's get_adjacencies performance issue is fixed.

- jason


More information about the moab-dev mailing list