Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Método de las Diferencias Finitas Introducción: Hemos estudiado los tres tipos más simples de ecuaciones diferenciales parciales (EDP) como representantes de cada una de las tres clases en las que se clasifican las EDP de segundo orden: parabólica (calor), elíptica (Laplace) e hiperbólica (onda). Esta terminología proviene de “comparaciones” con las ecuaciones de las secciones cónicas (Weinberger, 1965). Hasta ahora, hemos aplicado el método de separación de variables (MSV) para obtener soluciones explícitas de algunos problemas de valores en el borde (PVB) de interés físico. Contar con una expresión analítica para la solución de un problema tiene la ventaja de permitir un estudio cualitativo de su solución, como la estabilidad o decaimiento de la misma cuando el tiempo crece (ecuación evolutiva), o el estudio de la regularidad de las soluciones para distintas condiciones de borde y/o iniciales. Sin embargo, si bien en muchos casos el MSV permite encontrar “soluciones exactas”, vimos que en general, lo que se obtiene es una expresión de la solución que involucra una serie infinita y a la hora de calcular efectivamente el valor de la solución en un punto del dominio es necesario truncarla y aproximar el valor de la suma infinita por una suma finita. Otra desventaja del MSV es que los dominios están restringidos a intervalos, rectángulos, círculos y regiones simples. Con el propósito de obtener soluciones numéricas para los casos en que el MSV resulta insatisfactorio, surgieron los métodos numéricos. Los más usados son, el Método de las Diferencias Finitas y el Método de los Elementos Finitos, ambos proporcionan soluciones numéricas aproximadas de problemas con EDP o EDO. Comenzaremos con el estudio de la técnica del método de las diferencias finitas (MDF) para discretizar un problema continuo (PVB) y obtener valores numéricos de la variable de estado en algunos puntos del dominio: Idea del MDF → Aproximar las derivadas por cocientes incrementales o diferencias finitas Para aplicar esta idea, en problemas con EDP o EDO y condiciones de borde que involucran derivadas, se usan las Series de Taylor que permiten aproximar estas derivadas de varias formas. ���� = ����� + �´���� ℎ + �´´���� �� ! + �´´´���� ���! + … + �������� ���! + �� , donde el error de truncamiento �� = ��������� ���������! con �� < � < � = �� + ℎ. Aproximaciones de la primera derivada Para aproximar derivadas de primer orden tenemos tres opciones pequeño, aproximar la pendiente de la recta tangente a la curva y=f(x) en el punto (x, f(x)) pendiente de la secante que pasa por dicho punto y por (x+h, la secante que pasa por éstos dos últimos. Cada una de diferencia adelantada, diferencia atrasada diferentes algoritmos. Diferencia adelantada �´���� f(x), que el error de truncamiento en esta aproximación lineal es del orden de h y lo denotamos Error = O(h). Diferencia atrasada: �´���� Aproximaciones de la primera derivada: Para aproximar derivadas de primer orden tenemos tres opciones según se escoja, para h pequeño, aproximar la pendiente de la recta tangente a la curva y=f(x) en el punto (x, f(x)) pendiente de la secante que pasa por dicho punto y por (x+h, f(x+h)) o por (x-h, f(x la secante que pasa por éstos dos últimos. Cada una de estas aproximaciones recibe diferencia adelantada, diferencia atrasada y diferencia centrada respectivamente, y conducen a � � � ������� � ������ es fácil ver, a partir de la serie de Taylor f(x), que el error de truncamiento en esta aproximación lineal es del orden de h y lo denotamos � � � ����� � �������� con Error = O(h) según se escoja, para h pequeño, aproximar la pendiente de la recta tangente a la curva y=f(x) en el punto (x, f(x)) por la -h)) o, por la de recibe el nombre de respectivamente, y conducen a serie de Taylor para f(x), que el error de truncamiento en esta aproximación lineal es del orden de h y lo denotamos, Diferencia centrada: Una mejor aproximación se obtiene promediando las anteriores �´���� � ������� � ������� � con Error = O(h2) . Ejercicio propuesto: Demostrar que el error que se comete al aproximar la primer derivada �´����, con una diferencia centrada es O(h2) . Sugerencia: Restar las series de Taylor para f(�� + ℎ� y f(�� − ℎ� ------------------------------ Aproximación de la segunda derivada: Como �´´���� = " �´����#´ � �´���� – �´������� � %�&��'� ( %�&��' � %�&�� – %�&�('�' � , por lo tanto �´´���� � ���� + ℎ� − 2����� + ���� − ℎ�ℎ Esta se llama diferencia centrada de segundo orden y se puede demostrar que el Error = O(h 2 ). Sugerencia para la demostración: Sumar las series de Taylor para f(�� + ℎ� y f(�� − ℎ� -------------------------------- Malla de puntos en el plano y la aproximación de las derivadas parciales Todas las aproximaciones anteriores involucran puntos separados una distancia ∆� = ℎ para la variable espacial �. Esto da lugar a una partición del intervalo [0, L] que denotaremos 0 = x0 , x1, x2, … , xN = L , donde xj = j. ∆x y es en estos puntos donde obtendremos el valor numérico de la solución de un problema con dominio [0, L] . Cuando la variable de estado u sea función de dos variables, por ejemplo u = u(x,t), al aproximar las derivadas con respecto a t , se tendrá una partición para el intervalo 0 < t < T : 0 = t0 , t1, t2, … , tM = T , donde tm = m. ∆, . De esta manera resulta una malla o reticulado de puntos (xj , tm) en el plano xt definida por los “pasos” ∆x, ∆t para espacio y tiempo respectivamente. Gráficamente, si por ejemplo dividimos los intervalos [0, L] y [0, T] en 10 subintervalos de longitud ∆x y ∆t , o sea L = 10∆x y T = 10∆t con lo cual N = 10 en el eje x (horizontal) y M = 10 en el eje t (vertical) , tenemos la siguiente malla de 11 x 11 = 121 puntos: Donde el primer punto rojo es (x2, t2) = (2∆x, 2 ∆t) y el último (x9, t10) = (9∆x, 10∆t) Observación: En general dados dos enteros positivos N y M (no necesariamente iguales) el dominio continuo - = .��, ,� ∶ 0 ≤ � ≤ 2 , 0 ≤ , ≤ 34 se subdivide en NxM rectángulos ∆� x ∆, y la malla puntos (dominio discreto) tendrá (N+1)x(M+1) puntos. Ahora para formular el problema discreto (p) correspondiente al siguiente problema continuo (P): �5� 6 7-5: 9: = ;. 9�� , <=>= 0 < � < 2?@: 9�0, ,� = A�,� ; 9�2, ,� = @�,� ; , ≥ 0?D: 9� �, 0� = ���� , <=>= 0 ≤ � ≤ 2E convenimos en denotar con ujm al valor numérico de la temperatura en cualquier punto de la malla (xj,tm) . Es decir, 9" �F , ,G# ↔ 9FG , <=>= I = 0, 1, 2, … , K L M = 0, 1, 2, … , N Si implementamos la notación anterior al aproximar la derivada parcial respecto de t, 9:� �F , ,G�, por una diferencia adelantada y a 9�� " �F , ,G# por la diferencia centrada de orden dos, tenemos 9: " �F , ,G# � 9"�F , ,G + ∆, # − 9"�F , ,G # ∆, = 9FG�� − 9FG ∆, 9�� " �F , ,G# � 9"�F + ∆�, ,G# − 29"�F , ,G # + 9��F − ∆� , ,G��∆�� = 9F�� G − 29FG + 9F��G�∆�� Reemplazando en la 7-5 de �5� obtenemos una ecuación algebraica que llamamos edf (ecuación en diferencias finitas) para el problema discreto (p) OP� ∶ 9FG�� − 9FG ∆, = ; 9F�� G − 29FG + 9F��G�∆�� Despejando 9FG�� y denotando con Q = ; ∆:�∆��� resulta que el problema discreto (p) queda así: �<� ROP�: 9FG�� = Q. 9F�� G + �1 − 2Q�. 9FG + Q. 9F��G ; I = 1, 2, … , K − 1 L M = 0, 1, 2, … , N − 1ST: 9�G = A�m. ∆, � ; 9VG = @�m. ∆, � ; <=>= M = 1, 2, … , N SW: 9F� = ��j. ∆�� ; <=>= I = 0, 1, 2, … , KE Observación: Notemos que para calcular 9FG��, valor numérico aproximado de la temperatura en el punto " �F , ,G��#, se utilizan los tres valores de u del instante anterior ,G a izquierda y derecha de �F y en �F . Gráficamente, el esquema o átomo computacional para la ecuación del calor es 9FG�� s 1- 2s s 9F��G 9FG 9F��G ¿Cómo saber qué tan buenas son las aproximaciones obtenidas para este tipo de (PVB)? Estabilidad y Convergencia del método: Denotemos con YFG = Z 9FG − 9" �F , ,G#Z al error local de discretización en cada nodo de la malla ( 9FG es el valor aproximado y 9" �F , ,G# el valor exacto de la temperatura. Se dice que el método de diferencias finitas usado para calcular las aproximaciones 9FG CONVERGE, si el max ]YFG^ → 0 cuando ∆� → 0 �L ∆, = Q. �∆�� → 0 �; donde el máximo se toma sobre todos los puntos (j , m) de la grilla (malla). Puede demostrarse que para asegurar la convergencia y estabilidad (es decir, que el error disminuya conforme avanza el cálculo) es SUFICIENTE con que ` = a ∆b�∆c�d ≤ ed . Advertencia: Esto significa que, cuando s > ½ el método puede (aunque NO necesariamente) volverse inestable (es decir oscilante en espacio y tiempo). VER en Ejemplo 1 (c) de página sigte. Observación: Dado un valor para ∆� , la condición s ≤ ed permite escoger ∆, de manera que “todo ande bien”. VER en Ejemplo 1 (b) de página siguiente. Teorema de estimación del error (ecuación del calor con temperatura prescripta en los bordes) Hipótesis: Sea (P) el problema continuo que modela la evolución de la temperatura u(x; t) en un “cilindro unidimensional” de longitud L; homogéneo, con difusividad k; temperaturas prescritas en los bordes dadas por A(t) y B(t) y temperatura inicial f(x). Con A, B y f “suficientemente” suaves. Asumimos que se cumplen las condiciones laterales, A(0) = f(0) y B(0) = f(L); de manera que (P) tiene una solución u(x; t). Sea 9FG la solución numérica aproximada de este problema por el método explícito de diferencias finitas en el punto (xj , tm) (o sea la solución de (p) en el nodo j,m de la malla) y Q = ; ∆:�∆��� ≤ � . Tesis: El error local de discretización en cada punto satisface para j = 0, 1, 2, … ,N y m = 0, 1, 2, … , M fgh ≤ i. jd k∆b + �∆c�dl m nopnq i = rstu v c v wu v b v j]|y´´�b�|, |z´´�b�|, Z{|}�c�Z^ Es decir, si s = k.T.N2/(L2M) ≤ ½ , el error local de discretización tiende a cero cuando M , N → ∞; donde k es el coeficiente de difusividad de la ecuación del calor del problema original (P). Advertencia: no confundir el coef de difusividad k (que está en s) con el K del máximo para fgh. Observaciones: -La aproximación numérica converge en forma cuadrática para ∆� → 0 y lineal para ∆, → 0 . -La convergencia empeora en el tiempo, ya que la cota para el error depende de T (no de L). Ejemplo 1: Consideremos el sigte problema de fuga de calor (se pierde energía en los bordes) �5� 67-5: 9: = 9�� , <=>= 0 < � < 5 ?@: 9�0, ,� = 2, , 9�5, ,� = 25 + 2, ; , ≥ 0?D: 9� �, 0� = � , <=>= 0 ≤ � ≤ 5 E (a) Verificar que u(x,t) = x 2 +2t es solución la solución exacta del problema (P) (b) Para una malla con ∆� = 1 elegir un valor “conveniente” de ∆, para calcular, usando el método explícito de diferencias finitas, u(1, 0.1) y u(4, 0.2). Comparar con los valores exactos. (c) Usar ∆� = 1 y ∆, = 2 para calcular u(1, 2) , u(2,2), u(3, 2) y u(4,2). Comparar con los valores exactos. Qué observas? Comentar. Solución (a) u(x,t) = x2 +2t es la solución exacta ya que satisface TODAS las ecuaciones de (P) : 7-5: 9: = 2 = 9�� ?@: 9�0, ,� = 0 + 2, , 9�5, ,� = 5 + 2, ?D: 9� �, 0� = � + 2�0� Solución (b) 0.2 O O O O O ∆, = 0.1 O O O O O O ∆� = 1 2 3 4 5 = L Como ∆� = 1 y ; = 1 (difusividad) para asegurar estabilidad: Q = 1 ∆:���� ≤ � ⇒ ∆, ≤ 0.5 “alcanza para que todo ande bien”. Entonces teniendo en cuenta que se pide temperatura cuando , = 0.1 y , = 0.2 , escogemos ∆, = 0.1 y luego calculamos todos los 9FG necesarios para obtener 9�� (aproximación de u(1, 0.1)) y 9� (aproximación de u(4, 0.2) ) con Q = 1 �.����� = 0.1 . El esquema para este problema muestra que necesitamos calcular las 6 aproximaciones “para todos los nodos del eje x”, para esto usamos la ?D: 9� �, 0� = � y calculamos 9F� para j = 0, 1, 2, …, 5 (Notar que N coincide con L=5 pues ∆c = e y por lo tanto g. ∆c = g en este problema): 9�� = 0 ; 9�� = 1 = 1 ; 9 � = 2 = 4 ; 9�� = 3 = 9 ; 9�� = 4 = 16 ; 9�� = 5 = 25 Ahora 9�� = 0.1 9�� + " 1 − 2 �0.1�# 9�� + 0.1 9 � = 0.1�0� + 0.8�1� + 0.1 �4� = e. d = �ee Análogamente, 9�� = 0.1 9 � + 0.8 9�� +0.1 9�� = 0.1�4� + 0.8 �9� + 0.1 �16� = 9.2 9�� = 0.1 9�� + 0.8 9�� +0.1 9�� = 0.1�9� + 0.8 �16� + 0.1 �25� = 16.2 9�� = 25 + 2 �0.1� = 25.2 (pues es condición de borde derecho) Finalmente, con los tres valores anteriores, calculamos: 9� = 0.1 9�� + 0.8 9�� +0.1 9�� = 0.1�9.2� + 0.8 �16.2� + 0.1 �25.2� = el. � = ��d Calculamos los valores exactos usando la solución dada u(x,t) = x2 +2t : 9�1, 0.1� = 1 + 2 �0.1� = 1.2 = �ee ! 9�4, 0.2� = 4 + 2�0.1� = 16.2 = ��d ! Notamos que los valores aproximados coinciden con los exactos dado que la cota que proporciona el teorema de estimación para los errores locales es cero pues i = rstu v c v �u v b v u.d ]|y´´�b�|, |z´´�b�|, Z{|}�c�Z^ = 0 ya que |y´´�b�| = u , |z´´�b�| = u , Z{|}�c�Z = u. Solución (c) Acá nos piden calcular, con ∆� =1 y ∆, = 2, u(1, 2) , u(2,2) , u(3, 2) y u(4,2). Entonces tenemos Q = 1 ���� = 2 > � ! y sabemos que el método puede volverse inestable. Los cuatro valores pedidos corresponden a los cuatro nodos interiores del primer renglón de la malla definida por el “nuevo paso” ∆, = 2 , gráficamente ∆, = 2 9�� 9 � 9�� 9�� O O O O O O ∆� = 1 2 3 4 5 = L 9�� = 2 9�� + " 1 − 2 �2�# 9�� + 2 9 � = 2�0� + �−3��1� + 2 �4� = � = �ee 9 � = 2 9�� + " 1 − 2 �2�# 9 � + 2 9�� = 2�1� + �−3��4� + 2 �9� = � = �de 9�� = 2 9 � + " 1 − 2 �2�# 9�� + 2 9�� = 2�4� + �−3��9� + 2 �16� = e� = ��e 9�� = 2 9�� + " 1 − 2 �2�# 9�� + 2 9�� = 2�9� + �−3��16� + 2 �25� = du = ��e Los valores exactos usando la solución dada u(x,t) = x2 +2t : 9�1, 2� = 1 + 2 �2� = 5 = �ee ! 9�2, 2� = 2 + 2 �2� = 8 = �de ! 9�3, 2� = 3 + 2 �2� = 13 = ��e ! 9�4, 2� = 4 + 2 �2� = 20 = ��e! Comentario: los valores exactos también coinciden con los “aproximados”. Este ejemplo muestra que la condición ` ≤ � es suficiente pero NO NECESARIA (esto ocurrirá siempre que las condiciones de borde sean funciones a lo sumo lineales y la condición inicial a lo sumo cúbica). Ejemplo 2: ¿Cómo modificarías el método para resolver el siguiente problema? �5� 67-5: 9: = ;. 9�� , <=>= 0 ≤ � ≤ 2 , 0 ≤ , ≤ 3 ?@: 9�0, ,� = A�,� ; 9��2, ,� = 0 ; , ≥ 0 ?D: 9� �, 0� = ���� , <=>= 0 ≤ � ≤ 2 E Solución: Notamos que ahora tenemos una condición de borde aislado en el extremo derecho x = L, las restantes ecuaciones son las mismas. Por lo cual sólo hay que modificar la ecuación para ese borde. Como en x = L hay una derivada, 9��2, ,� = 0 , debemos aproximarla por una diferencia finita (adelantada, atrasada o centrada). Aunque la “mejor” desde el punto de vista del error es la centrada, vamos a escoger usar diferencia atrasada para no “salirnos” del dominio [0,L] x [0, T], entonces 9��2, ,� = 9���V, ,G� = ��� � ��(�� ∆� = 0 ⇒ 9VG = 9V��G para m= 1, 2, …, M. Por lo tanto el problema discreto en este caso es �<� R OP�: 9FG�� = Q. 9F�� G + �1 − 2Q�. 9FG + Q. 9F��G ; I = 1, 2, … , K − 1 L M = 0, 1, 2, … , N − 1ST: 9�G = A�m. ∆, � ; 9VG = 9V��G ; <=>= M = 1, 2, … , N SW: 9F� = ��j. ∆�� ; <=>= I = 0, 1, 2, … , K E Propuesta: Aplicando lo recién deducido, resolver el Problema 1 (c), (d), (e) y Problema 4 (c) , (d) de la Guía de Problemas complementarios ------------------------------------------------ Ejemplo 3: Considerar el siguiente problema para una cuerda vibrante de longitud π, fija en sus extremos y liberada desde el reposo dado por f(x) = sen(x), �5� ∶ 67-5 ∶ 9:: = 9�� ; 0 < � < π ; t > 0 ?@: 9�0, ,� = 0 ; 9� π , ,� = 0 ; , ≥ 0 ?D: 9� �, 0� = QO���� ; 9:� �, 0� = 0 ; 0 ≤ � ≤ 2 E (a) Aplicar la técnica del método de diferencias finitas para formular el problema discreto para �5� (b) Implementar el esquema anterior con ∆� = �/4 y ∆, = 0.5 para aproximar u(�/4 , 1). (c) Comparar con el valor exacto proporcionado por la solución u(x, t) = (sen x)(cos t). Comentar. Solución (a) Notamos que la 7-5 de este problema de ondas tiene 2 derivadas parciales de 2do orden, por lo cual para aproximarlas usamos las correspondientes diferencias centradas de 2do orden. Así la edf (ecuación en diferencias finitas) para el problema discreto (p) queda OP� ∶ 9FG�� − 29FG + 9FG���∆,� = 9F�� G − 29FG + 9F��G�∆�� Despejando 9FG�� y denotando con Q = �∆:���∆��� (en general, es Q = S �∆:���∆��� ) resulta que, OP� ∶ 9FG�� = Q. 9F�� G + 2�1 − Q� 9FG + Q. 9F��G − 9FG�� Observación: Notemos que para calcular 9FG��, valor numérico aproximado de la posición en el punto " �F , ,G��# se utilizan 4 “valores previos” (los tres valores “centrados” en el instante anterior ,G y el valor en " �F , ,G��# . Gráficamente, el esquema o átomo computacional para la ecuación de onda es 9FG�� s 2(1-s) s 9F��G 9FG 9F��G -1 9FG�� Volviendo a las ecuaciones del problema continuo (P), tenemos otra derivada por aproximar, la velocidad inicial, lo cual hacemos con un diferencia adelantada (cuando t = 0 es m = 0) y tenemos, 9:� �, 0� = ��� � ��� ∆: = 0 ⇒ 9F� = 9F� entonces �<� R OP�: 9FG�� = Q. 9F�� G + 2�1 − Q� 9FG + Q. 9F��G − 9FG�� ; I = 1, … , K − 1 L M = 1, … , N − 1 ST: 9�G = 0 ; 9VG = 0 ; <=>= M = 0, 1, 2 , … , N "S9O>P= �WI= O� ��Q O�,>OM�Q" SW: 9F� = QO��j. ∆�� ; 9F� = 9F� <=>= I = 1, 2, … , K − 1 "�O��SWP=P W�WSW=� SO>�" Finalmente este problema discreto (p) con S = 1, para L = �, cuando ∆� = �/4 y ∆, = 0.5 (o sea con Q = S �∆:���∆��� = ��� ) queda así: �<� ��� ��OP�: 9FG�� = 4� 9F�� G + 2 �1 − 4� 9FG + 4� 9F��G − 9FG�� ; I = 1, 2, 3 L M = 1, 2 ST: 9�G = 0 ; 9�G = 0 ; <=>= M = 1, 2 SW: 9F� = QO��j. ∆�� ; 9F� = 9F� <=>= I = 1, 2, 3 E Solución (b) Implementamos este algoritmo para calcular u(�/4 , 1) o sea 9� . Haciendo el esquema con todos los puntos necesarios notamos 9� 9�� 9�� 9 � 9�� 9�� 9 � �� � ��� � 9�� = 9�� = 0 (por ser borde izquierdo) 9�� = QO� ¡1. ��¢ = √ y 9 � = QO� ¡2. ��¢ = 1 (por ser posiciones iniciales) 9�� = 9�� = √ y 9 � = 9 � = 1 (velocidades iniciales aproximadas con diferencia hacia adelante) 9� = ��� 9 � + 2 ¡1 − ���¢ 9�� + ��� 9�� − 9�� = 0.539 = 9� Solución (c) La solución exacta u(x,t) =(sen x)(cos t) puede hallarse aplicando separación de variables. Calculamos u(�/4 , 1) = sen(�/4�cos �1� = √ 0.5403 = 0.382 = u��/4 , 1� Comentario: Aunque el método es estable pues se cumple S ≤ ∆�∆: (es decir 1 < �/2� el error es grande pues usamos diferencia adelantada para aproximar ut con ∆, = 0.5 (se ha introducido un error = O(∆,��. Para obtener una aproximación aceptable es necesario refinar la malla, por ejemplo ∆, = 1/100 y ∆� = �/10 (VERIFICAR, resolviendo en computadora) o tomar ∆, = 1/10 y usar diferencia centrada para ut (ver en Haberman pág 256) Nota: La condición de estabilidad establece que, la velocidad de propagación del método numérico, ∆�∆: , debe ser mayor o igual que la velocidad de propagación de la onda, S. Ejercitación propuesta: en “Problemas Complementarios” Material elaborado por A. Frausin - Agosto 2014 BIBLIOGRAFIA: • Bleecker D., Csordas G. “Basic Partial Differential Equations” - Ed. Internacional - 1996 • Haberman R. “Applied Partial Differential Equations” - Prentice Hall - 2004
Compartir