CubicMixRule Derived Type

type, public, abstract :: CubicMixRule

Abstract derived type that describe the required procedure for a mixing rule on a Cubic EoS


Components

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

Calculate second order derivatives


Type-Bound Procedures

procedure(abs_Bmix), public, deferred :: Bmix

  • subroutine abs_Bmix(self, n, bi, B, dBi, dBij) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(CubicMixRule), 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(abs_D1mix), public, deferred :: D1mix

  • subroutine abs_D1mix(self, n, d1i, D1, dD1i, dD1ij) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(CubicMixRule), 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(abs_Dmix), public, deferred :: Dmix

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

    Arguments

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