yaeos__models_ar_cubic_mixing_base Module

Mixing rules core math

Procedures of the core calculations of CubicEoS mixing rules.

Description

This module holds all the basic math to use mixing rules in other codes. Keeping it simple and accesible.

Examples

bi = [0.2, 0.3]
lij = reshape([0.0, 0.2, 0.2, 0], [2,2])

! Calculate B parameter with Quadratric Mixing Rules.
call bmix_qmr(n, bi, lij, b, dbi, dbij)

References



Subroutines

public pure subroutine bmix_linear(n, bi, b, dbi, dbij)

Arguments

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

public pure subroutine bmix_qmr(n, bi, lij, b, dbi, dbij)

Arguments

Type IntentOptional Attributes Name
real(kind=pr), intent(in) :: n(:)
real(kind=pr), intent(in) :: bi(:)
real(kind=pr), intent(in) :: lij(:,:)
real(kind=pr), intent(out) :: b
real(kind=pr), intent(out) :: dbi(:)
real(kind=pr), intent(out) :: dbij(:,:)

public pure subroutine d1mix_rkpr(n, d1i, D1, dD1i, dD1ij)

RKPR parameter mixing rule.

Read more…

Arguments

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

public subroutine lamdba_hv(d1, dd1i, dd1ij, L, dLi, dLij)

Infinite pressure limit parameter

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=pr), intent(in) :: d1
real(kind=pr), intent(in) :: dd1i(:)
real(kind=pr), intent(in) :: dd1ij(:,:)
real(kind=pr), intent(out) :: L
real(kind=pr), intent(out) :: dLi(:)
real(kind=pr), intent(out) :: dLij(:,:)