Beruflich Dokumente
Kultur Dokumente
=
>
en
| | Tonf
Desarrolle un programa en lenguaje FORTRAN que permita el clculo de la respuesta
por integracin directa, por medio del mtodo de Houbolt.
( )
1 1 1 2 2 2
2
5 4
n n n n n
m m
k u f u u u
t t
+ +
| |
+ = + +
|
A A
\ .
( )
1 1 1 2
1
11 18 9 2
6
n n n n n
u u u u u
t
+ +
= +
A
Aproximacin condiciones iniciales:
1 0 0
u u t u
= A
2 0 0
2 u u t u
= A
PROGRAM met _houbol t
REAL*4 sm, sk, t _i ni , dt , t i me, t _max, u, v, u0, v0
WRITE( *, *) I ngr ese val or es de masa y r i gi dez:
READ( *, *) sm, sk
WRITE( *, *) I ngr ese t i empo i ni ci al y paso de t i empo:
READ( *, *) t _i ni , dt
WRITE( *, *) I ngr ese t i empo mxi mo par a l a r espuest a:
READ( *, *) t _max
WRITE( *, *) I ngr ese condi ci ones i ni ci al es:
READ( *, *) u0, v0
OPEN( 51, FI LE= Resul t ado. t xt , STATUS= UNKNOWN )
. . .
(100%)
Desarrollo:
1. Una alternativa de cdigo para el clculo de la respuesta se presenta a continuacin:
PROGRAM met _houbol t
REAL*4 sm, sk, t _i ni , dt , t i me, t _max
REAL*4 u, v, u_1, u_2, u_aux
REAL*4 d0, d1
C
C Lect ur a de par met r os gener al es
C
WRITE( *, *) I ngr ese val or es de masa y r i gi dez:
READ( *, *) sm, sk
WRITE( *, *) I ngr ese t i empo i ni ci al y paso de t i empo:
READ( *, *) t _i ni , dt
WRITE( *, *) I ngr ese t i empo mxi mo par a l a r espuest a:
READ( *, *) t _max
WRITE( *, *) I ngr ese condi ci ones i ni ci al es:
READ( *, *) u0, v0
C
C Aper t ur a ar chi vo de sal i da
C
OPEN( 51, FI LE= Resul t ado. t xt , STATUS= UNKNOWN )
C
C Respuest a en i nst ant e i ni ci al
C
t i me = t _i ni
u = u0
u_1 = u0 dt *v0
u_2 = u0 2. *dt *v0
d1 = sm/ dt / dt
d0 = 2. *d1 + sk
2.0
WRITE( 51, 100) t i me, u0, v0
100 FORMAT( 3( 4x, e12. 5) )
1.0
C
C Loop par a el cl cul o de l a r espuest a,
C i mpr esi n de r esul t ados
C
DO
1.0
t i me = t i me + dt
1.0
IF ( t i me. GT. t _max) EXIT
u_aux = f unc( t i me)
u_aux = u_aux + d1*( 5. *u- 4. *u_1+u_2)
u_aux = u_aux/ d0
2.0
v = 11. *u_aux 18. *u + 9. *u_1 2*u_2
v = v/ 6. / dt
1.0
u_2 = u_1
u_1 = u
u = u_aux
1.0
WRITE( 51, 100) t i me, u, v
1.0
ENDDO
C
C Fi n de uni dad de pr ogr ama
C
STOP
END
1.0
C
C Eval uaci n de f unci n en el t i empo
C
REAL FUNCTION f unc( t )
REAL pi 2
pi 2 = 6. 28318531
IF ( t . le. pi 2) THEN
f unc = 1. 5*SIN( t )
ELSE
f unc = 0.
ENDIF
RETURN
END
3.0