crude column optimization aspen hysys

22
Crude Column Optimization 1 1 Crude Column Optimization © 2004 AspenTech. All Rights Reserved. 1.3 Crude Column Optimization.pdf

Upload: ahsan888

Post on 28-Nov-2015

435 views

Category:

Documents


47 download

DESCRIPTION

Crude Column Optimization Aspen Hysys

TRANSCRIPT

Page 1: Crude Column Optimization Aspen Hysys

Crude Column Optimization 1

1

Crude Column Optimization

© 2004 AspenTech. All Rights Reserved. 1.3 Crude Column Optimization.pdf

Page 2: Crude Column Optimization Aspen Hysys

2 Crude Column Optimization

2

WorkshopA crude column with pump arounds and side-strippers can converge in a few seconds using a wide variety of product quality specifications. However, the complexity of the model and intrinsic interaction between variables can make it very difficult to use the model alone as a decision-making tool.

For example, in a typical oil refinery, the operation must be adjusted so that different feed stocks can be processed to yield products with tight quality specifications, while meeting a desired economic performance. How does one use the model to choose the best operating conditions?

HYSYS includes additional modelling and decision support tools that can be used to enhance the usability of your models. In this module, you will use the HYSYS optimization tool available in HYSYS.RTO to investigate the debottlenecking and optimization of a crude column.

Learning ObjectivesAfter completing this module, you will be able to use the Derivative Utility to:

• Define Process Constraints and Variables.• Define the Objective Function.• Run the Optimizer and check the results.

PrerequisitesBefore beginning this module you will need to know how to:

• Create and modify active specifications in the column.• Create utilities and select variables through the HYSYS Object

browser.

Page 3: Crude Column Optimization Aspen Hysys

Proce

ss Ov

erview

Page 4: Crude Column Optimization Aspen Hysys

4 Crude Column Optimization

4

Description of the ProblemIn the Atmospheric Crude Column module we defined and converged the tower based on a predetermined set of performance criteria. The profit of this column operation is dependent on the price of its various products and on its operation costs (e.g., energy and steam). It should be possible to operate the column with better performance: maximizing the profit from the column while keeping the product quality constraints within specified limits. However, the number of variables to manipulate and the number of constraints to be met makes the optimization problem impossible to do manually. Consequently, the help of an optimization algorithm is needed. Let us examine the variables involved:

From the cost and revenues table above, we can determine that it would be most desirable to get the maximum quantity of Naphtha possible, since it is the highest value product, and of course, concurrently minimise the energy consumption. This is not a simple task because the market requires that product quality standards be taken into account. The following table shows these standards:

Price Revenue

Revenues ($/m3) ($/h)

Naphtha 14.00 2100

Kerosene 12.00 743

Diesel 10.00 1300

AGO 6.00 180

Residue 2.00 580

Costs ($/MM kJ)

Condenser 0.12 15

Flash zone duty 3.00 287

Profits (approximately) 4600

Product Specification type Minimum (°C) Maximum (°C)

Naphtha D86 / 5% 40.00 50.00

Naphtha D86 / 95% 160.00 180.00

Kerosene D86 / 5% 170.00 190.00

Kerosene D86 / 95% 240.00 260.00

Diesel Pour point -15.00 5.00

Page 5: Crude Column Optimization Aspen Hysys

Crude Column Optimization 5

5

Expanding the Flowsheet1. Load the simulation case from the Atmospheric Crude Column

module. You can use the case you created, or load pre-made case Crude6.hsc from your Solution Cases folder.

In this module, we will optimize the performance of the atmospheric crude column based on the product quality specifications.

Changing the UnitsAs you know, HYSYS allows you to create your own set of units. If a desired unit can not be selected from the database, we can define our own unit by specifying an appropriate conversion factor.

In this case, the prices for the Energy values are given in MMKJ/h and, since this unit is not available in the HYSYS unit library, we will need to define it.

1. From the Tools menu, select Preferences.

2. Go to the Variables tab and select the Units page.

3. Select the Refinery package that we defined in the Oil Characterization module.

4. Move the cursor to the Energy cell and click on the Add button.

Diesel Flash point 90.00 110.00

AGO Pour point 0.00 20.00

AGO Flash point 130.00 150.00

What will happen to the Naphtha product's distillation curve if we extract a very high quantity of this product?

More components from the heavier Kerosene range will go to the Naphtha extraction and consequently the distillation curve (i.e., D86 95% will be higher and thus will overpass the maximum value needed to meet quality requirements).

If the Refinery unit set is missing, use a clone of the SI unit set.

Page 6: Crude Column Optimization Aspen Hysys

6 Crude Column Optimization

6

5. Complete the view as shown below.

Building the Simulation

Column Product SpecsIn this case, we will converge the column using simple specifications (e.g., flowrates and duties) since the optimizer will need to run the column many times (and simple specifications enhance convergence). We will make sure Cut Point quality specifications are selected as estimates but are not active.

1. Open the Column Property View.

2. Change the Temperature of the feed to 320°C.

3. Click the Design tab and click the Monitor page.

Figure 1

Page 7: Crude Column Optimization Aspen Hysys

Crude Column Optimization 7

7

4. Enter the Kerosene flowrate as 62 m3/h. The specifications on your Monitor page should appear as shown:

The Column property view should display a “Converged” status.

Figure 2

Save your case!

Page 8: Crude Column Optimization Aspen Hysys

8 Crude Column Optimization

8

Derivative UtilityThe Derivative Utility is used to hold all the data used for defining the HYSYS Optimizer variables, constraints, and the Objective Function.

The first step in setting up an optimization problem is creating a Derivative Utility. The Derivative Utility is responsible for gathering all necessary information for the optimizer. Notice that several different Derivative Utilities can be added to the same simulation, that is, the same simulation model can be used in the analysis of several different scenarios.

To install a Derivative Utility:

1. From the Tools menu, select Utilities.

2. Click Derivative Utility in the list box on the right.

3. Click on the Add Utility button. The Derivative Utility property view appears as shown:

Figure 3

Page 9: Crude Column Optimization Aspen Hysys

Crude Column Optimization 9

9

Selection of Unit Operation(s)

The first step in the implementation of the Derivative Utility is the selection of the unit operations to be considered.

4. Click the Operation button.

We will use only the distillation column as the desired unit operation. Using this mode will optimize variables pertaining to the Atmospheric Crude Tower unit operation.

5. Add the Atmos Tower to the Scope Objects list as shown:

6. Click Accept List.

Installing Optimization Variables from the Utility

The next step is to define the variables that we would like to optimize in our case. The Optimization variables will be product flowrates, steam flowrates, and energy values.

The needed optimization objects for the utility (in the case of the Derivative Utility: Optimization Variables, Constraints, and Objective Function variables) can be added directly from this view. In the Derivative Utility Configuration group, there is a drop-down list on the right side of the group.

Figure 4

Page 10: Crude Column Optimization Aspen Hysys

10 Crude Column Optimization

10

The drop-down list contains three options:

• Process Constraints: ProcCons • Optimization Variables: OptVars• Objective Function: ObjFunc• State Variables: StateVars

7. Select OptVars and click the Add button to the left of the drop-down list. The selection view is displayed:

8. By making the selection as shown, an Optimization Variable is created (Bttm Steam Mass Flow) and is added into the utility. By default, the new object is given the next available name. However, you can edit the name of the object directly from the utility view by highlighting the name in the Object Name column and typing a new string.

Figure 5

Figure 6

State Variables are on/off variables which are not being used in this case.

Page 11: Crude Column Optimization Aspen Hysys

Crude Column Optimization 11

11

The Object Name column lets you modify the name of the created variables. In addition, the Attached Object and attached Property columns are also displayed in the view, as well as the variable's current value.

The Master and Runtime radio buttons toggle the display between all objects and those being considered for the current evaluation. The properties can be filtered into the following:

• All. All properties.• Input. Properties requiring user input.• Output Calculated and outputted values.• Results. Solution results.

Required Input for Variables

The input for optimization variables are:

• Optimize flag• Minimum• Maximum• Range (optional)• Global Minimum• Global Maximum

The Global inputs are appropriate only for real time applications and can be set at the same values as the minimum and maximum.

The Optimize flag works in conjunction with Runtime and Master lists. When the optimization problem is being set up, this flag is evaluated for

Figure 7

From the list of variables, if you uncheck the “Optimize flag” check box for certain variables, the Master list will still show you all the variables (selected and non-selected) whereas the Runtime list shows only the selected ones.

Page 12: Crude Column Optimization Aspen Hysys

12 Crude Column Optimization

12

each variable. If the flag is false, then the variable is not exposed to the Optimizer and the value remains at its starting value for the length of the solution. With this, you can easily switch between optimization problems by turning variables and constraints on and off. The value for the variable Range is used in the calculation of a perturbation (= range x perturbation factor). If none is provided, the span (maximum - minimum) is used for the calculations.

Adding Variables

We need to add all of the optimization variables in the same way. Notice that only those variables shown as blue in the simulation (input values) can be selected since they must be available for updating during the optimization. In this example, those variables that are specified as Active specs in the column will need to be accessed through this derivative utility.

9. Click the Add button with the OptVars option selected in the drop-down list.

10. Add the steam flowrates. Since the specified value (blue) in this case is in the stream itself, you will be able to access it through this object directly as you did with the Bttm Stream Flowrate.

Figure 8

This displays how to access a column Active specification through the Object ANavigator.

Page 13: Crude Column Optimization Aspen Hysys

Crude Column Optimization 13

13

11. Repeat the steps in order to complete the list of Optimization variables as follows:

Make sure that all values from the Current Value column are in blue, since they’ll be changed later by the optimizer.

12. Select the Input view from the Variables tree on the left.

13. Complete the minimum and maximum values for each of the variables.

Figure 9

Minimum Maximum

Flowrates Steam (kg/h)

700 AGO Steam Flow 1600

2000 Bttm Steam Flowrate 4800

800 Diesel Steam Flow 1900

Flowrates Products

0 Off Gas Flowrate (kgmole/h) 10

110 Naphtha Flowrate (m3/h) 190

46 Kero Flowrate (m3/h) 80

104 Diesel Flowrate (m3/h) 156

20 AGO Flowrate (m3/h) 40

Minimum and maximum values are the boundaries for the variables in the optimization; this is the valid range for the optimization.

Page 14: Crude Column Optimization Aspen Hysys

14 Crude Column Optimization

14

HYSYS SQP Optimizer is able to solve constrained optimization problems. In the presented case, we want the product quality to remain inside certain values. We can set this need as constraints in an optimization problem.

Required Input for Constraints

The required inputs for constraints are as follows:

• Use flag• Minimum• Maximum• Scale

All constraints are treated by the Optimizer as ranged constraints (i.e., the value of the constraint should lie between the minimum and maximum at solution, within the prescribed Scale tolerance). The scale can be considered as an approach, or as the boundary around the minimum and maximum values that defines whether the constraint is active, or violated. This information is reported during and after the solution as the status of the constraint.

Energy (MMKJ/h)

-33 Kero PA Duty -60

-25 Diesel PA Duty -50

-25 AGO PA Duty -50

Pump Around Draw Rates (m3/h)

240 Kero PA Flowrate 400

150 Diesel PA Flowrate 250

150 AGO PA Flowrate 250

Additional Specs

6 Kero Reb Duty (MMKJ/h) 10

17 Liq Flow Stg 27 (m3/h) 30

Minimum Maximum

Save your case!

Page 15: Crude Column Optimization Aspen Hysys

Crude Column Optimization 15

15

14. Click on the Add button with the ProcCons option activated in the drop-down list as shown:

We could add the distillation points from the Boiling point Curves utility, but that would take more time than if we took the values from the Column’s Monitor page (they will save calculation time).

15. Add the required Distillation Points on the Monitor page of the Column Property view if they are not already there.

The products must meet the following quality specifications:

Figure 10

Figure 11

Product Specification type Minimum (°C) Maximum (°C)

Naphtha D86 / 5% 40.00 50.00

Naphtha D86 / 95% 160.00 180.00

Kerosene D86 / 5% 170.00 190.00

Kerosene D86 / 95% 240.00 260.00

Diesel Pour point -15.00 5.00

Diesel Flash point 90.00 110.00

AGO Pour point 0.00 20.00

AGO Flash point 130.00 150.00

Use a descriptive name as this will make it easier to find with the Object Navigator.

Page 16: Crude Column Optimization Aspen Hysys

16 Crude Column Optimization

16

16. Repeat the steps in order to complete the whole list of Constraint variables as displayed in the previous table.

17. For the heavy streams, we will include Flash Point and Pour Point specifications by selecting them from the column.

18. Go to the Monitor page.

19. Click the Add Spec button.

20. Click the Add Spec button again and select Cold Properties.

21. Remember to take into account the equipment limitation constraints.

Figure 12

Equipment Min Duty (MM kJ/h) Max Duty (MM kJ/h)

Condenser 105.00 125.00

Flash Zone 70.00 90.00

We can also view these properties with the corresponding utility but it will be better to gather all the information within the Monitor page.

Page 17: Crude Column Optimization Aspen Hysys

Crude Column Optimization 17

17

22. Add two new process constraints for the Energy streams (you can select these directly from the stream).

Your view should appear as shown:

Figure 13

Figure 14

If any current value exceeds the boundaries, the optimizer will put it within the limits.

Page 18: Crude Column Optimization Aspen Hysys

18 Crude Column Optimization

18

Objective Function Variables

Objective Function variables are installed individually which facilitates the calculation of the gradient during the course of Jacobian evaluations. Alternatively, an Objective Function can be built in a spreadsheet operation, with a single cell representing the results, and having a single Objective Function object attached to this result cell.

All the variables with a cost associated may be listed into the Constraints/Objective Function tab. The HYSYS SQP optimizer will only minimize the Objective Function. For this reason the revenues have to be expressed as negative, and the cost values positive.

Thus, every single variable will have, as a result, its current value multiplied by the associated cost/revenue. The Jacobian will minimize the individual values that will end in a total minimum (the sum of all the values from the list).

Is there any constraint variable currently beyond the specified Minimum and Maximum boundaries? _________________________________________

Price

Revenues ($/m3)

Naphtha 14.00

Kerosene 12.00

Diesel 10.00

AGO 6.00

Residue 2.00

Costs ($/MM kJ)

Condenser 0.12

Flash zone duty 3.00

Profits

Page 19: Crude Column Optimization Aspen Hysys

Crude Column Optimization 19

19

23. To add Objective Function variables, click on the Add button with the ObjFunc option selected.

24. For this problem, individual objective function objects are installed as shown below. Select the Naphtha product Volume Flowrate (because the price is in $/m3).

Figure 15

Figure 16

Page 20: Crude Column Optimization Aspen Hysys

20 Crude Column Optimization

20

Figure 17

Which would be the formula of the global Objective Function?

Naphtha flowrate * price Naphtha + Kero flowrate * price Kero + Diesel flowrate * price Diesel + AGO flowrate * price AGO + Residue flowrate * price Residue - Condenser Heat Flow * cost Energy Condenser - Flash Zone Heat Flow * cost Energy

And its value? ________________________________

Save your case!

Page 21: Crude Column Optimization Aspen Hysys

Crude Column Optimization 21

21

OptimizerThe Optimizer interface is used to collect all of the derivative utilities within the current simulation case and provide them to the optimization algorithm. The Optimizer is invoked by pressing F5 or by opening the Simulation menu and selecting Optimizer.

Remember that we can use several utilities in the same case.

1. On the Configuration tab, select Hyprotech SQP as the optimization algorithm.

2. After all the information is configured (leave the defaults), the model can be run. Click the Hyprotech SQP tab and click the Start button to run the Optimizer.

To examine the results on the variables and constraints, open the appropriate Derivative Utility and view the Results page.

Figure 18

Page 22: Crude Column Optimization Aspen Hysys

22 Crude Column Optimization

22

Examining the ResultsGo to the Optimizer Property View (press F5).

Go to the Derivative Utility and select the Results option, in the Constraints/Objective Function tab.

An active constraint means the variable is in one of its boundaries.

Exploring the SimulationSince Naphtha is the more valuable product, increasing the flowrate should also increase the profit. We can do so by relaxing the constraints, however, we are constrained to the quality specifications.

Change the D86 95% Temperature value to 185°C.

Did the model find a solution? ________________________________________

What is the Objective Function value? __________________________________

Have we improved it? ________________________________________________

Was any constraint violated? _________________________________________

And active? _________________________________________________________

What is the new Objective Function? ___________________________________

What are the active specifications? _____________________________________

Did the profit increase after these changes were made? ___________________