I'm really looking forward to seeing what kind of crazy stuff people have built in the name of throughput, so submit your stuff!
The save with the test setup will be available shortly (until then just submit your design for testing)
Throughput testing
For throughput testing aaargha wrote a mod to spawn in trains as needed to ensure a good enough saturation of all input lanes (about 24 trains per minute for each input lane, which has been vastly more than enough for most intersections, for the designs that can handle more than the system can reliably supply the numbers are given with a '+' after, ex. 91+). The trains have a randomized destination to make them go straight or turn left/right, the probability of each direction is dependent on which test is running:
Set 1:
Each direction has the same amount of inbound traffic, equally spit between the output lanes
Set 2
trains from east mostly go west, trains from west mostly go east. trains from south are equally split
Intended to simulate a main bus with 1 branch off to the side
Set 3
trains from east mostly go south, trains from west mostly go south. trains from south are equally split
Intended to simulate the end of a main bus with 2 branches off to the sides
the tests are run on 3 different types of train to to identify how the intersection handles train length/acceleration
2L-4C The standard train used in the 4 way tests
4L-8C Double the length but the same acceleration
2L-4F Same length but half the acceleration (due to double the weight)
I let it run for 30 min while counting how many trains exit the intersection. When the time is up I calculate the average throughput in trains/min. Note that this is not too exact and small measured differences between intersections may not really mean that much. (around 3% variation is common)
Notes
If there is a design you want me to test that is not already covered just give me a blueprint string of your intersection. I'm always looking for more meat for the grinder new and interesting designs.
Thought of a good test to add, let me know and I'll see if I can make it work.
Are you the creator of any of the designs here? Most of these are intersections I've tested for various threads so just shoot me a link to the original post and I'll add some credits.
Savefile with the test setup can be found [url=https://?]here (soon [tm])[/url].
Results
Grouped by number of lanes and roughly sorted by throughput. Names are basically just some bullshit to keep them apart, but also contain the number of lanes (L) and the track spacing (S). To see the full images (rendered at 0.5 zoom) just open them in a new tab.
Blueprint string: Left hand drive Throughput 2L-4C : Set 1: 82 Set 2: 80 Set 3: 83 2L-4F : Set 1: 59 Set 2: 56 Set 3: 58 4L-8C : Set 1: Set 2: Set 3:
Deadlock notes: deadlock safe as long as exit blocks are long enough
Scaling notes: exit blocks need scaling to fit the largest train (included is for 6car)
Original by: ?
4 lane
Triangle 4L3S
Blueprint string: Left hand drive Throughput 2L-4C : Set 1: 58 Set 2: 55 Set 3: 62 2L-4F : Set 1: 42 Set 2: 39 Set 3: 45 4L-8C : Set 1: Set 2: Set 3:
Deadlock notes: deadlock safe as long as exit blocks are long enough
Scaling notes: exit blocks need scaling to fit the largest train (included is for 6car)
Original by: ?
Unbuf 4L3S
Blueprint string: Left hand drive Throughput 2L-4C : Set 1: 57 Set 2: 57 Set 3: 59 2L-4F : Set 1: 40 Set 2: 41 Set 3: 42 4L-8C : Set 1: 42 Set 2: 43 Set 3: 43
Deadlock notes: deadlock safe as long as exit blocks are long enough
Scaling notes: exit blocks need scaling to fit the largest train (included is for 6car)
Original by: ?
Unbuf 4-2L3S
Blueprint string: Left hand drive Throughput 2L-4C : Set 1: 43 Set 2: 49 Set 3: 47 2L-4F : Set 1: 30 Set 2: 33 Set 3: 34 4L-8C : Set 1: 33 Set 2: 36 Set 3: 34
Deadlock notes: deadlock safe as long as exit blocks are long enough
Scaling notes: exit blocks need scaling to fit the largest train (included is for 6car)
Original by: ?
2 lane
Buffered 2L3S
Blueprint string: Left hand drive Throughput 2L-4C : Set 1: 46 Set 2: 49 Set 3: 50 2L-4F : Set 1: 32 Set 2: 35 Set 3: 36
Deadlock notes: deadlock safe as long as buffers are long enough
Scaling notes: buffers need scaling to fit the largest train (included is for 6car)
Original by: ?
Triangle 2L3S
Blueprint string: Left hand drive Throughput 2L-4C : Set 1: 39 Set 2: 41 Set 3: 45 2L-4F : Set 1: 29 Set 2: 31 Set 3: 31 4L-8C : Set 1: Set 2: Set 3:
Deadlock notes: deadlock safe as long as exit blocks are long enough
Scaling notes: exit blocks need scaling to fit the largest train (included is for 6car)
Original by: ?
Unbuf 2L3S
Blueprint string: Left hand drive Throughput 2L-4C : Set 1: 38 Set 2: 40 Set 3: 40 2L-4F : Set 1: 27 Set 2: 28 Set 3: 30 4L-8C : Set 1: 28 Set 2: 28 Set 3: 31
Deadlock notes: deadlock safe as long as exit blocks are long enough
Scaling notes: exit blocks need scaling to fit the largest train (included is for 6car)
Original by: ?
Fastabout 2L3S
Blueprint string: Left hand drive Throughput 2L-4C : Set 1: 19 Set 2: 19 Set 3: 19 2L-4F : Set 1: 14 Set 2: 13 Set 3: 14 4L-8C : Set 1: 17 Set 2: 16 Set 3: 16
Deadlock notes: deadlock safe as long as loop and exit blocks are long enough
Scaling notes: loop and exit blocks need scaling to fit the largest train (included is for 6car)
Original by: ?
Roundabout 2L3S
Blueprint string: Left hand drive Throughput 2L-4C : Set 1: 30 Set 2: 30 Set 3: 33 2L-4F : Set 1: 21 Set 2: 23 Set 3: 24 4L-8C : Set 1: 24 Set 2: 25 Set 3: 27
Deadlock notes: can deadlock if trains repath inside the loop
Scaling notes: loop and exit blocks need scaling to fit the largest train (included is for 6car)
Original by: ?
This is very much work in progress for the next day or two while i get the formatting correct, and the first few designs put up
Excellent, it'll be interesting to see if there are any special optimizations that emerge for 3-way intersections, or if the principles used to make efficient 4-way designs gets you an efficient 3-way design as well.
I think the big question that remains is how you'll handle buffered designs, as you're using different train lengths, should the submission include both a 6-car and 12-car variant, and how will you handle submissions that only include one of those?
IMO you should not include signalling that allows for partial locks as those can evolve into gridlocks once the intersections are placed in a network with moderate traffic. I think this thread will be more useful if the designs found here at least follow the golden rules of intersection design. Though if you want to test them with properly sized output blocks, like I do with the 4-ways, you'd have to decide how you want to handle the different sizes of trains (the same problem as with the buffers).
Also make sure that you're not giving yourself too much with maintaining the thread with all the tests you're running
for buffered designs only the 6car is needed fro submission, ill test the 6 car, and if its trivial, ill extend to 12car, if not, only the results of 6car will go up.
you have a good point, ill rerun the tests with proper partial lock protection, as otherwise i would need two sets of benchmarks for unbuffered designs (safe and unsafe)
the tests only actually take 4mins each with time acceleration (i have a sample and hold that kicks in at 30mins so i dont have to worry about overshooting the test), although the large number of tests does take a little while.
To what extent can I just take one of the existing highly-ranked 4-way intersections and delete parts of it to get a good 3-way intersection? Does the throughput generally carry over?
spitfire_23 wrote:To what extent can I just take one of the existing highly-ranked 4-way intersections and delete parts of it to get a good 3-way intersection? Does the throughput generally carry over?
In the testing I have done so far (which I need to update the op for), a good 4 way will turn into a good 3 way, but the best 4 way wont necessarily be the best 3 way
while more testing is done its probably safe to use a high-rank 4way, but be prepared for it not to be the best once full testing is done
spitfire_23 wrote:To what extent can I just take one of the existing highly-ranked 4-way intersections and delete parts of it to get a good 3-way intersection? Does the throughput generally carry over?
Well, doing such a conversion optimally is not quite as simple as deleting the extra entrance/exit. For best performance you're trying to turn something with four-way symmetry into something with 3-way symmetry. The logical paths and pattern of intersections are what should, ideally, match up. You're trying to turn squares into triangles, four right turns into three right turns, and things like that, if that makes sense. But that's complicated by the fact that instead of having each entrance track split to go in three directions, you're only having to split in two. It seems best to me to imagine that you're removing the through traffic and look mainly at the turning lanes to figure out how to connect them correctly to both of the two exits. For two ends of it, one of the turns may end up looking a lot like what the through traffic lanes looked like, and you can use that as a guide, but it won't always be a precise match.
Mainly, though, a T junction is just a lot simpler of a pattern to build from scratch, so I usually just do that. I made a post with a good example in the other thread, I'll just give you a direct link to that if you want to read more about it or grab the blueprint string ( viewtopic.php?f=194&t=46855&start=180#p298144 ), but here's the screenshot I'd posted:
You can see some clear parallels to my 4-lane MultiCross design, if you look at the way the lanes swap around. But in the end, it is its own manner of beast.
Basic 3 way intersection I have used for several factorys. Currently in use with 2-8 trains in a rail based mega factory containing over 1000 trains that has over 700 hours of play time and has launched over 1500 rockets. I have never had a deadlock unless I forgot to place a signal when doing modifications to make it fit a specific area.
This design is to accommodate higher turning traffic
The advantage of the merger is that is balance trains from different directions, and it gives a higher throughput.
With nuclear fuel, it can do 90 trains per min, and about 99 is the theoretical max. With Random traffic.
Its capacity with other sets, then random trafic, is the highest I have seen for a 3-way 2 lane intersections.
Combinators are used to merge trains in batches, which balances lanes and increase throughput.
The longer the wating area for the merger is, the higher the throughput. You can get the throughput to 99 with a long enough waiting area.
The advantage of the merger is that is balance trains from different directions, and it gives a higher throughput.
With nuclear fuel, it can do 90 trains per min, and about 99 is the theoretical max. With Random traffic.
Its capacity with other sets, then random trafic, is the highest I have seen for a 3-way 2 lane intersections.
Combinators are used to merge trains in batches, which balances lanes and increase throughput.
The longer the wating area for the merger is, the higher the throughput. You can get the throughput to 99 with a long enough waiting area.
I tried to use this T junction but for some reason the 3-to-1 merger always stays red for all 3 lanes. I am not great with circuits, so maybe someone can explain how to fix this?
I have switched the blueprint around a couple of times and the current version sounds like it have an error. I'll take a look at it but not today. If you want you can download the blueprint book I have called 3 to 1 train merger and swap out the merger
I updated someone's 3 way, I forgot the name of it >.> to be RHD, and properly signalled (I think). It wasn't quite long enough for RHD signals to fit the trains, so I had to stretch it out a rail length or two. Hopefully this is useful to someone.
Hi. By request, I did a 5u, grid-aligned, 3-way intersection. It's fully buffered, so it should perform better than the best 2 lane version posted here.
It's not pleasing to the eye; in fact it's so asymetrical and messy that the requester does not want to use it
Nice, I like that you made an intersection from scratch!
The testbench is made for 2-4 trains so your intersection isn't easily comparable.
What I can do is help you with the signals. The ones marked with red need to be chain signals. The ones marked blue should preferable be rail signals. The top chain signal can be removed instead.
The ones marked with red need to be chain signals.
Thank you! That was embarrassing, of course all crossings/switches should have a chain signal on the input. And all buffers should have a rail signal, I don't see why the blued should be changed?
Anyway, after completing two 4-way grid-aligned designs, I fixed this one. But once I started, I could not stop: I redesigned most of it, to fit more buffers
I updated my post, image and BP. It's even more spaghetti now, I like it
Nice:)
The blue ones have no purpose, the only thing they do is forcing larger gaps between trains since trains have to wait longer before they merge. Why do you want to have them there?
Nice:)
The blue ones have no purpose, the only thing they do is forcing larger gaps between trains since trains have to wait longer before they merge. Why do you want to have them there?
You're right, pre-signals for merging switches are redundant, I'll remove them
I've been working on 100-grid 5u and 150-grid 6u 4way intersections, I'll update this one soon
Hi, I'm fiddling with 3-way intersections for what will eventually be a hex grid rail system. I'm looking for a place to get them down on paper in case people may find them useful in the future
I have been playing with a whole bunch of different combinations. I figured out how to buffer lane ways...badly, but still buffered.
I'll post them bit by bit here. let me know if the formatting needs to be adjusted
is there a specific test for deadlocking? or is it just an educated guess based on signalling?
I've used the v4.1 test bench
6-Lane
Factorio bin: https://factoriobin.com/post/Q1tYXVyC
Throughput: 2L-4C : Set 1: 102 Set 2: 66
Deadlock safe
Scaling Notes: buffers can be adjusted to larger/smaller train lengths without too much trouble
...I can't figure out how to do that fancy spoiler code thing, when I do I'll edit it in
is there a specific test for deadlocking? or is it just an educated guess based on signalling?
I've used the v4.1 test bench
If an intersection can deadlock it should deadlock on the testbench. Unless it support U Turns as U turns aren't tested. Sure, call it an educated guess:)
The only test can be compared to the ones on OPs list are the set 1 tests on the testbench 4.1