Hello, I am trying to spread an infection over a random graph where the beta is an edge property. I want to implement something that could simulate the lockdown, this is what I wrote: import matplotlib.pyplot as plt from graph_tool.all import * import numpy as np import random # graph parameters N = 6000 # number of vertices max_count = 100 # time_stamp beta = 0.01 time_cut = 10 def deg_sample(k): return np.random.poisson(k) def evolution(G, beta, counts, perc): eprop = G.new_edge_property("double") eprop.a = beta state = SIState(G, beta=eprop, constant_beta=False) infected = [state.get_state().fa.sum()] time = range(counts) for i in time: state.iterate_sync() infected.append(state.get_state().fa.sum()) if (i == time_cut) & (perc != 0): n = np.array(random.sample(range(len(list(G.edges()))), int(G.num_edges() * perc/100))) eprop.a[n] = 0 else: pass return infected G = random_graph(N, lambda: deg_sample(5), directed=False) G = extract_largest_component(G) graph_draw(G, output='network_layout.pdf') x = evolution(G, beta, max_count, 100) plt.plot(x) plt.xlabel(r"Time") plt.ylabel(r"Infectious nodes") plt.title('infected vs time with all edges cutted at time=%d' % time_cut) plt.tight_layout() plt.show() In evolution I change the beta of all the edges of the graph at a given timestamp, and I would expect that the infection will stop to spread after I change the edge property map. But it doesn't happen and the infenction continue to spread in the network. I want to understand better what's happening in the SIState fuction. Regards, BH. -- Sent from: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com/