enthalpy_residual_pt Subroutine

private subroutine enthalpy_residual_pt(eos, n, P, T, root_type, Hr, HrP, HrT, Hrn)

Calculate residual enthalpy given pressure and temperature.

Examples

eos = PengRobinson76(Tc, Pc, w)

n = [1.0_pr, 1.0_pr]
T = 300.0_pr
P = 1.0_pr

call eos%enthalpy_residual_pt(&
   n, P, T, root_type="stable", Hr=Hr, HrP=HrP, HrT=HrT, Hrn=Hrn &
   )

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) :: P

Pressure [bar]

real(kind=pr), intent(in) :: T

Temperature [K]

character(len=*), intent(in) :: root_type

Desired root-type to solve. Options are: ["liquid", "vapor", "stable"]

real(kind=pr), intent(out), optional :: Hr

Residual enthalpy [bar L]

real(kind=pr), intent(out), optional :: HrP

real(kind=pr), intent(out), optional :: HrT

real(kind=pr), intent(out), optional :: Hrn(size(n))


Calls

proc~~enthalpy_residual_pt~~CallsGraph proc~enthalpy_residual_pt ArModel%enthalpy_residual_pt proc~enthalpy_residual_vt ArModel%enthalpy_residual_vt proc~enthalpy_residual_pt->proc~enthalpy_residual_vt proc~pressure ArModel%pressure proc~enthalpy_residual_pt->proc~pressure proc~volume~2 ArModel%volume proc~enthalpy_residual_pt->proc~volume~2 residual_helmholtz residual_helmholtz proc~enthalpy_residual_vt->residual_helmholtz proc~pressure->residual_helmholtz get_v0 get_v0 proc~volume~2->get_v0 interface~newton newton proc~volume~2->interface~newton proc~newton_1d newton_1d interface~newton->proc~newton_1d

Variables

Type Visibility Attributes Name Initial
real(kind=pr), private :: HrT_v
real(kind=pr), private :: HrV_v
real(kind=pr), private :: Hr_v
real(kind=pr), private :: Hrn_v(size(n))
real(kind=pr), private :: P_dummy
real(kind=pr), private :: V
real(kind=pr), private :: dPdT
real(kind=pr), private :: dPdV
real(kind=pr), private :: dPdn(size(n))
logical, private :: dT
real(kind=pr), private :: dVdP
real(kind=pr), private :: dVdT
real(kind=pr), private :: dVdn(size(n))
logical, private :: derivs_present
logical, private :: dn
logical, private :: dp