Wie viele FE-Elemente verkraftet das Faltwerksprogramm ?


Thomas Wölfer
Thomas Wölfer

05. Juli 2006


In der Theorie ist das einfach zu beantworten: Jedes FE-Element muss eine eindeutige ID haben. Diese ID ist im Programm über einen 32bit Wert implementiert, und der hat einen Wertebereich zwischen 0 und etwa 4 Milliarden. Es können also bis zu 4 Milliarden FE Elemente in einem System vorkommen.

 

In der Praxis sieht das aber anders aus – und da ist die Frage weniger einfach zu beantworten. Zunächst einmal muss man wissen, dass die „natürliche“ Grenze dann erreicht ist, wenn der Speicher ausgeht. Sobald es beim Rechengang dazu kommt, dass die Auslagerungsdatei verwendet werden muss, ist effektiv Schluss, denn dann dauert die Berechnung aufgrund der dauernden Festplattenzugriffe viel zu lange. Es gilt also herauszufinden, wie viel Speicher man für ein FE Element braucht, und wie viel zur Verfügung steht.

 

In meiner Workstation sind beispielsweise 3 GB RAM installiert, und davon sind im normalen Betrieb etwa 2.5 „frei“ – um die Sache zu vereinfachen, gehe ich aber einfach mal von 2 GB Speicher aus, der für die Berechnung zur Verfügung steht.

 

Ein FE-Element wird, vereinfacht ausgedrückt, durch eine ID und seine Eckpunkte beschrieben. Die ID braucht 32 Bit (also 4 Byte), und jeder Punkt braucht 3 Fließkommawerte (mit je 64 bit = 8 Byte) für seine Koordinaten – also insgesamt, bei 4 Eckpunkten, 12 * 8 = 96 Byte. Alles zusammen braucht ein FE Element also 100 Byte. Um den Zusammenhalt unter den Elementen herzustellen, braucht es aber auch noch weitere Informationen, und auch die brauchen Platz. So kennt ein FE-Element beispielsweise seine Nachbarn (4 * 32 Bit = 16 Byte), und kennt verschiedene Eigenschaften wie die Dicken in seinen Eckpunkten ( 4 * 32 Bit = 16 Byte), sein Material ( 16 Byte) und andere Angaben. Alles Zusammengenommen kann man ein Element auf etwa 256 Byte veranschlagen. (Das stimmt zwar nicht ganz, kommt der Sache aber nahe.)

 

Wenn man also nur diese 256 Byte für ein Element veranschlagt, kann man also etwa 8 Millionen FE-Element in den 2 GB unterbringen. Das ist immer noch eine Menge – aber auch immer noch weit von der Realität entfernt.

 

Zusätzlich ist zu berücksichtigen, dass bei der Berechnung ja auch eine Matrix und die eigentlichen Berechnungsergebnissen anfallen – und auch die brauchen natürlich Speicher, und zwar jede Menge. Wie viel genau ist vom Typ des Ergebnisses abhängig.

 

Die „richtige“ Anwort auf die Frage lautet also: In der Theorie etwa 4 Milliarden, in der Praxis sehr deutlich weniger als eine Million. Allerdings durchaus so viele, das man die mögliche Anzahl nie ausschöpfen wird – denn die Berechnungszeit wäre mit Sicherheit bei voller Ausschöpfung nicht mehr akzeptabel.