Example ORC - Nouman090/ThermoSim GitHub Wiki
Description
An ORC uses an organic working fluid (e.g., R245fa) to generate power from low-temperature heat sources (100–300°C).
Complete Code
from ThermoSim import (
ThermodynamicModel, Turbine, Pump, HeatExchanger,
)
from ThermoSim.plotting import CyclePlotter
Model = ThermodynamicModel()
Model.set_dead_state()
wf = 'R245fa'
T_hot = 150 + 273.15 # heat source temperature
m_dot = 1.0
eta_t = 0.80
eta_p = 0.75
P_evap = 10e5 # 10 bar
P_cond = 1.5e5 # 1.5 bar
# State points
Model.add_point(wf, '1', P=P_evap, T=T_hot - 10, Mass_flowrate=m_dot)
Model.add_point(wf, '2', P=P_cond)
Model.add_point(wf, '3', P=P_cond, Q=0)
Model.add_point(wf, '4', P=P_evap)
# Components
Turbine(Model, 'ORC_Turbine', '1', '2', n_isen=eta_t)
HeatExchanger(Model, 'ORC_Condenser', PPT=5, HEX_type='SimpleHEX',
HeatAdded=False,
Hot_In_state='2', Hot_Out_state='3',
Cold_In_state=None, Cold_Out_state=None)
Pump(Model, 'ORC_Pump', '3', '4', n_isen=eta_p)
HeatExchanger(Model, 'ORC_Evaporator', PPT=5, HEX_type='SimpleHEX',
HeatAdded=True,
Hot_In_state=None, Hot_Out_state=None,
Cold_In_state='4', Cold_Out_state='1')
Model.Solve(verbose=1)
Model.ModelSummary()
plotter = CyclePlotter(Model)
plotter.plot_Ts_diagram(['1', '2', '3', '4', '1'],
fluid='R245fa',
title='ORC with R245fa')