TeamPneumatic / pnc-repressurized

A port of PneumaticCraft to MC1.12+
Other
119 stars 48 forks source link

Infinite energy with thermal compressors #468

Closed Aazh closed 4 years ago

Aazh commented 4 years ago

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. 2020-05-07_18 00 02

Any other comments?

desht commented 4 years ago

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.

desht commented 4 years ago

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 :)

Aazh commented 4 years ago

Broken Tested with pneumaticcraft-repressurized-1.15.2-1.1.2-11 2020-05-08_19 27 42 2020-05-08_19 37 01

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.

2020-05-08_19 47 20 2020-05-08_19 47 24 2020-05-08_19 47 28

Aazh commented 4 years ago

This setup seems broken as well, temperature at the vortex tube seems to keep dropping, have not reached a steady state yet though.

2020-05-08_20 03 17 2020-05-08_20 03 21 2020-05-08_20 03 28

desht commented 4 years ago

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.

Aazh commented 4 years ago

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.

Aazh commented 4 years ago

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.

Aazh commented 4 years ago

So considering setups like this 2020-05-08_20 34 53

Something as simple as cooling the hotter side by an extra degree every now and then might work.

Aazh commented 4 years ago

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.

Aazh commented 4 years ago

Might be a seperate issue but as far as infinite energy goes it seems that thermal compressors have an immense potential even beyond wierd loops. 2020-05-08_21 08 20

desht commented 4 years ago

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? :)

Aazh commented 4 years ago

2020-05-08_21 34 14

Aazh commented 4 years ago

The problem here is that the heat equalization needs to relate to energy extraction not conductivity.

desht commented 4 years ago

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.

Aazh commented 4 years ago

2020-05-08_21 38 59 no connection of pipes

2020-05-08_21 39 33 exit at more than 10 mL/t, so if i connected it pressure would rise until something explodes

Aazh commented 4 years ago

2020-05-08_21 41 16

desht commented 4 years ago

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.

Aazh commented 4 years ago

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

desht commented 4 years ago

I can but my point re: the creative compressor stands :) The creative compressor is free energy, no ifs no buts.

Aazh commented 4 years ago

2020-05-08_21 47 34 2020-05-08_21 52 27 2020-05-08_21 53 52 Well, complaining about free energy being put into a machine that then doubles that energy seems to be a missing the point a bit. :)

desht commented 4 years ago

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.

Aazh commented 4 years ago

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. 2020-05-09_17 58 10 2020-05-09_17 58 17 2020-05-09_17 58 31 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.

desht commented 4 years ago

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?

Aazh commented 4 years ago

2020-05-09_19 32 32 This creative compressor free system has rising pressure

I guess it would also be possible to put security upgrades in the compressors and just connect them together.

Er, in the example in my last comment it would just start cooling down since nothing is connected then.

Aazh commented 4 years ago

2020-05-09_19 51 02 2020-05-09_19 51 19

desht commented 4 years ago

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.

Aazh commented 4 years ago

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.

desht commented 4 years ago

Gonna close this since I think we're about as good as we can get here. Thanks for all your effort in testing this!