Skip to content

polykin.properties.diffusion¤

DL_Stokes_Einstein ¤

DL_Stokes_Einstein(T: float, R: float, mu: float) -> float

Estimate the diffusion coefficient of spherical particles using the Stokes-Einstein equation.

The diffusion coefficient of a dilute solution of spherical particles in a homogeneous fluid is given by:

\[ D = \frac{k_B T}{6 \pi \mu R} \]

where \(k_B\) is the Boltzmann constant, \(T\) is the temperature, \(\mu\) is the fluid viscosity, and \(R\) is the particle radius.

Note

The Stokes-Einstein equation is only valid for systems where the particle radius \(R\) is significantly larger than the radius of the fluid molecules. When the particle sizes are comparable, the actual diffusion coefficient is typically larger than predicted.

PARAMETER DESCRIPTION
T

Temperature [K].

TYPE: float

R

Particle radius [m].

TYPE: float

mu

Viscosity [Pa.s].

TYPE: float

RETURNS DESCRIPTION
float

Diffusion coefficient [m²/s].

Examples:

Estimate the diffusion coefficient of latex particles with a 100 nm radius in water at 298 K.

>>> from polykin.properties.diffusion import DL_Stokes_Einstein
>>> D = DL_Stokes_Einstein(T=298.0, R=100e-9, mu=1e-3)
>>> print(f"{D:.1e} m²/s")
2.2e-12 m²/s
Source code in src/polykin/properties/diffusion/liquid.py
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
def DL_Stokes_Einstein(
    T: float,
    R: float,
    mu: float,
) -> float:
    r"""Estimate the diffusion coefficient of spherical particles using the
    Stokes-Einstein equation.

    The diffusion coefficient of a dilute solution of spherical particles in a
    homogeneous fluid is given by:

    $$ D = \frac{k_B T}{6 \pi \mu R} $$

    where $k_B$ is the Boltzmann constant, $T$ is the temperature, $\mu$ is the
    fluid viscosity, and $R$ is the particle radius.

    !!! note

        The Stokes-Einstein equation is only valid for systems where the 
        particle radius $R$ is significantly larger than the radius of the
        fluid molecules. When the particle sizes are comparable, the actual
        diffusion coefficient is typically larger than predicted.

    Parameters
    ----------
    T : float
        Temperature [K].
    R : float
        Particle radius [m].
    mu : float
        Viscosity [Pa.s].

    Returns
    -------
    float
        Diffusion coefficient [m²/s].

    Examples
    --------
    Estimate the diffusion coefficient of latex particles with a 100 nm radius
    in water at 298 K.
    >>> from polykin.properties.diffusion import DL_Stokes_Einstein
    >>> D = DL_Stokes_Einstein(T=298.0, R=100e-9, mu=1e-3)
    >>> print(f"{D:.1e} m²/s")
    2.2e-12 m²/s
    """
    return kB*T/(6*pi*mu*R)