Example #1
0
 def run(self):
     while(simx.get_now() < end_time):
         simx.probe_entities('n',Node.update_pos,())
         simx.probe_entities('n',Node.update_velocity,())
         #send location info of nodes on this process to all other LPs
         if (simx.get_num_machines() > 1):
             for i in range(simx.get_num_machines()):
                 if i == simx.get_rank():
                     continue
                 simx.get_controller().send_info(LocListMsg(local_pos),min_delay,
                                               ('!',i),eAddr_RECVR)
         self.sleep(update_interval)
Example #2
0
 def run(self):
     while (simx.get_now() < end_time):
         #for node in node_list:
         #    node.update_pos(None)
         #    node.update_velocity(None)
         simx.probe_entities('n', Node.update_pos, ())
         simx.probe_entities('n', Node.update_velocity, ())
         #send location info of nodes on this process to all other LPs
         if (simx.get_num_machines() > 1):
             for i in range(simx.get_num_machines()):
                 if i == simx.get_rank():
                     continue
                 simx.get_controller().send_info(LocListMsg(local_pos),
                                                 min_delay, ('!', i),
                                                 eAddr_RECVR)
         self.sleep(update_interval)
Example #3
0
            nx.draw_networkx_nodes(G,Gpos,node_size=80,nodelist=p.keys(),node_color=p.values(),cmap=plt.cm.Reds_r)
            plt.xlim(-0.05,1.05)
            plt.ylim(-0.05,1.05)
            plt.axis('off')
            plt.draw()
            self.sleep(update_interval)


simx.init("consensus")
simx.set_end_time(end_time)
simx.set_min_delay(min_delay)
#simx.set_log_level("debug3")
simx.init_env()

for i in xrange(num_nodes):
    simx.create_entity(('n',i),Node,ent_data=({'gnode_id':i}))
    node_list.append(simx.get_entity(('n',i)))

#quit()
    
simx.get_controller().install_service(Receiver,eAddr_RECVR)
simx.schedule_process(Updater())

#only rank 0 does the plotting
if plot == True:
    import matplotlib.pyplot as plt
    if simx.get_rank() == 0:
        simx.schedule_process(Plotter())

simx.run()
Example #4
0
                                   cmap=plt.cm.Reds_r)
            plt.xlim(-0.05, 1.05)
            plt.ylim(-0.05, 1.05)
            plt.axis('off')
            plt.draw()
            self.sleep(update_interval)


simx.init("consensus")
simx.set_end_time(end_time)
simx.set_min_delay(min_delay)
#simx.set_log_level("debug3")
simx.init_env()

for i in xrange(num_nodes):
    simx.create_entity(('n', i), Node, ent_data=({'gnode_id': i}))
    node_list.append(simx.get_entity(('n', i)))

#quit()

simx.get_controller().install_service(Receiver, eAddr_RECVR)
simx.schedule_process(Updater())

#only rank 0 does the plotting
if plot == True:
    import matplotlib.pyplot as plt
    if simx.get_rank() == 0:
        simx.schedule_process(Plotter())

simx.run()