purcell#

purcell(phase, r_toroid, surface_tension='throat.surface_tension', contact_angle='throat.contact_angle', diameter='throat.diameter')[source]#

Computes the throat capillary entry pressure assuming the throat is a toroid.

Parameters:
  • phase (OpenPNM Phase object) – The phase object to which this model is associated (i.e. attached). This controls the length of the calculated array(s), and also provides access to other necessary properties.

  • r_toroid (float or array_like) – The radius of the toroid surrounding the pore

  • surface_tension (str) – Name of the dictionary key on the target object pointing to the array containing values of surface tension.

  • contact_angle (str) – Name of the dictionary key on the target object pointing to the array containing values of contact angle.

  • diameter (str) – Name of the dictionary key on the target object pointing to the array containing values of throat diameter

Returns:

values – A numpy ndarray containing the computed values of capillary entry pressure

Return type:

ndarray

Notes

This approach accounts for the converging-diverging nature of many throat types. Advancing the meniscus beyond the apex of the toroid requires an increase in capillary pressure beyond that for a cylindical tube of the same radius. The details of this equation are described by Mason and Morrow [1], and explored by Gostick [2] in the context of a pore network model.

References

[1]

G. Mason, N. R. Morrow, Effect of contact angle on capillary displacement curvatures in pore throats formed by spheres. J. Colloid Interface Sci. 168, 130 (1994).

[2]

J. Gostick, Random pore network modeling of fibrous PEMFC gas diffusion media using Voronoi and Delaunay tessellations. J. Electrochem. Soc. 160, F731 (2013).