GeModelTapenade Derived Type

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


Components

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

Substances contained in the module


Type-Bound Procedures

procedure, public :: excess_enthalpy

  • 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(:)

procedure, public :: excess_entropy

  • 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(:)

procedure, public :: excess_gibbs

  • private subroutine excess_gibbs(self, n, t, Ge, GeT, GeT2, Gen, GeTn, Gen2)

    Excess Gibbs model generic interface

    Arguments

    Type IntentOptional Attributes Name
    class(GeModelTapenade), intent(in) :: self
    real(kind=pr), intent(in) :: n(:)
    real(kind=pr), intent(in) :: t
    real(kind=pr), intent(out), optional :: Ge
    real(kind=pr), intent(out), optional :: GeT
    real(kind=pr), intent(out), optional :: GeT2
    real(kind=pr), intent(out), optional, dimension(size(n)) :: Gen
    real(kind=pr), intent(out), optional, dimension(size(n)) :: GeTn
    real(kind=pr), intent(out), optional :: Gen2(size(n),size(n))

procedure(tapenade_ge), public, deferred :: ge

  • subroutine tapenade_ge(model, n, t, ge) Prototype

    Arguments

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

procedure(tapenade_ge_b), public, deferred :: ge_b

  • subroutine tapenade_ge_b(model, n, nb, t, tb, ge, geb) Prototype

    Arguments

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

procedure(tapenade_ge_d), public, deferred :: ge_d

  • subroutine tapenade_ge_d(model, n, nd, t, td, ge, ged) Prototype

    Arguments

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

procedure(tapenade_ge_d_b), public, deferred :: ge_d_b

  • subroutine tapenade_ge_d_b(model, n, nb, nd, ndb, t, tb, td, tdb, ge, geb, ged, gedb) Prototype

    Arguments

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

procedure(tapenade_ge_d_d), public, deferred :: ge_d_d

  • subroutine tapenade_ge_d_d(model, n, nd, t, td0, td, ge, ged0, ged, gedd) Prototype

    Arguments

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

procedure, public :: ln_activity_coefficient

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