# Engineering equation solver for microsoft windows operating systems - commercial and professional versions

- 249 trang
- file .pdf

EES

Engineering Equation Solver

for Microsoft Windows

Operating Systems

Commercial and Professional Versions

F F-Chart Software

C

http://www.fchart.com/

email : [email protected]

Copyright 1992-2001 by S.A. Klein

All rights reserved.

The authors make no guarantee that the program is free from errors or that the results

produced with it will be free of errors and assume no responsibility or liability for the

accuracy of the program or for the results that may come from its use.

EES was compiled with DELPHI 5 by Borland

Registration Number__________________________

ALL CORRESPONDENCE MUST INCLUDE THE REGISTRATION

NUMBER

V6.160

EES

Engineering Equation Solver

for Microsoft Windows

Operating Systems

F F-Chart Software

C

http://www.fchart.com/

email : [email protected]

Table of Contents

Overview ............................................................................................................. 1

Chapter 1: Getting Started ........................................................................... 5

Installing EES on your Computer................................................................. 5

Starting EES ................................................................................................. 5

Background Information............................................................................... 6

An Example Thermodynamics Problem....................................................... 9

Chapter 2: EES Windows ........................................................................... 19

General Information .................................................................................. 19

Equations Window ..................................................................................... 21

Formatted Equations Window .................................................................... 24

Solution Window........................................................................................ 27

Arrays Window........................................................................................... 29

Residuals Window...................................................................................... 31

Parametric Table Window .......................................................................... 33

Lookup Table Window............................................................................... 37

Diagram Window ....................................................................................... 39

Plot Window ............................................................................................... 51

Debug Window........................................................................................... 59

Chapter 3: Menu Commands .................................................................... 63

The File Menu ............................................................................................ 63

The Edit Menu ........................................................................................... 73

The Search Menu ....................................................................................... 77

The Options Menu ..................................................................................... 70

The Calculate Menu .................................................................................. 93

The Tables Menu ....................................................................................... 99

The Plot Menu.......................................................................................... 107

The Windows Menu................................................................................. 117

The Help Menu ........................................................................................ 119

The Textbook Menu ................................................................................ 120

Chapter 4: Built-in Functions ...................................................................... 123

Mathematical Functions . ......................................................................... 123

String Functions........................................................................................ 132

Thermophysical Property Functions......................................................... 134

Using Lookup Files and the Lookup Table .............................................. 143

The $OpenLookup and $SaveLookup Directives .................................... 151

ii

Chapter 5: EES Modules, Functions and Procedures .......................... 153

EES Functions . ........................................................................................ 154

EES Procedures ........................................................................................ 156

Single-Line If Then Else Statements ........................................................ 158

Multiple-Line If Then Else Statements .................................................... 159

GoTo and Repeat-Until Statements .......................................................... 160

Error Procedure......................................................................................... 161

Warning Procedure ................................................................................... 162

Modules and Subprograms ....................................................................... 163

Library Files ............................................................................................. 166

$COMMON Directive .............................................................................. 169

The $INCLUDE directive ........................................................................ 170

The $EXPORT directive .......................................................................... 171

The $IMPORT directive ........................................................................... 172

Chapter 6: Compiled Functions and Procedures .................................... 173

EES Compiled Functions (.DLF Files)..................................................... 173

The PWF Example Compiled Function.................................................... 176

EES Compiled Procedures (.FDL and .DLP Files) .................................. 179

Compiled Procedures with the .FDL Format - a FORTRAN Example.... 180

Compiled Procedures with the .DLP Format - a Pascal Example ............ 183

Multiple Files in a Single Dynamic Link Library (.DLL) ....................... 185

Help for Compiled Routines..................................................................... 187

Chapter 7: Advanced Features ..................................................................... 189

String Variables ........................................................................................ 189

Complex Variables ................................................................................... 190

Array Variables......................................................................................... 194

The DUPLICATE Command ................................................................... 196

Matrix Capabilities ................................................................................... 197

Using the Property Plot............................................................................. 199

Integration and Differential Equations ..................................................... 200

Creating and Using Macro Files ............................................................... 211

Appendix A: Hints for Using EES .............................................................. 219

Appendix B: Numerical Methods used in EES........................................ 223

Solution to Algebraic Equations............................................................... 223

Blocking Equation Sets ............................................................................ 226

Determination of Minimum or Maximum Values.................................... 228

Numerical Integration............................................................................... 229

References for Numerical Methods .......................................................... 231

Appendix C: Adding Property Data to EES ............................................. 233

Appendix D: Example Problem Information ........................................... 243

-iii-

__________________________________________________________________________

Overview

__________________________________________________________________________

EES (pronounced 'ease') is an acronym for Engineering Equation Solver. The basic function

provided by EES is the solution of a set of algebraic equations. EES can also solve

differential equations, equations with complex variables, do optimization, provide linear and

non-linear regression and generate publication-quality plots. Versions of EES have been

developed for Apple Macintosh computers and for the Windows operating systems. This

manual describes the version of EES developed for Microsoft Windows operating systems,

including Windows 95/98/2000 and Windows NT 4.

There are two major differences between EES and existing numerical equation-solving

programs. First, EES automatically identifies and groups equations which must be solved

simultaneously. This feature simplifies the process for the user and ensures that the solver

will always operate at optimum efficiency. Second, EES provides many built-in

mathematical and thermophysical property functions useful for engineering calculations.

For example, the steam tables are implemented such that any thermodynamic property can

be obtained from a built-in function call in terms of any two other properties. Similar

capability is provided for most organic refrigerants (including some of the new blends),

ammonia, methane, carbon dioxide and many other fluids. Air tables are built-in, as are

psychrometric functions and JANAF table data for many common gases. Transport

properties are also provided for most of these substances.

The library of mathematical and thermophysical property functions in EES is extensive, but

it is not possible to anticipate every user's need. EES allows the user to enter his or her own

functional relationships in three ways. First, a facility for entering and interpolating tabular

data is provided so that tabular data can be directly used in the solution of the equation set.

Second, the EES language supports user-written functions and procedure similar to those in

Pascal and FORTRAN. EES also provides support for user-written modules, which are self-

contained EES programs that can be accessed by other EES programs. The functions,

procedures, and modules can be saved as library files which are automatically read in when

EES is started. Third, compiled functions and procedures, written in a high-level language

such as Pascal, C or FORTRAN, can be dynamically-linked into EES using the dynamic

link library capability incorporated into the Windows operating system. These three

methods of adding functional relationships provide very powerful means of extending the

capabilities of EES.

1

The motivation for EES rose out of experience in teaching mechanical engineering

thermodynamics and heat transfer. To learn the material in these courses, it is necessary for

the student to work problems. However, much of the time and effort required to solve

problems results from looking up property information and solving the appropriate

equations. Once the student is familiar with the use of property tables, further use of the

tables does not contribute to the student's grasp of the subject; nor does algebra. The time

and effort required to do problems in the conventional manner may actually detract from

learning of the subject matter by forcing the student to be concerned with the order in which

the equations should be solved (which really does not matter) and by making parametric

studies too laborious. Interesting practical problems that may have implicit solutions, such

as those involving both thermodynamic and heat transfer considerations, are often not

assigned because of their mathematical complexity. EES allows the user to concentrate

more on design by freeing him or her from mundane chores.

EES is particularly useful for design problems in which the effects of one or more

parameters need to be determined. The program provides this capability with its Parametric

Table, which is similar to a spreadsheet. The user identifies the variables that are

independent by entering their values in the table cells. EES will calculate the values of the

dependent variables in the table. The relationship of the variables in the table can then be

displayed in publication-quality plots. EES also provides capability to propagate the

uncertainty of experimental data to provide uncertainty estimates of calculated variables.

With EES, it is no more difficult to do design problems than it is to solve a problem for a

fixed set of independent variables.

EES offers the advantages of a simple set of intuitive commands that a novice can quickly

learn to use for solving any algebraic problems. However, the capabilities of this program

are extensive and useful to an expert as well. The large data bank of thermodynamic and

transport properties built into EES is helpful in solving problems in thermodynamics, fluid

mechanics, and heat transfer. EES can be used for many engineering applications; it is

ideally suited for instruction in mechanical engineering courses and for the practicing

engineer faced with the need for solving practical problems.

The remainder of this manual is organized into seven chapters and five appendices. A new

user should read Chapter 1 which illustrates the solution of a simple problem from start to

finish. Chapter 2 provides specific information on the various functions and controls in each

of the EES windows. Chapter 3 is a reference section that provides detailed information for

each menu command. Chapter 4 describes the built-in mathematical and thermophysical

property functions and the use of the Lookup Table for entering tabular data. Chapter 5

provides instructions for writing EES functions, procedures and modules and saving them in

2

Library files. Chapter 6 describes how compiled functions and procedures, written as

Windows dynamic-link library (DLL) routines, can be integrated with EES. Chapter 7

describes a number of advanced features in EES such as the use of string, complex and array

variables, the solution of simultaneous differential and algebraic equations, and property

plots. Appendix A contains a short list of suggestions. Appendix B describes the numerical

methods used by EES. Appendix C shows how additional property data may be

incorporated into EES. A number of example problems are provided in the Examples

subdirectory included with EES. Appendix D indicates which features are illustrated in the

example problems provided with EES.

3

4

CHAPTER1

__________________________________________________________________________

Getting Started

__________________________________________________________________________

Installing EES on your Computer

EES is distributed in a self-installing compressed form in a file called SETUP_EES.exe

which may be provided on two floppy disks or on a CD. To install EES, it is necessary

execute the SETUP_EES installation program. If you are installing EES from a CD, the

installation program will start automatically when the CD is placed in the drive. To install

EES from a floppy disk, place the first disk in the drive and select the Run command from

the Start menu and then enter A:\SETUP_EES.exe.

Here A: is your floppy drive designation. In either case, the installation program will

provide a series of prompts which will lead you through the complete installation of the EES

program.

Starting EES

The default installation program will create a directory named C:\EES32 in which the EES

files are placed. The EES program icon shown above will identify both the program and

EES files. Double-clicking the left mouse button on the EES program or file icon will start

the program. If you double-clicked on an EES file, that file will be automatically loaded.

Otherwise, EES will load the HELLO.EES file which briefly describes the new features in

your version. You can delete or rename the HELLO.EES file if you do not wish to have it

appear when the program is started.

5

Chapter 1 Getting Started

Background Information

EES begins by displaying a dialog window that shows registration information, the version

number and other information. The version number and registration information will be

needed if you request technical support. Click the OK button to dismiss the dialog window.

Detailed help is available at any point in EES. Pressing the F1 key will bring up a Help

window relating to the foremost window. Clicking the Contents button will present the Help

index shown below. Clicking on an underlined word (shown in green on color monitors)

will provide help relating to that subject.

6

Getting Started Chapter 1

EES commands are distributed among nine pull-down menus. (A tenth user-defined menu

can be placed to the right of the Help menu. See the discussion of the Load Textbook

command File menu in Chapter 3.) A brief summary of their functions follows. Detailed

descriptions of the commands appear in Chapter 3.

Note the a toolbar is provided below the menu bar. The toolbar contains small buttons

which provide rapid access to many of the most frequently used EES menu commands. If

you move the cursor over a button and wait for a few second, a few words will appear to

explain the function of that button. The toolbar can be hidden, if you wish, with a control in

the Preferences dialog (Options menu).

The System menu represented by the EES icon appears above the file menu. The System

menu is not part of EES, but rather a feature of the Windows Operating System. It holds

commands that allow window moving, resizing, and switching to other applications.

The File menu provides commands for loading, merging and saving work files and libraries,

and printing.

The Edit menu provides the editing commands to cut, copy, and paste information.

The Search menu provides Find and Replace commands for use in the Equations window.

The Options menu provides commands for setting the guess values and bounds of variables,

the unit system, default information, and program preferences. A command is also

provided for displaying information on built-in and user-supplied functions.

The Calculate menu contains the commands to check, format and solve the equation set.

The Tables menu contains commands to set up and alter the contents of the Parametric and

Lookup Tables and to do linear regression on the data in these tables. The Parametric

Table, similar to a spreadsheet, allows the equation set to be solved repeatedly while

varying the values of one or more variables. The Lookup table holds user-supplied data

which can be interpolated and used in the solution of the equation set.

The Plot menu provides commands to modify an existing plot or prepare a new plot of data

in the Parametric, Lookup, or Array tables. Curve-fitting capability is also provided.

The Windows menu provides a convenient method of bringing any of the EES windows to

the front or to organize the windows.

The Help menu provides commands for accessing the online help documentation.

7

Chapter 1 Getting Started

The basic capability provided by EES is the solution of a set of non-linear algebraic

equations. To demonstrate this capability, start EES and enter this simple example problem

in the Equations window. Note that EES makes no distinction between upper and lower

case letters and the ^ sign (or **) is used to signify raising to a power.

If you wish, you may view the equations in mathematical notation by selecting the Formatted

Equations command from the Windows menu.

Select the Solve command from the Calculate menu. A dialog window will appear indicating

the progress of the solution. When the calculations are completed, the button changes from

Abort to Continue.

Click the Continue button. The solution to this equation set will then be displayed.

8

Getting Started Chapter 1

An Example Thermodynamics Problem

A simple thermodynamics problem will be set up and solved in this section to illustrate the

property function access and equation solving capability of EES. The problem, typical of

that which may be encountered in an undergraduate thermodynamics course, is as follows.

Refrigerant-134a enters a valve at 700 kPa, 50°C with a velocity of 15 m/s. At the exit of the

valve, the pressure is 300 kPa. The inlet and outlet fluid areas are both 0.0110 m2.

Determine the temperature, mass flow rate and velocity at the valve exit.

State 1 State 2

T = 50°C T=?

P = 700 P = 300 kPa

Vel = 15 m/s Vel = ?

To solve this problem, it is necessary to choose a system and then apply mass and energy

balances. The system is the valve. The mass flow is steady, so that the mass balance is:

m1 = m2 (1)

where

m1 = A1 Vel1 / v1 (2)

m1 = A2 Vel2 / v2 (3)

m = mass flowrate [kg/s]

A = cross-sectional area [m2]

Vel = velocity [m/s]

v = specific volume [m3/kg]

We know that

A1 = A2 (4)

The valve is assumed to be well-insulated with no moving parts. The heat and work effects

are both zero. A steady-state energy balance on the valve is:

Vel12 Vel22

" 1 h1 +

m =m

" 2 h2 + (5)

2 2

where h is the specific enthalpy and Vel2/2 is the specific kinetic energy. In SI units,

specific enthalpy normally has units of [kJ/kg] so some units conversions may be needed.

EES provides unit conversion capabilities with the CONVERT function as documented in

Chapter 4. In addition, the Check Units command (Calculate menu) can be applied to

9

Chapter 1 Getting Started

determine check that all unit conversions have been made and the units in each equation are

dimensionally consistent.

From relationships between the properties of R134a:

v1 = v (T1 , P1 ) (6)

h1 = h (T1 , P1 ) (7)

v2 = v (T2 , P2 ) (8)

h2 = h (T2 , P2 ) (9)

Ordinarily, the terms containing velocity are neglected, primarily because the kinetic energy

effects are usually small and also because these terms make the problem difficult to solve.

However, with EES, the computational difficulty is not a factor. The user can solve the

problem with the kinetic energy terms and judge their importance.

The values of T1, P1, A1, Vel11 and P2 are known. There are nine unknowns: A2, m1 , m2 ,

Vel2, h1, v1, h2, v2, T2. Since there are 9 equations, the solution to the problem is defined. It

is now only necessary to solve the equations. This is where EES can help.

Start EES and select the New command from the File menu. A blank Equations window will

appear. Before entering the equations, however, set the unit system for the built-in

thermophysical properties functions. To view or change the unit system, select Unit System

from the Options menu.

EES is initially configured to be in SI units with T in °C, P in kPa, and specific property

values in their customary units on a mass basis. These defaults may have been changed

during a previous use. Click on the controls to set the units as shown above. Click the OK

button (or press the Return key) to accept the unit system settings.

10

Getting Started Chapter 1

The equations can now be entered into the Equations window. Text is entered in the same

manner as for any word processor. Formatting rules are as follows:

1. Upper and lower case letters are not distinguished. EES will (optionally) change the

case of all variables to match the manner in which they first appear.

2. Blank lines and spaces may be entered as desired since they are ignored.

3. Comments must be enclosed within braces { } or within quote marks " ". Comments

may span as many lines as needed. Comments within braces may be nested in which

case only the outermost set of { } are recognized. Comments within quotes will also

be displayed in the Formatted Equations window.

4. Variable names must start with a letter and consist of any keyboard characters except ( )

‘ | * / + - ^ { } : " or ;. Array variables (Chapter 7) are identified with square braces

around the array index or indices, e.g., X[5,3]. String variables (Chapter 7) are

identified with a $ as the last character in the variable name. The maximum length of a

variable name is 30 characters.

5. Multiple equations may be entered on one line if they are separated by a semi-colon (;)1.

The maximum line length is 255 characters.

6. The caret symbol ^ or ** is used to indicate raising to a power.

7. The order in which the equations are entered does not matter.

8. The position of knowns and unknowns in the equation does not matter.

After entering the equations for this problem and (optionally) checking the syntax using the

Check/Format command in the Calculate menu, the Equations window will appear as shown.

Comments are normally displayed in blue on a color monitor. Other formatting options are

set with the Preferences command in the Options menu.

1

If a comma is selected as the Decimal Symbol in the Windows Regional Settings Control Panel, EES will

recognize the comma (rather than a decimal point) as a decimal separator, the semicolon (rather than the comma) as

an argument separator, and the colon : (rather than the semicolon) as the equation separator.

11

Chapter 1 Getting Started

Note the use of the Convert function in this example to convert the units of the specific

kinetic energy [m^2/s^2] to the units used for specific enthalpy [kJ/kg]. The Convert

function is most useful in these problems. See Chapter 4 for a detailed description of its use.

The thermodynamic property functions, such as enthalpy and volume require a special

format. The first argument of the function is the substance name, R134a in this case. The

following arguments are the independent variables preceded by a single identifying letter

and an equal sign. Allowable letters are T, P, H, U, S, V, and X, corresponding to

temperature, pressure, specific enthalpy, specific internal energy, specific entropy, specific

volume, and quality. (For psychrometric functions, additional allowable letters are W, R, D,

and B, corresponding to humidity ratio, relative humidity, dewpoint temperature, and

wetbulb temperature.)

An easy way to enter functions, without needing to recall the format, is to use the Function

Information command in the Options menu. This command will bring up the dialog window

shown below. Click on the ‘Thermophysical properties’ radio button. The list of built-in

thermophysical property function will appear on the left with the list of substances on the

right. Select the property function by clicking on its name, using the scroll bar, if necessary,

to bring it into view. Select a substance in the same manner. An example of the function

showing the format will appear in the Example rectangle at the bottom. The information in

the rectangle may be changed, if needed. Clicking the Paste button will copy the Example

into the Equations window at the cursor position. Additional information is available by

clicking the Function Info and Fluid Info buttons.

12

Getting Started Chapter 1

It is usually a good idea to set the guess values and (possibly) the lower and upper bounds

for the variables before attempting to solve the equations. This is done with the Variable

Information command in the Options menu. Before displaying the Variable Information

dialog, EES checks syntax and compiles newly entered and/or changed equations, and then

solves all equations with one unknown. The Variable Information dialog will then appear.

The Variable Information dialog contains a line for each variable appearing in the Equations

window. By default, each variable has a guess value of 1.0 with lower and upper bounds of

negative and positive infinity. (The lower and upper bounds are shown in italics if EES has

previously calculated the value of the variable. In this case, the Guess value column

displays the calculated value. These italicized values may still be edited, which will force

EES to recalculate the value of that variable.)

The A in the Display options column indicates that EES will automatically determine the

display format for numerical value of the variable when it is displayed in the Solution

window. In this case, EES will select an appropriate number of digits, so the digits column

to the right of the A is disabled. Automatic formatting is the default. Alternative display

options are F (for fixed number of digits to the right of the decimal point) and E (for

exponential format). The display and other defaults can easily be changed with the Default

Information command in the Options menu, discussed in Chapter 3. The third Display options

column controls the hilighting effects such as normal (default), bold, boxed. The units of

the variables can be specified, if desired. The units will be displayed with the variable in the

Solution window and/or in the Parametric Table. EES does not automatically do unit

conversions but it can provide unit conversions using the Convert function (Chapter 4) and

13

Chapter 1 Getting Started

unit checking with the Check Units command in the Calculate menu. The units

information entered here is only for display purposes.

With nonlinear equations, it is sometimes necessary to provide reasonable guess values and

bounds in order to determine the desired solution. (It is not necessary for this problem.)

The bounds of some variables are known from the physics of the problem. In the example

problem, the enthalpy at the outlet, h2, should be reasonably close to the value of h1. Set its

guess value to 100 and its lower bound to 0. Set the guess value of the outlet specific

volume, v2, to 0.1 and its lower bound to 0. Scroll the variable information list to bring

Vel2 into view. The lower bound of Vel2 should also be zero.

To solve the equation set, select the Solve command from the Calculate menu. An

information dialog will appear indicating the elapsed time, maximum residual (i.e., the

difference between the left-hand side and right-hand side of an equation) and the maximum

change in the values of the variables since the last iteration. When the calculations are

completed, EES displays the total number of equations in the problem and the number of

blocks. A block is a subset of equations that can be solved independently. EES

automatically blocks the equation set, whenever possible, to improve the calculation

efficiency, as described in Appendix B. When the calculations are completed, the button

will change from Abort to Continue.

By default, the calculations are stopped when 100 iterations have occurred, the elapsed time

exceeds 60 sec, the maximum residual is less than 10-6 or the maximum variable change is

less than 10-9. These defaults can be changed with the Stop Criteria command in the Options

menu. If the maximum residual is larger than the value set for the stopping criteria, the

equations were not correctly solved, possibly because the bounds on one or more variables

constrained the solution. Clicking the Continue button will remove the information dialog

and display the Solution window shown on the next page. The problem is now completed

since the values of T2, m2, and Vel2 are determined.

14

Engineering Equation Solver

for Microsoft Windows

Operating Systems

Commercial and Professional Versions

F F-Chart Software

C

http://www.fchart.com/

email : [email protected]

Copyright 1992-2001 by S.A. Klein

All rights reserved.

The authors make no guarantee that the program is free from errors or that the results

produced with it will be free of errors and assume no responsibility or liability for the

accuracy of the program or for the results that may come from its use.

EES was compiled with DELPHI 5 by Borland

Registration Number__________________________

ALL CORRESPONDENCE MUST INCLUDE THE REGISTRATION

NUMBER

V6.160

EES

Engineering Equation Solver

for Microsoft Windows

Operating Systems

F F-Chart Software

C

http://www.fchart.com/

email : [email protected]

Table of Contents

Overview ............................................................................................................. 1

Chapter 1: Getting Started ........................................................................... 5

Installing EES on your Computer................................................................. 5

Starting EES ................................................................................................. 5

Background Information............................................................................... 6

An Example Thermodynamics Problem....................................................... 9

Chapter 2: EES Windows ........................................................................... 19

General Information .................................................................................. 19

Equations Window ..................................................................................... 21

Formatted Equations Window .................................................................... 24

Solution Window........................................................................................ 27

Arrays Window........................................................................................... 29

Residuals Window...................................................................................... 31

Parametric Table Window .......................................................................... 33

Lookup Table Window............................................................................... 37

Diagram Window ....................................................................................... 39

Plot Window ............................................................................................... 51

Debug Window........................................................................................... 59

Chapter 3: Menu Commands .................................................................... 63

The File Menu ............................................................................................ 63

The Edit Menu ........................................................................................... 73

The Search Menu ....................................................................................... 77

The Options Menu ..................................................................................... 70

The Calculate Menu .................................................................................. 93

The Tables Menu ....................................................................................... 99

The Plot Menu.......................................................................................... 107

The Windows Menu................................................................................. 117

The Help Menu ........................................................................................ 119

The Textbook Menu ................................................................................ 120

Chapter 4: Built-in Functions ...................................................................... 123

Mathematical Functions . ......................................................................... 123

String Functions........................................................................................ 132

Thermophysical Property Functions......................................................... 134

Using Lookup Files and the Lookup Table .............................................. 143

The $OpenLookup and $SaveLookup Directives .................................... 151

ii

Chapter 5: EES Modules, Functions and Procedures .......................... 153

EES Functions . ........................................................................................ 154

EES Procedures ........................................................................................ 156

Single-Line If Then Else Statements ........................................................ 158

Multiple-Line If Then Else Statements .................................................... 159

GoTo and Repeat-Until Statements .......................................................... 160

Error Procedure......................................................................................... 161

Warning Procedure ................................................................................... 162

Modules and Subprograms ....................................................................... 163

Library Files ............................................................................................. 166

$COMMON Directive .............................................................................. 169

The $INCLUDE directive ........................................................................ 170

The $EXPORT directive .......................................................................... 171

The $IMPORT directive ........................................................................... 172

Chapter 6: Compiled Functions and Procedures .................................... 173

EES Compiled Functions (.DLF Files)..................................................... 173

The PWF Example Compiled Function.................................................... 176

EES Compiled Procedures (.FDL and .DLP Files) .................................. 179

Compiled Procedures with the .FDL Format - a FORTRAN Example.... 180

Compiled Procedures with the .DLP Format - a Pascal Example ............ 183

Multiple Files in a Single Dynamic Link Library (.DLL) ....................... 185

Help for Compiled Routines..................................................................... 187

Chapter 7: Advanced Features ..................................................................... 189

String Variables ........................................................................................ 189

Complex Variables ................................................................................... 190

Array Variables......................................................................................... 194

The DUPLICATE Command ................................................................... 196

Matrix Capabilities ................................................................................... 197

Using the Property Plot............................................................................. 199

Integration and Differential Equations ..................................................... 200

Creating and Using Macro Files ............................................................... 211

Appendix A: Hints for Using EES .............................................................. 219

Appendix B: Numerical Methods used in EES........................................ 223

Solution to Algebraic Equations............................................................... 223

Blocking Equation Sets ............................................................................ 226

Determination of Minimum or Maximum Values.................................... 228

Numerical Integration............................................................................... 229

References for Numerical Methods .......................................................... 231

Appendix C: Adding Property Data to EES ............................................. 233

Appendix D: Example Problem Information ........................................... 243

-iii-

__________________________________________________________________________

Overview

__________________________________________________________________________

EES (pronounced 'ease') is an acronym for Engineering Equation Solver. The basic function

provided by EES is the solution of a set of algebraic equations. EES can also solve

differential equations, equations with complex variables, do optimization, provide linear and

non-linear regression and generate publication-quality plots. Versions of EES have been

developed for Apple Macintosh computers and for the Windows operating systems. This

manual describes the version of EES developed for Microsoft Windows operating systems,

including Windows 95/98/2000 and Windows NT 4.

There are two major differences between EES and existing numerical equation-solving

programs. First, EES automatically identifies and groups equations which must be solved

simultaneously. This feature simplifies the process for the user and ensures that the solver

will always operate at optimum efficiency. Second, EES provides many built-in

mathematical and thermophysical property functions useful for engineering calculations.

For example, the steam tables are implemented such that any thermodynamic property can

be obtained from a built-in function call in terms of any two other properties. Similar

capability is provided for most organic refrigerants (including some of the new blends),

ammonia, methane, carbon dioxide and many other fluids. Air tables are built-in, as are

psychrometric functions and JANAF table data for many common gases. Transport

properties are also provided for most of these substances.

The library of mathematical and thermophysical property functions in EES is extensive, but

it is not possible to anticipate every user's need. EES allows the user to enter his or her own

functional relationships in three ways. First, a facility for entering and interpolating tabular

data is provided so that tabular data can be directly used in the solution of the equation set.

Second, the EES language supports user-written functions and procedure similar to those in

Pascal and FORTRAN. EES also provides support for user-written modules, which are self-

contained EES programs that can be accessed by other EES programs. The functions,

procedures, and modules can be saved as library files which are automatically read in when

EES is started. Third, compiled functions and procedures, written in a high-level language

such as Pascal, C or FORTRAN, can be dynamically-linked into EES using the dynamic

link library capability incorporated into the Windows operating system. These three

methods of adding functional relationships provide very powerful means of extending the

capabilities of EES.

1

The motivation for EES rose out of experience in teaching mechanical engineering

thermodynamics and heat transfer. To learn the material in these courses, it is necessary for

the student to work problems. However, much of the time and effort required to solve

problems results from looking up property information and solving the appropriate

equations. Once the student is familiar with the use of property tables, further use of the

tables does not contribute to the student's grasp of the subject; nor does algebra. The time

and effort required to do problems in the conventional manner may actually detract from

learning of the subject matter by forcing the student to be concerned with the order in which

the equations should be solved (which really does not matter) and by making parametric

studies too laborious. Interesting practical problems that may have implicit solutions, such

as those involving both thermodynamic and heat transfer considerations, are often not

assigned because of their mathematical complexity. EES allows the user to concentrate

more on design by freeing him or her from mundane chores.

EES is particularly useful for design problems in which the effects of one or more

parameters need to be determined. The program provides this capability with its Parametric

Table, which is similar to a spreadsheet. The user identifies the variables that are

independent by entering their values in the table cells. EES will calculate the values of the

dependent variables in the table. The relationship of the variables in the table can then be

displayed in publication-quality plots. EES also provides capability to propagate the

uncertainty of experimental data to provide uncertainty estimates of calculated variables.

With EES, it is no more difficult to do design problems than it is to solve a problem for a

fixed set of independent variables.

EES offers the advantages of a simple set of intuitive commands that a novice can quickly

learn to use for solving any algebraic problems. However, the capabilities of this program

are extensive and useful to an expert as well. The large data bank of thermodynamic and

transport properties built into EES is helpful in solving problems in thermodynamics, fluid

mechanics, and heat transfer. EES can be used for many engineering applications; it is

ideally suited for instruction in mechanical engineering courses and for the practicing

engineer faced with the need for solving practical problems.

The remainder of this manual is organized into seven chapters and five appendices. A new

user should read Chapter 1 which illustrates the solution of a simple problem from start to

finish. Chapter 2 provides specific information on the various functions and controls in each

of the EES windows. Chapter 3 is a reference section that provides detailed information for

each menu command. Chapter 4 describes the built-in mathematical and thermophysical

property functions and the use of the Lookup Table for entering tabular data. Chapter 5

provides instructions for writing EES functions, procedures and modules and saving them in

2

Library files. Chapter 6 describes how compiled functions and procedures, written as

Windows dynamic-link library (DLL) routines, can be integrated with EES. Chapter 7

describes a number of advanced features in EES such as the use of string, complex and array

variables, the solution of simultaneous differential and algebraic equations, and property

plots. Appendix A contains a short list of suggestions. Appendix B describes the numerical

methods used by EES. Appendix C shows how additional property data may be

incorporated into EES. A number of example problems are provided in the Examples

subdirectory included with EES. Appendix D indicates which features are illustrated in the

example problems provided with EES.

3

4

CHAPTER1

__________________________________________________________________________

Getting Started

__________________________________________________________________________

Installing EES on your Computer

EES is distributed in a self-installing compressed form in a file called SETUP_EES.exe

which may be provided on two floppy disks or on a CD. To install EES, it is necessary

execute the SETUP_EES installation program. If you are installing EES from a CD, the

installation program will start automatically when the CD is placed in the drive. To install

EES from a floppy disk, place the first disk in the drive and select the Run command from

the Start menu and then enter A:\SETUP_EES.exe.

Here A: is your floppy drive designation. In either case, the installation program will

provide a series of prompts which will lead you through the complete installation of the EES

program.

Starting EES

The default installation program will create a directory named C:\EES32 in which the EES

files are placed. The EES program icon shown above will identify both the program and

EES files. Double-clicking the left mouse button on the EES program or file icon will start

the program. If you double-clicked on an EES file, that file will be automatically loaded.

Otherwise, EES will load the HELLO.EES file which briefly describes the new features in

your version. You can delete or rename the HELLO.EES file if you do not wish to have it

appear when the program is started.

5

Chapter 1 Getting Started

Background Information

EES begins by displaying a dialog window that shows registration information, the version

number and other information. The version number and registration information will be

needed if you request technical support. Click the OK button to dismiss the dialog window.

Detailed help is available at any point in EES. Pressing the F1 key will bring up a Help

window relating to the foremost window. Clicking the Contents button will present the Help

index shown below. Clicking on an underlined word (shown in green on color monitors)

will provide help relating to that subject.

6

Getting Started Chapter 1

EES commands are distributed among nine pull-down menus. (A tenth user-defined menu

can be placed to the right of the Help menu. See the discussion of the Load Textbook

command File menu in Chapter 3.) A brief summary of their functions follows. Detailed

descriptions of the commands appear in Chapter 3.

Note the a toolbar is provided below the menu bar. The toolbar contains small buttons

which provide rapid access to many of the most frequently used EES menu commands. If

you move the cursor over a button and wait for a few second, a few words will appear to

explain the function of that button. The toolbar can be hidden, if you wish, with a control in

the Preferences dialog (Options menu).

The System menu represented by the EES icon appears above the file menu. The System

menu is not part of EES, but rather a feature of the Windows Operating System. It holds

commands that allow window moving, resizing, and switching to other applications.

The File menu provides commands for loading, merging and saving work files and libraries,

and printing.

The Edit menu provides the editing commands to cut, copy, and paste information.

The Search menu provides Find and Replace commands for use in the Equations window.

The Options menu provides commands for setting the guess values and bounds of variables,

the unit system, default information, and program preferences. A command is also

provided for displaying information on built-in and user-supplied functions.

The Calculate menu contains the commands to check, format and solve the equation set.

The Tables menu contains commands to set up and alter the contents of the Parametric and

Lookup Tables and to do linear regression on the data in these tables. The Parametric

Table, similar to a spreadsheet, allows the equation set to be solved repeatedly while

varying the values of one or more variables. The Lookup table holds user-supplied data

which can be interpolated and used in the solution of the equation set.

The Plot menu provides commands to modify an existing plot or prepare a new plot of data

in the Parametric, Lookup, or Array tables. Curve-fitting capability is also provided.

The Windows menu provides a convenient method of bringing any of the EES windows to

the front or to organize the windows.

The Help menu provides commands for accessing the online help documentation.

7

Chapter 1 Getting Started

The basic capability provided by EES is the solution of a set of non-linear algebraic

equations. To demonstrate this capability, start EES and enter this simple example problem

in the Equations window. Note that EES makes no distinction between upper and lower

case letters and the ^ sign (or **) is used to signify raising to a power.

If you wish, you may view the equations in mathematical notation by selecting the Formatted

Equations command from the Windows menu.

Select the Solve command from the Calculate menu. A dialog window will appear indicating

the progress of the solution. When the calculations are completed, the button changes from

Abort to Continue.

Click the Continue button. The solution to this equation set will then be displayed.

8

Getting Started Chapter 1

An Example Thermodynamics Problem

A simple thermodynamics problem will be set up and solved in this section to illustrate the

property function access and equation solving capability of EES. The problem, typical of

that which may be encountered in an undergraduate thermodynamics course, is as follows.

Refrigerant-134a enters a valve at 700 kPa, 50°C with a velocity of 15 m/s. At the exit of the

valve, the pressure is 300 kPa. The inlet and outlet fluid areas are both 0.0110 m2.

Determine the temperature, mass flow rate and velocity at the valve exit.

State 1 State 2

T = 50°C T=?

P = 700 P = 300 kPa

Vel = 15 m/s Vel = ?

To solve this problem, it is necessary to choose a system and then apply mass and energy

balances. The system is the valve. The mass flow is steady, so that the mass balance is:

m1 = m2 (1)

where

m1 = A1 Vel1 / v1 (2)

m1 = A2 Vel2 / v2 (3)

m = mass flowrate [kg/s]

A = cross-sectional area [m2]

Vel = velocity [m/s]

v = specific volume [m3/kg]

We know that

A1 = A2 (4)

The valve is assumed to be well-insulated with no moving parts. The heat and work effects

are both zero. A steady-state energy balance on the valve is:

Vel12 Vel22

" 1 h1 +

m =m

" 2 h2 + (5)

2 2

where h is the specific enthalpy and Vel2/2 is the specific kinetic energy. In SI units,

specific enthalpy normally has units of [kJ/kg] so some units conversions may be needed.

EES provides unit conversion capabilities with the CONVERT function as documented in

Chapter 4. In addition, the Check Units command (Calculate menu) can be applied to

9

Chapter 1 Getting Started

determine check that all unit conversions have been made and the units in each equation are

dimensionally consistent.

From relationships between the properties of R134a:

v1 = v (T1 , P1 ) (6)

h1 = h (T1 , P1 ) (7)

v2 = v (T2 , P2 ) (8)

h2 = h (T2 , P2 ) (9)

Ordinarily, the terms containing velocity are neglected, primarily because the kinetic energy

effects are usually small and also because these terms make the problem difficult to solve.

However, with EES, the computational difficulty is not a factor. The user can solve the

problem with the kinetic energy terms and judge their importance.

The values of T1, P1, A1, Vel11 and P2 are known. There are nine unknowns: A2, m1 , m2 ,

Vel2, h1, v1, h2, v2, T2. Since there are 9 equations, the solution to the problem is defined. It

is now only necessary to solve the equations. This is where EES can help.

Start EES and select the New command from the File menu. A blank Equations window will

appear. Before entering the equations, however, set the unit system for the built-in

thermophysical properties functions. To view or change the unit system, select Unit System

from the Options menu.

EES is initially configured to be in SI units with T in °C, P in kPa, and specific property

values in their customary units on a mass basis. These defaults may have been changed

during a previous use. Click on the controls to set the units as shown above. Click the OK

button (or press the Return key) to accept the unit system settings.

10

Getting Started Chapter 1

The equations can now be entered into the Equations window. Text is entered in the same

manner as for any word processor. Formatting rules are as follows:

1. Upper and lower case letters are not distinguished. EES will (optionally) change the

case of all variables to match the manner in which they first appear.

2. Blank lines and spaces may be entered as desired since they are ignored.

3. Comments must be enclosed within braces { } or within quote marks " ". Comments

may span as many lines as needed. Comments within braces may be nested in which

case only the outermost set of { } are recognized. Comments within quotes will also

be displayed in the Formatted Equations window.

4. Variable names must start with a letter and consist of any keyboard characters except ( )

‘ | * / + - ^ { } : " or ;. Array variables (Chapter 7) are identified with square braces

around the array index or indices, e.g., X[5,3]. String variables (Chapter 7) are

identified with a $ as the last character in the variable name. The maximum length of a

variable name is 30 characters.

5. Multiple equations may be entered on one line if they are separated by a semi-colon (;)1.

The maximum line length is 255 characters.

6. The caret symbol ^ or ** is used to indicate raising to a power.

7. The order in which the equations are entered does not matter.

8. The position of knowns and unknowns in the equation does not matter.

After entering the equations for this problem and (optionally) checking the syntax using the

Check/Format command in the Calculate menu, the Equations window will appear as shown.

Comments are normally displayed in blue on a color monitor. Other formatting options are

set with the Preferences command in the Options menu.

1

If a comma is selected as the Decimal Symbol in the Windows Regional Settings Control Panel, EES will

recognize the comma (rather than a decimal point) as a decimal separator, the semicolon (rather than the comma) as

an argument separator, and the colon : (rather than the semicolon) as the equation separator.

11

Chapter 1 Getting Started

Note the use of the Convert function in this example to convert the units of the specific

kinetic energy [m^2/s^2] to the units used for specific enthalpy [kJ/kg]. The Convert

function is most useful in these problems. See Chapter 4 for a detailed description of its use.

The thermodynamic property functions, such as enthalpy and volume require a special

format. The first argument of the function is the substance name, R134a in this case. The

following arguments are the independent variables preceded by a single identifying letter

and an equal sign. Allowable letters are T, P, H, U, S, V, and X, corresponding to

temperature, pressure, specific enthalpy, specific internal energy, specific entropy, specific

volume, and quality. (For psychrometric functions, additional allowable letters are W, R, D,

and B, corresponding to humidity ratio, relative humidity, dewpoint temperature, and

wetbulb temperature.)

An easy way to enter functions, without needing to recall the format, is to use the Function

Information command in the Options menu. This command will bring up the dialog window

shown below. Click on the ‘Thermophysical properties’ radio button. The list of built-in

thermophysical property function will appear on the left with the list of substances on the

right. Select the property function by clicking on its name, using the scroll bar, if necessary,

to bring it into view. Select a substance in the same manner. An example of the function

showing the format will appear in the Example rectangle at the bottom. The information in

the rectangle may be changed, if needed. Clicking the Paste button will copy the Example

into the Equations window at the cursor position. Additional information is available by

clicking the Function Info and Fluid Info buttons.

12

Getting Started Chapter 1

It is usually a good idea to set the guess values and (possibly) the lower and upper bounds

for the variables before attempting to solve the equations. This is done with the Variable

Information command in the Options menu. Before displaying the Variable Information

dialog, EES checks syntax and compiles newly entered and/or changed equations, and then

solves all equations with one unknown. The Variable Information dialog will then appear.

The Variable Information dialog contains a line for each variable appearing in the Equations

window. By default, each variable has a guess value of 1.0 with lower and upper bounds of

negative and positive infinity. (The lower and upper bounds are shown in italics if EES has

previously calculated the value of the variable. In this case, the Guess value column

displays the calculated value. These italicized values may still be edited, which will force

EES to recalculate the value of that variable.)

The A in the Display options column indicates that EES will automatically determine the

display format for numerical value of the variable when it is displayed in the Solution

window. In this case, EES will select an appropriate number of digits, so the digits column

to the right of the A is disabled. Automatic formatting is the default. Alternative display

options are F (for fixed number of digits to the right of the decimal point) and E (for

exponential format). The display and other defaults can easily be changed with the Default

Information command in the Options menu, discussed in Chapter 3. The third Display options

column controls the hilighting effects such as normal (default), bold, boxed. The units of

the variables can be specified, if desired. The units will be displayed with the variable in the

Solution window and/or in the Parametric Table. EES does not automatically do unit

conversions but it can provide unit conversions using the Convert function (Chapter 4) and

13

Chapter 1 Getting Started

unit checking with the Check Units command in the Calculate menu. The units

information entered here is only for display purposes.

With nonlinear equations, it is sometimes necessary to provide reasonable guess values and

bounds in order to determine the desired solution. (It is not necessary for this problem.)

The bounds of some variables are known from the physics of the problem. In the example

problem, the enthalpy at the outlet, h2, should be reasonably close to the value of h1. Set its

guess value to 100 and its lower bound to 0. Set the guess value of the outlet specific

volume, v2, to 0.1 and its lower bound to 0. Scroll the variable information list to bring

Vel2 into view. The lower bound of Vel2 should also be zero.

To solve the equation set, select the Solve command from the Calculate menu. An

information dialog will appear indicating the elapsed time, maximum residual (i.e., the

difference between the left-hand side and right-hand side of an equation) and the maximum

change in the values of the variables since the last iteration. When the calculations are

completed, EES displays the total number of equations in the problem and the number of

blocks. A block is a subset of equations that can be solved independently. EES

automatically blocks the equation set, whenever possible, to improve the calculation

efficiency, as described in Appendix B. When the calculations are completed, the button

will change from Abort to Continue.

By default, the calculations are stopped when 100 iterations have occurred, the elapsed time

exceeds 60 sec, the maximum residual is less than 10-6 or the maximum variable change is

less than 10-9. These defaults can be changed with the Stop Criteria command in the Options

menu. If the maximum residual is larger than the value set for the stopping criteria, the

equations were not correctly solved, possibly because the bounds on one or more variables

constrained the solution. Clicking the Continue button will remove the information dialog

and display the Solution window shown on the next page. The problem is now completed

since the values of T2, m2, and Vel2 are determined.

14