Sie sind auf Seite 1von 12

Universidad Nacional de Colombia. Sede Bogotá.

Universidad Nacional
de Colombia

Herramientas computacionales.

Tercer parcial herramientas computacionales

Daniel Steven Ospina


Nombres y Apellidos: Stephanie Carolina Cely

Facultad de Ciencias

20 de julio de 2019

Tercer parcial herramientas computacionales. 1 Departamento de Fı́sica.


Universidad Nacional de Colombia. Sede Bogotá.

1. Usando diferencias finitas resolver


∂u ∂2u
− D 2 − 2U = 0
∂t ∂x
donde D es constante.
Según el método de diferencias finitas tenemos que:

uni − un−1 (un − 2un−1 + uni−1 )


i
= D i+1 i
2
− 2uni
∆t (∆x)
Al despejar se obtiene
(uni+1 − 2un−1
i + uni−1 )
uni = D∆t − 2uni ∆t + un−1
i (1)
(∆x)2
En el código siguiente, se genera una rejilla y después de establecido el pulso inicial se define la evolu-
ción temporal de la función usando 1
1 clear all ;
2 close all ;
3 clf ;
4

5 graphics_toolkit ( " gnuplot " )


6

7 numx =51; %Puntos rejilla x


8 numt =90; %Pasos de tiempo
9 dx =1/( numx -1); %Paso x
10 dt =0.00005; % T a m a o paso de tiempo
11 x =0: dx :1; %Define vector de valores en x
12

13 t (1)=0; %Condicion Inicial


14 C = zeros ( numx , numt ); %Se inicia la funcion ceros
15

16 C (1 ,1)=2;
17 C ( numx ,1)=2;
18

19

20 mu =0.3;
21 mu2 =0.7;
22 sigma =0.05;
23 sigma2 =0.03;
24 for i =2:( numx -1) %Pulso Inicial
25 C (i ,1)= exp ( -( x ( i ) - mu )^2/(2* sigma ^2))/ sqrt (2* pi * sigma ^2)+...
26 exp ( -( x ( i ) - mu2 )^2/(2* sigma2 ^2))/ sqrt (2* pi * sigma2 ^2);
27 end
28

29

30

31 figure (1); clf ;


32

33 for j =1: numt ; %Evolucion Temporal


34 t ( j +1)= t ( j )+ dt ;
35 C ( numx ,1)=2;
36 C (1 ,1)=2;
37 for i =2:( numx -1) %Despliegue espacial para cada paso de tiempo
38 C (i , j +1)= C (i , j ) +( dt / dx ^2)*( C ( i +1 , j ) -2* C (i , j )...
39 + C (i -1 , j ))+2* dt * C (i , j );
40 end
41 figure (2); clf ;

Tercer parcial herramientas computacionales. 2 Departamento de Fı́sica.


Universidad Nacional de Colombia. Sede Bogotá.

42 plot (x , C (: , j ));
43 axis ([0 1 -2 15])
44 pause (0.2)
45 end

Figura 1: Evolución temporal

2. Usando el mismo método resolver la ecuación


∂u ∂2u 1
i +D 2 + =0
∂t ∂x 1 + Cu2

Siendo i = −1, D y C constantes

Tercer parcial herramientas computacionales. 3 Departamento de Fı́sica.


Universidad Nacional de Colombia. Sede Bogotá.

1 clear all ;
2 close all ;
3 clf ;
4

5 graphics_toolkit ( " gnuplot " )


6

7 numx =51; %Puntos rejilla x


8 numt =90; %Pasos de tiempo
9 dx =1/( numx -1); %Paso x
10 dt =0.00005; % T a m a o paso de tiempo
11 x =0: dx :1; %Define vector de valores en x
12

13 t (1)=0; %Condicion Inicial


14 C = zeros ( numx , numt ); %Se inicia la funcion ceros
15

16 C (1 ,1)=2;
17 C ( numx ,1)=2;
18

19 a =1;
20 b =1;
21

22 mu =0.3;
23 mu2 =0.7;
24 sigma =0.05;
25 sigma2 =0.03;
26 for i =2:( numx -1) %Pulso Inicial
27 C (i ,1)= exp ( -( x ( i ) - mu )^2/(2* sigma ^2))/ sqrt (2* pi * sigma ^2);...
28 %exp ( -( x ( i ) - mu2 )^2/(2* sigma2 ^2))/ sqrt (2* pi * sigma2 ^2);
29 end
30 for i =2:( numx -1) %Pulso Inicial
31 C (i ,2)= exp ( -( x ( i ) -1 - mu )^2/(2* sigma ^2))/ sqrt (2* pi * sigma ^2);...
32 %exp ( -( x ( i ) - mu2 )^2/(2* sigma2 ^2))/ sqrt (2* pi * sigma2 ^2);
33 end
34

35 m = sqrt ( -1);
36 figure (1); clf ;
37 for j =1: numt ; %Evolucion Temporal
38 t ( j +1)= t ( j )+ dt ;
39 for i =2:( numx -1) %Despliegue espacial para cada paso de tiempo
40 C (i , j +1)= C (i , j ) +( m * a * dt /( dx ^2))*( C ( i +1 , j ) -2* C (i , j )+...
41 C (i -1 , j ))+ m * dt /(1+ b * C (i , j )^2);
42 G (: , j +1)= real ( C (: , j +1));
43 end
44 G (1 , j +1)=0; %Fixed End
45 G ( numx , j +1)=0; %Fixed End
46

47 figure (2); clf ;


48 plot (x , G (: , j ));
49 axis ([0 1 -2 15])
50 pause (0.2)
51 end

Tercer parcial herramientas computacionales. 4 Departamento de Fı́sica.


Universidad Nacional de Colombia. Sede Bogotá.

Figura 2: Evolucion temporal

3. Resolver las ecuaciones acopladas:

∂u ∂2u
− D 2 − Av = 0
∂t ∂x
∂u ∂2u
− D 2 + Bu = 0
∂t ∂x
Para este caso, las ecuaciones quedan escritas de la siguiente manera:

(uni+1 − 2un−1
i + uni−1 )
uni = d∆t 2
− avin ∆t + uin−1
(δx)
n
(vi+1 − 2vin−1 + vi−1
n
)
vin = d∆t − auni ∆t + vin−1
(∆x)2

1 clear all ;
2 close all ;
3 clf ;
4

5 graphics_toolkit ( " gnuplot " )

Tercer parcial herramientas computacionales. 5 Departamento de Fı́sica.


Universidad Nacional de Colombia. Sede Bogotá.

7 numx =51; %Puntos rejilla x


8 numt =90; %Pasos de tiempo
9 dx =1/( numx -1); %Paso x
10 dt =0.00005; % T a m a o paso de tiempo
11 x =0: dx :1; %Define vector de valores en x
12

13 t (1)=0; %Condicion Inicial


14 C = zeros ( numx , numt ); %Se inicia la funcion ceros
15 G = zeros ( numx , numt );
16 H = zeros ( numx , numt );
17

18 a =1;
19 b =1;
20

21 mu =0.3;
22 mu2 =0.5;
23 sigma =0.05;
24 sigma2 =0.03;
25 for i =2:( numx -1) %Pulso Inicial
26 C (i ,1)= exp ( -( x ( i ) - mu )^2/(2* sigma ^2))/ sqrt (2* pi * sigma ^2);
27 G (i ,1)= exp ( -( x ( i ) - mu2 )^2/(2* sigma2 ^2))/ sqrt (2* pi * sigma2 ^2);
28 H (i ,1)= exp ( -( x ( i ) - mu )^2/(2* sigma ^2))/ sqrt (2* pi * sigma ^2)+...
29 exp ( -( x ( i ) - mu2 )^2/(2* sigma2 ^2))/ sqrt (2* pi * sigma2 ^2);
30 end
31

32

33

34 figure (1); clf ;


35

36 for j =1: numt ; %Evolucion Temporal


37 t ( j +1)= t ( j )+ dt ;
38 for i =2:( numx -1) %Despliegue espacial para cada paso de tiempo
39 C (i , j +1)= C (i , j ) +( dt / dx ^2)*( C ( i +1 , j ) -2* C (i , j )...
40 + C (i -1 , j ))+ a * dt * G (i , j );
41 G (i , j +1)= G (i , j ) +( dt / dx ^2)*( G ( i +1 , j ) -2* G (i , j )...
42 + G (i -1 , j )) - b * dt * C (i , j );
43 H (i , j +1)= C (i , j +1)+ G (i , j +1);
44 end
45 figure (2); clf ;
46 plot (x , C (: , j +1) , ’r ’ ,x , G (: , j +1) , ’b ’ ,x , H (: , j +1) , ’k ’ );
47 axis ([0 1 -2 20])
48 pause (0.2)
49 end

4. Usando diferencias finitas resolver.


∂u ∂2u
− D 2 − Avu = 0
∂t ∂x
∂u ∂2u
− D 2 − Bv 2 = 0
∂t ∂x
Siendo D, A y B constantes.

Tercer parcial herramientas computacionales. 6 Departamento de Fı́sica.


Universidad Nacional de Colombia. Sede Bogotá.

Figura 3: Evolucion sistema acoplado

(uni+1 − 2un−1
i + uni−1 )
uni = d∆t − Auni vin ∆t + un−1
i
(∆x)2
n
(vi+1 − 2vin−1 + vi−1
n
)
vin = d∆t 2
+ Buni (vu in )2 ∆t + vin−1
(∆x)

1 clear all ;
2 close all ;
3 clf ;
4

5 graphics_toolkit ( " gnuplot " )


6

7 numx =51; %Puntos rejilla x


8 numt =120; %Pasos de tiempo
9 dx =1/( numx -1); %Paso x

Tercer parcial herramientas computacionales. 7 Departamento de Fı́sica.


Universidad Nacional de Colombia. Sede Bogotá.

10 dt =0.0005; % T a m a o paso de tiempo


11 x =0: dx :1; %Define vector de valores en x
12

13 t (1)=0;
14 t (2)=0; %Condicion Inicial
15 C = zeros ( numx , numt ); %Se inicia la funcion ceros
16 G = zeros ( numx , numt );
17 H = zeros ( numx , numt );
18

19 a =0.1;
20 b =0.1;
21 f =1000;
22

23 mu =0.3;
24 mu2 =0.5;
25 sigma =0.05;
26 sigma2 =0.03;
27 for i =2:( numx -1) %Pulso Inicial
28 C (i ,1)= exp ( -( x ( i ) - mu )^2/(2* sigma ^2))/ sqrt (2* pi * sigma ^2);
29 G (i ,1)= exp ( -( x ( i ) - mu2 )^2/(2* sigma2 ^2))/ sqrt (2* pi * sigma2 ^2);
30 H (i ,1)= exp ( -( x ( i ) - mu )^2/(2* sigma ^2))/ sqrt (2* pi * sigma ^2)+...
31 exp ( -( x ( i ) - mu2 )^2/(2* sigma2 ^2))/ sqrt (2* pi * sigma2 ^2);
32 end
33 for i =2:( numx -1) %Pulso Inicial
34 C (i ,2)= exp ( -( x ( i ) - mu )^2/(2* sigma ^2))/ sqrt (2* pi * sigma ^2);
35 G (i ,2)= exp ( -( x ( i ) - mu2 )^2/(2* sigma2 ^2))/ sqrt (2* pi * sigma2 ^2);
36 H (i ,2)= exp ( -( x ( i ) - mu )^2/(2* sigma ^2))/ sqrt (2* pi * sigma ^2)+...
37 exp ( -( x ( i ) - mu2 )^2/(2* sigma2 ^2))/ sqrt (2* pi * sigma2 ^2);
38 end
39

40

41 figure (1); clf ;


42

43 for j =2: numt ; %Evolucion Temporal


44 t ( j +1)= t ( j )+ dt ;
45 for i =3:( numx -1) %Despliegue espacial para cada paso de tiempo
46 C (i , j +1)= 2* C (i , j ) - C (i ,j -1)+ f *( dt ^2/ dx ^2)*( C ( i +1 , j ) -2* C (i , j )...
47 + C (i -1 , j ))+ a * dt * dt * G (i , j ).* C (i , j );
48 G (i , j +1)=2* G (i , j ) - G (i ,j -1) + f *( dt ^2/ dx ^2)*( G ( i +1 , j ) -2* G (i , j )...
49 + G (i -1 , j )) - b * dt * dt * C (i , j ).* G (i , j ).* G (i , j );
50 %H (i , j +1)= C (i , j +1)+ G (i , j +1);
51 end
52 C (1 , j +1)=0; %Fixed End
53 C ( numx , j +1)=0; %Fixed End
54 G (1 , j +1)=0; %Fixed End
55 G ( numx , j +1)=0; %Fixed End
56

57 figure (2); clf ;


58 plot (x , C (: , j +1) , ’r ’ ,x , G (: , j +1) , ’b ’ );
59 axis ([0 1 -20 20])
60 pause (0.2)
61 end

5. En base al código de dinámica molecular, implementar paredes en la frontera, para que las partı́culas
experimenten colisiones elásticas. Haciendo que la componente de la velocidad normal cambie de direc-

Tercer parcial herramientas computacionales. 8 Departamento de Fı́sica.


Universidad Nacional de Colombia. Sede Bogotá.

Figura 4: Evolucion sistema acoplado

ción sin cambiar de magnitud.


Recordar que se definio la función aceleración de la siguiente forma
1 function a = accel (L , N , r )
2 % compute accelerations using Newton ’ s equations
3 a = zeros (2 , N );
4 for i = 1: N -1
5 for j = i +1: N
6 dr = r (: , i ) - r (: , j );
7 for k = 1:2
8 if abs ( dr ( k )) > 0.5* L ( k ) % use closest periodic image
9 dr ( k ) = dr ( k ) * (1 - L ( k )/ abs ( dr ( k )));
10 end
11 end
12 end
13 s = sqrt ( dr . ’* dr );

Tercer parcial herramientas computacionales. 9 Departamento de Fı́sica.


Universidad Nacional de Colombia. Sede Bogotá.

14 f = dr * (48/ s ^14 - 24/ s ^8); % Lennard - Jones force function 110


15 for k = 1:2
16 a (k , i ) = a (k , i ) + f ( k );
17 a (k , j ) = a (k , j ) - f ( k );
18 end
19 end

Al agregar las paredes se obtiene


1 clear all ; close all ;
2 N = 16; % number of molecules
3 L = [4; 4]; % [ L_x , L_y ]
4

5 n = ceil ( sqrt ( N )); % number of atoms each direction 11


6 d = L / n ; % lattice spacing
7 i = 0; % particles placed so far
8 for x = 1: n
9 for y = 1: n
10 if i < N
11 i = i + 1;
12 r (1 , i ) = ( x - 0.5) * d (1); % x component of particle i
13 r (2 , i ) = ( y - 0.5) * d (2); % y component of particle i
14 end
15 end
16 end
17 vMax = 1; % maximum initial velocity component
18 for i = 1: N
19 v (1 , i ) = vMax * (3 * rand (1) - 1); % x velocity component of particle i
20 v (2 , i ) = vMax * (3 * rand (1) - 1); % y velocity component of particle i
21 end
22 figure (1); clf ; % show molecules
23 p = plot ( r (1 ,:) , r (2 ,:) , ’o ’ );
24 %set (p , ’ EraseMode ’ , ’xor ’);
25 set (p , ’ MarkerSize ’ , 10 , ’ MarkerFaceColor ’ , ’y ’ );
26 title ( ’ Initial Configuration ’ );
27 xlabel ( ’x ’ );
28 ylabel ( ’y ’ );
29 axis square ;
30 drawnow ;
31 pause (1);
32 nBins = 50; % number of histogram bins 41
33 vBins = zeros (1 , nBins ); % for Maxwell distribution
34 MB = zeros (1 , nBins ); % theoretical distribution
35 vMax = 4; % maximum velocity
36 dv = vMax / nBins ;
37 vVals = [ dv /2: dv : vMax ];
38 t = 0; % time
39 dt = 0.01; % integration time step size
40 step = 0; % integration step number 50
41 Tsum = 0; % to compute average temperature
42 a = accel (L ,N , r ); % compute accelerations
43

44 %while 1
45 for tiempo = 1:3000
46 step = step + 1;
47 % integrate using Verlet algorithm

Tercer parcial herramientas computacionales. 10 Departamento de Fı́sica.


Universidad Nacional de Colombia. Sede Bogotá.

48 r = r + v * dt + 0.5* a * dt ^2;
49 K = 0;
50 for i = 1: N % periodic boundary conditions
51 if r (1 , i ) < 0 , v (1 , i )= - v (1 , i ) ; end
52 if r (2 , i ) < 0 , v (2 , i )= - v (2 , i ) ; end
53 if r (1 , i ) > L (1) , v (1 , i )= - v (1 , i ) ; end
54 if r (2 , i ) > L (2) , v (2 , i )= - v (2 , i ) ; end
55 vSquared = v (: , i ). ’* v (: , i );
56 K = K + 0.5* vSquared ;
57 bin = round ( sqrt ( vSquared ) / vMax * nBins );
58 if ( bin > 0 && bin <= nBins ) , vBins ( bin ) = vBins ( bin ) + 1; end
59 end
60 Tsum = Tsum + K / N ;
61 T = Tsum / step ;
62 v = v + 0.5* a * dt ;
63 a = accel (L ,N , r );
64 v = v + 0.5* a * dt ;
65 t = t + dt ;
66 if mod ( step ,10) == 0 % update molecule positions 75
67 figure (1);
68 set (p , ’ XData ’ , r (1 ,:) , ’ YData ’ , r (2 ,:));
69 title ( sprintf ( ’ Step = %i Time t = % .3 g <K > = % .3 g ’ , step ,t , K / N ));
70 drawnow ;
71 %end
72 %if mod ( step ,50) == 0 % update velocity histogram
73 %end
74 figure (2); clf ;
75 bar ( vVals , vBins / max ( vBins ));
76 title ( ’ Maxwell - Boltzmann Velocity Distribution ’ );
77 xlabel ( ’ Velocity v ’ );
78 ylabel ( ’P ( v ) ’ );
79 colormap hsv ;
80 hold on ;
81 for i = 1: nBins
82 MB ( i ) = vVals ( i ) * exp ( -0.5* vVals ( i )^2/ T );
83 end
84 plot ( vVals , MB / max ( MB ) , ’g ’ );
85 legend ( sprintf ( ’T = %g ’ ,T ));
86 drawnow ;
87 end
88 end

Tercer parcial herramientas computacionales. 11 Departamento de Fı́sica.


Universidad Nacional de Colombia. Sede Bogotá.

Figura 5: Evolucion sistema acoplado

Tercer parcial herramientas computacionales. 12 Departamento de Fı́sica.

Das könnte Ihnen auch gefallen