Advertisement
Thomas_Lillieskold

Data Module for Endurance&Range Calculator

Apr 6th, 2024
1,569
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. MODULE DATA
  2.   USE,INTRINSIC :: iso_fortran_env,only: real64
  3.   IMPLICIT NONE
  4.  
  5.   REAL(kind=real64),PARAMETER :: Rendimiento_Pala = 0.87_real64
  6.   REAL(kind=real64),PARAMETER :: SFC = 0.45_real64 *  (1.658_real64*10_real64**(-6.0_real64))  ![lbf/hp/hr]
  7.   REAL(kind=real64),PARAMETER :: Peso_Despegue = 137293.0_real64                               ![N]
  8.   REAL(kind=real64),PARAMETER :: Superficie = 28                                               ![m²]
  9.  
  10.  
  11.   INTEGER, PARAMETER :: Numero_de_Segmentos = 3
  12.  
  13.   REAL(kind=real64), DIMENSION(Numero_de_Segmentos) :: Altitud
  14.   REAL(kind=real64), DIMENSION(Numero_de_Segmentos) :: Velocidad_Equivalente
  15.   REAL(kind=real64), DIMENSION(Numero_de_Segmentos) :: Distancia
  16.  
  17.   INTEGER, DIMENSION(Numero_de_Segmentos) :: Divisiones
  18.  
  19.  
  20. CONTAINS
  21.  
  22.   SUBROUTINE Asignacion_Parametros_Intervalos()
  23.  
  24. !LOS VALORES DE ALTITUD SE INGRESAN EN PIES [ft]
  25.     Altitud(1) = 10000_real64
  26.     Altitud(2) = 10000_real64
  27.     Altitud(3) = 10000_real64
  28.    
  29. !LOS VALORES DE VELOCIDAD EQUIVALENTE SE INGRESAN EN NUDOS [kts]   
  30.     Velocidad_Equivalente(1) = 249.9786177_real64
  31.     Velocidad_Equivalente(2) = 249.9786177_real64
  32.     Velocidad_Equivalente(3) = 249.9786177_real64
  33.    
  34. !LOS VALORES DE DISTANCIA POR INTERVALO SE INGRESAN EN KILOMETROS [Km] 
  35.     Distancia(1) = 500.0_real64
  36.     Distancia(2) = 1500.0_real64
  37.     Distancia(3) = 2500.0_real64
  38.    
  39. !LOS VALORES DE DIVISIONES POR INTERVALO SE INGRESAN COMO NUMEROS ENTEROS [integer]    
  40.     Divisiones(1) = 100
  41.     Divisiones(2) = 1000
  42.     Divisiones(3) = 10000
  43.    
  44.     END SUBROUTINE Asignacion_Parametros_Intervalos
  45.    
  46.    
  47.     SUBROUTINE Polar (Coeficiente_Sustentacion,Coeficiente_Drag)
  48.        
  49.         REAL(kind=real64), INTENT(IN) :: Coeficiente_Sustentacion
  50.         REAL(kind=real64), INTENT(OUT) :: Coeficiente_Drag
  51.        
  52.         Coeficiente_Drag = 0.02_real64 + 0.05_real64*Coeficiente_Sustentacion**2.0_real64  
  53.        
  54.     END SUBROUTINE Polar   
  55.    
  56.  
  57. END MODULE DATA
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement