Documente Academic
Documente Profesional
Documente Cultură
COMPUTACIONALES en
FISICA
Patricio Cordero S.
Departamento de Fsica
Indice general
1. Introduccion
1.2. Errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
11
1.4. Adimensionalizar . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
14
1.5.1. Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . .
15
15
de una variable . . . . . . . . . . . .
1.5.3. Puntos fijos con mas
16
1.5.4. Metodo
de la secante en varias variables . . . . . . . . .
17
1.6. Problemas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
20
21
2.1. Derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
22
numerica
2.2. Integracion
directa . . . . . . . . . . . . . . . . . . . .
23
no uniforme sencilla . . . . . . . . . . . . .
2.2.1. Discretizacion
25
2.2.2. Limitaciones . . . . . . . . . . . . . . . . . . . . . . . . .
25
y cambio de variable . . . . . . . . . . . . . . . . . .
2.3. Integracion
26
26
28
30
2.5. Problemas
31
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
INDICE GENERAL
35
35
3.1.1. Metodo
directo simple (de Euler) . . . . . . . . . . . . . .
36
3.1.2. Metodo
implcito . . . . . . . . . . . . . . . . . . . . . . .
37
3.1.3. Metodo
de Runge-Kutta . . . . . . . . . . . . . . . . . . .
38
40
40
. . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1. Presentacion
40
41
43
3.2.4. Metodo
predictor-corrector . . . . . . . . . . . . . . . . .
44
45
3.4. Metodos
de Verlet y variaciones . . . . . . . . . . . . . . . . . .
46
46
47
49
del problema . . . . . . . . . . . . . . . . . .
3.5.1. Formulacion
49
del algoritmo
3.5.2. Construccion
O( 3 )
. . . . . . . . . . . . . .
50
50
3.5.4. Leapfrog . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
alto orden . . . . . . . .
3.5.5. Algoritmos simplecticos
de mas
51
final . . . . . . . . . . . . . . . . . . . . . . . . .
3.6. Recomendacion
52
3.7. Problemas
52
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1. Introduccion
57
. . . . . . . . . . . . . . . . . . . . . .
58
59
59
de Green . . . . . . . . . . . . . . . . . .
4.3.2. Uso de funcion
61
62
62
de Schrodinger
63
de 14 de julio de 2009
version
Patricio Cordero
Metodos
Computacionales en Fsica
de Schrodinger
4.4.3. Ecuacion
radial . . . . . . . . . . . . . . .
4.5. Problemas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
64
66
67
5.1. Numeros
aleatorios r U(0, 1) . . . . . . . . . . . . . . . . . . .
67
68
y el promedio discreto . . . . . . . . . . . . .
5.2.1. Distribucion
68
68
69
70
. . . . . . . . . . . . . .
71
Monte Carlo . . . . . . . . . . . . . . . . . . . . . . .
5.3. Integracion
72
5.3.1. El problema . . . . . . . . . . . . . . . . . . . . . . . . . .
72
72
74
5.3.4. Metodo
explcito . . . . . . . . . . . . . . . . . . . . . . .
74
76
77
78
78
78
80
81
83
84
5.5. Problemas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6. Ecuaciones elpticas
85
89
y condiciones de borde . . . . . . . . . . . . . . . . . .
6.1. Ecuacion
89
90
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2. Discretizacion
91
en el volumen . . . . . . . . . . . . . . . .
6.2.1. Discretizacion
91
91
6.2.3. Convergencia . . . . . . . . . . . . . . . . . . . . . . . . .
92
94
Universidad de Chile
INDICE GENERAL
94
corriente, la vorticidad y la
6.3.2. Ecuaciones para la funcion
temperatura . . . . . . . . . . . . . . . . . . . . . . . . . .
95
. . . . . . . . . . . . . . . . . . . . .
96
discreta de y . . . . . . . . . . . . . . . . . .
6.3.4. Version
96
97
97
99
. . . . . . . . . . . . . . .
termica
7. Ecuaciones parabolicas
105
general . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
7.1. Ecuacion
7.2. Ecuaciones tpicas . . . . . . . . . . . . . . . . . . . . . . . . . . 105
de la ecuacion
de difusion
de calor . . . . . 106
7.3. Adimensionalizacion
explcita directa . . . . . . . . . . . . . . . . . . . . . 106
7.4. Integracion
7.4.1. Condiciones de borde rgidas . . . . . . . . . . . . . . . . 107
7.4.2. Condiciones de borde con derivada . . . . . . . . . . . . 107
7.5. El metodo
tridiagonal . . . . . . . . . . . . . . . . . . . . . . . . . 108
de calor . . . . . . . . . . . . . . . . . . . . . 108
7.5.1. La ecuacion
7.5.2. El algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . 110
de calor con conductividad variable . . . . . . . 111
7.5.3. Ecuacion
. . . . . . . . . . . . 112
7.6. Metodo
implcito . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.8.1. Metodo
de Richtmayer . . . . . . . . . . . . . . . . . . . . 115
7.8.2. Metodo
de Lees . . . . . . . . . . . . . . . . . . . . . . . 116
de Schrodinger
7.9. Ecuacion
dependiente del tiempo . . . . . . . . . 117
7.9.2. El metodo
explcito de Visscher . . . . . . . . . . . . . . . 118
8. Ecuaciones hiperbolicas
121
8.1.2. Integracion
a lo largo de una caracterstica . . . 126
de 14 de julio de 2009
version
8.1.3. Sistema de ecuaciones hiperbolicas
de primer orden . . . 127
8.1.4. Fluido compresible . . . . . . . . . . . . . . . . . . . . . . 128
8.2. El metodo
de Lax-Wendroff para ecuaciones hiperbolicas
de primer orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.3. Ecuaciones de segundo orden cuasilineales . . . . . . . . . . . . 132
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Introduccion
de 14 de julio de 2009
version
INDICE GENERAL
Captulo 1
Introduccion
1.1.
Una vez que un sistema (puede ser en fsica, qumica, ingeniera, biologa,
economa, etc) ha sido modelado con un conjunto de ecuaciones se debe
explorar las implicaciones. De esas implicaciones puede resultar algo esperable pero cuantitativamente no trivial, puede ocurrir que el modelo resulte no
pueser bueno (da comportamientos que no son verdaderos) etc. Tambien
de suceder que el modelo de patrones de comportamientos inesperados pero
correctos.
Comportamiento de atomos,
nucleos,
Dinamica
de fluidos: tal como en meteorologa, oceonografa, simulacion
de aviones, en el comportamineto de
de tuneles
de viento en el diseno
estrellas etc etc
Mecanica
macroscopica
de solidos:
tensiones en estructutras complejas
(puentes, barcos..), roturas, grietas, explosiones ..
variadas moleculas,
Introduccion
1.2. ERRORES
1.2.
Errores
Al hacer calculos
numericos
introducimos errores que tienen diverso ori comunes son:
gen. Los mas
de los datos. Por ejemplo, el valor de puede ser
- Errores en la precision
3,1416 en lugar de 3,141593 . . .
de baja precision,
Por ejemplo, en lugar del valor ex se usa
- Errores de truncacion.
N
xk
k!
(1.2.1)
k=0
de x */
cos(x) =
dx
2
de 14 de julio de 2009
version
Metodos
Computacionales en Fsica
Patricio Cordero
11
dsin(1.0)/dx
0.5400791
0.5403018
0.5403023
0.5403023
0.5403023
0.5403023
0.5403023
0.5403022
0.5402991
0.5401011
0.5442437
0.4940679
cos(1.0)
0.5403023
0.5403023
0.5403023
0.5403023
0.5403023
0.5403023
0.5403023
0.5403023
0.5403023
0.5403023
0.5403023
0.5403023
cos - deriv
0.000223185
0.000000553
0.000000001
0.000000000
-0.000000000
-0.000000000
-0.000000000
0.000000077
0.000003182
0.000201187
-0.003941389
0.046234439
1.3.
Tiempo de calculo
este calculo
sea lento y conviene estudiar si hay alguna forma de optimizar. Por
ejemplo, si en forma reiterativa en un programa se debe calcular una integral y
se va a usar la formula
#
"
Z
N1
f (x) dx
xi
Universidad de Chile
f (x0 ) + 2
f (xi ) + f (xN ) h
i=1
a+
ba
i
N
(1.3.1)
Escuela de Ingeniera y Ciencias
Introduccion
1.4. ADIMENSIONALIZAR
El calculo
de la energa de N cargas implica calcular
m
2
q j qk
2
j=1 k= j+1 r jk
v2k +
k=1
El primer termino
toma un tiempo O(N) mientras el segundo tiene un costo
1.4.
Adimensionalizar
Suele ocurrir que los problemas reales que debemos resolver tienen mas
parametros
de los necesarios, en el sentido que existe un problema numerico
de un oscilador armonico
m x = k x ,
x(0) = A ,
x(0)
= v0 .
de control:
si se define 02 = k/m el problema aparenta tener tres parametros
0 , A y v0 . Sin embargo, si se hace el cambio de variables x = A z, t = t /0 , el
problema equivalente es
z = z ,
z(0) = 1 ,
z (0) =
v0
v0 .
A 0
= 1
m1 + m2
= 1
Einic
= 1
(1.4.1)
y se define el parametro
R tal que
m1 =
1
1+R
m2 =
R
1+R
(1.4.2)
La energa inicial es
Einic =
de 14 de julio de 2009
version
R v22
y1
R y2
v21
+
+
+
2(1 + R) 2(1 + R) 1 + R 1 + R
(1.4.3)
Patricio Cordero
Metodos
Computacionales en Fsica
13
v21 + R v22 = v1 2 + R v2 2
(1.4.4)
2v1 + (R 1)v2
1+R
(1.4.5)
que implica
v1 =
2Rv2 (R 1)v1
,
1+R
v2 =
Notese
que si R = 1 entonces hay un simple intercambio de velocidades. En el
instante en que y1 = 0 y puesto que Einic = 1 se cumple que
y2 =
1 + R v21 v22
R
2R 2
(1.4.6)
mas
se da cuando v1 = 0.
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define
#define
#define
Largo
R
R1
4000
6.71
(1.0+R)
double
long
FILE
z1,z2,v1,v2,v1p,v2p,ts,tc;
cont;
*archivo;
macion).
La rutina main es corta y sencilla: (0) inicializa, (1) calcula los dos tiempos relevantes,
(2) llama a la rutina Suelo o la rutina Choque segun
lo que corresponda y vuelve a (1) y esto se
repite mientras el contador de choques este debajo de una cierta cota. Las rutinas que manejan
el cambio de velocidades debido a un choque con el suelo o un choque entre las dos partculas
tienen una caractarstica de apariencia trivial que, para el programador distraido, pueden ser fuen de 1 con z1 = z1 + v1*ts, que es
te de un error fatal: En Suelo no se actualiza la posicion
z1 nunca queanalticamente correcto, sino que con z1 = 0. Con el primer tipo de actualizacion
dara exactamente con el valor cero (error de redondeo) y si llega a quedar con un valor negativo
Universidad de Chile
Introduccion
(1.4.7)
de
donde (ya , va ) son las condiciones iniciales de ese vuelo libre. La condicion
choque entre ellas es
y2 y1
tC =
(1.4.8)
v1 v2
para que 1choque con el suelo es tS2 /2 + v1tS + y1 = 0 lo que
y la condicion
da
q
tS = v1 + v21 + 2y1
(1.4.9)
El programa adjunto permite obtener las curiosas formas que dibujan los
de este sistema.
puntos (y2 , v2 ) definidos cuando y1 = 0 durante la evolucion
En C, en lugar de escribir z2 = -ts*ts/2+v2*ts+z2; v2 = -ts +
v2; se puede escribir z2 += -ts*ts/2+v2*ts; v2 -= ts; lo que ha
veloz. En estas notas se
ce menos amistoso la lectura del codigo
pero mas
de codigos
1.5.
Muchos metodos
numericos
hacen uso de metodos
iterativos. Es interesan
te entonces saber decidir cuando estos metodos
son estables y bajo que condiciones convergen. Una sucesiones puede ser convergente, divergente o tener
complicado. Un caso clasico
algun
comportamiento mas
es el mapa logstico
xn+1 = A xn (1 xn) ,
con
0<A4
(1.5.1)
definida para 0 x < 1. Compruebe, por ejemplo, que para A = 3,1 los xn terminan saltando entre dos valores fijos.
de 14 de julio de 2009
version
Patricio Cordero
1.5.1.
Metodos
Computacionales en Fsica
15
Estabilidad
La recurrencia
x = g(x)
(1.5.2)
tiene punto fijo en el valor x si x = g(x ). Interesa saber si ese punto fijo es
estable.
Al iterar a partir de un punto muy cercano a x se obtiene
x +
= g(x + )
g(x ) + g (x )
= g (x )
(1.5.3)
fijo, lo que se conoce como estabilidad lineal del punto fijo x de g(x). Tambien
se dice que x es un atractor, ya que los puntos cercanos son atraidos, via la
(1.5.2), hacia x .
iteracion
Por ejemplo, (1.5.1) tiene un punto fijo trivial x = 0 y otro, x = 1 A1 . El
punto fijo trivial es estable cuando A < 1. El segundo punto es estable tan
solo si 1 < A < 3. Se deja como ejercicio hacer un programa que muestre el
comportamiento de (1.5.1) en todo el rango permitido de A.
f (x)
f (x)
(1.5.4)
una funcion demasiado complicada para poder tener una forma analtica para
fn
f n f n1
xn xn1
que se simplifica a
xn+1 =
Universidad de Chile
xn1 fn xn fn1
fn fn1
(1.5.5)
Escuela de Ingeniera y Ciencias
Introduccion
main()/*****************/
{ printf("semilla=");
scanf("%lf",&xs);
cero(xs);
}
que se
Version
de la secante. Note que la instruccion
ha puesto es printf("semilla"); y no printf("semilla\n");
En el caso de arriba no se
Un buen programa no debe producir error jamas.
ha tenido cuidado que el denominador fn fn1 pueda ser nulo. Tampoco se
se logre convergencia de la secuencia.
ha previsto la posibilidad de que jamas
Conviene poner un contador que no permita que se sobrepase algun numero
de iteraciones.
estable
Compruebe que el siguiente algoritmo, publicado en 2007, es mas
que el de de la secante1 :
xn+1
= xn1
=
xn1 fn1
f f
n1
fn1 + xn1 xnn xn1
fn fn1
x2
xn1 fn 2xn1 fn1 + xn fn1 n1
(1.5.6)
(1.5.7)
1.5.3.
de una variable
Puntos fijos con mas
de 14 de julio de 2009
version
Patricio Cordero
Metodos
Computacionales en Fsica
17
= ~g(~x0 +~ )
= ~g(~x0 ) +~ (~g)x0
(1.5.9)
explcita es
donde el ultimo
termino
en forma mas
gi
j
x j x0
De (1.5.9) se obtiene entonces que
~ = J0~
(1.5.10)
1.5.4. Metodo
de la secante en varias variables
Se desea encontrar los ceros de
F1 (~r )
~F(~r ) = ..
Fn (~r )
(1.5.11)
donde ~r = (x1 , x2 , . . . xn ). Es decir, se busca puntos ~r0 en los que todas las fun
ciones Fn (~r ) se anulan simultaneamente.
El metodo
de Newton generalizado a este problema se plantea a partir de
definir
~r = ~g(~r ) ~r J1 (~r ) ~F(~r )
(1.5.12)
es ~
F(~r0 ) = 0 mas
es evaluado en ~r0 . Siendo J0~ una cantidad de primer orden, no es
necesario
1
. Con
expandir el factor J (~r ) sino que basta con tomar sencillamente J1
0
todo lo anterior se ve que a primer orden, el lado derecho de (1.5.12) se anula:
~g(~r ) evaluado en los ceros de ~F (no confundirlo
el Jacobiano J de la funcion
con J que es el Jaconbiano de ~
F) tiene autovalores nulos. Esto garantiza que
los ceros de ~
F se comportan como puntos fijos estables de la recurrencia que
define (1.5.12).
Universidad de Chile
Introduccion
1.6. PROBLEMAS
1
x
y
y
y
J=
,
det(J) =
&
J1 =
F2
F2
F2
F1
x
y
x
x
El metodo
de la secante se obtiene a partir de lo anterior usando, en lugar
de J, la matriz de cantidades tipo
Fi (xj ) Fi(xj 1 )
Fi
xj
xj xj 1
(1.5.13)
-esima.
1.6.
Problemas
el metodo
el metodo
de Newton. Use tambien
de la secante. Observe la
cantidad de iteraciones necesarias para obtener cada cero con tolerancia
fija.
2. Resuelva numericamente
el sistema de ecuaciones: f1 = x4 y4 9 y
y
3
3
f2 = x y xy 2 2
un excelente ejemplo para poner a prueba la capacidad
3. A continuacion
en forma eficiente. Una partcula de
de encontrar ceros de una funcion
vertical (eje Y ) rebotando contra
masa m se mueve en una sola dimension
un suelo que oscila sinusoidalmente, z(t) = A sin( t). La regla de choque
contra el suelo oscilante es
v p (t ) = (1 + ) vs (t ) v p (t )
donde t es el instante del bote, v p y v p son las velocidades de la partcu del bote, vs es la velocidad del suelo en ese instante y
la antes y despues
( = 1 en el caso elastico).
Patricio Cordero
Metodos
Computacionales en Fsica
19
periodica.
periodica
sencilla
comunes) no hay solucion
La solucion
mas
corresponde a la partcula golpeando el suelo con el mismo perodo T =
2
de los parametros
del problema solo sobreviven y .
(a) Habiendo desarrollado su programa, utilselo con = 0,15 y haga un
grafico
de los vn=1..N (N 50) versus con 1,66 1,79 que resultan
de relajar al sistema. Este intervalo de divdalo en unos 100
despues
invalores distintos. Si hay algun
punto del eje que le parezca mas
fina. Despues
del ciclo con el primer
teresante, ah haga una trama mas
inicial el estado final del caso
valor de , conviene usar como condicion
anterior.
eficiente (rapido)?
sistema. Como
se logra que sea mas
R ECOMENDACIONES : Desarrolle su programa en etapas. Primero asegurese
que por
y(t) pueda ser menor que z(t). La dificultad mas
grande
ningun
error de precision
Derivadas e integrales numericas
pequena
de T = 2 / se produzca el bote. Por otro lado la velocidad
una fraccion
inicial debiera ser la necesaria para volver a tocar el suelo aproximadamente un
Eso asegura valores razonables y convergencia rapida.
tiempo 2 / despues.
1.7.
o Metodo
de pivoteo de Gauss para resolver un sistema de N ecuaciones
o Metodos
de interpolacion.
de 14 de julio de 2009
version
Captulo 2
Derivadas e integrales
numericas
2.1.
Derivadas
f (x + h) f (x)
h
(2.1.1)
El desarrollo en serie
f (x + h) = f (x) + h f (x) +
h2
f (x) + . . .
2
(2.1.2)
f (x + h) f (x h)
+ O(h2)
2h
(2.1.3)
fk f (x + k h) , se
presiones simetricas
y no simetricas.
Usando la notacion
tiene, por ejemplo, que
f1
f2
h2 h3
f
f + O(h4)
2 0 3! 0
4h3
f + O(h4)
f0 2h f0 + 2h2 f0
3 0
f0 h f0 +
21
(2.1.4)
Derivadas e integrales numericas
2.1. DERIVADAS
de donde
f2 2 f1 + f0
+ O(h)
h2
(2.1.5)
f1 2 f0 + f1
+ O(h2)
h2
(2.1.6)
f0 =
y tambien
f0 =
en terminos
de fh1 = f (x h1 ), fh2 = f (x + h2 ) y de la propia f (x) como
h2 fh + (h22 h21) f h22 fh1
df
1 2
+ O(h1h2 f )
dx
h1 h2 (h1 + h2)
(2.1.7)
d2 f
2
+ O((h2 h1) f )
2
dx
h1 h2 (h1 + h2)
(2.1.8)
2.1.1.
de 14 de julio de 2009
version
Metodos
Computacionales en Fsica
Patricio Cordero
23
A cuatro puntos
A cinco puntos
1
(2 f1 3 f0 + 6 f1 f2 )
6
1
( f2 8 f1 + 8 f1 f2 )
12
h2 f
f1 2 f0 + f1
1
( f2 + 16 f1 30 f0 + 16 f1 f2 )
12
h3 f
( f1 + 3 f0 3 f1 + f2 )
1
( f2 + 2 f1 2 f1 + f2 )
2
h4 f iv
no hay
f2 4 f1 + 6 f0 4 f1 + 2 f2
hf
2.2.
numerica
Integracion
directa
Metodo
trapezoidal: Se desea integrar numericamente
dividiendo el intervalo (a, b) en N intervalos de largo h con los puntos x0 = a, x1 , x2 , ..., xN1 ,
se comienza por
xN = b. Para obtener este primer algoritmo de integracion
escribir
f (x)
1
fk + (x xk ) fk + (x xk )2 fk + . . .
2
fk+1 fk
fk + (x xk )
+ O (x xk )2
h
(2.2.1)
f (x) dx
xk
h2 fk+1 fk
+ O(h3 )
2
h
h ( fk+1 + fk )
+ O(h3) (2.2.2)
=
2
fk h +
es el area
La ultima
expresion
del trapecio de la figura. Al sumar k sobre N sitios y tomando en cuenta
que N h1 se obtiene,
fk+1
fk
h
NUMERICA
2.2. INTEGRACION
DIRECTA
3 f
).
Metodo
de Simpson: Una formula
algo mas
surge de integrar en forma explcita en x entre xk1 = xk h y xk+1 = xk + h. La
expresion
f (x)
fk+1 fk1
(x xk ) +
2h
fk1 2 fk + fk+1 (x xk )2
+ O (x xk )3 + O (x xk )4 (2.2.4)
2
h
2
fk +
La integracion
(x xk )r con r impar da cero.
anterior sobrevive la integracion
del termino
De la expresion
con (x xk )2 , el
5
termino
cubico
da un O(h ) y se obtiene
2h fk +
(2.2.5)
Z b
h
[ f0 + 4 ( f1 + f3 + .. fN1 ) + 2 ( f2 + f4 + .. + fN2) + fN ] + O(h4)
3
(2.2.6)
precisamente es O(h4 f IV )
y el error mas
a
f (x) dx
Viendo la logica
de (2.2.4) y como
conduce a (2.2.6) resulta obvio obtener
precisas para hacer una integral.
expresiones aun mas
de 14 de julio de 2009
version
Metodos
Computacionales en Fsica
Patricio Cordero
/*
"simpson.c"
Programa generico para hacer
la integral de F(x) desde
x=a hasta x=b usando
el metodo de Simpson
double simpson()
{ int k;
double sumaPar,sumaImp,xk;
sumaPar = 0.0;
sumaImp = 0.0;
xk
= a;
for(k=0; k<nu-1; k++)
{
xk
+= h;
sumaImp += F(xk);
xk
+= h;
sumaPar += F(xk);
}
sumaImp = sumaImp + F(xk+h);
sumaPar = 2.0*sumaPar +F(a) +F(b);
return( (4.0*sumaImp + sumaPar)*h/3.0);
}
Autor: anonimo
*/
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define
#define
#define
#define
#define
N
nu
a
b
h
20
(N/2)
0.0 //limite inferior
1.0 //limite superior
((b-a)/N)
double F(double x)
{ return(x*x*x*x);
}
25
main()
{ double inte;
inte = simpson();
printf("integral = %14.11f\n",inte);
}
//Aqui se pone
//integrando F
no uniforme sencilla
2.2.1. Discretizacion
Tanto el metodo
trapezoidal como el de Simpson han sido planteados con
uniforme, pero no es necesario proceder de ese modo. En el
discretizacion
(2.2.2) con un
caso del metodo
trapezoidal se puede tomar cada contribucion
h propio, y la integral es
N1
hk
( fk + fk+1 )
I=
k=0 2
I=
hk
( fk1 + 4 fk + fk+1 )
k=1,3,5... 3
Esta vez la suma va de par en par de intervalos por lo que es necesario sumar
solo sobre ndices impares. El primero es k = 1 y el ultimo
es k = N 1.
2.2.2. Limitaciones
Estos metodos
no debieran o no pueden ser usados en forma directa si:
Universidad de Chile
Y CAMBIO DE VARIABLE
2.3. INTEGRACION
es infinito
- el intevalo de integracion
vara mucho en el intervalo (funcion
- la funcion
con alto contraste)
- hay una divergencia en el intervalo
- ..
2.3.
2.3.1.
y cambio de variable
Integracion
Planteamiento y ejemplos
Z b
f (x) dx
Z g(b)
f (x)
g(a)
g (x)
dy
(2.3.1)
x=g1 (y)
discretizacion
para
inversa g1 .
g(x) es que debemos conocer la funcion
El procedimiento practico
normalmente define una sola vez en la rutina un
x = g1 (y) el que es usado para calcular [ f (x)/g (x)]. Es decir, se genera la
secuencia regular de valores y, con cada uno de ellos se calcula x, y se va
sumando f (x)/g (x).
Al hacer un cambio de variable se debe cuidar que los valores de
f (x)
s(y) =
g (x) x=g1 (y)
(2.3.2)
a) g(x) es monotona
en el intervalo (a, b) original,
b) el nuevo intervalo (g(a), g(b)) es finito
c) el nuevo integrando s(y) debe ser regular y de poco contraste.
de 14 de julio de 2009
version
Metodos
Computacionales en Fsica
Patricio Cordero
27
Como ya se dijo, el cambio de variable equivale a tomar intervalos no regulares en la variable original x. Los puntos regulares yk en la nueva variable
definen puntos xk = g1 (yk ) en el eje original.
metodos
Monte Carlo se podra superar este inconveniente.
Z
0
2 +x
ex
dx
s(x) = ex
la integral que se debe evaluar es
I=
Z 1h
0
2 +2x
ex
x= ln y
dy
Veamos como
suavizar el integrando con el ejemplo
Z 1
f (x) dx
con
f (x) =
1 x2 / 2
e
1.
Se trata de buscar un g(x) apropiado. Puesto que g tiene que tener una forma
Y CAMBIO DE VARIABLE
2.3. INTEGRACION
2.3.2.
dx
x2 (1 + x)
Divergencias en el integrando
del integrando
Metodo
1: regularizacion
Si hay divergencias en el intervalo pero aun as la integral es finita, se debe
tratar separadamente cada parte. Para ello se redefine intervalos de integra que dejan al punto de divergencia en un extremo para pasar a estudiar
cion
la forma de tratar una integral que es divergente en un extremo del intervalo.
Tomemos el caso
Z
b
f (x) dx
I=
con f (0) =
Para abordar este problema suele ser conveniente hacer el cambio de variable
y = g(x) = x , con > 0 porque dy = x 1 dx y
Z b
f (x)
I=
dy
x 1 x=y1/
0
y se debe escoger tal que
lm
f (x)
y0 x 1
sea finito
lentamente
Pero I es no divergente tan solo si f (x) diverge en el origen mas
que 1/x. Entonces definamos , 0 < < 1, tal que
| f (x 0)| <
de 14 de julio de 2009
version
A
x1
Patricio Cordero
Metodos
Computacionales en Fsica
29
dy
x1 x 1 %
0
Z
A h h i
dy
x
0
%
Z h
A
y( )/ dy
(2.3.3)
0
que es convergente si . Se debe escoger un positivo menor o igual a
.
Ejemplo 1: Calcular:
Z 1 1/3
x
0
sin x
dx
Z 1
P(x) ln(x) dx
Z 1
sin(x)
0
dx
1 x2
Metodo
2: tratamiento analtico de la divergencia
Otra forma de tratar integrales que tienen divergencias en el integrando es
tratar en forma analtica el trozo que contiene la divergencia. Por ejemplo,
Z 1
0
Universidad de Chile
dx
(1 x)1/3 x2/3
Escuela de Ingeniera y Ciencias
Derivadas e integrales numericas
dx
(1 x)1/3 x2/3
Z h
dx
0
x2/3
= 3h1/3
2.4.
Z b
f (x)
a
x x0
x0 [a, b]
dx
x x0
dx = P
Z b
f (x)
a
x x0
dx + i f (x0 )
y la parte principal es
P
Z b
f (x)
x x0
dx = lm
h=0
Z
x0 h
f (x)
dx +
x x0
Z b
f (x)
dx
x0 +h x x0
x x0
dx =
Z b
f (x) f (x0 )
a
x x0
dx +
Z b
f (x0 )
a
x x0
dx
(2.4.1)
estandar,
mientras que la segunda integral es
Z b
f (x0 )
a
x x0
dx
=
=
=
b x0
f (x0 ) ln
a x0
b x0
+ ln(1)
f (x0 ) ln
x0 a
b x0
f (x0 ) ln
+ i
x0 a
(2.4.2)
Se ha aislado el termino
i f (x0 ). La labor de obtener numericamente
la par
te principal consiste en evaluar numericamente
la integral I1 utilizando algun
metodo
estandar
y sumarle f (x0 ) ln bx
.
x a
0
de 14 de julio de 2009
version
Patricio Cordero
2.5.
1.
Metodos
Computacionales en Fsica
31
Problemas
xn dx
con n = 3, 4, 5 . . .
viendo cuanto
debe valer N para tener un error de menos del 1 %.
que puede ser N.
Se vera lo sorprendentemente pequeno
b) Trate de obtener un error menor al 1 %.
a integrar y la funcion
que resulc) Puede serle util
graficar la funcion
de cada cambio de variable. De esa manera se puede
ta despues
entender la fuente de los posibles errores.
d) Para el caso x = 10 debe tener cuidado con la forma de evaluar la
Z
0
t x1 et dt
(2.5.1)
que converge para todo x positivo, pese a que para 0 < x < 1 el integrando
tiene una divergencia en t = 0.
anterior, la
Se pide calcular numericamente,
a partir de la definicion
para x = 10 y x = 1/2, valores para los cuales se conocen los resultados
analticos:
(10) = 9! = 362880
(1/2) =
(2.5.2)
(2.5.3)
(trapenumero
de puntos en la discretizacion,
de integracion
zoidal o Simpson), el resultado obtenido y el error cometido respecto al
valor analtico.
3. Calcule numericamente
las integrales
I (1) =
Z
0
I (2) =
Z 1
1+x
0
Universidad de Chile
ex ln x dx
1 x3
1
ln dx
x
Escuela de Ingeniera y Ciencias
Derivadas e integrales numericas
2.5. PROBLEMAS
I IN
< 10n
I
el numero
N de puntos en la discretizacion,
de integracion
(trapezoidal o Simpson, nada superior), el resultado obtenido y el error
numerico
cometido respecto al valor de I. No debe usar el conocimiento analtico de la integral sino su propio criterio para estimar ese error.
Explique y justifique.
Dibuje el integrando f (x) y separadamente el integrando final h(y) =
[ f (x)/g (x)]x=... que haya usado (cada cual es su dominio). Dibujar los
valores IN versus N1 para algunos valores de N.
por partes, ni
Por razones obvias, no se permite recurrir a integracion
hacer algun
truco que permita llevarla a una integral analtica.
fsica. Para muchos efectos la fuerza entre atomos
4. Motivacion
puede ser
tratada exitosamente con el potencial central, llamado de Lennard-Jones,
a 12 a 6
(2.5.4)
V = 4V0
r
r
cuyo valor mnimo es V0 y se anula cuando r coindice con el radio de
Bohr. Una partcula atrapada en este potencial (energa menor que cero),
tiene un movimiento en el intervalo (rmin , rmax ) donde ambos radios son
de Bohr-Sommerfeld
niveles cuanticos
En consiste en exigir la condicion
I
1
p(r)
dr = 2 n +
2
h
con n entero nonegativo. La integral es sobre un ciclo completo de osci El problema se adimensionaliza haciendo las sustituciones
lacion.
E = V0 E ,
de 14 de julio de 2009
version
r = a ,
V0 =
2 h 2
2 a2 m
Patricio Cordero
Metodos
Computacionales en Fsica
33
la funcion
Fn (En ) =
Z max
min
En 4
1
1
12 6
n+
1
2
(2.5.5)
min =
1/6
1/6
2 + 2 n
2 2 n
, max =
1 n
1 n
donde n = 1 + En.
debe ser util
con otros potenciales
El programa que se disene
tambien
V (r).
En la busqueda
Universidad de Chile
de 14 de julio de 2009
version
2.5. PROBLEMAS
Captulo 3
Ecuaciones diferenciales
ordinarias
3.1.
El problema de resolver
d2g
= F( , g, g )
d 2
(3.1.1)
+
dg
d
dy2
d
g
y2
de borde
alguna condicion
(3.1.2)
(3.1.3)
~f =
y2
F
= y2
= F( ; (g, y2 ))
(3.1.4)
(3.1.5)
d~v
1
= ~F
dt
m
(3.1.6)
A continuacion
para atacar (3.1.2).
3.1.1.
Metodo
directo simple (de Euler)
Este metodo
consiste en plantear (3.1.2) en la forma
h
yn+1 yn
O
y = fn
yn+1 =
h
2
y de aqu definir la recurrencia
yn+1 = yn + h fn + O(h2)
(3.1.7)
(3.1.8)
= yn1 + n1 + 2h f (n , yn + n )
f (n , yn )
n
= yn1 + n1 + 2h f (n , yn ) +
y
(3.1.9)
de donde
f (n , yn )
(3.1.10)
n
y
que da la forma como se propaga el error. Si la funcion
f
que es la ecuacion
no es muy sensible a y se puede razonar suponiendo que es constante y en tal
se puede resolver
caso se trabaja con n+1 = n1 + 2 n . Esta ultima
ecuacion
suponiendo que
n = 0 n
p
2
porque (3.1.10) se recuce a 2 1 = 0 que da las raices = 1 + 2
y entonces
n = A +n + B n
(3.1.11)
n+1 = n1 + 2h
Es decir, el metodo
es incondicionalmente inestable y no sirve.
de 14 de julio de 2009
version
Patricio Cordero
Metodos
Computacionales en Fsica
37
3.1.2. Metodo
implcito
(3.1.2) se plantea
La ecuacion
dy
= f n+ 1 , yn+ 1
2
2
d n+ 1
(3.1.12)
2 h2
+ O(h2 ) =
yn+1 yn
h
(3.1.13)
h
( fn + fn+1) + O(h3 )
2
(3.1.14)
La incognita,
yn+1 aparece en ambos lados, por tanto, en cada paso de itera se debe buscar el cero de la funcion
cion
h
G(z) = z yn [ f (n , yn ) + f (n + h, z)]
2
En forma analoga
a como se proce-
h
yn+1 + n+1 = yn + n + ( f (n , yn + n ) + f (n+1, yn+1 + n+1 )
2
(3.1.15)
(3.1.16)
El ultimo
anterior. Si es
Lo crucial es el signo del parentesis
redondo en la expresion
negativo el error decrece.
es crecienComo se ve, lo que importa es el signo de dy/d . Si la funcion
te, el error crece (aunque puede que porcentualmente crezca menos que la
y si la funcion
decrece el error decrece. El metodo
funcion)
puede funcionar y
puede no funcionar: es condicionalmente estable.
Universidad de Chile
3.1.3.
Metodo
de Runge-Kutta
~k2
~yn+1
h
1
= h ~f (n + ,~yn + ~k1 )
2
2
= ~yn +~k2 + O(h3)
RK2
(3.1.23)
Este metodo
es explcito, el error es orden h3 y puede hacerse estable. La
f debe ser llamada dos veces en cada iteracion.
integracion.
alto orden.
Siguiendo un camino semejante se obtiene algoritmos de mas
RK3:
~k1
~k2
~k3
~yn+1
de 14 de julio de 2009
version
h ~f (n ,~yn )
h
1
= h ~f (n + ,~yn + ~k1 )
2
2
= h ~f (n + h,~yn ~k1 + 2~k2)
1
= ~yn + ~k1 + 4~k2 +~k3 + O(h4 )
6
(3.1.24)
Metodos
Computacionales en Fsica
Patricio Cordero
/*
Runge Kutta 4 para
sistema 1D newtoniano
*/
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define h
...
#define h2
h*h
#define iiMAX
...
double
double
double
y[2], /* y0=x
y1=vx */
f[2]; /* f0=vx f1=ax */
k1[2],k2[2],k3[2],k4[2];
t;
void Inic()
{ y[0] = ...;/* x inic */
y[1] = ...;/* v inic */
t
= 0.0;
}
void efe(double t,
double posic, double vel)
{double x;
f[0] = vel;
x
= y[0];
...
f[1] = ..;/* aqui fuerza/m */
}
void cal_k1()
{ efe(t,y[0],y[1]);
k1[0] = h*f[0];
k1[1] = h*f[1];
}
39
void cal_k2()
{ efe(t+0.5*h,y[0]+0.5*k1[0],
y[1]+0.5*k1[1]);
k2[0] = h*f[0];
k2[1] = h*f[1];
}
void cal_k3()
{ efe(t+0.5*h,y[0]+0.5*k2[0],
y[1]+0.5*k2[1]);
k3[0] = h*f[0];
k3[1] = h*f[1];
}
void cal_k4()
{ efe(t+h, y[0]+k3[0], y[1]+k3[1]);
k4[0] = h*f[0];
k4[1] = h*f[1];
}
void Itera()
{ long ii;
for(ii=0;ii<iiMAX;ii++)
{ cal_k1();
cal_k2();
cal_k3();
cal_k4();
y[0] +=(k1[0]+2.0*k2[0]
+2.0*k3[0]+k4[0])/6.0;
y[1] +=(k1[1]+2.0*k2[1]
+2.0*k3[1]+k4[1])/6.0;
t
= t + h;
}
}
main()
{Inic();
Itera();
}
RK4:
~k1
~k2
~k3
~k4
~yn+1
= h ~f (n ,~yn )
h
1
= h ~f (n + ,~yn + ~k1 )
2
2
h
1~
~
= h f (n + ,~yn + k2 )
2
2
= h ~f (n + h,~yn +~k3 )
1
= ~yn + ~k1 + 2~k2 + 2~k3 +~k4 + O(h5 )
6
(3.1.25)
3.1.4.
Estabilidad de RK4
de f que, genericamente
es y, obtieniendose
k1
k2
k3
=
=
k4
h yn
1
h
h yn + k1 = h 1 + yn
2
2
h
h
h yn + 1 + yn
2
2
h
h
h 1+ 1+
yn
2
2
h
h
yn
h 1 + h 1 + 1 +
2
2
(3.1.26)
para yn+1 y escribiendo yn+1 = yn+1 + n+1 y siAl reemplazar estos valores en la expresion
exacta de la ecuacion
discreta, se obtiene
milarmente yn = yn + n (donde los y son la solucion
que
n+1
(h )2 (h )3 (h )4
+
+
(3.1.27)
= 1 + h +
n
2
6
24
Para que haya estabilidad este cuociente tiene que tener un valor absoluto menor que 1 y puede
comprobarse que esto requiere que
2,7853 < h < 0
Por ejemplo, si = 1 entonces la estabilidad esta garantizada con 0 < h < 2,7853, que da un
absolutamente estable aun cuando, si h no es pequeno,
3.2.
3.2.1.
Integradores multipaso
Presentacion
generica
Nuevamente considerese
la ecuacion
y = f ( , y)
de 14 de julio de 2009
version
(3.2.1)
Metodos
Computacionales en Fsica
Patricio Cordero
41
Z n+1
n
f ( , y( )) d
| {z }
(3.2.2)
F( )
se basan en la prediccion
Los metodos
AB que se discuten a continuacion
del valor de F en el intervalo que se requiere en (3.2.2) usando como informa valores anteriores: Fn , Fn1 . . .
cion
que F( ) = a + b y que exige que tal exSi se toma como aproximacion
sea valida
presion
en = n1 y en = n se obtiene
F( ) =
+ n
n1
Fn1 +
Fn + O(h2 )
h
h
(3.2.3)
F d = h
1
3
Fn Fn1 + O(h2)
2
2
(3.2.4)
Es decir, se usa el conocimiento de F en (n1 , n ) para extrapolar al interva descrita. Esta extrapolacion
conduce al
lo (n , n+1 ) y hacer la integral recien
integrador AB3,
yn+1 = yn +
h
(3 Fn Fn1) + O(h3 )
2
AB3
(3.2.5)
comportamiento de la funcion.
Universidad de Chile
versiones mas
precisas. En la que sigue se aproxima F =
A continuacion,
a 2 + b + c y los coeficientes (a, b, c) se determinan exigiendo que den los
valores Fn2 , Fn1 y Fn . Una vez que se tiene tales coeficientes se tiene una
forma cuadratica
para F que se integra en el intervalo (n , n+1 ). Finalmente se
obtiene:
yn+1 = yn +
h
(23Fn 16Fn1 + 5Fn2) + O(h4)
12
AB4
(3.2.6)
yn+1 = yn +
h
(55Fn 59Fn1 + 37Fn2 9Fn3) + O(h5)
24
AB5 (3.2.7)
y rapidos
Metodos
Computacionales en Fsica
Patricio Cordero
43
de un pendulo
En este caso se estima fn+1 y en el caso AM3 se usa tan solo n y n+1 .
AM3:
Se toma
F( ) =
n+1
n
Fn +
Fn+1 + O(h2 )
h
h
Fn + Fn+1
h + O(h3)
2
por lo cual
h
yn+1 = yn + (Fn + Fn+1) + O(h3)
2
Universidad de Chile
AM3
(3.2.8)
Este es un metodo
implcito y es equivalente a alguno de lo metodos
que ya
se haba visto. Para determinar yn+1 se debe buscar el cero de
h
G(z) = yn + (Fn + f (n+1 , z)) z
2
G(yn+1 ) = 0.
Por definicion
h
(5Fn+1 + 8Fn Fn1) + O(h4 )
12
y entonces
yn+1 = yn +
h
(5Fn+1 + 8Fn Fn1) + O(h4)
12
AM4
(3.2.9)
con la informacion
yn+1 = yn +
h
(9Fn+1 + 19Fn 5Fn1 + Fn2) + O(h5 )
24
AM5
(3.2.10)
metodos
como el de la secante y eso conlleva un riesgo. Pero en lo que sigue se muestra una variante muy exitosa.
3.2.4.
Metodo
predictor-corrector
Este metodo
consiste en mezclar metodos
explcito y otro implcito del mismo orden.
mas
sencilla de predictor-corrector es la regla trapezoidal de
La version
Nystrom que se puede enunciar como sigue:
(P)
En el metodo
general de esta serie y que hace uso de los algoritmos AB y
AM se procede como sigue:
(P)
de puntos anteriores;
P: Usando AB se obtiene yn+1 a partir de la informacion
de 14 de julio de 2009
version
Metodos
Computacionales en Fsica
Patricio Cordero
45
(E)
E: el ultimo
(C)
C: el ultimo
3.3.
Predictor-corrector de Gear
= rn
=
=
=
h
+
2 an
h2
+ 2 2 an
h2
2 an
+ h vn
hvn
+
+
+
h3
6 bn
3
3 h6 bn
3
3 h6 bn
h6
6 bn
(3.3.1)
Con los actuales valores en rn+1 y vn+1 se puede calcular un valor corregido
acn+1, lo que define un error
h2 c
an+1 an+1
2
En el calculo
de acn+1 es el unico
C.W. Gear (en trabajos de 1966 y 1971) determino los valores optimos
para
5
6
c=
1
(3.3.3)
1
3
Universidad de Chile
3.4. METODOS
DE VERLET Y VARIACIONES
Al reves
predictor multipaso vistos antes, este
determina directamente los valores en n + 1 conociendo los valores en n.
3.4.
Metodos
de Verlet y variaciones
(3.4.1)
3.4.1.
Propiamente Verlet
(3.4.1) se discretiza,
La ecuacion
xn+1 2xn + xn1
+ O(h2) = an
h2
con lo cual,
xn+1 = 2xn xn1 + h2 an + O(h4)
se evalua a una sola vez y el error es orden
En cada iteracion
no aparece.
(3.4.2)
h4 .
La velocidad
Las iteraciones son (xn1 , xn ) xn+1 , pero si las condiciones iniciales son
x0 y v0 se puede integrar con RK4 desde x0 hasta x1 y luego se procede con
3
2
(3.4.2) o bien usando x(h) = x(0) + h v(0) + h2 a(0) + h6 a (0).
es la misma,
Notese
que igualmente se puede despejar xn1 y la ecuacion
es decir, el algoritmo es reversible en el tiempo.
Para evaluar la velocidad se puede hacer
vn =
xn+1 xn1
+ O(h2)
2h
(3.4.3)
grandes
(orden 1), 2xn xn1 , se le suma una cantidad de segundo orden, h2 an . Para
Patricio Cordero
Metodos
Computacionales en Fsica
47
r
r3
ax
ay
x[2]
y[2]
=
=
=
=
=
=
sqrt(xx*xx + yy*yy);
r*r*r;
-xx/r3;
-yy/r3;
2.0*xx - x[0] + h2*ax;
2.0*yy - y[0] + h2*ay;
}
void Itera()
{ii = 0;
do
{if(ii%10==0)
fprintf(archivo,"%9.6f %9.6f %9.6f\n",
h*ii,x[1],y[1]);
Verlet();
ii++;
x[0] = x[1]; y[0] = y[1];
x[1] = x[2]; y[1] = y[2];
}while(ii<largo || fabs(x[1]-4.0)>0.1);
}
main()
{ Inic();
archivo = fopen("orbita.dat","wt");
Itera();
fclose(archivo);
}
armonica,
a(x) = 2 x
a (x) = 2
entonces
n+1 2 (1 R) n + n1 = 0
Universidad de Chile
(3.4.5)
3.4. METODOS
DE VERLET Y VARIACIONES
Im
+
2 2(1 R) + 1 = 0
(3.4.6)
Re
(3.4.7)
Si R = 1 entonces = i.
Si R = 2 entonces = 1.
Si R entonces = 1 R R
= .
que + = 0 y que
1 R2 concluyendose
En resumen, cuando R crece desde cero hasta infinito, + recorre primero la semicircunferiencia Im > 0 unitaria del plano complejo y luego avanza
desde + = 1 hasta + = 0 mientras que recorre primero la semicircunferiencia Im < 0 unitaria del plano complejo y luego avanza desde = 1
hasta = .
Si R 2 se tiene | | = 1 que garantiza estabilidad, mientras que R > 2
implica | | > 1 que garantiza inestabilidad.
Puesto que R =
h2 2
2 ,
R 2 corresponde a
la condicion
h
y si se reemplaza =
2
T
es
entonces la condicion
(3.4.8)
de 14 de julio de 2009
version
Metodos
Computacionales en Fsica
Patricio Cordero
3.5.
49
Algoritmos simplecticos
del problema
3.5.1. Formulacion
Las ecuaciones de movimiento de un sistema conservativo de N partculas
puede escribirse en la forma
d
dt
~ra
~va
~va
~fa
(3.5.1)
~ra
~va
(3.5.2)
=L
~ra
~va
(3.5.3)
(3.5.4)
(3.5.5)
(donde A = a ~va ra y B = a ~fa va ) porque en tal caso el operador e A ac sobre los vectores posicion,
es una simple traslacion
de la posicion,
tua solo
sobre los vectores velocidad y es una
mientras que el operador e B actua solo
de velocidades, es decir,
traslacion
e A
~ra
~va
~ra + ~va
~va
e B
~ra
~va
~ra
~va + ~fa
(3.5.6)
e (A+B)+O( ) = e 2 B e A e 2 B
3
Universidad de Chile
(3.5.7)
3.5. ALGORITMOS SIMPLECTICOS
3.5.2.
del algoritmo O( 3)
Construccion
rn+1
vn+1
=e
rn+1
vn+ 1
2
rn + vn + 2 fn
vn + 2 ( fn + fn+1 )
2
3.5.3.
El jacobiano asociado
2
fn
2
xn+1
= rn + vn +
vn+1
= vn + ( fn + fn+1 )
2
(3.5.8)
Se comprueba que
xn+1
xn
xn+1
vn
vn+1
xn
vn+1
vn
1+
2 fn
2 xn
fn fn+1 xn+1
=
+
xn xn+1 xn
fn+1 xn+1
= 1+
2 xn+1 vn
de 14 de julio de 2009
version
=1
xn vn
vn xn
Patricio Cordero
Metodos
Computacionales en Fsica
51
3.5.4. Leapfrog
El problema se plantea como
vn+ 1
2
= vn 1 + h an
xn+1
= xn + h vn+ 1
(3.5.9)
2
Este metodo
es ampliamente usado por su reconocida confiabilidad.
alto orden
3.5.5. Algoritmos simplecticos
de mas
alto
Un teorema nos dice como construir algoritmos simplecticos
de mas
orden. Una familia de ellos toman la forma
e(A+B) +O(
n+1 )
= ea j A eb j B ,
aqu se define n
(3.5.10)
j=1
Esta forma general es muy importante porque es trivial demostrar que una
de posicion
sin trasladar las velocidades o vice versa es una transtraslacion
r ,~v )
con Jacobiano unitario: det (~(~
formacion
r,~v ) = 1. Esta propiedad es necesaria
y suficiente para que se conserve el volumen del espacio de fase, que es una
propiedad basica
de las evoluciones hamiltoneanas.
Los coeficientes {a j , b j } se determinan exigiendo dos condiciones: que n
sea maximal (es decir, minimizando el error por truncamiento) y que haya in temporal. La primera exigencia se traduce en muchas
variancia a la inversion
condiciones dependiendo del valor de N. De todas esas condiciones la que
siempre se debe cumplir es
aj = 1,
bj = 1
1
(3.5.11)
FINAL
3.6. RECOMENDACION
3.6.
final
Recomendacion
algoritmos simplecticos.
3.7.
Problemas
de un oscilador armonico
1. Considere la ecuacion
forzado
x + 2 x = A sin (kx t)
(3.7.1)
un campo magnetico
uniforme a lo largo del eje Z al que se superpone
una electrostatica
plana que se propaga a lo largo del eje X. Ver Physcis
es
Today de noviembre 1988, p27. Esencialmente la misma ecuacion
en Physics Today, marzo 1987, p9.
mencionada tambien
de la ecuacion
de van der Pol
2. Integrar la evolucion
x = (1 x2) x x
(3.7.2)
un termino
(3.7.3)
Patricio Cordero
Metodos
Computacionales en Fsica
53
ecuacion
es
+ + 02 sin =
(2 )2 A
cos(2 t)
L
de la frecuencia
amplitud angular asintotica
(t ) como funcion
en el rango: 0,9 1,1 con = 0,001. (Amplitud angular es el
valor maximo
que toma (t)).
b) Tome A = 0,3m, = 0,4seg1 , (0) = 0 y = 3seg1 . Obtenga la evo de tanto cuando (0) esta alrededor de 10o como cuando
lucion
esta alrededor de 170o.
orbita
en el caso
~a = k1~r k2 r2~r
(3.7.4)
y tome k1 = 1, k2 = 0,05 y c = 0,1. Use condiciones iniciales (x = 4,0, y =
(r R) x
r
(r R) y
k
g
r
dibuje x(t), y(t) y y(x). Compruebe que usando un dt varias veces mas
Cual de
chico ambos algoritmos dan esencialmente la misma solucion.
cerca de la solucion
mas
prelas dos soluciones originales estaba mas
cisa?
Universidad de Chile
3.7. PROBLEMAS
7. Integre la ecuacion
= ~r
~r(t)
r3
directamente en coordenadas cartesianas (x(t), y(t)) usando como condiciones iniciales:
~r (0) = 2
~v (0) = 0,1 j
alla de completar una vuelta
En todos los casos integre hasta poco mas
y dibujando la orbita
en el plano (x, y) usando N 5 000 aun cuando el
resultado sea insatisfactorio.
Convierta las ecuaciones a un sistema de primer orden e integre usando
RK4.
de una cadena uni8. Para obtener el algoritmo para integrar la evolucion
dimensional de N osciladores amortiguados usando Verlet se comienza
con las ecuaciones de movimiento del sistema conservativo. El lagrangeano del sistema (naturalmente sin amortiguar) es
N
L=
N
m q2a
k
2 2 (qa+1 qa)2
a=0
a=1
(3.7.5)
Aqu los qa son las desviaciones del punto de equilibrio de cada oscilador.
de movimiento generica
La ecuacion
es m qa = k (qa+1 + qa1 2qa) de
la ecuacion
queda m qa = k (qa+1 + qa1 2qa)
ah que si se agrega amortiguacion
c qa o equivalentemente
qa = 2 (qa+1 + qa1 2qa) qa
(3.7.6)
n1
qn+1
a qa
2
(3.7.7)
(3.7.8)
Patricio Cordero
Metodos
Computacionales en Fsica
55
semejamte al ya usado.
y usted debe discretizarla siguiendo un patron
Considere a = 0, 1, .,500, es decir, 501 puntos, donde A = 250, 12 = 2,
22 = 1 y = 0,008. El punto a = 0 satisface q0 (t) = sin t tan solo si t 2 ,
de eso permanece cero para siempre. Tome = 0,1. El punto
despues
a = 500 esta siempre quieto. De modo que lo que se debe evolucionar
inicial es qa = 0, qa = 0.
son las partculas a = 1, 2, . . . , 499. La condicion
debil
o de puntos el estado del sistema unos 4
solida
y con lnea mas
Universidad de Chile
de 14 de julio de 2009
version
3.7. PROBLEMAS
Captulo 4
Problemas de condiciones
de borde y problemas de
autovalores
4.1.
Introduccion
(4.1.1)
real. Cuando k2
donde S(x) es un termino
inhomogeneo
y k2 es una funcion
de la ecuacion
homogenea
es positivo la solucion
(esto es, con S = 0) son
oscilantes con numero
y si se hace la sustitucion
V (r) = (r)/r se llega a
d 2
= 4 r
dr2
(4.1.3)
+
k
(r)
R
=
0
,
k
(r)
=
V
(r)
dr2
2m r2
h 2
57
4.2.
El algoritmo de Numerov
(4.2.1)
yIV
n
=
=
d2 2
k y + S n
2
dx
(k2 y)n+1 2(k2y)n + (k2 y)n1
h2
Sn+1 2Sn + Sn1
+
+ O(h2 )
h2
(4.2.2)
para yIV
para la segunda derivada que da la
Esta expresion
n y la expresion
original, (4.1.1) se sustituyen en (4.2.1) y se reordena, obteniendose
ecuacion
basica
la expresion
para el algoritmo de Numerov:
h2 2
5h2 2
h2 2
1 + kn+1
yn+1 2 1
yn1
kn yn + 1 + kn1
12
12
12
=
h2
(Sn+1 + 10Sn + Sn1) + O(h6)
12
(4.2.3)
relacion
las funciones k2 y S
con un error O(h6 ). Notese
que en cada paso de iteracion
son llamadas una sola vez.
de 14 de julio de 2009
version
Patricio Cordero
4.3.
Metodos
Computacionales en Fsica
59
(4.3.1)
R
sabe de electrostatica
la forma asintotica
(r ) es V Q/r = 1/r y por tanto
= rV debe tender a 1 en infinito, () = 1.
Este problema se puede intentar resolver en la forma
n+1 = 2n n1 +
h2
(Sn+1 + 10Sn + Sn1)
12
(4.3.2)
En el
table incorporar caractersticas de la solucion general de la ecuacion.
homogenea
(r) = p (r) +
m p(rmax )
r
rmax
(4.3.3)
as es automatico
que (0) = 0 y que (rmax ) = m . En resumen, se integra im numerica,
poniendo tan solo p (0) = 0 y una vez que se tiene esta solucion
que
llamamos p , se calcula usando (4.3.3). Los valores que toma p dependen
del valor arbitrario inicialmente dado a (h), pero ese efecto es borrado al usar
tiene sentido tan solo porque la
(4.3.3). La forma lineal de reparar la solucion
la condicion
homogenea,
yh (x) que en x = a satisfaga yh (a) = 0. Con y e yh se construye la
y(x) buscada utilizando la expresion
funcion
y(x) = y(x)
+
yb y(b)
yh (x)
yh (b)
(4.3.4)
de la ecuacion
cion
y una solucion
de la ecuacion
lineal original.
homogenea,
lo que garantiza que y es solucion
En los casos en que b = se debe escoger un xmax . En tales casos es
anterior. Lo mas
analtico de
descrito por una funcion
yasint e imponer que y(xmax ) = yasint (xmax ).
la solucion,
Por ejemplo, resolviendo (4.3.1), en lugar de tomar m = 1 en (4.3.3) se puede
Patricio Cordero
Metodos
Computacionales en Fsica
61
homogenea
de Green
4.3.2. Uso de funcion
Este es un caso que hace uso marginal del algoritmo de Numerov, pero
se intercala por ser otra forma de atacar algunos problemas de condiciones
homogenea
Z
0
G(x, x ) S(x ) dx
(4.3.5)
(4.3.6)
De esta ultima
expresion
homogenea.
Ademas
dG
dG
=1
(4.3.7)
dx x=x +
dx x=x
homogenea
la ecuacion
se pueden hacer usando el algoritmo de Numerov.
de borde.
Notese
que en ambas se usa una sola condicion
Si se define W = y (x) y+ (x) y+ (x) y (x) es directo demostrar, usando que
homogenea,
= y (x) y+ (x )
= y+ (x) y (x )
(4.3.9)
Si x 6= x tambien
porque los
y la satisfacen. Finalmente, gracias a (4.3.8), se puede comprobar que esta
G satisface (4.3.7). En resumen, la funcion
G definida en (4.3.9), es la
funcion
de Green buscada y por tanto
funcion
y(x) = y+ (x)
Z x
0
y (x ) S(x ) dx + y (x)
Z
x
y+ (x ) S(x ) dx
(4.3.10)
4.4.
Problemas de autovalores
4.4.1.
= k2
(0) = (1) = 0
(4.4.1)
de la funcion
es arbitrario y los
En este tipo de problemas la normalizacion
valores posibles de k2 deben ser determinados.
sencillo porque k2 es consEn este caso el algoritmo de Numerov es mas
tante,
(hk)2
(hk)2
5(hk)2
n+1 2 1
n + 1 +
n1 = 0
1+
(4.4.2)
12
12
12
que se puede reescribir como
n+1 = n1 +
24 10 (hk)2
n
12 + (hk)2
(4.4.3)
Patricio Cordero
Metodos
Computacionales en Fsica
63
de Schrodinger
estados
4.4.2. Ecuacion
en una dimension:
ligados
de Schrodinger
Para el caso de estados ligados existe un rango finito (xizq , xder ) fuera del
de interes
decae exponencialmente.
cual E < V (x), es decir k2 < 0 y la solucion
tambien
admite una solucion
exponencialPero fuera de (xizq , xder ) la ecuacion
mente creciente.
Los lmites (xizq , xder ) de esta zona son los puntos de retorno y el algoritmo
general crece exponencialmente fuera
debe abordar el hecho que la solucion
de las fronteras definidas por los puntos de retorno: (xizq , xder ). Un problema
de este tipo no puede ser simplemente integrado de izquierda a derecha o
vice versa porque inevitablemente los errores de redondeo haran aparecer
exponencialmente creciente y ninguna rutina de reparacion
sera
la solucion
confiable.
Para evitar esto se integra desde algun
punto xmin a la izquierda de xizq
alla de algun
tamientos asintoticos
de a ambos lados y hacer uso de ellos.
x
izq
x
der
a
Esto garantiza que en el punto de empalme n = e haya un valor [e] comun
ambas funciones.
Universidad de Chile
se obtiene definiendo
La segunda condicion
F(E) =
D [e + 1] D[e 1] I [e + 1] I [e 1]
h [e]
h [e]
(4.4.6)
y con una rutina secante se puede buscar los ceros de F(E). Ellos son los
autovalores del problema de estados ligados.
anterior de F(E) corresponde a una definicion
particular de
La definicion
mas
precisa para la
la derivada en xe . Si se escoge utilizar una expresion
puntos a la derecha de n = e y
derivada es necesario integrar I por mas
lo propio para D hacia la izquierda.
En resumen:
1. Se escoge un valor semilla para E y un valor dE
2. Se calcula xizq y xder . Con ellos se escogen (xmin , xmax ), se escoge el valor
entre el ndice disde N y se calcula h = (xmax xmin )/N. La asociacion
el punto del discreto que
creto n y x es x = xmin + n h. Se escoge tambien
se usara para el empalme, n = e, el que debiera estar entre los puntos de
retorno o coincidir con uno de ellos.
3. Se integra I desde n = 0 hasta n = e + 1; se integra D desde n = N
hasta e 1.
4. Se renormaliza I utilizando (4.4.5) con lo que se logra que ellas compartan un valor comun
[e].
5. Se calcula F(E)
6. Se define nuevo E E + dE y se repite lo anterior hasta que F(E) cambie
de signo.
7. Se ingresa a la rutina secante que terminara por encontrar un valor de
E tal que F(E) sea nulo, es decir, un valor de E para el cual la derivada
en xe sea continua.
4.4.3.
de Schrodinger
Ecuacion
radial
de Schrodinger
+
k
(r)
R
=
0
,
k
(r)
=
V
(r)
(4.4.7)
dr2
2m r2
h 2
de 14 de julio de 2009
version
Patricio Cordero
Metodos
Computacionales en Fsica
80
65
"morse1.dat" u 1:(40*$2)
"" u 1:3
A diferencia del caso unidimen60
"" u 1:4
radial se anusional, aca la funcion
0
40
la en el origen salvo que el potencial
rapido
20
diverga mas
que r2 . Tal como antes se busca un punto de em0
palme, de modo que se integra des-20
alla del
de r = 0 hasta un punto mas
de empalme y, por otro lado se inte-40
0
1
2
3
4
5
6
gra hacia la izquierda desde un punto
de onda del primer estado excitado de
Funcion
lejano que hace el papel de infinito.
El proceso de hacer el empalme es un potencial de Morse.
igual que antes: se exige continuidad
de R y de R en el punto de empalme, lo que determina el espectro de autovalores y autofunciones.
6
12
2
=E
r
r
util
saber que la ecuacion
R =
a2
R
r12
R exp
donde =
n2
2
1
rn
y n > 2 puede
2a
n2 .
La integracion
en
4.5.
4.5. PROBLEMAS
Problemas
1. Obtenga numericamente
las funciones propias normalizadas y los valores propios asociados al potencial
V (x) =
x4 16
1 + 4 x6
con 0 x y con V = 5 ex .
de 14 de julio de 2009
version
Captulo 5
La pregunta mas
generar una secuencia de numeros
5.1.
Numeros
aleatorios r U(0, 1)
aleato
rios. Lo que interesa en metodos
computacionales es generar una secuencia
de numeros
(enteros o reales), {x0 , x1 , x2 , . . .} que pueda ser considerada aleatoria. El concepto de aleatoriedad, sin embargo, es sutil y en muchas de sus
aleatorios realmente es la secuenaplicaciones interesa poder decidir cuan
cia que se construye. No existen medidores universales de aleatoriedad sino
ciertos criterios reconocidos como condiciones necesarias que las secuencias
deben satisfacer. Existe una amplia literatura sobre el tema. Para fines introductorios basta con estudiar los criterios que se encuentran en Numerical Recipies. En lo que sigue no nos ocuparemos de estos problemas y aceptaremos
el generador de numeros
aleatorios r
uniformemente distribuidos en el intervalo (0, 1). Para no tener que usar la
numeros
expresion
(5.1.1)
(5.1.2)
la que satisface r U(a, b). Una sencilla rutina r U(0, 1) para usar con el
lenguaje C es drand48().
A un generador de numeros
5.2.
5.2.1.
Densidades de probabilidad
y el promedio discreto
Distribucion
W (x) dx = 1
(5.2.1)
Z b
W (x) h(x) dx
(5.2.2)
2
h2 = h2 W hhiW
(5.2.3)
estandar
1
N
h(x j )
con
j=1
xj W
(5.2.4)
Pero, como
generar la secuencia x j W ?
5.2.2.
Distribuciones relacionadas
de 14 de julio de 2009
version
Patricio Cordero
Metodos
Computacionales en Fsica
Supongamos que se tiene una variable aleatoria x en el intervalo (a, b) gene W (x) y ademas
sea
rada con distribucion
monotona:
dy = g (x) dx
g(b)
y
(5.2.5)
69
g(x)
g(a)
x
a
W (x)
e
W (y) =
g (x) x=g1 (y)
(5.2.6)
correcta. En efecto, si
Es automatico
que W
1 se obtiene
Z g(b)
g(a)
Rb
a
W dx =
e (y) dy = 1
W
(5.2.7)
implica que si se
en el intervalo [a = g1 (0), b = g1 (1)]. Esta ultima
relacion
g(x) definida por
conoce W (x), la funcion
g(x) =
Z x
a
Universidad de Chile
W (x ) dx
(5.2.8)
g(b) = 1
g1 (y)
Este metodo
es de uso limitado
porque para poder aplicarlo se requiere tanto poder calcular g(x) =
Rx
g(x)
g(a) = 0
a
2 c c2 /T
e
T
c>0
con
Rc
0
y = g(c) = 1 ec
(5.2.9)
W (c ) dc es
/T
o equivalentemente
c = g1 (y) =
T ln(1 y)
5.2.4.
El caso de n variables
El razonamiento recien
ser generalizado a n variables. Se tiene un n-uplo de variables aleatorias, X = {x1 , . . . , xn } en un domi W (X). Ademas
se tiene una funcion
X Y invertible,
nio VX con distribucion
en el dominio VY = G(VX ). La
Y = G(X), donde las nuevas variables Y estan,
e (Y ) para las variables Y y ambas
G induce una distribucion
W
transformacion
distribuciones se relacionan por
e (Y ) = W (X)
W
J(Y ; X) X=G1 (Y )
donde J(Y ; X) es el Jacobiano J = det [ G(X)/ X]. Esto es as porque
de 14 de julio de 2009
version
e (Y ) dY = W
e (Y ) J(Y ; X) dX = W (X) dX
W
Patricio Cordero
Metodos
Computacionales en Fsica
71
una distribucion
W (X) = J(Y ; X)
(5.2.10)
El metodo
visto en 5.2.3 no se puede aplicar en forma directa cuando se
gaussiana
quiere generar una secuencia {x j } segun
la distribucion
W (x) =
2
1
2
e(xa) /2
2
(5.2.11)
Rx
W (x
) dx no puede
x1 = 2 ln y1 cos 2 y2
(5.2.13)
x2 = 2 ln y1 sin 2 y2
MONTE CARLO
5.3. INTEGRACION
Monte Carlo
Integracion
5.3.
5.3.1.
El problema
Z b
f (x) dx
aleatorios.
5.3.2.
Primera forma
Z b
f (x) dx
v
u
ba
1
ba u
f j N t N
N j=1
|
N
f j2
j=1
1
N
{z
f
fj
j=1
!2
(5.3.1)
N de
viacion
intrnseca de f en este intervalo, f , como del tamano
la muestra. Notese
que es necesario cuadruplicar el valor de N para disminuir la incertidumbre a la mitad. Esto contrasta con la regla trapeziodal que
eficiente.
sobre muchas variables, el metodo
Monte Carlo es mas
Monte Carlo es
En resumen, la primera forma de integracion
Z b
a
f (x) dx =
ba
N
f (x j ) + O( N ) ,
j=1
Este metodo
da, por lo general, resul bien pobres, salvo que se
tados mas
N muy granuse muestras de tamano
de o bien f vare poco en el intervalo.
Un punto a favor es que se usa un solo
drand48 y no hay ningun
if.
de 14 de julio de 2009
version
x j U(a, b)
MC1 (5.3.2)
n
= 0;
suma = 0.0;
do { x
= a + (b-a)*drand48();
suma += f(x);
n++;
}while(n<=N}
integral = (b-a)*suma/N;
Metodos
Computacionales en Fsica
Patricio Cordero
73
R
0
sin(x) dx:
res = 0.0;
for(n=0; n<N; n++)
{ x
= PI*drand48();
res += sin(x);
if(n%50==1) /* cada 50 pasos escriba el resultado */
{ intgr = PI*res/(1.0*n);
printf(" %10d %12.8f\n",n,intgr);
}
}
este metodo
da valores razonables. Pero en general se requiere hacer uso de
elaboradas de integracion
Monte Carlo, las que usan valores x j
formas mas
W escogida especialmente.
que provienen de una distribucion
del metodo
riables (e.g., x + y < 1 & x y > 0) se debe encontrar una forma economica de generar puntos uniformemente distribuidos sobre ese dominio y na Normalmente la unica
razonable consiste en generar punda mas.
solucion
grande pero sencillo (e.g.,
tos uniformemente distribuidos en un dominio mas
1 x 1 y 1 y 1) y hacer uso tan solo de los puntos que caen dentro
Mas
MC1 sugiere que
una forma de calcular hhiW es
hhiW =
ba
N
W (x j ) h(x j )
j=1
con
x j U(a, b)
(5.3.3)
MONTE CARLO
5.3. INTEGRACION
5.3.3.
f (x) dx I +
Z b
f (x) dx
| a {z }
con MC1
MC1b
(5.3.4)
D tomando un total de N
Si se quiere calcular una integral en dimenson
deben ser subdivididos en N 1/D inpuntos, los intervalos en cada dimension
h N 1/D . La integral en cada dimension
arroja un error de
tervalos de tamano
5.3.4.
Metodo
explcito
R
de la funcion
en este intervalo
Se desea calcular ab f (x) dx pero la variacion
es muy grande o el intervalo es infinito o ambas cosas a la vez. En tal caso se
w(x)
debe seguir el siguiente metodo
que se basa en escoger una distribucion
tal que h(x) = f (x)/w(x),
=
Z b
f (x) dx
Z b
w(x) h(x) dx
w(x) 0
Z b
en
(a, b)
(5.3.5)
w(x) dx = 1
Z x
a
de 14 de julio de 2009
version
w(x ) dx
g(a) = 0 ,
g(b) = 1
Metodos
Computacionales en Fsica
Patricio Cordero
75
se obtiene que
dy = g (x) dx = w(x) dx
dx =
dy
w(x)
I=
Z 1
1
N
j=1
f (x j )
w(x j )
x j =g
y j U(0, 1)
(y j )
con y j U(0, 1)
x j =g1 (y j )
(5.3.6)
MC2
(5.3.7)
estandar
Este metodo
es exitoso si la desviacion
de los valores e
h(y j ) =
Lo ideal sera escoger w proporcional a f , de tal
[h(x j )]x j =g1 (y j ) es pequena.
modo que h sea tan solo una constante. Esto en general no es posible si se
desea
satisfacer las condiciones de hacer analticamente la integral g(x) =
Rx
inversa g1 .
w dx y de conocer la funcion
En resumen
Z b
f (x) dx
MC2 explicto
Z 1
f (x)
dy
w(x) x=g1 (y)
f (x j )
1
N
w(x j ) x j =g1 (y j )
j
0
con y j U(0, 1)
e
donde g = 0x w y w se escoje para que la funcion
h sea de poco contraste en
el intervalo [0, 1]
e
h(y) =
f (x)
w(x)
x=g1 (y)
w(a x b) 0 ,
Z b
w(x) dx = 1
(5.3.8)
El error en el caso MC2 continua siendo O( f /N 1/2 ). La diferencia esta en que
estandar
MONTE CARLO
5.3. INTEGRACION
R 2 x2
e
dx
0
que se sabe que vale 1 y se escoge w(x) = 1a ex/a . Con este w se obtiene
que
Z x
1 x /a
e
dx = 1 ex/a
y = g(x) =
0 a
que se puede invertir a
relacion
x = a ln(1 y)
Es decir, si la secuencia y j proviene de U(0, 1) entonces x j = a ln(1 y)
se distribuye de acuerdo a w(x) = 1a ex/a . Pero los y j y los 1 y j tienen la
lo que permite escribir
misma distribucion
2
2a
h(x) = ex +x/a ,
2a
j=1
2
2a
e
h(y) = y(1+a ln y)
h 2
i
ex +x/a
x j =a ln(y j )
y j U(0, 1)
Un codigo
posible para ejecutar la estrategia anterior, tomando a = 1, es
res = 0.0;
for(n=0; n<N; n++)
{ y
= drand48();
x
= -log(y);
res = res + exp(-x*x + x);
}
final = 2.0*res/(sqrt(PI)*N);
5.3.5.
F(x)
F(x)
Consideremos una funcion
no negativa en el intervalo (a, b) y
sea F0 un valor mayor o igual al mayor valor de F(x) en el intervalo. En
la figura adjunta se ha dibujado la
curva F(x) en una caja de altura F0
(b R a) F0 y el area
bajo la curva es
I = F dx. Si se lanza puntos al azar
uniforme en la cacon distribucion
ja, la probabilidad que caigan
bajo
R
1
la curva F(x) es p = (ba)
F
dx
y,
F0
computacionalemnte p n1 /n donde n es el total de puntos lanzados y n1 son los que cayeron bajo la curva, lo
de 14 de julio de 2009
version
Metodos
Computacionales en Fsica
Patricio Cordero
77
Z b
a
F(x) dx
n1
(b a) F0
n
(5.3.9)
Se genera un x U(a,b) y un y
R
0
sin x dx.
En el metodo
anterior n1 cuenta los puntos (x, y) que satisfacen y F(x). Es
claro que la probabilidad de que un punto (x, y) sea aceptado es proporcional a
F(x). El costo de cada nuevo punto es llamar dos veces a la funcion
la funcion
hay un if. Comparese
1
N
A(~ri )
i=1
~ri U(V )
(5.3.11)
y U(V ) designa un generador de puntos aleatorios y uniformemente distribui La integral se puede calcular usando una
dos en el volumen V de integracion.
directa de MC1, (5.3.2),
extencion
Z
f (~r ) dV =
V
N
f (~ri ) ,
i=1
~ri U(V )
(5.3.12)
Sin embargo el dominio sobre el cual se quiere hacer la integral puede ser
suficientemente complejo para que no valga la pena calcular su volumen. En
Universidad de Chile
f (~r ) dV =
Vs
N
f (~ri ) ,
~ri U(Vs )
i=1
(5.3.13)
5.3.7.
5.4.
5.4.1.
Mecanica
Estadstica para calcular promedios asociados a sistemas estadsti de 14 de julio de 2009
version
Patricio Cordero
Metodos
Computacionales en Fsica
79
como senala
(5.2.4), se logra con el simple promedio aritmetico
de los valores
generados.
Primero se va a definir el algoritmo de Metropolis y luego se va a argumentar que tiene las propiedades deseadas.
El algoritmo. Se escoge una semilla X0 y se entra en el ciclo que sigue:
a) Se usa receta para generar, a partir de Xn , un X p (el subndice p es por
W (X p )
>r
W (Xn )
then Xn+1 = X p
else
Xn+1 = Xn
(5.4.1)
Si Wp > Wn entonces Wp /Wn es mayor que cualquier r y el nuevo X p es acep probable que Xn .
tado. Es decir, X p es aceptado incondicionalmente si es mas
Si, por el contrario, X p es menos probable que Xn solo a veces X p es aceptado.
5.4.2.
Dn (X) =
{z
ganancia
} |
{z
perdida
P(Y X) Dn (X)
= Dn (Y ) P(X Y )
P(X Y ) Dn (Y )
Y
(5.4.2)
Asintoticamente
se alcanza un estado de equilibrio en el sentido que D(X) ya
esto es, D se anula. La solucion
general que anula el
no evoluciona mas,
(5.4.3)
(5.4.4)
(5.4.5)
Patricio Cordero
Metodos
Computacionales en Fsica
81
puede escribir
Deq (X) AY X
=
Deq (Y ) AXY
(5.4.6)
AXY
AY X
WY
< 1, la
Si WX > WY , es decir W
X
probabilidad de aceptar a Y es
WY
WX , que es el valor superior derecho de la tabla.
WX < WY
1
WX /WY
WY < WX
WY /WX
1
Probabilidad de
aceptar estado Y
(5.4.7)
WY/ WX
En el analisis
anterior se hizo uso de la ya cidada propiedad elemental:
dado un x en el intervalo (0, 1), la probabilidad de que un r U(0, 1) este entre
0 y x es exactamente P = x.
estadstico canonico
de una cantidad que solo depende de las posiciones de
las partculas, A(~ra ) como
hAi =
A(~r N ) eV /(kT )
eV /(kT )
(5.4.8)
donde V = a<b Vab quiere decir la energa potencial total del sistema y la suma
(integral) es sobre los estados configuracionales del sistema. Normalmente lo
Universidad de Chile
anterior es una integral d N ~r sobre todas las posiciones posibles de las partcu
las del sistema. En la practica
la cantidad de estados es un continuo que no
puede ser integrado o es un discreto gigantezco, de modo que lo que se hace es un muestreo del espacio de estados, tal como se hace en la integral
W=
e V
e V
(5.4.9)
V =
Vab
(5.4.10)
a<b
Esta es una suma sobre todos los pares posibles de partculas del sistema. Si
el sistema tiene N partculas, la suma tiene O(N 2 ) sumandos. Para sistemas
medianamente grandes tal suma sera un inconveniente prohibitivo. Pero lo
que interesa es el cuociente Wp /Wn , es decir, interesa calcular V = Vn V p .
los terminos
se cancela identicamente
y queda tan solo aquellos que involucran a la partcula k,
V = V (~ra ~r k ) V(~ra ~rk )
(5.4.11)
Esto hace que ahora la suma tenga O(N) sumandos. Aun esto es demasiado
cero el potencial mas alla de una distancia R0 , es decir, se hace la aproxima V (rab R0 ) = 0. Se dice que R0 es el radio de influencia de cada partcula.
cion
Una vez que se ha escogido el valor de R0 el sistema se divide en celdas cubi
mayor o igual a R0 . De esta manera se logra que cada partcula
cas de tamano
en su propia celda o en alguna de las celsolo interactue con otras que estan
das vecinas. Por cada celda c el programa mantiene una lista Lc con el nombre
de las partculas que hay en c
y cada
de 14 de julio de 2009
version
Patricio Cordero
Metodos
Computacionales en Fsica
83
deja y anotandola
en la nueva. La suma (5.4.11)
se hace tan solo sobre las partculas de las celdas
que corresponda. Esta suma ya no dependen del
N del sistema y se dice que es O(1) precitamano
samente porque no depende de N.
- Monte Carlo Methods in Statistical Physics, M.E.J. Newman & G.T. Barkena, Clarendon Press, Oxford, 1999.
- A guide to Monte Carlo Simulations in Statistical Physics, D.P. Landau, K.
Binder, Cambridge University Press, 2000.
ciertas propiedades. La probabilidad P(X,Y ) de generar el punto Y si se proviene del punto X solo depende de estos dos puntos. En particular no depende
de la historia anterior de la secuencia y debe satisfacer Y P(X,Y ) = 1, es decir, dado un X siempre se produce un Y . La probabilidad P(X, X) puede ser no
nula (en el algoritmo de Metropolis claramente es no nula).
Ergodicidad. Se desea que, sin importar el punto X0 de partida, la secuencia
debe en algun
momento alcanzar todo X que tenga probabilidad no nula. Mas
aun, la frecuencia con que la secuencia visita al punto X debe ser proporcional
a W (X).
Balance detallado. Si se considera la parte de la secuencia que se tiene des de haber llegado al equilibrio, la probabilidad de alcanzar un punto X
pues
debe ser igual a la probabilida de salir de ese punto, en el siguiente sentido:
Y W (X) P(X,Y ) = Y W (Y ) P(Y, X).
restrictivo:
El balance detallado exige algo mas
W (X) P(X,Y ) = W (Y ) P(Y, X)
Aunque no se justificara esta exigencia, ella garantiza que la secuencia efectivamente alcanza un equilibrio y no es atrapada en algun
tipo de ciclo lmite.
En el caso de Metropolis esta propiedad quedo establecida en (5.4.6).
5.4.5.
f (X) dX
n1
f0
=
n
f (X) dX
f (X) dX
n
f0
n1
(5.4.12)
Para que este algoritmo sea efectivo, primero debe correrse un ciclo que ajuste
de X p que termine arrojando una tasa de aceptacion
el criterio de generacion
del orden del 50 %. Solo entonces se comienza a calcular la integral.
de 14 de julio de 2009
version
Patricio Cordero
5.5.
Metodos
Computacionales en Fsica
85
Problemas
se vera como
determinar estados representativos asociados a una cierta
inicial coloque a las partculas desortemperatura. Como configuracion
del sistema
denadamente dentro de la caja de 10 10. La evolucion
se hace en forma aleatoria intentando modificar una sola coordenada a
la vez en la forma znueva = zactual + (0,5 drand48()) y el nuevo valor
se acepta tan solo si la energa disminuye. Conviene aumentar el valor
de (por ejemplo en un 50 %) cuando znueva es aceptado y disminuirlo
de ciclos, donde se
define como ciclo el conjunto de las 37 iteraciones que intentan modificar
cada una de las 37 coordenadas del sistema libres de variar. c Una vez
de las partculas.
que haya obtenido un mnimo de E dibuje la posicion
para Vab .
Interprete el valor de E en base: a este dibujo y a la expresion
2. Calcule la integral
forma f = w h con
R
0
x
3. Compruebe que
I = 1 sin
dx puede calcularse usando y =
x3
1
forma I N j y j sin(1/y j ) con y j U(0, 1).
1
x
en la
5.5. PROBLEMAS
W (x) =
2x
(1 + x2)2
con 0 x
comparacion
se escoge N ? Explique en detalle. Ob el promedio Monte Carlo de ex con respecto a W usando
tenga ademas
los primeros n millones de valores de la secuencia, con n = 1, n = 2 ..
hasta n = 20.
6. Use la funcion
2
2
1
W (x) = 2 e(x1) + 3 e(x+1)
5
para generar con el algoritmo de Metropolis una secuencia {xn } partiendo de x0 escogido a gusto entre -2 y 2 y definiendo x p = xn +
donde U(1, 1) y 6,0 (s, dice 6.0). La literatura dice que un
buen es aquel que implica que aproximadamente la mitad de los x p
drand48() de C inicializada una sola
son aceptados. Use la funcion
vez con srand48(M), y M es un entero cualquiera. Haga un histograma hk (k = 0.,799) de los valores de la secuencia que quepan dentro de
4 x 4, y dibuje 100 h j /n1 comparando con W (x) para 50 mil y 5 millones de iteraciones, donde n1 el el numero
de puntos de la secuencia xn
que cayeron dentro de (4, 4). Por cada punto x que esta en tal intervalo
se puede hacer:
j = (int) (100.0*(4.0 + x));
h[j]++;
n1++;
Patricio Cordero
Metodos
Computacionales en Fsica
87
tes obtenga
tanto la densidad como g(x) usando T = 0,01, T = 0,4, T = 10.
Explique claramente todo lo que haga.
Si j Skl B Si j
(i, j) (k,l)
(i, j)
Se define la magnetizacion
como
M=
Si j
(i, j)
interpretacion
de los
red de tamano N = 50. Ademas, de una pequena
resultados que obtenga e identifique la temperatura crtica.
5.5. PROBLEMAS
o -1). Luego, se relaja el sistema para una temperatura y campo magneti de relajar se promedia
co iguales al punto inicial de la curva. Despues
con esos parametros.
la magnetizacion
Se varan los parametros
y se
inicial el estado final que resulto de la simulacion
anterior. Despues
son similares, el estado de equilibrio debe ser similar) se promedia la
y as sucesivamente.
magnetizacion,
de 14 de julio de 2009
version
Captulo 6
Ecuaciones elpticas
senciEn este captulo y los que siguen se vera tan solo los metodos
mas
llos para integrar ecuaciones a derivadas parciales. Existe una amplia variedad
refinados.
de metodos
mas
6.1.
y condiciones de borde
Ecuacion
de Poisson
Considerese
el sencillo caso bidimensional de una ecuacion
dentro de un dominio en el plano XY , con borde dado por una curva cerrada
2 = G(x, y)
(6.1.1)
(6.1.2)
(6.1.3)
porque a la solucion
que se tenga se le puede agregar una constante arbitraria y sigue siendo una
del mismo problema. Pero una ecuacion
como 2 = G(, x, y) puede
solucion
unica
tener condiciones de borde tipo Neumann en todos lados y tiene solucion
de autovalores (G = k(x, y) ).
excepto que sea una ecuacion
en general se puede tener condiciones de borde mixtas,
Mas
(6.1.4)
Y CONDICIONES DE BORDE
6.1. ECUACION
La derivada
tangente al borde.
(6.1.5)
Integral de accion
6.1.1.
S[]
Definamos la integral de accion
Z
1
2
() + G
S[] = dx dy
2
(6.1.6)
S =
pero
( ) dx dy =
dx dy [ ( ) + G]
( ) dx dy
2 dx dy
(6.1.7)
(6.1.8)
n ds
F
=0
de 14 de julio de 2009
version
Metodos
Computacionales en Fsica
Patricio Cordero
6.2.
91
Discretizacion
en el volumen
6.2.1. Discretizacion
(6.1.1) puede ser discretizada en la forma
La ecuacion
i+1,k 2i,k + i1,k i,k+1 2i,k + i,k1
+
= Gik
h2
h2
(6.2.1)
de recurrencia
De esta ecuacion
una relacion
para ir actualizando los valores de los i,k
i,k
1
i+1,k + i1,k + i,k+1 + i,k1 h2Gik
4
(6.2.2)
Esta relacion
a partir de cualquier conjunto inicial de valores para i,k .
en general se define, en lugar de (6.2.2)
Algo mas
i,k (1 ) i,k +
i+1,k + i1,k + i,k+1 + i,k1 h2 Gik
4
(6.2.3)
(6.2.4)
(i,N)
expresion,
y se obtiene
4i,N1 = i+1,N1 + i1,N1 + {i,N1 + h gi } + i,N2 h2Gi,N1
(6.2.5)
6.2. DISCRETIZACION
el borde,
i+1,N1 + i1,N1 + i,N2 h2Gi,N1 + h gi
3
(6.2.6)
permite actualizar los puntos inmediatos a los bordes. Obtenidos
Esta relacion
ellos se actualiza los puntos del borde mismo con
i,N1 (1 ) i,N1 +
iN = i N1 + h gi
(6.2.7)
En resumen: lejos de los bordes se itera con (6.2.3), al lado de los bordes
se itera con (6.2.6) y los puntos del borde se iteran con (6.2.7).
6.2.3.
Convergencia
en el volumen
Iteracion
(6.2.8)
con terminos
que tienen un ik con ndices fijos:
S
1
1
1
(ik i1 k )2 + + (i+1 k i k )2 + (ik i k1 )2
2
2
2
1
2
2
+ (i k+1 i k ) + h i k Gi k + terminos
sin i k
2
22ik ik i1 k ik i+1 k ik i k1 ik i k+1
+h2 i k Gi k + terminos
sin i k
ik B + terminos
sin i k
(6.2.9)
ik + A
de 14 de julio de 2009
version
(6.2.10)
Patricio Cordero
Metodos
Computacionales en Fsica
93
Notese
que A y B se relacionan por
2ik + B =
4
A
(6.2.11)
= S S
= 2A2 + A (2ik + B)
4A
= 2A2 + A
2 2
= 2
A
( 2) 2
=
(6.2.12)
Si < 0 el ultimo
(6.2.13)
Universidad de Chile
3 ( 2) 2
porque si
tambien
lo es + cte. Basta con fijar arbitrariamente el valor de
es solucion,
6.3.
6.3.1.
+ (~v) = 0
t
~v
+ (~v )~v
= p + 2~v + ~g
t
T
+ (~v ) T = 2 T
t
donde
~v
p
T
~g
= /0
de 14 de julio de 2009
version
(6.3.1)
(6.3.2)
(6.3.3)
densidad
velocidad hidrodinamica
presion
temperatura
viscosidad
de gravedad
aceleracion
conductividad termica
termica
viscosidad cinematica
Patricio Cordero
Metodos
Computacionales en Fsica
95
= (1 (T T0 )) 0
(6.3.4)
= 0
y
= Tb + (Tt Tb )
y1
Tt Tb 2
= g 0 y
y + p0
2 y1
(6.3.5)
corriente, la vorticidad y
6.3.2. Ecuaciones para la funcion
la temperatura
Sin tiempo y densidad uniforme (6.3.1) se convierte en
~v = 0
(6.3.6)
pero todo campo con divergencia nula puede ser expresado como el rotor de
corriente, ,
otro campo, que se denomina funcion
vi = i j j
(6.3.7)
Donde i j es antisimetrico
y 12 = 1 mientras que es un seudovector, lo que
bidimensionalmente lo hace un seudoescalar,
!
u
y
y
~v =
=
=
(6.3.8)
x
v
x
Notese
que esta definido salvo por una constante aditiva. Adicionalemente
se define la vorticidad, esencialmente como el rotor de la velocidad
= i j i v j
= 2
(6.3.9)
.
=
2 T
.
=
Universidad de Chile
y x x y + g Tx
y Tx x Ty
(6.3.10)
(6.3.11)
(6.3.12)
(6.3.13)
(6.3.14)
[ ] = [1/t] ,
[T ] = [m2 /t 2 ] ,
[ ] = [ ] = [2 /t] (6.3.15)
6.3.3.
"
2 2 #
2 2
x2 y2
x y
y
(6.3.16)
Lneas de corriente
d
ds
dx dy
+
x ds y ds
= v x + u y
v
de donde dy
dx = u lo que implica que la velocidad ~v es tangente a la curva . De
aqu que si se desea imponer que en alguna parte la velcidad debe seguir una
lnea especfica, se debe imponer que sea constante sobre esa lnea.
6.3.4.
discreta de y
Version
En terminos
discretos estas componentes se
asocian a los trazos horizonatates y verticales
del reticulado, como lo muestra la figura y
i,k i,k1
h
uik
vik
i,k i1,k
=
h
de 14 de julio de 2009
version
(6.3.17)
v
i,k
i-1,k
i,k
i,k-1
u i,k
Metodos
Computacionales en Fsica
Patricio Cordero
97
ik
u i,k+1
= (uy vx )ik
ui,k+1 ui,k vi+1,k vi,k
v
=
i,k
h
h
ui,k+1 vi+1,k ui,k + vi,k
(6.3.18)
=
h
v
i+1,k
u i,k
En el nunmerador esta la suma de las componentes de la velocidad asociadas
a cada uno de los cuatro lados de la celda, tomando en cuenta el signo segun
6.4.
X y en N2 intervalos
El sistema se discretiza en N1 intervalos en la direccion
Y de tal modo que el intervalo elemental en ambas direcciones
en la direccion
sea sencilla),
es h (tan solo para que la notacion
x = ih
y = kh
i = 0, ..N1 ,
k = 0, ..N2
(6.4.1)
pasa mas
rectanguB
lar EFGH. Para resolver este problema se
impondra ciertas condiciones de borde de
bien
naturaleza fsica y otras que son mas
obstaculo.
Se supondra que el fluido fluye
A
laminarmente desde la izquierda de modo
que en los bordes izquierdo y derecho
Universidad de Chile
=v
y 0
F
=0
G
C
=0
x
x =0
E
=v
y 0
H
=0
6.4. PRIMER EJEMPLO: FLUJO Y OBSTACULO
=0
izquierda y derecha
x
u = y = v 0
arriba y abajo
hidrodinamica
es que la velocidad es cero en los puntos de contacto con un
solido,
es decir, es constante en el permetro EFGH. Puesto que esta definido salvo por una constante aditiva, se toma
=0
en EFGH
Adimensionalizacion:
Sea L una distancia caractarstica L del problema y
se define los campos adimensionales como sigue:
= v0 L
v0
(6.4.2)
Los campos X son adimensionales. Puesto que en todo lo que sigue de este
problema se trata solo con los campos adimensionales no se pondra el acento.
En cambio las pocas veces que se haga referencia a los campos con dimensiones se les sobrepondra una barra: y
(6.3.12) se escribe
La ecuacion
i+1,k 2i,k + i1,k i,k+1 2i,k + i,k1
v0
v0 L
= i,k
+
h2
h2
L
Los factores v0 se cancelan y, si se escoge L = h, no aparece ninguna cons reduciendose
i,k =
1
i+1,k + i1,k + i,k+1 + i,k1 i,k
4
(6.4.3)
Metodos
Computacionales en Fsica
Patricio Cordero
99
en esta expresion
h v0
de Reynolds. Un numero
obstaculo.
0,k = 1,k
(6.4.5)
1,k = (1 )1,k +
(6.4.6)
i,0 = i,1 1
(6.4.7)
i,1 = (1 )i,1 +
(6.4.8)
En forma enteramente
analoga,
en BC se satisface
i,N2 = i,N2 1 + 1
(6.4.9)
y tambien
i,N2 1 = (1 )i,N2 1 +
en forma enteramente
Y tambien
analoga,
en CD se satisface
N1 ,k
N1 1,k
N1 1,k
(6.4.11)
= (1 )N1 1,k +
N1 2,k + N1 1,k+1 + N1 1,k1 N1(6.4.12)
1,k
3
Universidad de Chile
6.4. PRIMER EJEMPLO: FLUJO Y OBSTACULO
0,k
i,0
i,N2
=
=
0
0
izquierda
abajo
arriba
(6.4.13)
de la vorticidad) lo
A la derecha se exige x = 0 (ley de Kelvin de conservacion
que conduce a
(6.4.14)
N1 ,k = N1 1,k
Tomando (6.4.4) con i = N1 1 se obtiene
N1 1,k
4N1 1,k
z}|{
N1 ,k +N1 2,k + N1 1,k+1 + N1 1,k1
R
(N1 ,k N1 2,k )(N1 1,k+1 N1 1,k1 )
+
4
(N1 1,k+1 N1 1,k1 )(N1 ,k N1 2,k )
N1 1,k
(1 )N1 1,k +
N1 2,k + N1 1,k+1 + N1 1,k1
R
(N1 ,k N1 2,k )(N1 1,k+1 N1 1,k1 )
4
(N1 1,k+1 N1 1,k1 )(N1 ,k N1 2,k )
(6.4.15)
de Taylor de
se hace una expansion
de borde para en torno al obstaculo
para un punto (i, k2 + 1) con i1 < i < i2 ,
h2 2
i,k2 +1 = i,k2 + h
+
+ ...
(6.4.16)
y i,k2 2 y2 i,k2
El primer termino
de la derecha es nulo porque es nulo alrededor de
todo el obstaculo.
El segundo es cero porque corresponde a la componente
=
de 14 de julio de 2009
version
2 2
+ 2
x2
y
Patricio Cordero
Metodos
Computacionales en Fsica
entonces sobre FG es
2
y2
101
FG
i,k2 +1 =
h2
2 i,k2
metodos
semejantes):
i,k2
i1 ,k
i2 ,k
i,k1
=
=
=
=
2 i,k2 +1
2 i1 1,k
2 i2 +1,k
2 i,k1 1
FG
EF
GH
HE
(6.4.17)
deben
Las rutinas de integracion
tomar en cuenta con cuidado el ran- N2
go de las variables enteras (i, k). En
L1
la figura se muestra un caso en que
000
111
000
111
000
111
0 i N1 y 0 k N2 . El obstaculo
es K2
U
000
111
000
111
D
000
111
000
111
000
111
un rectangulo
con vertices
opuestos K1
000
111
000
111
000
111
(i1 , k1 ) y (i2 , k2 ). Debe tenerse rutinas
L2
que aplican todas las condiciones de
borde del permetro. En estas rutinas 0
0
I1 I2
N1
debe primero actualizarse los puntos
entoninmediatos al permetro y solo
ces los del permetro mismo. Debe haber otra rutina que aplica las relaciones
6.5.
termica
TERMICA
actual son,
notacion
2
2 T
2
y x x y + g Tx
=
= y Tx x Ty
=
(6.5.1)
(6.5.2)
(6.5.3)
Tt
C
g
dT
=0
dx
dT
=0
dx
Tb
corriente es nula
obstaculo.
La funcion
en todo el permetro.
(6.5.4)
es
El primer termino
es nulo porque es nulo en el borde. El segundo tambien
nulo porque es la segunda componente de la velocidad evaluada en el borde.
Por otro lado, = y u x v pero a lo largo del borde izquierdo u = 0, es decir,
y u = 0, de donde, AD = x v = +xx . Un punto sobre AD es un punto (0, k)
y entonces
2
0,k =
x2 0k
2
=
1k
h2
La ultima
igualdad viene de (6.5.4). En forma semejante se obtiene las condiciones de borde para en los otros tres bordes. Todas ellas son:
2
0,k = 2 1,k ,
h
2
i,N2 = 2 i,N2 1 ,
h
2
i,0 = 2 i,1 ,
h
2
N1 ,k = 2 N1 1,k . (6.5.5)
h
= 1 ,
de 14 de julio de 2009
version
= 2 ,
T = T
(6.5.6)
Metodos
Computacionales en Fsica
Patricio Cordero
103
1
2
h2
1
= k
xk
2h
(6.5.7)
2 f
k f
=
=
2
2
h2
1
2
h2
2 T
h2
1 2
g
i T
(k i i k ) +
4h2
2h
= 2
=
(6.5.8)
1
(k i T i k T )
4h2
sea
Escogiendo 2 = 1 /h2 se logra que la segunda ecuacion
2 =
y ahora las otras dos ecuaciones quedan
2 T
1
g h3
(k i i k ) +
i T
4
21
1
(k i T i k T )
4
Pr
8 Pr Ny3
donde el numero
de Rayleigh es
Ra
L3y g
(6.5.9)
ik
1
i+1,k + i1,k + i,k+1 + i,k1 ik
4
Universidad de Chile
TERMICA
ik
Tik
1
i+1,k + i1,k + i,k+1 + i,k1 i,k+1 i,k1 i+1,k i1,k
4
+ i,k+1 i,k1 i+1,k i1,k Ti+1,k Ti1,k
(6.5.10)
1
Ti+1,k + Ti1,k + Ti,k+1 + Ti,k1
4
+Pr i+1,k i1,k Ti,k+1 Ti,k1 i,k+1 i,k1 Ti+1,k Ti1,k
Puesto que el campo de velocidad en los bordes debe anularse, debe cum
plirse que sea constante en los bordes, y no hay perdida
de generalidad
tomando nula tal constante:
i,0 = 0 ,
i,N2 = 0 ,
0,k = 0 ,
N1 ,k = 0
no hay perdida
tomando
Ti,0 = 1 , Ti,N2 = 0
mientras que a los costados la derivada de T debe ser nula, esto es, T1,k T0,k =
TN1 ,k TN1 1,k = 0. Al usar la formula
0 y tambien
con que se itera T para T1,k
se obtiene al lado derecho un par de T0,k que son reemplazados por T1,k . Esto
0,k = 2 1,k ,
i,N2 = 2 i,N2 1 ,
i,0 = 2 i,1 ,
N1 ,k = 2 N1 1,k .
de 14 de julio de 2009
version
Captulo 7
Ecuaciones parabolicas
7.1.
general
Ecuacion
F
B(t, x, F)
= S(t, x, F)
(7.1.1)
+
t
x
x
tanto con condiciones de borde rgidas como derivativas.
7.2.
Ecuaciones tpicas
T
= 2 T
t
(7.2.1)
2T
T
= 2
t
x
(7.2.2)
Puede pensarse que se trata del problema de una barra muy larga con tem puede verse un caso triperatura T (t, x) que vara en el tiempo. Pero tambien
2
+ S(x,t)
=
t
x2
105
(7.2.3)
DE LA ECUACION
DE DIFUSION
DE CALOR
7.3. ADIMENSIONALIZACION
de Schrodinger
= i H
t
H = 2 + V
(t = 0) = 0 (x) ,
7.3.
(7.2.4)
(t, ) = 0
de la ecuacion
de difuAdimensionalizacion
de calor
sion
t=
L2 t
,
T = T0 T
(7.3.1)
T
2T
=
t
x2
(7.3.2)
explcita directa
Integracion
Tkn+1 Tkn
n 2T n + T n
Tk+1
k
k1
h2
(7.4.1)
n+1
n
k-1
k k+1
condicion de borde
El problema adimensionalizado
anterior se puede escribir en forma
discreta en la forma
condicion de borde
7.4.
que conduce a
condicion inicial
n
n
Tkn+1 = r Tk1
+ (1 2r) Tkn + r Tk+1
(7.4.2)
donde r = h2 . Esta forma de integrar puede dar buenos resultados. En la lite-
no diverge. Sin
ratura se ha demostrado que si 0 < r < 12 esta regla de iteracion
embargo dentro del rango permitido no da resultados muy precisos salvo que
es decir, la integracion
Patricio Cordero
Metodos
Computacionales en Fsica
107
T
=0
n
(7.4.3)
de energa, que
o bien un borde que tiene asociada una tasa de absorcion
en cada punta es
adimensionalizado esta condicion
T
T
= (T Tb ) ,
= (T Tb)
(7.4.4)
x izq
x der
se podra discretizar en la forma
Esta ultima
condicion
T1n T0n
= (T0n Tb )
h
(7.4.5)
(7.4.6)
en un caso concreto.
Este metodo
se usa a continuacion
T
2T
=
t
x2
T (0, x) = 1
T (t, x = 0) = T
T (t, x = 1) = T
(7.4.7)
(7.4.8)
El ultimo
par de condiciones se refiere a una vara que esta radiando por ambas
n
T1n T1
= T0n
2h
Universidad de Chile
(7.4.10)
Escuela de Ingeniera y Ciencias
7.5. EL METODO
TRIDIAGONAL
de iteracion
en k = 0 es
Por otro lado la ecuacion
n
T0n+1 = T0n + r T1n 2 T0n + T1
(7.4.11)
relaciones se obtiene
(7.4.12)
7.5.
7.5.1.
El metodo
tridiagonal
de calor
La ecuacion
T
2T
=
t
x2
con las condiciones de borde rgidas que por el momento se pueden tomar
T (t, 0) = Tizq ,
T (t, 1) = Tder
T (0, x) = g(x)
g(1) = Tder
(7.5.1)
inicial dada.
y g(x) es alguna condicion
En forma discreta las condiciones de borde son
T0n = Tizq ,
n
TN+1
= Tder
(7.5.2)
inicial es la funcion
g(x) que se abreviara,
en notacion
discreta,
y la condicion
como gk ,
Tk0 = gk , con g0 = Tizq , gN+1 = Tder
(7.5.3)
de calor discretizada puede ser escrita como
La ecuacion
"
#
n
n+1
n+1
n+1
n
2Tkn + Tk1
Tkn+1 Tkn
a Tk+1 2Tk + Tk1
2 a Tk+1
=
+
2
h2
2
h2
(7.5.4)
Patricio Cordero
Metodos
Computacionales en Fsica
109
n+1
n+1
n
n
ar Tk1
+2(1+ar)Tkn+1 ar Tk+1
= (2a) rTk1
+2(1(2a) r)Tkn +(2a) rTk+1
(7.5.5)
Este es un problema en que se debe obtener los T n+1 suponiendo que se
anterior puede ser vista de la forma
conoce los T n . La ecuacion
0
+
A
k k1 + Ak k + Ak k+1 = bk
0
De arriba se ve que k = Tkn+1 , A+
k = ar, Ak = 2 (1 + ar), Ak = ar mientras
que
n
n
bnk = (2 a) rTk1
+ 2(1 (2 a) r) Tkn + (2 a) rTk+1
(7.5.6)
0
A
A02
A+
0
2
2
0
0
A
A03
A+
3
3
M=
0
0
0
0
0
..
..
..
0
0
..
0
(7.5.7)
0
0
0
0
..
A
N
0
A0N
A+
N
incognitas
al problema
)1
A
1 0 + (A~
b1
(A~ )k
(A~ )N + A+
N N+1
=
=
bk
bN
Universidad de Chile
2 k N1
(A~ )1 = b1 A
1 0
(7.5.8)
(A~ )N = bN A+
N N+1
Escuela de Ingeniera y Ciencias
7.5. EL METODO
TRIDIAGONAL
reduce autenticamente
el de una matriz cuadrada tridiagonal A de N N y un
~
formal es
cuya solucion
~ = A1~b
(7.5.9)
Notese
que si se tuviera que 0 = N+1 = 0 el problema descrito en (7.5.8)
es sencillamente
A~ = ~b
con el vector ~b original.
7.5.2.
El algoritmo
parabolicas
lineales.
(7.5.10)
= 1, . . . , N
k
0
+
=
U0
A
+
A
+
A
=
b
con
k
k k
k k1
k k+1
0
N+1 = U1
(7.5.11)
de
Ecuaciones lineales de recurrencia como estas siempre tienen solucion
la forma
(7.5.12)
k+1 = k k + k
Reemplazando este k+1 en (7.5.11) se obtiene
0
A+
k (k k + k ) + Ak k + Ak k1 = bk
que lleva a
k =
A
b k A+
k
k k
+
k1
+
+
0
Ak k + Ak
Ak k + A0k
de 14 de julio de 2009
version
k1
k1
A
k
+
Ak k + A0k
b k A+
k k
+
Ak k + A0k
(7.5.13)
(7.5.14)
Patricio Cordero
Metodos
Computacionales en Fsica
111
A+
N U1 + A1 N + AN N1 = bN ,
N = N1 N1 + N1
(7.5.15)
+
0
0
Comparandolas
se obtiene N1 = A
N /AN y N1 = (bN AN U1 )/AN . Si se
compara estos ultimos
N = 0 ,
N = U1 N+1
(7.5.16)
Con este resultado las ecuaciones (7.5.13) y (7.5.14) permiten obtener to se obtiene todos los k directamente con
dos los k y k . Con tal informacion
(7.5.12). Se debe notar que el primer paso es aplicar (7.5.12) con k = 1 y en
ese primer paso se necesita usar 0 = U0 .
T
=
K(x)
t
x
x
=
dK T
2T
+K 2
dx x
x
(7.5.17)
(7.5.18)
donde
n
n
Bnk = r(Kk+1 + 4Kk + Kk1 ) Tk1
+ 8(1 rKk) Tkn + r(Kk+1 + 4Kk Kk1 ) Tk+1
7.5. EL METODO
TRIDIAGONAL
7.5.4.
pero esta vez el ndice espacial k toma valores de 1 a N por lo que, donde dice
n
n
Tk debe entenderse T1+(k1
, esto es TN+1
T1n y T0n TNn .
mod N)
Mi j j = bi
A
A02
A+
0
..
2
2
0
A
A03
A+
3
3
M=
0
0
0
..
0
A
A0N1
N1
A+
0
..
0
A
N
N
(7.5.20)
A
1
0
0
0
A+
N1
A0N
(7.5.21)
es, M se puede escribir como una matriz tridiagonal mas valores en los vertices:
+
Mi j = A i j + A
(7.5.22)
1 i1 jN + AN iN 1 j
Si se definen los vectores ~u = {a, 0, ..,0, b} y ~v = {c, 0, .., 0, d}, esto es ui = ai1 +
biN y v j = c j1 + d jN , se obtiene que ui v j = aci1 1 j + ad i1 N j + bciN 1 j +
+
bd iN N j . Se necesita que ad = A
1 y que bc = AN . La matriz M escrita como
una matriz ~u ~v cuyos unicos
una nueva matriz tridiagonal A mas
elementos
en los cuatro vertices,
no nulos estan
M = A +~u ~v
donde A difiere de A tan solo en sus elementos 1, 1 y N, N de lal manera que
se cumpla que
+
u ~v]i j
A i j + A
1 i1 jN + AN iN 1 j = Ai j + [~
A~ = ~u
(7.5.23)
Patricio Cordero
es
y la solucion
Metodos
Computacionales en Fsica
~
~ = ~ ~v ~
1 +~v ~
113
(7.5.24)
vk k ui
1 + v n n
(7.5.25)
v j j + v j j vn n vk k v j j
v j j
vk k
ui v j j = ui
= ui
1 + v n n
1 + v n n
1 + v n n
(7.5.26)
~
~ = ~ ~v ~
1 +~v ~
(7.5.28)
donde
+
A11
ANN
aA
= A 11 N
b
bA
= A NN 1
a
7.6.
Metodo
implcito
Se considerara la ecuacion
2
+ S(x,t)
=
t
x2
(t, 0) = a ,
(t, 1) = b
(0, x) = f (x)
Universidad de Chile
(7.6.1)
7.6. METODO
IMPLICITO
h2
que corresponde a escoger a = 2 en (7.5.4) y arroja
1
n+1
n+1
kn+1 = kn + 2 k+1
+ Skn
2kn+1 + k1
h
{z
}
|
(7.6.2)
(7.6.3)
H ~
Estabilidad:
que formalmente es
(7.6.4)
~ n+1 = (1 + H)1 ~ n + ~Sn
(7.6.5)
que necesariamente son menores que la unidad si > 0. Esto asegura que el
metodo
es estable.
numerica:
Integracion
Para integrar el problema (7.6.3) se utiliza un meto
do tridiagonal semejante al descrito en sec.7.5.1 usando a = 2. La ecuacion
(7.6.6)
A = r
A0 = 1 + 2r
bnk = kn + Skn
(7.6.7)
k0
= fk ,
con
0n = a ,
0
N+1
=b
(7.6.8)
f0 = a ,
fN+1 = b
(7.6.9)
Metodos
Computacionales en Fsica
Patricio Cordero
7.7.
115
Un caso parabolico
en 1+2 dimensiones
A continuacion
parabolica
en (t, x, y) de la forma
F
= ~u F + 2 F
t
(7.7.1)
Fi, j
Fi,nj
n+ 1
u1
n+ 1
Fi+1,2j Fi1,2j
2h
u2
n+ 1
n+ 1
Fi+1,2j 2Fi, j 2
+
h2
Fi,nj+1 Fi,nj1
2h
n+ 1
+ Fi1,2j
(7.7.2)
n+ 1
n+ 1
n+ 21
Fi,n+1
j Fi, j
u1
Fi+1,2j Fi1,2j
2h
u2
n+ 1
n+ 1
Fi+1,2j 2Fi, j 2
+
h2
n+1
Fi,n+1
j+1 Fi, j1
n+ 1
+ Fi1,2j
2h
n+1
n+1
Fi,n+1
j+1 2Fi, j + Fi, j1
h2
(7.7.3)
Este metodo
puede ser aplicado, por ejemplo, a las ecuaciones de fluidos
incompresibles vistas en el captulo anterior. Sera especialmente sencillo en
7.8.
Dos metodos
adicionales
7.8.1. Metodo
de Richtmayer
U
2U m
=
t
x2
m entero, m 2
del metodo
Universidad de Chile
2 (U m )n+1
+ (1 )2 (U m )nk
k
h2
(7.8.1)
7.8. DOS METODOS
ADICIONALES
pero
U m n
=
t k
U m n U n
m n
= (U )k +
u k t k
n
m n
= (U )k + m U m1 k Ukn+1 Ukn
(U m )nk +
(U m )n+1
k
(7.8.2)
i
o
n
1 h
m,n
m1,n
m,n
+
(1
U
+
mU
2
2
k
k
k
k
h2
i
n
o
1 h
=
m 2 Ukm1,n k + 2Ukm,n
h2
i
o
1 h n m1,n
m,n
m,n
m1,n
=
m Uk+1 k+1 2Ukm1,nk + Uk1
2Ukm,n + Uk1
k1 + Uk+1
2
h
convierte al problema en uno tridiagonal.
La ultima
expresion
k
7.8.2.
Metodo
de Lees
El metodo
de Lees (M.Lees, Math. Comp. 20 516 (1966)) ataca las ecua
ciones parabolicas
de la forma
U
U
b(U)
a(U)
,
a(U) > 0 , b(U) > 0
=
t
x
x
La derivada espacial se aborda en la forma
n
n
Ukn Uk+
1 U
k 1
2
se discretiza
La ecuacion
o
1
1 n n
n
{ank Ukn } = 2 ank Uk+
1
1 U
k 2
h
h
2
i
1 h n
n
n
n
n
n
=
ak+ 1 Uk+1 Uk ak 1 Uk Uk1
(7.8.3)
2
h
2
2
es inestable si a = b = 1. Ademas,
hasta aqu, es explcito. La
Esta expresion
estabilidad se resuelve si se hace los reemplazos que siguen, los que convierten al problema en uno que ya no es explcito,
1
k = k + 1, k, k 1
Ukn
Ukn+1 + Ukn + Ukn1
3
bnk
Ukn+1 Ukn1
2
1 n
ak+1 + ank
2
2
Con lo cual el problema es tridiagonal.
ank+ 1
de 14 de julio de 2009
version
ank 1
2
1 n
ak + ank1
2
Metodos
Computacionales en Fsica
Patricio Cordero
7.9.
117
de Schrodinger
Ecuacion
dependiente del tiempo
Se estudiara un metodo
para integrar (7.2.4) con el metodo
de Crank Ni
colson. En el caso actual este
se plantea en la forma
i
n+1 n
= H n+1 + H n
(7.9.1)
i
i
H n+1 = n H n
2
2
(7.9.2)
n+1 +
o bien
n+1 =
1 i2 H
1 + i2 H
(7.9.3)
Este metodo
es bueno porque el operador que actua sobre n tiene la
1iz
forma F = 1+iz y |F| = 1, lo que garantiza que se preserva la norma de en su
temporal. Tambien
se observa que
evolucion
2
1 iz
=
1
1 + iz 1 + iz
y basado en esto se escribe
donde se ha definido,
n+1
"
2
1 + i2 H
1 n = n
i
1 + H = 2 n
2
(7.9.4)
(7.9.5)
bien su version
discreta,
Se quiere resolver (7.9.5), o mas
i
k+1 2k + k1
n
k +
+
V
k k = 2 k
2
h2
que se reescribe como
2ih2
4h2 n
2
k+1 + 2 +
h Vk k + k1 =
i k
(7.9.6)
DE SCHRODINGER
7.9. ECUACION
DEPENDIENTE DEL TIEMPO
7.9.2.
El metodo
explcito de Visscher
Este metodo
aparecio presentado en Computational Physics, 5 596 (1991).
de onda en sus partes real e imaginaria,
La idea es separar a la funcion
= R + i I
de Schrodinger
Rn Rn1
n 1
= H I 2 ,
y se despeja
n 21
Rn = Rn1 + H I
n+ 21
n 21
n 21
= I
= H Rn
(7.9.8)
H Rn
(7.9.9)
Con estas ecuaciones se itera en forma explcita. Antes, claro, se debe usar
que
fk+1 + fk1
2
fk+1 2 fk + fk1
(7.9.10)
+ Vk fk =
+ Vk + 2 fk
H f =
h2
h2
h
de la norma
Conservacion
de onda se conserva en el tiempo.
Se vera que la norma de la funcion
Para ello primero se define la densidad de probabilidad en tiempos enteros y
semienteros,
2
n+ 21 n 21
n+ 21
n 2
n+ 21
n+1 n
n
P
(7.9.11)
= R R + I
P = ( R ) + I I ,
se calculara la diferencia entre es estas dos densidades y fiA continuacion
nalmente se va a demostrar que al sumar sobre k (integrar sobre x) se obtiene
cero.
2
n+ 21
n+ 21
n+ 21
n+ 21
n+ 21
n
n
n 2
n
n
=P
R + H I
R + I
I + H R
(R ) I
P =
n+ 1
n+ 1
= Rn H I 2 I 2 H Rn
(7.9.12)
se obtiene que la contribucion
de V
Al reemplazar H en la ultima
expresion
de d 2 /dx2 es menos trivial. Se escribe
se anula trivialmente. La contribucion
omitiendo los ndices de tiempo que ya se sabe cuanto valen para R y I ,
Metodos
Computacionales en Fsica
Patricio Cordero
119
y es facil
que por pares se cancelan, por ejemplo
R k I k+1 I k R k1 = 0
k
de terminos
El analisis
de estabilidad se hara en forma bastante limitada y a pesar
de ellos la experiencia muestra que da criterios que funcionan. Se comienza
replanteando las ecuaciones (7.9.9) en forma matricial,
Rn
n1/2
1
0
H
1
Rn1
n1/2
I
Rn1
n1/2
I
1
H
0
1
Rn1
n3/2
I
produce una funcion nula si el mayor autovalor es menor que 1. Para que el
metodo
funcione es necesario que los autovalores tengan modulo
1.
matriz de arriba son
Los autovalores de la ecuacion
A2 A p 2
= 1
A 4
2
2
(7.9.13)
= 1
A2 i A p
4 A2
2
2
(7.9.14)
= T (t) ei
Universidad de Chile
k
N
DE SCHRODINGER
7.9. ECUACION
DEPENDIENTE DEL TIEMPO
de H sobre da
La accion
#
"
(k+1)
(k1)
k
ei N 2 ei N + ei N
i Nk
+ V0 e
H = T
h2
ei N 2 + ei N ei N
lo que muestra que los autovalores son
E =
y entonces
A=
k
2
ei 2N ei 2N ei N
k
= 4 sin2
ei N
2N
4
2
+ V0
sin
h2
2N
4 2
+ V0
sin
h2
2N
2 < V0 +
y tambien
4
<2
h2
exigentes se obtiene
Escogiendo las mas
2 < V0 < 2
de 14 de julio de 2009
version
4
h2
(7.9.15)
Captulo 8
Ecuaciones hiperbolicas
8.1.
Consideremos la ecuacion
a
U
U
+b
=c
x
y
(8.1.1)
donde a, b y c pueden ser funciones de (x, y,U). Se va a ver que en cada punto
pasa una curva C a lo largo de la cual hay que resolver
del dominio de solucion
diferencial ordinaria.
una ecuacion
Se usara la notacion,
p
U
x
q
121
U
y
(8.1.2)
Ecs. diferenciales hiperbolicas
la ecuacion
original es
Con esta notacion
a p + bq = c
(8.1.3)
cb q
a
dU =
lo que da
c bq
dx + q dy
a
(8.1.4)
(8.1.5)
c dx a dU = 0
(8.1.6)
sobre C. Notese
que ellas se pueden resumir en
dx dy dU
=
=
a
b
c
(8.1.7)
mas
de un parametros,
dx
dy
= a,
=b
(8.1.8)
ds
ds
para la funcion
U sobre la caracterstica es
La ecuacion
dU
=c
ds
de 14 de julio de 2009
version
(8.1.9)
Patricio Cordero
Metodos
Computacionales en Fsica
123
la ecuacion
x = s. Sobre la curva se tiene que
dx U dy U
dU
=
+
ds
ds x ds y
(8.1.10)
y se escoge que la curva sea tal que el lado izquierdo de (8.1.1) coincida con
dU/ds, es decir, se exige (8.1.8) y por lo tanto dU/ds = c.
Se considera la ecuacion
y
U U
+
=2
x
y
(8.1.11)
U(0 x 1, y = 0) = (x)
se tiene a = y, b = 1 y c = 2 por lo que las ecuaciones paEn esta ecuacion
rametricas
para las caractersticas son
(8.1.13)
dx
= y(s) ,
ds
dy
=1
ds
(8.1.12)
2.5
2
1.5
1
0.5
0
-0.5
-1
-1.5
-2
-2.5
Ecs. diferenciales hiperbolicas
U
=
x
U
= 2 y
y
haciendo un reticulado
numerico
ingenuo podra intentar integrar la ecuacion
rectangular regular con celdas de (hx hy ) en el plano (x, y), lo que llevara a
incorrecta tan pronto el incremento hy sobrepase el valor hyx .
una solucion
elaborado
Ejemplo algo mas
U
U
+U
x
y
U 2
U(x = 0, y > 0) = u + ey
con
U(x > 0, y = 0) =
2
1+x
(8.1.14)
dy
=U
ds
(8.1.15)
(8.1.16)
1
A(x, y) + x
(8.1.17)
pero aun se debe determinar A(x, y), que es constante a lo largo de cada caracterstica, pero que depende de x e y.
de 14 de julio de 2009
version
Metodos
Computacionales en Fsica
Patricio Cordero
125
(8.1.19)
ey x
1 + ux
caracteristicas
4
3.5
3
y
2.5
u + ey
U(x, y) =
1 + ux
En este caso las caractersticas son parametrizadas por
el punto yR > 0 del que nacen
sobre el eje Y y se definen por
ycarac = yR +ln 1 + (u + eyR ) x
2
1.5
1
0.5
0
0
10
x
Aqu se dibujan caractersticas pertenecientes a las dos
familias del ejemplo.
1 + 2x ey
1 + ey
Escuela de Ingeniera y Ciencias
Ecs. diferenciales hiperbolicas
1 + ey
1+x
numerica
Integracion
a lo largo de una caracterstica
8.1.2.
numerica
La integracion
general debe simultaneamente
encontrar la forma
U sobre ella.
de la caracterstica como la funcion
Supongamos que se nos ha dado los valores de U sobre una curva (que
no puede ser una caracterstica). Sea P un punto sobre : P = (xP , yP ) y
sea C la caracterstica que pasa por P. Al punto P se le asocia s = 0.
Para integrar se escoge un pa
so h para el parametro
s. Las
ecuaciones (8.1.8) y (8.1.9) al
bajo orden se pueden escrimas
bir
C
R
(1)
xR xP
h
(1)
yR yP
h
(1)
UR UP
h
= aP
(8.1.20)
= bP
= cP
A continuacion
las mismas
ecuaciones se escriben
(n+1)
xR
xP
(n)
de 14 de julio de 2009
version
aP + aR
,
2
(n+1)
yR
yP
(n)
bP + bR
,
2
(n+1)
UR
UP
(n)
cP + cR
2
(8.1.21)
Metodos
Computacionales en Fsica
Patricio Cordero
127
Usando el metodo
anterior integrar
U
U
x
+U
x
y
U(x > 0, 0)
U 2
(8.1.22)
~
~
U
U
+ dt
x
t
~
U
~
~
= dx
BU
+ dt ~F A U
x
x
~
U
~
= (dx dt A)
+ dt ~F BU
x
= dx
~
U
~
+ dt P ~F BU
x
Pk j dU j = (dx dt k ) Pk j
Universidad de Chile
(8.1.23)
Uj
+ dt Pk j (Fj B jiUi )
x
Escuela de Ingeniera y Ciencias
Ecs. diferenciales hiperbolicas
Cada ecuacion
dx(k)
= k
dt
define una curva caracterstica Ck a lo largo de la cual se satisface
Pk j dU j = dt Pk j (Fj B jiUi )
(8.1.24)
(8.1.25)
8.1.4.
Fluido compresible
hay
Consideremos las ecuaciones (6.3.1) y (6.3.2) para el caso en que solo
x, los campos solo
dependen de (x,t), se desprecia el
velocidad en la direccion
termino con viscosidad ( = 0), no hay gravedad y la temperatura permanece
constante. En tal caso las ecuaciones se reducen a
v
+
=0
t
x
(8.1.26)
v
p
v
+v
=
t
x
x
de estado p = A , lo que
Adicionalmente se supone que vale la ecuacion
1
= p/ . Se define
implica que p/ = A
c2 =
dp p
=
d
(8.1.27)
v
v c2
+v +
=0
t
x x
(8.1.28)
2
+
=0
(8.1.29)
c
v
v
v
t
x
arriba:
por lo que dan las ecuaciones dinamicas
que tenemos mas
2
dv = vx dx v vx + c x dt
(8.1.30)
d = x dx (vx + vx ) dt
de 14 de julio de 2009
version
Metodos
Computacionales en Fsica
Patricio Cordero
129
x =
d + vx dt
dx v dt
(8.1.31)
es independiente de vx si
En el paso anterior se elimino x . La ultima
relacion
se haga en curvas que satisfagan
se escoge que la integracion
(dx v dt)2 = c2 dt 2
v+c
curvas f
(8.1.32)
vc
curvas g
(8.1.33)
(dx v dt) dv = c2 d dt
((v c) dt v dt) dv = c2 d dt
d
dv = 0
sobre curvas f /g
c
(8.1.34)
= (v + c) dt
con
c d + dv = 0
(8.1.35)
dx
= (v c) dt
con
c d dv = 0
(8.1.36)
definidos sobre
Los diferenciales que aparecen en estas ecuaciones estan
de la densidad
las caractersticas. Por ejemplo, en (8.1.35), d es la variacion
cuando hay un desplazamiento sobre la caracterstica f , en cambio en (8.1.36)
aparece el cambio de la densidad sobre la caracterstica g. Ambos d llevan el
mismo nombre pero son objetos diferentes.
se define un metodo
A continuacion
para integrar estas ecuaciones. Se
hara en dos etapas. En la primera etapa se define las ecuaciones
xR xP
xR xQ
Universidad de Chile
(8.1.37)
Complementos personales
R
dx=(v-c)dt
dx=(v+c)dt
obtenidas
Las cantidades recien
a xR ,
son una primera aproximacion
precisa para los dos pares
tR , R y vR . Ahora se puede escribir una forma mas
de ecuaciones:
xn+1
R xP
n+1
xR xQ
(8.1.39)
(8.1.40)
i+1
i
i+1
i+1
Patricio Cordero
8.2.
Metodos
Computacionales en Fsica
131
El metodo
de Lax-Wendroff para ecuaciones
hiperbolicas
de primer orden
t f = x G( f )
(8.2.1)
dG
df
y calculamos
t2 f
= t x G
= x (t G)
= x (A( f ) t f )
= +x (A( f ) x G)
(8.2.2)
2 2
f + O( 3 )
2 t
2
f (x,t) x G + x (A x G)
2
f (x,t) + t f +
(8.2.3)
Gnk+1 Gnk
h
Ank 1
2
Gnk Gnk1
h
n
n
n
n
,
.
.
.
,
f
)
H(
f
,
.
.
.
,
f
)
(8.2.5)
fkn+1 = fkn H( fk+
j
k j+1
k+ j1
k j
h
Universidad de Chile
Complementos personales
Esta clase de algoritmos son apropiados, por ejemplo, para describir ondas
de choque.
arriba tiene la forma generica
G(a) G(b)
a+b
[G(a) G(b)]
H(a, b) =
A
2
2h
2
a dos pasos de lo anterior, es de la forma predictorExiste una generalizacion
n
n
Gk+1 Gnk
fk = (1 ) fkn + fk+1
Paso 2:
fkn+1
(8.2.6)
n + [2 (1 ) (1 2 )] f n ( ) f n
(1 )(1 ) fk1
k
k+1
2 2
( ) fk (1 ) fk1
+
(G k G k1 )
(8.2.7)
2
2
2 h
Aunque en general este algoritmo puede dar problemas, los autores (Lerat y
Peyret, 1974, 1975) recomiendan escoger
5
1
= 1+
=
,
2
2
8.3.
Se considerara la ecuacion
a
2U
2U
2U
+b
+c 2 +e = 0
2
t
t x
x
(8.3.1)
de t, x , U, t U y xU.
donde los coeficientes a, b, c, e son, en general, funcion
Se usara la notacion
p=
U
,
t
q=
U
,
x
2U
2U
2U
R=
,
W
=
,
S
=
.
t2
x2
t x
(8.3.2)
Patricio Cordero
Metodos
Computacionales en Fsica
133
(8.3.3)
(8.3.4)
de donde se despeja
p Sx
t
q St
W=
x
que permite reescribir (8.3.3) en la forma
R=
(8.3.5)
p Sx
q St
+e = 0
+ bS + c
x
t
La ecuacion
paso es lograr
que tampoco dependa de S. El cuociente xt sera llamado X(s) y, para que la
no dependa de S se exige que el parentesis
ecuacion
grande sea nulo:
aX2 bX + c = 0
(8.3.6)
la que da, en cada punto (x(s),t(s)) dos soluciones para X llamadas f (s) y g(s),
b + b2 4ac
f =
2a
b b2 4ac
(8.3.7)
g =
2a
Esto quiere decir que (8.3.3) permite dos direcciones en cada punto (t, x)
definidas por X = dx
dt que resuelven (8.3.6). A lo largo de tales curvas d p y dq
satisfacen,
a X d p + c dq + e dx = 0
(8.3.8)
Universidad de Chile
8.4. ECUACIONES HIPERBOLICAS
Complementos personales
(8.3.9)
tipo de ecuacion
races
hiperbolica
parabolica
elptica
reales y diferentes
reales e iguales
complejas
signo
b2 4ac > 0
b2 4ac = 0
b2 4ac < 0
Elip
esta ecuacion
parabolica
o elptica
segun
si b2 4ac = t 2 4 x2 es positivo, nulo o negativo. En la figura se ve los dominios donde es
hiperbolica
y elptica. En las fronteras la ecuacion
es parabolica.
8.4.
Ecuaciones hiperbolicas
8.4.1.
Hiper
Hiper
Elip
En el caso hiperbolico
pasan dos caractersticas diferentes por cada punto.
Ellas tienen pendientes
dx
dx
= f,
=g
(8.4.1)
dt
dt
las f-caractersticas y las g-caractersticas.
que se denominaran
En resumen, la ecuacion
a
2U
2U
2U
+
b
+e = 0
+
c
t2
t x
x2
con coeficientes a, b, c y e que son funciones conocidas de (t, x,U, p, q), tiene
algebraicaractersticas cuyas pendientes se obtienen resolviendo la ecuacion
ca
2
dx
dx
b +c = 0
a
(8.4.2)
dt
dt
de 14 de julio de 2009
version
Patricio Cordero
Metodos
Computacionales en Fsica
135
dq
dx
d p dx
+c
+e
=0
dt dt
dt
dt
a f d p + c dq + e dx = 0
a g d p + c dq + e dx = 0
(8.4.3)
dU = p dt + q dx
(8.4.4)
implcita
8.4.2. Integracion
Existe una variedad de problemas para los cuales las caractersticas son
sigue se describe el caso en que las caractersticas se van obteniendo numericamente punto a punto.
Sea una curva que no es una
caracterstica y supongamos que sobre ella se conocen U, p y q. Sean P,
Q puntos muy cercanos en , es decir los valores uP , uQ , pP , pQ , qP y qQ
son conocidos.
R
f
aP
P f + cP
a Q g 2 b Q g + cQ
=0
=0
(8.4.5)
para escoger un valor para fP y otro para gQ consistentes para que exista
un punto cercano R donde se corta la f-caracterstica que pasa por P con la
se toman los
g-caracterstica que pasa por Q. En una primera aproximacion
arcos PR y QR como rectas con pendientes fP y gQ por lo que se puede escribir
(1)
(1)
xR xP = fP (tR tP )
(1)
(1)
xR xQ = gQ (tR tQ )
(8.4.6)
(1)
(1)
8.4. ECUACIONES HIPERBOLICAS
Complementos personales
(1)
(1)
(8.4.7)
(1)
U
U
dt +
dx = p dt + q dx
t
x
en forma aproximada es
i
1h
(1)
(1)
(1)
(1)
(1)
(pP + pR ) (tR tP ) + (qR + qP ) (xR xP)
uR uP =
2
(8.4.8)
(1)
(n)
(n)
a R Y 2 b R Y + cR = 0
(n)
(8.4.9)
(n)
xR
(n+1)
xR
(n+1)
(n)
xP =
xQ =
(n+1)
, xR
fP + fR
(n+1)
(tR
tP )
2
(n)
gQ + gR
(n+1)
(tR
(8.4.10)
tQ )
).
aP + aR
2
(n)
(n)
(n)
(n)
cP + cR
eP + eR
fP + fR
(n+1)
(n+1)
(n+1)
(pR
pP ) +
(qR
qP ) +
(xR
xP ) = 0
2
2
2
(n)
(n)
(n)
cQ + cR
eQ + eR
aQ + aR gQ + gR
(n+1)
(n+1)
(n+1)
(pR
pQ ) +
(qR
qQ ) +
(xR
xQ ) = 0
2
2
2
2
(8.4.11)
(n+1) (n+1)
para obtener (pR
,qR
).
de 14 de julio de 2009
version
Metodos
Computacionales en Fsica
Patricio Cordero
137
(n+1)
uR
(n+1)
uP =
pP + pR
2
(n+1)
para tener uR
(n+1)
(tR
(n+1)
tP) +
qR
+ qP
(n+1)
(xR
xP )
(8.4.12)
(n+1)
5. Ahora se calculan aR
(n+1)
, bR
(n+1)
, cR
(n+1)
, eR
Complementos personales
8.5.
la condicion inicial esta dada en t = 0 dando f aquellas que avanzan en el tiempo con
x creciendo y llamanos g a aquellas que
pB = p(0,t)
(8.5.14)
(8.5.15)
Patricio Cordero
Metodos
Computacionales en Fsica
139
enteramente
analogo.
8.6.
Problemas
1. Integre el problema de un fluido compresible unidimensional sin viscosidad que obedece las ecuaciones
v
+
t
x
v
v
+v
t
x
= 0
=
p
x
(8.6.1)
2. Integre la ecuacion
Universidad de Chile
2U 2U
U
2 +
=0
t2
y
t
Escuela de Ingeniera y Ciencias
Complementos personales
8.6. PROBLEMAS
usando el metodo
de las caractersticas en el intervalo 0 y 1 con las
condiciones de borde U(0,t) = 2 sin t, U(1,t) = 0, y con las condiciones
iniciales U(y, 0) = 0 y U(y, 0)/ t = 0. Estudie los casos con = 14 y
= 15 , y = 2,0 y = 8,0. Divida el intervalo (0, 1) en N + 12 trazos de
longitud h = 1/(N + 21 ) usando N = 5000. Necesitara construir dos rutinas
las pares y las impares.
de iteracion,
a) Dibuje U(y,t = fijo) para diversos valores k de iteraciones: para k =
U debiera ser cero sobre
5000, 10500 y 13400. (Para k = 5000 la funcion
la mitad del intervalo).
b) Grafique U(y = 17 ,t) y U(y = 21 ,t) desde t = 0 hasta un tiempo suficientemente largo para que se vea que el sistema ha alcanzado un estado
de regimen.
electrico
y magnetico
cuando se propaga una onda electromagnetica
en
un medio algo conductor. El coeficiente es proporcional a la conducti de borde en y = 0 puede pensarse como
vidad del medio. La condicion
la que impone una onda que llega desde el vaco al medio conductor
de borde en y = 1 corresponde a la
que comienza en y = 0. La condicion
presencia de un conductor perfecto de ah en adelante. Ese borde actua
como un espejo.
de 14 de julio de 2009
version