View
4
Download
0
Category
Preview:
Citation preview
UNIVERSIDAD DE BUENOS AIRESFACULTAD DE INGENIERÍA<75.12> ANÁLISIS NUMÉRICO
DATOS DEL TRABAJO PRÁCTICO
022 0 1 4 RESOLUCIONAÑO DE ECUACIONES DIFERENCIALES1° ORDINARIAS
TP NRO CUAT TEMA
INTEGRANTES DEL GRUPO
08R A M I R E Z - P A B L O - - - - - - - - 8 1 7 8 4
APELLIDO Y NOMBRE PADRÓN- - - - - - - - - - - - - - - - - - - - - - - - - -
GRUPO APELLIDO Y NOMBRE PADRÓN
DATOS DE LA ENTREGA
M 4 0 8 . T X T 5 9 - 7 3 2 6 1 8 0 6 2 0 1 4 1 8 0 6 2 0 1 4ARCHIVO NRO CONTROL FECHA VENC FECHA ENTR
CORRECCIONES
FECHA NOTA OBSERVACIONES
DOCENTE FIRMA
Introducción:
Objetivos:
Los objetivos del trabajo práctico son ensayar la aplicación de métodos numéricos de distintos órdenes para resolver ecuaciones diferenciales ordinarias, comprender el comportamiento de los mismos ante cambios en el paso de discretización y evaluar ensayando en computadora los errores cometidos.
Desarrollo
Ecuación diferencial que rige el problema a resolver:
d2Tdr2 =−1
rdTdr
Por lo indicado en el enunciado:
r∫ ¿=3 ,8125 inchr ext=4,8125inch ¿
Pasado a cm (1 pulgada = 2,54 cm):
r∫ ¿=9 ,7 cmrext=12,2cm¿
Siendo el padrón 81784
T∫¿=817
6°C=136,17° C¿
T ( 9 ,7cm )=136,17° CT (12,2 cm )=84 °C
Una ecuación diferencial de segundo orden puede escribirse como dos ecuaciones diferenciales de primer orden:
T' '=f (T ' ;T ;r )definiendo u≡T '→{T '=f T (u ;T ; r )
u'= f u (u;T ;r )
Donde f T (u ;T ;r )=u
1) La discretización según el método de Euler:
T n+1=T n+h ∙ f T (un;T n; rn )
un+1=un+h ∙ f u (un ;T n; rn )
T n+1=T n+h ∙un
un+1=un+h ∙ f u (un ;T n; rn )
Reemplazando f u (un;T n ;rn )=−1rn
un según la expresión correspondiente al
problema en cuestión:
T n+1=T n+h ∙un
un+1=un−hr n
un
Condiciones de contorno:
T ( 9 ,7cm )=136,17° CT (12,2 cm )=84 °C
2) Para resolver el problema se programó un algoritmo “TPAN2(paso,m,exacta)” que toma como datos de entrada el paso, el método (m=1=>Euler o m=2=>RK2, exacta=0=>método del tiro o exacta=1=>derivada exacta) y entrega como resultado una matriz donde la primer columna son los radios y la segunda son las temperaturas, ambas discretizadas según el paso elegido, además calcula el máximo error con respecto a la solución analítica, la derivada según método del tiro y la exacta. Cuando algoritmo emplea el método del tiro, convierte el problema de contorno en uno de valores iniciales, donde debe ajustarse la derivada en el punto de partida para que coincida la temperatura final calculada con la que es dato
Como se indica en el enunciado, este es un problema lineal, lo que implica:
T ext=α T∫¿ '+ β¿ Más aun, β=T∫¿ ¿
Esta última ecuación se deduce planteando que la cañería se encuentra en estado estacionario y que el calor es proporcional a T '
Si T∫¿'=0=¿q∫ ¿=0 ¿¿ Luego, por la conservación de la energía
q (r )=0 ∀ r r∫¿<r<rext=¿ T ' (r )=0∀ r r∫ ¿<r<rext ¿¿
Entonces si T∫¿'=0¿ T ext=T∫¿=¿ β=T∫ ¿¿ ¿
Quedando T ext=α T∫¿ '+T∫¿ ¿¿
Por lo que solo es necesario realizar un solo “tiro” para hallar T∫¿' ¿
T ext (T∫1' )−
T∫ ¿
T∫1' =T ext−
T∫¿
T∫¿'¿¿¿
T∫¿'=
T∫ 1' ∙ (T ext−T¿ t)
Text (T∫ 1' )−T∫ ¿
¿¿
Derivada método del tiro -23.2128 °C/cm
Derivada exacta -23.2867 °C/cm
Con un paso de 0,9 mm el error máximo cometido con respecto al valor real es 0,019°C
9.7 9.9 10.1 10.3 10.5 10.7 10.9 11.1 11.3 11.5 11.7 11.9 12.1 12.384
89
94
99
104
109
114
119
124
129
134
Euler paso 0,09 cm
radio [cm]
Temperatura [°C]
3) La discretización según el método de Runge-Kutta de orden 2:
T n+1¿ =T n+h ∙ f T (un;T n; rn )un+1
¿ =un+h∙ f u (un;T n ; rn )
T n+1=T n+h2∙ ( f T (un ;T n; rn )+ f T (un+1
¿ ;T n+1¿ ; rn+1 ))
un+1=un+h2∙ ( f u (un ;Tn ;rn )+ f u (un+1
¿ ;T n+1¿ ;r n+1 ))
T n+1¿ =T n+h ∙unun+1
¿ =un+h∙ f u (un;T n ;rn )
T n+1=T n+h2∙ (un+un+1
¿ )
un+1=un+h2∙ ( f u (un ;Tn ;rn )+ f u (un+1
¿ ;T n+1¿ ;r n+1 ))
Reemplazando f u (un;T n ;rn )=−1rn
un según la expresión correspondiente al
problema en cuestión:
un+1¿ =un−
hr n
un T n+1=T n+h2∙ (un+un+1
¿ )
un+1=un−h2 ∙( 1
rnun+
1rn+1
un+1¿ )
Condiciones de contorno:
T ( 9 ,7cm )=136,17° CT (12,2 cm )=84 °C
Derivada método del tiro -23.2872 °C/cm
Derivada exacta -23.2867 °C/cm
La derivada calculada con el método del tiro para RK2 se acerca más que la
calculada con Euler ya que para calcularla:T∫¿'=
T∫ 1' ∙(T ext−T ¿ t)
Text (T∫ 1' )−T∫ ¿
¿¿ T ext (T∫1
' ) tiene
menos error de discretización para RK2 que para Euler
Un paso de 1 mm es más que suficiente para que el error sea menor a 0,02 °C siendo este de tan solo 8,6 .10-5 °C.
9.7 9.9 10.1 10.3 10.5 10.7 10.9 11.1 11.3 11.5 11.7 11.9 12.1 12.384
89
94
99
104
109
114
119
124
129
134
Runge-Kutta orden 2 paso 0,09 cm
Series2
radio [cm]
Temperatura [°C]
4) Para estimar el error de discretización se realizan dos corridas donde la segunda tiene un paso que es la mitad del primero, de esta forma al hacer la resta entre los valores obtenidos se puede estimar el error
Eulerpaso 0,09 paso 0,045 Error estimado
radio cm Temperatura °C9,7 136,166667 136,166667 0
9,79 134,077519 134,079034 0,0015156499,88 132,007755 132,010638 0,0028835839,97 129,957018 129,961127 0,004108933
10,06 127,924962 127,930159 0,00519662610,15 125,91125 125,917401 0,00615139410,24 123,915553 123,92253 0,00697778210,33 121,937551 121,945232 0,00768015810,42 119,976935 119,985198 0,0082627210,51 118,033401 118,04213 0,008729505
10,6 116,106653 116,115737 0,00908439410,69 114,196404 114,205735 0,00933112310,78 112,302375 112,311848 0,009473286
10,87 110,424291 110,433806 0,009514343 Error máximo real 0.01891910,96 108,561888 108,571345 0,00945762511,05 106,714904 106,72421 0,00930633911,14 104,883087 104,892151 0,00906357811,23 103,06619 103,074923 0,00873231711,32 101,263972 101,272287 0,00831542911,41 99,476197 99,4840127 0,007815681
11,5 97,7026359 97,7098716 0,00723573911,59 95,9430642 95,9496424 0,0065781811,68 94,1972632 94,2031087 0,00584548511,77 92,4650189 92,4700589 0,00504005111,86 90,7461223 90,7502865 0,0041641911,95 89,0403693 89,0435895 0,00322013512,04 87,3475606 87,3497706 0,00221004212,13 85,667501 85,668637 0,00113599312,22 84 84 0
Runge-Kutta orden 2paso 0,09 paso 0,045 Error estimado
radio cm Temperatura °C9,7 136,16666
7136,166667 0
9,79 134,080543
134,080534 8,62593E-06
9,88 132,013508
132,013492 1,63601E-05
9,97 129,965216
129,965193 2,32407E-05
10,06 127,935331
127,935302 2,93038E-05
10,15 125,923524
125,92349 3,45842E-05
10,24 123,929476
123,929437 3,91146E-05
10,33 121,952877
121,952834 4,29265E-05
10,42 119,993424
119,993378 4,605E-05
10,51 118,050821
118,050773 4,85135E-05
10,6 116,124782
116,124732 5,03444E-05
10,69 114,215026
114,214975 5,15688E-05
10,78 112,321281
112,321229 5,22115E-05
10,87 110,44328 110,443228 5,22964E-05 Error máximo real 6.962e-00510,96 108,58076
3108,580712 5,18462E-05
11,05 106,733478
106,733427 5,08826E-05
11,14 104,901177
104,901128 4,94265E-05
11,23 103,08362 103,083572 4,74978E-0511,32 101,28057 101,280524 4,51155E-0511,41 99,491797
599,4917552 4,22977E-05
11,5 97,7170791
97,71704 3,90621E-05
11,59 95,9561952
95,9561598 3,54253E-05
11,68 94,2089318
94,2089004 3,14034E-05
11,77 92,4750799
92,4750529 2,70116E-05
11,86 90,7544351
90,7544128 2,22647E-05
11,95 89,0467977
89,0467805 1,71769E-05
12,04 87,3519726
87,3519608 1,17616E-05
12,13 85,6697689
85,6697628 6,0318E-06
12,22 84 84 0
5) Para estimar el orden de ambos métodos utilizamos el error local restando el valor calculado según el método y el paso al valor exacto:
ed (h )=C ∙hp
ed (h1 )ed (h2 )
=C ∙h1
p
C ∙h1p=( h1
h2 )p
=¿ p=ln( ed (h1 )ed (h2 ) )/ ln( h1
h2 ) Euler
Radio cmTemperatura °C
Orden estimadoExacto
paso 0,09 paso 0,045valor Error de disc. valor Error de disc.
9,7 136,166667
136,166667 0 136,166667 0 -
9,79 134,080531
134,077519 0,003012507 134,079034 0,001496858 1,009027492
9,88 132,013486
132,007755 0,005731642 132,010638 0,00284806 1,008969271
9,97 129,965185
129,957018 0,008167567 129,961127 0,004058634 1,008912025
10,06 127,935292
127,924962 0,010330037 127,930159 0,005133411 1,00885573
10,15 125,923478
125,91125 0,012228422 125,917401 0,006077028 1,008800361
10,24 123,929424
123,915553 0,013871726 123,92253 0,006893943 1,008745894
10,33 121,95282 121,937551 0,015268599 121,945232 0,007588441 1,00869230710,42 119,99336
2119,976935 0,016427359 119,985198 0,008164639 1,008639578
10,51 118,050757
118,033401 0,017356004 118,04213 0,008626499 1,008587685
10,6 116,124715
116,106653 0,018062227 116,115737 0,008977833 1,008536608
10,69 114,214958
114,196404 0,018553431 114,205735 0,009222307 1,008486326
10,78 112,321212
112,302375 0,018836738 112,311848 0,009363451 1,008436822
10,87 110,44321 110,424291 0,018919007 110,433806 0,009404664 1,00838807510,96 108,58069
4108,561888 0,018806843 108,571345 0,009349218 1,008340068
11,05 106,733411
106,714904 0,018506606 106,72421 0,009200266 1,008292783
11,14 104,901112
104,883087 0,018024424 104,892151 0,008960847 1,008246204
11,23 103,083556
103,06619 0,017366205 103,074923 0,008633888 1,008200315
11,32 101,28051 101,263972 0,01653764 101,272287 0,008222211 1,00815509911,41 99,491741 99,476197 0,01554422 99,4840127 0,007728539 1,008110541
211,5 97,717027
197,7026359 0,014391237 97,7098716 0,007155497 1,008066625
11,59 95,956148 95,9430642 0,013083798 95,9496424 0,006505618 1,00802333911,68 94,20889 94,1972632 0,01162683 94,2031087 0,005781345 1,00798066711,77 92,475043
992,4650189 0,010025088 92,4700589 0,004985038 1,007938597
11,86 90,7544054
90,7461223 0,008283162 90,7502865 0,004118973 1,007897114
11,95 89,0467748
89,0403693 0,006405483 89,0435895 0,003185348 1,007856207
12,04 87,3519569
87,3475606 0,004396331 87,3497706 0,002186289 1,007815862
12,13 85,6697608
85,667501 0,002259839 85,668637 0,001123845 1,007776068
12,22 84 84 0 84 0 -
El ordenestimado paraelmetodode Euler es1
Runge-Kutta orden 2
Radio cmTemperatura °C
Orden estimadopaso 0,09 paso 0,045Exacto valor Error de disc. valor Error de disc.
9,7 136,166667 136,1666667 0 136,166667 0 -9,79 134,080531 134,0805427 1,14828E-05 134,080534 2,85682E-06 2,006987859,88 132,013486 132,013508 2,17786E-05 132,013492 5,41842E-06 2,0069652799,97 129,965185 129,9652164 3,09381E-05 129,965193 7,69739E-06 2,006942819
10,06 127,935292 127,9353311 3,90096E-05 127,935302 9,70572E-06 2,00692096710,15 125,923478 125,9235242 4,6039E-05 125,92349 1,14548E-05 2,00689948910,24 123,929424 123,9294765 5,20702E-05 123,929437 1,29556E-05 2,00687851210,33 121,95282 121,9528772 5,71451E-05 121,952834 1,42185E-05 2,00685777310,42 119,993362 119,9934237 6,13033E-05 119,993378 1,52534E-05 2,00683757710,51 118,050757 118,0508211 6,45832E-05 118,050773 1,60697E-05 2,00681769810,6 116,124715 116,124782 6,70209E-05 116,124732 1,66764E-05 2,006798192
10,69 114,214958 114,2150263 6,86511E-05 114,214975 1,70823E-05 2,00677900110,78 112,321212 112,321281 6,9507E-05 112,321229 1,72955E-05 2,00676018110,87 110,44321 110,44328 6,96203E-05 110,443228 1,73239E-05 2,00674165510,96 108,580694 108,5807635 6,90213E-05 108,580712 1,71751E-05 2,00672354711,05 106,733411 106,7334783 6,77388E-05 106,733427 1,68562E-05 2,0067057411,14 104,901112 104,9011774 6,58006E-05 104,901128 1,63741E-05 2,006688153
11,23 103,083556 103,0836196 6,32331E-05 103,083572 1,57354E-05 2,00667094311,32 101,28051 101,2805696 6,00618E-05 101,280524 1,49464E-05 2,00665407311,41 99,4917412 99,49179752 5,63108E-05 99,4917552 1,40131E-05 2,00663740811,5 97,7170271 97,71707909 5,20035E-05 97,71704 1,29413E-05 2,006621056
11,59 95,956148 95,95619521 4,7162E-05 95,9561598 1,17366E-05 2,00660498711,68 94,20889 94,20893184 4,18077E-05 94,2089004 1,04043E-05 2,00658917611,77 92,4750439 92,47507991 3,5961E-05 92,4750529 8,94938E-06 2,00657363311,86 90,7544054 90,75443508 2,96415E-05 90,7544128 7,37677E-06 2,0065583411,95 89,0467748 89,0467977 2,2868E-05 89,0467805 5,69113E-06 2,00654330212,04 87,3519569 87,35197257 1,56585E-05 87,3519608 3,89696E-06 2,00652853312,13 85,6697608 85,66976887 8,03034E-06 85,6697628 1,99854E-06 2,00651392812,22 84 84 0 84 0 -
El ordenestimado paraelmetodode Runge−Kutta 2es2
Conclusiones:
Los tipos de errores involucrados en la resolución del problema numérico son errores de redondeo y de discretización.
Los de redondeo dependen de la unidad de maquina con la que se trabaja y de la cantidad de operaciones que se realizan para resolver el problema.
Los errores de discretización dependen del orden del método empleado (Euler orden 1 y Runge-Kutta orden 2) y del paso utilizado. Con el método de Euler el error de discretización depende linealmente con el tamaño del paso, mientras que con R-K-2 la dependencia es cuadrática.
Por otro lado debe tenerse en cuenta que si se utiliza un paso muy pequeño la cantidad de operaciones realizadas es tan grande que pueden empezar a dispararse los errores de redondeo.
Utilizando la derivada calculada con el método del tiro se garantiza que la función calculada coincida con los valores de contorno y esto causa que el mayor error de discretización se encuentre en los nodos del centro, mientras que utilizando la derivada exacta el problema se convierte en uno de valores
iniciales por lo que los errores locales se van sumando haciendo que el mayor error se cometa en la temperatura externa.
T ' (r )=1r
T 2−T 1
ln (r2/r1 )
Anexo I:
%APELLIDO: RAMÍREZ PADRÓN: 81784 TURNO: 04 FECHA: 18/06/14 function Sol = TPAN2(paso,m,exacta)disp(' AUTOR: PABLO FEDERICO RAMÍREZ PADRÓN: 81784')disp(' ') rint = 9.7; % 2.54*((9+5/8)/2 - 1); diámetro en pulgadas a radio en cmrext = 12.2; % 2.54*(9+5/8)/2; diámetro en pulgadas a radio en cmTint = 817/6; % °CText = 84; % °C %paso = 0.01; % cmr = rint;while abs(rext - r) > paso/2 r = r + paso;endrfin = r; % recalcula el valor de rext para asegurar que al finalizar el% WHILE el r final coincida con rext % método del tiro en problema lineal para evaluar "u" en rint
% u = 0 <=> T' = 0 => Text = Tint%(u - 0)/(Text - Text(u=0)) = (uprom - 0)/(Text(uprom) - Text(u=0))% u/(Text - Tint) = uprom/(Text(uprom) - Tint)% u = uprom*(Text - Tint)/(Text(uprom) - Tint) uprom = (Text-Tint)/(rfin-rint); % °C/cm u = uprom;r = rint;T = Tint; switch m case 1 switch exacta case 0 while r < rfin [u,T,r] = Euler(u,T,r,paso); end u = uprom*(Text - Tint)/(T - Tint); disp(['Derivada método del tiro ',num2str(u),' °C/cm']); %Una vez obtenido "u" para el radio interno se resuelve el PVI case 1 u = (Text - Tint)/log(rfin/rint)/rint; disp(['Derivada exacta ',num2str(u),' °C/cm']); otherwise return end r = rint; T = Tint; ermax = 0; count = 1; Sol(count,1) = r; Sol(count,2) = T; while r < rfin count = count + 1; [u,T,r] = Euler(u,T,r,paso); Sol(count,1) = r; Sol(count,2) = T; error = abs(T-(Text+(Tint-Text)*log(rfin/r)/log(rfin/rint))); if ermax < error ermax = error; end end disp(['Error máximo ',num2str(ermax),' °C']); disp(' '); case 2 switch exacta case 0 while r < rfin
[u,T,r] = RK2(u,T,r,paso); end u = uprom*(Text - Tint)/(T - Tint); disp(['Derivada método del tiro ',num2str(u),' °C/cm']); %Una vez obtenido "u" para el radio interno se resuelve el PVI case 1 u = (Text - Tint)/log(rfin/rint)/rint; disp(['Derivada exacta ',num2str(u),' °C/cm']); otherwise return end r = rint; T = Tint; ermax = 0; count = 1; Sol(count,1) = r; Sol(count,2) = T; while r < rfin count = count + 1; [u,T,r] = RK2(u,T,r,paso); Sol(count,1) = r; Sol(count,2) = T; error = abs(T-(Text+(Tint-Text)*log(rfin/r)/log(rfin/rint))); if ermax < error ermax = error; end end disp(['Error máximo ',num2str(ermax),' °C']); disp(' '); otherwise returnend function [unew,Tnew,rnew] = Euler(u,T,r,paso) Tnew = T + paso*u; unew = u - paso*u/r; rnew = r + paso; end function [unew,Tnew,rnew] = RK2(u,T,r,paso) uaux = u - paso*u/r; Tnew = T + paso*(u + uaux)/2; unew = u - paso*(u/r + uaux/(r+paso))/2; rnew = r + paso; end
end
Anexo II:
9.7 10.2 10.7 11.2 11.7 12.20
0.020.040.060.08
0.10.120.140.160.18
Error de discretizacion Eulerpaso 0,09 cm
derivada exactamétodo del tiro
radio [cm]
Temperatura °C
9.7 10.2 10.7 11.2 11.7 12.20
0.0002
0.0004
0.0006
0.0008
0.001
0.0012
0.0014
Error de discretizacion RK2paso 0,09 cm
derivada exacta
método del tiro
radio [cm]
Temperatura °C
Recommended