Supercritical Power Plant Flowsheet Example#
Maintainer: Andrew Lee
Author: John Eslick
1. Introduction#
This example is to demonstrate a supercritical pulverized coal power plant model. The power plant consists of two major sub-systems (or flowsheets), a boiler heat exchanger network and a steam cycle. This jupyter notebook provides the workflow to import the steam cycle flowsheet, import the boiler heat exchanger network, connect and run both the flowsheets, and display the main results.
2. Model Description#
The case study demonstrated here is for a ~620MW gross power output. The process flow diagram is shown in section 3 of this jupyter notebook. Figure 1 shows the boiler heat exchanger network, while, figure 2 shows the steam cycle system.
The streams connecting both the flowsheets are:
a) The main steam: that connects the boiler attemperator to the throttle valves of the high pressure turbine
b) The cold reheat: that connects the final stage of the high pressure turbine to the boiler reheater
c) The hot reheat: that connects the boiler reheater to the intermediate pressure turbine
d) The main feed water: that connects the last feed water heater to the boiler economizer
To get a more detailed description of the power plant flowsheet, review the SCPC_full_plant.py file. For details in terms of specific power plant units (for example dimensions, parameters, and variables), more information can be found at supercritical_steam_cycle.py and boiler_subflowsheet.py.
3. Process Flow Diagram (PFD)#
from IPython.display import SVG, display
display(
"Boiler subsystem PFD",
SVG(filename="Boiler_scpc_PFD.svg"),
"Steam Cycle subsystem PFD",
SVG(filename="supercritical_steam_cycle.svg"),
)
4. Run power plant model example#
This example runs the main SCPC_full_plant.py script, which, imports two flowsheets (steam cycle and boiler heat exchanger network), builds arcs to connect both flowsheets, and run the full power plant model.
# import SCPC power plant
# initialize steam cycle, initialize boiler heat exchanger network, connect both flowsheets,
# and run SCPC plant.
from idaes.models_extra.power_generation.flowsheets.supercritical_power_plant.SCPC_full_plant import (
main,
)
m, res = main()
5. Creating a PFD with results and a stream table#
The steam cycle results can be displayed on the PFD and as a stream table, by running the following cells.
from importlib.resources import files
import pyomo.environ as pyo
from idaes.models_extra.power_generation.flowsheets.supercritical_steam_cycle import (
pfd_result,
)
from idaes.core.util.tables import create_stream_table_dataframe
# Create stream results as Pandas dataframe
df = create_stream_table_dataframe(streams=m._streams, orient="index")
# Create a new PFD with simulation results
init_pfd = (
files("idaes.models_extra.power_generation.flowsheets.supercritical_steam_cycle")
.joinpath("supercritical_steam_cycle.svg")
.read_bytes()
)
res_pfd = pfd_result(m, df, svg=init_pfd)
# Display PFD with results.
display(SVG(res_pfd))
# Display the stream table.
df