You are on page 1of 7

1

Solucin de la Ecuacin del Calor en Una


Dimensin en Estado Estacionario Mediante
Diferencias Finitas
F. I. Saldaa, W. J. Dutn y W. N. Bernal, Estudiantes de Maestra, Universidad Estatal de Cuenca

ResumenSe presenta el modelo de la ecuacin de


transferencia de calor en una dimensin y su resolucin mediante
diferencias finitas. El problema se analiza en estado estable y
sujeto a condiciones de frontera mixtas, de Dirichlet y Neumann.
Para completar el trabajo, se desarrollan los cdigos en
MATLAB para el esquema planteado y se presentan ejemplos de
aplicacin. Los cdigos de MATLAB son claros y permiten al
lector apreciar la implementacin de los mismos.
Palabras Clavecondiciones de frontera, EDP, ecuacin del
calor, diferencias finitas, MATLAB.

I. NOMENCLATURA
( , )
es la derivada parcial de ( , ) respecto al
tiempo.
( , ) es la segunda derivada parcial de ( , )
respecto a la variable x (una dimensin).
II. INTRODUCCIN

L problema abordado en este documento es la resolucin


numrica de la ecuacin del calor unidimensional en
estado estable mediante diferencias finitas.
La ecuacin del calor es un modelo matemtico (quizs el
ms sencillo) que trata de describir la evolucin de la
temperatura en un cuerpo slido.
Se establecen condiciones de frontera mixtas: de Dirichlet y
de Neumann, y la presencia de una fuente de calor.
En el modelado de sistemas mediante ecuaciones en
derivadas parciales en muy pocas ocasiones pueden obtenerse
soluciones analticas a estos problemas. Aunque existen varios
enfoques distintos para la resolucin numrica de estos
problemas, quiz el ms sencillo y extendido en el medio
ingenieril es el mtodo de las diferencias finitas.
Todos los problemas en derivadas parciales envuelven
condiciones de frontera donde el valor de u o alguna derivada
parcial de u es especificado en la frontera del dominio.

III. SOLUCIN DE LA ECUACIN DE CALOR


Muchos problemas de valores de contorno surgen de
soluciones en estado estable (estacionario) de problemas
transitorios. En el presente caso, se modela el problema
estacionario de conduccin del calor por difusin en presencia
de una fuente y sometido a condiciones de frontera, y se
plantea la solucin del mismo mediante el mtodo de
diferencias finitas.
El mtodo de diferencias finitas es una de varias tcnicas
para obtener la solucin de la ecuacin en derivadas parciales.
A. La Ecuacin de Calor
Se considera el flujo de calor en una barra delgada
constituida de algn material conductor del calor, sometida a
una fuente de calor externa a lo largo de su longitud y
condiciones de frontera en cada extremo. Si asumimos que las
propiedades del material, la distribucin inicial de
temperatura, y la fuente varan nicamente con x, la distancia
a lo largo de la barra, y una seccin transversal uniforme de la
barra, entonces la distribucin de temperatura en cualquier
tiempo variar nicamente con x y podemos modelar este
sistema fsico con una ecuacin en derivadas parciales en una
dimensin espacial. Puesto que la solucin podra variar con el
tiempo, u(x,t) denota la temperatura en el punto x al tiempo t,
donde a<x<b, a largo de alguna longitud finita de la barra. La
solucin est entonces gobernada por la ecuacin del calor.

( , ) = ( ( ) ( , )) + ( , )

(1)

donde ( ) es el coeficiente de conduccin del calor, el


cual puede variar con x, y ( , ) es la fuente de calor (o
sumidero, si < 0).
u(x,0)=u0(x)
distribucin inicial de temperatura

u0(x)

u(a,t)=(t)

u(b,t)=(t)
x

(x)
L
x=a

(x,t)

x=b

fuente (o sumidero) de calor

F. I. Saldaa y W. J. Dutn, estudiantes de la Maestria en Planificacin y


Gestin Energtica en la Universidad de Cuenca, actualmente prestan sus
servicios en la Empresa Elctrica Azogues..
W. N. Bernal, estudiante de la Maestria en Planificacin y Gestin
Energtica en la Universidad de Cuenca, desarrolla proyectos de Ingeniera
Industrial.

Fig. 1. Transferencia de calor en una barra

Se asume que la teora bsica de esta ecuacin es familiar


al lector.

B. Condiciones de Frontera
Si el material es homogneo, entonces ( ) es
independiente de x y la ecuacin del calor se reduce a
( , )=
( , )+ ( , )
(2)
Al inicio del anlisis se requieren condiciones iniciales
( , 0) = ( )
(3)
y condiciones de frontera, por ejemplo la temperatura podra
ser especificada en cada extremo
( , ) = ( ),
( , )= ( )
(4)
Tales condiciones de frontera, donde el valor de la solucin
en s es especificado, son llamadas condiciones de frontera de
Dirichlet.
Alternativamente, en uno o ambos extremos pueden
especificarse los valores de los gradientes normales sobre el
contorno, en cuyo caso
= en este punto. Esta condicin
de frontera, la cual es una condicin sobre la derivada de u
ms que sobre u en s, es llamada una condicin de frontera de
Neumann.
C. El Problema de Estado Estable
En general, esperamos que la distribucin de temperatura
cambie con el tiempo. Sin embargo, si ( , ), ( ) y ( )
son independientes del tiempo, entonces cabra esperar que la
solucin eventualmente alcance una situacin de estado
estable ( ), la cual entonces permanece esencialmente sin
cambio en tiempos posteriores. Tpicamente, habr un tiempo
transitorio inicial, a medida que ( ) se aproxima a ( ) (a
menos que
( ) ( )), pero, si estamos nicamente
interesados en determinar la solucin de estado estable en s,
entonces podemos establecer que
= 0 y obtener una
ecuacin diferencial ordinaria en x y la solucin u(x)
( )= ( )
(5)
donde introdujimos
( )=

( )

las derivadas en la ecuacin usando la expansin en series de


Taylor truncada.
La aproximacin discreta resulta en un conjunto de
ecuaciones algebraicas que son evaluadas (o solucionadas)
para los valores de las incgnitas discretas.
El dominio fsico es discretizado por medio de la mallado
del mismo, esto es, dividir el dominio en subintervalos. La
malla es un conjunto de puntos donde la solucin discreta ser
computada. Estos puntos son llamados nodos. El parmetro
clave de la malla es , la distancia entre puntos adyacentes.
La idea del mtodo de diferencias finitas es reemplazar las
derivadas continuas con las llamadas frmulas de diferencias
que envuelven solamente valores discretos asociados con
posiciones en la malla.
En el presente caso existen derivadas nicamente con
respecto al espacio. En el lmite cuando el espaciamiento de la
malla tiende a cero, la solucin numrica obtenida con
cualquier esquema til aproximar la solucin a la ecuacin
diferencial original. Sin embargo, la tasa con la cual la
solucin numrica se aproxima a la solucin real vara con el
esquema.
A continuacin se ilustra el mtodo de solucin mediante
diferencias finitas centrales como una secuencia de pasos.
1. Discretizacin del dominio (generacin de la malla)
En una dimensin todos los problemas toman lugar sobre
un intervalo finito del eje x.
Realizamos una particin uniforme del dominio [a,b] en
1 subintervalos de longitud uniforme =
y
!
puntos de malla " = 0, . De aqu " = + $ , etc.

(6)

Esta es una ecuacin diferencial ordinaria de segundo orden


que puede ser solucionada de manera analtica, mediante
funciones de Green o integrales de Fourier. Adems, se
requieren dos condiciones de frontera para determinar una
solucin nica. En nuestro caso se aplican las condiciones de
frontera de Dirichlet y Neumann
( )=
( )= ,
(7)
Se tiene, por lo tanto, un problema de frontera de dos
puntos, puesto que una condicin es establecida en cada uno
de los extremos del intervalo donde la solucin es deseada.
La funcin (x) es especificada y deseamos determinar u(x)
en el intervalo < < .
Dicho problema es conocido como de Poisson en una
dimensin, con condiciones de frontera mixtas (de Dirichlet y
Neumann), y se puede solucionar explcitamente en ciertos
casos, pero en la aplicacin a sistemas fsicos reales se
emplean mtodos numricos en los que la ecuacin en
derivadas parciales es reemplazada con una aproximacin
discreta.
D. Mtodo de Diferencias Finitas
El mtodo de diferencias finitas es una de varias tcnicas
para obtener la solucin de la ecuacin de calor, que aproxima

Fig. 2. Discretizacin del dominio en una dimensin

2. Aproximacin por diferencias finitas


Para la primera derivada
( " ) = lim

( " ) = lim
( " ) = lim
( ")

*( + , ) *( + )

*( + ) *( + )

*( +-. ) *( +/. )

0

*+-. *+/.
0

hacia adelante
hacia atrs

(8)
(9)

central

(10)

diferencia central

(11)

( ")

2+-. 2+/.
0

(12)

Note la diferencia entre ui (exacta) y Ui (aproximacin),


esto es, " = ( " ) 3" , donde Ui son los escalares
incgnitas que estamos buscando.
Para la segunda derivada
( " ) = lim

* +-. * +/.

(13)

( " ) = lim

9
/9
9 /9
45678 +-. + 45678 + +/.
7
7

( ")

*+/. 0*+ ,*+-.

(14)
(15)

( ):

sustituyendo esta expresin en (5), obtenemos

2+/. 02+ ,2+-.


( ):

"

= ( " ), $ = 1, ,

(16)

La condicin de frontera de Dirichlet (7) implica que


3 =

(17)

mientras que la condicin de frontera de Neumann puede ser


aproximada por diferencias hacia atrs

( )= ( )
=

=
= lim

(18)

*( > ) *( >/. )

(19)

=
2> 2>/.

3 3

(20)

=
x

(21)

Esta diferencia hacia atrs produce una inconsistencia,


puesto que introduce un error de A( ) mientras que las
diferencias centrales de la ecuacin de gobierno introducen un
error de A( )0 ). Esto puede solucionarse tratando la
discretizacin de la condicin de borde de Neumann de una
manera diferente. Primero, introducimos un punto de la malla
ficticio +1 =
+ , con una temperatura asociada +1 .
Esta temperatura no tiene significado fsico alguno, dado que
el punto +1 se encuentra fuera del dominio del problema.
Obtenemos un sistema de N-1 ecuaciones para N incgnitas.
La ecuacin faltante la provee la condicin de Neumann, pero
aproximando mediante diferencias centrales:
3 +1 3 1
2

(22)

Combinando (16), (17), y (22), obtenemos el sistema de


ecuaciones algebraicas lineales:
DE = DE
C3
2 1
H1 2 1
G
G 0 1 2

C=G
G 0 0
G
G 0
F 0
3!
H 3 N
G ! M
G 30 M
DE = G M
3
G 3" M
G M
G3 ! M
F 3 L

0
1

(23)

0
0

1
1

2
0

0
0N
M
0M
M
M
0M
1M
1L

( )0 ! + 3
H
0
G ( ) 0
G ( )0 O
G

DE = G
( )0 "
G

G
0
G ( )
P
G
2
F

N
M
M
M
M
M
M
M
M
L

DE es un vector de
donde A es la matriz de coeficientes, 3
incgnitas (valores de temperatura), y DE es un vector de
valores conocidos.
DE = DE
3. Solucionar el sistema lineal C3
Las derivadas en la ecuacin diferencial han sido
reemplazadas con aproximaciones de diferencias finitas en
cada punto interior de la malla, reduciendo la ecuacin
diferencial en un set de ecuaciones algebraicas acopladas, las
cuales pueden entonces ser solucionadas mediante un
software.
E. Implementacin en MatLab
El uso general de paquetes de software permite solucionar
problemas de una manera ms fcil, rpida y precisa.
Los modelos matemticos utilizados en la representacin
de fenmenos fsicos, requieren de anlisis especiales tanto en
los diferentes mtodos aplicados para solucionarlos como en
los resultados que se obtienen.
MATLAB proporciona gran funcionalidad en este campo e
incluso incorpora un toolbox para EDP.
Se implement un script en MATLAB que resuelve la
ecuacin del calor en una dimensin en estado estable, con
una fuente de calor, y con condiciones de frontera mixtas,
mediante diferencias finitas.
Las entradas del cdigo de MATLAB requieren:
Los extremos de la barra, a y b,
El coeficiente de difusividad trmica [m2/s]
El nmero de puntos, incluyendo las condiciones de
frontera, en los que se aproximar la solucin.
La funcin fuente de calor ( ).
La condicin de frontera de Dirichlet en el extremo
izquierdo de la barra.
La condicin de frontera de Neumann en el extremo
derecho de la barra.
Seguidamente se procede a la solucin mediante diferencias
centrales.
Los resultados se presentan de manera tabulada y grfica.
El cdigo del script implementado calorv.m permite,
adems la solucin de la ecuacin (5) con condiciones de
Dirichlet en ambos extremos de la barra. Para este caso se
debe ingresar calorv(1).
En el caso de condiciones mixtas se utiliza la rutina
calorv(2).
F. Aplicacin
El cdigo implementado en el script calorv.m se prueba
mediante la aplicacin al siguiente problema bsico, y sus
variantes:
Se tiene una barra de un material cuya conductividad es
Q = 0.5T0 /V, la longitud es L=1 m, y la generacin de calor
interno es ( ) = 10W TO . El extremo izquierdo est
expuesto a una temperatura de 25 C, y el otro extremo a 5 C.
Para solucionar el problema se considera que el extremo
izquierdo se encuentra en el origen del eje x, con lo cual = 0
(sin embargo, a puede tomar otro valor). Como Y = 1, = 1.

Flujo de Calor en una Barra

Al especificar 5 puntos de aproximacin se obtienen los


resultados de la tabla I:

25

TABLA I
SOLUCIN DE LA ECUACIN EN CINCO PUNTOS

Temperatura

x
0
0.2
0.4
0.6
0.8
1

20

Temperatura
25
22.6
19.4
15.4
10.6
5

15

10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Longitud de la Barra
Fig. 4. Temperatura para aproximacin en diez puntos.

Flujo de Calor en una Barra


25

Si al problema anterior se consideran condiciones mixtas,


es decir de Dirichlet en el extremo izquierdo y de Neumann en
el derecho (est aislado ( = 0)) se obtiene:

20

Temperatura

Flujo de Calor en una Barra

15

34
33
10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Longitud de la Barra

Fig. 3. Temperatura para aproximacin en cinco puntos.

Con 10 puntos de evaluacin se obtiene:

Temperatura

32
31
30
29
28
27
26

TABLA II
SOLUCIN DE LA ECUACIN EN DIEZ PUNTOS

x
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1

Temperatura
25
23.9
22.6
21.1
19.4
17.5
15.4
13.1
10.6
7.9
5

25

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Longitud de la Barra
Fig. 5. Temperatura para aproximacin en diez puntos con condiciones: 25
de Dirichlet y 0 de Neumann.
TABLA III
SOLUCIN DE LA ECUACIN EN DIEZ PUNTOS CON FUENTE DE
CALOR SENOIDAL

x
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1

Temperatura
25
26.7
28.2
29.5
30.6
31.5
32.2
32.7
33
33.1
33

Para el caso de una fuente variable ( ) = 2 0 VZ[( ), el


extermo izquierdo a una temperatura de 25C y el extremo
derecho aislado ( = 0):

Flujo de Calor en una Barra

G. Anlisis de Resultados
El dominio se es 0<x<1. La cantidad de inters es la
temperatura u(x) en cada punto en la barra.
Para una solucin nica sobre el dominio se requieren dos
condiciones de frontera. Dos tipos de condiciones de frontera
son comunes, dependiendo de la situacin fsica en los
extremos:
frontera de temperatura constante: Si una temperatura
constante es aplicada a un extremos de la barra (=25)
frontera aislada: Si un aislante es aplicado a un extremo de
la varilla. Entonces no existe flujo a travs de la frontera. El

25.35

25.3

Temperatura

25.25

25.2

25.15

25.1

\]

25.05

25

flujo de calor en la ecuacin del calor es proporcional a \^ , as


por ejemplo en x=1 el extremo aislado da una condicin de
0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

\](!)

Longitud de la Barra
Fig. 6. Temperatura para aproximacin en cinco puntos con condiciones: 25
de Dirichlet y 0 de Neumann. Funcin forzante: ( ) = 2 0 VZ[( )

Flujo de Calor en una Barra


25.7

2 1
H1 2
G
C = G 0 1
0
G0
F0
0

25.6

Temperatura

25.5

25.4

25.2

25.1

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Longitud de la Barra
Fig. 7. Temperatura para aproximacin en cien puntos con condiciones: 25
de Dirichlet y 0 de Neumann. Funcin forzante: ( ) = 2 0 VZ[( )

Flujo de Calor en una Barra


60

55

Temperatura

50

45

40

35

30

25

0 0
1 0
2 1
1 2
0
1

0
0 NM
0M
1M
1L

25.0013
H 0.0100 N
G
M
= G 0.0325 M
G 0.0735 M
F 0
L

25.3

25

frontera de
= 0.
\^
La implementacin del mtodo en MATLAB depende de
los nodos discretizados.
La ejecucin del script discretiza la longitud de de la barra,
y encuentra los valores Ui que constituyen un conjunto de
soluciones aproximadas.
Para el primer caso de fuente variable y cinco nodos:

10

Longitud de la Barra
Fig. 8. Temperatura para aproximacin en diez puntos con condiciones: 25
de Dirichlet y 0 de Neumann. Longitud: 10. Funcin forzante ( ) =

2 VZ[( ).

25.0805
H25.1597N
G
M
3 = G25.2290M
G25.2657M
F25.2290L
H. Conclusiones y desarrollo posterior
El cdigo implementado resuelve la ecuacin (5) mediante
diferencias finitas, la cual es una de varias tcnicas para
obtener su solucin. En todas las soluciones numricas, la
ecuacin en derivadas parciales es reemplazada con una
aproximacin discreta. En este contexto, la palabra discreta
significa que la solucin numrica es conocida solamente en
un nmero finito de puntos en el dominio fsico. El nmero de
estos puntos puede ser seleccionado por el usuario del mtodo
numrico.
De los resultados obtenidos para las diferentes corridas, en
general se puede indicar que incrementar el nmero de puntos
no solamente incrementa la resolucin (detalle), sino que
adems incrementa la precisin de la solucin numrica. Esto
debido a que una fuente de error es el error de truncamiento,
que puede ser reducido al incrementar el nmero de nodos y
reducir el tamao de los subintervalos.
Con el fin de que los resultados no sean altamente

oscilatorios se deben elegir pasos razonablemente pequeos,


de tal manera que el esquema sea estable.
Es importante indicar que el problema analizado es
estrictamente de condiciones de frontera y no requiere de
condiciones iniciales.
Adems de las diferencias finitas existen otros mtodos de
solucin, de los cuales el ms importante es el de elementos
finitos.
Se plantea como desarrollo posterior la resolucin de la
ecuacin de transferencia de calor generalizada, es decir
considerando la evolucin temporal (transitoria), y adems
usando el mtodo de Crank-Nicholson.

IV. BIBLIOGRAFA
[1]
[2]

[3]
[4]
[5]

[6]

B. Hunt, R. Lipsman, J. Rosenberg, A Guide to MATLAB for Beginners


and Experienced Users Systems, Cambridge PRESS, 2001.
H. J. Lee, W. E. Schiesser, Ordinary and partial differential equation
routines in C, C++, Fortran, Java, Maple, and MATLAB, USA,
Chapman & Hall/CRC, 2004.
S. C. Chapra, R. P. Canale, Numerical Methods for Engineers. (5 ed.)
Singapur, McGrawHill, 2006.
G. D. Smith, Numerical Solution of Partial Differential Equations,
Oxford, 3rd ed., 1985.
W. J. Minkowycz, E. M. Sparrow and J. Y. Murthy, Handbook of
Numerical Heat Transfer, Second Edition, 2006 John Wiley & Sons,
Inc.
http://www.mathworks.com/moler

V. ANEXO
Se presenta el cdigo del script calorv.m.
%Programa que permite resolver la transferencia de
calor en estado
%estacionario en una dimensin por el mtodo de
diferencias finitas.
%
%Para utilizar el programa debe definir el tamao de
una barra, esto por
%tratarse de una dimensin, tambien se debe establecer
el material del cual
%esta constituido, para lo cual se define el coeficinte
de difusividad
%trmica Kc.
%
%Como el mtodo que se utiliza es el de diferencias
finitas, se debe
%considerar el nmero de puntos a estudiar o malla a
construir.
%
%El problema permite estudiar el sistema cuando
contiene una fuente
%de calor intrna, que depende de la posicin, por lo
tanto este parmetro
%tambien se debe ingresar.
%
%Al ser el problema una ecucacin diferencial, se
definen dos tipos de
%condiciones de borde, la de Dirichlet para x(a)=alfa y
la de Neumann
%Ux=beta,|x=L, donde alfa es el valor inicial en el
inicio de la barra y
%beta es la condicin de borde de la derivada en el
otro extremo de la
%barra (0 en el caso homogneo).
%

%Al finalizar los clculos se presenta la grafica de la


variacin de
%temperatura a lo largo de la barra aplicando las
condiciones ingresadas.
function calorv(tipo) %Men para escoger los casos
solicitados
switch tipo
case (1)
c1; %Resuelve las ecuaciones diferenciales y
devuelve un grfica de X vs. Y
case (2);
c2; %Resuelve las ecuaciones diferenciales y
devuelve un grfica de X,Y y Z vs t
otherwise
error('Funcin no definida');
end

function c1
clear all
clc
global y s lamda
disp('Programa para resolver la transferencia de calor
estacionario en una');
disp('dimensin con condiciones de Dirichlet');
disp('por el mtodo de diferencias finitas');
disp(' ');
disp('Datos:');
a=input('Ingrese el inicio de la barra:');
L=input('Ingrese el final de la barra:'); %Es necesario
conocer la
%longitud de la barra para el clculo en una dimensin
k=input('Ingrese el coeficiente de difusividad trmica
Kc:');%El coeficiente
%de conductividad trmica es caracterstico del
material;
n=input('Ingrese el numero de puntos en los que desea
analizar el sistema:');
%Se deben incluir los bordes
q=input('Ingrese la funcin de calor q(x)=','s');%Es la
funcin que representa
%la temperatura inicial
D=input('Ingrese la condicion inicial para x(a):');%Se
aplica la condicin
%de frontera de Dirichlet al inicio de la barra
N=input('Ingrese la condicion inicial para x(L):');%Se
aplica la
%condicin de frontera de Dirichlet al final de la
barra
y=linspace(a,L,n) %Crea un vector con incremento s
hasta L que representa
%los puntos de anlisis del sistema.
s=(y(1,2)-y(1,1)); %diferencial de desplazamiento que
depende del nmero
%de puntos escogidos para el anlisis
lamda=s^2/k;
%Ahora se va a formar el arrelgo AU=q
%Creacin del vector q, el cual contine las condiciones
de Dirichlet
for i=2:n-2
if i==2
x=y(1,i);
b(i,1)=lamda.*eval(q)+D;%Condicin de
Dirichlet al inicio de la barra.
else
x=y(1,i);
b(i,1)=lamda.*eval(q);
end
end
x=y(1,n-1);
b(n-1,1)=lamda.*eval(q)+N; %Condicin de Dirichlet
al final de la barra.
b(1,:)=[];
b
%Creacin de la matriz A, que contiene los coeficientes
de la variables

7
%de temperatura en cada punto de anlisis.
for i=1:n-2
for j=1:n-2
if i==j
A(i,j)=2;
end
end
end
for i=1:n-3
for j=1:n-3
if i==j
j=j+1;
A(i,j)=-1;
end
end
end
for i=2:n-2
for j=2:n-2
if i==j
j=j-1;
A(i,j)=-1;
end
end
end

A % Vector tridiagonal que contiene los coeficientes de


las ecuaciones de
%temperatura
T=A\b;
U=[D;T;N]
plot(y,U) %Grfica de la Temperatura a lo largo de la
barra
grid on
xlabel('Longitud de la
Barra','FontSize',14);ylabel('Temperatura','FontSize',1
4);title('Flujo de Calor en una Barra','FontSize',16);
function c2
clear all
clc
global y s lamda
disp('Programa para resolver la transferencia de calor
estacionario en una');
disp('dimensin, con condiciones mixtas (Dirichlet y
Neumann),');
disp('por el mtodo de diferencias finitas');
disp(' ');
disp('Datos:');
a=input('Ingrese el inicio de la barra:');
L=input('Ingrese el final de la barra:'); %Es necesario
conocer la
%longitud de la barra para el clculo en una dimensin
k=input('Ingrese el coeficiente de difusividad trmica
Kc:');%El coeficiente
%de difusividad trmica es caracterstico del material;
n=input('Ingrese el numero de puntos en los que desea
analizar el sistema:');
%Se deben incluir los bordes
q=input('Ingrese la funcin de calor q(x)=','s');%Es la
funcin que representa
%la temperatura inicial
D=input('Ingrese la condicion inicial para x(0):');%Se
aplica la condicin
%de frontera de Dirichlet
N=input('Ingrese la condicion de contorno para
dx/dt|x=L:');%Se aplica la
%condicin de contorno de Neumann
y=linspace(a,L,n) %Crea un vector con incremento s
hasta L que representa
%los puntos de anlisis del sistema.
s=(y(1,2)-y(1,1)); %diferencial de desplazamiento que
depende del nmero
%de puntos escogidos para el anlisis
lamda=s^2/k;
%Ahora se va a formar el arrelgo AU=q

%Creacin del vector q, el cual contine las condiciones


de Dirichlet y Neumann
for i=2:n-1
if i==2
x=y(1,2);
c(i,1)=lamda.*eval(q)+D; %Condicin de
Dirichlet.
else
x=y(1,i);
c(i,1)=lamda.*eval(q);
end
end
g=(2*s/k)*N; %Condicin de Neumann.
c(1,:)=[];
b=[c;g] % Vector q
%Creacin de la matriz A, que contiene los coeficientes
de la variables
%de temperatura en cada punto de anlisis.
for i=1:n-2
for j=1:n-2
if i==j
A(i,j)=2;
end
end
end
for i=1:n-2
for j=1:n-2
if i==j
j=j+1;
A(i,j)=-1;
end
end
end
for i=2:n-2
for j=2:n-2
if i==j
j=j-1;
A(i,j)=-1;
end
end
end
%Se completa el vector A con los elementos dbajo
mostrados en razn de que
%se utiliz diferencias centrales para representar la
derivada de primer
%grado y al hacer esto se introdujo una nueva variable
para la cual se
%debe aplicar la condicin de Neumann
A(n-1,n-1)=-1;
A(n-1,n-3)=1;
A % Vector tridiagonal que contiene los coeficientes de
las ecuaciones de
%temperatura
T=A\b
U=[D;T] % Vector de resultados de Temperatura en la
barra.
plot(y,U) %Grfica de la Temperatura vs. el
desplazamieno
grid on
xlabel('Longitud de la
Barra','FontSize',14);ylabel('Temperatura','FontSize',1
4);title('Flujo de Calor en una Barra','FontSize',16);

You might also like