Skip to content

polykin.properties.diffusion¤

DVMX ¤

DVMX(x: FloatVectorLike, D: FloatVectorLike) -> float

Estimate the diffusion coefficient of a dilute component \(i\) in a homogeneous gas mixture.

\[ D_{im} = \sum_{j, j\neq i} x_j \left( \sum_{j, j\neq i} \frac{x_j}{D_{ij}} \right)^{-1} \]
PARAMETER DESCRIPTION
x

Mole fractions of all mixture components except \(i\) [mol/mol]. There is no need to (re)normalize the vector.

TYPE: FloatVectorLike(N)

D

Binary diffusion coefficient of \(i\) in each mixture component \(j\) [m²/s].

TYPE: FloatVectorLike(N)

RETURNS DESCRIPTION
float

Pseudo-binary diffusion coefficient [m²/s].

Source code in src/polykin/properties/diffusion/vapor.py
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
def DVMX(x: FloatVectorLike, D: FloatVectorLike) -> float:
    r"""Estimate the diffusion coefficient of a dilute component $i$ in a
    homogeneous gas mixture.

    $$ D_{im} = \sum_{j, j\neq i} x_j \left( \sum_{j, j\neq i} \frac{x_j}{D_{ij}} \right)^{-1} $$

    Parameters
    ----------
    x : FloatVectorLike (N)
        Mole fractions of all mixture components except $i$ [mol/mol]. There is
        no need to (re)normalize the vector.
    D : FloatVectorLike (N)
        Binary diffusion coefficient of $i$ in each mixture component $j$ [m²/s].

    Returns
    -------
    float
        Pseudo-binary diffusion coefficient [m²/s].
    """
    x = np.asarray(x)
    D = np.asarray(D)
    return np.sum(x)/np.sum(x/D)