COUPLED SOLAR COAL POWER PLANT
description
Transcript of COUPLED SOLAR COAL POWER PLANT
-
C O U P L E D S O L A R - C O A L P O W E R P L A N T
F i n a l R e p o r t
Prepared for: Professor John Daily, Classical Thermodynamics (MCEN-5228)
Prepared by: Alex Turner, Brian Stillwell, and Andrew Beat
Date: December 2, 2010
-
1
Project Abstract The Cameo Station Power Plant outside of Palisade, Colorado is the only coupled
concentrated solar coal power plant in the world provides a unique design to simulate. This
coupling of a fossil fuel plant with a renewable energy source may become the model for aging
power plants. We modeled a Rankine cycle with two feedwater heaters, a high pressure turbine,
a low pressure turbine, a reheat stage, and a preheat from a solar trough. This model included an
energy, exergy, and system loss analysis. We modeled the solar trough array including a
monthly mean diurnal cycle and a seasonal cycle. The solar trough array was modeled in Matlab
due to the ease of matrix manipulation and the Rankine cycle was modeled in Engineering
Equation Solver (EES) for the thermodynamic property relations as well as the iterative solver.
We found an increase in the thermal efficiency of 2% with the inclusion of the solar arrays which
corresponds to a 5% reduction in coal consumption or 350 tons of coal per year. This analysis is
in agreement with data we received from the Cameo Station Power Plant who purport a 2~3%
reduction of coal use with the addition of the solar troughs. Our results agree with the measured
data from Cameo Station so far.
Background Cameo Station Power Plant has been operating for just over half a century. The plant
was first built as a coal fired Rankine cycle power plant to supply energy to part of the Colorado
Western Slope including Grand Junction. The current plant capacity is listed as 73 Megawatts
and uses 300,000 tons of coal (2005 estimate).
In 2009 Xcel Energy announced that Cameo Station Power Plant would close at the end
of 2010 due to a lack of energy demand. With the announcement also came news of a
concentrated solar trough unit in the plant to reduce the carbon emissions and coal use of the
facility. The addition of the solar unit is estimated to reduce coal use by 2-3% by preheating the
water in a heat exchanger before reaching the boiler.
The coal portion of the plant is a traditional steam coal-fired Rankine cycle. Cameo
Station uses low-sulfur coal from the McClane Canyon Mine about 30 miles away. The plant
also employs baghouse units, similar to the bag in a vacuum, on the stacks to reduce greenhouse
gas emissions. Xcel Energy claims the baghouse units remove more than 99% of the particulate
emissions from the flue gas.[1]
-
2
The integration of solar troughs into the plant is mainly for testing purposes with a goal
of combining renewable energy sources into traditional fossil fuel plants to reduce fossil fuel use
by approximately 10 percent. The solar troughs use a food-grade mineral oil as the working
fluid in the heat exchanger to preheat the working fluid in the Rankine Cycle, see Figure 1. The
use of solar troughs in this system reduces coal consumption by pre-heating the fluid that enters
the boiler and consequently reduces the energy needed to reach the desired temperature. The
downside to using the solar troughs is seen while comparing when maximum solar irradiation
incident on the troughs occurs, around 2 PM, and peak energy demand occurs, usually around 6
PM. This offset means that the full advantage of solar pre-heating cannot be used when energy
is most needed. In order to maximize efficiency of the power plant a storage system for the
energy gained from the sun needs to be created to close the gap between the peaks.
Figure 1. A diagram of the Cameo Station Power Plant, Xcel Energy 2010, http://www.xcelenergy.com/Colorado/Company/Environment/CO-Innovative-Clean-Technology/Pages/ColoradoIntegratedSolarProject.aspx
-
3
Project Summary and Goals Since we cannot get sufficient information on the Cameo Station Power Plant to
accurately model their system, we will model a concentrated solar trough unit coupled to a
traditional coal fired Rankine cycle power plant. We modeled the concentrated-solar unit and
the Rankine cycle separately. We then focused on optimization, environmental concerns and
economic analysis.
In this report, we will provide an overview of the entire process and all the components
through which the working fluid passes in a coal fired plant with solar heaters. We will show the
entire cycle in T-s space for the cycle to give a visual idea of what is happening in the cycle.
In this report, we will analyze the thermal impact on the boiler and the cycle as a whole
from having solar assistance during the day. A comparison of a purely coal fired plant with
heating done from turbine extraction and a coal plant with solar reheat will be provided in the
final report. In addition, we will predict the efficiency of processes throughout the cycle such as
the thermal efficiency of the solar heating, boiler heating, and turbine work extraction. We will
report the predicted and actual values for turbine losses, pump losses, piping losses, and
condenser losses. After a thorough evaluation of the components of the system, we will propose
improvements to the various processes in a thermal sense and an economic sense.
Project Description Our project is broken into two main components, the Rankine Cycle that produces the
bulk of the power and the solar field that is used to aid the process of preheating the working
fluid before entering the boiler.
Solar
The second major component of the plant is an array of solar troughs used to preheat the
working fluid in the system before entering the boiler. This process is accomplished by
installing a series concentrating parabolic solar collectors that collect the energy from the sun to
heat a liquid which is transferred to a heat exchanger where the working fluid of the power plant
is receive additional heat prior to entering the boiler. This means that less coal needs to be used
to reach the same exit temperature. The pre-heat system schematic is shown in Figure 2 below.
-
4
The solar array warms a second working fluid to be used in a heat exchanger to preheat the
Rankine cycle working fluid.
Figure 2. Schematic for a parabolic trough heat exchanger.
In order for a power plant using solar preheat to run efficiently it must be able to predict
the heat received from the collectors so that the proper amount of fuel can be added to the boiler.
This task is much more complicated than expected due to the suns varying trajectory and
intensity throughout the year as well as the loss of sunlight at night. Since the collector
production depends on available sunlight, it is essential that a relationship between the two be
determined. Without this the total output of the collectors cannot be estimated. With this
relationship, the total radiation hitting the plant site can be estimated leaving only the efficiency
of the collector needing to be calculated.
To estimate the efficiency of a concentrating solar collector can be complicated because
there are many parameters that need to be considered. Also, how the parameters relate to one
another is important. The main physical components of a concentrating collector are the
aperture, receiver, and concentrator. The aperture is the opening through which the solar
radiation enters the concentrator. The radiation is then redirected to the receiver via the
concentrator. The receiver is the portion of the collector where the radiation is absorbed and
transferred to the working fluid. The ratio of the aperture and receiver areas is known as the
-
5
concentration ratio which is commonly used to rate concentrating collectors, higher being better.
For circular concentrators this ratio can range from 10, very low, to 45,000, extremely high and
difficult to achieve. A basic diagram of a parabolic concentrating collector can be found below.
Figure 3. Diagram of a typical solar trough. [2]
The next component of a collector to consider is it heat removal factor, or flow factor,
which is a measure of the energy transfer between the outer casing of the receiver and the
working fluid. Since the collector is essentially a heat exchanger, this factor is very important
when dealing with performance. In addition to the heat removal factor, the loss coefficient is
required to estimate the total heat transfer in the collector. This coefficient is a measure of
thermal losses to the environment from the receiver. Minimizing heat losses while maximizing
heat removal from the fluid will provide the highest system efficiencies.
For our research we will be evaluating the system of solar collectors at Cameo Power
Plant for total heat output for each hour of the day and each month of the year. The system
installed at Cameo consists of 8 rows of collectors, each 500 feet long.[1] The receiver tube is
2.5 inches in diameter, runs the full length of the trough, and is surrounded by a vacuum chamber
for insulation.
-
6
Rankine Cycle
We started the Rankine Cycle portion of our code by modeling a perfectly efficient cycle
with one hundred percent adiabatic efficiency and no availability destroyed. We included, in this
portion, the standard elements of a Rankine cycle; the condenser, pump, boiler and turbine. We
defined procedures for each of the elements that we can call to calculate useful outputs based on
given property inputs. This ensures that no matter how many elements we add to the system, we
will never have to write the code over in the script file. We can just call the procedure every
time to get the outputs. This shortened the amount of code we had to write and also made
debugging the code easier than writing everything in the script file.
After getting the simple perfect Rankine cycle to run, we started adding levels of
complexity to the cycle. We started by defining a high pressure turbine and a low pressure
turbine in the script file. We then split each of the turbines and added two open-style feedwater
heater extractions within each of the turbines. To achieve the feedwater extractions, we split
each turbine call into two turbine procedure calls and specified the pressure and temperature to
achieve all the other states at the middle point where the extraction occurs. So, every turbine in
the cycle consists of two turbine calls. The first call is for the turbine before the extraction and
the second is after the steam has been extracted. Using this method we can keep the complexity
of the code down while adding complexity to the modeled cycle. The code can be viewed in the
appendix.
We wrote a procedure to model an open feedwater heater in which the inputs were from
two sources. This is where the code became tricky for us. We had to define a percentage of
steam that left the turbines and was added to the feedwater heaters. We did this by splitting the
mass flow rate in the output of the turbines. We assumed, as a first approximation, that about ten
percent of the mass flow out of the turbine went to the feedwater heaters to pre-warm the
subcooled liquid entering the boiler. The goal of the heaters is to warm the working fluid to hit
exactly the saturation curve right before the last pump so the boiler can put all its heat into the
working fluid. After adding the feedwater heaters, we had to add booster pumps to the cycle
between feedwater heaters.
In addition to the feedwater heaters, we also have a heat addition term from the solar
array. The two systems work in parallel to preheat the compressed liquid water entering the
boiler. The reason we have both is that the solar array cannot add heat at all times. At night or
-
7
on cloudy days the feedwater heaters have to do all of the preheating. However on a sunny day,
solar radiation is a good source of heat to increase the efficiency of the cycle. The heat addition
from the solar array depends greatly on time-of-day and will be discussed in a later section.
After splitting the turbines and extracting steam for the feedwater heaters, we added a
reheat cycle between the two turbines. We only included a single stage of reheat because a
double reheat is only used on supercritical-pressure (P > 22.06 MPa) power plants. [2] To do
this, we reused the boiler command because we are assuming, essentially, that the temperature
output is the same as the point right after the boiler. This is a good approximation because if the
reheat section is long enough, the temperature would be equal to that of the exiting steam. The
temperature is defined as a constant, but the other output properties are a function of the inputs.
So, since the code would be the same, we just reused the boiler procedure.
After getting all of our code to run with the added elements, we added exergy analysis to
every component. We wrote an availability function for the input and output into each
component procedure and also defined an irreversibility term as well. We essentially defined an
ambient state in the script that includes ambient pressure, temperature, enthalpy and entropy then
added these to the procedure call inputs. The output is the irreversibility. The exergy is a much
more useful metric than the second law efficiency because there is energy that is not accounted
for in the second law efficiency that is accounted for in the exergy analysis.
We wrote a piping procedure and add piping between each component based on a
realistic length to characterize the minor and friction losses seen by the system. We used a
procedure called pipe to add between every component. To avoid confusion and time lost
debugging code we labeled the inputs to every component with an a and the output to the
components with a b. All the components except the pipes will have a inputs and b
outputs. The pipes will be the exact opposite with b inputs and a outputs. For example, the
input temperature state to the boiler call will be labeled T[6a] and the output will be labeled
T[6b].
Procedure Solar The first step to determining the heat output of the solar array was to find the total
radiation from the sun available for different times during the year. This data was obtained from
-
8
the National Solar Radiation Data Base (NSRDB) which is organized by the National Renewable
Energy Laboratory (NREL).[4] NSRDB provides a document containing the available solar
radiation for specific sites at each hour of the day, 365 days a year. This data is collected via
many climate stations around the country every year. For this research the most recent available
data for Grand Junction, Colorado was used. To simplify calculations an average solar radiation
was obtained at each hour of the day for each month. This data can be found in the appendix.
Once these averages were found they were input into the following equation [4]:
(1)
Where is the usable heat delivered from the collectors, is the heat removal factor,
is the area of the aperture, is the area of the receiver, is the solar radiation that enters
the collector, is the thermal loss coefficient, and and are the inlet and ambient
temperatures, respectively. Because the solar portion of the Cameo Power Plant is still in the
testing phase, much of the information required to evaluate the above equation is confidential
and could not be shared with our group. However, SkyFuel, a competitor of Abengoa Solar,
provided us with enough information on solar troughs to fill in the gaps that remained.
Additionally, another calculation simplification was made by assuming a constant ambient
temperature of 25 C throughout the year. For the heat removal factor, the reflectivity of the
mirrored surface was given as 0.94 so it was assumed that the collector tube was a blackbody,
therefore, the removal factor was 0.94 as well. The areas of the aperture and receiver were
calculated from information supported by Xcel and SkyFuel. The inlet temperature of the fluid
was also taken from data given by SkyFuel. In order to determine the thermal losses on the
collectors an overall thermal efficiency of 68% was provided by SkyFuel and this was used to
find the losses after calculating the output with zero overall losses. A detailed explanation of the
calculations can be found in the solar code in the appendix.
Once the heat outputs were found at each hour for each month totals were determined and
used as inputs for the pre-heat in the Rankine cycle of the power plant.
Rankine Cycle
The majority of the model is written in Engineering Equation Solver (EES), with the
exception of the solar preheat component, and subdivided into six main subroutines that perform
most of the operations in the model. There is a subroutine for a pump, boiler, turbine, open
-
9
feedwater heater, condenser, and the piping. The solar component is written in Matlab because
the program needs to be able to read large amounts of environmental data and is then passed as
an input into our Rankine cycle code.
Figure 4. Overall System Schematic
Pump Module:
The modules take advantage of the built in thermodynamic relations in EES as well as
the implicit solver to give the user more freedom in what variables are the inputs. The first
module is the pump module. The pump module uses the first and second law of
thermodynamics, Eq. (2) and Eq. (3) respectively, to estimate an input work in order to reach a
user specified exit pressure. This module also calculates the exergy destroyed, or irreversibility
Eq. (6).[2][13]
-
10
n Pump Module = f(Pin , vin , Pout , )
(2)
(3)
(4)
(5)
(6)
Boiler Module:
The second module is the boiler module and is used to estimate the heat transfer needed
to reach a user specified temperature for both the initial heating and the reheating stage. The
boiler module also takes potential energy changes into account as well as irreversibilities in the
heat transfer process. Calculating the heat transfer is done by a first law analysis of the thermal
and potential energy change Eq. (7). Because a boiler is essentially just a very large heat
exchanger the heat exchanger exergy equations, Eq. (9), were utilized in the determination of the
irreversibility Eq. (10). [2][13]
n Boiler Module = f(Pin , hin , Tout , )
(7)
(8)
(9)
(10)
Turbine Module:
The turbine module is used to determine the work extracted from the system and balance
the mass flows into the feedwater heaters. This simulation assumed one reheat because our
model is not a supercritical power plant and using more than a single reheat would be inefficient
(Cengel and Boles 2008). In each turbine cycle we assumed one extraction for a feedwater
-
11
heater, because of this it was practical to write the extraction and the two stages of the expansion
as one module. The module uses conservation of mass, the first [Eq. (13)], and the second law of
thermodynamics [Eq. (11) and Eq. (12)] to determine the work extracted and the mass flow into
the feedwater heater. It also uses an exergy analysis of the stream availability to determine the
irreversibility Eq. (16). [2][13]
n Turbine Module = f(Pin , Tin , Pextract , Pout , )
(11)
(12)
(13)
(14)
(15)
(16)
Open Feedwater Heater Module:
The feedwater heaters used in our model were all open feedwater heaters and are treated
as mixing chambers. The mass balance Eq. (17) and an energy balance Eq. (18) allow us to
easily determine the enthalpy at the exit of the feedwater heater. Furthermore, the irreversibility
can be calculated from a stream availability balance Eq. (20). Our model assumes two feedwater
heaters because we have a relatively small-scale power plant and a large plant generally will not
have more than 8 feedwater heaters as described by Cengel and Boles. [2][13]
n Feedwater Module = f(Pin , hturbine , hpump , turbine , pump)
(17)
(18)
(19)
(20)
-
12
Condenser Module:
The approximation of the condenser is a heat exchanger with a low temperature reservoir
and is the reverse of the boiler. The module provides an estimate of the heat rejected to the
environment on a first law basis Eq. (21) and because it is approximated as a heat exchanger this
module uses an exergy analysis of a heat exchanger to estimate the irreversibility Eq. (24).
[2][13]
n Condenser Module = f(Pin , hin , Pout , Tout , )
(21)
(22)
(23)
(24)
Pipe Module:
Piping losses are included between each element and are determined based on the length,
diameter, temperature, pressure, and mass flow rate. The piping module assumes a constant
surface roughness for all pipes and uses the built in Moody diagram approximation for the
friction factor Eq. (29) such as the Colebrook equation Eq. (30). This module also assumes a
minor head loss value based on the length of the pipe. These equations can be combined to
provide an estimate of the head loss in the pipe Eq. (31) and a pressure drop Eq. (32). [2][13][14]
n Pipe Module = f(Pin , Tin , L, D, )
(25)
(26)
(27)
(28)
-
13
(29)
(30)
(31)
(32)
Other Calculations:
The final calculations are based on previously determined values in order to get important
values from the plant. Some of the ad hoc calculations include a value of the net work Eq. (33),
the amount of heat transfer from combusting coal Eq. (34), the thermal efficiency of the plant
Eq. (35), and the total irreversibility Eq. (36). [2][13]
(33)
(34)
(35)
(36)
Results Our model power plant is 20 MW coupled solar-coal plant aimed to simulate Cameo
Stations Unit 1 power block (20-24 MW coupled solar-coal plant). Our model includes an
energy analysis (including potential energy), exergy analysis, as well as piping (major and
minor) and component losses. The model was written in Engineering Equation Solver (EES)
with inputs of a total of 15 parameters the user can set. There are 7 states at which the user can
define a pressure as well as a maximum temperature, pipe diameter, pipe length for liquids, pipe
length for vapors, isentropic pump efficiency, isentropic turbine efficiency, and the amount of
heat transfer from the solar unit.
-
14
Solar
The completed analysis of the solar pre-heat provided promising results. Despite having
to supplement the minimal information supplied by Cameo and Xcel with information from a
competing solar manufacturer, SkyFuel, the data was very close to the actual data recorded by
Abengoa Solar. A table displaying all the heat output of the solar array on an hourly and
monthly basis as well as a graphical representation of this data can be found below in Figures
5,7, 8, and 9.
Table 1. Hourly heat output of the solar array by month (kW).
-
15
5 10 15 200
1000
2000
3000
January
Hour
Solar
Out
put [
kW]
5 10 15 200
1000
2000
3000
February
Hour
Solar
Out
put [
kW]
5 10 15 200
1000
2000
3000
March
Hour
Solar
Out
put [
kW]
5 10 15 200
1000
2000
3000
April
Hour
Solar
Out
put [
kW]
5 10 15 200
1000
2000
3000
May
Hour
Solar
Out
put [
kW]
5 10 15 200
1000
2000
3000
June
Hour
Solar
Out
put [
kW]
5 10 15 200
1000
2000
3000
July
Hour
Solar
Out
put [
kW]
5 10 15 200
1000
2000
3000
August
Hour
Solar
Out
put [
kW]
5 10 15 200
1000
2000
3000
September
Hour
Solar
Out
put [
kW]
5 10 15 200
1000
2000
3000
October
Hour
Solar
Out
put [
kW]
5 10 15 200
1000
2000
3000
November
Hour
Solar
Out
put [
kW]
5 10 15 200
1000
2000
3000
December
Hour
Solar
Out
put [
kW]
Figure 5. Monthly Averaged Hourly Solar Output.
From this data it can be seen that the summer months provide substantially more energy
than the winter months as expected. Additionally, the summer months begin transforming the
suns energy earlier and continue later than in the winter months which is more beneficial than
the energy increase alone as it continues into the peak of Colorados energy demand helping to
offset the production ramping that Cameo would normally undergo. Figure 6 shows the peak
-
16
energy demand, purple curve, occurring around 7 PM. During the summer months some of the
solar output occurs during this time giving a boost to the power plant when it needs it the most.
Figure 6. Hourly energy consumption.[5]
Figure 6 shows the average heat output from the solar array for the entire day during each
month.
-
17
Figure 7. Daily solar output for each month (kW).
More important than the overall solar heat output is the percentage of energy reduction of
the plant it provides. Although each months total seems to vary significantly, the change has
little effect on the pre-heat. The fraction of energy provided to the plant via the solar collectors
is around 5% for each month. The hourly breakdown of energy provided can be found in Figure
4 and the monthly totals can be found in Figure 4. At the solar production peak, this break in
coal energy corresponds to 375 kg, almost half a short ton, of coal per hour saved. This amount
of coal that no longer needs to be burned saves the plant $15 an hour and stops 1.4 tons per hour
of carbon dioxide from entering the atmosphere[7][8][9].
-
18
5 10 15 200
0.2
0.4
0.6
0.8
1January
Hour
Solar
Fra
ction
5 10 15 200
0.2
0.4
0.6
0.8
1February
Hour
Solar
Fra
ction
5 10 15 200
0.2
0.4
0.6
0.8
1March
Hour
Solar
Fra
ction
5 10 15 200
0.2
0.4
0.6
0.8
1April
Hour
Solar
Fra
ction
5 10 15 200
0.2
0.4
0.6
0.8
1May
Hour
Solar
Fra
ction
5 10 15 200
0.2
0.4
0.6
0.8
1June
Hour
Solar
Fra
ction
5 10 15 200
0.2
0.4
0.6
0.8
1July
Hour
Solar
Fra
ction
5 10 15 200
0.2
0.4
0.6
0.8
1August
Hour
Solar
Fra
ction
5 10 15 200
0.2
0.4
0.6
0.8
1September
Hour
Solar
Fra
ction
5 10 15 200
0.2
0.4
0.6
0.8
1October
Hour
Solar
Fra
ction
5 10 15 200
0.2
0.4
0.6
0.8
1November
Hour
Solar
Fra
ction
5 10 15 200
0.2
0.4
0.6
0.8
1December
Hour
Solar
Fra
ction
Figure 8. Fraction of Energy Supplied Hourly by Solar.
-
19
1 2 3 4 5 6 7 8 9 10 11 120
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1Fraction of Energy from Solar
Month
Frac
tion
of E
nerg
y fro
m S
olar
Figure 9. The fraction of energy from solar for each month
The goal of the Cameo Station Power Plant was to reduce the coal use by ~5% [10] and "We anticipate we are going to improve the performance by 35 percent," says, Larson [11]. Our solar-coal plant has a similar reduction in coal-use as can be seen in Figures 8 and 9 (showing the fraction of energy provided by solar). The introduction of solar into our coal plant
increases the thermal efficiency of the plant by 2% (from 33.03% to 35.03%)
Rankine
We have a 13 state reheat, two feedwater heater, Rankine cycle (see Figure 4). We also
incorporated the heat transfer from the solar troughs as a heat exchanger to preheat the fluid prior
to the boiler. This cycle was further modified to include piping losses and potential energy
effects. The cycle is currently returning realistic results and is making use of EES Modules to
-
20
allow for easy incorporation of other components. The results of our current cycle can be seen in
the Tables 2-7 and in Figure 10.
Table 2. State Table
Table 3. Work In Work In [kJ/s] Pump #1 5.136 Pump #2 33.19 Pump #3 218.8 Table 4. Heat Transfer In Heat Transfer In [kJ/s] Solar* 3431 Boiler 47255 Boiler (Reheat) 9419 * Using Noon in July Table 5 Work Out Work Out [kJ/s] Turbine #1 8224 Turbine #2 11883
-
21
Table 6. Heat Transfer Out Heat Transfer Out [kJ/s] Condenser 37912 Table 7. Irreversibilities Irreversability [kJ/s] Pump #1 1.068 Pump #2 5.447 Pump #3 30.46 Boiler 32122 Turbine #1 1669 Feedwater Heater #1 1758 Boiler (Reheat) 6355 Turbine #2 3386 Feedwater Heater #2 2803 Condenser 1145
Figure 10. T-s diagram of the preliminary results with point in the cycle labeled.
-
22
Without the incorporation of the solar troughs, the cycle is operating with a second law
thermal efficiency of 33%. With the solar preheat the second law thermal efficiency is 35.03%.
Furthermore, the Cameo Station Power plant has two operating Units that produce 24 MW and
49 MW respectively. Our cycle is producing ~21 MW (similar to Unit 1 at Cameo Station).
Figure 10 shows the current T-s diagram for our cycle and the component diagram can be seen in
Figure 4. The code used to simulate the power plant can be seen in Appendix B.
There are numerous energy overhead costs before coal can even be burned in a
pulverized coal plant. In many plants the coal has to first be shipped to the plant. This usually
happens by train. In our case, the mine is within 30 miles of the plant so it can be considered a
mine mouth plant. So, the coal does not have to be shipped by train, but rather just trucked
over to the plant. Then, when the electricity is produced by the generator, the electricity can
travel great distances instead of the coal. Before being shipped, the coal has to be crushed and
cleaned of heavy metals and other non-coal materials. In addition, there are regulations that
require pollution to be reduced. Some pollution control techniques include scrubbing and
filtering. Filtering uses cloth bag filters to capture combustion product particulate before it is
released into the air. Scrubbers use wet limestone slurries to absorb sulfur. Fortunately for
Cameo, coal from the Powder River Basin and the Uinta Basin has much less sulfur per unit
energy released than the coal from East Coast coal mines. This means that the cleaning costs are
significantly reduced in addition to the shipping costs being reduced from being a mine mouth
plant.
-
23
Figure 11. Coal bearing areas in the United States.
-
24
Table 7. Average Sales Price of U.S. Coal by State and Disposition in Dollars per Short Ton,
2009. Table from U.S. Energy Information Administration.
Optimization of Rankine Cycle
There are a few things that we can do to increase the efficiency of the Rankine portion of the
plant. If we increase the efficiency, then we can reduce the cost of energy (COE). The first
optimization we can make is to add feedwater heaters ad infinitum. Thermodynamically
speaking, an infinite number of feedwater heaters would increase the efficiency by the value of
the feedwater inefficiency. Essentially, it could get rid of the feedwater inefficiency. The
-
25
limiting factor on the number of feedwater heaters is the economic cost of the heater versus the
opportunity cost (lost money via power charges) of not having it installed. When the heater is
more expensive than the revenue directly brought in by that specific efficiency increase, then it is
not installed. There are still other inefficiencies to account for. One such inefficiency is heat
loss through the boiler. It is impossible to keep heat from conducting through the walls of the
boiler. However, if the boiler is insulated well, it will lose less heat. A heat engine runs off the
temperature differential, so minimizing heat loss keeps the energy in the system and lets that
energy go to the working fluid. Additionally, any component in the system that transfers heat to
the environment, unless it is meant to like the condenser, is doing the cycle a disservice and
losing Cameo money.[12] Another loss that can be corrected is the friction and minor losses
through the pipe. A way to correct that is to have adjacent components in the cycle next to each
other in the plant. For instance, the less pipe that is put between the condenser and the first
pump, the less friction loss there is. Also, the smaller the length of pipe that carries the vapor
phase of the working fluid, the better. The head losses we saw for pumping vapor was five to six
orders of magnitude higher versus liquid in that same length of pipe. Therefore, we highly
recommend making the vapor sections of the pipe as short as possible. The last major
optimization comes from the number of reheat stages the cycle has. This optimization is a little
counterintuitive because adding reheat stages does not really add too much efficiency to the
cycle. This is because adding reheats adds piping to the system. Adding piping adds friction and
minor losses, but it also adds surface area for heat to be lost from the system. Also, since hot
steam is coming out of the reheat, it is expensive to pump compared to a liquid.[12]
Conclusion In conclusion, the addition of the solar reheat in the plant increased the efficiency of the
plant as a whole by 2%. This gave us an overall efficiency of 35%. The rate of COE is $0.0719
per kilowatt-hour. This aligned nicely with the results we were sent from the Cameo
representative. If we could increase the efficiency to 40%, the COE would be $0.0705 per
kilowatt-hour. Increasing the efficiency from 33% to 35% reduces the amount of coal
consumption by 349 tons per year.
-
26
References [1] http://www.xcelenergy.com/Colorado/Company/Environment/CO-Innovative-Clean-
Technology/Pages/ColoradoIntegratedSolarProject.aspx, accessed 9/10/10
[2] Cengel Y.A., Boles M.A., Thermodynamics: An Engineering Approach 6th Ed.,
McGraw Hill, 2008.
[3] http://www.alternativeenergyprimer.com/Linear-Solar-Concentrators.html, accessed
9/21/10
[4] http://rredc.nrel.gov/solar/old_data/nsrdb/1991-2005/tmy3/by_state_and_city.html,
accessed 10/23/10
[5] Duffie, John A., Beckman, William, Solar Engineering of Thermal Processes 3rd Ed.,
John Wiley and Sons, Inc., (2006)
[6] http://www.cpowered.com/energy-demand-response.php, accessed 10/1/10
[7] http://www.eia.doe.gov/cneaf/coal/page/acr/table34.html, accessed 11/3/10
[8] http://hypertextbook.com/facts/2003/JuliyaFisher.shtml, accessed 9/29/10
[9] http://www.eia.doe.gov/cneaf/coal/quarterly/co2_article/co2.html, accessed 9/29/10
[10] http://www.sourcewatch.org/index.php?title=Cameo_Station, accessed 9/30/10
[11] http://www.nbc11news.com/localnews/headlines/55460712.html, accessed 10/5/10 [12] Incropera F.P., Dewitt D.P., Bergman T.L., Lavine A.S., Fundamentals of Heat and Mass Transfer 6th Ed., John Wiley and Sons, Inc, 2007.
[13] Wark K., Advanced Thermodynamics, McGraw Hill, 1994.
[14] Munson B.R., Young D.F., Okiishi T.H., Huebsch W.W., Fundamentals of Fluid
Mechanics 6th Ed., John Wiley and Sons, Inc, 2009. [15] Kundu P.K., Cohen I.M., Fluid Mechanics 4th Ed., Elsevier, 2008.
[16] Krieth F., Bohn M.S., Principles of Heat Transfer 6th Ed., Thompson, 2001.
-
27
Appendix A. Solar Code %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Cost of Electricity % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Fixed Charges FCR=.2; %Fixed charge rate for paying off the capital investment. CI=10000000; %Capitol investment of plant. ($) RC=20000; %Rated capacity of plant. (kW) CF=1; %Capacity factor. Fixed=(FCR*CI)/(RC*CF*8760); %Fixed charge cost. ($/kWh) (8760 hours/year) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Fuel Costs FCi=0.00000107; %Beginning life fuel cost. ($/BTU) npp=.45; %Efficiency of power plant. Fuel=FCi*3414/npp; %Fuel costs. ($/kWh) (3414 BTU/kWh) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % O&M Costs OM=0.05; %Operatoin and maintenance costs per kWh. ($/kWh) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%% Cost of Electricity %%%%%%% COE=Fixed+Fuel+OM; %Cost of electricity per kWh. ($/kWh) display(COE) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Concentrating Collector Analysis % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Average Monthly Solar Radiation (W/m^2)
-
28
% Data taken from NREL's National Solar Database for Grand Junction, CO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % jan=[0 0 0 0 0 0 0 60.58 326.77 422.87 548.23 529.774 535.9 502.97 459.87 412.84 265.26 17.9 0 0 0 0 0 0]; feb=[0 0 0 0 0 0 0 165.29 310.57 382.68 522.46 412.07 543.14 551.36 486.82 497.79 504.03 173.04 0 0 0 0 0 0]; mar=[0 0 0 0 0 0 2.62 238.9 444.9 550.4 602.6 595.9 586.9 549.9 530.7 453.4 407.5 200.5 10.8 0 0 0 0 0]; apr=[0 0 0 0 0 17.2333 222.667 399.1667 482.3667 542.0333 563.0333 609.6333 648.1 657.333 605 513.5 410.0667 321.2667 72.2667 0 0 0 0 0]; may=[0 0 0 0 0 178.4839 397.0645 564.4839 652.3226 687.6452 679.1613 625.7097 598.1613 594.7419 561.4194 521.87 474.1935 430.7097 161.6129 6.3871 0 0 0 0]; jun=[0 0 0 0 9.2667 281.4333 540.1 631.4667 687.3333 699.2 743.5667 752.9 729.9333 673.9333 662.2333 627.0667 557.5333 499.7333 332.3 76.4333 0 0 0 0]; jul=[0 0 0 0 0 152.2258 427.1613 600.1935 677.4839 717.0323 718.1613 734.1935 662.2581 706.129 653.4194 588.5484 525.2258 433.6129 288.6452 59.0968 0 0 0 0]; aug=[0 0 0 0 0 61.4516 331.3548 533.871 602.4194 622.6774 689.8387 699.6129 686.1613 669.2903 657.7742 565.2258 485 418.0968 198.2258 12.6452 0 0 0 0]; sep=[0 0 0 0 0 8.4333 281.7333 505.6 648.5 731.4 763.3 730.7333 705.1 714.5333 651.1 585.9 506.3667 305.2667 38.3333 0 0 0 0 0]; oct=[0 0 0 0 0 0 88.6774 403.6774 543.7097 616.4194 714.3871 680.7419 643.2258 599.5484 640.5806 606.1613 404.3326 92.8387 0 0 0 0 0 0]; nov=[0 0 0 0 0 0 5.9667 208.1667 398.5 491.2 530.4667 577.6 530.1333 538.0333 482.4667 395.033 204.3 3.4333 0 0 0 0 0 0]; dec=[0 0 0 0 0 0 0 45.6129 415.5484 525.1613 543.2903 533.5484 529.9032 548.9677 468.3548 437.7742 184.1613 0 0 0 0 0 0 0]; % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Heat Output of Collector % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Ti=100; %Inlet temperature of working fluid. (deg C) Ta=25; %Ambient temperature. (deg C) U=0.0244; %Heat loss coefficient. Ar=9.67; %Area of the receiver. (m^2) Aa=914; %Area of the aperture. (m^2) Fr=.94; %Collector heat removal factor. janQu=8*[Fr*Aa*(jan-(Ar/Aa)*U*(Ti-Ta))]/1000; %Usable heat output of one solar collector. (KJ) janTot=sum(janQu); display(janQu) display(janTot) febQu=8*[Fr*Aa*(feb-(Ar/Aa)*U*(Ti-Ta))]/1000; %Usable heat output of one solar collector. (KJ) febTot=sum(febQu); display(febQu) display(febTot) marQu=8*[Fr*Aa*(mar-(Ar/Aa)*U*(Ti-Ta))]/1000; %Usable heat output of one solar collector. (KJ)
-
29
marTot=sum(marQu); display(marQu) display(marTot) aprQu=8*[Fr*Aa*(apr-(Ar/Aa)*U*(Ti-Ta))]/1000; %Usable heat output of one solar collector. (KJ) aprTot=sum(aprQu); display(aprQu) display(aprTot) mayQu=8*[Fr*Aa*(may-(Ar/Aa)*U*(Ti-Ta))]/1000; %Usable heat output of one solar collector. (KJ) mayTot=sum(mayQu); display(mayQu) display(mayTot) junQu=8*[Fr*Aa*(jun-(Ar/Aa)*U*(Ti-Ta))]/1000; %Usable heat output of one solar collector. (KJ) junTot=sum(junQu); display(junQu) display(junTot) julQu=8*[Fr*Aa*(jul-(Ar/Aa)*U*(Ti-Ta))]/1000; %Usable heat output of one solar collector. (KJ) julTot=sum(julQu); display(julQu) display(julTot) augQu=8*[Fr*Aa*(aug-(Ar/Aa)*U*(Ti-Ta))]/1000; %Usable heat output of one solar collector. (KJ) augTot=sum(augQu); display(augQu) display(augTot) sepQu=8*[Fr*Aa*(sep-(Ar/Aa)*U*(Ti-Ta))]/1000; %Usable heat output of one solar collector. (KJ) sepTot=sum(sepQu); display(sepQu) display(sepTot) octQu=8*[Fr*Aa*(oct-(Ar/Aa)*U*(Ti-Ta))]/1000; %Usable heat output of one solar collector. (KJ) octTot=sum(octQu); display(octQu) display(octTot) novQu=8*[Fr*Aa*(nov-(Ar/Aa)*U*(Ti-Ta))]/1000; %Usable heat output of one solar collector. (KJ) novTot=sum(novQu); display(novQu) display(novTot) decQu=8*[Fr*Aa*(dec-(Ar/Aa)*U*(Ti-Ta))]/1000; %Usable heat output of one solar collector. (KJ) decTot=sum(decQu);
-
30
display(decQu) display(decTot) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% total=janQu+febQu+marQu+aprQu+mayQu+junQu+julQu+augQu+sepQu+octQu+novQu+decQu; AnnualTotal=sum(total); display(AnnualTotal)
-
31
Appendix B. Rankine Cycle Code "!Coupled Solar - Coal Plant" " Classical Thermodynamics -- MCEN-5228 Alex Turner Brian Stillwell Andrew Beat " "! ******************************************************************************************************************************************************** ******************************************************************************************************************************************************** ************************************************************ START ROUTINES ******************************************************************* ******************************************************************************************************************************************************** ******************************************************************************************************************************************************** " "! Pump Routine" " ================================================================= Inputs: P_in :: Pressure In v_in :: Volume In P_out :: Pressure Out T_0 :: Dead State Temperature P_0 :: Dead State Pressure h_0 :: Dead State Enthalpy s_0 :: Dead State Entropy m_f :: Mass Flow Rate eta :: Pump Efficiency ================================================================= Outputs: W_out :: Work In T_out :: Temperature Out h_out :: Enthalpy Out Irr :: Irreversibility ================================================================= " MODULE pump(P_in, v_in, P_out, T_0, P_0, h_0, s_0, m_f , eta : W_in, T_out, h_out, Irr) s_in = entropy(STEAM,P=P_in,v=v_in) h_in = enthalpy(STEAM,P=P_in,v=v_in) ss = s_in hs = enthalpy(STEAM,P=P_out,s=ss) h_out = (hs - h_in)/eta + h_in "Accounting for inefficiencies" T_out = temperature(STEAM,P=P_out, h=h_out) s_out =entropy(STEAM, P=P_out, T=T_out) W_in = m_f * (h_out - h_in) Irr = m_f * T_0 * (s_out - s_in) "T_0 * delta_s
-
32
Psi2 = (h_out - h_0) - T_0 * (s_out - s_0) "[kJ/kg]" END "! Boiler Routine" " ================================================================= Inputs: P_in :: Pressure In h_in :: Enthalpy In T_out :: Temperature Out T_0 :: Dead State Temperature P_0 :: Dead State Pressure h_0 :: Dead State Enthalpy s_0 :: Dead State Entropy T_H :: Reservoir Temperature (from Coal-burning) m_f :: Mass Flow Rate ================================================================= Outputs: Q_in :: Heat Transfer In s_out :: Entropy Out h_out :: Enthalpy Out Irr :: Irreversibility ================================================================= " MODULE boiler(P_in, h_in, T_out, T_0, P_0, h_0, s_0, T_H, m_f :Q_in, s_out, h_out, Irr) g = g# H = 20 [m] P_out = P_in h_out = enthalpy(STEAM,P=P_out,T=T_out) s_in = entropy(STEAM,P=P_in,h=h_in) s_out = entropy(STEAM,P=P_out,T=T_out) Q_in = m_f * (h_out - h_in + g * H/ 1000) Psi1 = (h_in - h_0) - T_0 * (s_in - s_0) "[kJ/kg]" Psi2 = (h_out - h_0) - T_0 * (s_out - s_0) "[kJ/kg]" dPsi = Psi2 - Psi1 Irr = Q_in * (1 - T_0/T_H) - dPsi "[kJ]" END "! Turbine Routine" " ================================================================= Inputs: P_in :: Pressure In T_in :: Temperature In P_mid :: Pressure Out to Feedwater Heater P_out :: Pressure Out T_0 :: Dead State Temperature P_0 :: Dead State Pressure h_0 :: Dead State Enthalpy s_0 :: Dead State Entropy m_f_in :: Mass Flow Rate eta :: Turbine Efficiency ================================================================= Outputs: W_out :: Work Out T_mid :: Temperature Out to Feedwater Heater
-
33
h_mid :: Enthalpy Out to Feedwater Heater T_out :: Temperature Out h_out :: Enthalpy Out m_f_heater :: Mass Flow going to each feedwater heater m_f_cycle :: Mass Flow staying in cycle (going to next turbine) Irr :: Irreversibility ================================================================= " MODULE turbine(P_in, T_in, P_mid, P_out, T_0, P_0, h_0, s_0, m_f_in , eta : W_out, T_mid, h_mid, T_out, h_out, m_f_heater, m_f_cycle, Irr) s_in = entropy(STEAM,P=P_in,T=T_in) h_in = enthalpy(STEAM,P=P_in,T=T_in) ss = s_in hsmid = enthalpy(STEAM,P=P_mid,s=ss) h_mid =h_in - eta * (h_in - hsmid) "Accounting for inefficiencies" T_mid = temperature(STEAM,P=P_mid,h=h_mid) s_mid = entropy(STEAM,P=P_mid,h=h_mid) hsout = enthalpy(STEAM,P=P_out,s=ss) h_out =h_in - eta * (h_in - hsout) T_out = temperature(STEAM,P=P_out,h=h_out) W_out = m_f_in * (h_in - h_mid) + m_f_cycle * (h_mid - h_out) m_f_heater =m_f_in*.1 m_f_cycle =m_f_in - m_f_heater s_out = entropy(STEAM,P=P_out,h=h_out) Irr = m_f_in * T_0 * (s_mid - s_in) + m_f_cycle * T_0 * (s_out - s_mid) "T_0 * delta_s
-
34
s_out = s_in hs = enthalpy(STEAM,P=P_out,s=s_out) h_out =h_in - nu * (h_in - hs) T_out = temperature(STEAM,P=P_out,h=h_out) W_out = m_f * (h_in - h_out) m_f_cycle =m_f_in*.9 m_f_heater =.1*m_f_in Irr = m_f * T_0 * (s_out - s_in) Psi1 = (h_in - h_0) - T_0 * (s_in - s_0) Psi2 = (h_out - h_0) - T_0 * (s_out - s_0) END" "! Feedwater Heater Routine" " ================================================================= Inputs: P_in :: Pressure In , Both extracted steam & steam from pump are at the same pressure T_0 :: Dead State Temperature P_0 :: Dead State Pressure h_0 :: Dead State Enthalpy s_0 :: Dead State Entropy ht_in :: Turbine Enthalpy In hp_in :: Pump Enthalpy In m_f_steam_t :: Mass Flow of steam from turbine m_f_liq_p :: Mass Flow of liquid from pump ================================================================= Outputs: h_out :: Enthalpy Out s_out :: Entropy Out T_out :: Temperature Out m_f_mix :: Mass Flow of Mix out Irr :: Irreversibility ================================================================= " MODULE feedwater(P_in, T_0, P_0, h_0, s_0, ht_in, hp_in, m_f_steam_t, m_f_liq_p: h_out, s_out, T_out, m_f_mix, Irr) m_f_mix =m_f_steam_t+m_f_liq_p h_out = (m_f_steam_t * ht_in + m_f_liq_p * hp_in)/m_f_mix st_in = entropy(STEAM, P = P_in, h = ht_in) sp_in = entropy(STEAM, P = P_in, h = hp_in) s_out = entropy(STEAM,P=P_in,h=h_out) T_out = temperature(STEAM,P=P_in,h=h_out) Psi_t = (ht_in - h_0) - T_0 * (st_in - s_0) Psi_p = (hp_in - h_0) - T_0 * (sp_in - s_0) Psi_out = (h_out - h_0) - T_0 * (s_out - s_0) Irr = m_f_liq_p * (Psi_out - Psi_p) - m_f_steam_t * (Psi_out - Psi_t) END "! Condenser Routine" " ================================================================= Inputs: P_in :: Pressure In h_in :: Enthalpy In
-
35
P_out :: Pressure Out T_out :: Temperature Out T_0 :: Dead State Temperature P_0 :: Dead State Pressure h_0 :: Dead State Enthalpy s_0 :: Dead State Entropy T_L :: Reservoir Temperature (from Lake??) m_f :: Mass Flow Rate ================================================================= Outputs: Q_out :: Heat Transfer Out Irr :: Irreversibility ================================================================= " PROCEDURE condenser(P_in, h_in, P_out, T_out, T_0, P_0, h_0, s_0, T_L, m_f : Q_out, Irr) g = g# H = 10 [m] s_in = entropy(STEAM, P=P_in, h=h_in) h_out = enthalpy(STEAM, P=P_out, x = 0) s_out = entropy(STEAM, P=P_out, T=T_out) Q_out = m_f * (h_in - h_out + g * H/ 1000) Psi1 = (h_in - h_0) - T_0 * (s_in - s_0) "[kJ/kg]" Psi2 = (h_out - h_0) - T_0 * (s_out - s_0) "[kJ/kg]" dPsi = Psi2 - Psi1 Irr = dPsi - Q_out * (1 - T_0/T_L) "[kJ]" END "! Pipe Loss Routine" " ================================================================= Inputs: T_in :: Temperature at the entrance P_in :: Pressure at the entrance L :: Length of the pipe D :: Diameter of the pipe m_f :: Mass flow rate ================================================================= Outputs: P_out :: Pressure at the output h_L :: Head Loss ================================================================= " PROCEDURE pipe(T_in, P_in, L, D, m_f : P_out, h_L) g = g# epsilon = 0.001 mu = Viscosity(Water,T=T_in,P=P_in) rho = Density(Water,T=T_in,P=P_in) Area = pi / 4 * D ^ 2 V = m_f / (rho * Area) Re = V * D * rho / mu rough = epsilon / D f = MoodyChart(Re, rough) K = (L / 10) * (10 * D) h_L = (V ^ 2 / (2 * g) ) * (f * L / D + K) P_out = P_in - rho * g * h_L/1000 END
-
36
"! Alternate Pipe Loss Routine (Hard-Coded)" " ================================================================= Inputs: T_in :: Temperature at the entrance P_in :: Pressure at the entrance L :: Length of the pipe D :: Diameter of the pipe m_f :: Mass flow rate ================================================================= Outputs: h_L :: Head Loss ================================================================= " PROCEDURE pipe_alt(T_in, P_in, L, D, m_f : h_L) g = g# epsilon = 0.001 mu = Viscosity(Water,T=T_in,P=P_in) rho = Density(Water,T=T_in,P=P_in) Area = pi / 4 * D ^ 2 V = m_f / (rho * Area) Re = V * D * rho / mu rough = epsilon / D f = MoodyChart(Re, rough) K = (L / 10) * (10 * D) h_L = (V ^ 2 / (2 * g) ) * (f * L / D + K) P_out = P_in - rho * g * h_L/1000 END "! ******************************************************************************************************************************************************** ******************************************************************************************************************************************************** ************************************************************** END ROUTINES ******************************************************************** ******************************************************************************************************************************************************** ******************************************************************************************************************************************************** " " ============================================================================================================ " "! ******************************************************************************************************************************************************** ******************************************************************************************************************************************************** ************************************************************** START SCRIPT ********************************************************************* ********************************************************************************************************************************************************
-
37
******************************************************************************************************************************************************** " "! Variable Definitions" " ================================================================= Variables: P :: Pressure :: [ kPa ] T :: Temperature :: [ K ] h :: Enthalpy :: [ kJ/kg ] s :: Entropy :: [ kJ/kg*K ] h :: Enthalpy :: [ kJ/kg ] m_f :: Mass Flow Rate :: [ kg/s ] v :: Specific Volume :: [ m^3/kg ] ================================================================= Parameterized Values: eta_p :: Isentropic efficiency of the pumps :: [ Unitless ] eta_t :: Isentropic efficiency of the turbines :: [ Unitless ] ================================================================= " "!..............................................................INPUTS......................................................................................." "NOTE: Values are referenced based on an ideal Rankine Cycle Subscripts represent their relative placement in the cycle with respect to the ideal cycle" "Heat Transfer from the Solar" Q_preheat = 3431.495899 [kJ/s] "Q_preheat = 0 [kJ/s]" "Pressures [kPa]" Pa[1] = 10 [kPa] "Pressure after leaving the condenser" Pa[2] = 275 [kPa] "after pump 1" Pa[4]=1800 [kPa] "after pump 2" Pa[6]= 10500 [kPa] "after pump 3" Pa[9]=1800 [kPa] "after turbine 1, into feedwater 2" Pa[10]= 965 [kPa] "after turbine 1, into reheat" Pa[12]= 275 [kPa] "after turbine 2, into feedwater 1" "Temperatures [K]" T[8] = 500+273.15 [K] "Mass Flow Rate [kg/s] defined as a vector in script. index refers to point in cycle" m_f [1]= 15 [kg/s] "Defining Pipe Diameters and Lengths" D = 0.1 [m] L = 10 [m] L_Vap = 0.0001 [m] "System Inefficiencies" eta_p = .8 eta_t = .75
-
38
"!.............................................................END.INPUTS....................................................................." " ----------------------------------------------------------------------------------------------------------------- Dead State (for Exergy Calculations): " T_0 = 20 + 273.15 [K] P_0 = 101.125 [kPa] h_0 = enthalpy(STEAM, T=T_0, P=P_0) s_0 = entropy(STEAM, T=T_0, P=P_0) " ----------------------------------------------------------------------------------------------------------------- " "Reservoir Temperature of the Coal Burning" T_H = 1000 [K] "Low Temperature Reservoir" T_L = 10 + 273.15 [K] "Needed Values to solve" Pa[3] = Pb[2] Pa[5]=Pb[4] T[1]=Temperature(steam, p=Pa[1],x=0) T[11]=T[8] Pa[7]=Pa[6] Pa[8]=Pa[7] Pa[11]=Pa[10] Pa[13]=Pa[1] m_f[2]=m_f[1] m_f[4]=m_f[3] m_f[6]=m_f[5] m_f[7]=m_f[6] m_f[8]=m_f[7] m_f[10]=m_f[11] v[1] = volume(STEAM, P=Pa[1], x=0) v[3] = volume(STEAM, P=Pa[3], h=h[3]) v[5] = volume(STEAM, P=Pa[5], h=h[5]) "!..............................................................CYCLE......................................................................................." "1" "! Pump 1" "pump1(P_in, T_in, P_out, T_0, P_0, h_0, s_0, m_f , nu : W_in, T_out, h_out, Irr)" CALL Pump(Pb[1], v[1], Pa[2], T_0, P_0, h_0, s_0, m_f[1], eta_p : W_p1, T[2], h[2], Irr_p1) CALL Pipe(T[2], Pa[2], L, D, m_f[1] : Pb[2], h_L[2]) "2,12" "! Feedwater Heater 1" "feedwater1(P_in, T_0, P_0, h_0, s_0, ht_in, hp_in, m_f_steam_t, m_f_liq_p: h_out, s_out, T_out, m_f_mix, Irr) " CALL feedwater(Pb[2], T_0, P_0, h_0, s_0, h[12], h[2],m_f[12], m_f[2] : h[3], s[3], T[3], m_f[3], Irr_fw1) CALL Pipe(T[3], Pa[3], L, D, m_f[3] : Pb[3], h_L[3])
-
39
"3" "! Pump 2" "pump2 (P_in, T_in, P_out, T_0, P_0, h_0, s_0, m_f , nu : W_in, T_out, h_out, Irr)" CALL Pump(Pb[3], v[3], Pa[4], T_0, P_0, h_0, s_0, m_f[3], eta_p : W_p2, T[4], h[4], Irr_p2) CALL Pipe(T[4], Pa[4], L, D, m_f[3] : Pb[4], h_L[4]) "4,9" "! Feedwater Heater 2" "feedwater2(P_in, T_0, P_0, h_0, s_0, ht_in, hp_in, m_f_steam_t, m_f_liq_p: h_out, s_out, T_out, m_f_mix, Irr) " CALL feedwater(Pb[4], T_0, P_0, h_0, s_0, h[9], h[4],m_f[9], m_f[4] : h[5], s[5], T[5], m_f[5], Irr_fw2) CALL Pipe(T[5], Pa[5], L, D, m_f[4] : Pb[5], h_L[5]) "5" "! Pump 3" "pump3 (P_in, T_in, P_out, T_0, P_0, h_0, s_0, m_f , nu : W_in, T_out, h_out, Irr)" CALL Pump(Pb[5], v[5], Pa[6], T_0, P_0, h_0, s_0, m_f[5], eta_p : W_p3, T[6], h[6], Irr_p3) CALL Pipe(T[6], Pa[6], L, D, m_f[5] : Pb[6], h_L[6]) "6" "! Preheat" s[7] = entropy(STEAM,h=h[7],P=Pb[6]) T[7] = Temperature(STEAM,s=s[7],h=h[7]) h[7] = h[6] + Q_preheat / m_f[5] CALL Pipe(T[7], Pb[6], L, D, m_f[6] : Pb[7], h_L[7]) "7" "! Boiler" "boiler(P_in, h_in, T_out, T_0, P_0, h_0, s_0, T_H, m_f :Q_in, s_out, h_out, Irr)" CALL Boiler(Pb[7], h[7], T[8], T_0, P_0, h_0, s_0, T_H, m_f[7] : Q_b, s[8], h[8], Irr_b) P_max = Pa[8] CALL Pipe(T[8], Pb[7], L_Vap, D, m_f[7] : Pb[8], h_L[8]) CALL Pipe_ALT(T[9], Pa[9], L_Vap, D, m_f[9] : h_L[9]) CALL Pipe_ALT(T[12], Pa[12], L_Vap, D, m_f[12] : h_L[12]) "8" "! High Pressure Turbine" " turbine1(P_in, T_in, P_mid, P_out, T_0, P_0, h_0, s_0, m_f_in , eta : W_out, T_mid, h_mid, T_out, h_out, m_f_heater, m_f_cycle, Irr)" CALL Turbine(P_max,T[8],Pa[9],Pa[10], T_0, P_0, h_0, s_0, m_f[8], eta_t: W_T1, T[9], h[9], T[10], h[10], m_f[9], m_f[10], Irr_t1) Pb[9] = Pa[9] CALL Pipe(T[10], Pa[10], L_Vap, D, m_f[10] : Pb[10], h_L[10]) "10" "! Reheat" "reheat(P_in, h_in, T_out, T_0, P_0, h_0, s_0, T_H, m_f :Q_in, s_out, h_out, Irr)" "in the reheat we call the boiler procedure" CALL Boiler(Pb[10], h[10], T[11], T_0, P_0, h_0, s_0, T_H, m_f[10] : Q_b_re, s[11], h[11], Irr_b_re) CALL Pipe(T[11], Pa[11], L_Vap, D, m_f[10] : Pb[11], h_L[11]) "11" "! Low Pressure Turbine" " turbine2(P_in, T_in, P_mid, P_out, T_0, P_0, h_0, s_0, m_f_in , eta : W_out, T_mid, h_mid, T_out, h_out, m_f_heater, m_f_cycle, Irr)"
-
40
CALL Turbine(Pb[11],T[11],Pa[12], Pa[13], T_0, P_0, h_0, s_0, m_f[11], eta_t: W_T2, T[12], h[12], T[13], h[13], m_f[12], m_f[13], Irr_t2) Pb[12] = Pa[12] CALL Pipe(T[13], Pa[13], L_Vap, D, m_f[13] : Pb[13], h_L[13]) "13" "! Condenser" "condenser(P_in, h_in, P_out, T_out, T_0, P_0, h_0, s_0, T_L, m_f : Q_out, Irr)" CALL condenser(Pb[13], h[13],Pa[1], T[1], T_0, P_0, h_0, s_0, T_L, m_f[13]: Q_out_condenser, Irr_c) CALL Pipe(T[1], Pa[1], L, D, m_f[13] : Pb[1], h_L[1]) "!..............................................................AD HOC CALCULATIONS......................................................................................." "Net Work Output and Heat Input" W_net = (W_t1 + W_t2) - (W_p1 + W_p2 + W_p3) Q_in = Q_b + Q_b_re "Second Law Thermal Efficiency of the System" eta_th = W_net / Q_in "Total Irreversability" I_total = Irr_p1 + Irr_p2 + Irr_p3 + Irr_fw1 + Irr_fw2 + Irr_b + Irr_b_re + Irr_t1 + Irr_t2 + Irr_c " Fill the Empty Vectors" h[1] = enthalpy(STEAM, P=Pa[1], v=v[1]) v[2] = volume(STEAM, P=Pa[2], h=h[2]) v[4] = volume(STEAM, P=Pa[4], h=h[4]) v[6] = volume(STEAM, P=Pa[6], h=h[6]) v[7] = volume(STEAM, P=Pa[7], h=h[7]) v[8] = volume(STEAM, P=Pa[8], h=h[8]) v[9] = volume(STEAM, P=Pa[9], h=h[9]) v[10] = volume(STEAM, P=Pa[10], h=h[10]) v[11] = volume(STEAM, P=Pa[11], h=h[11]) v[12] = volume(STEAM, P=Pa[12], h=h[12]) v[13] = volume(STEAM, P=Pa[13], h=h[13]) s[1] = entropy(STEAM, P=Pa[1], h=h[1]) s[2] = entropy(STEAM, P=Pa[2], h=h[2]) s[4] = entropy(STEAM, P=Pa[4], h=h[4]) s[6] = entropy(STEAM, P=Pa[6], h=h[6]) s[9] = entropy(STEAM, P=Pa[9], h=h[9]) s[10] = entropy(STEAM, P=Pa[11], h=h[11]) s[12] = entropy(STEAM, P=Pa[12], h=h[12]) s[13] = entropy(STEAM, P=Pa[12], h=h[13]) "! ******************************************************************************************************************************************************** ******************************************************************************************************************************************************** **************************************************************** END SCRIPT *********************************************************************** ********************************************************************************************************************************************************
-
41
******************************************************************************************************************************************************** "