Subject: [UFC-dev] numbering based on mesh entities.

From: [email-masked]
Date: Thu, 28 Dec 2006 21:43:18 +0100 (CET)

I looked on the ufc-documentation concerning the reference cells, but from
this
doc it is not possible to understand how the dofs are numbered from this,
is it?
Should it be ?

I thought I should include the same numbering as a possibility for
Lagrangian elements in SyFi such that we can employ the mesh numbering.
Can we e.g. include the numbering in the case of a forth order element to
demostrate the scheme.
Maybe it is sufficient on a triangle, I don't know.

Kent

---

From: Anders Logg <[email-masked]>
Date: Thu, 28 Dec 2006 23:26:04 +0100

On Thu, Dec 28, 2006 at 09:43:18PM +0100, [email-masked] wrote:
> I looked on the ufc-documentation concerning the reference cells,
> but from this doc it is not possible to understand how the dofs are
> numbered from this, is it?  Should it be ?

No. Is it really necessary? The UFC does not need to care about the
placement of dofs. We specify a numbering of the mesh entities, but
it should not be a problem if the generated code picks the first
vertex as the second dof and not the first, or is there?

Anyway, the chapter on the reference cells is far from finished. I
have a few more pages to write.

> Maybe it is sufficient on a triangle, I don't know.

If we find that we need to specify a numbering in the UFC manual
(which I don't think we need) then we could say that we number the
dofs in lexicographical order based on the mesh entities associated
with the dofs. So for a 2nd order Lagrange, we have

    (0, 0) (0, 1) (0, 2) (1, 0) (1, 1) (1, 2)

where (d, i) indicates entity number i of dimension d.

/Anders

---

From: "Martin Sandve Alnæs" <[email-masked]>
Date: Fri, 29 Dec 2006 16:46:18 +0100

> vertex as the second dof and not the first, or is there?

It is not only not necessary, it is far outside the scope of what UFC
should be. We have defined an interface that leaves it up to the
implementation to decide the numbering of the dofs. If you want to
have the same numbering in SyFi as in FFC, that is project specific
and has nothing to do in UFC. Relying on such a "standard" numbering
in an application would break the generality gained by using the UFC
interface in the first place.

Btw, I've added the tabulate_facet_dofs to ufc.h now.

martin

---

From: [email-masked]
Date: Mon, 1 Jan 2007 19:14:45 +0100 (CET)

> Btw, I've added the tabulate_facet_dofs to ufc.h now.

I agree that this is not neccessary.

But it may be nice to see how the mesh entities are used in case
dof_map::needs_mesh_entities is true.

My interest was of course that we in SyFi could have a special case
of Lagrangian elements which should be identical to the FFC/FIAT
elements/dofs.
This would be nice for debugging and we could also implement
a MatrixFactory without Dof_ptv for testing performance.

Kent

---

From: Anders Logg <[email-masked]>
Date: Wed, 3 Jan 2007 23:06:07 +0100

> a MatrixFactory without Dof_ptv for testing performance.

I'll make sure to describe the numbering scheme generated by FFC in
the FFC manual. It's nice to be able to generate similar code for
benchmarking.

The FFC manual will include a verbatim copy of the description of
reference cells from the UFC manual and then in addition a chapter
on how this is used to generate the mapping by FFC.

So it looks like there are two parts: the minimal common part which is
UFC and then the parts which are specific to FFC, SyFi or any other
form compiler.

/Anders

> Kent
> 
> 
> 
> _______________________________________________
> UFC-dev mailing list
> [email-masked]
> http://fenics.org/mailman/listinfo/ufc-dev