Z88 - Ein Finite-Elemente-Programm

Ohne Computer wäre die Berechnung Finiter Elemente gar nicht denkbar, da der Rechenaufwand immens ist. Daher wurden schon vor Jahren Programme geschaffen, die diese Berechnungen übernahmen. Allerdings waren der Speicherbedarf und die Rechenzeit so groß, daß sich der Einsatz kleinerer Rechner nicht lohnte. Wer Finite Elemente berechnen wollte, der mußte schon einen Großrechner bemühen. ZKK ermöglicht nun die Berechnungen auch auf kleineren Rechnern. Was ein derartiges Programm leistet, soll im folgenden aufgezeigt werden.

Zuerst aber die Frage, die sicherlich viele Leserinnen interessiert: Was sind Finite Elemente? Finite Elemente sind dem Bereich der numerischen Mathematik zuzuordnen. Sie werden benötigt, um Näherungslösungen für diverse Probleme zu bestimmen.

Die eher klassischen Verfahren der Berechnung von Näherungslösungen numerischer Probleme auf Gittern warten einige Probleme auf, da die Lösungen nur in ausgewählten Punkten - auf dem Gitter - berechnet wurden. Eine Näherungslösung auf einer Fläche (oder im Raum) war so nicht zu erhalten. Finite Elemente bieten nun den Vorteil, auf einzelnen Teilen einer Fläche Näherungswerte zu erhalten, womit eine "Flächen-"Lösung erreicht wird. Durch diese Art der Näherung ist es möglich, Funktionswerte an jedem Punkt einer Fläche nachträglich zu berechnen, ohne die Gesamtberechnung erneut durchführen zu müssen.

Finite-Elemente-Berechnungen können mit dem Programm Z88 sowohl im zwei-als auch im dreidimensionalen Raum durchgeführt werden.

Als Rechenbeispiel wurde eines der mitgelieferten Beispiele ausgewählt. Es handelt sich um einen Kranträger, der aus 54 Stäben besteht. Der Träger wird auf vier der Knoten aufgelegt, und an zwei Knoten wird eine Last angehängt. Ausgehend von dieser Situation berechnet Z88 die Verformung des Trägers. Aber zu dieser Berechnung wollen wir gleich wieder zurückkehren.

Z88 präsentiert sich mit zwei oder drei Disketten, je nachdem, für welche Version man sich entschieden hat. Für den ATARI stehen die ATARI-ST1- und die ATARl-ST4-Version zur Verfügung. Die erste Version ist für den kleinen ATARI ST mit 1 MB, die zweite für den großen mit 4 MB. Die kleine Version reicht für 50000 Elemente in der Gesamtsteifigkeitsmatrix, 2000 Freiheitsgrade, 1000 Knoten und 500 finite Elemente. Die große Version hat die achtfache Kapazität. Der Diskettenbetrieb ist grundsätzlich auch möglich, jedoch reicht die Diskettenkapazität nicht aus. Es kann ohne weiteres passieren, daß Dateien 5 MB groß werden. Daher ist eine Festplatte dringend empfohlen. Wer professioneller mit Z88 arbeiten möchte, kommt um die ATARI-ST4-Version nicht herum. Da die Rechenzeiten sehr groß werden die Berechnung finiter Elemente ist sehr aufwendig sollte auch ein Coprozessor 68881 vorhanden sein. Die Ausgabe erfolgt auf einen Drucker, ein Plotter dürfte jedoch bessere Ergebnisse liefern.

Die Hardware-Voraussetzungen zeigen, daß Z88 nicht ein Programm für jeden sein kann, was aber auch sonst logisch ist. Neben den ATARI-Versionen existiert Z88 auch noch für MS-DOS und OS/2, wobei auch hier die Leistung eines MS-DOS-Rechners bzw. der MS-DOS-Version von Z88 nicht für professionelle Ansprüche ausreicht.

     3   20   54  60   1  
     1    3 0.0    2000.    0.0
     2    3 0.0    0.0      0.0
     3    3 1000.  1000.    2000.
     4    3 2000.  2000.    0.0
     5    3 2000.  0.0      0.0
     6    3 3000.  1000.    2000.
     7    3 4000.  2000.    0.0
     8    3 4000.  0.0      0.0
     9    3 5000.  1000.    2000.
    10    3 6000.  2000.    0.0
    11    3 6000.  0.0      0.0
    12    3 7000.  1000.    2000.
    13    3 8000.  2000.    0.0
    14    3 8000.  0.0      0.0
    15    3 9000.  1000.    2000.
    16    310000.  2000.    0.0
    17    310000.  0.0      0.0
    18    311000.  1000.    2000.
    19    312000.  2000.    0.0
    20    312000.  0.0      0.0
     1    4      
     1    2      
500.
     2    4      
     4    5      
500.        3   4    
     7    8
500.        4  4    
    10   11      
500.        5  4    
    13   14      
500         6  4    
    16   17      
500         7  4    
    19   20      
500.        8  4    
     1    4      
500.        9  4    
     2    5      
500.       10  4
     4    7
500.       11  4    
     5    8
500.       12  4    
     7   10
500.       13  4    
     8   11
...
    54    4      
    17   19      
500.        1 54  200000.  0.3

Tabelle 1: Z8811.TXT

Z88 umfaßt mehrere, in Fortran 77 geschriebene Programme. Das System wurde modular gestaltet, damit möglichst viel Speicher für die Berechnung freibleibt. Zu den Programmen gehören neben den nötigen Übersetzungsprogrammen ein Netzgenerator, ein Spannungs- und ein Knotenkraftprozessor. Zur Lösung der Gleichungen stehen drei Verfahren zur Verfügung: Cholesky, Gauß und Iteration. Ergänzt wird das System durch ein Plot- und ein Bildschirmausgabeprogramm. Auf den mitgelieferten Disketten befinden sich ferner Beispiele, deren Benutzung klar beschrieben wird. Damit ist eine erste Inbetriebnahme des Programms sofort (nach der Installation auf der Festplatte) möglich. Dem System fehlt lediglich ein Editor, was aber nicht problematisch ist, da man so die Möglichkeit hat, seinen Lieblingseditor zu benutzen.

10			
1	2	2	0 .
1	3	2	0 .
2	1	2	0
2	3	2	0.
7	3	1	-30000.
8	3	1	-30000
19	1	2	0 .
19	3	2	0 .
20	2	2	0 .
20	3	2	0
100	0.000001		

Tabelle 2: Z8812.TXT

Das Handbuch wird im DIN A4-Format geliefert und erläutert neben dem Programm auch die Elemente und die Beispiele. Die Beschreibungen sind zwar nicht sehr ausführlich, genügen aber, um mit dem Programm klarzukommen. Ein Stichwortverzeichnis fehlt leider. Bei einem Programm wie Z88 ist jedoch nicht damit zu rechnen, daß ein absoluter Laie Berechnungen vornehmen wird, so daß das Handbuch kein Manko darstellt.

Z88 ist kein GEM-Programm. Es stellt diesen Anspruch aber auch nicht. Da die Menüsteuerung klar gestaltet wurde, ist neben der Umstellung von der gewohnten GEM-Umgebung auf eine "herkömmliche" Benutzerführung kein Problem zu erwarten. Alle Programme tragen die Endung PRG, womit es für den ST so wirkt, als liege ein GEM-Programm vor. Die Folge davon ist, daß der Mauszeiger erscheint (jedoch nicht benutzt werden kann), wenn man die Maus bewegt. Ferner erscheinen die Warnmeldungen des TOS als Alertbox, was zusätzlich ein paar Schwierigkeiten - wie das Anklicken der Buttons ohne Mauszeiger mit sich bringt. Die Schwierigkeiten sind jedoch äußerst gering. Während des Z88-Tests kam es zu keinen Problemen.

0   0   0

Tabelle 3: Z8813.TXT

Das Bildschirmausgabeprogramm nutzt das GEM, jedoch wird nur die Auflösung 640 mal 400 Pixel ausgenutzt. Ein Betrieb auf einem Ganzseitenmonitor ist zwar möglich, jedoch wird die höhere Auflösung leider nicht ausgenutzt. Getestet wurde dies mit BigScreen. Ferner stört bei einem modernen Programm, daß keine Umlaute ("ü" statt "ue" ...) benutzt werden.

Die Ausgabe der Hardcopy erfolgt auf konventionellem Wege mittels Alternate+Help. Speziell für NEC-Drucker wird HCOPYNEC.PRG benutzt. Die Ausgabe der Hardcopy erwies sich als etwas problematisch, da unter den gegebenen Umständen ein (nicht mitgeliefertes) Programm zur Umleitung der Hardcopy in eine Datei für Abstürze sorgte. Hier fehlt sicherlich noch eine Ausgabemöglichkeit in eine Datei mit Standardformaten. Abgesehen von diesen kleineren Problemen zeigte sich Z88 als ein zuverlässiges Programm.

Sehr vorteilhaft für die Datenübermittlung ist die Ein- und Ausgabe von Daten über ASCII-Dateien. Somit liegen die Daten gleich in verwertbarer Form für Z88 und ein Druckprogramm vor.

Kommen wir nun zu einer Beispielrechnung. Um es gleich vorwegzunehmen: Rechenzeiten wurden nicht getestet, da sie erwartungsgemäß (mit dem Laden und Schreiben der notwendigen Dateien) im Minuten-Bereich liegen und auch keine Vergleichsmöglichkeiten vorhanden waren. Da aber nur akzeptable Zeiten aufgetreten sind, kann man Z88 eigentlich nur ein Lob aussprechen.

Das Rechenbeispiel wird im Handbuch erläutert. Wie oben bereits beschrieben, handelt es sich um einen Kranträger, der aus 54 Stäben besteht und ein räumliches Fachwerk bildet. Der unverformte und der verformte Träger sind auf den Bildern zu sehen. Ferner zeigt eines der Bilder den Kranträger mit durchnumerierten Knoten. DerTräger wird in den Knoten 1,2,19 und 20 gelagert, auf die Knoten 7 und 8 wird eine Last von -30000 N gegeben. Der Träger hat eine Länge von 12 m, und als Werkstoff wurde Stahl [technische Daten: E=20000 N/m^2.nue=0.3(nue ist ein griechischer Buchstabe, der sich leider nicht drucken läßt)]. Die Stäbe haben eine Querschnittsfläche von 500 mm^2. Aus den Grafiken läßt sich entnehmen, wie der Träger vor und nach der Verformung aussieht.

Die Eingabedatei Z8811.TXT enthält in der ersten Zeile die Dimension der Struktur (3), die Anzahl der Knoten (20), die Anzahl der Elemente (54), die Anzahl der Freiheitsgrade (60) und ein Koordinaten-Flag (1) für Polar- bzw. Zylinderkoordinaten.

Ab der zweiten Zeile folgt dann die Knotenliste mit den jeweiligen Freiheitsgraden und Koordinaten. Nach der Knotenliste folgt die Elementliste mit Elementnummer. typ und Knotennummem sowie einem Querschnittsparameter (je drei Zeilen). Es tauchen nur zwei Knotennummern auf, da als Elementtyp das Stabelement gewählt wurde. In der letzten Zeile werden die Elastizitätsgesetze aufgeführt. Hier handelt es sich um das E-Modul 200000 mit Querkontraktionszahl nue=0.3 für die Elemente 1 bis 54.

Die Eingabedatei Z8812.TXT bestimmt nun die Randbedingungen. Aufgeführt ist in der ersten Zeile die Anzahl (10) und dann folgend die Liste. Ab der zweiten Zeile sind jeweils in einer Zeile die Knotennummer, der Freiheitsgrad und das Steuer-Flag (1 für Kraft, 2 für Verschiebung vorgeben), in der letzten Zeile die maximale Iterationszahl (100) und die Fehlerschranke (0.000001) angegeben.

DIMENS	KNOTEN ELEMEN FREIHE E-GESE KFLAG		
3	20 54	60 1	0
KNOTEN	FG X	Y	Z
1	3 0.00000000E + 00 2.00000002E + 03		0.000000001400
2	3 0.000000001+00	0.00000000E+00	0.00000000E+00
3	3 1 00000001E+03	1.00000001E+03	2.00000002E+03
4	3 2.00000002E+03	2.00000002E+03	0.00000000E+00
5	3 2.00000002E+03	0.00000000E+00	0.00000000E+00
6	3 3.00000011E+03	1.00000001E+03	2.00000002E+03
7	3 4 00000005E+03	2.00000002E+03	0.00000000E+00
8	3 4 00000005E+03	0.00000000E+00	0.00000000E+00
9	3 5.00000000E+03	1.00000001E+03	2.00000002E+03
10	3 6.00000023E+03	2 00000002E+03	0.00000000E+00
11	3 6.00000023E+03	0.00000000E+00	0.00000000E+00
12	3 6 99999988E+03	1.00000001E+03	2.00000002E+03
13	3 8.00000011E+03	2.00000002E+03	0.00000000E+00
14	3 8.00000011E+03	0.00000000E+00	0.00000000E+00
15	3 8 99999976E+03	1.00000001E+03	2.00000002E+03
16	3 1 00000001E+04	2.00000002E+03	0.00000000E+00
17	3 1 00000001E+04	0.00000000E+00	0.00000000E+00
18	3 1 09999999E+04	1.00000001E+03	2.00000002E+03
19	3 1.20000004E+04	2.00000002E+03	0.00000000E+00
20	3 1 20000004E+04	0.00000000E+00	0.00000000E+00
ELEMT   TYP    K1   K2    K3 ... K20    QPARA
    1   4       1     2                 500.
    2   4       4     5                 500.
    3   4       7     8                 500.
    4   4      10    11                 500.
    5   4      13    14                 500.
    6   4      16    17                 500.
    7   4      19    20                 500.
    8   4       1     4                 500.
    9   4       2     5                 500.
   10   4       4     7                 500.
   11   4       5     8                 500.
   12   4       7    10                 500.
   13   4       8    11                 500.
   ...
   ...
   54   4      17    19                 500.

  VON BIS    E-MODUL    NUE     INTORD 
    1  54  2.0001405  0.300        0  

Tabelle 4: Z8X01.TXT

VERSCHIEBUNGEN


KNOTEN U(1) U(2) U(3) 1 -8.89430727D-01 0.00000000D+00 0.00000000D+00 2 0.00000000D+00 -2.70673615D-01 0.00000000D+00 3 2.79583333D+00 1.51748628D-01 -2.42278968D+00 4 -7.10881443D-01 3.00984445D-01 -4.75756111D+00 5 -2.82072375D-01 2.5176154SD-01 -4.82541088D+00 6 1.99583333D+00 2.65297840D-01 -6.78479376D+00 7 -2.24456491D-01 5.49222788D-02 -8.656158410+00 8 -7.20204177D-02 3.05699380D-01 -8.65258330D+00 9 3.95833333D-01 1.02474057D-01 -8.49628901D+00 10 2.69844129D-01 -1.75388550D-01 -8.25197649D+00 11 3.30155871D-01 -2.24611450D-01 -8.07697649D+00 12 -8.04166667D-01 -1.52474057D-01 -7.25727S42D+00 13 4.72020418D-01 -5.05699380D-01 -6.34955612D+00 14 6.24456491D-01 -5.54922279D-01 -6.05313124D+00 15 -1.60416667D+00 -3.15297840D-01 -4.77002338D+00 16 3.82072375D-01 -4 51761545D-01 -3.39889729D+00 17 8.10881443D-01 -5.00984445D-01 -3.18104752D+00 18 -2.00416667D+00 -2.01748628D-01 -1.63453288D+00 19 0.00000000D+00 1.70673615D-01 0.00000000D+00 20 8.89430727D-01 0.00000000D+00 0.00000000D+00

Tabelle 5: Z8802.TXT

Die Eingabedatei Z8813.TXT hat keinen Einfluß auf die Berechnung und enthalt demgemäß keine interessanten Daten. Nach Durchlauf des Berechnungsprozesses erhält man die Ausgabedateien Z8801 .TXT und Z8802.TXT. Die anderen Ausgabedateien (Spannungsberechnung und Knotenkräfte) sind hier wegen der Größe nicht abgebildet. Der Aufbau der Datei Z8801.TXT ist analog zum Aufbau von Z8811.TXT und wird daher nicht erneut erläutert.

Die Datei Z8802.TXT enthält die resultierenden Verschiebungen aufgelistet nach Knoten in x-, y- und z-Richtung. Soweit das Beispiel.

Zusammenfassend läßt sich Z88 als ein zuverlässiges, preisgünstiges Finite-Elemente-Programm bezeichnen. Die Leistungen reichen aus, um - unter Bereitstellung der nötigen Hardware - auch auf kleineren Rechnern wie dem ATARI ST komplexe Berechnungen durchzuführen. Die Nicht-GEM-Umgebung ist klar gestaltet und läßt sich problemlos bedienen. Die Rechenzeit ist für ein Finite-Elemente-Programm als durchaus kurz zu bezeichnen.

Das Programm kostet in der kleinen Version 198.-DM, in der größeren 498.-DM, wobei bei der größeren Fassung auch der Coprozessor 68881 unterstützt werden kann. Der Vollständigkeit halber seien auch die Preise der anderen Versionen genannt: MS-DOS 498.- DM, OS/2 598.- DM. Das Handbuch kann für 48.- DM einzeln bestellt werden, eine Demo-Version ist nicht erhältlich.

Bezugsadresse:

HPS Gesellschaft für Entwicklung und Vertrieb von Soft- und Hardware mbH
Karlsbader Straße 10
6100 Darmstadt


Dietmar Rabich
Aus: ST-Computer 01 / 1990, Seite 56

Links

Copyright-Bestimmungen: siehe Über diese Seite