CoolProp.Plots.SimpleCyclesExpansion module

class CoolProp.Plots.SimpleCyclesExpansion.BasePowerCycle(fluid_ref='HEOS::Water', graph_type='TS', **kwargs)

Bases: BaseCycle

A thermodynamic cycle for power producing processes.

Defines the basic properties and methods to unify access to power cycle-related quantities.

see CoolProp.Plots.SimpleCycles.BaseCycle for details.

eta_carnot()

Carnot efficiency

Calculates the Carnot efficiency for the specified process, :math:`eta_c = 1 -

rac{T_c}{T_h}`.

float

eta_thermal()

Thermal efficiency

The thermal efficiency for the specified process(es), :math:`eta_{th} =

rac{dot{W}_{exp} - dot{W}_{pum}}{dot{Q}_{in}}`.

float

class CoolProp.Plots.SimpleCyclesExpansion.SimpleRankineCycle(fluid_ref='HEOS::Water', graph_type='TS', **kwargs)

Bases: BasePowerCycle

A simple Rankine cycle without regeneration

see CoolProp.Plots.SimpleCycles.BasePowerCycle for details.

STATECHANGE = [<function SimpleRankineCycle.<lambda>>, <function SimpleRankineCycle.<lambda>>, <function SimpleRankineCycle.<lambda>>, <function SimpleRankineCycle.<lambda>>]

A list of lists of tuples that defines how the state transitions behave for the corresponding entry in BaseCycle.STATECOUNT

STATECOUNT = 4

A list of accepted numbers of states

eta_thermal()

Thermal efficiency

The thermal efficiency for the specified process(es), :math:`eta_{th} =

rac{dot{W}_{exp} - dot{W}_{pum}}{dot{Q}_{in}}`.

float

simple_solve(T0, p0, T2, p2, eta_exp, eta_pum, fluid=None, SI=True)

” A simple Rankine cycle calculation

Parameters:
  • T0 (float) – The coldest point, before the pump

  • p0 (float) – The lowest pressure, before the pump

  • T2 (float) – The hottest point, before the expander

  • p2 (float) – The highest pressure, before the expander

  • eta_exp (float) – Isentropic expander efficiency

  • eta_pum (float) – Isentropic pump efficiency

Examples

>>> import CoolProp
>>> from CoolProp.Plots import PropertyPlot
>>> from CoolProp.Plots import SimpleRankineCycle
>>> pp = PropertyPlot('HEOS::Water', 'TS', unit_system='EUR')
>>> pp.calc_isolines(CoolProp.iQ, num=11)
>>> cycle = SimpleRankineCycle('HEOS::Water', 'TS', unit_system='EUR')
>>> T0 = 300
>>> pp.state.update(CoolProp.QT_INPUTS,0.0,T0+15)
>>> p0 = pp.state.keyed_output(CoolProp.iP)
>>> T2 = 700
>>> pp.state.update(CoolProp.QT_INPUTS,1.0,T2-150)
>>> p2 = pp.state.keyed_output(CoolProp.iP)
>>> cycle.simple_solve(T0, p0, T2, p2, 0.7, 0.8, SI=True)
>>> cycle.steps = 50
>>> sc = cycle.get_state_changes()
>>> import matplotlib.pyplot as plt
>>> plt.close(cycle.figure)
>>> pp.draw_process(sc)