yaeos__equilibria_stability Module

Phase Stability module

Phase stability related calculations.

Description

Contains the basics rotuines to make phase stability analysis for phase-equilibria detection.

  • tpd(model, z, w, P, T): reduced Tangent-Plane-Distance
  • min_tpd(model, z, P, T, mintpd, w): Find minimal tpd for a multicomponent mixture

Examples

  ! Obtain the minimal tpd for a binary mixture at \(z_1 = 0.13\)
  model = PengRobinson76(tc, pc, ac, kij, lij)

  z = [0.13, 1-0.13]
  w = [0.1, 0.9]

  P = 45.6_pr
  T = 190._pr

  z = z/sum(z)
-----------------------------------------------

References

  1. Thermodynamic Models: Fundamental and Computational Aspects, Michael L. Michelsen, Jørgen M. Mollerup. Tie-Line Publications, Denmark (2004) doi

Uses

  • module~~yaeos__equilibria_stability~~UsesGraph module~yaeos__equilibria_stability yaeos__equilibria_stability module~yaeos__constants yaeos__constants module~yaeos__equilibria_stability->module~yaeos__constants module~yaeos__models_ar yaeos__models_ar module~yaeos__equilibria_stability->module~yaeos__models_ar module~yaeos__models_base yaeos__models_base module~yaeos__equilibria_stability->module~yaeos__models_base module~yaeos__models_ge yaeos__models_ge module~yaeos__equilibria_stability->module~yaeos__models_ge iso_fortran_env iso_fortran_env module~yaeos__constants->iso_fortran_env module~yaeos__models_ar->module~yaeos__constants module~yaeos__models_ar->module~yaeos__models_base module~yaeos__substance yaeos__substance module~yaeos__models_base->module~yaeos__substance module~yaeos__models_ge->module~yaeos__constants module~yaeos__models_ge->module~yaeos__models_base module~yaeos__substance->module~yaeos__constants

Used by

  • module~~yaeos__equilibria_stability~~UsedByGraph module~yaeos__equilibria_stability yaeos__equilibria_stability module~yaeos__equilibria yaeos__equilibria module~yaeos__equilibria->module~yaeos__equilibria_stability module~yaeos__equilibria_boundaries_generalized_isopleths yaeos__equilibria_boundaries_generalized_isopleths module~yaeos__equilibria->module~yaeos__equilibria_boundaries_generalized_isopleths module~yaeos__equilibria_boundaries_generalized_isopleths->module~yaeos__equilibria_stability proc~pt_mp_flash pt_mp_flash proc~pt_mp_flash->module~yaeos__equilibria_stability proc~stability_check stability_check proc~stability_check->module~yaeos__equilibria_stability module~yaeos yaeos module~yaeos->module~yaeos__equilibria

Functions

public function tm(model, z, w, P, T, d, dtpd)

Michelsen’s modified function, .

Read more…

Arguments

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

Thermodynamic model

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

Feed composition

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

Test-phase mole numbers vector

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

Pressure [bar]

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

Temperature [K]

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

vector

real(kind=pr), intent(out), optional :: dtpd(:)

Return Value real(kind=pr)


Subroutines

public subroutine min_tpd(model, z, P, T, mintpd, w, all_minima)

Arguments

Type IntentOptional Attributes Name
class(BaseModel), target :: model

Thermodynamic model

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

Feed composition

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

Pressure [bar]

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

Temperature [K]

real(kind=pr), intent(out) :: mintpd

Minimal value of

real(kind=pr), intent(out) :: w(:)

Trial composition

real(kind=pr), intent(out), optional :: all_minima(:,:)

All the found minima