Вы находитесь на странице: 1из 25

ndice general

1. Elementos Finitos 1.1. Ecuaciones Diferenciales Parciales . . . 1.1.1. Condiciones de frontera . . . . 1.2. Series de Fourier . . . . . . . . . . . . 1.3. Elementos Finitos . . . . . . . . . . . . 1.3.1. Subdivisin del dominio D . . . 1.3.2. Deniendo las funciones bsicas 1.3.3. Clculo de los coecientes cj . . 3 3 3 4 4 5 6 8 11 11 12 14 16 18 18 19 19 21 21 23 23 23

. . . . . . . . . . j . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

2. Elementos Finitos con Matlab 2.1. Caractersticas de la triangulacin de Delaunay 2.2. Ejemplos . . . . . . . . . . . . . . . . . . . . . . 2.3. Ecuaciones Parablicas. Ecuacin de Calor . . . 2.4. Ecuaciones Elpticas. Ecuacin de Poisson . . . 2.5. Ecuaciones Hiperblicas. Ecuacin de Onda . . 2.6. Ejercicios . . . . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

3. Elementos Finitos con pdetool 3.1. Ecuacin de calor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Ecuacin de Laplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3. Ecuacin de onda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A. Elementos Finitos A.1. Elementos Finitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.2. Comandos de Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Elementos Finitos

Roy Snchez G.

Captulo 1

Elementos Finitos
1.1. Ecuaciones Diferenciales Parciales

Los modelos matemticos de fenmenos fsicos que involucran ms de una variable independiente frecuentemente incluyen ecuaciones diferenciales parciales. Estamos interesados en tres clases ampliamente denidas de fenmenos: radiacin o conduccin de energa, movimiento de ondas y teora del potencial. Los modelos de estos fenmenos involucran ecuaciones diferenciales parciales llamadas, respectivamente, la ecuacin de calor, la ecuacin de onda y la ecuacin del potencial o ecuacin de Laplace. Cada uno de estos casos tienen una variedad de condiciones de la frontera y condiciones iniciales describiendo diferentes situaciones. Las ecuaciones diferenciales parciales del calor, de onda y del potencial con parmetros que vamos resolver sern del manual de PDE pdetoolbox, para seguir con la nomenclatura. La EDP parablica (del calor), tiene por ecuacin d u .(cu) + au = f t R2 , t>0 (1.1.1)

la ecuacin elptica (de Laplace, Poisson) .(cu) + au = f y la hiperblica (de onda) d 2u .(cu) + au = f 2t R2 , t>0 (1.1.3) R2 , t>0 (1.1.2)

1.1.1.

Condiciones de frontera

Las siguientes condiciones de frontera son denidas sobre la funcin escalar u: Dirichlet: hu = r, sobre la frontera . Neumann generalizado: .(cu) + qu = g sobre . n es el vector unitario normal saliente, g, q, h y r son valores de funciones complejas denidas n sobre . La solucin de ecuaciones diferenciales parciales requiere de una amplia gama de herramientas matemticas, incluyendo series de Fourier, integrales y transformadas y funciones especiales. 3

Elementos Finitos

Roy Snchez G.

1.2.

Series de Fourier

Usamos el mtodo de separacin de variables en series de Fourier para resolver las ecuaciones en derivadas parciales. La aplicacin de este mtodo a un problema de valores en la frontera nos lleva de manera natural a los importantes temas tales como son los problemas de SturmLiouville, los valores propios, las funciones propias, y el desarrollo de una funcin en una serie de funciones ortogonales. Temas hechos en clases. Ms ampliamente ver en los siguientes textos de la bibliografa: [10] y [6].

1.3.

Elementos Finitos

Describir las ecuaciones diferenciales parciales de la gua de Matlab, porque esas ecuaciones son las que se van usar en el taller. El mtodo de Elementos Finitos es un procedimiento usado para encontrar una aproximacin numrica a la solucin de los problemas de frontera en ecuaciones diferenciales parciales. Por ejemplo, para resolver la ecuacin elptica de Poisson uxx + uyy + r(x, y)u = f (x, y), (1.3.1)

sobre una regin rectangular D = [0, a] [0, b] y frontera B, se basa en la divisin del dominio D en regiones rectangulares o triangulares, no necesariamente del mismo tamao, y luego, aproximamos la solucin en cada nodo de la malla con que se dividi D. sta regin puede ser circular, elptica o combinacin de estas regiones. El problema para resolver la ecuacin diferencial se convierte en un problema correspondiente de minimizar una funcional que consiste de una integral sobre la regin y algunos tipos de condiciones de frontera no homogneas y no lineales. Para empezar, consideremos una elemento nito solucin para una ecuacin elptica de la regin rectangular D y su frontera B de la forma uxx + uyy + r(x, y)u = f (x, y), (x, y) D Satisfaciendo u(x, y) = g(x, y) sobre la frontera B. La correspondiente funcional a minimizar [ 2 ] ux + u2 r(x, y)u2 + 2f (x, y)u dxdy (1.3.2) I[u] = y
D

sobre pequeas sub-regiones triangulares con que se dividi D. Estas sub-regiones triangulares son convenientes por diversas razones: los tringulos tienen gran exibilidad en cubrir regiones irregulares de D, a la vez simplica el calculo de las funciones bsicas j y de sus coecientes cj en la minimizacin de la funcional I[u]. Un elemento nito de la solucin es una funcin U=
m j=1

cj j

(1.3.3)

donde j son las funciones bsicas. Pasos a seguir Para determinar una aproximacin a la solucin de (1) se recomienda seguir los siguientes pasos: 4

Elementos Finitos

Roy Snchez G.

1. Subdividir la regin D. La regin D dividimos en p regiones triangulares T1 , , Tp . A n de especicar la subdivisin de la region D debemos conocer la ubicacin de cada nodo y tambin la denicin de cada sub-regin triangular en trminos de los vrtices que dene el tringulo. Necesitamos distinguir entre los nodos del interior de D y los nodos de la frontera B. Especcamente, la ubicacin de los nodos interiores de D estn dados por V1 , , Vn y la ubicacin de los nodos de la frontera B por Vn+1 , , Vm . 2. Determinar cada uno de las funcionales base, j , j = 1, , m. Estas funciones j estn denidas para cada nodo de la sub-regin triangular y la minimizacin de la funcional I[u] incluye la integral de los productos de las derivadas parciales de las funciones bsicas j . Cada funcin base tiene soporte nito. 3. Calcular los coecientes cj tal que U = m cj j . j=1 El conjunto de coecientes cj para las funciones bases j corresponden a cada nodo de la frontera (j = n + 1, , m), tal que U satisface las condiciones de frontera en los nodos. Calcular los coecientes para las funciones bases que corresponden a los nodos interiores (j = 1, , n), tal que U minimiza la integral I[u]. Ahora vamos a explicar cada uno de los pasos mencionados en un ejemplo, con mayor nfasis en la determinacin de los j , tanto en los nodos interiores de D o en los nodos de la frontera B.

1.3.1.

Subdivisin del dominio D

El texto en azul son los comandos y funciones para desarrollar en Matlab. Ejemplo 1.1. Sea el rectngulo D = [0, 3] [0, 3]. Dividimos D en 4 sub-regiones triangulares: T1 , , T4 . Los vrtices de estas regiones son los nodos: V1 (1, 1), V2 (0, 3), V3 (3, 3), V4 (3, 0), V5 (0, 0), en sentido horario, identicados con j = 1, , 5. Existe un nico nodo interior a D denotado con V1 .

y 3 V2 T4 V1 T3 V5 3 T1 T2 V4 x V3

Figura 1.1: Regin D = [0, 3] [0, 3]

Elementos Finitos

Roy Snchez G.

1.3.2.

Deniendo las funciones bsicas j

Consideremos las funciones bsicas j . Existe una funcin bsica correspondiente a cada nodo. Denicin 1.1. Denimos las funciones bsicas j con las siguientes propiedades: j = 1 en el nodo j. j = 0 en el nodo k, k = j. j es lineal sobre cada uno de las regiones triangulares, Ti . As, j es un pedazo de plano. Para cada tringulo que tiene como vrtice al nodo j, encontramos un plano z = a+bx+cy tal que z = 1 en el nodo j, y z = 0 en los otros dos vrtices del tringulo. Tambin es cero en cualquier otro regin triangular que no tiene como vrtice al nodo j. Ejemplo 1.2 (Determinacin de j ). Ahora determinaremos las cinco funciones bsicas j en cada una de las regiones cuatro triangulares Ti de la regin rectangular D, descrita en el ejemplo 1.1, ver gura 1.2.

y 3 V2 T4 V1 T3 V5 3 T1 T2 V4 x V3

Figura 1.2: Regin dividido en 4 tringulos

Para determinar j (x, y) = a + bx + cy se debe calcular los coecientes a, b, c (en las ecuaciones del plano) en cada uno de los 4 tringulos Ti , i = 1, 2, 3, 4. Similar nmero de funciones para 2 en los tringulos Ti , i = 1, 2, 3, 4, y as sucesivamente, para las funciones 3 , 4 y 5 en los tringulos Ti i = 1, 2, 3, 4. La denicin de las funciones bsicas incluye la determinacin de un plano que pase a travs de los tres vrtices (x1 , y1 ), (x2 , y2 ) y (x3 , y3 ) de cada regin triangular. Al exigir que las funciones j cumpla con las tres condiciones descritas en la denicin 1.1 se determina la ecuacin del plano z = a + bx + cy, que es igual a uno en (x1 , y1 ), a cero en (x2 , y2 ) y a cero en (x3 , y3 ). Las constantes a, b y c se hallan resolviendo el sistema de ecuaciones: 1 = a + bx1 + cy1 0 = a + bx2 + cy2 0 = a + bx3 + cy3 6

Elementos Finitos

Roy Snchez G.

en cada nodo j. Calculo de la funcin bsica 1 . Por denicin 1 = 1 en el nodo j = 1 y 1 = 0 en los nodos j = 2, 3, 4, 5. Ahora vamos a determinar los coecientes a, b, c de la funcin 1 (x, y) = a + bx + cy en cada uno de los tringulos Ti , i = 1, , 4. 1 (x, y) = a + bx + cy en el tringulo T1 . En este caso, como T1 est formado por los nodos 1,2 y 3 (o vrtices V1 , V2 , y V3 ) entonces 1 = 1 en el nodo j = 1 y 1 = 0 en los nodos j = 2, 3. Resolviendo el sistema 1=a+b+c 0 = a + 0b + 3c 0 = a + 3b + 3c Se tiene 1 (x, y) =
3 2

1 y, porcin del plano limitado por el tringulo T1 . 2

1 (x, y) = a + bx + cy en el tringulo T2 . Como T2 est formado por los nodos 1,3 y 4 (o vrtices V1 , V3 , y V4 ) entonces 1 = 1 en el nodo j = 1 y 1 = 0 en los nodos j = 3, 4. Del sistema 1=a+b+c 0 = a + 3b + 3c 0 = a + 3b + 0c Se tiene 1 (x, y) =
3 2

1 x. 2

1 (x, y) = a + bx + cy en el tringulo T3 : 1 (x, y) = y. 1 (x, y) = a + bx + cy en el tringulo T4 : 1 (x, y) = x. Resumiendo, 1 en los tringulos Ti i = 1, 2, 3, 4. T1 3y 2 T2 3x 2 T3 y T4 x

1 (x, y)

Segunda funcin bsica 2 . Similar que en el caso de 1 , se debe tener en cuenta que 2 es uno en el nodo j = 2 y cero en los otros nodos j = 1, 3, 4, 5. Como el nodo j = 2 no es vrtice de los tringulos T2 y T3 entonces 2 = 0 en esos tringulos; solo se debe calcular 2 en T1 y T4 . Presentamos en la siguiente tabla la funcin 2 en cada tringulo de D. T1 x + y 3 T2 0 T3 0 T4 x + y 3

2 (x, y)

Tercera funcin bsica 3 . Se debe tener en cuenta que 3 es uno en el nodo j = 3 y cero en los otros nodos. Como el nodo j = 3 no es vrtice de los tringulos T3 y T4 entonces 3 = 0 en esos tringulos, solo se debe calcular 3 en los T1 y T2 . T1 3 + 2x + y 6 T2 3 + x + 2y 6 T3 0 T4 0

3 (x, y) Cuarta funcin bsica 4 .

Elementos Finitos T1 4 (x, y) Quinta funcin bsica 5 . T1 5 (x, y) 0 T2 0 T3 3 x 2y 3 T4 3 x 2y 3 0 T2 xy 3 T3 xy 3 T4 0

Roy Snchez G.

1.3.3.

Clculo de los coecientes cj .

Los coecientes cj se deben determinar para los nodos de la frontera j = n + 1, , m y para los nodos interiores al dominio D, j = 1, , n. Los coecientes hallados cumplen U = m cj j j=1 y las condiciones de frontera en esos nodos. Para encontrar los coecientes j correspondientes a los nodos interiores j = 1, , n, se debe minimizar la integral [ 2 ] ux + u2 r(x, y)u2 + 2f (x, y)u dxdy (1.3.4) y
D

El mnimo ocurre cuando

U = 0, para 1 i n. Esto genera un sistema lineal de ecuaciones, ci Ac = d, donde A = [aij ], 1 i n, ai,j = [[i ]x [j ]x + [i ]y [j ]y r(x, y)i j ] dxdy (1.3.5)
D

y di =

f (x, y)i dxdy

m j=n+1

cj bij

(1.3.6)

en el que, para 1 i n, n + 1 j m, bi,j = [[i ]x [j ]x + [i ]y [j ]y r(x, y)i j ] dxdy


D

(1.3.7)

Note que las derivadas parciales [i ]x [j ]x , [i ]y [j ]y son constantes, entonces D dxdy es el rea de las regiones triangulares. Este es una de las razones por el cual sub-regiones triangulares simplica los clculos.

Ejemplo 1.3 (Calculo de los coecientes de los elementos nitos). Consideremos en la ecuacin 1.3.1 de la pgina 4 r(x, y) = 0 = f (x, y). Resulta la ecuacin de Laplace uxx + uyy = 0 con D = [0, 3] [0, 3] y frontera los 4 lados del cuadrado y condiciones de frontera 8

Elementos Finitos

Roy Snchez G.

u = x/3, u = y/3, u = 1, u = 1,

(y = 0, 0 x 3), (x = 0, 0 y 3), (y = 3, 0 x 3), (x = 3, 0 y 3),

Determinar los coecientes para los nodos de la frontera Los nodos de la frontera son j = 2, 3, 4, 5. Por lo tanto, los coecientes que vamos a calcular son cj , j = 2, 3, 4, 5. De las condiciones de frontera se tiene U (V2 ) = 1, U (V3 ) = 1, U (V4 ) = 1, U (V5 ) = 0, Para los 4 nodos de la frontera se cumple U = c2 2 + c3 3 + c4 4 + c5 5 satisfaciendo las condiciones de frontera. Como cada j es cero excepto en el nodo j, se tiene c2 = c3 = c4 = 1 y c5 = 0. Determinar los coecientes para los nodos interiores Como solo tenemos un nodo interior j = 1, entonces solo existir un coeciente correspondiente, c1 . Debemos resolver Ac1 = d donde A= ([1 ]x ][1 ]x + [1 ]y [1 ]y ) dxdy (1.3.8)
D

y d=
5 j=2

cj bj , bj =
D

([1 ]x ][j ]x + [1 ]y [j ]y ) dxdy,

j = 2, 3, 4, 5.

(1.3.9)

Como c5 = 0, no tiene relevancia calcular b5 . Para calcular A en (1) vamos a necesitar las reas de las regiones triangulares, Ai =rea(Ti ), pues D = Ti , i = 1, 2, 3, 4. A1 = 3, A2 = 3, A3 = 3/2, A4 = 3/2. Para determinar A, haremos uso del siguiente cuadro T1 3y 2 0 1 2 T2 3x 2 1 2 0 T3 y 0 1 T4 x 1 0

1 (x, y) [1 (x, y)]x [1 (x, y)]y A= D =


T1

([1 ]x ][1 ]x + [1 ]y [1 ]y ) dxdy (0 + 1/4)dxdy + (1/4 + 0)dxdy + (0 + 1)dxdy + (1 + 0)dxdy


T2 T3 T4

= (1/4)(A1 + A2 ) + A3 + A4 = 9/2. Para determinar b2 , 9

Elementos Finitos T1 x + y 3 1 3 1 3 T2 0 0 0 T3 0 0 0 T4 x + y 3 1 3
1 3

Roy Snchez G.

2 [2 ]x [2 ]y b2 = =
T1

([1 ]x ][2 ]x + [1 ]y [2 ]y ) dxdy (1/2)(1/3)dxdy + 0dxdy +


T2 T3

0dxdy +
T4

(1/3)dxdy

= (1/6)(A1 ) + (1/3)A4 = 1. Para determinar b3 , T1 3 + 2x + y 6


1 3

3 [3 ]x [3 ]y b3 = =
T1

1 6

T2 3 + 2x + y 6 1 6
1 3

T3 0 0 0

T4 0 0 0

([1 ]x ][3 ]x + [1 ]y [3 ]y ) dxdy (1/2)(1/6)dxdy + (1/2)(1/3)dxdy +


T2 T3

0dxdy +
T4

0dxdy

= (1/12)(A1 ) + (1/6)A2 = 3/4. Similar para b4 = 1. Por lo tanto, d = (c2 b2 + c3 b3 + c4 b4 ) = 11/4 Finalmente la ecuacin Ac1 = d (9/2)c1 = 11/4, c1 = 11/18. La aproximacin a la solucin de la ecuacin en derivadas parciales est dada por U (x, y) = En forma simplicada en cada tringulo T1 5 7 + y 12 36 T2 5 7 + x 12 36 T3 1 5 x+ y 3 18 T4 5 1 x+ y 18 3 11 1 + 2 + 3 + 4 8

U (x, y)

10

Captulo 2

Elementos Finitos con Matlab


2.1. Caractersticas de la triangulacin de Delaunay

Esta denominacin se debe al matemtico ruso Boris Delone (1890-1980). Es uno de los pilares en el mtodo de los elementos nitos la divisin del dominio en tringulos con ciertas caractersticas. La triangulacin de Delaunay maximiza los ngulos interiores de los tringulos de la triangulacin. 1. En una triangulacin de Delaunay cada tringulo cumple con la siguiente propiedad bsica: la circunferencia circunscrita a dicho tringulo no contiene a otros nodos de la triangulacin. La circunferencia circunscrita de cualquier tringulo en la triangulacin de Delaunay est vaca, si no contiene otros vrtices aparte de los tres que lo denen. 2. En general, un tringulo se considera de buena calidad si su menor ngulo se encuentra acotado inferiormente respecto a cierto valor deseable. En otras palabras, se trata de evitar el uso de tringulos con ngulos pequeos. Se busca obtener triangulaciones con tringulos, en lo posible, que sea equiltero. 3. Cubierta convexa: La frontera de la cara exterior de la triangulacin de Delaunay es la frontera de la cubierta convexa del conjunto de puntos. Es posible ampliarla para espacios tridimensionales usando las esfera circunscrita. Para representar grcamente la regin D junto a sus regiones triangulares Ti y sus respectivos nodos, escribimos en Matlab las funciones especicadas en texto de color azul. Por ejemplo, para representar D mediante la triangulacin de Delaunay1 .

Vase el apndice para ms propiedades

11

Elementos Finitos

Roy Snchez G.

2.2.

Ejemplos

Ejemplo 2.1 (Discretizacin del crculo unitario). Mediante los siguientes comando en la ventana de Matlab, dividimos el crculo unitario. g=circleg; [p, e, t]=initmesh(g);2 pdeplot(p,e,t,mesh,on)
Delaunay en el crculo unitario 1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 1 0.5 0 0.5 1

Figura 2.1: Crculo con Delaunay

Ejemplo 2.2. Primero vamos aplicar la triangulacin de Delaunay en la regin D = [0, 3][0, 3]. Los vrtices o nodos de los tringulos son los vectores ordenados x e y, representando las abscisas y las ordenadas de los cinco vrtices o nodos. Las regiones triangulares representamos con T . En la ventana de trabajo de Matlab, escribimos los comandos en azul. x=[1 0 3 3 0]; y=[1 3 3 0 0]; T=delaunay(x,y); trimesh(T,x,y), hold on, plot(x,y,ro)
Triangulacin de Delaunay en D= [0 3]x[0 3] 3

2.5

1.5

0.5

0.5

1.5 x

2.5

Figura 2.2: Cuadrado con Delaunay

Ver apndice para ms detalles

12

Elementos Finitos

Roy Snchez G.

Ejemplo 2.3. Triangulacin de Delaunay del dominio D y sobre ese dominio la grca de la supercie con trimesh. N=[1 1;2.5 1;0 0;1 0;2.5 0; 3.5 0; 1 -1; 2.5 -1]; T=[1 3 4;1 2 4;2 4 5;2 5 6;3 4 7;5 7 8;5 6 7]; x=N(:,1); y=N(:,2); z=zeros(8,1); z(5)=2;trimesh(T,x,y,z), hidden o, axis([0 3.5 -1 2 0 3]) En el plano trimesh(T,x,y).

Ejemplo 2.4 (Triangulacin de un crculo.). Sea el crculo unitario D = {(x, y)/x2 + y 2 1}. Vamos a discretizar D con pequeos crculos aproximadamente entre 1000 y 2000 pequeos crculos, luego los vrtices almacenamos esos pequeos crculos en dos vectores para luego delta=2/46; cont=1; for i=1:45 for j=1:45 x0(cont)=-1+i*delta; y0(cont)=-1+j*delta; cont=cont+1; end end No considerar aquellos puntos un poco alejados del centro cont=1; for i=1:2025 if norm([x0(i) y0(i)],2)<1-delta/2 x(cont)=x0(i);y(cont)=y0(i); cont=cont+1; end end 145 entradas en el crculo for i=1:145 x(i+1597)=cos(2*pi/145*i); y(i+1597)=sin(2*pi/145*i); end plot(x,y,bo),axis(equal) Triangulacin de Delaunay del circulo tri=delaunay(x,y);trimesh(tri,x,y)

13

Elementos Finitos

Roy Snchez G.

Ejemplo 2.5. Triangulacin de un anillo. Pgina 620 de Alexander Stanoyevitch Introduccin a las EDO y las EDP con Matlab.

2.3.

Ecuaciones Parablicas. Ecuacin de Calor

La ecuacin de calor tomada del manual de Matlab EDP elementos nitos (vase [4]. d El comando en Matlab u=parabolic(u0,tlist,b,p,e,t,c,a,f,d) es la que resuelve la ecuacin 2.3.1 para ciertos valores de sus variables de ingreso. Ejemplo 2.6. Para los valores particulares de las constantes en la ecuacin 2.3.1 d = 1, c = 0,1, a = 0, f = 0 se tiene la ecuacin con las condiciones de frontera sobre = {P = (x, y)/P 2 1} disco unitario de centro el origen de coordenadas y radio uno. ut = Condiciones de frontera: u(x, y, t) = 0, (x, y) , t > 0 1 + cos(2d), d = (x, y) ( 1 , 0) < 2 u(x, y, 0) = h(x, y) = 0, en otros casos (2.3.3)
1 2

u .(cu) + au = f t

R2 ,

t>0

(2.3.1)

1 (uxx + uyy ) 10

(2.3.2)

(2.3.4)

Solucin. Sean R2 el crculo de centro ( 1 , 0) y radio r = 1 y el crculo unitario de centro el 2 2 origen de coordenadas y radio uno. Condiciones de frontera. En la ventana de comandos de Matlab escribimos las condiciones de frontera del ejemplo 2.6 con elementos nitos. g=circleg; b=circleb1; c=0.1; a=0; f=0; d=1; [p, e, t] = initmesh(g); pdeplot(p,e,t,mesh,on) % Ejem1a.eps Renamiento. Para renar el enmallado. %[p,e,t]=initmesh(g,hmax,1); %[p,e,t]=renemesh(g,hmax,0.1); %pdeplot(p,e,t,mesh,on) Intervalos de tiempo . %Intervalos de tiempos linspace(0,1,10); 14

Elementos Finitos

Roy Snchez G.

tlist=linspace(0,1,10); Condiciones de frontera para u0. u0 es el conjunto de puntos que estn en R2 y no en . x=p(1,:); y=p(2,:); %Determinamos los nodos P que estn en la region R2 y no en . u0=zeros(size(x)); % distancias de los puntos P al centro del crculo R2 dist = sqrt((x 0,5).2 + y.2 ); Indices. % Indices de los nodos que estn en R2 I=nd(dist<0.5); %actualizamos u0 solo para aquellos que estn en R2 fun=1+cos(2*pi*dist); u0(I)=fun(I); Solucin. %Finalmente la solucin u1=parabolic(u0,tlist,b,p,e,t,c,a,f,d); plot(u1,tlist) %Para gracar la solucin para t=1 gure; pdeplot(p,e,t,xydata,u1(:,1),zdata,u1(:,1),mesh,o) Grca de la solucin.

1 0.9 0.8 0.7 0.6 1 0.5 0.4 0.3 0.2 0.1 0 0.5 0 0.5 1 1.5 2 0.5 2 1.8 1.6 1.4 1.2 1 0.8 0.6 0 1 0.5 0 0.5 1 1 0.5 0.5 0 0 1 0.2 0.4

1.5

Figura 2.3: solucion de ecuacion de calor

Figura 2.4: Solucion u(x,y,t)

Ejemplo 2.7. En un crculo de radio 1/2 inscrito a un cuadrado de lado 1, donde u(0)=1 y 0 en el resto, condicin de Dirichlet. Directamente. linspace(0,0.1,20); [p, e, t] = initmesh( squareg ); [p, e, t] = ref inemesh( squareg , p, e, t); u0=zeros(size(p,2),1); ix = f ind(sqrt(p(1, :).2 + p(2, :).2 ) < 0,4); %debe ser ix = f ind( x2 + y 2 < 0,4) 15

Elementos Finitos

Roy Snchez G.

1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 1 0.5 0 0.5 1

Figura 2.5: Circulo de 1/2 de radio

u0(ix)=ones(size(ix)); tlist=linspace(0,0.1,20); u2=parabolic(u0,tlist,squareb1,p,e,t,1,0,1,1); plot(u2,tlist)


0.1 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 0 0.2 0.4 0.6 0.8 1 1.2 1.4

Figura 2.6: Solucion

2.4.

Ecuaciones Elpticas. Ecuacin de Poisson

Consideramos la ecuacin en derivadas parciales (cu) + au = f del manual de Matlab referido a ecuaciones en derivadas parciales, (vase [4]). 16 (2.4.1)

Elementos Finitos

Roy Snchez G.

Ejemplo 2.8. Si consideramos en la ecuacin 1.1.2, que nuevamente presentamos aqu c = 1, a = 0 y f = 4 2 (y 2 1 se tiene la ecuacin de Poisson u = uxx + uyy = f (x, y) con dominio D = [1, 1] [1, 1] y con condiciones de frontera de Dirichlet homogneas. Solucin. Determinamos la solucin mediante las series de Fourier u(x, y) = (y 2 1) sen(2x) Los comandos en matlab para determinar una grca de aproximacin a la grca de la solucin son: g=squareg; % denimos el cuadrado [1, 1] [1, 1]. b=squareb1; % condiciones nulas en las fronteras c=1; a=0; f=4*pi*pi*(y.*y-1-1/(2*pi*pi)).*sin(x.*2*pi); [p, e, t] = initmesh(g, hmax , 1); u=assempde(b,p,e,t,c,a,f); %Resuelve la ecuacin en derivadas parciales nrenamiento=5 for k=1:nrenamiento [p, e, t] = ref inemesh(g, p, e, t) u=assempde(b,p,e,t,c,a,f); end pdesurf(p,t,u); La grca en la gura 2.8 es la aproximacin a la grca de la solucin. La grca de la solucin u(x, y) = (y 2 1) sen(2x), gura 2.7, mediante x=-1:0.1:1; y=-1:0.1:1; u=-1:0.1:1; v=-1:0.1:1; [x, y]=meshgrid(u,y); z = (y.2 1).sin(2 pix); surf(x,y,z)
Solucin de la ecuacin de Poisson

1 ) sen(2x) 2 2

0.5

0.5

1 1 0.5 0 0.5 y 1 1 0.5 x 0.5 0 1

Figura 2.7: Solucin a la ecuacin de Poisson

Figura 2.8: Solucin aproximada

17

Elementos Finitos

Roy Snchez G.

2.5.

Ecuaciones Hiperblicas. Ecuacin de Onda

Ejemplo 2.9. En el mismo cuadrado para x=+1 o -1, con condicin de Dirichlet y de Neumann du para dn = 0. [p,e,t]=initmesh(squareg); x=p(1,:); y=p(2,:); u0=atan(cos(pi/2*x)); ut0=3*sin(pi*x).*exp(cos(pi*y)); tlist=linspace(0,5,31); uu=hyperbolic(u0,ut0,tlist,squareb3,p,e,t,1,0,0,1);

2.6.
Falta

Ejercicios

18

Captulo 3

Elementos Finitos con pdetool


Escribiendo en la ventana de comandos de Matlab pdetool se abre una ventana grca que permite resolver ecuaciones en derivadas parciales mediante los elementos nitos. En ella, se especca el dominio , la frontera , la triangulacin del dominio, los coecientes de la ecuacin diferencial y las condiciones de contorno de la cualquier problema en ecuaciones diferenciales parciales. Tambin se puede manejar el tamao de las mallas, las dimensiones de los ejes coordenados, renar la discretizacin, la solucin y la grca de la solucin. Pasos a seguir 1. Para el dominio con: Options, Axes Limits, Grid. 2. Para las condiciones de frontera con: Boundary o Specify Boundary Conditions. 3. Para las ecuaciones diferenciales parciales con: PDE specication, el tipo de problema para luego, introducir los coecientes. 4. En el cono mesh especicaremos los parmetros de la triangulacin inicial, con p,e,t. 5. Renar la triangulacin con REne Mesh. 6. Resolver la EDP y dibujar la solucin con solve PDE.

3.1.

Ecuacin de calor

Un modelo para el ujo del calor en un alambre uniforme aislado cuyos extremos se mantienen a la temperatura constante de 0 C. La temperatura u(x, t) en el alambre queda descrita mediante el problema del calor siguiente. d u .(cu) + au = f t R2 , t>0 (3.1.1)

Las condiciones de frontera son dos. Primero condicin de Dirichlet: cuando los extremos del alambre se mantienen a temperatura constante nula y segundo condicin de Neumann: cuando los extremos del alambre estn aislados, es decir, no uye calor hacia afuera ni hacia adentro por los extremos del alambre. El principio de conduccin de calor implica que el gradiente de temperatura debe anularse en estos extremos, es decir, u u (0, t) = (L, t) = 0, t > 0. x x 19

Elementos Finitos Los detalles vase en [6]. Ejemplo 3.1. Si consideramos f = 0, a = 0, 2 =


c d

Roy Snchez G.

= cte. en la ecuacin 3.1.1, resulta t>0 t>0

u 2u = 2 2 0 < x < L, t x ux (0, t) = ux (L, t) = 0, u(x, 0) = (x, t),

0<x<L

Solucin. Por el mtodo de separacin de variables, la solucin est dada por u(x, t) = donde An = Dando valores a los parmetros L = , = 0,2, quedando el problema como sigue ut = (0,2)2 uxx , 0 < x < , t>0 t>0 (x) = cos(x) cos(3x) + 0,75 2 L
n=0

An e

n2 2 2 t L2

cos(

n x) L

(3.1.2)

(x) cos(

n x)dx L

(3.1.3)

ux (0, t) = ux (, t) = 0, u(x, 0) = (x, t) = cos(x) cos(3x) + 0,75, Ahora en pdetool de Matlab, los siguientes pasos:

0 < x < .

1. Options, Axes Limits [0, 4] [0, 4], para la grca del rectngulo donde estar inscrito el dominio. 2. Draw Mode, Rectangle/square, para el rectngulo. Luego doble click sobre el rectngulo para ingresar los lmites correctos del dominio. 3. Boundary Mode, luego Spefy Boundary Conditions, para colocar las condiciones de Neumann: g = 0, q = 0. 4. PDE specication, marcamos la opcin parablica (ecuacin de calor), con los siguientes parmetros: c = 0,04, a = 0, f = 0, d = 1. 5. Mesh Mode y Rene mesh. Triangulacin de Delaunay muy na. 6. Solve. Primero Solve Paramters para ingresar la funcin u(x, 0) = (x, t) = cos(x) cos(3x) + 0,75 y luego Solve. 7. Plot. en Plot Parameters: Color, Height(3-D plot) y Animation. Luego Plot. Ver gura y animacin en otra ventana. 20

Elementos Finitos

Roy Snchez G.

Ejemplo 3.2 (Solucin por elementos nitos). Ecuacin del calor en un recinto circular. El comando bsico que resuelve la ecuacin de calor es u = parabolic(u0, tlist, b, e, t, c, a, f, d); donde u0 es el valor inicial, tlist lista de tiempos en los que guardamos la solucin, b texto que describe las condiciones de frontera, p,e,t describen el discretizacin del crculo que usaremos para aproximar la solucin, c,a,f,d los coecientes de la ecuacin. Este comando produce una aproximacin mediante el mtodo de los elementos nitos de la ecuacin g=circleg; b=circleb1; c=0.1; a=0; f=0; d=1; [p, e, t]=initmesh(g)
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 1 0.5 0 0.5 1

Figura 3.1: Crculo Delaunay

3.2.
Falta

Ecuacin de Laplace

3.3.
Falta

Ecuacin de onda

21

Elementos Finitos

Roy Snchez G.

22

Apndice A

Elementos Finitos
Brevemente el signicado de algunos comandos de Matlab.

A.1.

Elementos Finitos

Mtodo de Delaunay. Supongamos que tenemos un conjunto de puntos P = {p1 , , pn } en el plano R2 . La triangulacin de Delaunay relativo a P consiste de todos los tringulos conectando tres puntos no colineales pi , pj , pk P con la propiedad que existen puntos a R2 los cuales estn ubicados equidistantes a cada punto pi , pj , pk que encierra eso tres puntos... Conjunto convexo. Un subconjunto A R2 es convexo si el segmento que une dos puntos cualesquiera de A est en A . Envolvente convexa. ..

A.2.

Comandos de Matlab

initmesh. El comando [p, e, t] = initmesh(g) retorna un enmallado triangular de la regin. Las variables de salida son p, los vrtices de los tringulos, e las aristas o lados de los tringulos y t los tringulos denidos por sus vrtices. Ejemplo A.1. g=circleg; dene el crculo unitario de centro el origen de coordenadas. [p, e, t]=initmesh(g); triangulacin del crculo unitario mediante el mtodo de Delaunay. Las variables p,e,t son matrices que describen a las regiones triangulares del dominio. pdeplot(p,e,t,mesh,on), grca del crculo, de los tringulos y de los nodos.

23

Elementos Finitos

Roy Snchez G.

24

Bibliografa
[1] BURDEN, Richatd L.: Anlisis Numrico. Editorial THOMPSON-LEARNING. Sptima Edicin, 2002. [2] FAUSETT, Laurene, V.: Applied Numerical Analysis Using MATLAB. Editorial PEARSON-PRENTICE HALL. 2008. [3] KREYSZIG, : Matemticas Avanzadas para Ingeniera, volumen I y volumen II. Editorial LIMUSA-WILEY. Tercera Edicin 2002. [4] The MathWorks, Users Guide: PARTIAL DIFFERENTIAL EQUATION Toolbox. Versin 1. USA 2002. [5] MATHEWS, john H.: Mtodos Numricos con MATLAB. Editorial PRENTICE HALL. Madrid 2000. [6] ONEIL, Peter V.: Matemticas Avanzadas para ingeniera. Editorial THOMPSONLEARNING. Quinta Edicin, 2004. [7] SERWAY, Raymond A.: Fsica para ciencias e ingeniera 5ta edition, MC-GRAW-HILL, Mxico 2000. [8] STANOYEVITCH, Alexander: Introduction to Numerical Ordinary and Partial Dierential Equations, Using MATLAB Editorial WILEY-INTERSCIENCE, USA 2005. [9] YOUNG YANG Won, : Applied Numerical Methods Using MATLAB. Editorial WILEYINTERSCIENCE, USA 2005. [10] ZILL Dennis: Ecuaciones Diferenciales, Matemticas Avanzadas para Ingeniera. Editorial MC-GRAW HILL. Tercera edicin 2008. San Miguel, 1 de julio de 2011

25

Вам также может понравиться