Trabajo No 2.Matem´ticas Avanzadas a TOOL BOX MATLAB PDE Elkin Gutierrez, Henry Copete L´pez, James Londo˜o o n Profesor: Carlos Palacios Maestr´ en Ingenier´ ıa ıa Universidad de Antioquia 14 de junio de 2006 1 quiz´ el m´s extendido en la comunidad ingenieril es el m´todo a a e de los elementos finitos. El PDETOOL permite resolver las ecuaciones diferenciales en derivadas parciales en el espacio de dos dimensiones y en el tiempo. vibraci´n de membranas y determinaci´n de valores proe o o pios. involucran el estudio de magnitudes que evolucionan no solamente en tiempo sino tambi´n en las variables espaciales. ıa Aunque existen varios enfoques distintos para la resoluci´n num´rica de estos o e problemas. en muy pocas ocasiones puede obtenerse una soluci´n anal´ o ıtica a estos problemas. tanto estacionarios como no estacionarios.1. electrost´tica. o Las ecuaciones tratadas en PDETOOL describen varios tipos de los procesos f´ ısicos importantes. Los tipos de ecuaciones que se pueden resolver con esta herramienta son: Ecuaci´n parab´lica: o o ∂u − ∂t Ecuaci´n hiperb´lica: o o d d ∂2u − ∂t2 (c u) + au = f (1) (c u) + au = f 2 (2) . entre otras. especialmente cuando el dominio computacional presenta una geometr´ complicada. especificar la ecuaci´n diferencial y las condiciones de frontera. el electromagnetismo. En este cap´ ıtulo analizamos las funcionalidades que Matlab incorpora en este campo mediante su toolbox para ecuaciones en derivadas parciales. Para ello es necesario dibujar el objeto en dos dimensiones. Desde la ıa. Introducci´n o Muchos de los problemas estudiados por diversas disciplinas de la ingenier´ como la mec´nica de medios continuos. ondas ac´sticas y o a u electromagn´ticas. utilizando el M´todo e de Elementos Finitos. Sin embargo. o l´ ınea de comandos de MATLAB podemos llamar unas funciones para realizar y controlar la actuaci´n de PDETOOL. Por e esta raz´n. tales como transferencia de calor. procesos de difusi´n. o Tambi´n permite crear en el espacio de trabajo unos ficheros con los datos e de geometr´ condiciones de frontera y la descripci´n de la malla. sino tambi´n el modelado de sise temas mediante ecuaciones en derivadas parciales. la formaci´n de un ingeniero no debe cubrir unicamente el campo o o ´ de las ecuaciones diferenciales ordinarias. la transıa a ferencia de calor. f y d pueden deo o pender del tiempo. q. o ıas Generaci´n autom´tica de mallas(mesh). g. 2. Neumann generalizado: n(c u) + qu = g en la frontera ∂Ω. a Modelaci´n de geometr´ bidemensionales. Para ı o ecuaciones parab´licas e hiperb´licas los coeficientes c. d es una funci´n compleja. Alcance An´lisis de ecuaciones (sistemas) de ecuaciones de derivadas parciales. h y r son funciones complejas definidas dentro del dominio Ω. o a 3 .Ecuaci´n el´ o ıptica: − (c u) + au = f Ecuaci´n de valores propios: o − (c u) + au = λdu (4) (3) Aqu´ λ es el valor propio desconocido. Las condiciones de frontera para una funci´n escalar u pueden ser de dos o tipos: Dirichlet: hu = r en la frontera ∂Ω. a.1. La soluci´n presentada se obtiene o haciendo uso el m´todo de elementos finitos para problemas definidos sobre e dominios limitados y continuos en el plano. PDE TOOLBOX Es una herramienta de MATLAB que facilita la resoluci´n de problemas o de ecuaciones diferenciales parciales (EDP). n es el vector unitario dirigido hacia fuera del dominio Ω. 2. 2. o o Movimientos transversales en membranas.4. Flujos en medios porosos y problemas de difusi´n. o Ambiente flexible y abierto . o 4 . a 2. a No permite importar datos de geometr´ desde sistemas CAD. Utilizaci´n de las librer´ de MATLAB. ´ Areas de aplicaci´n o Transferencia de calor en tanto en estado estable como en transitorio. Determinaci´n de estados de vibraci´n natural de membranas y probo o lemas de estructuras mec´nicas. o ıas Permite la interacci´n con otros toolbox de MATLAB. o a Permite la operaci´n en modo de comandos. o 2.3.Refinamiento de mallas en modo adaptativo. Limitantes Solo para an´lisis bidimensionales. Ventajas Permite la operaci´n en modo gr´fico (GUI). ıa Interfaz gr´fica limitada.2. o Propagaci´n de ondas transitorias y arm´nicas. a No presenta documentaci´n completa para uso avanzado. se dispone de tres modos que corresponden a diferentes etapas en la definici´n del problema de EDP: o Draw mode (Modo de dibujo) Boundary mode (Modo de frontera) PDE mode (Modo PDE) 5 . La Figura 2 muestra el aspecto que presenta el pdetool GUI nada m´s al ser inicializado. o La interfaz se inicializa escribiendo pdetool en la l´ ınea de comandos de Matlab. siempre y cuando el toolbox mencionado se encuentre instalado en el sistema.3. Metodolog´ operativa ıa La Figura 1 representa gr´ficamente la metodolog´ a emplear con el P DE a ıa toolbox: Figura 1: Metodolog´ operativa ıa El P DE toolbox de Matlab incluye una interfaz gr´fica de usuario (GUI) a completa. a Para definir un problema por medio de la interfaz gr´fica de usuario (GUI) a a la cual se accede mediante el comando pdetool. que cubre todos los aspectos del proceso de soluci´n de una EDP. Ellipse. los cuales pueden ser combinados para obtener geometr´ o ıas mas complejas. P olygon.1. Draw mode (Modo de dibujo) En este modo se crea la geometr´ de problema.Figura 2: Metodolog´ operativa ıa 3. o bien a partir de los iconos que aparecen debajo del men´ principal mostrados en la Figura. Se selecciona del men´ principal Draw −→ DrawM ode. por medio de un conjunto ıa de objetos s´lidos. Existen dominios b´sicos u a 6 . Se pueden dibuu jar rect´ngulos. elipses o pol´ a ıgonos seleccionando del men´ principal Draw u −→ Rectangle. etc. discos y pol´ a ıgonos con los cuales se pueden operar para obtener dominios m´s complejos combin´ndolos con las operaciones de uni´n a a o (+) y diferencia (−). si son rect´ngulos como R1.como rect´ngulos. R2. a o Figura 3: Draw mode (Modo de dibujo) 7 . al cambiar de modo (por ejemplo cambiando a BoundaryM ode) aparecer´ la regi´n resultante. C2.. Observe que las distintas regiones se van numerando consecutivamente. Para dibujar una muesca se puede dibujar un c´ ırculo sobre otro modificar la combinaci´n por defecto en la ventana Set formula de C1 + C2 a o C1 − C2. como en la Figura 3. etc. si son c´ a ırculos C1. Por ejemplo para especificar la condici´n o de frontera u = x2 + y 2 . debemos especificar h como se muestra en la Figura 4. y) ∈ ∂1 donde ∂1 denota la parte de la frontera seleccionada.3. Las condiciones de frontera sobre uno de los bordes se inician dando doble click sobre alguno de los bordes de la frontera del dominio. Boundary mode (Modo de frontera) En este modo se especifican las diferentes condiciones de frontera (Dirichlet o Neumann). seleccionando del Boundary −→ Removeallsubdomainborders.2. Aqu´ h y r son constantes o a lo m´s funciones ı a de la variables independientes x. y. En la figura siguiente aparece la ventana por defecto para especificar condiciones de frontera tipo Dirichlet: h ∗ u = r. (x. Se pueden especificar coeficientes para cada subdominio independientemente. 8 . PDE mode (Modo PDE) En este modo se especifica el tipo de ecuaci´n a resolver y sus respeco tivos coeficientes c. si los hay. a. f y d. Una vez especificado el dominio. las cuales pueden ser aplicadas a diferentes segmentos de las fronteras. Si se desea se pueden reu mover los bordes interiores del dominio.3. Aparecer´ una ventana donde se podr´n especificar las a a condiciones de frontera del tipo Dirichlet. Figura 4: Boundary conditions 3. Neumann o Mixtas. se pueden especificar las condiciones de frontera cambiando al Modo de Frontera (Boundary Mode) a partir del men´ principal: Boundary −→ BoundaryM ode. Figura 6: PDE mode (Modo PDE) 9 . Esto marca un compromiso de rapidez y precisi´n. Se debe tener en cuenta que una malla no se puede refinar indefinidamente. si se refina demasiado el c´lculo puede demorar demasiado o pueden aparecer a oscilaciones espurias. Mesh mode (Modo Malla) Este modo permite inicializar la malla y refinarla en caso necesario. En o la Figura 6 se muestra la malla inicial en una regi´n en forma de L y un o primer refinamiento obtenido al dar clic en el icono se˜alado por el puntero n en la figura de la derecha.Figura 5: PDE mode (Modo PDE) 3.4. aparecer´n las curvas de contorno u(x.. En la figura. y el negativo del a campo gradiente − u que en el caso de problemas de transferencia de calor se puede interpretar como el vector de flujo de calor. a o las condiciones de frontera son del tipo Dirichlet homog´neas. En la siguiente Figura 7 se muestra la soluci´n en base al ultimo o ´ mallado de la regi´n. Esto o o se logra seleccionando del men´ principal Plot −→ P arameters. Mesh solve (Modo Soluci´n) o En este modo se resuelve la EDP.3. si seleccionamos las opciones de Contour y Arrows. en elasticidad se interpreta como el desplazamiento. de ah´ que la e ı soluci´n debe tomar el valor cero en la frontera. etc. y) = const. Por defecto.. se ha resuelto la ecuaci´n de Laplace en la o regi´n en forma de L.5. con lo que u aparecer´ la ventana de opciones mostrada en la Figura 8: a Por ejemplo. la regi´n central en rojo corresponde a valores m´s o o a altos. se obtendr´ la Figura 9 donde adem´s del gr´fico o ıa a a de color. los bordes m´s claros a valores menores de la soluci´n. Basta seleccionar del men´ principal u Solve. En el ejemplo. o Figura 7: Mesh solve (Modo Soluci´n) o Se puede optar por otras formas de representaci´n de la soluci´n. el gr´fico que se muestra es del tipo de o a colores. 10 . despu´s e de dar clic en el bot´n P lot. con la barra a la derecha indicando los valores que se asocian a diversos tonos. 4.1. Ejercicios expuestos Placa calentada con un extremo aislado Este sistema se muestra esquem´ticamente en la Figura 10 para una placa a de 40x40cm.Figura 8: Plot Selection Figura 9: Plot Selection 4. el cual es una t´ ıpica representaci´n de una ecuaci´n el´ o o ıptica: ∂2T ∂2T + =0 ∂x2 ∂y 2 (5) 11 . Condiciones Dirichlet: 75o C. 100o C y 50o C. ∂y La Figura 11 muestra graficamente la soluci´n de la ecuaci´n diferencial o o parcial para este problema con la gama de colores y lineas de contorno de la temperatura: Figura 10: Soluci´n PDE o 12 . Condiciones Neumann: ∂T = 0. n. existe transferencia de calor con el ambiente y al mismo tiempo hay una fuente radiactiva de generaci´n de calor. que se le a˜ade calor conn tinuamente en el extremo izquierdo.(c u) + 50ru = 5000r en toda la periferia. Condiciones Neumann: n. Barra radioactiva Considere una barra cil´ ındrica radioactiva. la o ecuaci´n diferencial en coordenadas cil´ o ındricas que rige el fen´meno f´ o ısico es de la forma: rρC ∂ ∂u − ∂t ∂r kr ∂u ∂r − ∂ ∂z kr ∂u ∂z = fr (6) Condiciones Dirichlet:u = 100 en el extremo derecho de la barra. el extremo derecho se mantiene a una temperatura constante.4.2. o Con una aproximaci´n del sistema a coordenadas bidimensionales. El valor inicial es u(t0 ) = 0 13 .(c u) = 5000r en el extremo izquierdo. Para ello se debe elegir el orden de o u los polinomios que vamos a emplear. Para continuar con la descripci´n del m´todo empleemos la ecuaci´n o e o el´ ıptica b´sica (expresada sobre el dominio computacional Ω). Los o ıa a polinomios son una buena elecci´n: son f´ciles de evaluar y tienen buenas o a propiedades de aproximaci´n en dominios peque˜os. La interfaz gr´fica de Matlab pdetool. En realidad lo que estamos buscando es la mejor aproximaci´n de u en la o clase de polinomios continuos a trozos. Por lo tanto lo que tenemos que hacer es probar la ecuaci´n para uh frente a todas las posibles funciones v o 14 . resoluci´n de la o ıas o o ecuaci´n discretizada y representaci´n de resultados. A continuaci´n se preo o o senta un peque˜o resumen de las bases en la que se fundamenta la misma. y por lo tanto el t´rmino de la derivada de a e segundo orden se anula.5. nos enfrentamos a dos problemas: en primer lugar. la necesidad de describir una geometr´ complicada y generar una malla ıa en ella. generaci´n de mallas. pero no podr´ a ıa ıamos emparejar los valores de tri´ngulos vecinos. En los bordes de los tri´ngulos c uh es en general a discontinua. e El punto de inicio es aproximar el dominio computacional Ω como la uni´n o de objetos geom´tricos sencillos. Una vez que se ha realizado el mallado. n el m´todo de los elementos finitos (FEM). parte de la PDE o a toolbox. proporciona una herramienta gr´fica de f´cil manejo para la descripa a ci´n de estas geometr´ complicadas. Si emple´semos constantes su evaluaci´n a o en cada tri´ngulo ser´ muy sencilla. Bases del m´todo de los elementos finitos e Incluso la soluci´n de ecuaciones en derivadas parciales sencillas en geo ometr´ complicadas raramente puede expresarse en t´rminos de funciones ıas e elementales. en este caso tri´ngulos. y una derivada de orden superior carece de sentido. El m´ a ınimo orden que podemos pedir a los polinomios para cumplir los requisitos es que sean funciones lineales (Figura 2). Dentro de cada a e e tri´ngulo uh es una constante. discretizar la ecuaci´n en o derivadas parciales en esta malla y resolver la ecuaci´n para la aproximaci´n o o discreta de la soluci´n. pudi´ndose conseguir o n e conectar las soluciones sobre los lados de tri´ngulos vecinos de modo que se a consiga una soluci´n aproximada contin´a. a − (c u) + au = f Si uh es una aproximaci´n lineal a trozos de la soluci´n exacta u. entonces o o no est´ claro qu´ significa el t´rmino de la segunda derivada. Seguidamente se e a impone que la soluci´n deber´ ser simple en cada uno de los tri´ngulos. De este modo. V´ase que esta nueva formulaci´n del problema ahora se encuentra e o bien definida incluso en el caso en el que uh y v son funciones lineales a trozos. Estas funciones v son llamadas normalmente funciones de prueba. Probar significa formalmente el multiplicar el residuo por cualquier funci´n e integrar. (c uh )n + quh = g. El integrar por partes (f´rmula de Green) nos conduce a que uh debe satiso facer: ((c uh ) v + auh v − f ) dx − Ω ∂Ω n.Figura 11: (izquierda) Malla generada con elementos triangulares. o que pertenezcan a esa clase. Para el resto de puntos que posean condiciones de frontera Neumann. imponemos que las funciones de prueba sean v = 0 en esos puntos y que uh posea el valor deseado en ese punto. determinar uh de modo o que: (− .(c u)vds = Ω f vdx (8) Donde ∂Ω es la frontera de Ω y n es la normal apuntando hacia afuera de ∂Ω.(c uh ) + auh − f ) vdx = 0 Ω (7) para todas las posibles v. es decir. Las condiciones de frontera se incluyen de la siguiente manera. la formulaci´n o 15 . Si uh se conoce en algunos de los puntos de la frontera (condiciones de frontera Dirichlet). (Derecha) Funci´n lineal continua en trozos sobre esa malla. v = φj . o N uh (x) = i=1 Ui φi (x) (10) Donde los φi son una base de funciones lineales a trozos y Ui son coeficientes escalares. Para cada v que escojamos ahora.. la formulaci´n FEM conduce a o una ecuaci´n algebraica en las inc´gnitas Ui . P. e e Mc-Graw-Hill. Escojamos los φi como si fuera una ”tienda de campa˜a”. 2004 [3] Nakamura Shoichiro. An´lisis num´rico y visualizaci´n gr´fica con Mata e o a lab. una funci´n con altura 1 en el nodo i y altura 0 en el resto de los o nodos. Chapra and R. Dado que queremos determio o nar N inc´gnitas.. 2. El vector soluci´n U contiene los coeficientes de la expansi´n de uh .en FEM nos conduce a encontrar un uh de modo que: ((c uh ) v + auh v − f ) dx − Ω ∂Ω1 quh vds = Ω f vdx + ∂Ω1 gvds (9) Donde Ω1 es la parte de la frontera con condiciones de frontera Neumann. C. cuarta ed. a. COMSOL AB.. Referencias [1] S. N De esta manera puede escribirse un sistema de ecuaciones KU = F donde la matriz K y el lado derecho F contiene integrales en t´rminos de las fune ciones de prueba φi . C. [2] Moler. q y g. Cualquier funci´n continua a trozos uh puede ser representada como una o combinaci´n. 1987 [4] Partial Differential Equation Toolbox For Use with MATLAB. . Las funciones de prueba v deben ser cero sobre Ω − Ω1 . o j = 1.. Numerical Computing with MATLAB. n es decir. M´todos Num´ricos para Ingenieros. Prentice Hall. φj . 2003. The MathWork 16 . y los coeficientes que definen el problema: c. Canale. que o o coinciden con los valores de uh en cada nodo xi puesto que uh (xi ) = U i. necesitamos N funciones de prueba v distintas. f .