[Dune] Fehler mit RefElement und Shapefunctions

Peter Bastian Peter.Bastian at iwr.uni-heidelberg.de
Fri Dec 16 22:20:43 CET 2005


Christian Engwer schrieb:
> 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.
> 
Ist es ein Initialisierungsreihenfolgeproblem? Ich denke wir sollten die
singletons eh mal richtig implementieren. Folgende Seite fand ich gut:

http://www.oop-trainer.de/Themen/Singleton.html

So hab ich das jetzt in der "CollectiveCommunication" gemacht.


-- Peter
------------------------------------------------------------------
Peter Bastian, IWR,Uni Heidelberg, INF 348,R 020, 69120 Heidelberg
email: Peter.Bastian at iwr.uni-heidelberg.de   Tel: +49 6221 54 4984
WWW: http://www.iwr.uni-heidelberg.de/~Peter.Bastian Fax: ... 8860




More information about the Dune mailing list