gas_mixture
Procs | |
add | Simpler version of merge(), adjusts gas amounts directly and doesn't account for temperature or group_multiplier. |
---|---|
adjustGas | Takes a gas string and the amount of moles to adjust by. Calls updateValues() if update isn't 0. |
adjustGasWithTemp | Same as adjustGas(), but takes a temperature which is mixed in with the gas. |
adjustMultipleGases | Variadic version of adjustGas(). Takes any number of gas and mole pairs and applies them. |
adjustMultipleGasesWithTemp | Variadic version of adjustGasWithTemp(). Takes any number of gas, mole and temperature associations and applies them. |
adjustThermalEnergy | Adds or removes thermal energy. Returns the actual thermal energy change, as in the case of removing energy we can't go below TCMB. |
checkTileGraphic | If check_vacuum is TRUE, if one of the mixtures is a vacuum, return FALSE until both are or neither are. Rechecks the gas_mixture and adjusts the graphic list if needed. ///Two lists can be passed by reference if you need know specifically which graphics were added and removed. |
compare | Checks if we are within acceptable range of another gas_mixture to suspend processing or merge. |
copy | Returns a gas_mixture datum with identical contents. |
copyFrom | Copies gas and temperature from another gas_mixture. |
divide | Divide all gas amounts by a factor. |
equalize | Used to equalize the mixture between two zones before sleeping an edge. |
getBreathPartialPressure | Takes the amount of the gas you want to PP as an argument So I don't have to do some hacky switches/defines/magic strings eg: Plas_PP = get_partial_pressure(gas_mixture.plasma) O2_PP = get_partial_pressure(gas_mixture.oxygen) getBreathPartialPressure(gas_pp) --> gas_pp/get_moles()breath_pp = pp getTrueBreathPressure(pp) --> gas_pp = pp/breath_ppget_moles() |
getByFlag | Returns the amount of gas that has the given flag, in moles.. |
getGroupGas | Returns the volume of a specific gas within the entire zone. |
getGroupMoles | Returns the volume of the entire zone's gas contents. |
getHeatCapacity | Returns the heat capacity of the gas mix based on the specific heat of the gases. |
getThermalEnergyChange | Returns the thermal energy change required to get to a new temperature |
getTileOverlay | Inlined getTileOverlay(g) End inline |
getTrueBreathPressure | inverse |
get_volume | LINDA COMPATABILITY PROCS |
hasGas | Returns TRUE if the given gas has a volume equal to or greater than the given amount in one group share of gas. |
isEqual | Compares the contents of two mixtures to see if they are identical. |
merge | Merges all the gas from another mixture into this one. Respects group_multipliers and adjusts temperature correctly. Does not modify giver in any way. |
multiply | Multiply all gas amounts by a factor. |
remove | Removes moles from the gas mixture and returns a gas_mixture containing the removed air. |
removeByFlag | Removes moles from the gas mixture, limited by a given flag. Returns a gax_mixture containing the removed air. |
removeRatio | Removes a ratio of gas from the mixture and returns a gas_mixture containing the removed air. |
removeVolume | Removes a volume of gas from the mixture and returns a gas_mixture containing the removed air with the given volume. |
returnPressure | Returns the pressure of the gas mix. Only accurate if there have been no gas modifications since updateValues() has been called. |
setGasMoles | Sets the given gas id's mole count to the specified amount. |
shareRatio | Shares gas with another gas_mixture based on the amount of connecting tiles and a fixed lookup table. |
shareSpace | A wrapper around share_ratio for spacing gas at the same rate as if it were going into a large airless room. |
specificGroupEntropy | Returns the ideal gas specific entropy of the whole mix. This is the entropy per mole of /mixed/ gas. |
subtract | Simpler version of remove(), adjusts gas amounts directly and doesn't account for group_multiplier. |
updateValues | Updates the total_moles count and trims any empty gases. DO NOT USE. USE AIR_UPDATE_VALUES(air)!!! |
Proc Details
add
Simpler version of merge(), adjusts gas amounts directly and doesn't account for temperature or group_multiplier.
adjustGas
Takes a gas string and the amount of moles to adjust by. Calls updateValues() if update isn't 0.
adjustGasWithTemp
Same as adjustGas(), but takes a temperature which is mixed in with the gas.
adjustMultipleGases
Variadic version of adjustGas(). Takes any number of gas and mole pairs and applies them.
adjustMultipleGasesWithTemp
Variadic version of adjustGasWithTemp(). Takes any number of gas, mole and temperature associations and applies them.
adjustThermalEnergy
Adds or removes thermal energy. Returns the actual thermal energy change, as in the case of removing energy we can't go below TCMB.
checkTileGraphic
If check_vacuum is TRUE, if one of the mixtures is a vacuum, return FALSE until both are or neither are. Rechecks the gas_mixture and adjusts the graphic list if needed. ///Two lists can be passed by reference if you need know specifically which graphics were added and removed.
compare
Checks if we are within acceptable range of another gas_mixture to suspend processing or merge.
copy
Returns a gas_mixture datum with identical contents.
copyFrom
Copies gas and temperature from another gas_mixture.
divide
Divide all gas amounts by a factor.
equalize
Used to equalize the mixture between two zones before sleeping an edge.
getBreathPartialPressure
Takes the amount of the gas you want to PP as an argument So I don't have to do some hacky switches/defines/magic strings eg: Plas_PP = get_partial_pressure(gas_mixture.plasma) O2_PP = get_partial_pressure(gas_mixture.oxygen) getBreathPartialPressure(gas_pp) --> gas_pp/get_moles()breath_pp = pp getTrueBreathPressure(pp) --> gas_pp = pp/breath_ppget_moles()
10/205 = 2.5 10 = 2.5/520
getByFlag
Returns the amount of gas that has the given flag, in moles..
getGroupGas
Returns the volume of a specific gas within the entire zone.
getGroupMoles
Returns the volume of the entire zone's gas contents.
getHeatCapacity
Returns the heat capacity of the gas mix based on the specific heat of the gases.
getThermalEnergyChange
Returns the thermal energy change required to get to a new temperature
getTileOverlay
Inlined getTileOverlay(g) End inline
getTrueBreathPressure
inverse
get_volume
LINDA COMPATABILITY PROCS
hasGas
Returns TRUE if the given gas has a volume equal to or greater than the given amount in one group share of gas.
isEqual
Compares the contents of two mixtures to see if they are identical.
merge
Merges all the gas from another mixture into this one. Respects group_multipliers and adjusts temperature correctly. Does not modify giver in any way.
multiply
Multiply all gas amounts by a factor.
remove
Removes moles from the gas mixture and returns a gas_mixture containing the removed air.
removeByFlag
Removes moles from the gas mixture, limited by a given flag. Returns a gax_mixture containing the removed air.
removeRatio
Removes a ratio of gas from the mixture and returns a gas_mixture containing the removed air.
removeVolume
Removes a volume of gas from the mixture and returns a gas_mixture containing the removed air with the given volume.
returnPressure
Returns the pressure of the gas mix. Only accurate if there have been no gas modifications since updateValues() has been called.
setGasMoles
Sets the given gas id's mole count to the specified amount.
shareRatio
Shares gas with another gas_mixture based on the amount of connecting tiles and a fixed lookup table.
shareSpace
A wrapper around share_ratio for spacing gas at the same rate as if it were going into a large airless room.
specificGroupEntropy
Returns the ideal gas specific entropy of the whole mix. This is the entropy per mole of /mixed/ gas.
subtract
Simpler version of remove(), adjusts gas amounts directly and doesn't account for group_multiplier.
updateValues
Updates the total_moles count and trims any empty gases. DO NOT USE. USE AIR_UPDATE_VALUES(air)!!!