← Back to team overview

dolfin team mailing list archive

Re: ufc ordering in parallel

 

On Tue, Apr 28, 2009 at 03:05:48PM -0500, Robert Kirby wrote:
> Hi all,
> it's my understanding that the way ufc ordering works is for adjacent cells to
> alternate orientation so that they traverse edges (and faces in 3d) the same
> global
> way.  It seems that in 2d this is equivalent to two-coloring a graph (each cell
> is either
> clockwise or counterclockwise)
> 
> Has there been any thought to issues at imposing ufc ordering in parallel,
> where each
> process has to assign an orientation to the first local cell, and different
> processors
> might disagree?

Yes! Ola and I (especially Ola) have been thinking hard about this
for a while.

Our conjecture is that everything we've done so far will work out in
parallel as well. Based on global vertex numbers (which ParMETIS gives
us), we assign global numbers to all entities needed to map the
degrees of freedom (like edges for P2 etc).

Once all entities are numbered (so each process knows the global
indices for all entities in the local mesh), we may just reuse the
generated code for tabulate_dof and it will correctly spit out a
global dof map (which may then need to be reordered to improve
locality).

This is now mostly in place. We're just working on a couple of corner
cases (and I mean literally *corner* cases) but I have good hope these
will be fixed soon.

For details, take a look here:

http://www.fenics.org/hg/dolfin?f=0603cb5788ca;file=dolfin/mesh/MeshPartitioning.cpp

-- 
Anders

Attachment: signature.asc
Description: Digital signature


Follow ups

References