Calculate pressure.
Calculate pressure using residual helmholtz models.
eos = PengRobinson76(Tc, Pc, w)
n = [1.0_pr, 1.0_pr]
T = 300.0_pr
V = 1.0_pr
call eos%pressure(n, V, T, P, dPdV=dPdV, dPdT=dPdT, dPdn=dPdn)
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(:) |
|
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=pr), | private | :: | Ar | ||||
real(kind=pr), | private | :: | ArTV | ||||
real(kind=pr), | private | :: | ArV | ||||
real(kind=pr), | private | :: | ArV2 | ||||
real(kind=pr), | private | :: | ArVn(size(eos)) | ||||
real(kind=pr), | private | :: | totn |