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(GeModelTapenade) ::  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_gibbs
procedure, public :: ge => EXCESS_GIBBS
procedure, public :: ge_b => EXCESS_GIBBS_B
procedure, public :: ge_d => EXCESS_GIBBS_D
procedure, public :: ge_d_b => EXCESS_GIBBS_D_B
procedure, public :: ge_d_d => EXCESS_GIBBS_D_D
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(model, n, t, ge)

Arguments

Type IntentOptional Attributes Name
class(NRTL) :: model
real(kind=pr), intent(in) :: n(:)
real(kind=pr), intent(in) :: t
real(kind=pr), intent(out) :: ge

public subroutine EXCESS_GIBBS_B(model, n, nb, t, tb, ge, geb)

Arguments

Type IntentOptional Attributes Name
class(NRTL) :: model
real(kind=pr), intent(in) :: n(:)
real(kind=pr) :: nb(:)
real(kind=pr), intent(in) :: t
real(kind=pr) :: tb
real(kind=pr) :: ge
real(kind=pr) :: geb

public subroutine EXCESS_GIBBS_D(model, n, nd, t, td, ge, ged)

Arguments

Type IntentOptional Attributes Name
class(NRTL) :: model
real(kind=pr), intent(in) :: n(:)
real(kind=pr), intent(in) :: nd(:)
real(kind=pr), intent(in) :: t
real(kind=pr), intent(in) :: td
real(kind=pr), intent(out) :: ge
real(kind=pr), intent(out) :: ged

public subroutine EXCESS_GIBBS_D_B(model, n, nb, nd, ndb, t, tb, td, tdb, ge, geb, ged, gedb)

Arguments

Type IntentOptional Attributes Name
class(NRTL) :: model
real(kind=pr), intent(in) :: n(:)
real(kind=pr) :: nb(:)
real(kind=pr), intent(in) :: nd(:)
real(kind=pr) :: ndb(:)
real(kind=pr), intent(in) :: t
real(kind=pr) :: tb
real(kind=pr), intent(in) :: td
real(kind=pr) :: tdb
real(kind=pr) :: ge
real(kind=pr) :: geb
real(kind=pr) :: ged
real(kind=pr) :: gedb

public subroutine EXCESS_GIBBS_D_D(model, n, nd, t, td0, td, ge, ged0, ged, gedd)

Arguments

Type IntentOptional Attributes Name
class(NRTL) :: model
real(kind=pr), intent(in) :: n(:)
real(kind=pr), intent(in) :: nd(:)
real(kind=pr), intent(in) :: t
real(kind=pr), intent(in) :: td0
real(kind=pr), intent(in) :: td
real(kind=pr), intent(out) :: ge
real(kind=pr), intent(out) :: ged0
real(kind=pr), intent(out) :: ged
real(kind=pr), intent(out) :: gedd

public subroutine EXCESS_GIBBS_D_D_D(model, n, nd, t, td1, td0, td, ge, ged1, ged0, ged0d, ged, gedd0, gedd, geddd)

Arguments

Type IntentOptional Attributes Name
class(NRTL) :: model
real(kind=pr), intent(in) :: n(:)
real(kind=pr), intent(in) :: nd(:)
real(kind=pr), intent(in) :: t
real(kind=pr), intent(in) :: td1
real(kind=pr), intent(in) :: td0
real(kind=pr), intent(in) :: td
real(kind=pr), intent(out) :: ge
real(kind=pr), intent(out) :: ged1
real(kind=pr), intent(out) :: ged0
real(kind=pr), intent(out) :: ged0d
real(kind=pr), intent(out) :: ged
real(kind=pr), intent(out) :: gedd0
real(kind=pr), intent(out) :: gedd
real(kind=pr), intent(out) :: geddd