Cubic Mixing Rules for Cubic EoS.
Combining rule for the attractive parameter.
From previously calculated attractive parameters calculate the matrix and it’s corresponding derivatives.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CMR), | intent(in) | :: | self | |||
| 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) | :: | a(:,:) | |||
| real(kind=pr), | intent(out) | :: | dadt(:,:) | |||
| real(kind=pr), | intent(out) | :: | dadt2(:,:) |
Cubic Mixing Rule (CMR) derived type. Classic Van der Waals mixing rules.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | dn2 | = | .false. |
Calculate second order derivatives |
|
| logical, | public | :: | is_D_ddlc | = | .false. |
Mixing rule D parameter dependant on density |
|
| real(kind=pr), | public, | allocatable | :: | k(:,:,:) |
Attractive Binary Interatction parameter matrix |
||
| real(kind=pr), | public, | allocatable | :: | l(:,:,:) |
Repulsive Binary Interatction parameter matrix |
| procedure, public :: Bmix | Repulsive parameter mixing rule |
| procedure, public :: D1mix => RKPR_D1mix | |
| procedure, public :: Dmix | Attractive parameter mixing rule |
| procedure, public :: aijk => kijk_constant | Default attractive parameter combining rule |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=pr), | public, | allocatable | :: | Tref(:,:,:) | |||
| logical, | public | :: | dn2 | = | .false. |
Calculate second order derivatives |
|
| logical, | public | :: | is_D_ddlc | = | .false. |
Mixing rule D parameter dependant on density |
|
| real(kind=pr), | public, | allocatable | :: | k(:,:,:) |
Attractive Binary Interatction parameter matrix |
||
| real(kind=pr), | public, | allocatable | :: | k0(:,:,:) | |||
| real(kind=pr), | public, | allocatable | :: | l(:,:,:) |
Repulsive Binary Interatction parameter matrix |
| procedure, public :: Bmix | Repulsive parameter mixing rule |
| procedure, public :: D1mix => RKPR_D1mix | |
| procedure, public :: Dmix | Attractive parameter mixing rule |
| procedure, public :: aijk => kijk_exp_tdep |
Combining rule that uses as a function of temperature.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CMRTD), | intent(in) | :: | self | |||
| real(kind=pr), | intent(in) | :: | T |
Temperature [K] |
||
| real(kind=pr), | intent(in) | :: | ai(:) |
Pure components attractive parameters (\a_i) |
||
| real(kind=pr), | intent(in) | :: | daidt(:) |
|
||
| real(kind=pr), | intent(in) | :: | daidt2(:) |
|
||
| real(kind=pr), | intent(out) | :: | a(:,:,:) |
Matrix |
||
| real(kind=pr), | intent(out) | :: | dadt(:,:,:) |
|
||
| real(kind=pr), | intent(out) | :: | dadt2(:,:,:) |
|
Mixture repulsive parameter.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CMR), | intent(in) | :: | self |
Mixing rule object. |
||
| real(kind=pr), | intent(in) | :: | n(:) |
Moles vector. |
||
| real(kind=pr), | intent(in) | :: | bi(:) |
Pure components repulsive parameters. |
||
| real(kind=pr), | intent(out) | :: | B |
Mixture repulsive parameter. |
||
| real(kind=pr), | intent(out) | :: | dBi(:) |
|
||
| real(kind=pr), | intent(out) | :: | dBij(:,:) |
|
Attractive parameter mixing rule with quadratic mix.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CMR), | intent(in) | :: | self |
Mixing rule object. |
||
| real(kind=pr), | intent(in) | :: | n(:) |
Moles vector [mol] |
||
| real(kind=pr), | intent(in) | :: | V |
Volume [L] (unused) |
||
| real(kind=pr), | intent(in) | :: | T |
Temperature [K] |
||
| real(kind=pr), | intent(in) | :: | ai(:) |
Pure components attractive parameters |
||
| real(kind=pr), | intent(in) | :: | daidt(:) |
|
||
| real(kind=pr), | intent(in) | :: | daidt2(:) |
|
||
| real(kind=pr), | intent(out) | :: | D |
Mixture attractive parameter |
||
| real(kind=pr), | intent(out) | :: | dDdV |
|
||
| real(kind=pr), | intent(out) | :: | dDdT |
|
||
| real(kind=pr), | intent(out) | :: | dDdV2 |
|
||
| real(kind=pr), | intent(out) | :: | dDdT2 |
|
||
| real(kind=pr), | intent(out) | :: | dDi(:) |
|
||
| real(kind=pr), | intent(out) | :: | dDdTV |
|
||
| real(kind=pr), | intent(out) | :: | dDidV(:) |
|
||
| real(kind=pr), | intent(out) | :: | dDidT(:) |
|
||
| real(kind=pr), | intent(out) | :: | dDij(:,:) |
|
RKPR parameter mixing rule.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CMR), | 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(:,:) |
Combining rule that uses constant values.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(CMR), | intent(in) | :: | self | |||
| real(kind=pr), | intent(in) | :: | T |
Temperature [K] |
||
| real(kind=pr), | intent(in) | :: | ai(:) |
Pure components attractive parameters (\a_i) |
||
| real(kind=pr), | intent(in) | :: | daidt(:) |
|
||
| real(kind=pr), | intent(in) | :: | daidt2(:) |
|
||
| real(kind=pr), | intent(out) | :: | a(:,:,:) |
Matrix |
||
| real(kind=pr), | intent(out) | :: | dadt(:,:,:) |
|
||
| real(kind=pr), | intent(out) | :: | dadt2(:,:,:) |
|