Reading Time: 12 minutes

Los métodos espectrales son técnicas numéricas de orden superior para resolver ecuaciones diferenciales parciales. A diferencia de los métodos de diferencia finita, que se aproximan a las derivadas a través de plantillas locales, los métodos espectrales representan la solución con funciones básicas que se extienden a lo largo de todo el dominio computacional.

Las opciones comunes incluyen modos de Fourier para problemas periódicos y polinomios de Chebyshev o Legendre para dominios acotados y no periódicos. Cuando la solución es suficientemente suave, estas aproximaciones globales pueden alcanzar una precisión muy alta con relativamente pocos grados de libertad.

Esta ventaja viene con limitaciones importantes. Los métodos espectrales funcionan mejor en dominios simples con soluciones suaves y condiciones de contorno bien definidas. Las discontinuidades causan oscilaciones, la geometría compleja debilita la conveniencia de las bases globales y la integración del tiempo explícita puede verse severamente restringida a medida que aumenta la resolución.

¿Qué son los métodos espectrales?

Un método espectral se aproxima a una función como una suma ponderada de funciones de base suave:

u(x) ≈ Σ cₙ φₙ(x)

Las funciones φₙ forman la base espectral, mientras que los coeficientes cₙ describen la contribución de cada modo. En lugar de almacenar solo información local, cada coeficiente puede afectar la aproximación en todo el dominio completo.

La base debe reflejar la estructura del problema. Las funciones de Fourier son naturales para los dominios periódicos porque ya satisfacen la periodicidad. Los polinomios de Chebyshev y Legendre se usan comúnmente en intervalos finitos como [-1, 1].

Los métodos espectrales no son simplemente esquemas de diferencia finita de muy alto orden. Siguen una estrategia de aproximación diferente. Los métodos locales construyen la solución a partir de información en celdas o elementos cercanos. Los métodos espectrales utilizan modos globales que pueden describir una función suave con una eficiencia notable.

Tres principales formulaciones espectrales

Los métodos espectrales pueden hacer cumplir la PDE gobernante de varias maneras.

Métodos de colocación

Un método de colocación requiere que la ecuación diferencial se mantenga en puntos de cuadrícula seleccionados. Estos puntos a menudo están conectados a la regla de base y cuadratura, como puntos de cuadrícula de Fourier o nodos de chebyshev-gauss-lobatto.

La colocación es popular porque convierte las derivadas en operaciones de matriz o transformaciones espectrales. También es relativamente fácil de combinar con términos no lineales evaluados en el espacio físico.

Métodos de Galerkin

Un método Galerkin proyecta el residuo del PDE en las funciones básicas seleccionadas. El residuo no necesita desaparecer en cada punto, pero debe ser ortogonal al espacio de aproximación.

Esta formulación proporciona una forma débil natural y puede conservar importantes propiedades de energía o simetría cuando se diseña cuidadosamente.

Métodos de Tau

Un método TAU modifica las ecuaciones seleccionadas asociadas con los modos de orden más alto, de modo que se pueden imponer condiciones de contorno. Está estrechamente relacionado con el enfoque de Galerkin, pero maneja las restricciones de manera diferente.

El software espectral moderno puede ocultar gran parte de este detalle de implementación. Sin embargo, los usuarios aún deben comprender cómo la formulación elegida representa las condiciones de contorno y los operadores diferenciales.

Métodos espectrales de Fourier

Los métodos de Fourier representan una solución periódica como una suma de modos trigonométricos:

u(x) ≈ Σ ûₖ exp(ikx)

La diferenciación se vuelve especialmente simple en el espacio espectral:

dûₖ/dx = ik ûₖ

Por lo tanto, un solucionador numérico puede transformar la solución en coeficientes de Fourier, multiplicar cada coeficiente por el número de onda apropiado y transformar el resultado en espacio físico.

La transformada rápida de Fourier reduce el costo de estas operaciones a aproximadamente O(N log N). Esto hace que los métodos de Fourier sean altamente eficientes para simulaciones periódicas que involucran ondas, turbulencias, dinámica de fluidos y formación de patrones.

Un derivado de Fourier en Python

La siguiente función calcula la primera derivada de una función periódica muestreada en una cuadrícula uniforme:

import numpy as np
from scipy.fft import fft, ifft, fftfreq

def fourier_derivative(values, domain_length):
    """Return the first derivative of periodic grid data."""

    number_of_points = len(values)
    spacing = domain_length / number_of_points

    wave_numbers = (
        2.0
        * np.pi
        * fftfreq(number_of_points, d=spacing)
    )

    spectral_values = fft(values)
    spectral_derivative = (
        1j
        * wave_numbers
        * spectral_values
    )

    return ifft(spectral_derivative).real


# Example
length = 2.0 * np.pi
points = 128

x = np.linspace(
    0.0,
    length,
    points,
    endpoint=False
)

values = np.sin(3.0 * x)
derivative = fourier_derivative(values, length)

exact_derivative = 3.0 * np.cos(3.0 * x)
error = np.max(np.abs(derivative - exact_derivative))

print("Maximum error:", error)

Para una función periódica suave que está bien resuelta por la cuadrícula, la derivada puede ser extremadamente precisa. El método también evita el error de truncamiento asociado con una plantilla de diferencia finita corta.

Métodos espectrales de Chebyshev

Los modos de Fourier no son adecuados cuando la solución no es periódica. Los métodos de Chebyshev proporcionan una alternativa común en un intervalo finito.

Los nodos chebyshev-gauss-lobatto están definidos por:

xⱼ = cos(πj / N),  j = 0, ..., N

Estos puntos se agrupan cerca de los puntos finales. La agrupación mejora la interpolación polinomial y ayuda a controlar las grandes oscilaciones que pueden ocurrir con la interpolación de orden superior igualmente espaciada.

El mismo agrupamiento también crea un desafío de paso en el tiempo. El espaciamiento más pequeño cerca de los límites se vuelve mucho más pequeño que el espaciado promedio de la cuadrícula, lo que puede imponer límites de estabilidad restrictivos en los métodos explícitos.

Construyendo una matriz de diferenciación de Chebyshev

La siguiente implementación crea la matriz de diferenciación Chebyshev estándar de primer orden:

import numpy as np

def chebyshev_differentiation_matrix(order):
    """Return Chebyshev nodes and first derivative matrix."""

    if order == 0:
        return (
            np.array([1.0]),
            np.array([[0.0]])
        )

    indices = np.arange(order + 1)
    nodes = np.cos(np.pi * indices / order)

    coefficients = np.ones(order + 1)
    coefficients[0] = 2.0
    coefficients[-1] = 2.0

    coefficients *= (-1.0) ** indices

    node_matrix = np.tile(
        nodes,
        (order + 1, 1)
    )

    differences = (
        node_matrix.T
        - node_matrix
    )

    ratio_matrix = np.outer(
        coefficients,
        1.0 / coefficients
    )

    derivative_matrix = (
        ratio_matrix
        / (
            differences
            + np.eye(order + 1)
        )
    )

    derivative_matrix -= np.diag(
        np.sum(
            derivative_matrix,
            axis=1
        )
    )

    return nodes, derivative_matrix


# Example
order = 32
x, derivative_matrix = (
    chebyshev_differentiation_matrix(order)
)

values = np.exp(x)
numerical_derivative = derivative_matrix @ values
exact_derivative = np.exp(x)

error = np.max(
    np.abs(
        numerical_derivative
        - exact_derivative
    )
)

print("Maximum error:", error)

La matriz de diferenciación es densa porque cada función de base global influye en todo el intervalo. Una multiplicación directa de matriz-vector tiene un costo de aproximadamente O(N²).

Para problemas unidimensionales moderados, esto aún puede ser práctico. Las simulaciones más grandes pueden usar métodos basados en transformaciones, reformulaciones escasas, descomposición de dominio o bibliotecas especializadas.

Por qué la convergencia espectral puede ser tan rápida

La principal ventaja de los métodos espectrales es su tasa de convergencia para soluciones suaves. Una diferencia finita de orden bajo o método de elementos finitos normalmente converge algebraicamente:

Error ≈ C N⁻ᵖ

El valor de p depende del orden del método. Por ejemplo, duplicar el número de puntos en un método de segundo orden puede reducir el error en aproximadamente un factor de cuatro cuando la solución está en el rango de convergencia asintótica.

Para una solución analítica, una aproximación espectral puede converger geométrica o exponencialmente:

Error ≈ C exp(-αN)

Esto significa que aumentar el número de modos puede reducir el error mucho más rápido que aumentar la resolución de un método local de orden bajo.

Una introducción práctica con ejemplos numéricos está disponible en Métodos espectrales en MATLAB.

El requisito de suavidad

La convergencia exponencial no ocurre para cada función. Depende de la regularidad de la solución exacta.

  • Una solución analítica puede producir convergencia geométrica o exponencial.
  • Una solución infinitamente diferenciable pero no analítica puede producir una convergencia más rápida que algebraica sin una tasa exponencial fija.
  • Una solución con sólo un número finito de derivados produce normalmente convergencia algebraica.
  • Una solución discontinua crea oscilaciones de Gibbs y elimina la principal ventaja de una base global sin problemas.

Los coeficientes suaves no garantizan una solución suave. Las esquinas, las condiciones de contorno incompatibles, el forzamiento discontinuo, las interfaces materiales y los datos iniciales singulares pueden reducir la regularidad.

Antes de seleccionar un método espectral, los investigadores deben examinar la suavidad esperada de la solución en lugar de solo la apariencia de la ecuación de gobierno.

El fenómeno de Gibbs

Una expansión global de Fourier o polinomial no puede representar un salto sin oscilar cerca de ella. Este comportamiento se conoce como el fenómeno de Gibbs.

A medida que aumenta el número de modos, la región oscilatoria se vuelve más estrecha, pero el exceso máximo cerca de la discontinuidad no desaparece de la misma manera que el error ordinario de región lisa.

Estas oscilaciones pueden crear concentraciones negativas, valores de presión no física o cálculos no lineales inestables. El filtrado puede reducirlos, pero el filtrado también elimina la información de alta frecuencia e introduce la disipación.

Por lo tanto, los métodos espectrales globales puros rara vez son la primera opción para las leyes de conservación dominadas por el choque.

Métodos espectrales multidominio

Una forma de preservar la precisión espectral es dividir el dominio en subdominios. Cada subdominio recibe su propia expansión espectral suave.

Si una discontinuidad o interfaz material se encuentra exactamente en un límite de subdominio, la aproximación dentro de cada región puede permanecer suave. Las condiciones de la interfaz luego conectan las soluciones de subdominio.

Este enfoque es común en la astrofísica y la relatividad numérica. Una revisión detallada está disponible en Grandclément y Novak’s Métodos espectrales para la relatividad numérica.

Las formulaciones multidominio también crean un puente entre los métodos espectrales globales y las técnicas de elementos espectrales.

Enfoques de captura de choque

Se han desarrollado varias técnicas para estabilizar aproximaciones espectrales cerca de choques. Incluyen filtrado espectral, viscosidad de fuga espectral, relajación y eliminación periódica de modos de alta frecuencia no resueltos.

El trabajo reciente sobre relajación espectral y purga espectral examina cómo los núcleos cuidadosamente diseñados pueden controlar las oscilaciones mientras conservan información útil a escala fina. Un ejemplo es el estudio métodos espectrales novedosos para la captura de choque y la eliminación de tigers en Dinámica de fluidos computacional.

Estas técnicas pueden mejorar una simulación espectral, pero no constituyen un problema discontinuo equivalente a uno suave. El método, la resistencia del filtro, la resolución y las propiedades de conservación aún requieren una validación cuidadosa.

Restricciones de paso en el tiempo

La alta precisión espacial no elimina los límites de estabilidad temporal. De hecho, las discretizaciones espectrales pueden producir grandes valores propios que hacen que la integración del tiempo explícita sea restrictiva.

Para la discretización de Fourier de la advección de primer orden, el mayor número de onda crece proporcionalmente a N. Por lo tanto, un límite de estabilidad explícito a menudo se escala aproximadamente como:

Δt ∝ N⁻¹

Para la discretización de Fourier de la difusión, los valores propios crecen como el cuadrado del número de onda:

Δt ∝ N⁻²

La agrupación de puntos de Chebyshev hace que los límites explícitos sean más restrictivos. Para los problemas de primera derivación, el límite práctico puede escalar aproximadamente como N⁻². Para los operadores de difusión de segunda derivados, puede volverse aún más severo.

La condición exacta depende de la PDE, el tratamiento de límites, la formulación y el integrador de tiempo. No debe reducirse a un solo exponente universal.

Integración implícita e IMEX

Los métodos implícitos pueden evitar las restricciones de estabilidad más fuertes asociadas con la difusión lineal u otros términos rígidos. Las fórmulas de Crank-Nicolson y de diferenciación hacia atrás son opciones comunes.

Un método IMEX trata implícitamente términos lineales rígidos y evalúa explícitamente términos no lineales o menos restrictivos:

∂u/∂t = L(u) + N(u)

El operador lineal L puede representar difusión, mientras que N contiene advección o reacción no lineal. Esta estructura es ampliamente utilizada en software PDE espectral.

Una comparación más amplia está disponible en la guía Métodos de integración de tiempo para solucionadores de PDE: explícito vs. esquemas implícitos.

Términos no lineales y alias

Los productos no lineales crean modos con frecuencias superiores a la que pueden representar la resolución original. Cuando estos modos se muestrean en la cuadrícula existente, pueden aparecer incorrectamente como componentes de menor frecuencia. Esto se llama alias.

Los solucionadores pseudoespectrales suelen calcular derivadas en el espacio espectral y en productos no lineales en el espacio físico. Antes de transformar el producto, pueden aplicar Dealiasing.

La regla común de dos tercios elimina los modos de Fourier más altos después de la multiplicación no lineal. Otro enfoque acota la representación espectral a una cuadrícula más grande, realiza la multiplicación allí y trunca el resultado.

Sin negociación, una simulación puede volverse inexacta o inestable incluso cuando la cuadrícula espacial parece estar suficientemente fina.

Usando Dedalus

Construir un solucionador espectral multidimensional completo requiere una gestión de bases, transformaciones, ecuaciones de contorno, distribución paralela e integración de tiempo. El documentación de Dedalus describe un marco de Python diseñado específicamente para simulaciones de PDE espectrales.

Dedalus admite bases de Fourier y polinomios, problemas de valor inicial, problemas de valor límite, problemas de valor propio y ejecución en paralelo. También proporciona herramientas basadas en TAU para imponer restricciones en dominios no periódicos.

Los usuarios deben seguir la sintaxis de la versión de Dedalus instalada porque su API ha cambiado entre las principales versiones. Conceptualmente, el flujo de trabajo sigue siendo consistente:

  1. Seleccione coordenadas y bases espectrales.
  2. Cree campos para las variables dependientes.
  3. Defina las ecuaciones y las restricciones de contorno.
  4. Seleccione un integrador de tiempo o un solucionador lineal.
  5. Establezca las tareas de resolución, negociación y salida.
  6. Ejecutar controles de convergencia y estabilidad.

Métodos espectrales y condiciones de contorno

Las condiciones de contorno periódicas se construyen naturalmente en una base de Fourier. Las condiciones no periódicas requieren más trabajo.

Las condiciones de Dirichlet o Neumann se pueden imponer reemplazando ecuaciones de colocación, construyendo funciones básicas que ya satisfacen las condiciones, o agregando variables y restricciones tau.

El enfoque seleccionado afecta el acondicionamiento de la matriz y la estructura del sistema final. Por lo tanto, deben tenerse en cuenta las condiciones de contorno al seleccionar la base, no agregarse solo después de que se complete la discretización espacial.

La investigación sobre bases ortogonales para PDE dependientes del tiempo proporciona formas adicionales de clasificar los sistemas básicos y el comportamiento de los límites. Una discusión matemática reciente está disponible en Fundaciones matemáticas de Métodos espectrales para PDES dependientes del tiempo.

Métodos espectrales vs. Galerkin discontinuo

Los métodos espectrales y discontinuos de Galerkin utilizan una aproximación polinomial, pero distribuyen la base de manera diferente.

Un método espectral tradicional utiliza una base global en todo el dominio completo. Un método DG asigna una base polinomial separada a cada elemento y permite saltos entre elementos vecinos.

Aspecto Método espectral global Método Galerkin discontinuo
Soporte de base Global en todo el dominio local a cada elemento
Mejor convergencia Geométrica para soluciones analíticas Convergencia P algebraica o rápida de alto orden en regiones suaves
Geometría Más conveniente en dominios simples Adecuado para mallas complejas no estructuradas
discontinuidades Causa Oscilaciones de Gibbs globales Se puede colocar en interfaces de elementos
Conservación Depende de la formulación Conservación local a través de flujos de interfaz
Comunicación Transformaciones globales u operadores densos Mayormente trabajo local de elementos con intercambio de rostros

Los métodos de diferencia espectral y de elementos espectrales combinan la descomposición del dominio local con una aproximación de orden alto dentro de cada elemento. Un ejemplo orientado a Python de la conexión entre la aproximación local de alto orden y DG se describe en Quail: un código galerkin discontinuo de código abierto ligero en Python.

Cuando los métodos espectrales funcionan mejor

Un método espectral global es una buena opción cuando:

  • La solución esperada es suave o analítica.
  • El dominio es periódico, rectangular o unidimensional.
  • Las condiciones de contorno coinciden con la base seleccionada.
  • La alta precisión espacial es más importante que la flexibilidad geométrica.
  • El problema puede utilizar transformaciones basadas en FFT o matrices densas moderadas.
  • Las discontinuidades y las interfaces de material afilado están ausentes.

Las aplicaciones típicas incluyen propagación de ondas suaves, análisis de estabilidad, flujos incompresibles en dominios simples, modelos cuánticos, formación de patrones y problemas seleccionados en geofísica y astrofísica.

Cuando otro método es mejor

Los métodos de volumen finito o DG suelen ser más naturales cuando los choques, las discontinuidades de contacto o la conservación local estricta dominan el problema.

Los métodos de elementos finitos y elementos espectrales pueden ser más apropiados para la geometría complicada, el refinamiento local y los límites irregulares.

Los métodos de diferencia finita de orden bajo pueden seguir siendo preferibles cuando la facilidad de implementación, el álgebra lineal escasa y el comportamiento local predecible importan más que la precisión extrema.

La decisión debe basarse en la regularidad de la solución, la geometría del dominio, las condiciones de contorno, las restricciones de escala de tiempo y el resultado que debe predecirse.

Una mesa de selección práctica

Problema Método sugerido Razón
PDE periódico suave Método espectral de Fourier Transformaciones rápidas y periodicidad natural
PDE suave en un intervalo finito Método Chebyshev o Legendre Alta precisión con límites no periódicos
Problema suave en geometría compleja Elemento espectral o FEM de alto orden Combina geometría local con aproximación de orden superior
Ley de Conservación Dominada por Choques DG o método de volumen finito Mejor apoyo a las discontinuidades y la conservación local
Regiones lisas mezcladas y no suaves Método multidominio o elemento espectral Separa las expansiones suaves por región
PDE rígido y liso Método espectral con integración implícita o IMEX Alta precisión espacial sin restricciones explícitas severas

Errores de implementación comunes

Un error común es seleccionar un método espectral solo porque se espera una alta precisión. La solución primero debe ser comprobada para suavidad.

Otros problemas frecuentes incluyen:

  • Uso de modos de Fourier para datos no periódicos sin una extensión adecuada
  • Ignorar el alias en ecuaciones no lineales
  • Uso de un paso de tiempo explícito que viola el límite de estabilidad espectral
  • Aplicar condiciones de contorno de manera inconsistente
  • Suponiendo que todas las funciones suaves producen la misma tasa exponencial
  • Usar demasiados modos sin monitorear el acondicionamiento
  • Interpretando las oscilaciones de Gibbs como comportamiento físico
  • Omitir las comparaciones con métodos locales o de orden inferior

Cómo validar un solucionador espectral

Comience con una función suave cuya solución derivada o PDE se conozca analíticamente. Aumente el número de modos y mida el error.

Para un problema analítico, el error debería disminuir rápidamente hasta que alcance los límites causados por la precisión del punto flotante, el acondicionamiento, el error de integración del tiempo o una solución de referencia insuficientemente precisa.

Para problemas no lineales, repita el experimento con y sin trato. Verifique las cantidades conservadas, los residuos de contorno y la decadencia de los coeficientes espectrales.

Una solución espectral útil normalmente muestra los coeficientes que disminuyen hacia los modos resueltos más altos. Si los coeficientes finales siguen siendo grandes, la simulación puede estar sub-resuelta.

Guías relacionadas

Lectura adicional

Conclusión

Los métodos espectrales aproximan soluciones PDE con bases globales de Fourier o polinomios. Para soluciones analíticas en dominios adecuados, pueden alcanzar una precisión muy alta con muchos menos grados de libertad que los métodos locales de bajo orden.

Su rendimiento depende en gran medida de la suavidad. Las discontinuidades causan que las oscilaciones de Gibbs, la geometría irregular debilita la conveniencia de las bases globales y las discretizaciones de Chebyshev de alta resolución pueden imponer severas restricciones explícitas de paso de tiempo.

Los métodos de Fourier son especialmente efectivos para los problemas periódicos, mientras que las técnicas de Chebyshev y Legendre soportan dominios no periódicos delimitados. La integración del tiempo implícita o IMEX, la negociación y el tratamiento de los límites cuidadosos a menudo son necesarios en las simulaciones prácticas.

Cuando el dominio es complejo o la solución contiene interfaces nítidas, elementos espectrales, galerkin discontinuo o métodos de volumen finito pueden proporcionar un mejor equilibrio. El método correcto está determinado no solo por la precisión deseada, sino también por la regularidad, la geometría, los requisitos de conservación y el costo computacional.