Logo Studenta

Actividad_1_Cesar_Rodriguez

¡Este material tiene más páginas!

Vista previa del material en texto

Universdad Autónoma de Querétaro
Actividad 1
F́ısica computacional
César Iván Rodŕıguez Rivas
221393
Fecha de entrega: 24 de noviembre 2022
1. Ecuaciones numéricas de los tres métodos aplicados al pro-
blema del oscilador armónico simple.
Para posición (Θ) ⇒ x1n y para velocidad (ω) ⇒ x2n
Además: f1 = x2 y f2 = − gL ∗ sin(x1)
1.1. Primer orden
x1n = x1 + h ∗ k11
x2n = x2 + h ∗ k12
donde:
k11 = f1(tn, x1, x2)
k12 = f2(tn, x1, x2)
1.2. Segundo orden
x1n = x1 + h ∗ k21
x2n = x2 + h ∗ k22
donde:
k11 = f1(tn, x1, x2)
k12 = f2(tn, x1, x2)
k21 = f1(tn +
h
2 , x1 +
h
2 ∗ k11, x2 +
h
2 ∗ k21)
k22 = f2(tn +
h
2 , x1 +
h
2 ∗ k21, x2 +
h
2 ∗ k21)
1
1.3. Cuarto orden
x1n = x1 +
h
6 (k11 + 2 ∗ k12 + 2 ∗ k13 + k14)
x2n = x2 +
h
6 (k11 + 2 ∗ k12 + 2 ∗ k13 + k14)
donde:
k11 = f1(tn, x1, x2)
k12 = f2(tn, x1, x2)
k12 = f1(tn +
h
2 , x1 +
h
2 ∗ k11, x2 +
h
2 ∗ k21)
k22 = f2(tn +
h
2 , x1 +
h
2 ∗ k21, x2 +
h
2 ∗ k21)
k13 = f1(tn +
h
2 , x1 +
h
2 ∗ k21, x2 +
h
2 ∗ k22)
k23 = f2(tn +
h
2 , x1 +
h
2 ∗ k22, x2 +
h
2 ∗ k22)
k14 = f1(tn + h, x1 + h ∗ k13, x2 + h ∗ k23)
k24 = f2(tn + h, x1 + h ∗ k23, x2 + h ∗ k23)
2. Graficas
Figura 1: Posición vs tiempo; Runge Kutta de primer orden, segundo orden, cuarto orden; con N=100
2
Figura 2: Posición vs tiempo; Runge Kutta de primer orden, segundo orden, cuarto orden; con N=500
Figura 3: Posición vs tiempo; Runge Kutta de primer orden, segundo orden, cuarto orden; con N=1000
3
Figura 4: Velocidad vs tiempo; Runge Kutta de primer orden, segundo orden, cuarto orden; con N=100
Figura 5: Velocidad vs tiempo; Runge Kutta de primer orden, segundo orden, cuarto orden; con N=500
4
Figura 6: Velocidad vs tiempo; Runge Kutta de primer orden, segundo orden, cuarto orden; con N=1000
Figura 7: Posición vs velocidad; Runge Kutta de primer orden, segundo orden, cuarto orden; con
N=100
5
Figura 8: Posición vs velocidad; Runge Kutta de primer orden, segundo orden, cuarto orden; con
N=500
Figura 9: Posición vs velocidad; Runge Kutta de primer orden, segundo orden, cuarto orden; con
N=1000
6
3. Códigos
3.1. Runge Kutta de primer orden
PROGRAM RK1
! Este programa r e su e l v e l a s e cuac ione s de l pendulo s imple
! usando e l metodo de Runge Kutta de primer orden
IMPLICIT NONE
REAL T,X1 ,X2 , Tin , X1in , X2in , PI , Tfi , h
INTEGER N, i
a l l o c a t a b l e : : T( : ) , X1 ( : ) , X2 ( : )
N=1000
a l l o c a t e (T(N) ,X1(N) ,X2(N) )
!
Tin=0.0
Tf i =5.0
h=(Tfi−Tin )/N
X1in=45.0
X2in=0.0
!
PI=4.0∗ atan ( 1 . 0 )
X1in=X1in ∗(PI /180)
X2in=X2in ∗(PI /180)
!
T(1)=0.0
X1(1)=X1in
X2(1)=X2in
!
c a l l RK(T,X1 ,X2 ,N, h)
OPEN(5 ,FILE=’PenduloRK1 . dat ’ )
DO i =1,N
WRITE(5 ,∗ )T( i ) ,X1( i )∗(180/PI ) ,X2( i )∗(180/PI )
END DO
CLOSE(5)
END PROGRAM
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
SUBROUTINE RK(T,X1 ,X2 ,N, h)
IMPLICIT NONE
REAL T(N) ,X1(N) ,X2(N) , h
INTEGER N, i
!
DO i =2,N
c a l l RKstep (T( i −1) ,X1( i −1) ,X2( i −1) ,T( i ) ,X1( i ) ,X2( i ) ,N, h)
END DO
!
RETURN
END SUBROUTINE
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
SUBROUTINE RKstep (Tn,X1n ,X2n ,Tn1 , X1n1 , X2n1 ,N, h)
IMPLICIT NONE
REAL Tn,X1n ,X2n ,Tn1 , X1n1 , X2n1 , h , k11 , k21 , f1 , f 2
INTEGER N
7
!
k11=f1 (Tn,X1n ,X2n) ! f 1 es para obtener X1
X1n1=X1n+h∗k11
!
k21=f2 (Tn,X1n ,X2n) ! f 2 es para obtener X2
X2n1=X2n+h∗k21
!
Tn1=Tn+h ! Tiempo
!
RETURN
END SUBROUTINE
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
FUNCTION f1 (Tn,X1n ,X2n)
IMPLICIT NONE
REAL f1 ,Tn,X1n ,X2n
!
f 1=X2n
!
RETURN
END FUNCTION
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
FUNCTION f2 (Tn,X1n ,X2n)
IMPLICIT NONE
REAL f2 ,Tn,X1n ,X2n , g , L
!
g=9.81
L=1.0
!
f 2=−(g/L)∗ s i n (X1n)
!
RETURN
END FUNCTION
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
3.2. Runge Kutta de segundo orden
PROGRAM RK2
! Este programa r e su e l v e l a s e cuac ione s de l pendulo s imple
! usando e l metodo de Runge Kutta de segundo orden
IMPLICIT NONE
REAL T,X1 ,X2 , Tin , X1in , X2in , PI , Tfi , h
INTEGER N, i
a l l o c a t a b l e : : T( : ) , X1 ( : ) , X2 ( : )
N=500
a l l o c a t e (T(N) ,X1(N) ,X2(N) )
!
Tin=0.0
Tf i =5.0
h=(Tfi−Tin )/N
X1in=45.0
X2in=0.0
8
!
PI=4.0∗ atan ( 1 . 0 )
X1in=X1in ∗(PI /180)
X2in=X2in ∗(PI /180)
!
T(1)=0.0
X1(1)=X1in
X2(1)=X2in
!
c a l l RK(T,X1 ,X2 ,N, h)
OPEN(5 ,FILE=’PenduloRK2 . dat ’ )
DO i =1,N
WRITE(5 ,∗ )T( i ) ,X1( i )∗(180/PI ) ,X2( i )∗(180/PI )
END DO
CLOSE(5)
END PROGRAM
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
SUBROUTINE RK(T,X1 ,X2 ,N, h)
IMPLICIT NONE
REAL T(N) ,X1(N) ,X2(N) , h
INTEGER N, i
!
DO i =2,N
c a l l RKstep (T( i −1) ,X1( i −1) ,X2( i −1) ,T( i ) ,X1( i ) ,X2( i ) ,N, h)
END DO
!
RETURN
END SUBROUTINE
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
SUBROUTINE RKstep (Tn,X1n ,X2n ,Tn1 , X1n1 , X2n1 ,N, h)
IMPLICIT NONE
REAL Tn,X1n ,X2n ,Tn1 , X1n1 , X2n1 , h , k11 , k21 , k12 , k22 , f1 , f 2
REAL h2
INTEGER N
!
h2=h/2 .0
!
k11=f1 (Tn,X1n ,X2n) ! f 1 es para obtener X1
!
k21=f2 (Tn,X1n ,X2n) ! f 2 es para obtener X2
!
k12=f1 (Tn+h2 ,X1n+(h2∗k11 ) ,X2n+(h2∗k21 ) )
!
k22=f2 (Tn+h2 ,X1n+(h2∗k21 ) ,X2n+(h2∗k21 ) )
!
X1n1=X1n+(h∗k12 )
X2n1=X2n+(h∗k22 )
!
Tn1=Tn+h ! Tiempo
!
RETURN
END SUBROUTINE
9
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
FUNCTION f1 (Tn,X1n ,X2n)
IMPLICIT NONE
REAL f1 ,Tn,X1n ,X2n
!
f 1=X2n
!
RETURN
END FUNCTION
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
FUNCTION f2 (Tn,X1n ,X2n)
IMPLICIT NONE
REAL f2 ,Tn,X1n ,X2n , g , L
!
g=9.81
L=1.0
!
f 2=−(g/L)∗ s i n (X1n)
!
RETURN
END FUNCTION
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
3.3. Runge Kutta de cuarto orden
PROGRAM RK4
! Este programa r e su e l v e l a s e cuac ione s de l pendulo s imple
! usando e l metodo de Runge Kutta de cuarto orden
IMPLICIT NONE
REAL T,X1 ,X2 , Tin , X1in , X2in , PI , Tfi , h
INTEGER N, i
a l l o c a t a b l e : : T( : ) , X1 ( : ) , X2 ( : )
N=500
a l l o c a t e (T(N) ,X1(N) ,X2(N) )
!
Tin=0.0
Tf i =5.0
h=(Tfi−Tin )/N
X1in=45.0
X2in=0.0
!
PI=4.0∗ atan ( 1 . 0 )
X1in=X1in ∗(PI /180)
X2in=X2in ∗(PI /180)
!
T(1)=0.0
X1(1)=X1in
X2(1)=X2in
!
c a l l RK(T,X1 ,X2 ,N, h)
OPEN(5 ,FILE=’PenduloRK4 . dat ’ )
10
DO i =1,N
WRITE(5 ,∗ )T( i ) ,X1( i )∗(180/PI ) ,X2( i )∗(180/PI )
END DO
CLOSE(5)
END PROGRAM
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
SUBROUTINE RK(T,X1 ,X2 ,N, h)
IMPLICIT NONE
REAL T(N) ,X1(N) ,X2(N) , h
INTEGER N, i
!
DO i =2,N
c a l l RKstep (T( i −1) ,X1( i −1) ,X2( i −1) ,T( i ) ,X1( i ) ,X2( i ) ,N, h)
END DO
!
RETURN
END SUBROUTINE
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
SUBROUTINE RKstep (Tn,X1n ,X2n ,Tn1 , X1n1 , X2n1 ,N, h)
IMPLICIT NONE
REAL Tn,X1n ,X2n ,Tn1 , X1n1 , X2n1 , h , k11 , k21 , k12 , k22 , k13 , k23 , k14 , k24 , f1 , f 2
REAL h2 , h6
INTEGER N
!
h2=h/2 .0
h6=h/6 .0
!
k11=f1 (Tn,X1n ,X2n) ! f 1 es para obtener X1
k21=f2 (Tn,X1n ,X2n) ! f 2 es para obtener X2
k12=f1 (Tn+h2 ,X1n+(h2∗k11 ) ,X2n+(h2∗k21 ) )
k22=f2 (Tn+h2 ,X1n+(h2∗k11 ) ,X2n+(h2∗k21 ) )
k13=f1 (Tn+h2 ,X1n+(h2∗k12 ) ,X2n+(h2∗k22 ) )
k23=f2 (Tn+h2 ,X1n+(h2∗k12 ) ,X2n+(h2∗k22 ) )
k14=f1 (Tn+h ,X1n+(h∗k13) ,X2n+(h∗k23 ) )
k24=f2 (Tn+h ,X1n+(h∗k13 ) ,X2n+(h∗k23 ) )
!
X1n1=X1n+h6 ∗( k11+2∗(k12+k13)+k14 )
X2n1=X2n+h6 ∗( k21+2∗(k22+k23)+k24 )
!
Tn1=Tn+h ! Tiempo
!
RETURN
END SUBROUTINE
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
FUNCTION f1 (Tn,X1n ,X2n)
IMPLICIT NONE
REAL f1 ,Tn,X1n ,X2n
!
f 1=X2n
!
RETURN
END FUNCTION
11
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
FUNCTION f2 (Tn,X1n ,X2n)
IMPLICIT NONE
REAL f2 ,Tn,X1n ,X2n , g , L
!
g=9.81
L=1.0
!
f 2=−(g/L)∗ s i n (X1n)
!
RETURN
END FUNCTION
! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
12

Otros materiales

Materiales relacionados

5 pag.
Examen_1_Cesar_Rodriguez

Instituto San Javier

User badge image

nittazurat

AnalisisdeEstructurasJairoUribe

SIN SIGLA

User badge image

Yovany Gaona

447 pag.
Mecánica de Estructuras

Escuela Universidad Nacional

User badge image

Diana Milena Bastidas