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

from numpy import pi as _pi
from openpnm.models.geometry import _geodocs


__all__ = [
    "cone",
    "sphere",
    "cube",
    "circle",
    "square"
]


[docs] @_geodocs def sphere( network, pore_diameter='pore.diameter' ): r""" Calculate cross-sectional area assuming the pore body is a sphere Parameters ---------- %(network)s %(Dp)s Returns ------- areas : ndarray A numpy ndarry containing pore cross-sectional area values """ D = network[pore_diameter] return _pi/4 * D**2
[docs] @_geodocs def cone( network, pore_diameter='pore.diameter' ): r""" Calculate cross-sectional area assuming the pore body is a cone Parameters ---------- %(network)s %(Dp)s Returns ------- """ D = network[pore_diameter] return _pi / 4 * D**2
[docs] @_geodocs def cube( network, pore_diameter='pore.diameter' ): r""" Calculate cross-sectional area assuming the pore body is a cube Parameters ---------- %(network)s %(Dp)s Returns ------- """ D = network[pore_diameter] return D**2
[docs] @_geodocs def circle( network, pore_diameter='pore.diameter' ): r""" Calculate cross-sectional area assuming the pore body is a circle Parameters ---------- %(network)s %(Dp)s Returns ------- Notes ----- This model should only be used for true 2D networks, i.e. with planar symmetry. """ return network[pore_diameter]
[docs] @_geodocs def square( network, pore_diameter='pore.diameter' ): r""" Calculate cross-sectional area assuming the pore body is a square Parameters ---------- %(network)s %(Dp)s Returns ------- Notes ----- This model should only be used for true 2D networks, i.e. with planar symmetry. """ return network[pore_diameter]