pure_saturation_line Function

public function pure_saturation_line(model, component, minP, minT) result(pt)

Uses

  • proc~~pure_saturation_line~~UsesGraph proc~pure_saturation_line pure_saturation_line module~yaeos__auxiliar yaeos__auxiliar proc~pure_saturation_line->module~yaeos__auxiliar module~yaeos__constants yaeos__constants module~yaeos__auxiliar->module~yaeos__constants iso_fortran_env iso_fortran_env module~yaeos__constants->iso_fortran_env

Pure saturation line

Saturation pressures and temperatures for a pure component.

Description

This function calculates the saturation line for a pure component. Starting from the pure component critical point, the function traces the saturation line using the continuation method. The function returns a PurePsat object with the saturation temperatures and pressures. The object also contains interpolators to get the saturation temperature for a given pressure and vice versa.

Arguments

Type IntentOptional Attributes Name
class(ArModel), intent(in) :: model

Thermodyanmic model

integer, intent(in) :: component

Component index to calculate the line

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

Minimum pressure [bar]

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

Minimum temperature [K]

Return Value type(PurePsat)


Calls

proc~~pure_saturation_line~~CallsGraph proc~pure_saturation_line pure_saturation_line initialize initialize proc~pure_saturation_line->initialize proc~solve_point~6 solve_point proc~pure_saturation_line->proc~solve_point~6 proc~solve_system solve_system proc~pure_saturation_line->proc~solve_system proc~volume~3 ArModel%volume proc~pure_saturation_line->proc~volume~3 proc~solve_point~6->proc~solve_system get_v0 get_v0 proc~solve_point~6->get_v0 none~isofugacity isofugacity proc~solve_point~6->none~isofugacity none~dgesv dgesv proc~solve_system->none~dgesv proc~volume~3->get_v0 interface~newton newton proc~volume~3->interface~newton proc~newton_1d newton_1d interface~newton->proc~newton_1d proc~lnfug_vt ArModel%lnfug_vt none~isofugacity->proc~lnfug_vt residual_helmholtz residual_helmholtz proc~lnfug_vt->residual_helmholtz

Called by

proc~~pure_saturation_line~~CalledByGraph proc~pure_saturation_line pure_saturation_line proc~refit_rkpr_k refit_rkpr_k proc~refit_rkpr_k->proc~pure_saturation_line proc~rkpr RKPR proc~rkpr->proc~refit_rkpr_k

Variables

Type Visibility Attributes Name Initial
real(kind=pr), public :: F(4)
real(kind=pr), public :: P
real(kind=pr), public :: Pc
real(kind=pr), public :: S
real(kind=pr), public :: T
real(kind=pr), public :: Tc
real(kind=pr), public :: Vc
real(kind=pr), public :: Vx
real(kind=pr), public :: Vy
real(kind=pr), public :: X(4)

Variables [lnVx, lnVy, lnP, lnT]

real(kind=pr), public :: dF(4,4)
real(kind=pr), public :: dFdS(4)
real(kind=pr), public :: dS
real(kind=pr), public :: dX(4)
real(kind=pr), public :: dXdS(4)
integer, public :: i
integer, public :: iP
integer, public :: iT
integer, public :: its
integer, public :: nc
integer, public :: ns
integer, public :: points
real(kind=pr), public :: z(size(model))