← Back to team overview

dolfin team mailing list archive

Re: Fwd: Re: unsigned int -> std::size_t

 

It might be a good thing to move it to la but then we need a new
fem/mesh independent abstraction to replace the current DofMap class.
Instead of the letting a dolfin::Cell be a central concept, it can be
something else corresponding to a cell, a facet, subsets or even
groups of mesh entities.

One thing I want to do when we're anyway talking about big changes is
to work out a very different design for UFC 3.0 which will get rid of
all the copying between ufc::foo and dolfin::Foo classes. We tried
really hard to make minimal assumptions in UFC on data structures so
the code could be used from other libraries, but as far as I know all
other libraries using some part of the toolchain (UFL or form
compilers) generate code directly for their own backend anyway,
completely bypassing UFC. It was a nice idea, but it looks like the
assumption it could be reused has failed.

I believe we could make the DofMap class much simpler by improving
the code generation to fit better to DOLFIN.

--
Anders


On Thu, Nov 15, 2012 at 08:43:01AM +0100, Johan Hake wrote:
> Would it be possible to move DofMaps to dolfin/la and make them backend
> specific?
>
> Johan
>
> On 11/15/2012 08:16 AM, Garth N. Wells wrote:
> > On Thu, Nov 15, 2012 at 6:37 AM, Martin Sandve Alnæs <martinal@xxxxxxxxx> wrote:
> >> ---------- Videresendt melding ----------
> >> Fra:
> >> Dato: 15. nov. 2012 07:35
> >> Emne: Re: [Dolfin] unsigned int -> std::size_t
> >> Til: "Garth N. Wells" <gnw20@xxxxxxxxx>
> >>
> >>
> >> A typedef for the chosen linear algebra backend? How is that possible with
> >> dynamic choice of backend?
> >>
> >
> > A 'primary' backend will need to be decided at configure time, and the
> > index type will match the index type of the primary backend. I don't
> > see any way to get around this. Templating some functions will not
> > help because the dof map needs to use a compatible index type, and
> > this would tie a dof map to a backend (and templates will make the
> > code more complicated).
> >
> > At present we just assume that all backends use an index type that is
> > compatible with unsigned int, but we can't justify this assumption.
> > Flaws in DOLFIN la handling have shown up with the release of Trilinos
> > 11, which introduces 64-bit ints to its interface. PETSc uses
> > PetscInt, and we have just assumed that it's compatible with unsigned
> > int.
> >
> > Garth
> >
> >
> >> Martin
> >>
> >> Den 14. nov. 2012 18:06 skrev "Garth N. Wells" <gnw20@xxxxxxxxx> følgende:
> >>
> >> _______________________________________________
> >> Mailing list: https://launchpad.net/~dolfin
> >> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> >> Unsubscribe : https://launchpad.net/~dolfin
> >> More help   : https://help.launchpad.net/ListHelp
> >>
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~dolfin
> > Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~dolfin
> > More help   : https://help.launchpad.net/ListHelp
> >
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~dolfin
> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dolfin
> More help   : https://help.launchpad.net/ListHelp


Follow ups

References