The latest version of this IPython notebook is available at http://github.com/jckantor/CBE20255 for noncommercial use under terms of the Creative Commons Attribution Noncommericial ShareAlike License.

Jeffrey C. Kantor ([email protected])

Operating Limits for a Methanol Fueled Lighter

Problem

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

In [16]:
from IPython.display import YouTubeVideo
YouTubeVideo("8gFqzbnUO-Y")
Out[16]:

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.plot(T,Psat(T))

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

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 [4]:
print "Methanol Vapor Pressure at 25 deg C =", 
print Psat(25.0),
print "mmHg"
Methanol Vapor Pressure at 25 deg C = 125.027109478 mmHg

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

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

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 [6]:
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 [7]:
print Psat(15.0), "mmHg"
72.3445037836 mmHg

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

In [8]:
print Psat(10.0), "mmHg"
54.0946414618 mmHg
In [9]:
print Psat(5.0), "mmHg"
39.9494304822 mmHg
In [10]:
print Psat(7.5), "mmHg"
46.5615927804 mmHg
In [11]:
print Psat(8.75), "mmHg"
50.2067545772 mmHg
In [12]:
print Psat(9.0), "mmHg"
50.9645007148 mmHg

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

In [14]:
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.98540669181 deg C
Lower Flammability Temperature =  48.1737320453 deg F

Exercise

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

In [ ]: