s2Eva_2021PAOI_T3 EDP Elíptica con valores en la frontera f(x) g(y)

Ejercicio: 2Eva_2021PAOI_T3 EDP Elíptica con valores en la frontera f(x) g(y)

Dada la EDP elíptica

2ux2+2uy2=0 \frac{\partial ^2 u}{\partial x^2} +\frac{\partial^2 u}{\partial y^2} = 0 0<x<12,0<y<12 0 \lt x \lt \frac{1}{2}, 0 \lt y\lt \frac{1}{2}

Se convierte a la versión discreta usando diferencias divididas centradas:

 


u[i1,j]2u[i,j]+u[i+1,j]Δx2+ \frac{u[i-1,j]-2u[i,j]+u[i+1,j]}{\Delta x^2} + +u[i,j1]2u[i,j]+u[i,j+1]Δy2=0 + \frac{u[i,j-1]-2u[i,j]+u[i,j+1]}{\Delta y^2} = 0

Se agrupan los términos Δx, Δy semejante a formar un λ al multiplicar todo por Δy2

Δy2Δx2(u[i1,j]2u[i,j]+u[i+1,j])+ \frac{\Delta y^2}{\Delta x^2}\Big(u[i-1,j]-2u[i,j]+u[i+1,j] \Big) + +Δy2Δy2(u[i,j1]2u[i,j]+u[i,j+1])=0 + \frac{\Delta y^2}{\Delta y^2}\Big(u[i,j-1]-2u[i,j]+u[i,j+1]\Big) = 0

los tamaños de paso en ambos ejes son de igual valor, se simplifica la ecuación

λ=Δy2Δx2=1 \lambda= \frac{\Delta y^2}{\Delta x^2} = 1
u[i1,j]2u[i,j]+u[i+1,j]+ u[i-1,j]-2u[i,j]+u[i+1,j] + +u[i,j1]2u[i,j]+u[i,j+1]=0 + u[i,j-1]-2u[i,j]+u[i,j+1] = 0
u[i1,j]4u[i,j]+u[i+1,j]+ u[i-1,j]-4u[i,j]+u[i+1,j] + +u[i,j1]+u[i,j+1]=0 + u[i,j-1]+u[i,j+1] = 0

que permite plantear las ecuaciones para cada punto en posición [i,j]

En cada iteración se requiere el uso de los valores en la frontera

u(x,0)=0,0x12 u(x,0)=0, 0 \leq x \leq \frac{1}{2} u(0,y)=0,0y12u(0,y)=0 , 0\leq y \leq \frac{1}{2} u(x,12)=200x,0x12 u\Big(x,\frac{1}{2} \Big) = 200 x , 0 \leq x \leq \frac{1}{2} u(12,y)=200y,0y12 u\Big(\frac{1}{2} ,y \Big) = 200 y , 0 \leq y \leq \frac{1}{2}

Iteraciones

i=1, j=1

u[0,1]4u[1,1]+u[2,1]+ u[0,1]-4u[1,1]+u[2,1] + +u[1,0]+u[1,2]=0 + u[1,0]+u[1,2] = 0

usando los valores en la frontera,

04u[1,1]+u[2,1]+0+u[1,2]=0 0-4u[1,1]+u[2,1] + 0+u[1,2] = 0 4u[1,1]+u[2,1]+u[1,2]=0 -4u[1,1]+u[2,1] + u[1,2] = 0

i=2, j=1

u[1,1]4u[2,1]+u[3,1]+ u[1,1]-4u[2,1]+u[3,1] + +u[2,0]+u[2,2]=0 + u[2,0]+u[2,2] = 0

usando los valores en la frontera,

u[1,1]4u[2,1]+200(1/6)+0+u[2,2]=0 u[1,1]-4u[2,1]+200(1/6) + 0+u[2,2] = 0 u[1,1]4u[2,1]+u[2,2]=200(1/6) u[1,1]-4u[2,1] + u[2,2] = -200(1/6)

i=1, j=2

u[0,2]4u[1,2]+u[2,2]+ u[0,2]-4u[1,2]+u[2,2] + +u[1,1]+u[1,3]=0 + u[1,1]+u[1,3] = 0 04u[1,2]+u[2,2]+u[1,1]+20016=0 0 - 4u[1,2]+u[2,2] + u[1,1]+200\frac{1}{6} = 0 4u[1,2]+u[2,2]+u[1,1]=20016 - 4u[1,2] + u[2,2]+u[1,1] = -200\frac{1}{6}

i=2, j=2

u[1,2]4u[2,2]+u[3,2]+ u[1,2]-4u[2,2]+u[3,2] + +u[2,1]+u[2,3]=0 + u[2,1]+u[2,3] = 0 u[1,2]4u[2,2]+20026+u[2,1]+20026=0 u[1,2]-4u[2,2]+200\frac{2}{6} + u[2,1]+200\frac{2}{6} = 0 u[1,2]4u[2,2]+u[2,1]=(2)20026 u[1,2]-4u[2,2]+ u[2,1] = -(2)200\frac{2}{6}

Sistema de ecuaciones a resolver:

[4110140110410114][u[1,1]u[2,1]u[1,2]u[2,2]]=[0200(1/6)200(1/6)200(4/6)] \begin{bmatrix} -4 & 1 &1&0\\1 &-4&0&1\\1&0&-4&1 \\0&1&1&-4\end{bmatrix} \begin{bmatrix} u[1,1]\\u[2,1] \\u[1,2]\\u[2,2] \end{bmatrix} = \begin{bmatrix} 0\\-200(1/6)\\-200(1/6)\\-200(4/6) \end{bmatrix}

Resolviendo el sistema se tiene:

[11.11111111 22.22222222 22.22222222 44.44444444]

Instrucciones Python

import numpy as np

A = np.array([[-4, 1, 1, 0],
              [ 1,-4, 0, 1],
              [ 1, 0,-4, 1],
              [ 0, 1, 1,-4]])

B = np.array([0,-200*(1/6),-200*(1/6),-200*(4/6)])

x= np.linalg.solve(A,B)

print(x)