Operating Temperature Limits for a Methanol Fueled Lighter

by Jeffrey Kantor (jeff at nd.edu). The latest version of this notebook is available at https://github.com/jckantor/CBE20255.


This Jupyter notebook shows how to use Antoine's equation and Raoult's law to compute flammability limits for methanol.


We'd like to estimate range of temperatures over which this methanol fueled fire starter will successfully operate.

In [1]:
from IPython.display import YouTubeVideo

The flammability limits of methanol in air at 1 atmosphere pressure correspond to vapor phase mole fractions in the range

$$ 6.7 \mbox{ mol%} \leq y_{MeOH} \leq 36 \mbox{ mol%} $$

Assuming the pure methanol located in the wick of this fire starter reaches a vapor-liquid with air in the device, find the lower and upper operating temperatures for this device.

Antoine's Equation for the Saturation Pressure of Methanol

The first thing we'll do is define a simple python function to calculate the saturation pressure of methanol at a given temperature using Antoine's equation

$$\log_{10} P^{sat} = A - \frac{B}{T + C}$$

Constants for methanol can be found in the back of the course textbook for the case where pressure is given in units of mmHg and temperature in degrees centigrade.

In [2]:
# Pressure in mmHg, Temperature in degrees C

A = 7.89750
B = 1474.08
C = 229.13

def Psat(T):
    return 10**(A - B/(T+C))

To test the function, we'll plot the saturation pressure of methanol for a limited range of temperatures.

In [3]:
import numpy as np
import matplotlib.pyplot as plt

%matplotlib inline

T = np.linspace(-14.0, 65.0, 200)


plt.xlabel('Temperature [deg C]')
plt.ylabel('Pressure [mmHg]')
plt.title('Saturation Pressure of Methanol')

Equilibrium Vapor Composition at Room Temperature

By Dalton's law, the partial pressure of pure methanol is equal to the saturation pressure,

$$y_{MeOH} P = P^{sat}_{MeOH}(T)$$

Solving for the mole fraction of methanol in the vapor phase

$$y_{MeOH} = \frac{P^{sat}_{MeOH}(T)}{P}$$

In [9]:
print("Methanol Vapor Pressure at 25 deg C =",round(Psat(25.0),2),"mmHg")
Methanol Vapor Pressure at 25 deg C = 125.03 mmHg

At atmospheric pressure of 760 mmHg, the mole fraction of methanol is given by

In [10]:
print("Mole Fraction Methanol at 25 deg C and 1 atmosphere =",round(Psat(25.0)/760.0,3))
Mole Fraction Methanol at 25 deg C and 1 atmosphere = 0.165

Since this is within the flammability limits of methanol, the fire starter should work at room temperatures.

Lower Operating Temperature Limit

At the lower flammability limit, the partial pressure of methanol will be

$$P_{MeOH} = y_{MeOH}P$$

In [11]:
P_MeOH = 0.067*760
print(P_MeOH, "mm Hg")
50.92 mm Hg

Next we need to solve for the temperature at which the partial pressure of methanol is at the lower flammability limit.

$$P^{sat}_{MeOH}(T) = P_{MeOH}$$

We'll first attempt a solution by trial and error, then we'll use an equation solve to get an accurate solution. Let's start with a guess of 15 deg C.

In [12]:
print(Psat(15.0), "mmHg")
72.3445037835956 mmHg

That's too high. Let's try some more values

In [13]:
print(Psat(10.0), "mmHg")
54.09464146182495 mmHg
In [17]:
print(Psat(5.0), "mmHg")
39.94943048219959 mmHg
In [18]:
print(Psat(7.5), "mmHg")
46.56159278041358 mmHg
In [19]:
print(Psat(8.75), "mmHg")
50.20675457715808 mmHg
In [20]:
print(Psat(9.0), "mmHg")
50.96450071477327 mmHg

So $T = 9$ deg C is pretty close. To get a precise answer, use the brentq equation solving function from scipy.optimize.

In [21]:
from scipy.optimize import brentq

def f(T):
    return Psat(T) - P_MeOH

Tlow = brentq(f,5,15)
print("Lower Flammability Temperature = ", Tlow, "deg C")
print("Lower Flammability Temperature = ", 32.0 + 9.0*Tlow/5.0, "deg F")
Lower Flammability Temperature =  8.98540669181148 deg C
Lower Flammability Temperature =  48.173732045260664 deg F


Calculate the upper limit on temperature at which this lighter can operate.