combustion¶
All data and methods related to chemical combustion.
-
thermosteam.properties.combustion.
get_combustion_stoichiometry
(atoms: dict, MW: float = None) → dict[source]¶ Return a dictionary of the combustion stoichiometry of a chemical.
- Parameters
atoms (dict) – Dictionary of atoms and their counts.
MW (float, optional) – Molecular weight of chemical.
Notes
The stoichiometry is given by:
\[ \begin{align}\begin{aligned}C_c H_h O_o N_n S_s Br_b I_i Cl_x F_f P_p + kO_2 -> cCO_2 + \frac{b}{2}Br_2 + \frac{i}{2}I + xHCl + fHF + sSO_2 + \frac{n}{2}N_2 + \frac{p}{4}P_4O_{10} +\frac{h + x + f}{2}H_2O\\k = c + s + \frac{h}{4} + \frac{5P}{4} - \frac{x + f}{4} - \frac{o}{2}\end{aligned}\end{align} \]
-
thermosteam.properties.combustion.
estimate_HHV_modified_Dulong
(atoms: dict, MW: float = None, check_oxygen_content: bool = False)[source]¶ Return higher heating value [HHV; in J/mol] based on the modified Dulong’s equation.
- Parameters
atoms (dict) – Dictionary of atoms and their counts.
MW (float, optional) – Molecular weight of chemical.
Notes
The heat of combustion in J/mol is given by Dulong’s equation 1:
\[Hc (J/mol) = MW \cdot (338C + 1428(H - O/8)+ 95S)\]This equation is only good for <10 wt. % Oxygen content. Variables C, H, O, and S are atom weight fractions.
References
-
class
thermosteam.properties.combustion.
CombustionData
(stoichiometry, LHV, HHV, Hf, MW)[source]¶ Create a CombustionData object that contains the stoichiometry coefficients of the reactants and products and the lower and higher heating values of a chemical [LHV, HHV; in J/mol].
- Parameters
stoichiometry (dict[str: float]) – Stoichiometry coefficients of the reactants and products.
LHV (float) – Lower heating value [J/mol].
HHV (float) – Higher heating value [J/mol].
Hf (float) – Heat of formation [J/mol].
-
stoichiometry
¶ float] Stoichiometry coefficients of the reactants and products
- Type
dict[str
-
LHV
¶ [float] Lower heating value [J/mol]
-
HHV
¶ [float] Higher heating value [J/mol]
-
Hf
¶ [float] Heat of formation [J/mol]
-
MW
¶ [float] Molecular weight [g/mol]
-
classmethod
from_chemical_data
(atoms, CAS=None, MW=None, Hf=None, method='Stoichiometry')[source]¶ Return a CombustionData object that contains the stoichiometry coefficients of the reactants and products and the lower and higher heating values [LHV, HHV; in J/mol].
- Parameters
atoms (dict) – Dictionary of atoms and their counts.
CAS (str, optional) – CAS of chemical.
MW (float, optional) – Molecular weight of chemical [g/mol].
Hf (float, optional) – Heat of formation of given chemical [J/mol]. Required if method is “Stoichiometry”.
method ("Stoichiometry" or "Dulong") – Method to estimate LHV and HHV.
Notes
Default heats of formation for chemicals are at 298 K, 1 atm. The combustion reaction is based on the following equation:
\[ \begin{align}\begin{aligned}C_c H_h O_o N_n S_s Br_b I_i Cl_x F_f P_p + kO_2 -> cCO_2 + \frac{b}{2}Br_2 + \frac{i}{2}I + xHCl + fHF + sSO_2 + \frac{n}{2}N_2 + \frac{p}{4}P_4O_{10} +\frac{h + x + f}{2}H_2O\\k = c + s + \frac{h}{4} + \frac{5P}{4} - \frac{x + f}{4} - \frac{o}{2}\end{aligned}\end{align} \]If the method is “Stoichiometry”, the HHV is found using through an energy balance on the reaction (i.e. heat of reaction). If the method is “Dulong”, Dulong’s equation is used 1:
\[Hc (J/mol) = MW \cdot (338C + 1428(H - O/8)+ 95S)\]The LHV is calculated as follows:
\[ \begin{align}\begin{aligned}LHV = HHV + H_{vap} \cdot H_2O\\H_{vap} = 44011.496 \frac{J}{mol H_2O}\\H_2O = \frac{mol H_2O}{mol}\end{aligned}\end{align} \]Examples
Liquid methanol burning:
>>> from thermosteam.functors.combustion import CombustionData >>> CombustionData.from_chemical_data({'H': 4, 'C': 1, 'O': 1}, Hf=-239100) CombustionData(stoichiometry={'O2': -1.5, 'CO2': 1, 'H2O': 2.0}, LHV=-6.38e+05, HHV=-7.26e+05, Hf=-2.39e+05)