flash Function

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

Uses

  • proc~~flash~~UsesGraph proc~flash flash module~yaeos__auxiliar yaeos__auxiliar proc~flash->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), 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~~CallsGraph proc~flash flash ln_activity_coefficient ln_activity_coefficient proc~flash->ln_activity_coefficient lnphi_pt lnphi_pt proc~flash->lnphi_pt pressure pressure proc~flash->pressure proc~betalimits betalimits proc~flash->proc~betalimits proc~betato01 betato01 proc~flash->proc~betato01 proc~k_wilson k_wilson proc~flash->proc~k_wilson proc~pressure_equality_v_beta_xy pressure_equality_V_beta_xy proc~flash->proc~pressure_equality_v_beta_xy proc~solve_rr solve_rr proc~flash->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~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