types.f90 Source File


This file depends on

sourcefile~~types.f90~~EfferentGraph sourcefile~types.f90 types.f90 sourcefile~constans.f90 constans.f90 sourcefile~types.f90->sourcefile~constans.f90

Files dependent on this one

sourcefile~~types.f90~~AfferentGraph sourcefile~types.f90 types.f90 sourcefile~data_input.f90 data_input.f90 sourcefile~data_input.f90->sourcefile~types.f90 sourcefile~routines.f90 routines.f90 sourcefile~routines.f90->sourcefile~types.f90 sourcefile~routines.f90->sourcefile~data_input.f90 sourcefile~prueba.f90 prueba.f90 sourcefile~prueba.f90->sourcefile~data_input.f90

Source Code

module dtypes
   use constants, only: pr

   implicit none
   type :: FluidData
      integer :: def_comp_nc !! number of defined components being considered in the oil
      integer :: scn_nc !! number of single cuts being considered in the oil
      integer :: scn_nc_ps !! CN from which all SCN fractions will be lumped into the specified number of pseudos
      integer :: numbers_ps !! number of pseudos in which the scn fractions grouped.
      character(len=:), allocatable :: filename 
      integer, allocatable :: scn (:) !! set of singles cuts being considered in the oil 
      character(len=15), allocatable :: def_components (:) !! set of defined components being considered in the oil  
      character(len=15) :: scn_plus !! name of residual fraction 
      real(pr), allocatable :: def_comp_z(:) !! set of corresponding mole fractions of defined components 
      real(pr), allocatable :: scn_z(:) !!  set of corresponding mole fractions of scn cuts 
      real(pr), allocatable :: def_comp_mw(:) !! set of corresponding molecular weights of defined components 
      real(pr), allocatable :: scn_mw(:) !! set of corresponding molecular weights of scn cuts
      real(pr), allocatable:: product_z_mw_def_comp(:) !! product between composition and molecular weight of defind components
      real(pr), allocatable:: product_z_mw_scn(:) !! product between composition and molecular weight of scn fractions
      real(pr) :: sum_z_mw_i !!  sum of the product between composition and molecular weight of the fluid's compounds
      real(pr), allocatable :: w(:) !! mass fractions of the fluid's compounds
      real(pr) :: plus_z !! composition of residual fraction
      real(pr) :: plus_mw !!  molecular weight of residual fraction 
      real(pr) :: product_z_mw_plus !! product between composition and molecular weight of residual fraction
      real(pr), allocatable :: def_comp_w(:) !! mass fractions of the defined compounds
      real(pr), allocatable :: scn_w(:) !! !! mass fractions of the scn-s compounds
      real(pr) :: plus_w !! mass fractions of the plus fraction
      real(pr), allocatable :: scn_density(:) !! set of corresponding densities of scn cuts
      real(pr) :: plus_density !! experimental density of the plus fraction
   end type FluidData

   type :: FluidDataOut
      ! incluir aqui las variables que quiero que salgan como salida
      real(pr), allocatable :: scn_z(:) !!  set of corresponding mole fractions of scn cuts calculated
      real(pr), allocatable :: log_scn_z(:) !!  set of corresponding mole fractions of scn cuts calculated
      real(pr) :: plus_mw !!  molecular weight of residual fraction
      real(pr) :: plus_z !! composition of residual fraction
      real(pr) :: C !! C constants which is used in equation \[M = 84-characterization%C(i-6)\]
      real(pr), allocatable :: scn_mw(:) !! set of corresponding molecular weights of scn cuts
      real(pr), allocatable :: scn_zm (:)
      real(pr) :: plus_zm
      real(pr) :: a_blr !! A constant for best linear regression line.
      real(pr) :: b_blr !! B constant for best linear regression line.
      real(pr) :: a_60 !! A constant for Cmax60 line.
      real(pr) :: b_60 !! B constant for Cmax60 line.
      real(pr) :: a_lim !! A constant for limit feasible line.
      real(pr) :: b_lim !! B constant for limit feasible line.
      real(pr) :: a !! output real variable. Slope of the best feasible regression line.
      real(pr) :: b !! output real variable. Intercept of the best feasible regression line.
      real(pr) :: r2 !! output real variable. Square correlation coefficient.
      integer :: n_init ! minimum carbon number obtained from the best linear regression
      integer :: c_max_blr, c_max_lim, c_max_60
      integer :: nc_plus !! number of elements in the distribution of C20+
      integer :: c_max  !! output CN at which plus_z is reached, as the summation of single z(i) from the best linear distribution (blr)
      real(pr), allocatable :: carbon_number_plus(:)
      real(pr), allocatable :: plus_z_i(:)
      real(pr), allocatable  :: product_z_mw_plus_i(:)
      real(pr) :: a_d !! ad constant which is used in equation \[rho_i = ad*exp(-i/10) +bd\] for density.
      real(pr) :: b_d !! bd constant which is used in equation \[rho_i = ad*exp(-i/10) +bd\] for density.
      real(pr) :: volume_6plus_cal
      integer :: last_C
      integer :: i_last
      real(pr), allocatable :: scn_i(:)
      real(pr), allocatable :: plus6_density(:)
      real(pr) :: plus_w
   end type FluidDataOut

end module dtypes