Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

mathmanican

Let's finally figure out the Steam Turbine Heat Deletion Issue

Recommended Posts

TripleM999    235
1 hour ago, TheMule said:

Sorry I'm not following 100% here but is the problem located at the temp shiftplates and the metal tiles to the left of the hydrogen? What's the temp there?

The biggest limiting problem currently is indeed the conduction from super coolant to hydrogen.

Although i was able to just switch it up one notch, to 400MDTU/s. :biggrin-new:

400MDTU.thumb.png.f4ba86e2d622b7aaf6a91109c95d4ee7.png

Temperature of supercoolant and tepidizers is near cutoff temp of 85°C though... so not much higher to go.

Share this post


Link to post
Share on other sites
TheMule    241
1 hour ago, TripleM999 said:

The biggest limiting problem currently is indeed the conduction from super coolant to hydrogen.

Although i was able to just switch it up one notch, to 400MDTU/s. :biggrin-new:

400MDTU.thumb.png.f4ba86e2d622b7aaf6a91109c95d4ee7.png

Temperature of supercoolant and tepidizers is near cutoff temp of 85°C though... so not much higher to go.

I know it sounds extremely counter-intuitive, but if the temp allows it, try plastic,for shiftplates, or even for tiles.

Share this post


Link to post
Share on other sites
mathmanican    3285
5 hours ago, TripleM999 said:

Although i was able to just switch it up one notch, to 400MDTU/s. :biggrin-new:

Please devs. Help him before it's too late. He is about to be assimi......

Share this post


Link to post
Share on other sites
Manarz    36

@mathmanican I still can't figure out the extra energy gain we see in our Turbinetests but i see it without liquid - gas contacts too:
grafik.thumb.png.58914d84cc34b47d8c65fd48bf69ccb6.png
The output pipe of the Turbine is full this time, so i don't have any gain from reduced outputs

Share this post


Link to post
Share on other sites
mathmanican    3285
6 hours ago, Manarz said:

The output pipe of the Turbine is full this time, so i don't have any gain from reduced outputs

I assume when you insulate the top, you get no gain, correct?  That would reflect what I'm seeing. I am just as puzzled, but trapped in the partial evaporation temp reset bug. 

Thanks for sharing.  This at least eliminates the "liquid-gas" interaction then. I wonder if it has to do with the double conduction contact on the diamond tile. The phase change bug deals with conduction points on the heat plate (resulting in heat loss). Maybe there is another conduction bug. Testing that will be tricky, as I don't know how to boil the water without some heat being added to the right via some means.  Maybe a solid tile with a conduction wire connecting to the liquid vent will do it.... 

I'll return to this dilemma at some point.  Thanks for sharing.

Share this post


Link to post
Share on other sites

I've just caught up on this thread and... holy hell.  I don't know how the devs have resisted making a comment.  Can you imagine being a dev and fixing this bug by making a simple code change to the temp array calculations, pulling the rug out from all the insane creativity in this thread? That would be sad times!

I don't know if you've settled on a name for this new monstrosity yet but when comparisons were drawn with the AETN I immediately thought of AETNext™.

Borgie vs Magma was hilarious, thanks @TripleM999

On 6/15/2020 at 4:38 AM, mathmanican said:

Does anyone know for certain if the temp exchange code has a random number generator call in it?  If so, any idea which random number generator they use. :)  If it gets that tough, I will probably give up as I don't want to predict the seed.  Though I guess we could try and do something akin to figuring out how to beat a casino that uses a machine to shuffle cards...

This was off the deep end, even for you, @mathmanican

Share this post


Link to post
Share on other sites
TripleM999    235
5 hours ago, SpreadsheetGamr said:

Borgie vs Magma was hilarious, thanks @TripleM999

Thanks, although I found the 100 tepidizers more impressive. And the shear mass movement within the 240kg reactor... one tile filled with liquid methane almost every 5 sec.

Share this post


Link to post
Share on other sites
mathmanican    3285
On 6/30/2020 at 1:49 AM, Manarz said:

the extra energy gain we see in our Turbinetests

So, I've been playing with this for a little while. The extra energy seems to be related to the difference in temperature between the gas cell above the diamond tile, and to the right of the diamond tile. The bigger you can make this difference, the more energy is gained.  I haven't stress tested this to 100 cycles, but that's my current hypothesis. Change the diamond tile to insulation, and the extra energy is gone. 

image.png.97203994b9b3107917519f3e80828d39.png

I ran some brief tests to see if conduction between solids was propogating in odd ways (it's not).  My best guess is that the energy gain is similar to the liquid right-to-left flow bug, in that something is not correctly grabbing the correct mass value for a heat computation when cells send mass to somewhere else. I'll try to come up with some tests to prove/refute this conjecture.  

It isn't the diamond tile. 

image.png.f4d4e563d6cf6295fbc6096f1de3429f.png

This turbine generates a few too many watts (there is a much smaller difference in temperatures between the gas above the insulation, and to the right of the insulation - as such a lower heat gain). 

Possible explanation of all extra wattage:

  • If you have too little steam to hit 2000g in the pipe, then you save yourself 1.5K on each phase change (though this is dangerous as mass loss upon load could kill your setup). 
  • If you have a large difference in temps, with a mass gradient, around corners, then something causes an amplification of the temperature difference.  I wonder if it works in reverse as well, and we can cool things. 

At least I've got things I can test now.  Thanks for sharing your setup with a solid top @Manarz

In debug, this device gained energy on each tick. 

image.png.fea78c6ac1029a3542a913bfd322f860.png

Now I just need to figure out exactly where that energy is coming from. 

@Manarz Update: the build does not gain heat every time, so I wonder if there is another "random" gas interaction causing this.  @TripleM999, this is your specialty. :) The total total joules starts at 2611.9 MJ.  Sometimes it just stays there and never changes.  Sometimes, it rises.  

I guess maybe the "stays there" issue could be from the cells instantly equalizing energy.  This could take a while (or maybe one of you has an ingenious conjecture).

Share this post


Link to post
Share on other sites
TripleM999    235
2 hours ago, mathmanican said:

In debug, this device gained energy on each tick. 

image.png.fea78c6ac1029a3542a913bfd322f860.png

Now I just need to figure out exactly where that energy is coming from. 

@Manarz Update: the build does not gain heat every time, so I wonder if there is another "random" gas interaction causing this.  @TripleM999, this is your specialty. :) The total total joules starts at 2611.9 MJ.  Sometimes it just stays there and never changes.  Sometimes, it rises.  

I guess maybe the "stays there" issue could be from the cells instantly equalizing energy.  This could take a while (or maybe one of you has an ingenious conjecture).

No randomness visible... I tested with 100 cells... consistent slight energy gain to 2612.2MJ, or in heat... 2611875kDTU before, 2612211.9kDTU after.

SomethingAmiss.png.7de146c7c3cb7860c5777d437ccf2e59.png

This was the distribution after one tick... in all 100 cells. instant heat equalizing between the 100kg and the 150kg is not allowed, as this would push the 150kg further below. I miss the conduction from the 150kg to the 195kg though, it is at 1000K yet.

Maybe i missed this part... conduction does not seem to happen at all.

SomethingAmiss2.png.dd8b6f5ea1f5778dc72057e6405fc6a7.png

Although the values of the separate cells are not that far off compared to the combined cell, it does not gain any heat.

BUT, if you take these temperatures, and apply these similarly to the combined cell, the energy would be again 2612.2MJ.

So maybe there is some slight backflow conduction vertically, which would explain the slightly different temperatures, lower for the 105kg, higher for the 150kg, at the same higher energy.

And the energy gain looks a bit like a precision error, with only one significant decimal for the temperature.

Share this post


Link to post
Share on other sites
mathmanican    3285
14 minutes ago, TripleM999 said:

No randomness visible

Thanks for checking.  I will have to see if i can reproduce one that didn't result in a heat gain (no time now). At least we now have two confirmed instances of heat creation.  Time to dissect it. :) 

My goals in ONI:

image.png.c58d07f674c93e4b426f17eb3d2708aa.png

Share this post


Link to post
Share on other sites
mathmanican    3285
9 hours ago, TripleM999 said:

Just advance one tick for the energy gain test.

Thanks for the test bed. I decided to run a different test. 

image.thumb.png.0b24e2441c857e9e7fbb4cae0784b211.png

Note the difference between 1483.872K and 1483.334K. I ran the same test in several cells, with the same result.  Something in the code is causing this difference, and it happens when high mass cold stuff is below low mass hot stuff.

It seems small, but I think this difference in temp could be the reason for the extra heat coming out of the steam turbine.  It also means that gas heat exchangers may suffer from a small error. I wonder if it's just vertical flow, or if requires the corner. I'm going to go compute the expected output from conduction and mass combining, and see if I can figure out what error is at play. This may also be directly related to extra heat I could not account for in my solid flaking experiments - it's about the same magnitude, and always resulted in extra heat).

Definitely not super abusable (yet), but odd. 

Share this post


Link to post
Share on other sites
TripleM999    235
20 minutes ago, mathmanican said:

Note the difference between 1483.872K and 1483.334K.

Although it is small, there is probably some conduction happening vertically in the 3 tile cell, i think, which is not there, or not observable in the 2 tile cell. You can see a difference too in my 2 chamber experiment. The temperatures in the 2 tile cells is slightly lower than in the 3 tile cell, albeit same energy, when you apply these temperatures to a 3 tile cell.

I think, calculation is happening WITH heat, but the gas map only stores element, temperature and mass, NOT heat itself.

Share this post


Link to post
Share on other sites
mathmanican    3285

Found the issue. @klei.ruby, the issue here with gas is the exact same issue as the liquid flow problem you have been working on (than you @wachunga for noting that, as it helped me rapidly isolate this issue). The average value formula is grabbing the wrong mass when updating. I'll include the picture one more time, for the devs benefit (and submit a bug report). 

Spoiler

image.thumb.png.0b24e2441c857e9e7fbb4cae

After the conduction phase, the three cells have the following temps:

  • m = 100kg, T = 1999.95597
  • m = 150kg, T = 1500
  • m = 200kg, T = 1000.022015

Then we mix gasses by moving them around.  The correct computations are:

  • m = 105kg, T = (100*1999.95597+5*1500)/(100+5) = 1976.148543.  Exactly what occurs. 
  • m = 150kg, T = (145*1500 + 5 * 1000.022015)/(145+5) = 1483.334067. This occurs on the bottom test above. It is the correct version. 
  • m = 195kg, T = 1000.022015 (the value shown)

The problem is that in the top test above, the old mass of 150kg is being used in the average value formula, despite the fact that only 145kg remain.  To get the incorrect vale, we just compute

  • m=150kg, T = (150*1500 + 5*1000.022015)/(150+5) =  1483.871678 (the overheated tile).   Note that 150, that should have been 145. 

So the problem is the exact same problem that occurs in left-to-right liquid flow. The updated temperatures are using an incorrect mass. 

This might seem like a really small effect, but I bet it could be magnified greatly.  Along a 10 tile heat exchanger, the liquid flow bug is quite massive. This one will take more tiles to appear as large, as the mass flow is 10% or 12%, instead of 25% with liquid. It is definitely a temperature difference amplification bug, all stemming from an improper average value formula. 

I think this finished up the loose ends in this thread.  We've isolated (and wonderfully abused) the horizontal temp swap problem. We've found steam turbine builds that generate the appropriate amount of heat. We found why left-to-right liquid flow is bugged, and that led directly to why the extra heat appears in some turbine setups (it amplifies a temperature difference between two cells).

Here is the bug report. 

 

Ok, maybe we have one more job in this thread.  We need to build a heat generation device that abuses this bug. I'll do that tomorrow if you guys don't beat me to it. Shouldn't be hard to make something that abuses the crap out of this. :)  I'm guessing something as simple as a stairway with a counter flow heat exchange would easily show case it, just the same as the liquid counterflow heat exchange does. 

On 6/30/2020 at 5:06 PM, SpreadsheetGamr said:

This was off the deep end, even for you

You'd be surprised what lengths I go to solve problems.  I'm a mathematician by trade, and I've done some pretty crazy things to solve problems. :) 

Share this post


Link to post
Share on other sites
Denisetwin    242
On 6/23/2020 at 1:35 AM, mathmanican said:

Should we tackle the extra heat generation I keep getting from the turbines, and see if we can melt magma with it. :) I doubt we can, but you never know. 

You guys amaze me.  I have read this thread multiple times and am still not sure I'm following it.

Meanwhile I thought I'd make a salt water boiler with turbines and two AT that would also cool my oxygen and can't even get that to work right!

Kudos on all your hard work.

 

Share this post


Link to post
Share on other sites