← Back to team overview

dolfin team mailing list archive

Re: DofMap

 

On Sun, Aug 16, 2009 at 10:34:12PM +0100, Garth N. Wells wrote:
>
>
> Anders Logg wrote:
> > On Sun, Aug 16, 2009 at 04:36:33PM +0100, Garth N. Wells wrote:
> >>
> >> Anders Logg wrote:
> >>> What is the reason for using int instead of uint in the precomputed
> >>> DofMap?
> >>>
> >> I didn't make it int, but I suspect that it is to leave open the
> >> possibility of using negative indexes which some libraries (e.g. PETSc)
> >> treat differently during insertion.
> >
> > Negative indices will affect all backends. Does Trilinos support it?
> >
>
> Not sure. We can't guarantee that all backends will support it so I'm
> inclined to use uint.
>
> >>> Also, would it be good to have the same DofMapBuilder::build()
> >>> implementation both in parallel and serial. I imagine the algorithm
> >>> will specialize to the case of one process. This will be useful to
> >>> have once we add the localized iteration over cells on each mesh to
> >>> minimize bandwidth.
> >> DofMapBuilder::build() does not build the DofMap (name needs to be
> >> changed).
> >
> > Yes, maybe DofMapRenumbering is better.
> >
> >> It renumbers the dofs and is not required when running in serial.
> >
> > I think it is. The FFC generated dof map does not do a very good job
> > at minimizing bandwidth for vector-valued elements (or even scalar
> > P2). I was hoping the same algorithm would work in both serial and
> > parallel (less code to maintain).
> >
>
> This should work after splitting the current function into two
> (ownership + renumbering). It looks to me like the present parallel
> renumbering is more or less the UFC numbering on each process.

ok. I thought it also did local renumbering.

> There is some work to do (I'm about to commit something) to sort out
> DofMap, so I'm not going to worry about the details of DofMapBuilder
> until DofMap is sorted out and working.

ok, great. I'm thinking about adding some functionality for local
iteration over mesh entities (continuing to the nearest unvisited
neighbor). This should further improve the renumbering once we get
the local renumbering in place.

--
Anders


> Garth
>
> >> I have added a FIXME (might not have pushed it yet) that
> >> DofMap::parallel_build needs to be broken into two functions. The first
> >> function should determine ownership of dofs when running in parallel,
> >> and the second does the re-numbering.
> >>
> >> Garth
> >>
> >> _______________________________________________
> >> DOLFIN-dev mailing list
> >> DOLFIN-dev@xxxxxxxxxx
> >> http://www.fenics.org/mailman/listinfo/dolfin-dev
> >>
> >> ------------------------------------------------------------------------
> >>
> >> _______________________________________________
> >> DOLFIN-dev mailing list
> >> DOLFIN-dev@xxxxxxxxxx
> >> http://www.fenics.org/mailman/listinfo/dolfin-dev
>
>
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev

Attachment: signature.asc
Description: Digital signature


Follow ups

References