fdsrun

Wie lange dauert eine FDS-Simulation – und warum?

fdsrun-Redaktion · · 5 Min. Lesezeit

Zellenanzahl, Zeitschritt, T_END und Aufteilung auf Prozesse: wovon die Rechenzeit in FDS abhängt und wie Sie sie vor dem Start abschätzen.

Die Rechenzeit einer FDS-Simulation setzt sich aus zwei Faktoren zusammen: der Anzahl der Zeitschritte bis T_END und der Dauer eines Zeitschritts. Der erste hängt von der Zellgröße und der Strömungsgeschwindigkeit ab, der zweite davon, wie viele Zellen auf dem am stärksten ausgelasteten Prozess liegen. Wer beides versteht, sieht schnell, ob ein Modell in einer Stunde oder in drei Tagen fertig wird.

1. Wie viele Zeitschritte: das CFL-Kriterium

FDS rechnet explizit, daher muss der Zeitschritt so klein sein, dass das Fluid pro Schritt nicht mehr als eine Zelle durchquert. Das ist das Courant-Friedrichs-Lewy-Kriterium (CFL): CFL = δt·|u|/δx < 1. Standardmäßig hält FDS die CFL-Zahl zwischen 0,8 und 1,0 und passt den Schritt während der Berechnung an; der Startwert ergibt sich aus der kleinsten Zelle und der charakteristischen Geschwindigkeit des Plumes (FDS User Guide, Abschnitte 6.2.2 und 19.3.1).

In der Praxis heißt das:

2. Wie lange ein Schritt dauert: Zellen auf dem langsamsten Prozess

In jedem Schritt aktualisiert FDS alle Zellen. Ist das Modell auf mehrere Meshes und MPI-Prozesse verteilt, rechnen diese parallel, warten aber am Ende jedes Schritts auf den langsamsten. Das Tempo bestimmt also nicht die Gesamtzahl der Zellen, sondern die Zellenanzahl auf dem am stärksten belasteten Prozess (mehr dazu im Ratgeber zu mehreren Meshes und MPI).

In unseren Messungen (FDS 6.10.1, Cloud-Server in der EU) dauerte ein Zeitschritt im Mittel etwa 3–4 µs pro Zelle des am stärksten belasteten Prozesses. Das ist ein guter Richtwert für eine schnelle Abschätzung.

3. Beispiel: eine Abschätzung in einer Minute

Modell: 1 000 000 Zellen à 10 cm, 10 Meshes à 100 000 Zellen, 10 MPI-Prozesse, T_END=600.

  • Schritt: etwa 0,02 s → 600 s / 0,02 s = 30 000 Schritte;
  • ein Schritt: 100 000 Zellen × 3,5 µs ≈ 0,35 s;
  • insgesamt: 30 000 × 0,35 s ≈ 10 500 s ≈ 2,9 h.

Dasselbe Modell auf einem Mesh und einem Prozess: 1 000 000 × 3,5 µs = 3,5 s pro Schritt, also etwa 29 h.

4. Warum eine halbierte Zelle so teuer ist

Halbiert man die Zellgröße, entstehen 8-mal mehr Zellen (drei Dimensionen) und ein etwa 2-mal kleinerer Zeitschritt. Zusammen sind das rund 16-mal längere Berechnungen bei gleicher Prozessanzahl. Die Auflösung verdient daher eine bewusste Wahl — siehe Zellgröße und D*/δx —, mit feinen Meshes nur dort, wo sie nötig sind (um die Brandquelle), und gröberen Meshes im Verhältnis 2:1 im übrigen Gebiet.

5. Rechenzeit verkürzen, ohne Qualität zu verlieren

Schätzung und Wirklichkeit

Jede Prognose hat eine Streuung: Der Zeitschritt ändert sich während der Simulation (Brandentwicklung, Anlaufen der Lüftung), und auf geteilten Servern kann das Tempo um einige zehn Prozent schwanken. Am verlässlichsten ist die Messung aus den ersten Minuten der Berechnung — die Datei CHID.out nennt Zeitschritt und Simulationszeit, und fdsrun rechnet die Prognose daraus während der Berechnung laufend neu.

Weitere Ratgeber

Quellen: FDS User Guide (NIST SP 1019), Abschnitte 3.3.1, 6.2.2, 19.3.1; eigene Messungen von fdsrun. FDS und Smokeview sind Software des National Institute of Standards and Technology; das NIST steht in keiner Verbindung zu fdsrun.

Sind Sie sicher?