Skip to content

Commit

Permalink
Add some description for the first step
Browse files Browse the repository at this point in the history
  • Loading branch information
fwitte committed Oct 20, 2024
1 parent ed386ed commit 5a320d6
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 7 deletions.
53 changes: 49 additions & 4 deletions docs/tutorials/hrsg_process_steam.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,22 @@ gas (e.g. from a gas turbine) to generate process steam and electricity. The
figure above shows the structure of the system and the 4 steps we take to build
the system.

It is a simplified version of an actual plant with some unique features:

- The economizer bypass (connection 28) actually represents a performance
downgrade for the boiler. The technical reason is to allow it to produce less
than 30 % of the nominal steam mass flow. With this measure the CHP plant
can produce almost any steam flow between 40 t/h and 210 t/h, which is a
unusual wide range.
- The real economizer has eight stages. To simplify, we only model there here.
- Interestingly, the boiler is operated with what could be called a "negative
approach" (the temperature coming out of the economizer was higher than that
of the HP drum). This issue is managed by increasing the economizer pressure.
Although this solution is inefficient from an energy standpoint, it was
chosen for operational safety, likely to reduce the risk of economizer
steaming.
- The sweetwater condenser is a solution for HP steam desuperheating.

...

- Table on boundary conditions
Expand Down Expand Up @@ -54,21 +70,30 @@ Steam supply and turbine section

Figure: First part of the system

In the first part we will model the steam supply part and the turbine. We start
by importing the :code:`Network` class and creating an instance of it.

.. literalinclude:: /../tutorial/advanced/hrsg.py
:language: python
:start-after: [sec_1]
:end-before: [sec_2]

Components
++++++++++
Components and Connections
++++++++++++++++++++++++++

For the components, we need to import the respective classes as shown in this
part of the flowsheet and create the respective instances.

.. literalinclude:: /../tutorial/advanced/hrsg.py
:language: python
:start-after: [sec_2]
:end-before: [sec_3]

Connections
+++++++++++
The same applies for the connections. The extraction steam turbine is connected
to the live steam source. At a later stage, this connection will be replaced by
one that directly links the high pressure superheater 2. Similarly, the
connection 15 connects to a sink, which will be replaced by the low pressure
feed pump later.

.. literalinclude:: /../tutorial/advanced/hrsg.py
:language: python
Expand All @@ -78,6 +103,26 @@ Connections
Parametrization & solving
+++++++++++++++++++++++++

For the live steam at the turbine inlet we have to assume a steam mass flow. In
the completed model it will be governed from the flue gas mass flow. On top of
that, we need temperature and pressure information. For the steam supply a
pressure of 13 bar and 10 °C of superheating is required. There also is a
specific mass flow to be provided, which however cannot be directly as this
specification would cause convergence issues. Instead, massflow 3 is fixed
initially. The outlet of the condenser is saturated liquid at a temperature of
35 °C. The condensate pump pumps the pressure back to ambient pressure. It is
assumed that 75 % of the process steam leaving the plant returns in the form of
condensate. The remaining mass flow is replaced by the makeup water.

.. literalinclude:: /../tutorial/advanced/hrsg.py
:language: python
:start-after: [sec_4]
:end-before: [sec_5]

For the components we can specify the isentropic efficiencies of the turbines
and the pumps as well as the pressure ratio of the condensing turbine inlet
valve as well as the condenser pressure loss.

.. literalinclude:: /../tutorial/advanced/hrsg.py
:language: python
:start-after: [sec_5]
Expand Down
11 changes: 8 additions & 3 deletions tutorial/advanced/hrsg.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,8 @@

condensate_return_fraction = 0.75
c13.set_attr(fluid={"water": 1}, x=0, m=Ref(c11, condensate_return_fraction, 0))
c14.set_attr(fluid={"water": 1}, m=1, T=Tamb)
c14.set_attr(fluid={"water": 1}, T=Tamb)
c15.set_attr(m=200)
# %%[sec_5]
extraction_turbine.set_attr(eta_s=0.9)
condensing_turbine.set_attr(eta_s=0.9)
Expand All @@ -88,6 +89,12 @@
steam_cond_pump.set_attr(eta_s=0.7)

nw.solve("design")

c3.set_attr(m=None)
c11.set_attr(m=extraction_mass_flow)

nw.solve("design")

nw.print_results()
# %%[sec_6]
from tespy.components import Drum
Expand Down Expand Up @@ -134,8 +141,6 @@

nw.add_conns(c15, c16, c17, c18, c19, c20, c21, c22, c23, c24, c25, c26, c27, c28, c29)
# %%[sec_7]
c14.set_attr(m=None)

c16.set_attr(p=2.3, T=55)
c17.set_attr(T=100, p0=2.3)
c20.set_attr(x=.05)
Expand Down

0 comments on commit 5a320d6

Please sign in to comment.