Where $\mathcal{N}(i)$ is the set of all pores in adjacent cells to pore $i$. Finding $j^*$ for different pores is \emph{embarrassingly parallel} and can therefore be computed by a large number of threads, storing their results in shared memory. Each thread works on an even chunk of the pores located \emph{inside} the domain. Subsequently, these ideal matches are connected, while avoiding \textbf{conflicts}between different pores seeking the same neighbor. Finally we repeat the two steps from above, now only considering pores that still have throats left in \emph{random} order (for improved \textbf{load balancing}), until only a specified \textbf{fraction of total feasible throats} are left e.g. $1\%$. Empirically, this process converges very fast and consistently, for different target sizes of the full domain, after merely 3-4 iterations. The first iteration alone achieves$\approx70\%$ of all possible throats, see Table ~\ref{table:iter}. The procedure is summarized as pseudo-code in Algorithm ~\ref{alg:connect}.

Where $\mathcal{N}(i)$ is the set of all pores in adjacent cells to pore $i$. Finding $j^*$ for different pores is \emph{embarrassingly parallel} and can therefore be computed by a large number of threads, storing their results in shared memory. Each thread works on an even chunk of the pores located \emph{inside} the domain. Subsequently, these ideal matches are connected, while avoiding \textbf{conflicts}of pores seeking a neighbor that is already fully-connected. Finally we repeat the two steps from above, now only considering pores that still have throats left in \emph{random} order (for improved \textbf{load balancing}), until only a specified \textbf{fraction of total feasible throats} are left e.g. $1\%$. Empirically, this process converges very fast and consistently, for different target sizes of the full domain, after merely 3-4 iterations. The first iteration alone leaves only$\approx18\%$ of all possible throats left, see Table ~\ref{table:iter}. The procedure is summarized as pseudo-code in Algorithm ~\ref{alg:connect}.