Metodod CrankNic Ecuacioncable KortBeck2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/340438755

Solución numérica a la ecuación de calor modificada en 1D, también llamada


ecuación cable, utilizando el método de Crank–Nicolson

Article · April 2020

CITATIONS READS

0 727

1 author:

Kort Beck
University of Illinois, Urbana-Champaign
4 PUBLICATIONS   0 CITATIONS   

SEE PROFILE

All content following this page was uploaded by Kort Beck on 08 April 2020.

The user has requested enhancement of the downloaded file.


Solución numérica a la ecuación de calor
modificada en 1D, también llamada
ecuación cable, utilizando el método de
Crank–Nicolson
Kort Rodrı́guez-Beck1

1
Universidad Autónoma de Coahuila, Facultad de Ciencias Fśico-Matemáticas,
Prol. David Berlanga s/n, Unidad Campo Redondo, Saltillo, Coahuila C.P 25020, México
[email protected]
4 de abril de 2020

En este documento se discute la aproximación numérica a la solución analı́tica de la ecuación de calor


(o difusión) modificada en una dimensión. La solución analı́tica es calculada en la sección dos. Salvo
algunas constantes sumadas y multiplicadas, la ecuación resuelta también es llamada ecuación cable,
pues forma parte de la teorı́a cable que modela procesos neuronales. El método de Crank–Nicolson fue
utilizado en Python3.6 para diferentes casos de mallado. Ası́ mismo, el comportamiento del error en el
método es discutido, un decremento exponencial de este fue encontrado.

1. Introducción
∂u ∂ 2u
La utilidad práctica o beneficio de este análisis, es = −u (1)
su potencial aplicación en el área de la neurologı́a, ∂t ∂x2
en especı́fico en el estudio de interacción neuronal.

En el modelo de conducción central de un proce- Donde u(x, t), representa la diferencia de poten-
so neural, la teorı́a cable asume la forma de las cial eléctrico en la membrana celular, esta ecua-
dendritas y axones cilı́ndrica, como una membrana ción describe la función dentro y entre neuronas,
que rodea al núcleo el cual es conductor eléctrico, nos permite estudiar su interacción cuantitativa y
la sección transversal del núcleo es suficientemente cualitativamente. Proporciona una estimación del
pequeña en comparación con la longitud de la fibra, flujo de corriente y cambio de voltaje tanto dentro
por lo que el núcleo puede considerarse isopotencial como entre las neuronas [2].
de sección transversal. Por lo tanto, el modelo de
cable solo depende de las diferencias de voltaje en Por otro lado, regresando al objetivo principal,
la dirección axial. La membrana está rodeada por respecto a la solución numérica, el método de
espacio extracelular que se asume isopotencial. Es- Crank–Nicolson es una combinación de los métodos
tas consideraciones permiten visualizar la membra- de diferencias finitas hacia atrás y hacia adelante,
na como un circuito eléctrico, por lo que es posible
que resulta muy eficiente para resolver ecuaciones
estudiarlo a través de las leyes de Kirchhoff [1]. diferenciales parabólicas [3] como la ecuación de
calor y la ecuación cable, esto debido a las condi-
La ecuación resultante en el modelo, salvo algunas ciones de frontera e iniciales que se necesitan para
constantes, es la siguiente encontrar la solución única.
2. Solución analı́tica m = nπ , n ∈ Z+
α = −(1 + n2 π 2 ) , n ∈ Z+
La diferencia entre la ecuación de calor y la ecua-
ción cable, es el término extra u(x, y) que está res- An (x) = γn sin(nπx) (7)
tado a la izquierda de la ecuación, esta diferencia
ahora, en la ecuación para B(t), tenemos que
es muy pequeña, la ecuación se mantiene lineal, su
solución es casi idéntica a la de ecuación de calor.
Como ya se mencionó, la ecuación cable es dB
− Bα = 0 (8)
dt
∂u ∂ 2u se propone que la solución tenga la forma
= −u (2)
∂t ∂x2
las condiciones de frontera e inicial, son B(t) = γeλt
λeλt − eλt α = 0
u(0, t) = u(1, t) = 0 (3) λ=α
2 π 2 )t
2 Bn (t) = γn e−(1+n (9)
u(x, 0) = sin (2πx) (4)
basándonos en el principio de superposición, la so-
utilizando el método de separación de variables, se lución general de una ecuación diferencial, es la su-
propone que u(x, t) puede ser expresada como un ma de todas las posibles soluciones
producto de funciones de una sola variable, esto es

X
u(x, t) = A(x)B(t) u(x, t) = An (x)Bn (x)
n

sustituyendo la solución propuesta en la ecuación 2 π 2 )t
X
u(x, t) = Cn sin(nπx) e−(1+n (10)
diferencial n=1

para encontrar los coeficientes, utilizaremos la con-


1 dB 1 d2 A
= −1=α (5) dición inicial
B dt A dx2
al ser A función de x y B función de t, la prime- ∞
X
ra igualdad en la ecuación (5), se cumple si ambas u(x, 0) = Cn sin(nπx) = sin2 (2πx) (11)
expresiones son iguales a una constante α, comen- n=1
zando con la ecuación para A(x)
la ecuación anterior, es una serie de Fourier de me-
dio rango, en especifico una serie Seno de Fourier,
d2 A
= A(α + 1) (6) por lo que sus coeficientes están dados por
dx2
Z 1
la ecuación (6), es un problema periódico de Sturm-
Cn = 2 sin2 (2πx) sin(nπx) dx (12)
Liouville, se propone que α + 1, sea negativo 0

16[Cos(nπ) − 1]
α+1<0 , α + 1 = −m2 Cn = (13)
π(n3 − 16n)

A(x) = βcos(mx) + γ sin(mx) C2n = 0 (14)

A(0) = β = 0
−32
A(1) = γ sin(m) = 0 C2n+1 = (15)
π[(2n + 1)3 − 16(2n + 1)]
finalmente, obtenemos la solución de la ecuación el tamaño de paso para cada variable, se define de
diferencial parcial de interés, una serie infinita la siguiente manera, donde M es la cantidad de
puntos en x y N la cantidad de puntos en t

∞ 2 2
tf
32 X sin(nπx) e−(1+n π )t k= (20)
u(x, t) = (16) N
π n : impar 16n − n3

d
la expansión hasta orden tres, tiene la forma h= (21)
M

32 1 2
el punto i-ésimo en x, es
u(x, t) ≈ sin(πx)e−(1+π )t + ...
π 15
 xi = xo + ih = a + ih = ih (22)
1 −(1+9π 2 )t 1 −(1+25π 2 )t
... sin(3πx)e − sin(5πx)e
21 45 las fronteras del mallado izquierda, derecha y fron-
(17)
tal, es decir los puntos woj , wM,j y wio , ya son co-
nocidos (ver figura 1), lo son al menos en este caso
3. Solución numérica en el que sabemos las condiciones en las fronteras
y la condición inicial
Para resolver la ecuación diferencial numéricamen-
te, se comienza dividiendo la recta x y t en inter-
u(xi , to ) ≈ wio (23)
valos igualmente separados, esto genera una malla
como la que se muestra en la figura 1, cada recta wio = sin2 (2πih) (24)
tiene su propio tamaño de paso, h para las divisio-
nes en x, y k para las divisiones en t.
u(xo , tj ) ≈ woj = 0 (25)

u(xM , tj ) ≈ wM,j = 0 (26)

ahora, utilizando una aproximación [3] a los térmi-


nos de la ecuación diferencial, se tiene que

∂u 1
≈ (wij − wi,j−1 ) (27)
∂t k
Figura 1. Mallado en el plano.

lo que se busca, es que cada punto wij en la malla, ∂ 2u 1


≈ (wi+1,j − 2wij + wi−1,j )...
sea la aproximación a la solución en ese punto ∂x2 2h2
1
... + 2 (wi+1,j−1 − 2wi,j−1 + wi−1,j−1 ) (28)
2h
u(xi , tj ) ≈ wij (18)
la aproximación de la ecuación (28), es una mez-
para este caso particular, ambas variables se en- cla entre los métodos de diferencias hacia atrás
cuentran entre 0 y 1 y hacia adelante, que es la escénica del método
Crank–Nicolson.
Sustituyendo las aproximaciones a las derivadas en
x ∈ [a = 0, d = 1] , t ∈ [t0 = 0, tf = 1] (19) la ecuación diferencial
utilizando Wj , Sj , A y B, la ecuación (32) se puede
reescribir como un sistema de ecuaciones en forma
1 1
(wij − wi,j−1 ) = 2 (wi+1,j − 2wij + wi−1,j )... matricial
k 2h
1
... + (wi+1,j−1 − 2wi,j−1 + wi−1,j−1 ) − wij (29) AWj = BWj−1 + σ(Sj−1 + Sj ) (37)
2h2
reescribiendo esta ecuación con Ωj−1 = BWj−1
multiplicando por 2k la ecuación y definiendo
σ = k/h2
AWj = Ωj−1 + σ(Sj−1 + Sj ) (38)

recordando que u(xi , tj ) ≈ wij y utilizando las con-


2(wij − wi,j−1 ) = σ[wi+1,j − 2wij + wi−1,j ... diciones de fonteraa (ecuación (25) y (26)), se cal-
culan los vectores Sj y Sj−1
... + wi+1,j−1 − 2wi,j−1 + wi−1,j−1 ] − 2kwij (30)

agrupando los términos wij y wi,j−1 Sj = [0, 0, ..., 0, 0]T


Sj−1 = [0, 0, ..., 0, 0]T

2wij − 2wi,j−1 = σwi+1,j − 2σwij + σwi−1,j ... por lo tanto, la ecuación (38) se simplifca al sistema
de ecuaciones
... + σwi+1,j−1 − 2σwi,j−1 + σwi−1,j−1 − 2kwij (31)
AWj = Ωj−1 (39)

wij (2 + 2σ + 2k) = wi,j−1 (2 − 2σ) ... A es una matriz tridiagonal por bloques, una for-
ma de tomar ventaja de esto, es resolver sistema de
+ σ[wi+1,j−1 + wi−1,j−1 + wi−1,j + wi+1,j ] (32)
ecuaciones para Wj utilizando el método de Jaco-
bi, ya que para matrices tridiagionales por bloque,
se definen los siguiente vectores y matrices, utili-
este método siempre converge [4].
zando también Γ = 2 + 2σ + 2k , Λ = 2 − 2σ y
m = M − 1 para simplificar la notación Primero, debemos descomponer A como la suma
de tres matrices
Wj = [w1j , w2j , ..., wmj ]T (33)
A=D+L+U
Sj = [w0j , 0, ..., 0, wm+1,j ]T (34)
 
  Γ ··· 0
0 0
Γ −σ ··· 0
0 . . .. 
 0 Γ 0 . . 

. ..
−σ Γ −σ . . .
 
  
D= 0 0 Γ
 . 
.. 0  (40)

A= .. 
(35)

0 −σ Γ . 0   . . . .
 .. . . . . . . 0 
  
 .. ... .. .. 
 . . . −σ 
0 ··· 0 0 Γ
0 · · · 0 −σ Γ
 
  0 −σ 0 ··· 0
Λ σ ··· 0
0 .. ..
. . .. 
 −σ 0 −σ . .

. . 
 
σ Λ σ


L+U =
 .. 
.. 0 −σ 0 . 0  (41)
 
B= 0 σ Λ . 0  (36)  .. .. .. ..


 .. . . . . . .


 . . . . −σ

 . . . . σ  0 ··· 0 −σ 0
0 ··· 0 σ Λ
al ser D una matriz diagonal, su inversa se calcula
sencillamente,

D−1 = diag(1/diag(D)) (42)

otra forma de denotar lo anterior, utilizando los


elementos de matriz
Tabla 1. Error relativo y absoluto para diferentes mallados.
(
1/(D)kk ,i=j El comportamiento de la diferencia de potencial
(D−1 )ij = (43)
0 6 j
,i= u(x, t), es ligeramente, pero lo es al menos en un
inicio, oscilatorio amortiguado, muy amortiguado,
pues para un tiempo de aproximadamente t = 0.2s,
D−1 es diagonal también, y cada elemento de su
u es casi cero.
diagonal es el reciproco del elemento correspon-
diente de la diagonal de D, por lo que calcular D−1 A continuación, se muestran algunas gráficas de la
es económico computacionalmente. solución numérica para el primer y último mallado
presentado en la tabla 1.
Utilizando el método de Jacobi con el fin de encon-
trar Wj

Xk+1 = D−1 [Ωj−1 − (L + U )Xk ] (44)

este método es iterativo sobre el indice k y comien-


za con el vector Xo , que preferentemente debe ser
cercano al vector X1 . Afortunadamente, el vector
Wo es conocido, es de hecho la condición inicial, en
este caso, el vector Wo es

Wo = [w1o , w2o , ..., wmo ]T

wio = sin2 [2π(a + ih)] = sin2 (2πih) (45)


Figura 2. u(x,t), M = 10 y N = 40.

por esta razón, Xo = Wo , mientras mas términos se


tomen en el proceso de iteración del método, mejor
será la aproximación.

4. Resultados
Con el fin de analizar la convergencia del método,
se calculó el error relativo y absoluto en el punto
po = ( 21 , 21 ), esto para diferentes valores de M y N .
Para calcular cada vector Wj , se utilizaron k = 100
términos en el método iterativo de Jacobi, para el
error absoluto ea y relativo er , se utilizaron n = 350
términos de la serie, pues la serie evoluciona muy
rápidamente. Figura 3. u(x,t), M = 10 y N = 40.
Figura 7. u(x,t), M = 70 y N = 700.
Figura 4. u(x,t), M = 10 y N = 40.

Figura 8. u(x,t), M = 70 y N = 700.

Figura 5. u(x,t), M = 10 y N = 40.

Figura 6. u(x,t), M = 70 y N = 700. Figura 9. u(x,t), M = 70 y N = 700.


5. Discusión la cantidad de datos generada con este mallado, fue
de η({wij }) = 480, mucho menor que la anterior, y
Como era de esperar, mientras mas resolución tie- el error es prácticamente el mismo.
ne el mallado, es decir mientras mas grandes son
M y N , el error disminuye (ver tabla (1)), el costo
a pagar es el aumento de memoria necesaria para
realizar los cálculos, pues la dimensión de las ma-
trices utilizadas es de m×m, y la cantidad de datos
generados, es decir de wij ’s, es de M × N , ese costo
a pagar es completamente razonable, ya que al mis-
mo tiempo, este método, de Crank–Nicolson, tiene
también muchas ventajas, por ejemplo, utilizándolo
para resolver la ecuación cable cuya solución es casi
idéntica a la ecuación de calor, para estas ecuacio-
nes diferenciales, el método es estable para cuales
quiera tamaños de paso h, k > 0 [3], lo cual es una
gran ventaja, pues si deseamos calcular una solu-
ción con un mallado de alta resolución, aunque la
ejecución del código lleve algo de tiempo, el méto-
do eventualmente va a converger a la solución de
manera estable. Figura 10. M = 20, N = 24.

¿Mientras mas grande, mejor?, a pesar de que una En la figura 1, se puede observar que la resolución
mayor resolución en el mallado, genera una solución es muy mala comparada con las figuras 7 y 8, inclu-
cada vez con menor error, en ocasiones si se desea so es fácil apreciar pequeñas islas de error cercanas
conocer el valor de la solución con poco error en al las fronteras, pero a pesar de eso, el error en el
algún punto particular, no necesariamente se debe punto po es prácticamente el mismo para ambos
utilizar el método con un mallado de alta resolu- casos, lo cual es un hecho muy importante.
ción, por ejemplo, regresando a la solución en el
punto po (ver tabla (1)), el error mas pequeño ob-
tenido, fue de ero = 0.461 %, la cantidad de datos
generados fue de η({wij }) = 49, 000, que en com-
paración con otras simulaciones, no son demasiados
datos, pero tampoco son precisamente pocos, por
lo que es natural hacerse la pregunta, ¿habrá otra
resolución de mallado, mas pequeña, que se aproxi-
me con un error semejante a ero , a la solución?, de
este modo, obtendrı́amos la misma aproximación,
que en este caso, es muy buena, utilizando menos
memoria, tiempo de computo, etc., para este caso
particular, en po , sı́ que se puede, una posibilidad
es la siguiente

Tabla 3. Error relativo como función de N.

Para tener una mejor percepción de como evolu-


ciona el error en función del mallado, se calculó
el error relativo respecto al punto po para varios
Tabla 2. Error relativo y absoluto para M = 20, N = 24. mallados diferentes los cuales se clasifican en tres
conjuntos (ver tabla 3), cada conjunto tiene M fijo,
con los valores de 10 (azul), 20 (amarillo) y 30 (ro-
sa), para cada valor de M fijo, se varió N de diez
en diez (ver tabla 3), para posteriormente graficar
N contra er con M fijo cabe destacar, pues una
relación o conjunto de relaciones que involucren a
las tres variables al mismo tiempo, sin necesidad
de fijar alguna, podrı́a resultar en algo complejo de
analizar.

Figura 13. N vs er , para M = 30.

La relación entre N y er parece ser exponencial, se


ajustó un modelo de la forma

er (N ) = ae−bN + c (46)

los parámetros encontrados fueron los siguientes

Figura 11. N vs er , para M = 10.

Tabla 4. Parámetros del modelo ajustado.

este ajuste realizó con la biblioteca scipy [5] en


Python.
Mientras mas grande es M la curva decae mas rápi-
do, en la figura 12, la de mayor taza de decaimien-
to, el error parece parece converger a un cierto a
un valor, por ejemplo la función exponencial

f (x) = e−x (47)

cuando x tiende a infinito, f tiende a cero, ahora,


si sumamos una constante q a f

Figura 12. N vs er , para M = 20. f (x) = e−x + q (48)


y tomamos de nuevo el limite cuando x tiende a mencionado anteriormente para tener mas conjun-
infinito, ahora f tiende a q, pues cada punto de f tos variando N con M fijo, de este modo se podrı́a
solo fue desplazado q unidades hacia arriba. Ahora, visualizar mejor e incluso intentar ajustar un mo-
tomemos el lı́mite sobre N en la ecuación (46) delo a la relación entre M , N y b.

lı́m ae−bN + c = c (49) 6. Conclusión


N →∞

esto es un resultado interesante respecto al com- Parece ser que el método de Crank–Nicolson per-
portamiento del error en el método, pues para un mite encontrar aproximaciones muy buenas con un
mallado tal que M < N , aumentando N con M fi- error relativo de aproximadamente cero, sin la nece-
jo, no importa que tan grande sea N parecer ser que sidad de imponer un mallado de alta resolución, es
existe un error lı́mite, los errores lı́mite encontrados decir con un bajo costo computacional. Esto últi-
en estos tres casos son los valores del parámetro c mo se propone como trabajo a futuro, con el fin
en la tabla 4. Puede ser los que errores lı́mite encon- de encontrar un método con el que se pueda afir-
trados, no sean muy cercanos a sus valores reales mar para que puntos se puede y para cuales no se
(si es que existen estos llamados errores lı́mite), puede encontrar un mallado de baja resolución con
para tener una mayor certeza respeto a esta afir- un error relativo pequeño conseguido también con
mación, se deberı́a repetir el proceso mencionado otro mallado de alta resolución, ¿estos puntos son
anteriormente, para mas conjuntos con M fijo y únicos?, ¿de que dependen?, ¿en realidad se puede
más variaciones en N , lo cual es propuesto como afirmar algo al respecto o fue pura suerte la que se
trabajo a futuro. tuvo en este caso?.

Ahora la pregunta es, ¿cual es la relación entre M , Respecto a una utilidad en la neurologı́a, es claro
N y el parámetro b?, que es este último el que prin- que este método numérico tiene un gran potencial
cipalmente define la taza de cambio de la curva, res- para resolver posibles modelos de interacción neu-
ponder está pregunta puede ser complicado, por lo ronal, incluso podrı́a ser útil para estudiar pato-
que por ahora, para intentar visualizar mejor esta logı́as neurológicas como el Alzheimer.
relación, únicamente se presenta la siguiente gráfica
Referencias
[1] Jonathan Bell. Cable theory. In Encyclopedia
of Neuroscience, page 529. Springer Berlin Hei-
delberg, 2009. doi: 10.1007/978-3-540-29678-
2 775.
[2] William R. Holmes. Cable equation. In Ency-
clopedia of Computational Neuroscience. Sprin-
ger New York, 2014. doi: 10.1007/978-1-4614-
7320-6 478-1.
[3] Tim Sauer. Numerical analysis. pages 375,385.
Pearson, Boston, 2 edition, 2012. ISBN 978-
Figura 14. M vs b. 0321783677.
[4] Roberto Bagnara. A unified proof for the con-
la única información que nos aporta la figura 13 vergence of jacobi and gauss–seidel methods.
es que, al parecer, el parámetro b aumenta confor- SIAM Review, 37(1):93–97, March 1995. doi:
me M aumenta, pero tres puntos son muy pocos, 10.1137/1037008. URL
no se puede afirmar nada más con certeza sobre https://doi.org/10.1137/1037008.
la relación con esta cantidad de información, para [5] Scipy.org. URL https://www.scipy.org/.
un trabajo posterior, se sugiere repetir el proceso

View publication stats

También podría gustarte