예제 #1
0
 def con_capacity(self):
   return list(
     flatten(
       [
         geq(link.v_flow, 0.0),
         leq(link.v_flow, link.q_max)
       ]
       for link in self.get_links()
     )
   )
예제 #2
0
    def d3ize(self):
        from simplejson import dump

        edges = self.d3_edges()
        lkup = list(set(flatten([edge.d3_source(), edge.d3_target()] for edge in edges)))
        nodes = [{"name": node.d3_node_name()} for node in lkup]
        edges = [
            {
                "source": lkup.index(edge.d3_source()),
                "target": lkup.index(edge.d3_target()),
                "attrs": edge.d3_attrs(),
                "value": edge.d3_value(),
            }
            for edge in edges
        ]
        data = {"nodes": nodes, "links": edges}
        with open("{0}/html/graph.json".format(root_dir), "w") as fn:
            dump(data, fn, indent=2)