2011-02-04 18 views
10

Estoy tratando de escribir un simulador dinámico de fluidos en el lienzo HTML5. He encontrado algunas cosas real damn coolon the internets que siempre se ven como un punto de partida prometedor, pero todas están basadas en células y usan algunas matemáticas locas.Simulación dinámica de fluidos, con obstáculos

Me gustaría poder agregar obstáculos arbitrarios (líneas de cualquier orientación, círculos, etc.) para hacer las cosas más interesantes, pero no tengo idea de dónde comenzar.

¿Alguien sabe de algunas ecuaciones bastante simples para la simulación de fluidos que incluyen obstáculos de cualquier orientación? Alternativamente, ¿podría alguien señalarme las matemáticas necesarias para tomar uno de los ejemplos anteriores y agregar obstáculos?

Sé que esta pregunta raya en algo que debería preguntarle a mathoverflow, pero parecen estar más en la teoría. Disculpas si estoy en el área incorrecta. Realmente no sé por dónde empezar, si alguien ha trabajado en la simulación de fluidos con obstáculos arbitrarios antes, podría usar algunos punteros.

La precisión deja atrás la simplicidad aquí.

Gracias!

+2

Lo siento, pero esto es algo donde lo más cercano que vas a hacer sin entender las matemáticas, es copiar y pegar el código de otra persona. –

Respuesta

12

La dinámica de fluidos no es un tema simple. Toda esa "teoría" que les gusta en el otro sitio es simplemente la forma en que funciona este campo.

El ejemplo más simple de flujo de fluido es 2D, incompressible, irrotational, laminar flow. Comenzaría por investigar eso.

Pero no es un campo fácil. No hay libros "Enséñate dinámica de fluidos computacional en diez días" por ahí.

+6

Me encantaría saber quién votó y por qué. – duffymo

7

El mejor libro para leer para la introducción a la simulación de fluidos orientada a gráficos es "Simulación de fluidos para gráficos de computadora" por Robert Bridson (descargo de responsabilidad: fue mi asesor de doctorado). http://www.cs.ubc.ca/~rbridson/fluidbook/

En última instancia, hay mucha matemática involucrada, pero también hay muchos ejemplos de código para aclarar las cosas para los menos inclinados a las matemáticas.

Cubre principalmente el enfoque basado en células que mencionaste. La otra alternativa principal es "hidrodinámica de partículas suavizadas" o SPH. Matthias Muller tiene algunos documentos sobre esto si está buscando comenzar.

+0

+1 - Esto parece un buen libro. Te consideraría una autoridad en este tema si eres el C. Batty que se cita como trabajo futuro desde 2008 que debería agregarse. Muy bueno de verdad. Gracias por llamar mi atención. Lo agregaré a mi backlog "debería leer". He descargado la cita del papel de flujo de superficie libre. Me aseguraré de leerlo cuidadosamente. – duffymo

-1

Lo he intentado y para hacerte saber que hay una parte importante de la simulación de Fluidos de cualquier tipo llamada Proyección que es computacionalmente extensa incluso en CPU, lleva mucho y es posible que sepas que JavaScript es bastante lento por muchas razones .

3

Si no te preocupa la precisión real, pero solo quieres algo swooshy y genial, desarrollé una simulación basada en presión muy simple que ofrece una interfaz interactiva muy rápida en Javascript. Puedes verlo here.

+0

esto es genial. Nota rápida para los demás de que tienes que hacer clic en la pantalla negra para que reaccione a la perturbación. – prototype

3

Aquí está una lista bastante decente de todo lo que necesita saber acerca de la dinámica de fluidos y simulación: http://www.dgp.toronto.edu/~stam/reality/Research/pub.html

también usted debe comprobar this sitio, donde se puede encontrar el código fuente concreta escrito en Java y se transporta a ActionScript3 . Está bastante documentado, por lo que no debería ser un problema para transportar a Javascript.

+0

Muy buenos recursos, este documento de su primer enlace es particularmente útil: http://www.dgp.toronto.edu/people/stam/reality/Research/pdf/GDC03.pdf. Las matemáticas se explican y se proporciona el código C – Cbas