Example usage of the NetworkGenerator class

[3]:
# for interactive plots
%matplotlib inline

from pydistsim.logging import set_log_level, enable_logger
from pydistsim.network.generator import NetworkGenerator
[4]:
set_log_level("INFO")
enable_logger()
[5]:
net = NetworkGenerator.generate_complete_network(10)  # Generate a complete network with 10 nodes
net.show()
/mnt/d/Proyectos/pymote/docs/notebooks/../../pydistsim/network/network.py:560: UserWarning: FigureCanvasAgg is non-interactive, and thus cannot be shown
  fig.show()
[5]:
../_images/notebooks_network_generators_3_1.png
[6]:
net = NetworkGenerator.generate_mesh_network(
    12, 3, 4, torus=False
)  # Generate a mesh network with 12 nodes, 4 rows and 3 columns
net.show()
[6]:
../_images/notebooks_network_generators_4_0.png
[7]:
net = NetworkGenerator.generate_hypercube_network(16)  # Generate a hypercube network with 16 nodes
net.show()
[7]:
../_images/notebooks_network_generators_5_0.png
[8]:
net = NetworkGenerator.generate_ring_network(10)  # Generate a ring network with 10 nodes
net.show()
[8]:
../_images/notebooks_network_generators_6_0.png
[10]:
net = NetworkGenerator.generate_ring_network(10, directed_network=True)  # Now directed
net.show()
/mnt/d/Proyectos/pymote/docs/notebooks/../../pydistsim/network/network.py:560: UserWarning: FigureCanvasAgg is non-interactive, and thus cannot be shown
  fig.show()
[10]:
../_images/notebooks_network_generators_7_1.png
[9]:
net = NetworkGenerator.generate_star_network(10)  # Generate a star network with 10 nodes
net.show()
[9]:
../_images/notebooks_network_generators_8_0.png
[11]:
net = NetworkGenerator.generate_star_network(10, directed_network=True)  # Now directed
net.show()
/mnt/d/Proyectos/pymote/docs/notebooks/../../pydistsim/network/network.py:560: UserWarning: FigureCanvasAgg is non-interactive, and thus cannot be shown
  fig.show()
[11]:
../_images/notebooks_network_generators_9_1.png