Mixing rules core math
Procedures of the core calculations of CubicEoS mixing rules.
Description
This module holds all the basic math to use mixing rules in other codes.
Keeping it simple and accesible.
Examples
bi = [ 0.2 , 0.3 ]
lij = reshape ([ 0.0 , 0.2 , 0.2 , 0 ], [ 2 , 2 ])
! Calculate B parameter with Quadratric Mixing Rules.
call bmix_qmr ( n , bi , lij , b , dbi , dbij )
References
module~~yaeos__models_ar_cubic_mixing_base~~UsesGraph
module~yaeos__models_ar_cubic_mixing_base
yaeos__models_ar_cubic_mixing_base
module~yaeos__constants
yaeos__constants
module~yaeos__models_ar_cubic_mixing_base->module~yaeos__constants
iso_fortran_env
iso_fortran_env
module~yaeos__constants->iso_fortran_env
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
module~~yaeos__models_ar_cubic_mixing_base~~UsedByGraph
module~yaeos__models_ar_cubic_mixing_base
yaeos__models_ar_cubic_mixing_base
module~yaeos__models_ar_cubic_quadratic_mixing
yaeos__models_ar_cubic_quadratic_mixing
module~yaeos__models_ar_cubic_quadratic_mixing->module~yaeos__models_ar_cubic_mixing_base
module~yaeos__models_cubic_mixing_rules_huron_vidal
yaeos__models_cubic_mixing_rules_huron_vidal
module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__models_ar_cubic_mixing_base
module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__models_ar_cubic_quadratic_mixing
proc~bmixhv
HV%BmixHV
proc~bmixhv->module~yaeos__models_ar_cubic_mixing_base
proc~bmixhvnrtl
HV_NRTL%BmixHVNRTL
proc~bmixhvnrtl->module~yaeos__models_ar_cubic_mixing_base
proc~bmixmhv
MHV%BmixMHV
proc~bmixmhv->module~yaeos__models_ar_cubic_mixing_base
proc~d1mixhv
HV%D1MixHV
proc~d1mixhv->module~yaeos__models_ar_cubic_mixing_base
proc~d1mixhvnrtl
HV_NRTL%D1MixHVNRTL
proc~d1mixhvnrtl->module~yaeos__models_ar_cubic_mixing_base
proc~d1mixmhv
MHV%D1MixMHV
proc~d1mixmhv->module~yaeos__models_ar_cubic_mixing_base
proc~dmixhvnrtl
HV_NRTL%DmixHVNRTL
proc~dmixhvnrtl->module~yaeos__models_ar_cubic_mixing_base
proc~dmixhv~2
HV%DmixHV
proc~dmixhv~2->module~yaeos__models_ar_cubic_mixing_base
proc~rkpr_d1mix
QMR%RKPR_D1mix
proc~rkpr_d1mix->module~yaeos__models_ar_cubic_mixing_base
module~yaeos__models
yaeos__models
module~yaeos__models->module~yaeos__models_ar_cubic_quadratic_mixing
module~yaeos__models->module~yaeos__models_cubic_mixing_rules_huron_vidal
proc~pengrobinson76
PengRobinson76
proc~pengrobinson76->module~yaeos__models_ar_cubic_quadratic_mixing
proc~pengrobinson78
PengRobinson78
proc~pengrobinson78->module~yaeos__models_ar_cubic_quadratic_mixing
proc~psrk
PSRK
proc~psrk->module~yaeos__models_cubic_mixing_rules_huron_vidal
proc~rkpr
RKPR
proc~rkpr->module~yaeos__models_ar_cubic_quadratic_mixing
proc~soaveredlichkwong
SoaveRedlichKwong
proc~soaveredlichkwong->module~yaeos__models_ar_cubic_quadratic_mixing
module~yaeos
yaeos
module~yaeos->module~yaeos__models
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Subroutines
Attractive parameter calculation for the Huron-Vidal mixing rule.
Read more…
Arguments
Type
Intent Optional Attributes
Name
real(kind=pr),
intent(in)
::
n (:)
real(kind=pr),
intent(in)
::
T
real(kind=pr),
intent(in)
::
bi (:)
Covolume parameter
real(kind=pr),
intent(in)
::
B
mixture covolume parameter
real(kind=pr),
intent(in)
::
dBi (:)
real(kind=pr),
intent(in)
::
dBij (:,:)
real(kind=pr),
intent(in)
::
D1
real(kind=pr),
intent(in)
::
dD1i (:)
real(kind=pr),
intent(in)
::
dD1ij (:,:)
real(kind=pr),
intent(in)
::
ai (:)
real(kind=pr),
intent(in)
::
daidt (:)
real(kind=pr),
intent(in)
::
daidt2 (:)
real(kind=pr),
intent(in)
::
Ge
real(kind=pr),
intent(in)
::
GeT
real(kind=pr),
intent(in)
::
GeT2
real(kind=pr),
intent(in)
::
Gen (:)
real(kind=pr),
intent(in)
::
GeTn (:)
real(kind=pr),
intent(in)
::
Gen2 (:,:)
real(kind=pr),
intent(out)
::
D
real(kind=pr),
intent(out)
::
dDdT
real(kind=pr),
intent(out)
::
dDdT2
real(kind=pr),
intent(out)
::
dDi (:)
real(kind=pr),
intent(out)
::
dDidT (:)
real(kind=pr),
intent(out)
::
dDij (:,:)
Arguments
Type
Intent Optional Attributes
Name
real(kind=pr),
intent(in)
::
n (:)
real(kind=pr),
intent(in)
::
bi (:)
real(kind=pr),
intent(out)
::
b
real(kind=pr),
intent(out)
::
dbi (:)
real(kind=pr),
intent(out)
::
dbij (:,:)
Arguments
Type
Intent Optional Attributes
Name
real(kind=pr),
intent(in)
::
n (:)
real(kind=pr),
intent(in)
::
bi (:)
real(kind=pr),
intent(in)
::
lij (:,:)
real(kind=pr),
intent(out)
::
b
real(kind=pr),
intent(out)
::
dbi (:)
real(kind=pr),
intent(out)
::
dbij (:,:)
RKPR parameter mixing rule.
Read more…
Arguments
Type
Intent Optional Attributes
Name
real(kind=pr),
intent(in)
::
n (:)
real(kind=pr),
intent(in)
::
d1i (:)
real(kind=pr),
intent(out)
::
D1
real(kind=pr),
intent(out)
::
dD1i (:)
real(kind=pr),
intent(out)
::
dD1ij (:,:)
Infinite pressure limit parameter
Read more…
Arguments
Type
Intent Optional Attributes
Name
integer,
intent(in)
::
nc
real(kind=pr),
intent(in)
::
d1
real(kind=pr),
intent(in),
optional
::
dd1i (nc)
real(kind=pr),
intent(in),
optional
::
dd1ij (nc,nc)
real(kind=pr),
intent(out)
::
L
real(kind=pr),
intent(out),
optional
::
dLi (nc)
real(kind=pr),
intent(out),
optional
::
dLij (nc,nc)