/tg/ Station 13 - Modules - TypesDefine Details

code/__DEFINES/atmospherics/atmos_core.dm

MOLESAmount of total moles in said gas mixture
ARCHIVEArchived version of MOLES
GAS_METAAll gas related variables
META_GAS_SPECIFIC_HEATGas specific heat per mole
META_GAS_NAMEName of the gas
META_GAS_MOLES_VISIBLEAmount of moles required of the gas to be visible
META_GAS_OVERLAYOverlay path of the gas, also setup the alpha based on the amount
META_GAS_DANGERLet the air alarm know if the gas is dangerous
META_GAS_IDId of the gas for quick access
META_GAS_FUSION_POWERPower of the gas when used in the current iteration of fusion
R_IDEAL_GAS_EQUATIONkPaL/(Kmol)
ONE_ATMOSPHEREkPa
TCMB-270.3degC
TCRYO-48.15degC
T0C0degC
T20C20degC
COLD_ROOM_TEMP-14C - Temperature used for kitchen cold room, medical freezer, etc.
MINIMUM_HEAT_CAPACITYI 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_COUNTMinimum mole count of a gas
MOLAR_ACCURACYMolar accuracy to round to
GAS_TYPE_COUNTTypes of gases (based on gaslist_cache)
MAXIMUM_ERROR_GAS_REMOVALMaximum error caused by QUANTIZE when removing gas (roughly, in reality around 2 * MOLAR_ACCURACY less)
MOLES_GAS_VISIBLEMoles in a standard cell after which gases are visible
FACTOR_GAS_VISIBLE_MAXmoles_visible * FACTOR_GAS_VISIBLE_MAX = Moles after which gas is at maximum visibility
MOLES_GAS_VISIBLE_STEPMole step for alpha updates. This means alpha can update at 0.25, 0.5, 0.75 and so on
TOTAL_VISIBLE_STATESThe total visible states
NO_REACTIONThe gas mixture is not reacting
REACTINGThe gas mixture is reacting
STOP_REACTIONSThe gas mixture is able to stop all reactions
FUSION_RAD_MAXMax amount of radiation that can be emitted per reaction cycle
FUSION_INSTABILITY_ENDOTHERMALITYMaximum instability before the reaction goes endothermic
FUSION_MAXIMUM_TEMPERATUREMaximum reachable fusion temperature
EXCITED_GROUP_BREAKDOWN_CYCLESSome 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_CYCLESnumber of FULL air controller ticks before an excited group dismantles and removes its turfs from active
MINIMUM_AIR_RATIO_TO_SUSPENDRatio of air that must move to/from a tile to reset group processing
MINIMUM_AIR_RATIO_TO_MOVEMinimum ratio of air that must move to/from a tile
MINIMUM_AIR_TO_SUSPENDMinimum amount of air that has to move before a group processing can be suspended (Round about 10)
MINIMUM_MOLES_DELTA_TO_MOVEEither 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_MOVEor this (or both, obviously)
MINIMUM_TEMPERATURE_DELTA_TO_SUSPENDMinimum temperature difference before group processing is suspended
MINIMUM_TEMPERATURE_DELTA_TO_CONSIDERMinimum temperature difference before the gas temperatures are just set to be equal
MINIMUM_TEMPERATURE_FOR_SUPERCONDUCTIONMinimum temperature to continue superconduction once started
MINIMUM_TEMPERATURE_START_SUPERCONDUCTIONMinimum temperature to start doing superconduction calculations
WINDOW_HEAT_TRANSFER_COEFFICIENTa hack for now
HEAT_CAPACITY_VACUUMa hack to help make vacuums "cold", sacrificing realism for gameplay
FIRE_MINIMUM_TEMPERATURE_TO_SPREADMinimum temperature for fire to move to the next turf (150 °C or 433 K)
FIRE_MINIMUM_TEMPERATURE_TO_EXISTMinimum temperature for fire to exist on a turf (100 °C or 373 K)
FIRE_SPREAD_RADIOSITY_SCALEMultiplier for the temperature shared to other turfs
FIRE_GROWTH_RATEHelper for small fires to grow
PLASMA_MINIMUM_BURN_TEMPERATUREMinimum temperature to burn plasma
PLASMA_UPPER_TEMPERATUREUpper temperature ceiling for plasmafire reaction calculations for fuel consumption
PLASMA_OXYGEN_FULLBURNMultiplier for plasmafire with O2 moles * PLASMA_OXYGEN_FULLBURN for the maximum fuel consumption
HYDROGEN_MINIMUM_BURN_TEMPERATUREMinimum temperature to burn hydrogen
HYDROGEN_UPPER_TEMPERATUREUpper temperature ceiling for h2fire reaction calculations for fuel consumption
HYDROGEN_OXYGEN_FULLBURNMultiplier for h2fire with O2 moles * HYDROGEN_OXYGEN_FULLBURN for the maximum fuel consumption
COLD_FIRE_MAXIMUM_TEMPERATURE_TO_SPREADfire will spread if the temperature is -10 °C
COLD_FIRE_MAXIMUM_TEMPERATURE_TO_EXISTfire will start if the temperature is 0 °C
FREON_MAXIMUM_BURN_TEMPERATUREMaximum temperature to burn freon
FREON_LOWER_TEMPERATUREMinimum temperature allowed for the burn to go, we would have negative pressure otherwise
FREON_OXYGEN_FULLBURNMultiplier for freonfire with O2 moles * FREON_OXYGEN_FULLBURN for the maximum fuel consumption
MOLES_CELLSTANDARDmoles in a 2.5 m^3 cell at 101.325 Pa and 20 degC (103 or so)
M_CELL_WITH_RATIOcompared against for superconductivity
O2STANDARDpercentage of oxygen in a normal mixture of air
N2STANDARDsame but for nitrogen
MOLES_O2STANDARDO2 standard value (21%)
MOLES_N2STANDARDN2 standard value (79%)
CELL_VOLUMEliters in a cell
ATMOS_PASS_PROCask CanAtmosPass()
ATMOS_PASS_DENSITYjust check density
NORMAL_TURFNormal non-active turf
MAKE_ACTIVESet the turf to be activated on the next calculation
KILL_EXCITEDDisable excited group

Define Details

ARCHIVE

Archived version of MOLES

ATMOS_PASS_DENSITY

just check density

ATMOS_PASS_PROC

ask CanAtmosPass()

CELL_VOLUME

liters in a cell

COLD_FIRE_MAXIMUM_TEMPERATURE_TO_EXIST

fire will start if the temperature is 0 °C

COLD_FIRE_MAXIMUM_TEMPERATURE_TO_SPREAD

fire will spread if the temperature is -10 °C

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

FREON_LOWER_TEMPERATURE

Minimum temperature allowed for the burn to go, we would have negative pressure otherwise

FREON_MAXIMUM_BURN_TEMPERATURE

Maximum temperature to burn freon

FREON_OXYGEN_FULLBURN

Multiplier for freonfire with O2 moles * FREON_OXYGEN_FULLBURN for the maximum fuel consumption

FUSION_INSTABILITY_ENDOTHERMALITY

Maximum instability before the reaction goes endothermic

FUSION_MAXIMUM_TEMPERATURE

Maximum reachable fusion temperature

FUSION_RAD_MAX

Max amount of radiation that can be emitted per reaction cycle

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

HYDROGEN_MINIMUM_BURN_TEMPERATURE

Minimum temperature to burn hydrogen

HYDROGEN_OXYGEN_FULLBURN

Multiplier for h2fire with O2 moles * HYDROGEN_OXYGEN_FULLBURN for the maximum fuel consumption

HYDROGEN_UPPER_TEMPERATURE

Upper temperature ceiling for h2fire reaction calculations for fuel consumption

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_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

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

ONE_ATMOSPHERE

kPa

PLASMA_MINIMUM_BURN_TEMPERATURE

Minimum temperature to burn plasma

PLASMA_OXYGEN_FULLBURN

Multiplier for plasmafire with O2 moles * PLASMA_OXYGEN_FULLBURN for the maximum fuel consumption

PLASMA_UPPER_TEMPERATURE

Upper temperature ceiling for plasmafire reaction calculations for fuel consumption

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

TCRYO

-48.15degC

TOTAL_VISIBLE_STATES

The total visible states

WINDOW_HEAT_TRANSFER_COEFFICIENT

a hack for now