Codificacion de Johan

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

PROGRAM PARTICULA

IMPLICIT NONE
INTEGER::IM,LI,NDAT,J,I
REAL::C,M,XL,H,HH,XP,XA,XB,XM,E,B,CE
REAL,DIMENSION(0:10):: YA,Y !, YN
REAL,DIMENSION(0:6,0:10)::EK
OPEN(5,FILE='NUEVO4.DAT') !Archivo donde se deposita la solucion
WRITE(*,*)
WRITE(*,*)'****************************************************'
WRITE(*,*)'ESQUEMA DE RUNGE KUTTA DE CUARTO ORDEN'
WRITE(*,*)' PARA UN CONJUNTO DE ECUACIONES'
WRITE(*,*)'***************************************************'
IM=4 ! Número de EDOs de primer orden que compone el sistema.
XP=0 ! Tiempo inicial. Valor asignado
WRITE(*,*)'TIEMPO INICIAL'
WRITE(*,*)XP
WRITE(*,*)'TIEMPO MAXIMO PARA DETENER LOS CALCULOS'
READ(*,*)XL !ingresado desde el teclado
WRITE(*,*)'INGRESE EL VALOR DEL CAMPO MAGNETICO'
READ(*,*)B
WRITE(*,*)'INGRESE EL VALOR DEL CAMPO ELECTRICO'
READ(*,*)CE
Y(1)=0.02! Condición inicial de y(1) en t = 0 (theta1 inicial en t=
Y(2)=0.02 ! Condición inicial de y(2) en t = 0. ( dt inicial en t=0)
Y(3)=0.02 !
Y(4)=0.02 !
Y(5)=0.02 !
Y(6)=0.02
H=0.001
WRITE(*,*)'PASO DE INTEGRACION'
WRITE(*,*)'H=',H !Paso de integracion
HH=H/2
NDAT=(XL-XP)/H !Numero de soluciones para cada variable incognita
!PARAMETROS PARA CALCULAR LA ENERGIA
M=9.11d-31 ! Masa del Electron en kg
C=(-1.602d19) ! Carga del electron
!EA=CE ! campo eléctrico (N/C)
!B=CM ! campo magnético (T)

!******************************************
DO LI=1,NDAT
XB=XP !Tiempo anterior
XP=XP+H !Tiempo nuevo
XM=XB+HH !Tiempo en el punto medio
J=1 !Esta parte calcula k 1.
DO I=1,IM
YA(I)=Y(I)
END DO
XA=XB
CALL FUNCT(EK,J,YA)
J=2 !Esta parte calcula k 2.
DO I=1,IM
YA(I)=Y(I)+EK(1,I)*H/2
END DO
XA=XM
CALL FUNCT(EK,J,YA)
J=3 !Esta parte calcula k 3
DO I=1,IM
YA(I)=Y(I)+EK(2,I)*H/2
END DO
XA=XM
CALL FUNCT(EK,J,YA)
J=4 !Esta parte calcula k 4.
DO I=1,IM
YA(I)=Y(I)+EK(3,I)*H
END DO
XA=XP

CALL FUNCT(EK,J,YA)
DO I=1, IM !Esquema de Runge Kutta de 4o. orden
Y(I)=Y(I)+(EK(1,I)+EK(2,I)*2+EK(3,I)*2+EK(4,I))*H/6
END DO
E=M*(Y(2)**2+Y(4)**2+Y(6)**2)/(2)+C*CE*Y(3)+C*B*(Y(1)*Y(4)-Y(3)*Y(2)) !
Energia
!E=m*l*l*(y(2)**2+y(4)**2)/2+l*(m*g+k*l)*y(1)**2-
2*k*l**2*y(1)*y(3)+l*(m*g+k*l)*y(3)**2 ! Energia
!WRITE(5,'(1x,f10.4,2x,5f12.6)')XP,Y(1),Y(2),Y(3),Y(4),E !
x*,x**,y*,y**,Energia
WRITE(5,*)Y(1),Y(2),Y(3),Y(4),Y(5),Y(6)
END DO
END PROGRAM PARTICULA

!* * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * *
SUBROUTINE FUNCT(EK,J,YA) !DEFINE EL SISTEMA DE EDOS A RESOLVER
DIMENSION EK(0:6,0:10),YA(0:10)
REAL::M,C,B,CE
M=9.11D-31 ! Masa del Electron en kg
C=(-1.602D-19) ! Carga del electron
!CE campo eléctrico (N/C)
!B ! campo magnético (T)

EK(J,1)=YA(2) ! Primera ecuacion diferencial


EK(J,2)=(C*B*YA(3))/M ! Segunda ecuacion direrencial
EK(J,3)=YA(4) ! Tercera ecuacion diferencial
EK(J,4)=(C*CE-C*B*YA(1))/M ! Cuarta ecuacion diferencial
EK(J,5)=YA(5) ! Quinta ecuacion diferencial
EK(J,6)=YA(6) ! Sexta ecuacion diferencial

END SUBROUTINE

También podría gustarte