No estoy muy familiarizado con los esquemas comunes de discretización para PDEs. Sé que Crank-Nicolson es un esquema popular para discretizar la ecuación de difusión. ¿También es una buena opción para el término de advección?
Estoy interesado en resolver la ecuación Reacción-Difusión-Advección ,
donde es el coeficiente de difusión de la sustancia y es la velocidad.
Para mi aplicación específica, la ecuación se puede escribir en la forma,
Aquí está el esquema de Crank-Nicolson que he aplicado,
Observe los términos y . Esto permite que el esquema se mueva entre:
- 1/2 Crank-Niscolson,
- es totalmente implícito
- es completamente explícito
Los valores pueden ser diferentes, lo que permite que el término de difusión sea Crank-Nicolson y que el término de advección sea otra cosa. ¿Cuál es el enfoque más estable, qué recomendarías?
fuente
En términos generales, querrá utilizar un método implícito para las ecuaciones parabólicas (la parte de difusión): los esquemas explícitos para la PDE parabólica deben tener un tiempo muy breve para ser estables. Por el contrario, para la parte hiperbólica (advección) querrá un método explícito, ya que es más barato y no interrumpe la simetría del sistema lineal que debe resolver utilizando un esquema implícito para la difusión. En ese caso, desea evitar diferencias centradas como y cambiar a diferencias unilaterales por razones de estabilidad.(uj+1−uj−1)/2Δt (uj−uj−1)/Δt
Le sugiero que mire el libro de Randy Leveque o el libro de Dale Durran para el "análisis de estabilidad von Neumann". Es un enfoque general para determinar la estabilidad de su esquema de discretización, siempre que tenga condiciones límite periódicas. (También hay un buen artículo wiki aquí ).
La idea básica es suponer que su aproximación discreta se puede escribir una suma de ondas planas , donde es el número de onda y la frecuencia. Aprietas una onda plana en tu aproximación al PDE y rezas para que no explote. Podemos reescribir la onda plana como y queremos asegurarnos de que .ei(kjΔx−ωnΔt) k ω ξneikjΔx |ξ|≤1
A modo de ilustración, considere la ecuación de difusión ordinaria con diferenciación totalmente implícita:
Si sustituimos en una onda plana, luego dividimos por y , obtenemos la ecuaciónξn eikjΔx
Limpie esto un poco ahora y obtenemos:
Esto siempre es menos de uno, por lo que está en claro. Intente aplicar esto para el esquema explícito y centrado de la ecuación de advección:
y mira qué obtienes. (Tendrá una parte imaginaria esta vez). Encontrarás que , que son momentos tristes. De ahí mi advertencia de que no lo uses. Si puede hacer eso, entonces no debería tener muchos problemas para encontrar un esquema estable para la ecuación de advección-difusión completa.ξ |ξ|2>1
Dicho esto, usaría un esquema totalmente implícito para la parte de difusión. Cambie la diferencia en la parte de advección a si y si y elija un paso de tiempo para que . (Esta es la condición de Courant-Friedrichs-Lewy ). Solo es precisa de primer orden, por lo que es posible que desee buscar esquemas de discretización de orden superior si eso le preocupa.uj−uj−1 v>0 uj−uj+1 v<0 VΔt/Δx≤1
fuente