QMR_RKPR Derived Type

type, public, extends(QMR) :: QMR_RKPR


Components

Type Visibility Attributes Name Initial
logical, public :: dn2 = .false.

Calculate second order derivatives

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

Attractive Binary Interatction parameter matrix

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

Repulsive Binary Interatction parameter matrix


Type-Bound Procedures

procedure, public :: Bmix

Repulsive parameter mixing rule

  • public subroutine Bmix(self, n, bi, B, dBi, dBij)

    Mixture repulsive parameter.

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(QMR), intent(in) :: self

    Mixing rule object.

    real(kind=pr), intent(in) :: n(:)

    Moles vector.

    real(kind=pr), intent(in) :: bi(:)

    Pure components repulsive parameters.

    real(kind=pr), intent(out) :: B

    Mixture repulsive parameter.

    real(kind=pr), intent(out) :: dBi(:)

    real(kind=pr), intent(out) :: dBij(:,:)

procedure, public :: D1Mix => RKPR_D1mix

  • public subroutine RKPR_D1mix(self, n, d1i, D1, dD1i, dD1ij)

    RKPR parameter mixing rule.

    Read more…

    Arguments

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

Attractive parameter mixing rule

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

    Attractive parameter mixing rule with quadratic mix.

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(QMR), intent(in) :: self

    Mixing rule object.

    real(kind=pr), intent(in) :: n(:)

    Moles vector [mol]

    real(kind=pr), intent(in) :: T

    Temperature [K]

    real(kind=pr), intent(in) :: ai(:)

    Pure components attractive parameters

    real(kind=pr), intent(in) :: daidt(:)

    real(kind=pr), intent(in) :: daidt2(:)

    real(kind=pr), intent(out) :: D

    Mixture attractive parameter

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

procedure, public :: aij => kij_constant

Default attractive parameter combining rule

  • public subroutine kij_constant(self, T, a, dadt, dadt2, aij, daijdt, daijdt2)

    Combining rule that uses constant values.

    Read more…

    Arguments

    Type IntentOptional Attributes Name
    class(QMR), intent(in) :: self
    real(kind=pr), intent(in) :: T

    Temperature [K]

    real(kind=pr), intent(in) :: a(:)

    Pure components attractive parameters (\a_i)

    real(kind=pr), intent(in) :: dadt(:)

    real(kind=pr), intent(in) :: dadt2(:)

    real(kind=pr), intent(out) :: aij(:,:)

    Matrix

    real(kind=pr), intent(out) :: daijdt(:,:)

    real(kind=pr), intent(out) :: daijdt2(:,:)