HV_NRTL Derived Type

type, public, extends(CubicMixRule) :: HV_NRTL

HV_NRTL

Huron-Vidal mixing rule including the NRTL model modified by Huron and Vidal.

Description

This is the Huron-Vidal mixing rule that includes the NRTL model modified by Huron and Vidal. It is a mixing rule that allows to use the NRTL model as an excess Gibbs energy model and can. be simplified to the classic Quatratic mixing rules when the parameters are set to:

Examples

References


Components

Type Visibility Attributes Name Initial
real(kind=pr), public, allocatable :: bi(:)
real(kind=pr), public, allocatable :: del1(:)
logical, public :: dn2 = .false.

Calculate second order derivatives

type(NRTLHV), public :: ge
real(kind=pr), public, allocatable :: kij(:,:)
logical, public, allocatable :: use_kij(:,:)

Constructor

public interface HV_NRTL

  • public function init_hvnrtl(b, del1, alpha, gji, use_kij, kij) result(mixrule)

    Huron-Vidal NRTL mixing rule

    This is the Huron-Vidal mixing rule that includes the NRTL model modified by Huron and Vidal.

    Description

    This is the Huron-Vidal mixing rule that includes the NRTL model modified by Huron and Vidal. It is a mixing rule that allows to use the NRTL model as an excess Gibbs energy model and can. be simplified to the classic Quatratic mixing rules when the parameters are set to:

    Examples

    Arguments

    Type IntentOptional Attributes Name
    real(kind=pr), intent(in) :: b(:)
    real(kind=pr), intent(in) :: del1(:)
    real(kind=pr), intent(in) :: alpha(:,:)
    real(kind=pr), intent(in) :: gji(:,:)
    logical, intent(in) :: use_kij(:,:)
    real(kind=pr), intent(in) :: kij(:,:)

    Return Value type(HV_NRTL)


Type-Bound Procedures

procedure, public :: Bmix => BmixHVNRTL

  • private subroutine BmixHVNRTL(self, n, bi, B, dBi, dBij)

    Quadratinc mixing rule for the repulsive parameter.

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(HV_NRTL), intent(in) :: self
    real(kind=pr), intent(in) :: n(:)
    real(kind=pr), intent(in) :: bi(:)
    real(kind=pr), intent(out) :: B
    real(kind=pr), intent(out) :: dBi(:)
    real(kind=pr), intent(out) :: dBij(:,:)

procedure, public :: D1Mix => D1MixHVNRTL

  • private subroutine D1MixHVNRTL(self, n, d1i, D1, dD1i, dD1ij)

    Arguments

    Type IntentOptional Attributes Name
    class(HV_NRTL), intent(in) :: self
    real(kind=pr), intent(in) :: n(:)
    real(kind=pr), intent(in) :: d1i(:)
    real(kind=pr), intent(out) :: D1
    real(kind=pr), intent(out) :: dD1i(:)
    real(kind=pr), intent(out) :: dD1ij(:,:)

procedure, public :: Dmix => DmixHVNRTL

  • private subroutine DmixHVNRTL(self, n, T, ai, daidt, daidt2, D, dDdT, dDdT2, dDi, dDidT, dDij)

    Arguments

    Type IntentOptional Attributes Name
    class(HV_NRTL), intent(in) :: self
    real(kind=pr), intent(in) :: n(:)
    real(kind=pr), intent(in) :: T
    real(kind=pr), intent(in) :: ai(:)
    real(kind=pr), intent(in) :: daidt(:)
    real(kind=pr), intent(in) :: daidt2(:)
    real(kind=pr), intent(out) :: D
    real(kind=pr), intent(out) :: dDdT
    real(kind=pr), intent(out) :: dDdT2
    real(kind=pr), intent(out) :: dDi(:)
    real(kind=pr), intent(out) :: dDidT(:)
    real(kind=pr), intent(out) :: dDij(:,:)