# Packing & demister pressure drop (fluids.packed_tower)

This module contains correlations and functions for calculating pressure drop from packings and demisters; separation efficiency of demisters; demister pressure drop; and demister geometry.

For reporting bugs, adding feature requests, or submitting pull requests, please use the GitHub issue tracker or contact the author at Caleb.Andrew.Bell@gmail.com.

## Packing Pressure Drop

fluids.packed_tower.Robbins(L, G, rhol, rhog, mul, H=1.0, Fpd=24.0)

  Calculates pressure drop across a packed column, using the Robbins equation.

  Pressure drop is given by:

  \[\Delta P = C_3 G_f^2 10^{C_4L_f}+0.4[L_f/20000]^{0.1}[C_3G_f^210^{C_4L_f}]^4\]
  \[G_f=G[0.075/\rho_g]^{0.5}[F_{pd}/20]^{0.5}=986F_s[F_{pd}/20]^{0.5}\]
  \[L_f=L[62.4/\rho_L][F_{pd}/20]^{0.5}\mu^{0.1}\]
  \[F_s=V_s\rho_g^{0.5}\]
  Parameters:
    L `python:float`

      Specific liquid mass flow rate [kg/s/m^2]

    G `python:float`

      Specific gas mass flow rate [kg/s/m^2]

    rhol `python:float`

      Density of liquid [kg/m^3]

    rhog `python:float`

      Density of gas [kg/m^3]

    mul `python:float`

      Viscosity of liquid [Pa*s]

    H `python:float`

      Height of packing [m]

    Fpd `python:float`

      Robbins packing factor (tabulated for packings) [1/ft]

  Returns:
    dP `python:float`

      Pressure drop across packing [Pa]

  Notes

  Perry’s displayed equation has a typo in a superscript. This model is based on the example in Perry’s.

  References

  [1]

  Robbins [Chem. Eng. Progr., p. 87 (May 1991) Improved Pressure Drop Prediction with a New Correlation.

  Examples

      >>> Robbins(L=12.2, G=2.03, rhol=1000., rhog=1.1853, mul=0.001, H=2.0, Fpd=24.0)
      619.6624593438102

fluids.packed_tower.Stichlmair_dry(Vg, rhog, mug, voidage, specific_area, C1, C2, C3, H=1.0)

  Calculates dry pressure drop across a packed column, using the Stichlmair [1] correlation. Uses three regressed constants for each type of packing, and voidage and specific area.

  Pressure drop is given by:

  \[\Delta P_{dry} = \frac{3}{4} f_0 \frac{1-\epsilon}{\epsilon^{4.65}} \rho_G \frac{H}{d_p}V_g^2\]
  \[f_0 = \frac{C_1}{Re_g} + \frac{C_2}{Re_g^{0.5}} + C_3\]
  \[d_p = \frac{6(1-\epsilon)}{a}\]
  Parameters:
    Vg `python:float`

      Superficial velocity of gas, Q/A [m/s]

    rhog `python:float`

      Density of gas [kg/m^3]

    mug `python:float`

      Viscosity of gas [Pa*s]

    voidage `python:float`

      Voidage of bed of packing material []

    specific_area `python:float`

      Specific area of the packing material [m^2/m^3]

    C1 `python:float`

      Packing-specific constant []

    C2 `python:float`

      Packing-specific constant []

    C3 `python:float`

      Packing-specific constant []

    H `python:float`, `optional`

      Height of packing [m]

  Returns:
    dP_dry `python:float`

      Pressure drop across dry packing [Pa]

  Notes

  This model is used by most process simulation tools. If H is not provided, it defaults to 1. If Z is not provided, it defaults to 1.

  References

  [1]

  Stichlmair, J., J. L. Bravo, and J. R. Fair. “General Model for Prediction of Pressure Drop and Capacity of Countercurrent Gas/liquid Packed Columns.” Gas Separation & Purification 3, no. 1 (March 1989): 19-28. doi:10.1016/0950-4214(89)80016-7.

  Examples

      >>> Stichlmair_dry(Vg=0.4, rhog=5., mug=5E-5, voidage=0.68,
      ... specific_area=260., C1=32., C2=7.0, C3=1.0)
      236.80904286559885

fluids.packed_tower.Stichlmair_wet(Vg, Vl, rhog, rhol, mug, voidage, specific_area, C1, C2, C3, H=1.0)

  Calculates dry pressure drop across a packed column, using the Stichlmair [1] correlation. Uses three regressed constants for each type of packing, and voidage and specific area. This model is for irrigated columns only.

  Pressure drop is given by:

  \[\frac{\Delta P_{irr}}{H} = \frac{\Delta P_{dry}}{H}\left(\frac {1-\epsilon + h_T}{1-\epsilon}\right)^{(2+c)/3} \left(\frac{\epsilon}{\epsilon-h_T}\right)^{4.65}\]
  \[h_T = h_0\left[1 + 20\left(\frac{\Delta Pirr}{H\rho_L g}\right)^2\right]\]
  \[Fr_L = \frac{V_L^2 a}{g \epsilon^{4.65}}\]
  \[h_0 = 0.555 Fr_L^{1/3}\]
  \[c = \frac{-C_1/Re_g - C_2/(2Re_g^{0.5})}{f_0}\]
  \[\Delta P_{dry} = \frac{3}{4} f_0 \frac{1-\epsilon}{\epsilon^{4.65}} \rho_G \frac{H}{d_p}V_g^2\]
  \[f_0 = \frac{C_1}{Re_g} + \frac{C_2}{Re_g^{0.5}} + C_3\]
  \[d_p = \frac{6(1-\epsilon)}{a}\]
  Parameters:
    Vg `python:float`

      Superficial velocity of gas, Q/A [m/s]

    Vl `python:float`

      Superficial velocity of liquid, Q/A [m/s]

    rhog `python:float`

      Density of gas [kg/m^3]

    rhol `python:float`

      Density of liquid [kg/m^3]

    mug `python:float`

      Viscosity of gas [Pa*s]

    voidage `python:float`

      Voidage of bed of packing material []

    specific_area `python:float`

      Specific area of the packing material [m^2/m^3]

    C1 `python:float`

      Packing-specific constant []

    C2 `python:float`

      Packing-specific constant []

    C3 `python:float`

      Packing-specific constant []

    H `python:float`, `optional`

      Height of packing [m]

  Returns:
    dP `python:float`

      Pressure drop across irrigated packing [Pa]

  Notes

  This model is used by most process simulation tools. If H is not provided, it defaults to 1. If Z is not provided, it defaults to 1. A numerical solver is used and needed by this model. Its initial guess is the dry pressure drop. Convergence problems may occur. The model as described in [1] appears to have a typo, and could not match the example. As described in [2], however, the model works.

  References

  [1] (1,2,3)

  Stichlmair, J., J. L. Bravo, and J. R. Fair. “General Model for Prediction of Pressure Drop and Capacity of Countercurrent Gas/liquid Packed Columns.” Gas Separation & Purification 3, no. 1 (March 1989): 19-28. doi:10.1016/0950-4214(89)80016-7.

  [2]

  Piche, Simon R., Faical Larachi, and Bernard P. A. Grandjean. “Improving the Prediction of Irrigated Pressure Drop in Packed Absorption Towers.” The Canadian Journal of Chemical Engineering 79, no. 4 (August 1, 2001): 584-94. doi:10.1002/cjce.5450790417.

  Examples

  Example is from [1], matches.

      >>> Stichlmair_wet(Vg=0.4, Vl = 5E-3, rhog=5., rhol=1200., mug=5E-5,
      ... voidage=0.68, specific_area=260., C1=32., C2=7., C3=1.)
      539.876823725352

## Packing Flooding

fluids.packed_tower.Stichlmair_flood(Vl, rhog, rhol, mug, voidage, specific_area, C1, C2, C3, H=1.0)

  Calculates gas rate for flooding of a packed column, using the Stichlmair [1] correlation. Uses three regressed constants for each type of packing, and voidage and specific area.

  Pressure drop is given by:

  \[\frac{\Delta P_{irr}}{H} = \frac{\Delta P_{dry}}{H}\left(\frac {1-\epsilon + h_T}{1-\epsilon}\right)^{(2+c)/3} \left(\frac{\epsilon}{\epsilon-h_T}\right)^{4.65}\]
  \[h_T = h_0\left[1 + 20\left(\frac{\Delta Pirr}{H\rho_L g}\right)^2\right]\]
  \[Fr_L = \frac{V_L^2 a}{g \epsilon^{4.65}}\]
  \[h_0 = 0.555 Fr_L^{1/3}\]
  \[c = \frac{-C_1/Re_g - C_2/(2Re_g^{0.5})}{f_0}\]
  \[\Delta P_{dry} = \frac{3}{4} f_0 \frac{1-\epsilon}{\epsilon^{4.65}} \rho_G \frac{H}{d_p}V_g^2\]
  \[f_0 = \frac{C_1}{Re_g} + \frac{C_2}{Re_g^{0.5}} + C_3\]
  \[d_p = \frac{6(1-\epsilon)}{a}\]
  Parameters:
    Vl `python:float`

      Superficial velocity of liquid, Q/A [m/s]

    rhog `python:float`

      Density of gas [kg/m^3]

    rhol `python:float`

      Density of liquid [kg/m^3]

    mug `python:float`

      Viscosity of gas [Pa*s]

    voidage `python:float`

      Voidage of bed of packing material []

    specific_area `python:float`

      Specific area of the packing material [m^2/m^3]

    C1 `python:float`

      Packing-specific constant []

    C2 `python:float`

      Packing-specific constant []

    C3 `python:float`

      Packing-specific constant []

    H `python:float`, `optional`

      Height of packing [m]

  Returns:
    Vg `python:float`

      Superficial velocity of gas, Q/A [m/s]

  Notes

  A numerical solver is used to solve this model.

  References

  [1] (1,2)

  Stichlmair, J., J. L. Bravo, and J. R. Fair. “General Model for Prediction of Pressure Drop and Capacity of Countercurrent Gas/liquid Packed Columns.” Gas Separation & Purification 3, no. 1 (March 1989): 19-28. doi:10.1016/0950-4214(89)80016-7.

  Examples

  Example is from [1], matches.

      >>> Stichlmair_flood(Vl = 5E-3, rhog=5., rhol=1200., mug=5E-5,
      ... voidage=0.68, specific_area=260., C1=32., C2=7., C3=1.)
      0.6394323542746928

## Demister Pressure Drop

fluids.packed_tower.dP_demister_dry_Setekleiv_Svendsen(S, voidage, vs, rho, mu, L=1.0)

  Calculates dry pressure drop across a demister, using the correlation in [1]. This model is for dry demisters with no holdup only.

  \[\frac{\Delta P \epsilon^2}{\rho_f v^2} = 10.29 - \frac{565} {69.6SL - (SL)^2 - 779} - \frac{74.9}{160.9 - 4.85SL} + 45.33\left( \frac{\mu_f \epsilon S^2 L}{\rho_f v}\right)^{0.75}\]
  Parameters:
    S `python:float`

      Specific area of the demister, normally ~250-1000 [m^2/m^3]

    voidage `python:float`

      Voidage of bed of the demister material, normally ~0.98 []

    vs `python:float`

      Superficial velocity of fluid, Q/A [m/s]

    rho `python:float`

      Density of fluid [kg/m^3]

    mu `python:float`

      Viscosity of fluid [Pa*s]

    L `python:float`, `optional`

      Length of the demister [m]

  Returns:
    dP `python:float`

      Pressure drop across a dry demister [Pa]

  Notes

  Useful at startup and in modeling. Dry pressure drop is normally negligible compared to wet pressure drop. Coefficients obtained by evolutionary programming and may not fit data outside of the limits of the variables.

  References

  [1]

  Setekleiv, A. Eddie, and Hallvard F. Svendsen. “Dry Pressure Drop in Spiral Wound Wire Mesh Pads at Low and Elevated Pressures.” Chemical Engineering Research and Design 109 (May 2016): 141-149. doi:10.1016/j.cherd.2016.01.019.

  Examples

      >>> dP_demister_dry_Setekleiv_Svendsen(S=250, voidage=.983, vs=1.2, rho=10, mu=3E-5, L=1)
      320.3280788941329

fluids.packed_tower.dP_demister_dry_Setekleiv_Svendsen_lit(S, voidage, vs, rho, mu, L=1.0)

  Calculates dry pressure drop across a demister, using the correlation in [1]. This model is for dry demisters with no holdup only. Developed with literature data included as well as their own experimental data.

  \[\frac{\Delta P \epsilon^2}{\rho_f v^2} = 7.3 - \frac{320} {69.6SL - (SL)^2 - 779} - \frac{52.4}{161 - 4.85SL} + 27.2\left( \frac{\mu_f \epsilon S^2 L}{\rho_f v}\right)^{0.75}\]
  Parameters:
    S `python:float`

      Specific area of the demister, normally ~250-1000 [m^2/m^3]

    voidage `python:float`

      Voidage of bed of the demister material, normally ~0.98 []

    vs `python:float`

      Superficial velocity of fluid, Q/A [m/s]

    rho `python:float`

      Density of fluid [kg/m^3]

    mu `python:float`

      Viscosity of fluid [Pa*s]

    L `python:float`, `optional`

      Length of the demister [m]

  Returns:
    dP `python:float`

      Pressure drop across a dry demister [Pa]

  Notes

  Useful at startup and in modeling. Dry pressure drop is normally negligible compared to wet pressure drop. Coefficients obtained by evolutionary programming and may not fit data outside of the limits of the variables.

  References

  [1]

  Setekleiv, A. Eddie, and Hallvard F. Svendsen. “Dry Pressure Drop in Spiral Wound Wire Mesh Pads at Low and Elevated Pressures.” Chemical Engineering Research and Design 109 (May 2016): 141-149. doi:10.1016/j.cherd.2016.01.019.

  Examples

      >>> dP_demister_dry_Setekleiv_Svendsen_lit(S=250, voidage=.983, vs=1.2, rho=10, mu=3E-5, L=1.0)
      209.083848658307

fluids.packed_tower.dP_demister_wet_ElDessouky(vs, voidage, d_wire, L=1.0)

  Calculates wet pressure drop across a demister, using the correlation in [1]. Uses only their own experimental data.

  \[\frac{\Delta P}{L} = 0.002357(1-\epsilon)^{0.375798}(V)^{0.81317} (d_w)^{-1.56114147}\]
  Parameters:
    vs `python:float`

      Superficial velocity of fluid, Q/A [m/s]

    voidage `python:float`

      Voidage of bed of the demister material, normally ~0.98 []

    d_wire `python:float`

      Diameter of mesh wire,[m]

    L `python:float`, `optional`

      Length of the demister [m]

  Returns:
    dP `python:float`

      Pressure drop across a dry demister [Pa]

  Notes

  No dependency on the liquid properties is included here. Because of the exponential nature of the correlation, the limiting pressure drop as V is lowered is 0 Pa. A dry pressure drop correlation should be compared with results from this at low velocities, and the larger of the two pressure drops used.

  The correlation in [1] was presented as follows, with wire diameter in units of mm, density in kg/m^3, V in m/s, and dP in Pa/m.

  \[\Delta P = 3.88178(\rho_{mesh})^{0.375798}(V)^{0.81317} (d_w)^{-1.56114147}\]

  Here, the correlation is converted to base SI units and to use voidage; not all demisters are stainless steel as in [1]. A density of 7999 kg/m^3 was used in the conversion.

  In [1], V ranged from 0.98-7.5 m/s, rho from 80.317-208.16 kg/m^3, depth from 100 to 200 mm, wire diameter of 0.2mm to 0.32 mm, and particle diameter from 1 to 5 mm.

  References

  [1] (1,2,3,4)

  El-Dessouky, Hisham T, Imad M Alatiqi, Hisham M Ettouney, and Noura S Al-Deffeeri. “Performance of Wire Mesh Mist Eliminator.” Chemical Engineering and Processing: Process Intensification 39, no. 2 (March 2000): 129-39. doi:10.1016/S0255-2701(99)00033-1.

  Examples

      >>> dP_demister_wet_ElDessouky(6, 0.978, 0.00032)
      688.9216420105029

## Demister Separation Efficiency

fluids.packed_tower.separation_demister_ElDessouky(vs, voidage, d_wire, d_drop)

  Calculates droplet removal by a demister as a fraction from 0 to 1, using the correlation in [1]. Uses only their own experimental data.

  \[\eta = 0.85835(d_w)^{-0.28264}(1-\epsilon)^{0.099625}(V)^{0.106878} (d_p)^{0.383197}\]
  Parameters:
    vs `python:float`

      Superficial velocity of fluid, Q/A [m/s]

    voidage `python:float`

      Voidage of bed of the demister material, normally ~0.98 []

    d_wire `python:float`

      Diameter of mesh wire,[m]

    d_drop `python:float`

      Drop diameter, [m]

  Returns:
    eta `python:float`

      Fraction droplets removed by mass [-]

  Notes

  No dependency on the liquid properties is included here. Because of the exponential nature of the correlation, for smaller diameters separation quickly lowers. This correlation can predict a separation larger than 1 for higher velocities, lower voidages, lower wire diameters, and large droplet sizes. This function truncates these larger values to 1.

  The correlation in [1] was presented as follows, with wire diameter in units of mm, density in kg/m^3, V in m/s, separation in %, and particle diameter in mm.

  \[\eta = 17.5047(d_w)^{-0.28264}(\rho_{mesh})^{0.099625}(V)^{0.106878} (d_p)^{0.383197}\]

  Here, the correlation is converted to base SI units and to use voidage; not all demisters are stainless steel as in [1]. A density of 7999 kg/m^3 was used in the conversion.

  In [1], V ranged from 0.98-7.5 m/s, rho from 80.317-208.16 kg/m^3, depth from 100 to 200 mm, wire diameter of 0.2 mm to 0.32 mm, and particle diameter from 1 to 5 mm.

  References

  [1] (1,2,3,4)

  El-Dessouky, Hisham T, Imad M Alatiqi, Hisham M Ettouney, and Noura S Al-Deffeeri. “Performance of Wire Mesh Mist Eliminator.” Chemical Engineering and Processing: Process Intensification 39, no. 2 (March 2000): 129-39. doi:10.1016/S0255-2701(99)00033-1.

  Examples

      >>> separation_demister_ElDessouky(1.35, 0.974, 0.0002, 0.005)
      0.8982892997640582

## Demister Geometry

fluids.packed_tower.voidage_experimental(m, rho, D, H)

  Calculates voidage of a bed or mesh given an experimental weight and fixed density, diameter, and height, as shown in [1]. The formula is also self-evident.

  \[\epsilon = 1 - \frac{\frac{m_{mesh}}{\frac{\pi}{4}d_{column}^2 L_{mesh}}}{\rho_{material}}\]
  Parameters:
    m `python:float`

      Mass of mesh or bed particles weighted, [kg]

    rho `python:float`

      Density of solid particles or mesh [kg/m^3]

    D `python:float`

      Diameter of the cylindrical bed [m]

    H `python:float`

      Height of the demister or bed [m]

  Returns:
    voidage `python:float`

      Voidage of bed of the material []

  Notes

  Should be trusted over manufacturer data.

  References

  [1]

  Helsør, T., and H. Svendsen. “Experimental Characterization of Pressure Drop in Dry Demisters at Low and Elevated Pressures.” Chemical Engineering Research and Design 85, no. 3 (2007): 377-85. doi:10.1205/cherd06048.

  Examples

      >>> voidage_experimental(m=126, rho=8000, D=1, H=1)
      0.9799464771704212

fluids.packed_tower.specific_area_mesh(voidage, d)

  Calculates the specific area of a wire mesh, as used in demisters or filters. Shown in [1], and also self-evident and non-empirical. Makes the ideal assumption that wires never touch.

  \[S = \frac{4(1-\epsilon)}{d_{wire}}\]
  Parameters:
    voidage `python:float`

      Voidage of the mesh []

    d `python:float`

      Diameter of the wires making the mesh, [m]

  Returns:
    S `python:float`

      Specific area of the mesh [m^2/m^3]

  Notes

  Should be preferred over manufacturer data. Can also be used to show that manufacturer’s data is inconsistent with their claimed voidage and wire diameter.

  References

  [1]

  Helsør, T., and H. Svendsen. “Experimental Characterization of Pressure Drop in Dry Demisters at Low and Elevated Pressures.” Chemical Engineering Research and Design 85, no. 3 (2007): 377-85. doi:10.1205/cherd06048.

  Examples

      >>> specific_area_mesh(voidage=.934, d=3e-4)
      879.9999999999994