You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks for opening the ticket. Uni-directional gap-junctions should be supported in principle, but there's a latent bug in the domain decomposition that fails to account for them. It causes a gid to be included in multiple cell-groups. I will work on a fix.
…n connections (#1774)
Replace the `partition_load_balance` function assumed that gap-junction connections are always double-sided (i.e. if gid `x` has a gap-junction connection from peer gid `y`, then gid `y` must also have a gap-junction connection from peer gid `x`). This used to be a requirement that was checked prior to #1682. Since then, single-sided gap-junctions are in principle allowed, but `partition_load_balance` still operates under the bidirectional gap-junction connection assumption resulting in some gids being present in multiple cell-groups.
This PR modifies the `partition_load_balance` function to do the following:
1. On each rank, generate a gj_connection list per cell. (gj_connection list is a vector of gids that have an outgoing connection ending at the cell under consideration).
2. On each rank, gather all the gj_connection lists for each cell in the network.
3. On each rank, modify the global list of gj_connections in the network to make all gj_connections bidirectional.
4. On each rank, use the global list of gj_connections in the network to partition the graph.
Fixes#1767.
The attached example configures a uni-directional gap junction and yields using
ed957368b8d6607d15dbc4a3c9a655acca51ee69
:The cell description is called twice for
gid=1
. Changing the script to bi-directional gap junctions makes the error disappear.two_cell_gap_junctions.py.gz
The text was updated successfully, but these errors were encountered: