yaeos__models_ge Module

Excess Gibbs Models.


Uses

  • module~~yaeos__models_ge~~UsesGraph module~yaeos__models_ge yaeos__models_ge module~yaeos__constants yaeos__constants module~yaeos__models_ge->module~yaeos__constants module~yaeos__models_base yaeos__models_base module~yaeos__models_ge->module~yaeos__models_base iso_fortran_env iso_fortran_env module~yaeos__constants->iso_fortran_env module~yaeos__substance yaeos__substance module~yaeos__models_base->module~yaeos__substance module~yaeos__substance->module~yaeos__constants

Used by

  • module~~yaeos__models_ge~~UsedByGraph module~yaeos__models_ge yaeos__models_ge module~yaeos__adiff_hyperdual_ge_api yaeos__adiff_hyperdual_ge_api module~yaeos__adiff_hyperdual_ge_api->module~yaeos__models_ge module~yaeos__consistency_gemodel yaeos__consistency_gemodel module~yaeos__consistency_gemodel->module~yaeos__models_ge module~yaeos__equilibria_flash yaeos__equilibria_flash module~yaeos__equilibria_flash->module~yaeos__models_ge module~yaeos__equilibria_stability yaeos__equilibria_stability module~yaeos__equilibria_stability->module~yaeos__models_ge module~yaeos__models yaeos__models module~yaeos__models->module~yaeos__models_ge module~yaeos__models_cubic_mixing_rules_huron_vidal yaeos__models_cubic_mixing_rules_huron_vidal module~yaeos__models->module~yaeos__models_cubic_mixing_rules_huron_vidal module~yaeos__models_ge_implementations yaeos__models_ge_implementations module~yaeos__models->module~yaeos__models_ge_implementations module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__models_ge module~yaeos__models_ge_nrtlhv yaeos__models_ge_nrtlhv module~yaeos__models_cubic_mixing_rules_huron_vidal->module~yaeos__models_ge_nrtlhv module~yaeos__models_ge_group_contribution_unifac yaeos__models_ge_group_contribution_unifac module~yaeos__models_ge_group_contribution_unifac->module~yaeos__models_ge module~yaeos__models_ge_nrtl yaeos__models_ge_NRTL module~yaeos__models_ge_nrtl->module~yaeos__models_ge module~yaeos__models_ge_nrtlhv->module~yaeos__models_ge module~yaeos__models_ge_uniquac yaeos__models_ge_uniquac module~yaeos__models_ge_uniquac->module~yaeos__models_ge module~yaeos__tapenade_ge_api yaeos__tapenade_ge_api module~yaeos__tapenade_ge_api->module~yaeos__models_ge module~yaeos yaeos module~yaeos->module~yaeos__models module~yaeos__consistency yaeos__consistency module~yaeos->module~yaeos__consistency module~yaeos__equilibria yaeos__equilibria module~yaeos->module~yaeos__equilibria module~yaeos__consistency->module~yaeos__consistency_gemodel module~yaeos__equilibria->module~yaeos__equilibria_flash module~yaeos__equilibria->module~yaeos__equilibria_stability module~yaeos__equilibria_boundaries_generalized_isopleths yaeos__equilibria_boundaries_generalized_isopleths module~yaeos__equilibria->module~yaeos__equilibria_boundaries_generalized_isopleths module~yaeos__equilibria_boundaries_generalized_isopleths->module~yaeos__equilibria_stability module~yaeos__models_ge_group_contribution_dortmund yaeos__models_ge_group_contribution_dortmund module~yaeos__models_ge_group_contribution_dortmund->module~yaeos__models_ge_group_contribution_unifac module~yaeos__models_ge_group_contribution_psrk yaeos__models_ge_group_contribution_psrk module~yaeos__models_ge_group_contribution_psrk->module~yaeos__models_ge_group_contribution_unifac module~yaeos__models_ge_implementations->module~yaeos__models_ge_group_contribution_unifac module~yaeos__models_ge_implementations->module~yaeos__models_ge_nrtl module~yaeos__models_ge_implementations->module~yaeos__models_ge_nrtlhv module~yaeos__models_ge_implementations->module~yaeos__models_ge_uniquac module~yaeos__models_ge_implementations->module~yaeos__models_ge_group_contribution_dortmund module~yaeos__models_ge_implementations->module~yaeos__models_ge_group_contribution_psrk 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 proc~psrk PSRK proc~psrk->module~yaeos__models_cubic_mixing_rules_huron_vidal proc~psrk->module~yaeos__models_ge_implementations proc~pt_mp_flash pt_mp_flash proc~pt_mp_flash->module~yaeos__equilibria_stability proc~stability_check stability_check proc~stability_check->module~yaeos__equilibria_stability

Abstract Interfaces

abstract interface

  • 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(GeModel), 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))


Derived Types

type, public, abstract, extends(BaseModel) ::  GeModel

Excess Gibbs energy model.

Components

Type Visibility Attributes Name Initial
type(Substances), public :: components

Substances contained in the module

Type-Bound Procedures

procedure, public :: excess_Cp
procedure, public :: excess_enthalpy
procedure, public :: excess_entropy
procedure(excess_gibbs), public, deferred :: excess_gibbs
procedure, public :: ln_activity_coefficient

Subroutines

public subroutine excess_Cp(self, n, T, Cpe)

Calculate Excess heat capacity.

Read more…

Arguments

Type IntentOptional Attributes Name
class(GeModel), 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) :: Cpe

Excess heat capacity [bar L / K]

public subroutine excess_enthalpy(self, n, T, He, HeT, Hen)

Calculate Excess enthalpy and its derivatives.

Read more…

Arguments

Type IntentOptional Attributes Name
class(GeModel), 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 :: He

Excess enthalpy

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

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

public subroutine excess_entropy(self, n, T, Se, SeT, Sen)

Calculate Excess entropy and its derivatives.

Read more…

Arguments

Type IntentOptional Attributes Name
class(GeModel), 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 :: Se

Excess entropy

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

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

public subroutine ln_activity_coefficient(self, n, T, lngamma, dlngammadT, dlngammadn)

Calculate natural logarithm of activity coefficients.

Read more…

Arguments

Type IntentOptional Attributes Name
class(GeModel), 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 :: lngamma(:)

Natural logarithm of activity coefficients

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

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