[Dune] Iterator for all edges of a face?
Dragan Vidovic
vitkecar at gmail.com
Thu Mar 26 14:30:22 CET 2009
Hi Oliver,
I found that one too. I can find the local number of a face in the
ReferenceElement, but I don't know how to go from here back to the
global world and find the integrationElement, ReferenceElement and
volume (area) of this face. Or are ReferenceElements only for codim 0?
Is there a ReferenceElement of a codim 1 entity?
Cheers,
Dragan
On Thu, Mar 26, 2009 at 1:58 PM, Oliver Sander <sander at mi.fu-berlin.de> wrote:
> Hi Dragan!
> Sorry, I should have read your mail more carefully. Intersections really
> are only for elements (==codim 0 entities).
>
> For all others you need some index magic. For your entity of type t, get
> the
> reference element by setting
>
> const Dune::ReferenceElement<ctype,dim>& refElement
> = Dune::ReferenceElements<ctype, dim>::general(t);
>
> Then have a look at the methods of the ReferenceElement class.
> It gives you local numbers of subentities of subentities [sic]. For
> example, all vertices of a given edge, or all edges of a given face.
> If you are on an element can use those local numbers with the method
> `entity'
> to get the corresponding subentities. Note that grid implementations are
> only
> required to provide codim 0 and codim==dim.
>
> Hope this helps,
> Oliver
>
>
> Dragan Vidovic schrieb:
>>
>> Hi Oliver
>>
>> I tried that first. Here is what grid-howto says:
>>
>> IntersectionIterator provides access to all entities of codimension 0
>> that have an intersection of codimension
>> 1 with a given entity of codimension 0.
>>
>> And the compiler says the same thing - it does not work for, let's
>> say, codimension 1 (triangle) having an intersection of codimension
>> 2 (edge) with another triangle, all in a 3d mesh.
>>
>> Cheers,
>>
>> Dragan
>>
>>
>> On Wed, Mar 25, 2009 at 4:52 PM, Oliver Sander <sander at mi.fu-berlin.de>
>> wrote:
>>
>>>
>>> Hi Dragan!
>>> Have a look at the Intersections and the IntersectionIterators.
>>> They allow you to do just that.
>>>
>>> --
>>> Oliver
>>>
>>> Dragan Vidovic schrieb:
>>>
>>>>
>>>> Hi all
>>>>
>>>> A beginner's question: I need to iterate all entities of dimension
>>>> d-1 of an element of dimension d, for any d<=dim of the grid. Is there
>>>> an iterator that would allow me to do this? I access the d-dimensional
>>>> element trough a LeafIterator.
>>>>
>>>> I need all this in order to get areas and normals of tetrahedron
>>>> faces, or lengths and vectors of triangle edges, in a uniform way.
>>>>
>>>> Thanks.
>>>>
>>>> Dragan
>>>>
>>>> _______________________________________________
>>>> Dune mailing list
>>>> Dune at dune-project.org
>>>> http://lists.dune-project.org/mailman/listinfo/dune
>>>>
>>>>
>>>
>>> --
>>> ************************************************************************
>>> * Oliver Sander ** email: sander at mi.fu-berlin.de *
>>> * Freie Universität Berlin ** phone: + 49 (30) 838 75348 *
>>> * Institut für Mathematik ** URL : page.mi.fu-berlin.de/~sander *
>>> * Arnimallee 6 ** -------------------------------------*
>>> * 14195 Berlin, Germany ** Member of MATHEON (www.matheon.de) *
>>> ************************************************************************
>>>
>>>
>>>
>>
>> _______________________________________________
>> Dune mailing list
>> Dune at dune-project.org
>> http://lists.dune-project.org/mailman/listinfo/dune
>>
>
>
> --
> ************************************************************************
> * Oliver Sander ** email: sander at mi.fu-berlin.de *
> * Freie Universität Berlin ** phone: + 49 (30) 838 75348 *
> * Institut für Mathematik ** URL : page.mi.fu-berlin.de/~sander *
> * Arnimallee 6 ** -------------------------------------*
> * 14195 Berlin, Germany ** Member of MATHEON (www.matheon.de) *
> ************************************************************************
>
>
More information about the Dune
mailing list