

def run(self, phase=None, throats=None):
    logger.warning('This algorithm can take some time...')
    conduit_lengths = sp.sum(misc.conduit_lengths(network=self._net, mode='centroid'), axis=1)
    graph = self._net.create_adjacency_matrix(data=conduit_lengths, sprsfmt='csr')
    if (phase is not None):
        self._phase = phase
        if ('throat.occupancy' in self._phase.props()):
            temp = (conduit_lengths * (self._phase['throat.occupancy'] == 1))
            graph = self._net.create_adjacency_matrix(data=temp, sprsfmt='csr', prop='temp')
    path = spgr.shortest_path(csgraph=graph, method='D', directed=False)
    Px = sp.array(self._net['pore.coords'][:, 0], ndmin=2)
    Py = sp.array(self._net['pore.coords'][:, 1], ndmin=2)
    Pz = sp.array(self._net['pore.coords'][:, 2], ndmin=2)
    Cx = sp.square((Px.T - Px))
    Cy = sp.square((Py.T - Py))
    Cz = sp.square((Pz.T - Pz))
    Ds = sp.sqrt(((Cx + conduit_lengths) + Cz))
    temp = (path / Ds)
    temp[sp.isnan(temp)] = 0
    temp[sp.isinf(temp)] = 0
    return temp

dataset/ETHPy150Open PMEAL/OpenPNM/OpenPNM/Algorithms/__Tortuosity__.py Tortuosity.run/VarMisuse@282/387 `Cy`->`conduit_lengths`