stringtranslate.com

Esquema MUSCL

En el estudio de ecuaciones diferenciales parciales , el esquema MUSCL es un método de volumen finito que puede proporcionar soluciones numéricas de alta precisión para un sistema determinado, incluso en los casos en que las soluciones presentan choques, discontinuidades o grandes gradientes. MUSCL significa Monotonic Upstream-centered Scheme for Conservation Laws (van Leer, 1979), y el término fue introducido en un artículo fundamental por Bram van Leer (van Leer, 1979). En este artículo , construyó el primer esquema de variación total decreciente (TVD) de alto orden donde obtuvo precisión espacial de segundo orden.

La idea es reemplazar la aproximación constante por partes del esquema de Godunov por estados reconstruidos, derivados de estados promediados por celdas obtenidos del paso de tiempo anterior. Para cada celda, se obtienen los estados izquierdo y derecho reconstruidos y limitados por pendiente, que se utilizan para calcular los flujos en los límites (bordes) de la celda. Estos flujos pueden, a su vez, usarse como entrada para un solucionador de Riemann , después de lo cual las soluciones se promedian y se usan para avanzar la solución en el tiempo. Alternativamente, los flujos se pueden utilizar en esquemas sin solucionador de Riemann , que son básicamente esquemas tipo Rusanov.

Reconstrucción lineal

Ecuación advectiva 1D , con onda escalonada propagándose hacia la derecha. Muestra la solución analítica junto con una simulación basada en un esquema de discretización espacial de primer orden en contra del viento.

Consideraremos los fundamentos del esquema MUSCL considerando el siguiente sistema 1D escalar simple de primer orden, que se supone que tiene una onda que se propaga en la dirección positiva:

Donde representa una variable de estado y representa una variable de flujo .

El esquema básico de Godunov utiliza aproximaciones constantes por partes para cada celda y da como resultado una discretización a contraviento de primer orden del problema anterior con los centros de las celdas indexados como . Un esquema semidiscreto se puede definir de la siguiente manera,

Este esquema básico no es capaz de manejar shocks o discontinuidades agudas, ya que tienden a emborronarse. Un ejemplo de este efecto se muestra en el diagrama de al lado, que ilustra una ecuación advectiva 1D con una onda escalonada que se propaga hacia la derecha. La simulación se realizó con una malla de 200 celdas y se utilizó un integrador de tiempo Runge-Kutta de cuarto orden (RK4).

Para proporcionar una mayor resolución de las discontinuidades, el esquema de Godunov se puede ampliar para utilizar aproximaciones lineales por partes de cada celda, lo que da como resultado un esquema de diferencia central que tiene una precisión de segundo orden en el espacio. Las aproximaciones lineales por partes se obtienen de

Por tanto, al evaluar los flujos en los bordes de la celda obtenemos el siguiente esquema semidiscreto

Ecuación advectiva 1D , con onda escalonada propagándose hacia la derecha. Muestra la solución analítica junto con una simulación basada en un esquema de discretización espacial de diferencia central de segundo orden.

donde y son los valores aproximados por partes de las variables de borde de celda, es decir ,

Aunque el esquema de segundo orden anterior proporciona mayor precisión para soluciones suaves, no es un esquema de variación total decreciente (TVD) e introduce oscilaciones espurias en la solución cuando hay discontinuidades o shocks presentes. Un ejemplo de este efecto se muestra en el diagrama de al lado, que ilustra una ecuación advectiva 1D , con una onda escalonada propagándose hacia la derecha. Esta pérdida de precisión es de esperarse debido al teorema de Godunov . La simulación se realizó con una malla de 200 celdas y se utilizó RK4 para la integración temporal.

Un ejemplo de extrapolación lineal de estado izquierdo y derecho de tipo MUSCL.

Los esquemas numéricos basados ​​en MUSCL amplían la idea de utilizar una aproximación lineal por partes a cada celda mediante el uso de estados extrapolados hacia la izquierda y hacia la derecha con pendiente limitada . Esto da como resultado el siguiente esquema de discretización TVD de alta resolución,

Que, alternativamente, puede escribirse en una forma más sucinta,

Los flujos numéricos corresponden a una combinación no lineal de aproximaciones de primer y segundo orden a la función de flujo continuo.

Los símbolos y representan funciones dependientes del esquema (de las variables de borde de celda extrapoladas limitadas), es decir ,

donde, utilizando pendientes a favor del viento:

y

La función es una función limitadora que limita la pendiente de las aproximaciones por partes para garantizar que la solución sea TVD, evitando así las oscilaciones espurias que de otro modo ocurrirían alrededor de discontinuidades o choques; consulte la sección Limitador de flujo . El limitador es igual a cero cuando y es igual a la unidad cuando . Por lo tanto, la precisión de una discretización TVD se degrada al primer orden en los extremos locales, pero tiende al segundo orden en partes suaves del dominio.

El algoritmo es sencillo de implementar. Una vez que se ha elegido un esquema adecuado , como el esquema de Kurganov y Tadmor (ver más abajo), la solución puede proceder utilizando técnicas de integración numérica estándar.

Esquema central de Kurganov y Tadmor

Un precursor del esquema central de Kurganov y Tadmor (KT) (Kurganov y Tadmor, 2000), es el esquema central escalonado Nessyahu y Tadmor (NT) , (Nessyahu y Tadmor, 1990). Es un esquema de alta resolución , de segundo orden y sin solucionador de Riemann que utiliza la reconstrucción MUSCL. Es un método totalmente discreto que es sencillo de implementar y puede usarse en problemas escalares y vectoriales , y puede verse como un flujo de Rusanov (también llamado flujo local de Lax-Friedrichs) complementado con reconstrucciones de alto orden. El algoritmo se basa en diferencias centrales con un rendimiento comparable al de los solucionadores de tipo Riemann cuando se utiliza para obtener soluciones para sistemas de descripción de PDE que exhiben fenómenos de alto gradiente.

El esquema KT extiende el esquema NT y tiene una menor cantidad de viscosidad numérica que el esquema NT original. También tiene la ventaja adicional de que puede implementarse como un esquema totalmente discreto o semidiscreto . Aquí consideramos el esquema semidiscreto.

El cálculo se muestra a continuación:

Ecuación advectiva 1D , con onda escalonada propagándose hacia la derecha. Muestra la solución analítica junto con una simulación basada en el esquema central de Kurganov y Tadmor con limitador SuperBee.

Donde la velocidad de propagación local , es el valor absoluto máximo del valor propio del jacobiano de más de celdas dado por

y representa el radio espectral de

Más allá de estas velocidades relacionadas con CFL , no se requiere información característica.

El cálculo de flujo anterior se denomina con mayor frecuencia flujo de Lax-Friedrichs (aunque vale la pena mencionar que dicha expresión de flujo no aparece en Lax, 1954 sino en Rusanov, 1961).

Un ejemplo de la eficacia de utilizar un esquema de alta resolución se muestra en el diagrama de al lado, que ilustra la ecuación advectiva 1D , con una onda escalonada propagándose hacia la derecha. La simulación se realizó sobre una malla de 200 celdas, utilizando el esquema central de Kurganov y Tadmor con limitador Superbee y se utilizó RK-4 para la integración temporal. El resultado de esta simulación contrasta extremadamente bien con los resultados de ceñida de primer orden y de diferencia central de segundo orden que se muestran arriba. Este esquema también proporciona buenos resultados cuando se aplica a conjuntos de ecuaciones; consulte los resultados a continuación para este esquema aplicado a las ecuaciones de Euler. Sin embargo, se debe tener cuidado al elegir un limitador apropiado porque, por ejemplo, el limitador Superbee puede provocar una nitidez poco realista en algunas ondas suaves.

El esquema puede incluir fácilmente términos de difusión, si están presentes. Por ejemplo, si el problema escalar 1D anterior se extiende para incluir un término de difusión, obtenemos

para lo cual Kurganov y Tadmor proponen la siguiente aproximación de diferencia central,

Dónde,

Los detalles completos del algoritmo ( versiones completa y semidiscreta ) y su derivación se pueden encontrar en el artículo original (Kurganov y Tadmor, 2000), junto con varios ejemplos 1D y 2D. También se encuentra disponible información adicional en el artículo anterior relacionado de Nessyahu y Tadmor (1990).

Nota: Este esquema fue presentado originalmente por Kurganov y Tadmor como un esquema de segundo orden basado en extrapolación lineal . Un artículo posterior (Kurganov y Levy, 2000) demuestra que también puede constituir la base de un esquema de tercer orden. En las secciones de reconstrucción parabólica y ecuación de Euler que aparecen a continuación se muestran un ejemplo de advectivo 1D y un ejemplo de ecuación de Euler de su esquema, utilizando reconstrucción parabólica (tercer orden) .

Reconstrucción parabólica por partes

Un ejemplo de reconstrucción parabólica de estado tipo MUSCL.

Es posible ampliar la idea de extrapolación lineal a una reconstrucción de orden superior, y en el diagrama de al lado se muestra un ejemplo. Sin embargo, para este caso, los estados izquierdo y derecho se estiman mediante la interpolación de una ecuación en diferencias de segundo orden, sesgada contra el viento. Esto da como resultado un esquema de reconstrucción parabólica con una precisión de tercer orden en el espacio.

Seguimos el enfoque de Kermani (Kermani, et al., 2003) y presentamos un esquema sesgado contra el viento de tercer orden, donde los símbolos y nuevamente representan funciones dependientes del esquema (de las variables de borde de celda reconstruidas limitadas). Pero para este caso se basan en estados reconstruidos parabólicamente, es decir ,

y

Ecuación advectiva 1D , con onda escalonada propagándose hacia la derecha. Muestra la solución analítica junto con una simulación basada en el Esquema Central de Kurganov y Tadmor con reconstrucción parabólica y limitador de Van Albada.

Donde = 1/3 y,

y la función limitadora es la misma que la anterior.

La reconstrucción parabólica es sencilla de implementar y se puede utilizar con el esquema de Kurganov y Tadmor en lugar de la extrapolación lineal que se muestra arriba. Esto tiene el efecto de elevar la solución espacial del esquema KT al tercer orden. Funciona bien al resolver las ecuaciones de Euler, ver más abajo. Este aumento en el orden espacial tiene ciertas ventajas sobre los esquemas de segundo orden para soluciones suaves; sin embargo, para choques es más disipativo; compare el diagrama opuesto con la solución anterior obtenida usando el algoritmo KT con extrapolación lineal y limitador Superbee. Esta simulación se realizó sobre una malla de 200 celdas utilizando el mismo algoritmo KT pero con reconstrucción parabólica. La integración temporal se realizó mediante RK-4, y se utilizó la forma alternativa del limitador de Van Albada, para evitar oscilaciones espurias.

Ejemplo: ecuaciones de Euler 1D

Por simplicidad consideramos el caso 1D sin transferencia de calor y sin fuerza corporal. Por lo tanto, en forma de vector de conservación, las ecuaciones generales de Euler se reducen a

dónde

y donde es un vector de estados y es un vector de flujos.

Las ecuaciones anteriores representan la conservación de masa , momento y energía . Por tanto, existen tres ecuaciones y cuatro incógnitas: (densidad), (velocidad del fluido), (presión) y (energía total). La energía total está dada por,

donde representa la energía interna específica.

Para cerrar el sistema se requiere una ecuación de estado . Uno que se adapta a nuestro propósito es

donde es igual a la relación de calores específicos del fluido.

Ahora podemos proceder, como se muestra arriba en el ejemplo 1D simple, obteniendo los estados extrapolados hacia la izquierda y hacia la derecha para cada variable de estado. Así, para la densidad obtenemos

dónde

De manera similar, para el impulso y la energía total . La velocidad se calcula a partir del momento y la presión se calcula a partir de la ecuación de estado.

Habiendo obtenido los estados extrapolados limitados, procedemos a construir los flujos de borde utilizando estos valores. Conociendo los flujos de borde, ahora podemos construir el esquema semidiscreto, es decir ,

La solución ahora puede proceder por integración utilizando técnicas numéricas estándar.

Lo anterior ilustra la idea básica del esquema MUSCL. Sin embargo, para una solución práctica de las ecuaciones de Euler, también se debe elegir un esquema adecuado (como el esquema KT anterior) para definir la función .

Simulación de alta resolución de ecuaciones de Euler basada en el problema del 'tubo de choque' de GA Sod. Muestra las soluciones analíticas junto con soluciones simuladas (segundo orden) basadas en el esquema central de Kuganov y Tadmor con extrapolación lineal y limitador Ospre.

El diagrama de al lado muestra una solución de segundo orden al problema del tubo de choque de GA Sod (Sod, 1978) utilizando el esquema central (KT) de Kurganov y Tadmor de alta resolución con extrapolación lineal y limitador Ospre. Esto ilustra claramente la eficacia del enfoque MUSCL para resolver las ecuaciones de Euler. La simulación se realizó sobre una malla de 200 celdas utilizando código Matlab (Wesseling, 2001), adaptado para utilizar el algoritmo KT y el limitador Ospre . La integración del tiempo se realizó mediante un integrador SHK (rendimiento equivalente al RK-4) de cuarto orden. Se utilizaron las siguientes condiciones iniciales ( unidades SI ):

Simulación de alta resolución de ecuaciones de Euler basadas en el problema del 'tubo de choque' de GA Sod: unidades SI. Muestra las soluciones analíticas junto con soluciones simuladas (tercer orden) basadas en el Esquema Central de Kurganov y Tadmor con reconstrucción parabólica y limitador de Van Albada.

El diagrama de al lado muestra una solución de tercer orden al problema del tubo de choque de GA Sod (Sod, 1978) utilizando el Esquema Central (KT) de Kurganov y Tadmor de alta resolución anterior pero con reconstrucción parabólica y limitador de Van Albada. Esto ilustra nuevamente la efectividad del enfoque MUSCL para resolver las ecuaciones de Euler. La simulación se realizó sobre una malla de 200 celdas utilizando código Matlab (Wesseling, 2001), adaptado para utilizar el algoritmo KT con Extrapolación Parabólica y limitador de van Albada . Se utilizó la forma alternativa del limitador de Van Albada, para evitar oscilaciones espurias. La integración temporal se realizó mediante un integrador SHK de cuarto orden. Se utilizaron las mismas condiciones iniciales.

Se han desarrollado varios otros esquemas de alta resolución que resuelven las ecuaciones de Euler con buena precisión. Ejemplos de tales esquemas son,

Puede encontrar más información sobre estos y otros métodos en las referencias siguientes. Puede encontrar una implementación de código abierto del esquema central de Kurganov y Tadmor en los enlaces externos a continuación.

Ver también

Referencias

Otras lecturas

enlaces externos