Documente Academic
Documente Profesional
Documente Cultură
Clear@x, y, p, q, f, a, bD;
p@x_D := x2 ;
q@x_D := 30;
f@x_D := 14 x;
a = 0.0;
b = 1.0;
ya = 0.0;
yb = 0.5;
Print@TraditionalForm@ x Hp@xD x y@xDL + q@xD y@xD == f@xDDD;
Print@TraditionalForm@y@aD == ya DD;
Print@TraditionalForm@y@bD == yb DD;
x2 H y HxLL 2 x y HxL + 30 yHxL 14 x
yH0.L 0.
yH1.L 0.5
MEF00200SoporteLocal.nb
Clear@n, j, coordsD;
n = 7;
coords = TableBa + Hb aL
Out[14]=
Log@jD
Log@nD
, 8j, 1, n<F
distancia = Hb aL H6 nL;
gnodos = 8PointSize@LargeD, Thick,
Table@8RGBColor@0, 0.6, j nD, Line@88coords@@jDD, 2 distancia<,
8coords@@j + 1DD, 2 distancia<<D<, 8j, 1, n 1<D,
Table@8Hue@j nD, Point@8coords@@jDD, 2 distancia<D<, 8j, 1, n<D
<;
Graphics@gnodos, Axes TrueD
Out[17]=
-0.04
-0.06
-0.08
-0.10
0.2
0.4
0.6
0.8
1.0
MEF00200SoporteLocal.nb
Clear@, xD;
1 @x_D :=
n @x_D :=
coords@@2DDx
coords@@2DDa
a < x coords@@2DD
True
xcoords@@n1DD
bcoords@@n1DD
True
xcoords@@j1DD
j_ @x_D :=
coords@@jDDcoords@@j1DD
coords@@j+1DDx
coords@@j+1DDcoords@@jDD
Out[23]=
1.0
1.0
0.8
0.8
0.6
0.6
0.4
0.2
0.4
0.2
0.2
0.4
0.6
0.8
1.0
0.2
1.0
1.0
0.8
0.8
0.6
0.4
0.6
0.8
1.0
0.6
0.4
0.2
0.4
0.2
0.2
0.4
0.6
0.8
1.0
0.2
0.4
0.6
0.8
1.0
1.0
1.0
1.0
0.8
0.8
0.8
0.6
0.6
0.4
0.2
0.6
0.4
0.2
0.2
0.4
0.6
0.8
1.0
>
0.4
0.2
0.2
0.4
0.6
0.8
1.0
0.2
0.4
0.6
0.8
1.0
MEF00200SoporteLocal.nb
Abajo se muestran todas las funciones base, junto con los nodos (mallado):
In[24]:=
0.8
0.6
Out[24]=
0.4
0.2
0.2
0.4
0.6
0.8
1.0
-0.2
Clear@, cD;
n
@x_D := cj j @xD;
j=1
c3
c4
c5
c6
c7
2.80735 Hx + 0.L
0. < x 0.356207
4.7992 H0.564575 xL 0.356207 < x 0.564575
6.7641 Hx 0.564575L
0.564575 < x 0.712414
8.72044 H0.827087 xL 0.712414 < x 0.827087
+
+
+
+
+
MEF00200SoporteLocal.nb
forma:
d
IpHxL
- dx
d
dx
subespacio generado por las funciones base 9f j = j=2 (sin incluir f1 ni fn , porqu
sern usadas para cumplir las condiciones de frontera). Esto significa que el
producto punto del residuo por cada funcin base debe ser cero:
b
a f j HxL rHxL x = 0
es decir
b
- a f j HxL
d
dx
IpHxL
d
dx
para j = 2 ... n - 1
b
Sin embargo la aproximacin FHxL que estamos utilizando en este ejemplo no tiene
segunda derivada. Usando integracin por partes se obtiene una expresin que
slo involucra primeras derivadas:
-Af j HxL pHxL
b
dF HxL b
dF HxL d f j HxL
E
+
pHxL
a
dx a
dx
dx
para
j = 2 ... n - 1 ,
pero recordemos que debido a su soporte local, f j HbL = f j HaL = 0 para j = 2 ... n - 1,
entonces cada producto punto igualado a cero queda:
b
b
d HxL d j HxL
x
+
HxL Hq HxL HxL f HxLL x = 0
a p HxL d x
dx
a j
para
j = 2 ... n - 1 ,
que, junto con las condiciones de frontera c1 = ya, cn = yb, forman un sistema de n
ecuaciones para los n parmetros c j , como se muestra abajo.
Nota: Las integraciones deberan ser integraciones numricas, con el comando
NIntegrate[], pero se usan las integrales simblicas, que son ms lentas, para
efectos de claridad en este documento didctico:
MEF00200SoporteLocal.nb
In[29]:=
ecuaciones =
b
8j, 2, n 1<F;
c1 0.
1.6623 c1 + 6.79909 c2 + 0.00723589 c3 + 1.21298 0.
0.00723589 c2 + 7.36655 c3 - 2.03068 c4 + 1.35743 0.
-2.03068 c3 + 10.5716 c4 - 4.6032 c5 + 1.28881 0.
-4.6032 c4 + 15.4196 c5 - 7.69093 c6 + 1.19617 0.
-7.69093 c5 + 21.5384 c6 - 11.2537 c7 + 1.10866 0.
c7 0.5
Out[35]=
LinearSolve@m, vD
80., 0.178155, 0.234043, 0.181193, 0.0328933, 0.198029, 0.5<
MEF00200SoporteLocal.nb
In[36]:=
Out[36]=
0.234043
0.178155
0.5
0.181193
6.7641 Hx 0.564575L
0.564575 < x 0.712414
8.72044 H0.827087 xL 0.712414 < x 0.827087
MEF00200SoporteLocal.nb
Out[40]=
0.2
0.1
0.2
0.4
0.6
0.8
1.0
-0.1
-0.2
solexacta =
DSolve@8 x Hp@xD x y@xDL + q@xD y@xD f@xD, y@aD ya , y@bD yb <, y@xD, xD;
exacta@x_D := Evaluate@Expand@ReplaceAll@y@xD, solexacta@@1DD DD D;
Plot@exacta@xD, 8x, a, b<, PlotLabel exacta@xDD
1. x5 - 0.5 x
0.3
0.2
Out[43]=
0.1
0.2
-0.1
-0.2
0.4
0.6
0.8
1.0
MEF00200SoporteLocal.nb
0.005
Out[44]=
0.2
0.4
0.6
0.8
1.0
-0.005
-0.010
Ejercicios
1. Modifica ste documento para obtener una solucin aproximada al mismo
problema, pero que los nodos del mallado estn igualmente espaciados, debes
obtener las grficas que se muestran abajo para las funciones base, la solucin
aproximada y el error:
-0.04
-0.06
-0.08
-0.10
0.2
0.4
0.6
0.8
1.0
0.6
0.8
1.0
1.0
0.8
0.6
0.4
0.2
0.2
0.4
-0.2
Solucin
0.5
0.4
0
0
10
MEF00200SoporteLocal.nb
Solucin aproximada
0.5
0.4
0.3
0.2
0.1
0.2
0.4
0.6
0.8
1.0
0.8
1.0
-0.1
-0.2
Error = Analtica-Galerkin
0.01
0.2
0.4
0.6
-0.01
-0.02
-0.03
2. Modifica ste documento para obtener una solucin aproximada a este otro
problema:
d
d
- dx
IpHxL dx
yHxLM + qHxL yHxL = f HxL,
con pHxL = 1 + x, qHxL = 0, f HxL = x,
yH0L = -1
yH5L = +1
debes obtener las grficas que se muestran abajo para las funciones base, la
solucin aproximada y el error:
-0.04
-0.06
-0.08
-0.10
0.2
0.4
0.6
0.8
1.0
MEF00200SoporteLocal.nb
1.0
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
1.0
-0.2
Solucin aproximada
2.5
2.0
1.5
1.0
0.5
-0.5
-1.0
Error = Analtica-Galerkin
0.20
0.15
0.10
0.05
Referencias
Adaptado por Jos Luis Gmez Muoz
http://homepage.cem.itesm.mx/jose.luis.gomez
Basado en el trabajo de John H. Mathews
11
12
MEF00200SoporteLocal.nb
http://math.fullerton.edu/mathews/n2003/GalerkinMod.html
Tambin revisar el captulo 2 del libro:
J.N. Reddy
An Introduction to the Finite Element Method, 3rd Edition
McGraw-Hill
Out[45]=
In[46]:=
Out[46]=
$Version
9.0 for Microsoft Windows H64bitL HJanuary 25, 2013L
DateString@D
Wed 2 Apr 2014 16:08:49