当前位置: 首页>>代码示例>>Python>>正文


Python DEVS.CoupledDEVS类代码示例

本文整理汇总了Python中pypdevs.DEVS.CoupledDEVS的典型用法代码示例。如果您正苦于以下问题:Python CoupledDEVS类的具体用法?Python CoupledDEVS怎么用?Python CoupledDEVS使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了CoupledDEVS类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

    def __init__(self, nodes, atomicsPerNode, iterations, percentageremotes):
        CoupledDEVS.__init__(self, "PHOLD")
        self.processors = []
        have = 0
        destinations = []
        cntr = 0
        totalAtomics = nodes * atomicsPerNode
        procs = []
        for node in range(nodes):
            procs.append([])
            for i in range(atomicsPerNode):
                procs[-1].append(atomicsPerNode*node+i)
        cntr = 0
        global distributed
        for e, i in enumerate(procs):
            allnoi = []
            for e2, j in enumerate(procs):
                if e2 != e:
                    allnoi.extend(j)
            for j in i:
                inoj = list(i)
                inoj.remove(j)
                self.processors.append(self.addSubModel(HeavyPHOLDProcessor("Processor_%d" % cntr, iterations, totalAtomics, cntr, inoj, allnoi, percentageremotes), e if distributed else 0))
                cntr += 1

        # All nodes created, now create all connections
        for i in range(len(self.processors)):
            for j in range(len(self.processors)):
                if i == j:
                    continue
                self.connectPorts(self.processors[i].OPorts[j], self.processors[j].inport)
开发者ID:kdheepak,项目名称:pypdevs,代码行数:31,代码来源:PHOLD.py

示例2: __init__

 def __init__(self):
     CoupledDEVS.__init__(self, "ChainPeekPoke")
     self.generator = self.addSubModel(CoupledGenerator(1.0))
     self.processor1 = self.addSubModel(CoupledProcessor(0.66, 2))
     self.processor2 = self.addSubModel(CoupledProcessor(0.30, 3))
     self.connectPorts(self.generator.outport, self.processor1.inport)
     self.connectPorts(self.processor1.outport, self.processor2.inport)
开发者ID:kdheepak,项目名称:pypdevs,代码行数:7,代码来源:models.py

示例3: __init__

 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)
开发者ID:kdheepak,项目名称:pypdevs,代码行数:7,代码来源:queue_example.py

示例4: __init__

 def __init__(self, width):
         CoupledDEVS.__init__(self, "Queue")
         self.generator = self.addSubModel(Generator())
         prev = self.generator
         seeds = [i * 1000 for i in range(width)]
         for i in range(width):
             m = self.addSubModel(Processor("Processor%i" % i, seeds[i]))
             self.connectPorts(prev.send_event1, m.recv_event1)
             prev = m
开发者ID:kdheepak,项目名称:pypdevs,代码行数:9,代码来源:QueueModel.py

示例5: __init__

    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(x_max/2, y_max/2)

        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])
开发者ID:kdheepak,项目名称:pypdevs,代码行数:43,代码来源:model.py


注:本文中的pypdevs.DEVS.CoupledDEVS类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。