Entwicklungen bei FEM – Rechnungen für die fs36

Obwohl wir uns immer noch nicht in unserer Akaflieg- Werkstatt aufhalten dürfen, wird intensiv an unserem Projekt fs36 gearbeitet. Besonders die Schnittstelle zwischen dem Festigkeitsnachweis mit Lastenberechnung und dem FEM- Modell wurde ausgebaut und soll hier ein genauer beschrieben werden.

In den vergangenen Wochen wurde eine Programmkette entwickelt, welche automatisch die Lasten aus unserem Lastenprogramm in unser FEM-Programm Abaqus/CAE einliest und die lastfallabhängigen Randbedingungen setzt. Bereits im vergangenen Sommer wurde in der Akaflieg eine Masterarbeit fertiggestellt, welche sich mit der Entwicklung eines Lastenprogramms in Form einer zentralen MathCad-Programmkette befasste. Die Bemessungslasten werden in dieser Programmkette berechnet und als MathCad- lesbare Textdateien zur Verfügung gestellt. Um die Lasten weiter zu verarbeiten wurde nun ein Python-Skript erarbeitet.

Warum Python?

Das von uns verwendete FEM-Programm Abaqus/CAE besitzt eine Python-Schnittstelle, mithilfe derer umfangreiche Modellierungsarbeiten programmiert werden können. Python ist leistungsfähiger und in der Programmierung und Speicherverwaltung freier als MathCad, welches auf 32bit-Basis arbeitet und keine Variablen kennt. Dennoch kann auf MathCad nicht vollständig verzichtet werden, weil dessen Ausgabe als PDF sehr gut geeignet ist für die Erstellung offizieller Nachweisdokumente zur Prüfung durch das Luftfahrtbundesamt.
Da FEM-Analysen als Festigkeitsnachweis beim Luftfahrtbundesamt zum aktuellen Zeitpunkt nicht möglich sind, kann an dieser Stelle ohne Bedenken mit Python fortgefahren werden.

Programmstruktur

Um dem MathCad-System zu entkommen, wurde ein nunmehr letztes MathCad-Programm in dieser Kette geschrieben, welches die Lasten samt ihren jeweiligen Angriffspunkten in Form universell lesbarer CSV-Dateien ausgibt. Diese werden nun mit einem VBA-Excel-Makro formatiert und dann in ein Python-Skript eingelesen. Die Lasten aus dem Lastenprogramm greifen in den Schwerpunkten verschiedener Einbauteile an und sind verteilt auf Flosse, Flächenklappe und Ruder. Für die Verwendung in einer FEM-Rechnung sind diese zu fein diskretisiert. In diesem Python-Skript werden sie nun auf einen Angriffspunkt je 50 Millimeter in Spannweitenrichtung zusammengefasst, was die Angriffspunkte von über 800 auf unter 190 reduziert. Anschließend werden die resultierenden Lasten (Angriffspunkte sowie je ein Kraft- und Momentenvektor) als Python- lesbare .npy-Dateien ausgegeben. Diese werden von einem weiteren Skript eingelesen, welches die automatische Übertragung in Abaqus/CAE regelt. Dieses Skript erstellt die Angriffspunkte als Reference Points in Abaqus, knüpft diese an Flächen im Modell und erstellt auf ihnen die Kräfte und Momente. Des Weiteren bestimmt das Skript den Qx-Verlauf und sperrt je nach Lastfall die Verschiebung in y-Richtung am vorderen beziehungsweise hinteren Querkraftbolzen.

Wie geht es weiter?

Parallel dazu wird eine zweite Iteration des CAD-Modells zum Aufbau eines neuen FEM-Modells aufgebaut. Als Nächstes steht die Implementierung des Python- Skriptes in die zweite Modelliteration an. Wir gehen davon aus, dass eine zumindest teilweise Übertragbarkeit der Ergebnisse auf die finale Geometrieiteration besteht, weil Flügelgrundriss und Profile nun deutlich näher an der zu erwartenden finalen Geometrie liegen. Im Folgenden soll die Umsetzbarkeit der aktuellen Geometrieiteration an einigen hochbelasteten Stellen wie Wurzelrippe und Holmstummel verifiziert werden. Parallel können Programmstrukturen für andere Untersuchungen, wie zum Beispiel Aeroelastic Tailoring erarbeitet werden, welche dann ohne Probleme auf die finale Geometrieiteration übertragbar sein sollen.

Autor: Moritz Habermann