Note: Most of this was written as I tackled the problem and tried to figure out what change to suggest. I've left it to show my work, so that you can see why I'm making these particular suggestions. If you're just interested in the suggestions themselves, scroll down to the second post, "Pulling it all together".
----
So a few days ago, another one of these showed up. A post from someone who's confused by a cable carrying more than it "should" be able to. The fact that so many people get confused by it is a pretty clear indicator that the current situation is confusing and needs to be fixed. There are also some balance issues, what with being able to send an effectively-infinite amount of electricity down any cable but tin (and only omitting that one because there's no 5 EU/p transformer).
Problem 1: My copper cable is sending 512 EU/t without melting. Let's say you have a mass fabricator sitting around that is happily consuming all of the 512 EU/t you produce. Nice situation, as you're gaining matter quickly. Except for the small problem that the rest of your machinery is starving. There's a nice easy solution: feed the mass fabber 32 EU/t instead. So you drop in an MV transformer and an LV transformer and... it's still eating all of your electricity. The problem here is that transformers appear to change EU/t, but they don't. They only change EU/p, the number of EUs in each packet. The same problem affects cable: EU/t is obvious, but doesn't affect the cable. EU/p is what actually counts, but isn't shown anywhere. In short, things don't do what it seems like they should.
Problem 2: All cables are superconductors. Say you have five full MFSUs with their outputs pointing at the same block. Meanwhile, a hundred blocks away, you have five empty MFSUs. And, because you spent most of it building them, you only have one diamond left. Getting the EUs transferred is going to be a pain. Either you make one lapotron crystal and spend ages shuffling back and forth, or you lose a bunch to cable loss. Right? Wrong. Use your one diamond to make a single batch of glass fiber cable. That's enough. Actually, you only need one piece. Use it to connect all five source MFSUs to a single MV transformer. Connect that directly to an LV transformer. Add four pieces of copper cable, and then another LV transformer. Continue that pattern: four copper cable, one LV transformer. And at the other end, just wire the copper cable directly to the empty MFSUs. All told, it should look something like this: [...] Hayo, a zero-loss cable that will happily send 2,560 EU/t.
Both of these are symptoms of an underlying problem: the system was designed for EU/t, and converted to EU/p without enough redesign. If each cable could only take one packet per tick, we'd still have the lossless cabling (that one's unavoidable without fractional EUs), but your copper cable would actually be limited to 32 EU/t, instead of having no EU/t limit.
So, since the problem is a lack of redesign, let's do that. And since EUs are based on electricity, let's use that as a measuring stick. Here's how everything matches up:
- EUs are energy, represented by kilowatt-hours or joules (also known as watt-seconds).
- EU/t is power, represented by watts.
- EU/p is voltage, represented by volts (appropriately enough).
- The ratio of EU/t to EU/p, power to voltage, is current, represented by amperes. (With constant EU/p for every packet, this is the number of packets per tick.)
- The quality of a cable (max EU/p) is its conductivity, represented by siemens per meter.
- The amount of EU lost by a cable (EU/b) is a result of its resistivity, represented by ohm-meters. (Ohm is the inverse of siemens, so this is the inverse of conductivity).
Now, if you're anything like me, the real-world units for all for these things have probably flown in one ear and out the other quite a lot. Volts are how "strong" electricity is, watts are how fast you use it, and kilowatt-hours are what you pay for. Amperes and ohms, let alone siemens (yes, that's the plural form, too), are terms that electrical engineers throw around to confuse you. So let's just keep using the IC2 terms, so that we don't confuse ourselves.
So, by current IC2 rules, voltage (EU/p) is limited by conductivity (cable quality), but current (packets/tick) isn't limited by anything, so power (EU/t) is unlimited for any cable. Which leads to the current situation where copper and glass fiber cables dominate, with occasional tin cables for tiny-voltage applications like solar farms: Why make HV transformers and cable when four packets on glass fiber gets the same power with a tenth of the cable loss?
In the real world, there are lots of types of cable that all see practical use. Almost none of them are superconductors. How does that balance work?
Most real-world cables are copper. The wire connecting your headphones to your computer? Copper. The one connecting your computer to the wall? Copper. The wiring of your house? Copper. Your local power lines, the subtransmission lines, and the high-voltage transmission lines? Copper, copper, and copper. Pure copper is just too good a cable material for there to be much serious competition. It's highly conductive, reasonably-priced, tolerates a wide range of temperatures, and is flexible enough to make cables that are very tolerant of stretching and bending. There are materials that beat it in each category, but for all four at once, it's the reigning champion.
In the real world, it's not the cable material that separates cables, it's insulation and wire thickness. Different types of insulation have different advantages: price, flexibility, temperature tolerance, water resistance, longevity, breakdown point, and so on. All of which involve meticulous detail and entirely too much complexity for IC2. A couple of types of insulation with different advantages might be nice, but it's not really an essential part of the cable's quality.
What is essential, however, is the thickness of the copper wire, because that directly influences the quality of the cable. Thicker copper means more expensive cable, but also more conductance and less resistance. In other words, a thicker copper cable in the real world is analogous to a better cable material in IC2. Which points out a major flaw in the current system: With the exception of glass fiber cable, a better cable material means more conductivity (higher max EU/p), but also higher resistivity (more EU/b lost)! Conductivity and resistivity are supposed to be inverses; higher max EU/p should mean less EU/b lost. Even without packet overloading, you'd rather use copper cable than gold, because gold is only better if you're sending at least 64 EU/t, and you often need less than that. In the real world, the only reasons to choose a thinner cable are size, weight, and cost. Of those, only cost is relevant to IC2. So tin cable should lose the most EU/b, followed by copper, gold, and glass fiber. We'll come back to HV cable later, because it deserves special treatment.
So, why do we use particular voltages in reality? Higher voltage means lower current for the same power, and current is what causes energy to be lost in transmission. (In IC2 terms, more EU/p means fewer packets for the same EU/t, and EU lost depends on the number of packets.) Higher voltage also means that more insulation is required to prevent the electricity from arcing and being lost to the environment. This insulation isn't practical inside a machine, so machines fail if the voltage is too high. Low voltage, in contrast, means less insulation, but higher current, and if the current gets too high, the cable will fail. (That is, packet count is what melts real cables, not EU/p.)