Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

User:RA2lover/Sandbox/Thermodynamics machinery notes/Air Conditioner: Difference between revisions

From Stationeers Community Wiki
RA2lover (talk | contribs)
Created page with "= Efficiency Curves = ===Pressure Efficiency Curve=== Checks the worse of input and waste pressures, before the step of removing air from input. 90% efficiency at 1atm, linear..."
 
RA2lover (talk | contribs)
m change minimum 100% efficient pressure to 1.1atm instead of 1/1.1 atm, remove venus cooling example as i can't be bothered to recalculate it after gas update changes
 
Line 1: Line 1:
= Efficiency Curves =
= Efficiency Curves =
===Pressure Efficiency Curve===
===Pressure Efficiency Curve===
Checks the worse of input and waste pressures, before the step of removing air from input. 90% efficiency at 1atm, linearly scales to 0% at 0kPa. 100% efficiency is achieved when both are at or above 112.583 kPa.
Checks the worse of input and waste pressures, before the step of removing air from input.
 
Efficiency is <code>Clamp01((lowest of either pressure / 1 atm)-0.1)</code> - 0 if either is at 0.1atm or less, 1 if both are at or above 1.1atm (111.457496643 kPa).


===Temperature Differential Efficiency Curve===
===Temperature Differential Efficiency Curve===
Line 181: Line 183:
</div>
</div>
= Optimization =
= Optimization =
Because of the disparity between the amount of gas the air conditioner can take (750 kPa*100L) is much larger than the amount of gas required to achieve full input pressure efficiency (112.583 kPa * 10L), it's possible to cool less gas by a greater margin by limiting the air conditioner's input to that and replenishing it every tick. This significantly increases the temperature difference an air conditioner is capable of achieving.
Because of the massive disparity between the amount of gas the air conditioner can take (750 kPa*100L) is much larger than the amount of gas required to achieve full input pressure efficiency (111.4575 kPa * 10L), it's possible to heat less gas by a greater margin by limiting the air conditioner's input to that and replenishing it every tick. This significantly increases the temperature difference an air conditioner is capable of achieving.
 
===Example===
===Example===
Venus atmosphere can be approximated as 100% carbon dioxide at 250 kPa and 750 K. The air conditioner's efficiency can be assumed to be 30% if input temperature is the same as waste. This results in 4200 J of cooling available per tick assuming input and waste are at the same temperature.
{{GasIcon|Carbon Dioxide}} has a specific heat capacity of {{Gas/Property|Carbon Dioxide|SpecificHeat}} J/mol*K. At a room temperature of 300 K, 111.4575 kPa pressure can be achieved at 0.446842 mols, giving the packet a heat capacity of 12.601 J/K. With a heating capacity of 14 kJ/tick, the packet is heated by 1111.023 K for an output temperature of 1411 K or 1137°C. Using {{GasIcon|Methane}} instead, the heat capacity is reduced to {{Gas/Property|Methane|SpecificHeat}} J/mol*K, increasing the jump to 1535.825 K (1835 K output temperature).
Connecting a single pipe cowl (10L volume) to the input means an input quantity of 0.2938776 moles at that pressure and temperature. With a sensible heat of 28.2 J/mol*K, the 4200 J of cooling result in a temperature drop of 506.79 K, bringing it down to a respectably cold 243 K.
 
Actual venus atmosphere is cooled down to approximately -1°C in testing.


Even Lower temperatures can be achieved by restricting the input pressure further, although care must be taken to avoid freezing or even reduced cooling caused by the output gases reaching temperatures below absolute zero and being forced back to it.
when cooling packets, it's easy to achieve absolute zero temperatures. If cooling would result in a temperature below absolute zero, the gas is sent at absolute zero and whatever excess energy is lost (leading to reduced heating on the waste output). The minimum pressure target should be based off the input gas SHC instead of being fixed to 111.4575 kPa.

Latest revision as of 02:21, 19 September 2026

Efficiency Curves

Pressure Efficiency Curve

Checks the worse of input and waste pressures, before the step of removing air from input.

Efficiency is Clamp01((lowest of either pressure / 1 atm)-0.1) - 0 if either is at 0.1atm or less, 1 if both are at or above 1.1atm (111.457496643 kPa).

Temperature Differential Efficiency Curve

Evaluates against the difference between waste and input temperatures. Negative values work against the gradient. 0% against a 200°C temperature difference, 10% when the air conditioner is working against a 100°C temperature difference, 100% at a 0°C difference, and 200% working with a 2000°C assistance.

Curve Values

"TemperatureDeltaEfficiency": {
			"m_Curve": [
				{
					"time": -500,
					"value": 0,
					"inSlope": 0,
					"outSlope": 0,
					"tangentMode": 0,
					"weightedMode": 0,
					"inWeight": 0.33333334,
					"outWeight": 0.33333334
				},
				{
					"time": -200,
					"value": 0,
					"inSlope": 0,
					"outSlope": 0,
					"tangentMode": 0,
					"weightedMode": 0,
					"inWeight": 0.33333334,
					"outWeight": 0.33333334
				},
				{
					"time": -100,
					"value": 0.1,
					"inSlope": 0.002,
					"outSlope": 0.002,
					"tangentMode": 0,
					"weightedMode": 0,
					"inWeight": 0.33333334,
					"outWeight": 0.33333334
				},
				{
					"time": 0,
					"value": 1,
					"inSlope": 0.00092857145,
					"outSlope": 0.0005,
					"tangentMode": 0,
					"weightedMode": 0,
					"inWeight": 0.33333334,
					"outWeight": 0.33333334
				},
				{
					"time": 2000,
					"value": 2,
					"inSlope": 0.0005,
					"outSlope": 0.0005,
					"tangentMode": 0,
					"weightedMode": 0,
					"inWeight": 0.33333334,
					"outWeight": 0.33333334
				}
			],
			"m_PreInfinity": 2,
			"m_PostInfinity": 2,
			"m_RotationOrder": 4
		}

Operational Temperature Efficiency Curve

Evaluated on both internal temperature (pre-heatpumping) and waste network temperature. Worst value of the two is picked.
0% at 100K, 100% between 223-373 K, 50% at 600 K, 30% at 800 K, 5% at 1000 K, 0% at 1200 K.

Curve Values

"InputAndWasteEfficiency": {
			"m_Curve": [
				{
					"time": -1,
					"value": 0,
					"inSlope": 0,
					"outSlope": 0,
					"tangentMode": 0,
					"weightedMode": 0,
					"inWeight": 0.33333334,
					"outWeight": 0.33333334
				},
				{
					"time": 0,
					"value": 0,
					"inSlope": 0,
					"outSlope": 0,
					"tangentMode": 0,
					"weightedMode": 0,
					"inWeight": 0.33333334,
					"outWeight": 0.33333334
				},
				{
					"time": 100,
					"value": 0,
					"inSlope": 0,
					"outSlope": 0,
					"tangentMode": 0,
					"weightedMode": 0,
					"inWeight": 0.33333334,
					"outWeight": 0.33333334
				},
				{
					"time": 223,
					"value": 1,
					"inSlope": 0,
					"outSlope": 0,
					"tangentMode": 0,
					"weightedMode": 0,
					"inWeight": 0.33333334,
					"outWeight": 0.33333334
				},
				{
					"time": 373,
					"value": 1,
					"inSlope": 0,
					"outSlope": 0,
					"tangentMode": 0,
					"weightedMode": 0,
					"inWeight": 0.33333334,
					"outWeight": 0.33333334
				},
				{
					"time": 600,
					"value": 0.5,
					"inSlope": -0.0016393443,
					"outSlope": -0.0016393443,
					"tangentMode": 0,
					"weightedMode": 0,
					"inWeight": 0.33333334,
					"outWeight": 0.33333334
				},
				{
					"time": 800,
					"value": 0.3,
					"inSlope": -0.001125,
					"outSlope": -0.001125,
					"tangentMode": 0,
					"weightedMode": 0,
					"inWeight": 0.33333334,
					"outWeight": 0.33333334
				},
				{
					"time": 1000,
					"value": 0.05,
					"inSlope": -0.0005000001,
					"outSlope": -0.0005000001,
					"tangentMode": 0,
					"weightedMode": 0,
					"inWeight": 0.33333334,
					"outWeight": 0.33333334
				},
				{
					"time": 1200,
					"value": 0,
					"inSlope": 0,
					"outSlope": 0,
					"tangentMode": 0,
					"weightedMode": 0,
					"inWeight": 0.33333334,
					"outWeight": 0.33333334
				}
			],
			"m_PreInfinity": 2,
			"m_PostInfinity": 0,
			"m_RotationOrder": 4
		}

Optimization

Because of the massive disparity between the amount of gas the air conditioner can take (750 kPa*100L) is much larger than the amount of gas required to achieve full input pressure efficiency (111.4575 kPa * 10L), it's possible to heat less gas by a greater margin by limiting the air conditioner's input to that and replenishing it every tick. This significantly increases the temperature difference an air conditioner is capable of achieving.

Example

has a specific heat capacity of 28.2 J/mol*K. At a room temperature of 300 K, 111.4575 kPa pressure can be achieved at 0.446842 mols, giving the packet a heat capacity of 12.601 J/K. With a heating capacity of 14 kJ/tick, the packet is heated by 1111.023 K for an output temperature of 1411 K or 1137°C. Using instead, the heat capacity is reduced to 20.4 J/mol*K, increasing the jump to 1535.825 K (1835 K output temperature).

when cooling packets, it's easy to achieve absolute zero temperatures. If cooling would result in a temperature below absolute zero, the gas is sent at absolute zero and whatever excess energy is lost (leading to reduced heating on the waste output). The minimum pressure target should be based off the input gas SHC instead of being fixed to 111.4575 kPa.