Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
Table of Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Set Up Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Start from Aspen Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Start from Aspen Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Create an Aspen Custom Modeler Flash Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Set Up a Component List in Aspen Custom Modeler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Select Properties Definition File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Create a Custom Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Create Variables and Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Specify Fixed and Free Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Write Procedure Calls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Compile and Test the Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Add the Phase Equilibrium Equation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Add the Component Mole Balance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Add the Energy Balance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Add Forms to Improve Usability. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Add Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Reference Port Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Handle Properties of Port Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Add the Mass-Transfer Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Create an Icon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Test the Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Add the Model to the Flowsheet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Create a Dynamic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Next Steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Additional Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
Introduction
Aspen Custom Modeler (ACM) provides a powerful way to quickly create rigorous models of processing equipment and to apply these equipment models to simulate and optimize continuous, batch, and semi-batch processes. The product is both a model development environment, as well as a complete flowsheet modeling environment. In this guide, we will follow one example, the development of a mass-transfer rate-based flash model to illustrate how you can use Aspen Custom Modeler to develop your own unit operations. This document serves as a simple getting started guide for using Aspen Custom Modeler. We recommend that you use a range of other resources including: AspenTech support website (support.aspentech.com) AspenTech courseware available in on-line and in-person versions AspenTech knowledgebase items, training, and sample models available in aspenONE Exchange AspenTech business consultants See Additional Resources (page 23) for more information. This guide assumes that the user has Aspen Custom Modeler V8.0 or higher installed on his or her computer. There are two example files provided with this guide: Simple Flash Models Steady State and Simple Flash Models Dynamic.
Set Up Properties
Aspen Custom Modeler shares a common property database and common set of thermodynamic models with Aspen Plus via Aspen Properties. This provides a tremendous advantage for Process Engineers by ensuring a consistent basis for all property calculations and eliminating much of the work required to set up rigorous models. There are two options for setting up properties in Aspen Custom Modeler: start from scratch using Aspen Properties or export properties from an existing Aspen Plus case.
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
Enter the list of components to be included in your model. This list should include all of the components that may appear in any part of your flowsheet, including process utilities. Figure 2 shows the components used in this example. From this point, you can use the next button to confirm the binary parameters for these components. When the file is complete, save it to your working folder as an APRBKP file (Aspen Properties Backup File).
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
The next step is to select the components to include in the component list. Initially, the list is empty. Use the >> button to push all the components to the right side of the form then click OK (Figure 4).
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
Xi i Pi L = Yi P (E1)
where:
Xi i PLi Yi P Liquid mole fraction of component i Molar activity coefficient of component i in the liquid phase Vapor pressure of component i in the liquid phase Vapor mole fraction of component i System pressure
The vapor pressure of each component is a function of temperature. The liquid-phase activity coefficient of each component is a function of temperature and composition. These can be calculated directly by Aspen Properties, using property procedures in Aspen Custom Modeler. The easiest way to get started defining variables is to use the Model Assistant. You can raise the model assistant by rightclicking inside the Model Editor window (which automatically appeared when you created the new model) and selecting Model Assistant from the context menu (Figure 6). Note: if you close the Model Editor, you can reopen it by pressing Ctrl+E (Appendix, page 22).
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
The assistant provides a template to define variables. Enter a name, physical type, and description. You also have the option to set the specification (explained in the next section). Click the Insert button to add the text to the model (Figure 7).
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
By default, the mole fractions are initialized to a fixed initial value. A better practice is to set mole fractions to the inverse of the number of components (this way you always end up with as many mole fractions as components). In Aspen Custom Modeler, the Size function returns the length of any array or set, so 1/Size(Componentlist) can be used to initialize the mole fractions (Figure 9).
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
After inserting the procedure calls, replace the text (such as <temperature>) with the corresponding variables in your model. For example: Call (<act_coeff(*)>) = pAct_Coeff_Liq(<temperature>, <pressure>, <molefraction(*)>) ComponentList; becomes: Call (gamma) = pAct_Coeff_Liq(T, P, X) ComponentList; Note that the vapor pressure procedure pVap_Pressures (with an s) must be used to return a list of component vapor pressures; the procedure pVap_Pressure returns the vapor pressure of a mixture (Figure 11)
Figure 11: Model with Procedure Calls for Activity Coefficients and Vapor Pressures
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
The model should be complete and square (the number of equations matches the number of unknown variables). This is shown by the green status box at the bottom of the application window. The results should match those shown in Figure 13 below. Right click on the instance of the model (B1) and select Forms>AllVariables to see the list of model results and inputs. Note that the liquid phase compositions (X), the temperature, and pressure were all declared as fixed variables in the model.
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
This test confirms that you are able to calculate the activity coefficients and vapor pressures correctly. You can confirm this using the property analysis features of Aspen Properties or Aspen Plus.
Xi i Pi L = Yi P (E2)
This can be defined in the model as shown in Figure 14. Note that the equation will solve for the vapor mole fractions, Y, since the other variables are fixed or functions of fixed variables. With Aspen Custom Modeler, the order of the equation is not importantthese statements are indeed equations and not assignments you would see in a typical programming language.
As formulated, the equation is well structured. When writing equations for Aspen Custom Modeler some important best practices are to: Avoid unnecessary division to avoid errors when the divisor goes to zero Try to scale both sides of the equation to a value near unity to help with convergence Include an equation label (Eqn_VLE:) to help you diagnose problems if the model fails to converge This equation implicitly represents one equation for each component (each member of the array) since many of the terms in the equation are indexed over all components. When the updated model is compiled, it is square. However, this model fails to converge. This illustrates an important pitfall: infeasible models will not converge! Figure 15 shows the simulation message you will get that explains the model is infeasible. Note: to open the Simulation Messages window, press Alt+F12 or select Messages under View on the toolbar.
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
10
A review of the unconverged results shows that the model is driving the vapor mole fraction of methane to an impossibly high value (92.67). This occurs because the specified liquid phase composition is not feasible at the specified temperature and pressure. Further, there is no equation constraining the sum of the vapor mole fractions to unity. To illustrate the problem and a potential solution, you can make two changes to the model. First, free the temperature (or pressure). Second, add an equation to set the sum of vapor mole fractions to unity to ensure the resulting composition is feasible. We can use the sigma (sum) function to perform this in Aspen Custom Modeler by adding: EQN_Ysum: Sigma(Y) = 1.0; With these assumptions, the system will calculate the bubble point temperature at the specified liquid phase composition and pressure. In this particular case, the model converges to a temperature of -152C (the high liquid mole fraction of methane means the temperature must be quite low).
X = 1 (E4) Y = 1 (E5)
i i i i
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
11
Figure 16 shows the code associated with these constraints. Equation E3 is captured in the model equation Eqn_CompBal. The equations Xsum and Ysum enforce the constraints that the liquid and vapor mole fractions sum to unity (E4 and E5).
The feed mole fractions (Zi) are not checked into this simple sample model. Usually, these compositions would come from a feed stream/port. Typically, a normalization equation is used to ensure valid feed conditions, for example the equation Z * sigma(Z_user) = Z_user could be used to normalize user-specified mole fractions Z_user. Figure 17 shows the code for the simple flash model so far.
Figure 17: Simple VLE Flash Model Mass Balance Only at Fixed State Conditions
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
12
Figure 18: Write a Simple VLE Flash Model with Mass and Energy Balance
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
13
The new table will be empty by default. Right-click on the table and select Properties. This opens a dialog with two tabs, Properties and Variables. Use the Properties tab sheet to select which attributes to display by default (for example to add a column for the variable Units). Use the Variables tab to set the list of variables to include in the table. After the new table is defined, you can view it for any instance of the model by right-clicking the model icon on the flowsheet, selecting Forms, and then selecting the form by name (Figure 20).
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
14
Add Ports
In order to generate a model that works within a flow sheet, you must add ports. Ports allow you to connect streams and other units. This model is being built for use within Aspen Plus and Aspen HYSYS, so you need to select the MoleFractionPort for compatibility. You will need one inlet port (Feed) and two outlet ports (Liquid, Vapor). Figure 21 shows the code for the outlet ports.
In order to allow multiple streams to enter the inlet, you need to define it as a multiport. This will mix the streams coming in and use the resulting contents to solve for the outlets. The syntax for a multiport is similar to that for a port, except "Multiport of" is added prior to the port type. You must also add a minimum number of required connections (Figure 22).
Now, you must add mixing rules for the streams entering the flash in terms of the total flow, component flow, and enthalpy. To reference all of the connections to the multiport, write them out as: <name>.connection.<variable> Thus, in the case of the flow, the syntax is: Feed.connection.F Use the sigma command to sum all of the values over the connection (Figure 23). This method is helpful because it does not require you to specify the number of streams beforehand (since this number may vary for each instance of the model).
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
15
If you do not know the syntax for your desired variable, or what variables are associated with a particular port, open the simulation explorer and go to Libraries>Modeler>Port Types (Figure 24).
Find the port you are interested in, right-click, and select edit. This will display the port and its variables (Figure 25). A port can inherit another port type. In this case, the MoleFractionPort references the MainPort, so you must check MainPort to find its variables.
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
16
Now that you have added ports to take in variables from a flowsheet, you do not need to fix all of your initial variables. The code in Figure 26 tells the model to automatically use the stream values from the flowsheet to specify these variables.
In order for this to work properly, you need to change the variables definitions to Free (Figure 27).
Figure 27: Make Sure Variables that are Determined by Ports are Free
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
17
This requires the addition of new variables that you have not yet defined. Add the mass transfer coefficient, kLA, and the volume of liquid in the tank, vol_liq, as variables (Figure 29).
Figure 29: Add the Mass Transfer Coefficient and Liquid Volume in the Tank
Create an Icon
Creating an icon for the model allows you to connect the ports rather than using a universal inlet and outlet port. To enter the icon-creating environment, select the model on the simulation explorer and select Add Icon (Figure 31). This will ask you to name the icon and then open up a new window to draw it.
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
18
After you add a shape, you can right-click on it to add a fill (Figure 32).
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
19
When you are finished, exit the window and save the model. Next, right click on the icon for your model on the explorer and select "Make Default" (Figure 33). For this example model, we have recreated a flash icon and added the vapor and liquid ports from the port list on the left panel.
After this completes, try running the model in Steady State mode. You should now have a model that converges and calculates the rate-based results.
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
20
This is done by using the $ symbol to represent the differential over time:
$=
d0 (E10) d (t )
You can break down the mass conservation equation to define the component holdup and total holdups. For the energy conservation equation, you can define the holdup energy in the tank as Q. Figure 35 shows how to code the mass conservation equation.
Now that you have added the holdups, you have defined a dynamic equation. Dynamic models can still be run in steady state in Aspen Custom Modeler. In this case, the differential is set to zero as seen below:
d (U ) = ( Fin * H in + Q) (Fliq * H liq + Fvap * H vap ) (E11) d (t ) 0 = ( Fin * H in + Q) (Fliq * H liq + Fvap * H vap ) ( Fin * H in + Q ) = ( Fliq * H liq + Fvap * H vap )
d () 0 d (t )
This model ignores vapor holdup to make the dynamic model more robust (as it is negligible when no reactions are present). You can also simplify the energy calculations for molar holdup HU:
This lets you set an equation that relates the internal energy (U) to the enthalpy, allowing you to fix internal energy and free the temperature. This is valuable because it is much simpler to measure temperature than it is to measure internal energy. Your dynamic model is now ready to be run. First, converge the Initialization state and then converge the Steady State. Once you have these converged, you should save a snapshot. On the tool bar, click on the Snapshot button (Figure 37).
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
21
Give the snapshot a name such as SavedSS. You can now return to the converged steady state model if the dynamic model has convergence issues later. After saving the steady state model, go to the tool bar, change the mode to Dynamic, and run. If the model does not converge, look at the message panel and see what errors the model is encountering to help troubleshoot. Next, add controllers in the same way as you would in other simulators such as Aspen Plus Dynamics (see Additional Resources, page 23). This step is not required to build this model, but helps to keep the model converged by minimizing variable fluctuation. You can now change different fixed variables and see how the model reacts.
Next Steps
To learn how to run your ACM Model in an Aspen Plus or Aspen HYSYS flowsheet, check out the Computer Based Training (CBT) course, Getting Started with Aspen Custom Modeler in Aspen Plus V8, available online (see Additional Resources, page 23).
Appendix
Shortcuts
Compile Model Assistant Model Editor Model Libraries Simulation Messages Variable Find
F8 Ctrl+M Ctrl+E Alt+F10 Alt+F12 Ctrl+Alt+F
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
22
Additional Resources
Public Website
www.aspentech.com/products/aspen-plus www.aspentech.com/products/solids
Support Website
aspentech.com/support
Online Training
www.aspentech.com/products/aspen-online-training
On-demand Webinars
Introduction to Aspen Custom Modeler http://www.aspentech.com/July_2013-ACM/
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813
23
About AspenTech
AspenTech is a leading supplier of software that optimizes process manufacturingfor energy, chemicals, engineering and construction, and other industries that manufacture and produce products from a chemical process. With integrated aspenONE solutions, process manufacturers can implement best practices for optimizing their engineering, manufacturing, and supply chain operations. As a result, AspenTech customers are better able to increase capacity, improve margins, reduce costs, and become more energy efficient. To see how the worlds leading process manufacturers rely on AspenTech to achieve their operational excellence goals, visit www.aspentech.com.
Worldwide Headquarters
Aspen Technology, Inc. 200 Wheeler Road Burlington, MA 01803 United States phone: +17812216400 fax: +17812216410 info@aspentech.com
Regional Headquarters
Houston, TX | USA phone: +12815841000 So Paulo | Brazil phone: +551134436261 Reading | United Kingdom phone: +44(0)1189226400 Singapore | Republic of Singapore phone: +6563953900 Manama | Bahrain phone: +97317503000
2013 Aspen Technology, Inc. AspenTech, aspenONE, the Aspen leaf logo, the aspenONE logo, and OPTIMIZE are trademarks of Aspen Technology, Inc. All rights reserved. 11-3979-0813