Steam Cycle Simulation – HYSYS v8.6 The attached gives steps to set up a simulation in HYSYS v8.6 to model a simple Rankine steam cycle for electricity production. The system consisting of: Fuel gas side with air blower, combustion chamber, & fuel gas side of the steam boiler. Steam side with steam turbine, steam condenser, condensate pump, & steam side of the boiler. The simulation will first be set up assuming isentropic steps for the rotating equipment. It will then be modified to account for more realistic efficiencies (both thermodynamic and mechanical). When the simulation is set up the overall PFD should look like the following figure.
Create new simulation file Start the program from Start , All Programs All Programs,, Aspen Tech, Tech, Process Modeling V8.6, V8.6, Aspen HYSYS , Aspen HYSYS V8.6 HYSYS V8.6.. When the program opens choose the New button. button.
Rev 1.0
‐1‐
February 26, 2015
Define the Components & the Property Models Specify components, Specify components, fluid fluid property property packages, packages, & crude oil oil assays assays
The first step is to add two sets of pure chemical species to represent: Steam as modeled by pure water & using property correlations consistent with the ASME Steam Tables. The natural gas fuel, air, & combustion exhaust as pure light components modeled by the Peng‐Robinson equation of state (EOS).
Let’s do the steam first. With Component Lists button. From the list of Component Lists highlighted click on the Add button. pure components pick water. We’re now ready to pick the property model.
Rev 1.0
‐2‐
February 26, 2015
The next step is to pick a fluid property package. From the Fluid Packages screen click the Add button. Choose the ASME Steam option and make sure it is associated with Component List – 1.
Now let’s add components to model the fuel side of the system. Go back to the Component Lists item & click on the Add button to create Component List ‐ 2. We need components for the following: Natural gas. For now let’s model this as a possible mixture of methane, ethane, & propane. Air. For now we’ll model this as a mixture of oxygen & nitrogen. Combustion gases. At the minimum we’ll also need carbon dioxide and water. However, we’ll also want to take into account incomplete combustion (forming carbon monoxide) as well as NOx formation (for now just as NO, NO 2, & N2O). From the list of pure components pick the following chemical species. The next step is to associate a different fluid property package for these compounds (since the ASME Steam Tables are only appropriate for pure water). Go back to the Fluid Packages screen & click the Add button. Choose the Peng‐Robinson option and make sure it is associated with Component List – 2.
Rev 1.0
‐3‐
February 26, 2015
Now is a good time to save the file before we start setting up the process simulation. Click the File tab & then the Save As item.
Rev 1.0
‐4‐
February 26, 2015
Set up & Solve the Flowsheet Working Units Activate the Simulation option. Note that you’ll see a blank flowsheet. We would like to show the calculations with a modified set of SI units, in particular: Temperature as °C. Pressure as bar (absolute). Mass flow as kg/sec. Molar flow as kg.mol/sec. Heat duty as kJ/sec. Power as kW.
Under the Home tab click the Unit Sets button. Under the Available Units Sets select SI . You can examine the list under Display Units to determine what will be used for the display of the results as well as the default units for the input. Most of the units are what we desire, but not all. For example, you can see that Pressure will be reported in kPa, not quite what we want.
Let’s create a new set of units & call it “SI‐bar‐sec”. With the SI units highlighted in the Available Units Sets list click the Copy button. Change the Unit Set Name to SI ‐bar ‐ sec. Let’s now examine the Display Units for the ones of interest (Temperature, Pressure, etc.) and make sure that are consistent with what we want. To change we need only click on the dropdown list in the Units column. For example, to change Pressure from kPa to bar we only need to choose the appropriate option from the list. When done click the OK button.
Rev 1.0
‐5‐
February 26, 2015
Steam Cycle We will want to create a simple Rankine cycle with the following process conditions: Saturated steam production at 125 bar. Final condensation to 20°C. Steam turbine operating at ideal reversible conditions. Condensate pump operating at ideal reversible conditions. No extra pressure drop through heat exchangers or piping. Let’s place the following units from the Model Palette to the flowsheet 1: Heater , Cooler , Expander , & Pump. Ultimately it will be depicted as follows.
Let’s define the condensate pump first. Double click on the pump icon (probably called P‐100). Change the name to Condensate Pump. Specify new streams for the inlet, Condensate, the outlet, HP ‐ Water , & the energy stream, W ‐Pump. Make sure that the Basis‐1 fluid package is chosen.
1 If
the Model Palette is not visible choose the View tab & click on the Model Palette button.
Rev 1.0
‐6‐
February 26, 2015
We want to make this an ideal reversible pump. Click on the Parameters option & change the Adiabatic Efficiency to 100%.
We can initialize the water circulating in the loop from here, too. Click on the Worksheet tab & choose the Composition option. Enter 1 for the H2O value under the Condensate column. An input form will pop up & allow you to verify that this represents the Moles Fractions basis. Click the OK button.
Click on Conditions so we can enter values for the Condensate entering the pump. Specify the Temperature as 20°C and the Vapour fraction as 0 (i.e., a saturated liquid). Let’s use a flow basis of 1 kg/s. Notice that Condensate stream is fully defined & other associated values are calculated (such as the pressure, molar flow, heat flow, etc.)
Now let’s define the steam side of the boiler. Double click on the heater icon (probably called E‐100). Change the name to Steam Boiler . Pull down the list for the input stream & choose HP ‐Water . Specify new streams for the outlet, HP ‐Steam, & the energy stream, Q‐Boiler . Make sure that the Basis‐1 fluid package is chosen.
Rev 1.0
‐7‐
February 26, 2015
We want to assume a negligible pressure drop through this exchanger. Click on the Parameters option & change the Delta P to 0.
Now let’s specify the conditions for the high pressure steam. Click on the Worksheet tab & the Conditions option. Specify the Pressure as 125 bar and the Vapour fraction as 1 (i.e., a saturated vapor). Notice that after entering the pressure the rest of the conditions for the HP ‐Water stream are calculated (since we now know the outlet pressure of the pump, too). After entering the vapor fraction the rest of the conditions can be calculated for the outlet HP ‐Steam & the required duty Q‐Boiler . Now let’s define the steam turbine. Double click on the expander icon (probably called K‐100). Change the name to Steam Turbine. Pull down the list for the input stream & choose HP ‐ Steam. Specify new streams for the outlet, Turbine Exhaust , & the energy stream, W ‐Steam Turbine. Make sure that the Basis‐1 fluid package is chosen.
Rev 1.0
‐8‐
February 26, 2015
We want to make this an ideal reversible expander. Click on the Parameters option & change the Adiabatic Efficiency to 100%.
Do not apply any other conditions at this time. Now let’s define the condenser. Double click on the cooler icon (probably called E‐101). Change the name to Steam Condenser . Pull down the list for the input stream & choose Turbine Exhaust . Pull down the list for the outlet stream & choose Condensate. Specify a new energy stream, Q‐Condenser . Make sure that the Basis‐1 fluid package is chosen.
We want to assume a negligible pressure drop through this exchanger. Click on the Parameters option & change the Delta P to 0.
Now all units & streams should be fully calculated. There are various ways to view the results. One way is to click on the Workbook item. Under the Material Streams tab we can see temperatures, pressures, & phase conditions (i.e., vapor fractions). Under the Energy Streams tab we can see the calculated exchanger duties & rotating equipment powers.
Rev 1.0
‐9‐
February 26, 2015
We can also view this basic information directly on the flowsheet. Right click the various streams & choose the Show Table option. This can be done for all of the streams of interest. (The tables will probably have to be moved around to make the results readable.) By default the material stream tables show the temperature, pressure, & overall molar flow. To add vapor fraction double‐click on the table, click Add Variable, choose Vapour Fraction, click OK , & close the PFD Table form. Rev 1.0
‐ 10 ‐
February 26, 2015
There is a third option that would allow you to calculate the thermal efficiency of the steam cycle as well as summarize the results – add a Spreadsheet to the simulation. From the Model Palette add a Spreadsheet ; double click to open. Change the name to Steam Cycle Summary . Click on the Parameters tab and change the Number of Columns to at least 5 and the Number of Rows to at least 11. Click on the Spreadsheet tab & set up text fields that look like the figure on the right.
Rev 1.0
‐ 11 ‐
February 26, 2015
We now want to associate many of the cell locations to results calculated by HYSYS. For example, right‐click on cell B2 & choose Import Variable; choose Condensate, Temperature, & then click OK. Note that the temperature of 20.00 C appears in the table; also note that it is formatted as bold blue, meaning that this is a user‐ input value. (It also denotes that it can be changed from here, but more of that later.). When all variables are associated with the appropriate cells the spreadsheet should look as follows.
Now let’s add a couple calculations. The net power produced will be that from the Steam Turbine minus that needed by the Condensate Pump. In cell D10 enter the formula “=D8‐D9”. We also would to directly calculate the thermal efficiency of the steam cycle, i.e., the ratio of the net power produced by the heat in from the boiler. In cell D11 enter the formula “=100*D10/B8”.
Rev 1.0
‐ 12 ‐
February 26, 2015
Now we have a summary table that will show in a single place material stream results, energy stream results, unit operation parameters, & calculated results. For example, we can see that this combination of conditions will result in a steam cycle with a 41.25% thermal efficiency.
Note that this is also a “live” table. We can change parameters here & the other values will automatically recalculate. For example, if we were to change the Steam Turbine & Condensate Pump adiabatic efficiencies to 85%, then all values would be recalculated and we could see that the thermal efficiency drops to 34.94%.
Fuel & Combustion System We will want to create a simple natural gas burner/boiler with the following process conditions: Natural gas is available at industrial delivery pressure, 20 bar‐g & 15°C. We will characterize the natural gas as 100% methane. Air is available at 25°C. We will characterize the air as a 21/79 O 2/N2 molar mixture and bone dry (i.e., no water). We want to add enough air so that there is 20% excess oxygen based on complete combustion of the natural gas. The combustion process occurs nears atmospheric conditions so the natural gas must be let down in pressure. However, a blower is needed to push the air into the combustion chamber. The pressure drop through the burner/boiler/flue combination is 0.3 bar.
Rev 1.0
‐ 13 ‐
February 26, 2015
The flue gas is exhausted to the atmosphere at 120°C, a temperature high enough to prevent any liquid dropout & subsequent corrosion problems.
Let’s place the following units from the Model Palette to the flowsheet: Valve, Compressor , Gibbs Reactor 2, & Cooler . Ultimately it will be depicted as follows. (We’ll discuss the Spreadsheet , Set , & Adjust operations as we go.)
Let’s define the natural gas & let‐down valve first. Double click on the valve icon (probably called VLV‐100). Change the name to Gas Let ‐ Down Valve. Specify new streams for the inlet, Fuel Gas, & the outlet, LP ‐Fuel . Make sure that the Basis‐ 2 fluid package is chosen.
2 Note
that reactor models are under the Columns tab of the Model Palette.
Rev 1.0
‐ 14 ‐
February 26, 2015
We will initialize the natural gas from here. Click on the Worksheet tab & choose the Composition option. Enter 1 for the Methane value under the Fuel Gas column. An input form will pop up & allow you to verify that this represents the Moles Fractions basis. Click the Normalize button to set the other compositions as zero. Click the OK button.
Click on Conditions so we can enter values for the Fuel Gas entering the pump. Specify the Temperature as 15°C and the Pressure as 20 bar‐g (note that the pressure gets automatically adjusted to an absolute basis). Let’s use a flow basis of 1 kg.mol/s. Let’s specify the outlet pressure of 0.3 bar‐g in the LP ‐Fuel column (note that the pressure gets automatically adjusted to an absolute basis).
Notice that both the Fuel Gas & LP ‐Fuel streams are fully defined & other associated values are calculated (such as the mass flow, heat flow, etc.)
Rev 1.0
‐ 15 ‐
February 26, 2015
Now let’s define the air & the air blower. Double click on the compressor icon (probably called K‐100). Change the name to Air Blower . Specify new streams for the input stream, Air , the outlet, Air ‐ 2, & the energy stream, W ‐ Air Blower . Make sure that the Basis‐ 2 fluid package is chosen.
We want to make this an ideal reversible compressor. Click on the Parameters option & change the Adiabatic Efficiency to 100%.
Rev 1.0
‐ 16 ‐
February 26, 2015
We will initialize the air stream from here. Click on the Worksheet tab & choose the Composition option. Enter 0.21 for the Oxygen value under the Air column. An input form will pop up & allow you to verify that this represents the Moles Fractions basis & finish entering the rest of the values. Enter 0.79 for the Nitrogen value. Click the Normalize button to set the other compositions as zero. Click the OK button.
Click on Conditions so we can enter values for the Air entering the pump. Specify the Temperature as 25°C and the Pressure as 0 bar‐g (note that the pressure gets automatically adjusted to an absolute basis). As a starting point let’s define the flowrate as 12 kg.mol/hr. Finally, let’s specify the outlet pressure for Air ‐ 2 as 0.3 bar‐g to match that of the fuel gas after the let‐down valve. Notice that both the Air & Air ‐ 2 streams are fully defined & other associated values are calculated (such as the mass flow, heat flow, etc.) Now it’s time to model the combustion portion of the fuel gas burner. There are various options for doing this. One of the simplest (and would normally be done for hand calculations) would be to define all combustion reactions & specify the extent of conversion for each. Instead, we’re going to take advantage of the full thermodynamic capabilities of HYSYS & use a reactor that will minimize the Gibb’s free energy. All we have to do is list the expected products & HYSYS will calculate the resulting product distribution that honors the material & energy balances as well as any chemical equilibrium limitations.
Rev 1.0
‐ 17 ‐
February 26, 2015
Double click on the Gibbs Reactor icon (probably called GBR‐100). Change the name to Combustion. Select the existing LP ‐Fuel & Air ‐ 2 streams as inlets. Specify new streams, Combustion Gas, as the vapour outlet & Combustion Liquids as the liquid outlet. Make sure that the Basis‐ 2 fluid package is chosen.
That’s pretty much it. The defaults are zero pressure drop & include all species in the component list as potential product. We can examine the results by clicking on the Worksheet tab. Selecting Conditions shows that there is only a gas produced at a temperature of 1731°C. We can then look at the resulting composition by selecting Composition. The results are, by default, shown as mole fractions. Note that all of the methane has been consumed. There is a small amount of CO formed (as incomplete combustion) but some NOx has also been created from the N2 in the air.
Now let’s see how much heat can be transferred out of the combustion gases. Rev 1.0
‐ 18 ‐
February 26, 2015
Now let’s specify the combustion gas side of the boiler. Double click on the heater icon (probably called E‐100). Change the name to HRSG. Pull down the list for the input stream & choose Combustion Gas. Specify new streams for the outlet, Flue Ga, & the energy stream, Q‐ HRSG.. Make sure that the Basis‐ 2 fluid package is chosen. We will not specify a pressure drop across the exchanger. Rather, we’ll specify the pressure out the stack. Click on the Worksheet tab & the Conditions option. Specify the Pressure as 0 bar‐g and the Temperature as 120°C. Now the conditions for the inlet & outlet streams can be determined as well as the duty available (as Q‐HRSG). There are still a couple items to be done to “clean up” the simulation. The first is for a matter of convenience – how should we specify the pressure of the Air ‐ 2 stream out of the blower? Right now the pressure into the Combustion operation is set separately for the two inlet streams (LP ‐Fuel & Air ‐ 2). If a study was to be performed & the pressure were to change then having the specifications in two separate locations could lead to them being changed differently. It sure would be nice to set it only in one location & then have the other location update automatically. We can do this with a Set operation. From the Model Palette place a Set operation on the flowsheet. Double‐click on it (probably called SET ‐1). Rename as Set Blower Outlet . Define the Target Variable as the pressure of the Air ‐ 2 stream. We’ll use the Source as the value from LP ‐Fuel . Once this is implemented any changes made to the pressure of LP‐Fuel will be automatically transmitted to the outlet pressure of the air blower.
Rev 1.0
‐ 19 ‐
February 26, 2015
The second change involves a convenient way to make sure that the correct amount of air is added to match the “excess oxygen” spec. The amount of stoichiometric oxygen is determined from the combustion reactions. For methane, ethane, & propane the reactions are, respectively: CH4 + 2 O2 CO2 + 2 H2O C2H6 + 3.5 O 2 2 CO2 + 3 H2O C3H8 + 5 O2 3 CO2 + 4 H2O This shows that we need to know the composition of the fuel gas (in molar amounts) to determine the stoichiometric amount of oxygen needed. The “excess” part is additional oxygen (as a multiplier) that is added. The final consideration is that the specification in HYSYS is not just for the rate of oxygen but rather of the air; so we have to take into account the composition of the air account for the large amount of nitrogen also be introduced into the Combustion operation. Since we have set the composition of the fuel gas to be pure methane & the basis flow rate to 1 kg.mol/sec then the stoichiometric oxygen flowrate is twice this, 2 kg.mol/sec. We also need to increase this by 20% to include the desired excess. And we need to take into account the oxygen content in the air to determine the air rate. So overall:
nair
n O2
stoich
1 f excess
y O2
2 1 0.2 0.21
11.43 kg.mol/sec .
We could do these calculations prior to running HYSYS and enter the air rate. Or we could do the calculations within HYSYS. From the Model Palette add a Spreadsheet ; double click to open (probably called SPRDSHT ‐1). Change the name to Air Rate Calc. Use the default number of rows & columns. Click on the Spreadsheet tab & set up text fields that look like the figure on the right.
Rev 1.0
‐ 20 ‐
February 26, 2015
We now want to associate many of the cell locations to results calculated by HYSYS. For example, right‐ click on cell D3 & choose Import Variable; choose Air , Mast Component Mole Frac, Oxygen, & then click OK . Let’s associate all of the desired molar flow rates. For example, for the fuel, right‐click on cell B4 & choose Import Variable; choose Fuel Gas, Molar Flow , & then click OK . Associate the molar flow for the air to the cell D7.
Now let’s add the following calculations: cell D4, “=(B2 * 2 + B3 * 3.5 + B4 * 5) * B5” cell D4, “=D4 * (1 + D2)” cell D4, “=D5 / D3” cell D4, “=D7 ‐ D6”
Rev 1.0
‐ 21 ‐
February 26, 2015
Now we have a table that will calculate the desired air flow rate for the specified fuel gas flowrate. Though the spreadsheet cannot directly set the air flowrate we can do it manually by directly changing the value in cell D7.
Even though the spreadsheet itself cannot directly set the flowrate of the Air stream it can be used as part of an Adjust operation. From the Model Palette place an Adjust operation on the flowsheet. Double‐click on it (probably called ADJ ‐1). Rename as Adjust Air Rate. Define the Adjusted Variable as the molar flow of the Air stream. We’ll use the calculation for the difference between the desired air rate & the actual as the Target Variable; this is cell D8 in the Air Rate Calc spreadsheet. Set the Specified Target Value as 0.
Rev 1.0
‐ 22 ‐
February 26, 2015
To finish we have to set values to control the calculations. Click on the Parameters tab. Increase the number of iterations (here set from 10 to 100). Set the minimum allowed value to 0 & the maximum allowed value to something above the actual value (here set to 100). The status area will switch to OK when iterations ae completed.
We can open up the Air Rate Calc spreadsheet & see that the Air flowrate has been adjusted to match the excess oxygen specification.
Tying the Two Systems Together Even though the steam cycle & fuel gas systems are in the same HYSYS flowsheet they are really modeled separately. The steam cycle has converged with a basis of 1 kg/sec water circulation rate & the fuel system has converged with a basis of 1 kg.mol/sec fuel gas. We will tie the systems together by “pushing” the duty available from the fuel side of the boiler to the steam side & adjusting the water circulation rate in the steam cycle.
Rev 1.0
‐ 23 ‐
February 26, 2015
Before we make any direct connections let’s create a spreadsheet to summarize the results from the two systems. From the Model Palette add a Spreadsheet ; double click to open. Change the name to Overall Performance. Click on the Spreadsheet tab & set up text fields that look like the figure on the right.
Associate the material flows, temperature, & energy flows as shown in the figure on the right.
Now let’s connect the two systems.
Rev 1.0
‐ 24 ‐
February 26, 2015
Double click on the Condensate stream in the steam cycle and delete the value for the mass flowrate. Notice that the intrinsic properties for the stream are still calculated (such as the molar enthalpy) but the extrinsic properties that depend on the flowrate are now missing.
Double‐click on the icon for the HRSG exchanger. Go to the Design tab & change the Energy stream from Q‐HRSG to Q‐Boiler . The simulation will still show that it is complete. You will want to delete the unnecessary stream Q‐HRSG from the Flowsheet .
So what’s changed? Go back & look at the Condensate stream. Notice that HYSYS has calculated a water circulation rate to match up the amount of boiler heat needed in the steam cycle (on a kJ/kg basis) with the proper water flowrate (on a kg/sec basis).
Additional Stream & Unit Analyses There are additional analyses that we may want to perform for this simulation. Since the goal of the process is to create power we should be very interested to determine the various thermal Rev 1.0
‐ 25 ‐
February 26, 2015
efficiencies of the systems. We have already started this analysis by putting calculations into the Steam Cycle Summary spreadsheet to calculate the steam cycle’s thermal efficiency based on the HYSYS results. To calculate the efficiency of the boiler we need to determine the heating value of the fuel gas used. We have already set up the format of the Overall Performance spreadsheet to do these calculations. Open the Overall Performance spreadsheet Associate cell B3 will the HHV – right‐click on the cell & choose Import Variable; choose Fuel Gas, Higher Heating Value, then click OK . Associate cell B4 will the LHV – right‐click on the cell & choose Import Variable; choose Fuel Gas, Lower Heating Value, then click OK . Add formulas into D2 & D3 to put the heating on a flowing basis (i.e., multiply the heating value by the molar flow rate). Note that even though the numbers appear unitless they really have units of kJ/sec. Let’s add 2 columns for the efficiency values. Go to the Parameters tab & change the number of columns from 4 to 6. Set up labels as shown on the right.
Now we want to add formulas to calculate the various values: Rev 1.0
‐ 26 ‐
February 26, 2015
cell F2, “=D4 / D2” (also change Variable Type to Unitless) cell F3, “=D4 / D3” (also change Variable Type to Unitless) cell F5, “=(D8 ‐ D7) / D4” cell F7, “=(D8 ‐ D7 ‐ D6) / D2” (also change Variable Type to Unitless) cell F8, “=(D8 ‐ D7 ‐ D6) / D3” (also change Variable Type to Unitless)
There are many other capabilities that can be added since the Spreadsheet operation can make changes & calculations in a “live” fashion. For example, an entire control sheet could be set up to modify values & directly calculate results. Cells could be set up for the following inputs: Fuel gas flowrate and its pressure & temperature. The air’s atmospheric pressure & temperature. Air’s humidity (would also require additional operations to properly add water while keeping the rest of the components’ relative amounts the same). Desired excess air. Pressure drop through the boiler system. Allowable stack outlet temperature. Condensation temperature in the steam cycle. Pressure drop through the steam side of the boiler. Degrees of superheat in the boiler system. Adiabatic & mechanical efficiencies of all rotating equipment.
Rev 1.0
‐ 27 ‐
February 26, 2015