La ecuación de advección necesita ser discretizada para ser utilizada para el método de Crank-Nicolson. ¿Alguien puede mostrarme cómo hacer eso?
pde
advection
crank-nicolson
pandoragami
fuente
fuente
Respuestas:
Comenzando con la ecuación de advección es de forma conservadora,
El método de Crank-Nicolson consiste en una diferencia centrada promediada en el tiempo.
Con respecto a la notación, los subíndices son para puntos en el espacio, y los superíndices son para puntos en el tiempo.
Los puntos en están en el futuro: son incógnitas. Ahora tenemos que reorganizar la ecuación anterior para que todos los conocimientos estén en la derecha y las incógnitas estén en la derecha.n + 1
Haciendo la sustitución,
da,
Esta es la ecuación de advección discretizada utilizando el método de Crank-Nicolson. Puedes escribirlo como una ecuación matricial,
Algunas palabras de advertencia. Esta es la solución básica que deseaba, pero deberá incluir algún tipo de condición límite para un problema bien planteado. Además, Crank-Nicolson no es necesariamente el mejor método para la ecuación de advección. Es de segundo orden preciso e incondicionalmente estable , lo cual es fantástico. Sin embargo, generará (como con todas las plantillas de diferencia centrada) una oscilación espuria si tiene soluciones puntuales muy agudas o condiciones iniciales.
Escribí el siguiente código para usted en Python, debería ayudarlo a comenzar. El código resuelve la ecuación de advección para una curva gaussiana inicial que se mueve hacia la derecha con velocidad constante.
fuente