Recommended Posts

Kermack    1

Last time I read somewhere that thermo regulators in series could result in net cooling.  Is it still true?

Share this post


Link to post
Share on other sites
DrDuckling    2
6 minutes ago, Kermack said:

Last time I read somewhere that thermo regulators in series could result in net cooling.  Is it still true?

I got mine down to 2-3C after 30~35 cycles... I have Hydrogen filled room with 2 regulators + pump for cycling gas (with filter for outlet) + 4 wheezwort. It takes forever before it able to cooldown... but I do not think regulator alone is enough. 

Share this post


Link to post
Share on other sites
Kasuha    427
21 minutes ago, Kermack said:

Last time I read somewhere that thermo regulators in series could result in net cooling.  Is it still true?

Don't have to be in series. They remove more heat from processed gas than the heat they generate, so when done right they can cool themselves.

Share this post


Link to post
Share on other sites
NanoD    10

I have try to cool them self but never got it working.

Share this post


Link to post
Share on other sites
Masterpintsman    195
10 hours ago, Kasuha said:

when done right

That is in and using Hydrogen and always being fed full packets?

Share this post


Link to post
Share on other sites
Kasuha    427
1 hour ago, Masterpintsman said:

That is in and using Hydrogen and always being fed full packets?

Probably? I haven't done the math to verify what's the minimum necessary condition. So far I only know that they warm up less if they process smaller packets or if they process gas with less heat capacity.

Share this post


Link to post
Share on other sites
rezecib    3,078

@Kasuha I did a little checking and found that when processing a full packet of hydrogen with a gold amalgam Thermo Regulator, it raised the expected temperature (which if I remember correctly was 5.6K, because for thermal transfer purposes it considers buildings to have 20% of the mass). Looking at the code, it appears it's intended to be zero-sum, which is what I observed with that packet. But there could definitely be some bug in this that becomes relevant in the longer-term :p 

Share this post


Link to post
Share on other sites
Kasuha    427
1 hour ago, rezecib said:

@Kasuha I did a little checking and found that when processing a full packet of hydrogen with a gold amalgam Thermo Regulator, it raised the expected temperature (which if I remember correctly was 5.6K, because for thermal transfer purposes it considers buildings to have 20% of the mass). Looking at the code, it appears it's intended to be zero-sum, which is what I observed with that packet. But there could definitely be some bug in this that becomes relevant in the longer-term :p 

Okay, looks like you're right. Last time I used self-cooling regulators was when there was still pipe temperature bug in play and then it wasn't a problem for a regulator to cool itself. Ever since then, I'm using wheezeworts to cool them down.

 

Share this post


Link to post
Share on other sites
thejams    2

So finally do the Thermo Regulators destroy 80% of the heat transferred or not?

If they are zero sum, are we left with nothing but the 12.000W cooling of the Wheezewort (under ideal conditions) in order to destroy heat (needing almost 3 per Regulator)?

Are we all doomed by slow death by heat?

Share this post


Link to post
Share on other sites
Jumpp    3
Posted (edited)

Last time I checked, a couple patches back, electrolyzers emitted gas at a fixed temperature, no matter the temperature of the water source. Similarly, Air Scrubbers and Water Purifiers emitted polluted water and water, respectively, at fixed temperatures. If that's still true, all three of these might present opportunities to smuggle heat out of the game.

 

Along those same lines, pufts and morbs might also be able to destroy heat.

Edited by Jumpp

Share this post


Link to post
Share on other sites
rezecib    3,078

@thejams I believe they are zero-sum. 12 kW of cooling per Wheezewort is nothing to scoff at, though, most things that just flat-out produce heat on their own produce less than 100W, the main exception being the tepidizer, which can be countered with just two Wheezeworts. A map should always have at least 30 Wheezeworts, so that gives you a "heat budget" of 360 kW of heating.

The main source of heat outside of that are geysers. Steam geysers can essentially be stopped from producing significant heat by pumping their water in abyssalite pipes directly to source which consume it, essentially destroying the heat. Natural Gas Geysers only produce 100g/s of gas at an average of 99.55C, which let's just say you actually need to cool it all (instead of mostly destroying the heat by using it in generators) to a comfortable 25C... (99.55C - 25C)*(K/C)*(100g/s)(2.191 J/gK) = 16334 J/s < 16.4 kW. So a little more than one and a quarter Wheezeworts per geyser. Let's say you're lucky and get 10 natural gas geysers, you need 14 Wheezeworts for that. So that leaves you 16 left for countering your buildings. Aside from the tepidizer, the Space Heater produces the most (I think?), at 90W; 16 Wheezeworts will counter the heat from 2133 space heaters.

And then there's The Void; you could use something produced at a reasonable-ish temperature (like hydrogen from electrolyzers) to cool thermoregulators, then vent it into the void, destroying its heat

So... I think we have enough tools to avoid heat death.

Share this post


Link to post
Share on other sites
Kasuha    427
Posted (edited)
35 minutes ago, rezecib said:

@thejams I believe they are zero-sum.

I don't believe, I have tested it after you pointed it out. They are. All the heat they take out of the gas they process is added to their own temperature. Up to 33 kW when processing hydrogen in 1000 g packets.

35 minutes ago, rezecib said:

most things that just flat-out produce heat on their own produce less than 100W

In all cases I checked, heat production is scaled by a factor of 200. Space Heater claims it is heating at 90 W, in reality it produces 18 kW. Tepidizer claims 20 kW, produces 4 MW.

 

 

 

Edited by Kasuha
  • Like 1

Share this post


Link to post
Share on other sites
NanoD    10
40 minutes ago, Kasuha said:

In all cases I checked, heat production is scaled by a factor of 200. Space Heater claims it is heating at 90 W, in reality it produces 18 kW. Tepidizer claims 20 kW, produces 4 MW.

Dupes know how to create energy efficient heaters :p

Share this post


Link to post
Share on other sites
NanoD    10
1 hour ago, Jumpp said:

Last time I checked, a couple patches back, electrolyzers emitted gas at a fixed temperature, no matter the temperature of the water source. Similarly, Air Scrubbers and Water Purifiers emitted polluted water and water, respectively, at fixed temperatures. If that's still true, all three of these might present opportunities to smuggle heat out of the game.

Electrolyzer emits gas att about 70C 

Air scrubbers and water purifiers emits polluted water at 40C, yeah let your dupes take a steaming hot shower and you get nice and "cold" polluted water at 40C. 

But easy the best way to destroy heat is with plants, they start att 19.8C and have a mass of 400kg. And replant them and the temp reset to 19,8C.

But the best way to destroy heat is how water "cooling" works right now. I did a post a about it showing how you can cool down tons and tons of hot water with just a few kilos of water. If they fix that bug, then it will be hard.

Share this post


Link to post
Share on other sites
rezecib    3,078
2 minutes ago, Kasuha said:

In all cases I checked, heat production is scaled by a factor of 200. Space Heater claims it is heating at 90 W, in reality it produces 18 kW. Tepidizer claims 20 kW, produces 4 MW.

How were you testing? 200 seems like quite a lot, I wonder if the building thermal mass factor of 5 is rolled into that?

... peeking at the files... Nope, you're right, the tepidizer appears to be literally set to 4 MW:

		buildingDef.ExhaustKilowattsWhenActive = 4000f;

Then I thought to look at how the description gets made from that variable:

		if (def.ExhaustKilowattsWhenActive > 0f || def.OperatingKilowatts > 0f)
		{
			Descriptor item2 = default(Descriptor);
			item2.SetupDescriptor(string.Format(UI.BUILDINGEFFECTS.HEATGENERATED, GameUtil.GetFormattedWattage(5f * (def.ExhaustKilowattsWhenActive + def.OperatingKilowatts), string.Empty)), string.Format(UI.BUILDINGEFFECTS.TOOLTIPS.HEATGENERATED, GameUtil.GetFormattedWattage(5f * (def.ExhaustKilowattsWhenActive + def.OperatingKilowatts), string.Empty)), Descriptor.DescriptorType.Effect);
			list.Add(item2);
		}

That looks like it's considering the units to actually be W instead of kW, and then it's multiplying by 5 to account for buildings using 1/5 the mass. That mass reduction hack seems like it's going too far, this is really messy... mainly because although you want to take into account the mass reduction in the building's own temperature change, you don't want to take it into account for the surrounding material temperature change, because it has no such factor... I think?

This made me doubt that the units are actually kW as claimed by the variable names, so I followed the paths taken to actually do the temperature change. For exhaust, StructureTemperatureComponents reads it (via StructureTemperatureData.ExhaustKilowatts), and then actually does the production via SimMessages.ModifyEnergy. The code there is a bit strange, though (I renamed the local variables that were just num# for readability)...

if (structureTemperatureData.ExhaustKilowatts > 0f)
{
	int numCells = structureTemperatureData.building.Def.WidthInCells * structureTemperatureData.building.Def.HeightInCells;
	float kilojoulesPerCell = structureTemperatureData.ExhaustKilowatts * dt / (float)numCells;
	Extents extents = structureTemperatureData.building.GetExtents();
	for (int dy = 0; dy < extents.height; dy++)
	{
		int cellY = extents.y + dy;
		for (int dx = 0; dx < extents.width; dx++)
		{
			int cellX = extents.x + dx;
			int cell_id = cellY * Grid.WidthInCells + cellX;
			float mass = Grid.Cell[cell_id].mass;
			float adjustedMass = Mathf.Min(mass, 1.5f) / 1.5f;
			float kilojoules = kilojoulesPerCell * adjustedMass;
			SimMessages.ModifyEnergy(cell_id, kilojoules, SimMessages.EnergySourceID.StructureTemperature);
		}
	}

I guess that mass adjustment is just to prevent it from superheating small amounts of mass with exhaust. Maybe not that strange, then.

We can't track things once they go into Sim (and SimMessages.ModifyEnergy is just a simple wrapper), so I looked at the thermo regulator code (AirConditioner), because at least THAT matches with our calculations. This goes AirConditioner.UpdateState to StructureTemperatureComponents.ProduceEnergy to StructureTemperatureData.ModifyEnergy to SimMessages.ModifyBuildingEnergy, also claiming to be in kilojoules.

So unfortunately they enter into different functions of Sim, but I didn't find anything that really suggested it wasn't actually in kJ or kW, aside from the fact that it's reporting them as W...

So I guess maybe heating would be an issue, unless you use the various fixed-temperature methods of destroying heat for heat sources other than geysers. A single tepidizer running full-time would require 400 Wheezeworts to counteract...

  • Like 1

Share this post


Link to post
Share on other sites
Kasuha    427
13 minutes ago, rezecib said:

How were you testing?

I made an insulated hydrogen chamber in debug mode and ran a space heater in it for a while, then did the math. Same with the tepidizer, heated some water from batteries. The game can't be trusted with the info it provides so I'm testing many things this way. Last time I was testing what is the mass of hydroponic tiles. They appear twice in the map, once as a building, once as a tile of its material. Each of the two reports full mass, but in the end the mass is just once there.

Share this post


Link to post
Share on other sites
Sevio    28
Posted (edited)
1 hour ago, Kasuha said:

I don't believe, I have tested it after you pointed it out. They are. All the heat they take out of the gas they process is added to their own temperature. Up to 33 kW when processing hydrogen in 1000 g packets.

In all cases I checked, heat production is scaled by a factor of 200. Space Heater claims it is heating at 90 W, in reality it produces 18 kW. Tepidizer claims 20 kW, produces 4 MW.

So that explains why the tepidizer is so ridiculously fast at heating things compared to the 33 kW "real" heat output (and cooling capacity) of thermo regulators cooling 1000g hydrogen packets... And even in the tooltip it's already outputting a factor of ~21x more heat than it uses in power.

With that 200x multiplier in mind we can finally compare properly the heat production of various other machines against the cooling ability of wheezeworts and thermo regulators. For example a coal generator's 45 W would actually be 9 kW and a simple floor lamp's 2.5 W would be 500 W of heat output. Things to consider against wheezeworts...

Edited by Sevio

Share this post


Link to post
Share on other sites
Kasuha    427
Posted (edited)
1 hour ago, rezecib said:

I guess that mass adjustment is just to prevent it from superheating small amounts of mass with exhaust. Maybe not that strange, then.

Looks like the case, it avoids sending energy to vacuum and it limits heating of anything below 1.5 kg (hope it's kg and not grams) to how much 1.5 kg would be heated.

Meaning tepidizer is the most efficient in its runaway heating when it's bathing in 1.5 kg of liquid per tile. It should probably use its own adjustment to be fair, set to ~200 kg rather than 1.5.

 

Edit: or the adjustment may go the other way, clipping energy pumped into the environment by e.g. 3000 W per kg.

float kilojoules = Mathf.Min(kilojoulesPerCell, 3 * mass);

 

Edited by Kasuha

Share this post


Link to post
Share on other sites
rezecib    3,078
1 minute ago, Kasuha said:

hope it's kg and not grams

Yup, all mass in the files seems to be floating point kg.

Share this post


Link to post
Share on other sites
thejams    2

If we assume a 25°C target temperature, feeding geyser water to an electrolyzer will destroy 217KW of heat (1kg water 95°C->25°C is 292KW,  electrolyzer released gasses 70°C->25°C are 75KW).  Can be countered by 6.3 Wheezewort, but is still abusing the non-transfer of heat between resources and machines.

So to achieve a zero sum (infinite) colony, it is a must to feed the water from a geyser directly to the machines with abyssalite pipes.  I don't find the alternative method of cooling the geyser water with temperature resetting bugs acceptable and it's very likely to get fixed and get your base screwed in the process.

This also means that the current limit for an infinite colony is around 40-50 dupes - the factor being the number of Wheezeworts available in the map.

Let's hope Klei find a better (game-play) way to handle the heat...

Share this post


Link to post
Share on other sites
Kasuha    427
10 minutes ago, thejams said:

Let's hope Klei find a better (game-play) way to handle the heat...

I'm kind of hoping for a liquid cooler somewhere near the tepidizer power scale. Though it might make all wheezeworts obsolete unless added carefully.

However, duplicant thermal comfort zone goes up to ~45 C and cooling oxygen generated from 1 kg of water to 25 C takes about 44 kW, that's approximately three whezeworts' worth of power. So there are still corners that can be cut on your estimate.

Share this post


Link to post
Share on other sites
Sevio    28
Posted (edited)

If you can find a void tile, you can shed heat by using thermoregulators to dump heat into a gas you don't need (say, carbon dioxide) and sending it to the void. Or with careful tuning you could boil water using thermoregulators and send the steam directly to the void. With an additional tepidizer room, you could preheat polluted water with thermoregulators, steam it with the tepidizer and send that to the void.

Edit: Just realized the most common "waste" gas that is currently also renewable in many ways is Polluted Oxygen. So that might be the best way to shed heat long term.

Edited by Sevio

Share this post


Link to post
Share on other sites
Kasuha    427
5 minutes ago, Sevio said:

If you can find a void tile

I believe devs mentioned in one of recent streams that voids are actually a bug in the map generator and should disappear from the game eventually. So they can be used now but are not going to be part of the final equation.

Share this post


Link to post
Share on other sites
Sevio    28
Posted (edited)

Hm, that is kind of surprising they don't want to have voids in the final game. I mean you start deep inside an asteroid but at some point while digging you'll hit space, or a crack or hole in the asteroid that leads to space. Any gases that end up there would be lost forever.

Geysers are a constant input of mass (and heat) into the map, so it would make sense there is a corresponding (potential) drain on the other end that must be harnessed and used properly to avoid heat death.

Maybe the intention is that any colony eventually will end in heat death if played long enough.

Edit: A higher powered liquid cooling version of the Thermoregulator might be useful. A heatpump like the thermoregulator, but works with liquid inputs and outputs. Avoiding too big temperature spikes could be achieved with a lower temperature delta and increased mass/area.

Also, do wheezeworts have a limit on gas throughput? If you had some highly overpressurized gas that you could cycle through a wheezewort that would increase its net cooling effect by a lot.

Edited by Sevio

Share this post


Link to post
Share on other sites
thejams    2

@Sevio Wheezeworths in ideal conditions process a maximum of 1kg/s gas which they cool down a fixed 5°C

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now