mathmanican Posted January 4, 2019 Share Posted January 4, 2019 Problem Found - Bug has been in code for over a year, just surfaces in odd places when not expected. Thanks @R9MX4. ----- Maybe this bug has already been noticed and commented on, but I couldn't find it after a 10 minute search though the bug reports. If you are aware of the bug, please let me know so I don't double post it. I wanted to try cooking oil into petroleum using the kiln. I prepared a nice vacuum chamber, added a small amount of oil, built my kiln out of gold, and qued up 20 recipes. Waited, waited, and waited, and the temp kept.... dropping!!!! What? The temp dropped to match the input coal and clay,. No heat was ever created. So I played around with this a bit more. I build a kiln out of gold, iron, copper, steel, niobium, and thermium. I placed the kiln on a 1kg layer of oil, petro, water, and added a control layer of just vacuum. With vacuum above each liquid, the kiln produces zero (update) very little/not the correct amount of heat when making ceramics. In complete vacuum, the kiln produces heat. With gas above the kiln (the screenshot above), it produces some an appropriate amount of heat. Odd things are happening. I'll report this bug later today or tomorrow, after it's been discussed and details are flushed out. Current exploit: Build kiln in vacuum. Add a very thin layer of liquid to bottom layer (water, crude, petro). Then use kiln as much as you want with almost zero heat output. Place it next to your vacuum fridges, and your refrigerator doubles as a furnace. Link to comment Share on other sites More sharing options...
Kabrute Posted January 4, 2019 Share Posted January 4, 2019 put kiln on vacuum airflow tiles, then retry Link to comment Share on other sites More sharing options...
Nitroturtle Posted January 4, 2019 Share Posted January 4, 2019 Not really related to the issue you're seeing, but also kiln related.. The priority seems to be broken on kilns. I set mine to priority 1, with other operate tasks at 7-8, and my operator dupes will continue to non-stop deliver to the kiln. Can't imagine it's related, but who knows. Link to comment Share on other sites More sharing options...
mathmanican Posted January 4, 2019 Author Share Posted January 4, 2019 Will do. First, the problem isn't just the kiln. It's also batteries (and I'm gonna guess most every other heat producing building). Both of the below produce the same result. Simple battery heat solution... Just store the battery in a 1 layer liquid vacuum storage unit. 44 minutes ago, Kabrute said: put kiln on vacuum airflow tiles, then retry Done. Here are the results. For the kiln and battery, same behavior. As long as there is a thin layer of crude covering the bottom leftmost tile, then no heat at all heat output is reduced. I mopped up the crude under this battery. The temp started rising rapidly. I replaced the igneous tiles with airflow, and the temp rise was much more rapid (expected). Link to comment Share on other sites More sharing options...
Kabrute Posted January 4, 2019 Share Posted January 4, 2019 1 hour ago, Nitroturtle said: Not really related to the issue you're seeing, but also kiln related.. The priority seems to be broken on kilns. I set mine to priority 1, with other operate tasks at 7-8, and my operator dupes will continue to non-stop deliver to the kiln. Can't imagine it's related, but who knows. file a bug report please, there was a similar issue with outhouses set to priority 1, dupes would drop everything to clean them like they were at priority 10 most often seemed to happen on save/load at the time @mathmanican the airflow vacuum tile prevents building contents from interacting with the floor should have no discernable impact on batteries unless battery metal is being counted as a content..... Link to comment Share on other sites More sharing options...
ONIfreak Posted January 4, 2019 Share Posted January 4, 2019 Is it not that vacuum doesn't transfer the heat? Like kilns will be hot but they will not heat up area around? I would add some hydrogen there even a little bit for heat to have transfer medium and check again. Link to comment Share on other sites More sharing options...
Sasza22 Posted January 5, 2019 Share Posted January 5, 2019 2 hours ago, Nitroturtle said: Not really related to the issue you're seeing, but also kiln related.. The priority seems to be broken on kilns. I set mine to priority 1, with other operate tasks at 7-8, and my operator dupes will continue to non-stop deliver to the kiln. Can't imagine it's related, but who knows. The kiln uses the operate priority for delivery. Similar to how the electric grill uses cook priority for deliveries. It seems intended but IMO it`s a bad idea. I think delivery tasks should be unified. I`m pretty sure it`s unrelated to the original topic though. Link to comment Share on other sites More sharing options...
mathmanican Posted January 5, 2019 Author Share Posted January 5, 2019 2 hours ago, ONIfreak said: Is it not that vacuum doesn't transfer the heat? Like kilns will be hot but they will not heat up area around? The kiln should be heating itself up (it can't transfer the heat to anything in a vacuum). This is precisely what happens in a pure vacuum. The crazy part is that 350g of crude oil completely kills the heat generation. The heat isn't going into the 350g (wouldn't take much heat to boil that little anyway). The crazy part here is that a tiny layer of liquid is preventing the machine from generating most of its heat. Maybe I should state, for clarification, that I am no longer trying to make petro this way. Instead, this now gives anyone a way to create things that should be really hot, without having to worry about the heat at all. Why bother trying to cool things down if you can just skip the heat generation completely? Has anyone else noticed this? Link to comment Share on other sites More sharing options...
fishoutofwater Posted January 5, 2019 Share Posted January 5, 2019 1 hour ago, mathmanican said: Instead, this now gives anyone a way to create things that should be really hot, without having to worry about the heat at all. Why bother trying to cool things down if you can just skip the heat generation completely? Has anyone else noticed this? I'm guessing this apply to kiln only? Link to comment Share on other sites More sharing options...
FIXBUGFIXBUGFIX Posted January 5, 2019 Share Posted January 5, 2019 5 hours ago, mathmanican said: added a small amount of oil, built my kiln out of gold, and qued up 20 recipes. Waited, waited, and waited, and the temp kept.... dropping!!!! temperature, mass. Link to comment Share on other sites More sharing options...
mathmanican Posted January 5, 2019 Author Share Posted January 5, 2019 47 minutes ago, R9MX4 said: temperature, mass. Haha. I have redone several experiments today. The battery issue might be 100% just temperature and mass. However, the kiln issue is definitely not. Here's 3 scenarios. All began with 293.2K temps on all items involved. Kiln in vaccuum. 20 recipes. Temp raises several hundred K on kiln. Kiln in 1kg hydrogen, trapped by viscogel and insulated insulation. 20 recipes completed. Kiln, hydrogen, 200kg viscogel, all rise in temp (as expected - probably exactly the same as (1). Kiln in 1kg crude oil, vacuum above. Temp raises some, but less than (2). This makes no sense as the viscogel is basically the heat buffer in (2), but we're missing 200kg of liquid in this setup. The Kiln's temp output is bugged. Anyone want to conduct a similar experiment? Link to comment Share on other sites More sharing options...
FIXBUGFIXBUGFIX Posted January 5, 2019 Share Posted January 5, 2019 15 minutes ago, mathmanican said: Kiln in 1kg crude oil initial temperature of crude oil BTW, I suggest you surround your klin by neutronium. Link to comment Share on other sites More sharing options...
mathmanican Posted January 5, 2019 Author Share Posted January 5, 2019 14 minutes ago, R9MX4 said: BTW, I suggest you surround your klin by neutronium. I'll repeat the experiment with neutronium later if needed, and even add a control room with pure vacuum. The experiment below was done with insulated insulation. All three kilns start out the same. All temps of liquids, solids are 293K, if spawned by sandbox. Buildings all start at 293.2K. Viscogel is 100kg per tile at 293K. I spawned in 500kg coal and 2000kg clay to the right of the sweepers so I could run 20 ceramics. Here are the three setups. Hydrogen 1kg total in the 6 spots (so 166.7g in each) spot. Crude oil. 1kg total. 625g in left spot, 375g in right. Water. 30.2g left, 32.9g right. Practically none. After 20 ceramic runs, you would expect the water area to have the highest temp (less than 70g of water.. is there any argument here)? However, here is the conclusion. Hydrogen and 200kg viscogel have temps around 298K. The ceramic in that room is 294.4K. Crude oil temp is 295.5. The ceramic in that room is 295.3K. The ceramic temp difference might be the reason why the crude is colder than the viscogel and hydrogen. However..... Water temp is 294.7. The ceramic in that room is 294.5K (basically the same as the hydrogen room). The oddest is the water room. Lower temp than crude, ceramic is basically the exact same as hydrogen room, but the hydrogen room clearly rose a bunch in temp with the viscogel being the heat sink. Where did the heat go? Best guess... Bugged somewhere in the last few updates (or maybe there all along). I can think of tons of other experiments to run to track down the bug. This reminds me of the pitcher pump bug (which by the way is still there, and a couple pitcher pumps in 800kg crude oil work great as a heat sink to cool a gold volcano). Is anyone else interested in tracking this bug down, or has anyone seen it at work? Link to comment Share on other sites More sharing options...
FIXBUGFIXBUGFIX Posted January 5, 2019 Share Posted January 5, 2019 11 minutes ago, mathmanican said: I'll repeat the experiment with neutronium later if needed, and even add a control room with pure vacuum. The experiment below was done with insulated insulation. All three kilns start out the same. All temps of liquids, solids are 293K, if spawned by sandbox. Buildings all start at 293.2K. Viscogel is 100kg per tile at 293K. I spawned in 500kg coal and 2000kg clay to the right of the sweepers so I could run 20 ceramics. Here are the three setups. Hydrogen 1kg total in the 6 spots (so 166.7g in each) spot. Crude oil. 1kg total. 625g in left spot, 375g in right. Water. 30.2g left, 32.9g right. Practically none. After 20 ceramic runs, you would expect the water area to have the highest temp (less than 70g of water.. is there any argument here)? However, here is the conclusion. Hydrogen and 200kg viscogel have temps around 298K. The ceramic in that room is 294.4K. Crude oil temp is 295.5. The ceramic in that room is 295.3K. The ceramic temp difference might be the reason why the crude is colder than the viscogel and hydrogen. However..... Water temp is 294.7. The ceramic in that room is 294.5K (basically the same as the hydrogen room). The oddest is the water room. Lower temp than crude, ceramic is basically the exact same as hydrogen room, but the hydrogen room clearly rose a bunch in temp with the viscogel being the heat sink. Where did the heat go? Best guess... Bugged somewhere in the last few updates (or maybe there all along). I can think of tons of other experiments to run to track down the bug. This reminds me of the pitcher pump bug (which by the way is still there, and a couple pitcher pumps in 800kg crude oil work great as a heat sink to cool a gold volcano). Is anyone else interested in tracking this bug down, or has anyone seen it at work? Machine in vacuum generates less heat. Both of phenomena are more obvious to liquid tepidizer because liquid tepidizer produces most(around 98.4%) of its heat to surroundings directly. -------------------------------------------------------------- Note: Kiln exhausts 80% of its heat to surroundings directly. Other transfers building/cell transfer of "excess" heat: each cell receives the excess heat, divided by the area of the building, and this transferred heat is proportionally scaled down if the cell as less than 1.5kg of content (source: C# code) ----------------------------- Note: relating code StructureTemperatureComponents Spoiler public override void Sim200ms(float dt) { int num = 0; int num2 = 0; int num3 = 0; List<StructureTemperatureHeader> list; List<StructureTemperaturePayload> list2; base.GetDataLists(out list, out list2); ListPool<int, StructureTemperatureComponents>.PooledList pooledList = ListPool<int, StructureTemperatureComponents>.Allocate(); pooledList.Capacity = Math.Max(pooledList.Capacity, list.Count); ListPool<int, StructureTemperatureComponents>.PooledList pooledList2 = ListPool<int, StructureTemperatureComponents>.Allocate(); pooledList2.Capacity = Math.Max(pooledList2.Capacity, list.Count); ListPool<int, StructureTemperatureComponents>.PooledList pooledList3 = ListPool<int, StructureTemperatureComponents>.Allocate(); pooledList3.Capacity = Math.Max(pooledList3.Capacity, list.Count); for (int num4 = 0; num4 != list.Count; num4++) { StructureTemperatureHeader value = list[num4]; if (Sim.IsValidHandle(value.simHandle)) { pooledList.Add(num4); if (value.dirty) { pooledList2.Add(num4); value.dirty = false; list[num4] = value; } if (value.isActiveBuilding) { pooledList3.Add(num4); } } } foreach (int index in pooledList2) { StructureTemperaturePayload structureTemperaturePayload = list2[index]; StructureTemperatureComponents.UpdateSimState(ref structureTemperaturePayload); } foreach (int index2 in pooledList2) { if (list2[index2].pendingEnergyModifications != 0f) { StructureTemperaturePayload value2 = list2[index2]; SimMessages.ModifyBuildingEnergy(value2.simHandleCopy, value2.pendingEnergyModifications, 0f, 10000f); value2.pendingEnergyModifications = 0f; list2[index2] = value2; } } foreach (int index3 in pooledList3) { StructureTemperaturePayload value3 = list2[index3]; if (value3.operational == null || value3.operational.IsActive) { num++; if (!value3.isActiveStatusItemSet) { num3++; value3.primaryElement.GetComponent<KSelectable>().SetStatusItem(Db.Get().StatusItemCategories.OperatingEnergy, this.operatingEnergyStatusItem, value3.simHandleCopy); value3.isActiveStatusItemSet = true; } value3.energySourcesKW = this.AccumulateProducedEnergyKW(value3.energySourcesKW, value3.OperatingKilowatts, BUILDING.STATUSITEMS.OPERATINGENERGY.OPERATING); if (value3.ExhaustKilowatts != 0f) { num2++; Extents extents = value3.GetExtents(); int num5 = extents.width * extents.height; float num6 = value3.ExhaustKilowatts * dt / (float)num5; for (int i = 0; i < extents.height; i++) { int num7 = extents.y + i; for (int j = 0; j < extents.width; j++) { int num8 = extents.x + j; int num9 = num7 * Grid.WidthInCells + num8; float a = Grid.Mass[num9]; float num10 = Mathf.Min(a, 1.5f) / 1.5f; float kilojoules = num6 * num10; SimMessages.ModifyEnergy(num9, kilojoules, value3.maxTemperature, SimMessages.EnergySourceID.StructureTemperature); } } value3.energySourcesKW = this.AccumulateProducedEnergyKW(value3.energySourcesKW, value3.ExhaustKilowatts, BUILDING.STATUSITEMS.OPERATINGENERGY.EXHAUSTING); } } else if (value3.isActiveStatusItemSet) { num3++; value3.primaryElement.GetComponent<KSelectable>().SetStatusItem(Db.Get().StatusItemCategories.OperatingEnergy, null, null); value3.isActiveStatusItemSet = false; } list2[index3] = value3; } pooledList3.Recycle(); pooledList2.Recycle(); pooledList.Recycle(); } This line is the key point float num10 = Mathf.Min(a, 1.5f) / 1.5f; Link to comment Share on other sites More sharing options...
fishoutofwater Posted January 5, 2019 Share Posted January 5, 2019 tested in space vacuum, clay and coal spawned at 325K, water at 300K, kiln built in debug mode. Link to comment Share on other sites More sharing options...
Recommended Posts
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.