yaeos__models_ar_cubic_mixing_sddlc Module


Uses

  • module~~yaeos__models_ar_cubic_mixing_sddlc~~UsesGraph module~yaeos__models_ar_cubic_mixing_sddlc yaeos__models_ar_cubic_mixing_sddlc module~yaeos__constants yaeos__constants module~yaeos__models_ar_cubic_mixing_sddlc->module~yaeos__constants module~yaeos__models_ar_cubic_quadratic_mixing yaeos__models_ar_cubic_quadratic_mixing module~yaeos__models_ar_cubic_mixing_sddlc->module~yaeos__models_ar_cubic_quadratic_mixing iso_fortran_env iso_fortran_env module~yaeos__constants->iso_fortran_env module~yaeos__models_ar_cubic_quadratic_mixing->module~yaeos__constants module~yaeos__models_ar_cubic_mixing_base yaeos__models_ar_cubic_mixing_base module~yaeos__models_ar_cubic_quadratic_mixing->module~yaeos__models_ar_cubic_mixing_base module~yaeos__models_ar_genericcubic yaeos__models_ar_genericcubic module~yaeos__models_ar_cubic_quadratic_mixing->module~yaeos__models_ar_genericcubic module~yaeos__substance yaeos__substance module~yaeos__models_ar_cubic_quadratic_mixing->module~yaeos__substance module~yaeos__models_ar_cubic_mixing_base->module~yaeos__constants module~yaeos__models_ar_genericcubic->module~yaeos__constants module~yaeos__models_ar_genericcubic->module~yaeos__substance module~yaeos__models_ar yaeos__models_ar module~yaeos__models_ar_genericcubic->module~yaeos__models_ar module~yaeos__substance->module~yaeos__constants module~yaeos__models_ar->module~yaeos__constants module~yaeos__models_base yaeos__models_base module~yaeos__models_ar->module~yaeos__models_base module~yaeos__models_base->module~yaeos__substance

Used by

  • module~~yaeos__models_ar_cubic_mixing_sddlc~~UsedByGraph module~yaeos__models_ar_cubic_mixing_sddlc yaeos__models_ar_cubic_mixing_sddlc module~yaeos__models yaeos__models module~yaeos__models->module~yaeos__models_ar_cubic_mixing_sddlc module~yaeos yaeos module~yaeos->module~yaeos__models

Interfaces

public interface sDDLC

  • public function init_sddlc(k, k0, tref, l, q) result(mixrule)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=pr), intent(in) :: k(:,:)
    real(kind=pr), intent(in) :: k0(:,:)
    real(kind=pr), intent(in) :: tref(:,:)
    real(kind=pr), intent(in) :: l(:,:)
    real(kind=pr), intent(in) :: q(:)

    Return Value type(sDDLC)


Derived Types

type, public, extends(QMRTD) ::  sDDLC

Segmented Density-Dependent Local-Composition Mixing Rule.

Components

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

Calculate second order derivatives

logical, public :: is_D_ddlc = .false.

Mixing rule D parameter dependant on density

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

Attractive Binary Interatction parameter matrix

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

Repulsive Binary Interatction parameter matrix

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

Segment size

Constructor

public function init_sddlc (k, k0, tref, l, q)

Type-Bound Procedures

procedure, public :: Bmix

Repulsive parameter mixing rule

procedure, public :: D1mix => RKPR_D1mix
procedure, public :: Dmix => ddlc_Dmix
procedure, public :: aij => kij_exp_tdep

Functions

public function init_sddlc(k, k0, tref, l, q) result(mixrule)

Arguments

Type IntentOptional Attributes Name
real(kind=pr), intent(in) :: k(:,:)
real(kind=pr), intent(in) :: k0(:,:)
real(kind=pr), intent(in) :: tref(:,:)
real(kind=pr), intent(in) :: l(:,:)
real(kind=pr), intent(in) :: q(:)

Return Value type(sDDLC)


Subroutines

public subroutine ddlc_Dmix(self, n, V, T, ai, daidt, daidt2, D, dDdV, dDdT, dDdV2, dDdT2, dDi, dDdTV, dDidV, dDidT, dDij)

s-DDLC D mixing rule including V, n, and T derivatives.

Read more…

Arguments

Type IntentOptional Attributes Name
class(sDDLC), intent(in) :: self
real(kind=pr), intent(in) :: n(:)
real(kind=pr), intent(in) :: V
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) :: dDdV
real(kind=pr), intent(out) :: dDdT
real(kind=pr), intent(out) :: dDdV2
real(kind=pr), intent(out) :: dDdT2
real(kind=pr), intent(out) :: dDi(:)
real(kind=pr), intent(out) :: dDdTV
real(kind=pr), intent(out) :: dDidV(:)
real(kind=pr), intent(out) :: dDidT(:)
real(kind=pr), intent(out) :: dDij(:,:)