pruebas Module


Uses

  • module~~pruebas~~UsesGraph module~pruebas pruebas module~constants constants module~pruebas->module~constants module~data_from_input data_from_input module~pruebas->module~data_from_input iso_fortran_env iso_fortran_env module~constants->iso_fortran_env module~data_from_input->module~constants module~dtypes dtypes module~data_from_input->module~dtypes module~dtypes->module~constants

Subroutines

public subroutine Best_Linear_Regression(scn_nc, scn, scn_z, plus_z, a, b, r2, n_init, c_max_blr)

This subroutine calculates the best regression line for an oil.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: scn_nc

integer input variable set to the total number of single cuts being considered in the oil

integer, intent(in), allocatable :: scn(:)

set of singles cuts being considered in the oil

real(kind=pr), intent(in), allocatable :: scn_z(:)

set of corresponding mole fractions of scn cuts

real(kind=pr), intent(in) :: plus_z

composition of residual fraction from input file

real(kind=pr), intent(out) :: a

output real variable. Slope of the best regression line.

real(kind=pr), intent(out) :: b

output real variable. Intercept of the best regression line.

real(kind=pr), intent(out) :: r2

output real variable. Square correlation coefficient.

integer, intent(out) :: n_init

minimum carbon number obtained from the best linear regression

integer, intent(out) :: c_max_blr

output CN at which plus_z is reached, as the summation of single z(i) from the best linear distribution (blr)

public subroutine LimitLine(scn_nc, scn, plus_z, a_blr, b_blr, a_lim, b_lim, c_max_lim, half)

This subroutine obtains the limit line constants for an oil.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: scn_nc

integer input variable set to the total number of single cuts being considered in the oil

integer, intent(in), allocatable :: scn(:)

set of singles cuts being considered in the oil

real(kind=pr), intent(in) :: plus_z

composition of residual fraction from input file

real(kind=pr), intent(in) :: a_blr

input constant from the Best linear regression

real(kind=pr), intent(in) :: b_blr

input constant from the Best linear regression

real(kind=pr), intent(out) :: a_lim

output real variable. Slope of the limit line

real(kind=pr), intent(out) :: b_lim

output real variable. Intercept of the limit line.

integer, intent(out) :: c_max_lim

output CN at which plus_z is reached, as the summation of single z(i) from the limit distribution (blr)

real(kind=pr), intent(out) :: half

public subroutine Line_C60_max(scn_nc, scn, plus_z, a_blr, b_blr, half, a_60, b_60, c_max_60)

This subroutine obtains the Cmax60 line constants for an oil

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: scn_nc

integer input variable set to the total number of single cuts being considered in the oil

integer, intent(in), allocatable :: scn(:)

set of singles cuts being considered in the oil

real(kind=pr), intent(in) :: plus_z

composition of residual fraction from input file

real(kind=pr), intent(in) :: a_blr

input constant from the Best linear regression

real(kind=pr), intent(in) :: b_blr

input constant from the Best linear regression

real(kind=pr), intent(in) :: half
real(kind=pr), intent(out) :: a_60

output real variable. Slope of the limit line

real(kind=pr), intent(out) :: b_60

output real variable. Intercept of the C60max line.

integer, intent(out) :: c_max_60

output CN at which Zp is reached, as the summation of single z(i) from the Cmax60 distribution.

public subroutine Linear_Regression(x, y, a, b, r2)

This subroutine computes the regression line for a data set of x, y variables.

Arguments

Type IntentOptional Attributes Name
real(kind=pr), intent(in) :: x(:)

x: input array of length n which contains the set of independent variable

real(kind=pr), intent(in) :: y(:)

y: input array of length n which contains the set of dependent variable

real(kind=pr), intent(out) :: a

a: output real variable. Slope of the regression line

real(kind=pr), intent(out) :: b

b: output real variable. Intercept of the regression line

real(kind=pr), intent(out) :: r2

public subroutine difference_mw_plus(oil, mw_source, method, start, C, difference, plus_mw)

this subroutine … mayor igual a 12 o menor igual 14. denominator of equation to obtain C value directly

Arguments

Type IntentOptional Attributes Name
type(FluidData) :: oil
character(len=*), intent(in) :: mw_source
character(len=*), intent(in), optional :: method
logical :: start
real(kind=pr) :: C

C constants which is used in equation

real(kind=pr), intent(out) :: difference
real(kind=pr) :: plus_mw

calculated molecular weight of residual fraction

public subroutine get_C_or_m_plus(oil, mw_source, method, start, C)

This subroutine…

Arguments

Type IntentOptional Attributes Name
type(FluidData) :: oil
character(len=*), intent(in) :: mw_source
character(len=*), intent(in), optional :: method
logical :: start
real(kind=pr) :: C

C constants which is used in equation

public subroutine select_method(oil, mw_source, method, C, log_scn_z, plus_z, plus_mw)

Arguments

Type IntentOptional Attributes Name
type(FluidData) :: oil
character(len=*), intent(in) :: mw_source
character(len=*), intent(in), optional :: method
real(kind=pr) :: C

C constants which is used in equation

real(kind=pr), intent(out), allocatable :: log_scn_z(:)

logarithm of corresponding mole fractions of scn cuts

real(kind=pr), intent(out) :: plus_z

composition of residual fraction from input file

real(kind=pr) :: plus_mw

calculated molecular weight of residual fraction