Sie sind auf Seite 1von 11

ESCUELA POLITCNICA NACIONAL

FACULTAD DE INGENIERA MECNICA


ANALISIS NUMRICO

PROYECTO:
USO DE UN METODO DE ANALISIS
NUMERICO PARA RESOLVER PROBLEMAS
DE INGENIERIA MECANICA

INTEGRANTES: MEDINA CAMILO


QUINAPALLO EDISON

QUITO, 28 DE JULIO DE 2015

1
TEMA:
RESOLUCION DE LA ECUACION DE CALOR POR EL
METODO EXPLICITO
OBJETIVOS:
GENERAL
Desarrollar, mediante el uso de conocimientos de mtodos
numricos, soluciones para problemas relacionados con la ingeniera
mecnica

ESPECIFICOS
Realizar un programa con el software de MatLab, tal que facilite los
clculos que se realicen
Aplicar los conocimientos adquiridos en clase y bibliografa de
manera apropiada
Encontrar e identificar problemas y su respectiva solucin en cuanto a
la ingeniera mecnica

MARCO TEORICO

Introduccin
Existen diferentes mtodos para resolver Ecuaciones Diferenciales Parciales
(EDP) y Ecuaciones Diferenciales Ordinarias (EDO), entre ellos se encuentra
el Mtodo de las Diferencias Finitas (MDF), el cual consiste en introducir una
malla sobre una regin y aproximar las derivadas del problema planteado
por medio de tcnicas de aproximacin de las derivadas como lo es, por
ejemplo, la descomposicin en serie de Taylor de la funcin. Ahora tomemos
la descomposicin en serie de Taylor de la funcin U en los puntos x+h y
xh, despus sumamos como es habitual en estos casos para hallar una
expresin tanto de la primera como de la segunda derivada de la funcin,
entre otras, as tenemos lo siguiente

(1) (2) (3)

En (3) el error es de al menos h4.


De lo anterior podemos deducir que al sumar (1) y (2) tenemos

)] (4)

2
con un error de h2.
Ahora de (2) restemos (3), obtenemos la denominada diferencia
central

)] (5)

tambin con un error de h2.


Definimos la diferencia para adelante por

)] (6)

y la diferencia diferencia para atrs por

)] (7)

Formulacin del problema


Un ejemplo clsico de una EDP del tipo parablico es la ecuacin de la
distribucin de calor (Difusin) en una barra de longitud L con las
particularidades siguientes:

La barra est aislada totalmente en sus extremos.

La distribucin de la temperatura es uniforme en las secciones


rectas.

El material que compone a la barra es homogneo.

La ecuacin de distribucin de calor tiene la siguiente forma

. (8)

Donde la solucin a esta ecuacin es la temperatura U a una distancia


X del extremo de la barra delgada despus de un tiempo T, la
solucin es una funcin que depende de dos variables U(x,t), es el
coeficiente de distribucin de calor.

El Mtodo Explicito
El Mtodo Explicito consiste en calcular los valores desconocidos de u en un
t = k cualquiera a partir de los valores conocidos de u para valores
anteriores de t, los valores de u son conocidos en t = 0, j = 0 gracias a las
condiciones iniciales. Veamos cmo queda (8), cuando = 1 utilizando MDF,
para j = 0:

3
(9)
Teniendo en cuenta que xi = ih, i = 0,1,2,... ,yj = jk, j = 0,1,2,... al operar (9)
tenemos

(10)

Sea , entonces (10) toma la forma


ui,j+1 = rui1,j + (1 2r)ui,j + rui+1,j (11)
La ecuacin (11) se denomina formula explicita o modelo explicito para
la solucin de una EDP usando MDF. El Mtodo explicito es convergente
siempre que 0 o que

ANLISIS DE RESULTADOS
El ejercicio planteado es el siguiente:
Suponer que una varilla de longitud L = 1 m se sumerge en vapor hasta que
su temperatura sea u0 = 100 C a todo lo largo. En el instante t = 0, su
superficie lateral se asla y su dos extremos se sumergen en hielo a 0 C.
Calcular la temperatura de la varilla en x=0.4 m despus de tres hora, si
ella est hecha de acero.
Coeficiente de conduccin= 0.15
Delta x=0.2
Delta t=0.1
De lo que obtenemos los siguientes datos:
El valor de alpha es 0.375000, por lo que el mtodo converge
Las grficas de T vs X es:

4
Figura 1: Grafica Temperatura vs Longitud (Ec. de Calor, mtodo explcito)
Fuente: Propia

La grafica en 3D es:

5
Figura 2: Grfica en Tres Dimensiones (Ec. de Calor, Mtodo Explcito)
Fuente: Propia
Los datos obtenidos se muestran en la siguiente tabla:

|------------------LONGITUD-------------------->

|Horas| 0.000000 0.200000 0.400000 0.600000 0.800000 1.000000

|------------------TEMPERATURA---------------->

0.000000 50.000000 100.000000 100.000000 100.000000 100.000000


50.000000

0.100000 0.000000 81.250000 100.000000 100.000000 81.250000 0.000000

0.200000 0.000000 57.812500 92.968750 92.968750 57.812500 0.000000

0.300000 0.000000 49.316406 79.785156 79.785156 49.316406 0.000000

0.400000 0.000000 42.248535 68.359375 68.359375 42.248535 0.000000

0.500000 0.000000 36.196899 58.567810 58.567810 36.196899 0.000000

0.600000 0.000000 31.012154 50.178719 50.178719 31.012154 0.000000

0.700000 0.000000 26.570058 42.991257 42.991257 26.570058 0.000000

0.800000 0.000000 22.764236 36.833307 36.833307 22.764236 0.000000

0.900000 0.000000 19.503549 31.557405 31.557405 19.503549 0.000000

1.000000 0.000000 16.709914 27.037209 27.037209 16.709914 0.000000

1.100000 0.000000 14.316432 23.164474 23.164474 14.316432 0.000000

1.200000 0.000000 12.265786 19.846458 19.846458 12.265786 0.000000

1.300000 0.000000 10.508868 17.003706 17.003706 10.508868 0.000000

6
1.400000 0.000000 9.003607 14.568142 14.568142 9.003607 0.000000

1.500000 0.000000 7.713955 12.481441 12.481441 7.713955 0.000000

1.600000 0.000000 6.609029 10.693634 10.693634 6.609029 0.000000

1.700000 0.000000 5.662370 9.161907 9.161907 5.662370 0.000000

1.800000 0.000000 4.851308 7.849581 7.849581 4.851308 0.000000

1.900000 0.000000 4.156420 6.725228 6.725228 4.156420 0.000000

2.000000 0.000000 3.561066 5.761925 5.761925 3.561066 0.000000

2.100000 0.000000 3.050988 4.936603 4.936603 3.050988 0.000000

2.200000 0.000000 2.613973 4.229497 4.229497 2.613973 0.000000

2.300000 0.000000 2.239555 3.623676 3.623676 2.239555 0.000000

2.400000 0.000000 1.918767 3.104630 3.104630 1.918767 0.000000

2.500000 0.000000 1.643928 2.659932 2.659932 1.643928 0.000000

2.600000 0.000000 1.408456 2.278930 2.278930 1.408456 0.000000

2.700000 0.000000 1.206713 1.952503 1.952503 1.206713 0.000000

2.800000 0.000000 1.033867 1.672831 1.672831 1.033867 0.000000

2.900000 0.000000 0.885778 1.433220 1.433220 0.885778 0.000000

3.000000 0.000000 0.758902 1.227929 1.227929 0.758902 0.000000

De los datos obtenidos se concluye que:


Mientras ms pasa el tiempo la temperatura de la barra va a ser cero.
En el centro de la barra la temperatura va a ser mayor que a los extremos
debido a la conductividad trmica.

1
Si el alpha () es menor a 2 la solucin converge caso contrario no
converge, pero para obtener un ptimo resultado el alpha debe ser igual a
1
6 .

Mientras ms pequea sea la variacin de la longitud, se obtendr ms


datos de como varia el calor.

Conclusiones
Mediante un programa que nos permite realizar grficas, tanto en 2D
como en 3D podemos saber la forma en que se calienta una barra
mediante condiciones de borde y de frontera.
La ecuacin de calor se puede resolver de diferente forma pero para
1
que converja el valor de alpha debe ser es menor a 2 .
Mientras ms pequeo sea el incremento tanto en la longitud como
en el tiempo se obtendr mejores grficas.

7
Recomendaciones
Utilizar varias referencias en el internet asi como en libros para tener
una amplia variedad de conocimientos
Revisar siempre el cdigo en MatLab debido a que se puede producir
errores en los clculos
Utilizar el software de manera adecuada, tal que el resultado tenga
sentido y pueda ser explicado

Bibliografa
Nieves A. & Domnguez F. (2002). Mtodos Numricos Aplicados a la
Ingeniera (2da Ed.). Mxico: GRUPO PATRIA CULTURAL, S.A.

ANEXOS
CODIGO DE MATLAB
clc
clear
close all

fprintf('\n')
fprintf(' *************************************************\n')
fprintf(' * EDP ECUACION DE CALOR POR EL METODO EXPLICITO *\n')
fprintf(' *************************************************\n')
fprintf('\nNombres: Camilo Medina y Edison Quinapallo')
fprintf('\nMateria: Anlisis Numrico\n')
fprintf('Grupo: GR2\n\n')

% Ingreso de datos
L = input('Ingrese la longitud de la barra: ');
alpha = input('Ingrese el coeficiente de conduccin: ');
tmax = input('Ingrese el tiempo maximo de anlisis: ');
a = input('Ingrese en el valor de delta x: ');
b = input('Ingrese en el valor de delta t: ');

% Calculo de lambda o alpha


lambda = alpha*b/(a^2);

% Condicion de que lambda sea menos o igual a 0.5 para que converga
if lambda<=0.5

% Vector de longitud, inicia en 0, en saltos de a, hasta L


x = 0:a:L;

% Vector de tiempo, inicia en 0, en saltos de b, hasta tmax


t = 0:b:tmax;

% Calculo de elementos del vector de tiempo para formar una nueva


% matriz
filas = length(t);

% Calculo de elementos del vector de longitud para formar ua nueva

8
% matriz
columnas = length(x);

% Nueva matriz, llena de ceros de filas x columnas.


T = zeros(filas, columnas);

% Ingreso de las condiciones iniciales del sistema


T1 = input('Ingrese la condicion inicial T(x, 0) = ');
T2 = input('Ingrese la condicion inicial T(0, t) = ');
T3 = input('Ingrese la condicion inicial T(L, t) = ');

% Asignacion de las condiciones iniciales a la matriz, la ultima fila


% es igual a la condicion T1
T(end, :) = T1;

% Asignacion de las condiciones iniciales a la matriz, la ultima


% columna es igual a la condicion T3 y la primera columna es igual a T1
T(:, end) = T3;
T(:, 1) = T2;

% Las esquinas inferiores, derecha e izquierda son igual al promedio de


% los dos valores que se asignaron, cuando se asignaron las filas y
% columnas con las condiciones iniciales.

T(end, 1) = mean([T1(1), T2(1)]);


T(end, end) = mean([T1(end), T2(end)]);

% Se gira la matriz de arriba a abajo para cuadrar con el calculo.


T = flipud(T);

% Contadores destinados para filas y columnas respectivamente


i = 1; j = 0;

j = j+1;
i = i+1;

% Formula de metodo explicito


for j=1:filas-1
for i=2:columnas-1
T(j+1, i) = lambda*(T(j, i-1)-2*T(j, i)+T(j, i+1))+T(j, i);
end
end

% Impresion de resultados
fprintf('\n\nEl valor de alpha es %f, por lo que el mtodo converge',
lambda);
fprintf('\n\n\t\t\t|------------------LONGITUD-------------------->\n\n');
fprintf('|Horas| ');
fprintf('\t')
fprintf('%f\t', x)
fprintf('\n\n');
fprintf('\t\t\t|------------------TEMPERATURA---------------->\n\n');

% A es una matriz que concatena o une, la matriz de temperatura con el


% vector de tiempo para poder visualizar
A= [t' T];

% Calculo de filas y columnas de la matriz de Temperatura


[fi co] = size(T);

% Impresion de resultados por filas de la matriz completa A


for i=1:fi
fprintf('%f\t', A(i, :))
fprintf('\n');

9
end

% Congelar la imagen y colocar cuadricula


grid on; hold on

% Grafica de la tempertura a travez de la longitud por cada instante de


% tiempo
for i=1:fi
% Grafica de la temperatura en forma de linea
plot(x, T(i,:)');

% Grafica de la temperatura en forma de asteriscos rojos


plot(x, T(i,:)', '*r');

% Pausa para generar el efecto de la animacion


pause(0.1);

% Titululo de la grafica, uniendo la palabra tiempo, con el valor


% del tiempo analizado
title(strcat('tiempo = ', num2str(t(i)), ' Horas'));
end

% Etiquetas a ls ejes
xlabel('\bfLONGITUD [m]')
ylabel('\bfTEMPERATURA [C]')

% GRAFICA EN 3D
figure

% Se crea una malla para poder dibujar en 3D


[A B] = meshgrid(x, t);

%Grafica de la tempertarura Vs el tiempo y Vs la Longitud


surf(A, B, T)

% Etiquetas a los ejes


xlabel('\bfLONGITUD [m]')
ylabel('\bfTIEMPO [h]')
zlabel('\bfTEMPERATURA [C]')

else % En el caso de que lambda no sea menor a 0.5


disp('El valor de alpha es mayor que 0.5, por lo que el mtodo no
converge. ');
end

10
11

Das könnte Ihnen auch gefallen