Source code for openpnm.models.geometry.throat_capillary_shape_factor._funcs

import numpy as _np
from openpnm.models.geometry import _geodocs


__all__ = [
    "mason_morrow",
    "jenkins_rao",
]


[docs] @_geodocs def mason_morrow( network, throat_perimeter='throat.perimeter', throat_area='throat.cross_sectional_area', ): r""" Mason and Morrow relate the capillary pressure to the shape factor in a similar way to Mortensen but for triangles. Parameters ---------- %(network)s %(Pt)s %(At)s Returns ------- References ---------- Mason, G. and Morrow, N.R.. Capillary behavior of a perfectly wetting liquid in irregular triangular tubes. Journal of Colloid and Interface Science, 141(1), pp.262-274 (1991). """ # Only apply to throats with an area ts = network.throats()[network[throat_area] <= 0] P = network[throat_perimeter] A = network[throat_area] value = A/(P**2) value[ts] = 1/(4*_np.pi) return value
[docs] def jenkins_rao( network, throat_perimeter='throat.perimeter', throat_area='throat.cross_sectional_area', throat_diameter='throat.indiameter', ): r""" Jenkins and Rao relate the capillary pressure in an eliptical throat to the aspect ratio Parameters ---------- %(network)s %(Pt)s %(At)s %(Dt)s Returns ------- References ---------- Jenkins, R.G. and Rao, M.B., The effect of elliptical pores on mercury porosimetry results. Powder technology, 38(2), pp.177-180. (1984) """ P = network[throat_perimeter] A = network[throat_area] r = network[throat_diameter]/2 # Normalized by value for perfect circle value = (P/A)/(2/r) return value