2011-02-04 23 views
10

Sto provando a scrivere un simulatore fluidodinamico sulla tela HTML5. Ho trovato alcune cose che sembrano sempre un punto di partenza promettente, ma sono tutte basate su celle e usano una matematica pazzesca.Simulazione fluidodinamica, con ostacoli

Mi piacerebbe poter aggiungere ostacoli arbitrari (linee di qualsiasi orientamento, cerchi, ecc.) Per rendere le cose più interessanti, ma non ho idea da dove iniziare.

Qualcuno sa di equazioni abbastanza semplici per la simulazione di fluidi che includono ostacoli di qualsiasi orientamento? In alternativa, qualcuno potrebbe indicarmi la matematica richiesta per prendere uno degli esempi sopra e aggiungere ostacoli?

So che questa domanda è al limite di qualcosa che dovrei chiedere a mathoverflow, ma sembrano più nella teoria. Mi scuso se sono nella zona sbagliata. Non so davvero da dove cominciare, se qualcuno ha già lavorato su simulazioni di liquidi con ostacoli arbitrari, potrei usare alcuni suggerimenti.

L'accuratezza passa in secondo piano rispetto alla semplicità.

Grazie!

+2

Mi dispiace, ma questo è qualcosa in cui il più vicino a cui arriverete a fare questo senza capire la matematica, sta copiando e incollando il codice di qualcun altro. –

risposta

12

La fluidodinamica non è un argomento semplice. Tutta quella "teoria" che preferiscono sull'altro sito è proprio il modo in cui funziona questo campo.

L'esempio più semplice di flusso del fluido è 2D, incompressible, irrotational, laminar flow. Comincerei guardando in quello.

Ma non è un campo facile. Non ci sono libri "Teach Yourself Computational Fluid Dynamics In Ten Days".

+6

Mi piacerebbe sapere chi ha votato e perché. – duffymo

7

Il miglior libro da leggere per l'introduzione alla simulazione fluida orientata alla grafica è "Fluid Simulation for Computer Graphics" di Robert Bridson (disclaimer: era il mio consigliere di dottorato). http://www.cs.ubc.ca/~rbridson/fluidbook/

Alla fine, c'è molta matematica, ma ci sono anche molti esempi di codice per chiarire le cose per meno inclini alla matematica.

Riguarda principalmente l'approccio basato su celle che hai citato. L'altra alternativa principale è "Smoothed Particle Hydrodynamics" o SPH. Matthias Muller ha alcuni documenti su questo se stai cercando di iniziare.

+0

+1 - Sembra un bel libro. Ti considero un'autorità su questo argomento se tu sei il C. Batty che viene citato come lavoro futuro dal 2008 che dovrebbe essere aggiunto. Davvero molto bello. Grazie per averlo portato alla mia attenzione Lo aggiungerò al mio "dovrebbe leggere" il backlog. Ho scaricato la citazione di carta con flusso di superficie libero. Sarò sicuro di leggerlo attentamente. – duffymo

-1

L'ho provato e solo per farti sapere che c'è una parte importante della simulazione Fluid di qualsiasi tipo chiamata Proiezione che è computazionalmente estesa anche su CPU ci vuole molto e potresti ben sapere che Javascript è piuttosto lento per molte ragioni .

3

Se non ti interessa la precisione reale ma desideri solo qualcosa di swoosh e fresco, ho sviluppato una simulazione basata sulla pressione molto semplice che offre un'interfaccia interattiva molto veloce in Javascript. Potete vederlo here.

+0

questo è bello. Nota rapida per gli altri che devi cliccare sullo schermo nero affinché reagisca alla perturbazione. – prototype

3

Ecco una lista abbastanza decente di tutto quello che c'è da sapere su fluidodinamica e simulazioni: http://www.dgp.toronto.edu/~stam/reality/Research/pub.html

Inoltre si dovrebbe verificare this sito, dove è possibile trovare il codice sorgente di cemento scritto in Java e trasportati a Actionscript3 . È abbastanza documentato, quindi non dovrebbe essere un problema per il trasporto in Javascript.

+0

Risorse molto buone, questo documento del primo collegamento è particolarmente utile: http://www.dgp.toronto.edu/people/stam/reality/Research/pdf/GDC03.pdf. La matematica è spiegata e viene fornito il codice C – Cbas