LFL
This function returns the lower flammability limit (LFL) for a chemical as a mole fraction in air at standard conditions. The wrapped implementation can retrieve tabulated values by CAS Registry Number or estimate LFL using combustion heat and elemental composition.
If a method is not provided, the underlying library automatically selects a preferred available source. The optional atoms input accepts JSON text describing atomic composition (for example, methane with one carbon and four hydrogen atoms).
Excel Usage
=LFL(CASRN, Hc, atoms, method)
CASRN(str, optional, default: ““): Chemical Abstracts Service Registry Number identifier (-).Hc(float, optional, default: null): Heat of combustion of gas (J/mol).atoms(str, optional, default: null): JSON text for a dictionary of atomic symbols and counts (-).method(str, optional, default: null): Source or estimation method name for LFL lookup (-).
Returns (float): Lower flammability limit of the gas in an atmosphere at STP, [mole fraction].
Example 1: Benzene LFL
Inputs:
| CASRN |
|---|
| 71-43-2 |
Excel formula:
=LFL("71-43-2")
Expected output:
0.012
Example 2: Methane LFL from combustion heat and atoms
Inputs:
| Hc | atoms | CASRN |
|---|---|---|
| -890590 | {“C”: 1, “H”: 4} | 74-82-8 |
Excel formula:
=LFL(-890590, "{"C": 1, "H": 4}", "74-82-8")
Expected output:
0.044
Example 3: Undecanol LFL using WIKIDATA method
Inputs:
| CASRN | method |
|---|---|
| 111-69-3 | WIKIDATA |
Excel formula:
=LFL("111-69-3", "WIKIDATA")
Expected output:
0.017
Example 4: Benzene LFL with null method
Inputs:
| CASRN | method |
|---|---|
| 71-43-2 |
Excel formula:
=LFL("71-43-2", )
Expected output:
0.012
Python Code
Show Code
import json
from chemicals.safety import LFL
def lfl(CASRN='', Hc=None, atoms=None, method=None):
"""
Handles the retrieval or calculation of a chemical's Lower Flammability Limit.
See: https://chemicals.readthedocs.io/chemicals.safety.html
This example function is provided as-is without any representation of accuracy.
Args:
CASRN (str, optional): Chemical Abstracts Service Registry Number identifier (-). Default is ''.
Hc (float, optional): Heat of combustion of gas (J/mol). Default is None.
atoms (str, optional): JSON text for a dictionary of atomic symbols and counts (-). Default is None.
method (str, optional): Source or estimation method name for LFL lookup (-). Default is None.
Returns:
float: Lower flammability limit of the gas in an atmosphere at STP, [mole fraction].
"""
try:
_a = json.loads(atoms) if atoms and isinstance(atoms, str) else atoms
res = LFL(Hc=Hc, atoms=_a, CASRN=CASRN, method=method)
if res is None:
return "Error: Data not available"
return float(res)
except Exception as e:
return f"Error: {str(e)}"