@Override public final boolean isAcceptingFromUpstream() { boolean storageOk = usedStorageCapacity < storageCapacity ; if ( context.qsimConfig.getTrafficDynamics()==TrafficDynamics.queue ) { return storageOk ; } // (continue only if HOLES and/or inflow constraint) if ( context.qsimConfig.getTrafficDynamics() != TrafficDynamics.queue && remainingHolesStorageCapacity <= 0. ) { // check the holes storage capacity if using holes only (amit, Aug 2016) return false ; } // remainingHolesStorageCapacity is: // * initialized at linkStorageCapacity // * reduced by entering vehicles // * increased by holes arriving at upstream end of link if ( context.qsimConfig.getTrafficDynamics() != TrafficDynamics.kinematicWaves) { return true ; } return this.accumulatedInflowCap > 0; }
@Override public final boolean doSimStep( ) { switch (context.qsimConfig.getTrafficDynamics()) { case queue: break; case withHoles: this.processArrivalOfHoles( ) ; break; case kinematicWaves: this.accumulatedInflowCap = Math.min(accumulatedInflowCap + maxFlowFromFdiag, maxFlowFromFdiag); this.processArrivalOfHoles( ) ; break; default: throw new RuntimeException("The traffic dynmics "+context.qsimConfig.getTrafficDynamics()+" is not implemented yet."); } this.moveQueueToBuffer(); return true ; }
switch (context.qsimConfig.getTrafficDynamics()) { case queue: break; default: throw new RuntimeException("The traffic dynmics "+context.qsimConfig.getTrafficDynamics()+" is not implemented yet.");
inverseFlowCapacityPerTimeStep = 1.0 / flowCapacityPerTimeStep; switch (context.qsimConfig.getTrafficDynamics()) { case queue: case withHoles: default: throw new RuntimeException("The traffic dynamics "+context.qsimConfig.getTrafficDynamics()+" is not implemented yet.");
switch (context.qsimConfig.getTrafficDynamics()) { case queue: break; holes.add( hole ) ; break; default: throw new RuntimeException("The traffic dynmics "+context.qsimConfig.getTrafficDynamics()+" is not implemented yet.");
this.positionAgentGivenDistanceFromFNode(positions, upstreamCoord, downstreamCoord, curvedLength, veh, distanceFromFromNode, lane, speedValue); switch (this.scenario.getConfig().qsim().getTrafficDynamics()) { case queue: break; default: throw new RuntimeException("The traffic dynmics "+this.scenario.getConfig().qsim().getTrafficDynamics()+" is not implemented yet.");
switch( config.qsim().getTrafficDynamics() ) { case withHoles: case kinematicWaves: case queue: default: log.log( lvl, " found 'qsim.trafficDynamics==" + config.qsim().getTrafficDynamics() + "'; vsp standard is`" + TrafficDynamics.kinematicWaves + "'." ) ; break;
vehQueue.add(veh); switch (context.qsimConfig.getTrafficDynamics()) { case queue: break; this.accumulatedInflowCap -= veh.getFlowCapacityConsumptionInEquivalents() ; break; default: throw new RuntimeException("The traffic dynamics "+context.qsimConfig.getTrafficDynamics()+" is not implemented yet.");