mirror of
https://gitlab.com/manzerbredes/esds.git
synced 2025-04-07 02:26:28 +02:00
Use different matrix for wlan0 and eth0
This commit is contained in:
parent
a857977702
commit
94b47ceab5
26 changed files with 71 additions and 57 deletions
66
esds.py
66
esds.py
|
@ -190,11 +190,13 @@ class Simulator:
|
||||||
one may not gives accurate results because of missing entries in the nodes received queues.
|
one may not gives accurate results because of missing entries in the nodes received queues.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self,B,L):
|
def __init__(self,B_wlan0,L_wlan0,B_eth0,L_eth0):
|
||||||
self.B=B
|
self.B_wlan0=B_wlan0
|
||||||
self.L=L
|
self.L_wlan0=L_wlan0
|
||||||
|
self.B_eth0=B_eth0
|
||||||
|
self.L_eth0=L_eth0
|
||||||
self.nodes=list()
|
self.nodes=list()
|
||||||
self.sharing=np.zeros(len(B))
|
self.sharing=np.zeros(len(B_eth0))
|
||||||
self.events=np.empty((0,4),dtype=object)
|
self.events=np.empty((0,4),dtype=object)
|
||||||
self.events_dirty=True # For optimization reasons
|
self.events_dirty=True # For optimization reasons
|
||||||
self.startat=-1
|
self.startat=-1
|
||||||
|
@ -205,31 +207,43 @@ class Simulator:
|
||||||
self.wait_end_nodes=list() # Keep track of nodes that wait for the end of the simulation
|
self.wait_end_nodes=list() # Keep track of nodes that wait for the end of the simulation
|
||||||
self.time_truncated=format(self.time,self.precision) # Truncated version is used in log print
|
self.time_truncated=format(self.time,self.precision) # Truncated version is used in log print
|
||||||
|
|
||||||
def update_network(self,B,L):
|
def update_network(self,B_wlan0,L_wlan0,B_eth0,L_eth0):
|
||||||
for event in self.events:
|
for event in self.events:
|
||||||
if int(event[0]) == 0:
|
if int(event[0]) == 0:
|
||||||
cur_event=event[2]
|
cur_event=event[2]
|
||||||
ts=float(event[1])
|
ts=float(event[1])
|
||||||
src_id,dst_id,interface, data, datasize,duration, datasize_remaining,start_at=cur_event
|
src_id,dst_id,interface, data, datasize,duration, datasize_remaining,start_at=cur_event
|
||||||
new_bw=B[int(src_id),int(dst_id)]
|
if interface == "wlan0":
|
||||||
old_bw=self.B[int(src_id),int(dst_id)]
|
new_bw=B_wlan0[int(src_id),int(dst_id)]
|
||||||
new_lat=L[int(src_id),int(dst_id)]
|
old_bw=self.B_wlan0[int(src_id),int(dst_id)]
|
||||||
old_lat=self.L[int(src_id),int(dst_id)]
|
new_lat=L_wlan0[int(src_id),int(dst_id)]
|
||||||
if new_bw != old_bw or new_lat != old_lat:
|
old_lat=self.L_wlan0[int(src_id),int(dst_id)]
|
||||||
new_datasize_remaining=float(datasize_remaining)*((ts-self.time)/float(duration))
|
if new_bw != old_bw or new_lat != old_lat:
|
||||||
if new_datasize_remaining > 0:
|
new_datasize_remaining=float(datasize_remaining)*((ts-self.time)/float(duration))
|
||||||
latency_factor=new_datasize_remaining/float(datasize)
|
if new_datasize_remaining > 0:
|
||||||
if interface == "wlan0":
|
latency_factor=new_datasize_remaining/float(datasize)
|
||||||
new_duration=new_datasize_remaining*8/new_bw+new_lat*latency_factor
|
new_duration=new_datasize_remaining*8/new_bw+new_lat*latency_factor
|
||||||
else:
|
event[1]=self.time+new_duration
|
||||||
|
event[2][6]=new_datasize_remaining
|
||||||
|
event[2][5]=new_duration
|
||||||
|
else:
|
||||||
|
new_bw=B_eth0[int(src_id),int(dst_id)]
|
||||||
|
old_bw=self.B_eth0[int(src_id),int(dst_id)]
|
||||||
|
new_lat=L_eth0[int(src_id),int(dst_id)]
|
||||||
|
old_lat=self.L_eth0[int(src_id),int(dst_id)]
|
||||||
|
if new_bw != old_bw or new_lat != old_lat:
|
||||||
|
new_datasize_remaining=float(datasize_remaining)*((ts-self.time)/float(duration))
|
||||||
|
if new_datasize_remaining > 0:
|
||||||
|
latency_factor=new_datasize_remaining/float(datasize)
|
||||||
new_duration=new_datasize_remaining*8/(new_bw/self.sharing[int(dst_id)])+new_lat*latency_factor
|
new_duration=new_datasize_remaining*8/(new_bw/self.sharing[int(dst_id)])+new_lat*latency_factor
|
||||||
|
event[1]=self.time+new_duration
|
||||||
|
event[2][6]=new_datasize_remaining
|
||||||
|
event[2][5]=new_duration
|
||||||
|
|
||||||
# print("DataSize {}B | DataSize Remaining {}B | Old duration {}s | New duration {}s | Latency {}s".format(datasize,new_datasize_remaining,duration,new_duration,new_lat))
|
self.B_wlan0=B_wlan0
|
||||||
event[1]=self.time+new_duration
|
self.L_wlan0=L_wlan0
|
||||||
event[2][6]=new_datasize_remaining
|
self.B_eth0=B_eth0
|
||||||
event[2][5]=new_duration
|
self.L_eth0=L_eth0
|
||||||
self.B=B
|
|
||||||
self.L=L
|
|
||||||
|
|
||||||
def debug(self):
|
def debug(self):
|
||||||
"""
|
"""
|
||||||
|
@ -451,9 +465,9 @@ class Simulator:
|
||||||
nsrc=self.nodes[src]
|
nsrc=self.nodes[src]
|
||||||
if interface=="wlan0":
|
if interface=="wlan0":
|
||||||
self.log("Send "+str(datasize)+" bytes on "+interface,node=src)
|
self.log("Send "+str(datasize)+" bytes on "+interface,node=src)
|
||||||
for dst in self.list_receivers(nsrc):
|
for dst in self.list_wireless_receivers(nsrc):
|
||||||
if self.nodes[dst]["turned_on"]:
|
if self.nodes[dst]["turned_on"]:
|
||||||
duration=datasize*8/self.B[src,dst]+self.L[src,dst]
|
duration=datasize*8/self.B_wlan0[src,dst]+self.L_wlan0[src,dst]
|
||||||
if src == dst:
|
if src == dst:
|
||||||
self.add_event(0,duration+self.time,(src,dst,interface,data,datasize,duration,datasize,self.time))
|
self.add_event(0,duration+self.time,(src,dst,interface,data,datasize,duration,datasize,self.time))
|
||||||
elif not self.interferences:
|
elif not self.interferences:
|
||||||
|
@ -465,17 +479,17 @@ class Simulator:
|
||||||
self.log("Send "+str(datasize)+" bytes to n"+str(dst)+" on "+interface,node=src)
|
self.log("Send "+str(datasize)+" bytes to n"+str(dst)+" on "+interface,node=src)
|
||||||
self.update_sharing(dst,1) # Update sharing first
|
self.update_sharing(dst,1) # Update sharing first
|
||||||
# Note that in the following we send more data than expected to handle bandwidth sharing (datasize*8*sharing):
|
# Note that in the following we send more data than expected to handle bandwidth sharing (datasize*8*sharing):
|
||||||
duration=datasize*8/(self.B[src,dst]/self.sharing[dst])+self.L[src,dst]
|
duration=datasize*8/(self.B_eth0[src,dst]/self.sharing[dst])+self.L_eth0[src,dst]
|
||||||
self.add_event(0,duration+self.time,(src,dst,interface,data,datasize,duration,datasize,self.time))
|
self.add_event(0,duration+self.time,(src,dst,interface,data,datasize,duration,datasize,self.time))
|
||||||
else:
|
else:
|
||||||
nsrc["state"]="request" # Try later when node is on
|
nsrc["state"]="request" # Try later when node is on
|
||||||
|
|
||||||
|
|
||||||
def list_receivers(self,node):
|
def list_wireless_receivers(self,node):
|
||||||
"""
|
"""
|
||||||
Deduce reachable receivers from the bandwidth matrix
|
Deduce reachable receivers from the bandwidth matrix
|
||||||
"""
|
"""
|
||||||
selector = self.B[node.node_id,] > 0
|
selector = self.B_wlan0[node.node_id,] > 0
|
||||||
return np.arange(0,selector.shape[0])[selector]
|
return np.arange(0,selector.shape[0])[selector]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ B=np.full((n,n),5) # 5Mbps
|
||||||
L=np.full((n,n),0) # 0s
|
L=np.full((n,n),0) # 0s
|
||||||
|
|
||||||
##### Create the simulator
|
##### Create the simulator
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
##### Instantiate nodes
|
##### Instantiate nodes
|
||||||
uptime=180 # 180s uptime
|
uptime=180 # 180s uptime
|
||||||
|
|
|
@ -13,7 +13,7 @@ B[0,2]=0
|
||||||
B[2,0]=0
|
B[2,0]=0
|
||||||
|
|
||||||
L=np.full((3,3),0)
|
L=np.full((3,3),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("receiver")
|
s.create_node("receiver")
|
||||||
|
|
|
@ -26,13 +26,13 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((2,2),8)
|
B=np.full((2,2),8)
|
||||||
L=np.full((2,2),0)
|
L=np.full((2,2),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("receiver")
|
s.create_node("receiver")
|
||||||
|
|
||||||
def callback(simulator):
|
def callback(simulator):
|
||||||
simulator.log("Network update!")
|
simulator.log("Network update!")
|
||||||
simulator.update_network(simulator.B*2,simulator.L)
|
simulator.update_network(simulator.B_wlan0*2,simulator.L_wlan0,simulator.B_eth0*2,simulator.L_eth0)
|
||||||
|
|
||||||
s.run(breakpoints_every=1/2,breakpoint_callback=callback)
|
s.run(breakpoints_every=1/2,breakpoint_callback=callback)
|
||||||
|
|
|
@ -28,7 +28,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((3,3),8)
|
B=np.full((3,3),8)
|
||||||
L=np.full((3,3),0)
|
L=np.full((3,3),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
|
@ -36,6 +36,6 @@ s.create_node("receiver")
|
||||||
|
|
||||||
def callback(simulator):
|
def callback(simulator):
|
||||||
simulator.log("Network update!")
|
simulator.log("Network update!")
|
||||||
simulator.update_network(simulator.B*2,simulator.L)
|
simulator.update_network(simulator.B_wlan0*2,simulator.L_wlan0,simulator.B_eth0*2,simulator.L_eth0)
|
||||||
|
|
||||||
s.run(breakpoints_every=1,breakpoint_callback=callback,debug=True)
|
s.run(breakpoints_every=1,breakpoint_callback=callback,debug=True)
|
||||||
|
|
|
@ -27,13 +27,13 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((2,2),8)
|
B=np.full((2,2),8)
|
||||||
L=np.full((2,2),0)
|
L=np.full((2,2),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("receiver")
|
s.create_node("receiver")
|
||||||
|
|
||||||
def callback(simulator):
|
def callback(simulator):
|
||||||
simulator.log("Network update!")
|
simulator.log("Network update!")
|
||||||
simulator.update_network(simulator.B,simulator.L+1/2)
|
simulator.update_network(simulator.B_wlan0,simulator.L_wlan0+1/2,simulator.B_eth0,simulator.L_eth0+1/2)
|
||||||
|
|
||||||
s.run(breakpoints_every=1/2,breakpoint_callback=callback)
|
s.run(breakpoints_every=1/2,breakpoint_callback=callback)
|
||||||
|
|
|
@ -29,7 +29,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((3,3),8)
|
B=np.full((3,3),8)
|
||||||
L=np.full((3,3),0)
|
L=np.full((3,3),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
|
@ -37,6 +37,6 @@ s.create_node("receiver")
|
||||||
|
|
||||||
def callback(simulator):
|
def callback(simulator):
|
||||||
simulator.log("Network update!")
|
simulator.log("Network update!")
|
||||||
simulator.update_network(simulator.B,simulator.L+0.5)
|
simulator.update_network(simulator.B_wlan0,simulator.L_wlan0+0.5,simulator.B_eth0,simulator.L_eth0+0.5)
|
||||||
|
|
||||||
s.run(breakpoints_every=1,breakpoint_callback=callback,debug=True)
|
s.run(breakpoints_every=1,breakpoint_callback=callback,debug=True)
|
||||||
|
|
|
@ -26,13 +26,13 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((2,2),8)
|
B=np.full((2,2),8)
|
||||||
L=np.full((2,2),0)
|
L=np.full((2,2),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("receiver")
|
s.create_node("receiver")
|
||||||
|
|
||||||
def callback(simulator):
|
def callback(simulator):
|
||||||
simulator.log("Network update!")
|
simulator.log("Network update!")
|
||||||
simulator.update_network(simulator.B*2,simulator.L)
|
simulator.update_network(simulator.B_wlan0*2,simulator.L_wlan0,simulator.B_eth0*2,simulator.L_eth0)
|
||||||
|
|
||||||
s.run(breakpoints_every=1/2,breakpoint_callback=callback)
|
s.run(breakpoints_every=1/2,breakpoint_callback=callback)
|
||||||
|
|
|
@ -27,13 +27,13 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((2,2),8)
|
B=np.full((2,2),8)
|
||||||
L=np.full((2,2),0)
|
L=np.full((2,2),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("receiver")
|
s.create_node("receiver")
|
||||||
|
|
||||||
def callback(simulator):
|
def callback(simulator):
|
||||||
simulator.log("Network update!")
|
simulator.log("Network update!")
|
||||||
simulator.update_network(simulator.B,simulator.L+1/2)
|
simulator.update_network(simulator.B_wlan0,simulator.L_wlan0+1/2,simulator.B_eth0,simulator.L_eth0+1/2)
|
||||||
|
|
||||||
s.run(breakpoints_every=1/2,breakpoint_callback=callback)
|
s.run(breakpoints_every=1/2,breakpoint_callback=callback)
|
||||||
|
|
|
@ -9,7 +9,7 @@ import numpy as np
|
||||||
n=2
|
n=2
|
||||||
B=np.full((2,2),n)
|
B=np.full((2,2),n)
|
||||||
L=np.full((2,2),0)
|
L=np.full((2,2),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("node")
|
s.create_node("node")
|
||||||
s.create_node("node")
|
s.create_node("node")
|
||||||
|
|
|
@ -9,7 +9,7 @@ import numpy as np
|
||||||
n=2
|
n=2
|
||||||
B=np.full((n,n),n)
|
B=np.full((n,n),n)
|
||||||
L=np.full((n,n),0)
|
L=np.full((n,n),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("node")
|
s.create_node("node")
|
||||||
s.create_node("node")
|
s.create_node("node")
|
||||||
|
|
|
@ -9,7 +9,7 @@ import numpy as np
|
||||||
n=2
|
n=2
|
||||||
B=np.full((n,n),n)
|
B=np.full((n,n),n)
|
||||||
L=np.full((n,n),0)
|
L=np.full((n,n),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("node")
|
s.create_node("node")
|
||||||
s.create_node("node")
|
s.create_node("node")
|
||||||
|
|
|
@ -8,7 +8,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((5,5),5)
|
B=np.full((5,5),5)
|
||||||
L=np.full((5,5),0)
|
L=np.full((5,5),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("node")
|
s.create_node("node")
|
||||||
s.create_node("node")
|
s.create_node("node")
|
||||||
|
|
|
@ -8,7 +8,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((2,2),2)
|
B=np.full((2,2),2)
|
||||||
L=np.full((2,2),0)
|
L=np.full((2,2),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("node")
|
s.create_node("node")
|
||||||
s.create_node("node")
|
s.create_node("node")
|
||||||
|
|
|
@ -8,7 +8,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((3,3),3)
|
B=np.full((3,3),3)
|
||||||
L=np.full((3,3),0)
|
L=np.full((3,3),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
|
|
|
@ -8,7 +8,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((3,3),3)
|
B=np.full((3,3),3)
|
||||||
L=np.full((3,3),0)
|
L=np.full((3,3),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
|
|
|
@ -8,7 +8,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((2,2),8)
|
B=np.full((2,2),8)
|
||||||
L=np.full((2,2),0)
|
L=np.full((2,2),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("receiver")
|
s.create_node("receiver")
|
||||||
|
|
|
@ -8,7 +8,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((2,2),8)
|
B=np.full((2,2),8)
|
||||||
L=np.full((2,2),0)
|
L=np.full((2,2),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("receiver")
|
s.create_node("receiver")
|
||||||
|
|
|
@ -8,7 +8,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((3,3),8)
|
B=np.full((3,3),8)
|
||||||
L=np.full((3,3),0)
|
L=np.full((3,3),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
|
|
|
@ -8,7 +8,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((4,4),8)
|
B=np.full((4,4),8)
|
||||||
L=np.full((4,4),0)
|
L=np.full((4,4),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
|
|
|
@ -8,7 +8,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((3,3),8)
|
B=np.full((3,3),8)
|
||||||
L=np.full((3,3),0)
|
L=np.full((3,3),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("receiver")
|
s.create_node("receiver")
|
||||||
|
|
|
@ -8,7 +8,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((3,3),8)
|
B=np.full((3,3),8)
|
||||||
L=np.full((3,3),0)
|
L=np.full((3,3),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
|
|
|
@ -8,7 +8,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((2,2),8)
|
B=np.full((2,2),8)
|
||||||
L=np.full((2,2),0)
|
L=np.full((2,2),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("receiver")
|
s.create_node("receiver")
|
||||||
|
|
|
@ -8,7 +8,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((3,3),8)
|
B=np.full((3,3),8)
|
||||||
L=np.full((3,3),0)
|
L=np.full((3,3),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("sender")
|
s.create_node("sender")
|
||||||
s.create_node("receiver")
|
s.create_node("receiver")
|
||||||
|
|
|
@ -8,7 +8,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((2,2),2)
|
B=np.full((2,2),2)
|
||||||
L=np.full((2,2),0)
|
L=np.full((2,2),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("node")
|
s.create_node("node")
|
||||||
s.create_node("node")
|
s.create_node("node")
|
||||||
|
|
|
@ -8,7 +8,7 @@ import numpy as np
|
||||||
|
|
||||||
B=np.full((3,3),2)
|
B=np.full((3,3),2)
|
||||||
L=np.full((3,3),0)
|
L=np.full((3,3),0)
|
||||||
s=esds.Simulator(B,L)
|
s=esds.Simulator(B,L,B,L)
|
||||||
|
|
||||||
s.create_node("node")
|
s.create_node("node")
|
||||||
s.create_node("node")
|
s.create_node("node")
|
||||||
|
|
Loading…
Add table
Reference in a new issue