Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(Substances), | public | :: | components |
Substances contained in the module |
|||
character(len=:), | public, | allocatable | :: | name |
Name of the model |
Calculate residual heat capacity pressure constant given v and t.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ArModel), | intent(in) | :: | eos |
Model |
||
real(kind=pr), | intent(in) | :: | n(:) |
Moles number vector |
||
real(kind=pr), | intent(in) | :: | V |
Volume [L] |
||
real(kind=pr), | intent(in) | :: | T |
Temperature [K] |
||
real(kind=pr), | intent(out) | :: | Cp |
heat capacity p constant [bar L / K] |
Calculate residual heat capacity volume constant given v and t.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ArModel), | intent(in) | :: | eos |
Model |
||
real(kind=pr), | intent(in) | :: | n(:) |
Moles number vector |
||
real(kind=pr), | intent(in) | :: | V |
Volume [L] |
||
real(kind=pr), | intent(in) | :: | T |
Temperature [K] |
||
real(kind=pr), | intent(out) | :: | Cv |
heat capacity v constant [bar L / K] |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ArModelTapenade), | 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(ArModelTapenade), | 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(ArModelTapenade), | 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(ArModelTapenade), | 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(ArModelTapenade), | 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 |
Calculate residual enthalpy given volume and temperature.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ArModel), | intent(in) | :: | eos |
Model |
||
real(kind=pr), | intent(in) | :: | n(:) |
Moles number vector |
||
real(kind=pr), | intent(in) | :: | v |
Volume [L] |
||
real(kind=pr), | intent(in) | :: | t |
Temperature [K] |
||
real(kind=pr), | intent(out) | :: | Hr |
Residual enthalpy [bar L] |
||
real(kind=pr), | intent(out), | optional | :: | HrT |
|
|
real(kind=pr), | intent(out), | optional | :: | HrV |
|
|
real(kind=pr), | intent(out), | optional | :: | Hrn(size(n)) |
|
Calculate residual entropy given volume and temperature.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ArModel), | intent(in) | :: | eos |
Model |
||
real(kind=pr), | intent(in) | :: | n(:) |
Moles number vector |
||
real(kind=pr), | intent(in) | :: | V |
Volume [L] |
||
real(kind=pr), | intent(in) | :: | T |
Temperature [K] |
||
real(kind=pr), | intent(out) | :: | Sr |
Entropy [bar L / K] |
||
real(kind=pr), | intent(out), | optional | :: | SrT |
|
|
real(kind=pr), | intent(out), | optional | :: | SrV |
|
|
real(kind=pr), | intent(out), | optional | :: | Srn(size(n)) |
|
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ArModelTapenade), | intent(in) | :: | self | |||
real(kind=pr), | intent(in) | :: | n(:) | |||
real(kind=pr), | intent(in) | :: | p | |||
real(kind=pr), | intent(in) | :: | t |
Calculate residual Gibbs energy given volume and temperature.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ArModel), | intent(in) | :: | eos |
Model |
||
real(kind=pr), | intent(in) | :: | n(:) |
Moles number vector |
||
real(kind=pr), | intent(in) | :: | V |
Volume [L] |
||
real(kind=pr), | intent(in) | :: | T |
Temperature [K] |
||
real(kind=pr), | intent(out) | :: | Gr |
Gibbs energy [bar L] |
||
real(kind=pr), | intent(out), | optional | :: | GrT |
|
|
real(kind=pr), | intent(out), | optional | :: | GrV |
|
|
real(kind=pr), | intent(out), | optional | :: | Grn(size(n)) |
|
Calculate logarithm of fugacity, given pressure and temperature.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ArModel), | intent(in) | :: | eos |
Model |
||
real(kind=pr), | intent(in) | :: | n(:) |
Mixture mole numbers |
||
real(kind=pr), | intent(in) | :: | P |
Pressure [bar] |
||
real(kind=pr), | intent(in) | :: | T |
Temperature [K] |
||
real(kind=pr), | intent(out), | optional | :: | V |
Volume [L] |
|
character(len=*), | intent(in) | :: | root_type |
Type of root desired [“liquid”, “vapor”, “stable”] |
||
real(kind=pr), | intent(out), | optional | :: | lnPhi(size(n)) |
vector |
|
real(kind=pr), | intent(out), | optional | :: | dlnPhidP(size(n)) |
ln(phi) Presssure derivative |
|
real(kind=pr), | intent(out), | optional | :: | dlnPhidT(size(n)) |
ln(phi) Temp derivative |
|
real(kind=pr), | intent(out), | optional | :: | dlnPhidn(size(n),size(n)) |
ln(phi) compositional derivative |
|
real(kind=pr), | intent(out), | optional | :: | dPdV |
|
|
real(kind=pr), | intent(out), | optional | :: | dPdT |
|
|
real(kind=pr), | intent(out), | optional | :: | dPdn(size(n)) |
|
Calculate fugacity coefficent given volume and temperature.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ArModel) | :: | eos |
Model |
|||
real(kind=pr), | intent(in) | :: | n(:) |
Mixture mole numbers |
||
real(kind=pr), | intent(in) | :: | V |
Volume [L] |
||
real(kind=pr), | intent(in) | :: | T |
Temperature [K] |
||
real(kind=pr), | intent(out), | optional | :: | P |
Pressure [bar] |
|
real(kind=pr), | intent(out), | optional | :: | lnPhi(size(n)) |
vector |
|
real(kind=pr), | intent(out), | optional | :: | dlnPhidP(size(n)) |
Presssure derivative |
|
real(kind=pr), | intent(out), | optional | :: | dlnPhidT(size(n)) |
Temp derivative |
|
real(kind=pr), | intent(out), | optional | :: | dlnPhidn(size(n),size(n)) |
compositional derivative |
|
real(kind=pr), | intent(out), | optional | :: | dPdV |
|
|
real(kind=pr), | intent(out), | optional | :: | dPdT |
|
|
real(kind=pr), | intent(out), | optional | :: | dPdn(:) |
|
Pressure calculation.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ArModel), | intent(in) | :: | eos |
Model |
||
real(kind=pr), | intent(in) | :: | n(:) |
Moles number vector |
||
real(kind=pr), | intent(in) | :: | v |
Volume [L] |
||
real(kind=pr), | intent(in) | :: | t |
Temperature [K] |
||
real(kind=pr), | intent(out) | :: | p |
Pressure [bar] |
||
real(kind=pr), | intent(out), | optional | :: | dPdV |
|
|
real(kind=pr), | intent(out), | optional | :: | dPdT |
|
|
real(kind=pr), | intent(out), | optional | :: | dPdn(:) |
|
Residual Helmholtz model generic interface
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ArModelTapenade), | intent(in) | :: | self | |||
real(kind=pr), | intent(in) | :: | n(:) | |||
real(kind=pr), | intent(in) | :: | v | |||
real(kind=pr), | intent(in) | :: | t | |||
real(kind=pr), | intent(out), | optional | :: | Ar | ||
real(kind=pr), | intent(out), | optional | :: | ArV | ||
real(kind=pr), | intent(out), | optional | :: | ArT | ||
real(kind=pr), | intent(out), | optional | :: | ArTV | ||
real(kind=pr), | intent(out), | optional | :: | ArV2 | ||
real(kind=pr), | intent(out), | optional | :: | ArT2 | ||
real(kind=pr), | intent(out), | optional, | dimension(size(n)) | :: | Arn | |
real(kind=pr), | intent(out), | optional, | dimension(size(n)) | :: | ArVn | |
real(kind=pr), | intent(out), | optional, | dimension(size(n)) | :: | ArTn | |
real(kind=pr), | intent(out), | optional | :: | Arn2(size(n),size(n)) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ArModelTapenade), | intent(in) | :: | model | |||
real(kind=pr), | intent(in) | :: | n(:) | |||
real(kind=pr), | intent(in) | :: | p | |||
real(kind=pr), | intent(in) | :: | t |
Solves volume roots using newton method. Given pressure and temperature.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(ArModel), | intent(in) | :: | eos | |||
real(kind=pr), | intent(in) | :: | n(:) |
Moles number vector |
||
real(kind=pr), | intent(in) | :: | P |
Pressure [bar] |
||
real(kind=pr), | intent(in) | :: | T |
Temperature [K] |
||
real(kind=pr), | intent(out) | :: | V |
Volume [L] |
||
character(len=*), | intent(in) | :: | root_type |
Desired root-type to solve. Options are:
|