libICEpost.src.thermophysicalModels.specie.reactions.functions

@author: F. Ramognino <federico.ramognino@polimi.it> Last update: 10/06/2024

Functions

computeAlphaSt(→ float)

Compute the stoichiometric air-fuel ratio given air and fuel mixture compositions.

computeAlpha(→ float)

Compute the air-fuel ratio given air, fuel, and reactants mixture compositions.

makeEquilibriumMechanism(→ None)

Create a mechanism (in yaml format) for computation of chemical equilibrium

computeLHV(→ float)

Compute the lower heating value (LHV) of a molecule. This must be stored in

computeMixtureEnergy(→ float)

Compute the energy of a mixture based on the LHV of fuels contained. Computes stoichiometric

Module Contents

libICEpost.src.thermophysicalModels.specie.reactions.functions.computeAlphaSt(air: libICEpost.src.thermophysicalModels.specie.specie.Mixture.Mixture, fuel: libICEpost.src.thermophysicalModels.specie.specie.Mixture.Mixture, *, oxidizer: libICEpost.src.thermophysicalModels.specie.specie.Molecule.Molecule = database.chemistry.specie.Molecules.O2) float[source]

Compute the stoichiometric air-fuel ratio given air and fuel mixture compositions.

Parameters:
  • air (Mixture) – The air mixture composition

  • fuel (Mixture) – The fuel mixture composition

  • oxidizer (Molecule, optional) – The oxidizing molecule. Defaults to database.chemistry.specie.Molecules.O2.

Returns:

float

libICEpost.src.thermophysicalModels.specie.reactions.functions.computeAlpha(air: libICEpost.src.thermophysicalModels.specie.specie.Mixture.Mixture, fuel: libICEpost.src.thermophysicalModels.specie.specie.Mixture.Mixture, reactants: libICEpost.src.thermophysicalModels.specie.specie.Mixture.Mixture, *, oxidizer: libICEpost.src.thermophysicalModels.specie.specie.Molecule.Molecule = database.chemistry.specie.Molecules.O2) float[source]

Compute the air-fuel ratio given air, fuel, and reactants mixture compositions.

Parameters:
  • air (Mixture) – The air mixture composition

  • fuel (Mixture) – The fuel mixture composition

  • reactants (Mixture) – The reactants mixture composition

  • oxidizer (Molecule, optional) – The oxidizing molecule. Defaults to database.chemistry.specie.Molecules.O2.

Returns:

float

libICEpost.src.thermophysicalModels.specie.reactions.functions.makeEquilibriumMechanism(path_or_stream: str | Any, species: Iterable[str], *, overwrite: bool = False) None[source]

Create a mechanism (in yaml format) for computation of chemical equilibrium (with cantera) with the desired specie. The thermophysical properties are based on NASA polynomials, which are looked-up in the corresponding database.

File structure:

phases: - name: gas

thermo: ideal-gas elements: [C, H, N, …] species: [AR, N2, HE, H2, …] kinetics: gas state: {T: 300.0, P: 1 atm}

species: - name: CO2

composition: {C: 1, O:2} thermo:

model: NASA7 temperature-ranges: [200.0, 1000.0, 6000.0] data: - […] #Low coefficients - […] #High coefficients

Parameters:
  • path_or_stream (str or stream) – The path where to save the mechanism in .yaml format or a writable stream.

  • species (Iterable[Molecule]) – The list of specie to use in the mechanism.

  • overwrite (bool, optional) – Overwrite if found? Defaults to False.

libICEpost.src.thermophysicalModels.specie.reactions.functions.computeLHV(fuel: libICEpost.src.thermophysicalModels.specie.specie.Molecule.Molecule | str | libICEpost.src.thermophysicalModels.specie.specie.Mixture.Mixture, *, fatal=True) float[source]

Compute the lower heating value (LHV) of a molecule. This must be stored in the database of fuels (database.chemistry.specie.Fuels), so that it has an oxidation reaction in the corresponding database (database.chemistry.reactions.StoichiometricReaction).

Parameters:
  • fuel (Molecule|str|Mixture) – Either the molecule, the name of the molecule, or a Mixture in case of multi-component fuel.

  • fatal (bool, optional) – Raise error if fuel not found in database? Defaults to True.

Returns:

The LHV [J/kg]

Return type:

float

libICEpost.src.thermophysicalModels.specie.reactions.functions.computeMixtureEnergy(mixture: libICEpost.src.thermophysicalModels.specie.specie.Mixture.Mixture, oxidizer: libICEpost.src.thermophysicalModels.specie.specie.Molecule.Molecule = database.chemistry.specie.Molecules.O2) float[source]

Compute the energy of a mixture based on the LHV of fuels contained. Computes stoichiometric combustion based on the fuels in the database (database.chemistry.specie.Fuels).

libICEpost.src.thermophysicalModels.specie.reactions.functions.mixture

The mixture.

Type:

Mixture

libICEpost.src.thermophysicalModels.specie.reactions.functions.oxidizer

The oxidizing agend. Defaults to database.chemistry.specie.Molecules.O2.

Type:

Molecule, optional

Returns:

The avaliable chemical energy of the mixture [J/kg]

Return type:

float