pressure Subroutine

private subroutine pressure(eos, n, V, T, P, dPdV, dPdT, dPdn)

Calculate pressure.

Calculate pressure using residual helmholtz models.

Examples

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 Bound

ArModel

Arguments

Type IntentOptional 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(:)


Calls

proc~~pressure~~CallsGraph proc~pressure ArModel%pressure residual_helmholtz residual_helmholtz proc~pressure->residual_helmholtz

Called by

proc~~pressure~~CalledByGraph proc~pressure ArModel%pressure proc~ar_consistency ar_consistency proc~ar_consistency->proc~pressure proc~binary_llv_from_cep binary_llv_from_cep proc~binary_llv_from_cep->proc~pressure proc~cp_residual_vt ArModel%Cp_residual_vt proc~cp_residual_vt->proc~pressure proc~critical_point critical_point proc~critical_point->proc~pressure proc~look_for_cep look_for_cep proc~look_for_cep->proc~pressure proc~pressure_equality_v_beta_xy pressure_equality_V_beta_xy proc~pressure_equality_v_beta_xy->proc~pressure proc~critical_line critical_line proc~critical_line->proc~look_for_cep proc~flash flash proc~flash->proc~pressure_equality_v_beta_xy proc~flash_no_beta_limits flash_no_beta_limits proc~flash_no_beta_limits->proc~pressure_equality_v_beta_xy proc~get_critical_constants get_critical_constants proc~get_critical_constants->proc~critical_point proc~init_pcsaft init_pcsaft proc~init_pcsaft->proc~get_critical_constants

Variables

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