yaeos__models_ge_NRTL Module


Uses

  • module~~yaeos__models_ge_nrtl~~UsesGraph module~yaeos__models_ge_nrtl yaeos__models_ge_NRTL module~yaeos__constants yaeos__constants module~yaeos__models_ge_nrtl->module~yaeos__constants module~yaeos__models_ge yaeos__models_ge module~yaeos__models_ge_nrtl->module~yaeos__models_ge module~yaeos__tapenade_interfaces yaeos__tapenade_interfaces module~yaeos__models_ge_nrtl->module~yaeos__tapenade_interfaces iso_fortran_env iso_fortran_env module~yaeos__constants->iso_fortran_env module~yaeos__models_ge->module~yaeos__constants module~yaeos__models_base yaeos__models_base module~yaeos__models_ge->module~yaeos__models_base module~yaeos__tapenade_interfaces->module~yaeos__constants module~yaeos__substance yaeos__substance module~yaeos__models_base->module~yaeos__substance module~yaeos__substance->module~yaeos__constants

Used by

  • module~~yaeos__models_ge_nrtl~~UsedByGraph module~yaeos__models_ge_nrtl yaeos__models_ge_NRTL module~yaeos__models_ge_implementations yaeos__models_ge_implementations module~yaeos__models_ge_implementations->module~yaeos__models_ge_nrtl module~yaeos__models yaeos__models module~yaeos__models->module~yaeos__models_ge_implementations proc~psrk PSRK proc~psrk->module~yaeos__models_ge_implementations module~yaeos yaeos module~yaeos->module~yaeos__models

Interfaces

public interface NRTL

  • public function init(a, b, c)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=pr), intent(in) :: a(:,:)
    real(kind=pr), intent(in) :: b(:,:)
    real(kind=pr), intent(in) :: c(:,:)

    Return Value type(NRTL)


Derived Types

type, public, extends(GeModel) ::  NRTL

Non-Random-Two-Liquid model

Read more…

Components

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

A_{ij} matrix

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

B_{ij} matrix

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

C_{ij} matrix

type(Substances), public :: components

Substances contained in the module

Constructor

public function init (a, b, c)

Type-Bound Procedures

procedure, public :: excess_Cp
procedure, public :: excess_enthalpy
procedure, public :: excess_entropy
procedure, public :: excess_gibbs
procedure, public :: ln_activity_coefficient

Functions

public function init(a, b, c)

Arguments

Type IntentOptional Attributes Name
real(kind=pr), intent(in) :: a(:,:)
real(kind=pr), intent(in) :: b(:,:)
real(kind=pr), intent(in) :: c(:,:)

Return Value type(NRTL)


Subroutines

public subroutine excess_gibbs(self, n, T, Ge, GeT, GeT2, Gen, GeTn, Gen2)

Calculate Excess Gibbs and its derivatives.

Arguments

Type IntentOptional Attributes Name
class(NRTL), intent(in) :: self

Model

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

Moles vector

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

Temperature [K]

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

Excess Gibbs free energy

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

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

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

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