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

From Stationeers Community Wiki
Revision as of 02:21, 19 September 2026 by RA2lover (talk | contribs) (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)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.