Lancha motora a toda velocidad por el mar

Lancha motora a toda velocidad por el mar. FLIP Solver de Houdini es capaz de simular océanos, mares y cualquier tipo de líquido de manera más que convincente.

El artista de ArchViz y Houdini Vu Pham, ha publicado una simulación de FX con una embarcación a toda velocidad por el mar. La simulación presenta la superficie del agua en sí, las olas, la niebla y las salpicaduras gigantescas creadas por la lancha motora. Según el artista, esto es solo una demostración de WiP y el proyecto se perfeccionará aún más en el futuro. La demostración en video que adjuntamos, muestra la simulación en sí misma y el aspecto de Dev Shader en niebla, aerosol y olas del océano.

La descripción del proyecto indica que la simulación se ha realizado en Houdini. Específicamente, el autor ha utilizado el nodo dinámico FLIP Solver de Houdini. La herramienta del software que actúa como un híbrido entre simulaciones de fluidos; basadas en partículas y en volumen. El artista ha utilizado Adobe After Effects y Arnold Render para la representación.

El FLIP Solver DOP evoluciona un objeto dinámicamente como un fluido de partículas

Un solucionador FLIP es un tipo de híbrido entre simulaciones de fluidos basadas en partículas y en volumen. Todos los datos del fluido se almacenan en las partículas; y solo las partículas que deben persistir fotograma a fotograma. Lo que garantiza que no se pueda producir una mezcla no deseada o la pérdida de fluido. Sin embargo, el paso de proyección de presión se realiza en un volumen que se crea en el momento preciso. El fluido está representado por partículas y se puede mover con fuerzas POP y DOP PScale.

Cuando se resuelven los fluidos FLIP, se crea un campo de velocidad temporal. Las velocidades de las partículas se transfieren a esta cuadrícula y la rejilla se utiliza para realizar la proyección del fluido. Esto es lo que evita que todas las partículas vayan una encima de la otra y empiecen a moverse en direcciones similares. Los usuarios avanzados también pueden agregar fuerzas de velocidad de volumen en esta etapa del proyecto.

Los fluidos FLIP son más rápidos que los fluidos SPH, si no necesitas salir el fluido FLIP. Si necesitas salir del fluido FLIP debido a los colisionadores de movimiento rápido, puedes encontrar SPH igual de rápido o más. Los fluidos FLIP también son útiles porque las partículas se pueden colocar una encima de la otra sin desestabilizar el sistema. SPH tiende a explotar si mueve las partículas demasiado cerca.

Lancha motora a toda velocidad por el mar
Lancha motora a toda velocidad por el mar

Ventajas de FLIP Solver sobre SPH

La ventaja del FLIP Solver es que se ejecuta con solo unos pocos pasos de tiempo por cuadro; mientras que SPH requiere entre 7 y 20 pasos de tiempo o más por cuadro para estabilizarse. FLIP utiliza algunas cuadrículas llamadas campos de volumen para ayudar a domar los impulsos instantáneos que pueden surgir en un simulador fluido.

Se utilizan varios campos para domar el FLIP Solver para que pueda ejecutar muchos menos puntos en muchos menos pasos de tiempo y el inter-espaciamiento entre partículas puede ser aleatorio. Puede introducir nuevas partículas en cualquier momento con poca o ninguna consecuencia. Esto abre nuevos flujos de trabajo en COP que no son posibles con SPH. Por ejemplo, ahora es posible introducir partículas de salpicadura con sus propios atributos de propiedad.

El FLIP Solver contiene un POP Solver incorporado, lo que permite el uso de fuerzas POP conectándolas a la entrada de velocidad de partículas o en línea debajo de cualquier fuente de volumen de emisores. Se puede usar cualquier nodo POP que actualice el atributo, o atributos, así como otros que afecten a atributos como el color de las partículas o la edad. El POP Solver también es compatible con el comportamiento de otras partículas, como el envejecimiento y la variación de partículas.

FLIP (Splashy) vs APIC (Swirly)

El parámetro Velocity Transfer permite elegir entre el FLIP predeterminado y un APIC. FLIP se usa típicamente para simulaciones FLIP grandes y ruidosas de alta energía, como ríos u océanos, donde la superficie del ruido FLIP no es un problema. APIC se utiliza normalmente para simulaciones de alta vorticidad en las que es necesario reducir el ruido de la superficie tanto como sea posible sin dejar de conservar la naturaleza arremolinada de la simulación. Por ejemplo, para fluidos a pequeña escala donde el ruido de la superficie puede distraer realmente o para simulaciones de tipo lava. Todas las herramientas de viscosa utilizan el método APIC de transferencia de velocidad.

Para emitir un gran número de partículas, el DOP de origen del volumen puede ser mucho más rápido que el emisor de fluido de partículas DOP. Podemos configurar la emisión superficial utilizando el botón Origen de Surface o emisión volumétrica utilizando la fuente del volumen desde el menú Populate Containers.

Si la escena se modela en unidades además de metros, debemos asegurarnos de establecer la escala espacial correctamente. De lo contrario, el FLIP Solver ajustará las posiciones de las partículas con más precisión de la requerida para la escala de escena. La degradación del rendimiento resultante afecta principalmente a la resiembra y al método de detección de colisiones Move Outside Collision.

Desactivar el uso de pre-acondicionador podría mejorar el rendimiento de la resolución si se simula en un sistema con varios núcleos de CPU.

Lancha motora a toda velocidad por el mar
Lancha motora a toda velocidad por el mar

Monitor de rendimiento de Windows

Debemos utilizar el Monitor de rendimiento para detectar cuellos de botella en nuestras simulaciones FLIP. En general, FLIP Solver debe consumir la mayor parte del tiempo de resolución para una red DOP típica. Si la emisión de partículas está tomando una gran cantidad de tiempo, debemos considerar el uso de fuente de volumen emisión como hemos comentado anteriormente; y posiblemente incluso el almacenamiento en caché de los puntos creados por el correspondiente SOP de origen FLIP.

Si se escriben grandes simulaciones FLIP en el disco utilizando el comando SOP de E/S DOP, debemos guardar en segundo plano para permitir que la simulación continúe mientras las escrituras de disco se producen en segundo plano. Eliminar cualquier atributo innecesario mediante la pestaña Compresión también ahorrará espacio en disco y tiempo de escritura. Podemos habilitar la resiembra para ayudar a preservar los detalles de la superficie, posiblemente aumentando el sobremuestreo de superficie a 2 o más.

Los campos de velocidad están muy borrosos y tienen un umbral para grandes cambios en la velocidad, lo cual es completamente ajustable si el solucionador FLIP parece estar saturado. El campo de presión se utiliza para monitorizar cualquier área de muy alta y muy baja presión y luego el fluido SIM puede compensar los campos de velocidad que luego empujan los puntos. Aquí es donde se gestionan en gran medida los controles para la cavitación, el aire atrapado y el escape de fluidos. El campo superficie se puede usar para probar si algunas partículas han volado demasiado lejos de la superficie y luego se han restringido hacia atrás.

Separar las partículas aumentará la velocidad de proceso en FLIP Solver

Aumentar la separación de partículas reducirá la resolución, lo que hará que su simulación sea más rápida de procesar. Por lo general, no necesitaremos aumentar los sub-pasos con FLIP. Sin embargo, es posible que queramos aumentar este valor al simular fluido de movimiento rápido que choca con otros objetos. También podemos aumentar los subpasos para mejorar el aspecto del fluido viscoso de movimiento lento. La tensión superficial es una excepción en la que es probable que se requiera un subviraje para mantener la estabilidad.

Podemos variar las cantidades de adherencia a diferentes objetos, construyendo nuestro propio campo pegajoso. El SOP de atributos de rasterización de volumen se puede usar para tomar un atributo concreto y convertirlo en un volumen variable donde queremos que ocurra la adherencia. Luego, en el solucionador, podemos usar este campo como campo de control para la función Stick On Collision en la pestaña Colisiones del solucionador.

Una buena regla general de depuración para FLIP cuando se ve un comportamiento de colisión inesperado es habilitar inmediatamente la visualización de la velocidad de colisión y colisión en el FLIP (objeto). De esa forma podemos ver exactamente lo que el solucionador está viendo para ejecutar las colisiones.

Al desactivar las partículas de resiembra y tener la escala de fluctuación establecida en 0, se obtiene una cuadrícula de partículas espaciadas uniformemente. Esto generalmente no se recomienda, porque no terminará llenando los vóxeles eficazmente como con los puntos nerviosos; y a medida que se muevan obtendrá una distribución desigual debido a un error numérico. Especialmente con las partículas de resiembra desactivadas.

Lancha motora a toda velocidad por el mar
Lancha motora a toda velocidad por el mar

Consejos de colisión con FLIP Solver

Las velocidades precisas para objetos de colisión en movimiento son extremadamente importantes para las simulaciones de fluidos en general, pero particularmente para FLIP. Las velocidades de colisión incorrectas pueden provocar salpicaduras menos dinámicas o fugas de fluido a través de la geometría. Para que los DOP calculen velocidades de colisión precisas con objetos DOP en movimiento o deformación, el Red DOP debe tener habilitada la simulación de caché.

Sin embargo, con simulaciones FLIP muy grandes, es posible que los datos del objeto FLIP configuradas para un solo paso de tiempo no quepan en la memoria caché. En este caso, debemos deshabilitar el almacenamiento en caché en el FLIP (objeto). Con eso eliminamos los datos FLIP de la memoria caché, sin dejar de almacenar en caché los objetos de colisión.

Muchas simulaciones FLIP utilizan dos o más subpasos. Para deformar objetos de colisión, debemos asegurarnos de que la geometría de entrada interpole correctamente en subtramas. La Fuente de colisión SOP controla la interpolación de la geometría y la creación de volúmenes de distancia con signo de VDB que se pueden usar con FLIP. Debemos utilizar el botón Deforming (objeto); para configurar la geometría de deformación como un objeto de colisión FLIP.

Otra opción para agregar objetos de colisión a las simulaciones de fluidos es el Colisionar con el objeto herramienta; que agrega volúmenes de colisión directamente a la simulación utilizando la fuente de volumen DOP. Sin embargo, a partir de Houdini 14, esta opción está en desuso y no se recomienda. En su lugar, podemos utilizar el botón Deforming (objeto).

Escala y velocidad de partículas en FLIP Solver

Si utilizamos colisiones basadas en fuentes de volumen, debemos utilizar el método mover fuera de la colisión para colisiones de partículas, ya que el método Particle solo funciona cuando una colisión está representada por un objeto DOP real. La escala de velocidad predeterminada para el origen de volumen es 1.5, lo que causará salpicaduras más grandes de forma predeterminada. Pero para mover contenedores, debemos establecer este parámetro en 1.

En algunos casos, especialmente con objetos de colisión delgados, el FLIP Solver puede no resolver la colisión correctamente cuando se simula a resoluciones relativamente bajas. Habilitación de la separación por colisión en el FLIP (objeto) y establecer este valor en la separación de partículas o más pequeño creará un campo de colisión de mayor resolución que ayudará al solucionador a resolver mejor la colisión. Con objetos muy delgados, es posible que incluso deba crear una geometría de colisión proxy que genere un SDF más grueso.

Move Outside Collision es el método de manejo de colisiones más rápido y proporciona las salpicaduras más suaves, sin embargo, no es tan preciso con la geometría de colisión de movimiento rápido. También es el único método de colisión que funciona con colisiones basadas en Volume Source.

ejemplo de FLIP Solver
ejemplo de FLIP Solver

Parámetros disponibles en FLIP Solver

Escala de tiempo: Un factor de escala para el tiempo dentro de este solucionador es la velocidad normal. Si es mayor hace que la simulación FLIP parezca acelerada. Si es menor hace que la simulación parezca estar en cámara lenta.111

Podemos utilizar funciones de expresión como doptime; dopframe, dopsttot, y dopttost para convertir entre tiempos globales y tiempos de simulación.

Cambiar la escala de tiempo solo afecta al paso de tiempo de la simulación. Si añadimos velocidades calculadas en SOP a la simulación para colisiones o bombas con el DOP de origen de volumen, escala las velocidades entrantes para que coincidan con el paso de tiempo de la simulación.1/timescale

Subpasos mínimos: El solucionador FLIP Solver siempre hará cumplir este número mínimo de subpasos. Esto solo debería necesitar ser cambiado en raras ocasiones.

Subpasos máximos: El solucionador FLIP Solver no dividirá la simulación en más subpasos que este valor.

Condición de CFL: La condición CFL es un factor utilizado para determinar automáticamente qué tamaño requiere la escena. La idea es controlar la distancia que una partícula en el objeto fluido de partículas puede viajar en un subpaso dado.

A tener en cuenta en los parámetros de FLIP Solver

Por ejemplo, cuando este parámetro se establece en 0.5; el solucionador establecerá la longitud de cada subpaso de tal manera que ninguna partícula viaje más del 50% de su separación de partículas en un subpaso dado.

CFL de advección de partículas: La condición CFL para la advección de partículas. Esto se puede establecer más bajo que la condición CFL para todo el solucionador. Ya que solo afecta la precisión de la advección de partículas en el campo de velocidad.

Quantize a Max Substeps: Utiliza subpasos que dividen el fotograma por Max Substeps. Por ejemplo, si Max Substeps lo establecemos en 4, pero la condición CFL solo requiere 3 subpasos. FLIP Solver tomará pasos de fotograma de 0.25, 0.5 y 0.25. Esta opción puede ser útil para reutilizar la geometría de entrada que se ha almacenado en caché en el archivo en incrementos de 1/Max Substeps.

Movimiento de partículas en FLIP Solver

Seguimos con el ejemplo para crear una lancha motora a toda velocidad.

Apply External Forces: Fuerzas DOP estándar, como la gravedad de un DOP de gravedad, se aplicará a las partículas. Esto solo se desactivaría si está combinando FLIP Solver como parte de un sistema de solucionador más grande.

Force Override: Si está habilitado, este atributo desactivará las fuerzas de volumen donde sea 1 en las partículas y lo habilitará cuando esté en 0. Es decir, las partículas con este atributo en 1 volarán balísticamente sin referencia a otras partículas. Sin embargo, su movimiento aún afectará a otras partículas que tienen fuerzas de volumen.

Under-Resolved Particles: Dependiendo de los valores de la escala de radio de partículas y la escala de cuadrícula de volumen en el DOP de objeto FLIP, las partículas individuales pueden quedar sub-resueltas en la rejilla y «desaparecer» de la resolución de presión. Este parámetro controla cómo el solucionador trata tales partículas:

Sin detección: No intente detectar partículas poco resueltas.

Detectar sólo: Establezca un atributo con valor flotante en cada partícula que indique la cantidad que está resuelta solo en parte.

Tratar como balístico: Establecemos el atributo y lo combinamos con cualquier atributo Force Override especificado para determinar si la partícula debe tratarse balísticamente; o como un fluido no resuelto o resuelto parcialmente.

Usar velocidad extrapolada: Utilizamos la velocidad del fluido si una partícula esta fuera del rango de valores extrapolados válidos especificados por Max Cells para extrapolar. Para partículas fuera del rango válido, esta configuración es la misma que Tratar como balística. Esto reducirá la fibrosidad en las salpicaduras.

Kill: Mata cualquier partícula no resuelta o resuelta parcialmente.

Si la escala de radio de partículas o escala de cuadrícula > = sqrt(3) / 2; las partículas nunca estarán sub-resueltas.

FLIP Solver fluidos adaptativos
FLIP Solver fluidos adaptativos

Detección de colisiones entre partículas y otros objetos

Ninguno: No realice la detección de colisiones de partículas. Las partículas solo evitarán colisiones como resultado de la resolución de la presión. Pero debido a un error numérico pueden terminar dentro de los objetos de colisión.

Partícula: Realiza la detección de colisiones de partículas, incluida la retroalimentación entre partículas y otros objetos simulados. Este método de colisión también admite la fricción y el rebote. Es el método de colisión más preciso, pero más lento.

Mover fuera de la colisión: Realiza la detección de colisiones moviendo partículas fuera de cualquier objeto de colisión. Esto es más rápido que el método de partículas, pero no tan preciso para objetos delgados o de movimiento rápido.

Matar partículas inmovilizables: Elimina las partículas que se queden atascadas dentro de la SDF de colisión (en mínimos locales); cuando utilizamos el manejo de colisiones Mover fuera de la colisión.

Comportamiento de FLIP Solver

Seguimos con el ejemplo para crear una lancha motora a toda velocidad.

Colisionar con los límites de volumen: Para límites cerrados como se especifica en el cuadro de diálogo DOP de objeto FLIP; las partículas estarán limitadas para permanecer dentro de las extensiones de los volúmenes como se especifica en la pestaña Límites de volumen. Esta configuración es útil para simulaciones de fluidos cerrados de tipo tanque o pecera.

Eliminar fuera de los límites de volumen: Mata cualquier partícula fuera de los límites de volumen.

Usa la fricción y el rebote: Habilita la compatibilidad con la fricción y el rebote de partículas como se especifica en la ficha Físico de la DOP de objeto FLIP. Solo se habilita si detección de colisiones está establecida en Partícula.

Agregar atributo ID: Agrega un atributo ID único a cada partícula.

Partículas de edad: Envejece las partículas con el tiempo.

Cosechar partículas: Mata cualquier partícula cuyo atributo de edad sea mayor que su atributo de vida.

Eliminar atributos: Elimina los atributos internos que normalmente no son necesarios en el resultado de la simulación. La eliminación de un atributo de esta lista asegurará que exista al final del paso de tiempo.

Resiembra de partículas en FLIP Solver

Partículas de resiembra: Crea nuevas partículas en vóxeles donde el recuento de partículas haya caído demasiado bajo para representar adecuadamente la superficie del fluido; y elimina las partículas en vóxeles que se han llenado demasiado. La resiembra puede ayudar a evitar el colapso de bolsas de aire que se forman en el fluido cerca de las colisiones; así como proporcionar una superficie más lisa a partir de la cual generar una malla poligonal.

Partículas por vóxel: El número objetivo de partículas por vóxel.

Sobremuestreo de superficie: El número objetivo de partículas se escalará en esta cantidad cuando se encuentre dentro del ancho de banda de sobremuestreo de la superficie.

Ancho de banda de sobremuestreo: Sobremuestreo dentro de este número de vóxeles de la superficie o de cualquier límite de volumen de superficie; si sobremuestreo en Límites está habilitado.

Sobremuestreo en los límites: Sobremuestreo dentro de los vóxeles de ancho de banda de sobremuestreo de los límites de volumen de fluido. Esta configuración ayuda a evitar el colapso de bolsas de fluido en los límites de una simulación de tipo tanque o pecera.

Umbral de nacimiento: Las partículas se agregarán a un vóxel una vez que el número actual caiga por debajo del producto de este parámetro y el número objetivo de partículas.

Umbral de muerte: Las partículas se eliminarán de un vóxel una vez que el número actual se eleve por encima del producto de este parámetro y el número objetivo de partículas.

Redistribución de partículas en FLIP Solver

Semilla aleatoria: Una semilla que controla la función aleatoria variable en el tiempo utilizada para generar nuevas posiciones de partículas al volver a sembrar. Debido a que las salpicaduras de alta frecuencia en una simulación están fuertemente influenciadas por las posiciones de las partículas. Variando este valor; por ejemplo, con un ROP de cuña puede generar múltiples simulaciones con un movimiento masivo similar. Pero un comportamiento de salpicadura diferente a partir de parámetros de simulación idénticos.

Interpolar atributos: Todos los atributos que coincidan con este patrón se interpolarán a las partículas recién sembradas de las partículas existentes circundantes. Esta interpolación es más costosa que la copia predeterminada del vecino más cercano; pero produce un muestreo de partículas más suave para atributos como la velocidad. Por ejemplo, el atributo podría agregarse a esta lista para fluidos que hacen una transición suave entre la fusión o la congelación. Debe omitirse para fluidos multifásicos con valores de viscosidad distintos.

Establecer los diversos valores de resiembra demasiado altos puede llevar a que el fluido gane volumen con el tiempo en simulaciones de fluidos muy llamativas. La disminución de la escala de radio de partículas o el umbral de muerte puede reducir el volumen al hacer que los vóxeles superpoblados se poden antes. Disminuir la cantidad y/o el ancho de banda del sobremuestreo de Surface también puede ayudar a aliviar este problema.

FLIP Solver colisión de fluidos - Lancha motora a toda velocidad
FLIP Solver colisión de fluidos – Lancha motora a toda velocidad

Importancia de la separación entre las partículas

Aplicar separación de partículas: A pesar de la etapa de proyección de velocidad, las partículas pueden terminar más juntas que su atributo. Cuando esto sucede, las fuerzas internas no pueden separar las partículas porque la proyección de velocidad eliminará esas fuerzas. Esto da como resultado que el fluido se comprima con el tiempo.

Iteraciones de separación: El número de veces que se realiza el paso de relajación de separación. Este valor generalmente se puede establecer en 1; ya que los fotogramas sucesivos de separación tendrán el mismo efecto.

Tasa de separación: Qué tan lejos mover las partículas hacia sus ubicaciones de separación deseadas. Esto se puede reducir para obtener el efecto de una iteración fraccionaria.

Escala de separación: Un factor de confusión para explicar la incapacidad de las partículas para empacar realmente en la cantidad debido al problema de empaquetamiento de esferas. Para probar diferentes valores, ejecutamos una solución FLIP Solver sin ningún volumen o fuerzas de partículas; y veamos qué valores hacen que las partículas iniciales retengan el volumen deseado.

Gotas de agua con fluido principal

Detectar gotitas: Identifica las partículas que se separan del cuerpo principal de fluido a través de un atributo de flotador que varía de 0 a 1. A medida que una partícula se acerca al estado de gota completa, estará menos influenciada por las fuerzas del fluido.

Una partícula completamente caída tampoco contribuye a la velocidad de vuelta a la simulación de fluidos. Lo que puede aliviar el problema de las partículas individuales que caen causando perturbaciones irrealmente grandes en una superficie fluida lisa. Habilitar las gotas también puede romper los zarcillos en el borde delantero de las salpicaduras, dándoles un aspecto más difuso.

Densidad mínima de partículas: Una partícula tiene un valor de gota de 1 (gota); cuando la densidad de partículas del fluido circundante está por debajo de este valor.

Densidad máxima de partículas: Una partícula tiene un valor de gota de 0 (fluido); cuando la densidad de partículas del fluido circundante está por encima de este valor.

Comportamiento: Controla el manejo de partículas de gotas.

Mezclar con fluido: Cuando una partícula completamente de gota se vuelva a unir al fluido, hace de su velocidad una mezcla entre la velocidad de la gota y la velocidad del fluido existente. Como se especifica en el parámetro Mezcla de velocidad.

Seguimos con los parámetros para las gotas de agua

Matar en la detección: Mata inmediatamente cualquier partícula completamente gotita.

Matar en el fluido: Mata cualquier partícula completamente gotita que se vuelva a unir al fluido.

Mezcla de velocidad: Controla la mezcla entre la velocidad de las partículas de gotas y la velocidad del fluido cuando Behavior se establece en Blend With Fluid.

Vorticidad de las partículas para lancha motora a toda velocidad

Agregar atributo de vorticidad: Calcula la vorticidad del campo de velocidad del fluido y mézclelo en el atributo de las partículas.

Tasa de conservación: La cantidad de medición de vorticidad existente en las partículas a preservar por segundo antes de mezclar en el valor calculado actual. Por ejemplo, un valor de 0,1 retendrá el 10% de la medición de vorticidad durante un segundo.

Método Mix: Cómo combinar la vorticidad calculada con el valor de atributo existente.

Escala de vorticidad: Escala aplicada a la vorticidad calculada.

Vorticidad de las partículas - Lancha motora a toda velocidad
Vorticidad de las partículas – Lancha motora a toda velocidad

Reposo de las partículas para lancha motora a toda velocidad

Agregar atributo Rest: Crea un atributo que se puede utilizar para realizar un seguimiento de la posición del fluido a lo largo del tiempo. Lo activamos para mapear el ruido o las texturas en el sombreador líquido.

Atributos de doble reposo: Crea un atributo que está a uno del atributo principal. Lo que le nos permite ejecutar simulaciones más largas sin aparecer al mezclar entre los dos atributos.

Fotogramas entre reinicios: Número de fotogramas antes de restablecer el resto de atributos.

Desvío de fotograma: En qué fotograma se restablecerán los atributos restantes. Si está pre-calculando la simulación, retrasar la inicialización del atributo REST hasta después del pre-cálculo dará un mejor resultado.

Movimiento de volumen para lancha motora a toda velocidad

Transferencia de velocidad: Especifica el método utilizado para transferir la velocidad de las partículas a la cuadrícula subyacente antes de resolverlas y, a continuación, volver a las partículas.

FLIP (Splashy): Transfiere el cambio en la velocidad de la resolución a las partículas, junto con una pequeña porción de la velocidad de corriente según lo especificado por el parámetro Velocity Smoothing. Este método ofrece simulaciones llamativas y de alta energía; pero también puede introducir ruido en la superficie que puede distraer a pequeña escala o fluidos viscosos.

APIC (Swirly): Transfiere el campo de velocidad directamente a las partículas utilizando atributos adicionales para preservar el momento angular del fluido. Este método retiene bien los vórtices con ruido reducido en la superficie, produciendo simulaciones de remolinos con menos salpicaduras. Estas pueden ser efectivas a pequeña escala o alta viscosidad.

Radio de transferencia en el volumen

En este caso, el radio de transferencia se basa en el tamaño del vóxel, por lo que se utilizan vóxeles más pequeños configurando la escala de cuadrícula en el FLIP (objeto) a 1.5 puede ayudar a retener pequeños detalles fluidos. Debido al mayor radio y atributos adicionales, este método es más lento y utiliza más memoria que el Splashy Kernel. Además, las opciones de partículas no resueltas están deshabilitadas para este método; ya que las partículas siempre se resolverán completamente en la cuadrícula.

El Splashy Kernel corresponde al método FLIP/PIC de transferencia de velocidad, mientras que el Swirly Kernel se implementa con el método APIC más nuevo.

Escala de fuerza: El resultado de la proyección de velocidad es un cambio sugerido en la velocidad de las partículas. La escala de fuerza le permite escalar este cambio. Un valor de 1 actualizará las partículas a la nueva velocidad deseada, 0 las dejará sin cambios.

Suavizado de velocidad: Las partículas pueden actualizarse con el cambio en la velocidad determinada por la proyección; o actualizarse con la nueva velocidad real de la proyección. Esto último hace que las velocidades de las partículas se suavizan a medida que comparten más de sus velocidades con sus vecinos.

Superficies lancha motora a toda velocidad

Actualizar Surface: Controla cómo se actualiza el SDF de superficie al final de cada subpaso para que coincida con las posiciones de las partículas.

Ninguno: No actualice el SDF de superficie.

Advecto: Advectar la superficie SDF a través del campo de velocidad. Este es el más rápido que Rebuild, pero menos preciso.

Reconstruir: Reconstruir toda la superficie SDF a partir de las partículas. Este es el método más preciso, pero también el más lento.

Dado que las posiciones de las partículas se actualizan en último lugar en el orden de resolución, el SDF de superficie se retrasará ligeramente por detrás de las posiciones de las partículas si Actualizar superficie se establece en Ninguno.

Velocidad de actualización: Controla cómo se actualiza el campo de velocidad al final de cada paso de tiempo para que coincida con las posiciones de las partículas.

Ninguno: No actualiza el campo de velocidad.

Advecto: Advectar el campo de velocidad a través de sí mismo. Este es el más rápido que Rebuild, pero menos preciso.

Reconstruir: Reconstruye todo el campo de velocidad a partir de las partículas. Este es el método más preciso, pero el más lento.

Debido a que las posiciones de las partículas se actualizan en último lugar en el orden de resolución, el campo de velocidad se retrasará ligeramente por detrás de las posiciones de las partículas si la velocidad de actualización se establece en Ninguno.

Límites de volumen para lancha motora a toda velocidad

Si las partículas perdidas vuelan demasiado lejos, la rejilla de volumen resultante puede volverse difícil de manejar incluso con una compresión constante de baldosas. Esta pestaña le permite establecer límites máximos.

Visualizar límites: Muestra la guía que muestra los límites máximos de la simulación. Lo más probable es que el tamaño real de la simulación sea menor si se habilita el cambio de tamaño dinámico de los campos.

Tamaño de la caja: El tamaño del volumen máximo.

Origen de la caja: El origen del volumen máximo.

Cambiar el tamaño de los campos de forma dinámica: Cambia el tamaño de los volúmenes cada paso de tiempo para contener la geometría de partículas. Lo hace dentro de los límites especificados. Los volúmenes estarán acolchados por el número de vóxeles especificados en Max Cells to Extrapolate.

Rellenar nuevo volumen: Si los límites de volumen cambian entre fotogramas, esta opción permite que las partículas se siembran en una nueva región vacía del volumen. Usa Waterline y Use Boundary controla cómo se crean las nuevas partículas.

Flotación para lancha motora a toda velocidad

Usar línea de flotación: Si el objeto FLIP utiliza límites cerrados, esta opción establecerá cada límite correspondiente para que esté abierto por encima de la línea de flotación. Esto permite que las partículas salgan elegantemente de la simulación y reduce las reflexiones en los límites. Esto también se puede usar en lugar del volumen de superficie para rellenar un nuevo volumen y usar capa límite.

Visualizar la línea de flotación: Muestra el plano de la línea de flotación donde el fluido por encima del plano puede fluir libremente fuera de un límite cerrado.

Línea de flotación: El nivel de la línea de flotación y la dirección de la línea de flotación definen el plano de la línea de flotación. A lo largo de un límite cerrado, los vóxeles de simulación por encima de este plano se establecerán como un límite abierto. Para Rellenar nuevo volumen y capa límite, el plano define la superficie; donde las partículas por encima del plano se consideran fuera de la superficie.

Dirección de la línea de flotación: La dirección de la línea de flotación especifica la dirección hacia arriba del plano de la línea de flotación. La frontera entre la región de límite cerrado y abierto es una combinación del nivel de la línea de flotación y la dirección de la línea de flotación.

Capas límites para lancha motora a toda velocidad

Usar capa límite: Mantener una región delgada alrededor de la simulación FLIP se puede utilizar para imitar el comportamiento de un tanque infinito. Al eliminar y volver a sembrar partículas de acuerdo con una superficie y un campo de velocidad proporcionados, se pueden reducir las reflexiones en los límites de la simulación. Las partículas que ingresan a la capa límite que están por encima de la superficie especificada (dada por la opción de línea de flotación o volumen de superficie) se eliminarán. A las partículas que entran en la capa límite que están debajo de la superficie se les asignará una nueva velocidad si se utiliza la opción de volumen de velocidad.

Aplicar velocidades límite: El volumen de velocidad se aplica automáticamente a lo largo de los límites cerrados cuando se activa usar capa límite. Esta opción también sobrescribirá el campo de velocidad dentro de la capa límite de acuerdo con el volumen de velocidad; o el valor predeterminado de velocidad cero cuando se usa la línea de flotación. Cuando esto se desactiva, las partículas recién creadas interpolarán las velocidades de las partículas vecinas.

Acolchados para lancha motora a toda velocidad

Acolchado inferior: La capa límite se desplazará al volumen de simulación en la cantidad especificada desde el límite inferior del volumen de simulación.

Acolchado superior: La capa límite se desplazará hacia el volumen de simulación en la cantidad especificada desde el límite superior del volumen de simulación.

Volumen de superficie: La superficie en la capa límite puede ser mantenida por un SDF proporcionado. Las partículas por encima de la superficie serán eliminadas. El volumen debajo de la superficie se volverá a sembrar. Las partículas sembradas en una nueva región de volumen se crearán en función de esta superficie.

Volumen de velocidad: A la velocidad de las partículas en la capa límite y al nuevo volumen se le asignará una velocidad muestreada de este volumen de velocidad.

Aplicar colisiones de partículas en FLIP Solver

Escala de velocidad: Escala las velocidades de colisión de entrada, aumentando el efecto de los objetos en movimiento en el fluido y creando salpicaduras más grandes, por ejemplo. Este valor generalmente debe ser 1 o mayor. Debemos utilizar el parámetro transparencia para reducir el efecto general de las colisiones en el fluido.

Tipo de velocidad: El método utilizado para calcular las velocidades de colisión para colisionar objetos DOP. Esta configuración no afecta a las velocidades de colisión introducidas por un DOP de origen de volumen.

Velocidad rígida: La velocidad de colisión de los objetos se calcula tratándolo como un cuerpo rígido. Solo se utilizará la velocidad angular y la velocidad lineal, no se tendrá en cuenta ninguna deformación local.

Velocidad del punto: La velocidad de colisión de los objetos trata de tener en cuenta la deformación mediante el uso de la historia de puntos. Esto solo funciona si la topología no cambia.

Velocidad de volumen: Utiliza la representación SDF del objeto para detectar la deformación. No requiere una topología fija a lo largo del tiempo, pero no puede detectar velocidades tangenciales.

Extrapolando para lancha motora a toda velocidad

Extrapolación de superficie: Cuando la superficie del fluido está dentro de esta distancia del vóxel de una colisión, el solucionador la considerará parte del objeto de colisión. Esta extrapolación ayuda a que el fluido fluya suavemente a lo largo de superficies curvas; pero puede crear una ligera pegajosidad. Disminuir este valor puede crear salpicaduras más dinámicas por colisiones, especialmente a medida que los objetos ingresan al fluido. No se recomienda establecer esto en 0.

Método de fracción de volumen: El solucionador utiliza estimaciones fraccionarias de los volúmenes de colisión. Lo hace para aumentar la precisión de la resolución de presión alrededor de superficies curvas o inclinadas.

Área de la cara del vóxel: Calcula el peso de colisión fraccional determinando cuánto de cada cara de vóxel está ocluido por el volumen de colisión. Este método proporciona el manejo más suave de objetos inclinados; pero puede tratar los objetos cuadrados como excesivamente suaves.

Supermuestreo de colisión: Calcula el peso de colisión fraccional muestreando el volumen de colisión varias veces para cada vóxel. Este método maneja mejor los objetos de colisión de forma cuadrada, pero puede introducir algunas fuerzas falsas similares a la fricción en superficies inclinadas.

Ninguno: No calcula los pesos de colisión. Esto solo debe ser utilizado por usuarios avanzados para un alto grado de control sobre los pesos de colisión calculándolos manualmente; generalmente con un Gas SDF a niebla DOP. conectado a la entrada Velocidad de volumen.

Muestreo y transparencia en este proyecto de lancha motora a toda velocidad

Muestras por eje: Cuántas muestras se toman por eje cuando el método de fracción de volumen se establece en Supermuestreo de colisión. El aumento de este valor hace que la estimación sea más precisa, pero debemos tener en cuenta que el número total de muestras tomadas es el cubo de este número.

Transparencia: Haga que todos los objetos de colisión sean transparentes al fluido en esta cantidad, disminuyendo el efecto de los objetos en el fluido y permitiendo que algo de fluido fluya a través de los objetos.

Si se utiliza transparencia, el método de detección de colisiones del panel movimiento de partículas generalmente debe establecerse en ninguno. De lo contrario, la detección de colisiones de partículas no permitirá que ninguna partícula se entrometa en los objetos de colisión, sin importar cuál sea el valor de transparencia.

Stick on Collision: Hace que la velocidad del fluido coincida con la velocidad de colisión cuando está cerca de objetos de colisión.

Stick Scale: La cantidad de velocidad de colisión a mezclar con la velocidad del fluido, donde un valor de 1 indica que coincide completamente con la velocidad de colisión.

Distancias y escalas para lancha motora a toda velocidad

Distancia máxima: Especifica la distancia espacio-mundo dentro de la cual se va a aplicar el efecto.

Celdas máximas: Especifica el número máximo de vóxeles en los que se va a aplicar el efecto.

Stick Bias: Controla la rapidez con la que el efecto alcanzará la escala de palo completa dentro de la distancia del palo. Los valores más cercanos a 1 tendrán más efecto a lo largo de la distancia del palo.

Escala normal: Escale la cantidad de ajuste de velocidad en la dirección normal a la superficie de colisión.

Escala tangente: Escala la cantidad de ajuste de velocidad en la dirección tangente a la superficie de colisión.

Mantener una escala normal alta y disminuir la escala tangente puede crear un efecto de adherencia. Donde el fluido fluye rápidamente alrededor de la colisión pero permanece pegado a la superficie.

Campo de control: Escala el efecto por este campo espacialmente variable, que debe coincidir con el campo de colisión en resolución.

Viscosidad de las partículas

Resuelve la viscosidad adaptativa: Esta opción habilita el solucionador de viscosidad adaptativa. Esto reemplaza los valores de presión para el fluido lejos de la superficie con aproximaciones más gruesas y gruesas. Por lo general, la forma exacta de los vórtices profundos no es relevante, por lo que esto reduce en gran medida los tiempos de resolución de la presión. Esto es más efectivo a alta resolución y con tanques más profundos.

La principal limitación es que la adaptabilidad no preserva los detalles finos en regiones gruesas. Sin embargo, la presión gruesa resultante se muestrea hasta la resolución de simulación fina y se suaviza progresivamente para que coincida estrechamente con los detalles finos de un solucionador no adaptativo. El muestreo y suavizado introduce un pequeño costo adicional. Otra limitación es que la densidad variable no se admite actualmente en el solucionador adaptativo, ya que no se ensuciarán adecuadamente en la región adaptativa.

La adaptación a la presión se controla por separado. Esta opción requiere altas viscosidades y tanques profundos para superar el caso no adaptativo. Esto solo debe activarse si encuentra que la proyección de viscosidad se ha convertido en un componente importante de su tiempo de simulación.

Parámetros de viscosidad

Viscosidad por atributo: Utiliza el atributo especificado para sobrescribir el campo de viscosidad.

Nombre del atributo: El atributo Float en las partículas que se van a utilizar para la cantidad de viscosidad.

Método Mix: Cómo combinar el atributo Point con el campo de viscosidad existente.

Escala de viscosidad: Escala aplicada al campo viscosidad después de aplicar el efecto atributo. Esto es útil para ajustar rápidamente la cantidad global de viscosidad.

Precisión de flotación: Este parámetro controla la precisión de coma flotante utilizada internamente por el solucionador de viscosidad. Float 32 bit utiliza menos memoria y es generalmente más rápido que Float 64 bit. Sin embargo, la precisión adicional de los números de coma flotante de 64 bits puede ser necesaria cuando se simula fluido con una viscosidad muy alta o grandes variaciones en la viscosidad.

Deslizamiento en colisión: Hace que la velocidad de colisión coincida con la velocidad del fluido cuando está cerca de objetos de colisión. Esto permite que un fluido viscoso se deslice a lo largo del objeto de colisión.

Escala de deslizamiento: La cantidad de velocidad del fluido a mezclar con la velocidad tangencial de la colisión, donde un valor de 1 indica que coincide completamente con la velocidad del fluido.

Campo de control: Escala el efecto por este campo espacialmente variable, que debe coincidir con el campo de colisión en resolución.

Densidad de las partículas

De forma predeterminada, el fluido tiene una densidad uniforme como se establece en el menú de la física de FLIP (objeto). Para simular fluidos de densidad variable, podemos utilizar un atributo de densidad por partícula para controlar la densidad en todo el fluido.

Si anulamos el campo densidad a través de la entrada velocidad de volumen en el solucionador de volteo, podemos editar arbitrariamente el campo de densidad.

Densidad por atributo: Utiliza el atributo especificado para manipular el campo de densidad.

Nombre del atributo: El atributo Float en las partículas que se van a utilizar para la cantidad de densidad.

Método Mix: Cómo combinar el atributo Point con el campo de densidad existente.

Escala de densidad: Escala aplicada al campo Densidad después de aplicar el efecto atributo. Esto es útil para ajustar rápidamente la cantidad global de densidad.

Al establecer el método de mezcla en Multiplicar, podemos usar valores de densidad relativa que escalan la densidad de fluido predeterminada. Un atributo de densidad de 1, por ejemplo, tendrá la densidad del agua por defecto, mientras que un atributo de densidad de 0,5 indicaría un fluido de la mitad de esa densidad.

La densidad relativa también se conoce como gravedad específica; los valores para los líquidos típicos se pueden encontrar aquí. Debemos tener en cuenta que debido a que el FLIP Solver no rastrea explícitamente el límite entre fluidos de diferentes densidades, podría ser necesario exagerar las relaciones de densidad para evitar el exceso de mezcla.

Volumen de aire donde se ejecuta la simulación

De forma predeterminada, el volumen de aire no se simula y se trata completamente como un vacío. Esta suposición hace que las regiones de aire colapsen o se expandan en función del movimiento del líquido. Hacer cumplir la incompresibilidad del aire restringe el movimiento del líquido para tratar cada región del aire como incompresible.

No tener en cuenta la compresión del aire: La restricción libre de divergencia se aplicará al volumen de aire. Esto evitará que los volúmenes de aire colapsen y creen burbujas crecientes. Esto es útil para capturar la interacción realista aire-líquido como un enfriador de agua. Esto no funciona con la adaptabilidad a la presión.

Aplicar colisión en movimiento: Las colisiones en movimiento pueden interactuar indirectamente con el líquido a través de una bolsa de aire. Cualquier compresión aplicada a la bolsa de aire por la colisión se compensa en la superficie líquida de la bolsa de aire.

Vóxeles y regiones para lancha motora a toda velocidad

Vóxeles de la Región Aérea De Min: Las regiones aéreas que contengan menos vóxeles que el mínimo no verán reforzada su incompresibilidad. Esto es útil para evitar que surjan pequeñas burbujas a lo largo de las superficies de colisión.

Desactiva el cambio de tamaño dinámico de los campos al aplicar la incompresibilidad del aire dentro de los contenedores de colisión. De lo contrario, la aplicación podría no detectar la región de aire cerrada y el líquido podría pasar sin verse afectado.

La función Enforce Air Incompressibility no resuelve la velocidad en el volumen de aire. Simplemente restringe la velocidad del líquido para que no comprima o expanda el volumen de aire. Este enfoque hace que la simulación sea mucho más eficiente que simular completamente todo el volumen de aire.

Las burbujas sumergidas en el fluido podrían desaparecer durante la etapa de renderizado cuando se utiliza la configuración predeterminada en Superficie fluida de partículas. Activar las burbujas de conservación en Superficie fluida de partículas para mantener las burbujas dentro del fluido.

Divergencia entre partículas

Seguimos con el ejemplo para crear una lancha motora a toda velocidad.

De forma predeterminada, el movimiento del volumen está libre de divergencias. Esto obliga a las partículas vecinas a no separarse ni converger. Sin embargo, es posible que desee ajustar el espaciado de partículas. Hacer esto con fuerzas es difícil porque la proyección de volumen deshará tus fuerzas.

En su lugar, podemos agregar un atributo flotante por partícula para almacenar cuánto deben divergir las partículas. Los valores positivos hacen que las partículas se extiendan, y los valores negativos hacen que se agrupen.

Si anulamos el campo divergencia a través de la entrada velocidad de volumen al solucionador de volteretas, puede editar arbitrariamente el campo de divergencia. Debemos activar agregar campo de divergencia en el cuadro FLIP (objeto) para que esto funcione.

Divergir por atributo: Utiliza el atributo especificado para sobrescribir el campo de divergencia.

Nombre del atributo: El atributo Float en las partículas a utilizar para la cantidad de divergencia.

Método Mix: Cómo combinar el atributo Point con cualquier campo de divergencia existente. El campo de divergencia no se restablece de fotograma a fotograma.

Escala de divergencia: Escala aplicada al campo de divergencia después de aplicar el efecto atributo. Esto es útil para ajustar rápidamente la cantidad global de divergencia.

Tensión superficial para lancha motora a toda velocidad

La tensión superficial aplana las características irregulares y tira del agua hacia las gotas. Es útil para simulaciones a pequeña escala donde el efecto de la tensión superficial es a menudo más importante que la gravedad en el control de la dinámica. Para valores grandes, a menudo se requieren subpasos adicionales para garantizar la estabilidad.

Habilitar la tensión superficial creará el campo. Este campo se puede utilizar para otros efectos que no sean solo la tensión superficial, como la succión o la evitación.surfacepressure

Habilitar tensión superficial: Habilita el campo surfacepressure.

Tensión superficial: La magnitud de la tensión superficial. Esto depende de la densidad de masa del fluido, por lo que debe cambiarse si se cambia la densidad de masa. Dado el mismo objeto, pero la separación reducida de partículas (es decir, una simulación de mayor resolución); es posible que deba reducir la magnitud de la tensión superficial para mantener el mismo resultado cualitativo. Los valores negativos harán que la superficie se desgarre de una manera espectacular.

Parámetros de Solver para las tensiones

Seguimos con el ejemplo para crear una lancha motora a toda velocidad.

Escala espacial: Indica la escala de la simulación. Este valor controla la tolerancia de varias operaciones de partículas, particularmente partículas en movimiento para que coincidan con los valores de superficie ISO SDF, y algunos valores predeterminados de Solver para densidad y viscosidad. Si la escena se modela en metros, el valor predeterminado de 1 es suficiente. Sin embargo, si la escena está modelada en centímetros, debe establecer Escala espacial en 0,01.

Elige la longitud de unidad correcta en Editar > Preferencias > Opciones de archivo de cadera antes de crear tu red DOP. De esa manera, el nodo solucionador FLIP obtendrá automáticamente la escala espacial correcta cuando se cree.

Escala de masa: Indica la escala de masa de la simulación. Este valor controla la tolerancia del solucionador para la densidad y la viscosidad. Si su escena se modela en kilogramos, entonces el valor predeterminado de 1 es suficiente. Sin embargo, si la escena está modelada en gramos, debe establecer Escala espacial en 0,001.

Elige la masa unitaria correcta en Editar > Preferencias > Opciones de archivo de cadera antes de crear su red DOP. De esa manera, el nodo solucionador FLIP obtendrá automáticamente la escala de masa correcta cuando se cree.

Escala de retroalimentación: Factor de escala utilizado en la aplicación de fuerzas de retroalimentación a otros objetos. Un valor de cero evita que se produzcan comentarios.

Valores Objeto RBD para lancha motora a toda velocidad

El valor predeterminado Objeto RBD tiene la misma densidad que el agua, por lo que para equilibrar con la densidad de fluido predeterminada se debe usar un valor de 1.

Modo de extrapolación: Controla el método utilizado para extrapolar la velocidad en el solucionador.

Extrapolación en modo normal: Un método rápido que maneja adecuadamente los contenedores de colisión curva. Este es el modo de extrapolación recomendado.

Colisionadores de movimiento rápido: Un método más lento que puede ser más preciso con colisionadores de movimiento rápido y un bajo número de subpasos.

Extrapolación automática por velocidad: Mejora el manejo del fluido de movimiento rápido aumentando automáticamente la distancia de extrapolación en función de la velocidad del fluido. En la mayoría de los casos, esto evita ajustar el parámetro Max Cells To Extrapolate. La distancia de extrapolación final es la mayor de las celdas máximas para extrapolar y el valor de velocidad calculada.

Celdas máximas para extrapolar: El número de células no fluidas que deben llenarse con valores de velocidad en el lado no fluido del campo de velocidad. Aumenta este valor para fluidos de movimiento muy rápido y/o un bajo número de subpasos.

Usar pre-acondicionador: Durante la proyección de presión y la viscosidad resuelta, las matrices involucradas pueden ser pre-acondicionadas para acelerar la solución. Sin embargo, este es un proceso de un solo subproceso. En máquinas con más de 4 zócalos, puede ser más rápido deshabilitar este pre-acondicionamiento y usar un pre-acondicionador Jacobi más simple que multihilo. Pero puede tomar más iteraciones para converger.

Presión para calentar el solucionador de arranque: Utiliza la presión del paso de tiempo anterior como una suposición inicial para el solucionador. Esto a menudo proporcionará una convergencia de solucionador más rápida, lo que resultará en tiempos de simulación más rápidos.

Tanques de agua o peceras

La presión en los tanques de agua aumenta de arriba a abajo. Fotograma a fotograma, este gradiente de presión probablemente se vea igual en todas partes, por lo que en lugar de comenzar desde cero, esta opción intentará reutilizar la presión anterior como condición de inicio. Esto hace que encuentre las presiones finales más rápido, acelerando los tiempos de resolución. Esto es más efectivo en sims en su mayoría estáticos, especialmente tanques profundos.

Resolver la presión con adaptabilidad: Esta opción habilita el solucionador de presión adaptativo. Esto reemplaza los valores de presión para el fluido lejos de la superficie con aproximaciones más gruesas y gruesas. Por lo general, la forma exacta de los vórtices profundos no es relevante, por lo que esto reduce en gran medida los tiempos de resolución de la presión. Esto es más efectivo a alta resolución y con tanques más profundos.

La principal limitación es que la adaptabilidad no preserva los detalles finos en regiones gruesas. Sin embargo, la presión gruesa resultante se muestrea hasta la resolución de simulación fina y se suaviza progresivamente para que coincida estrechamente con los detalles finos de un solucionador no adaptativo. El muestreo y suavizado introduce un pequeño costo adicional. Otra limitación es que la densidad variable no se admite actualmente en el solucionador adaptativo, ya que no se ensuciarán adecuadamente en la región adaptativa.

Viscosidad del proyecto Objeto RBD

Ten en cuenta que la adaptabilidad de la viscosidad se controla por separado, y para los SIMS viscosos es más importante hacer que la viscosidad sea adaptativa que la presión. Ten en cuenta que esto no funciona con Enforce Air Incompressibility.

Usar OpenCL: Resuelve los sistemas lineales de viscosidad y presión usando OpenCL. Esta configuración es principalmente beneficiosa para simulaciones de fluidos de alta resolución con viscosidad; cuando se ejecuta en una GPU rápida.

Los siguientes campos de colisión se utilizan principalmente para crear simulaciones de guía. Solo están conectados a los campos de colisión tanto en los solucionadores de presión como en los de viscosidad. Todos los demás nodos que aplican información de colisión utilizan los campos internos.

Superficie de colisión: La superficie de colisión que está conectada a los solucionadores de presión y viscosidad.

Pesos de colisión: Los pesos de colisión mejoran la precisión de los solucionadores de presión y viscosidad.

Velocidad de colisión: La velocidad de colisión se aplica al fluido a través de los solucionadores en la superficie de colisión.

Los siguientes campos se utilizan principalmente para mantener partículas FLIP para guiar simulaciones. Estos campos están conectados a un Marcadores de semillas de gas DOP.

Superficie de origen: Las partículas FLIP se siembran en la superficie de la fuente. Esto es útil para permitir que el fluido fluya fuera de una superficie de simulación de guía.

Superficie del fregadero: Las partículas FLIP se eliminan cuando entran en la superficie del fregadero. Esto es útil para eliminar partículas innecesarias que fluyen profundamente en una superficie de simulación guía.

Banda estrecha para lancha motora a toda velocidad

Cuando está habilitado, las partículas FLIP solo se mantienen cerca de la superficie del fluido. El resto del fluido está representado por volúmenes (por ejemplo, superficie o velocidad).

Eliminar partículas en el interior del fluido reduce la huella de memoria y, a menudo, puede mejorar el rendimiento de la simulación de fluidos.

Debido a que el fluido está representado en gran medida por volúmenes, la densidad por atributo y la viscosidad por atributo no son compatibles. Deben enlazarse a un campo volumétrico mediante los parámetros Attribute/Field Pair.

Habilitar banda estrecha de partículas: Se utilizará una banda estrecha de partículas FLIP para actualizar la superficie del fluido y los volúmenes de velocidad dentro del ancho de banda de la superficie del fluido. Cualquier partícula más profunda en el fluido que el ancho de banda se eliminará de la simulación.

Ancho de banda: La banda estrecha de partículas FLIP se mantendrá en este grosor de vóxel. Las simulaciones de movimiento muy rápido pueden requerir un mayor ancho de banda para mantener la estabilidad.

No se recomienda utilizar unidades espaciales mundiales para el ancho de banda, ya que ajustar los parámetros de simulación puede hacer que la simulación se vuelva inestable si la banda estrecha es demasiado pequeña. También podría hacer que la simulación se vuelva menos eficiente si la banda estrecha es demasiado grande. Sin embargo, si es necesario, es posible convertir el ancho de banda del espacio mundial deseado en espacio de vóxel con la siguiente expresión: (world_space_bandwidth) / (particle_separation * grid_scale), donde world_space_bandwidth es elegido por el usuario, y particle_separation y grid_scale son referencias del objeto FLIP.

Atributos FLIP Solve

Attribute-Field Pairs: En las regiones donde permanecen las partículas (dentro de la banda estrecha), los valores de los atributos de las partículas se escribirán en el campo emparejado al comienzo de cada subpaso. Dentro del líquido, donde se han eliminado las partículas, los valores almacenados en el campo emparejado persistirán entre subpasos y se advectarán a través del campo de la velocidad de simulación.

Esta opción de emparejamiento no crea el campo con nombre, este debe ser inicializado por el usuario. Además, la modificación de los valores de atributo en las partículas no cambiará los valores almacenados en el campo. Para cambiar los valores de un atributo en todo el volumen líquido, se deben modificar tanto los valores del atributo de partícula como los valores de campo emparejados. Por ejemplo, utilizando un POP Wrangle y un disputa de campo de gas con expresiones equivalentes.

Distribución para lancha motora a toda velocidad

Las simulaciones FLIP Solver se distribuyen de la misma manera que las simulaciones de partículas; especificando primero una serie de planos Slice que dividen el espacio. Cada máquina es responsable del fluido que se encuentra dentro de su rebanada.

Cada subpaso se intercambian todas las partículas a lo largo de los límites de la rebanada. Por lo tanto, el ancho de banda especificado debe ser lo suficientemente grande como para cubrir qué tan lejos se espera que se muevan las partículas en un subpaso.

Todas las máquinas sincronizan su tamaño de subpaso automáticamente, por lo que se pueden utilizar subpasos variables.

Variables del rastreador para lancha motora a toda velocidad

Dirección del rastreador: Qué máquina ejecutará el proceso de simtracker.py para la sincronización. Si está en blanco, no habrá ningún intento de sincronización o transferencia de datos.

Puerto del rastreador: El puerto especificado al iniciar el proceso de simtracker.py para la comunicación.

Nombre del puesto: Nombre del trabajo para describir este evento de sincronización o intercambio de datos. Mediante el uso de diferentes nombres de trabajo, se pueden hacer que las máquinas formen parte de eventos separados de intercambio de datos y sincronización.

Slice/Peer: El número de división con el que esta máquina debe informarse. Cada máquina que se conecta bajo el nombre del trabajo debe tener su propio número de segmento único. A veces esto se puede inferir de la operación, por lo que este parámetro estará ausente.

Número de segmentos/número de pares: Número total de máquinas que tienen que sincronizarse. A veces esto se puede determinar a partir de la operación, por lo que este parámetro estará ausente.

Solución de presión distribuida: La proyección de presión puede distribuirse entre las máquinas. Esto evita cualquier pérdida de fluido y es necesario para simulaciones de estilo tanque, pero no es necesario para ríos que fluyen. Requiere considerablemente más ancho de banda de red, por lo que se vuelve ventajoso solo con simulaciones muy grandes.

Operaciones de parámetros

Cada parámetro de opción de datos tiene un menú asociado que especifica cómo funciona ese parámetro.

Usar parámetros predeterminados: Utiliza el valor del menú operación predeterminada.

Establecer inicial: Establece el valor de este parámetro solo cuando se creen estos datos. En todos los pasos de tiempo posteriores, el valor de este parámetro no se altera. Esto es útil para establecer condiciones iniciales como la posición y la velocidad.

Establecer siempre: Establezca siempre el valor de este parámetro. Esto es útil cuando se requieren valores de fotogramas clave específicos a lo largo del tiempo. Esto podría usarse para encuadrar la posición de un objeto a lo largo del tiempo, o para hacer que la geometría de un SOP se vuelva a grabar en cada paso de tiempo si la geometría se está deformando.

También podemos utilizar esta configuración junto con las variables locales de un valor de parámetro para modificar un valor a lo largo del tiempo. Por ejemplo, en la posición X, una expresión como haría que el objeto moviera 0,1 unidades hacia la derecha en cada paso de tiempo.

Seguimos con los parámetros

Establecer nunca: Nunca establezca el valor de este parámetro. Esta opción es más útil cuando se utiliza este nodo para modificar una pieza existente de datos conectados a través de la primera entrada.

Por ejemplo, un DOP estatal de RBD puede querer animar solo la masa de un objeto, y nada más. La opción Establecer nunca se podría usar en todos los parámetros, excepto en Masa, que usaría establecer siempre.

Operación predeterminada: Para cualquier parámetro con su menú operación establecido en usar predeterminado, este parámetro controla qué operación se utiliza.

Este parámetro tiene las mismas opciones de menú y significados que los menús Operaciones de parámetros, pero sin la opción usar predeterminado.

Hacer que los objetos sean afectadores mutuos: Todos los objetos conectados a la primera entrada de este nodo se convierten en afectadores mutuos.

Esto es equivalente a usar un Affector DOP para crear una relación afectiva entre y antes de conectarlo a este nodo. Esta opción hace que sea conveniente que todos los objetos que se alimentan en un nodo solucionador se afecten entre sí.

Grupo: Cuando se conecta un conector de objeto a la primera entrada de este nodo, este parámetro se puede utilizar para elegir un subconjunto de los objetos que se verán afectados por este nodo.

Nombre de los datos: Indica el nombre que se debe utilizar para adjuntar los datos a un objeto u otro dato. Si el nombre de datos contiene un «/» (o varios), eso indica que se está atravesando dentro de los subdatos.

Ejemplo de fuerzas en lancha motora a toda velocidad

Por ejemplo, si el Fuerza del ventilador DOP tiene el nombre de datos predeterminado Fuerzas/Ventilador. Esto adjunta los datos con el nombre Fan a una pieza de datos existente llamada Fuerzas. Si no existe ningún dato denominado Fuerzas, se crea un simple fragmento de datos de contenedor para contener los sub-datos Fan.

Diferentes piezas de datos tienen diferentes requisitos sobre qué nombres deben usarse para ellos. Excepto en situaciones muy raras, se debe usar el valor predeterminado. Algunas excepciones se describen con datos particulares o con solucionadores que hacen uso de algún tipo particular de datos.

Nombre de datos único: Al activar este parámetro, se modifica el valor del parámetro Nombre de datos para asegurarse de que los datos creados por este nodo se adjuntan con un nombre único para que no sobrescriba los datos existentes.

Con este parámetro desactivado, adjuntar dos datos con el mismo nombre hará que el segundo reemplace al primero. Hay situaciones en las que cada tipo de comportamiento es deseable.

Fuerzas de los ventiladores

Si un objeto necesita tener varias fuerzas de los ventiladores, es mucho más fácil usar la función Nombre de datos único para garantizar que cada ventilador no sobrescriba un ventilador anterior en lugar de intentar cambiar el nombre de datos de cada ventilador individualmente para evitar conflictos.

Por otro lado, si se sabe que un objeto tiene Estado de RBD datos ya adjuntos a ella, dejar esta opción desactivada permitirá algunos nuevos Estado de RBD para sobrescribir los datos existentes.

Solver por objeto: El comportamiento predeterminado para los solucionadores es adjuntar exactamente el mismo solucionador a todos los objetos especificados en el grupo. Esto permite que los objetos sean procesados en una sola pasada por el solucionador, ya que los parámetros son idénticos para cada objeto. Sin embargo, algunos objetos operan de manera más lógica en un solo objeto a la vez.

En estos casos, es posible que desee utilizar expresiones para variar los parámetros del solucionador entre los objetos. Al establecer este interruptor, se creará un solucionador separado por objeto, lo que permitirá variar según lo esperado.

Entradas simulando lancha motora a toda velocidad por el mar

Fluido para resolver: El objeto de simulación evolucionará como un fluido de partículas.

Velocidad de las partículas: Esta entrada inyecta micro-soldaduras después de que la velocidad de la partícula se ha actualizado, pero antes de que se haya transferido a los campos de volumen. Por lo tanto, es el lugar ideal para agregar solucionadores que manipulan la velocidad o posición de la partícula aún más lejos.

Velocidad de volumen: Los solucionadores en la entrada de velocidad de volumen se agregan después de que se haya creado el campo de velocidad de volumen, pero antes de que se haya hecho no divergente. Este es el mejor lugar para que se conecten micro-soluciones que afectan al campo, y el único lugar para micro-soluciones que desean agregar fuerzas al campo de velocidad. Los solucionadores conectados a esta entrada no deben crear ni eliminar partículas.

Abastecimiento (post-resolución): El uso principal de esta entrada es agregar o eliminar partículas usando el Nodo Origen de volumen que importa partículas y volúmenes de una red de geometría.

Los nodos conectados a esta entrada también pueden editar los campos de velocidad de la red de simulación, por ejemplo; para aplicar fuerzas personalizadas, después de los pasos principales de simulación.

Salidas en este ejemplo de lancha motora a toda velocidad

Primera salida: El funcionamiento de esta salida depende de las entradas que estén conectadas a este nodo. Si se introduce una secuencia de objetos en este nodo, la salida también es una secuencia de objetos que contiene los mismos objetos que la entrada (pero con los datos de este nodo conectados).

Si no hay ninguna secuencia de objetos conectada a este nodo, la salida es una salida de datos. Esta salida de datos se puede conectar a un Aplicar DOP de datos, o conectado directamente a una entrada de datos de otro nodo de datos, para adjuntar los datos de este nodo a un objeto u otro dato.

Veamos el video con los resultados que ha conseguido el artista Vu Pham utilizando FLIP Solver para simular esta lancha motora a toda velocidad por el mar.

Lancha motora a toda velocidad por el mar
Lancha motora a toda velocidad por el mar

Tienes más artículos sobre Houdini aquí. En el foro tienes toda la información agrupada y los comentarios. Sigue leyendo…