Procedures of the core calculations of CubicEoS mixing rules.
This module holds all the basic math to use mixing rules in other codes. Keeping it simple and accesible.
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)
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(:,:) |
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(:,:) |
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.
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
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) |