コード例 #1
0
 def __init__(self, lab_name, link_id, link_info, guests, guest_checker):
     """
     :param lab_name: Laboratory this link belongs to
     :param link_id: Id of this link
     :param link_info: Information to create this link (settings and endpoints)
     :param guests: List of guests of the laboratory
     :param guest_checker: GuestChecker instance
     """
     Link.__init__(self, link_id, link_info, guests, guest_checker,
                   lab_name + "_l" + str(link_id))
コード例 #2
0
 def __init__(self, linkID, unode, dnode, params):
     Link.__init__(self, linkID, unode, dnode, params)
     # create a list of cells
     self.cells = list()
     #  freeflowtime is equiv to length/delx*delt
     #self.freeFlowTime = int((self.params['length']/(self.params['ffs'] / 3600.0) + self.params['timeStep'] - 1) / self.params['timeStep'])
     # timeStep is used as a parameter since it affects cell size
     self.numCells = math.ceil(self.params['length'] /
                               (self.params['ffs'] *
                                (1.0 / 3600) * self.params['timeStep']))
     for c in range(self.numCells):
         newCell = Cell(
             self.params['qcap'],
             self.params['jamDen'] * self.params['length'] / self.numCells,
             self.params['bws'] / self.params['ffs'],
             self.params['timeStep'], self.params['ffs'])
         self.cells.append(newCell)
コード例 #3
0
 def __init__(self,
              timestep,
              freeFlowSpeed,
              backwardWaveSpeed,
              jamDensity,
              length,
              downstreamCapacity,
              upstreamCapacity=DEFAULT,
              ID=None):
     # Create a generic link...
     Link.__init__(self, timestep, freeFlowSpeed, backwardWaveSpeed,
                   jamDensity, length, downstreamCapacity, ID)
     # ... then allow spatial queues to have different upstream and downstream capacities
     self.downstreamCapacity = self.capacity
     if (upstreamCapacity == DEFAULT):
         self.upstreamCapacity = self.downstreamCapacity
     else:
         self.upstreamCapacity = upstreamCapacity / HOURS * timestep
コード例 #4
0
    def __init__(self,
                 timestep,
                 freeFlowSpeed,
                 backwardWaveSpeed,
                 jamDensity,
                 length,
                 capacity,
                 ID=None):
        Link.__init__(self, timestep, freeFlowSpeed, backwardWaveSpeed,
                      jamDensity, length, capacity, ID)
        # Create a cell for each timestep needed to traverse the link
        self.cells = list()

        # set proportion of cars
        p = 0

        # set vehicle lengths (in feet) and driver reaction time (in seconds)
        busLength = 40
        carLength = 15.75
        reactionTime = 1.25

        # override backward wave speed, jam density, and capacity given derived equations
        self.backwardWaveSpeed = ((p * carLength + (1 - p) * busLength) /
                                  reactionTime)
        self.jamDensity = 1 / (
            (self.freeFlowSpeed * reactionTime + p * carLength +
             (1 - p) * busLength))
        self.capacity = self.freeFlowSpeed / (
            self.freeFlowSpeed * reactionTime + p * carLength +
            (1 - p) * busLength)

        # show link properties that were changed
        print("Link: ", self.ID)
        print("capacity (veh/s): ", self.capacity)
        print("jamDensity (veh/ft): ", self.jamDensity)
        print("backwardWaveSpeed (ft/s): ", self.backwardWaveSpeed)
        print("----------------")

        for c in range(self.freeFlowTime):
            newCell = Cell(self.capacity,
                           self.jamDensity * self.length / self.freeFlowTime,
                           self.backwardWaveSpeed / self.freeFlowSpeed)
            self.cells.append(newCell)
コード例 #5
0
 def __init__(self, identity, left, right, rate, delay, size):
     Link.__init__(self, identity, left, right, rate, delay, size)
コード例 #6
0
 def __init__(self, name, nodes):
     Link.__init__(self, name, nodes)
コード例 #7
0
ファイル: train_link.py プロジェクト: T3Fei/NetworkSimulator
	def __init__(self, identity, left, right, rate, delay, size):
		Link.__init__(self, identity, left, right, rate, delay, size)