41
Métodos de Diferencias Finitas para Ecuaciones en Derivadas Parciales

Diferencias Finitas

Embed Size (px)

DESCRIPTION

Método de Diferencias Finitas para resolver Ecuaciones Parciales, Se detallan conceptos y cada uno de los procedimientos.

Citation preview

  • Mtodos de Diferencias Finitas para Ecuaciones en Derivadas Parciales

  • Ecuaciones en Derivadas ParcialesIntroduccinDiferencias finitasConvergencia y estabilidadEcuaciones hiperblicas: ecuacin de OndasEcuaciones parablicas: ecuacin del CalorEcuaciones elpticas: ecuacin de Laplace

  • IntroduccinEDP de orden 2, lineales de coeficientes constantes.Auxx+Buxy+Cuyy+Dux+Euy+Fu=GEcuacin de Ondasutt - c2uxx = 0Ecuacin del Calorut - cuxx = 0, c>0Ecuacin de Laplaceuxx + uyy = 0Condiciones iniciales y de contorno

  • Diferencias finitas xDiscretizacin: EDP EDFMtodos explcitosSencillosInestablesMtodos implcitosMs complejosEstablesh xi-1 xii+1yj+1yjyj-1ki,ju

  • Diferencias primerasHacia adelanteErrorHacia atrs

  • Diferencias primeras (cont.)Diferencias simtricasError

  • Diferencias segundasDiferencias simtricasError

  • Convergencia y estabilidadEDPF(x,y,u)=0 Solucin: EDFGi,j(h,k,u)=0, para cada (i,j)ConvergenciaConsistenciaEstabilidad:Control del error de redondeoConsistencia + Estabilidad Convergencia

  • Ecuaciones hiperblicasEcuacin de OndasCondiciones inicialesCondiciones de contornoEcuacin en diferencias finitasutt = cuxx , 0 < x < L, t > 0

    u(x, 0) = f(x) ut(x, 0) = g(x) u(0,t) = l(t) u(L,t) = r(t)

  • Ec. de Ondas: Mtodo explcitoCondiciones inicialesui,0 = fi y ui,1 - ui,-1 = 2kgiPaso 1ui,1 = a2 (fi-1+fi+1)/2 + (1-a2)fi + kgiPasos siguientesui,j+1 = a2(ui+1,j + ui-1,j) +2(1 - a2)ui,j - ui,j-1Convergenciaa 1

  • Ecuacin de ondas. Mtodo explcito. Ejemplo utt = cuxx , 0 < x < L, t > 0 c=1, L=T=4, nx=4, nt=8, u(x, 0) = 2|x-2| ut(x, 0) = 0 u(0,t) = 0 u(L,t) = 0Condicin de convergencia :Instante t=0: u0,0 = f(x0) =2 |x0 2|=2 |0 2|=0= f(x4) u1,0 = f(x1) =2 |x1 2|=2 |1 2|=1= f(x3) u2,0 = f(x2) =2 |x2 2|=2 |2 2|=2

  • Instante t=1: ui,1 = a2(ui-1,0+ui+1,0)/2 + (1 a2)ui,0 + kg(xi) donde a2=1/4, 1 a2=3/4: u1,1 = (1/4)(u0,0 + u2,0)/2 + (3/4)u1,0 = (1/4)(0 + 2)/2 + (3/4)1 = 1 = u3,1 u2,1 = (1/4)(u1,0 + u3,0)/2 + (3/4)u2,0 = (1/4)(1 + 1)/2 + (3/4)2 = 7/4

  • Aplicando la frmula genrica ui,j+1 = a2(ui-1,j + ui+1,j) + 2(1 a2)ui,j ui,j1 con lo que, para t=1 obtenemos: u1,2 = (1/4)(u0,1 + u2,1) + (3/2)u1,1 u1,0 = (1/4)(0 + 7/4) + (3/2)1 1 = 15/16 = u3,2 u2,2 = (1/4)(u1,1 + u3,1) + (3/2)u2,1 u2,0 = (1/4)(1 + 1) + (3/2)(7/4) 2 = 9/8

  • Procediendo anlogamente x = 0 x = 1 x = 2 x = 3 x = 4 t = 00 1.0000 2.0000 1.0000 0 t = 0.501.0000 1.7500 1.0000 0 t = 1 00.9375 1.1250 0.9375 0 t = 1.500.6875 0.4063 0.6875 0 t = 2 00.1953 -0.1719 0.1953 0 t = 2.50 -0.4375 -0.5664 -0.4375 0 t = 3 0 -0.9932 -0.8965 -0.9932 0 t = 3.50-1.2764 -1.2749 -1.2764 0 t = 4 0-1.2401 -1.6541 -1.2401 0

  • Ec. de Ondas: Mtodo implcito Idea ui,j+1 - 2ui,j + ui,j-1 = a2 [(ui+1,j+1 - 2ui,j+1 + ui-1,j+1)+ (ui+1,j-1 - 2ui,j-1 + ui-1,j-1)]/2 Pasos (1+a2)ui,j+1 - a2(ui+1,j+1 + ui-1,j+1)/2 = 2ui,j + a2(ui+1,j-1 + ui-1,j-1)/2 - (1+a2)ui,j-1Convergencia para todo a

  • Algoritmo del mtodo implcitoTruco ecuacin implcita - a2( ui-1,j-1 + ui-1,j+1)/4 + (1 + a2)(ui,j-1 + ui,j+1)/2 - a2(ui+1,j-1 + ui+1,j+1)/4 = ui,j .SistemaAw = v, v = (u1,j,u2,j,...,unx-1,j)' tridiagonal ui,j+1 = wi - ui,j-1Factorizacin LULz = v Uw = z

  • Mtodo implcito. Resolucin del sistema Sustitucin

    Factorizacin LU

  • x = 0x = 1 x = 2x = 3 x = 4 t = 001.0000 2.0000 1.0000 0 t = 0.501.0000 1.7500 1.0000 0 t = 100.9184 1.1837 0.9184 0 t = 1.500.6926 0.4824 0.6926 0 t = 200.2912 -0.1699 0.2912 0 t = 2.50 -0.2449 -0.6647 -0.2449 0 t = 30 -0.7996 -0.9953 -0.7996 0 t = 3.50 -1.2231 -1.2214 -1.2231 0 t = 40 -1.3966 -1.3981 -1.3966 0

  • Ecuaciones parablicasEcuacin ut = cuxx, 0 < x < L, t > 0 del CalorCondicin u(x, 0) = f(x) inicialCondiciones u(0, t) =T0 u(L, t) = TL de contornoEcuacin en diferencias

  • Ec. del Calor: Mtodo explcitoCondicin inicialui,0 = f(xi)Condiciones de contornou0,j = T0 unx,t = TL para j>0Pasos siguientesui,j+1 = a(ui+1,j+ui-1,j) +(1-2a)ui,jConvergencia a 1/2 ptimo a = 1/6

  • Ecuacin del Calor. Mtodo explcito. EjemploHallar la temperatura para t=0.3 de una barra de 1m cuyos extremos se mantienen a 20C y a 40C. La temperatura inicial de la barra es de 100C y el coeficiente c=0.1. Tomar Dx=0.2 y Dt=0.1. Justificar la aplicabilidad del mtodo explcito.

  • Ajuste de las condiciones iniciales y de contorno: u0,0 = 60, u1,0 = u2,0 = u3,0 = u4,0 = 100, u5,0 = 70Instante t = 0.1 u1,1 = (u0,0 + u2,0)/4 + u1,0/2 = (60+100)/4 + 100/2 = 90 u2,1 = u3,1 = 100 u4,1 = (u3,0 + u5,0)/4 + u4,0/2 = (100+70)/4 + 100/2 = 92.5

  • Instante t = 0.2 : u1,2 = 75u2,2 = 97.5u3,2 = 98.125u4,2 = 81.25 Instante t = 0.3:u1,3 = 66.875u2,3 = 92.0313u3,3 = 93.75u4,3 = 75.1563

  • Ec. del Calor: Mtodo implcitoIdea: Diferencias hacia atrs

    Pasos(1+2a)ui,j - a(ui-1,j + ui+1,j) = ui,j-1Convergenciapara todo a

  • Ecuacin del Calor. Mtodo implcitoSe verifica la condicin de convergencia :a=1/4 < 1/2Diagonal principal: 1+2a=3/2, Diagonales contiguas a = 1/4. Para t = 0.1:

  • Valores obtenidos por este mtodo: x = 0.2 x = 0. 4 x = 0.6 x = 0.8 t = 0.186.2237 97.3423 97.830189.6384 t = 0.276.3776 93.3707 94.477182.1718 t = 0.369.0598 88.8487 90.549476.5394

  • Mtodo de Crank-NicholsonIdea: media de diferencias centrales ui,j+1 - ui,j = a [(ui+1,j+1 - 2ui,j+1 + ui-1,j+1) + (ui+1,j - 2ui,j + ui-1,j)] /2Pasos 2(1+a)ui,j+1 - a(ui+1,j+1 + ui-1,j+1) = 2(1-a)ui,j + a(ui+1,j + ui-1,j)Convergencia para todo a

  • Ecuacin del Calor. Mtodo de Crank-NicholsonMatriz del sistema: Trmino independiente del primer paso:

  • Valores obtenidos por Crank-Nicholson: x = 0.2 x = 0.4 x = 0.6 x = 0.8 t = 0.187.8683 98.6826 98.9578 90.8958 t = 0.276.0999 95.1069 96.0470 82.0380 t = 0.368.2003 90.2963 91.9748 76.0250

  • Ecuaciones elpticasEcuacin de Laplace uxx + uyy = 0, 0 < x < a, 0 < y
  • Ecuacin de LaplaceEcuacin en diferencias: a=k/h a2(ui-1,j + ui+1,j) + ui,j-1 + ui,j+1 - 2(a2+1)ui,j = 0

    Matriz del sistema: grande , dispersa Caso h = k : ui-1,j + ui+1,j + ui,j-1 + ui,j+1 = 4ui,j

  • Ec. de Laplace: Mtodos iterativosMtodo de Jacobi

    Mtodo de Gauss-Seidel

    Criterio de parada

  • Mtodo de SobrerrelajacinIdea: ponderar el desplazamiento de Gauss-SeidelPasos

    Si w = 1 coincide con Gauss-Seidel

  • Ecuacin de Laplace. Ejemplo uxx+ uyy=0, 0 < x < 1 0 < y < 1, n=4 m=4, u(x, 0) = 0 u (x, 1) = 100x u(0, y) = 0 u(1, y) = 100ye = 0.01Ajuste de las condiciones de contorno:

  • Mtodo de Jacobi.Iteraciones: 8Operaciones en coma flotante: 1142

    y = 0.25

    y = 0. 5

    y = 0.75

    x = 0.25

    6.2561

    12.5031

    18.7500

    x = 0.5

    12.5031

    25.0000

    37.4969

    x = 0.75

    18.7500

    37.4969

    56.2439

  • Mtodo de Gauss-Seidel.Iteraciones: 11Operaciones en coma flotante: 1378

    y = 0.25

    y = 0. 5

    y = 0.75

    x = 0.25

    6.2447

    12.4947

    18.7473

    x = 0.5

    12.4947

    24.9947

    37.4973

    x = 0.75

    18.7473

    37.4973

    56.2487

  • Mtodo de Sobrerrelajacin.Factor de relajacin: w = 1.2Iteraciones: 8Operaciones en coma flotante: 1802

    y = 0.25

    y = 0. 5

    y = 0.75

    x = 0.25

    6.2514

    12.5008

    18.7502

    x = 0.5

    12.5008

    25.0003

    37.5002

    x = 0.75

    18.7502

    37.5002

    56.2500

  • Algoritmos iterativos por bloquesIteracin por bloques fila Para j = 1, 2, , m-1, resolver el sistema

    Iteracin por bloques columnaMtodo implcito de direcciones alternadas

  • Mtodo de Direcciones Alternadas.Iteraciones: 5Operaciones en coma flotante: 1468

    y = 0.25

    y = 0. 5

    y = 0.75

    x = 0.25

    6.2490

    12.4991

    18.7497

    x = 0.5

    12.4989

    24.9990

    37.4996

    x = 0.75

    18.7495

    37.4995

    56.2498

  • Errores mximos.Solucin: u(x,y) = xy

    Mtodo

    Iteraciones

    Operaciones

    Error mximo

    Jacobi

    8

    1142

    0.0061

    GaussSeidel

    12

    1378

    0.0053

    Sobrerrelajacin = 1.2

    8

    1802

    0.0014

    Direcciones alternadas

    5

    1468

    0.0011

    y = 0.25

    y = 0. 5

    y = 0.75

    x = 0.25

    6.2500

    12.5000

    18.7500

    x = 0.5

    12.5000

    25.0000

    37.5000

    x = 0.75

    18.7500

    37.5000

    56.2500

  • F I N