Está en la página 1de 8

Métodos numéricos

1o semestre 2016

Tarea 3
1. Deducir la fórmula de diferencias finitas para las siguientes derivadas:
a) f 0 (x) centrada a orden O(∆x4 )
b) f 000 (x) centrada a orden O(∆x2 )
c) f 00 (x) hacia adelante a orden O(∆x2 )
2. El potencial eléctrico φ(r) generado por una distribución de carga ρ(r) obedece la
ecuación de Poisson
ρ
∇2 φ = − , (1)

donde  es la permitividad eléctrica del medio. Consideremos una distribución de
carga Lorentziana,
a
ρ(x) = . (2)
x−x0 2

w
+1
Asumiendo  = 1 y x0 = 0.3, a = 2 y w = 0.2, resolver numéricamente la ecuación de
Poisson en una dimensión en el intervalo 0 ≤ x ≤ 1 dividido en N = 100 nodos en el
dominio computacional, usando los siguientes métodos:
a) Diferencias finitas con condiciones de borde tipo Dirichlet φ(0) = φ(1) = 0.
b) Diferencias finitas con condiciones de borde tipo Neumann φ0 (0) = φ0 (1) = 0.
c) Transformada seno con condiciones de borde tipo Dirichlet φ(0) = φ(1) = 0,
pero usando N = 128, sin incluir los bordes. En este caso comparar con la
solución encontrada en a).
En todos los casos graficar la solución encontrada.
3. Considerar el problema de una barra horizontal flexible con una carga w(x) distribuida
sobre ella, cuando la barra está empotrada en ambos extremos y la deformación
es pequeña (ver figura 1). Este problema está descrito por la siguiente ecuación
diferencial:
d4 y
= w(x), (3)
dx4
con las condiciones de borde y(0) = y(L) = y 0 (0) = y 0 (L) = 0.

1
Figure 1: Barra horizontal flexible que soporta un peso w(x).

a) Deducir la fórmula de diferencias finitas para la cuarta derivada centrada a orden


O(∆x2 ).
b) Encontrar el sistema de ecuaciones lineales que resuelve el problema. Considerar
para las condiciones de borde la fórmula de la primera derivada centrada a orden
O(∆x2 ).
b*) (Opcional) Deducir un método para encontrar la solución de sistemas de ecua-
ciones pentadiagonales, donde la matriz tiene dos diagonales inferiores y dos
diagonales superiores, similar al método para matrices tridiagonales.
c) Implementar un código para resolver la ecuación (3) para el caso w(x) = w0
constante en el intervalo 0 ≤ x ≤ 1. Usar el método de la parte b*) o bien
implementar una subrutina para resolver sistemas de ecuaciones lineales con el
método de pivoteo de Gauss.

4. La ecuación del calor en una dimensión está dada por la siguiente ecuación diferencial
parcial:
∂T ∂ 2T
=κ 2, (4)
∂t ∂x
donde T (x, t) es la temperatura en la posición x y el tiempo t. La ecuación (4) puede
ser resuelta dadas las condiciones de borde en un cierto dominio x ∈ [0, L] y un perfil
inicial de temperatura T (x, 0) = T0 (x) compatible con las condiciones de borde.

a) En clases se encontró una expresión para encontrar la evolución temporal de la


temperatura sobre una grilla discreta de forma explı́cita:
∆t n
Tin+1 = Tin + κ (T − 2Tin + Ti−1
n
) (5)
∆x2 i+1

2
Asumiendo condiciones de borde tipo Dirichlet T (0, t) = T (L, t) = 0 y suponiendo
que la solución numérica se comporta como
Tin = un sin(i∆x), (6)
el método (5) es estable cuando

un+1
un < 1. (7)

Encontrar bajo que condiciones se satisface la expresión (8).


b) Asumiendo las mismas condiciones de borde que en a), integrar la ecuación (4)
con el método (5) sobre una grilla con N = 128 nodos (sin incluir los bordes)
usando la siguiente condición inicial:
T0 (x) = 8x(L − x) exp(−100(x − 0.5L)2 ), (8)
con L = 1 y κ = 1, para 0 ≤ t ≤ 1. A partir de los resulados obtenidos
generar dos figuras: el gráfico de la función T (x, t) para t = 0, 0.01, 0.04, 0.2 y la
evolución temporal de la temperatura en el centro del dominio T (L/2, t) en un
gráfico con escala logarı́tmica. Esta función posee un decaimiento exponencial a
partir de cierto instante del tipo e−αt . Determimar α por medio de una regresión
lineal.
c) Automatizando el procedimiento para encontrar α (como lo hecho en b)), con-
struir numéricamente la función α(κ) en el intervalo 0.5 ≤ κ ≤ 4. Para esto,
dividir el intervalo en 40 puntos. Encontrar la función analı́tica que ajuste a la
curva encontrada resolviendo la ecuación (4) para un modo de Fourier.
5. Una alternativa para resolver ecuaciones parciales diferenciales con condiciones de
borde periódicas1 son los métodos pseudospectrales, que permiten tratamiento más
preciso de las derivadas espaciales y los términos no-lineales en la ecuación. Supong-
amos una ecuación diferencial del tipo
∂f
= Lx (f ) + Nx (f ), (9)
∂t
donde t, x ∈ R son las variables independientes (por ejemplo, tiempo y espacio), L
es un operador diferencial lineal, N es un operador no-lineal, y f (x, t) una función
1
Cuando las condiciones de borde son de tipo Dirichlet o Neumann con valores nulos, la base de auotfun-
ciones son senos o cosenos, respectivamente, en cuyo caso la tranformada discreta de Fourier es reemplazada
por la transformda seno o coseno.

3
que puede ser real o compleja cuyo dominio es Ω = [0, Lx ] × [0, ∞]. Consideraremos
condiciones de borde periódicas, es decir, f (x + Lx ) = f (x). Para L en general se
tiene que
∂ ∂2 X ∂n
L = a0 + a1 + a2 2 + · · · = an n , (10)
∂x ∂x n=1
∂x
donde an en general pueden ser funciones de x y t. Para los propósitos de este tutorial,
se considerarán problemas donde los an son siempre constantes, reales o complejos.
El operador N puede ser en general cualquier
√ función no-lineal que opere sobre la
2
función f , como por ejemplo f , sin f, f , etc. Un operador no-lineal muy común en
problemas de fluidos y propagación de ondas en medios no-homogéneos, entre otros,
es
∂f
N (f ) = f . (11)
∂x
Este operador representa la advección asociada a los fenómenos de transporte dentro
de un fluido en movimiento.
Discretizando el dominio en N nodos xj = j∆x, con j = 0, . . . , N − 1 y ∆x = Lx /N ,
se encuentra la ecuación para la variación temporal de la función f sobre el j–ésimo
nodo:
dfj
= [L(f )]j + [N (f )]j (12)
dt
El conjunto de N ecuaciones diferenciales ordinarias dadas por (12), como ya hemos
visto antes, se puede resolver numéricamente usando, por ejemplo, el método de
Runge-Kutta de 4to orden. El problema se reduce ahora a encontrar una forma de
evaluar los términos del lado derecho de la ecuación (12).
Sea {gj } el conjunto de valores de una función g(x) cualquiera evaluada en la grilla
espacial. La transformada de Fourier discreta F se define como
N
1 X −i 2πj k
g̃k = √ gj e N , (13)
N j=0

Cada número complejo g̃k , con k = −N/2, N/2, es un modo de Fourier asociado al
número de onda λk = 2πk/Lx . La transformada inversa de Fourier discreta F −1 se
obtiene de manera análoga a partir de los modos {g̃k }:
N/2
1 X 2πj
gj = √ g̃k ei N k , (14)
N k= /2
N

4
La regla general para las derivadas espaciales en el espacio de Fourier es
^ 
∂ nf
= (iλk )n f˜k . (15)
∂xn k

A partir de la expresión (15) la forma general del operador L actuando sobre f , en


el espacio de Fourier es X
L̃k = an (iλk )n f˜k . (16)
n=1

Ası́, el término lineal en el lado derecho de la ecuación (12) se evalúa aplicando la


transformda inversa a la expresión (16),
X h i
−1 −1 n˜
F L̃k = an F (iλk ) fk . (17)
n=1

De la misma forma, el operador (11) se puede evaluar en el espacio real calculando


la primera derivada en el espacio de Fourier usando (15), a partir de esta la derivada
en el espacio real aplicando la transformada inversa, y finalmente multiplicando por
la propia función en el espacio real.
El método pseudoespectral se puede resumir en aplicar los siguientes pasos:

i) Obtener los modos de Fourier de la función f : f˜k = F({fj })


ii) Calcular las derivadas espaciales en el espacio de Fourier
^ 
∂ nf
n
= (iλk )n f˜k
∂x k

iii) Aplicar la tranformada inversa a cada término del operador lineal para obtener el
operador en el espacio real, y además poder calcular el término no-lineal cuando
sea necesario.
iv) Avanzar un paso de tiempo la ecuación (12) usando un integrador numérico, por
ejemplo Runge-Kutta.

Un problema que se presenta al usar el método pseudoespectral es el conocido como


aliasing, cuyo origen es la representación de una función contı́nua por un número finito
de modos de Fourier. Debido a que esto es posible porque la función fue previamente
discretizada, dicha discretización crea “saltos” del orden de la resolución de la grilla.
Este error debido al truncamiento tiende a acumularse en los números de onda altos,

5
y con el tiempo puede propagarse hacia las frecuencias espaciales bajas, afectando
la precisión y estabilidad del método. La manera tı́pica para evitar el error por
truncamiento espectral es usar la regla de los 2/3. Esta regla indica que en cada paso
de tiempo, al calcular los modos de Fourier {f˜k } solo se deben considerar sólo 2/3 de
los modos más bajos, haciendo cero 1/3 de los modos más altos. Este procedimiento
está explicado de forma gráfica en la figura 2.

Figure 2: Regla de los 2/3 para evitar el aliasing en el método pseudoespectral.

Resolver el problema que corresponda, usando el método pseudoespctral descrito


anteriormente:
Samuel: La ecuación Korteweg-de Vries (KdV) representa un modelo clásico para ondas
que se propagan en aguas superficiales. Está dada por la siguiente expresión:
∂φ ∂ 3 φ ∂φ
+ 3 + 6φ = 0, (18)
∂t ∂x ∂x
donde φ(x, t) es una función real que depende de dos variables, el espacio x y el
tiempo t. Entre los diversos tipos de soluciones exactas de la ecuación KdV, las
ondas solitarias o solitones son las más celebres:
√ 
1 2 c
φsol (x, t) = c sech (x − ct − a) , (19)
2 2
donde sech(x) es la función secante hiperbólica, c es la velocidad de propagación
y a es la posición del máximo de φsol en t = 0.
a) Comprobar analı́ticamente que la función (19) es solución de la ecaución
(18)
b) Escrbir un código pseudo-espectral para resolver numéricamente la ecuación
(18) asumiendo un dominio Ω = [0, Lx ] periódico, con Lx = 20. Buscar el
número de modos N y el paso de tiempo ∆t óptimos para que la solución
numérica se ajuste a la solución analı́tica (19). Usar a = Lx/2 y c = 1.

6
c) Generar una colisión de solitones preparando una condición inicial φ1sol +φ2sol ,
donde a = Lx /2 y c = 10 para φ1sol , y a = Lx /4 y c = 20 para φ2sol .
Generar un gráfico espacio-temporal mostrando la colisión. Que ocurre con
los solitones después de la colisión?
Giorgio: La ecuación no-lineal de Schrödinger (NLS) cúbica está dada por

∂ψ ∂ 2 ψ
i + + |ψ|2 ψ = 0, (20)
∂t ∂x2
donde ψ(x, t) es una función compleja de variables reales x y t. Esta ecuación
aparece en diversos contextos como de la fı́sica como la óptica no-lineal, su-
perconductividad y fı́sica de plasmas. La ecuación NLS posee diversas solu-
ciones analı́ticas, entre las que se cuentan los solitones. Un solitón simple que
es solución de (20) está dado por

ψsol (x, t) = ±a 2 sech(ax − 2abt − c) exp i(bx + (a2 − b2 )t)
 
(21)

a) Comprobar analı́ticamente que la función (21) es solución de la ecuación


(20). Determinar cual es el paper de las constantes en el comportamiento
de la función. Si es necesario, graficar ψsol (x, t) para algunos valores de a, b
y c.
b) Escribir un código que resuelva la ecuación NLS con condiciones de borde
periódicas basado en el método pseudoespectral.
c) Integrar numéricamente la ecuación (20) en el dominio 0 ≤ x ≤ 60 para el
intervalo de tiempo 0 ≤ t ≤ 60. Usar ψsol (x, 0) como condición inicial, con
a = b = 1 y c = 30. Encontrar el número de modos N y el paso de tiempo
∆t óptimos para resolver el problema de forma estable.
d) Colocar dos solitones como condición inicial: el primero centrado en x1 = 20,
con amplitud A1 = 10 que se desplazará hacia la derecha con velocidad
v1 = 5, y el segundo centrado en x2 = 40, con amplitud A2 = 5 que se
desplazará hacia la derecha con velocidad v1 = 15.
En todos los casos, generar gráficos donde se muestre con detalle el compor-
tamiento de la soluciones encontradas.
Felipe: Problema auto-propuesto. Uno de los problemas mas interesantes en gravitación
es el estudio de los modos cuasi-normales y existen variados métodos numéricos
que permiten atacar este tipo de problemas de manera sencilla. En esta tarea
la idea principal es utilizar el método pseudoespectral para estudiar los modos

7
cuasi-normales de una métrica dada, en este caso la métrica utilizada esta dada
por la ecuación 22

r2 dr2
ds2 = − f (r)dt2
+ + r2 d~x2 , (22)
l2 f (r)
con
r2 1
f (r) = − .
l2 2
Esta métrica corresponde a un agujero negro Lifschitz, siendo l el radio de cur-
vatura. Se estudiarán los modos cuasi-normales para partı́culas sin espı́n. Para
ello se utilizará la ecuación de Klein-Gordon dada por la expresión 23

2 Ψ + ξ 2 Ψ = 0, (23)

donde el primer operador es

1 ∂2
2 = − ∇ 2 = ∂ν ∂ ν , (24)
c2 ∂t2
y
mc
ξ= (25)
~
a) Definir la geometrı́a, el número de dimensiones espaciales, las condiciones
de borde y condiciones iniciales asociadas al problema.
b) Escribir un código para resolver la ecuación 23 utilizando el método pseu-
doespectral.
c) Interpretar los resultados.

También podría gustarte