[dune-functions] Global Id of dune-function basis DOFs

Christian Engwer christian.engwer at uni-muenster.de
Tue Jun 11 11:06:00 CEST 2019


Hi Simon,

a) as far as I know this is not possible
b) If I understand your suggestion correctly, it will not work
c) it should be risky simple to add such an information

>Assuming, we have a global id for each DOF in each leaf basis node
>separately, one could easily create a global basis global id, by adding
>some shift, corresponding to the position in the basis tree, to each
>node DOF global id. But, how to obtain the global id of the DOFs in a
>basis node?

You can not apply such a shift, as an id is not required to be a number. All that we require is, that an id is ordered and hashable.

The simplest way to generate a final I'd is to take the Multiindex and use the entity id instead of the geometryindex/entityindex pair. Alternatively one could just append the per-entity numbering to the entity-id (in the sense of a tuple).

Ciao
Christian

>For a LagrangeDG basis, one could think of a global id easily, e.g. the
>global element id + a local key of the local DOF. but for the
>continuous
>Lagrange basis it is already "slightly" more complicated, since the
>connectivity of multiple DOFs per entity can not easily be determined,
>without the help of some non dune-core functionality, like the
>TwistUtilities from dune-fem. Also, one can not distinguish the
>LagrangeNode and the LagrangeDGNode, since they are just aliases. So,
>it
>is difficult to specialize a user-defined function, based on the node
>type (that i receive when walking through the basis tree using
>forEachLeafNode, for example)
>
>A first thought was, that maybe one should extend the GlobalBasis with
>some kind of GlobalIdSet (similar to what is in the grid) that uniquely
>identifies the DOFs in a distributed grid. If this is in the basis, one
>does not need to walk through the nodes manually and write for each
>possible basis a wrapper function, but the writer of a basis has to
>think about a possible parallel global id for the DOFs.
>
>See also
>
>> https://gitlab.mn.tu-dresden.de/snippets/2
>
>for a sketch of the implementation.
>
>One probably should add a GlobalView next to LocalView or something
>similar to the GlobalBasis to initialize the global ids only when
>needed. (the names local and global have multiple meanings here, this
>should be clarified)
>
>Do you think this is a extension that could be implemented? Maybe it is
>not possible for all types of dune-function bases.
>
>Best wishes,
>Simon
>
>
>
>
>_______________________________________________
>dune-functions mailing list
>dune-functions at lists.dune-project.org
>https://lists.dune-project.org/mailman/listinfo/dune-functions




More information about the dune-functions mailing list