code/__DEFINES/atmospherics/atmos_core.dm ![code/__DEFINES/atmospherics/atmos_core.dm0](git.png)
MOLES | Amount of total moles in said gas mixture |
---|---|
ARCHIVE | Archived version of MOLES |
GAS_META | All gas related variables |
META_GAS_SPECIFIC_HEAT | Gas specific heat per mole |
META_GAS_NAME | Name of the gas |
META_GAS_MOLES_VISIBLE | Amount of moles required of the gas to be visible |
META_GAS_OVERLAY | Overlay path of the gas, also setup the alpha based on the amount |
META_GAS_DANGER | Let the air alarm know if the gas is dangerous |
META_GAS_ID | Id of the gas for quick access |
META_GAS_FUSION_POWER | Power of the gas when used in the current iteration of fusion |
META_GAS_DESC | Short description of the gas. |
R_IDEAL_GAS_EQUATION | kPaL/(Kmol) |
ONE_ATMOSPHERE | kPa |
TCMB | -270.3degC |
T0C | 0degC |
T20C | 20degC |
COLD_ROOM_TEMP | -14C - Temperature used for kitchen cold room, medical freezer, etc. |
MINIMUM_HEAT_CAPACITY | I feel the need to document what happens here. Basically this is used catch rounding errors, and make gas go away in small portions. People have raised it to higher levels in the past, do not do this. Consider this number a soft limit If you're making gasmixtures that have unexpected behavior related to this value, you're doing something wrong. |
MINIMUM_MOLE_COUNT | Minimum mole count of a gas |
MOLAR_ACCURACY | Molar accuracy to round to |
GAS_TYPE_COUNT | Types of gases (based on gaslist_cache) |
MAXIMUM_ERROR_GAS_REMOVAL | Maximum error caused by QUANTIZE when removing gas (roughly, in reality around 2 * MOLAR_ACCURACY less) |
MOLES_GAS_VISIBLE | Moles in a standard cell after which gases are visible |
FACTOR_GAS_VISIBLE_MAX | moles_visible * FACTOR_GAS_VISIBLE_MAX = Moles after which gas is at maximum visibility |
MOLES_GAS_VISIBLE_STEP | Mole step for alpha updates. This means alpha can update at 0.25, 0.5, 0.75 and so on |
TOTAL_VISIBLE_STATES | The total visible states |
NO_REACTION | The gas mixture is not reacting |
REACTING | The gas mixture is reacting |
STOP_REACTIONS | The gas mixture is able to stop all reactions |
FUSION_INSTABILITY_ENDOTHERMALITY | Maximum instability before the reaction goes endothermic |
FUSION_MAXIMUM_TEMPERATURE | Maximum reachable fusion temperature |
EXCITED_GROUP_BREAKDOWN_CYCLES | Some further context on breakdown. Unlike dismantle, the breakdown ticker doesn't reset itself when a tile is added This is because we cannot expect maps to have small spaces, so we need to even ourselves out often We do this to avoid equalizing a large space in one tick, with some significant amount of say heat diff This way large areas don't suddenly all become cold at once, it acts more like a wave |
EXCITED_GROUP_DISMANTLE_CYCLES | number of FULL air controller ticks before an excited group dismantles and removes its turfs from active |
MINIMUM_AIR_RATIO_TO_SUSPEND | Ratio of air that must move to/from a tile to reset group processing |
MINIMUM_AIR_RATIO_TO_MOVE | Minimum ratio of air that must move to/from a tile |
MINIMUM_AIR_TO_SUSPEND | Minimum amount of air that has to move before a group processing can be suspended (Round about 10) |
MINIMUM_MOLES_DELTA_TO_MOVE | Either this must be active (round about 0.1) //Might need to raise this a tad to better support space leaks. we'll see |
MINIMUM_TEMPERATURE_TO_MOVE | or this (or both, obviously) |
MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND | Minimum temperature difference before group processing is suspended |
MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER | Minimum temperature difference before the gas temperatures are just set to be equal |
MINIMUM_TEMPERATURE_FOR_SUPERCONDUCTION | Minimum temperature to continue superconduction once started |
MINIMUM_TEMPERATURE_START_SUPERCONDUCTION | Minimum temperature to start doing superconduction calculations |
WINDOW_HEAT_TRANSFER_COEFFICIENT | a hack for now |
HEAT_CAPACITY_VACUUM | a hack to help make vacuums "cold", sacrificing realism for gameplay |
FIRE_MINIMUM_TEMPERATURE_TO_SPREAD | Minimum temperature for fire to move to the next turf (150 °C or 433 K) |
FIRE_MINIMUM_TEMPERATURE_TO_EXIST | Minimum temperature for fire to exist on a turf (100 °C or 373 K) |
FIRE_SPREAD_RADIOSITY_SCALE | Multiplier for the temperature shared to other turfs |
FIRE_GROWTH_RATE | Helper for small fires to grow |
COLD_FIRE_SPREAD_RADIOSITY_SCALE | Multiplier for the temperature shared to other turfs |
MOLES_CELLSTANDARD | moles in a 2.5 m^3 cell at 101.325 Pa and 20 degC (103 or so) |
M_CELL_WITH_RATIO | compared against for superconductivity |
O2STANDARD | percentage of oxygen in a normal mixture of air |
N2STANDARD | same but for nitrogen |
MOLES_O2STANDARD | O2 standard value (21%) |
MOLES_N2STANDARD | N2 standard value (79%) |
CELL_VOLUME | liters in a cell |
O2_ANESTHETIC | O2 value for anesthetic canister |
N2O_ANESTHETIC | N2O value for anesthetic canister |
ATMOS_PASS_PROC | ask can_atmos_pass() |
ATMOS_PASS_DENSITY | just check density |
NORMAL_TURF | Normal non-active turf |
MAKE_ACTIVE | Set the turf to be activated on the next calculation |
KILL_EXCITED | Disable excited group |
ATMOS_PRESSURE_APPROXIMATION_ITERATIONS | How many maximum iterations do we allow the Newton-Raphson approximation for gas pressure to do. |
ATMOS_PRESSURE_ERROR_TOLERANCE | We deal with big numbers and a lot of math, things are bound to get imprecise. Take this traveller. |
Define Details
ARCHIVE ![code/__DEFINES/atmospherics/atmos_core.dm 6](git.png)
Archived version of MOLES
ATMOS_PASS_DENSITY ![code/__DEFINES/atmospherics/atmos_core.dm 168](git.png)
just check density
ATMOS_PASS_PROC ![code/__DEFINES/atmospherics/atmos_core.dm 166](git.png)
ask can_atmos_pass()
ATMOS_PRESSURE_APPROXIMATION_ITERATIONS ![code/__DEFINES/atmospherics/atmos_core.dm 180](git.png)
How many maximum iterations do we allow the Newton-Raphson approximation for gas pressure to do.
ATMOS_PRESSURE_ERROR_TOLERANCE ![code/__DEFINES/atmospherics/atmos_core.dm 182](git.png)
We deal with big numbers and a lot of math, things are bound to get imprecise. Take this traveller.
CELL_VOLUME ![code/__DEFINES/atmospherics/atmos_core.dm 155](git.png)
liters in a cell
COLD_FIRE_SPREAD_RADIOSITY_SCALE ![code/__DEFINES/atmospherics/atmos_core.dm 140](git.png)
Multiplier for the temperature shared to other turfs
COLD_ROOM_TEMP ![code/__DEFINES/atmospherics/atmos_core.dm 38](git.png)
-14C - Temperature used for kitchen cold room, medical freezer, etc.
EXCITED_GROUP_BREAKDOWN_CYCLES ![code/__DEFINES/atmospherics/atmos_core.dm 97](git.png)
Some further context on breakdown. Unlike dismantle, the breakdown ticker doesn't reset itself when a tile is added This is because we cannot expect maps to have small spaces, so we need to even ourselves out often We do this to avoid equalizing a large space in one tick, with some significant amount of say heat diff This way large areas don't suddenly all become cold at once, it acts more like a wave
Because of this and the behavior of share(), the breakdown cycles value can be tweaked directly to effect how fast we want gas to move number of FULL air controller ticks before an excited group breaks down (averages gas contents across turfs)
EXCITED_GROUP_DISMANTLE_CYCLES ![code/__DEFINES/atmospherics/atmos_core.dm 99](git.png)
number of FULL air controller ticks before an excited group dismantles and removes its turfs from active
FACTOR_GAS_VISIBLE_MAX ![code/__DEFINES/atmospherics/atmos_core.dm 65](git.png)
moles_visible * FACTOR_GAS_VISIBLE_MAX = Moles after which gas is at maximum visibility
FIRE_GROWTH_RATE ![code/__DEFINES/atmospherics/atmos_core.dm 137](git.png)
Helper for small fires to grow
FIRE_MINIMUM_TEMPERATURE_TO_EXIST ![code/__DEFINES/atmospherics/atmos_core.dm 133](git.png)
Minimum temperature for fire to exist on a turf (100 °C or 373 K)
FIRE_MINIMUM_TEMPERATURE_TO_SPREAD ![code/__DEFINES/atmospherics/atmos_core.dm 131](git.png)
Minimum temperature for fire to move to the next turf (150 °C or 433 K)
FIRE_SPREAD_RADIOSITY_SCALE ![code/__DEFINES/atmospherics/atmos_core.dm 135](git.png)
Multiplier for the temperature shared to other turfs
FUSION_INSTABILITY_ENDOTHERMALITY ![code/__DEFINES/atmospherics/atmos_core.dm 82](git.png)
Maximum instability before the reaction goes endothermic
FUSION_MAXIMUM_TEMPERATURE ![code/__DEFINES/atmospherics/atmos_core.dm 84](git.png)
Maximum reachable fusion temperature
GAS_META ![code/__DEFINES/atmospherics/atmos_core.dm 8](git.png)
All gas related variables
GAS_TYPE_COUNT ![code/__DEFINES/atmospherics/atmos_core.dm 57](git.png)
Types of gases (based on gaslist_cache)
HEAT_CAPACITY_VACUUM ![code/__DEFINES/atmospherics/atmos_core.dm 127](git.png)
a hack to help make vacuums "cold", sacrificing realism for gameplay
KILL_EXCITED ![code/__DEFINES/atmospherics/atmos_core.dm 177](git.png)
Disable excited group
MAKE_ACTIVE ![code/__DEFINES/atmospherics/atmos_core.dm 175](git.png)
Set the turf to be activated on the next calculation
MAXIMUM_ERROR_GAS_REMOVAL ![code/__DEFINES/atmospherics/atmos_core.dm 59](git.png)
Maximum error caused by QUANTIZE when removing gas (roughly, in reality around 2 * MOLAR_ACCURACY less)
META_GAS_DANGER ![code/__DEFINES/atmospherics/atmos_core.dm 18](git.png)
Let the air alarm know if the gas is dangerous
META_GAS_DESC ![code/__DEFINES/atmospherics/atmos_core.dm 24](git.png)
Short description of the gas.
META_GAS_FUSION_POWER ![code/__DEFINES/atmospherics/atmos_core.dm 22](git.png)
Power of the gas when used in the current iteration of fusion
META_GAS_ID ![code/__DEFINES/atmospherics/atmos_core.dm 20](git.png)
Id of the gas for quick access
META_GAS_MOLES_VISIBLE ![code/__DEFINES/atmospherics/atmos_core.dm 14](git.png)
Amount of moles required of the gas to be visible
META_GAS_NAME ![code/__DEFINES/atmospherics/atmos_core.dm 12](git.png)
Name of the gas
META_GAS_OVERLAY ![code/__DEFINES/atmospherics/atmos_core.dm 16](git.png)
Overlay path of the gas, also setup the alpha based on the amount
META_GAS_SPECIFIC_HEAT ![code/__DEFINES/atmospherics/atmos_core.dm 10](git.png)
Gas specific heat per mole
MINIMUM_AIR_RATIO_TO_MOVE ![code/__DEFINES/atmospherics/atmos_core.dm 103](git.png)
Minimum ratio of air that must move to/from a tile
MINIMUM_AIR_RATIO_TO_SUSPEND ![code/__DEFINES/atmospherics/atmos_core.dm 101](git.png)
Ratio of air that must move to/from a tile to reset group processing
MINIMUM_AIR_TO_SUSPEND ![code/__DEFINES/atmospherics/atmos_core.dm 105](git.png)
Minimum amount of air that has to move before a group processing can be suspended (Round about 10)
MINIMUM_HEAT_CAPACITY ![code/__DEFINES/atmospherics/atmos_core.dm 51](git.png)
I feel the need to document what happens here. Basically this is used catch rounding errors, and make gas go away in small portions. People have raised it to higher levels in the past, do not do this. Consider this number a soft limit If you're making gasmixtures that have unexpected behavior related to this value, you're doing something wrong.
On an unrelated note this may cause a bug that creates negative gas, related to round(). When it has a second arg it will round up. So for instance round(0.5, 1) == 1. I've hardcoded a fix for this into share, by forcing the garbage collect. Any other attempts to fix it just killed atmos. I leave this to a greater man then I The minimum heat capacity of a gas
MINIMUM_MOLES_DELTA_TO_MOVE ![code/__DEFINES/atmospherics/atmos_core.dm 107](git.png)
Either this must be active (round about 0.1) //Might need to raise this a tad to better support space leaks. we'll see
MINIMUM_MOLE_COUNT ![code/__DEFINES/atmospherics/atmos_core.dm 53](git.png)
Minimum mole count of a gas
MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER ![code/__DEFINES/atmospherics/atmos_core.dm 113](git.png)
Minimum temperature difference before the gas temperatures are just set to be equal
MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND ![code/__DEFINES/atmospherics/atmos_core.dm 111](git.png)
Minimum temperature difference before group processing is suspended
MINIMUM_TEMPERATURE_FOR_SUPERCONDUCTION ![code/__DEFINES/atmospherics/atmos_core.dm 115](git.png)
Minimum temperature to continue superconduction once started
MINIMUM_TEMPERATURE_START_SUPERCONDUCTION ![code/__DEFINES/atmospherics/atmos_core.dm 117](git.png)
Minimum temperature to start doing superconduction calculations
MINIMUM_TEMPERATURE_TO_MOVE ![code/__DEFINES/atmospherics/atmos_core.dm 109](git.png)
or this (or both, obviously)
MOLAR_ACCURACY ![code/__DEFINES/atmospherics/atmos_core.dm 55](git.png)
Molar accuracy to round to
MOLES ![code/__DEFINES/atmospherics/atmos_core.dm 4](git.png)
Amount of total moles in said gas mixture
MOLES_CELLSTANDARD ![code/__DEFINES/atmospherics/atmos_core.dm 143](git.png)
moles in a 2.5 m^3 cell at 101.325 Pa and 20 degC (103 or so)
MOLES_GAS_VISIBLE ![code/__DEFINES/atmospherics/atmos_core.dm 62](git.png)
Moles in a standard cell after which gases are visible
MOLES_GAS_VISIBLE_STEP ![code/__DEFINES/atmospherics/atmos_core.dm 67](git.png)
Mole step for alpha updates. This means alpha can update at 0.25, 0.5, 0.75 and so on
MOLES_N2STANDARD ![code/__DEFINES/atmospherics/atmos_core.dm 153](git.png)
N2 standard value (79%)
MOLES_O2STANDARD ![code/__DEFINES/atmospherics/atmos_core.dm 151](git.png)
O2 standard value (21%)
M_CELL_WITH_RATIO ![code/__DEFINES/atmospherics/atmos_core.dm 145](git.png)
compared against for superconductivity
N2O_ANESTHETIC ![code/__DEFINES/atmospherics/atmos_core.dm 160](git.png)
N2O value for anesthetic canister
N2STANDARD ![code/__DEFINES/atmospherics/atmos_core.dm 149](git.png)
same but for nitrogen
NORMAL_TURF ![code/__DEFINES/atmospherics/atmos_core.dm 173](git.png)
Normal non-active turf
NO_REACTION ![code/__DEFINES/atmospherics/atmos_core.dm 74](git.png)
The gas mixture is not reacting
O2STANDARD ![code/__DEFINES/atmospherics/atmos_core.dm 147](git.png)
percentage of oxygen in a normal mixture of air
O2_ANESTHETIC ![code/__DEFINES/atmospherics/atmos_core.dm 158](git.png)
O2 value for anesthetic canister
ONE_ATMOSPHERE ![code/__DEFINES/atmospherics/atmos_core.dm 30](git.png)
kPa
REACTING ![code/__DEFINES/atmospherics/atmos_core.dm 76](git.png)
The gas mixture is reacting
R_IDEAL_GAS_EQUATION ![code/__DEFINES/atmospherics/atmos_core.dm 28](git.png)
kPaL/(Kmol)
STOP_REACTIONS ![code/__DEFINES/atmospherics/atmos_core.dm 78](git.png)
The gas mixture is able to stop all reactions
T0C ![code/__DEFINES/atmospherics/atmos_core.dm 34](git.png)
0degC
T20C ![code/__DEFINES/atmospherics/atmos_core.dm 36](git.png)
20degC
TCMB ![code/__DEFINES/atmospherics/atmos_core.dm 32](git.png)
-270.3degC
TOTAL_VISIBLE_STATES ![code/__DEFINES/atmospherics/atmos_core.dm 69](git.png)
The total visible states
WINDOW_HEAT_TRANSFER_COEFFICIENT ![code/__DEFINES/atmospherics/atmos_core.dm 125](git.png)
a hack for now