Вы находитесь на странице: 1из 6

Simulación de Fluidos

El siguiente capítulo describe cómo animar líquidos usando el simulador de fluidos integrado en
Blender a partir de la versión 2.40.

Ejemplo de animación de una presa rompiéndose.

Visión general del flujo de trabajo


• Al modelar una escena con Blender, ciertos objetos pueden ser marcados para participar en
la simulación de fluidos, por ejemplo como fluido, o como obstáculo. La caja envolvente de
otro objeto será usada para definir una región con forma de caja para simular el contenedor
del fluido.
• Los parámetros globales de la simulación tales como la viscosidad y gravedad pueden ser
establecidos para este objeto dominio.
• Utilizando el botón Bake (hornear), la geometría y los ajustes son exportados al simulador y
la simulación de fluidos se lleva a cabo, generando una malla de superficie junto con una
vista previa para cada fotograma de la animación, y guardándolos en disco.
• La superficie del fluido apropiada para cada fotograma es cargada desde disco y mostrada o
renderizada en Blender.
Las dos imágenes encima y debajo de este párrafo son un ejemplo de animaciones de fluidos
creadas con el simulador El'Beem en Blender (y renderizadas usando Yafray).

Otra animación de ejemplo de una gota cayendo.


Explicación de los Ajustes de GUI

Las opciones básicas (y necesarias frecuentemente) Opciones avanzadas necesarias con menos
de simulación de fluidos. frecuencia.
Volcado de pantalla de la GUI actual para un objeto dominio. Después de habilitar la simulación de
fluidos para un objeto, puede escogerse el tipo (dominio, fluido, obstáculo,...), dando más ajustes
para cada tipo.
Después de habilitar la simulación de fluidos para un objeto malla, están disponibles los siguientes
tipos de objeto:
• Domain (dominio): la caja envolvente de este objeto será el receptáculo de la simulación.
Note que la forma del objeto no importa (por lo que normalmente no habrá motivo para usar
otra forma que una caja). Si necesita obstáculos u otros receptáculos que no sean una caja,
debe insertar objetos obstáculo adicionales. Actualmente debería haber un único objeto
dominio de simulación de fluidos. Las longitudes de los lados de la caja envolvente pueden
ser diferentes.
• Resolution (resolución): La resolución a la que se realiza la simulación de fluidos. Es
probablemente el parámetro más importante de la simulación puesto que determina la
cantidad de detalle en el fluido, el uso de disco y memoria, así como el tiempo de
cálculo. Note que la cantidad de memoria necesaria se incrementa rápidamente: una
resolución de 32 requiere 5 MB, 64 requiere 40 MB, mientras 128 ya necesita más de
250 MB. Actualmente la resolución está limitada a 200 (850 MB), para evitar el
colapso de Blender debido al uso masivo de memoria. Si el dominio no es cúbico, la
resolución se tomará para el lado más largo. Las resoluciones a lo largo de los otros
lados serán reducidas de acuerdo a sus longitudes.
• Preview-Res.: Es la resolución a la que se generarán las mallas de superficie de
previsualización. Por lo tanto no influencia la simulación actual, e incluso si no se
visualiza nada en la previsualización, podría haber una fina superficie de fluido que
no puede ser resuelta en la previsualización.
• Start time (tiempo de inicio): Momento en la simulación (en segundos) del primer
fotograma de blender. Así, esta opción hace que la animación de Blender se inicie
más tarde en la simulación.
• End time (tiempo final): Momento en la simulación del último fotograma de blender.
• Disp.-Qual.: Cómo mostrar una simulación horneada en la GUI Blender (primer
menú desplegable) y en el render (segundo): geometría original, malla de
previsualización o malla final. Cuando no se encuentran datos horneados, se mostrará
la malla original por defecto.
• Directorio Bake (hornear): Directorio y prefijo de archivo con los que almacenar las
mallas de superficie horneadas. Es similar a los ajustes de salida de render, sólo que
la selección de archivo es un poco especial: al seleccionar cualquiera de las
superficies de malla previamente generadas (como
untitled_OBcube_fluidsurface_final_0132.bobj.gz), el prefijo
será establecido automáticamente (untitled_OBcube_ en este ejemplo). Así la
simulación puede realizarse varias veces con ajustes distintos, y permite cambios
rápidos entre los diferentes ajustes de los datos de superficie.
• Botón Bake: Lleva a cabo la simulación de fluidos actual. La GUI de Blender se
congelará y mostrará el fotograma simulado actualmente. Presionando ESCAPE se
abortará la simulación. Seguidamente dos .bobj.gz aparecerán en el directorio
seleccionado para cada fotograma.
• Botón Advanced (avanzado): Haciendo clic en este botón se mostrarán más opciones
avanzadas ,que normalmente no deben modificarse con mucha frecuencia.
• Gravity vector (vector de gravedad): Fuerza y dirección de la aceleración de
gravedad. Actualmente, la componente principal debería ir a lo largo del eje Z
negativo [m/s^2]. Actualmente no debería ser cero (por lo menos un número
pequeño).
• Viscosity (viscosidad): Viscosidad, es decir "grosor" del fluido. Puede bien
introducirse un valor directamente o usar uno de los preajustes. Para entrada manual,
el valor se especifica en punto flotante, que debería ser alrededor de 1.0 con
exponente negativo. Ello simplifica la entrada de números muy pequeños, puesto que
la viscosidad de por ejemplo el agua, es alrededor de 10 a la menos seis.
• Real-World size (tamaño mundo real): Tamaño del objeto dominio en el mundo real
en metros. Si desea crear un vaso de agua, ello podría ser 0.2 metros, mientras que
para una simple gota sería más adecuado un centímetro (así 0.01m). El tamaño
establecido aquí es para el lado más largo de la caja dominio envolvente.
• Gridlevel (nivel de rejilla): Cuántos niveles de rejilla adaptativa a ser usados durante
la simulación. Estableciéndolo a -1 se realizará la selección automática.
• Compressibillity (compresibilidad): Si tiene problemas con grandes regiones de
fluido estático a alta resolución, reducir este número puede ayudar (note que ello
aumentará el tiempo de cómputo).

• Fluid (fluido): Todas las regiones de este objeto que están dentro de la caja dominio
envolvente se usarán como fluido actual en la simulación. Si coloca más de un objeto Fluido
dentro del Dominio, no deberían interseccionar. Asegúrese también de que las normales de
superficie están apuntando hacia fuera. A diferencia de los objetos dominio, la geometría de
la malla actual es usada para los objetos fluido.
• Initial velocity (velocidad inicial): Velocidad del fluido al inicio de la simulación en
metros por segundo.

• Obstacle (obstáculo): Este objeto se usará como obstáculo en la simulación. Como con los
objetos fluido, la geometría de malla actual es utilizada para los obstáculos.
• Sin ajustes actualmente...

• Inflow (flujo de entrada): Este objeto añadirá fluido a la simulación (piense en un grifo de
agua).
• Initial velocity (velocidad inicial): Velocidad del fluido que se crea dentro del objeto.

• Outflow (flujo de salida): Cualquier fluido que entra en la región de este objeto será borrado
(piense en un desagüe). Puede ser útil en combinación con el flujo de entrada para evitar el
desbordamiento del objeto dominio.
• Sin ajustes aquí...

Información general de fondo


La animación de fluidos puede tomar mucho tiempo. Cuanto mejor comprendamos cómo funciona,
más fácil resultará estimar cómo serán los resultados. El algoritmo utilizado en este proyecto es el
Lattice Boltzmann Method (LBM); hay otras aproximaciones, como los solucionadores Navier-
Stokes (NS) y los métodos Smoothed Particle Hydrodynamics (SPH). Puede asumirse el LBM
como a medio camino entre los otros dos. En general es muy duro para los ordenadores simular
correctamente incluso un tanque de agua de 1 metro. Para simular una ola rompiendo contra una
ciudad, se necesitaría probablemente uno de los superordenadores más caros que pudiéramos
conseguir, y aún y así podría no funcionar adecuadamente (independientemente de cuál de los 3
algoritmos anteriores usáramos). Pero de forma similar a lo que los cineastas han estado haciendo
en películas "analógicas" durante años, podemos pretender tener una ola en una ciudad
construyendo un modelo menor, poner una ola pequeña en el modelo, y esperar que nadie se dé
cuenta de la diferencia entre una ola de 100m y una de 1m.
Para el solucionador LBM, las siguientes cosas harán que la simulación sea más dura de calcular:
• dominios largos
• larga duración
• viscosidades bajas
• altas velocidades
La viscosidad del agua es ya realmente baja, por lo que especialmente para resoluciones bajas, la
turbulencia del agua no puede ser capturada correctamente. Si nos fijamos atentamente, la mayoría
de las simulaciones de fluidos en gráficos por ordenador no parecen agua real todavía hasta ahora.
En general, no confíe demasiado en los ajustes físicos (tal como tamaño físico del dominio, o
duración de la animación en segundos). Más bien intente conseguir el movimiento general correcto
con una resolución baja, y luego incremente la resolución tanto como sea posible o deseable.
Notas/FAQ/Problemas conocidos
• No se sorprenda, pero se encontrará con un amplio
abanico de archivos de malla (.bobj.gz) después de
la simulación; básicamente 2 por fotograma.
Contienen el resultado de la simulación, así que los
necesitará. Actualmente estos archivos no serán
borrados automáticamente, por lo que es una buena
idea crear una carpeta dedicada a almacenar los
resultados de la simulación. Hacer una simulación
de fluidos es similar a hacer clic en el botón ANIM:
debe preocuparse de organizar las mallas de
superficie de fluido usted mismo. Si quiere dejar de
utilizar la simulación de fluidos puede simplemente
eliminar todos los archivos *fluid*.bobj.gz.
• Si la configuración parece no funcionar asegúrese de
que todas las normales son correctas (en modo
edición, seleccione todo, y recalcule las normales a
un tiempo).
• Antes de ejecutar una simulación a alta resolución
que puede tomar horas, repase la animación entera
mediante ejecuciones a resoluciones más bajas.
• En los objetos dominio sólo se utiliza la caja
envolvente, pero los objetos fluido y obstáculo
pueden ser mallas con geometrías complejas. Si son
muy finos podrían no aparecer, sin embargo, si la
resolución elegida es demasiado ruda para
resolverlos (incrementarla podría solucionar el
problema).
• Actualmente hay un problema con la simulación con
gravedad cero. Simplemente seleccione una unidad
de gravedad muy pequeña hasta que se solucione.
• Note que todos los parámetros animados u objetos
no son tomados en consideración durante la
simulación. Sólo se utiliza la configuración inicial
en el fotograma 1, pero será posible en futuras
versiones.
• Blender se congela después de pulsar BAKE: Otro ejemplo de simulación de fluidos
presionando ESC vuelve a hacerlo funcionar, creado con Blender y Yafray
después de un lapso de tiempo (ello puede suceder si
la resolución es muy grande y la memoria es
intercambiada en disco, haciéndolo todo
horriblemente lento. Reducir la resolución debería
ayudar en este caso.
• Blender se cuelga al presionar BAKE: esto puede
pasar si la resolución es realmente alta y se usan más
de 2GB, causando el colapso de Blender. Reducir la
resolución debería ayudar también...
• Las mallas deberían ser cerradas, así que si alguna
parte de por ejemplo un fluido no son inicializadas
como fluido en la simulación, asegúrese de que
todas las partes de vértices conectados son mallas
cerradas. Por desgracia, la malla Suzanne (mono) de
Blender no es una malla cerrada (los ojos están
separados).
• Si experimenta problemas, o algo no funciona como
usted piensa que debería funcionar, envíe el
archivo .blend y una descripción del problema a nils
arroba thuerey punto de.

Вам также может понравиться