Infinite energy with thermal compressors
Aazh opened this issue ยท 28 comments
For feature requests, just erase this template and clearly describe the feature you'd like to see
Minecraft Version
1.15.2
Forge Version
31.1.63
Mod Version
pneumaticcraft-repressurized-1.15.2-1.1.2-10
Describe your problem, including steps to reproduce it
Vortex tube connected to two thermal compressors produces more pressure than it consumes leading to a positive feedback loop.
Any other comments?
Yeah, that shouldn't happen :) I tested this in 1.12 and couldn't get enough air from it to power the vortex tubes, but looks like this needs revisiting.
I've done some retuning on the Thermal Compressor's internal heat resistance, and with your setup, it can no longer produce sufficient pressure to keep the vortex tube running - the pressure in that system slowly drops. Tried adding a couple more compressors to the system, which worked as expected - compressors now use up heat faster than the vortex tube can produce it.
You can try out build 11+ from https://jenkins.k-4u.nl/job/PneumaticCraft-Repressurized-1.15/ if you'd like to test this before I get a release out. Would be interested to see if you can break it now :)
Broken
Tested with pneumaticcraft-repressurized-1.15.2-1.1.2-11
The logic i use is if the system reaches a steady state, does a compressor in it produce more mL/t than the (pressure * 10) / number of compressors. the vortex tube uses 10mL/t per 1 bar.
as each compressor in my new example generates a bit more than 2.5 at 1 bar, it is still raising.
There's a thermal connection between the two pairs of sides, so heat equalises across them. That's how energy is removed from the system. I initially reduced the resistance of that connection, meaning the temperature equalises faster, but clearly not by enough. If I reduce it much further, then legitimate heat sources (e.g. a magma cube) will just get used up really fast and produce very little air.
AIR_GEN_MULTIPLIER (0.05) means it generates 0.05 mL of air each tick per degree of temperature difference across each side pair.
I notice a creative compressor in quite a few of your images. Might I ask what pressure that's set to? :)
The problem here is that the heat equalization needs to relate to energy extraction not conductivity.
The problem here is that the heat equalization needs to relate to energy extraction not conductivity.
Yeah you're right there.
Just need to point out that a creative compressor set to 1.0bar will keep the whole system constantly at 1 bar, so that's where your free energy is coming from. Any tests you do can't be valid when there's a creative compressor attached.
Looks to me like the creative compressor is connected to the vortex tube? So you're constantly pumping (infinite) energy into the vortex tube.
But I get your point about equalising heat based directly on air generated rather than allowing temperature to equalise "naturally" across the internal heat connector. I'll do some recoding of the thermal compressor tomorrow and push another dev build.
You can try to build it yourself
just 4 sets of two thermal compressors connected heat pipes and heat sinks at the end, other end of the vortex tube is connected to heat sinks
creative compressor is to make a steady state, remove it and connect the loop and watch it go
I can but my point re: the creative compressor stands :) The creative compressor is free energy, no ifs no buts.
This could be tricky to fix properly. Short of nerfing the compressor into uselessness, I'm not sure...
I will do some more tuning and see if I can find a compromise.
I have barely looked at your code but if AIR_GEN_MULTIPLIER means what i think it means,
i can just stack compressors like that to increase their effective resistance to make the temperature difference between the vortex tube and the heat sinks as high as i want.
So the compressor should take energy away from the system somehow as right now it seems to be a fancy heat cable that generates pressure as a bonus.
Basically, it should do the same thing as a vortex tube does but backwards.
Can even de-nerf it for other purposes and everything.
Looking at the vortex tube tile entity seems possible.
Have a try of build 12 and see if you can break it now :)
I did implement your suggestion of the "vortex tube in reverse". This is in addition to the natural heat leakage between the two sides, although I increased the thermal resistance there. I haven't been able to get any runaway air generation with any of your builds above, so maybe this one's the charm.
Since the compressor is now quite a bit weaker, I did bump up the heat capacity of blocks like magma to compensate, otherwise the thermal compressor becomes a bit useless... This also makes the Refinery & TPP a bit easier to heat with magma, but that's fine with me.
I still seem to be getting energy loops but i am thinking of how best to demonstrate them.
One thing that i noticed is that when you have multiple vortex tubes in series you are essentially wasting air by moving the same heat multiple times, so a simple reversal would also have the reverse effect of getting air from the same heat multiple times,
these types of setups still generate extra air but they seem to be less efficient.
note the flow rates that the one probe shows on the flow detector tube modules to demonstrate that more air is being generated.
A thought experiment, what would happen if thermal compressors had infinite conductivity and generated all the air they could instantaneously, what would it mean for the system if you put multiple of these in series.
I built that last build of yours, and you're right that it does manage to keep the pressure rising. But very slowly, and there's also the point that if you actually try to do any work with that pressure, the energy removed disrupts the feedback cycle.
So yeah, it's technically "wrong" in that it breaks the laws of physics (but this is a game where blocks can hang in mid-air...), but I don't think it's game-breaking at this point. It's hard to make that free pressure do any useful work.
If you disconnect the creative compressor from that system, and close off the leak, does the pressure in the system continue to rise forever? Or does it eventually level off and drop again?
Mhm, at this point it is not really than passive desert border energy considering the resource cost and it is not efficient enough to stumble onto the effect by just deciding to build two thermal compressors to help recover air for refinery heating like I did.