def __init__(self, name): CoupledDEVS.__init__(self, name) ################### Model Hierarchy ##################### # Model_Diagram0 #########################################################
def __init__(self): CoupledDEVS.__init__(self, "DQueue") self.generator = self.addSubModel(Generator()) self.queue1 = self.addSubModel(Queue()) self.queue2 = self.addSubModel(Queue()) self.connectPorts(self.generator.outport, self.queue1.inport) self.connectPorts(self.generator.outport, self.queue2.inport)
def __init__(self, load): CoupledDEVS.__init__(self, "Root") grid1 = self.addSubModel(NodeGrid(load), 0) grid2 = self.addSubModel(NodeGrid(load), 1) grid1_node = self.addSubModel(ExchangeModel(), 0) grid2_node = self.addSubModel(ExchangeModel(), 1) self.connectPorts(grid1_node.outport, grid2_node.inport) self.connectPorts(grid2_node.outport, grid1_node.inport)
def __init__ (self, name): CoupledDEVS.__init__(self, name) ################### Model Hierarchy ##################### # Model_Diagram0 #########################################################
def __init__(self): CoupledDEVS.__init__(self, "root") self.model1 = self.addSubModel(SimulatedModel(1), 0) self.model2 = self.addSubModel(SimulatedModel(2), 1) self.model3 = self.addSubModel(SimulatedModel(3), 1) self.connectPorts(self.model1.outport, self.model2.inport) self.connectPorts(self.model2.outport, self.model3.inport) self.connectPorts(self.model3.outport, self.model1.inport)
def __init__(self, nodes): CoupledDEVS.__init__(self, "Cluster") self.nodes = [self.addSubModel(Node(i, nodes)) for i in range(nodes)] self.network = [[ self.addSubModel(Network("%i-->%i" % (j, i))) for i in range(nodes) ] for j in range(nodes)] for startid in range(nodes): for endid in range(nodes): self.connectPorts(self.nodes[startid].outports[endid], self.network[startid][endid].inport) self.connectPorts(self.network[startid][endid].outport, self.nodes[endid].inports[startid])
def __init__(self, x_max, y_max): CoupledDEVS.__init__(self, "FireSpread") self.cells = [] try: from mpi4py import MPI nodes = MPI.COMM_WORLD.Get_size() except ImportError: nodes = 1 node = 0 totalCount = x_max * y_max counter = 0 for x in range(x_max): row = [] for y in range(y_max): if nodes == 1: node = 0 elif x <= x_max / 2 and y < y_max / 2: node = 0 elif x <= x_max / 2 and y > y_max / 2: node = 1 elif x > x_max / 2 and y < y_max / 2: node = 2 elif x > x_max / 2 and y > y_max / 2: node = 3 row.append(self.addSubModel(Cell(x, y, x_max, y_max), node)) self.cells.append(row) counter += 1 # Everything is now constructed, so connect the ports now self.generator = self.addSubModel(Generator(RADIUS)) #self.putGenerator(2, 2) #self.putGenerator(2, y_max-3) #self.putGenerator(x_max-3, 2) #self.putGenerator(x_max-3, y_max-3) self.putGenerator(5, 5) for x in range(x_max): for y in range(y_max): if x != 0: self.connectPorts(self.cells[x][y].outport, self.cells[x - 1][y].inports[2]) if y != y_max - 1: self.connectPorts(self.cells[x][y].outport, self.cells[x][y + 1].inports[1]) if x != x_max - 1: self.connectPorts(self.cells[x][y].outport, self.cells[x + 1][y].inports[3]) if y != 0: self.connectPorts(self.cells[x][y].outport, self.cells[x][y - 1].inports[0])
def __init__(self, count, multiplier): import math CoupledDEVS.__init__(self, "Circle") nodes = [] try: from mpi4py import MPI pernode = float(count) / MPI.COMM_WORLD.Get_size() except ImportError: pernode = float(count) for i in range(count): nodes.append( self.addSubModel(CircleNode(i, count, multiplier), math.floor(i / pernode))) for index in range(len(nodes)): self.connectPorts(nodes[index - 1].outport, nodes[index].inport)
def __init__(self, load): CoupledDEVS.__init__(self, "Grid") for i in range(800): self.addSubModel(Node(i, load))