| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=pr), | public, | DIMENSION(0:2, 0:6), SAVE | :: | a_coeffs | = | RESHAPE((/0.9105631445, -0.3084016918, -0.0906148351, 0.6361281449, 0.1860531159, 0.4527842806, 2.6861347891, -2.5030047259, 0.5962700728, -26.547362491, 21.419793629, -1.7241829131, 97.759208784, -65.255885330, -4.1302112531, -159.59154087, 83.318680481, 13.776631870, 91.297774084, -33.746922930, -8.6728470368/), (/3, 7/)) | |
| real(kind=pr), | public, | DIMENSION(0:2, 0:6), SAVE | :: | b_coeffs | = | RESHAPE((/0.7240946941, -0.5755498075, 0.0976883116, 2.2382791861, 0.6995095521, -0.2557574982, -4.0025849485, 3.8925673390, -9.1558561530, -21.003576815, -17.215471648, 20.642075974, 26.855641363, 192.67226447, -38.804430052, 206.55133841, -161.82646165, 93.626774077, -355.60235612, -165.20769346, -29.666905585/), (/3, 7/)) | |
| real(kind=pr), | public, | parameter | :: | n_avo | = | 6.02214076e23_pr | |
| real(kind=pr), | public, | parameter | :: | pi | = | 3.14159265359_pr | |
| real(kind=pr), | public, | parameter | :: | units_factor | = | 0.000602214086_pr |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(Substances), | public | :: | components |
Substances contained in the module |
|||
| real(kind=pr), | public, | ALLOCATABLE | :: | epsilon_k(:) |
Energy / k_B [K] |
||
| real(kind=pr), | public, | ALLOCATABLE | :: | kij(:,:) |
Binary interaction parameters (optional) |
||
| real(kind=pr), | public, | ALLOCATABLE | :: | m(:) |
Number of segments |
||
| character(len=:), | public, | allocatable | :: | name |
Name of the model |
||
| real(kind=pr), | public, | ALLOCATABLE | :: | sigma(:) |
Segment diameter [Angstrom] |
| procedure, public :: Cp_residual_pt | |
| procedure, public :: Cp_residual_vt | |
| procedure, public :: Cv_residual_pt | |
| procedure, public :: Cv_residual_vt | |
| procedure, public :: Psat_pure | |
| procedure, public :: ar => AR | |
| procedure, public :: ar_b => AR_B | |
| procedure, public :: ar_d => AR_D | |
| procedure, public :: ar_d_b => AR_D_B | |
| procedure, public :: ar_d_d => AR_D_D | |
| procedure, public :: enthalpy_excess | |
| procedure, public :: enthalpy_residual_pt | |
| procedure, public :: enthalpy_residual_vt | |
| procedure, public :: entropy_excess | |
| procedure, public :: entropy_residual_pt | |
| procedure, public :: entropy_residual_vt | |
| procedure, public :: get_v0 | |
| procedure, public :: gibbs_excess | |
| procedure, public :: gibbs_residual_pt | |
| procedure, public :: gibbs_residual_vt | |
| procedure, public :: helmholtz_excess | |
| procedure, public :: helmholtz_residual_pt | |
| procedure, public :: internal_energy_excess | |
| procedure, public :: internal_energy_residual_pt | |
| procedure, public :: internal_energy_residual_vt | |
| procedure, public :: ln_activity_coefficient | |
| procedure, public :: lnfug_vt | |
| procedure, public :: lnphi_pt | |
| procedure, public :: lnphi_vt | |
| procedure, public :: pressure | |
| procedure, public :: residual_helmholtz | |
| procedure, public :: volume | |
| procedure, public :: volume_excess |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PCSAFT), | intent(in) | :: | self | |||
| real(kind=pr), | intent(in) | :: | n(:) | |||
| real(kind=pr), | intent(in) | :: | P | |||
| real(kind=pr), | intent(in) | :: | T |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=8), | intent(in) | :: | m(:) |
Number of segments |
||
| real(kind=8), | intent(in) | :: | sigma(:) |
Segment diameter [Angstrom] |
||
| real(kind=8), | intent(in) | :: | epsilon_k(:) |
Energy / k_B [K] |
||
| real(kind=8), | intent(in), | optional | :: | kij(:,:) |
Binary interaction parameters (optional) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PCSAFT), | intent(in) | :: | model | |||
| real(kind=pr), | intent(in) | :: | n(:) | |||
| real(kind=pr), | intent(in) | :: | v | |||
| real(kind=pr), | intent(in) | :: | t | |||
| real(kind=pr), | intent(out) | :: | arval |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PCSAFT), | intent(in) | :: | model | |||
| real(kind=pr), | intent(in) | :: | n(:) | |||
| real(kind=pr) | :: | nb(:) | ||||
| real(kind=pr), | intent(in) | :: | v | |||
| real(kind=pr) | :: | vb | ||||
| real(kind=pr), | intent(in) | :: | t | |||
| real(kind=pr) | :: | tb | ||||
| real(kind=pr) | :: | arval | ||||
| real(kind=pr) | :: | arvalb |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PCSAFT), | intent(in) | :: | model | |||
| real(kind=pr), | intent(in) | :: | n(:) | |||
| real(kind=pr), | intent(in) | :: | nd(:) | |||
| real(kind=pr), | intent(in) | :: | v | |||
| real(kind=pr), | intent(in) | :: | vd | |||
| real(kind=pr), | intent(in) | :: | t | |||
| real(kind=pr), | intent(in) | :: | td | |||
| real(kind=pr), | intent(out) | :: | arval | |||
| real(kind=pr), | intent(out) | :: | arvald |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PCSAFT), | intent(in) | :: | model | |||
| real(kind=pr), | intent(in) | :: | n(:) | |||
| real(kind=pr) | :: | nb(:) | ||||
| real(kind=pr), | intent(in) | :: | nd(:) | |||
| real(kind=pr) | :: | ndb(:) | ||||
| real(kind=pr), | intent(in) | :: | v | |||
| real(kind=pr) | :: | vb | ||||
| real(kind=pr), | intent(in) | :: | vd | |||
| real(kind=pr) | :: | vdb | ||||
| real(kind=pr), | intent(in) | :: | t | |||
| real(kind=pr) | :: | tb | ||||
| real(kind=pr), | intent(in) | :: | td | |||
| real(kind=pr) | :: | tdb | ||||
| real(kind=pr) | :: | arval | ||||
| real(kind=pr) | :: | arvalb | ||||
| real(kind=pr) | :: | arvald | ||||
| real(kind=pr) | :: | arvaldb |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PCSAFT), | intent(in) | :: | model | |||
| real(kind=pr), | intent(in) | :: | n(:) | |||
| real(kind=pr), | intent(in) | :: | nd(:) | |||
| real(kind=pr), | intent(in) | :: | v | |||
| real(kind=pr), | intent(in) | :: | vd0 | |||
| real(kind=pr), | intent(in) | :: | vd | |||
| real(kind=pr), | intent(in) | :: | t | |||
| real(kind=pr), | intent(in) | :: | td0 | |||
| real(kind=pr), | intent(in) | :: | td | |||
| real(kind=pr), | intent(out) | :: | arval | |||
| real(kind=pr), | intent(out) | :: | arvald0 | |||
| real(kind=pr), | intent(out) | :: | arvald | |||
| real(kind=pr), | intent(out) | :: | arvaldd |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PCSAFT), | intent(in) | :: | model | |||
| real(kind=pr), | intent(in) | :: | n(:) | |||
| real(kind=pr), | intent(in) | :: | nd(:) | |||
| real(kind=pr), | intent(in) | :: | v | |||
| real(kind=pr), | intent(in) | :: | vd1 | |||
| real(kind=pr), | intent(in) | :: | vd0 | |||
| real(kind=pr), | intent(in) | :: | vd | |||
| real(kind=pr), | intent(in) | :: | t | |||
| real(kind=pr), | intent(in) | :: | td1 | |||
| real(kind=pr), | intent(in) | :: | td0 | |||
| real(kind=pr), | intent(in) | :: | td | |||
| real(kind=pr), | intent(out) | :: | arval | |||
| real(kind=pr), | intent(out) | :: | arvald1 | |||
| real(kind=pr), | intent(out) | :: | arvald0 | |||
| real(kind=pr), | intent(out) | :: | arvald0d | |||
| real(kind=pr), | intent(out) | :: | arvald | |||
| real(kind=pr), | intent(out) | :: | arvaldd0 | |||
| real(kind=pr), | intent(out) | :: | arvaldd | |||
| real(kind=pr), | intent(out) | :: | arvalddd |
Volume solver optimized for PC-SAFT
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(PCSAFT), | intent(in) | :: | eos | |||
| real(kind=pr), | intent(in) | :: | n(:) | |||
| real(kind=pr), | intent(in) | :: | P | |||
| real(kind=pr), | intent(in) | :: | T | |||
| real(kind=pr), | intent(out) | :: | V | |||
| character(len=*), | intent(in) | :: | root_type |