majordome.energy

Contents

majordome.energy#

Process setup#

class majordome.energy.CombustionPowerOp(power: float, equivalence: float, fuel_state: StateType, oxid_state: StateType)#

Combustion power operation parameters.

equivalence: float#

Alias for field number 1

fuel_state: StateType#

Alias for field number 2

oxid_state: StateType#

Alias for field number 3

power: float#

Alias for field number 0

class majordome.energy.CombustionFlowOp(mode: str, fuel_xdot: float, oxid_xdot: float, fuel_state: StateType, oxid_state: StateType)#

Combustion flow operation parameters.

fuel_state: StateType#

Alias for field number 3

fuel_xdot: float#

Alias for field number 1

mode: str#

Alias for field number 0

oxid_state: StateType#

Alias for field number 4

oxid_xdot: float#

Alias for field number 2

class majordome.energy.CombustionPowerSupply(*args, **kwargs)#

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: float#

Fuel normal density.

property fuel_volume: float#

Access to fuel volume flow rate.

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

Access to oxidizer mole fractions.

property oxidizer_mass: float#

Access to oxidizer mass flow rate.

property oxidizer_normal_density: float#

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(*args, **kwargs) str#

Provides a report of the energy source.

report_data(*args, **kwargs) list[tuple[str, str, Any]]#

Provides data for assemblying the object report.

Combustion analysis#

class majordome.energy.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.energy.CombustionAtmosphereMixer(mechanism: str, basis: str = 'mole')#

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.

Energy sources#

class majordome.energy.AbstractEnergySource(*args, **kwargs)#

Abstract base class for energy sources.

abstract property power: float#

Energy source provided power [W].

report(*args, **kwargs) str#

Provides a report of the energy source.

report_data(*args, **kwargs) list[tuple[str, str, Any]]#

Provides data for assemblying the object report.

class majordome.energy.CanteraEnergySource(*args, **kwargs)#

An abstract Cantera based energy source.

property fluid: Solution | Quantity#

Provides access to the internal Cantera solution object.

property phase: str#

Access to the phase object.

property power: float#

Energy source provided power [W].

report_data(*args, **kwargs) list[tuple[str, str, Any]]#

Provides data for assemblying the object report.

property solution: Solution#

Provides access to a new Cantera solution object.

property source: str#

Access to the source object.

class majordome.energy.GasFlowEnergySource(*args, **kwargs)#

An abstract gas flow energy source.

property flue: Solution | Quantity#

Provides access to flue gas.

property mass_flow_rate: float#

Provides access to mass flow rate [kg/s].

property momentum_flux: float#

Provides access to momentum flux in burner [kg.m/s²].

report_data(*args, **kwargs) list[tuple[str, str, Any]]#

Provides data for assemblying the object report.

property volume_flow_rate: float#

Provides access to volume flow rate [m³/s].

class majordome.energy.HeatedGasEnergySource(*args, **kwargs)#

Non-reacting heated gas flow energy source.

report_data(*args, **kwargs) list[tuple[str, str, Any]]#

Provides data for assemblying the object report.

property solution: Solution#

Provides access to a new Cantera solution object.

class majordome.energy.CombustionEnergySource(*args, **kwargs)#

Combustion based energy source.

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

Provides access to used fuel.

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

Provides access to used oxidizer.

report_data(*args, **kwargs) list[tuple[str, str, Any]]#

Provides data for assemblying the object report.

property solution: Solution#

Provides access to a new Cantera solution object.