CriticalLine Derived Type

type, public :: CriticalLine

CriticalLine

Description

This derived type is used to store a critical line between two fluids. The critical line is calculated using the critical_line function. It uses the continuation method.

Examples

A critical line can be calculated between two fluids using the critical_line function. In this example we calculate the critical of a binary mixture of carbon dioxide and bicyclohexyl.

use yaeos
implicit none
type(CubicEoS) :: model
type(CriticalLine) :: cl
real(pr) :: z0(2), zi(2)

z0 = [1, 0] ! Pure carbon dioxide
zi = [0, 1] ! Pure bicyclohexyl

! Setup the model
tc = [304.21_pr, 727.0_pr]
pc = [73.83_pr, 25.6_pr]
w = [0.223621_pr, 0.427556_pr]
model = PengRobinson76(tc, pc, w)
! Calculate the critical line
cl = critical_line(model, a0=0.99_pr, z0=z0, zi=zi, dS0=-0.01_pr)

Components

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

Pressure [bar]

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

Temperature [K]

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

Volume [L/mol]

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

Molar fraction of the second fluid

integer, public, allocatable :: iters(:)

Iterations needed for this point

integer, public, allocatable :: ns(:)

Specified variable

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

Molar fractions of the first fluid

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

Molar fractions of the second fluid