Gas Volume Produced by Lithium Cells in Thermal Runaway

P. McGill
20Dec13

Clear all variable definitions.

Clear["Global`*"]

Write the ideal gas law for the initial pressure P0, temperature T0, and moles of gas N0.

eqn1=P0 V==N0 R T0

Write the ideal gas law for the final pressure P0, temperature T0, and moles of gas N0+N1, where N1 is the gas produced by the cell.

eqn2=P1 V==(N0+N1) R T1

Since the volume V doesn’t change, we can eliminate it.

eqn3=Eliminate[{eqn1,eqn2},V]

Now we can solve the equation for N1.

soln1=Solve[eqn3,N1]

This can be further simplified.

soln2=Simplify[soln1]

Define all the quantities on the right side of the equation. We can find N0 from eqn1 above and the known volume of the chamber.

soln3=Solve[eqn1,N0]

V=QuantityMagnitude[UnitConvert[Quantity[383.5,"Inches^3"],"Meters^3"]]

R=QuantityMagnitude[First[MolarGasConstant]]

T0=273.15

P0=QuantityMagnitude[UnitConvert[Quantity[1,"Atmosphere"],"Pascal"]]

The final conditions were 29 degC at 14.8 PSIG.

T1=QuantityMagnitude[UnitConvert[Quantity[29,"Celsius"],"Kelvins"]]//N

P1=P0+QuantityMagnitude[UnitConvert[Quantity[14.8,"PSI"],"Pascal"]]

soln3

Find N1 given the quantities above.

soln4=Flatten[soln1/.soln3]

Find the volume of N1 at STP.

Vn1stp=((N1 R T0)/P0)/.soln4

The volume of evolved gas is about 5.1 liters.

We can write a function that calculates the volume of gas, at STP, produced in liters given the starting and final temperature in Celcius and the final pressure in PSIG for this particular chamber volume.

Vgas[T0degC_,T1degC_,P1PSIG_]:=Module[{R,V,T0STP,T0,T1,P0,P1,N0,N1},
R=QuantityMagnitude[First[MolarGasConstant]];
V=QuantityMagnitude[UnitConvert[Quantity[383.5,"Inches^3"],"Meters^3"]];
T0STP=273.15;
T0=QuantityMagnitude[UnitConvert[Quantity[T0degC,"Celsius"],"Kelvins"]];
T1=QuantityMagnitude[UnitConvert[Quantity[T1degC,"Celsius"],"Kelvins"]];
P0=QuantityMagnitude[UnitConvert[Quantity[1,"Atmosphere"],"Pascal"]];
P1=P0+QuantityMagnitude[UnitConvert[Quantity[P1PSIG,"PSI"],"Pascal"]];
N0=((P0 V)/(R T0));
N1=N0 (((P1 T0)/(P0 T1))-1);
Return[((1000 N1 R T0STP)/P0)]]

If we use the starting and ending conditions above, we should get the same answer.

Vgas[0,29,14.8]

If we use the actual starting temperature of 22 degC then the volume of gas produced is even greater.

Vgas[22,29,14.8]

Create a data vector containing the starting and ending temperatures in degC, and the final pressure in PSIG.

data={{22,29,14.8},{22,30,14.5},{23,32,15.9},{24,31,16.3},{23,32,13.5}};

Apply the Vgas function to the data to get the calculated volumes of evolved gas.

Map[Vgas[#[[1]],#[[2]],#[[3]]]&,data]