Practica Laboratorio 1 2
-
Upload
yesincamarena -
Category
Documents
-
view
233 -
download
0
Transcript of Practica Laboratorio 1 2
-
8/18/2019 Practica Laboratorio 1 2
1/13
FISICA TEORICA COMPUTACIONAL II
EJERCICIO Nº 1: Calcule el tiempo necesario para que el nivel del líquido dentro del
tanque esférico con radio R = 5m, ver figura, pase de 4m a 3m, la velocidad de salida
por el orificio del fondo es av 895.4 m/s, el diámetro de dicho orificio es de 10 cm.
Solución
Sea: Se sabe: √
Por tanto:
(√ )
Entonces:
√ C. I.
5m
a
4
2
√
-
8/18/2019 Practica Laboratorio 1 2
2/13
FISICA TEORICA COMPUTACIONAL II
El gráfico muestra el comportamiento de la variación del líquido cuando está lleno.
El gráfico según las condiciones del problema y del resultado es:
-
8/18/2019 Practica Laboratorio 1 2
3/13
FISICA TEORICA COMPUTACIONAL II
PROGRAMA MEDIANTE EL METODO DE EULER
EN FORTRAN 90, mediante el método de EULER
PROGRAM EULER !! 25-SET-2015! ------------------------------------------------------------------
! REALIZADO POR: J.TORDOCILLO /UNIV. NAC. DEL CALLAO, PERÚ! EDO POR METODO DE EULER! ------------------------------------------------------------------! DECLARACIÓN DE TIPOS! ==================================================================IMPLICIT NONEREAL, DIMENSION (1000000)::X,YREAL :: A, B,C,H,FINTEGER :: N !NUMERO MAXIMO DE ITERACIONESINTEGER :: I! ------------------------------------------------------------------
! ENTRADA DE DATOS! ------------------------------------------------------------------WRITE( *, 10, ADVANCE = 'NO' ) 'INGRESE LIMITE INFERIOR A: 'READ*,AWRITE( *, 10, ADVANCE = 'NO' ) 'INGRESE LIMITE SUPERIOR B: 'READ*,BWRITE( *, 10, ADVANCE = 'NO' ) 'NUMERO DE SUB INTERVALOS N 'READ*,NWRITE( *, 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 1H=(B-A)/REAL(N)
X(0)=AY(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-1X(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
-
8/18/2019 Practica Laboratorio 1 2
4/13
FISICA TEORICA COMPUTACIONAL II
EL SUBPROGRAMA ES:
FUNCTION F(X,Y)IMPLICIT NONEREAL F,X,Y,A2,PI,D
PI=4*TAN(1.0)D=0.1A2=PI*(D**2/4)F=(-A2*(4.895*SQRT(Y))/(PI*(10*Y-(Y*Y)))) +X*0RETURNENDLECTURA DE DATOS EN MATLABhold 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 método de Euler.
SUGERENCIA:
Sea y1 y y2 las variables dependientes del tiempo común 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 numéricamente las EDO de orden superior el sistema es transformado a
derivadas de primer orden.
Sea la siguiente expresión:
, , Con Solución:
; Reemplazando se tiene:
Despejando se tiene:
-
8/18/2019 Practica Laboratorio 1 2
5/13
FISICA TEORICA COMPUTACIONAL II
Por tanto:
Elaborar un programa y graficar, para el ejemplo anteriorEJERCICIOS N° : Un depósito tiene forma cilíndrico de radio 1.5m como se muestra
en la figura, contiene un líquido de densidad a una altura “h” de 3m,tiene una válvula que inicialmente se encuentra cerrada y cuando se abre
completamente la velocidad de salida de , donde a es el área seccional deltubo de salida y es 78.5x10-4 m2 y g =9.81 m/s2. Se desea saber cómo varia la altura a lo largo de tres minutos cuando la válvula está
completamente abierto. Utilizar el método de RK4 y graficar el comportamiento.
a) Se desea saber luego de tres minutos cual es la altura del líquido.
Velocidad de salida: Entonces: Donde: ;
-
8/18/2019 Practica Laboratorio 1 2
6/13
FISICA TEORICA COMPUTACIONAL II
Por tanto:
(A es el área de la sección transversal del tanque)
C. I. RESULTADO SE MUESTRA EN LA SIGUIENTE FIGURA
-
8/18/2019 Practica Laboratorio 1 2
7/13
FISICA TEORICA COMPUTACIONAL II
METODOS DE RUNGE KUTTA
Los métodos de Runge Kutta, son métodos implícitos y tienen el error de truncamiento
local de un alto orden respecto a los métodos explícitos.
METODO DE RUNGE KUTTA DE ORDEN DOS
El método de RK2 simula la precisión del método de Taylor de orden dos, el proceso
que se muestra a continuación permiten ilustrar las ideas involucradas a los métodos
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 método de runge kutta de orden dos utiliza una combinación lineal de dos funciones
de la forma:
(6)Donde: (7) (8)Usando la fórmula de Taylor para una función de dos variables, se aproxima obteniendo la siguiente representación.
(9)Reemplazando (7) y (9) en (6):
* +
-
8/18/2019 Practica Laboratorio 1 2
8/13
FISICA TEORICA COMPUTACIONAL II
Finalmente se obtiene:
Comparando con (5) se tiene:
Entonces el método de RK2 tiene elecciones posibles para asignar un valor:
Caso 1: , lo que permite a deducir: , , Entonces:
Método de Heun
Caso 2: , lo que permite a deducir: , , Entonces: Método de Euler modificado o de CauchyPara el método de RK2 tenemos el método conocido:
Elaborar un programa utilizando el método 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
-
8/18/2019 Practica Laboratorio 1 2
9/13
FISICA TEORICA COMPUTACIONAL II
Probar y comparar el resultado anterior utilizando la expresión DOWHILE
DO WHILE(COUNT
-
8/18/2019 Practica Laboratorio 1 2
10/13
FISICA TEORICA COMPUTACIONAL II
Código 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 evolución del líquido en el ejemplo 2
Para derivadas de orden superior mediante RK4, se deduce de la misma forma para el método
de Euler.
Sea la siguiente expresión:
, , Con Solución:
Reemplazando se tiene:
-
8/18/2019 Practica Laboratorio 1 2
11/13
FISICA TEORICA COMPUTACIONAL II
Entonces para RK4 tenemos.
Entonces para RK2 tenemos.
Elaborar la evolución del ejemplo anterior mediante los dos métodos (RK2 y RK4)
-
8/18/2019 Practica Laboratorio 1 2
12/13
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:
-
8/18/2019 Practica Laboratorio 1 2
13/13
FISICA TEORICA COMPUTACIONAL II
PARA EL CASO DE UN SISTEMA DE DOS ECUACIONES DIFERENCIALES ORDINARIAS
! PASO 1H=(B-A)/NT=A
! PASO 2W1=ALPHA1W2=ALPHA2
! PASO 3WRITE(8,60) T,W1,W2
! PASO 4DO I=1,N! PASO 5
X11=H*F1(T,W1,W2)X12=H*F2(T,W1,W2)
! PASO 6X21=H*F1(T+H/2,W1+X11/2,W2+X12/2)X22=H*F2(T+H/2,W1+X11/2,W2+X12/2)
! PASO 7X31=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 9W1=W1+(X11+2*X21+2*X31+X41)/6W2=W2+(X12+2*X22+2*X32+X42)/6
! PASO 10T=I*H
! PASO 11WRITE(8,60) T,W1,W2
END DOWRITE(8,60) T,W1,W2
END DO! PASO 12
CLOSE(8)60 FORMAT(3(1X,E15.8))
Completar el programa y mostrar gráficamente el ejemplo 4. , ,