flash_no_beta_limits Function

public function flash_no_beta_limits(model, z, t, beta0, v_spec, p_spec, k0, iters) result(flash)

Uses

  • proc~~flash_no_beta_limits~~UsesGraph proc~flash_no_beta_limits flash_no_beta_limits module~yaeos__auxiliar yaeos__auxiliar proc~flash_no_beta_limits->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

Flash algorithm using sucessive substitutions.

Available specifications:

  • TP (with T and P_spec variables)
  • TV (with T and V_spec variables)

This algorithm assumes that the specified T and P/V correspond to vapor-liquid separation predicted by the provided model (0

Arguments

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

Thermodynamic model

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

Global composition (molar fractions)

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

Temperature [K]

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

Initial guess for vapor fraction

real(kind=pr), intent(in), optional :: v_spec

Specified Volume [L/mol]

real(kind=pr), intent(in), optional :: p_spec

Specified Pressure [bar]

real(kind=pr), intent(in), optional :: k0(:)

Initial K factors (y/x)

integer, intent(out), optional :: iters

Number of iterations

Return Value type(EquilibriumState)


Calls

proc~~flash_no_beta_limits~~CallsGraph proc~flash_no_beta_limits flash_no_beta_limits ln_activity_coefficient ln_activity_coefficient proc~flash_no_beta_limits->ln_activity_coefficient lnphi_pt lnphi_pt proc~flash_no_beta_limits->lnphi_pt pressure pressure proc~flash_no_beta_limits->pressure proc~k_wilson k_wilson proc~flash_no_beta_limits->proc~k_wilson proc~pressure_equality_v_beta_xy pressure_equality_V_beta_xy proc~flash_no_beta_limits->proc~pressure_equality_v_beta_xy proc~solve_rr solve_rr proc~flash_no_beta_limits->proc~solve_rr get_v0 get_v0 proc~pressure_equality_v_beta_xy->get_v0 proc~pressure ArModel%pressure proc~pressure_equality_v_beta_xy->proc~pressure proc~betalimits betalimits proc~solve_rr->proc~betalimits proc~rachford_rice rachford_rice proc~solve_rr->proc~rachford_rice residual_helmholtz residual_helmholtz proc~pressure->residual_helmholtz

Variables

Type Visibility Attributes Name Initial
real(kind=pr), public, dimension(size(z)) :: K
real(kind=pr), public :: P
real(kind=pr), public :: V
real(kind=pr), public :: Vx
real(kind=pr), public :: Vy
real(kind=pr), public :: beta
real(kind=pr), public :: bmax
real(kind=pr), public :: bmin
real(kind=pr), public, dimension(size(z)) :: dK
real(kind=pr), public, dimension(size(z)) :: dKold
real(kind=pr), public :: g0
real(kind=pr), public :: g1
real(kind=pr), public, dimension(size(z)) :: lnK
real(kind=pr), public, dimension(size(z)) :: lnKold
real(kind=pr), public, dimension(size(z)) :: lnfug_x
real(kind=pr), public, dimension(size(z)) :: lnfug_y
character(len=2), public :: spec

Flash specification [PT | VT]

real(kind=pr), public, dimension(size(z)) :: x
real(kind=pr), public, dimension(size(z)) :: y