yaeos__models_ge_NRTL Module



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_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))