-
TECHNISCHER BEREICH
-
Die vorliegende Offenbarung bezieht sich im Allgemeinen auf Werkzeuge und Verfahren zur aerodynamischen Optimierung der Geometrie von Fahrzeugkarosserien und im Besonderen auf Werkzeuge und Verfahren zur Echtzeit-Modellierung von Änderungen der Fluidströmung um eine Fahrzeugkarosserie in Abhängigkeit von Änderungen der Geometrie der Fahrzeugkarosserie.
-
Derzeit ist die aerodynamische Optimierung der Geometrie einer Fahrzeugkarosserie eine lange, teure und unhandliche Praxis, die im Allgemeinen mehrere Wiederholungen eines Optimierungsprozesses erfordert. Ein üblicher Tonmodellprozess beginnt damit, dass sich der Stylist eine Geometrie einer Fahrzeugkarosserie (d.h. eine Fahrzeugkarosserieform) vorstellt und ein CAD-Werkzeug (Computer Aided Design) zur Definition der Geometrie verwendet. Das CAD-Werkzeug konvertiert die vorgesehene Geometrie in eine Datendatei. Die Datendatei wird von einem anderen Werkzeug verwendet, um ein Tonmodell der geplanten Geometrie zu erstellen; das Tonmodell muss möglicherweise von einem Benutzer weiter detailliert werden. Das Tonmodell wird dann im Windkanal getestet, um die Strömungsvariablen, wie Widerstand und Auftrieb, um das Tonmodell herum zu messen. Die mit der geplanten Geometrie verbundenen Widerstands- und Auftriebsmessungen werden vom Stylisten überprüft. In Erwiderung auf die Überprüfung der Widerstands- und Auftriebsmessungen kann der Stylist eine Änderung der Form der Geometrie definieren; so wird eine Wiederholung des Tonmodellprozesses durchgeführt. Die aerodynamische Optimierung der Geometrie einer Fahrzeugkarosserie mit dem Tonmodellverfahren kann viele Tage pro Zyklus dauern und sehr teuer sein. Der Tonmodellprozess ist auch insofern begrenzt, als die Ergebnisse der Windkanaltests statisch sind, sie liefern keine vorhersagbaren Informationen, die der Stylist im nächsten Zyklus verwenden kann.
-
In einem üblichen Simulationsprozess beginnt die Sequenz auf die gleiche Weise, und dann wird die Ausgabe des CAD-Tools (die Datei, die die Form der Fahrzeugkarosserie definiert) von einem Aerodynamik-Ingenieur mathematisch modelliert und analysiert.
-
Im Simulationsprozess wird die Datendatei mit Hilfe von Computational Fluid Dynamics (CFD) analysiert, um die Widerstands- und Auftriebsmessungen zu generieren. In Erwiderung auf die Überprüfung der Widerstands- und Auftriebsmessungen kann der Stylist eine Geometrieänderung vornehmen und damit den Vorgang und den Simulationsprozess wiederholen. Im Gegensatz zur Tonmodellierung und zum Windkanalansatz können die CFD-Ergebnisse einen gewissen Einblick in die Strömungsstruktur und die Kräfte geben, die das Fahrzeug im Betrieb erfährt. Die aerodynamische Optimierung der Geometrie einer Fahrzeugkarosserie mit Hilfe des Simulationsprozesses erfordert jedoch auch mehrfache Wiederholungen des sequentiellen Simulationsprozesses und kann sehr rechen- und speicherintensiv sein.
-
Dementsprechend sind technologisch verbesserte Werkzeuge und Verfahren erwünscht, die die aerodynamische Optimierung der Geometrie von Fahrzeugkarosserien beschleunigen. Die gewünschten Werkzeuge und Verfahren modellieren Veränderungen der Fluidströmung um eine Fahrzeugkarosserie in Abhängigkeit von Änderungen der Geometrie der Fahrzeugkarosserie. Die gewünschten Werkzeuge und Verfahren verwenden ein neuronales Faltungsnetz (CNN), um nahezu in Echtzeit Änderungen der Fluidströmung in Bezug auf Geschwindigkeiten, Drücke und Kräfte (d.h. Auftrieb und Widerstand) zu liefern. Die folgende Offenbarung liefert diese technologischen Verbesserungen und geht auf die damit verbundenen Probleme ein.
-
BESCHREIBUNG
-
In einer Ausführungsform wird eine prozessorimplementierte Methode zur Modellierung der Fluidströmung um eine Designgeometrie eines Fahrzeugs bereitgestellt. Das Verfahren umfasst: Empfangen der Design-Geometrie in Form einer vorzeichenbehafteten Abstandsfunktion (SDF) durch einen Prozessor; Empfangen einer Einströmungs-Randbedingung und eines zugehörigen Bereichs durch den Prozessor; und Verarbeiten der SDF und der Einströmungs-Randbedingung durch den Prozessor unter Verwendung eines neuronalen Faltungsnetzes (CNN), um Fluidströmungsausgaben für die Design-Geometrie über den Bereich der Einströmungs-Randbedingungen zu erzeugen.
-
In einer Ausführung umfassen die Widerstands- und Auftriebsleistungen Tensoren in Form (i) einer X-Geschwindigkeit (X-vel), (ii) einer Y-Geschwindigkeit (Y-vel) und (iii) eines Druckfeldes (Prsr).
-
In einer Ausführungsform, die außerdem auf einem Anzeigesystem die Darstellung der Widerstands- und Auftriebsleistungen als Intensitätskarten beinhaltet.
-
In einer Ausführungsform enthält das CNN eine Vielzahl von verborgenen Schichten in einer Sequenz.
In einer Ausführung, bei der jede der verborgenen Schichten eine Aktivierungsfunktion der rektifizierten Lineareinheit (ReLU) und eine MaxPooling-Schicht enthält.
-
In einer Ausführungsform enthält das CNN eine vollständig verbundene Schicht und die Einströmungs-Randbedingungen sind nur Eingaben für die vollständig verbundene Schicht.
-
In einer Ausführung ist eine erste Einströmungs-Randbedingung ein Bereich eines Anstellwinkels und eine zweite Einströmungs-Randbedingung ein Bereich von Reynolds-Zahlen.
-
In einer Ausführungsform führen zwei oder mehr verborgene Schichten vor der vollständig verbundenen Schicht eine Kodiererfunktionalität und zwei oder mehr verborgene Schichten nach der vollständig verbundenen Schicht eine Dekodiererfunktionalität aus.
-
In einer Ausführungsform wird das CNN unter Verwendung eines Trainingsdatensatzes aus mehreren geometrischen Formen trainiert.
-
In einer Ausführungsform wird das CNN unter Verwendung eines Validierungsdatensatzes trainiert, der die gleichen geometrischen Formen wie der Trainingsdatensatz hat.
-
In einer Ausführungsform wird ein Durchgang über den Trainingsdatensatz als Epoche bezeichnet, wird in jeder Epoche ein Trainingsfehler erzeugt, und wobei das CNN durch Vergleich des Trainingsfehlers mit einem Schwellenwert trainiert wird und sich zurückverteilt, wenn der Trainingsfehler den Schwellenwert überschreitet.
-
In einer Ausführungsform, umfasst die Rückwärtsausbreitung die Anpassung von Gewichten in Neuronen eines Codierers auf der Grundlage eines Vergleichs des Trainingsfehlers mit seinem vorherigen Wert.
-
In einer weiteren beispielhaften Ausführungsform wird ein System zum Modellieren der Fluidströmung für eine Design-Geometrie eines Fahrzeugs bereitgestellt. Das System umfasst: einen Prozessor, der so programmiert ist, dass er Einströmungs-Randbedingungen und die Design-Geometrie des Fahrzeugs empfängt, wobei die Design-Geometrie in Form einer vorzeichenbehafteten Distanzfunktion (SDF) vorliegt; ein Speichermedium, in dem ein neuronales Faltungsnetzwerk (CNN) gespeichert ist, das, wenn es vom Prozessor ausgeführt wird, die SDF und die Einströmungs-Randbedingungen verarbeitet, um dadurch Echtzeit-Widerstands- und Auftriebsausgaben zu erzeugen; und ein Anzeigesystem, das so konfiguriert ist, dass es die Widerstands- und Auftriebsausgaben in Form von Intensitätskarten anzeigt.
-
In einer Ausführungsform liefert die Quelle der Einströmungs-Randbedingungen auch einen Bereich von Reynolds-Zahlen.
-
In einer Ausführungsform wird das CNN unter Verwendung eines Trainingsdatensatzes aus mehreren geometrischen Formen trainiert.
-
In einer Ausführungsform wird das CNN unter Verwendung eines Validierungsdatensatzes trainiert, der die gleichen geometrischen Formen wie der Trainingsdatensatz hat.
-
In einer Ausführungsform wird das CNN durch den Vergleich eines Trainingsfehlers mit einem Schwellenwert trainiert und breitet sich nach hinten aus, wenn der Trainingsfehler den Schwellenwert überschreitet.
-
In einer weiteren beispielhaften Ausführungsform wird ein Verfahren zur Bereitstellung von Auftriebs- und Widerstandsrückmeldungen für eine Design-Geometrie einer Fahrzeugkarosserie bereitgestellt. Das Verfahren umfasst: Empfangen einer vorzeichenbehafteten Abstandsfunktion (SDF), die aus der Design-Geometrie der Fahrzeugkarosserie erzeugt wird, durch einen Prozessor; Empfangen eines Bereichs oder von Anstellwinkeln; Empfangen eines Bereichs von Reynolds-Zahlen; und Verarbeiten der SDF, des Bereichs von Anstellwinkeln und des Bereichs von Reynolds-Zahlen durch den Prozessor unter Verwendung eines neuronalen Faltungsnetzwerks (CNN), um daraus die Widerstands- und Auftriebsrückmeldung für die Design-Geometrie zu erzeugen.
-
In einer Ausführungsform wird außerdem auf einem Anzeigesystem die Rückmeldung über den Widerstand und den Auftrieb mit Hilfe einer Visualisierungstechnik zur Anzeige der Intensitäten angezeigt.
-
In einer Ausführungsform enthält das CNN eine Vielzahl von verborgenen Schichten in einer Sequenz enthält, und die Sequenz umfasst: zwei oder mehr verborgene Faltungsschichten, eine vollständig verbundene Schicht und zwei oder mehr Entfaltungsschichten.
-
Figurenliste
-
Aspekte der vorliegenden Offenbarung werden am besten aus der folgenden detaillierten Beschreibung verstanden, wenn sie mit den begleitenden Figuren gelesen wird, wobei gleichartige Bezugszeichen gleichartige Elemente bezeichnen, und:
- 1 ist ein Blockdiagramm eines Strömungsmodellierungssystems zur Optimierung der Geometrie von Fahrzeugkarosserien, in Übereinstimmung mit einigen Ausführungsformen;
- 2 ist eine Darstellung einer Methode zur aerodynamischen Optimierung der Geometrie von Fahrzeugkarosserien nach verschiedenen Ausführungsformen;
- 3 ist ein Diagramm, das die Anordnung der Schichten eines CNN entsprechend einiger Ausführungsformen zeigt;
- 4 ist eine Beispielmethode für die Ausbildung des CNN, in Übereinstimmung mit einigen Ausführungsformen; und
- 5 ist ein Diagramm, das eine hochpräzise Vorhersagekurve des Auftriebs über einen Bereich von Anstellwinkeln zeigt, wie sie von einer beispielhaften Ausführungsform geliefert wird.
-
DETAILLIERTE BESCHREIBUNG
-
Die folgende detaillierte Beschreibung hat lediglich beispielhaften Charakter und soll die Anwendung und den Gebrauch nicht einschränken. Darüber hinaus besteht nicht die Absicht, an eine ausdrückliche oder implizierte Theorie gebunden zu sein, die im vorhergehenden technischen Bereich, im Hintergrund, in der Zusammenfassung oder in der folgenden detaillierten Beschreibung dargestellt wird.
-
Ausführungsformen der vorliegenden Offenbarung können hier in Form von funktionalen und/oder logischen Blockkomponenten und verschiedenen Verarbeitungsschritten beschrieben werden. Dementsprechend sollte man sich darüber im Klaren sein, dass solche Blockkomponenten durch eine beliebige Anzahl von Hardware-, Software- und/oder Firmwarekomponenten realisiert werden können, die so konfiguriert sind, dass sie die angegebenen Funktionen erfüllen.
-
Eine Ausführungsform der vorliegenden Offenbarung kann beispielsweise verschiedene integrierte Schaltkreiskomponenten verwenden, z.B. Speicherelemente, digitale Signalverarbeitungselemente, Logikelemente, Nachschlagetabellen oder ähnliches, die unter der Kontrolle eines oder mehrerer Mikroprozessoren oder anderer Steuervorrichtungen eine Vielzahl von Funktionen ausführen können.
-
Für die Zwecke der Beschreibung können verschiedene Funktionsblöcke und die zugehörigen Verarbeitungsschritte als Modul bezeichnet werden. Wie hier verwendet, kann jedes „Modul“ in jeder Hardware, Software, Firmware, elektronischen Steuerkomponente, Verarbeitungslogik und/oder Prozessorvorrichtung einzeln oder in jeder Kombination implementiert werden, einschließlich, aber nicht beschränkt auf: anwendungsspezifische integrierte Schaltung (ASIC), ein feldprogrammierbares Gate-Array (FPGA), eine elektronische Schaltung, einen Prozessor (gemeinsam, dediziert oder gruppenweise) und Speicher, der ein oder mehrere Software- oder Firmwareprogramme ausführt, eine kombinierte Logikschaltung und/oder andere geeignete Komponenten, die die beschriebene Funktionalität bereitstellen.
-
Wie bereits erwähnt, ist die aerodynamische Optimierung der Geometrie einer Fahrzeugkarosserie mit herkömmlichen Werkzeugen und Verfahren im Allgemeinen eine lange, teure und unhandliche Praxis. Zwei gängige Optimierungsprozesse werden technologisch herausgefordert durch (1) mehrfache Wiederholungen von langwierigen Operationen und (2) begrenzte Nutzbarkeit der Widerstands- und Auftriebsleistung. Die üblichen Optimierungsprozesse werden zusätzlich in Frage gestellt, weil an aufeinander folgenden Schritten eines Zyklus konkurrierende Kräfte auftreten. D.h., die Optimierung aus der Sicht des Stylisten wird im Allgemeinen von der Ästhetik und die Optimierung aus der Sicht des Aerodynamikers von der aerodynamischen Leistung bestimmt. Dementsprechend und unter Bezugnahme auf die 1 bis 2 werden in den beispielhaften Ausführungsformen von Werkzeugen (1, System 102) und Verfahren (2, Verfahren 200) und zur aerodynamischen Optimierung der Geometrie von Fahrzeugkarosserien die oben genannten technologischen Herausforderungen aufgegriffen und ermöglichen es dem Stylisten und Aerodynamik-Ingenieur, parallel und nicht nacheinander zu arbeiten.
-
2 zeigt ein technologisch verbessertes Verfahren 200 zur Modellierung von Fluidströmungen nach verschiedenen beispielhaften Ausführungsformen. Zur Veranschaulichung kann sich die folgende Beschreibung des Verfahrens 200 auf Elemente beziehen, die im Zusammenhang mit 1 erwähnt werden. In der Praxis können Teile des Verfahrens 200 von verschiedenen Komponenten des beschriebenen Systems 102 durchgeführt werden. Es ist zu berücksichtigen, dass das Verfahren 200 eine beliebige Anzahl von zusätzlichen oder alternativen Aufgaben enthalten kann, die in 2 dargestellten Aufgaben nicht in der dargestellten Reihenfolge ausgeführt werden müssen und eine oder mehrere der in 2 dargestellten Aufgaben bei einer Ausführungsform des Verfahrens 200 weggelassen werden können, wenn die beabsichtigte Gesamtfunktionalität erhalten bleibt. Darüber hinaus kann das Verfahren 200 in ein umfassenderes Verfahren oder ein Verfahren mit zusätzlicher, hier nicht näher beschriebener Funktionalität integriert werden.
-
Bei der Operation 202 wird eine SDF-Datendatei (SDF 105) mit Vorzeichen von einer Quelle 104 einer vorzeichenbehafteten Distanzfunktion empfangen. In verschiedenen Ausführungsformen wird die SDF 105 von einem CAD-Werkzeug (Computer Aided Design) empfangen. In verschiedenen Ausprägungen ist der SDF 105 ein Tensor. In verschiedenen dreidimensionalen Ausführungsformen ist die SDF 105 ein dreidimensionales Bild: zwei der Dimensionen stellen eine zweidimensionale pixelige Fläche dar, wie ein flaches „Bild“, und die dritte Dimension liefert eine Intensität an jedem Pixel. In verschiedenen Ausführungsformen ist das SDF 105 ein 150x150 Array.
-
Unabhängig von der Größe und Konfiguration des SDF 105 ist es die Eingabedatei für das Fluidströmungsmodellierungs-Modul 108 und stellt eine Design-Geometrie dar, für die die Widerstands- und Auftriebsmessungen gewünscht werden. In einer ersten Iteration des Verfahrens 200 basiert die erste erhaltene SDF 105 auf einer ersten Design-Geometrie. Die anfängliche Design-Geometrie kann zweidimensional oder dreidimensional sein. In einem Beispiel ist die ursprüngliche Design-Geometrie eine Fahrzeugkarosserie. Wie bereits erwähnt, wird in verschiedenen Ausführungsformen ein CAD-Werkzeug zur Definition der anfänglichen Design-Geometrie verwendet, wobei ein Design-Geometriekonzept in eine Design-Geometriedatei umgewandelt wird, die dann in die SDF 105 konvertiert wird. In nachfolgenden Durchläufen durch das Verfahren 200 können die nachfolgenden SDF 105-Eingaben Form-/Geometrieänderungen der ursprünglichen Design-Geometrie darstellen.
-
Bei 204 werden eine oder mehrere Einströmungs-Randbedingungen 107 empfangen. Jede der ein oder mehreren Einströmungs-Randbedingungen 107 kann einen zugehörigen Bereich haben. Eine Einströmungs-Randbedingung kann beispielsweise ein Anstellwinkel sein, dessen Bereich von Null bis 20 Grad reichen kann. In verschiedenen Ausführungsformen umfassen die Einströmungs-Randbedingungen 107 einen Bereich von Reynolds-Zahlen „Re“ und einen Bereich von Anstellwinkeln „AoA“.
-
Bei der Operation 206 wird das ausgebildete CNN 50 ausgeführt, und das 1 Fluidströmungsmodellierungs-Modul 108 modelliert die Fluidströmung um die Design-Geometrie herum, um dadurch Echtzeit-Widerstands- und Auftriebsmessungen 109 für die Design-Geometrie zu erzeugen. Die Widerstands- und Auftriebswerte 109 aus dem Fluidströmungsmodellierungs-Modul 50 enthalten Widerstands- und Auftriebsmessungen, da die Randbedingungen 107 über die jeweiligen Bereiche variiert werden; daher sind die Widerstands- und Auftriebswerte 107 Tensoren in Form einer X-Geschwindigkeit (X-vel), einer Y-Geschwindigkeit (Y-vel) und eines Druckfeldes (Prsr). In verschiedenen Ausführungsformen können die Ausgaben 109 auf einem Anzeigesystem 110 in Form einer oder mehrerer Intensitätskarten oder „Heatmaps“ dargestellt werden. In verschiedenen Ausführungsformen können die Intensitätskarten farbig oder in einer Graustufe dargestellt werden. Nicht einschränkende Beispiele für eine Quelle 106 von Einströmungs-Randbedingungen 107 sind ein Benutzereingabegerät 112, ein computerlesbarer Speicher 152 oder eine Datenbank.
-
Unter fortgesetztem Bezug auf 1 wird das Fluidströmungsmodellierungs-Modul 108 ausführlicher beschrieben. In verschiedenen Ausführungsformen umfasst das Fluidströmungsmodellierungs-Modul 108 mindestens einen Prozessor 150 und ein computerlesbares Speichergerät oder -medium 152. Der Prozessor ist bei der Ausführung des Programms 160 und des CNN 50 so programmiert, dass er die Einströmungsrandbedingungen 107 und die Design-Geometrie des Fahrzeugs erhält, wobei die Design-Geometrie in Form einer vorzeichenbehafteten Abstandsfunktion (SDF) 105 vorliegt, und daraus Auftriebs- und Widerstandsrückmeldungen 109 erzeugt.
-
Bei dem Prozessor 150 kann es sich um einen oder mehrere der folgenden Komponenten handeln: einen kundenspezifischen oder kommerziell erhältlichen Prozessor, eine Zentraleinheit (CPU), eine Grafikverarbeitungseinheit (GPU), eine anwendungsspezifische integrierte Schaltung (ASIC) (z.B. eine kundenspezifische ASIC, die ein neuronales Netzwerk implementiert), ein Field Programmable Gate Array (FPGA), einen Mikroprozessor auf Halbleiterbasis (in Form eines Mikrochips oder Chipsatzes), eine beliebige Kombination daraus oder allgemein eine beliebige Vorrichtung zur Ausführung von Befehlen. Obwohl nur ein Prozessor 150 in 1 dargestellt ist, kann die Funktionalität des Prozessors 150 in verschiedenen Ausführungsformen des Fluidströmungsmodellierungs-Moduls 108 auf eine beliebige Anzahl von Prozessoren 150 verteilt werden, die jeweils über das E/A-System 154 oder jedes andere geeignete Kommunikationsmedium oder eine Kombination von Kommunikationsmedien kommunizieren. In diesen Ausführungsformen arbeiten ein oder mehrere verteilte Prozessoren 150 an der Verarbeitung der SDF 105, der Durchführung der Logik, der Berechnungen, der Verfahren und/oder Algorithmen zur Steuerung der Komponenten des hier beschriebenen Betriebs des Fluidströmung-Modellierungssystems 200 mit.
-
Das computerlesbare Speichergerät oder die Medien 152 können beispielsweise flüchtige und nichtflüchtige Speicherung in Nur-Lese-Speicher (ROM), Direktzugriffsspeicher (RAM) und Keep-Alive-Speicher (KAM) umfassen. KAM ist ein persistenter oder nichtflüchtiger Speicher, der zur Speicherung verschiedener Betriebsvariablen verwendet werden kann, während der Prozessor 150 abgeschaltet ist. Das computerlesbare Speichergerät oder Medium 152 kann unter Verwendung von mehreren bekannten Speichergeräten wie PROMs (programmierbarer Festwertspeicher), EPROMs (elektrisch PROM), EEPROMs (elektrisch löschbares PROM), Flash-Speicher oder anderen elektrischen, magnetischen, optischen oder kombinierten Speichergeräten, die Daten speichern können, implementiert werden, von denen einige ausführbare Befehle darstellen, wie z.B. das Programm 160 und CNN 50 zur Reduzierung des Luftwi derstandes .
-
Ein oder mehrere separate Programme, insbesondere ein Programm zur Reduzierung des Luftwiderstandes 160 und CNN 60, können auch auf dem computerlesbaren Speichergerät oder Medium 152 gespeichert werden. Das Programm zur Reduzierung des Strömungswiderstands 160 enthält eine geordnete Auflistung ausführbarer Anweisungen und zugehöriger vorprogrammierter Variablen zur Implementierung der logischen Funktionen, Operationen und Aufgaben des offengelegten Strömungsmodellierungssystems 102, das ein neuronales Faltungsnetzwerk (CNN 50) zur Erzeugung von Echtzeit-Feedback für Strömungswiderstände und Formveränderungen verwendet 109. Das Widerstandsreduzierungsprogramm 160 und das CNN 60 veranlassen den Prozessor 350 bei seiner Ausführung dazu, die hier beschriebene Logik, Berechnungen, Verfahren und/oder Algorithmen zur Erzeugung der Widerstands- und Auftriebsausgaben 107 durchzuführen. Das CNN 60 kann auf verschiedene Weise umgesetzt werden; eine detaillierte Beschreibung einer beispielhaften Ausführungsform eines CNN 60 wird im Zusammenhang mit 3 beschrieben.
-
Diejenigen, die sich in dem Fachgebiet auskennen, werden erkennen, dass die Algorithmen und Anweisungen der vorliegenden Offenbarung als Programmprodukt 162 verbreitet werden können. Als Programmprodukt 162 können ein oder mehrere Arten von nicht vorübergehenden computerlesbaren, signalführenden Medien verwendet werden, um das Widerstandsreduzierungsprogramm 160 und CNN 60 zu speichern und zu verteilen, wie z.B. ein nicht vorübergehender computerlesbarer Datenträger, der das Widerstandsreduzierungsprogramm 160 und CNN 60 trägt und darin zusätzliche Computerbefehle enthält, um einen Computerprozessor (wie z.B. den Prozessor 150) zu veranlassen, das Widerstandsreduzierungsprogramm 160 und CNN 60 zu laden und auszuführen. Ein solches Programmprodukt 162 kann eine Vielzahl von Formen annehmen, und die vorliegende Offenbarung gilt gleichermaßen unabhängig von der Art des computerlesbaren, signaltragenden Mediums, das zur Durchführung der Verteilung verwendet wird. Beispiele für signaltragende Medien sind: beschreibbare Medien wie Disketten, Festplatten, Speicherkarten und optische Platten sowie Übertragungsmedien wie digitale und analoge Kommunikationsverbindungen.
-
Es wird geschätzt, dass in verschiedenen Ausführungsformen auch Cloud-basierte Speicher und/oder andere Techniken als Speichermedien 152 verwendet werden können und eine zeitbasierte Leistung des Widerstandsreduzierungsprogramms 160 und des CNN 60 bieten.
-
In verschiedenen Ausführungsformen ist das E/A-System 154 so konfiguriert, dass es ein Ein-/Ausgabegerät enthält und die sofortige (d.h. in Echtzeit oder aktuell) Kommunikation zwischen dem Prozessor 150 und einer oder mehreren externen Datenquelle(n), wie z.B. der Quelle 104 der SDF-Datendatei und der Quelle 106 der Randbedingungen, einem Ausgabegerät, wie z.B. einem Anzeigesystem 110, und einem Benutzereingabegerät 112 unterstützt. Das E/A-System 154 kann einen oder mehrere Sender und Empfänger sowie die unterstützende Kommunikationshardware und - software enthalten, die für die hier beschriebene Kommunikation der Komponenten des Fluidströmungsmodellierungs-Moduls 108 erforderlich sind. Außerdem kann das E/A-System 154 in verschiedenen Ausführungsformen die Kommunikation mit Technikern und/oder eine oder mehrere Speicherschnittstellen für den direkten Anschluss an externe Speichergeräte unterstützen.
-
Um nun zu 3 zu kommen, und mit fortgesetztem Bezug auf 1-2, in Ausführungsformen des beispielhaften Fluidströmungsmodellierungs-Moduls 108 nutzt der Prozessor 150 die Leistungsfähigkeit der künstlichen Intelligenz (KI) und des maschinellen Lernens (ML), insbesondere durch die Implementierung eines neuronalen Faltungsnetzwerks (CNN) 60 mit mehreren verborgenen Faltungsschichten. Das CNN 60 kombiniert nach der Schulung vorteilhaft die Stärken von CFD- und WindkanalTests, indem er nahezu in Echtzeit Modelle und Rückmeldungen in Bezug auf Änderungen der Fluidströmung um eine Fahrzeugkarosserie herum liefert. Die Rückmeldung zeigt die Auswirkungen der Form und der Einströmbedingungen auf den Widerstand und den Auftrieb für die Design-Geometrie. Das CNN 60 spart Berechnungszeit, reduziert die Zykluszeit und bietet ein hoch nützliches Echtzeit-Feedback über Widerstands- und Formänderungen zur Verwendung bei der aerodynamischen Optimierung der Geometrie von Fahrzeugkarosserien.
-
Die Eingabeschicht 402 des CNN 60 empfängt die Eingabedatendatei SDF 105. Das CNN 60 besteht aus N verborgenen Schichten (hier als Hn bezeichnet). In verschiedenen Ausführungsformen reicht N von 3 bis zu mehr als 30. Im Beispiel CNN 60 gibt es 7 verborgene Schichten (H7) in Folge. Die ausgeblendeten Schichten umfassen zwei oder mehr verdeckte Faltungsschichten, die in einer Sequenz angeordnet sind (mit Bezug auf H1 404, H2 406 und H3 408), um einen Codierabschnitt zu bilden. H1 404 arbeitet auf der Eingangsschicht 402, H2 406 arbeitet auf H1 404 und H3 408 arbeitet auf H2 406.
-
Die verborgenen Schichten umfassen eine vollständig verbundene Schicht 410 ungefähr in der Mitte der Sequenz der verborgenen Schichten Hn; die vollständig verbundene Schicht 410 ist so konfiguriert, dass sie auf dem Ausgang der Encoder-Sektion 450 (d.h. dem Ausgang von H3 408) unter Verwendung der Einströmungs-Randbedingungen 107 arbeitet. Konkret sind die Einströmungs-Randbedingungen 107 nur Eingaben für die vollständig angeschlossene Schicht 410, d.h. sie werden nicht in die anderen verborgenen Schichten eingegeben. In verschiedenen Ausführungsformen umfassen die Einströmungs-Randbedingungen 107 einen Bereich von Reynoldszahlen 414 „Re“ und einen Bereich von Anstellwinkeln 416 „AoA“. Die vollständig angeschlossene Schicht 410 (auch als dichte Schicht bezeichnet) wird zur Klassifizierung verwendet: Sie erhält einen zwei- oder dreidimensionalen Input und wandelt ihn in drei fließende Outputs um: X-Geschwindigkeitsinformationen (X-vel), Y-Geschwindigkeitsinformationen (Y-vel) und Druckfeldinformationen (Prsr).
-
Die verborgenen Schichten umfassen ferner zwei oder mehr verborgene Entfaltungsschichten, die in einer Reihenfolge angeordnet sind, um einen Decoderabschnitt 452 zu bilden (mit Bezug auf H4 418, H5 420 und H6 422). Der Decoderabschnitt 452 arbeitet auf dem Ausgang der vollständig angeschlossenen Schicht 410 (d.h. H4 418 arbeitet auf 410, H5 420 arbeitet auf H4 418 und H6 422 arbeitet auf H5 420).
-
Im Decoderbereich bleiben jedoch die drei Ausgänge der voll angeschlossenen Schicht 410 (X-Geschwindigkeitsinformation, Y-Geschwindigkeitsinformation und Druckfeldinformation) bei der Verarbeitung des Decoderbereichs voneinander getrennt. Mit anderen Worten: H4 418 hat unterschiedliche Komponenten für X-Geschwindigkeitsinformationen, Y-Geschwindigkeitsinformationen und Druckfeldinformationen; H5 420 hat unterschiedliche Komponenten für X-Geschwindigkeitsinformationen, Y-Geschwindigkeitsinformationen und Druckfeldinformationen; und H6 422 hat unterschiedliche Komponenten für X-Geschwindigkeitsinformationen, Y-Geschwindigkeitsinformationen und Druckfeldinformationen.
-
In Übereinstimmung mit der CNN-Methodik wird in jeder der N verborgenen Schichten ein Neuron oder Filter (eine Designwahl) für die Faltung der Eingangsschicht gewählt, um so die nachfolgende Schicht zu erzeugen. Das Neuron oder der Filter hat „Felddimensionen“, und die Anwendung und die Felddimensionen beeinflussen die Anzahl und Größe der Gewichte, die als Multiplikatoren mit den Eingängen zu jedem Neuron verbunden sind. Die Gewichte werden auf einen Anfangswert eingestellt, während des Trainingsprozesses des CNN 60 angepasst und während des Betriebs des CNN 60 weiter angepasst. Die Dimensionen jeder verborgenen Schicht Hn sind eine Funktion der Schicht, auf der sie arbeitet, und der durchgeführten Operationen. In einer Ausführungsform ist die SDF 105-Eingangsschicht ein zweidimensionaler Tensor mit den Abmessungen 150×150. Wenn man von jeder verborgenen Schicht Hn zu einer nachfolgenden verborgenen Schicht Hn übergeht, informieren die Designentscheidungen weiterhin über die Auswahl der nachfolgenden Neuronen, die jeweiligen Gewichte und Operationen.
-
Sobald eine Schicht gefaltet oder entfaltet ist, wird eine Aktivierungsfunktion verwendet, um der Ausgabe der verborgenen Schicht Hn ihre nichtlinearen Eigenschaften zu geben. Die Aktivierungsfunktion ist eine design- und aufgabenspezifische Wahl. In verschiedenen Ausführungsformen des CNN 60 wird für die verborgenen Schichten eine Aktivierungsfunktion der rektifizierten Lineareinheit (ReLU) gewählt, weil sie im CNN 60 die beste Leistung erbringt und eine rechnerisch einfache Schwellenwertbildung bei Werten unter Null ermöglicht.
-
Außerdem können gemäß der CNN-Methodik andere verborgene Schichten und Operationen zwischen den verborgenen Faltungsschichten eingestreut werden. Im Beispiel von 4 ist jede der verborgenen Schichten Hn tatsächlich {Faltung und ReLu und Max Pooling}. Max Pooling ist eine Down-Sampling-Methodik, da sie zur Reduzierung der Anzahl der Parameter und/oder der räumlichen Größe der Schicht, auf die sie angewendet wird, verwendet wird.
-
Das CNN 60 führt durch die Verarbeitung der Eingangs-SDF über die Randbedingungen (z.B. den Bereich der Anstellwinkel und den Bereich der Reynolds-Zahlen) aus, um daraus Widerstands- und Auftriebsausgänge 424 für die Design-Geometrie zu erzeugen. Die Widerstands- und Auftriebsausgänge 424 sind nahezu in Echtzeit verfügbar und beinhalten Tensoren in Form von Eine X-Geschwindigkeitsinformationsdatei (X-vel), eine Y-Geschwindigkeitsinformationsdatei (Y-vel) und eine Druckfeldinformationsdatei (Prsr). Die Ausgaben des CNN 60 können als Bilder auf einem Anzeigesystem 310 angezeigt werden. In einigen Ausführungsformen werden eine oder mehrere der Ausgabedateien X-vel, Y-vel und Prsr als Graphen dargestellt. In einigen Ausführungsformen werden für jede der Ausgabedateien X-vel, Y-vel und Prsr Wärmebildkartenbilder erzeugt: Die ursprüngliche Design-Geometrie 425 kann etwa in der Mitte des Bildes gerendert werden, und die entsprechenden Strömungsinformationen können um die ursprüngliche Design-Geometrie herum mit Hilfe einer Visualisierungstechnik dargestellt werden, um die Intensitäten anzuzeigen. In einer Ausführungsform ist die Visualisierungstechnik die Verwendung von Graustufen. In einer anderen Ausführungsform ist die Visualisierungstechnik das Color Mapping. Beispielsweise zeigt die Intensitätskarte 426 bei Verwendung der ursprünglichen Profilgeometrie 425 die X-Vel-Intensitätsinformationen an, die um das Profil herum in Grautönen dargestellt werden; die Intensitätskarte 428 zeigt die Y-Vel-Intensitätsinformationen an, die um das Profil herum in Grautönen dargestellt werden; und die Intensitätskarte 430 zeigt die Prsr-Intensitätsinformationen an, die um das Profil herum in Grautönen dargestellt werden.
-
Um nun zu 4 zu kommen, wird ein Prozessablaufdiagramm gezeigt, das einen Beispielprozess 500 für das Training des CNN 60 für die aerodynamische Optimierung der Geometrie von Fahrzeugkarosserien zeigt. Aufgrund der Beschaffenheit des CNN 60 ist die Schulung des CNN 60 mit der Konfiguration des CNN 60 durch einen Prozessor 150 oder durch ein Verarbeitungssystem austauschbar. Das Beispiel-CNN 60 wird mit einer Backpropagationsmethode trainiert, um die Gewichte einzelner Neuronen im Abschnitt des Encoders 450 anzupassen.
-
Die Schulung des CNN 60 umfasst die Verwendung eines Schulungsdatensatzes und eines Validierungsdatensatzes. Die Mitglieder des Trainingsdatensatzes umfassen mehrere geometrische Formen, wobei jede Form in Form einer SDF-Datei vorliegt. Die Trainingsdaten können auch die zu verwendenden Grenzwerte und Bereiche enthalten. Der Validierungsdatensatz umfasst auch die gleichen Mitglieder des Trainingsdatensatzes (d.h. die gleichen mehrfachen geometrischen Formen, jede Form in Form einer SDF-Datei und die gleichen Randwerte und Bereiche); außerdem hat der Validierungsdatensatz für jede Form die gültigen oder tatsächlichen Auftriebs- und Widerstandsdaten. Das Training des CNN 60 umfasst bei 502 das Abrufen oder Empfangen des Trainingsdatensatzes, der Randwerte und Bereiche sowie das Abrufen oder Empfangen des Validierungsdatensatzes.
-
Bei 504 wird das CNN 60 für ein Mitglied des Trainingsdatensatzes ausgeführt, und das CNN 60 erzeugt ein Drag & Lift-Feedback. Bei 506 wird das generierte Widerstands- und Auftriebsfeedback mit dem bekannten gültigen Widerstands- und Auftriebsfeedback für das Mitglied des Trainingsdatensatzes verglichen, um so ein Delta zu erzeugen. Das Delta ist ein Trainingsfehler, und es wird mit einem Fehlerschwellenwert bei 508 verglichen, und wenn es den Schwellenwert bei 508 überschreitet, werden die Gewichte in den Neuronen des Encoders 450 angepasst, und das Verfahren kehrt zu 504 zurück, um das CNN 60 erneut auszuführen. Wenn der Trainingsfehler akzeptabel ist, d.h. das Delta unter dem Schwellenwert bei 508 liegt, geht das Verfahren zu Operation 510 über, um zu bestimmen, ob ein weiteres Mitglied des Trainingsdatensatzes zu verarbeiten ist. Ein Durchlauf über den Trainingsdatensatz wird als Epoche bezeichnet. In jeder Epoche wird ein Trainingsfehler erzeugt, z.B. als zyklische stückweise lineare Verlustfunktion, und die Gewichte in den Neuronen des Encoders 450 können zum Teil auf der Grundlage eines Vergleichs des Trainingsfehlers mit seinem vorherigen Wert angepasst werden, was als Testfehler bezeichnet wird.
-
Das CNN 60 wird unter Verwendung des gesamten Trainingsdatensatzes trainiert, einen Eintrag nach dem anderen, in zufälliger Reihenfolge, während die Einströmungs-Randbedingungen variiert werden, um die Widerstands- und Auftriebsleistungen zu erzeugen/vorherzusagen. Bei jedem Durchgang über den Datensatz wird eine Vorhersage mit einem bekannten Wert verglichen (d.h. unter Verwendung der Validierungsdaten), um das oben beschriebene Delta zu erzeugen. Die Anzahl der für die Ausbildung verwendeten Epochen ist im Allgemeinen eine Funktion der Größe des Ausbildungsdatensatzes und der Komplexität der Aufgabe. Wie beim CNN 60 wird die Anzahl der Epochen mit der Anzahl der verborgenen Schichten in Beziehung gesetzt, und die Anzahl der Epochen wird bestimmt, indem sie weiter erhöht wird, während der Trainingsfehler und der Testfehler zusammen abnehmen. Sobald sich die Testfehler stabilisiert haben, werden keine weiteren Epochen mehr durchgeführt; jede weitere Epoche wird voraussichtlich eine Überanpassung verursachen.
-
Nach dem Training wird das CNN 60 in einem Speichermedium, wie z.B. dem Speichermedium 152, bei 514 gespeichert. Das trainierte CNN 60 ist so konfiguriert, dass es die SDF 105 über die Einströmungs-Randbedingungen verarbeitet, um die entsprechenden Ausgänge 107 wie hier beschrieben zu erzeugen (d.h. vorherzusagen). Es wird davon ausgegangen, dass das CNN 60 nach dem Training auch während der Ausführung einer konkreten Anwendung weiter trainiert werden kann.
-
Nun zu 5: Die Genauigkeit, zu der das CNN 60 fähig ist, wird beschrieben. In dieser Ausführungsform wurde ein trainiertes CNN 60 verwendet, um einen Auftriebsbeiwert 602 als Funktion eines großen Bereichs von Anstellwinkeln 606 für drei verschiedene zweidimensionale Tragflächen vorherzusagen. In jedem Fall hatte die SDF-Eingabeschicht 402 die Abmessungen 150x150; 21 AoAs 416 wurden verwendet (0-20); und vier Res 414 wurden verwendet (0,5x10e6, 1,0x10e6, 3,0x10e6 und 5,0x10e6), wodurch 252 Simulationen generiert wurden. Dieses Beispiel führte zu einer hochpräzisen Auftriebs- und Widerstandsrückmeldung 109. 5 zeigt ein Diagramm des Auftriebskoeffizienten 602 auf der Y-Achse in Abhängigkeit von der AoA auf der X-Achse 604. Die vom CNN 60 (Zeile 608) vorhergesagte Kurve der Daten folgt eng der Kurve der Validierungsdaten 606 und weicht nur bei sehr hohen Anstellwinkeln (im Beispiel etwa 19,5 Grad) ab (610).
-
Die vorstehenden Ausführungen skizzieren Merkmale verschiedener Ausführungsformen, so dass diejenigen, die sich in dem Fachgebiet auskennen, die Aspekte der vorliegenden Offenbarung besser verstehen können. Diejenigen, die sich in dem Fachgebiet auskennen, sollten sich darüber im Klaren sein, dass sie die vorliegende Offenbarung ohne weiteres als Grundlage für die Gestaltung oder Änderung anderer Prozesse und Strukturen verwenden können, um die gleichen Zwecke zu verwirklichen und/oder die gleichen Vorteile der hier vorgestellten Ausführungsformen zu erreichen. Diejenigen, die sich in dem Fachgebiet auskennen, sollten auch erkennen, dass solche gleichwertigen Konstruktionen nicht vom Geist und dem Umfang der vorliegenden Offenbarung abweichen und dass sie verschiedene Änderungen, Ersetzungen und Modifikationen hier vornehmen können, ohne vom Geist und Umfang der vorliegenden Offenbarung abzuweichen.