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)
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)
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()
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()