RA2lover/Sandbox/Thermodynamics machinery notes
From Unofficial Stationeers Wiki
< User:RA2lover/Sandbox
Contents
- 1 Air Conditioner
- 2 Filtration
- 3 Wall Cooler
- 4 Wall Heater
- 5 Pipe Heater
- 6 Road Flare
- 7 Evaporation Chamber
- 8 Condensation Chamber
- 9 Condensation Valve / Expansion Valve
- 10 Passive Vent
- 11 Pipe Radiators
- 12 Pipe Organ
- 13 Liquid Volume Pump
- 14 Volume Pump
- 15 Turbopumps
- 16 Gas regulators
- 17 Gas Mixer
- 18 Liquid regulators
- 19 Space Suit Air Conditioner
- 20 Space Suit Filtration
- 21 Fridge (large)
- 22 Welding Torch
- 23 Furnace
- 24 Advanced Furnace
- 25 Cryo Tube
- 26 Fire Extinguisher
- 27 Active liquid outlet
- 28 Passive liquid inlet
- 29 Passive liquid drain
- 30 Counterflow Heat Exchanger
- 31 Portable Air Conditioner
- 32 Portable Generator
- 33 Gas Fuel Generator
Air Conditioner
- If the *input* network is off from the target temperature by less than 1 degree, no action is performed on a tick.
Otherwise, the air contitioner's internal logic takes place:
- 1 - Try to take contents from its input network into an internal storage (mole-equivalent of 100 liters of gas at the input network temperature and air conditioner's processing capability (guessed to be 1atm, untested), includes both liquids and gases) - 2 - Transfer 14kJ * OperationalTemperatureEfficiency * TemperatureDifferentialEfficiency of energy between the waste network and the internal network (if either input network before the step 1 pumping or the waste network pressures are below 1atm, scale down by the lowest pressure from that to 0 linearly) - 3 - Transfer contents from its internal network to its output network
TemperatureDeltaCurve losses can be avoided entirely by connecting the input network and waste network together (as opposed to the typical closed-loop configuration where input and output networks are connected together).
How much is 14kJ? Vulcan night atmosphere (400 K @ 100L, 1atm) would get you 3.046 moles at 23.182 J/mol/K, or a drop of ~201 K (which would get hampered by the OperationalTemperatureEfficiency still not being that high).
Filtration
- Consume 0.1 W/kPa input pressure(capped at 100W/1MPa) + 10W(base).
- Calculate the pressure gradient between the input and the highest of the two output networks. If either output network is at a higher pressure than the input, treat the gradient as 0.
- Process 100 bar*L to 2000 atm*L per tick linearly mapped to the pressure gradient from 0 to 600 atm.
- This represents an additional 31.6884612 bar*L/tick/MPa, or an additional 100 bar*L/tick for every 3.1557228156 MPa of pressure gradient)
- Send processed contents matching filters to output, not-matching filters to unfiltered output.
Wall Cooler
Checks if pressure on both pipe and world grid atmosphere is above armstrong limit (6.3 kPa), transfers 1kJ * TemperatureDifferentialEffficiency of energy per tick from the environment to the pipe network. Although no OperationalTemperatureEfficiency curve is present, this would only be more efficient than an air conditioner on situations where this value would be <5% (or 2.5%? TODO: clear up J/tick and W distinction for power consumers). You'll probably want an air conditioner on most scenarios.
Wall Heater
Checks if world grid atmosphere is above armstrong limit and temperature is below 2500 K, adds 1kJ/tick to world grid, ignites flammable atmospheres below autoignition temperature.
Pipe Heater
Same pressure/temperature checks as wall heater, but doesn't ignite flammable pipe contents(assuming no autoignition occurs).
Road Flare
Ignites flamambles. Adds 1kJ/tick when lit. 1.2s fuse when fired from Flare Gun. 25m illumination range when falling from flare gun, 10m range otherwise.
Evaporation Chamber
Not sure how to treat it other than as a combo liquid volume regulator, purge valve and heat exchanger.
Condensation Chamber
Combo pressure regulator, condensation valve and heat exchanger.
Condensation Valve / Expansion Valve
Moves 10 liters of liquids or half the liquids volume on the input pipe network per tick, whichever is smaller. Isn't supposed to move if the output network can't fit another 0.1L of liquids (untested).
Passive Vent
Mixes pipe gas contents with world cell gas contents, or mixes all pipe contents with all world cell contents if submerged in liquid. Not sure how to make use of this considering the amount of liquids required to submerge one.
Pipe Radiators
Convection power = 100*area*deltaT. Area is multiplied by internal and external pressure ratios compared to 1atm, so effectiveness is reduced if either is below this pressure.
Radiation power is based on a curve function on the difference between the network temperature and the background temperature (world temperature on a vacuum, lerped to atmospheric temperature based on how many moles are on it up to 20kPa @ 0°C (=70.450583221073 mols on a world cell)). Area is multiplied by internal pressure ratio compared to 1atm.
Pipe Organ
Makes sound if pressure delta between pipe network and world is above 10kPa. Equalizes pipe network gases with world cell gases at a rate of 20 kPa/tick.
Liquid Volume Pump
Move setting L/tick of liquids from input to output network, then remove gases from input network until output network pressure is equalized.
A liquid volume pump set to 0.0000001 L can be used as a one-way liquid-pipe-to-liquid-pipe gas valve with a negligible power consumption. (This behavior is different from the one-way valve, which also moves liquids)
Volume Pump
Take the moles present in setting L of the input pipe network, move them to the output in a single tick. If setting is greater than the input pipe network volume, only the input pipe network is used but power is still consumed based on the setting parameter.
Turbopumps
Same mechanics as turbo pumps but with a fixed base power consumption and a lower consumption/L pumped.
Gas regulators
(Comprises Pressure Regulator, Back Pressure Regulator, Pressurant Valve, Purge Valve)
If output network pressure is greater than input network pressure, move up to a mole-equivalent quantity of gas that would fit in pressurePerTick(=1atm?)*10L volume at the pipe network temperature.
With a 10L volume pump consuming twice the power of a gas regulator, This makes a gas regulator more efficient than a volume pump when operating on input network pipe pressures below pressurePerTick*2 (2 atm?) as more volume/W is scavenged in that circumstance.
If input pipe pressure is greater than output network pressure, check if more gas could be moved by moving a quarter of the pressure difference on the input network per tick instead, and move up to that if so. This makes a regulator more efficient than a volume pump in scenarios where the input network volume is large enough to make a reasonable pressure gradient worthwhile.
Gas Mixer
Acts as a Gas regulator, except:
- Moves either 20 bar*L/tick weighed between both input networks by ratio (as opposed to 10 atm*L/tick) or a fifth of the pressure gradient(instead of a fourth), whichever is greater.
- Uses the average input pressure (weighed by ratio) for pressure gradient calculations.
- Stops moving if either either input is empty and currently in use.
Liquid regulators
(Liquid volume regulator, Liquid Back Volume regulator)
If volume percentage on input network is greater than output network, pump liquids up to the greater of:
- A quarter of the combined network liquid volume percentage to output network per tick (if input network volume ratio > output network volume ratio). This isn't liquid level balancing - a 50.(0)1/100L against a 50/100L network will still result in a single-tick movement of ~100L/4 = 25L from input to output. There's a likely bug here. - The regulator's liquid volume pumping capacity (0.25L/tick).
If any liquids were moved, balance gas pressures on the output with a one-way gas valve from input to output. Liquids have to be moved for this, unlike the 0L liquid volume pump.
Space Suit Air Conditioner
If suit AC is off, suit has no waste tank attached or no/empty battery, do nothing.
Close waste tank valve. If waste tank is full, do nothing.
Calculate the energy required to move the suit/helmet's internal atmosphere to the target temperature.
If cooling to that temperature, transfer the excess energy to the waste tank consuming 1% of it in battery power, and marking an amount of gas to be moved to the waste tank on that tick's filtration step (1 mol / 2 kJ cooled).
If heating to that temperature, consume 50% of the energy spent heating the contents in battery power.
The maximum amount of heat a suit can add/remove per tick is proportional to its condition, but the heating/cooling efficiency remains the same.
Space Suit Filtration
If filtration is off, suit is unpowered or has no waste tank attached, do nothing.
Close waste tank valve. If waste tank is full, do nothing.
Fill waste tank to 1 kPa with air tank contents if waste tank pressure is below 1kPa.
Remove all gases in the space suit's internal volume matching the filters in its slots.
Remove additional gases from the space suit's internal volume if the amount of gas to be moved on the AC step exceeds the amount of gas moved by the filters, up to the suit's pumping rate (proportional to its condition).
Consume 10 J from battery.
Fridge (large)
Initialize an atmosphere containing 1.72 moles of nitrogen at 20°C (if world grid pressure below armstrong limit) or world grid temperature.
Heat internal atmosphere to 142 K or move internal atmosphere energy to environment down to 142 K at up to 1kJ/tick.
Add energy added/moved to that tick's power consumption.
Fridge has a convection factor to world atmosphere of 0.01 when door is opened and 0 when closed.
Welding Torch
Has a 1L internal reservoir.
If on, checks for internal reservoir contents, and if any, ejects them into world atmosphere and ignites world atmosphere flammables (even if the internal reservoir contents are cold inert gas).
Moves 0.01 moles/tick from canister contents (both gas and liquid) into the internal reservoir, and attempts to perform complete manual combustion of them.
Is operable if any combustion has occurred within the reservoir, regardless of the final temperature after combustion.
Gains a 30% additive work speed bonus (on top of its 20% additive work speed bonus relative to the arc welder?) if the internal reservoir temperature is above 3000°C after combustion.
Awards the "Fast and Furious" achievement to the wielder when welding with an internal atmosphere of >10% nitrous oxide gas (liquids not counted).
Furnace
Doesn't explode if partially deconstructed before an overpressure event.
Includes a passive pollutant filter that prioritizes moving out pollutant from its internal storage to the output before any other gases when attempting to equalize pressure.
Can be overwhelmed on excessive pressure gradients so it's likely to not work when venting with a valve->pipe cowl, but could still work with flow-limiting devices such as a Pipe Organ or Filtration unit. (rate limited by a PressurePerTick config parameter, could be the 1atm default value or overriden in a prefab elsewhere).
Starts processing ores once the furnace's internal temperature is above their flashpoint.
Advanced Furnace
Input pump removes both gases and liquids from input.
Output pump pumps only gases into the output gas pipe and only liquids into the output liquid pipe.
Doesn't include a passive pollutant filter, unlike the regular furnace.
Power consumption is 100W idle, plus another 1W/L on each pump being used. This makes them more efficient than a Turbopump at 100W+2W/L contrasted to the turbopump's 200W+6W/L in applications where flow direction reversibility and the internal buffer tank's volume/liquid retention don't matter.
Cryo Tube
Does not allow robots inside.
Has an 800L internal atmosphere, mixed with world atmosphere when open and input network atmosphere when closed.
Tries to heat the internal atmosphere to 4°C if below, converting up to 250 J/tick as electric power into heat when open. Heating persists even if door is closed? (possible bug)
If coolant is colder, Will transfer energy from the internal atmosphere to the coolant atmosphere at a rate of 1 J/K/tick until equalization or internal temperature reaches 0°C, clamped between 1 and 100 J/tick.
Can only revive/heal if the input pipe network has at least 10L of pure liquid nitrogen at 130 K (-143.15°C) or below. Heals 1 damage/tick in those conditions.
Revives players at 25% of max HP.
Fire Extinguisher
Transfers 0.25L/s and 200kPa/s out of its canister (the latter until pressure with its environment's atmosphere is equalized) when used.
If its canister's contents are >99% inert(not nitrous oxide/oxygen/volatiles) by moles and there were at least 1 mol of liquids or enough pressure on the canister to prevent equalization, supresses fires on the cell it's been used and adjacent neighbors for 10 ticks and extinguishes fires on entities on fire within said cells.
Additionally, if the temperature on the cell it's in is above 300°C after the contents transfer, removes 20kJ/tick of energy from it.
Active liquid outlet
before an atmospherics tick, dumps up to 50 mols of the liquid pipe's contents (both liquids and gases) each tick into the world cell if active.
Passive liquid inlet
If submerged, Attempts to drain liquids from the cell it's in, then from adjacent cells without an open grid below them(repeated up to 6 tiles away), up to a cumulative total of 20L/tick (stopping at 99% network fullness or more than 19.9L drained before the next grid search range expansion).
After that step, mixes pipe network and world atmospheres.
Passive liquid drain
Behaves as an always-on condensation valve, but moves liquids to a world atmosphere instead of a pipe network.
Counterflow Heat Exchanger
Before an atmospherics tick:
- Remove liquids from inputs to outputs to balance liquid percentages on both input/output networks.
- Remove gases from inputs to outputs to balance pressures on both input/output networks.
If contents moved on either of the two networks are less than 0.008 mols, send moved contents to outputs while performing no heat transfer, otherwise:
- Split removed contents into 8 packets
- Calculate heat exchange efficiency based on input network pressure/liquid volume after removal (biggest scaling factor of: 0-100% from 0-1atm pressure OR 0-100% from 0-1% liquid volume for each network; final result is the product of both networks' efficiency factors)
- Perform a total of 48 heat transfers in a sliding window.
- Exchange rate for each transfer is 15.625W*ΔT*EfficiencyRatio
- Merge the split packets back into a single packet for each network
- Send packet to each network's output
Portable Air Conditioner
Stops heating if external air temperature is above 50°C, stops cooling if external temperature is below -10°C.
Stops operating if internal pressure is above 40 atm or if any contents on the liquid canister are frozen.
Consume 25 J/tick from battery.(BUG: Only when operating in cooling mode.)
If coolant tank pressure is above 40 atm, transfer excess pressure to internal tank.
Without a canister: If in heating mode, heat by 250 J/tick using an internal heating element.
With a canister: Transfer Clamp( (100-TDelta)/100, min=0.01, max = 1) * 2500 J/tick between canister and atmosphere.
Portable Generator
Removes 1.5 atm*L/tick from input canister (=2.37480469 kPa/tick for a 64L container) into its internal chamber.
Instantly combusts 90% of the chamber's contents.
Converts 6% of the combustion's energy into power.
Moves previous tick's combusted contents into atmosphere.
Gas Fuel Generator
Shuts down if outside operating conditions for 5+ ticks in a row.
Removes 10 atm*L?/tick from the input network into its internal chamber.
Instantly combusts 90% of its contents.
Converts 17% of the combustion's energy into power.
Sets the device's convection/radiation area to (0.01 + PostCombustionPressure*0.66)*0.28.
Moves previous tick's combusted contents into output.
