我们从Python开源项目中,提取了以下5个代码示例,用于说明如何使用networkx.grid_2d_graph()。
def __init__(self, agents, width, height): super().__init__(agents) if len(agents) > width * height: raise Exception('there must be enough space for all agents') # seutp grid self.space = nx.grid_2d_graph(width, height) self.width = width self.height = height # place agents positions = self.space.nodes() random.shuffle(positions) for agent in self.agents: pos = positions.pop() self.sync(self.place(agent, pos)) # setup vacant positions for pos in positions: self.space.node[pos] = {'agent': None}
def __init__(self, agents, width, height): super().__init__(agents) if len(agents) > width * height: raise Exception('there must be enough space for all agents') # seutp grid self.space = nx.grid_2d_graph(width, height) # place agents positions = self.space.nodes() random.shuffle(positions) for agent in self.agents: pos = positions.pop() self.sync(self.place(agent, pos)) # setup vacant positions for pos in positions: self.space.node[pos] = {'agent': None}
def get_couling_derivate_matrix(self, h, twist_number, s): if type(twist_number) == InPhase or type(twist_number) == Twist2D: if type(twist_number) == InPhase: mx = 0 my = 0 else: mx = twist_number.get_mx() my = twist_number.get_my() dhdx = h.get_derivative() dphi_x = (2 * np.pi * mx) / self.nx dphi_y = (2 * np.pi * my) / self.nx g = networkx.grid_2d_graph(self.ny, self.nx, periodic=True) g = networkx.convert_node_labels_to_integers(g, ordering='sorted') c = _networkx2mat(g, self.n) a = _build_2d_dhdx_matrix(dhdx, self.nx, self.ny, self.n, dphi_x, dphi_y, s) d = c * a return d else: raise Exception('Topology not compatible with state')
def grid_fourNN(M,N,strength=1.0): """ return an MxN grid graph with 4-nearest-neighbour connectivity Args: M,N: desired grid dimensions strength: desired edge strength """ graph = nx.grid_2d_graph(M, N) graph.graph["grid_dimensions"] = (M,N) for e in graph.edges_iter(): graph.edge[e[0]][e[1]] = {"strength":strength} graph.edge[e[1]][e[0]] = {"strength":strength} return graph
def get_couling_derivate_matrix(self, h, twist_number, s): if type(twist_number) == InPhase: dhdx = h.get_derivative() dphi_x = 0.0 dphi_y = 0.0 g = networkx.grid_2d_graph(self.ny, self.nx, periodic=False) g = networkx.convert_node_labels_to_integers(g, ordering='sorted') c = _networkx2mat(g, self.n) a = _build_2d_dhdx_matrix(dhdx, self.nx, self.ny, self.n, dphi_x, dphi_y, s) d = c * a return d else: raise Exception('Topology not compatible with state')