code/__DEFINES/atmospherics/atmos_core.dm
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
Archived version of MOLES
ATMOS_PASS_DENSITY
just check density
ATMOS_PASS_PROC
ask can_atmos_pass()
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.
CELL_VOLUME
liters in a cell
COLD_FIRE_SPREAD_RADIOSITY_SCALE
Multiplier for the temperature shared to other turfs
COLD_ROOM_TEMP
-14C - Temperature used for kitchen cold room, medical freezer, etc.
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
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
number of FULL air controller ticks before an excited group dismantles and removes its turfs from active
FACTOR_GAS_VISIBLE_MAX
moles_visible * FACTOR_GAS_VISIBLE_MAX = Moles after which gas is at maximum visibility
FIRE_GROWTH_RATE
Helper for small fires to grow
FIRE_MINIMUM_TEMPERATURE_TO_EXIST
Minimum temperature for fire to exist on a turf (100 °C or 373 K)
FIRE_MINIMUM_TEMPERATURE_TO_SPREAD
Minimum temperature for fire to move to the next turf (150 °C or 433 K)
FIRE_SPREAD_RADIOSITY_SCALE
Multiplier for the temperature shared to other turfs
FUSION_INSTABILITY_ENDOTHERMALITY
Maximum instability before the reaction goes endothermic
FUSION_MAXIMUM_TEMPERATURE
Maximum reachable fusion temperature
GAS_META
All gas related variables
GAS_TYPE_COUNT
Types of gases (based on gaslist_cache)
HEAT_CAPACITY_VACUUM
a hack to help make vacuums "cold", sacrificing realism for gameplay
KILL_EXCITED
Disable excited group
MAKE_ACTIVE
Set the turf to be activated on the next calculation
MAXIMUM_ERROR_GAS_REMOVAL
Maximum error caused by QUANTIZE when removing gas (roughly, in reality around 2 * MOLAR_ACCURACY less)
META_GAS_DANGER
Let the air alarm know if the gas is dangerous
META_GAS_DESC
Short description of the gas.
META_GAS_FUSION_POWER
Power of the gas when used in the current iteration of fusion
META_GAS_ID
Id of the gas for quick access
META_GAS_MOLES_VISIBLE
Amount of moles required of the gas to be visible
META_GAS_NAME
Name of the gas
META_GAS_OVERLAY
Overlay path of the gas, also setup the alpha based on the amount
META_GAS_SPECIFIC_HEAT
Gas specific heat per mole
MINIMUM_AIR_RATIO_TO_MOVE
Minimum ratio of air that must move to/from a tile
MINIMUM_AIR_RATIO_TO_SUSPEND
Ratio of air that must move to/from a tile to reset group processing
MINIMUM_AIR_TO_SUSPEND
Minimum amount of air that has to move before a group processing can be suspended (Round about 10)
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.
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
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
Minimum mole count of a gas
MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER
Minimum temperature difference before the gas temperatures are just set to be equal
MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND
Minimum temperature difference before group processing is suspended
MINIMUM_TEMPERATURE_FOR_SUPERCONDUCTION
Minimum temperature to continue superconduction once started
MINIMUM_TEMPERATURE_START_SUPERCONDUCTION
Minimum temperature to start doing superconduction calculations
MINIMUM_TEMPERATURE_TO_MOVE
or this (or both, obviously)
MOLAR_ACCURACY
Molar accuracy to round to
MOLES
Amount of total moles in said gas mixture
MOLES_CELLSTANDARD
moles in a 2.5 m^3 cell at 101.325 Pa and 20 degC (103 or so)
MOLES_GAS_VISIBLE
Moles in a standard cell after which gases are visible
MOLES_GAS_VISIBLE_STEP
Mole step for alpha updates. This means alpha can update at 0.25, 0.5, 0.75 and so on
MOLES_N2STANDARD
N2 standard value (79%)
MOLES_O2STANDARD
O2 standard value (21%)
M_CELL_WITH_RATIO
compared against for superconductivity
N2O_ANESTHETIC
N2O value for anesthetic canister
N2STANDARD
same but for nitrogen
NORMAL_TURF
Normal non-active turf
NO_REACTION
The gas mixture is not reacting
O2STANDARD
percentage of oxygen in a normal mixture of air
O2_ANESTHETIC
O2 value for anesthetic canister
ONE_ATMOSPHERE
kPa
REACTING
The gas mixture is reacting
R_IDEAL_GAS_EQUATION
kPaL/(Kmol)
STOP_REACTIONS
The gas mixture is able to stop all reactions
T0C
0degC
T20C
20degC
TCMB
-270.3degC
TOTAL_VISIBLE_STATES
The total visible states
WINDOW_HEAT_TRANSFER_COEFFICIENT
a hack for now