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).
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):
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:
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?