← Back to team overview

dolfin team mailing list archive

Re: Mapping

 

I agree with this ordering, and when vector elements are fully incorporated back into FIAT, this is what I will do.

It is the correct thing for inferring (logical) block structure. Whether we want to reorder the basis functions after this inference is a separate question.

Rob

Anders Logg wrote:
FFC is now updated with a temporary implementation of the mapping for
vector-valued elements. I need to do some more work on both FFC and
DOLFIN so that they agree on the interface (BilinearForm and LinearForm).

I've changed the order of the mapping so that locally the basis
functions are ordered accordning to

(v1, 0, 0)
(v2, 0, 0)
(v3, 0, 0)
...
(0, v1, 0)
(0, v2, 0)
(0, v3, 0)
...
(0, 0, v1)
(0, 0, v2)
(0, 0, v3)
...

This separates the components so that for vector-valued Poisson, we
get a block structure (with zeros on the off-diagonals).

Globally, the ordering is the same (but it doesn't have to be):

    return (i/3) * mesh.noNodes() + cell.nodeID(i % 3)

in case 3 is the number of nodes of the cell (for a triangle).

This is just a temporary implementation until I get FFC talking to
FIAT about the mapping.

/Anders




References