[1.12.2] Suggestion: tweak to loss for long-distance IF (RF) transmission
zakerunner opened this issue · 8 comments
I suppose it's a minority of folks trying to do this, but I'm trying to use IE for power transmission to a quarry around 1200 blocks away. Not because it's sensible or efficient, but because IE power lines on aluminium poles look great next to a railroad. Problem is, my understanding of the power loss is that it's 2.5% of the input per 16 blocks distance, which means it's impossible to transmit any amount of power more than 40 chunks. I do have the whole thing chunkloaded.
I saw a discussion addressing this in issue #1972. I understand the desire not to have more than 3 tiers of coils. I think it would work better for short, mid, and long distance transmission if the calculation was done as a % of power through each point in the cable, rather than % of the source. So, at 40 chunks, if 2.5% is lost per chunk, (1-.025)^40 = 36% would go through, and at my 75 chunks, I'd see 15% go through.
My understanding is it would require editing the return in Connection.getBaseLoss( ) in ImmersiveNetHandler.java to be this line:
return (float) Math.pow(cableType.getLossRatio()*(1+mod), lengthRelative);
I'd even be ok with a higher loss ratio to balance it. I'm ok generating a few thousand RF/t to run a poky quarry across a pretty power line.
I'm playing FTB Revelation 2.7.0 with Railcraft and a couple others added. Immersive Engineering version 0.12-88 and Forge 2796.
Hiya, sorry to bump but has this been actioned at all for 1.12.2 or any newer versions?
Normally I'm against realism but having logarithmic loss instead of linear would actually be more fun for long distances.
In (1.16.5-5.1.0-148) you can achieve logarithmic loss by having a capacitor at each segment (thus limiting wires to connector transfer rates or having 8 capacitors per segment), which is hardly fun or aesthetically pleasing.
(sorry, probably should have referenced this thread in a new issue with a 1.16.5 specific title)
Can't you just use the config to get rid of it or is this not part of the config anymore?
There's an option to change the config. 2.5% per chunk is the default which means 0 transmission at 40 chunks. As it stands, if I input 1000 RF/t, 25 RF is lost per chunk. The suggestion (and it's only a suggestion) is to move from a linear loss rate to an exponential loss rate, so that 2.5% of the power being transmitted through each part of the wire is lost. That is, if 1000 RF/t is input at one end of the wire, and 2.5% is lost per chunk, 363 RF/t should make it to 40 chunks, and only 2.5% of 363 should be lost if the wire is extended to the 41st chunk. That should be accomplished with the line of code above, but I'm not super familiar with the IE codebase.
Yeah, exponential power loss seems much better than linear loss, especially since linear hits 0 at some point for any loss rate above none.
To be fair, exponential decay still asymptotically approaches zero, so there'll still be a point somewhere in this model where you're getting a transmission rate of less than one[note 1]. On the other hand, with an input of 1024/t and exponential decay of 2.5% per chunk, that'll be roughly two hundred and seventy something chunks until you get there[note 2]. With HV like a diesel generator gives you, it's nearly three hundred and thirty. At that point, you should really just make a new power station already.
[1] This is assuming that RF calcs use floor
and not ceil
or round
as the latter two would never go below one, and might not even get that far. Theory and practice, right?
[2] For those wondering, the formula I used is just basic exponential decay, set to 1
and solved for x: 1 = INITIAL_TRANSMISSION × (1 - RATE_OF_LOSS)^x
where RATE_OF_LOSS
is the loss as a decimal - 2.5%
= 0.025
. Since the calcs are, AFAIK, lossy (integer math), these numbers won't be precisely correct in practice, which is why I didn't even bother being fully precise here.
I use HV for high-throughput transmission from my power stations to my active base, but they aren't very far apart. It's only HV because I'm generating and using too much power for anything less.
I forget where I learned this, but I believe that in order to lessen these sort of long distance linear losses you should be using capacitors at regular intervals so that the source that loses power is shifted further out. That way instead of having your power drop by 2.5%100% of main source lost per chunk without capacitors, if you had 1 capacitor per chunk, its 2.5% 97.5% of main power source lost after the first chunk, then 2.5%*95.06% main power source for the second, etc. At some point the losses slow down noticeably, but by that point it's smarter to just have another power source closer to its intended use and keep the HV cables where they are for the aesthetic but not try to use them.