Está en la página 1de 6

METODO DE CRANK-NICOLSON

Este es un metodo de solución numérica mas importante por su estabilidad incondicional y alto
orden de convergencia.

𝜕𝑇
Este método consiste en combinarlas aproximaciones de con diferencias hacia adelante
𝜕𝑡
apoyándose en la fila “l”, y la aproximación con diferencias hacia atrás apoyándose en la fila “l+1”,
con lo que se obtiene un algoritmo implícito.

𝜕𝑇 𝜕2 𝑇
Al aproximar 𝜕𝑡 en el nodo (i,l) con diferencias hacia adelante y 𝜕𝑥 2
con diferencias centradas.

𝑇𝑖𝑙+1 − 𝑇𝑖𝑙 𝑙
𝑇𝑖−1 − 2𝑇𝑖𝑙 + 𝑇𝑖+1
𝑙
=𝑘 … … … (1)
∆𝑡 ∆𝑥 2

De la misma forma la aproximación de estasdos derivadas en el nodo (i,l+1)

𝜕𝑇
𝜕𝑡
Diferencia hacia atrás

𝜕2 𝑇
𝜕𝑥 2
Diferencia centrales

𝑇𝑖𝑙+1 − 𝑇𝑖𝑙 𝑙+1


𝑇𝑖−1 − 2𝑇𝑖𝑙+1 + 𝑇𝑖+1
𝑙+1
=𝑘 … … … … . (2)
∆𝑡 ∆𝑥 2

Sumando (1) y (2)

2𝑇𝑖𝑙+1 − 2𝑇𝑖𝑙 𝑙
𝑇𝑖−1 − 2𝑇𝑖𝑙 + 𝑇𝑖+1
𝑙 𝑙+1
+𝑇𝑖−1 − 2𝑇𝑖𝑙+1 + 𝑇𝑖+1
𝑙+1
= 𝑘[ ]
∆𝑡 ∆𝑥 2

Ordenando enformaadecuada

𝜆 𝑙
𝑇𝑖𝑙+1 − 𝑇𝑖𝑙 = [𝑇𝑖−1 − 2𝑇𝑖𝑙 + 𝑇𝑖+1
𝑙 𝑙+1
+𝑇𝑖−1 − 2𝑇𝑖𝑙+1 + 𝑇𝑖+1
𝑙+1
] … … … . (3)
2
La ecuación (3) es el algoritmo de crank- nicolson de la figura anterior, si aplicamos anterior a los
nodos (1,0), (1,1) es decir i=1, l=0

𝜆
𝑇11 − 𝑇10 = [𝑇00 − 2𝑇10 + 𝑇20 +𝑇01 − 2𝑇11 + 𝑇21 ]
2

De esta ecuación los nodos (0,0), (1,0), (2,0) , (0,1)

Se conocen a partirde las condiciones inicial y de frontera.

Los nodos (1,1) y (2,1) son incognitas.

Aplicación del algoritmo de crank- nicolson

𝜆 = 0.020875

En t=0 la temperatura en la barra es cero y las temperaturas en los extremos son T(0)=100°c y
T(10)=50°c

Para: i=1, l=0

0.020875 0
𝑇11 − 𝑇10 = [𝑇0 − 2𝑇10 + 𝑇20 +𝑇01 − 2𝑇11 + 𝑇21 ]
2
0.020875
𝑇11 − 0 = [100 − 0 + 0 + 100 − 2𝑇11 + 𝑇21 ]
2

𝑇11 = 0.0104375[200 − 2𝑇11 + 𝑇21 ] →→

𝑇11 = 2.0875 − 0.020875𝑇11 + 0.0104375𝑇21 … … … … (1)

Para: i=2, l=0

𝑇21 − 𝑇20 = 0.0104375[𝑇10 − 2𝑇20 + 𝑇30 +𝑇11 − 2𝑇21 + 𝑇31 ]

𝑇21 = 0.0104375𝑇11 − 0.020873𝑇21 + 0.0104375𝑇31

−0.0104375𝑇11 + 1.020873𝑇21 − 0.0104375𝑇31 = 0 … … … . . (2)

Para: i=3, l=0

𝑇31 − 𝑇30 = 0.0104375[𝑇20 − 2𝑇30 + 𝑇40 +𝑇21 − 2𝑇31 + 𝑇41 ]


𝑇31 = 0.0104375[𝑇21 − 2𝑇31 + 𝑇41 ]

𝑇31 = 0.0104375𝑇21 − 0.020875𝑇31 + 0.0104375𝑇41

−0.0104375𝑇21 + 1.020875𝑇31 − 0.0104375𝑇41 = 0 … … … … . (3)

Para: i=4, l=0

𝑇41 − 𝑇40 = 0.0104375[𝑇30 − 2𝑇40 + 𝑇50 +𝑇31 − 2𝑇41 + 𝑇51 ]

𝑇41 = 0.0104375[𝑇31 − 2𝑇41 + 𝑇51 ]

𝑇41 = 0.0104375𝑇31 − 0.20875𝑇41 + 1.04375

−0.0104375𝑇31 + 1.020875𝑇41 = 1.04375 … … … … . . (4)

𝑇11 2.045
𝑇21 0.021
𝑇31 0.0106
𝑇41 1.0225
Tarea realizarelproceso hasta tres segundo y grafica
Solucion numerica para una EDP hiperbólica con diferencias finitas:

Ecuación de onda unidimensional:

Por el año 1752- D’Alembert modelo el estudio de una cuerdavibrante.

𝜕2𝑢 2
𝜕2𝑢
= 𝑐 … . . (1)
𝜕𝑡 2 𝜕𝑥 2

También sepuede escribir:

𝑢𝑡𝑡 = 𝑐 2 𝑢𝑥𝑥

Derivación de la ecuación de onda.

𝑥 𝑥 + ∆𝑥

Considerando

∆𝑥 = 𝑙𝑜𝑛𝑔𝑖𝑡𝑢𝑑 𝑑𝑒 𝑡𝑟𝑎𝑚𝑜; ∆𝑚 = 𝑚𝑎𝑠𝑎; 𝜌 = 𝑑𝑒𝑛𝑠𝑖𝑑𝑎𝑑

Componente horizontal de la tensión 𝑇 ≅ 𝑇1 𝑐𝑜𝑠𝛼 = 𝑇2 𝑐𝑜𝑠𝛽

Por la segunda ley de newton

𝜕2𝑢
𝑇2 𝑠𝑒𝑛𝛽 − 𝑇1 𝑠𝑒𝑛𝛼 = 𝜌∆𝑥
𝜕𝑡 2

∆𝑥 𝜕 2 𝑢
𝑡𝑎𝑛𝛽 − 𝑡𝑎𝑛𝛼 = 𝜌
𝑇 𝜕𝑡 2

1 𝜕𝑢 𝜕𝑢 𝜌 𝜕2𝑢
( (𝑥 + ∆𝑥, 𝑡) − (𝑥, 𝑡)) =
∆𝑥 𝜕𝑥 𝜕𝑥 𝑇 𝜕𝑡 2

𝜕2𝑢 2
𝜕2𝑢
∆𝑥 → 0 = 𝑐
𝜕𝑡 2 𝜕𝑥 2
𝜌
𝑐=√
𝑇
Wl problema de cauchy

Nos proporciona el desplazamiento y velocidad inicial

U(0,x)=f(x)

Uf(0,x)=g(x) velocidad

Solución analítica D’Alembert

1 𝑥+𝑐𝑡
𝑢(𝑡, 𝑥) = (1/2)(𝑓(𝑥 − 𝑥𝑡) + 𝑓(𝑥 + 𝑥𝑡)) + ∫ 𝑔(𝑦)𝑑𝑦
2𝑐 𝑥−𝑐𝑡

Aplicaciones

1. Las ecuaciones de onda descubre:


2. Ondas de sonido en un tubo o en una barra.
3. Oscilaciones torsionales de una barra
4. Ondas largas en un canal recto
5. Transmisión de electricidad en un cable aislado de baja resistencia
6. Flujos de aire supersónico
7. Fenómenos transitores como el golpe de ariete en tuberías a presión.

Para resolver una EDP hiperbólica por DF

𝜕2𝑢 2
𝜕2𝑢
= 𝑐 … … … … . (∗)
𝜕𝑡 2 𝜕𝑥 2

a) 𝑢(𝑥, 0) = 𝑓(𝑥) 0 < 𝑥 < 𝐿 𝑐𝑜𝑛𝑑𝑖𝑐𝑖𝑜𝑛 𝑖𝑛𝑖𝑐𝑖𝑎𝑙


b) 𝑢(0, 𝑡) = 0, 0 < 𝑡
c) 𝑢(𝐿, 𝑡) = 0, 0 < 𝑡

Tanto b como c soncondiciones de frontera

La solución u(x,t) describe la posición de cualquier punto de la cuerda en un tiempo “t”

De la ecuacion (*) se va a tomar diferencias centradas para ambos términos.

Dibujo clasicode posiciones


De la ecuacion (1)

𝑢𝑖,𝑗−1 − 2𝑢𝑖,𝑗 + 𝑢𝑖,𝑗+1 𝑢𝑖−1,𝑗 − 2𝑢𝑖,𝑗 + 𝑢𝑖+1,𝑗


2
= 𝑐2 [ ]
∆𝑡 ∆𝑥 2

∆𝑡 2
𝑢𝑖,𝑗−1 − 2𝑢𝑖,𝑗 + 𝑢𝑖,𝑗+1 = 𝑐 2 [𝑢 − 2𝑢𝑖,𝑗 + 𝑢𝑖+1,𝑗 ]
∆𝑥 2 𝑖−1,𝑗

𝑢𝑖,𝑗−1 − 2𝑢𝑖,𝑗 + 𝑢𝑖,𝑗+1 = 𝜆2 [𝑢𝑖−1,𝑗 − 2𝑢𝑖,𝑗 + 𝑢𝑖+1,𝑗 ]

Reordenando la ecuacion anterior

𝜕2 𝑢 𝜕2 𝑢
Ejemplo: = 𝑐2
𝜕𝑡 2 𝜕𝑥 2

CI1: 𝑢(𝑥, 0) = 𝑠𝑒𝑛(𝑝𝑖 ∗ 𝑥) 0 < 𝑥 < 1

𝜕𝑢(𝑥,0)
CI2: = 2𝜋𝑠𝑒𝑛(𝑝𝑖 ∗ 𝑥) 0<𝑥<1
𝜕𝑡

CF1: 𝑢(0, 𝑡) = 0 0<𝑡

CF2: 𝑢(1, 𝑡) = 0 0<𝑡

Entonces 𝑐 2 = 1, 𝐿 = 1, 𝑡𝑚𝑎𝑥 = 1ℎ𝑜𝑟𝑎

Se va a divider la cuerda en 10 subintervalos ∆𝑥 = 1/10 es ∆𝑥 = 0.10, y el ∆𝑥 2 = 0.1 tiempo


máximo en 100

𝑡𝑚𝑎𝑥 1 0.01(1)
Subintevalor: ∆𝑡 = ∆𝑡 = = 0.01 𝜆= = 0.1
100 100 0.1

0. 1.
X 0 0.1 0.2 0.3 0.4 0.6 0.7 0.8 0.9
5 0
CI1 0.3090 0.5877 0.8090 0.9510 0.9510 0.8090 0.5877 0.3090
0 1 0
Sen(pi*x) 176 84 172 74 74 172 84 176
CI2 - - - - --
- 3.6931 5.9756 5.9756 3.6931
2*pi*sen(2 0 3.6932 5.9756 5.9756 3.6931
- 797 840 697 424
pi*x) 171 982 554 050

También podría gustarte