2009-11-23 26 views

Respuesta

12

La simulación de fluidos es un tremendo desafío para las computadoras de escritorio modernas, por lo que no esperaría el mayor rendimiento cuando intente hacer que funcione en un dispositivo móvil. Ejecutar los cálculos completos de Navier-Stokes en el iPhone probablemente va a funcionar bastante mal.

Sin embargo, en el pasado pude realizar simulaciones de modelado de fluidos 2-D en hardware limitado usando lattice gas automata. Con el autómata de gas de celosía, se aproxima a un fluido como una cuadrícula hexagonal fina, donde las partículas pueden viajar en una de las seis direcciones y obedecer las reglas de colisión específicas. Hay algunas limitaciones en este enfoque (abordadas por el Método Lattice Boltzmann), pero puede hacer un muy buen trabajo simulando fluidos, incluso compresores como el aire. Por qué esto funciona bien en un hardware limitado es que estos cálculos se pueden hacer usando operadores bit a bit y tablas de búsqueda simples, sin la necesidad de cálculos de coma flotante. Es posible que pueda hacer algo como esto funcione en el procesador del iPhone. Para obtener más información sobre esta técnica, puede consultar el Apéndice A de mi Ph.D. dissertation, donde explico el proceso y tengo un código fuente para un modelador de fluidos que escribí.

Dicho esto, si todo lo que quiere hacer es imitar la apariencia del agua en su aplicación, las respuestas a las siguientes preguntas proporcionan algunas buenas sugerencias:

+0

Autodesk Fluid es una simulación de fluidos de alto rendimiento libre de la tienda de aplicaciones. No sé cómo lo hicieron, pero es claramente posible. – willc2

+1

Supongo que es solo el algoritmo de fluidos estables de Jos Stam para la simulación de gas. Es razonablemente rápido para grillas 2D de baja resolución. http://www.dgp.toronto.edu/people/stam/reality/Research/pdf/GDC03.pdf – batty

+0

+1 para una respuesta tan buena. Stack Overflow es lo mejor. –

6

Acabo de lanzar un simulador de fluido iPhone que utiliza una partícula compresible en el método de la célula. Tengo un video aquí: http://www.youtube.com/watch?v=-CCeeh8EzuA

Un simulador de fluido incompresible requiere muchas iteraciones, por lo que utilizo un simulador compresible. Lo bueno es que si puedes hacer que un simulador compresible sea lo suficientemente estable, por lo general parece lo suficientemente incompresible.

Mi aplicación se llama GFlow en la tienda de aplicaciones si desea verla en acción.

+4

¿puedes compartir un código con nosotros? – Saurabh

+0

¿Desea compartir su código con la comunidad en github? –

4

Tengo el lanzamiento de dos aplicaciones para iPhone. Una aplicación resuelve las ecuaciones de Navier Stokes:

http://itunes.apple.com/us/app/fluid-dynamics/id382274493?mt=8

y la otra utiliza una partícula compresible en el método de la célula:

http://itunes.apple.com/us/app/liquid-dynamics/id417814216?mt=8&ls=1

se founde Una descripción de los métodos utilizados aquí:

http://www.infi.nl/blog/view/id/71/Navier_Stokes_iPhone_vs_iPad

y aquí:

http://www.infi.nl/blog/view/id/98/Liquid_on_iPhone_and_iPad