majordome.combustion#

Process setup#

class majordome.combustion.CombustionPowerSupply(power: float, equivalence: float, fuel: str | dict[str, float], oxidizer: str | dict[str, float], mechanism: str, species: str = 'O2', emissions: bool = True, basis: str = 'mass')#

Provides combustion calculations for given power supply.

Parameters:
power: float

Total supplied power [kW]

equivalence: float

Oxidizer-fuel equivalence ratio.

fuel: CompositionType

Composition of fuel in species mole fractions.

oxidizer: CompositionType

Composition of oxidizer in species mole fractions.

mechanism: str

Kinetics mechanism/database to use in computations.

species: str = “O2”

Reference species for oxidizer mass balance.

emissions: bool = True

If true, compute emissions of water and carbon dioxide.

basis: str = “mass”

Basis on which to compute equivalence ratio.

property fuel: str | dict[str, float]#

Access to fuel mole fractions.

property fuel_mass: float#

Access to fuel mass flow rate.

property fuel_normal_density#

Fuel normal density.

property fuel_volume: float#

Access to fuel volume flow rate.

property oxidizer#

Access to oxidizer mole fractions.

property oxidizer_mass: float#

Access to oxidizer mass flow rate.

property oxidizer_normal_density#

Oxidizer normal density.

property oxidizer_volume: float#

Access to oxidizer volume flow rate.

property power: float#

Access to combustion power [kW].

property production_carbon_dioxide: float#

Access to complete combustion CO2 mass flow rate.

property production_water: float#

Access to complete combustion H2O mass flow rate.

report() str#

Generate combustion power and flow rates report.

Combustion analysis#

class majordome.combustion.CombustionAtmosphereCHON(mechanism: str, basis: str = 'mass')#

Combustion atmosphere calculations for CHON system.

Parameters:
mechanism: str

Kinetics mechanism/database to use in computations.

basis: str = “mass”

Basis on which to compute equivalence ratio.

combustion_setup(power: float, phi: float, fuel: str | dict[str, float], oxidizer: str | dict[str, float], species: str = 'O2') tuple[float, float, float]#

Evaluates combustion setup for given quantities.

Parameters:
power: float

Total supplied power [kW]

phi: float

Oxidizer-fuel equivalence ratio.

fuel: CompositionType

Composition of fuel in species mole fractions.

oxidizer: CompositionType

Composition of oxidizer in species mole fractions.

species: str = “O2”

Reference species for oxidizer mass balance.

normal_density(X: str | dict[str, float]) float#

Compute solution normal density.

Parameters:
X: CompositionType

Composition of solution in species mole fractions.

Returns:
float

Solution density under standard state [kg/Nm³].

normal_flow(mdot: float, X: str | dict[str, float]) float#

Computes volume flow rate from mass flow and composition.

Parameters:
mdot: float

Solution mass flow rate [kg/s].

X: CompositionType

Composition of solution in species mole fractions.

Returns:
float

Volume flow rate under standard state [Nm³/h].

solution_heating_value(fuel: str | dict[str, float], oxidizer: str | dict[str, float]) float#

Evaluate lower heating value of mixture.

Parameters:
fuel: CompositionType

Composition of fuel in species mole fractions.

oxidizer: CompositionType

Composition of oxidizer in species mole fractions.

Returns:
float

Lower heating value of provided mixture [MJ/kg].

class majordome.combustion.CombustionAtmosphereMixer(mechanism: str)#

Provides addition of thermochemical quantities.

Parameters:
mechanism: str

Kinetics mechanism/database to use in computations.

add_quantity(mass: float, X: str | dict[str, float], T: float = 273.15, P: float = 101325.0) Quantity#

Add quantity at given state to global mixture.

Parameters:
mass: float

Amount of matter in kilograms.

X: CompositionType

Composition of quantity in mole fractions.

T: float = 273.15

Solution temperature in kelvin.

P: float = ct.one_atm

Solution pressure in pascal.

property solution: Quantity#

Provides access to computed solution, if any.

Utilities#

majordome.combustion.copy_quantity(qty: Quantity) Quantity#

Makes a hard copy of a ct.Quantity object.