NeuralFlow
NeuralFlow verwendet neuronale Netze innerhalb einer vollständig konservativen Formulierung, anstatt sich auf die traditionelle PINN-Residualminimierung zu stützen.
NeuralFlow verwendet neuronale Netze innerhalb einer vollständig konservativen Formulierung, anstatt sich auf die traditionelle PINN-Residualminimierung zu stützen.
NeuralFlow ist ein CFD-Solver der nächsten Generation, der künstliche Intelligenz nutzt, um Strömungssimulationen zu verbessern und zu beschleunigen. Herkömmliche Solver diskretisieren und iterieren die zugrunde liegenden partiellen Differentialgleichungen (PDEs). Obwohl diese Methoden effektiv sind, können sie bei komplexen Geometrien oder hochpräzisen Turbulenzmodellen extrem zeitaufwendig sein.
Durch die Einbindung eines physikalisch fundierten neuronalen Netzes integriert NeuralFlow Domänenwissen direkt in den Lernprozess. Anstatt ausschließlich mit Daten zu trainieren, minimiert das neuronale Netz ein PDE-Residuum (oder einen Fluss) zusammen mit allen verfügbaren Simulationsdaten. Dies führt zu physikalisch konsistenten Lösungen, die schneller konvergieren als rein datengetriebene Ansätze.
NeuralFlow nutzt zwei Formen der automatischen Differenzierung (AD), um das neuronale Netzwerk mit unserem CFD-Solver zu koppeln:
Dieser duale AD-Ansatz ermöglicht das durchgängige Lernen der Fluiddynamik: Jede Iteration treibt das neuronale Netzwerk an, Feldvariablen (z. B. Geschwindigkeit oder Korrekturfaktoren) zu erzeugen, die das PDE-Residuum innerhalb des Lösers minimieren.
Ein auf klassischer Physik basierendes neuronales Netzwerk verwendet Differentialgleichungen direkt in seiner Verlustfunktion. Das Netzwerk muss die Ableitungen von Masse, Impuls und Energie an jedem Punkt exakt bestimmen. Dies funktioniert bei gleichmäßigen Strömungen, stößt aber bei Stoßwellen, Grenzschichten oder steilen Gradienten an seine Grenzen. In diesen Bereichen werden die Ableitungen groß oder undefiniert, was während des Trainings zu Instabilität und Oszillationen führt.
NeuralFlow verwendet stattdessen die Integralform (schwache Form) dieser Gleichungen. Das Netzwerk wird angewiesen, den Gesamtfluss durch jede Kontrollvolumenfläche zu minimieren . Diese Flüsse stammen aus fortgeschrittenen numerischen Flussberechnungsverfahren – wie AUSM⁺-up – , die in realen CFD-Solvern eingesetzt werden. Während des Trainings verwendet NeuralFlow die exakten Jacobimatrizen (Flussableitungen) des Solvers, wodurch Genauigkeit und Stabilität auch in der Nähe von Stoßwellen und dünnen Grenzschichten gewährleistet werden.
Kurz gesagt, klassische PINNs differenzieren Gleichungen und stoßen bei Stoßwellen und Grenzschichten an ihre Grenzen. NeuralFlow integriert Flüsse, verwendet lösungserprobte numerische Flüsse und Jacobimatrizen und bleibt auch in anspruchsvollen Strömungsbereichen stabil und genau.
NeuralFlow is formulated as an implicit optimization problem where a neural network is trained to minimize the residuals of a governing system of partial differential equations (PDEs). Given a set of state variables \( V \), the solver constructs a numerical representation of fluxes \( F \), ensuring conservation laws and physical consistency through automatic differentiation.
The state variables \( V \) satisfy a general system of governing equations expressed as:
\( \mathcal{R}(V) = 0 \)
where \( \mathcal{R} \) represents the residuals derived from conservation laws:
\( \frac{\partial V}{\partial t} + \nabla \cdot F(V) = S(V) \)
where:
NeuralFlow approximates the state variables using a neural network \( \mathcal{N}_\theta \):
\( V = \mathcal{N}_\theta(X) \)
where \( X \) represents input features such as spatial coordinates, initial conditions, or auxiliary parameters. The objective is to train the network to minimize the residuals \( \mathcal{R}(V) \).
Using automatic differentiation, the Jacobian of the flux function is computed as:
\( J_F = \frac{\partial F}{\partial V} \)
allowing for a local linearization:
\( \delta F \approx J_F \delta V \)
The optimization objective is to minimize the total residual loss over the computational domain:
\( \mathcal{J}(\theta) = \sum_{\Omega} \|\mathcal{R}(V)\|^2 \)
The network is trained using a gradient-based optimizer, where gradients are corrected using the flux Jacobians to enforce physics consistency:
\( \frac{\partial \mathcal{J}}{\partial \theta} = \sum_{i} \frac{\partial \mathcal{J}}{\partial V_i} \frac{\partial V_i}{\partial \theta} \)
The parameter updates are performed iteratively:
\( \theta \leftarrow \theta - \eta \frac{\partial \mathcal{J}}{\partial \theta} \)
where \( \eta \) is the learning rate.
By coupling numerical discretization with differentiable programming, NeuralFlow ensures that the learned state variables adhere to the governing physics while enabling a data-driven approach to solving PDEs.
Was wurde bisher abgeschlossen?
✓ AD-Integration im Vorwärtsmodus für Flussberechnungen.
✓ Implementierung robuster neuronaler Netzwerkarchitekturen in C++ (LibTorch) für das In-Solver-Training.
✓ Einbeziehung von Randbedingungen und zusätzlichen physikalischen Nebenbedingungen (z. B. Energiegleichung) direkt in die Trainingsschleife.
✓ Nachgewiesene Effizienz bei kompressiblen Hochgeschwindigkeitsströmungen.
Zukunftspläne & Erwartungen
NeuralFlow befindet sich derzeit in aktiver Entwicklung, und wir erwarten Folgendes:
In der nächsten Phase wollen wir Vergleichswerte mit herkömmlichen CFD-Solvern liefern, wobei der Fokus auf der Konvergenzgeschwindigkeit und der physikalischen Genauigkeit in komplexen Strömungsregimen liegt.