¿Cuáles son los métodos posibles para resolver ecuaciones de Euler compresibles?

13

Me gustaría escribir mi propio solucionador para ecuaciones de Euler compresibles, y lo más importante, quiero que funcione de manera sólida en todas las situaciones. Me gustaría que esté basado en FE (DG está bien). ¿Cuáles son los posibles métodos?

Soy consciente de hacer DG de 0º orden (volúmenes finitos) y eso debería funcionar de manera muy robusta. He implementado un solucionador FVM básico y funciona muy bien, pero la convergencia es bastante lenta. Sin embargo, esta es definitivamente una opción.

He implementado un solucionador de FE (funciona para cualquier malla y cualquier orden polinómico en cualquier elemento) para ecuaciones de Euler linealizadas, pero estoy obteniendo oscilaciones espurias (y eventualmente se apaga, así que no puedo usarlo para resolver mi problema) y He leído en la literatura que hay que estabilizarlo. Si implemento algo de estabilización, ¿funcionaría de manera sólida para todos los problemas (= condiciones de contorno y geometrías)? ¿Cuál será la tasa de convergencia?

Aparte de eso, ¿hay alguna otra metodología sólida para las ecuaciones de Euler (es decir, DG de orden superior con cierta estabilización)?

Soy consciente de que muchas personas probaron muchas cosas diferentes en sus códigos de investigación, pero estoy interesado en un método robusto que funcione para todas las geometrías y condiciones de contorno (edición: en 2D y 3D).

Ondřej Čertík
fuente

Respuestas:

11

La principal dificultad numérica para resolver un sistema no lineal de primer orden de PDE hiperbólicas como las ecuaciones de Euler (para flujo compresible, invisible) es que las discontinuidades (ondas de choque) aparecen en la solución después de un tiempo finito, incluso si los datos iniciales son suaves. Para lidiar con esto, la mayoría de los códigos modernos usan ambos

  • limitadores de pendiente (o flujo ) , que proporcionan una forma de calcular derivados con precisión cerca de discontinuidades sin introducir oscilaciones espurias; y
  • Los solucionadores aproximados de Riemann , que localmente (en cada borde / cara de la cuadrícula) resuelven un problema de valor inicial con datos iniciales constantes por partes y una única discontinuidad.

Existen discretizaciones de diferencias finitas (FD), volúmenes finitos (FV) y elementos finitos (FE) que incorporan limitadores y solucionadores de Riemann, y todo puede ser altamente preciso, al menos lejos de los golpes. Por lo tanto, no tiene sentido decir categóricamente que los métodos FE convergen más rápido que los métodos FV: serán comparables si se utilizan discretizaciones de orden comparables.

Entre los métodos FE, los métodos Galerkin discontinuos son los más adecuados aquí, ya que la solución será de hecho discontinua. Si desea implementar el suyo, le sugiero que lea este documento de revisión y obtenga una copia del texto de Hesthaven & Warburton para comprender los conceptos básicos. Luego hay muchos documentos en DG para flujo compresible .

Si está dispuesto a usar el código de otra persona, y como sé que usa Python, puede echar un vistazo al código Hedge de Andreas Kloeckner , que tiene una interfaz Python y puede ejecutarse en GPU. Probablemente hay otros buenos códigos DG disponibles, y muchos buenos códigos FV (como Clawpack , que también tiene una interfaz Python ).

También hay nuevos métodos de alto orden como la diferencia espectral. Para una perspectiva reciente, vea Cheng & Shu 2009, Esquemas de alto orden para CFD: Una revisión o Ekaterinaris 2005, Métodos precisos de alto orden y baja difusión numérica para aerodinámica .

David Ketcheson
fuente
Gracias David, especialmente por todos los consejos a los periódicos. FV es simplemente cero orden DG, ¿no? ¿O el FV de orden superior es de alguna manera diferente al mismo DG de orden? Quiero implementar algo yo mismo, para comprender completamente lo que está sucediendo. El código de cobertura se ve genial.
Ondřej Čertík
1
FE y FV son a menudo equivalentes para esquemas de primer orden. Los esquemas de orden superior son generalmente diferentes, y ninguno es un subconjunto del otro.
David Ketcheson
1
Puede unificar en cierta medida con "DG de reconstrucción". FV normalmente usa funciones de prueba constantes por partes y reconstruye usando vecinos para elevar el orden. DG normalmente usa un espacio de prueba coincidente (Galerkin) y eleva el orden interno. Tenga en cuenta que DG todavía necesita limitadores para golpes fuertes, y luego ya no es un método de Galerkin. Reconstruction DG te permite hacer ambas cosas: elevar el orden interno y reconstruir usando vecinos, por lo tanto, FV y DG convencionales son casos limitantes.
Jed Brown
Si estoy modelando un sistema físico que creo que por razones empíricas no muestra ondas de choque, ¿cuál es un buen método?
sigfpe
@sigfpe sería mejor para ti publicar una nueva pregunta, con más información.
David Ketcheson