You are on page 1of 26

Alumno: Alex Daz M. Profesora: Nancy Hitschfeld K.

27 de agosto de 2012

Se aproxima la situacin real del ro por un modelo simplificado que permite un mejor manejo a la hora de realizar el planteamiento por mtodo de diferencias finitas como se muestra a continuacin. Se implementar un algoritmo directo que resuelva el problema presentado en los casos I y II para una discretizacin de tamao arbitrario (h=k para simplificar la discretizacin) mediante un mtodo directo.

El problema se resuelve a travs de la ecuacin de Laplace, donde es el potencial de velocidades en todo el espacio

1.1 Metodologa Se utilizar los conceptos estudiados en clase para aplicar el mtodo de diferencias finitas. El problema ser resuelto mediante el software matemtico Matlab R2010a.

2.1 Discretizar regin con grilla regular de paso h en direcciones x e y 2.2 Escribir ecuaciones de diferencias para cada punto de la grilla 2.3 Se obtiene un sistema lineal de ecuaciones = 2.4 El sistema se resuelve numricamente: Mtodo directo, por ej.: Gauss Mtodo iterativo

2.1 Discretizacin: Se discretizar el ro en varios puntos separados por espacios h en los ejes x e y respectivamente, de manera de analizar cada punto. El sistema de referencia que se utiliza fija el punto (1,1) en la esquina inferior izquierda del ro, donde la primera coordenada (i) corresponde al movimiento horizontal y la segunda (j) al vertical.

2.2 Ecuaciones de diferencias: Interior y lados +1, + 1, 4, + ,+1 + ,1 = 0 , (13) 22, + 1,1 41, + 1,+1 = 0 , 2 4 2,2 + 1,1 4,1 + +1,1 = 0 , 5 7 21, + ,1 4, + ,+1 = 0 , 8 , 10 12 2,1 + 1, 4, + +1, = 0 , 9
3 3 3 3

2.2 Ecuaciones de diferencias: Esquinas Esquina 1: 22,1 + 21,2 41,1 = 0 Esquina 2: 22, + 21,1 41, = 0 Esquina 3:2,2 + 21,1 4,1 = 0 Esquina 4: 21, + 2,1 4, = 0 Esquina 5: 231, + 23,1 43, = 0
7 7 7 3 3 3

2.2 Ecuaciones de diferencias: Condiciones de borde A: 21, + ,1 4, + ,+1 = 2 10 B: 22, + 1,1 41, + 1,+1 = 2 10 C: , = 10 D: , = 100 E: , = 0

2.3 Sistema lineal de ecuaciones

Luego como cada punto (incgnita) tiene una ecuacin asociada, el problema se convierte en resolver un sistema lineal de ecuaciones:

Donde = = , . Luego el problema se simplifica solamente en determinar la matriz A y el vector b, donde la solucin final sera = 1 .

2.3 Sistemas de ecuaciones


Al momento de programar, se desea asignar cada punto (, ) de las matrices A1 y A2 a una variable u(k), es decir, determinar (, ) = .
El hecho de tener 2 matrices de distintas dimensiones, hace que la funcin (, ) sea distinta dependiendo de si (, ) A1 o si , A2. Los que se encuentran en la parte inferior izquierda del dibujo no son incgnitas ni variables. Por lo tanto la matriz solucin del problema tendr como valor NaN (not a number) en los (, ) que se encuentran bajo A2 y a la Izquierda de A1.

n1=2/h; n2=6/h; m1=4/h; m2=3/h; N=(n1+1)*(m1)+(n2+1)*(m2+1);

Funcin df(h,c); Primero se obtienen los valores de los parmetros h y el caso que se quiere estudiar c, que para el caso 1 de estudio es 0 y uno para el caso 2. Luego se calcula la cantidad de puntos para poder construir la matriz A.

tab=zeros(N,2); k=1; for j=1:m1 for i=1:n1+1 tab(k,1)=i; tab(k,2)=j; k=k+1; end end for j=m1+1:m1+m2+1 for i=1:n2+1 tab(k,1)=i; tab(k,2)=j; k=k+1; end end

%A1

%A2

Se construye una tabla de conversin para almacenar los puntos de la grilla. Luego se construyen las matrices A1 y A2.

A=sparse(N,N); b=sparse(N,1); [i,j]=getIJ(k,tab); A(k,k)=-4; %diagonal elseif i==n2+1 %lado 6 A(k,k)=-1; b(k,1)=-100; A(k,getK(i-1,j,tab))=1; A(k,getK(i+1,j,tab))=1; A(k,getK(i,j+1,tab))=1; A(k,getK(i,j-1,tab))=1;

Se crean la matriz A y el vector b y se rellenan dependiendo de las condiciones de borde. Aqu se muestra el caso de la condicin de borde del tipo Dirichlet en el lado 6 y adems de un punto cualquiera que no corresponde al borde del ro .


U=A\b; u=zeros(n2+1,m1+m2+1)*NaN; for k=1:N [i,j]=getIJ(k,tab); u(i,j)=U(k); end u=u'; u=u-min(min(u));

Se resuelve el sistema de ecuaciones, se ordena la solucin como matriz pasando al sistema de 2 ndices.

ex=0:h:6; ey=0:h:7;
pcolor(ex,ey,u); colormap('hot'); colorbar(); title('Potencial de Velocidades 2D'); xlabel('x [m]'); ylabel('y [m]'); zlabel('Potencial de Velocidades');

Se generan los grficos pedidos siguiendo la misma lgica: Potencial de velocidades 2D y 3D Campo de velocidades utilizando flechas Magnitud de la velocidad en cada punto El diagrama de flechas de la velocidad

Dentro del cdigo se utilizaron las funciones getK(i,j,conv) y getIJ(k,conv) que sirven para cambiar de 1 a 2 ndices y viceversa segn el vector conv que fue creado con ese propsito. Estas funciones corresponden a las encontradas en U-cursos.

Se recomienda ingresar el cdigo en la forma: [A,b,u,tab,t]=df2(h,c) De esta manera adems de generar los grficos, se mostrarn las matrices de inters y el tiempo que transcurre en la ejecucin del programa.

df(1,0)

df(0.5,0)

df(0.1,1)

df(0.5,1)

5.1 Tiempos de duracin a distintos h versus nmero de datos (incgnitas).


tiempo h 1 0,5 0,1 0,05 0,01 0,005 caso 1 3,5622 5,7081 5,9882 16,8557 caso 2 3,5414 4,0337 5,921 16,9925
Tiempo [s] 20 15 10 5 0 1 2 h [m] 3 4

Tiempo ejecucin programa

Caso 1 Caso 2

5.2 Anlisis de tiempos obtenidos.


A medida que se disminuye el espacio de discretizacin (h), aumenta considerablemente la complejidad del problema, ya que aumenta (en orden O(n) ) el nmero de ecuaciones e incgnitas. Por ende, la capacidad de memoria se ve limitada para espacios demasiado pequeos, y el tiempo de resolucin de el sistema matricial aumenta exponencialmente. Por el contrario, a medida que el espacio de discretizacin aumenta, disminuye de manera drstica la complejidad de el sistema matricial A*x=b. Esto hace que se relaje la memoria que se requiere para guardad datos y variables, y el tiempo de demora de resolucin del sistema lineal tambin decae de manera explosiva.

Es posible implementar con total satisfaccin el mtodo de diferencias finitas a travs de MATLAB. El uso de este software facilita la interaccin del usuario con la programacin a travs de su sencillo lenguaje y es posible lograr grandes resultados en unas pocas lneas. Las dificultades presentadas radican esencialmente en la buena disposicin del sistema de coordenadas y la metdica implementacin de las condiciones de borde adecuadas para cada punto.

Las aplicaciones de esta herramienta tiene una gran aplicacin en todos los aspectos de la Ingeniera (Hidrodinmica, Elctrica, Mecnica, Qumica, Matemtica, etc.) y no solo en Computacin.

La aproximacin discreta para ecuaciones diferenciales de aspecto continuo es aceptable dentro del contexto de resolucin y luego visualizacin grfica de su solucin. La visualizacin grafica de un conjunto de datos nos proporciona mayor facilidad para el entendimiento de correlaciones y/o comportamientos de la solucin de manera mas rpida y fcil.

You might also like