nanofluidx

Funktionen

Der partikelbasierte nanoFluidX-Code ermöglicht einen eleganten und effizienten Ansatz im Hinblick auf Strömungen, die während der Simulation einem hohen Verformungsgrad unterzogen werden, z. B. durch Schleudern, heftige Mehrphasenströme oder schnelle Bewegungen durch komplexe Geometrie.

 

Allgemeine Strömungen auf freien Oberflächen

Simulieren Sie das Schwappen von Öl in den Antriebssystemen, frei fließende Flüssigkeiten in einer offenen Umgebung, offene oder geschlossene Tanks unter hohen Beschleunigungen und ähnliche Phänomene.

 

Mehrphasige Ströme mit hohem Dichteverhältnis

Die SPH-Methode (Smooth Particle Hydrodynamics) von nanoFluidX ermöglicht eine einfache Bearbeitung von mehrphasigen Strömen mit hohem Dichteverhältnis (z. B. Wasser-Luft) ohne zusätzlichen Rechenaufwand. Die Fluidgrenzflächen sind ein natürliches Nebenprodukt der SPH-Methode, und es ist keine zusätzliche Grenzflächenrekonstruktion erforderlich, wodurch Rechenzeit eingespart wird.

 

Rotierende Getriebe, Kurbelwellen und Pleuelstangen

nanoFluidX hat Optionen für das Vorgeben verschiedener Bewegungsarten implementiert. Dadurch können rotierende Zahnräder, Kurbelwellen und Pleuelstangen einfach simuliert werden. Messen Sie Kräfte und Drehmomente, die auf die massiven Elemente wirken, wenn sie mit der umgebenden Flüssigkeit interagieren.

 

Tank-Sloshing

Messen Sie die Kräfte, die bei extremer Beschleunigung, etwa beim Bremsen oder bei plötzlichem Spurwechsel, auf den Tank oder das Fahrzeug wirken.

 

GPU-Computing

GPU-Computing bietet einen erheblichen Leistungsvorteil sowie deutliche Energieeinsparungen gegenüber schwerfälligeren CPU-Pendants. Die GPU-Revolution im wissenschaftlichen und technischen Computing schreitet rasant voran, und nanoFluidX ist eines der wegweisenden kommerziellen Softwarepakete, die diese Technologie nutzen und dadurch die gesamte Produktentwicklung erheblich beschleunigen.

 

Zum Vergleich wurde ein reales Beispiel für ein komplexes Doppelkupplungsgetriebe (DCT) mit 13,5 Millionen Partikeln, einer Referenzdrehzahl von 3000 und einer physikalischer Zeit von 3,4 Sekunden sowohl mit nanoFluidX als auch mit einem kommerziellen CPU-basierten SPH-Code simuliert. Der CPU-Code verwendete ein System mit 32 Kernen, während nanoFluidX auf 4 NVIDIA Tesla V100-Karten ausgeführt wurde. nanoFluidX führte die Simulation in 48 Stunden durch, während der CPU-Code 255 Stunden benötigte. Damit ist nanoFluidX um 530 % schneller und verbraucht dabei 865 % weniger Energie (siehe Bildergalerie).

 

Standard-Finite-Volumen-CFD-Codes könnten höchstwahrscheinlich die Simulation einer derart komplexen Geometrie nicht einmal initialisieren, und selbst wenn sie es könnten, würde das Präprozessing Wochen dauern und die Rechenkosten einer solchen Simulation wären untragbar hoch.

32-Kern-CPU-System (Intel Xeon E5-2665) gegen nanoFluidX auf 4 NVIDIA Tesla V100-GPU-Karten.
*Annahmen zum Energieverbrauch: nur Prozessor, keine Peripheriegeräte; 8-Kern-CPU 95 W; Tesla V100 250 W

 

Vereinfachtes Präprozessing

Kein Meshing im klassischen Sinne erforderlich. Importieren Sie die Geometrie, wählen Sie das Element aus, und generieren Sie die Partikel. Kein stundenlanges Präprozessing und Erstellung eines adäquaten Gitters mehr nötig.

 

Starrkörperbewegung

Neben der Rotationsbewegung können mit dem nanoFluidX-Code in einer Eingabedatei vorgegebene Elementtrajektorien verwendet werden. Untersuchen Sie die Wechselwirkung zwischen einem beliebigen sich translational bewegenden Festkörper und der ihn umgebenden Flüssigkeit.

*Die angegebenen Zahlen sind fall- und konfigurationsabhängig.

 

Hardwareanforderungen

Das nanoFluidX-Team empfiehlt die Beschleuniger NVIDIA Tesla V100, P100 und K80, da es sich dabei um bewährte GPU-Karten für wissenschaftliches Computing in Rechenzentren handelt und da nanoFluidX darauf gründlich getestet wurde. Die Nvidia Tesla M-Serie (M40, M60) eignet sich ebenfalls für die Ausführung von nanoFluidX, allerdings haben diese Karten nur eine aussagekräftige Einzelpräzisionsleistung und das Ausführen mit doppelter Präzision ist im Grunde unmöglich.

 

Eine Reihe anderer NVIDIA-GPU-Karten (Quadro-Serie, GeForce-Serie usw.) haben eine Rechenfähigkeit, die im Prinzip für nanoFluidX geeignet ist. Das Entwicklungsteam garantiert jedoch nicht für die Genauigkeit, Stabilität und Gesamtleistung von nanoFluidX auf diesen Karten. Beachten Sie, dass die aktuelle NVIDIA-Lizenzvereinbarung die kommerzielle Nutzung von Karten aus Nicht-Tesla-Serien als Rechenressource in Bündeln von 4 GPUs oder mehr untersagt.

 

Der Code verfügt außerdem über eine dynamische Lastverteilung, mit dem eine optimale Hardwareauslastung gewährleistet wird und wodurch eine Ausführung auch auf Clustern mit mehreren Knoten möglich ist.

 

Empfohlene Hardware

  • 64 GB RAM oder mehr

  • Die Anzahl der CPU-Kerne sollte der Anzahl der GPU-Geräte entsprechen – die Nachrichtenübermittlung zwischen GPU-Geräten wird von den CPUs erledigt. Im Idealfall überschreitet die Anzahl der CPU-Kerne die Anzahl der verfügbaren GPU-Geräte leicht, um einen gewissen Rechenpuffer für die Ergebnisausgabe usw. sicherzustellen.

  • Festplattenspeicher von 2 TB oder mehr

  • Infiniband- oder OmniPath-Verbindungen für Systeme mit mehreren Knoten.

Unterstützte Plattformen

  • Alle Unix-basierten Betriebssysteme mit GCC neuer als 4.4.7 und GLIBC 2.12 (RHEL 6.x und 7.x sowie kompatibles Scientific Linux, CentOS, Ubuntu 14.04 und 16.04, OpenSUSE 13.2 u. a.)

  • NVIDIA CUDA 8.0 und OpenMPI 1.10.2 – werden mit der Binärdatei geliefert.