Traducción del original en coreano escrito por el autor. Leer el original (한국어)
El flujo supersónico no sabe lo que ocurre aguas arriba — curvas características y ondas sonoras en las ecuaciones de Euler
La cuña del dominio de influencia cruza la vertical en Mach 1. Por encima, una salida supersónica ya no tiene una característica entrante que fijar.
Un caza supersónico llega antes que el sonido de su propio motor. Primero pasa por encima y el estruendo viene después. La razón está en las velocidades características de las ecuaciones de Euler. Una perturbación pequeña se separa en tres señales, y sus trazas en el plano son las curvas características (el rastro que deja cada señal).
Con el control M en 0.4, la onda azul hacia la izquierda alcanza aguas arriba de la fuente. Al pasarlo de 1, esa traza desaparece de la figura.
The blue tint marks the upstream region the left-going sound has reached. Push u₀ past 1 and the blue tint vanishes: the C− signal now has a positive speed, so every signal runs downstream and the source can no longer talk to what lies upstream.
Ahí cambia de signo la pendiente de la línea azul. Conviene mirar si las tres señales corren solo hacia la derecha y si el lado izquierdo queda vacío.
Las ecuaciones compresibles son propagación de señales#
El flujo compresible no viscoso en una dimensión se escribe con tres leyes de conservación.
es la densidad, la velocidad, la presión y la energía específica total. A primera vista parecen ecuaciones de un fluido que "fluye". Pero la esencia de estas ecuaciones no es el transporte, sino la propagación de señales. Toda la dinámica del flujo se descompone en unas pocas señales que viajan a velocidades determinadas. Para ver cuáles son esas velocidades basta con linealizar la ecuación por un momento.
Una pequeña perturbación genera una ecuación de onda#
Sobre un estado de fondo se superpone una perturbación muy pequeña. Tomando , y usando , se conservan solo los términos de primer orden. Definiendo la derivada que se mueve con el fondo (derivada co-móvil), al combinar las dos ecuaciones de perturbación resulta una única ecuación de onda.
Aquí es la velocidad del sonido.
es la razón de calores específicos. Al insertar en esta ecuación se obtiene la relación de dispersión.
es la frecuencia angular y el número de onda. La perturbación se deja arrastrar por el flujo de fondo y se propaga hacia ambos lados a la velocidad del sonido . Es decir, la perturbación en un punto se separa en dos velocidades: y .
Las curvas características que se separan en tres ramas#
Las dos ondas sonoras no son todo. La tercera señal es el propio fluido. Supongamos que se pinta el fluido con color. Si en se tiñe la izquierda de azul y la derecha de rojo, la frontera de color simplemente se deja arrastrar por el flujo.
Esta señal se desplaza a la velocidad . Esta es la característica de entropía (o superficie de contacto). En resumen, el flujo unidimensional tiene tres velocidades características.
En el plano , las líneas que satisfacen se llaman curvas características. son las ondas sonoras y es el transporte de materia. A lo largo de cada característica acústica se conservan constantes los invariantes de Riemann , y a lo largo de la característica material se conserva la entropía.
Con en 0.4, sigue negativa y la onda sonora izquierda todavía llega aguas arriba. Cuando supera 1, se vuelve positiva y las tres señales viajan solo aguas abajo.
La misma descomposición, vista en la estructura propia de Euler para una normal arbitraria, añade una raíz repetida y componentes tangenciales. En una dimensión esa repetición se pliega en la única onda de entropía.
En régimen supersónico el cono de señal se vuelca#
La misma historia se ve con más claridad en un diagrama espacio-temporal. La cuña entre las tres curvas características que salen de la fuente es el dominio de influencia (domain of influence). Es el conjunto de eventos espacio-temporales a los que la fuente puede enviar una señal.
Si , esta cuña se abre hacia ambos lados de la línea vertical. La señal va tanto aguas arriba como aguas abajo. Si , la cuña entera se vuelca hacia la derecha. Incluso la característica se inclina hacia la derecha, y ningún evento aguas arriba queda dentro del dominio de influencia. Esta es la razón de que en el flujo supersónico "aguas arriba no sepa lo que ocurre aguas abajo". También es el fundamento numérico de por qué no se deben imponer condiciones de contorno en una salida supersónica.
Se puede arrastrar la sonda redonda en el diagrama de abajo.
Drag the probe across the plane. At M = 0.4 the wedge straddles the vertical, so events both upstream and downstream are reachable. Slide u₀ above 1 and the whole wedge leans right — drop the probe anywhere to the left of the source and it stays red.
Si la sonda se coloca dentro de la cuña se vuelve verde (alcanzable) y, si se coloca fuera, roja (inalcanzable). Al subir por encima de 1 y colocar la sonda en cualquier punto a la izquierda de la fuente, permanece roja. Aguas arriba queda completamente desconectado de la señal.
Verificación de las velocidades características con Python#
Las velocidades características se comparan con y . Al escribir el Euler unidimensional con las variables primitivas se obtiene la forma cuasilineal , y los autovalores de la matriz de coeficientes son precisamente las velocidades características.
import numpy as np
def characteristic_speeds(rho, u, p, gamma=1.4):
"""Jacobiano de variables primitivas del Euler 1D A(W), W=(rho,u,p).
Autovalores de A = las tres velocidades características."""
c = np.sqrt(gamma * p / rho) # velocidad del sonido
A = np.array([[u, rho, 0.0 ],
[0.0, u, 1/rho],
[0.0, rho*c**2, u ]])
lam = np.sort(np.linalg.eigvals(A).real)
return c, lam
rho, u, p = 1.225, 220.0, 1.0e5 # aire, u = 220 m/s
c, lam = characteristic_speeds(rho, u, p)
print(f"c0 = {c:8.2f} m/s")
print(f"eig(A) = {np.round(lam, 2)}")
print(f"u-c,u,u+c = {np.round([u-c, u, u+c], 2)}")
print(f"Mach = {u/c:5.3f} -> {'supersonic' if u > c else 'subsonic'}")La salida es la siguiente.
c0 = 338.06 m/s
eig(A) = [-118.06 220. 558.06]
u-c,u,u+c = [-118.06 220. 558.06]
Mach = 0.651 -> subsonicLos autovalores coinciden exactamente con . La perturbación se avanza en el tiempo y se mide la velocidad del frente de la señal. Los invariantes de Riemann acústicos son escalares que se dejan arrastrar respectivamente a , así que basta con transportarlos por separado con esquema upwind.
N, L = 400, 1.0
x = np.linspace(0, L, N, endpoint=False)
dx = L / N
rho0, c0 = 1.0, 1.0
u0 = 0.6 * c0 # Mach de fondo 0.6
bump = np.exp(-((x - 0.5) ** 2) / (2 * 0.01 ** 2))
wp = bump.copy() # invariante derecho (u0 + c0)
wm = bump.copy() # invariante izquierdo (u0 - c0)
def upwind_step(w, a, dt):
if a > 0:
dwdx = (w - np.roll(w, 1)) / dx
else:
dwdx = (np.roll(w, -1) - w) / dx
return w - a * dt * dwdx
CFL = 0.4
dt = CFL * dx / (abs(u0) + c0)
steps = int(0.25 / dt)
for _ in range(steps): # bucle de avance temporal
wp = upwind_step(wp, u0 + c0, dt)
wm = upwind_step(wm, u0 - c0, dt)
T = steps * dt
def front_speed(w):
return (x[np.argmax(w)] - 0.5) / T
print(f"u0+c0: target {u0 + c0:+.3f}, measured {front_speed(wp):+.3f}")
print(f"u0-c0: target {u0 - c0:+.3f}, measured {front_speed(wm):+.3f}")u0+c0: target +1.600, measured +1.600
u0-c0: target -0.400, measured -0.400Cada uno de los dos frentes se mueve a y . El invariante derecho va aguas abajo y el izquierdo aguas arriba. Al subir por encima de , el valor medido de la segunda línea también se vuelve positivo.
Con los números del aire el hueco se ve mejor. Con , m/s, y , la velocidad del sonido es 338.06 m/s. Los autovalores impresos son , y , idénticos a , y . El tramo es 676.12 m/s, el doble de 338.06. El valor central, 220, solo transporta materia y no sabe de la velocidad del sonido. Mach 0.651 está por debajo de 1, así que sigue negativa y todavía queda una señal que viaja aguas arriba.
El segundo cálculo fija la velocidad del sonido en 1. Con los objetivos son y , y los frentes medidos dan esos números. es . El signo negativo es el alcance aguas arriba. Cuando supera a , esa línea se vuelve positiva, el mismo estado en que la cuña espacio-temporal se vuelca a la derecha.
En el invariante de Riemann , con se tiene y . Lo que permanece constante a lo largo de una característica acústica es . Los escalares que transporta el código, , son ese invariante reducido a una perturbación pequeña. Con el coeficiente queda en 1.
Fijar la presión en una salida supersónica devuelve la onda#
El instante en que la cuña del dominio de influencia cruza la vertical es . Por encima no hay ninguna característica que vaya aguas arriba. Si la salida es supersónica, los tres signos apuntan hacia afuera y no queda ningún valor por imponer. Fijar la presión inventa una característica entrante que no existía, y una onda reflejada regresa al dominio.
Una salida subsónica es distinta. Solo apunta hacia adentro, así que basta una condición. Esa característica entrante es la que NSCBC multiplica por un factor de reflexión σ en la salida. Imponer la presión antes de contar los signos mezcla una señal de aguas arriba en el tratamiento de salida, incluso en el aire a Mach 0.651.
Relacionados
Comparte si te resultó útil.