Calculate residual Helmholtz energy given pressure and temperature.
eos = PengRobinson76(Tc, Pc, w)
n = [1.0_pr, 1.0_pr]
T = 300.0_pr
P = 1.0_pr
call eos%helmholtz_residual_pt(&
n, P, T, root_type="stable", Ar=Ar, ArP=ArP, ArT=ArT, Arn=Arn &
)
| 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) | :: | P |
Pressure [bar] |
||
| real(kind=pr), | intent(in) | :: | T |
Temperature [K] |
||
| character(len=*), | intent(in) | :: | root_type |
Desired root-type to solve. Options are:
|
||
| real(kind=pr), | intent(out), | optional | :: | Ar |
Residual Helmholtz energy [bar L] |
|
| real(kind=pr), | intent(out), | optional | :: | ArP |
|
|
| real(kind=pr), | intent(out), | optional | :: | ArT |
|
|
| real(kind=pr), | intent(out), | optional | :: | Arn(size(n)) |
|
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=pr), | private | :: | ArT_v | ||||
| real(kind=pr), | private | :: | ArV_v | ||||
| real(kind=pr), | private | :: | Ar_v | ||||
| real(kind=pr), | private | :: | Arn_v(size(n)) | ||||
| real(kind=pr), | private | :: | P_dummy | ||||
| real(kind=pr), | private | :: | V | ||||
| real(kind=pr), | private | :: | Z | ||||
| real(kind=pr), | private | :: | dPdT | ||||
| real(kind=pr), | private | :: | dPdV | ||||
| real(kind=pr), | private | :: | dPdn(size(n)) | ||||
| real(kind=pr), | private | :: | dVdP | ||||
| real(kind=pr), | private | :: | dVdT | ||||
| real(kind=pr), | private | :: | dVdn(size(n)) | ||||
| logical, | private | :: | dn | ||||
| logical, | private | :: | dp | ||||
| logical, | private | :: | dt | ||||
| real(kind=pr), | private | :: | nt | ||||
| logical, | private | :: | present_derivs |