Randbedingungen in der Flüssigkeitssimulation


10

Ich arbeite an einer 2D-Flüssigkeitssimulation mit Wirbelpartikeln / "Wirbeln", wie in Flüssigkeitssimulation für Videospiele beschrieben . Was ich denke, ist das gleiche wie die "diskrete Wirbelmethode". Grundsätzlich stellen Sie die Flüssigkeit mit einer Ansammlung von Partikeln mit definierter Vorticity dar und berechnen die Fluidgeschwindigkeit an einem Punkt, indem Sie die induzierten Geschwindigkeiten aller Vortons nach dem Biot-Savart-Gesetz aufsummieren (z. B.: , wobei die Positionsdifferenz zwischen dem Probenpunkt und dem Vorton ist, die Vorticity (eine Vektorgröße in 3D) ist und der euklidische Abstand zwischen ist der Vorton und der Probenpunkt).v=ω×(p2p1)4πr3p2p1wr

Ich versuche, eine Kiste in die Flüssigkeit einzuführen und sie hin und her bewegen zu lassen und die Flüssigkeit zu beeinflussen. Dies bedeutet, dass die rutschfesten und durchgehenden Randbedingungen für die Box berücksichtigt werden. (Das heißt, die relative Flüssigkeitsgeschwindigkeit muss direkt an der Boxgrenze 0 sein).

Im Moment nehme ich die Relativgeschwindigkeit der Box und der Flüssigkeit an 80 Punkten um den Umfang der Box herum auf. Ich habe auch 80 Wirbel in der Nähe des Umfangs der Box platziert, aber etwas nach außen versetzt. Ich bilde eine große Matrix und löse nach den Wirbelwerten, die die Wirbel benötigen, um der Geschwindigkeit der Flüssigkeit an den Probenpunkten entgegenzuwirken (unter Verwendung linearer kleinster Quadrate).

Das funktioniert fast , aber ich habe festgestellt, dass die Lösung, die ich zurück bekomme, stark von der genauen Anordnung der Probenpunkte und Wirbel abhängt.

Manchmal bekomme ich abwechselnde Muster von Wirbeln, die sich in verschiedene Richtungen drehen (blaue Punkte sind Wirbel, die sich gegen den Uhrzeigersinn drehen, und rote Punkte sind Wirbel, die sich im Uhrzeigersinn drehen):

Wechselnde Vortonflüsse

In anderen Fällen drehen sich alle Vortons auf der linken Seite der Box in die eine und alle Vortons auf der anderen Seite in die andere Richtung, wie in diesem Bild:

Gleichmäßiger Ablauf

Ich denke, das zweite Bild ist das, was ich eigentlich will. Ich denke auch, dass die beiden unterschiedlichen Lösungen implizieren, dass das von mir verwendete Gleichungssystem zu unterbeschränkt ist. Das Hinzufügen zusätzlicher Stichprobenpunkte hilft manchmal, manchmal nicht.

Gibt es andere Randbedingungen, die ich hinzufügen könnte, um die gewünschten Ergebnisse zu erzielen? Intuitiv tue ich nichts, um zu berücksichtigen, wie stark die Flüssigkeit in einem bestimmten Abstand von der Box gestört ist. Ich denke, ich könnte vielleicht Bedingungen für die Grenzschichtgrenze hinzufügen. Aber ich bin mir nicht sicher, wie das genau aussehen würde.

Gibt es eine relevante Literatur, in der ich nachsehen könnte, wie Wirbelpartikel-basierte Flüssigkeitssimulationen mit solchen Randbedingungen umgehen?

Antworten:


1

Ist das System, das Sie lösen möchten, singulär? Oder zumindest schlecht konditioniert?

Ich würde versuchen, dem System eine Regularisierung hinzuzufügen, z. B. wenn Sie eine Energieformulierung haben, fügen Sie ein kleines Vielfaches von . Ich denke, dies entspricht dem Hinzufügen eines Terms zu der Matrix, die Sie lösen. Das sollte das System in Richtung der zweiten Konfiguration treiben.Σ||vi||2λI

Eine kompliziertere Regularisierung wäre eine Strafe für die "Ableitung", z. B. wobei mit der Entfernung .Σwij||vivj||2wij


Ich denke, Sie beziehen sich auf die Regularisierung von Tichonow .
OSE
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.