{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Rankine Cycle Example\n",
"\n",
"## Imports"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"from thermostate import State, Q_, units, SystemInternational as SI\n",
"from thermostate.plotting import IdealGas, VaporDome\n",
"\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"\n",
"## Definitions"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"substance = \"water\"\n",
"T_1 = Q_(560.0, \"degC\")\n",
"p_1 = Q_(16.0, \"MPa\")\n",
"mdot_1 = Q_(120.0, \"kg/s\")\n",
"p_2 = Q_(1.0, \"MPa\")\n",
"p_3 = Q_(8.0, \"kPa\")\n",
"x_4 = Q_(0.0, \"percent\")\n",
"x_6 = Q_(0.0, \"percent\")\n",
"p_low = Q_(0.1, \"MPa\")\n",
"p_high = Q_(7.5, \"MPa\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"\n",
"## Problem Statement"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Water is the working fluid in an ideal regenerative Rankine cycle with one open feedwater heater. Superheated vapor enters the first-stage turbine at 16.0 MPa, 560.0 celsius with a mass flow rate of 120.0 kg/s. Steam expands through the first-stage turbine to 1.0 MPa where it is extracted and diverted to the open feedwater heater. The remainder expands through the second-stage turbine to the condenser pressure of 8.0 kPa. Saturated liquid exits the feedwater heater at 1.0 MPa. Determine\n",
"\n",
"1. the net power developed, in MW\n",
"2. the rate of heat transfer to the steam passing through the boiler, in MW\n",
"3. the overall cycle thermal efficiency\n",
"4. For extraction pressures ($p_2$) ranging from $p_{low} =$ 0.1 MPa to $p_{high} =$ 7.5 MPa, calculate the extracted mass fraction $y$ and the overall cycle thermal efficiency. Sketch a plot of $\\eta$ (on the y-axis) vs. $y$ (on the x-axis). Use at least 10 values to construct the plot. **Discuss any trends you find.**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"\n",
"## Hint\n",
"\n",
"To do the plotting, we will construct a list that contains pressures from 0.1 MPa to 7.5 MPa and use a `for` loop to iterate over that list. As we do the iteration, we will fix the values for the states that have changed, and re-compute $y$ and $\\eta$ on each iteration. We will store the value for $y$ and $\\eta$ at each pressure in a list, then plot the lists. \n",
"\n",
"To create the list of pressures, we will use a function from the `numpy` library called `linspace` that creates a range of numbers when the start, stop, and number of values are input. If we multiply the range by the `units` that we want, it will work out. Note: Not all of the state change every time the extraction pressure is changed. You only need to recompute the states that change. The code will look something like this:\n",
"\n",
"```python\n",
"y_values = []\n",
"eta_values = []\n",
"for p_2 in linspace(p_low, p_high, 10)*units.MPa:\n",
" # State 2 is definitely going to change :-)\n",
" st_2 = State(substance, p=p_2, s=s_2)\n",
" \n",
" # Now fix the rest of the states that have changed\n",
" ...\n",
" y = ...\n",
" y_values.append(y)\n",
" \n",
" Wdot_net = ...\n",
" Qdot_in = ...\n",
" eta = ...\n",
" eta_values.append(eta)\n",
" \n",
"plt.plot(y_values, eta_values, label='eta')\n",
"plt.legend(loc='best')\n",
"plt.title('$\\eta$ vs. $y$')\n",
"plt.xlabel('$y$ ($\\dot{m}_2/\\dot{m}_1$)')\n",
"plt.ylabel('$\\eta$');\n",
"```\n",
"\n",
"The syntax for the plotting function is\n",
"\n",
"```python\n",
"plt.plot(x_values, y_values, label='line label name')\n",
"```\n",
"\n",
"The rest of the code below the plotting is to make the plot look nicer. Feel free to copy-paste this code into your solution."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---\n",
"\n",
"## Solution"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1. the net power developed"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The first step is to fix all of the states, then calculate the value for $y$.\n",
"\n",
"The ideal regenerative Rankine cycle is made of 7 processes:\n",
"\n",
" 1. Isentropic expansion\n",
" 2. Isobaric heat input\n",
" 3. Isentropic expansion \n",
" 4. Isobaric heat rejection\n",
" 5. Isentropic expansion \n",
" 6. Isobaric heat rejection\n",
" 7. \n",
"\n",
"The following properties are used to fix the four states:\n",
"\n",
"State | Property 1 | Property 2 \n",
":-----:|:-----:|:-----:\n",
"1|$$p_1 $$|$$T_1 $$\n",
"2|$$p_2 $$|$$s_2=s_1 $$\n",
"3|$$p_3 $$|$$s_3=s_2 $$\n",
"4|$$p_4=p_3 $$|$$x_4 $$\n",
"5|$$p_5=p_2 $$|$$s_5=s_4 $$\n",
"6|$$p_6=p_5 $$|$$x_6 $$\n",
"7|$$p_7=p_1 $$|$$s_7=s_6 $$"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# State 1\n",
"st_1 = State(substance, T=T_1, p=p_1)\n",
"h_1 = st_1.h.to(SI.h)\n",
"s_1 = st_1.s.to(SI.s)\n",
"\n",
"# State 2\n",
"s_2 = s_1\n",
"st_2 = State(substance, p=p_2, s=s_2)\n",
"h_2 = st_2.h.to(SI.h)\n",
"T_2 = st_2.T.to(SI.T)\n",
"x_2 = st_2.x\n",
"\n",
"# State 3\n",
"s_3 = s_2\n",
"st_3 = State(substance, p=p_3, s=s_3)\n",
"h_3 = st_3.h.to(SI.h)\n",
"T_3 = st_3.T.to(SI.T)\n",
"x_3 = st_3.x\n",
"\n",
"# State 4\n",
"p_4 = p_3\n",
"st_4 = State(substance, p=p_4, x=x_4)\n",
"h_4 = st_4.h.to(SI.h)\n",
"s_4 = st_4.s.to(SI.s)\n",
"T_4 = st_4.T.to(SI.T)\n",
"\n",
"# State 5\n",
"p_5 = p_2\n",
"s_5 = s_4\n",
"st_5 = State(substance, p=p_5, s=s_5)\n",
"h_5 = st_5.h.to(SI.h)\n",
"T_5 = st_5.T.to(SI.T)\n",
"\n",
"# State 6\n",
"p_6 = p_2\n",
"st_6 = State(substance, p=p_6, x=x_6)\n",
"h_6 = st_6.h.to(SI.h)\n",
"s_6 = st_6.s.to(SI.s)\n",
"T_6 = st_6.T.to(SI.T)\n",
"\n",
"# State 7\n",
"p_7 = p_1\n",
"s_7 = s_6\n",
"st_7 = State(substance, p=p_7, s=s_7)\n",
"h_7 = st_7.h.to(SI.h)\n",
"T_7 = st_7.T.to(SI.T)\n",
"\n",
"y = (h_6 - h_5) / (h_2 - h_5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plotting the T-s diagram of the cycle,"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"image/svg+xml": [
"\r\n",
"\r\n",
"\r\n"
],
"text/plain": [
"