[Dune] Fehler mit RefElement und Shapefunctions

Christian Engwer christi at uni-hd.de
Fri Dec 16 15:46:25 CET 2005


Hallo,

> Folgendes Programm stürzt ab:
> 
> #include <config.h>
> #include <dune/disc/shapefunctions/lagrangeshapefunctions.hh>
> 
> using namespace Dune;
> 
> int main (int argc, char *argv[]) try
> {
>     int a=ReferenceElements<double,2>::general(cube).subEntity(0,1,0,2);
> 
>     const LagrangeShapeFunctionSetContainer<double, double, 1>& 
>     lagrangeShapeFunctionSet = Dune::LagrangeShapeFunctions<double, double, 
>     1>::general;
> }
> 
> Könnte sich jemand, der sich mit den Shapefunctions auskennt, das
> bitte mal anschauen?  Vielen Dank!

Ich habe herausgefunden was das Problem ist, aber noch keine wirklich
Lösung. Ich kann aber einen Workaround anbieten...

Das Problem ist, dass die Singletons erst bei Bedarf angelegt werden
und hier wohl genau die Krux, wir benötigen am Anfang nur einen Teil
des Referenzelements, nämlich nur das was für subEntity gebraucht
wird. In den Shapefunctions wird dann aber alles gebraucht und da
kracht es dann weil irgendwie nur ein Teil da ist. So scheint es auf
mich zumindest. Man kann das Problem umschiffen, indem man zuerst die
Shapefunction erzeugt und dann auf das Referenzelement zugreift, da
dann alles erzeugt wird, was man braucht. Ist aber natuerlich nicht
gerade eine elegante Lösung.

Tschüß Christian




More information about the Dune mailing list