Actions

Editing Furnace temperature and pressure math

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
=== Introduction ===
+
''The data used was collected in version 0.2.2800.''
This page is about predicting combustion temperatures and pressures inside furnaces. It's not about engineering or design.
 
  
The furnace is one of the most important objects in the entire game, but it can also be complicated and hard to use, especially when making alloys and super-alloys. There is no real need to know anything written on this page, because it's possible to engineer solutions that doesn't require placing fuel inside a furnace. Hot gas can also be made elsewhere (with an Air Conditioner or by combusting fuel in a pipe) and stored in insulated tanks, and just be pumped directly into a furnace as needed.
+
=== Furnace behaviour ===
 +
*Only the gas inside the furnace have temperature, the furnace itself do not, nor does it take any energy from the gas.
 +
*For a combustion to occur, there must be at least 5% each of both O2 and H2
 +
*For a combustion to occur, there must be a minimum pressure of 10 kPa ''(0.2.2733.13309 changelog)''
 +
*A combustion will consume 95% of the limiting ingredient, O2 or H2 (if there is 10 mol H2, and excess O2, 0.5 mol H2 will remain afterwards)
 +
*Combustion reaction formula: 1 O2 + 2 H2 -> 6 CO2 + 3 X + 593 120.4978 J ''(this energy value is only an approximation, it also has the ignition spark energy included in it, see discussions for details)''
 +
*Each press of ignite adds 5 J of energy to the furnace (only the advanced one was tested) ''(see discusions)''
 +
*No side reactions have been observed so far
 +
 
 +
Regular furnace
 +
*The inlet pipe will only allow gas to enter the furnace, and it will only do so if the pressure in the pipe is higher than the pressure inside the furnace. This behaviour is similar to that of the pressure regulator.
 +
*The outlet pipe acts like an extension of the furnace, increasing it's volume by 100L per pipe section, and it can be used as an alternative inlet point if so desired (but it acts a little bit quirky, the pipe and the furnace will have different %gas proportions when doing so, because the gas will only move when there is a pressure difference between the two). A larger furnace volume basically only means it will require a bit more gas, +10% more mol for each unsealed pipe section attached to it, everything else will be the same. The number of junctions on a pipe doesn't matter, the volume is always 100L.
 +
*Removing pipes connected to the outlet side should be avoided when the furnace is filled with fuel, doing so can cause some of the gas to vanish permanently.
 +
 
 +
Advanced furnace
 +
*The inlet pipe is the only place where gas can enter the furnace (not counting the ore slot). It has a built in volume pump.
 +
*The outlet pipe is the only place where gas can exit the furnace. It has a built in volume pump.
 +
*Unlike the regular furnace, the advanced one always have a volume of 1000 L, regardless of how many pipes are attached to it. This saves a little bit of fuel.
 +
 
 +
 
 +
=== Using perfect 2:1 fuel ===
 +
 
 +
'''Temperature peak'''
 +
 
 +
*T(after) = ( T(before)*61.9 + 563464.4729 ) / 234.515
 +
**T(after) is the temperature in Kelvin after ignition
 +
**T(before) is the temperature in Kelvin before ignition
 +
**The 563464.4729 value is the released energy per mol at 95% combustion efficiency, the full energy isn't released
 +
**61.9 is the heat capacity for 1 mol O2 and 2 mol H2, the sum of their specific heat values, the mol amounts comes from the reaction formula
 +
**234.515 is the heat capacity for the gas obtained when 1 mol O2 and 2 mol H2 combusts with 95% efficiency (243.6 * 0.95 + 61.9 * 0.05)
 +
*The number of mol combusted doesn't actually matter for the temperature, it will always reach the same value. More fuel will however release more total energy which means it takes longer for the furnace to cool down.
 +
*The equation can be arrived at by using the released energy per mol and the specific heat per mol of the mixture before and after combustion, also account for the 95% combustion efficiency.
 +
 
 +
'''Pressure peak'''
 +
 
 +
*P(after) = 2.9 * P(before) * T(after) / T(before)
 +
**P(after) is the pressure in Pa after ignition
 +
**P(before) is the pressure in Pa before ignition
 +
**T(after) is the temperature in Kelvin after ignition
 +
**T(before) is the temperature in Kelvin before ignition
 +
**2.9 is the multiple of the number of mol inside the furnace after combustion with 95% efficiency based on the reaction formula
 +
*The equation can be made from two sets of PV=nRT (one before and one after combustion), linking them via n (combustion makes 3 mols of gas turn into 9 mols), and adjust for the 95% combustion efficiency.
 +
 
 +
 
 +
=== Using diluted fuel ===
 +
 
 +
Unreactive gases can be added before the ignition to increase pressure and decrease temperature. An excess of either O2 or H2 also counts as unreactive. These equations can be used to predict the Temperature and Pressure inside the furnace after ignition. It's also possible to use this in reverse, and calculate what mixture of fuel and dilutant is needed to reach a desired Temperature and Pressure upon ignition, more about that below.
 +
 
 +
'''Temperature peak'''
 +
 
 +
*T(after) = ( T(before) * sum(specific heat * ratio(gas)(before)) + min(ratio(O2), ratio(H2)*0.5) * 563464.4729 ) / ( sum(specific heat * ratio(gas)(before)) + min(ratio(O2), ratio(H2)*0.5) * 172.615)
 +
**T(after) is the temperature in Kelvin after ignition
 +
**T(before) is the temperature in Kelvin before ignition
 +
**sum(x*y) is the sum of all x*y products, used to calculate the total sum of each gas specific heat multiplied with its ratio
 +
**specific heat is the value given for each gas, it refers to how much energy that is needed to increase the temperature by 1K per mol
 +
**ratio(gas)(before) is the molecular ratio, given by the tablet as % values for each gas in the mix, before ignition
 +
**min(x,y) returns the smallest value of x and y
 +
**563464.4729 comes from the energy released when 1 mol O2 and 2 mol H2 combusts with 95% efficiency
 +
**172.615 comes from 0.95*(243.6-61.9), this is the change in heat capacity (specific heat*number of mol) of the gas when 1 mol O2 and 2 mol H2 combusts with 95% efficiency into its new compounds
 +
**The equation comes from calculating the Thermal Energy (temperature*specific heat per mol) before combustion, add the released energy calculated from the ratio of O2, then divide with the ''specific heat per mol'' of the gas obtained after combustion, which is known thanks to the reaction formula, all of this becomes the temperature on ignition
 +
 
 +
same thing but easier to read
 +
*T(after) = ( T(before) * specificHeat(before) + fuel * 563464.4729 ) / ( specificHeat(before) + fuel * 172.615)
 +
**specificHeat(before) = RatioOxygen*21.1 + RatioVolatile*20.4 + RatioCarbonDioxide*28.2 + RatioPollutant*24.8 + RatioNitrogen*20.6 + RatioNitrousOxide*23
 +
**fuel = min(RatioOxygen,RatioVolatile/2)
 +
**Notice that water isn't included. That's because this haven't been verified, but water is probably treated as a gas by the game so a good guess is that it can be included simply by adding RatioWater*72 to the specificHeat sum.
 +
 
 +
'''Pressure peak'''
 +
 
 +
*P(after) = P(before) * T(after) * ( 1 + 5.7*min(ratio(O2), ratio(H2)*0.5) ) / T(before)
 +
**this expression comes from two sets of PV=nRT, one after and one before combustion. The reaction formula say that for each mol consumed O2 we gain 6 mol gas (9-3), this creates a link between the equations, n(after) = n(before)*(1+min(ratio(O2), ratio(H2)*0.5)*6), then include the 0.95 efficiency as well
  
There are two MIPS scripts here (click the links to expand/collapse the code), that can do the math described on this page inside the game. The first script is used to predict what temperature and pressure a furnace will reach when the current gas content is ignited. The second script is used to predict how much perfect fuel (33.33% oxygen and 66.67% volatiles) and how much other gas (not fuel) that needs to be added in order to reach a desired temperature and pressure on ignition. There are two alloys that are tricky however: Waspaloy and Solder. That is because the gas mixes to make these two tends to be too dilute to ignite (below 5% oxygen), but there are ways around that, the furnace could for example be ignited after adding only half the dilutant and then the remainder is added afterwards).
 
  
<div class="mw-collapsible mw-collapsed" data-expandtext="{{int:EXPAND - a MIPS script that predicts the ignition temperature and pressure of a furnace based on the gases inside of it}}" data-collapsetext="{{int:COLLAPSE - a MIPS script that predicts the ignition temperature and pressure of a furnace based on the gases inside of it}}">
+
<div class="mw-collapsible mw-collapsed" data-expandtext="{{int:EXPAND - MIPS script that predicts furnace Temperature and Pressure when igniting its current gas mix}}" data-collapsetext="{{int:COLLAPSE - MIPS script that predicts furnace Temperature and Pressure when igniting its current gas mix}}">
 
<pre>
 
<pre>
#prediction of the ignition temperature and pressure of a furnace
+
#prediction of furnace temperature and pressure after igniting its current gas mix
#if combustion can't occur, display current temperature and pressure
+
#if ignition can't occur, display current furnace temperature and pressure instead
  
alias furnace d0       #advanced or regular
+
alias furnace d0
alias consoleTemp d1    #console, small LED
+
alias consoleTemp d1    #small LED display
alias consolePres d2    #console, small LED
+
alias consolePres d2    #small LED display
  
 
alias ratioOx r5
 
alias ratioOx r5
Line 21: Line 89:
 
alias temp r14
 
alias temp r14
 
alias pres r15
 
alias pres r15
 
define energyReleased 563452
 
define specificHeatInc 172.615
 
define gasMolInc 5.7
 
  
 
main:
 
main:
Line 36: Line 100:
 
l r10 furnace RatioNitrousOxide
 
l r10 furnace RatioNitrousOxide
 
l r11 furnace RatioWater
 
l r11 furnace RatioWater
mul r0 r5 21.1
+
move r0 0
 +
mul r1 r5 21.1
 +
add r0 r0 r1
 
mul r1 r6 20.4
 
mul r1 r6 20.4
 
add r0 r0 r1
 
add r0 r0 r1
Line 53: Line 119:
 
min fuel ratioOx ratioVol
 
min fuel ratioOx ratioVol
 
#calculate Temp after ignition
 
#calculate Temp after ignition
mul r0 fuel specificHeatInc
+
mul r0 fuel 172.615
 
add r0 r0 specificHeat
 
add r0 r0 specificHeat
mul r1 fuel energyReleased
+
mul r1 fuel 563464.4729
 
l r2 furnace Temperature
 
l r2 furnace Temperature
 
mul r2 r2 specificHeat
 
mul r2 r2 specificHeat
Line 63: Line 129:
 
l r0 furnace Temperature
 
l r0 furnace Temperature
 
l r1 furnace Pressure
 
l r1 furnace Pressure
mul r2 fuel gasMolInc
+
mul r2 fuel 5.7
 
add r2 r2 1
 
add r2 r2 1
 
mul r2 r2 temp
 
mul r2 r2 temp
Line 72: Line 138:
 
blt ratioOx 0.05 noCombustion
 
blt ratioOx 0.05 noCombustion
 
blt ratioVol 0.05 noCombustion
 
blt ratioVol 0.05 noCombustion
s consoleTemp Color 6
 
s consolePres Color 1
 
 
j displayResults
 
j displayResults
 
noCombustion:
 
noCombustion:
s consoleTemp Color 3
 
s consolePres Color 2
 
 
move temp r0
 
move temp r0
 
move pres r1
 
move pres r1
Line 88: Line 150:
 
</pre>
 
</pre>
 
</div>
 
</div>
<br>
 
 
<div class="mw-collapsible mw-collapsed" data-expandtext="{{int:EXPAND - a MIPS script that calculates how to mix fuel and diluting gas inside a furnace to reach a desired temperature and pressure}}" data-collapsetext="{{int:COLLAPSE - a MIPS script that calculates how to mix fuel and diluting gas inside a furnace to reach a desired temperature and pressure}}">
 
<pre>
 
#A script for calculating how to dilute fuel..
 
#..inside a furnace to reach a desired temperature..
 
#..and pressure on ignition
 
 
# This script requires perfect fuel (O2 + 2 H2)
 
# The diluting gas can be anything, even a mix
 
# Temperature of fuel and dilutant can be different
 
# BLUE color = dilutant must provide missing oxygen
 
# ORANGE color = gas will ignite
 
 
#Inputs are desired temperature (K) and pressure (kPa)
 
#Outputs are the pressure of fuel (kPa) and the..
 
#..total pressure (kPa) after adding the dilutant
 
 
alias inputTemp d0          #logic memory
 
alias inputPres d1          #logic memory
 
alias outputFuel d2        #console, small LED
 
alias outputTotal d3        #console, small LED
 
alias fuelAnalyzer d4      #pipe analyzer
 
alias dilutantAnalyzer d5  #pipe analyzer
 
 
alias oldTmix r10
 
alias Tmix r11
 
alias fuelSpecificHeat r12
 
alias dilutantSpecificHeat r13
 
alias ratioFuel r14
 
alias pressureTotal r15
 
s outputTotal Color 1
 
 
main:
 
yield
 
s outputFuel Color 3
 
#calculate specific heat values
 
div r0 61.9 3
 
move fuelSpecificHeat r0
 
jal specficHeatCalculation
 
#calculate how to reach input values
 
l r5 fuelAnalyzer Temperature
 
l r6 inputTemp Setting
 
l r7 dilutantAnalyzer Temperature
 
move oldTmix r5
 
move r9 5
 
iterate:
 
jal fuelRatioCalculation
 
jal temperatureMixCalculation
 
sub r9 r9 1
 
move oldTmix Tmix
 
blt r9 1 iterate
 
#calculate total fuel+dilutant pressure
 
l r8 inputPres Setting
 
mul r1 ratioFuel 1.9
 
add r1 r1 1
 
mul r1 r1 r6
 
mul r0 r8 Tmix
 
div pressureTotal r0 r1
 
#calculate fuel pressure
 
mul r0 r5 pressureTotal
 
mul r0 ratioFuel r0
 
div r0 r0 Tmix
 
#calculate dilutant pressure (not used)
 
#sub r1 1 ratioFuel
 
#mul r1 r1 pressureTotal
 
#mul r1 r1 r7
 
#div r1 r1 Tmix
 
#check for too high input temperature
 
blt pressureTotal r0 noCombustion
 
#display result
 
bltal ratioFuel 0.15 dilutantMustHaveOxygen
 
bltal ratioFuel 0.10 noCombustion
 
s outputFuel Setting r0
 
s outputTotal Setting pressureTotal
 
j main
 
noCombustion:
 
s outputFuel Setting -1
 
s outputTotal Setting -1
 
j main
 
dilutantMustHaveOxygen:
 
s outputFuel Color 0
 
j ra
 
 
fuelRatioCalculation:
 
div r0 563452 3
 
sub r4 fuelSpecificHeat dilutantSpecificHeat
 
mul r1 Tmix r4
 
add r0 r0 r1
 
mul r1 r6 r4
 
sub r0 r0 r1
 
div r1 172.615 3
 
mul r1 r6 r1
 
sub r0 r0 r1
 
sub r1 r6 Tmix
 
mul r1 r1 dilutantSpecificHeat
 
div ratioFuel r1 r0
 
j ra
 
temperatureMixCalculation:
 
sub r4 1 ratioFuel
 
mul r0 dilutantSpecificHeat r4
 
mul r1 ratioFuel fuelSpecificHeat
 
add r3 r0 r1
 
mul r0 r7 r4
 
mul r0 r0 dilutantSpecificHeat
 
mul r1 r5 ratioFuel
 
mul r1 r1 fuelSpecificHeat
 
add r0 r0 r1
 
div Tmix r0 r3
 
j ra
 
specficHeatCalculation:
 
l r5 d5 RatioOxygen
 
l r6 d5 RatioVolatiles
 
l r7 d5 RatioCarbonDioxide
 
l r8 d5 RatioPollutant
 
l r9 d5 RatioNitrogen
 
l r10 d5 RatioNitrousOxide
 
bne r5 r5 noCombustion #protection against null
 
mul r0 r5 21.1
 
mul r1 r6 20.4
 
add r0 r0 r1
 
mul r1 r7 28.2
 
add r0 r0 r1
 
mul r1 r8 24.8
 
add r0 r0 r1
 
mul r1 r9 20.6
 
add r0 r0 r1
 
mul r1 r10 23
 
add dilutantSpecificHeat r0 r1
 
j ra
 
 
### End Script ###
 
 
</pre>
 
</div>
 
 
=== Furnace behaviour ===
 
*Only the gas inside the furnace have a temperature (the furnace itself has no temperature, nor will it take heat away from the gas inside)
 
*No side reactions have been observed (fuel can be mixed with any other gas with predictable results)
 
*For a combustion to occur, the gas must have at least 5% each of both O2 and H2
 
*For a combustion to occur, there must be a minimum pressure of 10 kPa ''(0.2.2733.13309 changelog)''
 
*A combustion will consume 95% of the limiting ingredient, O2 or H2 (if there is 10 mol H2, and excess O2, 0.5 mol H2 will remain afterwards)
 
*Combustion reaction formula: 1 O2 + 2 H2 -> 6 CO2 + 3 X + 593 107.3684 J ''(this energy value is an approximation, see discussions for details)''
 
*Each press of ignite adds 5 J of energy to the furnace (only the advanced furnace was tested) ''(see discussions)''
 
*A furnace, as any other device with internal atmosphere, except insulated ones, constantly radiates temperature into void, even when built in a sealed room with vacuum or inside a fully welded frame. This should simulate entropy and radiative heat exchange with space, but does not account if device is placed in a room. And also this does not increase temperature when it's lower than global atmosphere's temperature.
 
*Ores placed in a furnace will release gases, this reduces the temperature and increases the mols of gas.
 
*Ingots placed in a furnace will reduce the temperature (~half compared to the ore, only copper tested) without releasing gas.
 
*Inserted ores/ingots are processed at a speed of 10 per second, so 5 seconds per stack of 50.
 
 
Regular furnace
 
*The inlet pipe will only allow gas to enter the furnace, and it will only do so if the pressure in the pipe is higher than the pressure inside the furnace. This behaviour is similar to that of the pressure regulator.
 
*The outlet pipe acts like an extension of the furnace, increasing it's volume by 100L per pipe section, and it can be used as an alternative inlet point if so desired (but it acts a little bit quirky, the pipe and the furnace will have different %gas proportions when doing so, because the gas will only move when there is a pressure difference between the two). A larger furnace volume basically only means it will require a bit more gas, +10% more mol for each unsealed pipe section attached to it, everything else will be the same. The number of junctions on a pipe doesn't matter, the volume is always 100L.
 
*Removing pipes connected to the outlet side should be avoided when the furnace is filled with fuel, doing so can cause some of the gas to vanish permanently.
 
 
Advanced furnace
 
*The inlet pipe is the only place where gas can enter the furnace (not counting the ore slot). It has a built in volume pump.
 
*The outlet pipe is the only place where gas can exit the furnace. It has a built in volume pump.
 
*Unlike the regular furnace, the advanced one always have a volume of 1000 L, regardless of how many pipes are attached to it. This saves a little bit of fuel.
 
 
=== Known errors of the math formulas ===
 
 
The formulas were created by hand, no data mining or peeking into the game code.
 
<br>The calculation for temperature and pressure of a gas mix have a tiny unexplained error that can appear in the 6th digit and it's most noticeable at very low fuel pressures.
 
<br>The reverse calculation (to know how much fuel and diluting gas to add to reach a desired temperature and pressure) requires iteration in order to calculate the temperature obtained after mixing the fuel and the dilutant, but the impact of the starting temperature is still pretty small to begin with, and after a few iterations this error will become negligible.
 
 
 
=== Using perfect O2 + 2 H2 fuel ===
 
The amount of fuel that combusts has no impact on the final temperature. Only the purity of the fuel (more on dirty fuel in the next section) and the temperature of the fuel matters, but the latter can be ignored for practical purposes (only around 3% difference in combustion temperature between fuel that is 1K and fuel that has room temperature). More fuel will always release more total energy, which means it takes increasingly longer for the furnace to cool down.
 
 
'''Temperature peak'''
 
 
*T(after) = ( T(before)*61.9 + 563452 ) / 234.515
 
**T(after) is the temperature in Kelvin after ignition
 
**T(before) is the temperature in Kelvin before ignition
 
**The 563452 value is the released energy per mol at 95% combustion efficiency, the full energy isn't released
 
**61.9 is the heat capacity for 1 mol O2 and 2 mol H2, the sum of their specific heat values, the mol amounts comes from the reaction formula
 
**234.515 is the heat capacity for the gas obtained when 1 mol O2 and 2 mol H2 combusts with 95% efficiency (243.6 * 0.95 + 61.9 * 0.05)
 
*The equation can be arrived at by using the released energy per mol and the specific heat per mol of the mixture before and after combustion, also account for the 95% combustion efficiency.
 
 
'''Pressure peak'''
 
 
*P(after) = 2.9 * P(before) * T(after) / T(before)
 
**P(after) is the pressure in Pa after ignition
 
**P(before) is the pressure in Pa before ignition
 
**T(after) is the temperature in Kelvin after ignition
 
**T(before) is the temperature in Kelvin before ignition
 
**2.9 is the multiple of the number of mol inside the furnace after combustion with 95% efficiency based on the reaction formula
 
*The equation can be made from two sets of PV=nRT (one before and one after combustion), linking them via n (combustion makes 3 mols of gas turn into 9 mols), and adjust for the 95% combustion efficiency.
 
 
 
=== Using diluted fuel ===
 
[[File:Advanced-furnace-gas-mixing.png|thumb|gas mixing for 2H2+O2+dilutant]]
 
Dirty fuel combusts at a lower temperature, the non-combustible gases also helps to increase the pressure. This can be very useful. Adding unreactive gases to a furnace on purpose means that the combustion temperature will be lower and the pressure higher, which helps when making certain alloys. An excess of either oxygen or volatiles will also count as unreactive since they don't take part in the combustion.
 
 
'''Temperature peak'''
 
 
*T(after) = ( T(before) * sum(specific heat * ratio(gas)(before)) + min(ratio(O2), ratio(H2)*0.5) * 563452 ) / ( sum(specific heat * ratio(gas)(before)) + min(ratio(O2), ratio(H2)*0.5) * 172.615)
 
**T(after) is the temperature in Kelvin after ignition
 
**T(before) is the temperature in Kelvin before ignition
 
**sum(x*y) is the sum of all x*y products, used to calculate the total sum of each gas specific heat multiplied with its ratio
 
**specific heat is the value given for each gas, it refers to how much energy that is needed to increase the temperature by 1K per mol
 
**ratio(gas)(before) is the molecular ratio, given by the tablet as % values for each gas in the mix, before ignition
 
**min(x,y) returns the smallest value of x and y
 
**563452 comes from the energy released when 1 mol O2 and 2 mol H2 combusts with 95% efficiency
 
**172.615 comes from 0.95*(243.6-61.9), this is the change in heat capacity (specific heat*number of mol) of the gas when 1 mol O2 and 2 mol H2 combusts with 95% efficiency into its new compounds
 
**The equation comes from calculating the Thermal Energy (temperature*specific heat per mol) before combustion, add the released energy calculated from the ratio of O2, then divide with the ''specific heat per mol'' of the gas obtained after combustion, which is known thanks to the reaction formula, all of this becomes the temperature on ignition
 
 
same thing but possibly easier to read
 
*T(after) = ( T(before) * specificHeat(before) + fuel * 563452 ) / ( specificHeat(before) + fuel * 172.615)
 
**specificHeat(before) = RatioOxygen*21.1 + RatioVolatile*20.4 + RatioCarbonDioxide*28.2 + RatioPollutant*24.8 + RatioNitrogen*20.6 + RatioNitrousOxide*23
 
**fuel = min(RatioOxygen,RatioVolatile/2)
 
**Notice that water isn't included. That's because this haven't been verified, but water is probably treated as a gas by the game so a good guess is that it can be included simply by adding RatioWater*72 to the specificHeat sum.
 
 
'''Pressure peak'''
 
  
*P(after) = P(before) * T(after) * ( 1 + 5.7*min(ratio(O2), ratio(H2)*0.5) ) / T(before)
 
**this expression comes from two sets of PV=nRT, one after and one before combustion. The reaction formula say that for each mol consumed O2 we gain 6 mol gas (9-3), this creates a link between the equations, n(after) = n(before)*(1+min(ratio(O2), ratio(H2)*0.5)*6), then include the 0.95 efficiency as well
 
  
 
=== Using Ice(Oxite) and Ice(Volatiles) ===
 
=== Using Ice(Oxite) and Ice(Volatiles) ===
Line 515: Line 361:
  
 
Observations
 
Observations
*the rate of cooling is temperature dependent, hotter cools faster  
+
*the rate of cooling is temperature dependent, hotter cools faster (furnace temp - surrounding temp? how do vaccum behave?)
* Furnaces do not lose heat through conduction if in a vacuum.  This can be very useful for recipes that have tight temperature or pressure windows, although you will have to have an alternate mechanism to tweak the values if you overshoot (such as a valve leading to a pipe with a radiator out in the atmosphere, or a backpressure regulator).
 
 
*the rate of cooling is time dependent (game tick speed is once per 0.5 seconds)
 
*the rate of cooling is time dependent (game tick speed is once per 0.5 seconds)
 
*the rate of cooling is mol dependent (small amounts cool faster)
 
*the rate of cooling is mol dependent (small amounts cool faster)
Line 525: Line 370:
 
*Hold a tablet with an atmos cartridge in the right hand (so it can be read when the game is paused). Aim the tablet against the furnace and pause with ESC, double tap ESC to move the game forward one tick, record the temperatures.
 
*Hold a tablet with an atmos cartridge in the right hand (so it can be read when the game is paused). Aim the tablet against the furnace and pause with ESC, double tap ESC to move the game forward one tick, record the temperatures.
 
*Remember to record the ''total amount of moles'' as well
 
*Remember to record the ''total amount of moles'' as well
 +
 +
 +
=== Resetting the furnace ===
 +
Since only gas have temperature, evacuating all gas means resetting the temperature.
 +
  
 
=== Calculating how to reach a desired Temperature and Pressure on ignition ===
 
=== Calculating how to reach a desired Temperature and Pressure on ignition ===
Line 534: Line 384:
 
#The specific heat value of the gas used to dilute the fuel (if a mix of gases is used, the specific heat to use is the average specific heat per mol, example calculation below)
 
#The specific heat value of the gas used to dilute the fuel (if a mix of gases is used, the specific heat to use is the average specific heat per mol, example calculation below)
  
<br>The equations will give these results
+
The equations will give these results
 
#The ratio(fuel) in the fuel-dilutant mix. (0.75 means 75% perfect 1:2 fuel mols (O2 and H2 added together)†, the other 25% will be dilutant gas mols, making it a 1:2:1 mix of O2:H2:dilutant)
 
#The ratio(fuel) in the fuel-dilutant mix. (0.75 means 75% perfect 1:2 fuel mols (O2 and H2 added together)†, the other 25% will be dilutant gas mols, making it a 1:2:1 mix of O2:H2:dilutant)
 
#The total pressure of the fuel-dilutant mix inside the furnace before ignition
 
#The total pressure of the fuel-dilutant mix inside the furnace before ignition
 
†It's helpful to separate out the fuel part like this since everyone should be using pre-mixed fuel, it makes the diluting easier and has a lower risk to cause confusion when using either O2 or H2 to be the dilutant gas
 
†It's helpful to separate out the fuel part like this since everyone should be using pre-mixed fuel, it makes the diluting easier and has a lower risk to cause confusion when using either O2 or H2 to be the dilutant gas
  
To freely control the temperature and pressure, the fuel must be diluted with a non-combustible gas. This can be added either before or after ignition, doing so before ignition makes it a lot easier to predict, doing so after ignition is more of an art than a science (it depends on how the furnace is built and how fast the operator can work). The method prefered here is to add the non-combustible gas before ignition.  
+
To freely control the temperature and pressure, the fuel must be diluted with a non-combustable gas. This can be added either before or after ignition, doing so before ignition makes it alot easier to predict, doing so after ignition is more of an art than a science (it depends on how the furnace is built and how fast the operator can work). The method prefered here is to add the non-combustable gas before ignition.  
  
 
Diluting the fuel can be done in the furnace directly or in pipes outside of it. There are good and bad points with both ways. Diluting outside fits the advanced furnace best (the built-in volume pump can easily move all of the prepared gas inside), diluting inside fits the regular furnace best (the exhaust outlet can be used as an inlet but it's a little bit quirky, and diluting in pipes outside means not all of the prepared gas can be moved into the furnace (the pipe directly on the furnace inlet will hold on to some of the diluted fuel) so extra gas must always be prepared).
 
Diluting the fuel can be done in the furnace directly or in pipes outside of it. There are good and bad points with both ways. Diluting outside fits the advanced furnace best (the built-in volume pump can easily move all of the prepared gas inside), diluting inside fits the regular furnace best (the exhaust outlet can be used as an inlet but it's a little bit quirky, and diluting in pipes outside means not all of the prepared gas can be moved into the furnace (the pipe directly on the furnace inlet will hold on to some of the diluted fuel) so extra gas must always be prepared).
  
It is worth noting that for some temperatures and pressures suitable for advanced alloys, the calculation can suggest a fuel ratio below 0.15. This will not work however, since it means having less than 5% oxygen, that mix will not combust (unless the dilutant contains extra oxygen). This is a particular problem with '''Waspaloy''' (400-800K, 50+MPa), that can be solved by having oxygen in the diluting gas (a 5% ratio, having more doesn't help), but it's easier to just ignite the furnace prematurely and then finish adding the remaining dilutant.
+
It is worth noting that for some temperatures and pressures suitable for advanced alloys, the calculation can suggest a fuel ratio below 0.15. This will not work however, since it means having less than 5% oxygen, that mix will not combust (unless the dilutant contains extra oxygen).  
  
The dilution can be always be double checked by using the tablet and looking at the mol% values for the fuel mix. If the outlet on the regular furnace was used as an inlet, the first gas that entered there will have been mostly pushed back into the furnace, making the mol% values different but the total number of mol are still the same.
+
The dilution can be double checked by using the tablet and looking at the mol% values for the fuel mix. If the outlet on the regular furnace was used as an inlet, the first gas that entered there will have been mostly pushed back into the furnace, making the mol% values diffrent but the total number of mol are still the same.
  
 
'''Calculating the fuel ratio'''
 
'''Calculating the fuel ratio'''
  
*ratio(fuel) = s*( T(after) - T(before) ) / ( 187817 + T(before)*(20.633 - s) - T(after)*(78.172 - s) )
+
*ratio(fuel) = s*( T(after) - T(before) ) / ( 187821 + T(before)*(20.633 - s) - T(after)*(78.172 - s) )
 
**ratio(fuel), 1 = 100% fuel which is 33.33% O2 and 66.67% H2
 
**ratio(fuel), 1 = 100% fuel which is 33.33% O2 and 66.67% H2
 
**T(after) is the chosen temperature after ignition, in K
 
**T(after) is the chosen temperature after ignition, in K
Line 557: Line 407:
 
***example: 15% N2 and 85% CO2 as dilutant -> specific heat = 0.15*20.6 + 0.85*28.2 = 27.06
 
***example: 15% N2 and 85% CO2 as dilutant -> specific heat = 0.15*20.6 + 0.85*28.2 = 27.06
 
*This equation comes from the equation under ''Using diluted fuel'', it was arrived at by doing the following things
 
*This equation comes from the equation under ''Using diluted fuel'', it was arrived at by doing the following things
**ratio(fuel) was introduced (which is 3 times higher than min(ratio(O2),ratio(H2)*0.5), everyone should be using pre-mixed fuel so this should make things simpler, having 1 represent 100% fuel is also more intuitive than having 0.333 mean 100% fuel
+
**ratio(fuel) was introduced (which is 3 times higher than min(ratio(O2),ratio(H2)*0.5), everyone should be using pre-mixed fuel so this should make things simpler, having 1 represent 100% fuel is also more intutive than having 0.333 mean 100% fuel
 
**everything is calculated per 1 mol fuel here, the original one uses per 3 mol fuel (1 mol O2 + 2 mol H2), so several values must be divided by 3
 
**everything is calculated per 1 mol fuel here, the original one uses per 3 mol fuel (1 mol O2 + 2 mol H2), so several values must be divided by 3
 
**the dilutant (even a mix) can be treated as a single gas, which turns ''sum(specific heat * mol of gas (before))'' into ''ratio(fuel)*(specific heat(O2)+2*specific heat(H2) )/3 + (1-ratio(fuel))*specific heat(dilutant)''
 
**the dilutant (even a mix) can be treated as a single gas, which turns ''sum(specific heat * mol of gas (before))'' into ''ratio(fuel)*(specific heat(O2)+2*specific heat(H2) )/3 + (1-ratio(fuel))*specific heat(dilutant)''
 
**min(ratio(O2),ratio(H2)*0.5) will now always be ratio(fuel)/3, so it can be replaced with that
 
**min(ratio(O2),ratio(H2)*0.5) will now always be ratio(fuel)/3, so it can be replaced with that
**without any rounding the formula is: ratio(fuel) = s*(T(after) - T(before)) / ( T(before)*(61.9/3-s) + (0.95*593107.3684/3) - T(after)*(61.9/3-s) - T(after)*(0.95*181.7/3) )
+
**without any rounding the formula is: ratio(fuel) = s*(T(after) - T(before)) / ( T(before)*(61.9/3-s) + (0.95*593120.4978/3) - T(after)*(61.9/3-s) - T(after)*(0.95*181.7/3) )
  
 
'''Calculating the pressure before ignition'''
 
'''Calculating the pressure before ignition'''
Line 574: Line 424:
 
'''Diluting fuel'''
 
'''Diluting fuel'''
  
Mixing gas is temperature sensitive. This is because pressure is used as an indirect measure of the amount of mol (n=PV/(RT)) being transferred, and pressure is also dependent on temperature. It is however possible to get around this issue with a bit of math.
+
Mixing gas is temperature sensitive. This is because pressure is used as an indirect measure of the amount of mol (n=PV/(RT)) being transfered, and pressure is also dependent on temperature. It is however possible to get around this issue with a bit of math.
  
 
'''A)''' When fuel and dilutant have the same temperature
 
'''A)''' When fuel and dilutant have the same temperature
Line 616: Line 466:
 
It's a warm and sunny day on Europa and a stationeer wants to make some invar. The desired temperature and pressure will be chosen as be the upper limit for invar, so 1500K and 20MPa. Adding ore to the furnace will reduce its temperature and increase the amount of gas (and pressure) inside of it, but the stationeer hopes that 100g of invar will be too little to have much of an effect. The furnace is exposed to the atmosphere and will be loosing temperature and pressure fairly fast which could be an issue, but making the alloy should be quick enough. The dilutant gas will be pure O2 from the atmosphere, which has a specific heat value of 21.1. The starting temperature of the fuel and the atmosphere are both at -140°C.
 
It's a warm and sunny day on Europa and a stationeer wants to make some invar. The desired temperature and pressure will be chosen as be the upper limit for invar, so 1500K and 20MPa. Adding ore to the furnace will reduce its temperature and increase the amount of gas (and pressure) inside of it, but the stationeer hopes that 100g of invar will be too little to have much of an effect. The furnace is exposed to the atmosphere and will be loosing temperature and pressure fairly fast which could be an issue, but making the alloy should be quick enough. The dilutant gas will be pure O2 from the atmosphere, which has a specific heat value of 21.1. The starting temperature of the fuel and the atmosphere are both at -140°C.
  
*ratio(fuel) = s*( T(after) - T(before) ) / ( 187817 + T(before)*(20.633 - s) - T(after)*(78.172 - s) )
+
*ratio(fuel) = s*( T(after) - T(before) ) / ( 187821 + T(before)*(20.633 - s) - T(after)*(78.172 - s) )
 
**s = specific heat of the dilutant = 21.1
 
**s = specific heat of the dilutant = 21.1
 
**T(after) = 1500K (this is the chosen value)
 
**T(after) = 1500K (this is the chosen value)
 
**T(before) = -140C = 133K (temperature inside the furnace before ignition)
 
**T(before) = -140C = 133K (temperature inside the furnace before ignition)
*ratio(fuel) = 0.28237
+
*ratio(fuel) = 0.28236
 
*This is high enough for combustion to occur
 
*This is high enough for combustion to occur
 
**H2 is the limiting gas so %H2 must be at least 5%, the minimum value can be expressed as %H2 = ratio(fuel)*2/3 = 5%, solving for ratio(fuel) gives us 0.075, which is the lowest ratio(fuel) at which combustion can occur
 
**H2 is the limiting gas so %H2 must be at least 5%, the minimum value can be expressed as %H2 = ratio(fuel)*2/3 = 5%, solving for ratio(fuel) gives us 0.075, which is the lowest ratio(fuel) at which combustion can occur
Line 626: Line 476:
 
The necessary pressure of the pre-ignition fuel mix inside the furnace will be
 
The necessary pressure of the pre-ignition fuel mix inside the furnace will be
 
*P(before) = P(after)*T(before) / ( T(after) * (1 + ratio(fuel)*1.9) )
 
*P(before) = P(after)*T(before) / ( T(after) * (1 + ratio(fuel)*1.9) )
**ratio(fuel) = 0.28237
+
**ratio(fuel) = 0.28236
 
**P(after) = 20MPa (this is the chosen value)
 
**P(after) = 20MPa (this is the chosen value)
 
**T(before) = -140C = 133K
 
**T(before) = -140C = 133K
Line 637: Line 487:
 
*The dilutant will then be added to the furnace to reach the P(before) pressure at 1.16MPa (1154kPa rounded up)
 
*The dilutant will then be added to the furnace to reach the P(before) pressure at 1.16MPa (1154kPa rounded up)
 
*The ratio of H2 inside the furnace before ignition can be checked with the tablet, it should be
 
*The ratio of H2 inside the furnace before ignition can be checked with the tablet, it should be
**ratio(H2) = 0.28237 * 2/3 = 0.188 = 19%
+
**ratio(H2) = 0.28236 * 2/3 = 0.188 = 19%
 
 
This was tested in practice. After adding fuel and dilutant the game was saved, then the furnace was ignited. Adding the ores reduced the temperature and increased the pressure a bit, which pushed the pressure up above 20MPa and out of the needed range. After waiting for the pressure to drop back down, the temperature was still high enough to make the desired alloy with several seconds to spare. In hindsight, 20MPa was a bit too high and 1500K a bit too low, better values could definitely have been chosen.
 
 
 
Reloading the save and placing the furnace inside a welded frame to insulate it (no loss of temperature or pressure) showed the following. The furnace reached 1477K and 19.90MPa after ignition. The fuel was added with a regulator (the furnace showed: 325kPa, 133K), the fuel mix was decent but not a perfect 1:2. Then the diluting O2 was added, it was slightly too cold (the furnace now showed: 1.16MPa, 130K), so a bit too much dilutant was added to the furnace (since cold gas has a lower pressure). The dilutant was inserted via the furnace outlet, checking the mol% with the tablet showed 3% H2 in the outlet pipe and 20% inside the furnace instead of 19% in both, the total number of H2 mol was unchanged. The temperature and pressure was really close to the calculated ones, even though the execution was a bit sloppy. The observed loss of temperature could be explained by using too much dilutant, using a lower starting temperature and a flawed fuel mix. The lower pressure is related to the temperature, going from 1500K to 1477K should mean -1.5% reduction in pressure, but the change was just -0.5%, an indication that too much dilutant had been added.
 
 
 
 
 
===Charts for fuel and dilutant mixes at 25°C===
 
 
 
{| class="wikitable"
 
! colspan="4" |'''Pure fuel at 25°C (perfect mix, 33.33% O2 and 66.67% H2)'''
 
|-
 
! colspan="1" rowspan="1" |'''Temperature (K)'''
 
! colspan="1" rowspan="1" |'''Pressure'''
 
! colspan="1" rowspan="1" |'''Fuel (25°C, 298K)'''
 
! colspan="1" rowspan="1" |'''Comment'''
 
|-
 
| 2481 K
 
| 1.5 MPa
 
| 62 kPa
 
|
 
|-
 
| 2481 K
 
| 22 MPa
 
| 911 kPa
 
|
 
|-
 
| 2481 K
 
| 60 MPa
 
| 2485 kPa
 
| Explosion warning
 
|}
 
 
 
 
 
{| class="wikitable"
 
! colspan="6" |'''Perfect fuel diluted with CO2 (specific heat = 28.5, highest value)'''
 
|-
 
! colspan="1" rowspan="1" |'''Temperature (K)'''
 
! colspan="1" rowspan="1" |'''Pressure'''
 
! colspan="1" rowspan="1" |'''Fuel (25°C, 298K)'''
 
! colspan="1" rowspan="1" |'''Dilutant (25°C, 298K)'''
 
! colspan="1" rowspan="1" |'''Fuel + Dilutant (25°C, 298K)'''
 
! colspan="1" rowspan="1" |'''Comment'''
 
|-
 
| 550 K
 
| 1.5 MPa
 
| 34 kPa
 
| 715 kPa
 
| 749 kPa
 
| Will not ignite (must ignite before all dilutant is added)
 
|-
 
| 1200 K
 
| 1.5 MPa
 
| 54.5 kPa
 
| 214.5 kPa
 
| 269 kPa
 
|
 
|-
 
| 1200 K
 
| 22 MPa
 
| 800 kPa
 
| 3144 kPa
 
| 3944 kPa
 
|
 
|-
 
| 1500 K
 
| 19 MPa
 
| 731 kPa
 
| 1655 kPa
 
| 2386 kPa
 
|
 
|}
 
  
 +
This was tested in practice. After adding fuel and dilutant the game was saved, then the furnace was ignited. Adding the ores reduced the temperature and increased the pressure a bit, which pushed the pressure up above 20MPa and out of the needed range. After waiting for the pressure to drop back down, the temperature was still high enough to make the desired alloy with several seconds to spare. In hindsight, 20MPa was a bit too high and 1500K a bit too low, better values could definately have been chosen.
  
{| class="wikitable"
+
Reloading the save and placing the furnace inside a welded frame to insulate it (no loss of temperature or pressure) showed the following. The furnace reached 1477K and 19.90MPa after ignition. The fuel was added with a regulator (the furnace showed: 325kPa, 133K), the fuel mix was decent but not a perfect 1:2. Then the diluting O2 was added, it was slightly too cold (the furnace now showed: 1.16MPa, 130K), so a bit too much dilutant was added to the furnace (since cold gas has a lower pressure). The dilutant was inserted via the furnace outlet, checking the mol% with the tablet showed 3% H2 in the outlet pipe and 20% inside the furnace instead of 19% in both, the total number of H2 mol was unchanged. The temperature and pressure was really close to the calculated ones, definately some luck involved there since the execution was a bit sloppy. The observed loss of temperature could be explained by using too much dilutant, using a lower starting temperature and a flawed fuel mix. The lower pressure is related to the temperature, going from 1500K to 1477K should mean -1.5% reduction in pressure, but the change was just -0.5%, an indication that too much dilutant had been added.
! colspan="6" |'''Perfect fuel diluted with H2 (specific heat = 20.4, lowest value)'''
 
|-
 
! colspan="1" rowspan="1" |'''Temperature (K)'''
 
! colspan="1" rowspan="1" |'''Pressure'''
 
! colspan="1" rowspan="1" |'''Fuel (25°C, 298K)'''
 
! colspan="1" rowspan="1" |'''Dilutant (25°C, 298K)'''
 
! colspan="1" rowspan="1" |'''Fuel + Dilutant (25°C, 298K)'''
 
! colspan="1" rowspan="1" |'''Comment'''
 
|-
 
| 550 K
 
| 1.5 MPa
 
| 25 kPa
 
| 740 kPa
 
| 765 kPa
 
| Will not ignite (must ignite before all dilutant is added)
 
|-
 
| 1200 K
 
| 1.5 MPa
 
| 44.5 kPa
 
| 243.5 kPa
 
| 288 kPa
 
|
 
|-
 
| 1200 K
 
| 22 MPa
 
| 652 kPa
 
| 3572 kPa
 
| 4224 kPa
 
|
 
|-
 
| 1500 K
 
| 19 MPa
 
| 624 kPa
 
| 1966 kPa
 
| 2590 kPa
 
|
 
|}
 

Please note that all contributions to Unofficial Stationeers Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Unofficial Stationeers Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)