Sto lavorando a una simulazione fluida 2D usando particelle di vortice / "vortoni" come descritto in Fluid Simulation for Video Games . Il che penso sia lo stesso del "metodo discreto di vortice". Fondamentalmente si rappresenta il fluido con una raccolta di particelle con vorticità definita e si calcola la velocità del fluido in un punto riassumendo le velocità indotte di tutti i vortoni usando la legge di Biot-Savart (es .: , dovep2-p1è la differenza di posizione tra il punto di campionamento e il vortone,wè la vorticità (una quantità vettoriale in 3D) erè la distanza euclidea tra il vortone e il punto di campionamento) .
Sto cercando di introdurre una scatola nel fluido e farlo spostare avanti e indietro e influenzare il fluido. Ciò significa prendere in considerazione le condizioni al contorno antiscivolo e non passanti per la scatola. (Cioè, avendo la velocità del fluido relativa essere 0 proprio al limite del riquadro).
In questo momento sto campionando la velocità relativa della scatola e il fluido in 80 punti attorno al perimetro della scatola. Ho anche 80 vortoni posizionati vicino al perimetro della scatola ma sfalsati un po 'verso l'esterno. Formo una matrice di grandi dimensioni e risolvo i valori di vorticità di cui i vortoni hanno bisogno per contrastare la velocità del fluido nei punti di campionamento (usando i minimi quadrati lineari).
Questo quasi funziona, ma ho notato che la soluzione al mio ritorno dipende in larga misura l'esatto layout di punti campione e vortons.
A volte ottengo schemi alternati di vortoni che ruotano in direzioni diverse (i punti blu sono vortoni che ruotano in senso antiorario, e i punti rossi sono vortoni che ruotano in senso orario):
Altre volte ho tutti i vortoni sul lato sinistro della scatola che girano in un modo, e tutti i vortoni sull'altro che girano nell'altro modo, come in questa immagine:
Penso che la seconda foto sia ciò che voglio davvero. Penso anche che le due diverse soluzioni implicino che il sistema di equazioni che sto usando sia troppo limitato. L'aggiunta di ulteriori punti campione a volte aiuta, a volte no.
Ci sono altre condizioni al contorno che potrei aggiungere che potrebbero aiutarmi a ottenere i risultati che sto cercando? Intuitivamente non sto facendo nulla per tener conto di quanto fortemente il fluido sia disturbato ad una certa distanza dalla scatola. Sto pensando che forse potrei aggiungere le condizioni per il limite del livello limite. Ma non sono sicuro esattamente come sarebbe.
In alternativa, c'è qualche letteratura pertinente che potrei vedere su come i sims fluidi a base di particelle di vortice gestiscono questo tipo di condizioni al contorno?