yaeos__models_ge_base Module

Base module for excess Gibbs energy models in YAEOS This module provides implementations of excess Gibbs energy models using only Fortran native types.


Uses

  • module~~yaeos__models_ge_base~~UsesGraph module~yaeos__models_ge_base yaeos__models_ge_base module~yaeos__constants yaeos__constants module~yaeos__models_ge_base->module~yaeos__constants iso_fortran_env iso_fortran_env module~yaeos__constants->iso_fortran_env

Used by

  • module~~yaeos__models_ge_base~~UsedByGraph module~yaeos__models_ge_base yaeos__models_ge_base proc~excess_gibbs NRTL%excess_gibbs proc~excess_gibbs->module~yaeos__models_ge_base proc~excess_gibbs~2 NRTLHV%excess_gibbs proc~excess_gibbs~2->module~yaeos__models_ge_base

Subroutines

public subroutine nrtl_hv_ge(n, T, b, alpha, tau, dtaudt, dtaudt2, Ge, Gen, GeT, GeT2, GeTn, Gen2)

This subroutine calculates the excess Gibbs energy and its derivatives for a mixture using the NRTL model modified by Huron and Vidal. The NRTL model accounts for non-ideal interactions between components in a mixture. The expression for the excess Gibbs energy is:

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=pr), intent(in) :: n(:)

Number of moles vector.

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

Temperature [K]

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

parameter

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

matrix

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

matrix

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

First derivative of with respect to temperature

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

Second derivative of with respect to temperature

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

Excess Gibbs energy

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

Excess Gibbs energy derivative with repect to number of moles

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

Excess Gibbs energy derivative with respect to temperature

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

Excess Gibbs energy second derivative with respect to temperature

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

Excess Gibbs energy derivative with respect to temperature and number of moles

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

Excess Gibbs energy second derivative with respect to number of moles

public elemental subroutine nrtl_hv_tdep(T, gij, tau, dtaudt, dtaudt2)

Temperature dependent parameters for NRTL model

Arguments

Type IntentOptional Attributes Name
real(kind=pr), intent(in) :: T

Temperature [K]

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

Interaction parameters

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

matrix

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

First derivative of with respect to temperature

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

Second derivative of with respect to temperature

public elemental subroutine nrtl_hv_tdep_linear(T, A, B, tau, dtaudt, dtaudt2)

Temperature dependent parameters for NRTL model. The temperature dependence is linear:

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=pr), intent(in) :: T

Temperature [K]

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

Interaction parameters

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

Interaction parameters

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

matrix

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

First derivative of with respect to temperature

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

Second derivative of with respect to temperature