next up previous contents
Next:
Optimierung von PORTAL für Up: Implementierung von PORTAL in Previous: Erstellen der darzustellenden Daten

Versenden der Daten

Zum Übertragen der Daten wurde das Unterprogramm  sende entwickelt. Es öffnet und schließt den Socket und übernimmt alle Socketkommunikationen.
Zuerst ruft das Unterprogramm die Funktion DS_init_socket_write auf, die den Socket initialisiert. Danach kopiert die Funktion die gesamten Daten für die Visualisierung, d.h. die Knotenkoordinaten, die Elementgeometrie sowie die darzustellenden Ergebnisse, in ein Feld. Dies geschieht in der in Abbildung gif angegebenen Reihenfolge. Als nächstes wird das AVS-Modul durch den Aufruf des Unterprogramms DS_AVSinit() initialisiert und das Datenfeld mit der Funktion DS_send_data_vectors an das AVS-Modul über den Socket geschickt. Als letztes wird der Socket jedesmal wieder geschlossen.
Das Unterprogramm sende wurde so entwickelt, daß es auch als  Thread gestartet werden kann. Ein Prozeß, der als Thread aufgerufen wird, kann parallel zum Hauptprozeß laufen. Beide Prozesse verwenden hierbei den gleichen Adreßraum. Daraus folgt, daß die Daten für die Visualisierung erst einmal kopiert werden müssen. Würde dies nicht geschehen, würden sich die zu visualisierenden Daten während der Weiterberechnung des Rechenprogramms verändern und die Darstellung wäre nicht konsistent. Die beiden gleichzeitig laufenden Prozesse werden zusammen als  Task bezeichnet[Ludwig, 1993].


Michael Burghardt