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 === | === Introduction === | ||
− | This page is about | + | This page is about understanding how combustions inside furnaces behave. It's not about engineering or design. |
− | The furnace is one of the most important objects in the entire game, but it | + | The furnace is one of the most important objects in the entire game, but it's also complicated and hard to use, especially when making alloys and super-alloys. Right now, there is no need to know anything written on this page. Because it's possible to use a few loop holes in the game to engineer furnaces that are very easy to work with (like insulating it inside a sealed room with vaccum so it doesn't cool down, or using an Air Conditioner to superheat gas so it doesn't need fuel, or storing hot gas in insulated tanks and pump it into a furnace as needed). But if the devs decides to change any of these things, having a page like this could come in handy. |
− | There are two MIPS | + | There are two MIPS programs here (click the links to expand/collpase 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: Waspalloy 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 - 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}}"> | ||
Line 90: | Line 90: | ||
<br> | <br> | ||
− | <div class="mw-collapsible mw-collapsed" data-expandtext="{{int:EXPAND - a MIPS script that calculates how to mix fuel and diluting gas | + | <div class="mw-collapsible mw-collapsed" data-expandtext="{{int:EXPAND - a MIPS script that calculates how to mix fuel and diluting gas to reach a desired temperature and pressure}}" data-collapsetext="{{int:COLLAPSE - a MIPS script that calculates how to mix fuel and diluting gas to reach a desired temperature and pressure}}"> |
<pre> | <pre> | ||
#A script for calculating how to dilute fuel.. | #A script for calculating how to dilute fuel.. | ||
− | #.. | + | #..to reach a desired temperature and pressure.. |
− | #.. | + | #..on ignition |
# This script requires perfect fuel (O2 + 2 H2) | # This script requires perfect fuel (O2 + 2 H2) | ||
Line 102: | Line 102: | ||
# ORANGE color = gas will ignite | # ORANGE color = gas will ignite | ||
− | #Inputs are desired temperature | + | #Inputs are desired temperature and pressure (kPa) |
#Outputs are the pressure of fuel (kPa) and the.. | #Outputs are the pressure of fuel (kPa) and the.. | ||
#..total pressure (kPa) after adding the dilutant | #..total pressure (kPa) after adding the dilutant | ||
Line 205: | Line 205: | ||
l r9 d5 RatioNitrogen | l r9 d5 RatioNitrogen | ||
l r10 d5 RatioNitrousOxide | l r10 d5 RatioNitrousOxide | ||
− | bne r5 r5 noCombustion # | + | bne r5 r5 noCombustion #protect against null |
mul r0 r5 21.1 | mul r0 r5 21.1 | ||
mul r1 r6 20.4 | mul r1 r6 20.4 | ||
Line 232: | Line 232: | ||
*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)'' | *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)'' | *Each press of ignite adds 5 J of energy to the furnace (only the advanced furnace was tested) ''(see discussions)'' | ||
− | *A furnace | + | *A furnace built in a sealed room with vacuum will not loose temperature (this is seen during the furnace tutorial), nor will a furnace built partially/completely inside a fully welded frame. |
*Ores placed in a furnace will release gases, this reduces the temperature and increases the mols of gas. | *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. | *Ingots placed in a furnace will reduce the temperature (~half compared to the ore, only copper tested) without releasing gas. | ||
Line 246: | Line 246: | ||
*The outlet pipe is the only place where gas can exit the furnace. 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. | *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 === | === Known errors of the math formulas === | ||
Line 279: | Line 280: | ||
=== Using diluted fuel === | === Using diluted fuel === | ||
− | + | ||
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. | 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. | ||
Line 305: | Line 306: | ||
*P(after) = P(before) * T(after) * ( 1 + 5.7*min(ratio(O2), ratio(H2)*0.5) ) / T(before) | *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 | **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 517: | ||
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?) |
− | |||
*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 526: | ||
*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 | ||
+ | |||
=== Calculating how to reach a desired Temperature and Pressure on ignition === | === Calculating how to reach a desired Temperature and Pressure on ignition === | ||
Line 539: | Line 541: | ||
†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- | + | 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 ''' | + | 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 '''Waspalloy''' (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. |
− | 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 | + | 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 diffrent but the total number of mol are still the same. |
'''Calculating the fuel ratio''' | '''Calculating the fuel ratio''' | ||
Line 557: | Line 559: | ||
***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 | + | **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)'' | ||
Line 574: | Line 576: | ||
'''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 | + | 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 639: | Line 641: | ||
**ratio(H2) = 0.28237 * 2/3 = 0.188 = 19% | **ratio(H2) = 0.28237 * 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 | + | 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. |
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. | 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. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |