dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #09039
Re: DofMapSet design
On Thu, Aug 14, 2008 at 01:23:26PM +0200, Johan Hoffman wrote:
> > On Thu, Aug 14, 2008 at 11:48:14AM +0200, Johan Hoffman wrote:
> >> > On Wed, Aug 13, 2008 at 2:57 PM, Johan Hoffman <jhoffman@xxxxxxxxxx>
> >> > wrote:
> >> >
> >> >> >
> >> >> >
> >> >> > Johan Hoffman wrote:
> >> >> >>>
> >> >> >>> Anders Logg wrote:
> >> >> >>>> On Tue, Jun 17, 2008 at 02:45:41PM +0100, Garth N. Wells wrote:
> >> >> >>>>> It would be useful to lay out a plan for tackling DofMaps.
> >> Getting
> >> >> >>>>> this
> >> >> >>>>> right is the key to parallel assembly, assembly optimisations
> >> and
> >> >> >>>>> applying Dirichlet boundary conditions by eliminating Dirichlet
> >> >> dofs
> >> >> >>>>> from the global system.
> >> >> >>>>>
> >> >> >>>>> I'm happy to take a look, but I'll need some time because I've
> >> >> lost
> >> >> >>>>> my
> >> >> >>>>> overview of DofMaps. If someone else is already on top of it,
> >> I'd
> >> >> be
> >> >> >>>>> happy to provide feedback.
> >> >> >>>>>
> >> >> >>>>> Garth
> >> >> >>>> I won't have time to look at it until after the summer and I
> >> >> haven't
> >> >> >>>> started.
> >> >> >>>>
> >> >> >>>> Anyway, I think we should wait until after the next release
> >> until
> >> >> we
> >> >> >>>> start messing with the dof maps.
> >> >> >>>>
> >> >> >>>> Are there any issues we need to sort out before releasing 0.8?
> >> I'm
> >> >> >>>> thinking about a new release some time this or next week.
> >> >> >>>>
> >> >> >>>> One is to fix the bug in DirichletBC, but other than that?
> >> >> >>>>
> >> >> >>> Now would be a good time for a release so I can start messing
> >> with
> >> >> >>> DofMaps.
> >> >> >>>
> >> >> >>> Garth
> >> >> >>
> >> >> >> Has anything more been done about the DofMap design? During the
> >> >> summer
> >> >> >> Niclas has extended to general elements his adaptive algorithm for
> >> >> >> distributed parallel computing, so we are now ready to start
> >> messing
> >> >> >> with
> >> >> >> the DofMaps in order to implement his algorithm in DOLFIN.
> >> >> >>
> >> >> >
> >> >> > It has been given some thought, but no changes have been made in
> >> the
> >> >> > code yet.
> >> >>
> >> >> Ok. Any threads on the list to point to where this is discussed?
> >> >>
> >> >> If you have something already, I would suggest making it
> >> >> > publicly available somewhere for feedback before starting work on
> >> >> DOLFIN.
> >> >>
> >> >> It is a refinement and generalization of the thesis work of Niclas
> >> >> Jansson
> >> >> which was discussed on the list before the summer. Is is outlined in
> >> his
> >> >> report:
> >> >>
> >> >> http://www.nada.kth.se/utbildning/grukth/exjobb/rapportlistor/2008/rapporter08/jansson_niclas_08051.pdf
> >> >>
> >> >> My announcement here was to initiate a discussion of the detailed
> >> >> implementation, and to check if other DOLFIN-people were working on
> >> >> similar stuff to avoid double/conflicting development.
> >> >>
> >> >> /Johan
> >> >>
> >> >
> >> > Very good. We were about to start on this task, so now a good point in
> >> > time
> >> > to join forces.
> >> > As a starting point, it would be nice to agreeing on what data is
> >> needed
> >> > in
> >> > addition to the partitioned meshes to construct the global dofmap.
> >> I.e.
> >> > which MeshFunctions to construct during the mesh paritioning process.
> >> Are
> >> > you people using the same {T,S,F} input as Anders describes in
> >> Algorithm 5
> >> > in his paper?
> >>
> >> We have discussed this, and it seems that for our adaptive algorithms we
> >> need some more info. Basically, we have two aims:
> >>
> >> 1. Fully distributed computing (no collection of data on one processor)
> >> 2. Possibility for dynamic load balancing
> >>
> >> To realize 1-2 we need information on the processor ownership of
> >> entities,
> >> and for resdistributing the mesh we need global vertex numbering. That
> >> is,
> >> we would need something like: {T,S,F,V,O}, where V is global vertex
> >> number
> >> and O is information whether boundary (between processors) vertices are
> >> own by the processor or if they are ghost nodes.
> >
> > How do you deal with global edge or face numbers?
>
> I believe this is rebuilt from global vertex numbers.
The mesh will number the edges and faces, and then the generated UFC
code will compute a dof map from those edge and face numbers. The
local dof map will look different for different elements and the
global must be based on the local.
> > My suggestion is to start without a global numbering and then build it
> > (in parallel).
>
> I am not sure how from only local info you can construct information on
> which boundary vertices are owned by which processes?
Each processor knows which facets are shared and with which other
process.
> >> Possibly this is too much information, since for example S,F can be
> >> computed from V,O, but by storing all info faster algorithms can be
> >> constructed, so there is a trad-off between speed and memory.
> >>
> >> What do you say?
> >
> > If you have something that works, just send us a patch so we can try it.
>
> Niclas can send you his code.
Send it to the list, and even better as a patch for DofMapBuilder::build().
If it works we can just use it.
--
Anders
Attachment:
signature.asc
Description: Digital signature
Follow ups
References
-
Re: DofMapSet design
From: Garth N. Wells, 2008-06-17
-
Re: DofMapSet design
From: Anders Logg, 2008-06-17
-
Re: DofMapSet design
From: Garth N. Wells, 2008-06-18
-
Re: DofMapSet design
From: Johan Hoffman, 2008-08-13
-
Re: DofMapSet design
From: Garth N. Wells, 2008-08-13
-
Re: DofMapSet design
From: Johan Hoffman, 2008-08-13
-
Re: DofMapSet design
From: Ola Skavhaug, 2008-08-13
-
Re: DofMapSet design
From: Johan Hoffman, 2008-08-14
-
Re: DofMapSet design
From: Anders Logg, 2008-08-14
-
Re: DofMapSet design
From: Johan Hoffman, 2008-08-14