You are on page 1of 13

FISICA TEORICA COMPUTACIONAL II

EJERCICIO N 1: Calcule el tiempo necesario para que el nivel del lquido dentro del
tanque esfrico con radio R = 5m, ver figura, pase de 4m a 3m, la velocidad de salida
por el orificio del fondo es v 4.895 a m/s, el dimetro de dicho orificio es de 10 cm.
Solucin

5m

Sea:
Se sabe:

Por tanto:

Entonces:

C. I.

Calc
ule
el
tiem
po
nece
sario
para
que
el
nivel
del
lqui
do
dent
ro
del
tanq
ue
esfr
ico
(
con
radio
r=
5m,
ver
figur
a,
pase
de
4m a
3m,
la
veloc
idad
de
salid
a por

FISICA TEORICA COMPUTACIONAL II

El grfico muestra el comportamiento de la variacin del lquido cuando est lleno.

El grfico segn las condiciones del problema y del resultado es:

FISICA TEORICA COMPUTACIONAL II

PROGRAMA MEDIANTE EL METODO DE EULER


EN FORTRAN 90, mediante el mtodo de EULER

PROGRAM EULER
!! 25-SET-2015
! -----------------------------------------------------------------! REALIZADO POR: J.TORDOCILLO /UNIV. NAC. DEL CALLAO, PER
! EDO POR METODO DE EULER
! -----------------------------------------------------------------! DECLARACIN DE TIPOS
! ==================================================================
IMPLICIT NONE
REAL, DIMENSION (1000000)::X,Y
REAL :: A, B,C,H,F
INTEGER ::
N !NUMERO MAXIMO DE ITERACIONES
INTEGER ::
I
! -----------------------------------------------------------------! ENTRADA DE DATOS
! -----------------------------------------------------------------WRITE( *, 10, ADVANCE = 'NO' ) 'INGRESE LIMITE INFERIOR A: '
READ*,A
WRITE( *, 10, ADVANCE = 'NO' ) 'INGRESE LIMITE SUPERIOR B: '
READ*,B
WRITE( *, 10, ADVANCE = 'NO' ) 'NUMERO DE SUB INTERVALOS N '
READ*,N
WRITE( *, 10, ADVANCE = 'NO' ) 'CONDICION INICIAL Y(0): '
READ*,C
10 FORMAT( 1X,A )
OPEN (20,FILE='AEULER.TXT',STATUS='UNKNOWN',ACTION='WRITE')
WRITE (20,300) ' '
300 FORMAT(10X,A)
!PASO 1
H=(B-A)/REAL(N)
X(0)=A
Y(0)=C
WRITE(*,30)
30 FORMAT(8X,' X ',5X,' F(X) ')
WRITE(20,40)X(0),Y(0)
40 FORMAT(1X,F20.8,1X,F20.8)
!PASO 2
DO I=0,N-1
X(I+1)=X(I)+H
Y(I+1)=Y(I)+H*F(X(I),Y(I))
!PASO 3
WRITE(*,40)X(I+1),Y(I+1)
WRITE(20,40)X(I+1),Y(I+1)
END DO
END PROGRAM EULER

FISICA TEORICA COMPUTACIONAL II


EL SUBPROGRAMA ES:
FUNCTION F(X,Y)
IMPLICIT NONE
REAL F,X,Y,A2,PI,D
PI=4*TAN(1.0)
D=0.1
A2=PI*(D**2/4)
F=(-A2*(4.895*SQRT(Y))/(PI*(10*Y-(Y*Y)))) +X*0
RETURN
END
LECTURA DE DATOS EN MATLAB
hold on
A=load('AEULER.TXT');
X=A(:,1);
Y=A(:,2);
plot(X,Y,'b-')

Hacer los cambios respectivos y elaborar un programa para resolver el sistema de ecuaciones
diferenciales ordinarias mediante el mtodo de Euler.
SUGERENCIA:

Sea y1 y y2 las variables dependientes del tiempo comn del problema 4. Incorporar la
idea de la sugerencia dentro de su programa.
a) Graficar:

y1(i+1) = y1(i) + h * f1( t(i),y1(i))


y2(i+1) = y2(i) + h * f2( t(i),y2(i))

Para resolver numricamente las EDO de orden superior el sistema es transformado a


derivadas de primer orden.
Sea la siguiente expresin:
,
Con
Solucin:
;
Reemplazando se tiene:

Despejando se tiene:

FISICA TEORICA COMPUTACIONAL II

Por tanto:

Elaborar un programa y graficar,

para el ejemplo anterior

EJERCICIOS N2: Un depsito tiene forma cilndrico de radio 1.5m como se muestra
en la figura, contiene un lquido de densidad

a una altura h de 3m,

tiene una vlvula que inicialmente se encuentra cerrada y cuando se abre


completamente la velocidad de salida de

, donde a es el rea seccional del

tubo de salida y es 78.5x10-4 m2 y g =9.81 m/s2.


Se desea saber cmo varia la altura a lo largo de tres minutos cuando la vlvula est
completamente abierto. Utilizar el mtodo de RK4 y graficar el comportamiento.
a) Se desea saber luego de tres minutos cual es la altura del lquido.

Velocidad de salida:

Entonces:
Donde:

FISICA TEORICA COMPUTACIONAL II

Por tanto:

(A es el rea de la seccin transversal del tanque)

C. I.

RESULTADO SE MUESTRA EN LA SIGUIENTE FIGURA

FISICA TEORICA COMPUTACIONAL II


METODOS DE RUNGE KUTTA

Los mtodos de Runge Kutta, son mtodos implcitos y tienen el error de truncamiento
local de un alto orden respecto a los mtodos explcitos.
METODO DE RUNGE KUTTA DE ORDEN DOS

El mtodo de RK2 simula la precisin del mtodo de Taylor de orden dos, el proceso
que se muestra a continuacin permiten ilustrar las ideas involucradas a los mtodos
de Runge Kutta en general.
Partiendo de la serie de Taylor:
(1)
Considerando:

(2)

Derivando respecto a t y usando la regla de la cadena para funciones de dos variables:


(3)
Reemplazando (2) en (3) tenemos:
(4)
Reemplazando (3) y (4) en (1):

(5)

El mtodo de runge kutta de orden dos utiliza una combinacin lineal de dos funciones
de la forma:
(6)

Donde:

(7)
(8)

Usando la frmula de Taylor para una funcin de dos variables, se aproxima


obteniendo la siguiente representacin.
(9)
Reemplazando (7) y (9) en (6):

*
+

FISICA TEORICA COMPUTACIONAL II


Finalmente se obtiene:

Comparando con (5) se tiene:

Entonces el mtodo de RK2 tiene elecciones posibles para asignar un valor:


Caso 1:

, lo que permite a deducir:


,

Entonces:
[

Caso 2:

] Mtodo de Heun

, lo que permite a deducir:

Entonces:
Mtodo de Euler modificado o de Cauchy

Para el mtodo de RK2 tenemos el mtodo conocido:

Elaborar un programa utilizando el mtodo RK2 para el Ejemplo 2, del LABORATORIO


N 1:

Sugerencias:
DO I=0,N-1
X(I+1)=X(I)+H
K1=H*F(X(I),Y(I))
K2=H*F(X(I)+H,Y(I)+H*K1)
Y(I+1)=Y(I)+(K1+K2)/2
WRITE(*,40)X(I+1),Y(I+1)
END DO

FISICA TEORICA COMPUTACIONAL II

Probar y comparar el resultado anterior utilizando la expresin DOWHILE


DO WHILE(COUNT<N)
K1=H*F(X,Y)
K2=H*F(X+H,Y+H*K1)
Y2=Y+(K1+K2)/2
X2=X+H
WRITE(*,40)X2,Y2
X=X2
Y=Y2
COUNT=COUNT+1
END DO

Runge Kutta del orden cuatro (RK4)


El mtodo de Runge Kutta se construyen a partir del mtodo de Taylor digamos de orden N, de
tal manera que el error global final sea del mismo orden
pero se evita la evaluacin de
las derivadas parciales, y se consigue a cambio de evaluar en cada paso en funcin de varios
puntos.
Consiste en calcular la aproximacin

Donde:

de la siguiente forma:

son de la forma:

A partir de estas expresiones Runge y Kutta deducen 11 ecuaciones con 13 incgnitas. Para
encontrar los valores es necesario aadir condiciones iniciales, por lo que la eleccin ms til
resulta ser:
y
Con esto los valores de la solucin para los dems variables son:
,
,

Reemplazando en las expresiones de anteriores se encuentra:

FISICA TEORICA COMPUTACIONAL II

Cdigo en FORTRAN es como sigue:


DO I=0,N-1
X(I+1)=X(I)+H
K1=H*F(X(I),Y(I))
K2=H*F(X(I)+0.5*H,Y(I)+0.5*K1)
K3=H*F(X(I)+0.5*H,Y(I)+0.5*K2)
K4=H*F(X(I)+H,Y(I)+0.5*K3)
Y(I+1)=Y(I)+((K1+2*(K2+K3)+K4)/6 )
WRITE(*,40)X(I+1),Y(I+1)
END DO

Utilizar Runge Kutta de cuarto orden para mostrar la evolucin del lquido en el ejemplo 2

Para derivadas de orden superior mediante RK4, se deduce de la misma forma para el mtodo
de Euler.
Sea la siguiente expresin:
,
Con
Solucin:

Reemplazando se tiene:

FISICA TEORICA COMPUTACIONAL II


Entonces para RK4 tenemos.

( ( )

( )

( ( )(

( ( )

( ( )(

( )(

))

( )

( )(

))

Entonces para RK2 tenemos.

( ( )

( ( )

( )
[
[

( )

]
]

Elaborar la evolucin del ejemplo anterior mediante los dos mtodos (RK2 y RK4)

FISICA TEORICA COMPUTACIONAL II

Sistema de ecuaciones para RK4, es de la forma:


PASO 1:

PASO 2: Para
PASO 3: Salida:
PASO 4: Para

hasta

PASO 5: Para

PASO 6: Para

PASO 7: Para

PASO 8: Para

PASO 9: Para
(
PASO 10:
PASO 11:

FISICA TEORICA COMPUTACIONAL II


PARA EL CASO DE UN SISTEMA DE DOS ECUACIONES DIFERENCIALES ORDINARIAS
! PASO 1
H=(B-A)/N
T=A
! PASO 2
W1=ALPHA1
W2=ALPHA2
! PASO 3
WRITE(8,60) T,W1,W2
! PASO 4
DO I=1,N
!
PASO 5
X11=H*F1(T,W1,W2)
X12=H*F2(T,W1,W2)
!
PASO 6
X21=H*F1(T+H/2,W1+X11/2,W2+X12/2)
X22=H*F2(T+H/2,W1+X11/2,W2+X12/2)
!
PASO 7
X31=H*F1(T+H/2,W1+X21/2,W2+X22/2)
X32=H*F2(T+H/2,W1+X21/2,W2+X22/2)
!
PASO 8
X41=H*F1(T+H,W1+X31,W2+X32)
X42=H*F2(T+H,W1+X31,W2+X32)
!
PASO 9
W1=W1+(X11+2*X21+2*X31+X41)/6
W2=W2+(X12+2*X22+2*X32+X42)/6
!
PASO 10
T=I*H
!
PASO 11
WRITE(8,60) T,W1,W2
END DO
WRITE(8,60) T,W1,W2
END DO
! PASO 12
CLOSE(8)
60 FORMAT(3(1X,E15.8))

Completar el programa y mostrar grficamente el ejemplo 4.

You might also like