Está en la página 1de 9

ESCUELA POLITÉCNICA NACIONAL

FACULTAD DE INGENIERÍA MECÁNICA


ANALISIS NUMÉRICO

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 métodos numéricos, soluciones para
problemas relacionados con la ingeniería mecánica

ESPECIFICOS
 Realizar un programa con el software de MatLab, tal que facilite los cálculos que se
realicen
 Aplicar los conocimientos adquiridos en clase y bibliografía de manera apropiada
 Encontrar e identificar problemas y su respectiva solución en cuanto a la ingeniería
mecánica

MARCO TEORICO
Introducción
Existen diferentes métodos para resolver Ecuaciones Diferenciales Parciales (EDP) y Ecuaciones
Diferenciales Ordinarias (EDO), entre ellos se encuentra el Método de las Diferencias Finitas
(MDF), el cual consiste en introducir una malla sobre una región Ω y aproximar las derivadas del
problema planteado por medio de técnicas de aproximación de las derivadas como lo es, por
ejemplo, la descomposición en serie de Taylor de la función. Ahora tomemos la descomposición
en serie de Taylor de la función U en los puntos x+h y x−h, después sumamos como es habitual
en estos casos para hallar una expresión tanto de la primera como de la segunda derivada de la
función, 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)

con un error de h2.


Ahora de (2) restemos (3), obtenemos la denominada diferencia central

2
)] (5)

también con un error de h2.


Definimos la “diferencia para adelante” por

)] (6)

y la diferencia “diferencia para atrás” por

)] (7)

Formulación del problema


Un ejemplo clásico de una EDP del tipo parabólico es la ecuación de la distribución
de calor (Difusión) en una barra de longitud L con las particularidades siguientes:

• La barra está aislada totalmente en sus extremos.

• La distribución de la temperatura es uniforme en las secciones rectas.

• El material que compone a la barra es homogéneo.

La ecuación de distribución de calor tiene la siguiente forma

. (8)

Donde la solución a esta ecuación es la temperatura U a una distancia X del extremo


de la barra delgada después de un tiempo T, la solución es una función que depende
de dos variables U(x,t), µ es el coeficiente de distribución de calor.

El Método Explicito
El Método 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 cómo queda (8), cuando µ = 1 utilizando
MDF, para j = 0:

(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

3
ui,j+1 = rui−1,j + (1 − 2r)ui,j + rui+1,j (11)

La ecuación (11) se denomina formula explicita o modelo explicito para la solución de una EDP
usando MDF. El Método explicito es convergente siempre que 0 o que

ANÁLISIS 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 aísla y su dos extremos se
sumergen en hielo a 0 °C. Calcular la temperatura de la varilla en x=0.4 m después de tres hora,
si ella está hecha de acero.

Coeficiente de conducción= 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 método converge

Las gráficas de T vs X es:

Figura 1: Grafica Temperatura vs Longitud (Ec. de Calor, método explícito)

Fuente: Propia

4
La grafica en 3D es:

Figura 2: Gráfica en Tres Dimensiones (Ec. de Calor, Método Explícito)

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

5
1.300000 0.000000 10.508868 17.003706 17.003706 10.508868 0.000000

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 más 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 térmica.
1
Si el alpha (α) es menor a la solución converge caso contrario no converge, pero para obtener
2
1
un óptimo resultado el alpha debe ser igual a 6.

Mientras más pequeña sea la variación de la longitud, se obtendrá más datos de como varia el
calor.

Conclusiones
 Mediante un programa que nos permite realizar gráficas, tanto en 2D como en 3D
podemos saber la forma en que se calienta una barra mediante condiciones de borde y
de frontera.
 La ecuación de calor se puede resolver de diferente forma pero para que converja el
1
valor de alpha debe ser es menor a .
2
 Mientras más pequeño sea el incremento tanto en la longitud como en el tiempo se
obtendrá mejores gráficas.

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

Bibliografía
Nieves A. & Domínguez F. (2002). Métodos Numéricos Aplicados a la Ingeniería (2da Ed.).
México: 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: Análisis Numérico\n')
fprintf('Grupo: GR2\n\n')

% Ingreso de datos
L = input('Ingrese la longitud de la barra: ');
alpha = input('Ingrese el coeficiente de conducción: ');
tmax = input('Ingrese el tiempo maximo de análisis: ');
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


% matriz
columnas = length(x);

7
% 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 método 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');
end

8
% 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 método no
converge. ');
end

También podría gustarte