Laboratorio 1. Entregar 06/09/16

Anuncio
FÍSICA COMPUTACIONAL
PRÁCTICO 1 - 2016
Entregar problemas 8 y 9, hasta el 01/09/16
1. Las siguientes expresiones son legales o ilegales en Fortran 90? Si son legales cuál es
su resultado? Si son ilegales, qué hay de malo en ellas?
37 / 3
37 + 17 / 3
28 / 3 / 4
( 28 / 3 ) / 4
28 / (3 / 4)
-3. ** 4. / 2.
3. ** (-4. / 2.)
4. ** -3
2. ** 2. ** 3.
2. ** (-2.)
(-2) ** 2
(-2.) ** (-2.2)
(-2.) ** NINT (-2.2)
1 + 1/4
1. + 1/4
1 * 1./4
2. Diferenciación numérica
Sea F (x) = ex . Evalúe f 0 (1) mediante la fórmula centrada de dos puntos
f (x + h) − f (x − h)
+ O(h2 )
2h
para distintos valores de h y calcule el incremento óptimo ho teniendo en cuenta los
errores de truncamiento y redondeo. Grafique el error (usando el valor exacto de la
derivada) versus h (elija h = 10−k , con k entero, y grafique usando escala log-log).
f 0 (x) =
3. Integración numérica. Puntos equiespaciados: Comparación Trapezoidal
vs. Simpson
Considere la integral definida:
Z 1
I=
ex dx = e − 1 = 1,718282 . . . .
0
a) Escriba un código que calcule la aproximación Fn de I utilizando la regla del
trapecio (1) y la regla de Simpson (2):
xn
1
1
f (x)dx = h f0 + f1 + ... + fn−1 + fn + O(h2 )
2
2
x
Z 0xn
1
4
2
f (x)dx = h f0 + f1 + f2 + ...+
3
3
3
x0
2
4
1
+ fn−2 + fn−1 + fn + O(h4 )
3
3
3
Z
1
donde n (par) es el número de divisiones en el intervalo de integración, y
0
h = xn −x
es el ancho de cada división. Elija n = 2k con k = 2, . . . , 8. (Esta
n
elección es útil para mostrar la dependencia del error asintótico con un gráfico
log-log).
b) Cúal es la dependencia con n del error ∆n = |Fn − I| para ambas reglas de
integración?
4. Cuadratura de Gauss-Legendre. Comparación con otros métodos
a) Utilizando el programa disponible en la página de la materia, calcular la integral
Z 1
I=
e−t dt = 1 − e−1
0
utilizando la cuadratura de Gauss-Legendre, la regla de Simpson y del trapecio.
b) Calcule el error relativo = |(numérico − exacto)/exacto| en cada caso para distintos valores de número de puntos de integración (N ). Considere, por
ejemplo, N = 2, 10, 20, 40, 80, 160, . . . .
c) Haga un gráfico log-log del error relativo versus N . Observe que
≈ CN α => log = α log N + constante.
Esto significa que una dependencia como ley de potencia aparece como una
lı́nea recta en un gráfico log-log.
d ) Use el gráfico para estimar la ley de potencia de la dependencia del error con el número de puntos N . y para determinar el número cifras decimales de
precisión en su cálculo. Haga esto para la regla del trapecio y para la regla de
Simpson, tanto para el error del algoritmo como para el de redondeo.
5. Resolver analı́ticamente
dy
= −xy
dx
con la condición inicial: y(x = 0) = 1.
Integrar numéricamente hasta x = 1, usando los algoritmos:
i) Euler
ii) Runge-Kutta 2
iii) Runge Kutta 4
a) Comparar con el resultado exacto.
2
opcional
b) Comparar el costo computacional de cada uno (estimarlo con el tiempo de
ejecución que requiere un dado método para alcanzar un cierto nivel de error,
use comando time en linux).
6. Oscilador armónico
Integrar la ecuación del oscilador armónico,
ẍ = −kx
usando los siguientes algoritmos (para el caso k = 1, y t entre 0 y 10, usando
x(0) = ẋ(0) = 1):
i) Euler
iii) Runge-Kutta 2
iv) Runge Kutta 4
Note que puede escribirse como un sistema de 2 ecuaciones diferenciales de primer
orden.
a) Comparar los resultados obtenidos con los distintos métodos (utilizando el valor
de h óptimo respectivo) con el resultado exacto graficando x y ẋ versus t.
b) Evaluar la energı́a del sistema como función del tiempo. Cúal método es más
eficiente?.
c) Definimos el error global en el inervalo [0,10], como g = |xnumérico (10) −
xexacto (10)|/xexacto (10). Muestre en un gráfico log-log de g versus h−1 (proporcional al número de pasos), como escalean los errores de los distintos métodos
con el tamaño del paso). Encuentre las respectivas leyes de potencia (tome
valores de h entre 1 y 10−6 ).
7. FFT
Dada la siguiente señal:
f (t) = sin
π t + cos (20πt) ,
2
a) Haga un muestreo de la señal, entre 0 y 4, usando N = 1024 puntos y calcule
la transformada discreta utilizando la librerı́a FFTW y alguna otra rutina (de
Numerical Recipes, por ej.). Compare los resultados y el costo computacional.
Verifique que al transformar y anti-transformar obtenga nuevamente la señal
inical. Determine las frecuencias de la señal a partir de los resultados. Grafique
el espectro de potencias.
b) Muestree ahora la señal con N = 16, 64, 128 y 512. Qué puede decir de estos
resultados?
3
Sistemas Caóticos
8. Considerar el mapeo logı́stico:
entregar
xt+1 = rxt (1 − xt )
a) Graficar las trayectorias xt vs t para r = 1,5; 3,3; 3,5; 3,55; 4. Realice 500
pasos para diferentes condiciones iniciales (x0 = 0,06; 0,3; 0,6 y 0,9; por ejemplo)
y grafique eligiendo adecuadamente el rango de t.
b) Calcular el espectro de potencia para los mismos valores de r que en el punto
a) usando FFT. Note que debe descartar el transitorio (300 pasos). Tome como
condición inicial x0 = 0,6.
c) Graficar el histograma (normalizado) de la distribución de x para r = 4 y x0 = 0,6.
Luego de descartar los primeros 300 pasos, considere los 10000 pasos siguientes. Sea
cuidadoso en la elección del ancho de los “bines”.
d) Obtener el “diagrama de órbitas” en el plano x, r. Para ello, para cada valor de
r iterar primero 300 puntos, que se descartan, y luego graficar x301 , . . . , x600 para
cada valor de r. Graficar para 3,4 < r < 4. Realizar una ampliación del gráfico para
3,847 < r < 3,857 mostrando la región 0,13 < x < 0,185. (Para esto último hacer
mas iteraciones, por ej. x301 , . . . , x1500 ).
e) Calcular y graficar el exponente de Lyapunov para 2 < r < 4. Recuerde descartar
el transitorio, y utilice del orden de 1500 pasos para calcular el exponente.
9. El Hamiltoniano de Pullen-Edmonds consiste en dos osciladores armonicos de igual
frecuencia ω y masa m, acoplados por un término cuártico en las coordenadas:
1
1
H = (p21 + p22 ) + (q12 + q22 ) + α q12 q22
2
2
(donde elegimos unidades tal que m = 1 y ω = 1).
(1)
a) Integrar numéricamente las ecuaciones de movimiento usando el algoritmo de
Runge-Kutta de 4to. orden para α = 0,05. Particularice para valores de energı́a
E = 5, 20 y 100, graficando coordenadas y momentos versus tiempo. (utilice el valor
óptimo de h ≡ ∆t, e integre
hasta t = 200). Como condición inicial utilice q1 = 2,
p
p1 = 0, q2 = 0 y p2 = (2E − 4).
b) Trazar las superficies de sección de Poincaré en el plano p1 , q1 , para los siguientes
valores de energı́a: E = 5, 20, 100. Poner un punto cada vez que q2 = 0 (en la
implementación es conveniente buscar los cambios de signo de q2 ) con p2 > 0. Para
la construcción de los gráficos elija al menos 50 condiciones iniciales para cada valor
de energı́a, e integre hasta tf inal = 15000.
c) Calcular el espectro de potencias para una órbita con energı́a E = 5 y para una
órbita con E = 100.
4
entregar
Descargar