Simulación de flujo de fluidos usando la ecuación de Euler

He estado mirando las ecuaciones de Euler por un tiempo y no puedo entender una cosa.

Supongamos que tenemos un estado inicial del sistema con volúmenes de fluido "colgando" en el aire (el tiempo está congelado y es igual a cero), cada uno de ellos tiene sus coordenadas iniciales (x, y) y su vector de velocidad (Vx, Vy). El espacio se divide en volúmenes estacionarios en los que se realiza la medición (modelo de medición de Euler).Representación en 2 dimensiones del espacio segmentado y restricciones

Según entiendo, las ecuaciones de Euler imponen restricciones mutuas entre funciones de velocidad (u(x, y, t)), densidad de masa (m(x, y, t)) y presión (p(x, y, t)) en cualquier instancia de tiempo para volumen estacionario de espacio con coordenadas (x, y) que contiene volumen de fluido (en esa instancia).

Entonces, ¿por qué cada función tiene un parámetro de tiempo cuando las ecuaciones deben resolverse para cualquier instancia de tiempo (proceso de iteración)? Debemos tener un nuevo conjunto de estas funciones para cualquier momento de tiempo que satisfagan las ecuaciones. Y no está claro si el volumen del espacio contiene volumen de fluido o no, ¿cómo tomamos esto en consideración?

Y la segunda pregunta es ¿cómo se relaciona el estado de cada volumen de fluido (sus coordenadas y vector de velocidad) con estas funciones? Necesito un sistema que tenga algún estado inicial (matriz de volúmenes de fluidos con sus coordenadas y velocidades) y use las ecuaciones de Euler para calcular el siguiente estado, que se vuelve inicial para la próxima iteración y así sucesivamente. Algo como esto:esquema

No necesito detalles matemáticos, solo quiero comprender la idea básica en el contexto de la simulación por computadora (cómo el método de simulación puede vincularse a ecuaciones analíticas estándar). La mayoría de los documentos son muy complicados, con factores físicos adicionales e interacción del usuario, y no cubren este "enlace". Quiero considerar el caso más fácil y cómo iniciar el proceso de iteración (solo una idea y cómo se hace normalmente). Lo siento si algunas cosas suenan ridículas, por favor ajuste mis declaraciones si están mal. Si mi modelo de comprensión es completamente incorrecto, solo indícame en la dirección correcta, gracias.

Eche un vistazo a esto para obtener información sobre cómo ingresar ecuaciones bien formateadas en sus publicaciones. Lo siento, es un poco como una pared de texto, pero después de descifrar un par de ecuaciones simples, es bastante intuitivo.
Siempre recomendaría que comiences a aprender un tema encontrando un libro de texto. Es muy difícil aprender un tema nuevo de los artículos de revistas: se supone que deben comunicar un tema avanzado a los expertos en el campo. Los libros de texto están destinados a educar a alguien para que se convierta en un experto.
Secundo la noción de tpg de conseguir un libro. Recomiendo encarecidamente el excelente texto de Randall LeVeque sobre las leyes de conservación hiperbólicas.

Respuestas (1)

Con respecto a la primera mitad de su pregunta: su comprensión general parece ser correcta. Para responder a su pregunta sobre cómo saber si hay fluido en una celda dada, considere cuál es la densidad de masa metro ( X , y , t ) está en una celda vacía. Es solo cero. Esto ya es manejado sin problemas por su sistema de ecuaciones.

Con respecto a la segunda mitad de su pregunta, este es un tema muy amplio. Por regla general, simular fluidos es difícil y existen muchos métodos que son apropiados en diferentes situaciones (por ejemplo, de los dos algoritmos con los que estoy más familiarizado, uno es muy bueno para resolver choques, pero no tan bueno para modelar ciertas inestabilidades como Rayleigh-Taylor, mientras que la segunda es buena para inestabilidades pero mala para resolver shocks). En lugar de intentar darte una gran introducción al tema, para lo cual probablemente deberías buscar un buen libro, te mostraré un concepto que espero te ayude a iniciarte en el fascinante mundo de los métodos numéricos.

El punto de partida clásico para las soluciones numéricas de las ecuaciones diferenciales es la ecuación del calor en una dimensión, porque es simple y relativamente fácil de resolver:

tu t α 2 tu X 2 = 0

Considere la derivada del tiempo. Una definición matemática de la derivada es:

tu t = límite Δ t 0 tu ( X , t + Δ t ) tu ( X , t ) Δ t

Una posible aproximación de esta derivada es no tomar el límite como Δ t 0 , sino simplemente elegir un valor pequeño para Δ t , donación:

tu t tu ( X , t + Δ t ) tu ( X , t ) Δ t

Se puede usar un enfoque similar en la derivada espacial para llegar a (una de varias aproximaciones posibles):

2 tu X 2 tu ( X + Δ X , t ) 2 tu ( X , t ) + tu ( X Δ X , t ) Δ X 2

Poniendo todo esto junto en la ecuación de calor y reorganizando un poco da:

tu ( X , t + Δ t ) = tu ( X , t ) + α Δ t Δ X 2 [ tu ( X + Δ X , t ) 2 tu ( X , t ) + tu ( X Δ X , t ) ]

Observe que el siguiente estado del sistema (en t + Δ t , en el lado izquierdo) se expresa completamente en términos del estado actual del sistema (en t ) al lado derecho. Entonces puede codificar esto en una computadora y evaluar repetidamente nuevos estados con opciones apropiadamente pequeñas para Δ X y Δ t para conocer la evolución del sistema.

Conceptualmente, querrá hacer lo mismo con su sistema de ecuaciones de Euler, pero, por supuesto, las ecuaciones son más complicadas (tienen más términos y más campos para realizar un seguimiento). Tenga en cuenta que con una solución numérica SIEMPRE está construyendo una aproximación, por lo que, por definición, hay un error en su solución. Ahora el juego consiste en (1) comprender qué tan precisa es su aproximación, cuándo es válida, convergente, etc. y (2) tratar de mantener sus errores lo más pequeños posible mientras paga un costo razonable en recursos de cómputo. El ejemplo que di es fácil de entender y da una respuesta más o menos correcta para algunos escenarios simples, pero generalmente tiene una convergencia muy pobre y tiene grandes errores. Pero una vez que comprenda este ejemplo básico, será mucho más fácil leer sobre esquemas de solución más complicados.