DE102021205714A1 - System und verfahren zum kombinieren von differenzierbaren partiellen differentialgleichungslösern und neuronalen graphennetzen zur fluidflussvorhersage - Google Patents

System und verfahren zum kombinieren von differenzierbaren partiellen differentialgleichungslösern und neuronalen graphennetzen zur fluidflussvorhersage Download PDF

Info

Publication number
DE102021205714A1
DE102021205714A1 DE102021205714.4A DE102021205714A DE102021205714A1 DE 102021205714 A1 DE102021205714 A1 DE 102021205714A1 DE 102021205714 A DE102021205714 A DE 102021205714A DE 102021205714 A1 DE102021205714 A1 DE 102021205714A1
Authority
DE
Germany
Prior art keywords
nodes
coarse
mesh
input
grid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021205714.4A
Other languages
English (en)
Inventor
Devin Willmott
Thomas Economon
Felipe de Avila Belbute Peres
Jeremy Zieg Kolter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of DE102021205714A1 publication Critical patent/DE102021205714A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/13Differential equations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/28Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/08Fluids

Abstract

Ein computerimplementiertes Verfahren beinhaltet das Empfangen einer Grobgittereingabe, die einen ersten Satz von Knoten beinhaltet, wobei das Grobgitter in einen rechnergestützten Fluiddynamik-Solver mit physikalischen Parametern eingegeben wird, um eine Grobgitterlösung zu erhalten, das Empfangen einer Feingittereingabe, die von einem zweiten Satz von Knoten stammt, wobei der zweite Satz von Knoten mehr Knoten beinhaltet als der erste Satz von Knoten, das Verketten der Feingittereingabe mit den physikalischen Parametern und Ausführen der Verkettung durch eine Graphenfaltungsschicht, um eine verdeckte Feingitterschicht zu erhalten, das Erhöhen der Auflösung (Upsampling) der Grobgitterlösung, um ein Grobgitter-Upsample zu erhalten, das dieselbe Anzahl von Knoten beinhaltet wie der zweite Satz von Knoten und das Ausgeben einer Vorhersage in Reaktion auf wenigstens das Grobgitter-Upsample.

Description

  • GEBIET DER TECHNIK
  • Die vorliegende Offenbarung betrifft Systeme, die rechnergestützte Fluiddynamik (Computational Fluid Dynamics, CFD) und CFD-Solver nutzen.
  • HINTERGRUND
  • Das Lösen von großen komplexen partiellen Differentialgleichungen (Partial Differential Equations, PDEs), wie etwa solchen, die bei der rechnergestützten Fluiddynamik (Computational Fluid Dynamics, CFD) auftreten, ist ein rechenintensiver Prozess. Dies hat den Einsatz von Deep-Learning-Ansätzen zum Annähern der PDE-Lösungen angeregt, wenngleich sich die Simulationsergebnisse, die anhand dieser Ansätze vorhergesagt werden, typischerweise nicht gut auf neue Szenarien verallgemeinern lassen.
  • KURZDARSTELLUNG
  • Gemäß einer Ausführungsform weist ein System einen Prozessor auf, der dafür programmiert ist, eine Grobgittereingabe zu empfangen, die einen ersten Satz von Knoten beinhaltet, wobei das Grobgitter in einen rechnergestützten Fluiddynamik-Solver mit physikalischen Parametern eingegeben wird, um eine Grobgitterlösung zu erhalten, eine Feingittereingabe zu empfangen, die von einem zweiten Satz von Knoten stammt, wobei der zweite Satz von Knoten mehr Knoten beinhaltet als der erste Satz von Knoten, die Feingittereingabe mit den physikalischen Parametern zu verketten und die Verkettung durch eine Graphenfaltungsschicht auszuführen, um eine verdeckte Feingitterschicht zu erhalten, die Auflösung der Grobgitterlösung zu erhöhen (Upsampling), um ein Grobgitter-Upsample zu erhalten, das dieselbe Anzahl von Knoten beinhaltet wie der zweite Satz von Knoten, die verdeckte Feingitterschicht mit dem Grobgitter-Upsample zu verketten und eine Vorhersage in Reaktion auf die Verkettung der verdeckten Feingitterschicht und des Grobgitter-Upsamples auszugeben.
  • Gemäß einer zweiten Ausführungsform beinhaltet ein computerimplementiertes Verfahren das Empfangen einer Grobgittereingabe, die einen ersten Satz von Knoten beinhaltet, wobei das Grobgitter in einen rechnergestützten Fluiddynamik-Solver mit physikalischen Parametern eingegeben wird, um eine Grobgitterlösung zu erhalten, das Empfangen einer Feingittereingabe, die von einem zweiten Satz von Knoten stammt, wobei der zweite Satz von Knoten mehr Knoten beinhaltet als der erste Satz von Knoten, das Verketten der Feingittereingabe mit den physikalischen Parametern und Ausführen der Verkettung durch eine Graphenfaltungsschicht, um eine verdeckte Feingitterschicht zu erhalten, das Erhöhen der Auflösung (Upsampling) der Grobgitterlösung, um ein Grobgitter-Upsample zu erhalten, das dieselbe Anzahl von Knoten beinhaltet wie der zweite Satz von Knoten, und das Ausgeben einer Vorhersage in Reaktion auf wenigstens das Grobgitter-Upsample.
  • Gemäß einer dritten Ausführungsform weist ein System einen Prozessor auf, der dafür programmiert ist, eine Grobgittereingabe zu empfangen, die einen ersten Satz von Knoten beinhaltet, wobei das Grobgitter in einen rechnergestützten Fluiddynamik-Solver mit physikalischen Parametern eingegeben wird, um eine Grobgitterlösung zu erhalten, eine Feingittereingabe zu empfangen, die von einem zweiten Satz von Knoten stammt, wobei der zweite Satz von Knoten mehr Knoten beinhaltet als der erste Satz von Knoten, die Auflösung der Grobgitterlösung zu erhöhen (Upsampling), um ein Grobgitter-Upsample zu erhalten, das dieselbe Anzahl von Knoten beinhaltet wie der zweite Satz von Knoten und eine Vorhersage in Reaktion auf die Feingittereingabe und das Grobgitter-Upsample auszugeben.
  • Figurenliste
    • 1 offenbart ein System 100 zum Trainieren eines neuronalen Netzes.
    • 2 offenbart ein computerimplementiertes Verfahren 200 zum Trainieren eines neuronalen Netzes.
    • 3 offenbart ein Beispiel eines Gitters.
    • 4 zeigt einen beispielhaften Graphen der Ergebnisse der Knotenoptimierung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen der vorliegenden Offenbarung werden hier beschrieben. Es ist jedoch zu beachten, dass die offenbarten Ausführungsformen lediglich Beispiele sind und andere Ausführungsformen verschiedene und alternative Formen annehmen können. Die Figuren sind nicht notwendigerweise maßstabsgetreu; einige Merkmale können übertrieben oder verkleinert sein, um Einzelheiten bestimmter Komponenten zu zeigen. Daher sind spezifische, hier offenbarte strukturelle und funktionale Einzelheiten nicht als einschränkend zu verstehen, sondern lediglich als repräsentative Grundlage, die Fachleuten auf diesem Gebiet eine Anleitung bieten soll, um die Ausführungsformen auf vielfältige Weise einzusetzen. Wie Durchschnittsfachleute verstehen werden, sind verschiedene unter Bezugnahme auf irgendeine der Figuren veranschaulichte und beschriebene Merkmale kombinierbar mit Merkmalen, die in einer oder mehreren anderen Figuren veranschaulicht werden, um Ausführungsformen zu schaffen, die nicht ausdrücklich veranschaulicht oder beschrieben werden. Die Kombinationen von veranschaulichten Merkmalen ergeben repräsentative Ausführungsformen für typische Anwendungen. Verschiedene Kombinationen und Modifikationen der Merkmale, die im Einklang mit den Lehren dieser Offenbarung stehen, könnten jedoch für besondere Anwendungen oder Implementierungen gewünscht sein.
  • Die Offenbarung erörtert ein hybrides neuronales (Graphen)Netz, das ein traditionelles Graphenfaltungsnetz mit einem eingebetteten differenzierbaren Fluiddynamik-Simulator im Netz selbst kombiniert. Durch Kombinieren eines tatsächlichen CFD-Simulators (der für eine viel gröbere Auflösungsdarstellung des Problems ausgeführt wird) mit dem Graphennetz zeigen wir, dass wir sowohl gut auf neue Situationen verallgemeinern können als auch von der deutlichen Beschleunigung neuronaler CFD-Netzvorhersagen profitieren können, wobei auch die grobe CFD-Simulation allein deutlich übertroffen wird.
  • Ein hybrider Ansatz, der die Vorteile neuronaler (Graphen)Netze für schnelle Vorhersagen mit dem physischen Realismus eines CFD-Simulators in Industriequalität kombiniert, wird nachstehend offenbart. Das System kann ein Graphenfaltungsnetz (Graph Convolution Network, GCN) beinhalten, das direkt auf das nicht-einheitliche Gitter wirkt, welches bei typischen CFD-Simulationsaufgaben verwendet wird. Die Verwendung von GCNs kann wichtig sein, weil alle realistischen CFD-Solver auf diese unstrukturierten Gitter wirken anstatt direkt auf das reguläre Raster, das typischerweise bei Faltungsnetzen verwendet werden kann, um CFD-Simulationen anzunähern. Zweitens kann das System einen (differenzierbaren), mit einer viel gröberen Auflösung betriebenen CFD-Solver direkt in das GCN selbst integrieren. Auch wenn sie typischerweise wie Blackboxen behandelt werden, können moderne CFD-Simulatoren selbst als (kostenintensive) „Schichten“ in einem tiefen Netz genutzt werden. Unter Verwendung gut untersuchter Adjunktenverfahren können moderne Solver Gradienten der Ausgabemengen einer Simulation in Bezug auf das Eingabegitter berechnen. Dies erlaubt es dem System, eine schnelle CFD-Simulation (beschleunigt dadurch, dass sie auf ein viel kleineres Gitter wirkt) in das Netz selbst zu integrieren, und erlaubt es uns, das GCN und die Gittereingabe in die Simulationsengine gemeinsam zu trainieren, und dies alles in einer durchgehenden Art und Weise. Der kombinierte Ansatz kann eine wesentlich bessere Leistung erzielen als die grobe CFD-Simulation allein (beispielsweise kann das Netz zunächst einmal in der Lage sein, zuverlässigere Ergebnisse zu liefern als dies beim einfachen Ausführen einer schnelleren Simulation der Fall ist) und verallgemeinert auf neuartige Situationen viel besser als ein reiner graphennetzbasierter Ansatz. Der Ansatz kann wesentlich schneller sein als das Ausführen der CFD-Simulation für das Originalgrößengitter selbst. Im Vergleich zu einem CFD-Solver, der ohne tiefes Lernen (Deep Learning) verwendet wird, führen die in dieser Offenbarung nachstehend gezeigten verschiedenen Ausführungsformen Simulationen genauer aus, und auch schneller, da der CFD-Solver auf ein gröberes Gitter wirkt. In Relation zu Deep-Learning-Ansätzen, die nicht über integrierte CFD-Solver verfügen, ist dieses Verfahren auch besser in der Lage, auf neue Situationen zu verallgemeinern.
  • 1 zeigt ein System 100 zum Trainieren eines neuronalen Netzes. Das System 100 kann eine Eingabeschnittstelle für das Zugreifen auf Trainingsdaten 192 für das neuronale Netz umfassen. Beispielsweise kann, wie in 1 veranschaulicht, die Eingabeschnittstelle durch eine Datenspeicherschnittstelle 180 gebildet werden, die auf die Trainingsdaten 192 aus einem Datenspeicher 190 zugreifen kann. Beispielsweise kann es sich bei der Datenspeicherschnittstelle 180 um eine Speicherschnittstelle oder eine persistente Datenspeicherschnittstelle 30 handeln, z. B. eine Festplatten- oder eine SSD-Schnittstelle, aber auch um eine PAN-, LAN- oder WAN-Schnittstelle (für den persönlichen, lokalen oder Weitverkehrsnetzbereich) wie etwa eine Bluetooth-, Zigbee- oder Wi-Fi-Schnittstelle oder eine Ethernet- oder Glasfaserschnittstelle. Bei dem Datenspeicher 190 kann es sich um einen internen Datenspeicher des Systems 100 handeln, wie etwa ein Festplattenlaufwerk oder eine SSD, aber auch um einen externen Datenspeicher, z. B. einen über das Netzwerk zugänglichen Datenspeicher.
  • In einigen Ausführungsformen kann der Datenspeicher 190 ferner eine Datendarstellung 194 einer untrainierten Version des neuronalen Netzes umfassen, die für das System 100 über den Datenspeicher 190 zugänglich ist. Es ist jedoch einzusehen, dass die Trainingsdaten 192 und die Datendarstellung 194 des untrainierten neuronalen Netzes auch jeweils über einen anderen Datenspeicher zugänglich sein können, z. B. über ein anderes Subsystem der Datenspeicherschnittstelle 180. Jedes Subsystem kann einem Typ entsprechen, wie er vorstehend für die Datenspeicherschnittstelle 180 beschrieben wird. In anderen Ausführungsformen kann die Datendarstellung 194 des untrainierten neuronalen Netzes, auf Basis von Entwurfsparametern für das neuronale Netz, intern vom System 100 generiert werden und ist daher unter Umständen nicht explizit im Datenspeicher 190 gespeichert. Das System 100 kann ferner ein Prozessorsubsystem 160 umfassen, das dafür ausgelegt sein kann, während des Betriebs des Systems 100, eine iterative Funktion als Ersatz für einen Stapel von Schichten des zu trainierenden neuronalen Netzes bereitzustellen. Hierbei können die jeweiligen Schichten des zu ersetzenden Stapels von Schichten gemeinsam genutzte Gewichtungen aufweisen und können als Eingabe eine Ausgabe einer vorherigen Schicht empfangen, oder, für eine erste Schicht des Stapels von Schichten, eine anfängliche Aktivierung und einen Teil der Eingabe des Stapels von Schichten. Das Prozessorsubsystem 160 kann ferner dafür ausgelegt sein, das neuronale Netz unter Verwendung der Trainingsdaten 192 iterativ zu trainieren. Hierbei kann eine Iteration des Trainings durch das Prozessorsubsystem 160 einen vorwärtsgerichteten Ausbreitungsteil und einen rückwärtsgerichteten Ausbreitungsteil umfassen. Das Prozessorsubsystem 160 kann dafür ausgelegt sein, den vorwärtsgerichteten Ausbreitungsteil durchzuführen, indem, neben anderen gegebenenfalls durchgeführten Operationen, welche den vorwärtsgerichteten Ausbreitungsteil definieren, indem ein Gleichgewichtspunkt der iterativen Funktion bestimmt wird, an dem die iterative Funktion zu einem festen Punkt konvergiert, wobei das Bestimmen des Gleichgewichtspunktes das Verwenden eines numerischen Wurzelfindungsalgorithmus umfasst, um eine Wurzellösung für die iterative Funktion minus deren Eingabe zu finden, und durch Bereitstellen des Gleichgewichtspunktes als ein Ersatz für eine Ausgabe des Stapels von Schichten in dem neuronalen Netz. Das System 100 kann ferner eine Ausgabeschnittstelle für das Ausgeben einer Datendarstellung 196 des trainierten neuronalen Netzes umfassen, wobei diese Daten auch als trainierte Modelldaten 196 bezeichnet werden können. Beispielsweise kann, wie auch in 1 veranschaulicht, die Ausgabeschnittstelle durch die Datenspeicherschnittstelle 180 gebildet werden, wobei die besagte Schnittstelle in diesen Ausführungsformen eine Eingabe/Ausgabe („E/A“)-Schnittstelle ist, über welche die trainierten Modelldaten 196 im Datenspeicher 190 gespeichert werden können. Beispielsweise kann die Datendarstellung 194, welche das „untrainierte“ neuronale Netz definiert, während oder nach dem Trainieren wenigstens teilweise durch die Datendarstellung 196 des trainierten neuronalen Netzes dahingehend ersetzt werden, dass die Parameter des neuronalen Netzes, wie etwa Gewichtungen, Hyperparameter und andere Arten von Parametern des neuronalen Netzes, angepasst werden, damit sie das Training für die Trainingsdaten 192 widerspiegeln. Dies wird auch in 1 durch die Bezugszeichen 194, 196 veranschaulicht, die auf denselben Datensatz des Datenspeichers 190 verweisen. In anderen Ausführungsformen kann die Datendarstellung 196 getrennt von der Datendarstellung 194, welche das „untrainierte“ neuronale Netz definiert, gespeichert sein. In einigen Ausführungsformen kann die Ausgabeschnittstelle von der Datenspeicherschnittstelle 180 getrennt vorliegen, aber kann im Allgemeinen einem Typ entsprechen, wie er vorstehend für die Datenspeicherschnittstelle 180 beschrieben wird.
  • 2 ist ein Beispiel für eine Darstellung des CFD GCN-Modells. Das Netz arbeitet mit zwei unterschiedlichen Graphen, einem „feinen“ Gitter 211, über das die CFD-Simulation berechnet werden soll, und einem „groben“ Gitter 201 (anfänglich eine einfache gröbere Version des Feingitters, aber letztendlich durch das Modell abgestimmt), das als Eingabe für den CFD-Solver 203 fungiert. Als Eingabe nimmt das Netz eine kleine Anzahl von Parametern, welche die Simulation steuern. Für den Fall der Experimente in den nachstehend beschriebenen Ausführungsformen, in denen das System die ein aerodynamisches Profil umgebenden Flussfelder vorhersagen kann, können diese Parameter 202 den Anstellwinkel (Angle of Attack, AoA) und die Mach-Zahl beinhalten. Diese Parameter 202 können für die CFD-Simulation bereitgestellt werden und können auch an die anfänglichen Merkmale des GCN-Knotens 213 angehängt werden. Auch wenn dies eine relativ geringdimensionale Aufgabe erscheinen mag, können diese zwei Komponenten die Ausgabe der Simulation drastisch verändern und sie sind für traditionelle Modelle schwer zu erlernen, wenn eine Verallgemeinerung außerhalb des präzisen Wertbereichs erfolgt, der verwendet wird, um das Netz zu „trainieren“. Zusätzlich kann das CFD-GCN-Modell in einer Anwendung verwendet werden, die Temperatur und Anstellwinkel oder andere Designparameter nutzt, um den Fluidfluss und Turbulenzen durch Röhren zu bestimmen, oder eine Anwendung, die geometrische oder formbezogene Optimierungsparameter nutzt, um Geräusche oder Turbulenzen zu bestimmen, die von Lüfterflügeln oder anderen beweglichen Teilen eines Objekts erzeugt werden. Dies kann, ohne jedoch hierauf beschränkt zu sein, Anwendungen beinhalten, die im Rahmen von Wärmeableitung, Lüfterflügelzirkulation, Propellerzirkulation etc. genutzt werden.
  • Das Netz kann betrieben werden, indem zuerst eine CFD-Simulation für die Grobgittereingabe 201 ausgeführt wird, während gleichzeitig der Graph verarbeitet wird, der durch das Feingitter 211 mit einem oder mehreren GCNs 213 definiert wird. Das System kann dann die Ergebnisse der Simulation per Upsampling 207 hochrechnen und verkettet diese mit einer Zwischenausgabe 215 von einem GCN bei Schritt 209. In noch einer anderen alterativen Ausführungsform kann das System die nicht per Upsampling hochgerechnete Grobgitterlösung U0 und das Feingitter kombinieren, indem einfach alle jeweiligen Knoten herangezogen werden und daraus ein Gitter gebildet wird, sodass die Anzahl von Knoten in dem resultierenden Gitter gleich der (Anzahl von Grobgitterknoten) + (Anzahl von Feingitterknoten) ist.
  • Abschließend kann das System zusätzliche GCN-Schichten 217, 213 auf diese verbundenen Merkmale anwenden, wobei letztlich die gewünschten Ausgabewerte 225 vorhergesagt werden (in dieser Umgebung kann es sich um die Geschwindigkeits- und Druckfelder an jedem Knoten in dem Feingitter 211 handeln). Beispielsweise kann das Feingitter 211 6600 Knoten beinhalten, während ein Grobgitter 201 550 Knoten für dasselbe aerodynamische Profil oder denselben Satz von Parametern beinhalten kann. Das Feingitter 211 kann 1,5-mal, 2-mal, 3-mal, 4-mal, 5-mal, 10-mal etc. mehr Knoten beinhalten als das Grobgitter 201. Beide Gitter können gemischte dreieckige oder vierseitige Gitter in den verschiedenen Ausführungsformen sein.
  • Die für das CFD-GCN verwendete Graphenstruktur kann direkt von der Gitterstruktur abgeleitet sein, die von traditioneller CFD-Software verwendet wird, um das physische System zu simulieren. Das System kann ein zweidimensionales, dreieckiges Gitter M = (X; E; B) berücksichtigen. Bei dem ersten Element, Xi ∈ ℝN×2, kann es sich um eine Matrix handeln, welche die (x, y) Koordinaten der N Knoten enthält, aus denen sich das Gitter zusammensetzt. Das zweite, E = { ( i l ; j l ; k l ) , , ( i m ; j m ; k m ) } ,
    Figure DE102021205714A1_0001
    kann ein Satz von M dreieckigen Elementen sein, definiert durch die Indizes (i; j; k) der zugehörigen Komponentenknoten. Das dritte, B = { ( i l ; b l ) , , ( i L ; b L ) } ,
    Figure DE102021205714A1_0002
    kann ein Satz von L Grenzpunkten sein, definiert als ein Paar, bestehend aus dem Index des Knotens und einem Kennzeichner b, der identifiziert, zu welcher Begrenzung der Punkt gehört (z. B. aerodynamisches Profil, Fernfeld etc.). Ein solches Gitter M definiert klar einen Graphen GM = (X; EG), dessen Knoten dasselbe X aufweisen und dessen Kanten EG direkt von den Gitterelementen E abgeleitet werden können. Umgekehrt kann ein Graph auch in ein Gitter konvertiert werden, falls die Struktur seiner Kanten entsprechend ausgeführt ist und ein Satz von Grenzpunkten B bereitgestellt wird.
  • Zusätzlich zu dem Feingitter 211, das verwendet wird, um die CFD-Simulation zu berechnen, kann das System auch ein Grobgitter 201 berücksichtigen, welches als MC bezeichnet ist. Das Grobgitter 201 hat dieselbe Struktur wie das Feingitter M, wobei die Anzahl von Knoten um über 10x (oder einen beliebigen anderen Wert) heruntergerechnet wird (Downsampling), was somit eine viel schnellere Simulation ermöglicht. Auch wenn dieses Gitter technisch ebenfalls einen Graphen definiert, berechnet das System ein beliebiges GCN unter Umständen nicht direkt über diesen Graphen, sondern verwendet ihn stattdessen nur als Eingabe für die Simulationsengine.
  • Zusätzlich zu den Graphen selbst empfängt das Modell als Eingabe auch zwei physikalische Parameter 202, die das Verhalten des Flusses um ein aerodynamisches Profil herum definiert: den Anstellwinkel (Angle of Attack, AoA) und die Mach-Zahl. Diese zwei Parameter werden beide in die Simulation eingespeist und als anfängliche Knotenmerkmale für jeden Knoten im GCN angehängt. Diese zwei Parameter, oder beliebige andere Parameter für andere Anwendungen, können die Mengen sein, die von Simulation zu Simulation variieren, und somit besteht die Hauptaufgabe des GCNs darin, zu erlernen, wie sich das resultierende Flussfeld anhand dieser zwei Parameter, welche die Simulation simulieren, vorhersagen lässt.
  • Eine zentrale Komponente des CFD-CGN-Modells kann der integrierte differenzierbare Fluidsimulator 203 sein. Als Eingabe kann der Fluidsimulator 203 das Grobgitter 201 MC heranziehen, plus den Anstellwinkel und die Mach-Zahl, und gibt Vorhersagen 205 zu Geschwindigkeit und Druck an jedem Knoten in dem Grobgraphen aus. Das System kann (in einem Beispiel) den SU2-Fluidsimulator 203 einsetzen, bei dem es sich um eine quelloffene CFD-Simulation in Industriequalität handelt, die unter vielen Forschern im Bereich Luft- und Raumfahrt und darüber hinaus weit verbreitet ist. Kurz, SU2 verwendet ein finites Volumenverfahren (Finite Volume Method, FVM), um die Navier-Stokes-Gleichungen über das zugehörige Eingabegitter zu lösen. Ausschlaggebend für unsere Zwecke ist, dass der SU2-Solver auch ein Adjunktenverfahren unterstützt, was es dem System ermöglicht, die Ausgaben der Simulation in Bezug auf deren Eingaben und Parameter (in diesem Fall das Grobgitter 201 MC selbst, plus den Anstellwinkel und die Mach-Zahl) zu differenzieren.
  • Intuitiv sollte der CFD-Solver 203 (z. B. ein SU2-Solver) als eine zusätzliche Schicht in unserem Netz betrachtet werden, welche den Anstellwinkel und die Mach-Zahl als Eingabe heranzieht und die ausgegebenen Geschwindigkeits- und Druckfelder am Solver-Ausgang 205 erzeugt. Das Äquivalent der „Parameter“ einer traditionellen Schicht ist das Grobgitter selbst: unterschiedliche Konfigurationen für das Grobgitter eignen sich unterschiedlich (gut) für die Integration in den Rest des CFD-GCNs. Somit besteht eine der Hauptlernaufgaben für den SU2-Teil unseres Modells darin, das Grobgitter in einer Weise anzupassen, die letztendlich die Genauigkeit des resultierenden vollständigen CFD-GCN-Modells maximiert. Das Adjunktenverfahren in SU2 verwendet eine Umkehrmodus-Differenzierung, so dass Gradienten in Bezug auf einen skalarwertigen Verlust, wie etwa den Gesamt-Vorhersagefehler des CFD-GCNs, effizient berechnet werden können.
  • Abschließend, auch wenn dies streng genommen kein Forschungsbeitrag ist, haben wir im Rahmen dieses Projekts eine Schnittstellenschicht zwischen dem SU2-Solver 203 und der PyTorch-Bibliothek entwickelt. Diese Schnittstelle erlaubt es, vollständige SU2-Simulationen wie eine beliebige andere Schicht innerhalb eines PyTorch-Moduls zu behandeln, und wir hoffen, dass sie zusätzliche Anwendungen am Schnittpunkt zwischen Deep Learning und CFD-Simulation (in Industriequalität) finden wird.
  • Die Ausgabe der vorstehend beschriebenen Grobsimulation ist ein Gitter mit den vorhergesagten Werten für jedes Feld an jedem Knoten. Damit dieses für das Generieren der abschließenden Vorhersage verwendet wird, muss es vom System unter Umständen auf die Größe des Feingitters hochgerechnet werden (Upsampling). Das System kann dies erreichen, indem aufeinanderfolgende Anwendungen einer quadratabstandsgewichteten KNN (k-nächster-Nachbar)-Interpolation durchgeführt werden. Die Knotenpositionen in dem Grobgitter können sich auf die folgenden Symbole beziehen, welche austauschbar benutzt werden,
    Erstes Symbol Alternatives Symbol Bedeutung
    XC XD Knotenpositionen im Grobgitter
    UC D Knotenmerkmale im Grobgitter
    XF XU Knotenpositionen im Feingitter
    UF U Knotenmerkmale im Feingitter
  • Wir wollen das erste Element, Xi ∈ ℝNU×3, die hochgerechnete Version eines gröberen Graphen D ∈ ℝND×3 nennen. Für jede Reihe U(i) mit einer entsprechenden Knotenposition im Feingitter kann das System den Satz {n1, ... nk} finden, welcher die Indizes der k-nächsten Knoten zu den entsprechenden Knotenpositionen in dem gröberen Graphen XD enthält. Das System kann jedes Knotenmerkmal in dem Feingitter U(i) definieren. Da ein Grobgitter mit Positionen XC und Merkmalen UC und Feingitterpositionen XF gegeben ist, erzeugt diese Operation somit Feingittermerkmale UF. Dies erfolgt unter Verwendung einer k-nächster-Nachbar-Operation. Man bezeichne den Knoten mit dem Index i im Feingitter als X F ( i )
    Figure DE102021205714A1_0003
    und nehme {n1, ... , nk} als die k Knoten (Standard kann 3 Knoten sein, k = 3) im Grobgitter XC am nächsten an X F ( i )
    Figure DE102021205714A1_0004
    Dann sind die Merkmale für den Knoten i in dem Feingitter gegeben durch:
  • U F ( i ) = j = 1 k w ( n j ) U C n j j = 1 k w ( f n j )
    Figure DE102021205714A1_0005

    wobei gilt:
  • w ( n j ) = 1 X F ( i ) X C n j 2 2
    Figure DE102021205714A1_0006
  • Wie in 2 dargestellt, wird die Ausgabe der Grobsimulation durch eine Folge von Faltungsschichten verarbeitet. Um direkt auf die Gitterausgabe der CFD-Simulation zu wirken, kann das System die Architektur des Graphenfaltungsnetzes (Graph Convolution Network, GCN) nutzen. Die Architektur kann eine Faltungsschicht für Graphen definieren.
  • Ein allgemeiner Graph bestehend aus NZ Knoten, jeweils mit F Merkmalen, ist durch die zugehörige Merkmalmatrix Zi ∈ ℝN Z×F und die zugehörige Adjazenzmatrix A ∈ ℝN Z×N Z definiert. Wir können dann ferner B ˜ = D ˜ 1 2 ( A + I ) D ˜ 1 / 2
    Figure DE102021205714A1_0007
    definieren, wobei / die Identitätsmatrix und D̃ die Diagonalgradmatrix ist, mit einer zugehörigen Diagonale, die durch D ˜ i i = 1 + j = 0 N z A i j
    Figure DE102021205714A1_0008
    gegeben ist. Dann hat eine GCN-Schicht 217 mit F Eingabekanälen und F' Ausgabekanälen, parametrisiert durch die Gewichtungsmatrix W ∈ ℝF×F' und den Bias-Term b ∈ ℝN z×F', als Ausgabe: Z i + 1 = B ˜ Z i W i + b i G C N i ( Z i ) .
    Figure DE102021205714A1_0009
  • Bei Zusammenwirken aller Komponenten kann das System eine SU2-Simulation mit dem Grobgitter 201 und den physikalischen Parametern 202 ausführen. Die Ausgabe 205 dieser Grobsimulation wird L mal hochgerechnet (Upsampling).       U 0 = S U 2 ( X c , A o A , M a c h ) U i + 1 = U p s a m p l e ( U i ) , i = 0, , L
    Figure DE102021205714A1_0010
  • Gleichzeitig sorgt das Feingitter 211 dafür, dass die physikalischen Parameter und die vorzeichenbehaftete Distanzfunktion (Signed Distance Function, SDF) an jedes Merkmal der zugehörigen Knoten angehängt werden. Hierbei kann die SDF an einem Knoten als dessen euklidischer Abstand zum nächsten Knoten an der Begrenzung des aerodynamischen Profils definiert sein. Der resultierende Graph wird dann durch eine Reihe von Graphenfaltungen 213 weitergegeben, was durch die Graphenfaltungen 213, 219, 221, 223 gezeigt wird. In einer spezifizierten Faltungsschicht k wird der endgültige upgesampelte Wert UL an die Ausgabe Zk 221 der k-ten Faltung angehängt. Ein weiterer Satz von Faltungen 223 wird durchgeführt, um die endgültige Vorhersage Ŷ 225 zu generieren. Jeder dieser Schritte wird in den nachstehenden Formeln skizziert:           Z 0 = [ X , S D F ( X ) , A o A , M a c h ]     Z i + 1 = R e L U ( G C N i ( Z i ) ) , i = 0, k 2        Z k = [ R e L U ( G C N k ( Z k 1 ) ) , U L ] Z k + i + 1 = R e L U ( G C N k + i ( Z i ) ) , i = 0, K k                          Y ^ = G C N K ( Z K )
    Figure DE102021205714A1_0011
    In einem solchen Beispiel kann [·,·] die Matrixverkettungsoperation über die Spaltendimension sein.
  • Da das gesamte CFD-GCN wie vorstehend formuliert als ein einzelnes differenzierbares tiefes Netz behandelt werden kann (einschließlich der SU2-„Schicht“ oder der CFD-Solver-„Schicht“), kann der Trainingsprozess selbst geradlinig sein. Das Modell wird trainiert, um die Ausgabefelder Ŷ ∈ ℝN×3 vorherzusagen, bestehend aus den Komponenten x und y von Geschwindigkeit und Druck an jedem Knoten im Feingitter, durch Minimieren des MSE-Verlustes (Mean Squared Error, mittlerer Quadratfehler) ℓ (oder irgendeiner anderen Art von Verlustfunktion, die Grundwahrheit mit der Netzausgabe vergleicht) zwischen der Vorhersage Ŷ und der Grundwahrheit l ( Y , Y ^ ) = 1 3 N Y Y ^ 2 2
    Figure DE102021205714A1_0012
    wobei die Grundwahrheit Y in diesem Fall durch Ausführen des gesamten SU2-Solvers zur Konvergenz am ursprünglichen Feingitter erhalten wird. Die Trainingsprozedur optimiert die Gewichtungsmatrizen Wi und bi der GCNs und die Positionen der Knoten im Grobgitter XC per Rückwärtsausbreitung durch die CFD-Simulation. Der Verlust kann durch Verwendung eines Adam-Optimierers (oder irgendeines anderen Optimierers) mit einer Lernrate von α = 5 · 10-5 minimiert werden.
  • Das System kann auch eine Rückwärtsdurchlauf-Sequenz (Backward Pass Sequence) ausführen, um das System über die Zeit zu verbessern. Zusammengefasst kann das System den Verlust L erhalten, indem eine Vorhersage Ŷ mit einer Grundwahrheit Y (unter Verwendung einer mittleren Quadratfehlerfunktion oder einer beliebigen anderen Verlustfunktion) verglichen wird. Die Rückwärtsdurchlauf-Funktion oder die Rückwärtsdurchlauf-Sequenz können verschiedene Schritte nutzen. Das System kann die nachstehenden Abfolgen (ohne spezifische Reihenfolge) nutzen:
    1. a. Verlustgradienten L θ i
      Figure DE102021205714A1_0013
      in Bezug auf Graphenfaltungsschichtparameter für i = 1, ..., K
    2. b. Verlustgradient L U 0
      Figure DE102021205714A1_0014
      in Bezug auf Solver-Ausgabe
    3. c. Verwenden von L U 0
      Figure DE102021205714A1_0015
      und Adjunktenverfahren zum Berechnen von L X C
      Figure DE102021205714A1_0016
  • Somit kann das System Gradienten und irgendeinen Deep-Learning-Optimierungsalgorithmus (stochastischer Gradientenabstieg, ADAM etc.) verwenden, um die Parameter θi und die Grobgitterpositionen XC zu aktualisieren.
  • Das Netz kann die Fähigkeit zum Differenzieren durch die Solver-Funktion nutzen, um die besten Knotenpositionen im Grobgitter XC zu erlernen. Das System könnte Faltungsschichten vor dem CFD-Solver platzieren und könnte außerdem Parameter in diesen Schichten durch dasselbe Verfahren erlernen. Der Algorithmus kann auch eine einzelne Upsampling-Operation (z. B. U1 = Upsample (XC, U0, XF)) beinhalten, um das Grobgitter zur Anpassung an die Größe des Feingitters zu erweitern; allerdings kann das Sample alternativ auch in mehrere Upsampling-Operationen zerlegt werden, falls gewünscht. Dies kann von Vorteil sein, falls das Grobgitter viel kleiner ist als das Feingitter.
  • In einer alternativen Ausführungsform können die Graphenfaltungen durch eine beliebige Art von neuronaler Netzschicht ersetzt werden, welche auf Graphen wirkt (z. B. Graph-Selbstaufmerksamkeitsschichten, Graph-Transformer) oder kann durch Faltungsschichten ersetzt werden, falls sich das Gitter in einem Raster befindet. Das System kann die Verlustfunktion, den Optimierer oder die Aktivierungsfunktion ändern. Die Netzarchitektur kann mit standardmäßigen Deep-Learning-Trainingstechniken oder Modifikationen (Dropout, Stapelnormalisierung, Schichtnormalisierung etc.) kompatibel sein. In noch einer anderen alterativen Ausführungsform kann das System die nicht upgesampelte Grobgitterlösung U0 und das Feingitter kombinieren, indem alle jeweiligen Knoten herangezogen werden und ein Gitter daraus gebildet wird, sodass die Anzahl von Knoten in dem resultierenden Gitter gleich der (Anzahl von Grobgitterknoten) + (Anzahl von Feingitterknoten) ist.
  • 3 veranschaulicht ein Beispiel für ein Gitter. Ein Problem kann auftreten, wenn das eingegebene Grobgitter optimiert wird. Graduell, wenn die Positionen durch die Gradientenabstiegsaktualisierungen verschoben werden, ist es möglich, dass in einem gegebenen dreieckigen Element einer der Knoten (z. B. der Knoten 301) über eine Kante hinausgeht, was durch den Kreuzungsknoten 303 gezeigt wird. Dies kann nicht-physische Rauminhalte generieren, welche die Stabilität der Simulationen beeinträchtigen können, was häufig eine Konvergenz behindert. Mit anderen Worten kann der Optimierer bei jedem Gradientenaktualisierungsschritt die Gitterknoten 301 aktualisieren, indem die Aktualisierung X c X c + Δ X c
    Figure DE102021205714A1_0017
    mit einer kleinen Aktualisierungsmatrix ΔXc durchgeführt wird, welche dieselbe Form hat wie Xc. Falls keine Modifikation erfolgt, kann diese ΔXc das vorstehend erwähnte Problem verursachen. Somit könnte ein Knoten über die Kante des zugehörigen Dreieckelements geschoben werden, wodurch eine Überlappung von Elementen generiert wird. Solche nicht-physischen Situationen können die Konvergenz der Simulation beeinträchtigen. Wenn dies geschieht, ändert sich das Kreuzprodukt zwischen geordneten Kanten. Vor der Aktualisierung ist e1 × e0 > 0, nachher hingegen ist ê1 × e2 < 0.
  • Um nicht-physische Rauminhalte zu vermeiden, kann das System eine projizierte Aktualisierung P(Δ Xc) generieren, sodass nur nicht-degenerierende Aktualisierungen durchgeführt werden. Das System kann mit P(Δ Xc) = Δ Xc beginnen. Dann kann das System prüfen, welche Elemente in dem Gitter einen Knoten aufweisen können, der durch Δ Xc über eine Kante geschoben wird. Dies kann erfolgen, indem das Kreuzprodukt von zwei Kanten in jedem Dreieckelement in einer konsistenten Reihenfolge berechnet wird. Falls das Vorzeichen des Kreuzprodukts mit der Aktualisierung Xc + ΔXc wechselt,
    bedeutet dies, dass ein Knoten über eine Kante hinausgeht, da die Reihenfolge der Knoten hierdurch geändert wurde. Dies kann in 3 dargestellt sein, wo das Kreuzprodukt der Kanten e1 und e2 vor der Aktualisierung positiv ist, hinterher jedoch negativ.
  • Für jedes Element E = (i, j, k), das invertiert wurde, kann das System die Reihen i, j, und k von P(Δ Xc) auf 0 setzen und somit keine Aktualisierungen für diese Punkte in Xc vornehmen. Da das Entfernen der Aktualisierungen für einige Knoten bewirken könnte, dass neu Elemente invertiert werden, kann diese Prozedur wiederholt werden, bis keine Punkte mehr invertiert werden. Sobald das System diesen Zustand erreicht, kann das System die projizierte Gradientenaktualisierung durchführen:
  • X c X c + P ( Δ X c )
    Figure DE102021205714A1_0018
  • 4 zeigt einen beispielhaften Graphen der Ergebnisse der Knotenoptimierung. Das Optimieren der Knoten eines Gitters soll einen Vorhersageverlust mit und ohne Korrektur der Gradientenaktualisierung verbessern. Während die Gitteroptimierung ohne die Korrektur schnell degeneriert und der Verlust divergiert, lernt das Gitter mit der projizierten Gradientenaktualisierung nahtlos, selbst bei einer höheren Lernrate α.
  • Die in dieser Patentanmeldung offenbarten Prozesse, Verfahren oder Algorithmen können für eine Verarbeitungsvorrichtung, eine Steuerung oder einen Computer bereitstellbar sein bzw. von dieser/diesem implementiert werden, wobei diese eine beliebige vorhandene, programmierbare elektronische Steuerung oder eine dedizierte elektronische Steuerung aufweisen können. In gleicher Weise können Prozesse, Verfahren oder Algorithmen als Daten und Anweisungen gespeichert werden, die von einer Steuerung oder einem Computer in vielfältigen Formen ausgeführt werden können, einschließlich, jedoch nicht beschränkt auf dauerhaft auf einem nicht beschreibbaren Medium, etwa ROM-Vorrichtungen, gespeicherte Informationen oder veränderbar auf beschreibbaren Speichermedien wie etwa Disketten, Magnetbändern, CDs, RAM-Geräten und anderen magnetischen und optischen Datenträgern gespeicherte Informationen. Die Prozesse, Verfahren oder Algorithmen können auch in einem ausführbaren Softwareobjekt implementiert werden. Alternativ können die Prozesse, Verfahren oder Algorithmen ganz oder teilweise unter Verwendung geeigneter Hardwarekomponenten ausgeführt sein, wie etwa anwendungsspezifische integrierte Schaltungen (Application-Specific Integrated Circuits, ASICs), feldprogrammierbare Gate-Arrays (FPGAs), Zustandsmaschinen, Steuerungen oder sonstige Hardwarekomponenten oder -vorrichtungen oder eine Kombination von Hardware-, Software- und Firmwarekomponenten.
  • Auch wenn vorstehend beispielhafte Ausführungsformen beschrieben werden, ist nicht beabsichtigt, dass diese Ausführungsformen alle möglichen Formen beschreiben, die durch die Patentansprüche abgedeckt werden. Die in dieser Spezifikation verwendeten Ausdrücke sind lediglich Ausdrücke beschreibender Art und beinhalten keinerlei Einschränkung. Es ist einzusehen, dass verschiedene Änderungen vorgenommen werden können, ohne den Geist und Schutzbereich der Offenbarung zu verlassen. Wie vorstehend beschrieben, können die Merkmale verschiedener Ausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung zu bilden, die hier nicht ausdrücklich beschrieben oder veranschaulicht werden. Auch wenn verschiedene Ausführungsformen als vorteilhaft oder bevorzugt gegenüber anderen Ausführungsformen oder Implementierungen gemäß dem Stand der Technik in Bezug auf eine oder mehrere erwünschte Eigenschaft(en) hätten beschrieben werden können, erkennen Durchschnittsfachleute, dass ein(e) oder mehrere Merkmal(e) oder Eigenschaft(en) enthalten sein können, um erwünschte Gesamtsystemattribute zu erreichen, die von der jeweiligen Anwendung und Implementierung abhängen. Diese Attribute beinhalten, sind jedoch nicht beschränkt auf Kosten, Stärke, Dauerhaftigkeit, Lebenszykluskosten, Marktgängigkeit, Erscheinungsbild, Verpackung, Größe, Gebrauchsfähigkeit, Gewicht, Herstellbarkeit, einfache Montage etc. Von daher gilt, dass, soweit irgendwelche Ausführungsformen in Bezug auf eine oder mehrere Eigenschaften als weniger wünschenswert beschrieben werden als andere Ausführungsformen oder Implementierungen nach dem Stand der Technik, diese Ausführungsformen nicht außerhalb des Schutzbereichs der Offenbarung liegen und für bestimmte Anwendungen wünschenswert sein können.

Claims (20)

  1. System, umfassend: einen Prozessor, der programmiert ist zum: Empfangen einer Grobgittereingabe, die einen ersten Satz von Knoten beinhaltet, wobei das Grobgitter in einen CFD (Computational Fluid Dynamics)-Solver mit physikalischen Parametern eingegeben wird, um eine Grobgitterlösung zu erhalten; Empfangen einer Feingittereingabe, die von einem zweiten Satz von Knoten stammt, wobei der zweite Satz von Knoten mehr Knoten beinhaltet als der erste Satz von Knoten; Verketten der Feingittereingabe mit den physikalischen Parametern und Ausführen der Verkettung durch eine Graphenfaltungsschicht, um eine verdeckte Feingitterschicht zu erhalten; Upsampeln der Grobgitterlösung, um ein Grobgitter-Upsample zu erhalten, das dieselbe Anzahl von Knoten beinhaltet wie der zweite Satz von Knoten; Verketten der verdeckten Feingitterschicht mit dem Grobgitter-Upsample; Ausgeben einer Vorhersage in Reaktion auf die Verkettung der verdeckten Feingitterschicht und des Grobgitter-Upsamples.
  2. System nach Anspruch 1, wobei der CFD-Solver eine Schicht eines neuronalen Netzes ist.
  3. System nach Anspruch 1, wobei die Grobgittereingabe und die Feingittereingabe beide gemischte dreieckige Gitter oder vierseitige Gitter sind.
  4. System nach Anspruch 1, wobei die Grobgittereingabe und die Feingittereingabe beide vierseitige Gitter sind.
  5. System nach Anspruch 1, wobei das Grobgitter in ein dreieckiges Gitter konvertiert wird, indem jedes vierseitige Element entlang einer Diagonale halbiert wird.
  6. System nach Anspruch 1, wobei die Feingittereingabe vor der Verkettung mit der Grobgitterlösung in eine Graphenfaltungsnetz-Schicht eingegeben wird.
  7. System nach Anspruch 1, wobei die physikalischen Parameter einen Anstellwinkel und eine Mach-Zahl beinhalten.
  8. System nach Anspruch 1, wobei die Grobgittereingabe den ersten Satz von Knoten beinhaltet.
  9. System nach Anspruch 1, wobei der Prozessor ferner dafür programmiert ist, die Vorhersage mit einer Grundwahrheit in einer Rückwärtsdurchlauf-Sequenz zu vergleichen.
  10. System nach Anspruch 1, wobei die Grobgitterlösung einen Druck für jeden Knoten enthält.
  11. Computerimplementiertes Verfahren, umfassend: Empfangen einer Grobgittereingabe, die einen ersten Satz von Knoten beinhaltet, wobei das Grobgitter in einen CFD (Computational Fluid Dynamics)-Solver mit physikalischen Parametern eingegeben wird, um eine Grobgitterlösung zu erhalten; Empfangen einer Feingittereingabe, die von einem zweiten Satz von Knoten stammt, wobei der zweite Satz von Knoten mehr Knoten beinhaltet als der erste Satz von Knoten; Verketten der Feingittereingabe mit den physikalischen Parametern und Ausführen der Verkettung durch eine Graphenfaltungsschicht, um eine verdeckte Feingitterschicht zu erhalten; Upsampeln der Grobgitterlösung, um ein Grobgitter-Upsample zu erhalten, das dieselbe Anzahl von Knoten beinhaltet wie der zweite Satz von Knoten; und Ausgeben einer Vorhersage in Reaktion auf wenigstens das Grobgitter-Upsample.
  12. Computerimplementiertes Verfahren nach Anspruch 11, wobei der zweite Satz von Knoten zweimal mehr Knoten beinhaltet als der erste Satz von Knoten.
  13. Computerimplementiertes Verfahren nach Anspruch 11, wobei die physikalischen Parameter entweder einen Anstellwinkel oder eine Mach-Zahl beinhalten.
  14. Computerimplementiertes Verfahren nach Anspruch 11, welches die verdeckte Feingitterschicht mit dem Grobgitter-Upsample verkettet.
  15. Computerimplementiertes Verfahren nach Anspruch 11, wobei der zweite Satz von Knoten zehnmal mehr Knoten beinhaltet als der erste Satz von Knoten.
  16. Computerimplementiertes Verfahren nach Anspruch 11, wobei das Upsampeln der Grobgitterlösung, um ein Grobgitter-Upsample zu erhalten, dieselbe Anzahl von Knoten beinhaltet wie der zweite Satz von Knoten plus den ersten Satz von Knoten.
  17. System, umfassend: einen Prozessor, der programmiert ist zum: Empfangen einer Grobgittereingabe, die einen ersten Satz von Knoten beinhaltet, wobei das Grobgitter in einen CFD (Computational Fluid Dynamics)-Solver mit physikalischen Parametern eingegeben wird, um eine Grobgitterlösung zu erhalten; Empfangen einer Feingittereingabe, die von einem zweiten Satz von Knoten stammt, wobei der zweite Satz von Knoten mehr Knoten beinhaltet als der erste Satz von Knoten; Upsampeln der Grobgitterlösung, um ein Grobgitter-Upsample zu erhalten, das dieselbe Anzahl von Knoten beinhaltet wie der zweite Satz von Knoten; Ausgeben einer Vorhersage in Reaktion auf die Feingittereingabe und das Grobgitter-Upsample.
  18. System nach Anspruch 17, wobei der Prozessor ferner dafür programmiert ist, die Feingittereingabe mit den physikalischen Parametern zu verketten und die Verkettung durch eine Graphenfaltungsschicht auszuführen, um eine verdeckte Feingitterschicht zu erhalten.
  19. System nach 18, wobei der Prozessor ferner dafür programmiert ist, das Grobgitter-Upsample mit einer verdeckten Feingitterschicht zu verketten, die wenigstens die Feingittereingabe beinhaltet.
  20. System nach Anspruch 19, wobei eine Vorhersage in Reaktion auf die Verkettung der verdeckten Feingitterschicht und des Grobgitter-Upsamples ausgegeben wird.
DE102021205714.4A 2020-06-08 2021-06-07 System und verfahren zum kombinieren von differenzierbaren partiellen differentialgleichungslösern und neuronalen graphennetzen zur fluidflussvorhersage Pending DE102021205714A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/895,766 US11455374B2 (en) 2020-06-08 2020-06-08 System and method for combining differentiable partial differential equation solvers and graph neural networks for fluid flow prediction
US16/895,766 2020-06-08

Publications (1)

Publication Number Publication Date
DE102021205714A1 true DE102021205714A1 (de) 2021-12-09

Family

ID=78605385

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021205714.4A Pending DE102021205714A1 (de) 2020-06-08 2021-06-07 System und verfahren zum kombinieren von differenzierbaren partiellen differentialgleichungslösern und neuronalen graphennetzen zur fluidflussvorhersage

Country Status (3)

Country Link
US (1) US11455374B2 (de)
CN (1) CN113836828A (de)
DE (1) DE102021205714A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109635917B (zh) * 2018-10-17 2020-08-25 北京大学 一种多智能体合作决策及训练方法
EP4354337A1 (de) * 2022-10-13 2024-04-17 Tata Consultancy Services Limited Auf maschinenlernen basierende vorhersage der schnellsten löserkombination zur lösung von matrixgleichungen
CN115758911B (zh) * 2022-12-07 2023-05-26 中国石油大学(华东) 融合点云残差网络和考虑滑移的流场和压力场预测方法
CN115983148B (zh) * 2022-12-13 2024-04-12 北京景行锐创软件有限公司 一种cfd仿真云图预测方法、系统、电子设备及介质
CN116562094B (zh) * 2023-05-12 2023-11-14 大连海事大学 一种基于pinn模型的auv编队流场预测方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2599023B1 (de) * 2010-07-29 2019-10-23 Exxonmobil Upstream Research Company Verfahren und systeme für eine auf maschinenlernen beruhende flusssimulation
US9971856B2 (en) * 2015-05-28 2018-05-15 International Business Machines Corporation CFD modeling of a bounded domain with viscous region partitioning
EP3679495A1 (de) * 2017-09-08 2020-07-15 Ecole Polytechnique Fédérale de Lausanne (EPFL) Formoptimierung von technischen vorrichtungen durch gradientenabstieg unter verwendung von proxys von neuronalen faltungsnetzwerken
US10636142B2 (en) * 2018-04-20 2020-04-28 Siemens Healthcare Gmbh Real-time and accurate soft tissue deformation prediction
CN108763718B (zh) * 2018-05-23 2020-08-14 西安交通大学 绕流物体和工况改变时流场特征量的快速预测方法
US20210350620A1 (en) * 2020-05-07 2021-11-11 Imperial College Innovations Limited Generative geometric neural networks for 3d shape modelling

Also Published As

Publication number Publication date
US20210382963A1 (en) 2021-12-09
US11455374B2 (en) 2022-09-27
CN113836828A (zh) 2021-12-24

Similar Documents

Publication Publication Date Title
DE102021205714A1 (de) System und verfahren zum kombinieren von differenzierbaren partiellen differentialgleichungslösern und neuronalen graphennetzen zur fluidflussvorhersage
Dennis et al. Learning the architecture of sum-product networks using clustering on variables
DE202017106532U1 (de) Suche nach einer neuronalen Architektur
DE102018129424A1 (de) System und verfahren zum lernen der struktur von tiefen neuronalen netzwerken
DE102016223193A1 (de) Verfahren und Vorrichtung zum Komplettieren eines Wissensgraphen
DE112006000938T5 (de) Dynamischer Lösungsfinder mit fester Zeitschrittgrösse für interagierende Teilchensysteme
EP2999998B1 (de) Methode zur ermittlung eines modells einer ausgangsgrösse eines technischen systems
DE102008027215A1 (de) Reifenkonstruktionsverfahren
DE202017106504U1 (de) Automatisiertes Schnittstellendesign
DE112022000106T5 (de) Verfahren zur Getriebefehlerdiagnose und Signalerfassung, eine Vorrichtung und ein elektronisches Gerät
CN105701507A (zh) 基于动态随机池化卷积神经网络的图像分类方法
CN108010029A (zh) 基于深度学习和支持向量数据描述的织物疵点检测方法
DE112016003963T5 (de) Vorhersagen von Soll-Kenndaten
DE102016011527B4 (de) Maschinenlernvorrichtung und Verfahren zum Lernen einer Anordungsposition eines Magneten in einem Rotor und Rotordesignvorrichtung, die die Maschinenlernvorrichtung umfasst
DE102020120479A1 (de) Fusion von Strassenkarten
DE112015004558T5 (de) Matrixreduktion für die Lithografiesimulation
DE102021109382A1 (de) System und verfahren eines monotonen neuronalen operatornetzes technisches gebiet
DE102021200012A1 (de) Optimierte quantisierung für neuronale netze mit verringerter auflösung
EP3458699B1 (de) Verfahren zur kalibrierung eines technischen systems
DE102021213118A1 (de) Verfahren und ein system für black-box-universalangriffe mit geringer abfrage
CN109146055A (zh) 基于正交化实验和人工神经网络的改进粒子群优化方法
WO2020192827A1 (de) Verfahren und vorrichtung zur probabilistischen vorhersage von sensordaten
DE102020105745A1 (de) Werkzeuge und verfahren zur aerodynamischen optimierung dergeometrie von fahrzeugkarosserien
DE10023377C2 (de) Verfahren zur Erhöhung der Leistungsfähigkeit einer Computereinrichtung bei Finite-Elemente-Simulationen und eine solche Computereinrichtung
DE102019214546B4 (de) Computerimplementiertes Verfahren und Vorrichtung zur Optimierung einer Architektur eines künstlichen neuronalen Netzwerks

Legal Events

Date Code Title Description
R012 Request for examination validly filed