¿Cómo se deben tratar los coeficientes no constantes con un esquema de viento finito de primer orden?

11

Comenzando con la ecuación de advección en forma de conservación.

ut=(a(x)u)x

donde es una velocidad que depende del espacio, yu es una concentración de una especie que se conserva.a(x)u

Discretizar el flujo (donde el flujo , se define en los bordes de las celdas entre los puntos de malla) da, u t = 1f=a(x)u

ut=1h(fj12fj+12)

Usando un viento de primer orden, aproximamos los flujos como,

Lo que da, ut=1

fj12=a(xj12)uj1fj+12=a(xj+12)uj
ut=1h(a(xj12)uj1a(xj+12)uj)

Si fue constante, esto se reducirá al esquema familiar de viento arriba, es decir, u t = aa(x).ut=ah(uj1uj)

Mi pregunta es, ¿cómo podemos tratar los coeficientes no constantes de la ecuación de advección? La velocidad se define en los centros celulares, por lo que un enfoque simple sería el siguiente,

a(xj12)a(xj1)a(xj+12)a(xj)

Este es mi enfoque preferido porque es muy simple de implementar.

Sin embargo, también podríamos usar (supongo) un esquema de promedio para definir la velocidad en los bordes de la celda,

a(xj12)12a(xj1)+12a(xj)a(xj+12)12a(xj)+12a(xj+1)

En el libro de LeVeque dice:

a(x)ajaj12

Pero en realidad no elabora demasiado después de eso. ¿Qué es un enfoque común?

Estoy resolviendo un problema de conservación (estoy usando la ecuación de advección como una ecuación de continuidad), por lo que quiero asegurarme de que después de aplicar la discretización se conserve la propiedad de conservación. ¡Me gustaría evitar sorpresas ocultas con respecto a estos coeficientes variables! ¿Alguien tiene algunos comentarios generales y orientación?


Actualización A continuación hay dos respuestas realmente buenas y solo podría elegir una :(

boyfarrell
fuente

Respuestas:

4

a

Lo más importante (y ya ha mencionado esto en su pregunta) es que el sistema discretizado sigue siendo conservador. Siempre que su esquema se pueda escribir en la forma

ujt=Fj12(uj1,uj)Fj+12(uj,uj+1)

entonces debería ser conservador, ya que

tudx=jujtδx=j(Fj12Fj+12)δx=(F12FN+12)δx

Su enfoque simple debería funcionar bien, al igual que promediar la velocidad entre las celdas para definirlo en las interfaces de la celda, siempre que la velocidad sea siempre positiva. Además, no creo que el promedio le proporcione una mayor precisión, por lo que tiene razón al preferir la forma simple.

Si también está resolviendo la velocidad y tiene un sistema de ecuaciones, es posible que deba ser más cuidadoso. Del mismo modo, si está resolviendo una PDE hiperbólica no lineal y utilizando limitadores de flujo, debe ser aún más cauteloso.

* Sin embargo, para un sistema de PDE hiperbólicas, el uso de rejillas escalonadas puede mejorar sustancialmente la dispersión / difusión artificial. Si desea saber más, busque las rejillas C de Arakawa o consulte el capítulo 4 de este libro .

Daniel Shapero
fuente
Gracias por explicarlo. Y tu intuición es correcta; Estoy resolviendo un sistema de ecuaciones donde una de las ecuaciones es la velocidad (un PDE de las otras variables). El sistema de ecuaciones es solo 1D, estoy planeando usar un método adaptativo de 1 ° orden a favor del viento (puede cambiar entre 2 ° orden central y viento arriba) tal vez con ajuste exponencial. No estoy usando limitadores de flujo, pero el sistema no es lineal. ¿Necesito ser "más cuidadoso" en esta situación?
boyfarrell
Todo depende de si espera que se formen ondas de choque y similares, si existe la posibilidad de que la velocidad sea inferior a cero en algunas regiones, o si la velocidad puede llegar a ser lo suficientemente alta como para entrar en conflicto con la condición de Courant-Friedrichs-Lewy en algún momento. Dicho esto, primero probaría el enfoque simple para ver si funciona, lo que bien podría hacer. Si va a fallar, lo hará de manera espectacular e inequívoca, por lo que no creo que deba preocuparse por que algo se salga de su radar.
Daniel Shapero
Sí, espero que la velocidad sea distinta de cero solo en el centro de mi dominio y luego se acerque rápidamente a cero a medida que uno se aleja del centro. Estoy eligiendo el paso de tiempo para que se cumpla la condición de CFL (usando la velocidad máxima), la malla está fija. ¿Cuál es el criterio para una onda de choque? No estoy anticipando ver eso (pero nunca se sabe).
boyfarrell
5

a(x)

Lo que quiero decir con consistente es que la única condición que la interpolación debe satisfacer es

ai+1/2+=ai+1/2

En otras palabras, siempre que su método de interpolación sea continuo a través de los límites de las celdas, se garantiza que su discretización seguirá siendo conservadora.

Esto puede no parecer un gran problema aquí en 1D (y no debería), pero puede causar problemas en las interfaces gruesas en las cuadrículas AMR de varios niveles.

GradGuy
fuente
uj+12a(xj+12)a(xj+12)a(xj+1)uj+12
@boyfarrell Estaría bien en el sentido de que el método sigue siendo conservador. Sin embargo, sí afecta la precisión de la solución. Muchas veces, por ejemplo, en esquemas ENO, uno aproxima la función de flujo completo y no la velocidad y la solución por separado.
GradGuy
4

a(xj12)

Para ver por qué esto es así, considere que la definición analítica de conservador es que

tDu(x)dx=Da(x)u(x)dS,

D

Si nuestra discretización es de la forma

ut(xj)=1h(a(xj12)uj12a(xj+12)uj+12)

x1,,xnD=[c,d]c=x12d=xn+12

1hj=1n(a(xj12)uj12a(xj+12)uj+12)=a(x12)u12a(xn+12)un+12,

uj12=uj1uj+12=uja(x)u

a(x)a(xjr),,a(xj+s)a(xj12)

Ben
fuente