-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf das technische Gebiet der numerischen Simulationsrechnung, insbesondere auf ein paralleles Berechnungsverfahren und -system zur numerischen Simulation von Gussströmungsfeldern.
-
Hintergrundtechnik
-
Bei der numerischen Simulationsrechnung von Gussströmungsfeldern erfordert die Lösung eines nichtlinearen expliziten Gleichungssystems oft mehrere Iterationen, was die Komplexität der numerischen Berechnung erhöht. Am Beispiel der SOLA-Methode, die üblicherweise in der Simulation von Gussströmungsfeldern verwendet wird, werden die Versuchsgeschwindigkeiten zum aktuellen Zeitpunkt aus dem expliziten Differenzenformat der Impulsgleichung basierend auf den Anfangsbedingungen oder dem Geschwindigkeitsfeld und dem Druckfeld zum vorherigen Zeitpunkt berechnet und dann wird durch die Berechnung der Streuung bestimmt, ob die Versuchsgeschwindigkeiten die Kontinuitätsgleichung erfüllen. Wenn die Kontinuitätsgleichung nicht erfüllt ist, muss der Druckwert korrigiert werden, und dann werden die korrigierten Geschwindigkeiten der Strömungszelle aus der Impulsgleichung ermittelt, und der Vorgang wird wiederholt, bis die Kontinuitätsbedingung erfüllt ist. Da die Geschwindigkeitswerte der vor- und nachgelagerten Zellen im Prozess der Korrektur der Geschwindigkeiten der Strömungszelle auch korrigiert werden, gibt es das Problem der nichtlinearen expliziten Lösung, was die Schwierigkeiten bei der parallelen Lösung mehrerer Zellen führen kann.
-
Die traditionelle Methode, die in Gießsimulationen im In- und Ausland verwendet wird, kann nur die anfänglichen Versuchsgeschwindigkeiten und die Streuungswerte parallel lösen, dabei werden die Strömungszellen eine nach der anderen gelöst, und dann werden, wenn alle Zellen die Konvergenzbedingungen erfüllen, in den einzelnen Teilprozessen die Versuchsgeschwindigkeiten zum nächsten Zeitpunkt berechnet, was dazu führt, dass der Speicherdruck auf den Hauptprozess groß ist, die Verbesserung der Berechnungsgeschwindigkeit gering ist, die gesamte Berechnungseffizienz niedrig ist und die Hardwarekapazität des Computers nicht voll ausgenutzt werden kann. Angesichts der zunehmenden Größe des Gussströmungsfeld-Simulationsproblems und der steigenden Genauigkeit der Lösung ist die Frage, wie man die Berechnungsgeschwindigkeit der Simulation beschleunigen kann, zu einem dringenden Problem geworden.
-
Inhalte der Erfindung
-
Um die Unzulänglichkeiten des Standes der Technik zu lösen und den Verbesserungsbedarf zu erfüllen, schlägt die vorliegende Erfindung ein paralleles Berechnungsverfahren und -system zur numerischen Simulation von Gussströmungsfeldern vor, damit kann die parallele Lösung einer großen Anzahl von nichtlinearen expliziten Gleichungssystemen in der Gussströmungsfelder-Simulationstechnik realisiert werden, wodurch die Effizienz der Strömungsfeldberechung verbessert werden kann.
-
Um den oben genannten Zweck zu erreichen, schlägt die vorliegende Erfindung ein paralleles Berechnungsverfahren zur numerischen Simulation von Gussströmungsfeldern vor, das die folgenden Schritte umfasst:
- S1: Importieren eines Strömungsfeldmodells eines Gussteils, um eine Gitterzerlegung des Modells durchzuführen; Initialisieren einer Anzahl von Verarbeitungszellen, die einer Anzahl von Gittern, die sich aus der Gitterzerlegung ergeben, entspricht, wobei die einzelne Verarbeitungszelle zum Speichern von Versuchsgeschwindigkeitswerten des entsprechenden Gitters und Geschwindigkeitskorrekturwerten für die umgebenden Gitter verwendet wird;
- S2: Paralleles Berechnen der Versuchsgeschwindigkeitswerte jedes Gitters zum aktuellen Zeitpunkt aus Informationen von Geschwindigkeitsfeld und Druckfeld am Anfang oder zum vorherigen Zeitpunkt;
- S3: Paralleles Berechnen von Streuungswerten jedes Gitters, wobei, wenn ein Streuungswert irgendeines Gitters die Konvergenzbedingungen nicht erfüllt, eigene Druckkorrekturwerte und Geschwindigkeitskorrekturwerte aller Gitter, die die Konvergenzbedingungen nicht erfüllen, sowie Geschwindigkeitskorrekturwerte für die umgebenden Gitter parallel berechnet werden, wobei die Geschwindigkeitskorrekturwerte für die umgebenden Gitter in den entsprechenden Verarbeitungszellen gespeichert werden; Korrigieren von Geschwindigkeiten jedes Gitters basierend auf den eigenen Geschwindigkeitskorrekturwerten jedes Gitters und den Geschwindigkeitskorrekturwerten, die von den umgebenden Gittern für dieses Gitter generiert wurden, bis alle Gitter die Konvergenzbedingungen erfüllen;
- S4: Wiederholen von S2 bis S3, bis die Berechnungen aller Zeitschritte abgeschlossen sind.
-
Ferner umfasst Schritt S2 paralleles Berechnen der Versuchsgeschwindigkeitswerte jedes Gitters zum aktuellen Zeitpunkt aus Informationen von Geschwindigkeitsfeld und Druckfeld am Anfang oder zum vorherigen Zeitpunkt gemäß der Impulserhaltungsgleichung, wobei die diskrete Form der Impulserhaltungsgleichung wie folgt lautet:
wobei in der Gleichung n den vorherigen Zeitpunkt bezeichnet wird, n+1 den aktuellen Zeitpunkt bezeichnet wird,
jeweils die Versuchsgeschwindigkeiten zum aktuellen Zeitpunkt in den drei Richtungen sind,
jeweils die Geschwindigkeiten zum vorherigen Zeitpunkt in den drei Richtungen sind, δt der Zeitschritt ist,
die Druckwerte zum aktuellen Zeitpunkt in den Gitterzellen (i, j, k), (i+1, j, k), (i, j+1, k) bzw. (i, j, k+ 1) sind, ρ die Dichte der Flüssigkeit ist, g
x, g
y, g
z die Komponenten der Gravitationsbeschleunigung in den drei Richtungen sind, FUX, FUY, FUZ, FVX, FVY, FVZ, FWX, FWY, FWZ Konvektionsterme sind, VISX1, VISY1, VISZ1 Diffusionsterme sind, und VISX2, VISY2, VISZ2 Quellterme sind.
-
Ferner werden im Schritt S3 die Streuungswerte jedes Gitters nach der Massenerhaltungsgleichung parallel berechnet,
wobei die diskrete Form der Massenerhaltungsgleichung wie folgt lautet:
und wobei der Streuungswert der Gitterzelle (i, j, k) ist:
wobei in der Gleichung δx
i, δy
j, δz
k die Längen der einzelnen Gitter in x-, y-bzw. z-Richtung sind.
-
Ferner werden im Schritt S3 die Konvergenzbedingungen als erfüllt angesehen, wenn
ist, wobei ε
min die Konvergenzschwelle ist. Ferner wird im Schritt S3 eine Druckkorrektur durchgeführt, bevor die Geschwindigkeitskorrektur des Gitters durchgeführt wird, das die Konvergenzbedingungen nicht erfüllt, wobei der Druckwert so korrigiert wird, dass das Geschwindigkeitsfeld der Strömung die Kontinuitätsbedingungen erfüllt, und wobei der Druck nach der folgenden Gleichung korrigiert wird:
wobei in der Gleichung p
n+1 , p
n die Druckwerte zum aktuellen Zeitpunkt bzw. zum vorherigen Zeitpunkt sind; und wobei δP
n der Druckkorrekturbetrag ist, wobei
wobei der Berechnungsformel
ist:
Ferner sind im Schritt S3
wobei in der Gleichung
jeweils die eigenen Versuchsgeschwindigkeitswerte der Gitterzelle (i, j, k) nach der Korrektur sind, und wobei
die Geschwindigkeitskorrekturwerte der Gitterzelle (i, j, k) für die umgebenden Gitterzellen sind.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein paralleles Berechnungssystem zur numerischen Simulation von Gussströmungsfeldern bereitgestellt, das Folgendes umfasst:
- ein Zerlegungs- und Initialisierungsmodul zum Importieren eines Strömungsfeldmodells eines Gussteils, um eine Gitterzerlegung des Modells durchzuführen; Initialisieren einer Anzahl von Verarbeitungszellen, die einer Anzahl von Gittern, die sich aus der Gitterzerlegung ergeben, entspricht, wobei die einzelne Verarbeitungszelle zum Speichern von Versuchsgeschwindigkeitswerten des entsprechenden Gitters und Geschwindigkeitskorrekturwerten für die umgebenden Gitter verwendet wird;
- ein Berechnungsmodul der Versuchsgeschwindigkeiten zum parallelen Berechnen der Versuchsgeschwindigkeitswerte jedes Gitters zum aktuellen Zeitpunkt aus Informationen von Geschwindigkeitsfeld und Druckfeld am Anfang oder zum vorherigen Zeitpunkt;
- ein Korrekturmodul zum parallelen Berechnen von Streuungswerten jedes Gitters, wobei, wenn ein Streuungswert irgendeines Gitters die Konvergenzbedingungen nicht erfüllt, eigene Druckkorrekturwerte und Geschwindigkeitskorrekturwerte aller Gitter, die die Konvergenzbedingungen nicht erfüllen, sowie Geschwindigkeitskorrekturwerte für die umgebenden Gitter parallel berechnet werden, wobei die Geschwindigkeitskorrekturwerte für die umgebenden Gitter in den entsprechenden Verarbeitungszellen gespeichert werden; Korrigieren von Geschwindigkeiten jedes Gitters basierend auf den eigenen Geschwindigkeitskorrekturwerten jedes Gitters und den Geschwindigkeitskorrekturwerten, die von den umgebenden Gittern für dieses Gitter generiert wurden, bis alle Gitter die Konvergenzbedingungen erfüllen;
- ein Wiederholungsmodul zum Wiederholen des Berechnungsmoduls der Versuchsgeschwindigkeiten und des Korrekturmoduls, bis die Berechnungen aller Zeitschritte abgeschlossen sind.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein elektronisches Gerät bereitgestellt, das einen Prozessor und einen Speicher, der computerausführbare Programme speichert, umfasst, wobei die Programme, wenn sie von dem Prozessor ausgeführt werden, den Prozessor veranlasst, das genannte parallele Berechnungsverfahren zur numerischen Simulation von Gussströmungsfeldern auszuführen.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein computerlesbares Speichermedium mit der darauf gespeicherten Computerprogrammen bereitgestellt, wobei die Programme, wenn sie von dem Prozessor ausgeführt werden, ein paralleles Berechnungsverfahren zur numerischen Simulation von Gussströmungsfeldern wie oben beschrieben implementieren.
-
Im Allgemeinen können durch die obige technische Lösung, wie sie durch die vorliegende Erfindung konzipiert ist, die folgenden vorteilhaften Effekte erreicht werden:
- Im Sinn der vorliegenden Erfindung werden die Korrektur der iterativen Lösung des nichtlinearen expliziten Gleichungssystems bei der Gussströmungsfeldberechnung in Schritte unterteilt, indem insbesondere zunächst die Versuchsgeschwindigkeitswerte und die Streuungswerte jedes Gitters zum aktuellen Zeitpunkt parallel berechnet werden; und dann eigene Druckkorrekturwerte und Geschwindigkeitskorrekturwerte aller Gitter, die die Konvergenzbedingungen nicht erfüllen, sowie Geschwindigkeitskorrekturwerte für die umgebenden Gitter parallel berechnet werden, wobei die Geschwindigkeitskorrekturwerte für die umgebenden Gitter in den entsprechenden Verarbeitungszellen gespeichert werden, um eine parallele Korrektur zu erreichen, was eine parallele Berechnung des nichtlinearen expliziten Lösungsprozesses ermöglicht, wodurch der Druck auf den Hauptprozess reduziert wird, die Computerlast ausgeglichener wird und die Leistung des Computers voll ausgenutzt werden kann, wodurch die Berechnungseffizienz des nichtlinearen expliziten Lösungsprozesses in der Gussströmungssimulation stark verbessert und die Berechnungszeit des numerischen Simulationsprozesses stark verkürzt wird, was von großer Bedeutung für die Verbesserung der Leistung der numerischen Gusssimulationssoftware ist.
-
Figurenliste
-
- 1 ist ein Flussdiagramm des parallelen Berechnungsverfahrens zur numerischen Simulation von Gussströmungsfeldern in der vorliegenden Erfindung;
- 2 ist eine schematische Darstellung einer Verarbeitungsweise einer einzelnen Gitterzelle von dem vorliegenden Algorithmus, wenn ein einzelner Zeitschritt in einem zweidimensionalen Modell berechnet wird.
-
Spezifische Ausführungsformen
-
Um den Gegenstand, die technischen Lösungen und die Vorteile der vorliegenden Erfindung besser verständlich zu machen, wird die vorliegende Erfindung im Folgenden in Verbindung mit den beigefügten Figuren und Ausführungsbeispielen näher beschrieben. Es ist zu verstehen, dass die hier beschriebenen Ausführungsbeispiele nur zur Erläuterung der Erfindung verwendet werden und nicht dazu dienen, die Erfindung einzuschränken. Darüber hinaus können die technischen Merkmale der verschiedenen nachfolgend beschriebenen Ausführungsformen der Erfindung miteinander kombiniert werden, sofern sie nicht in Konflikt zueinander stehen.
-
Unter Bezugnahme auf 1 schlägt die Erfindung ein paralleles Berechnungsverfahren zur numerischen Simulation von Gussströmungsfeldern vor, das die Idee der getrennten, parallelen Verarbeitung nichtlinearer expliziter Lösungsprozesse nutzt und sowohl auf zweidimensionale Modelle als auch auf dreidimensionale Modelle anwendbar ist. Unter Bezugnahme auf 2 wird die numerische Simulationsberechnung des Strömungsfeldes am Beispiel eines zweidimensionalen Modells dargestellt, die die folgenden Schritte umfasst:
- S1: Initialisieren von Berechnungsbedingungen. Nach dem Import eines Datenmodells in eine Simulationssoftware wird zunächst eine Gitterzerlegung für das Modell durchgeführt, und dann wird das mathematische Modell diskretisiert und die entsprechenden Anfangs- und Randbedingungen werden gesetzt, um das diskretisierte Modell Schritt für Schritt zu lösen.
-
Ein Anzahl von Verarbeitungszellen wird entsprechend einer Anzahl von Gittern, die sich aus der Gitterzerlegung ergeben, definiert. Es kann angenommen werden, dass das Ergebnis der Zerlegung p x q Gitterzellen umfasst, wird die Anzahl von Zellen Uinti,j als p x q definiert (0 ≤ i < p, 0 ≤ j < q). Die beschriebene „Zelle“ ist als Datentyp definiert, der einen Satz von Versuchsgeschwindigkeitswerten VelocitySet und einen Satz von Einflusswerten InfluenceSet umfasst, der die Einflüsse der Gitterzelle auf die umgebenden Gitter umfasst.
- S2: Paralleles Lösen der Versuchsgeschwindigkeitswerte jeder Zelle nach der Impulserhaltungsgleichung. Die diskrete Form der zweidimensionalen Impulserhaltungsgleichung lautet wie folgt:
-
Weiter insbesondere werden Versuchsgeschwindigkeiten der Gitterzelle Uint
i,j in einem Teilprozess berechnet, indem zunächst die Versuchsgeschwindigkeitswerte
in beiden Richtungen der Zelle Uint
i,j zum aktuellen Zeitpunkt (n+1 Zeitpunkt) basierend auf den Anfangsbedingungen oder dem Geschwindigkeitsfeld und dem Druckfeld zum vorherigen Zeitpunkt (n Zeitpunkt) durch das explizite Differenzenformat der Impulserhaltungsgleichung berechnet werden und dann in VelocitySet gespeichert werden.
-
S3: Berechnen von Streuungswerten jeder Zelle nach der Massenerhaltungsgleichung (Kontinuitätsgleichung), wobei es sinnvoll sein kann, die Zelle Uint
i,j als Beispiel zu nehmen und ihren Streuungswert
zu berechnen. Die Formel zur Berechnung eines Streuungswertes einer 2D-Gitterzelle lautet wie folgt:
-
Die Konvergenz
wird mit dem Streuungswert
bewertet, und wenn ein Streuungswert irgendeines Gitters die Konvergenzbedingungen nicht erfüllt, werden Druckkorrekturwerte und Geschwindigkeitskorrekturwerte aller Zellen Uint
i,j parallel berechnet, die die Konvergenzbedingungen nicht erfüllen, und ähnlich wie die Korrektur in drei Dimensionen ist der Druckkorrekturbetrag in zwei Dimensionen wie folgt:
wobei in der Gleichung die Berechnungsformel für
wie folgt ist:
-
Nach der Druckkorrektur werden die Geschwindigkeiten der Zelle Uint
i,j nach der folgenden Formel korrigiert:
-
Die Berechnungsformel der Geschwindigkeitskorrekturwerte der Zelle Uint
i,j für die umgebenden Gitter lautet wie folgt:
-
Die Geschwindigkeitskorrekturwerte für die umgebenden Gitter werden in den Satz InfluenceSet als die Werte der Einflüsse der Zelle auf die umgebenden Zellen gespeichert; die Werte jeder Zelle werden parallel korrigiert, und zwar wird die Zelle Uinti,j einem Teilprozess zugewiesen, in dem die Einflusswerte von ihren umgebenden Gitterzellen Uk abgefragt werden, d. h. in dem InfluenceSet der Zelle Uk werden die Geschwindigkeitseinflusswerte von Uk auf Uinti,j durchsucht, und dann werden die Versuchsgeschwindigkeitswerte von Uinti,j entsprechend der Größe der Einflusswerte von Uk auf Uinti,j korrigiert, bis alle Gitter die Konvergenzbedingungen erfüllen.
-
S4: Wiederholen von S2 bis S3, bis die Berechnungen aller Zeitschritte abgeschlossen sind.
-
Die vorliegende Erfindung schlägt ferner ein paralleles Berechnungssystem zur numerischen Simulation von Gussströmungsfeldern vor, das Folgendes umfasst:
- ein Zerlegungs- und Initialisierungsmodul zum Importieren eines Strömungsfeldmodells eines Gussteils, um eine Gitterzerlegung des Modells durchzuführen; Initialisieren einer Anzahl von Verarbeitungszellen, die einer Anzahl von Gittern, die sich aus der Gitterzerlegung ergeben, entspricht, wobei die einzelne Verarbeitungszelle zum Speichern von Versuchsgeschwindigkeitswerten des entsprechenden Gitters und Geschwindigkeitskorrekturwerten für die umgebenden Gitter verwendet wird;
- ein Berechnungsmodul der Versuchsgeschwindigkeiten zum parallelen Berechnen der Versuchsgeschwindigkeitswerte jedes Gitters zum aktuellen Zeitpunkt aus Informationen von Geschwindigkeitsfeld und Druckfeld am Anfang oder zum vorherigen Zeitpunkt;
- ein Korrekturmodul zum parallelen Berechnen von Streuungswerten jedes Gitters, wobei, wenn ein Streuungswert irgendeines Gitters die Konvergenzbedingungen nicht erfüllt, eigene Druckkorrekturwerte und Geschwindigkeitskorrekturwerte aller Gitter, die die Konvergenzbedingungen nicht erfüllen, sowie Geschwindigkeitskorrekturwerte für die umgebenden Gitter parallel berechnet werden, wobei die Geschwindigkeitskorrekturwerte für die umgebenden Gitter in den entsprechenden Verarbeitungszellen gespeichert werden; Korrigieren von Geschwindigkeiten jedes Gitters basierend auf den eigenen Geschwindigkeitskorrekturwerten jedes Gitters und den Geschwindigkeitskorrekturwerte, die von den umgebenden Gittern für dieses Gitter generiert wurden, bis alle Gitter die Konvergenzbedingungen erfüllen;
- ein Wiederholungsmodul zum Wiederholen des Berechnungsmoduls der Versuchsgeschwindigkeiten und des Korrekturmoduls, bis die Berechnungen aller Zeitschritte abgeschlossen sind.
-
Die Implementierung der einzelnen Module in dem in diesem Ausführungsbeispiel vorgesehenen parallelen Berechnungssystem zur numerischen Simulation von Gussströmungsfeldern kann in Form eines Computerprogramms erfolgen. Die Computerprogramme können auf einem Terminal oder einem Server ausgeführt werden. Die Computerprogramme bilden ein Programmmodul, das im Speicher eines elektronischen Geräts gespeichert werden kann. Die Computerprogramme implementieren, wenn sie vom Prozessor ausgeführt werden, die Schritte des in dem Ausführungsbeispiel der vorliegenden Erfindung beschriebenen Verfahrens.
-
Die Ausführungsbeispiele der vorliegenden Erfindung schlagen auch ein computerlesbares Speichermedium vor. Wenn die computerausführbaren Befehle von einem oder mehreren Prozessoren ausgeführt werden, werden die Schritte eines parallelen Berechnungsverfahrens zur numerischen Simulation von Gussströmungsfeldern von einem oder mehreren nichtflüchtigen computerlesbaren Speichermedien, die computerausführbare Befehle enthalten, durchgeführt.
-
Jede Bezugnahme auf einen Speicher, eine Speicherung, eine Datenbank oder ein anderes Medium, das in dieser Erfindung verwendet wird, kann einen nichtflüchtigen und/oder flüchtigen Speicher umfassen. Nichtflüchtiger Speicher kann Festwertspeicher (ROM), programmierbarer ROM (PROM), elektrisch programmierbarer ROM (EPROM), elektrisch löschbarer programmierbarer ROM (EEPROM) oder Flash-Speicher umfassen. Flüchtiger Speicher kann einen Direktzugriffsspeicher (RAM) umfassen, der als externer Cache-Speicher verwendet wird. Zur Veranschaulichung und ohne Einschränkung steht RAM für verschiedene Formen, z. B. statischer RAM (SRAM), dynamischer RAM (DRAM), synchroner DRAM (SDRAM), SDRAM mit doppelter Datenrate (DDR SDRAM), erweiterter SDRAM (ESDRAM), Synchronisationslink (Synchlink) DRAM (SLDRAM), direkter Speicher (Rambus) und Speicherbus (Rambus) direktes RAM (RDRAM), direktes Speicherbus-dynamisches RAM (DRDRAM) und Speicherbus-dynamisches RAM (RDRAM).
-
Es ist von den technischen Personen zu verstehen, dass das Vorstehende nur ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung ist und nicht dazu bestimmt ist, die Erfindung einzuschränken, und alle Modifikationen, gleichwertige Ersetzungen, Verbesserungen usw., die im Rahmen des Geistes und der Prinzipien der vorliegenden Erfindung vorgenommen werden, fallen in den Schutzbereich der vorliegenden Erfindung.