Cómo aplicar condiciones límite de PDEs cuando se utilizan métodos de diferencias finitas

Bueno, no soy la persona adecuada para responder esta pregunta, ya que estoy aprendiendo esto en este momento. Pero, por lo que sé, la forma en que se aplican las condiciones de contorno depende de si su PDE es parabólica, hiperbólica o elíptica. La única forma de decir esto hasta ahora que yo sepa es con el discriminante (B ^ 2 – 4 * AC) siendo 0 (hiperbólico).

Los coeficientes que obtienes de la forma general de un PDE (lo siento, aún no lo logro con la sintaxis de Latex):

A * (d ^ 2u / dx ^ 2) + B * (d ^ 2u / dxdy) + C * (d ^ 2u / dy ^ 2) = constante

Todavía no entiendo completamente cómo aplicarlo adecuadamente a una ecuación como

du / dt = – du / dx + C * d ^ 2u / dx ^ 2 + variable1 + variable2,

pero en lo que a mí respecta, generalmente cuando tienes problemas que dependen del tiempo y una variable de dominio espacial, estos problemas suelen ser hiperbólicos. ¿Por qué? Todavía no lo sé (si alguien puede explicar esto, por favor, amplíe la respuesta)

¡Una forma es no usar diferencias finitas directamente, sino un método de elementos finitos! Al final, ambos métodos generan “plantillas” de valores de cuadrícula adyacentes que se aproximan al PDE, pero en el caso del método de elementos finitos, la declaración variacional (“débil”) del problema antes de la discretización ya impone, por lo general, el condiciones de borde. El llamado paso de ensamblaje en el código de elementos finitos construye las plantillas y las condiciones de límite se aplican sin que el usuario necesite conocer los detalles. Un buen análogo es el lenguaje de máquina (métodos de diferencias finitas) versus un lenguaje de alto nivel (métodos de elementos finitos).

Sin embargo, cuando se define directamente la plantilla de diferencias finitas, el problema de las condiciones de contorno es en realidad uno de los problemas realmente importantes y difíciles, y aún está sujeto a investigación. ¡A menudo esta es la única dificultad seria cuando se implementa un código de diferencia finita!

Hay muchos, muchos enfoques que se pueden utilizar. En el caso más simple, la plantilla simplemente se modifica cerca del límite mediante la sustitución de los valores de la condición del límite. Otra técnica común se basa en los llamados “valores fantasma”, valores adicionales fuera del dominio computacional real que se establecen, por ejemplo, al reflejar los valores internos más cercanos, para hacer cumplir las condiciones de contorno. También hay métodos más sofisticados que, por ejemplo, utilizan los llamados términos de penalización que hacen cumplir “débilmente” las condiciones.

En general, hay dos cuestiones que deben abordarse al establecer condiciones de límite para métodos de diferencia finita: precisión, es decir, asegurarse de que la condición de límite no destruya el orden de precisión del esquema y estabilidad, es decir, hacer Asegúrese de que las condiciones de contorno no causen que la solución explote. El problema de la estabilidad es, quizás sorprendentemente, generalmente el más importante.

Aquí hay un enlace a un sitio web del curso con notas, videos de las conferencias y videos de implementación de cosas en MATLAB. Para entender cómo se incorporan las condiciones de contorno, vea los Temas 6a, 6b y todos los 7. Entenderá casi todo de 6a y 6b.

CMEE | Laboratorio EM

¡Disfrutar!