yaeos__equilibria_boundaries_pure_saturation Module



Derived Types

type, public ::  PurePsat

Components

Type Visibility Attributes Name Initial
real(kind=pr), public, allocatable :: P(:)

Pressure [Pa]

real(kind=pr), public, allocatable :: T(:)

Temperature [K]

real(kind=pr), public, allocatable :: Vx(:)

Molar volume [L/mol] in the liquid phase

real(kind=pr), public, allocatable :: Vy(:)

Molar volume [L/mol] in the vapor phase

type(linear_interp_1d), private :: interpolator_get_P
type(linear_interp_1d), private :: interpolator_get_T

Type-Bound Procedures

procedure, public :: get_P
procedure, public :: get_T

Functions

public function get_P(pt, T) result(P)

Get the saturation pressure for a given temperature.

Read more…

Arguments

Type IntentOptional Attributes Name
class(PurePsat), intent(inout) :: pt
real(kind=pr), intent(in) :: T

Return Value real(kind=pr)

public function get_T(pt, P) result(T)

Get the saturation temperature for a given pressure.

Read more…

Arguments

Type IntentOptional Attributes Name
class(PurePsat), intent(inout) :: pt
real(kind=pr), intent(in) :: P

Return Value real(kind=pr)

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

Saturation pressures and temperatures for a pure component.

Read more…

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)


Subroutines

public subroutine solve_point(model, ncomp, nc, X, ns, S, F, dF, dFdS, its)

Solve a saturation point for a pure component.

Read more…

Arguments

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

Thermodynamic model

integer, intent(in) :: ncomp

Component index

integer, intent(in) :: nc

Total number of components

real(kind=pr), intent(inout) :: X(4)

Variables

integer, intent(in) :: ns

Variable index to solve. If the

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

Variable value specified to solve

real(kind=pr), intent(out) :: F(4)

Function

real(kind=pr), intent(out) :: dF(4,4)

Jacobian

real(kind=pr), intent(out) :: dFdS(4)

Derivative of the function with respect to S

integer, intent(out) :: its

Number of iterations