engineeringkit.thermodynamics#
Ideal gases, heat/work accounting, ideal cycles and exergy.
Classical thermodynamics and idealized power/refrigeration cycles.
- class engineeringkit.thermodynamics.OttoCycle(compression_ratio, gamma=1.4)[source]#
Bases:
object- Parameters:
compression_ratio (float)
gamma (float)
- compression_ratio: float#
- property efficiency#
- gamma: float = 1.4#
- engineeringkit.thermodynamics.brayton_efficiency(pressure_ratio, gamma=1.4)[source]#
Brayton efficiency.
- Parameters:
pressure_ratio (1) – Input in the units stated above.
gamma (1) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.carnot_cop_heat_pump(T_hot, T_cold)[source]#
Carnot cop heat pump.
- Parameters:
T_hot (K (absolute)) – Input in the units stated above.
T_cold (K (absolute)) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.carnot_cop_refrigerator(T_hot, T_cold)[source]#
Carnot cop refrigerator.
- Parameters:
T_hot (K (absolute)) – Input in the units stated above.
T_cold (K (absolute)) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.carnot_efficiency(T_hot, T_cold)[source]#
Carnot efficiency.
- Parameters:
T_hot (K (absolute)) – Input in the units stated above.
T_cold (K (absolute)) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.clausius_inequality(cyclic_heat_over_temperature)[source]#
Return whether a discretized cyclic Clausius integral satisfies sum(dQ/T) <= 0.
- Parameters:
cyclic_heat_over_temperature (J/K) – Input in the units stated above.
- Returns:
bool.
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.diesel_efficiency(r, cutoff, gamma=1.4)[source]#
Diesel efficiency.
- Parameters:
r (1) – Input in the units stated above.
cutoff (1) – Input in the units stated above.
gamma (1) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.entropy_change_isothermal_ideal_gas(n, T, V1, V2)[source]#
Entropy change isothermal ideal gas.
- Parameters:
n (mol) – Input in the units stated above.
T (K (absolute)) – Input in the units stated above.
V1 (m^3) – Input in the units stated above.
V2 (m^3) – Input in the units stated above.
- Returns:
J/K.
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.exergy_destruction(T0, entropy_generation)[source]#
Exergy destruction.
- Parameters:
T0 (K (absolute)) – Input in the units stated above.
entropy_generation (J/K) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.exergy_heat(Q, T_source, T0)[source]#
Exergy heat.
- Parameters:
Q (J) – Input in the units stated above.
T_source (K (absolute)) – Input in the units stated above.
T0 (K (absolute)) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.first_law_heat(delta_u, work_by_system)[source]#
First law heat.
- Parameters:
delta_u (J) – Input in the units stated above.
work_by_system (J) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.heat_engine_work(Qin, Qout)[source]#
Heat engine work.
- Parameters:
Qin (J) – Input in the units stated above.
Qout (J) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.heat_pump_cop(q_hot, work_input)[source]#
Heat pump cop.
- Parameters:
q_hot (J) – Input in the units stated above.
work_input (J) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.ideal_gas_pressure(n, T, V)[source]#
Ideal gas pressure.
- Parameters:
n (mol) – Input in the units stated above.
T (K (absolute)) – Input in the units stated above.
V (m^3) – Input in the units stated above.
- Returns:
Pa.
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.ideal_gas_temperature(P, V, n)[source]#
Ideal gas temperature.
- Parameters:
P (Pa) – Input in the units stated above.
V (m^3) – Input in the units stated above.
n (mol) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.isentropic_pressure_volume(p1, v1, v2, gamma=1.4)[source]#
Isentropic pressure volume.
- Parameters:
p1 (Pa) – Input in the units stated above.
v1 (consistent volume units (e.g. m^3/kg)) – Input in the units stated above.
v2 (consistent volume units (e.g. m^3/kg)) – Input in the units stated above.
gamma (1) – Input in the units stated above.
- Returns:
Pa.
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.isentropic_temperature_ratio(pressure_ratio, gamma=1.4)[source]#
Isentropic temperature ratio.
- Parameters:
pressure_ratio (1) – Input in the units stated above.
gamma (1) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.otto_efficiency(compression_ratio, gamma=1.4)[source]#
Otto efficiency.
- Parameters:
compression_ratio (1) – Input in the units stated above.
gamma (1) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.rankine_ideal_efficiency(h1, h2, h3, h4)[source]#
Ideal Rankine efficiency from pump-in, boiler-out, turbine-out, condenser-out enthalpies.
- Parameters:
h1 (J/kg) – Input in the units stated above.
h2 (J/kg) – Input in the units stated above.
h3 (J/kg) – Input in the units stated above.
h4 (J/kg) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.refrigeration_cop(q_cold, work_input)[source]#
Refrigeration cop.
- Parameters:
q_cold (J) – Input in the units stated above.
work_input (J) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.reversible_isothermal_work_ideal_gas(n, T, V1, V2)[source]#
Reversible isothermal work ideal gas.
- Parameters:
n (mol) – Input in the units stated above.
T (K (absolute)) – Input in the units stated above.
V1 (m^3) – Input in the units stated above.
V2 (m^3) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.specific_enthalpy_ideal_gas(T, cp)[source]#
Specific enthalpy ideal gas.
- Parameters:
T (K (absolute)) – Input in the units stated above.
cp (J/(kg K)) – Input in the units stated above.
- Returns:
J/kg.
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.specific_internal_energy_ideal_gas(T, cv)[source]#
Specific internal energy ideal gas.
- Parameters:
T (K (absolute)) – Input in the units stated above.
cv (J/(kg K)) – Input in the units stated above.
- Returns:
J/kg.
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.
- engineeringkit.thermodynamics.thermal_efficiency(Qin, Qout)[source]#
Thermal efficiency.
- Parameters:
Qin (J) – Input in the units stated above.
Qout (J) – Input in the units stated above.
- Returns:
- Return type:
result
Notes
Assumptions, governing equations and validity limits are discussed in Thermodynamics: total versus specific quantities and cycle states. SI inputs are required; raw numbers carry no dimensional metadata.