Método pseudo-espectral de Fourier y disipación numérica.

9

Realización de una simulación numérica directa de la turbulencia isotrópica con el método pseudoespectral de Fourier (Orzag y Patterson, PRL, 1972) utilizando FFT. Para conocer los antecedentes del método, que se usa ampliamente en la comunidad de turbulencias, puede ver este curso: http://www.math.ualberta.ca/~bowman/m655/lab3d.pdf

Usando las llamadas reglas para el desviarse que consiste en hacer donde es el tiempo, es el número de onda, es el número de onda máximo y es la amplitud espectral de la velocidad.u ( k , t ) = 0 i f k > 22/3tkkMAX u

u^(k,t)=0              if   k>23kMAX
tkkMAXu^

¿La negociación actúa como una disipación numérica? En otras palabras, ¿hay una fuga de energía debido a la desorganización?

Ucsky
fuente
No está claro lo que pregunta. ¿Podrías aclarar?
Geoff Oxberry
Qué te parece ahora ?
ucsky

Respuestas:

6

La desorganización de la convolución no actúa como disipación numérica. De hecho, la energía se conserva solo si eliminas los términos con alias.

La idea detrás de la desorganización de las convoluciones basadas en FFT es deshacerse de los términos adicionales que agrega FFT. Una convolución es solo una suma, y ​​puede calcularla simplemente calculando la suma. Sin embargo, esto es realmente lento, por lo que es mejor transformar las entradas de Fourier y multiplicar el resultado y luego invertir la transformación de Fourier, que, según el teorema de convolución, es lo mismo que una convolución.

Pero el teorema de convolución solo funciona cuando las entradas son de longitud infinita; para entradas de longitud finita, aparecen términos adicionales (alias) que no son físicos. El punto de desalineación es recuperar la ecuación original que estaba tratando de calcular, al tiempo que le permite usar FFT para acelerar el cálculo.

Malcolm
fuente
Malcolm no mencionó la biblioteca FFTW ++ de la que fue coautor, pero le ayuda a realizar convoluciones desviadas rápidamente al manejar el relleno implícitamente (entre otras cosas). Ver fftwpp.sourceforge.net .
Matthew Emmett
Oh si, gracias Matt! Las rutinas de convolución en FFTW ++ realmente reducen el costo de calcular convoluciones desviadas. Hay una referencia en la página de sourceforge y más en mi página web. Trabajé en esto con John Bowman, cuyo laboratorio de turbulencia 3D está vinculado en el OP.
Malcolm
4

Comprender lo que hace la negociación requiere entender por qué estás tomando FFT en primer lugar. Para mí, el método de enfoque de residuos ponderados proporciona el marco más simple:

  1. Está expandiendo una solución como una suma de modos de Fourier y colocándola en las ecuaciones Navier - Stokes. Sus funciones de prueba también son una base de Fourier.
  2. Cuando multiplique las funciones de prueba y prueba juntas y tome el producto interno (es decir, integre con una conjugación apropiada), verá que tiene una integral que no puede evaluar simplemente porque no es lineal.
  3. Puede aproximar esa integral utilizando un esquema de cuadratura uniforme donde simplemente suma el valor en puntos de colocación uniformes.
  4. Observe que su cuadratura es exacta para una no linealidad cuadrática si usa 1,5 veces más puntos de cuadratura que los modos de Fourier. Este es el factor de las tres mitades.
  5. Finalmente, observe que la cuadratura se puede calcular eficientemente como una FFT.

Toda la magia FFT puede considerarse como un esquema de cuadratura eficiente y aproximado que puede hacerse exacto para las no linealidades cuadráticas. Otras variantes de negociación juegan otros trucos para hacer que la cuadratura sea exacta para la misma clase de no linealidades.

Entonces, para responder a su pregunta, el desglose no agrega disipación. Esto se puede ver porque cada paso del procedimiento fue exacto.

Rhys Ulerich
fuente
1

@Malcolm dio una explicación experta de la negociación de las sumas de convolución basadas en FFT. Sin embargo, mi intuición me dice que esta todavía no es la respuesta completa necesaria para la aberración, por lo que daré algunas oraciones más que reflejen mi propia lucha por comprender los métodos numéricos.

La desasignación no actúa como una disipación numérica, pero hace lo mismo que la disipación numérica: evita que la simulación explote.

¿Cómo explota tu simulación?

Hay una transferencia no física de energía de números de onda altos a bajos que causa, en primer lugar, la inestabilidad (a menudo seguida de un simptomo: ondas 2h, distancia del nodo h-grid, las ondas más pequeñas que se pueden representar en una cuadrícula).

La razón detrás de esto es el alias de los números de onda alta a esos números de onda bajos que pueden ser representados por la cuadrícula. Esto provoca un "bloqueo espectral": el aumento no físico de las amplitudes (energía de lectura) de los números de onda altos, que empeora a medida que se acerca al límite superior de los números de onda representados.

Primer remedio (Philips, 1959): Filtre, o haga igual a cero, la mitad superior del espectro del número de onda representado.

Segundo remedio (Orszag, 1971): El remedio conocido como la regla de los dos tercios de Orszag. Steven dijo que "filtrar la mitad de los números de onda es un desperdicio, deberíamos mantener 2 / 3N y filtrar solo el 1 / 3N superior".

La conclusión.

Nuestras simulaciones a veces tienden a explotar. Si vives en segundo orden, universo de volumen finito (como lo hizo el autor de estas líneas), y no sabes nada sobre los métodos espectrales, te dicen "Oh, tu simulación está explotando? Intenta usar el viento de primer orden en lugar del esquema central, o mezcla su esquema central con un 10% de viento hacia arriba en el enfoque de corrección diferida. ¡Esto agregará disipación pero evitará que su simulación explote! Oh, ¿está haciendo LES? Entonces no debe usar viento a favor, a menos que esté realizando ILES, use solo esquema central y Smagorinsky modelarán la disipación física que ocurre en las escalas más bajas ". Si vives en el universo de los Métodos espectrales, aprendes cómo tiene lugar la transferencia no física de energía, y encuentras el remedio en el trato por la regla de los dos tercios o "relleno".

Mi inspiración para esta publicación es un libro maravilloso de J. Boyd "Chebyshev and Fourier Spectral Methods", sección 11.

Mi consejo es:

¡Actúa física o espectralmente, pero piensa espectralmente! (Parafraseando el bien conocido "Piensa globalmente, actúa localmente").

John Travolta
fuente
1

No hay fuga de energía asociada con el "trato" per se, pero hay una fuga de energía asociada con el truncamiento que siempre se realiza con o sin trato. Dejame explicar:

si tiene dos funciones f y g , ambas con contenido espectral hasta el modo k , el producto fg tendrá contenido espectral hasta el modo 2k . Sin embargo, no desea que el contenido espectral de su representación se duplique en cada paso de tiempo. Por lo tanto, desea truncar el producto fg a los primeros k modos. Al hacer esto, pierde la energía contenida en los modos superiores a k .

El desglose (o anti-alias) asegura que los modos hasta k son correctos en la representación de fg , pero no los modos más grandes que k , porque de todos modos se descartarán.

nat chouf
fuente