Traducción del original en coreano escrito por el autor. Leer el original (한국어)
[Reseña] Cómo no matar el sonido a bajo Mach — esquema IMEX-AP de ondas
Con estos parámetros el número de pasos es M=128/ε, y un decaimiento logarítmico de 0.154/ε reproduce la columna explícita.
Meter un flujo de bajo Mach (low Mach) en un código compresible hace pensar que una velocidad del sonido mayor deja la figura más nítida. Ocurre lo contrario. Al bajar el número de Mach, un esquema upwind estándar borra de la malla una onda que estaba sana. Arun, Das Gupta y Samantaray (2019) aíslan ese colapso con el sistema lineal de ondas y arman un esquema asintóticamente preservante (AP) con IMEX-RK, estable sin depender del Mach. La razón de integrar el operador acústico de forma implícita está en los números de abajo.
Al mover hacia la izquierda, la curva roja upwind sube con pendiente y la curva cian del AP permanece plana.
En el cociente entre las dos curvas llega a cientos. Lo que crece al bajar el Mach no es la onda. Es la viscosidad numérica upwind.
Cuando ε tiende a cero, la malla se come la onda#
Las ecuaciones de Euler isentrópicas escaladas llevan un parámetro pequeño, el número de Mach . El término de presión entra en la cantidad de movimiento como .
es la densidad, es la velocidad y es la presión. es la velocidad de referencia dividida por la velocidad del sonido de referencia.
Cuando la solución va al límite incompresible. Es una perturbación singular (singular perturbation). Los autores acortan el análisis con el sistema lineal de ondas.
es la perturbación linealizada de densidad y es la velocidad del sonido de ese estado. La velocidad efectiva del sonido es . Al reducir el Mach, esa velocidad acústica estalla.
El espacio well-prepared — las soluciones que deben sobrevivir#
En el límite la solución no se escapa a cualquier lado. Se junta en el espacio well-prepared: densidad constante, velocidad de divergencia nula.
Ese espacio es el núcleo del operador acústico . La solución discreta tiene que caer ahí también. Dellacherie (2010) mostró que un esquema que rompe esa invariancia pierde precisión a bajo Mach. Conservar el núcleo es ser asintóticamente preciso (AA). Dejar el límite de estabilidad independiente de es ser asintóticamente preservante (AP).
La viscosidad upwind crece en proporción a la velocidad del sonido#
El culpable es la viscosidad numérica upwind. Diagonalizar el sistema de ondas en variables características lo parte en dos advecciones escalares a velocidades . Un paso upwind de Rusanov en cada modo tiene esta amplificación.
es el CFL acústico, es la fase por celda y es el número de onda.
Un paso duele poco. Lo que duele es la pila. Llegar a un tiempo físico fijo pide pasos acústicos. Con pequeño el decaimiento por paso es , y de ellos dan este decaimiento logarítmico.
Bajar el Mach un orden de magnitud sube la viscosidad efectiva otro orden. La pendiente de la curva roja de arriba es esa proporción.
División de operadores — convección explícita, acústica implícita#
Al separar las ecuaciones por escala de tiempo aparecen dos operadores.
es convección, escala . es acústica, escala . Toda la rigidez vive en . Solo esa parte se integra de forma implícita. La convección queda explícita. La mezcla es IMEX (Implicit-Explicit). Si esa misma separación aguanta el paso de tiempo hasta Mach 0 es la pregunta de una reproducción IMEX TVD.
Con la acústica implícita, las diferencias centradas se quedan estables. La viscosidad upwind sale. lo fija la convección lenta, no el sonido rápido. Dentro de este modelo, un menor no es motivo para encoger el paso.
IMEX-RK absorbe la rigidez#
La integración temporal es IMEX Runge-Kutta (IMEX-RK). El tableau explícito lleva . El tableau implícito lleva . En cada etapa la acústica se condensa en una ecuación elíptica para la densidad, parecida a una Poisson de presión.
es el coeficiente diagonal del tableau IMEX y es el laplaciano. La invertibilidad de ese problema elíptico sale de la teoría de puntos de silla (saddle point). En la malla, las matrices circulantes dan la misma conclusión. Solución única, estabilidad uniforme independiente de , e invariancia del espacio well-prepared.
Python — reproducir el decaimiento de amplitud de un modo#
El código de abajo calcula la amplificación upwind de un modo de Fourier e imprime la amplitud que queda tras el tiempo físico , un Mach cada vez. El esquema implícito conserva el modo, así que su amplitud se queda en 1.
import numpy as np
a = 1.0 # velocidad del sonido linealizada
k = 2 * np.pi # único modo de Fourier en [0,1]
T = 1.0 # tiempo físico final fijo
nu = 0.5 # número de CFL acústico
def upwind_amp_factor(eps, N):
"""|g| de un modo característico bajo Rusanov en el sistema de ondas."""
c = a / eps # velocidad acústica c = a/ε
dx = 1.0 / N
th = k * dx # fase por celda θ = kΔx
re = 1.0 - nu * (1.0 - np.cos(th))
im = nu * np.sin(th)
return np.hypot(re, im) # |g| <= 1
def retained_amplitude(eps, N):
"""Amplitud del modo tras tiempo físico T (upwind vs implícito)."""
c = a / eps
dx = 1.0 / N
dt = nu * dx / c # paso de CFL acústico
M = T / dt # número de pasos explícitos
explicit = upwind_amp_factor(eps, N) ** M
implicit = 1.0 # central-implícito preserva el modo
return M, explicit, implicit
if __name__ == "__main__":
N = 64
print(f"{'eps':>8} {'steps M':>10} {'explicit':>12} {'AP':>6}")
for eps in [0.4, 0.2, 0.1, 0.05, 0.02, 0.01]:
M, ex, ap = retained_amplitude(eps, N)
print(f"{eps:8.3f} {M:10.0f} {ex:12.3e} {ap:6.2f}")La salida es esta.
eps steps M explicit AP
0.400 320 6.804e-01 1.00
0.200 640 4.629e-01 1.00
0.100 1280 2.143e-01 1.00
0.050 2560 4.591e-02 1.00
0.020 6400 4.430e-04 1.00
0.010 12800 1.980e-07 1.00Al bajar el control Mach , la amplitud roja llega al suelo antes de que termine el tiempo físico . Al empujar el CFL hacia 1, se reduce y el decaimiento afloja un momento. Bajar todavía más entierra esa ganancia bajo la acumulación . Subir ayuda solo en parte: y no se cancelan.
Meter los números del código en la fórmula del conteo de pasos la cierra. Con , , y , y . Entonces , de modo que . Los pasos impresos 320, 640, 1280, 2560, 6400 y 12800 son esa fórmula en . Partir por dos duplica . Partir por diez multiplica por diez.
El decaimiento logarítmico con los mismos números es el exponente . El coeficiente sale de . En el exponente es 0.386 y , igual al impreso hasta el tercer dígito. En , frente al impreso. En el exponente es 15.4. queda cerca de , y la tabla imprime . La fase no es diminuta, así que el paso de ángulo pequeño se queda corto al final de la tabla. Y maximiza en 0.25. Esta columna es el decaimiento en el CFL donde un paso duele más.
AP frente a AA#
No son la misma pregunta. AP pregunta si el límite del esquema discreto es una discretización válida de la ecuación límite, con una restricción de estabilidad independiente de . AA pregunta algo más estrecho. En una malla finita, con pequeño pero no nulo, ¿la solución se queda cerca del espacio well-prepared? El upwind falla las dos. El implícito IMEX pasa las dos. La bifurcación es la discretización temporal, no el orden espacial.
Incluso en el peor ν, la columna AP se queda en 1.00#
Cada entrada AP de la tabla es 1.00. El paso implícito quita la viscosidad upwind, así que el exponente no multiplica la amplitud. es el CFL donde un paso decae más, y tras pasos el valor AP sigue en 1.00. Para este sistema lineal de ondas, tratar solo de forma implícita es la decisión correcta.
Esa decisión no viaja a todo sistema de bajo Mach. Hay ecuaciones en las que la acústica ya es implícita y el paso de tiempo vuelve a encogerse. El sitio donde un segundo se esconde en la velocidad relativa está en la rigidez que queda en la entalpía.
Relacionados
Comparte si te resultó útil.