Parallelisierung in Finite-Elemente-Methode-Software (FEM) bezieht sich auf den Prozess, bei dem Rechenaufgaben auf mehrere Prozessoren oder Kerne aufgeteilt und verteilt werden, um die Analyse und Simulation komplexer Ingenieurprobleme zu beschleunigen. Parallele Berechnung ermöglicht es der Software, größere und komplexere Simulationen durchzuführen, indem sie die Leistung moderner Mehrkern-CPUs und sogar verteilter Rechencluster nutzt.
Hier sind einige wichtige Aspekte der Parallelisierung in FEM-Software:
Bereichszerlegung : Ein gängiger Ansatz zur Parallelisierung ist die Unterteilung des Simulationsbereichs in kleinere Teilbereiche. Jede Teilbereiche werden dann einem anderen Prozessor oder Kern zugewiesen und Berechnungen werden nebenläufig auf diesen separaten Teilen durchgeführt. Sobald die lokalen Berechnungen abgeschlossen sind, werden die Ergebnisse kombiniert, um die Gesamtlösung zu erhalten.
Diese Technologie wird in RFEM 6 und RSTAB 9 zur parallelen Berechnung von Lastfällen und Lastkombinationen genutzt. Für jeden Kern wird eine Solver-Instanz gestartet, welche dann nacheinander die Lastfälle oder Lastkombinationen rechnet.
Multithreading und Multiprocessing : FEM-Software kann Multithreading- und Multiprocessing-Techniken verwenden, um Berechnungen zu parallelisieren. Beim Multithreading wird ein einzelnes Programm in kleinere Threads zerlegt, die gleichzeitig ausgeführt werden können. Bei der Mehrfachverarbeitung geht es darum, mehrere unabhängige Prozesse oder Aufgaben gleichzeitig auszuführen.
Beide Techniken werden in RFEM 6 verwendet.
Es werden mehrere unabhängige Solver-Prozesse zur parallelen Berechnung von Lastfällen und Lastkombinationen gestartet. Das ist die Technik des Multiprocessing.
Wird für die Einzelberechnung eines Lastfalls oder einer Lastkombination der direkte Solver verwendet, wird die Last in mehrere Threads zur Lösung des Gleichungssystems aufgeteilt.
Skalierbarkeit : Skalierbarkeit beschreibt, wie gut eine FEM-Software mit einer steigenden Anzahl von Prozessoren oder Kernen umgehen kann. Eine gut konzipierte parallele FEM-Software sollte eine gute Skalierbarkeit aufweisen, d. h. die Leistungssteigerung ist erheblich und die Simulationszeit nimmt ab, wenn mehr Prozessoren hinzugefügt werden.
Parallele Bibliotheken und APIs : Viele FEM-Softwarepakete nutzen parallele Programmierbibliotheken und APIs ( Application Programming Interfaces ), um die Parallelisierung effektiv umzusetzen. Beispiele hierfür sind OpenMP, CUDA (für GPU-Parallelisierung) und andere.
OpenMP wird in RFEM6 für die Umsetzung von Multithreading verwendet.
CUDA wird in RFEM 6 nicht verwendet. Die Berechnung kann daher nicht auf Grafikkarten oder ähnlichen Rechenbeschleunigern durchgeführt werden.
Solver-Parallelisierung : In FEM-Simulationen ist die Lösung linearer Gleichungssysteme ein häufiges Nadelöhr. Erweiterte Solver können parallelisiert werden, um die Lösungsgeschwindigkeit zu verbessern.
Vor- und Nachbearbeitung : Während ein Großteil des Fokus auf der Parallelisierung der Solver-Phase liegt, kann die Parallelisierung auch auf andere Aspekte der FEM-Analyse angewendet werden, einschließlich Aufgaben vor der Verarbeitung (Netzgenerierung, Modellaufbau) und Nachbearbeitung (Visualisierung, Datenanalyse).
Sowohl in der Vor- als auch in der Nachbearbeitung wird von RFEM 6 und RSTAB 9 die Parallelisierung durch Multithreading genutzt.
Eine effektive Parallelisierung in FEM-Software kann die Simulationszeiten erheblich verkürzen, sodass Ingenieure und Forscher größere und komplexere Probleme effizient analysieren können.