yaeos__models_ge_nrtlhv Module

NRTL-HV model for excess Gibbs energy


Uses

  • module~~yaeos__models_ge_nrtlhv~~UsesGraph module~yaeos__models_ge_nrtlhv yaeos__models_ge_nrtlhv module~yaeos__autodiff yaeos__autodiff module~yaeos__models_ge_nrtlhv->module~yaeos__autodiff module~yaeos__constants yaeos__constants module~yaeos__models_ge_nrtlhv->module~yaeos__constants module~yaeos__models_ge yaeos__models_ge module~yaeos__models_ge_nrtlhv->module~yaeos__models_ge module~hyperdual_mod hyperdual_mod module~yaeos__autodiff->module~hyperdual_mod module~yaeos__adiff_hyperdual_ar_api yaeos__adiff_hyperdual_ar_api module~yaeos__autodiff->module~yaeos__adiff_hyperdual_ar_api 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~hyperdual_mod->module~yaeos__constants module~yaeos__adiff_hyperdual_ar_api->module~yaeos__constants module~yaeos__adiff_hyperdual_ar_api->module~hyperdual_mod module~yaeos__models_ar yaeos__models_ar module~yaeos__adiff_hyperdual_ar_api->module~yaeos__models_ar module~yaeos__substance yaeos__substance module~yaeos__models_base->module~yaeos__substance module~yaeos__models_ar->module~yaeos__constants module~yaeos__models_ar->module~yaeos__models_base module~yaeos__substance->module~yaeos__constants

Used by

  • module~~yaeos__models_ge_nrtlhv~~UsedByGraph module~yaeos__models_ge_nrtlhv yaeos__models_ge_nrtlhv module~yaeos__models_cubic_mixing_rules_huron_vidal yaeos__models_cubic_mixing_rules_huron_vidal module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__models_ge_nrtlhv module~yaeos__models_ge_implementations yaeos__models_ge_implementations module~yaeos__models_ge_implementations->module~yaeos__models_ge_nrtlhv proc~dmixhvnrtl HV_NRTL%DmixHVNRTL proc~dmixhvnrtl->module~yaeos__models_ge_nrtlhv proc~init_hvnrtl init_hvnrtl proc~init_hvnrtl->module~yaeos__models_ge_nrtlhv module~yaeos__models yaeos__models module~yaeos__models->module~yaeos__models_cubic_mixing_rules_huron_vidal module~yaeos__models->module~yaeos__models_ge_implementations proc~psrk PSRK proc~psrk->module~yaeos__models_cubic_mixing_rules_huron_vidal proc~psrk->module~yaeos__models_ge_implementations module~yaeos yaeos module~yaeos->module~yaeos__models

Derived Types

type, public, extends(GeModel) ::  NRTLHV

Huron-Vidal modification of the NRTL model for excess Gibbs energy.

Read more…

Components

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

matrix

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

Covolume parameter

type(Substances), public :: components

Substances contained in the module

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

matrix

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

matrix

Type-Bound Procedures

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

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(NRTLHV), 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))