2.11 DAS OPENGL PLOTPROGRAMM Z88O

Mit dem OpenGL-Plotprogramm Z88O wird eine neue Dimension in Z88 eröffnet: Mit drei Lichtquellen beleuchtete Strukturen oder Hiddenline- Strukturen können unverformt oder verformt geplottet werden, ebenso können Farbverläufe für Spannungen und X-, Y- und Z- Verformungen gezeigt werden. Bei Knoten- und Elementnummern können Bereiche angegeben werden, was bei großen Strukturen sehr hilfreich ist. Eine Plotter- oder Druckerausgabe ist explizit nicht vorgesehen - wozu auch, machen Sie einfach einen Screenshot.

Z88O arbeitet mit OpenGL. Daher muß Ihr Computer OpenGL- fähig sein. Bei allen neueren Windows- Versionen ist dies standardmäßig aktiviert, und es reicht meist eine Billig- Grafikkarte. Sehen Sie allerdings sicherheitshalber in den Systemeinstellungen nach - mitunter kann OpenGL- Hardwarebeschleunigung aktiviert werden. Bei kommerziellen UNIX- Workstations ist OpenGL integraler Bestandteil. Achten Sie allerdings beim Compilieren darauf, daß die Libraries libGLw und libGL und sowie die Headerdateien gl.h, glx.h und GlwMDrawA.h vorhanden sind. Dies gilt auch für LINUX- Systeme; hier kann es aber je nach Grafikkarte manchmal Probleme geben. Das liegt dann nicht an Z88O, das wurde auf einer SGI als OpenGL- Referenzmaschine entwickelt. Aber mit neueren RedHat- und SuSE- Distributionen sollten Sie Z88O nach etwas Basteln zum Laufen bekommen. Falls es gar nicht funktioniert:

Das bewährte Plotprogram Z88P, das mit der WinAPI bzw. der X11- Bibliothek arbeitet, bleibt weiterhin in Z88, vgl. Kap. 2.6.

Die Bildschirmfarben, Lichtquellen, Materialeigenschaften, der Polygonoffset u.a. können für Windows in der Datei Z88O.OGL eingestellt werden; für UNIX bestehen viel umfassendere Möglichkeiten in der Datei Z88.FCD, in der nicht nur Farben, Fonts und OpenGL- Steuerwerte, sondern auch die Größen und Lagen der Pushbuttons, Radioboxes etc. definiert sind. Sie können also bei UNIX das ganze Aussehen von Z88O ganz nach Ihren Wünschen anpassen. Seien Sie allerdings vorsichtig beim Ändern von Z88O.OGL (Windows) bzw. Z88.FCD (UNIX/LINUX): Sie müssen über ein gewisses Grundwissen über die Arbeitsweise von OpenGL verfügen, wenn Sie Lichteffekte und dgl. gezielt ändern wollen. Sonst gibt es schnell lange Gesichter, weil anscheinend nichts mehr richtig geht. Einige Hinweise sind als Kommentare in Z88O.OGL bzw. Z88.FCD eingefügt, aber ich kann hier keine Einführung in OpenGL geben. Konsultieren Sie die beiden Bücher "OpenGL Programming Guide" und "OpenGL Reference Manual" des Addison-Wesley Verlags.

Starten des Renderns: Wenn Z88O angelaufen ist, ist OpenGL initialisiert. Das eigentliche Rendern starten Sie bei Windows mit dem Icon ganz links Start frei bzw. bei UNIX mit dem Pushbutton obere Reihe rechts <Los>.

erford. Files: | Superstrukturen | unverformte FE- Str. | verformte FE- Strukturen
Z88NI.TXT | ja | nein | nein
Z88I1.TXT | nein | ja | ja
Z88O2.TXT | nein | nein | ja
Z88O8.TXT | nein | ja,wenn Anzeige der Vergleichsspannungen | ja, wenn Anzeige der Vergleichsspannungen

Besondernheiten des Renderns bei Z88O: Um möglichst rasch zu arbeiten, verbindet Z88O lediglich die Eckpunkte, und diese auch nur mit geraden Linien, obwohl bei Serendipity- Elementen die Kanten der Elemente quadratische bzw. kubische Kurven sind. Der Rechenaufwand ist besonders bei beleuchteten Szenen ohnehin schon immens. Wenn ein Bauteil in Ihrem CAD-System, z.B. Pro/ENGINEER, schön schnell gedreht wird und die dort in ein FE- Netz zerlegte Struktur dann in Z88O relativ langsam gedreht, gezoomt oder verschoben wird, dann ist das ganz normal: CAD- Programm malen nur ein "paar" Hüllkurven, FE- Programme müssen jedes finite Element rendern, d.h. Normalenvektoren für alle Elementflächen berechnen, Farbverläufe dafür bestimmen usw. Besonders rechenintensiv sind Hiddenline- Darstellungen.

Was können Sie mit Z88O anzeigen? Eigentlich alles, wenn vorher ein Solver (Z88F oder Z88I1 mit Z88I2), der die Verformungsdatei Z88O2.TXT erzeugt, und dann der Spannungsprozessor Z88D, der die drei Spannungsdateien Z88O3.TXT (für Sie zum Ablesen der Spannungen), Z88O5.TXT (für Z88P) und Z88O8.TXT (für Z88O) erzeugt, gelaufen sind. Selbst bei Stäben können Sie jetzt "Vergleichspannungen", also die Zug- und Druckspannungen, farbig anzeigen lassen; lediglich für Balken Nr.2 und Nr.13 sowie für Wellen Nr.5 können nur die Verformungen angezeigt werden. Warum? Weil Sie bei Balken und Wellen beispielsweise die Kerbwirkung miteinrechnen müssen, was ein FEA- Programm naturgemäß bei einer Gesamtstruktur nicht kann.

Spannungsanzeige: Die Art der Spannungsanzeige bei FEA- Programmen hat durchaus philosophischen Charakter. Fakt ist, daß durchaus sehr teure, kommerzielle FEA- Programme in bestimmten Situationen Spannungen falsch anzeigen, wie umfangreiche Versuche am Lehrstuhl für Konstruktionslehre und CAD der Universität Bayreuth ergeben haben. Am präzisesten ist die Spannungsanzeige direkt in den Gaußpunkten, wie dies Z88P realisiert. Dies ist bei OpenGL nicht vernünftig darstellbar, daher habe ich mich nach vielen Versuchen mit realen FE-Strukturen zu folgendem Vorgehen entschlossen:

- Vergleichsspannungen in den Eckknoten. In Wirklichkeit werden die Spannungen eben nicht in den Eckknoten berechnet, was besonders bei sehr spitzen Elementen zu ganz falschen Ergebnissen führt (sic!), sondern in Gaußpunkten, die in der Nähe der jeweiligen Eckknoten liegen. Es werden die Spannungen für genau so viele Gaußpunkte berechnet, wie Eckknoten vorhanden sind. Da meist an einen Knoten mehrere Elemente anschließen, werden diese Spannungen dann noch gemittelt über alle anschließenden Elemente. Dies führt zu recht ausgeglichenen Spannungs-verläufen, die im Mittel aber geringer sind als die Maximalspannungen aus Z88P. Die Einstellungen hinsichtlich der Integrationsordnung INTORD in der Steuerdatei Z88I3.TXT haben keinen Einfluß, INTORD muß aber > 0 sein.

- Vergleichsspannungen pro Element gemittelt. Es werden die Spannungen in den Gaußpunkten im jeweiligen Element berechnet, aufsummiert und durch die Anzahl der Gaußpunkte geteilt. Dies ergibt eine mittlere Vergleichsspannung pro Element. Die Einstellungen hinsichtlich der Integrationsordnung INTORD in der Steuerdatei Z88I3.TXT haben jetzt Einfluß, INTORD muß > 0 sein.

Verschiebungsanzeige: Sie können die Struktur unverformt oder verformt plotten. Der Vergrößerungsfaktor (Standard ist jeweils 100 für X, Y und Z) ist wählbar. Zusätzlich können Sie sich die Verschiebungen für X, für Y oder für Z farblich abgestuft anzeigen lassen. Dies ist besonders bei komplizierten Raumstrukturen sehr angenehm. Im Gegensatz zu Z88P können Sie die Spannungsanzeige oder die Verschiebungen für X, für Y oder für Z oder die Hiddenline- Darstellung auch bei verformter Struktur aufrufen.

Bedienungshinweise Zoomen, Verschieben und Rotieren:

- Sie können ohne irgendwelche Beschränkungen mit den Sondertasten (s.u.) bei Windows bzw. den Pushbuttons bei UNIX zoomen, verschieben und rotieren. Damit sollten Sie immer arbeiten, wenn Sie sehr stark zoomen, genau verschieben und definiert rotieren wollen. Dies ist der Standardmodus. Die Maussteuerung funktioniert jetzt nicht.

- Sie können bei Z88O -im Gegensatz zu Z88P- auch mit der Maus arbeiten: Aktivieren Sie bei Windows das Maus-Icon bzw. bei UNIX den Pushbutton Pushbu (der dann auf Maus wechselt): Jetzt können Sie
  - mit Maustaste links gedrückt zoomen
  - mit Maustaste Mitte gedrückt verschieben
  - mit Maustaste rechts gedrückt rotieren

Diese Option verwenden Sie für eingeschränkte Zoom- und Verschiebebereiche sowie für schnelles, aber unpräzises Drehen. Sie könnten jetzt auch mit den Tasten gemäß 1. zusätzlich arbeiten, aber diese gemischte Arbeitsweise ist nicht vorgesehen und kann zu unvorhersehbaren Ergebnissen führen. Das liegt daran, daß in Z88O unterschiedliche Berechnungen für beide Modi verwendet werden.

Tasten- Sonderfunktionen bei Windows:

BILD HOCH : Zoom stärker

BILD RUNTER : Zoom geringer

CURSOR LINKS : Struktur in X-Richtung schieben

CURSOR RECHTS : Struktur in X-Richtung schieben

CURSOR HOCH : Struktur in Y-Richtung schieben

CURSOR RUNTER : Struktur in Y-Richtung schieben

POS1 : Struktur in Z-Richtung schieben

ENDE : Struktur in Z-Richtung schieben

F2 : Struktur um X-Achse rotieren

F3 : Struktur um X-Achse rotieren

F4 : Struktur um Y-Achse rotieren

F5 : Struktur um Y-Achse rotieren

F6 : Struktur um Z-Achse rotieren

F7 : Struktur um Z-Achse rotieren

F8 : Rotationen um X,Y und Z auf 0 setzen

Bei UNIX gelten die üblichen X- bzw. Motif- Tastendefinitionen, also TAB, dann Pfeiltasten zum Anwählen und Leertaste zum Aktivieren.

Das "Koordinatensystem": OpenGL arbeitet mit einem Clipping Volume, d.h. mit einer Art Würfel, der durch Xmin und Xmax in horizontaler Richtung, durch Ymin und Ymax in vertikaler Richtung und Zmin (liegt zum Betrachter hin) und Zmax (zeigt vom Betrachter weg) definiert wird. Wenn Sie jetzt einen Körper zu stark zoomen oder zu sich heranschieben, dann wird der Bereich von Zmin überschritten und Teile der Struktur liegen außerhalb des Betrachtungsbereiches. Das können Sie einerseits sehr schön verwenden, um in eine Struktur hineinzublicken. Wenn Sie das nicht wollen, verändern Sie den Wert von Zmin (Standardwert ist -100) zu kleineren Werten, z.B. zu -1000: Bei Windows im Menü Faktoren > Z-Limit zum Betrachter, bei UNIX das Textfeld "Zlimit" rechts unten. Die folgenden Bilder stellen den Sachverhalt dar:

Windows: Kolben eines BMW-Motorradmotors, Zlimit auf Standardwert -100.

Windows: Kolben eines BMW-Motorradmotors, Zlimit auf -10 gesetzt: Kolben halb geschnitten.

Erläuterung einiger Menüpunkte:

Name der Strukturdatei:

Windows : Datei > Strukturfile oder das Disketten-Icon

UNIX : Stru. , Textfeld direkt auf Window

Hier wird das Strukturfile gewählt. Namen, ggf. mit Pfad, eingeben, RETURN. Die neue Stuktur wird geladen. Das eigentliche Rendern starten Sie bei Windows mit dem Icon ganz links Start frei bzw. bei UNIX mit dem Pushbutton obere Reihe rechts <Los>.

Verformungszustand der Struktur:

Windows: Struktur > Unverformt, Verformt oder die entsprechenden Icons

UNIX : Radiobox Unverfo. bzw. Verformt

Zeichnen der Struktur unverformt oder verformt. Sie können alle sonstigen Render-Operationen mit der unverformten oder auch der verformten Struktur durchführen.

ACHTUNG Struktur Verformt: Der Bediener ist dafür verantwortlich, daß er bei Nutzung dieser Funktion eine Verschiebungsrechnung ausgeführt hat. Also vor Nutzung von Z88O einen FE- Lauf mit Z88F oder dem Iterationssolver laufen lassen. Sonst werden irgendwelche Files Z88O2.TXT (Verschiebungen) aus früheren Rechnungen angezogen !

Wahl der 3D-Effekte:

Windows: 3D-Effekte >

1. Licht an,

2. Hidden Line an,

3. V-Spannungen (Eckknoten),

4. V-Spannungen (Elemente),

5. X-Verschiebungen an,

6. Y-Verschiebungen an,

7. Z-Verschiebungen an

oder die entsprechenden Icons

UNIX : Radiobox

1. Licht,

2. Hide/Netz,

3. VerSpa E,

4. VerSpa M,

5. X-Verschi,

6. Y-Verschi,

7. Z-Verschi

1. Die Struktur wird mit drei Lichquellen beleuchtet. Die Eigenschaften der Lichtquellen können in den Steuerdateien Z88O.OGL (Windows) und Z88.FCD (UNIX) verändert werden.
2. Es wird bei Raumstrukturen das FE-Netz mit verdeckten Linien gerendert oder bei 2D-Strukturen das reine FE-Netz gezeichnet (da kann man nichts verdecken). Nur in diesem Modus können Sie alle gewünschten Knoten- und Elementlabels auch sehen. Der Polygonoffset kann in den Steuerdateien Z88O.OGL (Windows) und Z88.FCD (UNIX) verändert werden.
3. Es werden die Vergleichsspannungen in den Eckknoten angezeigt. In Wirklichkeit werden die Spannungen nicht in den Eckknoten berechnet, sondern in Gaußpunkten, die in der Nähe der jeweiligen Eckknoten liegen. Es werden die Spannungen für genau so viele Gaußpunkte berechnet, wie Eckknoten vorhanden sind. Da meist an einen Knoten mehrere Elemente anschließen, werden diese Spannungen dann noch gemittelt über alle anschließenden Elemente. Dies führt zu recht ausgeglichenen Spannungsverläufen, die im Mittel aber geringer sind als die Maximalspannungen aus Z88P. Die Einstellungen hinsichtlich der Integrationsordnung INTORD in der Steuerdatei Z88I3.TXT haben keinen Einfluß, INTORD muß aber > 0 sein.
4. Es werden die Vergleichsspannungen, pro Element gemittelt, gezeigt. Es werden die Spannungen in den Gaußpunkte im jeweiligen Element berechnet, aufsummiert und durch die Anzahl der Gaußpunkte geteilt. Dies ergibt eine mittlere Vergleichsspannung pro Element. Die Einstellungen hinsichtlich der Integrations-ordnung INTORD in der Steuerdatei Z88I3.TXT haben jetzt Einfluß, INTORD muß > 0 sein.
5. Anzeige der Verschiebungen für X farblich abgestuft
6. Anzeige der Verschiebungen für Y farblich abgestuft
7. Anzeige der Verschiebungen für Z farblich abgestuft

Für die Pos. 3. bis 7. kann die Farbskala in in den Steuerdateien Z88O.OGL (Windows) und Z88.FCD (UNIX) verändert werden.

UNIX: Hiddenline- Darstellung einer verformten Platte, Maussteuerung eingeschaltet.

Zeichnen der Knoten- und Elementnummern:

Windows: Labels > No Labels, Knoten, Elemente

UNIX : Radiobox No Labels, Knoten, Elemente

Labels = Plotten von Knotennummern oder Elementnummern. Im Gegensatz zu Z88P können Sie hier jeweils Bereiche von-bis angeben, z.B. plotte die Knotennummern von 11 bis 19 oder plotte das Element 3, d.h. von 3 bis 3. Z88O merkt sich Ihre Einstellungen, auch wenn Sie zwischenzeitlich wieder auf No Labels zurückgehen. Achten Sie bei UNIX bzw. LINUX darauf, daß, wenn Sie ein Textfeld ausgefüllt haben, Sie dann gleich die Return-Taste drücken, damit der Wert auch übernommen wird. Das ist keine Z88O- Eigenheit, sondern das normale Verhalten von Motif- Textfelfern.

Beachten Sie, daß Sie nur alle gewünschten Labels auf der Oberfläche gerendert bekommen, wenn Sie bei den 3D-Effekten im Hiddenline- Modus sind. Bei allen anderen Modi werden die Labels teilweise verdeckt. Und Labels im Inneren eines räumlichen Körpers kann man normalerweise ohnehin nicht sehen, weil sie von den Tetraeder- und Hexaederflächen verdeckt werden. Daher schaltet Z88O dann den Hiddenline- Modus aus - Sie sehen dann das Netz ohne verdeckte Linien wie bei Z88P. Sobald Sie wieder auf No Labels gehen, wird wieder mit verdeckten Linien gearbeitet.

Vergrößern - Verkleinern (Zoomen):

Windows: Tasten BILD HOCH und BILD RUNTER

UNIX : Pushbuttons Zoom+ und Zoom-

Bei Maussteuerung aktiv: linke Maustaste gedrückt

Verschieben (Panning):

Windows:

X: CURSOR LINKS und CURSOR RECHTS

Y: CURSOR HOCH und CURSOR RUNTER

Z: POS 1 und ENDE

UNIX : Pushbuttons X+, X-, Y+, Y-, Z+, Z-

Bei Maussteuerung aktiv: mittlere Maustaste gedrückt

Rotieren:

Windows: Faktoren > Rotationen

Die Rotationen um X, Y und Z werden mit Faktoren > Rotationen definiert: ROTX, ROTY und ROTZ. Standardwerte je 0. Mit den Tasten F2..F7 kann in 10-Grad Sprüngen gedreht werden.

UNIX : Pushbuttons RX+, RX-, RY+, RY-, RZ+, RZ-

Drehung in 10 Grad Schritten. Pushbutton Rot 0 setzt sie zurück.

Bei Maussteuerung aktiv: rechte Maustaste gedrückt

Vergrößern der Verschiebungen:

Windows: Faktoren > Verschiebungen > FUX, FUY, FUZ

UNIX : Textfelder FUX, FUY und FUZ

Vergrößern der Verschiebungen erfolgt bei Windows mit Faktoren > Verschiebungen : FUX, FUY und FUZ. Standardwerte je 100. Achtung UNIX: Wie bei UNIX üblich, greifen die Änderungen nur bei einem jeweiligen RETURN. Oder lassen Sie die drei RETURNs weg und geben dann nochmal <Los>.

Anmerkungen Vergleichsspannungen:

Windows:
3D-Effekte > Vergleichsspannungen (Eckknoten) bzw. Icon Nr. 9 von links
3D-Effekte > Vergleichsspannungen (Elemente) bzw. Icon Nr. 10 von links

UNIX :
Radiobutton VerSpa E (= Eckknoten)
Radiobutton VerSpa M (= Mittelwert pro Element)

Wurden vorher Vergleichsspannungen mit Z88D berechnet (dies ist für alle Elemente außer den Balken Nr.2, Nr.13 und den Wellen Nr.5 möglich und sinnvoll), so können diese Vergleichsspannungen entweder in den Eckknoten oder als Mittelwert je Element angezeigt werden. Und bevor Sie den Spannungsprozessor Z88D laufen ließen, mußten Sie davor die Verschiebungen mit Z88F oder dem Iterationssolver berechnen. Die Reihenfolge ist also:
1. Cholesky Solver Z88F oder Iterationssolver Z88I1 und Z88I2
2. Spannungsprozessor Z88D
3. Z88O, falls Sie Spannungen plotten wollen

Vergleichsspannungen in den Eckknoten: Die Spannungen werden tatsächlich berechnet in Gaußpunkten, die in der Nähe der jeweiligen Eckknoten liegen. Es werden die Spannungen für genau so viele Gaußpunkte berechnet, wie Eckknoten vorhanden sind. Da meist an einen Knoten mehrere Elemente anschließen, werden diese Spannungen dann noch gemittelt über alle anschließenden Elemente. Die Einstellungen hinsichtlich der Integrationsordnung INTORD in der Steuerdatei Z88I3.TXT haben keinen Einfluß, INTORD muß aber > 0 sein.

Vergleichsspannungen, Mittelwert pro Element. Es werden die Spannungen in den Gaußpunkten im jeweiligen Element berechnet, aufsummiert und durch die Anzahl der Gaußpunkte geteilt. Dies ergibt eine mittlere Vergleichsspannung pro Element. Die Einstellungen hinsichtlich der Integrationsordnung INTORD in der Steuerdatei Z88I3.TXT haben jetzt Einfluß, INTORD muß > 0 sein. Beispiel: Wenn Sie bei Hexaedern Nr.10 für INTORD 3 angeben, denn werden die Vergleichsspannungen in 3 x 3 x 3 = 27 Gaußpunkten berechnet, aufsummiert und dann durch 27 geteilt.

Die Ausgabe erfolgt in Form einer Farbskala. Diese Farbskala können Sie in Z88O.OGL (Windows) oder Z88.FCD (UNIX) nach persönlichen Wünschen einstellen. Natürlich auch die Fonts bei UNIX - da müssen Sie je nach System etwas experimentieren, bis es gefällig aussieht. Diese Anpassungen machen Sie einmalig.

Zuvor muß eine Spannungsberechnung mit Z88D erfolgen. Dabei war im File Z88I3.TXT das Vergleichs- Spannungsflag ISFLAG 1 und die Integrationsordnung INTORD > 0. Genaue Spannungs-Ergebnisse der Ausgabedatei Z88O3.TXT entnehmen.

ACHTUNG: Der Bediener ist dafür verantwortlich, das er bei Nutzung dieser Funktionen eine Spannungsberechnung ausgeführt hat. Davor mußten Sie Verformungen mit Z88F oder dem Iterationssolver berechnen.Also vor Nutzung von Z88O einen Spannungs-Lauf mit Z88D ausführen. Sonst werden irgendwelche Files Z88O8.TXT (Spannungen) aus früheren Rechnungen angezogen !

Autoskalieren:

Windows: Autoscale > No Autoscale, Yes Autoscale bzw 3.Icon von links

UNIX : Pushbutton AutoS

Die Autoscale-Funktion sorgt dafür, daß Strukturen vollständig auf den Bildschirm passen.

Sie wird beim Laden einer Struktur mit Datei > Strukturfile automatisch aktiviert. Sie wird dann gleich wieder deaktiviert, daher steht der Haken dann auf No Autoscale. Sie können dann mit Autoscale > Yes Autoscale passend skalieren lassen. Sodann schaltet Autoscale sofort wieder auf No Autoscale. Autoscale > Yes Autoscale ist also eine Art Tipptaste. Das oben Gesagte gilt sinngemäß auch für UNIX.

Höhen- Seitenverhältnis FYCOR:

Windows: Datei Z88O.OGL

UNIX : Datei Z88.FCD

Das Höhen- Seitenverhältnis zur Monitoranpassung kann verändert werden. Dazu gibt es in den Dateien Z88O.OGL (Windows) bzw. Z88.FCD den Wert FYCOR. Laden Sie eine kreisrunde oder quadratische Struktur und verändern Sie FYCOR, bis die Struktur auf Ihrem Monitor genau rund oder quadratisch dargestellt wird. Beachten Sie, daß der Wert FYCOR beim Start von Z88O geladen wird, sodaß Sie nach Veränderung dieses Wertes Z88O neu starten müssen, um eine Änderung zu sehen. Diese Anpassung brauchen Sie nur ein einzigesmal zu machen.

Windows: Anzeige der Vergleichsspannungen in den Eckknoten bei einem BMW-Motorradkolben.