[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