purcell

openpnm.models.physics.capillary_pressure.purcell(target, r_toroid, surface_tension='pore.surface_tension', contact_angle='pore.contact_angle', diameter='throat.diameter')[source]

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

Parameters
  • target (OpenPNM Base object) – Object with which this model is associated. This controls the length of the calculated array, 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 target pointing to the array containing values of surface tension. If a pore property is given, it is interpolated to a throat list.

  • contact_angle (str) – Name of the dictionary key on target pointing to the array containing values of contact angle. If a pore property is given, it is interpolated to a throat list.

  • diameter (str) – Name of the dictionary key on target 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).