Practica Laboratorio 1 2

download Practica Laboratorio 1 2

of 13

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.    ,   ,