You are on page 1of 3

ANALISIS NUMERICO 1

INGENIERIA QUIMICA

GUIA DE TRABAJO PRACTICO Nº 11

Ecuaciones Diferenciales Ordinarias. Problemas de Contorno


Método de las Diferencias Finitas

Problema 11.1
De acuerdo con el seudo código listado más abajo, desarrolle un programa en C++ del método de las
diferencias finitas para problemas de contorno, con ecuaciones diferenciales ordinarias de segundo orden.

Lista de símbolos utilizados en el algoritmo

• a : extremo izquierdo del intervalo dominio • b : extremo derecho del intervalo dominio
• A : solución en el contorno x = a • B : solución en el contorno x = b
• h : longitud del paso • C : matriz extendida para el sistema lineal
• x : vector con nodos de la malla • Y : vector solución numérica

Seudo código

Función: Obtener_Datos( )
Entre a, b, A, B, N , p ( x ) , q ( x ) , r ( x )
Fin

Función: Aplicar_Metodo( )
b−a
Haga h =
N +1
Haga x0 = a : x N +1 = b
Para i = 1, N
Haga xi = a + h ⋅ i
Para j = 1, N + 1
Haga Ci , j = 0.0
Fin – para
Fin – para
Haga Y0 = A : YN +1 = B
Haga C1,1 = −4 + 2h 2 ⋅ q ( x1 ) : C1,2 = 2 + h ⋅ p ( x1 )
Haga C1, N +1 = 2h 2 ⋅ r ( x1 ) − Y0 ⎡⎣ 2 − h ⋅ p ( x1 ) ⎤⎦
Haga C N , N −1 = 2 − h ⋅ p ( x N ) : C N , N = −4 + 2h 2 ⋅ q ( x N )
Haga C N , N +1 = 2h 2 ⋅ r ( x N ) − YN +1 ⎡⎣ 2 + h ⋅ p ( x N ) ⎤⎦
Para j = 2, N − 1
Haga C j , j −1 = 2 − h ⋅ p ( x j ) : C j , j = −4 + 2h 2 ⋅ q ( x j )
Haga C j , j +1 = 2 + h ⋅ p ( x j ) : C j , N +1 = 2h 2 ⋅ r ( x j )
Fin – para
Retorne Gauss ( N , C, Y )
Fin
2 Trabajo Práctico Nº 11
Carlos M. Albarracín

Función: Salida_en_Archivo( )
Muestre “ j x [ j] Y[ j] ”
Para j = 0, N + 1
Muestre j , x j , Y j
Fin-para
Fin

Verifique el correcto funcionamiento del programa desarrollado, comparando con la solución mostrada
del siguiente problema de contorno:

P.C.: y ′′ ( x ) + 2 y ( x ) + 10 x = 0, ∀x ∈ ( 0,1) ; y ( 0 ) = 1, y (1) = 2


Datos: N =9

Archivo de datos a leer por el programa


[ extremo a ]
0.0,
[ extremo b ]
1.0,
[ C.C. A ]
1.0,
[ C.C. B ]
2.0,
[ N ]
9,

Archivo de resultados:
Solución con diferencias finitas
j x[j] Y[j]

0 0.00000000 1.00000000
1 0.10000000 1.46741595
2 0.20000000 1.89548358
3 0.30000000 2.26564154
4 0.40000000 2.56048667
5 0.50000000 2.76412207
6 0.60000000 2.86247503
7 0.70000000 2.84357848
8 0.80000000 2.69781037
9 0.90000000 2.41808604
10 1.00000000 2.00000000

Problema 11.2
Utilice el programa desarrollado en el problema 11.1 para obtener la solución aproximada del siguiente
problema de contorno:

P.C.: xy ′′ ( x ) + y ( x ) = 0, ∀x ∈ (1, 2 ) ; y (1) = A, y ( 2) = B


Datos: N = 19

Los valores de las constantes A y B son dados por el sistema Web de trabajos prácticos.

Problema 11.3
Dado el problema de contorno y ′′ + y ′ ⋅ p ( x ) + y ⋅ q ( x ) = r ( x ) , ∀x ∈ ( a, b ) ; y ( a ) = A, y ( b ) = B.
Resuelva este problema con los datos provistos por el sistema Web de trabajos prácticos.
ANALISIS NUMERICO 3
INGENIERIA QUIMICA

Problema 11.4
Considérese el problema estacionario de transferencia de calor en una barra de material isótropo y
homogéneo, con generación interna de calor. Dado que los extremos de la barra están refrigerados para
mantener estos puntos a temperatura constante, el problema de contorno correspondiente es el siguiente:

⎧ d 2T
⎪K 2
+ q ( x ) = 0, ∀x ∈ ( 0, L )
⎨ dx
⎪ T ( 0 ) = T0 , T ( L ) = TL

⎡ J ⎤
En donde K es el coeficiente de conductividad en ⎢ ⎥ y q ( x ) el calor generado internamente en
⎣m⋅s⋅ K ⎦
D

⎡W ⎤
⎢ m3 ⎥ .
⎣ ⎦
Utilice el programa desarrollado en el problema 11.1 para obtener la solución aproximada de dicho
problema de contorno, utilizando los siguientes datos:

Datos: K = 0.2, L = 1[ m ] , q ( x ) = 100 (1 − x ) , T0 = TL = C , N = 49

El valor de la constante C es dado por el sistema Web de trabajos prácticos.

En el sistema Web de trabajos prácticos, sólo se deben incluir los resultados correspondientes a los puntos
x ∈ {0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9,1.0} .

You might also like