Skip to content

polykin.transport.diffusion¤

uptake_convection_sheet ¤

uptake_convection_sheet(Fo: float, Bi: float) -> float

Fractional mass uptake for transient diffusion in a plane sheet subjected to a surface convection boundary condition.

For a plane sheet of thickness \(2a\), with diffusion from both faces, where the concentration is initially \(C_0\) everywhere, and the flux at the surface is:

\[ -D \left.\frac{\partial C}{\partial x} \right|_{x=a}=k(C(a,t)-C_{\infty}) \]

the fractional mass uptake is:

\[ \frac{\bar{C}-C_0}{C_{\infty} -C_0} = 1 - 2 Bi^2 \sum_{n=1}^{\infty}\frac{1}{\beta_n^2[\beta_n^2+Bi(Bi+1)]} \exp (-\beta_n^2 Fo) \]

where \(Fo = D t/a^2\) is the Fourier number, \(Bi = k a/D\) is the Biot number, and \(\beta_n\) are the positive roots of the transcendental equation \(\beta \tan(\beta) = Bi\).

References

  • J. Crank, "The mathematics of diffusion", Oxford University Press, 1975, p. 60.
PARAMETER DESCRIPTION
Fo

Fourier number, \(D t/a^2\).

TYPE: float

Bi

Biot number, \(k a/D\).

TYPE: float

RETURNS DESCRIPTION
float

Fractional mass uptake.

See also

Examples:

Determine the fractional mass uptake after 500 seconds for a polymer solution film with a thickness of 0.2 mm, a diffusion coefficient of 1e-11 m²/s, and an external mass transfer coefficient of 1e-6 m/s.

>>> from polykin.transport import uptake_convection_sheet
>>> t = 5e2   # s
>>> a = 2e-4  # m
>>> D = 1e-11 # m²/s
>>> k = 1e-6  # m/s
>>> Fo = D*t/a**2
>>> Bi = k*a/D
>>> uptake_convection_sheet(Fo, Bi)
0.3528861780625614
Source code in src/polykin/transport/diffusion.py
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
def uptake_convection_sheet(Fo: float, Bi: float) -> float:
    r"""Fractional mass uptake for transient diffusion in a plane sheet
    subjected to a surface convection boundary condition. 

    For a plane sheet of thickness $2a$, with diffusion from _both_ faces,
    where the concentration is initially $C_0$ everywhere, and the flux at the
    surface is:

    $$ -D \left.\frac{\partial C}{\partial x} \right|_{x=a}=k(C(a,t)-C_{\infty}) $$

    the fractional mass uptake is:

    $$ \frac{\bar{C}-C_0}{C_{\infty} -C_0} =
        1 - 2 Bi^2 \sum_{n=1}^{\infty}\frac{1}{\beta_n^2[\beta_n^2+Bi(Bi+1)]}
        \exp (-\beta_n^2 Fo) $$

    where $Fo = D t/a^2$ is the Fourier number, $Bi = k a/D$ is the Biot
    number, and $\beta_n$ are the positive roots of the transcendental equation 
    $\beta \tan(\beta) = Bi$.

    **References**

    * J. Crank, "The mathematics of diffusion", Oxford University Press, 1975,
      p. 60.

    Parameters
    ----------
    Fo : float
        Fourier number, $D t/a^2$.
    Bi : float
        Biot number, $k a/D$.

    Returns
    -------
    float
        Fractional mass uptake.

    See also
    --------
    * [`uptake_constc_sheet`](uptake_constc_sheet.md): related method for
      constant surface concentration boundary condition.

    Examples
    --------
    Determine the fractional mass uptake after 500 seconds for a polymer solution
    film with a thickness of 0.2 mm, a diffusion coefficient of 1e-11 m²/s, and
    an external mass transfer coefficient of 1e-6 m/s.
    >>> from polykin.transport import uptake_convection_sheet
    >>> t = 5e2   # s
    >>> a = 2e-4  # m
    >>> D = 1e-11 # m²/s
    >>> k = 1e-6  # m/s
    >>> Fo = D*t/a**2
    >>> Bi = k*a/D
    >>> uptake_convection_sheet(Fo, Bi)
    0.3528861780625614
    """
    if Fo and Bi:
        N = 4  # Number of terms in series expansion (optimal value)
        x = roots_xtanx(Bi, N)
        b2 = x**2
        S = sum(exp(-b2[n]*Fo)/(b2[n]*(b2[n] + Bi*(Bi + 1)))
                for n in range(0, N))
        return 1 - (2*Bi**2)*S
    else:
        return 0