No entiendo el comportamiento diferente de la ecuación de advección-difusión cuando aplico diferentes condiciones de contorno. Mi motivación es la simulación de una cantidad física real (densidad de partículas) bajo difusión y advección. La densidad de partículas debe conservarse en el interior a menos que fluya desde los bordes. Según esta lógica, si impongo condiciones de contorno de Neumann, los extremos del sistema, como (en los lados izquierdo y derecho), entonces el sistema debe estar"cerrado",es decir, si elflujoen el límite es cero, entonces no pueden escapar partículas.
Para todas las simulaciones a continuación, he aplicado la discretización de Crank-Nicolson a la ecuación de advección-difusión y toda la simulación tiene condiciones de contorno. Sin embargo, para la primera y la última fila de la matriz (las filas de condiciones de contorno), permito quese cambie independientemente del valor interior. Esto permite que los puntos finales sean totalmente implícitos.
A continuación, analizo 4 configuraciones diferentes, solo una de ellas es lo que esperaba. Al final hablo de mi implementación.
Límite de difusión solamente
Aquí los términos de advección se desactivan al establecer la velocidad en cero.
Difusión solamente, con = 0.5 (Crank-Niscolson) en todos los puntos
La cantidad no se conserva como puede verse por la reducción del área del pulso.
Difusión solamente, con = 0.5 (Crank-Niscolson) en los puntos interiores, y = 1 (totalmente implícito) en los límitesβ
Al usar una ecuación totalmente implícita en los límites, logro lo que espero: no se escapan partículas . Puede ver esto por el área que se conserva como la partícula difusa. ¿Por qué la elección de en los puntos límite influye en la física de la situación? ¿Es esto un error o esperado?
Difusión y advección
Cuando se incluye el término de advección, el valor de en los límites no parece influir en la solución. Sin embargo, para todos los casos en que los límites parecen estar "abiertos", es decir, las partículas pueden escapar de los límites. ¿Por qué es este el caso?
Advección y difusión con = 0.5 (Crank-Niscolson) en todos los puntos
Advección y difusión con = 0.5 (Crank-Niscolson) en los puntos interiores, y = 1 (totalmente implícito) en los límitesβ
Implementación de la ecuación de advección-difusión
Comenzando con la ecuación de advección-difusión,
Escribir usando Crank-Nicolson da,
Tenga en cuenta que = 0.5 para Crank-Nicolson, = 1 para totalmente implícito y = 0 para totalmente explícito.β β
Para simplificar la notación hagamos la sustitución,
y mueva el valor conocido de la derivada del tiempo al lado derecho,
Factorizar los términos da,
que podemos escribir en forma de matriz como donde,
Aplicación de condiciones de contorno de Neumann
NB está trabajando a través de la derivación nuevamente, creo que he descubierto el error. Asumí un esquema totalmente implícito ( = 1) al escribir la diferencia finita de la condición de contorno. Si asume un esquema de Crank-Niscolson aquí, la complejidad se vuelve demasiado grande y no podría resolver las ecuaciones resultantes para eliminar los nodos que están fuera del dominio. Sin embargo, parece posible, hay dos ecuaciones con dos incógnitas, pero no pude manejarlo. Esto probablemente explica la diferencia entre la primera y la segunda gráfica de arriba. Creo que podemos concluir que solo las gráficas con = 0.5 en los puntos límite son válidas.β
Suponiendo que se conoce el flujo en el lado izquierdo (asumiendo una forma totalmente implícita),
Escribir esto como una diferencia centrada da,
por lo tanto,
Tenga en cuenta que esto introduce un nodo que está fuera del dominio del problema. Este nodo puede eliminarse utilizando una segunda ecuación. Podemos escribir el nodo como,
Sustituyendo en el valor de encuentra en la condición límite, se obtiene el siguiente resultado para la fila = 1,
Realizando el mismo procedimiento para la fila final (en = ) produce,
Finalmente, hacer implícitas las filas límite (configuración = 1) da,
Por lo tanto, con las condiciones de contorno de Neumann podemos escribir la ecuación matricial, ,
dónde,
Mi comprensión actual
Creo que la diferencia entre la primera y la segunda gráfica se explica al observar el error descrito anteriormente.
En cuanto a la conservación de la cantidad física. Creo que la causa es que, como se señaló aquí , la ecuación de advección en la forma que he escrito no permite la propagación en la dirección inversa, por lo que la onda simplemente pasa incluso con condiciones de límite de flujo cero . Mi intuición inicial con respecto a la conservación solo se aplica cuando el término de advección es cero (esta es la solución en la parcela número 2 donde se conserva el área).Incluso con las condiciones de límite de flujo cero de Neumann la masa aún puede abandonar el sistema, esto se debe a que las condiciones de límite correctas en este caso son condiciones de límite de Robin en las que el flujo total se especifica . Además, la condición de Neunmann especifica que la masa no puede abandonar el dominio por difusión , no dice nada acerca de la advección. En esencia, lo que hemos escuchado son condiciones de límite cerrado a la difusión y condiciones de límite abierto a la advección. Para obtener más información, consulte la respuesta aquí, Implementación de la condición de límite de gradiente cero en la ecuación de advección-difusión.
¿Estarías de acuerdo?