Huron-Vidal (like) mixing rules module
This module contains the mixing rules that are based/similar to the
mixing rules defined by Huron-Vidal
Description
Huron-Vidal presented a way to link a model with a Cubic EoS
mixing rule. This makes it possible to make good predictions on
polar compounds containing mixtures.
Examples
References
Interfaces
-
private function init_mhv(Ge, b, q, lij) result(mixrule)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(GeModel),
|
intent(in) |
|
|
:: |
Ge |
|
real(kind=pr),
|
intent(in) |
|
|
:: |
b(:) |
|
real(kind=pr),
|
intent(in) |
|
|
:: |
q |
|
real(kind=pr),
|
intent(in), |
optional |
|
:: |
lij(:,:) |
|
Return Value
type(MHV)
Derived Types
Components
Type |
Visibility | Attributes |
|
Name |
| Initial | |
real(kind=pr),
|
public, |
allocatable
|
:: |
bi(:) |
|
|
|
real(kind=pr),
|
public, |
allocatable
|
:: |
del1(:) |
|
|
|
logical,
|
public |
|
:: |
dn2 |
= |
.false. |
Calculate second order derivatives
|
class(GeModel),
|
public, |
allocatable
|
:: |
ge |
|
|
|
Type-Bound Procedures
Mixing rule at zero-pressure which allows for the inclusion of an
excess-gibbs model.
Read more…
Components
Type |
Visibility | Attributes |
|
Name |
| Initial | |
logical,
|
public |
|
:: |
dn2 |
= |
.false. |
Calculate second order derivatives
|
class(GeModel),
|
public, |
allocatable
|
:: |
ge |
|
|
|
real(kind=pr),
|
public, |
allocatable
|
:: |
l(:,:) |
|
|
|
real(kind=pr),
|
public |
|
:: |
q |
|
|
|
real(kind=pr),
|
private, |
allocatable
|
:: |
B |
|
|
|
real(kind=pr),
|
private, |
allocatable
|
:: |
bi(:) |
|
|
|
real(kind=pr),
|
private, |
allocatable
|
:: |
dBi(:) |
|
|
|
real(kind=pr),
|
private, |
allocatable
|
:: |
dBij(:,:) |
|
|
|
Constructor
private
function
init_mhv
(Ge, b, q, lij)
|
|
Type-Bound Procedures
Functions
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(GeModel),
|
intent(in) |
|
|
:: |
Ge |
|
real(kind=pr),
|
intent(in) |
|
|
:: |
b(:) |
|
real(kind=pr),
|
intent(in) |
|
|
:: |
q |
|
real(kind=pr),
|
intent(in), |
optional |
|
:: |
lij(:,:) |
|
Return Value
type(MHV)
Subroutines
Mixing rule at infinite pressure as defined in the book of Michelsen and
Møllerup.
Read more…
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(MHV),
|
intent(in) |
|
|
:: |
self |
|
real(kind=pr),
|
intent(in) |
|
|
:: |
n(:) |
|
real(kind=pr),
|
intent(in) |
|
|
:: |
T |
|
real(kind=pr),
|
intent(in) |
|
|
:: |
ai(:) |
|
real(kind=pr),
|
intent(in) |
|
|
:: |
daidt(:) |
|
real(kind=pr),
|
intent(in) |
|
|
:: |
daidt2(:) |
|
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(:,:) |
|
Quadratinc mixing rule for the repulsive parameter.
Read more…
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(HV),
|
intent(in) |
|
|
:: |
self |
|
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(:,:) |
|
Quadratinc mixing rule for the repulsive parameter, using
as a combining rule.
Read more…
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(MHV),
|
intent(in) |
|
|
:: |
self |
|
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 |
|
class(HV),
|
intent(in) |
|
|
:: |
self |
|
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(:,:) |
|
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(MHV),
|
intent(in) |
|
|
:: |
self |
|
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(:,:) |
|
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
class(HV),
|
intent(in) |
|
|
:: |
self |
|
real(kind=pr),
|
intent(in) |
|
|
:: |
n(:) |
|
real(kind=pr),
|
intent(in) |
|
|
:: |
T |
|
real(kind=pr),
|
intent(in) |
|
|
:: |
ai(:) |
|
real(kind=pr),
|
intent(in) |
|
|
:: |
daidt(:) |
|
real(kind=pr),
|
intent(in) |
|
|
:: |
daidt2(:) |
|
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(:,:) |
|