Non-blocking SL to ML mergers

With centralized aproach which is taken by #openttdcoop community it’s hard to overstress importance of prioritizing traffic streams. It is very essential to keep mainline traffic moving because under high volume conditions, when trains are closely following each other, slowing down one train means slowing down whole lane. That might (and often does) cause a chain of negative events leading substantionaly lower throughput of network and traffic jams at other part. Bear in mind – stoping traffic is nearly instant, however accelerating whole lane might take months of game time. This is something to be avoided at all costs, sideline traffic must wait untill there is a gap and only then merge into ML without any intereference to ML stream.

This is why i recommend designing SLHs with non-blockign idea in mind and having properly sized priority windows.

Main point i am trying to make – SL traffic must yield untill there is enough room for train to enter without blocking any ML trains.

And here is what i have in mind…

Simple balanced merger

A to B is ML window,length of which is determined by conditions but in general it’s 2-4 times train length at 200-300km/h speeds. There should be enough room for entering train to gain full speed with still having twice the distance-between-lights as safety zone before next train. So if a heaviest SL train needs 7 tiles to accelerate, with train legth of 6 tiles and signal lenghts being set to 2 it is 7+6+2+2 = 17 tiles at least (+1 for quircky timing is recommended) which about 3 train lengths.

    Pros:

  • ML trains almost never stop
    Cons:

  • SL trains need to wait longer for 3x TL gap
  • (low traffic) A full speed SL train rolling past point S might get blocked right before signal L by ML train passing point B, thus blocking both lanes and stopping SL traffic
  • (high traffic) While SL train just started accelerating – ML train might pass point B and block SL train from entering, thus blocking both lanes and stopping SL traffic

Balanced merger with pre-acceleration

This is based on Ammler’s idea of having acceleration room for stopped SL trains.
Very close to previous concept aside of separation point J (where SL train joins the ML) and A (end of ML window). Track between point J and light L as well as between J and A is calculated in following way:
L to J should be long enough for slowest train to accelerate to be full speed at time when END of that train is passing through point J1. This means that at the point when SL train is fully entered ML it will be going at same speed as rest of ML trains.
A to J should be long enough for END of ML train going at full speed to pass point J1 just before fastest SL train comes to light just before that point.

The difference is – A to B is smaller than in previous case, meaning a smaller gap will suffice for inserting SL train into ML steam. This is due to the fact that a train will have about half speed and just miss the end of ML train in front of it. With larger number of trains within same network it might become crucial to pack trains as tight as possible, otherwise SL trains will have to wait for longer gap in ML stream.

    Pros:

  • ML trains almost never stop
  • SL trains need smaller gap between ML trains compared to simple merger
    Cons:

  • (low traffic) A full speed SL train rolling past point S might get blocked right before signal L by a ML train passing point B, thus blocking both lanes and stopping SL traffic untill choosen lane is cleared
  • (high traffic) While SL train just started accelerating – ML train might pass point B and block SL train from entering, thus blocking both lanes and stopping SL traffic

A different optimization technique might be used depending on situation. Insreasing SL train speed at entry point (by prologing J to L and J to A tracks) is better for busier networks, where SL trains in most cases have to stop before S and wait. However, in case of low usage, most trains will go full speed past S and having no need to accelerate will catch on with ML train before it clears J, then slowdown/stop and them, possibly, interfere with folowing ML traffic since they will have to accelerate at ML rather than before.

Balanced merger with pre-acceleration and one train queue

Ehanced version of previos merger, with one-train queue on each lane and separation of lane chooser (S and P1/P2) and entry timing lights (L1 and L2).

One train queue makes this setup less vulnerable to “confused” trains, that almost entered ML, blocking rest of SL traffic. Even if one train gets stuck passed signal L, rest of trains will be able to choose the other lane and safely enter ML stream. Perks are – possibility of delaying one train which picks busier lane when both queues are empty and possibility of having 2 trains enter both lanes of ML simultaneously. While first could add problems to medium loaded networks, second is benefitial for high traffic ML where every opportunity to get train into ML counts.

    Pros:

  • ML trains almost never stop
  • SL trains need smaller window in ML compared to simple merger
  • Two waiting train can enter ML at same time
  • SL trains are less likely to get stuck behind yielding train
    Cons:

  • SL trains can pick busier lane and wait longer

2 comments so far

  1. Osai April 28, 2007 07:12

    Nice article 🙂
    I see one problem with the “Balanced merger with pre-acceleration”. The joiner is a Triple-S and IIRC this is a slow down for longer trains. This leeds to slower pre-acceleration and means prio-lines have to be even longer.

    We should do some research work to find out how long prio lines have to be for which speed. Maybe we can find the ultimate formula for the length of prio-track- and acceleration-track parts.

  2. Mucht April 28, 2007 08:47

    Great article!

    I’m always a friend of the queue approach, especially on station entries. IMHO, the pros outweigh the cons. The length of the prioritize blocks is always an ingame, finetuning work. Hard to make a general statement on that. Its depending on the speed of the mainline-train as well as on the reaction time, acceleration and speed of the sideline train.

Leave a comment

Please be polite and on topic. Your email-address will never be published.