SP 0030

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 748

GPA (PCALCS) Performance Calculations User Guide

SP_0030

November 2011
Copyright Notice

Since the equipment explained in this document has a variety of uses, the user and those
responsible for applying this equipment must satisfy themselves as to the acceptability of each
application and use of the equipment. Under no circumstances will Emerson Process
Management be responsible or liable for any damage, including indirect or consequential losses
resulting from the use, misuse, or application of this equipment.

The text, illustrations, charts, and examples included in this manual are intended solely to explain
TM
the use and application of the Ovation Unit. Due to the many variables associated with specific
uses or applications, Emerson Process Management cannot assume responsibility or liability for
actual use based upon the data provided in this manual.

No patent liability is assumed by Emerson Process Management with respect to the use of
circuits, information, equipment, or software described in this manual.

No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any
form or by any means, including electronic, mechanical, photocopying, recording or otherwise
without the prior express written permission of Emerson Process Management.

The document is the property of and contains Proprietary Information owned by Emerson Process
Management and/or its subcontractors and suppliers. It is transmitted in confidence and trust, and
the user agrees to treat this document in strict accordance with the terms and conditions of the
agreement under which it was provided.

This manual is printed in the USA and is subject to change without notice.

Ovation is the mark of Emerson Process Management. Other marks are the property of their
respective holders.

Copyright © Emerson Process Management Power & Water Solutions, Inc. All rights reserved.
Emerson Process Management
Power & Water Solutions
200 Beta Drive
Pittsburgh, PA 15238
USA

E-Mail: Technical.Communications@Emerson.com
Website: https://www.ovationusers.com
Contents

1 Introduction to GPA 1
1.1 What is the GPA? ................................................................................................................ 1
1.2 What does the GPA do? ..................................................................................................... 2
1.3 What does the GPA consist of? .......................................................................................... 3
1.4 How does the GPA work? ................................................................................................... 4
1.5 GPA module description ..................................................................................................... 4
1.5.1 Combustion turbine performance module .............................................................. 5
1.5.2 Heat recovery steam generator (HRSG) ................................................................ 6
1.5.3 Steam turbine performance module ....................................................................... 7
1.5.4 Condenser module ................................................................................................. 8
1.5.5 HRSG calculation method ...................................................................................... 9
1.5.6 Combustion turbine calculation method ............................................................... 10
1.6 Quality assurance features for GPA.................................................................................. 10
1.6.1 Quality propagation .............................................................................................. 10
1.6.2 Analog input filtering ............................................................................................. 10
1.6.3 Performance monitoring graphics ........................................................................ 11
1.6.4 Steam table interface ........................................................................................... 11
1.7 Optional GPA module description ..................................................................................... 11
1.7.1 Large pump modules ........................................................................................... 11
1.7.2 Cooling tower performance module ..................................................................... 12

2 Software installation and backup 13


2.1 Installation requirements ................................................................................................... 13
2.1.1 Configuring data agents ....................................................................................... 14
2.1.2 Backing up data files ............................................................................................ 15
2.1.3 GPA software installation checklist ...................................................................... 15
2.2 To install GPA software ..................................................................................................... 15
2.3 Porting a project to another machine ................................................................................ 16
2.4 Program introduction ......................................................................................................... 17
2.5 Setting properties and application preferences................................................................. 17

3 Startup 19
3.1 To create a new workspace .............................................................................................. 19
3.2 To create a new project ..................................................................................................... 21
3.3 Separating projects ........................................................................................................... 23
3.3.1 Single workspace containing multiple projects .................................................... 24
3.3.2 Multiple Workspaces containing a single project ................................................. 24
3.3.3 To execute multiple workspaces .......................................................................... 24
3.3.4 GPADCS window ................................................................................................. 26
3.4 Creating a function block diagram (FBD) .......................................................................... 27
3.4.1 To create a function block diagram ...................................................................... 27

SP_0030 i
Table of Contents

4 Designing a functional block diagram document 29


4.1 Adding algorithms ............................................................................................................. 29
4.1.1 Empty project algorithm ....................................................................................... 30
4.1.2 Emptyproject configuration:.................................................................................. 30
4.1.3 To create a dummy project .................................................................................. 30
4.1.4 To add input algorithms........................................................................................ 31
4.1.5 To add ordering algorithms .................................................................................. 31
4.1.6 To add main algorithms........................................................................................ 31
4.1.7 To add equipment algorithms............................................................................... 32
4.1.8 To add output algorithms ..................................................................................... 32
4.1.9 Cut/paste or to copy algorithms ........................................................................... 33
4.1.10 Copy/paste within the same project ..................................................................... 33
4.1.11 Cut/paste within the same project ........................................................................ 33
4.1.12 Cut/paste to a different project ............................................................................. 33
4.2 Inserting FBDs into projects .............................................................................................. 34
4.2.1 To insert an FBD into a project ............................................................................ 34
4.2.2 Adding tag sets to a project from external cross-reference (.xref) files. .............. 34
4.2.3 To set algorithm order, document order, and FBD properties ............................. 35
4.3 Modifying data agent update rates .................................................................................... 35
4.3.1 Data agents .......................................................................................................... 35
4.3.2 OPC Client and Server data agent ...................................................................... 36
4.3.3 PI data agent ........................................................................................................ 36
4.3.4 Wesapi data agent ............................................................................................... 36
4.3.5 Remote data server .............................................................................................. 36
4.3.6 EDS Live Data (Enterprise Data Server) Data Agent .......................................... 37
4.3.7 Modifing project data agents ................................................................................ 37
4.3.8 To Check/Change the tag database data manager update rate.......................... 37
4.3.9 To view the data agent server update rate .......................................................... 37

5 Run/Debug mode 39
5.1 Starting Run/Debug mode................................................................................................. 40
5.1.1 To save highway values ....................................................................................... 41
5.1.2 Loading highway values ....................................................................................... 42
5.1.3 Historical data retrieval......................................................................................... 43
5.1.4 Fbdorder ............................................................................................................... 46
5.1.5 Pntvalidate............................................................................................................ 48

6 Setting algorithm properties 49


6.1 Configuration tab ............................................................................................................... 50
6.1.1 Run mode tab - OffLine ........................................................................................ 53
6.2 Inputs tab........................................................................................................................... 54
6.3 Outputs tab ........................................................................................................................ 55
6.4 Constants tab .................................................................................................................... 56
6.5 Tags tab ............................................................................................................................ 57
6.6 Design Info tab .................................................................................................................. 57
6.6.1 Tags tab create configure tags (project name) .................................................... 58
6.6.2 Tags tab create configure tags (project name) Define/Modify set ....................... 59
6.6.3 Create/Update in entire project ............................................................................ 61
6.6.4 Mappings - by data agent Items ........................................................................... 62

ii SP_0030
Table of Contents

6.6.5 Mappings - by tag ................................................................................................. 62


6.6.6 Project wide files generated using tag info create ............................................... 63
6.6.7 Get tag sets .......................................................................................................... 65
6.6.8 Destination tab ..................................................................................................... 66
6.6.9 Source tab ............................................................................................................ 67
6.6.10 Connect map tab .................................................................................................. 68
6.6.11 Shape tab ............................................................................................................. 69
6.6.12 Air Cooled Condenser (Acndsrcorr) ..................................................................... 70
6.6.13 Air Heater Performance (Airhtr) ......................................................................... 71
6.6.14 Boiler Feed Pump Turbine (Bfpturb) .................................................................. 72
6.6.15 Boiler Efficiency (Boiler) ..................................................................................... 73
6.6.16 Boiler Steam Flow (Hwblrsm) ............................................................................ 74
6.6.17 Combustion Turbine (Comturb) ......................................................................... 75
6.6.18 Compressor (Compr) ........................................................................................... 76
6.6.19 Compressor Wash (Compwash) ........................................................................ 77
6.6.20 Condenser (Cnddesign) ..................................................................................... 78
6.6.21 Controllable Heat Rate Dev. (Unhrcontot) ........................................................... 79
6.6.22 Cooling Tower (Coolwrdes) ............................................................................... 80
6.6.23 Deaerator (Deraerator) ...................................................................................... 81
6.6.24 Drain Cooler (Drnpump)..................................................................................... 82
6.6.25 Fan Design (Fandesign) .................................................................................... 83
6.6.26 Functional Block Diagram Ordering (Fbdorder) ................................................. 84
6.6.27 Feed Heater, Low Pressure (Lpfedhtr) .............................................................. 85
6.6.28 Feed Heater, High Pressure (Hpfedhtr) ............................................................. 86
6.6.29 Fuel Analysis (Fuels) ......................................................................................... 87
6.6.30 Function Generator (Fungen) ............................................................................ 88
6.6.31 Generator Efficiency (Gennet) ........................................................................... 89
6.6.32 Heat Rate (Hetrte) .............................................................................................. 90
6.6.33 HRSG (hrsg) ...................................................................................................... 91
6.6.34 Main Steam Flow (Hwmnstm) ............................................................................ 92
6.6.35 Maint. Heat Rate Dev. (Unhrmaintot) ................................................................ 93
6.6.36 Misc. Heat Rate Dev. (Unhrmisctot) .................................................................... 94
6.6.37 Moist Air (Moistair) ............................................................................................. 95
6.6.38 Plant Load (Chkload) ......................................................................................... 96
6.6.39 Point Validation (Pntvalidate) ............................................................................. 97
6.6.40 Set Validation (Setvalidate)................................................................................ 98
6.6.41 Pump (Pump) ..................................................................................................... 99
6.6.42 Unit Heat Rate (Unhtrt) .................................................................................... 100

7 Tag names, units, and values 101


7.1 Tag names ...................................................................................................................... 101
7.1.1 Converting tag value example:........................................................................... 104

8 Algorithms (Calculation Blocks) 105


8.1 Algorithms (Calculation Blocks) List ................................................................................ 105

9 Algorithm properties 115


9.1 Absval .............................................................................................................................. 118
9.1.1 Absval Calculation Overview.............................................................................. 119
9.2 ACNDSRCORR............................................................................................................... 120
9.2.1 ACNDSRCORR Calculation Overview .............................................................. 121

SP_0030 iii
Table of Contents

9.3 Add4 ................................................................................................................................ 124


9.3.1 Add4 Calculation Overview ................................................................................ 124
9.4 Add10 .............................................................................................................................. 125
9.4.1 Add10 Calculation Overview .............................................................................. 126
9.5 Addsub ............................................................................................................................ 127
9.5.1 Addsub Calculation Overview ............................................................................ 127
9.6 AIRCONDSR ................................................................................................................... 129
9.6.1 AIRCONDSR Calculation Overview ................................................................... 130
9.7 Airhtrs .............................................................................................................................. 131
9.7.1 Airhtrs Calculation Overview .............................................................................. 143
9.8 Alstomexpan.................................................................................................................... 145
9.8.1 Alstomexpan Calculation Overview ................................................................... 149
9.9 Analoginavg..................................................................................................................... 157
9.9.1 Analoginavg Calculation Overview .................................................................... 157
9.10 Analogout ........................................................................................................................ 158
9.10.1 Analogout Calculation Overview ........................................................................ 158
9.11 And6 ................................................................................................................................ 159
9.11.1 And6 Calculation Overview ................................................................................ 159
9.12 Anlgcmp2poly .................................................................................................................. 160
9.12.1 Anlgcmp2poly Calculation Overview .................................................................. 161
9.13 Anlgcmppoly .................................................................................................................... 162
9.13.1 Anlgcmppoly Calculation Overview .................................................................... 162
9.14 Asmeflowcomp ................................................................................................................ 164
9.14.1 Asmeflowcomp Calculation Overview ................................................................ 165
9.15 Arctan .............................................................................................................................. 169
9.15.1 Arctan Calculation Overview .............................................................................. 169
9.16 Avalgen ........................................................................................................................... 170
9.16.1 Avalgen Calculation Overview ........................................................................... 170
9.17 Avg4 ................................................................................................................................ 171
9.17.1 Avg4 Calculation Overview ................................................................................ 171
9.18 Avg10 .............................................................................................................................. 172
9.18.1 Avg10 Calculation Overview .............................................................................. 173
9.19 Basectg ........................................................................................................................... 174
9.19.1 Basectg Calculation Overview ........................................................................... 178
9.20 Bfpturb ............................................................................................................................. 182
9.20.1 Bfpturb Calculation Overview ............................................................................. 184
9.21 Bldwn ............................................................................................................................... 186
9.21.1 Bldwn Calculation Overview............................................................................... 186
9.22 Blrio ................................................................................................................................. 187
9.22.1 Blrio Calculation Overview ................................................................................. 189
9.23 Boiler ............................................................................................................................... 192
9.23.1 Boiler Calculation Overview ............................................................................... 196
9.24 BOILERASME4 ............................................................................................................... 201
9.24.1 BoilerASME4 Calculation Overview ................................................................... 205
9.25 Capab .............................................................................................................................. 211
9.25.1 Capab Calculation Overview .............................................................................. 212
9.26 Chkload ........................................................................................................................... 213
9.26.1 Chkload Calculation Overview ........................................................................... 213
9.27 Cndavgtemp .................................................................................................................... 215
9.27.1 Cndavgtemp Calculation Overview .................................................................... 216

iv SP_0030
Table of Contents

9.28 Cnddesign ....................................................................................................................... 217


9.28.1 Cnddesign Calculation Overview ....................................................................... 221
9.29 Co2econ .......................................................................................................................... 224
9.29.1 Co2econ Calculation Overview .......................................................................... 226
9.30 Combturb......................................................................................................................... 228
9.30.1 Combturb Calculation Overview ........................................................................ 233
9.31 Compair ........................................................................................................................... 239
9.31.1 Compair Calculation Overview ........................................................................... 240
9.32 CompWash...................................................................................................................... 242
9.32.1 CompWash Calculation Overview ..................................................................... 246
9.33 Compr.............................................................................................................................. 257
9.33.1 Compr Calculation Overview.............................................................................. 260
9.34 Condsr ............................................................................................................................. 268
9.34.1 Condsr Calculation Overview ............................................................................. 274
9.35 Coolcurv .......................................................................................................................... 278
9.35.1 Coolcurv Calculation Overview .......................................................................... 279
9.36 Cooltwr ............................................................................................................................ 283
9.36.1 Cooltwr Calculation Overview ............................................................................ 285
9.37 Cooltwrdes ...................................................................................................................... 286
9.37.1 Cooltwrdes Calculation Overview ...................................................................... 287
9.38 Cooltwrpwr ...................................................................................................................... 288
9.38.1 Cooltwrpwr Calculation Overview ...................................................................... 289
9.39 Corblrloss ........................................................................................................................ 290
9.39.1 Corblrloss Calculation Overview ........................................................................ 292
9.40 CorblrlASME4.................................................................................................................. 294
9.40.1 CorblrlASME4 Calculation Overview ................................................................. 295
9.41 Cosin ............................................................................................................................... 298
9.41.1 Cosin Calculation Overview ............................................................................... 298
9.42 Crossprod ........................................................................................................................ 299
9.42.1 Crossprod Calculation Overview ........................................................................ 299
9.43 Deaerator ........................................................................................................................ 301
9.43.1 Deaerator Calculation Overview ........................................................................ 303
9.44 Densityair ........................................................................................................................ 305
9.44.1 Densityair Calculation Overview ........................................................................ 306
9.45 Densitycor ....................................................................................................................... 307
9.45.1 Densitycor Calculation Overview ....................................................................... 308
9.46 Densitygas....................................................................................................................... 309
9.46.1 Densitygas Calculation Overview ...................................................................... 310
9.47 Diganlgcmppoly ............................................................................................................... 311
9.47.1 Diganlgcmppoly Calculation Overview............................................................... 311
9.48 Diganlgcmp2poly ............................................................................................................. 313
9.48.1 Diganlgcmp2poly Calculation Overview............................................................. 314
9.49 Digcmp2poly.................................................................................................................... 315
9.49.1 Digcmp2poly Calculation Overview ................................................................... 316
9.50 Digcmppoly...................................................................................................................... 317
9.50.1 Digcmppoly Calculation Overview ..................................................................... 317
9.51 Digitalin ............................................................................................................................ 319
9.51.1 Digitalin Calculation Overview ........................................................................... 319
9.52 Digitalout ......................................................................................................................... 320
9.52.1 Digitalout Calculation Overview ......................................................................... 320

SP_0030 v
Table of Contents

9.53 Divide4 ............................................................................................................................ 321


9.53.1 Divide4 Calculation Overview ............................................................................ 321
9.54 Drnclr ............................................................................................................................... 322
9.54.1 Drnclr Calculation Overview ............................................................................... 322
9.55 Drnpmp............................................................................................................................ 323
9.55.1 Drnpmp Calculation Overview ........................................................................... 325
9.56 Dvalgen ........................................................................................................................... 327
9.56.1 Dvalgen Calculation Overview ........................................................................... 327
9.57 Econmz ........................................................................................................................... 328
9.57.1 Econmz Calculation Overview ........................................................................... 329
9.58 Emptyproject ................................................................................................................... 330
9.58.1 Emptyproject Calculation Overview ................................................................... 330
9.59 Enthal .............................................................................................................................. 331
9.59.1 Enthal Calculation Overview .............................................................................. 333
9.60 Expelep ........................................................................................................................... 335
9.60.1 Expelep Calculation Overview ........................................................................... 337
9.61 Expon .............................................................................................................................. 340
9.61.1 Expon Calculation Overview .............................................................................. 340
9.62 Fan .................................................................................................................................. 341
9.62.1 Fan Calculation Overview .................................................................................. 342
9.63 Fandesign........................................................................................................................ 345
9.63.1 Fandesign Calculation Overview ....................................................................... 345
9.64 Fanvelocity ...................................................................................................................... 346
9.64.1 Fanvelocity Calculation Overview ...................................................................... 346
9.65 Fbdorder .......................................................................................................................... 347
9.65.1 Fbdorder Calculation Overview .......................................................................... 347
9.66 Flowcalccomp.................................................................................................................. 348
9.66.1 Flowcalccomp Calculation Overview ................................................................. 349
9.67 Frloss ............................................................................................................................... 350
9.67.1 Frloss Calculation Overview............................................................................... 350
9.68 Fuels ................................................................................................................................ 352
9.68.1 Fuels Calculation Overview................................................................................ 362
9.69 Funcgen .......................................................................................................................... 364
9.69.1 Funcgen Calculation Overview .......................................................................... 365
9.70 GainBiasAdd ................................................................................................................... 370
9.70.1 GainBiasAdd Calculation Overview ................................................................... 374
9.71 Gastrbintemp ................................................................................................................... 375
9.71.1 Gastrbintemp Calculation Overview ................................................................... 376
9.72 GE_combcyc ................................................................................................................... 379
9.72.1 GE_combcyc Calculation Overview ................................................................... 380
9.73 GE_combturb .................................................................................................................. 382
9.73.1 GE_combturb Calculation Overview .................................................................. 384
9.74 GE_Expan ....................................................................................................................... 386
9.74.1 GE_Expan Calculation Overview ....................................................................... 390
9.75 GE_hrsg .......................................................................................................................... 399
9.75.1 GE_hrsg Calculation Overview .......................................................................... 400
9.76 GE_stg ............................................................................................................................ 403
9.76.1 GE_stg Calculation Overview ............................................................................ 404
9.77 Gennet ............................................................................................................................. 405
9.77.1 Gennet Calculation Overview............................................................................. 406

vi SP_0030
Table of Contents

9.78 Gencorr ........................................................................................................................... 407


9.78.1 Gencorr Calculation Overview ........................................................................... 408
9.79 Gpalog ............................................................................................................................. 409
9.79.1 Gpalog Calculation Overview ............................................................................. 409
9.80 Heartbeat......................................................................................................................... 410
9.80.1 Heartbeat Calculation Overview ........................................................................ 410
9.81 Hetrte ............................................................................................................................... 411
9.81.1 Hetrte Calculation Overview............................................................................... 413
9.82 Hiselect6.......................................................................................................................... 416
9.82.1 Hiselect6 Calculation Overview ......................................................................... 416
9.83 Hpfedhtr........................................................................................................................... 417
9.83.1 Hpfedhtr Calculation Overview .......................................................................... 419
9.84 Hpipsec ........................................................................................................................... 420
9.84.1 Hpipsec Calculation Overview ........................................................................... 421
9.85 Hrmspasme ..................................................................................................................... 422
9.85.1 Hrmspasme Calculation Overview ..................................................................... 422
9.86 Hrmstasme ...................................................................................................................... 424
9.86.1 Hrmstasme Calculation Overview ...................................................................... 424
9.87 Hrrpdasme....................................................................................................................... 426
9.87.1 Hrrpdasme Calculation Overview ...................................................................... 426
9.88 Hrrstasme ........................................................................................................................ 427
9.88.1 Hrrstasme Calculation Overview ........................................................................ 427
9.89 HRSG .............................................................................................................................. 428
9.89.1 HRSG Calculation Overview .............................................................................. 433
9.90 Hwblrstm ......................................................................................................................... 436
9.90.1 Hwblrstm Calculation Overview ......................................................................... 437
9.91 Hwmnstm ........................................................................................................................ 438
9.91.1 Hwmnstm Calculation Overview ........................................................................ 438
9.92 Interpolate ....................................................................................................................... 439
9.92.1 Interpolate Calculation Overview ....................................................................... 440
9.93 Invdig ............................................................................................................................... 443
9.93.1 Invdig Calculation Overview ............................................................................... 443
9.94 Ipturbdeseff ..................................................................................................................... 444
9.94.1 Ipturbdeseff Calculation Overview ..................................................................... 445
9.95 Loselect6 ......................................................................................................................... 447
9.95.1 Loselect6 Calculation Overview ......................................................................... 447
9.96 Lpfedhtr ........................................................................................................................... 448
9.96.1 Lpfedhtr Calculation Overview ........................................................................... 450
9.97 Lpsec ............................................................................................................................... 451
9.97.1 Lpsec Calculation Overview ............................................................................... 452
9.98 Lptrb ................................................................................................................................ 453
9.98.1 Lptrb Calculation Overview ................................................................................ 454
9.99 Lpturb3eff ........................................................................................................................ 456
9.99.1 Lpturb3eff Calculation Overview ........................................................................ 457
9.100 Massflowliquid ................................................................................................................. 461
9.100.1 Massflowliquid Calculation Overview ................................................................. 461
9.101 Mixer ................................................................................................................................ 462
9.101.1 Mixer Calculation Overview................................................................................ 463
9.102 Moistair ............................................................................................................................ 464
9.102.1 Moistair Calculation Overview ............................................................................ 465

SP_0030 vii
Table of Contents

9.103 Mult_add.......................................................................................................................... 466


9.103.1 Mult_add Calculation Overview ......................................................................... 468
9.104 Multdiv ............................................................................................................................. 469
9.104.1 Multdiv Calculation Overview ............................................................................. 470
9.105 Multiply4 .......................................................................................................................... 471
9.105.1 Multiply4 Calculation Overview .......................................................................... 471
9.106 Mult_pwr .......................................................................................................................... 473
9.106.1 Multpwr Calculation Overview ............................................................................ 477
9.107 NeuralNet ........................................................................................................................ 479
9.107.1 NeuralNet Calculation Overview ........................................................................ 481
9.108 Nlog ................................................................................................................................. 494
9.108.1 Nlog Calculation Overview ................................................................................. 494
9.109 O2calc ............................................................................................................................. 495
9.109.1 O2calc Calculation Overview ............................................................................. 496
9.110 Or6 .................................................................................................................................. 497
9.110.1 Or6 Calculation Overview .................................................................................. 497
9.111 Overall_trb ....................................................................................................................... 498
9.111.1 Overall_trb Calculation Overview ....................................................................... 498
9.112 P1stg ............................................................................................................................... 500
9.112.1 P1stg Calculation Overview ............................................................................... 501
9.113 Patmos ............................................................................................................................ 502
9.113.1 Patmos Calculation Overview ............................................................................ 502
9.114 Pntvalidate....................................................................................................................... 503
9.114.1 Pntvalidate Calculation Overview ...................................................................... 504
9.115 Poly ................................................................................................................................. 506
9.115.1 Poly Calculation Overview ................................................................................. 506
9.116 Pump ............................................................................................................................... 508
9.116.1 Pump Calculation Overview ............................................................................... 511
9.117 PUMP1SPD..................................................................................................................... 517
9.117.1 PUMP1SPD Calculation Overview .................................................................... 519
9.118 PUMP2STG..................................................................................................................... 526
9.118.1 PUMP2STG Calculation Overview .................................................................... 530
9.119 Qavg4 .............................................................................................................................. 542
9.119.1 Qavg4 Calculation Overview .............................................................................. 542
9.120 Qavg10 ............................................................................................................................ 544
9.120.1 Qavg10 Calculation Overview ............................................................................ 545
9.121 RANGECHECK10 ........................................................................................................... 546
9.121.1 RANGECHECK10 Calculation Overview ........................................................... 549
9.122 Reheat ............................................................................................................................. 552
9.122.1 Reheat Calculation Overview ............................................................................. 553
9.123 Reheat_trb....................................................................................................................... 554
9.123.1 Reheat_trb Calculation Overview ...................................................................... 556
9.124 Select10 .......................................................................................................................... 558
9.124.1 Select10 Calculation Overview .......................................................................... 559
9.125 Setdig .............................................................................................................................. 561
9.125.1 Setdig Calculation Overview .............................................................................. 561
9.126 Setdig2 ............................................................................................................................ 562
9.126.1 Setdig2 Calculation Overview ............................................................................ 562
9.127 Setvalidate....................................................................................................................... 564
9.127.1 Setvalidate Calculation Overview ...................................................................... 564

viii SP_0030
Table of Contents

9.128 Sin ................................................................................................................................... 567


9.128.1 Sin Calculation Overview ................................................................................... 567
9.129 Specheatair ..................................................................................................................... 568
9.129.1 Specheatair Calculation Overview ..................................................................... 568
9.130 Spechtair ......................................................................................................................... 569
9.130.1 Spechtair Calculation Overview ......................................................................... 569
9.131 Specheatgas ................................................................................................................... 571
9.131.1 Specheatgas Calculation Overview ................................................................... 571
9.132 Spechtgas ....................................................................................................................... 572
9.132.1 Spechtgas Calculation Overview ....................................................................... 573
9.133 Squareroot....................................................................................................................... 574
9.133.1 Squareroot Calculation Overview ...................................................................... 574
9.134 Steadystate ..................................................................................................................... 575
9.134.1 Steadystate Calculation Overview ..................................................................... 576
9.135 Sub4 ................................................................................................................................ 577
9.135.1 Sub4 Calculation Overview ................................................................................ 577
9.136 Sub10 .............................................................................................................................. 578
9.136.1 Sub10 Calculation Overview .............................................................................. 579
9.137 Superhtr........................................................................................................................... 580
9.137.1 Superhtr Calculation Overview .......................................................................... 581
9.138 Ttd ................................................................................................................................... 582
9.138.1 Ttd Calculation Overview ................................................................................... 582
9.139 Turbgen ........................................................................................................................... 583
9.139.1 Turbgen Calculation Overview ........................................................................... 584
9.140 Turbin .............................................................................................................................. 586
9.140.1 Turbin Calculation Overview .............................................................................. 587
9.141 Unhraitdev ....................................................................................................................... 588
9.141.1 Unhraitdev Calculation Overview ....................................................................... 588
9.142 Unhrasmecsc .................................................................................................................. 590
9.142.1 Unhrasmecsc Calculation Overview .................................................................. 590
9.143 Unhrasmeffw ................................................................................................................... 591
9.143.1 Unhrasmeffw Calculation Overview ................................................................... 591
9.144 Unhrasmeipdev1 ............................................................................................................. 592
9.144.1 Unhrasmeipdev1 Calculation Overview ............................................................. 592
9.145 Unhrasmeipdev2 ............................................................................................................. 593
9.145.1 Unhrasmeipdev2 Calculation Overview ............................................................. 593
9.146 Unhrasmemkp ................................................................................................................. 594
9.146.1 Unhrasmemkp Calculation Overview ................................................................. 594
9.147 Unhrasmersf .................................................................................................................... 595
9.147.1 Unhrasmersf Calculation Overview .................................................................... 595
9.148 Unhrasmessf ................................................................................................................... 596
9.148.1 Unhrasmessf Calculation Overview ................................................................... 596
9.149 Unhrauxstm ..................................................................................................................... 597
9.149.1 Unhrauxstm Calculation Overview ..................................................................... 597
9.150 Unhrbfpt........................................................................................................................... 598
9.150.1 Unhrbfpt Calculation Overview .......................................................................... 600
9.151 Unhrauxdev ..................................................................................................................... 604
9.151.1 Unhrauxdev Calculation Overview ..................................................................... 604
9.152 Unhrcbp ........................................................................................................................... 605
9.152.1 Unhrcbp Calculation Overview ........................................................................... 605

SP_0030 ix
Table of Contents

9.153 Unhrcontot ....................................................................................................................... 606


9.153.1 Unhrcontot Calculation Overview ....................................................................... 607
9.154 Unhrcsc ........................................................................................................................... 608
9.154.1 Unhrcsc Calculation Overview ........................................................................... 608
9.155 Unhregt ............................................................................................................................ 609
9.155.1 Unhregt Calculation Overview ........................................................................... 611
9.156 Unhrffw ............................................................................................................................ 613
9.156.1 Unhrffw Calculation Overview ............................................................................ 613
9.157 Unhrhpdev ....................................................................................................................... 614
9.157.1 Unhrhpdev Calculation Overview ....................................................................... 615
9.158 Unhripdev ........................................................................................................................ 616
9.158.1 Unhripdev Calculation Overview ........................................................................ 617
9.159 Unhrmaintot ..................................................................................................................... 617
9.159.1 Unhrmaintot Calculation Overview ..................................................................... 618
9.160 Unhrmisctot ..................................................................................................................... 619
9.160.1 Unhrmisctot Calculation Overview ..................................................................... 620
9.161 Unhrmkp .......................................................................................................................... 621
9.161.1 Unhrmkp Calculation Overview .......................................................................... 621
9.162 Unhrmsp .......................................................................................................................... 623
9.162.1 Unhrmsp Calculation Overview .......................................................................... 623
9.163 Unhrmst ........................................................................................................................... 624
9.163.1 Unhrmst Calculation Overview ........................................................................... 624
9.164 Unhro2calc ...................................................................................................................... 625
9.164.1 Unhro2calc Calculation Overview ...................................................................... 626
9.165 Unhrpcthr......................................................................................................................... 628
9.165.1 Unhrpcthr Calculation Overview ........................................................................ 628
9.166 Unhrrpd ........................................................................................................................... 629
9.166.1 Unhrrpd Calculation Overview ........................................................................... 629
9.167 Unhrrsf............................................................................................................................. 630
9.167.1 Unhrrsf Calculation Overview............................................................................. 630
9.168 Unhrrst............................................................................................................................. 631
9.168.1 Unhrrst Calculation Overview............................................................................. 631
9.169 Unhrscah ......................................................................................................................... 632
9.169.1 Unhrscah Calculation Overview ......................................................................... 633
9.170 Unhrssf ............................................................................................................................ 635
9.170.1 Unhrssf Calculation Overview ............................................................................ 635
9.171 Unhrtot ............................................................................................................................. 637
9.171.1 Unhrtot Calculation Overview............................................................................. 638
9.172 Unhtrt ............................................................................................................................... 640
9.172.1 Unhtrt Calculation Overview............................................................................... 641
9.173 Volflowgas ....................................................................................................................... 642
9.173.1 Volflowgas Calculation Overview ....................................................................... 642
9.174 Volflowliquid .................................................................................................................... 643
9.174.1 Volflowliquid Calculation Overview .................................................................... 644
9.175 Wexpan ........................................................................................................................... 645
9.175.1 Wexpan Calculation Overview ........................................................................... 649
9.176 Wmncor ........................................................................................................................... 657
9.176.1 Wmncor Calculation Overview ........................................................................... 657

x SP_0030
Table of Contents

10 Steamtable algorithms 659


10.1 CLTEST........................................................................................................................... 660
10.2 Hclsp ............................................................................................................................... 661
10.3 Hclsp_chk ........................................................................................................................ 662
10.4 Hcltp ................................................................................................................................ 663
10.5 Hcltp_chk ......................................................................................................................... 664
10.6 Hichpp ............................................................................................................................. 665
10.7 Hichpp_chk...................................................................................................................... 666
10.8 Hictpp .............................................................................................................................. 667
10.9 Hishpp ............................................................................................................................. 668
10.10 Histpp .............................................................................................................................. 669
10.11 Hslp ................................................................................................................................. 670
10.12 Hslp_chk .......................................................................................................................... 671
10.13 Hslt .................................................................................................................................. 672
10.14 Hslt_chk ........................................................................................................................... 673
10.15 Hsstp ............................................................................................................................... 674
10.16 Hsstp_chk........................................................................................................................ 675
10.17 Hsvp ................................................................................................................................ 676
10.18 Hswsp .............................................................................................................................. 677
10.19 Pslt .................................................................................................................................. 678
10.20 Psvs ................................................................................................................................. 679
10.21 Sclhp ............................................................................................................................... 680
10.22 Scltp ................................................................................................................................ 681
10.23 Sslp ................................................................................................................................. 682
10.24 Sslt .................................................................................................................................. 683
10.25 Ssstp ............................................................................................................................... 684
10.26 Ssvp ................................................................................................................................ 685
10.27 Sswhp .............................................................................................................................. 686
10.28 Tclhp................................................................................................................................ 687
10.29 Tslp.................................................................................................................................. 688
10.30 Tslqh................................................................................................................................ 689
10.31 Tswhp .............................................................................................................................. 690
10.32 Tswsp .............................................................................................................................. 691
10.33 Vcltp ................................................................................................................................ 692
10.34 Vslt .................................................................................................................................. 693
10.35 Vsstp ............................................................................................................................... 694
10.36 Vsvp ................................................................................................................................ 695
10.37 Vswhp .............................................................................................................................. 696
10.38 Vswsp .............................................................................................................................. 697
10.39 Xswsp .............................................................................................................................. 698
10.40 Xswhp .............................................................................................................................. 699

SP_0030 xi
Table of Contents

11 Common functional block diagrams 701


11.1 Input functional block diagram ........................................................................................ 701
11.1.1 Analoginavg ....................................................................................................... 702
11.1.2 Digitalin............................................................................................................... 702
11.1.3 FBDorder ............................................................................................................ 702
11.1.4 Input document checklist.................................................................................... 703
11.2 Main functional block diagram......................................................................................... 703
11.3 Main input algorithm checklist ......................................................................................... 704
11.4 Equipment functional block diagrams ........................................................................... 704
11.4.1 Feedheater functional block diagram ................................................................. 704
11.4.2 Feedheater algorithms ....................................................................................... 704
11.4.3 Condenser functional block diagram .................................................................. 705
11.4.4 Steam turbine functional block diagram ............................................................. 706
11.4.5 Boiler functional block diagram .......................................................................... 708
11.4.6 Fan functional block diagram ............................................................................. 708
11.4.7 Pump functional block diagram .......................................................................... 709
11.4.8 Heat recovery steam generator block diagram .................................................. 710
11.4.9 Combustion turbine functional block diagram .................................................... 711
11.4.10 Heat rate functional block diagram .................................................................... 712
11.4.11 Unit heat rate functional block diagram .............................................................. 712
11.4.12 Curve Fit algorithms ........................................................................................... 714
11.4.13 Maintenance unit heat rate corrections .............................................................. 715
11.4.14 Miscellaneous unit heat rate corrections ............................................................ 716
11.4.15 Cooling tower functional block diagram ............................................................. 717
11.4.16 Math algorithms .................................................................................................. 718
11.4.17 Miscellaneous algorithms ................................................................................... 720
11.4.18 Steam table algorithms ...................................................................................... 721
11.5 Output functional block diagram...................................................................................... 723
11.5.1 Output functional block diagram checklist.......................................................... 723
11.6 Display graphics development ........................................................................................ 724

Index 729

xii SP_0030
S E C T I O N 1

Introduction to GPA

IN THIS SECTION

What is the GPA? ................................................................................................................ 1


What does the GPA do? ..................................................................................................... 2
What does the GPA consist of? .......................................................................................... 3
How does the GPA work? ................................................................................................... 4
GPA module description ..................................................................................................... 4
Quality assurance features for GPA.................................................................................. 10
Optional GPA module description ..................................................................................... 11

1.1 What is the GP A?

The GPA (Global Performance Advisor) is a software package that integrates advanced digital
and analog control functionality, data management, and networking into a complete process
automation solution providing a variety of performance operations and calculations.

As a system engineer and operator, you will want to identify areas to improve efficiency and
reduce operating costs of your plant. The GPA software package offers a complete set of
calculations to help you identify controllable losses, track equipment performance against design
specifications, and help identify areas in need of improvement.

The Global Performance Advisor gives you the capability of tracking equipment performance over
time. The GPA software package provides the software you need to evaluate performance and
achieve the desired plant efficiency.

The GPA offers multiple benefits that ultimately help your plant operate more efficiently. Through
open communication and detailed reporting, the GPA allows plants to consolidate performance
information from multiple units that use different control systems. By tracking and documenting
controllable losses, the GPA provides immediate feed back to help your plant operate more
efficiently and allow operators to capitalize on the opportunities for process improvements.

SP_0030 1
1.2 What does the GPA do?

1.2 What does the GPA do?

The GPA package collects data through Data Agents and uses this data throughout its
calculations. Upon completion of the calculations, GPA broadcasts the calculated values and
qualities through the Data Agent.

The GPA collects data using several data agents:


 OLE for Process Control
 PI (Plant Information)
 WESAPI (for WDPF)
 Remote Data Server (for Ovation) and DDE
 EDS Live Data (Enterprise Data Server)
The GPA can be applied to any manufacturer's distributed control system that supports one of
these Data agents. GPA is fully OPC compliant and communicates with any DCS OPC Server.

Thus, plants having different and multiple control systems can unify their performance
calculations into a single, centralized location with all units utilizing one standard calculation
methodology. GPA also includes a web server that dynamically updates performance results over
a plant or corporate LAN or WAN.

Results that you can expect to receive by using the GPA are:
 Reduced operating costs by tracking unit heat rate penalty costs over time and indicating
amount of dollars lost due to equipment performance deviations.
 The calculation of net unit heat rate and heat rate deviation tracking.
 Displays deviations and cost of deviations to help operators determine corrective action
through either operator action or by equipment repair or maintenance.
 The GPA models plant equipment and overall heat balance to determine your plant's most
efficient operating modes.
GPA performs several calculations for various applications and offers a variety of options
applicable to your plant.

For example:

 GPA provides a central location to consolidate plant performance information for multiple
units regardless of the control system manufacturer.
 GPA identifies unit heat rate penalty costs and deviations from plant equipment design
specifications.
 GPA includes a Web browser based graphic option.
 GPA Includes a fully configured dynamic link library of plant-specific performance
calculations.
 GPA shares calculations and values with business information systems through Highway
Tags.
 GPA delivers a unified software solution and a consistent mathematical approach for
calculation performance across multiple units.
 The GPA tracks performance levels of all power plant components.

2 SP_0030
1.3 What does the GPA consist of?

1.3 What does the GPA consist of?

The GPA consists of two software packages:

1. GPADCS Software - The GPADCS software is the main software package comprised of a
standard group or base set of calculations.
2. PCalcs Software - PCalcs software is a software overlay adding several additional
algorithms. These algorithms contain custom calculations which perform a variety of functions
providing a thorough evaluation of your plant. PCalcs are used to calculate plant performance.

Together, both software packages provide several algorithms and calculations. The following are
attributes of the GPA:
 A Windows PC provides the hardware platform for software development and module
execution.
 DCS Interface where the hardware and software (Data Agent) links between PC and existing
DCS.
 Custom displays provide an operator interface to the Global Performance Advisor results.
 GPA provides a complete set of boiler and turbine performance calculations customized to
match the specific plant equipment set.
 GPA provides a full set of steam and air property tables.
 Includes a data validation module which is used on signals that have a tendency to drift.
Customized modules are also included in the GPA package and can be applied to your system to
meet plant-specific monitoring requirements. Depending on the type of plant that you are
monitoring and the amount of information available, the GPA provides specific modules targeting
and evaluating the following equipment and process performance:

Boiler Feedwater - Feedheater Train


Boiler Performance - Heat Loss Method
Combustion Turbine
Condenser
Steam Turbine
Turbine Cycle Heat Rate
Unit Performance
Heat Recovery Steam Generator
Boiler Cleanliness (Optional)
Boiler Feedpump Turbine (Optional)
Boiler Performance - Input/Output Method (Optional)
Cooling Tower (Optional)
Economizer (Optional)
Fan (Optional)
Large Pump (Optional)

SP_0030 3
1.4 How does the GPA work?

1.4 How does the GPA w ork?

The Global Performance Advisor receives required plant data through analog and digital signals
from your control system. All calculations are configured to execute every two minutes and all
analog inputs are smoothed over a two-minute interval; however, the actual time interval is user
configurable.

All pertinent values are assigned tag names, which are displayed on the workstation and can be
configured for alarm functions. All data is included in the performance reports and stored in the
historian.

The Global Performance Advisor consists of evaluation modules targeting specific areas for plant
improvement. Each module is configured to plant-specific performance objectives. The GPA
utilizes GPADCS software to provide performance calculations in a functional block structure that
is easily configured using standard drag and drop functions.

1.5 GP A module description

The Global Performance Advisor includes customized modules that meet specific performance
monitoring requirements for your plant. Depending on the type of plant and available information,
specific modules target and evaluate plant equipment and process performance factors including:
 Steam Turbine
 Condenser
 Turbine Cycle Heat Rate
 Boiler Performance – Thermal Loss Method
 Heat Recovery Steam Generator
 Combustion Turbine
 Unit Performance
Optional Cooling Tower modules are also available with GPA. Refer to the following module types
listed in the following sections.

4 SP_0030
1.5 GPA module description

1.5.1 Combustion turbine performance module

Calculated in accordance with ASME PTC 22, “Performance Test Code on Gas Turbines,” 1997,
the combustion turbine calculation adjusts for either natural gas or fuel oil input. These fuel
parameters can be adjusted through the data entry screens so the system can correlate between
volumetric to a mass basis.

If the combustion turbine is also fired by a liquid fuel, a breakdown of that fuel is manually entered
and is combined with a breakdown of the converted natural gas. This results in an analysis of the
fuel mix based on the relative weights of each fuel.

Thermal efficiency of the combustion turbine is computed as the reciprocal of heat rate. The
generated power output and the heat and thermal efficiency rates are adjusted to guaranteed (or
ISO) conditions using correction curves provided by the combustion turbine manufacturer. These
adjusted rates are then compared to the expected heat and thermal efficiency rates (based on
manufacturer’s performance data). All information is displayed to the operator.

Typical Inputs
 Ambient air temperature, relative humidity, and barometric pressure.
 Compressor inlet air temperature and relative humidity.
 Combustion turbine exhaust gas temperature.
 Injection water or steam flow, temperature and pressure.
 Combustion turbine output.
 Combustion turbine auxiliary power.
 Fuel flow(s).
 Temperature and pressure of the fuel(s).
 Combustion turbine inlet and exhaust pressures.
 Compressor discharge temperature and pressure.
 Compressor inlet pressure and temperature.
Key Outputs
 Combustion turbine heat rate.
 Combustion turbine thermal efficiency.
 Corrected combustion turbine heat rate.
 Corrected turbine thermal efficiency.
 Corrected power output.
 Design heat rate.
 Design thermal efficiency.
 Corrected heat rate deviation from design.
 Corrected efficiency deviation from design.

SP_0030 5
1.5 GPA module description

1.5.2 Heat recovery steam generator (HRSG)

In accordance with ASME PTC 4.4, “Gas Turbine Heat Recovery Steam Generators,” 1981. The
HRSG module calculates the efficiency of the plant’s heat recovery steam generator input/output
and measures thermal-loss. The system then compares these values to design efficiency values
that are based on plant performance data.

Output is defined as the heat that is absorbed by the working fluid. Input is defined as the sensible
heat in the exhaust gas that supplies the heat recovery steam generator plus the chemical heat in
the supplementary fuel (for duct burners) plus the heat credit supplied by the sensible heat in the
supplementary fuel. (Per ASME PTC 4.4)

Typical Inputs
 Supplemental fuel gas flow (if duct burners are present).
 Temperature and pressure of supplemental fuel (if duct burners are present).
 Economizer water inlet flow, temperature and pressure for each stage.
 Output steam flow, temperature and pressure for each stage.
 Steam drum pressure for each stage.
 Steam flow to inlet air cooling system (if present).
 Superheater spray water flow.
 Superheater steam temperature and pressure.
 Blowdown flow for each stage.
 Stack gas outlet temperature.
Key Outputs
 Heat input.
 Heat output.
 Input-output efficiency.
 Heat losses.
 Thermal loss efficiency.
 Design input-output efficiency.
 Design thermal loss efficiency.
 Input-output efficiency deviation from design.
 Thermal loss efficiency deviation from design

6 SP_0030
1.5 GPA module description

1.5.3 Steam turbine performance module

Using design performance data provided by the steam turbine manufacturer, the system conducts
a heat balance around the turbine and calculates the overall turbine efficiency for single-stage
casing, non-extracting turbines. Using PTC 6, “Performance Test Code 6 on Steam Turbines,”
1996, the system calculates turbine cycle heat rate.

These calculations are corrected to reference conditions using correction curves provided by the
steam turbine manufacturer.

For two-stage casing turbines, the system calculates individual high pressure and
intermediate/low pressure stage efficiencies and then compares them to design stage efficiencies.

For extraction turbines, the system calculates the reference generator output as a function of the
characteristic curves of the turbine manufacturer’s throttle flow and extraction flow. Using these
correction curves, generator output is corrected to reference conditions. The corrected result is
compared to the actual output.

Typical Inputs
 Generator gross power output.
 Generator megavars.
 Hydrogen pressure (if generator is hydrogen cooled).
 Auxiliary power.
 Steam temperatures and pressures at turbine extraction points (if not measured at feedheater
shell).
 Turbine throttle steam temperature and pressure.
 High pressure turbine exhaust or cold reheat steam temperature and pressure.
 Intermediate (or reheat) turbine inlet steam temperature and pressure (if applicable).
 Crossover steam temperature and pressure.
 Turbine exhaust pressure.
 Auxiliary steam flows, temperatures and pressures (if applicable).
 Controlled extraction steam flow, temperature and pressure for co-generation systems.
Key Outputs
 Generator losses and efficiency.
 Turbine section extraction steam flows.
 Turbine section enthalpies
 Turbine section efficiencies
 Turbine section design efficiencies
 Turbine

SP_0030 7
1.5 GPA module description

1.5.4 Condenser module

This module computes the thermal transmittance and cleanliness factor in accordance with ASME
PTC 12.2, “Steam Surface Condensers,” 1983 and The Heat Exchange Institute’s “Standards for
Steam Surface Condensers,” 9th Edition.

If the circulating water flow can be measured, the system computes the condenser duty by
measuring the heat that is transferred to the circulating water. If the circulating water flow can not
be measured, the system calculates the steam heat balance around the condenser. The system
then calculates the circulating water flow based on the condenser duty and the rise in the
circulating water temperature.

The system calculates actual transmittance and clean thermal transmittance and compares them
in order to calculate the condenser cleanliness factor. The expected backpressure (based on
clean tubes) is compared to the actual backpressure.

Typical Inputs
 Cooling water inlet temperature.
 Cooling water outlet temperature.
 Condenser back pressure.
 Makeup water flow.
 Makeup water temperature.
 Hotwell temperature.
 Flow and temperature of condensate return to condenser (if applicable).
 Number of plugged tubes.
Key Outputs
 Terminal temperature difference.
 Log mean temperature difference.
 Condenser subcooling.
 Circulating water flow.
 Condenser duty.
 Heat transfer coefficient and cleanliness factor.
 Expected condenser back pressure, based on clean tubes and deviation from actual back
pressure.
 Fuel cost(s) per million btus.

8 SP_0030
1.5 GPA module description

1.5.5 HRSG calculation method

Calculations are performed in accordance with ASME PTC 4.4 (input-output and thermal-loss
efficiencies). These calculated efficiencies are compared to design efficiency values calculated
from performance data. Using ASME PTC 4.4
 Output is the heat absorbed by the working fluid.
 Input is the sensible heat in the exhaust gas supplied to the heat recovery steam generator,
plus the chemical heat in the supplementary fuel, plus the heat credit supplied by the sensible
heat in the supplementary fuel.
HRSG Key Outputs
 Heat input.
 Heat output.
 Heat losses.
 Input-output efficiency.
 Thermal loss efficiency.
 Design input-output efficiency.
 Design thermal loss efficiency.
 Input-output efficiency deviation from design.
 Thermal loss efficiency deviation from design.

SP_0030 9
1.6 Quality assurance features for GPA

1.5.6 Combustion turbine calculation method

Calculations are performed in accordance with ASME PTC 22. Corrected output, heat rate, and
thermal efficiency are calculated based on correction curves provided by the turbine
manufacturer. Design combustion turbine heat rate and efficiency are calculated based on turbine
design data and compared to the corrected values.

Combustion Turbine Key Outputs


 Combustion turbine heat rate.
 Combustion turbine thermal efficiency.
 Corrected combustion turbine heat rate.
 Corrected turbine thermal efficiency.
 Corrected power output.
 Design heat rate.
 Design thermal efficiency.
 Corrected heat rate deviation from design.
 Corrected efficiency deviation from design.
Unit Performance Module

Gross and net plant heat rate and plant thermal efficiency are calculated. Plant heat rate penalty
costs and output deviations are calculated for combustion turbine parameters, steam turbine
parameters, and the condenser.

Note: steam turbine and combustion turbine correction curves are required.

Typical Inputs
 Output from the other Global Performance Advisor modules.

1.6 Quality assurance features for GP A

The GPA system has multiple features to ensure the integrity of the calculated results. These
features are listed in the following sections:

1.6.1 Quality propagation

This feature permits plant personnel to evaluate the quality of signals used in the Global
Performance Advisor. Quality Propagation indicates the actual quality of the system’s original
input signals and includes this quality in the resulting calculated values. The system broadcasts
the quality of the input/output data, as well as the calculated results on the network.

1.6.2 Analog input filtering

The Analog Input Filtering feature ensures the reliability of the combined-cycle calculations. If key
instrumentation fails, or if the value of an input parameter is outside a pre-defined range, plant
personnel can substitute values and/or Ovation point names through a password-protected
interface. If a substitute point name or value is used for performance calculations, the quality of
the point is marked “fair.” The “fair” quality is indicated through subsequent calculations.

10 SP_0030
1.7 Optional GPA module description

1.6.3 Performance monitoring graphics

Performance monitoring graphics are customized to reflect the specific facility. Graphic displays
indicate the results of each performance calculation at any workstation.

1.6.4 Steam table interface

This attribute provides an interactive steam table interface based on the 1997 ASME Steam
Properties for Industrial Calculations.

1.7 Optional GP A module description

In addition to the Standard GPA modules, the following program modules are optionally available:

1.7.1 Large pump modules

Large Pump Modules calculate pump efficiency and compare corrected pump head to design
head to determine if the pump is meeting its capacity/head curve within a given tolerance.

Typical Inputs
 Suction pressure and temperature.
 Discharge pressure and temperature.
 Pump water flow.
 Pump speed.
 Pump in service flag.
 Pump current.
 Pump (or house) voltage.
Key Outputs
 Pump efficiency.
 Pump head.
 Corrected pump head.
 Ratio of corrected head to design head.

SP_0030 11
1.7 Optional GPA module description

1.7.2 Cooling tower performance module

Cooling Tower Performance Modules compute expected outlet temperature from the cooling
tower and tower capability.

Typical Inputs
 Hot water inlet temperature.
 Cold water outlet temperature.
 Individual fan in-service status.
 Individual fan input volts and current.
 Circulating water inlet flow.
 Cooling Tower wet bulb temperature.
 Ambient temperature.
 Barometric pressure.
Key Outputs
 Estimated cold water outlet temperature.
 Cooling tower capability.

12 SP_0030
S E C T I O N 2

Software installation and backup

IN THIS SECTION

Installation requirements ................................................................................................... 13


To install GPA software ..................................................................................................... 15
Porting a project to another machine ................................................................................ 16
Program introduction ......................................................................................................... 17
Setting properties and application preferences ................................................................. 17

2.1 Installation requirements

GPA software runs on a Windows based PC. To ensure the GPA program runs smoothly, your
computer should have at least:

 900 MHz
 256 MB of RAM

SP_0030 13
2.1 Installation requirements

2.1.1 Configuring data agents

During installation of GPADCS, a Data Agent configuration dialog box appears. The choices on
this dialog box define which data agents are loaded when executing GPADCS in ONLine mode.
Therefore, these choices are not needed unless the ONLine mode is used.

The associated client software for these data agents must be loaded when GPADCS ONLine
mode is started, or errors will occur upon startup.

Note: In GPADCS OFFLine mode, these data agents are not loaded.

The GPADCS configuration dialog can be invoked at a later time with the
Start > Programs > GPADCS > Configure selections.

Figure 1: GPADCS configuration window

14 SP_0030
2.2 To install GPA software

2.1.2 Backing up data files

During development of a project, the following files need to be backed-up on a periodic basis to
prevent data loss:
 Project_name.xref (under %FACTORYSOFTHOME%)
 Workspace_name.feqp
 Workspace_name.fwsp
 Project_name.cprj
 All .ffbd documents
 All .fdsp files (display sheets)
The .feqp and .fwsp files are found under the directory where the Workspace was created. The
.cprj and .ffbd files are found under the directory where the project was created.

2.1.3 GPA software installation checklist


 Are all applicable DLLs and cross-reference files copied onto the system?
 Is the correct version (ONLINE or OFFLINE) of the GPA being used?
 Check the EVENT LOG to ensure version numbers of DLLs are correct. Verify that the
correct USERALGSSHAREDRES.DLL is on the system.
 Are all the appropriate files backed-up on a periodic basis?

2.2 To install GP A softw are


1. Place the SmartProcess GPA CD in the CD-ROM drive and install the GPA software
according to the manufacturer's instructions.
2. Place the PCalcs software CD in the drive appropriate drive and run the software provided.
Seven DLLs are shipped with every system and are copied to the \winnt\system32 directory.
The following information will be installed:
 BLR.DLL
 CALCCOMMON.DLL
 COMBTURB.DLL
 PCALCS.DLL
 STMINTERFACE.DLL
 STMTABLE.DLL
 USERALGSSHAREDRES.DLL
3. Check the EVENT.LOG to verify the version levels of software upon entering of the GPA
software package. All of the above DLLs should be at the same major version level with the
exception of STMINTERFACE.DLL. This DLL is not dependent upon any of the other DLLs.
There are two versions of the GPA software package:
OFFLINE mode - The OFFLINE GPA package is used for testing and retrieving historical
data.

SP_0030 15
2.3 Porting a project to another machine

Note: When EDS is installed on a system where the Historical Offline Interface is going to be
executed, EDS must be at version 7_3_4c or later.

ONLINE mode - The ONLINE GPA package is used after the OFFLINE GPA package has
been debugged.

Note: Two shortcuts are created after installing the GPA package.

A second version of the USERAGLSSHAREDRES.DLL exists for testing and is named


USERALGSSHAREDRES_FAKE.DLL. If the FAKE DLL is used, all data agents-input values
will be read in from the initial value field and not the highway.
The fake DLL should only be used for off-line testing and will be replaced when testing with
the highway. The EVENT LOG will also display the mode for testing which is the FAKE mode.
The PCalcs software CD must be inserted and the PCalcs software loaded.
4. Open the Event Log inside GPADCS and verify the Major Version Information for all of the
DLLs is 4.0 or later except for STMINTERFACE, which will be Version 1.2.

2.3 Porting a project to another machine

Porting a GPA project requires copying only the GPADCS specific files, not the supporting DLLs
(such as pcalcs.dll, stmtable.dll, useralgssharedres.dll, stminterface.dll and calccommon.dll).

These files consist of:


 The GPADCS Workspace files which house all project(s) (.feqp .fwsp) and the project-specific
files in the Project(s) Directory:
 .cprj (project file)
 .ffbd (function block diagrams)
 .fdsp (display documents)
 .csv (registry support files)

Note: Each project within a Workspace has its own directory; therefore Workspaces with
multiple projects have multiple directories.

Also, each project within a Workspace has its own .xref file, therefore Workspaces with
multiple projects will have multiple .xref files.

 The .const and .fx files are saved from within algorithms.
Recommended file storage: store files in sub-directories within a project directory or, at least
on the same disk partition.
 The .xref files are in %FACTORYSOFTHOME%. These files contain all of the Tag Group
definitions which define the tag configurations for ALL algorithms in the project.
 To simplify the zip file to be built:
1. Add the .fwsp and .feqp files.
2. Cursively zip ALL FILES in the project(s) directories.
3. Add all the project .xref files from %FACTORYSOFTHOME%.

16 SP_0030
2.4 Program introduction

2.4 Program introduction


The GPADCS User Guide provides important background information for learning how to use this
product. An understanding of Workspaces, Projects, Documents, plus Application Preferences
and Properties is necessary.

The following definitions may help you understand the layering that GPADCS uses in building
Projects.

Workspace - Pulls together one or more results provided by a project or set of projects to form a
more complicated or complex result for use in a process.

Project - A set (or sets) of algorithms combined together to input information, process the
information, and output useful information.

Functional Block Diagram (FBD) - Comprised of an algorithm or multiple algorithms to complete


one function.

Algorithm - An Individual building block or module used to perform calculations, and output
information to perform a dedicated function.

2.5 Setting properties and application preferences


Follow the instructions in the GPADCS User Guide to perform the following:

 Setting Preferences and/or Properties for various aspects of the programs and projects.
 Setting different levels of security.

SP_0030 17
S E C T I O N 3

Startup

IN THIS SECTION

To create a new workspace .............................................................................................. 19


To create a new project ..................................................................................................... 21
Separating projects ........................................................................................................... 23
Creating a function block diagram (FBD) .......................................................................... 27

3.1 To create a new workspace

To begin using the GPA, you must first create a new Workspace. This should be a one-time
process that sets up all the projects for the complete facility.

1. On the File menu, select New.


2. In the New dialog box, click the Workspace tab. Control Workspace is selected
automatically.
3. Type the name of the project in the Name text box.

SP_0030 19
3.1 To create a new workspace

4. Select Navigate and find the Location where the project will be kept (or make a new
location), then select OK. This places the Workspace with all its components and files in the
selected folder.

Figure 2: New Workspace

Figure 3: GPADCS New Workspace Folders

Notice that other directories were developed when the Workspace was created:

Equipment List - Shows a list of the projects and their running order.
Event Log - A chronological list of events, which can be used for troubleshooting.
Gallery - Not used.

20 SP_0030
3.2 To create a new project

3.2 To create a new project


After a New Workspace is created you then need to create a New Project for the current
Workspace.

Note: It is important not to name any project the same name as the Workspace, as the GPA
program may confuse the two.

1. Right-click the Workspace name in the Workspace Window and select New Project.
("Workspace Emerson PWS" in this example is the workspace name). The New dialog box
appears with "Control Project" selected automatically.
2. Enter the desired project name in the Name text box (usually the unit or facility name). Leave
the selection of Add to Current Workspace as is. The Location option will, by default, be the
same as the Workspace and can be changed if desired.

Figure 4: New Project Window

SP_0030 21
3.2 To create a new project

3. Select OK, which will place the new project and its components in the folder.

Figure 5: New Project folders

Note: For ease of viewing, set the Zoom factor under the View menu to 75%. For multiple
projects, other New Projects and New Documents can be created. Don't forget to save
periodically!

It is recommended that all the information for each physical facility (building or unit) be placed in
the same Project. If the plant has more than one unit, each one operating independently, a project
file should be set up for each. Use Steps 1 through 3 in the above procedure to develop each
Project.

When working with more than one Project, a separate dummy New Project must be created. This
project does not need any New Documents but will always have to be started first.

Make sure to give the dummy New Project a name that will allow it to be started first, (such as
Aaadummy).

The dummy project is needed to start all the data agent's data points. If one project is stopped,
the other project's points will still be collected and broadcast since the “dummy” project which
started all the data agents points will still be running.

Follow the above procedure, steps 1 through 3, to develop each project, again making sure the
“Dummy” project has a name ensuring it will start first.

Once the Dummy project is created:

1. Right-click the Project name.


2. Then select Set Active Project to ensure that the program always comes back to this
Dummy Project while running.

22 SP_0030
3.3 Separating projects

The name becomes bold, identifying it as the Active Project. See the example in the following
figure.

Figure 6: Active Project

There are also other projects that can be added other than Control Projects. The addition of other
projects is discussed later.

Notice that other files were developed when each Project was made:

Security - Shows the levels of security set up.

Tags - A listing of all the Tags used in the Project. Tags are useful in troubleshooting.

3.3 Separating projects

Separating GPA projects is driven by several factors. For example, having the ability to start/stop
projects independently or having multiple highways requiring separate data agents servers.

There are two ways to configure multiple GPA projects to run on the same machine:

1. Build a SINGLE workspace (.fwsp file) which contains MULTIPLE projects (.cprj file)
(Section Single Project Containing a Multiple Workspace).
2. Build MULTIPLE workspaces, each containing a SINGLE project (Section Multiple
Workspaces Containing a Single Project.

Use the following sections when choosing which method to use:

SP_0030 23
3.3 Separating projects

3.3.1 Single workspace containing multiple projects

The Single Workspace containing a multiple projects configuration is recommended only for
cases where the total number of highway tags for ALL projects number in the low 100's.

GPA performance issues come into affect when the total number of highway tags exceed the
300-350 tag range for workspaces containing multiple projects.

(The above information was obtained from tests performed on a PC with 333 MHz, 128 MB RAM.
Since these results may vary for PC's with different configurations, you may want to make your
own tests).

To calculate the number of Highway Tags:

# of Highway Tags = # Analog Input + # Digital Input + # Digital Out + (2 X # Analog Out)
(Each analog output tag has an associated quality tag that contains a data agent's item)

3.3.2 Multiple Workspaces containing a single project

Multiple Workspaces containing a single project is the most commonly used configuration. With
single workspace/project combinations, there are currently no known limits (as of PCalcs 3.1) for
the total number of highway tags that will affect performance.

The one requirement when automatically starting multiple Workspaces upon reboot is that the
subsequent Workspaces must wait or (Sleep) until the previous Workspaces have started and are
gathering samples. This is true even if each project has a different data agent's Server on
different machines.

This requirement is VERY important when different projects are accessing the SAME data agents
server. This interval between startups of Workspaces must be determined by observation or
experimentation.

A batch (.com or .bat) file can be built to control this operation. The GPASleep.exe is included in
the 3.1 PCalcs release to help facilitate the startup control.

3.3.3 To execute multiple workspaces


1. Start up each project by itself in debug mode, and determine how long it takes to begin
gathering samples. Add extra time (30 seconds or so) to be sure the next project won't start
too soon.
2. Build a batch file that launches each workspace and waits for the previous workspace to start.
3. Add the batch file to the startup folder for reboot.

24 SP_0030
3.3 Separating projects

Below is a sample batch file which starts up two workspaces on the same machine:

REM
REM Batch File for Starting GPA for Units 1 & 2, with a 60 second Delay
in-between
REM
REM
************************************************************************
**
REM Launch Unit #1
REM
************************************************************************
**
start c:\gpadcs\bin\gpadcs -r d:\pcalcs\UNIT1.fwsp
REM
REM
************************************************************************
**
REM Sleep 60 seconds, wait for Unit #1 to start gathering samples
REM
************************************************************************
**
GPASleep 60
REM
REM
************************************************************************
**
REM Launch Unit # 2
REM
************************************************************************
**
start d:\gpadcs\bin\gpadcs -r d:\pcalcs\UNIT2.fwsp

Note: Notice that GPASleep has one parameter, which is the number of SECONDS to sleep.
Not milliseconds!

SP_0030 25
3.3 Separating projects

3.3.4 GPADCS window

Workspaces are the basis of the GPADCS development framework. The following window is an
illustration of the GPADCS workspace. Each Workspace contains one or more projects and all the
components required for each project. You can only open one Workspace at a time.

Your Workspace window is used to navigate all projects defined in a Workspace.

Figure 7: GPADCS Window

Note: Before beginning the GPA, it is recommended that you read the GPADCS tutorial.

The GPADCS tutorial is a document explaining how to build a project. It would be helpful to
work through the GPADCS document to help you understand how to build a project.

The GPA software overlay works somewhat differently than explained in the tutorial, however,
most of the concepts are the same.

To access the tutorial:


Select the Help menu > Help Topics > Tutorial Booklet > GPADCS Tutorial Overview
Double-click the GPA icon to start the GPA program.

When invoking the program, the icon seems to disappear. If this happens, take the cursor to the
bottom of the screen where the GPA program bar can be seen, right-click the bar and select
maximize to display the program.

26 SP_0030
3.4 Creating a function block diagram (FBD)

3.4 Creating a function block diagram (FBD)

One or more FBD documents will need to be created at this point. FBD documents contain the
control strategy for each Project. Each Functional Block Diagram will represent a function
consisting of inputs, main projects, or output algorithms.

Any number of optional equipment functional block diagrams can also be added. Refer to
Common Functional Block Diagrams (see page 701) for examples of different types of FBDs.

3.4.1 To create a function block diagram


1. Right-click the Project name in the Workspace window.
2. Select New Document, the New dialog box appears.
3. In the Document page (shown by default), under Type, select Function Block Diagram.
4. In the Name text box, type the FBD Name to be used.

Figure 8: New Document Tab

5. Leave other parameters at their default values and click OK.

SP_0030 27
3.4 Creating a function block diagram (FBD)

GPA creates a Function Block Diagram folder, adds the new control document to it, and opens it
in the document window. When the FBD document is open, the algorithm window appears and
GPA automatically shows the menu commands and tool bars needed for the FBD document.

Note: At the bottom of the algorithm window are tabs that call up sets of algorithms. Included is
a special set of algorithms called Calculation Blocks developed for the GPA and designated by
the prefix W. The algorithms in these tabs contain specific functions for use with the
SmartProcess system.

There are many Calculation Blocks, and they are organized into several types.

Scroll through the list and look at the different types. A complete list and description of these
Calculation Blocks are listed in the following sections of this manual and are referred to as
Algorithms.

Figure 9: GPADCS configuration window

28 SP_0030
S E C T I O N 4

Designing a functional block diagram document

IN THIS SECTION

Adding algorithms.............................................................................................................. 29
Inserting FBDs into projects .............................................................................................. 34
Modifying data agent update rates .................................................................................... 35

4.1 Adding algorithms

Algorithms can be added to format FBD documents once an FBD is set up, (sometimes this is
also referred to as a sheet). Typically, each set of FBD documents contain:
 An Input document with:
 At least one Input Algorithm (Analog and/or Digital) from the W Input tab.
 An Ordering Algorithm from the W Input tab.
 A Main document with at least the Chkload Algorithm from the W Main tab, along with any
calculation algorithms needed for the project.
 Any amount of documents with equipment Algorithms from the available W tab groups.
 An Output document with at least one Algorithm from the W Output tab.

Note: Several pieces of equipment can be placed on one FBD document. However, for
simplicity and for easy troubleshooting, it is suggested that one FBD document be made for
each piece of equipment.

SP_0030 29
4.1 Adding algorithms

4.1.1 Empty project algorithm

Use the Emptyproject algorithm is to be used ONLY in Workspaces that contain MULTIPLE
projects.

The purpose of this algorithm is to synchronize the startup of all projects, waiting for the dummy
project (which initializes data agents Highway Item Handles) to start before allowing all other
projects to start.

Workspaces with SINGLE projects do not need this algorithm, since they self-contain their own
startup.

When a Workspace with multiple projects is created, a dummy project needs to be added which
becomes the Active Project and is configured to be the first project to start. Refer to, To Create a
New Project (see page 21).

The dummy project's only function is to initialize data agent's handles for ALL tags in ALL
projects, thus allowing you to start/stop all the other projects independently without losing their
data agent's handles. Therefore, the dummy project should always be running.

Note: Even though the dummy project starts first, the other projects want to start immediately
afterwards in a synchronized fashion. This can cause problems on the first calculation (average)
pass, since a zero value is read for all samples in the real projects until all the data agent's
handles have been initialized. This results in false average values in the first pass and
subsequently to false “bad first qualities encountered” in the project, since the samples have the
bogus zero values averaged in. The Emptyproject algorithm is designed to prevent this from
happening.

4.1.2 Emptyproject configuration:

The Emptyproject algorithm has no inputs or outputs to configure, but you must still press the
Create/Update Tags in Entire... Project button to create some behind-the-scenes required
system control tags.

4.1.3 To create a dummy project


1. When adding a dummy (empty) project, make sure it is alpha-numerically named so that it
appears at the top of the project list within the Workspace.
2. Make sure the dummy project is the PRIMARY PROJECT. Do this by expanding the
Equipment List Workspace tree item, left-clicking the Local Machine tree item to see the
pop-up menu, and then selecting Properties....
3. Add an FBD to the dummy project.
4. Drop two algorithms on the FBD: Emptyproject and an Fbdorder. The dummy project will
require ordering.
5. Double-click the Emptyproject algorithm, press the Create/Update Tags in Entire... Project
button, and create the four required base system operation tags. The configuration of the data
agent's Server for this project does not matter. You can use the default name or just delete it.

Note: If you forget to create these system operation tags, you will see a run-time error in the
Event Log asking you to create them.

30 SP_0030
4.1 Adding algorithms

4.1.4 To add input algorithms


1. In the algorithms window, scroll over (using the scroll arrows next to the tabs at the bottom of
the algorithm window) and choose an Input algorithm (Analog or Digital) from the W Input tab.
2. Move the mouse pointer into the Input document window area. Notice that the mouse pointer
appears with a rectangular outline.
3. Click once, near the left side of the window, to place the algorithm block.

Note: Double-clicking an algorithm function in the algorithm window allows the addition of that
type of multiple algorithm blocks to the Document.

After placing algorithms this way (see Step 1 - 3 above), click the Selector (Arrow) button in the
drawbar to return to selection mode for normal operations.

After each algorithm is opened, add the appropriate tags and set any other special properties.
Completing the algorithm configuration will help save problems during the initial Run.
4. Double-click the algorithm block to access the Algorithm Properties dialog.

Note: Bookmark this step and go to Setting Algorithm Properties (see page 49) to set all
properties for this algorithm before returning to continuing with the next step. Don't forget to
perform a Save All.

5. Choose and place any other Input algorithm (Analog or Digital) from the W Input algorithm tab
(using Steps 1-4) as needed. Continue this process until all desired Input algorithms are
placed.

Refer to Common Functional Block Diagrams (see page 701) for more information.

4.1.5 To add ordering algorithms


1. In the algorithm window, scroll over (using the scroll arrows next to the tabs at the bottom of
the algorithm window) and select the W Input algorithm tab, then choose the Fbdorder
algorithm.
2. Move the mouse pointer into the Input FBD document window area and click once to place
the algorithm in a convenient place on the document window.
3. Double-click the block to access the Algorithm Properties dialog.
4. Select the Design Info tab and press Ok. This will order your first bold function block diagram
sheet. Repeat this step after adding additional function block diagrams.

Note: Bookmark this step and go to Setting Algorithm Properties (see page 49) to set all
properties for this algorithm before returning to continue with the next step. Do a Save All at this
point.

Refer to Common Functional Block Diagrams (see page 701) for more information.

4.1.6 To add main algorithms


1. In the algorithm window, scroll over (using the scroll arrows next to the tabs at the bottom of
the algorithm window) and select the W Main algorithm tab, then choose the Chkload
algorithm.
2. Move the mouse pointer into the Main document window area and click once to place the
algorithm in a convenient place on the document window.

SP_0030 31
4.1 Adding algorithms

3. Double-click the block to access the Algorithm Properties dialog.

Note: Bookmark this step and go to the Setting Algorithm Properties (see page 49) to set all
properties for this algorithm before returning to continuing with the next step. Don't forget to
perform a Save All.

4. Choose and place any of the Calculation algorithms from the various algorithm tabs (using
Steps 1-3) as needed. Continue this process until all desired Calculation algorithms are
placed.

Refer to Main Functional Block Diagrams in Common Functional Block Diagrams (see page 701)
for more information.

4.1.7 To add equipment algorithms


1. In the algorithms window, scroll over (using the scroll arrows next to the tabs at the bottom of
the algorithm window) and choose any of the W algorithm lists (except in the W Input and W
Output tabs) and select the algorithm for the appropriate document.
2. Move the mouse pointer into the document window area and click once to place the algorithm
in a convenient place on the document window.
3. Double-click the block to access the Algorithm Properties dialog.

Note: Bookmark this step and refer to Setting Algorithm Properties (see page 49) to set all
properties for this algorithm before returning and continuing with the next step. Don't forget to
perform a Save All.

4. Choose and place any Equipment algorithm(s) from the various W algorithm Lists (using
Steps 1-3) as needed and place them in the proper documents. Continue this process until all
desired Equipment algorithms are chosen and placed in their appropriate document.

For additional information refer to Common Functional Block Diagrams (see page 701).

4.1.8 To add output algorithms


1. In the algorithm window, scroll over (using the scroll arrows next to the tabs at the bottom of
the algorithm window) and choose any of the Output algorithms (Analog or Digital) in the W
Output algorithm tab.
2. Move the mouse pointer into the document window area and click once to place the algorithm
in a convenient place on the document window.
3. Double-click the block to access the Algorithm Properties dialog.

Note: Bookmark this step and refer to Setting Algorithm Properties (see page 49) to set all
properties for this algorithm before returning and continuing with the next step. Don't forget to
perform a Save All.

4. Choose and place any other W Output algorithm (Analog or Digital, using Steps 1-3) as
needed. Continue this process until all desired Output algorithms are placed.

Refer to Common Functional Block Diagrams (see page 701) for more information.

32 SP_0030
4.1 Adding algorithms

4.1.9 Cut/paste or to copy algorithms

If a tag set is assigned to an algorithm that has not been configured, or only inputs are configured,
the tag set is considered unassigned and free to be used anywhere else in the project. Once an
algorithm using this tag set creates an output, the tag set officially gets assigned to that algorithm.

Note: A Configured Tag Set is a tag set that is in use (assigned to an algorithm) AND creates at
least one output.

4.1.10 Copy/paste within the same project

When copying an algorithm within the same project, some of the algorithm properties are retained
and some are changed. The Tag Set Name and Project Name are retained. The FBD Name
automatically gets changed to the name of the FBD where the algorithm is pasted or (dropped).

When a copied algorithm is pasted, all configured outputs are unconfigured. This is due to the
GPADCS rule that outputs can only be created in one algorithm. All input configurations remain
as they were before the copy.

When Analoginavg and Digitalin algorithms are copied, their inputs also remain unconfigured. The
GPADCS also has a rule that data agents items can only be assigned to a single, unique tag in
the project.

4.1.11 Cut/paste within the same project

The cut operation is the same as the delete operation on algorithms. This means that all outputs
that were created by that algorithm are DELETED from the project. When the paste is performed,
the output tags must be re-created.

When cutting/pasting an algorithm within the same project, some of the algorithm properties are
retained and some are changed. The Tag Set Name and Project Name are retained. The FBD
Name automatically is changed to the name of the FBD where the algorithm is pasted (dropped).

Note: Unlike copying an algorithm, a cut will not change the configuration of the algorithm since
any outputs it created will be deleted.

4.1.12 Cut/paste to a different project

When cutting/pasting an algorithm to a different project, only the Tag Set Name is retained. The
Project Name and FBD name automatically are changed to the names in the new project.

All configured output tags are checked to see if some other algorithm in the project creates them,
if so, then the outputs become unconfigured, otherwise the output configuration remains
unchanged. Input configurations remain as they were before the cut.

When cutting/pasting an algorithm to a different project, the configured tag set may not be defined
within that new project.

Use the Get Tag Sets option on the Tags tab folder to copy the tag set definition from the
previous projects cross-reference (.xref) file to the new projects .xref file. This provides a quick
and convenient method of re-using previously defined tag sets and saves editing time.

SP_0030 33
4.2 Inserting FBDs into projects

4.2 Inserting FBDs into projects

Algorithms on FBDs that are being inserted into a project act the same as if they were cut and
pasted into the project. The Tag Set Name is retained. The Project Name and FBD name are
automatically changed to the names in the new project.

All configured outputs tags are checked to see if some other algorithm in the project creates them.
If so, then the outputs become unconfigured, otherwise the output configuration remains
unchanged. Input configurations remain as they were before the insert.

When inserting FBDs into a project, the configured tag set for algorithms on the FBD may not be
defined within that new project. Use the Get Tag Sets option on the Tags tab folder to copy the
tag set definition from the previous projects cross-reference (.xref) file to the new projects .xref
file. This provides a quick and convenient method of re-using previously defined tag sets and
saves editing time.

4.2.1 To insert an FBD into a project


1. Create a new project with its new directory structure.
2. Copy any FBDs (.ffbd files) you want to insert into the new project's directory structure.

Note: If you insert the FBDs from another project's directory instead of copying them, the FBDs
will update for BOTH projects when changes are made. This also corrupts the FBD/Project
Names of algorithms on the FBD for both projects.

The next step only applies for Workspaces with Multiple Projects. Single Workspace/Project
configurations can ignore this step.
3. Make sure at the Project that the FBDs are going to be inserted into is the Active Project
BEFORE inserting them. Failure to do this may lead to the project names assigned to
algorithms on the FBD being set to the name of the project which IS currently the active
project.

4.2.2 Adding tag sets to a project from external cross-reference (.xref) files.

When algorithms are inserted from one project to another, frequently, the tag sets assigned to
those algorithms are not defined in the new project's cross-reference (.xref) file.

The Get Tag Sets... feature is invoked by pressing a button on the Tags tab page on ANY
algorithm, providing a quick method for copying already defined (template) tag sets from the
cross-reference (.xref) file of an existing project into a new project. Refer to the Tags Tab in
Setting Algorithm Properties (see page 49).

This feature will review the current project for configured tag sets and will see if they exist in the
current project's cross-reference file. If they do not, they are added to the Missing Configured Tag
Sets list on the main dialog box.

A list of all .xref files found in %FACTORYSOFTHOME% is also provided. Select a .xref file from
that list and press the Load Matches button. All tag set matches found in that .xref file are loaded
into a third list. A tag set match is found when a tag set's name is found in the external .xref file
that exactly matches that of a missing tag set AND the base algorithm type is the same. Press the
OK or Add Selected Sets buttons to copy selected tag sets from the external .xref file into the
current project's .xref file.

34 SP_0030
4.3 Modifying data agent update rates

4.2.3 To set algorithm order, document order, and FBD properties


1. After adding the required algorithms in a document, the algorithms must be ordered by
selecting Objects, then Set Execution Order, then clicking the algorithms to set the correct
order. It is very important that the blocks on a document are ordered, since the blocks will
execute in this order.
2. After creating all of the documents in a project, the order of the documents must be set. Go to
the Input documents and double-click the fbdorder algorithm block. Choose the Design Info
tab, and then set the order in which the documents should be run.
Setting The FBD Properties:
3. Each document (functional block diagram) also needs to have the document properties
modified. All FBDs except for the one containing Analoginavg and Digitalin need to have the
advanced properties change detection rate set to 10000. The FBD containing the Analoginavg
and Digitalin needs to have the advanced properties change detection rate set to 1000.
Right-click the FBD name and select Properties, then Advanced. Modify the change detection
rate field to the correct value. This is EXTREMELY IMPORTANT since the execution time for
the project may grow or exceed the scan time.

Functional block diagram checklist


 Modify change detection rate for every functional block diagram.
 Order algorithms on every functional block diagram.
 Make sure the functional block diagrams are ordered using the FBD Order Algorithm Design
tab.

Algorithm checklist
 Check the Tag Mapping list to make sure no tags are left uncreated.
 Check the Tag group list to make sure no empty tag groups exist.

4.3 Modifying data agent update rates

Data agents are used to access tag information.

4.3.1 Data agents

GPADCS supports the following data agents:


 OPC client and server
 PI (Plant Information)
 WESAPI (for use with WDPF)
 Remote Data Server (for Ovation)
 EDS Live Data (Enterprise Data Server)

SP_0030 35
4.3 Modifying data agent update rates

4.3.2 OPC Client and Server data agent

OLE for Process Control (OPC) is a communications protocol that enables devices to share
information. GPADCS operates as an OPC client or server for connection to virtually any
electronic device on the plant floor. OPC also provides seamless connectivity and shared tags
with many SCADA (Supervisory Control and Data Acquisition) and control products.

Open communication is one of the greatest benefits of the PC in industrial automation. GPADCS
can operate as both an OPC client and server. This enables reliable I/O connectivity with the wide
variety of OPC servers that are available. As an OPC server, GPADCS can easily integrate with
other software packages including the entire major Human Machine Interface (HMI) and SCADA
products. GPADCS communicates with proven DDE interfaces and supports bi-directional
connectivity to databases through the Open DataBase Connectivity (ODBC) standard.

4.3.3 PI data agent

Basic PI snapshot functionality is supplied with the GPADCS PI data agent. This functionality
does not include buffering of client data. If buffering of client data is desired, the associated PI
buffering software will have to be installed.

A test program is supplied with the installation of GPADCS, called apisnap.exe. This test program
can be used outside of GPADCS for testing connectivity with PI servers. To invoke this program,
navigate to the GPADCS bin directory and issue the following command:

D:\GPADCS\bin> apisnap PISERVER:5450

Where: PISERVER is the name of the system where the PI server is located.

:5450” represents “port 5450” and must be appended to the name of the server for apisnap to
operate properly. After invocation, you can enter tag names, and request to get or put
snapshot data of tags in the PI server.

4.3.4 Wesapi data agent

To use this agent, the client software WESAPI NT Client for WDPF must be installed. This agent
allows for reading and writing of all point data recognized by the WESAPI NT Client for WDPF
software. This data agent makes direct SHC calls to set and obtain data and quality without
requiring the use of OPC.

4.3.5 Remote data server

This agent is automatically available for systems where GPADCS is installed on systems which
have Ovation already installed on them. Point data can be read from anywhere on the system
when using this data agent.

Data can be written only to points which originate on the system where Ovation and GPADCS are
installed. This data agent makes direct SHC calls to set and obtain data and quality without
requiring the use of OPC.

36 SP_0030
4.3 Modifying data agent update rates

4.3.6 EDS Live Data (Enterprise Data Server) Data Agent

The EDS Live Data Agent supports 2 formats for database points:
 IESS format - where points contain a .UNIT@NET suffix to make them look like fully-qualified
Ovation point names (e.g. A100.unit1@net1)
 IDCS format - which is an ordinary point name associated with a ZDNAME.
GPADCS also provides a way to generate an EDS Database Import File to assist building
databases faster using the information from the points defined in GPADCS.

This data agent also has failure recovery. When a project is started and GPADCS can not
connect to the configured EDS Server, it will try every 5 minutes to establish a connection until
either the project is stopped or a successful connection is established. If a running project loses
an established connection to an EDS Server, (the server may get rebooted) GPADCS will try
once a minute to re-establish the connection with the EDS server.

4.3.7 Modifing project data agents

Tuning project data agents deals with the workings of the Data agent's Server Update rate and
the Tag Database Data Manager Update Rate.

In addition to tuning Function Block Diagrams (FBD), the tag database Data Manager Update
Rate must be tuned as well. The default is 100 ms and, similar to the default for the function block
diagrams, will probably be insufficient.

4.3.8 To Check/Change the tag database data manager update rate


1. In the Workspace treelist of the project, double-click Tags so that the tag database is visible in
the main window.
2. From the main menu, select:
Project > Properties > Data Manager
3. Change the Update Rate in the Edit Field Provided.

Note: This Dialog Box is only visible when you perform the above procedure, it is not visible any
other way.

4.3.9 To view the data agent server update rate


1. In the Workspace treelist of the project, click Tags > Servers and display the Edit Server
Dialog Box.
2. Select a server from the list.
3. Edit the Update Rate in the Edit Field Provided.

SP_0030 37
4.3 Modifying data agent update rates

The Data Manager Update Rate works in conjunction with the Data Agent's Server Update Rate.

The data for a Data Agent is updated in the Tag Database based on the Data Agent Server
Update Rate (in milliseconds) setting. When this event occurs, the tag database performs the
update within the time set by the Data Manager Update Rate (in milliseconds).

Note: It is recommended that both rates be set at the same interval. A time period of 2, 3, or 5
seconds is a practical length of time and is also recommend.

Pay close attention to the EVENT LOG, UPDATE RATE OVERFLOWS CAN CAUSE GPADCS
TO ABORT.

For example:

If a PI data agent data server is configured to update the tag database every five seconds, but is
only given 100 ms (Data Manager Update Rate) time to make the update, it will probably
overflow.

If the Data Manager Update Rate is set equal to the Data Agent Server Update Rate, then the tag
database will get updated every five seconds, and the tag database will have 5 seconds to make
the update.

Note: Update Rates are run-time tunable parameters. The final tuned parameters can not be
determined until after the project is built and has executed for an extended period. This will allow
time to see if any update rate overflow occurs.

At run time, if either of these parameters are exceeded, (the Data Manager Update Rate or the
Data Agent's Server Update Rate), error messages will appear in the Event Log.

38 SP_0030
S E C T I O N 5

Run/Debug mode

IN THIS SECTION

Starting Run/Debug mode ................................................................................................. 40

SP_0030 39
5.1 Starting Run/Debug mode

5.1 Starting Run/Debug mode


To start the Run/Debug mode, go to the project pull-down menu and select Start. After a short
time the bar in the bottom right section will turn green and state Debug.

The typical Debug or (Run Mode) dialog box, shown below, is available during GPA debug or run
mode. This dialog box appears when you "double-click" on an algorithm and select the Debug tag
page.

The Debug option is not available until the project is initialized.

A project is initialized when the following text appears in the GPA Event Log: "System READY.
Active (Primary) Project Starting".

During the Run/Debug mode, most algorithms typically show the information similar to the
screens below (the two exceptions are the Fbdorder and Pntvalidate, which are discussed later in
this section):

Figure 10: GPADCS configuration window

40 SP_0030
5.1 Starting Run/Debug mode

Figure 11: New Workspace

5.1.1 To save highway values


1. Select the Record Format type and enter a Title for the file.
2. Enter a filename and path.
3. Click Save to create the file.

Highway values can be saved in all algorithms from either Run or Debug mode. This is available
in either ONLine or OFFLine Mode. Press the Save Values button to display the Save Values.

The Print File button will print the highway values file. A Setup dialog appears allowing you to
select font size.

Note: The CVS format for saving highway values to a file is compatible for use with the Offline
Mode "Load Inputs from CVS File..." button, available on the Run Mode tab on any algorithm of
a running project.

SP_0030 41
5.1 Starting Run/Debug mode

5.1.2 Loading highway values

The Analoginavg and Digitalin algorithms are able to load highway values from either Run or
Debug mode. This is only available in OFFLine Mode. Select the Load (Read) from File button to
load the values.

The Set Input Values group box allows you to select and define inputs.

The Single (Selected) Input set allows you to individually set a highway value one at a time. The
Set Value/Quality button takes the values that are entered in the Value and Quality fields and
applies them to the selected input. The Reset to Initial Value button will reset the selected
values.

The Multiple (Project-Wide) Inputs group will apply values to a set of inputs up to and including
the highway tags in the project. The Load (Read) from File button launches the Load (set)
Highway Values dialog.

The window below illustrates loading values from a file.

Figure 12: Loading Values from a File

42 SP_0030
5.1 Starting Run/Debug mode

5.1.3 Historical data retrieval

The Historical Data Retrieval Function is used to retrieve data stored in the highway's historian.
This interface will retrieve data from PI (Plant Information), EDS, and eDB historians. If no
historians are configured, you are prompted to fill in a name and IP address for the historian.

Note: When EDS is installed on a system where the Historical Offline Interface is going to be
executed, EDS must be at version 7_3_4c or later.

The following window appears by selecting the Get Historical Data button from the Run mode
window, refer to Run Mode Tab - OffLine (see page 53). This window provides historical data
retrieval options for you to retrieve historical data or view errors and data by selecting one of the
Retrieval Information buttons. You must be Offline to access this window.

To retrieve data from the EDS you must have EDS software version 6.0 or later loaded.

SP_0030 43
5.1 Starting Run/Debug mode

Figure 13: Historical Data Retrieval Window

FIELD DESCRIPTION

Project to Retrieve Input Values Displays a list of available projects from a pull-down list.
Available Historical Devices Drop name and type must be select for the historian.
Drop(s)
(If PI or EDS, the port number must also be entered.
Retrieval File Name Name of the file where the retrieved data is sent. This file is used by
the Load(Read) from File button on the Analoginavg screen.
Unit Name Unit Name is an optional field. Used if the points are not fully qualified
in GPA but are fully qualified in the historian.
Unit Node Unit Node is an optional field. Used if the points are not fully qualified

44 SP_0030
5.1 Starting Run/Debug mode

FIELD DESCRIPTION
in GPA but are fully qualified in the historian.
Time Starting and Ending time are selected in the appropriate fields.
Retrieve Data Button After all fields are completed, the Retrieve Data button is selected.
View Data Button After the data is retrieved, select the View Data button to view the
data.
View Errors Button After the data is retrieved, select the View Errors button to view the
errors.

After the data is retrieved, a message is displayed indicating the number of retrieved points and
the number of errors. The Offline Historical Retrieval screen is exited and the retrieval file can be
loaded from the Load(Read) from File button on the Analoginavg screen.

Once accurate fuel analysis is available, this function provides a replay of data, and is also useful
to determine averages of performance over different time periods. Retrieved data files can be
edited to replace the fuel analysis, or run as is to obtain an overall average.

Note: EDS Data Retrieval interface is available for version 6.0 PCalcs release and later.

SP_0030 45
5.1 Starting Run/Debug mode

5.1.4 Fbdorder

The Fbdorder Algorithm Design Screen provides useful project-runtime information. This
information is available in configuration mode for the last execution, and is also available in
run/debug mode for the current execution. You must execute a project at least one time after
upgrading to 3.1 to view this information.

Note: To access the run-time information during the actual run-time, it is necessary to press the
Select button located on the button bar on the right side of the frame on the GPA Main Window
(the very top button) and get into config mode. This button toggles display information from
run/debug mode to config mode for each and every project within a Workspace.

This updated design screen provides:


 The last execution order of ALL algorithms in the project. The columns break down into
Algorithm Name, Overall Project Execution Order, Order within the FBD and the name of the
FBD that the algorithm resides on. This can be a useful tool for locating a particular algorithm
within all FBDs in an entire project.
 The place where the first bad quality (from an output) was encountered during the last/current
project execution. The information includes the Tag Name, Algorithm Name, FBD Name and
the Calculation Cycle. This is a useful tool for debugging, especially when the first bad quality
is found on calculation cycle #1.
 The last algorithm to execute. This information is helpful when a project hangs or aborts. This
will point out the last algorithm to successfully execute, which indicates that the next algorithm
in the order had the problem. You can then use the information included in Item 1 to see the
problem algorithm.
The following figures illustrate search boxes to help you quickly locate an algorithm in the
execution order list.

Figure 14: Algorithm properties in Run Mode

46 SP_0030
5.1 Starting Run/Debug mode

Figure 15: Algorithm Properties (Debug Tab)

Figure 16: Algorithm Properties (Alg Order/Performance Tab)

SP_0030 47
5.1 Starting Run/Debug mode

5.1.5 Pntvalidate

The following figures show the (Run Mode) and Debug dialog boxes for the Pntvalidate
algorithm.

Figure 17: Pntvalidate (Run Mode)

Figure 18: Pntvalidate (Debug)

48 SP_0030
S E C T I O N 6

Setting algorithm properties

IN THIS SECTION

Configuration tab ............................................................................................................... 50


Inputs tab ........................................................................................................................... 54
Outputs tab ........................................................................................................................ 55
Constants tab .................................................................................................................... 56
Tags tab ............................................................................................................................ 57
Design Info tab .................................................................................................................. 57

SP_0030 49
6.1 Configuration tab

6.1 Configuration tab


The Configuration tab contains the algorithm Name and Description fields. Scan Period, Project
name, FBD name, and Tag Set information are also listed in the Configuration Tab, these fields
are not configurable.

Figure 19: Configuration Tab

50 SP_0030
6.1 Configuration tab

Note: The Analoginavg algorithm also contains an Analog Input Averaging section.

Configuration Tab fields and descriptions

FIELD DESCRIPTION

Configuration Tab Name Name of the Algorithm. It is important to give each algorithm a
unique name.

Base Algorithm Version Current Value.

Description Default generic descriptions are normally provided and the


description can be adjusted to give the algorithm a more individual
meaning.

Scan Period This is the time period that is used to gather information. A default
scan period of 10 seconds is used. Once every 10 seconds, the
values are read and recorded. Scan Period timing can be
changed.

Change Button (Analoginavg The scan time or period (typically 10 Sec.) in a project may be
Algorithm only) modified using the Analoginavg Algorithm's Configuration Tab. The
new scan period is applied to all algorithms in the entire project.
Refer to the figure following this table.

Analog Input Averaging section


(Analoginavg Algorithm only)

Average Type Fixed: Updates once every Average Period (for example, once
every 120 seconds).

Running: Updates every scan period (for example, once after the
first 120 seconds, then again after 130 seconds using data from
period 20 to 130, etc.)

Average Period Time frame for averaging to take place.

% of Samples with Good Quality If 80% (for example) or higher of the samples result in an average
Quality of "Good", the samples will be marked as "Good".

% of Samples with Bad Quality If 20% (for example) or more of the samples result in an average
Quality of "Bad", the samples will be marked as "Bad".

Note: If the % of samples falls in between those two ranges, the


result will be marked as uncertain.

Configuration Section The program automatically fills in this information.

Changing or Modifying Project-Wide Scan Period

SP_0030 51
6.1 Configuration tab

Figure 20: Project-Wide Scan Period

52 SP_0030
6.1 Configuration tab

6.1.1 Run mode tab - OffLine

Historical Data is retrieved only while running in Offline mode.

The Analoginavg screen provides an option to retrieve historical data. The following window
appears when Offline in Run Mode of the Analoginavg window. In the lower right corner of this
window the Get Historical Data button is selected to display the Offline Historical Retrieval
window, providing data retrieval options, refer to Historical Data Retrieval (see page 43).

Figure 21: Configuration tab in Run Mode - offline

SP_0030 53
6.2 Inputs tab

6.2 Inputs tab

The Inputs tab shows how the inputs are configured (by using the Tags tab), however, inputs
cannot be changed from this screen.

Figure 22: Inputs tab

54 SP_0030
6.3 Outputs tab

6.3 Outputs tab

The Outputs tab shows how the outputs are configured (by using the Tags tab), however, outputs
cannot be changed from this screen.

Figure 23: Outputs tab

SP_0030 55
6.4 Constants tab

6.4 Constants tab

The Constants tab allows the constants to be modified. The constants and their values can also
be saved or loaded from a file. The Constants tab fields are described below.

Figure 24: Constants tab attributes window

Constants tab attributes

OPTION DESCRIPTION

Set Value Allows changing of the default.

Store to File... Used to store the configuration as a backup.

Load from File... Used to load a backup configuration.

Clear Storage Info... Deletes the file which contains all the constant values
and removes all internal GPA references to the
constant's storage information. Available for all
algorithms which have a set of constants defined.
Filename Used to save a file in a specific location.

56 SP_0030
6.5 Tags tab

6.5 Tags tab

The Tags tab allows points to be created/configured/listed.

Figure 25: Tags tab

6.6 Design Info tab

Several algorithms need extra individual setup information to help set up the proper format and
have a separate tab in the algorithms Properties box. The Design Info tab allows you to fill in
data needed for a specific algorithm. Most algorithms do not contain design information.

SP_0030 57
6.6 Design Info tab

6.6.1 Tags tab create configure tags (project name)

In the Create/Configuration Tags section, selecting Create/Configure Tags for... displays the
following dialog box.

Figure 26: Tags tab create configure tags

58 SP_0030
6.6 Design Info tab

6.6.2 Tags tab create configure tags (project name) Define/Modify set

In the Create/Configure Tags display, when you select Define/Modify Set allows you to set tags
for the algorithm block and also displays the following dialog box.

Figure 27: Define/Modify Tag Set Window

SP_0030 59
6.6 Design Info tab

The Analoginavg, Analogout, Digitalin, and Digitalout algorithms Output (or Input) section is set up
automatically by the program once the opposite section is set up. For all other algorithms see
Auto-Configure.

Once the algorithm has been set up, make sure to click all of the OK buttons on the way out of
the setup process. The first one saves the tag set to disk. The second one creates the tag in the
project. And the third saves the configuration (with-in the project) to disk.

Note: An ( * ) in the "In Use" column indicates that a particular input or output MUST BE
configured.

On the Define Tag Set screen, the points marked with an ( * ) must be configured, the other
points can be configured if needed. All un-configured points will be initialized to zero. Not all
points have to be configured.

Auto - Configure -Not applicable for the Analoginavg, Analogout, Digitalin, and Digitalout
algorithms. All other algorithms will try and fill in information for tags whose names match exactly
for inputs, or will create exact tag names for outputs.

Define/Modify tags set attributes

OPTION DESCRIPTION

Configure this Input Select a tag to be configured, then click the checkbox.
Update List Must be clicked once all tag information is filled in.
Hwy Item Length varies with Data Agent (up to16 chars). Project
specific information.
Create Tag A generic name will be assigned once the units are
chosen. Modify the assigned name to give the tag a
"unique" name.
Engineering Units Choose from a drop-down menu. Tag Names are listed
in Tag Names, Units and Values (see page 101).
Sort Units Alphabetically When checked, units in the pull-down are sorted
alphabetically. If unchecked, units are displayed in logical
groups of the same types of units.
Initial Value Must contain a valid start value, (up to 30 characters).
Project specific information.
For use with Setvalidate Only Checkbox
Tag Description Displays a description of the tag.
Unit
Network
OK Use this button after the setup is complete on each
algorithm. The OK button saves the tag set to disk.
Save Saves tag set to disk.
Save as Reduces work by allowing the tag set configuration to be
saved under different names for use with other
algorithms that are the same or similar.
Rename Renames the tag set.

60 SP_0030
6.6 Design Info tab

OPTION DESCRIPTION

Cancel Closes the window and performs no action.


Help Opens an on-line help feature.

6.6.3 Create/Update in entire project

Figure 28: Create/Update in Entire Project

SP_0030 61
6.6 Design Info tab

Create/Update Tags in Entire... - Allows points to be updated for the entire project.

Make ALL tags Local (Testing) - Can be checked if needed.

Type - Can not be modified, displays unit type.

Update All Tag Set.... - Saves having to edit all tag descriptions when an output tag description
has been modified.

6.6.4 Mappings - by data agent Items

The selections in the Mappings group allow the tags to be displayed along with where they are
used. This is a useful tool for debugging the project as tags that are used but have not been
created are identified at the top of the list by asterisks.

6.6.5 Mappings - by tag

The selections in the Mappings group allow the tags to be displayed along with where they are
used. This is a very useful tool in debugging the project as tags that are used but have not been
created are identified at the top of the list by asterisks.

Figure 29: Mappings - By Tag

62 SP_0030
6.6 Design Info tab

6.6.6 Project wide files generated using tag info create

The following window illustrates the Project-Wide Tag Cross-reference dialog boxes.

Figure 30: Create Ovation Project-Wide Tag Cross-Reference window

SP_0030 63
6.6 Design Info tab

Figure 31: Create Ovation Point Import File window

The "Project wide" files Generated using Tag Info section allows a project wide
cross-reference file to be created and updated. The last choice allows an import file to be created
from the cross-reference files. Edit the import file to place the correct Network ID, Unit ID, Drop
ID, Collect Enabled, etc.

64 SP_0030
6.6 Design Info tab

6.6.7 Get tag sets

Allows you to build a new project cross-reference file using a previous Projects cross-reference
file.

Figure 32: Get Tag Sets

SP_0030 65
6.6 Design Info tab

6.6.8 Destination tab

This screen is used for reference only.

Figure 33: Destination Tab

66 SP_0030
6.6 Design Info tab

6.6.9 Source tab

This screen is used for reference only.

Figure 34: Source Tab

SP_0030 67
6.6 Design Info tab

6.6.10 Connect map tab

This screen is used for reference only.

Figure 35: Connect Map Tab

68 SP_0030
6.6 Design Info tab

6.6.11 Shape tab

This screen is used to change the shape and color of the algorithm box.

Figure 36: Shape Tab

SP_0030 69
6.6 Design Info tab

6.6.12 Air Cooled Condenser (Acndsrcorr)

Figure 37: Air Cooled Condenser (Design Info Tab)

70 SP_0030
6.6 Design Info tab

6.6.13 Air Heater Performance (Airhtr)

Figure 38: Air Heater (Design Info Tab)

SP_0030 71
6.6 Design Info tab

6.6.14 Boiler Feed Pump Turbine (Bfpturb)

Figure 39: Boiler Feed Pump Turbine (Design Info Tab)

72 SP_0030
6.6 Design Info tab

6.6.15 Boiler Efficiency (Boiler)

Figure 40: Boiler Efficiency (Design Info Tab)

SP_0030 73
6.6 Design Info tab

6.6.16 Boiler Steam Flow (Hwblrsm)

Figure 41: Boiler Steam Flow (Design Info Tab)

74 SP_0030
6.6 Design Info tab

6.6.17 Combustion Turbine (Comturb)

Figure 42: Combustion Turbine (Design Info Tab)

SP_0030 75
6.6 Design Info tab

6.6.18 Compressor (Compr)

Figure 43: Compressor (Design Info Tab)

76 SP_0030
6.6 Design Info tab

6.6.19 Compressor Wash (Compwash)

Compwash (Design Info Tab)

SP_0030 77
6.6 Design Info tab

6.6.20 Condenser (Cnddesign)

Figure 44: Condenser (Design Info Tab)

78 SP_0030
6.6 Design Info tab

6.6.21 Controllable Heat Rate Dev. (Unhrcontot)

Figure 45: Controllable Heat Rate Dev. (Design Info Tab)

SP_0030 79
6.6 Design Info tab

6.6.22 Cooling Tower (Coolwrdes)

Figure 46: Cooling Tower (Design Info Tab)

80 SP_0030
6.6 Design Info tab

6.6.23 Deaerator (Deraerator)

Figure 47: Deaerater (Design Info Tab)

SP_0030 81
6.6 Design Info tab

6.6.24 Drain Cooler (Drnpump)

Figure 48: Drain Cooler (Design Info Tab)

82 SP_0030
6.6 Design Info tab

6.6.25 Fan Design (Fandesign)

Figure 49: Fandesign Window (Design Info Tab)

SP_0030 83
6.6 Design Info tab

6.6.26 Functional Block Diagram Ordering (Fbdorder)

Figure 50: Functional Block Diagram Ordering (Design Info Tab)

Note: The Design Info for the Fbdorder algorithm on the Input document needs to be set after
all documents have been built. This screen also provides useful project-runtime configuration
information in the LAST execution and in run-time mode for the current execution.

84 SP_0030
6.6 Design Info tab

6.6.27 Feed Heater, Low Pressure (Lpfedhtr)

Figure 51: Feed Heater, Low Pressure (Design Info Tab)

SP_0030 85
6.6 Design Info tab

6.6.28 Feed Heater, High Pressure (Hpfedhtr)

Figure 52: Feed Heater, High Pressure (Design Info Tab)

86 SP_0030
6.6 Design Info tab

6.6.29 Fuel Analysis (Fuels)

Fuel Analysis (Design Info Tab)

SP_0030 87
6.6 Design Info tab

6.6.30 Function Generator (Fungen)

Figure 53: Function Generator (Design Info Tab)

88 SP_0030
6.6 Design Info tab

6.6.31 Generator Efficiency (Gennet)

Figure 54: Generator Efficiency (Design Info Tab)

SP_0030 89
6.6 Design Info tab

6.6.32 Heat Rate (Hetrte)

Figure 55: Heat Rate (Design Info Tab)

90 SP_0030
6.6 Design Info tab

6.6.33 HRSG (hrsg)

Figure 56: HRSG (Design Info Tab)

SP_0030 91
6.6 Design Info tab

6.6.34 Main Steam Flow (Hwmnstm)

Figure 57: Main Steam Flow (Design Info Tab)

92 SP_0030
6.6 Design Info tab

6.6.35 Maint. Heat Rate Dev. (Unhrmaintot)

Figure 58: Maint. Heat Rate Dev. (Design Info Tab)

SP_0030 93
6.6 Design Info tab

6.6.36 Misc. Heat Rate Dev. (Unhrmisctot)

Figure 59: Misc. Heat Rate Dev. (Design Info Tab)

94 SP_0030
6.6 Design Info tab

6.6.37 Moist Air (Moistair)

Figure 60: Moist Air (Design Info Tab)

SP_0030 95
6.6 Design Info tab

6.6.38 Plant Load (Chkload)

Figure 61: Plant Load (Design Info Tab)

96 SP_0030
6.6 Design Info tab

6.6.39 Point Validation (Pntvalidate)

Figure 62: Set Validation (Design Info Tab)

SP_0030 97
6.6 Design Info tab

6.6.40 Set Validation (Setvalidate)

Figure 63: Set Validation (Design Info Tab)

98 SP_0030
6.6 Design Info tab

6.6.41 Pump (Pump)

Figure 64: Pump (Design Info Tab)

SP_0030 99
6.6 Design Info tab

6.6.42 Unit Heat Rate (Unhtrt)

Figure 65: Unit Heat Rate (Design Info Tab)

Note: The Design Info for the Fbdorder algorithm on the Input document needs to be set after
all documents have been built.

The Fbdorder algorithm screen also provides useful project-runtime information in the
configuration mode for the LAST execution, and in run-time mode for the current execution. A
project must be executed at least once after upgrading to Revision 3.1 (or later) in order to see
this information.

After setting the properties of each algorithm, go back to Adding Algorithms (see page 29), and
add the next algorithm.

100 SP_0030
S E C T I O N 7

Tag names, units, and values

IN THIS SECTION

Tag names ...................................................................................................................... 101

7.1 Tag names

The GPA tag name beginning letter corresponds to the tag's units. The following table
summarizes the beginning letters along with the units given to each of these categories. The first
unit listed indicates the default units associated with a point. If the units for a point are different
than the default, these units can be selected from the pull-down unit list.

The program will not allow the same tag to be used as an input and output in the same algorithm.

Tag Names, Units and Values

STARTING UNIT TYPE ENGLISH UNITS SI UNITS

LETTER (DEFAULT LISTED


FIRST)

a Area FT2 M2
IN2 CM2
c Specific Heat BTU/LB DEG F KCAL/KG DEG C
KJ/KG DEG C
C Clean Factor NONE NONE

D Density LB/FT3 KG/M3


KG/L
Dc Cost Fuel $/MBTU MONEY/MJ

MONEY/MCAL

D Cost Heat Rate $/HR MONEY/HR

e Efficiency PERCENT PERCENT

F Fraction NONE NONE

h Enthalpy BTU/LB KCAL/KG


KJ/KG

SP_0030 101
7.1 Tag names

STARTING UNIT TYPE ENGLISH UNITS SI UNITS

LETTER (DEFAULT LISTED


FIRST)

H Pump Head FT M
IN CM
i Current AMPS AMPS

I Volts VOLTS VOLTS


KVOLTS KVOLTS
K Real Value Any Units Any Units

L Log Mean Temp Diff LOG DEG F LOG DEG C

M Molar Mass LB/MOL KG/MOL

n Speed RPM RPM

p Pressure PSIG KPAG


INHGV MPAG
INWG MMHGV
MMWG
BARSG
KG/CM2G
ATMG
pa Pressure Absolute PSIA KPAA
INHGA MPAA
INWA MMHGA
MMWA
BARSA
KG/CM2A
ATMA
Pv Power - Mvars Mvars Mvars

PV Power - MVA MVA MVA

P Power MW MW
KW KW
W W
HP HP
J/SEC
q Rate_Heat_Transf MBTU/HR KCAL/HR
MCAL/HR
KJ/HR

102 SP_0030
7.1 Tag names

STARTING UNIT TYPE ENGLISH UNITS SI UNITS

LETTER (DEFAULT LISTED


FIRST)

r Heat Rate BTU/KWHR KCAL/KWHR


KJ/KWHR
R Percent PERCENT PERCENT

s Entropy BTU/LB DEG R KCAL/DEG K


KJ/DEG K
S Specific Gravity NONE NONE

t Temperature DEG F DEG C

ta Absolute Temperature DEG R DEG K

U Heat Transfer BTU/HR FT2 DEG F KCAL/M2 SEC DEGK


Coefficient
W/M2 DEG K
v Volume FT3/LB M3/KG
L/KG
V Velocity FT/SEC M/SEC

w Mass flow KLB/HR KG/SEC


LB/HR KG/HR
TON/HR TON/HR
wg Gas flow SCFM SM3/SEC
KSCFM
wv Water flow GPM M3/SEC
KGPM M3/HR
W Weight LB/LB KG/KG

z Digital NONE NONE

SP_0030 103
7.1 Tag names

7.1.1 Converting tag value example:

Every tag's value is converted upon input into the equipment algorithms. A tags value is converted
within a unit type to the default units.

All points starting with a "w" will be converted to KLB/HR before the code is executed. All output
values are also converted from the default units to the specified units. Therefore, if power is to be
output in HP, the power value inside the code will be in MW and converted to be output in HP.

Conversions do not need to be performed within a tag group.

For example:

If a p type point or pressure point is input in INHGV, then, no conversion needs to be done to this
point. The value in INHGV is automatically converted to PSIG.

A conversion between unit types is still necessary to be performed.

For example:

Converting from a "wv" flow to a "w" flow, a conversion needs to take place to convert from GPM
to KLB/HR. This particular conversion is performed in the algorithm MASSFLOWLIQUID.

Conversions are not performed in the math algorithms.

104 SP_0030
S E C T I O N 8

Algorithms (Calculation Blocks)

IN THIS SECTION

Algorithms (Calculation Blocks) List ................................................................................ 105

8.1 Algorithms (Calculation Blocks) List

The following table lists the algorithms in order of their type. Refer to Steamtable Algorithms (see
page 659) for additional information on Steamtable algorithms.

Algorithm Types

TYPE NAME DESCRIPTION

Airhtrs Airhtrs This algorithm calculates air heater performance for up to six air
heaters as well as calculating the modified outlet temperature. If the
(Air Heater)
air heaters are tri-sector, the total air inlet and outlet flows are
calculated.

The air heater leakage(s) are calculated if measurements are


available. Otherwise, the leakage(s) are entered from a point as an
approximation or estimate from the design screen.
O2 Calc This algorithm estimates the O2 in the flue gas from the estimated
air heater leakage.

Blr Blrio This algorithm calculates the boiler input/output efficiency and
efficiency deviation from design.
(Boiler)
Boiler The boiler calculates the efficiency by the heat loss method.

Corblrloss This algorithm calculates the corrected boiler efficiency and the
design efficiency and deviation.
Econmz This algorithm calculates economizer efficiency and deviation from
design.
Superhtr This algorithm calculates superheater efficiency and deviation from
design.
Compr Compr This module calculates adiabatic, polytropic, and isothermal
efficiencies.
(Compressor)
Condsr Acndsrcorr This algorithm calculates the condenser pressure for an air cooled
condenser corrected to guaranteed conditions.
(Condenser)
Aircondsr This algorithm calculates the condenser duty, log mean temperature
difference, and the heat transmission coefficient for air cooled
condensers.

SP_0030 105
8.1 Algorithms (Calculation Blocks) List

TYPE NAME DESCRIPTION

Cndavgtemp This algorithm calculates the condenser average inlet and outlet
temp as well as the average circulating water temperature.

Cnddesign This algorithm reads in the condenser design data and assigns the
values to outputs as well as calculating the inner diameter for the
different bundle types.
Condsr Condsr This algorithm determines the method for out-of-service
compartments. After checking for out-of-service compartments, the
(Condenser) specific heat, specific volume and specific gravity of circulating water
are calculated.

Next, the condenser duty, the condenser circulating water flow, the
actual and design heat transfer, the cleanliness factor, expected
back pressure with clean tubes and the back-pressure deviation are
calculated.

Calculations are done in accordance with ASME Power Test Code


PTC 12.2 (1983) and Heat Exchange Institute Standards for Steam
Surface Condensers, Ninth edition.
Coolwtr Capab This algorithm calculates capability of mechanical draft cooling
towers.
(Cooling
Towers)
Cooltwr This algorithm computes estimated cooling tower outlet temperature.

Cooltwrdes This algorithm reads the design screen information.

Cooltwrpwr This algorithm calculates individual cell power, design water flow,
the ratio of design water flow to actual flow, total fan power, and ratio
of design power to actual power.
Coolcurv This algorithm calculates predicted outlet flow, adjusted test flow and
percent capability.
Cturb Basectg This algorithm calculates evaporator/chiller efficiency if one is
present, corrected load, (Combustion ratio to guaranteed or ISO
load, heat input in fuel, total heat input into combustion Turbine)
turbine, thermal efficiency, heat rate, corrected heat rate ratio to
guarantee design or ISO heat rate deviation, corrected turbine
efficiency, heat consumption, exhaust gas heat and exhaust gas
flow.
Combturb This algorithm calculates evaporated/chiller efficiency if one is
present, corrected load, ratio to guaranteed or ISO load, heat input
in fuel, total heat input into combustion turbine, thermal efficiency,
heat rate, corrected heat rate, ratio to guaranteed design or ISO
heat rate, heat rate deviation, corrected turbine efficiency, heat
consumption, exhaust gas heat, estimated air flow to air ratio,
exhaust gas enthalpies at 32 degrees F, exhaust temp and
compressor inlet temp, exhaust gas flow and compressor air flow.
Gastrbintemp This algorithm uses an estimated gas turbine temperature as well as
a calculated gas turbine inlet enthalpy to calculate the actual gas
inlet temperature.
GE_combcyc This algorithm computes the uncorrected plant gross power output,
gross terminal efficiency and gross heat rate in combined cycle

106 SP_0030
8.1 Algorithms (Calculation Blocks) List

TYPE NAME DESCRIPTION


operation.
The plant heat rate is calculated as the inverse of thermal efficiency.
Plant gross power output, thermal efficiency and heat rate are
corrected for deviations from guaranteed conditions based on GE
corrections curves.
Cturb GE_combturb This algorithm computes the uncorrected gas turbine gross thermal
efficiency and gross heat rate in combined cycle operation.
The gas turbine heat rate is calculated as the inverse of thermal
efficiency.
Gas turbine gross power output, thermal efficiency and heat rate are
corrected for deviations from guaranteed conditions based on
General Electric correction curves.
The deviation between the calibrated run performance and the
corrected performance is also computed.
GE_hrsg This algorithm calculates the input/output efficiency of the HRSG per
GE specification.
GE_stg This algorithm computes the steam turbine generator output
correction factor for exhaust pressure (condenser vacuum) steam
turbine gross heat rate and steam turbine generator gross thermal
efficiency.
Curves Anlgcmp2poly This algorithm calculates the y-value of a polynomial based on an x
input and can be split into two polynomials by an analog value.
Anlgcmppoly This algorithm calculates the y-value of a polynomial based on the x
input between two values.
Diganlgcmp2poly This algorithm calculates one of two y-value polynomials based on
an x input value, digital input and is split by a specified analog value.
Diganlgcmppoly This algorithm calculates the y-value of a polynomial based on the x
input in a specified range and a digital flag.
Digcmp2poly This algorithm calculates one of two y-value polynomials based on
an x input and a digital flag.
Digcmppoly This algorithm calculates the y-value of a polynomial based on an x
input and digital flag.
Funcgen This algorithm calculates independent value based on one variable
or the independent value based on two dependent variables.
Independent value is calculated using linear interpolation. Multiplying
by a gain and/or adding a bias can modify the result.

Note, gain and bias can be points, constants or both points and
constants.

Poly This algorithm calculates a fifth order polynomial.

Interpolate This algorithm interpolates the dependent value based on the


independent value and up to 10 data sets of dependent and
independent values.

SP_0030 107
8.1 Algorithms (Calculation Blocks) List

TYPE NAME DESCRIPTION

Crossprod This module calculates the cross product based on X and Y inputs
as follows:
Z = C0+C1X + C2X2 + C3Y + C4Y2 + C5XY + C6X2Y + C7XY2 +
C8X2Y2
Where:
C0 - C8 are coefficients
Fan Densityair This routine calculates the density of air at the fan discharge
conditions as well as the density correction factor.
Densitycor This algorithm computes a density corrected to current temperature
and pressure conditions as well as a density correction factor.
Densitygas This algorithm calculates the density of gas at the fan discharge as
well as a density correction factor.
Fan This algorithm computes the efficiencies of the fan and its design
efficiency.
Fandesigh This algorithm reads the fan design information and outputs the
design information.
Fanvelocity This algorithm computes the velocity pressure of the fan using
volumetric flow, density and area.
SPECHTAIR This algorithm calculates the specific heat ratio for air which is
needed in the FAN algorithm to calculate compressibility factor.
SPECHTGAS This algorithm calculates the specific heat ratio for gas which is
needed in the FAN algorithm to calculate the compressibility factor.
Fedhtr Deaerator This is a direct contact type heat exchanger. The steps calculate the
condensate inlet flow, outlet flow, inlet enthalpy and outlet enthalpy.
Extraction steam flow and enthalpy are also calculated.
Drnclr This algorithm calculates drain cooler approach and deviation.

Drnpmp This algorithm calculates heat and materials balance around a shell
and tube type heat exchanger with drain pumped forward.
Extraction, drain, inlet and outlet flows are calculated for the
feedheater. The turbine extraction flow and enthalpy are also
calculated.
Hpfedhtr This algorithm calculates a heat and materials balance around a
shell and tube type heat exchanger. The extraction and drain flows
are calculated. The turbine extraction flow and enthalpy are also
calculated.
Lpfedhtr This algorithm calculates a heat and materials balance around a
low-pressure shell and tube type heat exchanger. The extraction and
drain flows are calculated for the feedheater. The turbine extraction
flow and enthalpy are also calculated.
Ttd This algorithm calculates the thermal temperature difference and
deviation.
Fuels This algorithm combines all the fuels used into one fuel analysis.
Fuels
Gastrbintemp Gastrbintemp This algorithm uses an estimated gas turbine temperature as well as
a calculated gas turbine inlet enthalpy to calculate the actual gas
turbine inlet enthalpy.

108 SP_0030
8.1 Algorithms (Calculation Blocks) List

TYPE NAME DESCRIPTION

Hetrte This algorithm calculates gross and net turbine cycle heat rate.
Adjusted turbine cycle heat rates with and without process steam
Heatrate are also calculated.
Hrmspasme This algorithm calculates the fractional heat rate correction factor for
throttle steam pressure being off design as specified by the ASME
PTC 6.1 1984 curve Throttle Pressure Corrections Factors for Single
Reheat Units.
Hrmstasme This algorithm calculates the fractional heat rate correction factor for
throttle steam temperature being off design as specified by the
ASME PTC 6.1, 1984 curve Throttle Temperature Correction
Factors for Single Reheat - Subcritical Pressure.
Hrrpdasme This algorithm calculates the fractional heat rate correction factor for
reheat pressure drop being off design as specified by the ASME
PTC 6.1 1984 curve Reheater Pressure Drop Correction Factors for
Single Reheat Units.
Hrrstasme This algorithm calculates the fractional heat rate correction factor for
reheat steam temperature being off design as specified by the
ASME PTC 6.1 1984 curve Reheat Temperature Correction Factors
for Single Reheat Units.
HRSG Bldwn This algorithm calculates the blowdown flow and enthalpy.

Hrsg This algorithm calculates the input/output and thermal loss


efficiencies as well as deviations from design efficiencies
Hpipsec This algorithm calculates section outlet flow, superheater outlet
enthalpy, economizer inlet enthalpy and section drum enthalpy.
Lpsec This algorithm calculates section outlet flow, superheater outlet
enthalpy condenser to pre heater enthalpy, liquid drum enthalpy,
and section steam drum enthalpy
Reheat This algorithm calculates cold reheat flow, hot reheat flow and hot
reheat enthalpy.
Input Analoginavg This algorithm inputs analog data agent point values and outputs
averaged local values.
Digitalin This algorithm reads digital data agent inputs and outputs local
digital values.
Fbdorder This algorithm orders the functional block diagrams as well as
displaying all the algorithms and execution time.
Pntvalidate This algorithm validates a point by checking a primary point for
selected quality and limits. If this point is not valid, possible
substitutions are alternate point 1, alternate point 2 or a constant
value if neither the alternate points are configured or valid.
Setvalidate This algorithm validates an entire analog input set. The algorithm
checks each point chosen to be validated and will substitute the
desired alternative value, such as primary point value, secondary
point value, or constant.
Main Chkload This algorithm checks the load and if the load is above the critical
load level, the run flag for the GPA algorithm is set.
Hwblrstm This algorithm calculates boiler steam enthalpy and flow.

Hwmnstm This algorithm calculates main steam enthalpy and flow.

SP_0030 109
8.1 Algorithms (Calculation Blocks) List

TYPE NAME DESCRIPTION

P1stg This algorithm calculates a correction factor, absolute first stage


pressure, rated absolute pressure and corrected first stage pressure.
Patmos This algorithm calculates atmospheric pressure.

Wmncor This algorithm calculates the main steam flow deviation between
reference main steam flow and corrected main steam flow.
Math Absval This algorithm outputs the absolute value of a given input.

Add10 This algorithm adds 10 numbers together.

Add4 This algorithm adds 4 numbers together.

Addsub This algorithm adds 4 numbers together and subtracts 4 numbers.

And6 This algorithm ands together 6 inputs.

Arctan This is the Arc tangent algorithm.

Avg10 This algorithm averages 10 numbers.

Avg4 This algorithm averages 4 numbers.

Cosin Cosine algorithm.

Divide4 This algorithm divides a variable by the product of 4 numbers.

Expon This algorithm calculates the exponential value of the input. The
result can be gained and biased by both constants and points.
Gpalog This algorithm calculates the log of a number.

Hiselect6 This algorithm selects the highest value of 6 inputs. Multiplying by a


gain and adding a bias can modify the result.

Note that the gain and bias values can be points, constants or both
points and constants.

Invdig This algorithm inverts a digital flag.

Loselect6 This algorithm selects the lowest value of 6 inputs. Multiplying by a


gain and adding a bias can modify the result. Note that the gain and
bias values can be points, constants or both points and constants.
Mult add This algorithm will add eight pairs of numbers multiplied together.
The result of the eight pairs of numbers is then divided by the sum of
the odd input values. The eight pairs added together result can then
be biased or gained by constants, points or both.

Multdiv This algorithm multiplies four numbers and divides by four numbers.
Multiply4 This algorithm multiplies 4 numbers together.
Multpwr This algorithm will add eight pairs of numbers multiplied together.
Each number is first raised optionally to a power, gained and biased.
The total result of multiplied pairs can be gained and/or biased. The
total result will also be divided by the sum of the odd inputs.
Nlog This algorithm calculates the natural log of input.

Or6 This algorithm ors together 6 digital inputs.

110 SP_0030
8.1 Algorithms (Calculation Blocks) List

TYPE NAME DESCRIPTION

Qavg10 This algorithm calculates the average of 10 values. Only the points
with good quality will count in the average.
Qavg4 This algorithm calculates the average of 4 values. Only the good
quality points will be counted in the averaged value.
Sin Sine algorithm.

Math (cont.) Squareroot This algorithm calculates the square root of a given input.

Sub10 This algorithm subtracts the sum of 10 values from the input value.

Sub4 This algorithm subtracts the sum of 4 numbers from a variable.

Misc Asmeflowcomp This algorithm calculates ASME on-line compensated flow based on
temperature, pressure, differential pressure, flow medium, flow
element, element material, pressure tap type, element inner
diameter, and beta ratio.
Avalgen This algorithm takes the value of a number, multiplies by the gain
and adds the bias.
Co2econ This algorithm converts wet O2 at econ outlet to dry O2 at econ
outlet.
Dvalgen This algorithm calculates a digital output based on a digital flag
anded with a digital constant.
Emptyproject This algorithm does nothing, but it is required for synchronization of
multiple projects per Workspace.
Enthal This algorithm calculates the gas enthalpy given the fuel analysis,
gas temperature, weight of ambient and injection moisture, and
reference enthalpy.
Flowcalccomp This algorithm calculates on-line compensated flow.

Frloss This algorithm calculates pipe section friction loss for fairly smooth
pipe.
Heartbeat This algorithm outputs the value of the constant followed by the
value of the constant multiplied by -1, then continue this sequence of
values. This algorithm toggles the constant value to be used in
controller logic to show that the GPA is running.
Massflowliquid This algorithm calculates mass flow from volumetric flow.

Mixer This algorithm calculates enthalpy, flow and heat for 10 combined
flows.
Moistair The moist air function calculates the ambient humidity given two of
the following (tambnt, twetblb, wv' relhum). Moist air calculates the
other two input values not input to the routine.
Select10 This algorithm selects an analog input based on the selected analog
input value.
Setdig This algorithm sets a digital to 1 if an analog value is greater than
the limit. Otherwise, the digital is set to zero.
Setdig2 This algorithm sets one of the three digital flags. If the specified
analog value is less than the limit, the first flag is set. If the analog
value is equal to the limit, the second flag is set. If the analog value
is greater than the limit, the third flag is set.

SP_0030 111
8.1 Algorithms (Calculation Blocks) List

TYPE NAME DESCRIPTION

Specheatair This algorithm calculates the specific heat of air at a given air
temperature. The coefficients used are obtained from regressing the
curve in Figure 3 of ASME PTC-4.1.
Specheatgas This algorithm calculates the specific heat of flue gas at a given
temperature. The coefficients are obtained from regressing the curve
in Figure 7 of AMSE PTC-4.1.
Steadystate This algorithm checks for periods of steady state and logs the steady
state periods to the event logger. If the system stays in state beyond
the maximum number of cycles, an event message is logged and
the steady state counter is reset
Volflowgas This algorithm converts a mass gas flow to a volumetric flow.

Volflowliquid This algorithm converts a liquid mass flow to a volumetric flow.

Output Analogout This algorithm outputs analog data agent points from local input
values.
Digitalout This algorithm outputs digital data agent pts. from local digital
values.
Pump Bfpturb This algorithm calculates boiler feedpump turbine performance.

Pump This algorithm computes the actual efficiency, design efficiency and
efficiency deviation for a pump.
Pump1Spd This algorithm calculates pump performance for a pump which runs
at constant speed.
Pump2Stg This algorithm calculates pump performance for a pump which has
an extraction or discharge between two stages of the pump.
Steamtable See the Steamtable Algorithm Section, Section 10.

Sturb Alstomexpan This algorithm computes used energy end point, expansion line end
point, low pressure turbine last stage extraction flow and enthalpy,
and last stage heater extraction flow and enthalpy for Alstom steam
turbo generators.
Expelep This algorithm computes expected expansion line end point design
curve not provided.
Gencorr This function computes corrected steam turbine generator output
bases on correction curves provided by turbine manufacturer.
Gennet This algorithm calculates the generator mva, the generator power
factor, the auxiliary power, the ratio of auxiliary power to gross
power, the total shaft power and generator efficiency.
Ipturbdeseff This function calculates design (or expected) intermediate pressure
turbine efficiency using the method outlined in Chapter 4, section
iii.a.1, in K.C. Cotton's Evaluating and Improving Steam Turbine
Performance. The function calculates the expected efficiency from
the inlet bowl conditions to the turbine exhaust. The calculated
expected efficiency is then corrected to compute the expected
efficiency from the turbine inlet conditions to the measured
crossover conditions.
Lpturb This algorithm calculates the lp turbine outlet flow, the lp turbine
outlet enthalpy by conducting a thermal and energy balance around
the whole turbine, the lp isentropic enthalpy and the lp turbine
efficiency.

112 SP_0030
8.1 Algorithms (Calculation Blocks) List

TYPE NAME DESCRIPTION

Overall_trb This algorithm calculates overall turbine efficiency from the hp stage
to the lp stage using the enthalpy drop method.
Reheat_trb This routine calculates the reheat turbine efficiency, design
efficiency and deviation. The design efficiency is obtained by
calculating the expected used energy end point.
Turbgen This function computes heat generated and percent load produced
by each turbine section.
Turbin This algorithm calculates the turbine inlet enthalpy, the turbine outlet
flow, the turbine outlet enthalpy, the isentropic enthalpy and the
turbine efficiency.
Wexpan This algorithm computes used energy end point, expansion line end
point, low pressure turbine last stage extraction flow and enthalpy,
and last stage heater extraction flow and enthalpy for Westinghouse
steam turbo generators.
Unithr Unhraitdev This algorithm calculates the unit heat rate deviation for air heater air
inlet temperature deviation & cost of deviation.

Unhrasmecsc This algorithm calculates the ASME heat rate correction for five
degrees Fahrenheit of subcooling at the percent of valves wide open
throttle flow.
Unhrasmeffw This algorithm calculates the ASME heat rate correction for five
degrees Fahrenheit final feedwater temperature deviation at the
percent of valves wide-open throttle flow.
Unhrasmeipdev1 This algorithm calculates the ASME IP turbine loss factor number 1
as a function of ip exhaust pressure.
Unhrasmeipdev2 This algorithm calculates the ASME IP turbine loss factor number 2
as a function of ip exhaust pressure.
Unithr (cont.) Unhrasmemkp This algorithm calculates the ASME heat rate correction for
one-percent makeup flow at the percent of valves wide open throttle
flow.
Unhrasmersf This algorithm calculates the ASME heat rate correction for
one-percent reheat spray flow at the percent of valves wide-open
throttle flow.
Unhrasmessf This algorithm calculates the ASME heat rate correction for
one-percent superheat spray flow at the percent of valves wide open
throttle flow.
Unhrauxdev This algorithm calculates the unit heat rate deviation for auxiliary
power deviation and the cost of the deviation.
Unhrauxstm This algorithm calculates the unit heat rate deviation for auxiliary
steam and the cost of the deviation.
Unhrbfpt This algorithm calculates the unit heat rate deviation for the total
boiler feed pump turbine auxiliary steam heat rate and the cost of
the deviations.
Unhrcbp This algorithm calculates unit heat rate deviation for main steam
temperature and the cost of the deviation in $/hr.
Unhrcontot This algorithm compute the total unit heat rate deviations and cost of
the deviation in $/hr for the controllable parameters.
Unhrcsc This algorithm calculates unit heat rate deviation for condenser

SP_0030 113
8.1 Algorithms (Calculation Blocks) List

TYPE NAME DESCRIPTION


subcooling and cost of the deviation in $/hr.
Unhregt This algorithm calculates the heat rate deviation and the cost of
deviation for exit gas temperature.
Unhrffw This algorithm calculates the heat rate deviation and the cost of
deviation in $/hr for final feed-water temperature.
Unhrhpdev This algorithm calculates the unit heat rate deviation for hp turbine
efficiency deviation and the cost of the deviation.
Unhripdev This algorithm calculates the unit heat rate deviation for ip turbine
efficiency deviation and the cost of the deviation.
Unhrmaintot This algorithm totals the unit heat rate deviations for maintenance
parameters and cost of the deviations in $/hr.
Unhrmisctot This algorithm totals the unit heat rate deviations for the
miscellaneous parameters and the cost of the deviations.
Unhrmkp This algorithm calculates the heat rate deviation and the cost of
deviation in $/hr for makeup water flow.
Unhrmst Computes the unit heat rate deviation and cost of the deviation in
$/hr for main steam temperature.
Unithr (cont.) Unhrmsp This algorithm computes the unit heat rate deviation and cost of the
deviation in $/hr for main steam pressure.
Unhro2calc This algorithm calculates the heat rate deviation and the cost of
deviation for exit oxygen deviation.
Unhrpcthr This algorithm calculates the percentage of actual main steam flow
to valves wide open throttle flow.
Unhrrpd This algorithm calculates the unit heat rate deviation for reheat
pressure drop and the cost of the deviation.
Unhrrsf This algorithm calculates the heat rate deviation and the cost of
deviation in $/hr for reheat spray flow.
Unhrrst This algorithm calculates the unit heat rate deviation for reheat
steam temperature and cost of deviation in $/hr.
Unhrssf This algorithm calculates the heat rate deviation and the cost of
deviation in $/hr for superheat spray flow.
Unhrscah This algorithm calculates the unit heat rate deviation for the stm coil
air htr and the cost of the deviation.
Unhrtot This algorithm computes the total unit heat rate deviation in Btu/kWh
and cost of the deviation in $/hr for all parameters.
Unhtrt This algorithm calculates the net unit heat rate of the plant as well as
the gross net unit heat rate. The design gross and net unit heat rates
are also calculated. Finally, the deviations for the gross and net unit
heat rates are calculated.

114 SP_0030
S E C T I O N 9

Algorithm properties

IN THIS SECTION

Absval .............................................................................................................................. 118


ACNDSRCORR............................................................................................................... 120
Add4 ................................................................................................................................ 124
Add10 .............................................................................................................................. 125
Addsub ............................................................................................................................ 127
AIRCONDSR ................................................................................................................... 129
Airhtrs .............................................................................................................................. 131
Alstomexpan.................................................................................................................... 145
Analoginavg..................................................................................................................... 157
Analogout ........................................................................................................................ 158
And6 ................................................................................................................................ 159
Anlgcmp2poly .................................................................................................................. 160
Anlgcmppoly .................................................................................................................... 162
Asmeflowcomp ................................................................................................................ 164
Arctan .............................................................................................................................. 169
Avalgen ........................................................................................................................... 170
Avg4 ................................................................................................................................ 171
Avg10 .............................................................................................................................. 172
Basectg ........................................................................................................................... 174
Bfpturb ............................................................................................................................. 182
Bldwn ............................................................................................................................... 186
Blrio ................................................................................................................................. 187
Boiler ............................................................................................................................... 192
BOILERASME4 ............................................................................................................... 201
Capab .............................................................................................................................. 211
Chkload ........................................................................................................................... 213
Cndavgtemp .................................................................................................................... 215
Cnddesign ....................................................................................................................... 217
Co2econ .......................................................................................................................... 224
Combturb ......................................................................................................................... 228
Compair ........................................................................................................................... 238
CompWash...................................................................................................................... 242
Compr .............................................................................................................................. 257
Condsr ............................................................................................................................. 268
Coolcurv .......................................................................................................................... 278
Cooltwr ............................................................................................................................ 283
Cooltwrdes ...................................................................................................................... 286
Cooltwrpwr ...................................................................................................................... 288
Corblrloss ........................................................................................................................ 290
CorblrlASME4.................................................................................................................. 294
Cosin ............................................................................................................................... 298
Crossprod ........................................................................................................................ 299
Deaerator ........................................................................................................................ 301
Densityair ........................................................................................................................ 305
Densitycor ....................................................................................................................... 307

SP_0030 115
8.1 Algorithms (Calculation Blocks) List

Densitygas ....................................................................................................................... 309


Diganlgcmppoly ............................................................................................................... 311
Diganlgcmp2poly ............................................................................................................. 313
Digcmp2poly .................................................................................................................... 315
Digcmppoly ...................................................................................................................... 317
Digitalin ............................................................................................................................ 319
Digitalout ......................................................................................................................... 320
Divide4 ............................................................................................................................ 321
Drnclr ............................................................................................................................... 322
Drnpmp ............................................................................................................................ 323
Dvalgen ........................................................................................................................... 327
Econmz ........................................................................................................................... 328
Emptyproject ................................................................................................................... 330
Enthal .............................................................................................................................. 331
Expelep ........................................................................................................................... 335
Expon .............................................................................................................................. 340
Fan .................................................................................................................................. 341
Fandesign ........................................................................................................................ 345
Fanvelocity ...................................................................................................................... 346
Fbdorder .......................................................................................................................... 347
Flowcalccomp.................................................................................................................. 348
Frloss ............................................................................................................................... 350
Fuels ................................................................................................................................ 352
Funcgen .......................................................................................................................... 364
GainBiasAdd ................................................................................................................... 369
Gastrbintemp ................................................................................................................... 375
GE_combcyc ................................................................................................................... 379
GE_combturb .................................................................................................................. 382
GE_Expan ....................................................................................................................... 386
GE_hrsg .......................................................................................................................... 399
GE_stg ............................................................................................................................ 403
Gennet ............................................................................................................................. 405
Gencorr ........................................................................................................................... 407
Gpalog ............................................................................................................................. 409
Heartbeat ......................................................................................................................... 410
Hetrte ............................................................................................................................... 411
Hiselect6 .......................................................................................................................... 416
Hpfedhtr ........................................................................................................................... 417
Hpipsec ........................................................................................................................... 420
Hrmspasme ..................................................................................................................... 422
Hrmstasme ...................................................................................................................... 424
Hrrpdasme ....................................................................................................................... 426
Hrrstasme ........................................................................................................................ 427
HRSG .............................................................................................................................. 428
Hwblrstm ......................................................................................................................... 436
Hwmnstm ........................................................................................................................ 438
Interpolate ....................................................................................................................... 439
Invdig ............................................................................................................................... 443
Ipturbdeseff ..................................................................................................................... 444
Loselect6 ......................................................................................................................... 447
Lpfedhtr ........................................................................................................................... 448
Lpsec ............................................................................................................................... 451
Lptrb ................................................................................................................................ 453
Lpturb3eff ........................................................................................................................ 456
Massflowliquid ................................................................................................................. 461
Mixer ................................................................................................................................ 462

116 SP_0030
8.1 Algorithms (Calculation Blocks) List

Moistair ............................................................................................................................ 464


Mult_add .......................................................................................................................... 466
Multdiv ............................................................................................................................. 469
Multiply4 .......................................................................................................................... 471
Mult_pwr .......................................................................................................................... 473
NeuralNet ........................................................................................................................ 478
Nlog ................................................................................................................................. 494
O2calc ............................................................................................................................. 495
Or6 .................................................................................................................................. 497
Overall_trb ....................................................................................................................... 498
P1stg ............................................................................................................................... 500
Patmos ............................................................................................................................ 502
Pntvalidate ....................................................................................................................... 503
Poly ................................................................................................................................. 506
Pump ............................................................................................................................... 508
PUMP1SPD ..................................................................................................................... 517
PUMP2STG..................................................................................................................... 526
Qavg4 .............................................................................................................................. 542
Qavg10 ............................................................................................................................ 544
RANGECHECK10 ........................................................................................................... 546
Reheat ............................................................................................................................. 552
Reheat_trb ....................................................................................................................... 554
Select10 .......................................................................................................................... 558
Setdig .............................................................................................................................. 561
Setdig2 ............................................................................................................................ 562
Setvalidate ....................................................................................................................... 564
Sin ................................................................................................................................... 567
Specheatair ..................................................................................................................... 568
Spechtair ......................................................................................................................... 569
Specheatgas ................................................................................................................... 571
Spechtgas ....................................................................................................................... 572
Squareroot ....................................................................................................................... 574
Steadystate ..................................................................................................................... 575
Sub4 ................................................................................................................................ 577
Sub10 .............................................................................................................................. 578
Superhtr ........................................................................................................................... 580
Ttd ................................................................................................................................... 582
Turbgen ........................................................................................................................... 583
Turbin .............................................................................................................................. 586
Unhraitdev ....................................................................................................................... 588
Unhrasmecsc .................................................................................................................. 590
Unhrasmeffw ................................................................................................................... 591
Unhrasmeipdev1 ............................................................................................................. 592
Unhrasmeipdev2 ............................................................................................................. 593
Unhrasmemkp ................................................................................................................. 594
Unhrasmersf .................................................................................................................... 595
Unhrasmessf ................................................................................................................... 596
Unhrauxstm ..................................................................................................................... 597
Unhrbfpt ........................................................................................................................... 598
Unhrauxdev ..................................................................................................................... 604
Unhrcbp ........................................................................................................................... 605
Unhrcontot ....................................................................................................................... 606
Unhrcsc ........................................................................................................................... 608
Unhregt ............................................................................................................................ 609
Unhrffw ............................................................................................................................ 613
Unhrhpdev ....................................................................................................................... 614

SP_0030 117
9.1 Absval

Unhripdev ........................................................................................................................ 616


Unhrmaintot ..................................................................................................................... 617
Unhrmisctot ..................................................................................................................... 619
Unhrmkp .......................................................................................................................... 621
Unhrmsp .......................................................................................................................... 623
Unhrmst ........................................................................................................................... 624
Unhro2calc ...................................................................................................................... 625
Unhrpcthr ......................................................................................................................... 628
Unhrrpd ........................................................................................................................... 629
Unhrrsf ............................................................................................................................. 630
Unhrrst ............................................................................................................................. 631
Unhrscah ......................................................................................................................... 632
Unhrssf ............................................................................................................................ 635
Unhrtot ............................................................................................................................. 637
Unhtrt ............................................................................................................................... 640
Volflowgas ....................................................................................................................... 642
Volflowliquid .................................................................................................................... 643
Wexpan ........................................................................................................................... 645
Wmncor ........................................................................................................................... 657

9.1 Absval

The Absval algorithm outputs the absolute value of a given point.

NO Units are Converted.

ABSVAL

Parameters Description Usage

Analog Inputs

kvalue input to abs val algorithm REQUIRED Input value for absolute
value function
kptgain abs val gain value [Optional]
kptbias abs val bias value [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

kabsval_res abs val result value REQUIRED Absolute value result.

Digital Outputs

< NONE >

Constants

kcgain = 1

kcgain = 0

118 SP_0030
9.1 Absval

9.1.1 Absval Calculation Overview

Absval calculates the absolute value of the input kvalue. The result can be gained and biased by
the kcgain and the kcbias points.

Absval Overview:

kabsval_res = fabs(kvalue)
kgain = kptgain + kcgain
kbias = kptbias + kcbias
kabsval_res = (kabsval_res * kgain) + kbias

SP_0030 119
9.2 ACNDSRCORR

9.2 ACNDSRCORR

This module calculates the condenser pressure for an air cooled condenser corrected to
guaranteed conditions.

YES Units are Converted.

ACNDSRCORR

Parameters Description Usage

Analog Inputs

patmos atmospheric pressure [Optional]

tmbnt air inlet temp [Optional]


Pfanpwr fan driving power [Optional]

pabscndprs cnd back abs pres [Optional]

wltrex lp exhaust flow [Optional]


Fqltrex lp exhaust steam content [Optional]
wltrexexp expected lp exhaust flow [Optional]
Analog Outputs

Fcorrstmqual stm quality corr factor [Optional]

lcndlmddes log mean temp diff des [Optional]


knumtransdes ht trans units des [Optional]
kauxval aux val to calc corr [Optional]
kcorrpatmos1 part 1 of atmos pres corr [Optional]
kcorrpatmos2 part 2 of atmos pres corr [Optional]
Fcorrpatmos atmos pres calc [Optional]
kcorrfanpwr1 part 1 of fan pwr corr [Optional]
kcorrfanpwr2 part 2 of fan pwr corr [Optional]
Fcorrfanpwr fan pwr corr factor [Optional]
Fcorrexhpr exh pres and air in temp corr [Optional]
wltrexcorr corrected mass flow [Optional]
kperfchar performance char [Optional]
kperfchardes performance char des [Optional]
pabscndprsdg condsr pres corr exh pr [Optional]
kauxpresomega temp var used in exp back pr [Optional]
kauxpresval aux val used in exp back pr [Optional]
ktemppres1 partial val for exp pr ratio [Optional]
ktemppres2 partial val for exp pr ratio [Optional]
kpresratio pres ratio to calc exp back pr [Optional]

120 SP_0030
9.2 ACNDSRCORR

ACNDSRCORR

Parameters Description Usage

pabscndsrexp exp back pres at des cond [Optional]


pabscnddev cnd back pres deviation [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Digital Outputs

< NONE >

Constants

DEG_CtoKEV 273.15

KMSUBK 0.45
KEXPFANPWR1 0.66666667
KEXPFANCORR1 -0.3745
KEXPFANCORR2 -0.206
KEXPFANCORR3 -1.0
KCONSTA 23.308417
KCONSTB 3888.11
KCONSTC 229.95

9.2.1 ACNDSRCORR Calculation Overview

Calculate the correction in the steam content in the exhaust steam

Fcorrstmqual = (Fqltrex / FQLTREXDES)

Calculate log mean temperature difference at design conditions

lcndlmddes = (wLTREXDES * FQLTREXDES * hLTREXDES ) / (UHTCOEFDES *


ACNDSR)

Calculate number of guarantee heat transfer units at design conditions

knumtransdes = (tOUTAIRDES –tINAIRDES) / lcndlmddes

Calculate auxiliary value to calculate atmospheric pressure correction

kauxval = knumtransdes / (exp(knumtransdes) - 1.0)

SP_0030 121
9.2 ACNDSRCORR

Calculate the correction of atmospheric pressure

kcorrpatmos1 = (patmos/pATMOSDES) * (1.0 - kauxval)


kcorrpatmos2 = kauxval * pow((patmos/pATMOSDES), KMSUBK)
Fcorrpatmos = pow ((kcorrpatmos1 + kcorrpatmos2), -1.0)

Calculate the correction of fan driving power

kcorrfanpwr1 = pow((pATMOSDES / patmos * tmbnt / tINAIRDES) ,KEXPFANPWR1)


kcorrfanpwr2 = kcorrfanpwr1 * (Pfanpwr / PFANPWRDES)
Fcorrfanpwr = pow(kcorrfanpwr2,KEXPFANCORR1)* pow(((1.0 - kauxval) + kauxval *
pow(kcorrfanpwr2,KEXPFANCORR2)),KEXPFANCORR3)

Calculate the correction for exhaust pressure and inlet air temp

Fcorrexhpr = wLTREXDES / wltrexexp


where wLTREXDES is calculated from a curve using condenser back pressure and air inlet
temperature

Calculate the corrected mass flow

wltrexcorr = wltrex * Fcorrstmqual * Fcorrpatmos * Fcorrfanpwr * Fcorrexhpr

Calculate expected back pressure

kperfchar = 1.0 - exp(-knumtransdes);


kperfchardes = tINAIRDES +(( tOUTAIRDES – tINAIRDES) / kperfchar)
pabscndprsdg = (exp(KCONSTA - (KCONSTB / (kperfchardes + KCONSTC))))
kauxpresomega = pABSCNDSRDES / pabscndprsdg
kauxpresval = pow((kperfchardes + KCONSTC),2.0) / (KCONSTB * (kperfchardes -
tINAIRDES))
ktemppres1 = (kauxpresomega / (pow(kauxpresomega,2) + 2.0 * kauxpresomega - 1.0)) *
(((wLTREXDES / wltrexcorr) - 1.0 + kauxpresval) / kauxpresval)
ktemppres2 = (pow((wLTREXDES/wltrexcorr),2) * (1.0 - pow(kauxpresomega,2))) /
(pow(kauxpresomega,2) + 2.0 * kauxpresomega - 1.0)
kpresratio = ktemppres1 + sqrt(pow(ktemppres1,2) - ktemppres2)

Calculate expected back pressure at guarantee point

pabscndsrexp = pABSCNDSRDES * kpresratio

122 SP_0030
9.2 ACNDSRCORR

Calculate back pressure deviation

pabscnddev = pabscndprs – pabscndsrexp

SP_0030 123
9.3 Add4

9.3 Add4

The Add4 algorithm adds four numbers together.

NO Units are Converted.

ADD4

Parameters Description Usage

Analog Inputs

kvalue1 add4 value 1 REQUIRED Value one of four to be added.


kvalue2 add4 value 2 REQUIRED Second value of 4 to be added.
Defaults to 0 if not configured.
kvalue3 add4 value 3 [Optional] Third value of 4 to be added. Defaults
to 0 if not configured.
kvalue4 add4 value 4 [Optional] Fourth value of 4 to be added. Defaults
to 0 if not configured.
kptgain add4 gain value [Optional]

kptbias add4 bias value [Optional]


Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

kadd4_res add4 result value REQUIRED Result of the four inputs added
together.
Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

9.3.1 Add4 Calculation Overview

The Add4 algorithm calculates the result of adding input kvalue1-kvalue4. The result can also be
gained and biased by the kcgain and the kcbias points.

Add4 Outputs:

kadd4_res = kvalue1 + kvalue2 + kvalue3 + kvalue4


kgain = kptgain + kcgain
kbias = kptbias + kcbias
kadd4_res (kadd_res * kgain) + kbias

124 SP_0030
9.4 Add10

9.4 Add10

The Add10 algorithm adds 10 numbers together.

NO Units are Converted.

ADD10

Parameter Description Usage

Analog Inputs

kvalue1 add10 value 1 REQUIRED First of 10 values to be added.


kvalue2 add10 value 2 REQUIRED Second value of 10 to be added.
Defaults to 0 if not configured.
kvalue3 add10 value 3 [Optional] Third value of 10 to be added. Defaults
to 0 if not configured.
kvalue4 add10 value 4 [Optional] Fourth value of 10 to be added. Defaults
to 0 if not configured.
kvalue5 add10 value 5 [Optional] Fifth value of 10 to be added. Defaults
to 0 if not configured.
kvalue6 add10 value 6 [Optional] Sixth value of 10 to be added. Defaults
to 0 if not configured.
kvalue7 add10 value 7 [Optional] Seventh value of 10 to be added.
Defaults to 0 if not configured.
kvalue8 add10 value 8 [Optional] Eighth value of 10 to be added. Defaults
to 0 if not configured.
kvalue9 add10 value 9 [Optional] Ninth value of 10 to be added. Defaults
to 0 if not configured.
kvalue10 add10 value 10 [Optional] Tenth value of 10 to be added. Defaults
to 0 if not configured.
kptgain add10 gain value [Optional]

kptbias add10 bias value [Optional]


Digital Inputs
zdocalc Digital perf calc run flag REQUIRED
Analog Outputs
kadd10_res add10 result value REQUIRED Result of the addition of 10 numbers.
Digital Outputs
< NONE >
Constants
kcgain = 1
kcbias = 0

SP_0030 125
9.4 Add10

9.4.1 Add10 Calculation Overview

This algorithm calculates the result of adding inputs kvalue1- kvalue10. The result can also be
gained and biased by the kcgain and the kcbias points.

Add10 Outputs:

kadd10_res = kvalue1 + kvalue2 + kvalue3 + kvalue4 + kvalue5 + kvalue6 + kvalue7 +


kvalue8 + kvalue9 + kvalue10
kgain = kptgain + kcgain
kbias = kptbias + kcbias
kadd10_res = (kadd10_res * kgain) + kbias

126 SP_0030
9.5 Addsub

9.5 Addsub

The Addsub algorithm adds four numbers together and subtracts four numbers.

NO Units are Converted.

ADDSUB

Parameter Description Usage

Analog Inputs

kaddval1 addsub add value 1 REQUIRED

kaddval2 addsub add value 2 REQUIRED Second value to be


added.
kaddval3 addsub add value 3 [Optional]
kaddval4 addsub add value 4 [Optional]
ksubval1 addsub sub value 1 [Optional]
ksubval2 addsub sub value 2 [Optional]
ksubval3 addsub sub value 3 [Optional]
ksubval4 addsub sub value 4 [Optional]
kptgain addsub gain value [Optional]
kptbias addsub bias value [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

kaddsub_res addsub result value REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

9.5.1 Addsub Calculation Overview

The Addsub algorithm calculates the result of adding inputs kaddval4 subtracting the total of
subval1-ksubvalue4. The result can also be gained and biased by the kcgain and the kcbias
points.

Addsub Outputs

kaddsub4_res = kaddval1 + kaddval2 + kaddval3 + kaddval4 - (ksubval1 + ksubval2 +


ksubval3 + ksubval4)

SP_0030 127
9.5 Addsub

kgain = kptgain + kcgain


kbias = kptbias + kcbias
kaddsub_res = (kaddsub_res * k gain) + kbias

128 SP_0030
9.6 AIRCONDSR

9.6 AIRCONDSR

The AIRCONDSR algorithm calculates the condenser duty, log mean temperature difference, and
the heat transmission coefficient for air cooled condensers.

YES Units are Converted.

AIRCONDSR

Parameters Description Usage

Analog Inputs

tmbnt air inlet temp [Optional]

toutair air outlet temp [Optional]


pabscndprs cnd back abs pres [Optional]

thotwell cond hotwell temp [Optional]

wltrex lp exhaust flow [Optional]


hltrex lp exhaust enth [Optional]
acondsr steam end ht exch surf area [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

tcndinlet cnd inlet temp [Optional]

tcndvac cnd sat temp [Optional]


tcndttd cnd term temp diff [Optional]
tcndinitdif cnd initial temp diff [Optional]
tcndsub cnd temp subcooling [Optional]
hcnsat condensate enthalpy [Optional]
qcndty cnd duty [Optional]
lcndlmtdr cnd log mean tmp diff ratio [Optional]
lcndlmd log mean temp diff [Optional]

Ucndactht actual ht transf coeff [Optional]

Digital Outputs

< NONE >

Constants

TCNDEXHSTPCNT 0.9375

SP_0030 129
9.6 AIRCONDSR

9.6.1 AIRCONDSR Calculation Overview

Compute the condenser saturation temperature as a saturated liquid steam table function of the
absolute condenser pressure.

tcndvac =tslp(pabscndprs)

Calculate the condenser saturation inlet temperature as a percentage of the exhaust saturation
temperature -- approximately 94 percent of the exhaust saturation temperature value

tcndinlet = tcndvac * TCNDEXHSTPCNT;

Calculate the terminal temperature difference by subtracting the air outlet temperature from the
condenser saturation temperature.

tcndttd = tcndinlet - toutair

Calculate the initial temperature difference by subtracting the air inlet temperature from the
saturation temperature.

tcndinitdif = tcndinlet - tmbnt

Calculate the subcooling by subtracting the condensate temperature from the condenser
saturation temperature.

tcndsub = tcndvac - thotwell

Calculate the condensate enthalpy.

hcnsat = hslp(pabscndprs)

Calculate the condenser duty.

qcndty = (wltrex * (hltrex - hcnsat)) / 1000

Calculate log mean temperature difference ratio.

lcndlmtdr = log(tcndinitdif / tcndttd)

Compute log mean temperature difference (lcndlmd).

lcndlmd = (toutair - tmbnt) / lcndlmtdr

Calculate actual heat transfer from the condenser duty,area and log mean temperature difference.

Ucndactht = (qcndty * 1E06) / (acondsr * lcndlmd)

130 SP_0030
9.7 Airhtrs

9.7 Airhtrs

The Airhtrs algorithm calculates air heater performance for up to six air heaters as well as
calculating the modified outlet temperature. If the air heaters are tri-sector, the total air inlet and
outlet flows are calculated. The air heater leakage(s) are calculated if measurements are
available. Otherwise, the leakage(s) are entered from a point as an approximation or as an
estimate from the design screen.

YES Units are Converted.

AIRHTRS

Parameter Description Usage


Analog Inputs

wahair1 ahtr 1 air flow REQUIRED

wahair2 ahtr 2 air flow [Optional]


wahair3 ahtr 3 air flow [Optional]
wahair4 ahtr 4 air flow [Optional]
wahair5 ahtr 5 air flow [Optional]
wahair6 ahtr 6 air flow [Optional]

thtrgasin1 ahtr 1 gas in temp REQUIRED


thtrgasin2 ahtr 2 gas in temp [Optional]
thtrgasin3 ahtr 3 gas in temp [Optional]
thtrgasin4 ahtr 4 gas in temp [Optional]
Thtrgasin5 ahtr 5 gas in temp [Optional]
thtrgasin6 ahtr 6 gas in temp [Optional]
thtrgasout1 ahtr 1 gas out temp REQUIRED
thtrgasout2 ahtr 2 gas out temp [Optional]
thtrgasout3 ahtr 3 gas out temp [Optional]
thtrgasout4 ahtr 4 gas out temp [Optional]
thtrgasout5 ahtr 5 gas out temp [Optional]
thtrgasout6 ahtr 6 gas out temp [Optional]
thtrairin1 ahtr 1 air in temp REQUIRED
thtrairin2 ahtr 2 air in temp [Optional]
thtrairin3 ahtr 3 air in temp [Optional]
thtrairin4 ahtr 4 air in temp [Optional]
thtrairin5 ahtr 5 air in temp [Optional]
thtrairin6 ahtr 6 air in temp [Optional]
thtrairout1 ahtr 1 air out temp REQUIRED
thtrairout2 ahtr 2 air out temp [Optional]

SP_0030 131
9.7 Airhtrs

AIRHTRS

Parameter Description Usage


thtrairout3 ahtr 3 air out temp [Optional]
thtrairout4 ahtr 4 air out temp [Optional]
thtrairout5 ahtr 5 air out temp [Optional]
thtrairout6 ahtr 6 air out temp [Optional]
wprimair1 prim ahtr 1 air flow [Optional] Used only for
trisector air heaters.
tprimairin1 prim ahtr 1 air in temp [Optional] Used only for
trisector air heaters.
tprimairout1 prim ahtr 1 air out temp [Optional] Used only for
trisector air heaters.
wsecair1 sec ahtr 1 air flow [Optional] Used only for
trisector air heaters.
tsecairin1 sec ahtr 1 air in temp [Optional] Used only for
trisector air heaters.
tsecairout1 sec ahtr 1 air out temp [Optional] Used only for
trisector air heaters.
wprimair2 prim ahtr 2 air flow [Optional] Used only for
trisector air heaters.
tprimairin2 prim ahtr 2 air in temp [Optional] Used only for
trisector air heaters.
tprimairout2 prim ahtr 2 air out temp [Optional] Used only for
trisector air heaters.
wsecair2 sec ahtr 2 air flow [Optional] Used only for
trisector air heaters.
tsecairin2 sec ahtr 2 air in temp [Optional] Used only for
trisector air heaters.
tsecairout2 sec ahtr 2 air out temp [Optional] Used only for
trisector air heaters.
wprimair3 prim ahtr 3 air flow [Optional] Used only for
trisector air heaters.
tprimairin3 prim ahtr 3 air in temp [Optional] Used only for
trisector air heaters.
tprimairout3 prim ahtr 3 air out temp [Optional] Used only for
trisector air heaters.
wsecair3 sec ahtr 3 air flow [Optional] Used only for
trisector air heaters.
tsecairin3 sec ahtr 3 air in temp [Optional] Used only for
trisector air heaters.
tsecairout3 sec ahtr 3 air out temp [Optional] Used only for
trisector air heaters.
wprimair4 prim ahtr 4 air flow [Optional] Used only for
trisector air heaters.

132 SP_0030
9.7 Airhtrs

AIRHTRS

Parameter Description Usage


tprimairin4 prim ahtr 4 air in temp [Optional] Used only for
trisector air heaters.
tprimairout4 prim ahtr 4 air out temp [Optional] Used only for
trisector air heaters.
wsecair4 sec ahtr 4 air flow [Optional] Used only for
trisector air heaters.
tsecairin4 sec ahtr 4 air in temp [Optional] Used only for
trisector air heaters.
tsecairout4 sec ahtr 4 air out temp [Optional] Used only for
trisector air heaters.
wprimair5 prim ahtr 5 air flow [Optional] Used only for
trisector air heaters.
tprimairin5 prim ahtr 5 air in temp [Optional] Used only for
trisector air heaters.
tprimairout5 prim ahtr 5 air out temp [Optional] Used only for
trisector air heaters.
wsecair5 sec ahtr 5 air flow [Optional] Used only for
trisector air heaters.
tsecairin5 ahtr 5 air in temp [Optional] Used only for
trisector air heaters.
tsecairout5 sec ahtr 5 air out temp [Optional] Used only for
trisector air heaters.
wprimair6 prim ahtr 6 air flow [Optional] Used only for
trisector air heaters.
tprimairin6 prim ahtr 6 air in temp [Optional] Used only for
trisector air heaters.
tprimairout6 prim ahtr 6 air out temp [Optional] Used only for
trisector air heaters.
wsecair6 sec ahtr 6 air flow [Optional] Used only for
trisector air heaters.
tsecairin6 sec ahtr 6 air in temp [Optional] Used only for
trisector air heaters.
tsecairout6 sec ahtr 6 air out temp [Optional] Used only for
trisector air heaters.
Rash total ash in fuel REQUIRED Output from
fuels.
Rcarash tot carbon in ash leaving blr REQUIRED

Relhmd relative humidity [Optional] Two of the four


inputs: relhmd tdrybulb
twetbulb tdewpnt must be
configured.

SP_0030 133
9.7 Airhtrs

AIRHTRS

Parameter Description Usage


tdrybulb ambient air temp [Optional] Two of the four
inputs: relhmd tdrybulb
twetbulb tdewpnt must be
configured.
twetbulb wet bulb temp [Optional] Two of the four
inputs: relhmd tdrybulb
twetbulb tdewpnt must be
configured.
tdewpnt dew point temp [Optional] Two of the four
inputs: relhmd tdrybulb
twetbulb tdewpnt must be
configured.
patmos atmospheric pres REQUIRED Output from
patmos algorithm
Rcarb total carbon in fuel REQUIRED Output from
fuels
Rhydr total hydrogen in fuel REQUIRED Output from
fuels
Rsulf total sulfur in fuel REQUIRED Output from
fuels
Roxy total oxygen in fuel REQUIRED Output from
fuels
Rmoist total moisture in fuel(s) REQUIRED Output from
fuels
Rnitr total nitrogen in fuel REQUIRED Output from
fuels
Rlimem pct of moisture in lime [Optional]
Rcaco3 pct of calcium oxcide limestone [Optional]
Rmgco3 pct magnesium oxcide limestone [Optional]
wlimestone limestone flow [Optional] Configure if
using limestone
wfuel fuel flow [Optional] Configure if
using limestone
Rsulfcapt sulf capture rate [Optional] Configure if
using limestone
wcoaltotfuel total coal (inc coke) flow REQUIRED Output from
fuels
Flime frac val lime in lime/coal [Optional] Output from
fuels and needed if
limestone is used
Fmagox frac val mag oxide lime/coal [Optional] Output from
fuels and needed if
limestone is used

134 SP_0030
9.7 Airhtrs

AIRHTRS

Parameter Description Usage


Ro2ahin1 ahtr 1 fl gas in pcnt O2 [Optional] Required if flue
gas measurements are on
a dry basis
Ro2ahin2 ahtr 2 fl gas in pcnt O2 [Optional] Required if
there are 2 air htrs and
flue gas measurements
are on a dry basis
Ro2ahin3 ahtr 3 fl gas in pcnt O2 [Optional] Required if
there are 3 air htrs and
flue gas measurements
are on a dry basis
Ro2ahin4 ahtr 4 fl gas in pcnt O2 [Optional] Required if
there are 4 air htrs and
flue gas measurements
are on a dry basis
Ro2ahin5 ahtr 5 fl gas in pcnt O2 [Optional] Required if
there are 5 air htrs and
flue gas measurements
are on a dry basis
Ro2ahin6 ahtr 6 fl gas in pcnt O2 [Optional] Required if
there are 6 air htrs and
flue gas measurements
are on a dry basis
Ro2ahaft1 ahtr 1 fl gas out pcnt O2 [Optional] Required if O2
readings are avail before
and after air htrs
Ro2ahaft2 ahtr 2 fl gas out pcnt O2 [Optional] Required if 2 air
htrs and O2 readings
before and after air htrs
are avail
Ro2ahaft3 ahtr 3 fl gas out pcnt O2 [Optional] Required if 3 air
htrs and O2 readings
before and after air htrs
are avail
Ro2ahaft4 ahtr 4 fl gas out pcnt O2 [Optional] Required if 4 air
htrs and O2 readings
before and after air htrs
are avail
Ro2ahaft5 ahtr 5 fl gas out pcnt O2 [Optional] Required if 5 air
htrs and O2 readings
before and after air htrs
are avail
Ro2ahaft6 ahtr 6 fl gas out pcnt O2 [Optional] Required if 6 air
htrs and O2 readings
before and after air htrs
are avail
Rahlkgest1 ahtr 1 leakage Estimate [Optional] Required if the
air heater leakage is an
oper entered constant

SP_0030 135
9.7 Airhtrs

AIRHTRS

Parameter Description Usage


Rahlkgest2 ahtr 2 leakage Estimate [Optional] Required if
there are 2 air htrs and lkg
is an oper entered
constant
Rahlkgest3 ahtr 3 leakage Estimate [Optional] Required if
there are 3 air htrs and lkg
is an oper entered
constant
Rahlkgest4 ahtr 4 leakage Estimate [Optional] Required if
there are 4 air htrs and lkg
is an oper entered
constant
Rahlkgest5 ahtr 5 leakage Estimate [Optional] Required if
there are 5 air htrs and lkg
is an oper entered
constant
Rahlkgest6 ahtr 6 leakage Estimate [Optional] Required if
there are 6 air htrs and lkg
is an oper entered
constant
eahgasdes1 air htr 1 des gas side effic [Optional]

eahgasdes2 air htr 2 des gas side effic [Optional]


eahgasdes3 air htr 3 des gas side effic [Optional]
eahgasdes4 air htr 4 des gas side effic [Optional]
eahgasdes5 air htr 5 des gas side effic [Optional]
eahgasdes6 air htr 6 des gas side effic [Optional]
eahairdes1 air htr 1 des air side effic [Optional]
eahairdes2 air htr 2 des air side effic [Optional]
eahairdes3 air htr 3 des air side effic [Optional]
eahairdes4 air htr 4 des air side effic [Optional]
eahairdes5 air htr 5 des air side effic [Optional]
eahairdes6 air htr 6 des air side effic [Optional]
Fahxratiodes1 air htr 1 x-ratio design [Optional]
Fahxratiodes2 air htr 2 x-ratio design [Optional]
Fahxratiodes3 air htr 3 x-ratio design [Optional]
Fahxratiodes4 air htr 4 x-ratio design [Optional]
Fahxratiodes5 air htr 5 x-ratio design [Optional]
Fahxratiodes6 air htr 6 x-ratio design [Optional]
Digital Inputs

zdocalc REQUIRED

136 SP_0030
9.7 Airhtrs

AIRHTRS

Parameter Description Usage


zairhtr1_on ahtr 1 in svc dig flag [Optional] Use if a digital
flag determines the in svc
status of ahtr 1
zairhtr2_on ahtr 2 in svc dig flag [Optional] Use if a digital
flag determines the in svc
status of ahtr 2
zairhtr3_on ahtr 3 in svc dig flag [Optional] Use if a digital
flag determines the in svc
status of ahtr 3
zairhtr4_on ahtr 4 in svc dig flag [Optional] Use if a digital
flag determines the in svc
status of ahtr 4
zairhtr5_on ahtr 5 in svc dig flag [Optional] Use if a digital
flag determines the in svc
status of ahtr 5
zairhtr6_on ahtr 6 in svc dig flag [Optional] Use if a digital
flag determines the in svc
status of ahtr 6
Analog Outputs

knum_insvc_htrs number of in svc htrs [Optional]

temp_drop_act_gas1 ahtr 1 gas temp drop [Optional] calculated when


in svc check for gas temp
drop
temp_drop_act_gas2 ahtr 2 gas temp drop [Optional] calculated when
in svc check for gas temp
drop
temp_drop_act_gas3 ahtr 3 gas temp drop [Optional] calculated when
in svc check for gas temp
drop
temp_drop_act_gas4 ahtr 4 gas temp drop [Optional] calculated when
in svc check for gas temp
drop
temp_drop_act_gas5 ahtr 5 gas temp drop [Optional] calculated when
in svc check for gas temp
drop
temp_drop_act_gas6 ahtr 6 gas temp drop [Optional] calculated when
in svc check for gas temp
drop
temp_drop_min_gas ahtr min gas temp drop [Optional]

wahairtot total ahtr air flow [Optional] Used in boiler


as an input.
thtrgasinavg avg ahtr air gas in temp [Optional] Used in boiler
as an input
thtrgasoutavg avg ahtr air gas out temp [Optional] Used in boiler
as an input.

SP_0030 137
9.7 Airhtrs

AIRHTRS

Parameter Description Usage


wairtot1 ahtr 1 tot air flow [Optional]
wairtot2 ahtr 2 tot air flow [Optional]
wairtot3 ahtr 3 tot air flow [Optional]
wairtot4 ahtr 4 tot air flow [Optional]
wairtot5 ahtr 5 tot air flow [Optional]
wairtot6 ahtr 6 tot air flow [Optional]
thtr_calc_airin1 ahtr 1 air in temp [Optional]
thtr_calc_airin2 ahtr 2 air in temp [Optional]
thtr_calc_airin3 ahtr 3 air in temp [Optional]
thtr_calc_airin4 ahtr 4 air in temp [Optional]
thtr_calc_airin5 ahtr 5 air in temp [Optional]
thtr_calc_airin6 ahtr 6 air in temp [Optional]
thtr_calc_airout1 ahtr 1 air out temp [Optional]
thtr_calc_airout2 ahtr 2 air out temp [Optional]
thtr_calc_airout3 ahtr 3 air out temp [Optional]
thtr_calc_airout4 ahtr 4 air out temp [Optional]
thtr_calc_airout5 ahtr 5 air out temp [Optional]
thtr_calc_airout6 ahtr 6 air out temp [Optional]
thtrairinavg avg ahtr air in temp [Optional]
thtrairoutavg avg ahtr air out temp [Optional]
Ro2ahinavg avg air htr air fl gas 02 [Optional]
Rcoalcb tru carb cont coal aft ash remove [Optional]

Wvap water content of vapor [Optional] Used in boiler


and corblrloss as an input.
vapvol vol of water vap in fl gases [Optional]
Ftratio temp corr ratio [Optional]
Wairth stoich wt air compl comb [Optional] Used in boiler
and corblrloss as an input.
Wfgmst total moisture in fl gases [Optional]
vfgstp vol of stoich fl gases at stp [Optional]
vfgtot total vol of stoich fl gases [Optional]
kconst temp used in calc free O2 vol [Optional]
vfreeo2fgas vol free O2 in fl gas/lb fuel [Optional]

Wairex wt of Excess air/lb STP fuel [Optional] Used in boiler


and corblrloss as an input.

138 SP_0030
9.7 Airhtrs

AIRHTRS

Parameter Description Usage


Wfuel fl gas mass fuel for comb prod [Optional]
Wdgful tot fl gas in fuel inc xair [Optional] Used in boiler
and corblrloss as an input.
Wwgmss moisture in fl gas [Optional]

vfreeo2ah1 vol of ahtr 1 free O2 [Optional]


Warex1 ahtr 1Excess air [Optional]
vfreeo2ah2 vol of ahtr 2 free O2 [Optional]
Warex2 ahtr 2 Excess air [Optional]
vfreeo2ah3 vol of ahtr 3 free O2 [Optional]
Warex3 ahtr 3 Excess air [Optional]
vfreeo2ah4 vol of ahtr 4 free O2 [Optional]
Warex4 ahtr 4 Excess air [Optional]
vfreeo2ah5 vol of ahtr 5 free O2 [Optional]
Warex5 ahtr 5 Excess air [Optional]
vfreeo2ah6 vol of ahtr 6 free O2 [Optional]
Warex6 ahtr 6 Excess air [Optional]
Rahlkg1 ahtr 1 leakage [Optional] Used in boiler
as an input.
Rahlkg2 ahtr 2 leakage [Optional] Used in boiler
as an input.
Rahlkg3 ahtr 3 leakage [Optional] Used in boiler
as an input.
Rahlkg4 ahtr 4 leakage [Optional] Used in boiler
as an input.
Rahlkg5 ahtr 5 leakage [Optional] Used in boiler
as an input.
Rahlkg6 ahtr 6 leakage [Optional] Used in boiler
as an input.
cahtairin1 spec ht ahtr 1 air in temp [Optional] Used in boiler
as an input.
cahtgasout1 spec ht ahtr 1 gas out temp [Optional]

cahair1 spec ahtr 1 air Usage [Optional] Used in boiler


as an input.
cahgas1 spec ahtr 1 gas [Optional] Used in boiler
as an input.
thtrmout1 ahtr 1 modified out temp [Optional]

SP_0030 139
9.7 Airhtrs

AIRHTRS

Parameter Description Usage


cahtairin2 spec heat ahtr 2 air in temp [Optional] Required if
there are two air heaters
and is used in boiler as an
input.
cahtgasout2 spec heat ahtr 2 gas out temp [Optional]

cahair2 spec ahtr 2 air [Optional] Required if


there are two air heaters
and is used in boiler as an
input.
cahgas2 spec ahtr 2 gas [Optional] Required if
there are two air heaters
and is used in boiler as an
input.
thtrmout2 ahtr 2 modified out temp [Optional]

cahtairin3 spec heat ahtr 3 air in temp [Optional] Required if


there are 3 air and is used
in boiler as an input.
cahtgasout3 spec heat ahtr 3 gas out temp [Optional]
cahair3 spec ahtr 3 air [Optional] Required if
there are 3 air heaters and
is used in boiler as an
input.
cahgas3 spec ahtr 3 gas [Optional] Required if
there are 3 air heaters and
is used in boiler as an
input.
thtrmout3 ahtr 3 modified out temp [Optional]

cahtairin4 spec heat ahtr 4 air in temp [Optional] Required if


there are 4 air heaters and
is used in boiler as an
input.
cahtgasout4 spec heat ahtr 4 gas out temp [Optional]
cahair4 spec ahtr 4 air [Optional] Required if
there are 4 air heaters and
is used in boiler as an
input
cahgas4 spec ahtr 4 gas [Optional] Required if
there are 4 air heaters and
is used in boiler as an
input.
thtrmout4 ahtr 4 modified out temp [Optional]

cahtairin5 spec heat ahtr 5 air in temp [Optional] Required if


there are 5 air heaters and
is used in boiler as an
input.
cahtgasout5 spec heat ahtr 5 gas out temp [Optional]

140 SP_0030
9.7 Airhtrs

AIRHTRS

Parameter Description Usage


cahair5 spec ahtr 5 air [Optional] Required if
there are 5 air heaters and
is used in boiler as an
input
cahgas5 spec ahtr 5 gas [Optional] Required if
there are air heaters and
is used in boiler as an
input.
thtrmout5 ahtr 5 modified out temp [Optional]

cahtairin6 spec heat ahtr 6 air in temp [Optional] Required if


there are 6 air heaters and
is used in boiler as an
input.
cahtgasout6 spec heat ahtr 6 gas out temp [Optional]

cahair6 Spec ahtr 6 air [Optional] Required if


there are 6 air heaters and
is used in boiler as an
input.
cahgas6 Spec ahtr 6 gas [Optional] Required if
there are 6 air heaters and
is used in boiler as an
input.
thtrmout6 Ahtr 6 modified out temp [Optional]

thtrmodout Wted avg modified out temp [Optional] Used in boiler


as an input.
eahgaseff1 air htr 1 gas side effic [Optional]

eahgasdev1 air htr 1 gas side effic dev [Optional]


eahaireff1 air htr 1 air side effic [Optional]
eahairdev1 air htr 1 air side effic dev [Optional]
Fahxratio1 air htr 1 xratio [Optional]
Fahxratiodev1 air htr 1 xratio dev [Optional]
eahgaseff2 air htr 2 gas side effic [Optional]
eahgasdev2 air htr 2 gas side effic dev [Optional]
eahaireff2 air htr 2 air side effic [Optional]
eahairdev2 air htr 2 air side effic dev [Optional]
Fahxratio2 air htr 2 xratio [Optional]
Fahxratiodev2 air htr 2 xratio dev [Optional]
eahgaseff3 air htr 3 gas side effic [Optional]
eahgasdev3 air htr 3 gas side effic dev [Optional]
eahaireff3 air htr 3 air side effic [Optional]
eahairdev3 air htr 3 air side effic dev [Optional]

SP_0030 141
9.7 Airhtrs

AIRHTRS

Parameter Description Usage


Fahxratio3 air htr 3 xratio [Optional]
Fahxratiodev3 air htr 3 xratio dev [Optional]
eahgaseff4 air htr 4 gas side effic [Optional]
eahgasdev4 air htr 4 gas side effic dev [Optional]
eahaireff4 air htr 4 air side effic [Optional]
eahairdev4 air htr 4 air side effic dev [Optional]
Fahxratio4 air htr 4 xratio [Optional]
Fahxratiodev4 air htr 4 xratio dev [Optional]
eahgaseff5 air htr 5 gas side effic [Optional]
eahgasdev5 air htr 5 gas side effic dev [Optional]
eahaireff5 air htr 5 air side effic [Optional]
eahairdev5 air htr 5 air side effic dev [Optional]
Fahxratio5 air htr 5 xratio [Optional]
Fahxratiodev5 air htr 5 xratio dev [Optional]
eahgaseff6 air htr 6 gas side effic [Optional]
eahgasdev6 air htr 6 gas side effic dev [Optional]
eahaireff6 air htr 6 air side effic [Optional]
eahairdev6 air htr 6 air side effic dev [Optional]
Fahxratio6 air htr 6 xratio [Optional]
Fahxratiodev6 air htr 6 xratio dev [Optional]
wso3formed lb per lb fuel so2 formed [Optional]
wco2sorb lb per lb fuel co2 in sorbent [Optional]
wh2sorb lb per lb fuel h20 in sorbent [Optional]
wspentsorb spent sorbent [Optional]
Runbcarb unburned carbon [Optional]
Digital Outputs

zinsvcah1 Ahtr 1 In svc digital flag [Optional]

zinsvcah2 Ahtr 2 In svc digital flag [Optional]


zinsvcah3 Ahtr 3 In svc digital flag [Optional]
zinsvcah4 Ahtr 4 In svc digital flag [Optional]
zinsvcah5 Ahtr 5 In svc digital flag [Optional]
zinsvcah6 Ahtr 6 In svc digital flag [Optional]
zwetflag O2 before air htr msmt type [Optional]
Constants

CAIR[0] = 0.23897 CGAS[0] = 0.237058 CGAS[3] = -2.20475e-11

142 SP_0030
9.7 Airhtrs

AIRHTRS

Parameter Description Usage


CAIR[1] = 6.7857e-06 CGAS[1] = 1.065875e-05
CAIR[2] = 1.9643e-08 CGAS[2] = 4.18508e-08

9.7.1 Airhtrs Calculation Overview

Air heaters transfer heat from the exiting flue gas to the incoming combustion air. This process
increases boiler efficiency. Changes in air heater performance influences boiler efficiency as
reflected in changes to flue gas exit temperature. Flue gas exit temperature increases as air
heater gas side efficiency decreases.

This algorithm calculates the air heater gas side efficiency. It is capable of handling a maximum of
six air heaters. The temperature differences between the gas inlet and gas outlet temperatures
are calculated. If an air heater gas temperature difference is greater than its minimum value, the
heater is considered to be in service.

If airhtrs are trisector heaters, then the air heater air inlet and air outlet temperatures are
calculated. Total airflow equals the primary airflow plus the secondary airflow. The air inlet and air
outlet temperatures are calculated as weighted averages.

The leakage for each air heater is calculated if the oxygen measurement is available before and
after the air heater. Otherwise the leakages must be supplied as a point or entered on the design
screen. The air heater leakage is expressed as a percentage of the gas flow entering the air
heater.

The flue gas exit temperature must be corrected for because air heater leakage cools the gas
leaving the air heater. If left uncorrected, the lower gas temperature results in erroneously high,
calculated boiler efficiency.

Air inlet and air outlet temperatures are calculated as follows for tri-sector air heaters:

Air Inlet/Outlet Calculations

wairtot = wprimair + wsecair


thtr_calc_airin = ((wprimair * tprimairin) + (wsecair * tsecairin)) / wairtot
thtr_calc_airout = ((wprimair * tprimairout) + (wsecair * tsecairout)) / wairtot

Air Heater Gas Side Efficiency

Gas side efficiency is the ratio of the gas temperature drop to the temperature head. The
no-leakage exit gas temperature is used in the calculation.

No-Leakage Exit Gas Temperature

thtrmout = thtrgasout +(Rahlkg * cahair * ( thtrgasout - thtr_calc_airin)/(100*cahgas))

Where:

thtrmout = no-leakage exit gas temperature


thtrgasout = temperature of flue gas leaving air heater

SP_0030 143
9.7 Airhtrs

Rahlkg = Air heater leakage percentage of gas flow entering air heater
cahair = specific heat of air
thtr_calc_airin = temperature of air entering air heater

Gas Side Efficiency

eahgaseff = 100 * (thtrgasin - thtrmout) / (thtrgasin - thtr_calc_airin)

Air Heater X-Ratio

The X-Ratio is defined as the ratio of the gas temperature drop to the air heater temperature rise.

Fahxratio = (thtrgasin - thtrmout) / (thtr_calc_airout - thtr_calc_airin)

Calculate the x-ratio and deviation.

if (((thtr_calc_airout4 - thtr_calc_airin4) > 0.0) && (zinsvcah4))

Fahxratio4 = (thtrgasin4 - thtrmout4)/(thtr_calc_airout4 - thtr_calc_airin4);

else

Fahxratio4 = 0.0;
Fahxratiodev4 = Fahxratio4 - (Fahxratiodes4 * kinsvcah4);

Where:

Fahxratio = Air heater X-Ratio


thtrgasin = temperature of gas entering air heater
thtrmout = no-leakage exit gas temperature
thtr_calc_airout = temperature of air leaving the air heater
thtr_calc_airin = temperature of air entering the air heater

144 SP_0030
9.8 Alstomexpan

9.8 Alstomexpan

The Alstomexpan function computes used energy end point, expansion line end point, low
pressure turbine last stage extraction flow and enthalpy, and last stage heater extraction flow and
enthalpy for Alstsom steam turbo-generators in an iterative procedure using the GER2007C
expansion line equations. Assume the expansion line is straight.

YES Units are Converted.

ALSTOMEXPAN

Parameters Description Usage

Analog Inputs

pacnabslp lp cond back pressure REQUIRED

pacnabshp hp cond back pressure REQUIRED


hipbwl ip turbine bowl enthalpy REQUIRED
pipbwl ip turbine bowl pressure REQUIRED
patmos atmospheric pressure REQUIRED

witrex ip turb exhaust flow REQUIRED


wturblptot lp turb extr total flow REQUIRED
whpstm throttle steam blow REQUIRED
hhpstm throttle steam enthalpy REQUIRED
whrhip ip turb inlet stm flow REQUIRED
hhrhip ip turb inlet stm enth REQUIRED
wcrhte cold reheat flow REQUIRED
hcrhte cold reheat enth REQUIRED
qturbhp hp turb extr total heat REQUIRED
qturbip ip turb extr total heat REQUIRED
qturblp lp turb extr total heat REQUIRED
qleakoff total lkg heat [Optional]
qssrlkg heat tot lkg stm seal reg [Optional]
qgsclkg heat tot lkg gland stm cond [Optional]
qlpglndsply heat supply to lp turb glands [Optional]
textrlphtr lp heater extr pressure REQUIRED
tsatlphtr lp htr saturation temp REQUIRED
pabsextrlphtr lp htr extr pressure REQUIRED
wflashsteam lp htr flash stm supply [Optional]
wdrnoutup upstrm htr drn flow to lp htr [Optional]
wcndea cond flow to deaerator REQUIRED
hfhoutlphtr lp htr cond outlet enth REQUIRED

SP_0030 145
9.8 Alstomexpan

ALSTOMEXPAN

Parameters Description Usage

hfhinlphtr lp htr cond inlet enth REQUIRED

hdrnoutup upstrm htr drn enth to lp htr REQUIRED


hdrnoutlphtr lp htr drain outlet enth REQUIRED
hflashsteam lp htr flash stm enth [Optional]
pabsturblaststg lp turb last stage extr pres REQUIRED
wblstm blr superhtr out stm flow REQUIRED
Pshaft total shaft power REQUIRED
hfhoutup upstream htr cond outlet enth [Optional]
hfhinltup upstream htr cond inlet enth [Optional]
wlktot total lkg to stm seal reg [Optional]
hlktot total lkg enth to stm seal reg [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

zlpheater low pressure htr in-svc flag REQUIRED


zflashdrain lp htr flash steam drain flag REQUIRED
zlpdrainpump lp htr drain pump in-svc flag
zlpparallel lp parallel heater flag
Analog Outputs

khzero expansion line curvature const [Optional]

kzero expansion line function const [Optional]


pacnabs avg lp turb exhaust pres [Optional]
vdrylp lp exh hood dry spec vol [Optional]
vdryhp hp exh hood dry spec vol [Optional]
pabsipbwl abs ip turb bowl press [Optional]
sipbwl ip turb bowl entropy [Optional]

wstmlaststg stm flow to last stage extr [Optional]

qsttot ht acquired by stm [Optional]

qsumext ht turb extrs excl last stg [Optional]

qleaks heat flow to glands [Optional]


qgen heat in generation [Optional]
hextrlphtr lp htr extr enthalpy [Optional]
hwtstm est lp htr extr enthalpy [Optional]
wdrainin drain flow to lp htr [Optional]

146 SP_0030
9.8 Alstomexpan

ALSTOMEXPAN

Parameters Description Usage

wflashin flash stm drain to lp htr [Optional]


kcntlphtr overall iteration count [Optional]
wextrlphtr lp htr extr flow [Optional]
wdrnoutlphtr lp htr outlet drain flow [Optional]
wfhoutlphtr lp htr cond outlet flow [Optional]
wfhinlphtr lp htr cond inlet flow [Optional]
wturblaststg lp turb last stg extr flow [Optional]
hturblaststg lp turb last stg extr enth [Optional]
wltrex lp turb exhaust flow [Optional]
qext total heat in turb extrs [Optional]
qexhst net heat in lp turb exhaust [Optional]
hltrex lp turbine exhaust enthalpy [Optional]
hueep used energy end point [Optional]
helepes expan line end pt initial est [Optional]
helepe expan line end loop est [Optional]
kcount elep iteration count [Optional]
Fltrex expan line end point stm qual [Optional]
Rmstrex expan line end point moisture [Optional]
vcnprslp lp exhaust hood spec volume [Optional]
wvolexhstlp lp hood exh flow per end [Optional]
hexlsslp lp hood exhaust loss [Optional]

vcnprshp hp exhaust hood spec volume [Optional]

wvolexhsthp hp hood exhaust flow per end [Optional]


hexlsshp hp hood exhaust loss [Optional]
hexlss average exhaust loss [Optional]
helep expan line end point [Optional]
selep expan line end point entropy [Optional]
krzexpn rzero exponent [Optional]
krzero expan line entropy equ const [Optional]
hnew last stg extr enth initial est [Optional]
hest last stg extr est enth [Optional]
stemp last stg extr est entropy [Optional]
sest last stg extr est entropy [Optional]
ksxexpn entropy coordinate exponent [Optional]
sxline expan line entropy coordinate [Optional]

SP_0030 147
9.8 Alstomexpan

ALSTOMEXPAN

Parameters Description Usage

wextrlphtra lp htr a extr flow [Optional]


wextrlphtrb lp htr b extr flow [Optional]
wdrnoutlphtra lp htr a drn flow [Optional]
wdrnoutlphtrb lp htr b drn flow [Optional]
wfhoutlphtra lp htr a cond outlet flow [Optional]
wfhoutlphtrb lp htr b cond outlet flow [Optional]
wfhinlphtra lp htr a cond inlet flow [Optional]
wfhinlphtrb lp htr b cond inlet flow [Optional]
hextrlphtra lp htr a extr enth [Optional]
hextrlphtrb lp htr b extr enthm [Optional]
Digital Outputs

zerrflag error flag [Optional]

Constants

hdelta 25.0
WVSEG0 110.0
WVSEG1 160.0
WVSEG2 260.0
WVSEG3 360.0
WVSEG4 520.0
WVSEG5 520.0
lpturbends 4.0
exloss1 [4] 57.958544, -1.3774511, 0.012635167, -4.0471311e-05
exloss2 [4] 17.419598, -0.25917085, 0.0013693467, 0.0
exloss3 [4] -18.55, 0.1630571, 0.00013392857, 0.0
exloss4 [4] -169.65873, 1.5955026, -0.0041911683, 4.0509259e-06
exloss5 [4] -90.905844, 0.73675144, -0.0012391775, 7.8914141e-07
exloss6 [4] -90.905844, 0.73675144, -0.0012391775, 7.8914141e-07

148 SP_0030
9.8 Alstomexpan

9.8.1 Alstomexpan Calculation Overview

The Lp turbine last stage extraction to low pressure heater is normally in the wet steam region.
This function is an expansion line swing method to solve for the lp heater (and last stage)
extraction flow and enthalpy, the used energy end point (hueep) and expansion line end point
(helep).

If the last stage extraction is superheated, the extraction enthalpy is calculated directly as a
superheated steam function of extraction steam temperature and pressure at the heater shell. If
the heater is not in-service, the extraction steam flow and enthalpy are set to zero, and the hueep
and helep are solved for directly.

Set expansion line curvature constant (khzero) to 1500 to designate a straight line

khzero = 1500.0;

Calculate expansion line function constant based on curvature (khzero)

kzero = pow(10.0, - khzero / 371.0);

Calculate average condenser back pressure (pacnprs). This is low pressure turbine exhaust
pressure.

pacnabs = (pacnabslp + pacnabshp) / 2.0;

Calculate dry specific volume at exhaust pressure of each low pressure turbine

vdrylp = vsvp(pacnabslp);
vdryhp = vsvp(pacnabshp);

Calculate reheat turbine bowl enthalpy (sipbwl)

pabsipbwl = pipbwl + patmos;


sipbwl = sswhp(hipbwl, pabsipbwl);

Calculate steam flow to lp turbine last stage by subtracting lp turbine extractions from crossover
flow (witrex).

wstmlaststg = witrex - wturblptot;

Calculate heat acquired by steam (qsttot) by calculating a steam heat balance around the turbine

qsttot = (whpstm * hhpstm + whrhip * hhrhip - wcrhte * hcrhte) / RHTCNV=1000;

Calculate heat in turbine extractions, excluding lp turbine last stage, by summing the product of
flow and enthalpy for each turbine stage extraction.

qsumext = qturbhp + qturbip + qturblp + qleakoff;

Calculate heat flow to glands - the total heat supplied to the steam seal regulator & gland steam
condenser minus lp gland supply.

qleaks = qssrlkg + qgsclkg - qlpglndsply;

Calculate total heat in energy generation including losses.

qgen = Pshaft * PENCNV=3412.142 / RHTCNV=1000;

SP_0030 149
9.8 Alstomexpan

Low pressure heater in-service if status flag zlpheater set.

if (zlpheater > 0)

Heater in-service, extraction steam superheated if extraction temp greater than saturation temp.
Otherwise, the steam is wet. Calculate degrees superheat (tshtlphtr) as the difference between
the measured heater extraction steam temp (textrlphtr) and the heater saturation temp (tsatlphtr)
and test for superheated steam.

if (textrlphtr > tsatlphtr)

Superheated steam. calculate enthalpy directly as function of temp and absolute pressure.

hextrlphtr = hsstp(textrlphtr, pabsextrlphtr);

else

Wet steam, estimate extraction enthalpy as saturated steam function of pressure.

hextrlphtr = hsvp(pabsextrlphtr);

Preset current estimate of lp heater extraction enthalpy (hwtstm).

hwtstm = 10000.0;

If flash tank present (flag zflashdrain set true) upstream heater drain goes to flash tank, and lp
heater inlet drain flow argument is set to zero. If a flash tank is not present, the inlet drain flow
argument is set to the upstream drain flow (wdrnoutup). The flash steam flow argument is zeroed
if a flash tank is not present.

if (zflashdrain > 0)

wflashin = wflashsteam;

else

wdrainin = wdrnoutup;

Start of overall iterative loop.

If the lp heater is in service, both the heater extraction enthalpy (hextrlphtr) and estimated
enthapy (hnew) are recalculated during the iterative procedure. Iterate until the absolute
difference between hfhelphtr and hnew is <= 0.1 btu/lb, or the number of iterations is exceeded.
Zero overall iteration counter.

kcntlphtr = 0.0;
while ((fabs(hextrlphtr - hwtstm) > 0.1) && (kcntlphtr <= 30))

Increment number iterations

kcntlphtr = kcntlphtr + 1.0;

Bypass lp heater, last stage extraction calculations if heater not in-service.

if (zlpheater > 0)

Heater in service, calculate lp heater and lp turbine last stage extraction flow and enthalpy.
Update current estimate of lp heater extraction enthalpy.

hwtstm = hextrlphtr;

150 SP_0030
9.8 Alstomexpan

Low pressure heater drain pump present and in service if flag zlpdrainpump set.

if (zlpdrainpump > 0)

Drain pump present and in service. Low pressure heater drain pumped forward into condensate
before upstream heater. Calculate extraction steam flow at heater shell (wextrlphtr) by performing
a heat balance. Calculate drain flow (wdrnoutlphtr). No flash tank if drain pumped forward.

wextrlphtr = ((wcndea - wdrnoutup) * (hfhoutlphtr - hfhinlphtr) -


(hdrnoutup - hdrnoutlphtr) * wdrainin) /
((hextrlphtr - hdrnoutlphtr) + (hfhoutlphtr - hfhinlphtr));
wdrnoutlphtr = wextrlphtr + wdrainin;

Calculate flow leaving heater (wfhoutltlphtr) by subtracting drain flow pumped forward
(wdrnoutlplphtr) from condensate flow (wcndea). Set heater inlet flow to outlet flow.

wfhoutlphtr = wcndea - wdrnoutlphtr;


wfhinlphtr = wfhoutlphtr;

else

Heater drain flows to condenser hotwell.

Flow through heater is condensate flow to deaerator (wcndea).

Calculate extraction flow at heater shell from heat balance, and calculate drain flow.

wextrlphtr = ((hfhoutlphtr - hfhinlphtr) * wcndea -


(hdrnoutup - hdrnoutlphtr) * wdrainin -
(hflashsteam - hdrnoutlphtr) * wflashin) /
(hextrlphtr - hdrnoutlphtr);
wdrnoutlphtr = wextrlphtr + wdrainin;

Set condensate flows into and out of heater to condensate flow to deaerator.

wfhoutlphtr = wcndea;
wfhinlphtr = wcndea;

Set conditions at turbine (wturblaststg, hturblaststg) to flow and enthalpy at heater shell. There is
no leakage to extraction line.

wturblaststg = wextrlphtr;
hturblaststg = hextrlphtr;

Calculate low pressure turbine exhaust flow (wltrex) by subtracting calculated lp turbine last stage
extraction flow (wturblaststg) from steam flow to last stage (wstmlaststg).

wltrex = wstmlaststg - wturblaststg;

SP_0030 151
9.8 Alstomexpan

Calculate used energy end point (low pressure turbine exhaust enthalpy) by conducting a thermal
and electrical energy balance around the whole turbine to establish the net heat flow to the
condenser and the dividing by the net steam flow to the condenser which is the low pressure
turbine exhaust flow.

Net heat flow to the condenser comprised of the following elements -


Net heat acquired by both superheated and reheated steam supplied toturbine (qsttot)
Heat in turbine extractions (qext)
Heat flow to glands (qleaks)
Equivalent heat in gross electrical load including all losses (qgen)

Total heat in turbine stage extractions (qext) by summing the heat in previous extractions
(sumext) to the heat in the number 7 extraction.

qext = qsumext + (wturblaststg * hturblaststg) / RHTCNV=1000;

Calculate net heat in low pressure turbine exhaust (qexhst) by subtracting heat in turbine stage
extractions (qext), heat flow to glands (qleaks) and generation energy (qgen) from net heat
acquired (qsttot).

qexhst = qsttot - qext - qleaks - qgen;

Calculate low pressure turbine exhaust enthalpy (hltrex) by dividing net heat in exhaust (qexhst)
by exhaust steam flow (wltrex). Set used energy end point (ueep) to exhaust enthalpy (hltrex).
This is average used energy end point of both low turbines.

hltrex = (qexhst / wltrex) * RHTCNV=1000;


hueep = hltrex;

The exhaust loss and expansion line end point are calculated by an iterative procedure because
the moisture at the expansion line end point has to be known to calculate exhaust loss. Once the
expansion line end point has converged, an expansion is projected from the expansion line point
to the stauration line. The lp turbine last stage extraction enthalpy is initially assumed to be
saturated, and is calculated using an expansion line swing method.

Calculate initial expansion line end point estimate (helepes) by subtracting constant enthalpy drop
(hdelta = 25 btu/lb) from used energy end point (hueep).

helepes = hueep - hdelta;

Calculate expansion line end point (helepe) by iterative procedure until elep and estimated elep
(helepes) within 0.1 btu/lb. do not exceed 30 ierations.

Preset estimated elep (helepe) and number iterations (count)

helepe = 10000.0;
kcount = 0;
while ((fabs(helepe - helepes) > 0.1) && (kcount <= 30.0))

Increment number iterations. reset estimated elep (helepe) to new calculated value (helepes).

kcount = kcount + 1.0;


helepe = helepes;

152 SP_0030
9.8 Alstomexpan

Calculate quality of the steam (qltrex) at estimated expansion line end point (helepe) and average
turbine exhaust pressure (pacnabs).

Fltrex = xswhp(helepe, pacnabs);

Calculate percent moisture (Rmstrex)

Rmstrex = 100.0 * (1.0 - Fltrex);

Calculate low pressure exhaust hood specific volume of exhaust steam (vcnprslp) by.

vcnprslp = vdrylp * (1.0 - 0.01 * Rmstrex);

Calculate lp hood exhaust loss per end. Assume total exhaust loss equally divided between lp
and hp hoods. There are lpturbends / 2 per hood.

wvolexhstlp = (0.5 * wltrex * vcnprslp / (lpturbends * 0.5)) * (1.0 / RHTCNV=1000);

Calculate lp hood exhaust loss (hexlsslp) as function of lp hood exhaust vol flow per end
(wvolexhstlp) based on Westinghouse exhaust loss curve.

if (wvolexhstlp <= WVSEG0)

hexlsslp = exloss1[0] + exloss1[1] * wvolexhstlp + exloss1[2] *pow(wvolexhstlp, 2.0) +


exloss1[3] * pow(wvolexhstlp, 3.0);

else

if (wvolexhstlp <= WVSEG1)

hexlsslp = exloss2[0] + exloss2[1] * wvolexhstlp + exloss2[2] *pow(wvolexhstlp, 2.0) +


exloss2[3] * pow(wvolexhstlp, 3.0);

else

if (wvolexhstlp <= WVSEG2)

hexlsslp = exloss3[0] + exloss3[1] * wvolexhstlp + exloss3[2] *pow(wvolexhstlp, 2.0) +


exloss3[3] * pow(wvolexhstlp, 3.0);

else

if (wvolexhstlp <= WVSEG3)

hexlsslp = exloss4[0] + exloss4[1] * wvolexhstlp + exloss4[2] *pow(wvolexhstlp, 2.0) +


exloss4[3] * pow(wvolexhstlp, 3.0);

else

if (wvolexhstlp <= WVSEG4)

hexlsslp = exloss5[0] + exloss5[1] * wvolexhstlp + exloss5[2] *pow(wvolexhstlp, 2.0) +


exloss5[3] * pow(wvolexhstlp, 3.0);

else

hexlsslp = exloss6[0] + exloss6[1] * wvolexhstlp + exloss6[2] *pow(wvolexhstlp, 2.0) +


exloss6[3] * pow(wvolexhstlp, 3.0);

SP_0030 153
9.8 Alstomexpan

Calculate high pressure exhaust hood specific volume of exhaust steam (vcnprshp) by multiplying
dry specific volume (vdryhp) by the moisture factor.

vcnprshp = vdryhp * (1.0 - 0.01 * Rmstrex);

Calculate hp hood exhaust loss per end. Assume total exhaust loss equally divided between lp
and hp hoods. There are lpturbends / 2 per hood.

wvolexhsthp = (0.5 * wltrex * vcnprshp / (lpturbends * 0.5)) * (1.0 / RHTCNV);

Calculate hp hood exhaust loss (hexlsshp) as function of hp hood exhaust vol flow per end
(wvolexhsthp) based on Westinghouse exhaust loss curve.

if (wvolexhsthp <= WVSEG0)

hexlsshp = exloss1[0] + exloss1[1] * wvolexhsthp + exloss1[2] *pow(wvolexhsthp, 2.0) +


exloss1[3] * pow(wvolexhsthp, 3.0);

else

if (wvolexhsthp <= WVSEG1)

hexlsshp = exloss2[0] + exloss2[1] * wvolexhsthp + exloss2[2] *pow(wvolexhsthp, 2.0) +


exloss2[3] * pow(wvolexhsthp, 3.0);

else

if (wvolexhsthp <= WVSEG2)

hexlsshp = exloss3[0] + exloss3[1] * wvolexhsthp + exloss3[2] *pow(wvolexhsthp, 2.0) +


exloss3[3] * pow(wvolexhsthp, 3.0);

else

if (wvolexhsthp <= WVSEG3)

hexlsshp = exloss4[0] + exloss4[1] * wvolexhsthp + exloss4[2] *pow(wvolexhsthp, 2.0) +


exloss4[3] * pow(wvolexhsthp, 3.0);

else

if (wvolexhsthp <= WVSEG4)

hexlsshp = exloss5[0] + exloss5[1] * wvolexhsthp + exloss5[2] *pow(wvolexhsthp, 2.0) +


exloss5[3] * pow(wvolexhsthp, 3.0);

else

hexlsshp = exloss6[0] + exloss6[1] * wvolexhsthp + exloss6[2] *pow(wvolexhsthp, 2.0) +


exloss6[3] * pow(wvolexhstlp, 3.0);

Calculate average exhaust loss.

hexlss = (hexlsslp + hexlsshp) / 2.0;

154 SP_0030
9.8 Alstomexpan

Estimate new expansion line endpoint (helepes) as function of used energy end point (ueep),
exhaust loss (hexlss) and percent moisture at expansion line end point using General Electric
equation defined in K.C. Cotton's "Evaluating and Improving Steam Turbine Performance".

Alstop has not defined an equation to do this.

helepes = hueep - 0.87 * hexlss * (1.0 - 0.01 * Rmstrex) * (1.0 - 0.0065 * Rmstrex);

Set expansion line end point (helep) to final calculated estimate (helepes), set error flag (errflg) if
no convergence. This is average expansion line end point for both low pressure turbines.

helep = helepes;
if ((kcount > 30.0) || (textrlphtr > tsatlphtr) || (zlpheater == 0))
if (kcount > 30.0)
zerrflag = 1;

break;

Calculate entropy, enthalpy coordinates on the expansion line in the wet region at the last stage
extraction pres (pabsturblaststg) using expansion line equation in GER2007C. The lp heater, last
stage extraction, low pressure turbine exhaust flow, used energy end point and expansion line
end point calculations are repeated using the new lp heater extraction enthalpy until the estimated
and calculated extraction enthalpies agree within 0.1 btu/lb.

Calculate the entropy (selep) at the calculate expansion line end point (helep) and turbine exhaust
pressure (pacnabs).

selep = sswhp(helep, pacnabs);

Calculate the GER2007C rzero term. First calculate required exponent (krzexpn).khzero is
expansion line curvature constant.

krzexpn = (helep - (hipbwl + khzero)) / 371.0;


krzero = ((sipbwl - selep) + kzero - pow(10.0, krzexpn)) / (hipbwl - helep);

For first pass assume initial estimate (hnew) of last stage extraction enthalpy is saturated steam
function of extraction pressure (pabsturblaststg).

hnew = hsvp(pabsturblaststg);

Set current enthalpy estimate (hest) to new calculated value hnew.

hest = hnew;

Calculate entropy (sest) at estimated extraction enthalpy (hest) and last stage extraction pressure
(pabsturblaststg). Test for error condition if subccooled enthalpy return. In this case, set error flag
and exit the function.

stemp = sswhp(hest, pabsturblaststg);

if (stemp < 1.0)

zerrflag = 1;
break;

SP_0030 155
9.8 Alstomexpan

else

sest = stemp;

Calculate entropy coordinate on expansion line (sxline) at estimated enthalpy.

(hest) per GER2007C. Calculate required exponent (sxexpn).

ksxexpn = (helep - (hest + khzero)) / 371.0;


sxline = pow(10.0, ksxexpn) + krzero * (hest - helep) + selep - kzero;

Calculate new last stage extraction enthalpy (hnew) by adding the product of the expansion line
curvature (hzero) times the difference between the expansion line entropy (sxline) and estimated
last stage extraction entropy (sest) to the current estimated extraction enthalpy (hest).

hnew = hest + khzero * (sxline - sest);

Convergence. Calculate overall iterative loop result - heater 7 extraction enthalpy (hextrlp) and
number 7 extraction enthalpy (hturb7).

hextrlphtr = hnew;
hturblaststg = hnew;

if (kcntlphtr > 30.0)

zerrflag = 1;

For parallel heaters, calculate a,b parameters. Assume the total last stage extraction flow is
equally divided between the two heaters.

if (zlpparallel > 0)

wextrlphtra = 0.5 * wextrlphtr;


wextrlphtrb = wextrlphtra;
wdrnoutlphtra = 0.5 * wdrnoutlphtr;
wdrnoutlphtrb = wdrnoutlphtra;
wfhoutlphtra = 0.5 * wfhoutlphtr;
wfhoutlphtrb = wfhoutlphtra;
wfhinlphtra = 0.5 * wfhinlphtr;
wfhinlphtrb = wfhinlphtra;
hextrlphtra = hextrlphtr;
hextrlphtrb = hextrlphtr;

156 SP_0030
9.9 Analoginavg

9.9 Analoginavg

The Analoginavg algorithm inputs from the selected input source and outputs averaged local
values.

NO Units are Converted.

ANALOGINAVG

Parameters Description Usage

Analog Inputs

ainput1 Analog input 1 REQUIRED

ainput2 - through Analog input 2 - through Analog input 200 [Optional]


ainput200
Digital Inputs

< NONE >

Analog Outputs

ainput1_avg Analog input avg 1 [Optional]

ainput2_avg - Analog input avg 2 - Analog input avg 200 [Optional]


ainput200_avg
Digital Outputs

< NONE >

Constants

< NONE >

9.9.1 Analoginavg Calculation Overview

The configured inputs are averaged according to the settings set on the design screen.

Analoginavg Outputs

The analog outputs ainput1_avg, ainput2_avg, etc are assigned the average value of ainput1,
ainput2, etc.

SP_0030 157
9.10 Analogout

9.10 Analogout

The Analogout algorithm outputs to configured output source from local input values.

NO Units are Converted.

ANALOGOUT

Parameters Description Usage

Analog Inputs

ainput1 local Analog input 1 REQUIRED

ainput2 - through local Analog input 2 - through [Optional]


ainput200 local Analog input 200
Digital Inputs

< NONE >

Analog Outputs

aoutput1 local Analog input 1 [Optional]

aoutput2 - through local Analog input 2 - through [Optional]


aoutput200 local Analog input 200
Digital Outputs

< NONE >

Constants

< NONE >

9.10.1 Analogout Calculation Overview

The Analogout algorithm outputs the configured inputs to the selected output.

Analogout Outputs

The local tags (ainput1, ainput2, etc.) are configured to the analog inputs and sent to the selected
output source for the configured tags (aoutput1, aoutput2, etc.).

158 SP_0030
9.11 And6

9.11 And6

The And6 algorithm ANDs together 6 inputs.

NO Units are Converted.

AND6

Parameters Description Usage

Analog Inputs

kdummy dummy Analog value [Optional] Does not need to be configured.

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zdvalue1 and6 Digital value 1 REQUIRED

zdvalue2 and6 Digital value 2 REQUIRED Defaults to a 1 if not


configured.
zdvalue3 and6 Digital value 3 [Optional] Defaults to 1 if not configured.
zdvalue4 and6 Digital value 4 [Optional] Defaults to 1 if not configured.
zdvalue5 and6 Digital value 5 [Optional] Defaults to 1 if not configured.
zdvalue6 and6 Digital value 6 [Optional] Defaults to 1 if not configured.
Analog Outputs

< NONE >

Digital Outputs

zand6_result and6 result REQUIRED

Constants

< NONE >

9.11.1 And6 Calculation Overview

The And6 algorithm ANDs the inputs zdvalue1-zdvalue6 together.

And6 Outputs

zand6_result = zdvalue1 & zdvalue2 & zdvalue3 & zdvalue4 & zdvalue5 & zdvalue6;

SP_0030 159
9.12 Anlgcmp2poly

9.12 Anlgcmp2pol y

The Anlgcmp2poly algorithm calculates the y-value of a polynomial based on an x input and can
be split into two polynomials by an Analog value.

NO Units are Converted.

ANLGCMP2POLY

Parameter Description Usage


Analog Inputs

kptload val check which poly calc [Optional]

kptlimit limit check which poly calc [Optional]


kxval x value for poly 1 [Optional]
kptgain gain value for poly 1 [Optional]
kptbias bias value for poly 1 [Optional]
kxval2 x value for poly 2 [Optional]
kptgain2 gain value for poly 2 [Optional]
kptbias2 bias value for poly 2 [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

kyvalue y value REQUIRED

Digital Outputs

< NONE >

Constants

kapoly[0] = 0 kapoly2[0] = 0 kcload = 0.0

kapoly[1] = 1 kapoly2[1] = 1 kclimit = 0.0


kapoly[2] = 0 kapoly2[2] = 0 kcgain = 1
kapoly[3] = 0 kapoly2[3] = 0 kcbias = 0
kapoly[4] = 0 kapoly2[4] = 0 kcgain2 = 1
kapoly[5] = 0 kapoly2[5] = 0 kcbias2 = 0

160 SP_0030
9.12 Anlgcmp2poly

9.12.1 Anlgcmp2poly Calculation Overview

Anlgcmp2poly calculates the y-value of a polynomial based on an x input and can be split into two
polynomials by the comparing the total of analog inputs kptload + kcload the total of analog inputs
kptlimit + kclimit. The result can also be gained and biased.

Anlgcmp2poly Outputs

kload_tot = kptload + kcload


klimit_tot = kptlimit + kclimit

if (kload_tot <= klimit_tot)

kyvalue = kapoly[0] + kapoly[1] * kxval + kapoly[2] * pow(kxval,2) + kapoly[3] * pow(kxval,3) +


kapoly[4] * pow(kxval,4) + kapoly[5] * pow(kxval,5)
kgain_tot = kptgain + kcgain
kbias_tot = kptbias + kcbias

else

kyvalue = kapoly2[0] + kapoly2[1] * kxval2 + kapoly2[2] * pow(kxval2,2) + kapoly2[3] *


pow(kxval2,3) + kapoly2[4] * pow(kxval2,4) + kapoly2[5] * pow(kxval2,5)
kgain_tot = kptgain2 + kcgain2
kbias_tot = kptbias2 + kcbias2
kyvalue = (kyvalue * kgain_tot) + kbias_tot

SP_0030 161
9.13 Anlgcmppoly

9.13 Anlgcmppol y

The Anlgcmppoly algorithm calculates the y-value of a polynomial based on the x input between
two values.

NO Units are Converted.

ANLGCMPPOLY

Parameter Description Usage

Analog Inputs

kptload val to determine poly calc [Optional]

kptlolimit lower limit poly to calc [Optional]


kptuplimit upper limit poly to calc [Optional]
kxval x value [Optional]
kptgain gain value [Optional]
kptbias bias value [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

kyvalue y value REQUIRED

Digital Outputs

< NONE >

Constants

kapoly[0] = 0 kapoly[4] = 0 kclolimit = 0.0

kapoly[1] = 1 kapoly[5] = 0 kcuplimit = 0.0


kapoly[2] = 0 kcgain = 1 kcload = 0.0
kapoly[3] = 0 kcbias = 0

9.13.1 Anlgcmppoly Calculation Overview

The Anlgcmppoly algorithm calculates the y-value of a polynomial based on the x input (kptload +
kcload) between the total of the lower limit (kptlolimit + kclolimit) and the upper limit (kptuplimit +
kcuplimit). If the x input does not fall within this range, the result (kyvalue) is set to zero.

Anlgcmppoly Outputs

kload_tot = kptload + kcload


klolimit_tot = kptlolimit + kclolimit
kuplimit_tot = kptuplimit + kcuplimit

162 SP_0030
9.13 Anlgcmppoly

if ((kload_tot >= klolimit_tot) && (kload_tot <= kuplimit_tot))

kyvalue = kapoly[0] + kapoly[1] * kxval + kapoly[2] * pow(kxval,2) +


kapoly[3] * pow(kxval,3) + kapoly[4] * pow(kxval,4) + kapoly[5] * pow(kxval,5)
kgain_tot = kptgain + kcgain
kbias_tot = kptbias + kcbias
kyvalue = (kyvalue * kgain_tot) + kbias_tot

else

kyvalue = 0

SP_0030 163
9.14 Asmeflowcomp

9.14 Asmeflow comp

The Asmeflowcomp algorithm performs a routine that compensates flow according to ASME
standards. This module calculates ASME on-line compensated flow based on temperature,
pressure, differential pressure, flow medium, flow element, element material, pressure tap type,
element inner diameter and beta ratio.

YES Units are Converted.

ASMEFLOWCOMP

Parameter Description Usage

Analog Inputs

tempcomp Compensation temperature REQUIRED

patmos Atmospheric pressure REQUIRED


prescomp Compensation pressure REQUIRED
pabsdeltap Differential pressure REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

wflowcomp Calculated compensated flow [Optional]

kdiameter Diameter [Optional]


kbeta_ratio Beta ratio [Optional]
pabscomp Absolute compensation pressure [Optional]
kdiam2 Diameter squared [Optional]
kbeta2 Beta ratio squared [Optional]
kbeta4 Beta ratio fourth [Optional]
kbeta16 Beta ratio sixteenth [Optional]
kdia_ratio Diameter divided by beta ratio [Optional]
kviscosity Viscosity [Optional]
kpres_ratio Pressure ratio [Optional]
kdelta_ratio Differential [Optional]
volcomp Compensation volume [Optional]
denscomp Compensation density [Optional]
kelem_corr Correction factor for flow type [Optional]
kflow_const Flow constant [Optional]
wflow_temp Temperature flow calc [Optional]
kreynolds Reynolds factor [Optional]
ktap1_c1 Tap type correction factor part 1 coefficient 1 [Optional]

164 SP_0030
9.14 Asmeflowcomp

ASMEFLOWCOMP

Parameter Description Usage

ktap1_c2 Tap type correction factor part 1 coefficient 2 [Optional]

ktap1_c3 Tap type correction factor part 1 coefficient 3 [Optional]

ktap1 Tap type correction factor part 1 [Optional]


ktap2 Tap type correction factor part 2 [Optional]
ktap3 Tap type correction factor part 3 [Optional]
ktap_corr Tap type correction factor [Optional]
kmater_corr Material type correction factor [Optional]
Digital Outputs

zerror Digital error flag [Optional]

Constants

kmaxloop Maximum number of loops

9.14.1 Asmeflowcomp Calculation Overview

Asmeflowcomp takes the analog input (kvalue) and multiplies by the gain (kptgain + kcgain) and
adds the bias (kptbias + kcbias).

Asmeflowcomp Outputs

Check for negative and zero pressures and temperatures. If negative, set the flow to zero with
bad quality. Also, check for inputs out of range.

if ((pabsdeltap < 1E-06) || (pabsdeltap == QUAL_BAD) ||

(prescomp == QUAL_BAD) || (patmos == QUAL_BAD) ||


(tempcomp == QUAL_BAD) || (patmos < 1E-06) || (tempcomp < 32) ||
((prescomp - patmos) < 0.01 ) || ((prescomp + patmos) > 16000.0) ||
(tempcomp > 1600.0))
zerror = 1
wflowcomp = QUAL_BAD

Next, the design screen information is read in and the following calculations are performed.

pabscomp = prescomp + patmos


kdiam2 = pow(kdiameter,2)
kbeta2 = pow(kbeta_ratio,2)
kbeta4 = pow(kbeta2,2)
kbeta16 = pow(kbeta4,4)
kdia_ratio = kdiameter / kbeta_ratio;

SP_0030 165
9.14 Asmeflowcomp

For steam, the following calculations are done according to the ASME flow compensation.

kviscosity = vcsstp(tempcomp,pabscomp)
kpres_ratio = (pabscomp - pabsdeltap) / pabscomp
kdelta_ratio = pabsdeltap / pabscomp
volcomp = vsstp(tempcomp,pabscomp)
denscomp = 1.0 / volcomp

Calculate the compensation factor for the element type. For nozzles,

kelem_corr = sqrt(pow(kpres_ratio,(2.0/1.3)) * (1.3 / (1.3-1.0)) *

((1.0 - pow(kpres_ratio,((1.3-1.0)/1.3))) / (1.0 - kpres_ratio)) *


((1.0 - kbeta4) / (1.0 - kbeta4 * pow(kpres_ratio,(2.0/1.3)))))

For orifices,

kelem_corr = 1.0 - (0.41 + 0.35 * kbeta4) * kdelta_ratio / 1.3

For water cases,

kviscosity = vccltp = (tempcomp,pabscomp)


volcomp = vcltp(tempcomp,pabscomp)
denscomp = 1.0 / volcomp
kelem_corr = 1.0

Calculate preliminary flow calculations to establish Reynold's number and discharge


coefficient.

kflow_const = (3600.0 * 3.141592654 * sqrt(2.0 * 32.1740486 * (62.32082762 /


pow(12.0,3.0)))) / 48.0
wflow_temp = kflow_const * kdiam2 * sqrt((pabsdeltap * 1.0 /INWGtoPSI) * denscomp)

BEGIN LOOP

kreynolds = (0.004244132 * wflow_temp) / (kdiameter * kviscosity)

For nozzles,

ktap1 = 1.0
if (kreynolds < 1.0E06) ktap1 = 0.5
if (kreynolds > 1.0E06) ktap1 = 0.2
ktap_corr = (0.9975 - 0.00653 * pow((1.0E06 / kreynolds),ktap1)) * 1.0 / sqrt(1.0 - kbeta4)

For orifices with Vena Contracta taps,

ktap1 = 0.5992 + 0.4252 * (6.0E-04 / (kdiam2 + 1.0E-02 * kdia_ratio) + kbeta4 + 1.25 *


kbeta16)
ktap2 = 2.5E-04 + 2.325E-03 * (kbeta_ratio + 1.75 * kbeta4 + 10.0 * pow(kbeta_ratio,12.0) +
2.0 * kbeta16)

166 SP_0030
9.14 Asmeflowcomp

ktap3 = 1.0E03 / sqrt(kbeta_ratio * kreynolds)


ktap_corr = ktap1 + ktap2 * ktap3

For orifices with 1D and 2D tap types,

ktap1 = (0.6014 - 0.01352 * pow(kdia_ratio,-0.25)) + (0.376 + 0.07257 *


pow(kdia_ratio,-0.25)) +(2.5E-04 / (kdiam2 + 2.5E-03 * kdia_ratio) +
kbeta4 + 1.5 * kbeta16)
ktap2 = (2.0E-04 + 1.1E-03 / kdia_ratio) + (3.8E-03 + 4.0E-04 / kdia_ratio) * (kbeta2 + (16.5 +
5.0 * kdia_ratio) * kbeta16)
ktap3 = 1.0E03 / sqrt(kbeta_ratio * kreynolds)
ktap_corr = ktap1 + ktap2 * ktap3

For orifices with Flange tap types,

if (kbeta_ratio > (7.0E-02 + 0.5 / kdia_ratio)

ktap1_c1 = 0.0

else

ktap1_c1 = 0.4 * pow((1.6 - 1.0 / kdia_ratio),5.0) * pow(((7.0E-02 + 0.5 / kdia_ratio) -


kbeta_ratio),2.5)

if (kbeta_ratio > 0.5)

ktap1_c2 = 0.0

else

ktap1_c2 = (9.0E-03 + 3.4E-02 / kdia_ratio) * pow((0.5 - kbeta_ratio),1.5)

if (kbeta_ratio < 0.7)

ktap1_c3 = 0.0

else

ktap1_c3 = (6.5E01 / pow(kdia_ratio,2) + 3.0) *pow((kbeta_ratio - 0.7),2.5)


ktap1 = 0.5993 + 7.0E-03 / kdia_ratio + (0.364 + 7.6E-02 / sqrt(kdia_ratio)) *
kbeta4 + ktap1_c1 + ktap1_c2 + ktap1_c3ktap2 = kdiameter * (8.3E02 - 5.0E03 * kbeta_ratio
+ 9.0E03 * kbeta2 -4.2E03 * pow(kbeta_ratio,3) + 5.3E02 / sqrt(kdia_ratio))
ktap3 = ktap1 * (1.0E06 * kdiameter / (1.0E06 * kdiameter + 15.0 * ktap2))ktap_corr = ktap3 *
(1.0 + ktap2 / kreynolds)

Calulate thermal Expansion Factor for SS304/316.

kmater_corr = 0.998828 + 1.69267E-05 * tempcomp + 2.98487E-09 * pow(tempcomp,2)

Calulate thermal Expansion Factor for Carbon Steel.

kmater_corr = 0.999035 + 1.33468E-05 * tempcomp + 2.3976E-09 * pow(tempcomp,2)

Calulate thermal Expansion Factor for Chrome-moly.

kmater_corr = 0.999174 + 1.1731E-05 * tempcomp + 2.46041E-09 * pow(tempcomp,2)

SP_0030 167
9.14 Asmeflowcomp

Finally, calculate the compensated flow.

wflowcomp = kflow_const * ktap_corr * kmater_corr * kelem_corr * kdiam2 * sqrt((pabsdeltap


* 1.0 / INWGtoPSI) * denscomp);

END LOOP

Convert the calculated flow to the default units, KLB/HR. Note that the units will still be
converted to the user selected units.

wflowcomp = wflowcomp / 1000.0

168 SP_0030
9.15 Arctan

9.15 Arctan

The Arctan algorithm is the Arc tangent algorithm.

NO Units are Converted.

ARCTAN

Parameters Description Usage

Analog Inputs

kvalue input to arctan algorithm REQUIRED

kptgain abs val gain value [Optional]


kptbias abs val bias value [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

karctan_res arctan result value REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

9.15.1 Arctan Calculation Overview

Arctan calculates the arc tangent of the input value (kvalue). The result can also be gained and
biased.

Arctan Outputs

karctan_res = atan(kvalue)
kgain = kptgain + kcgain
kbias = kptbias + kcbias
karctan_res = (karctan_res * kgain) + kbias

SP_0030 169
9.16 Avalgen

9.16 Avalgen

The Avalgen algorithm takes the value of a number, multiplies by the gain and adds the bias.

NO Units are Converted.

AVALGEN

Parameters Description Usage

Analog Inputs

kvalue input to avalgen value algorithm [Optional]

kptgain abs val gain value [Optional]


kptbias abs val bias value [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

kavalgen_res Analog value result REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

9.16.1 Avalgen Calculation Overview

Avalgen takes the analog input (kvalue) and multiplies by the gain (kptgain + kcgain) and adds the
bias (kptbias + kcbias).

Avalgen Outputs

kavalgen_res = kvalue;
kgain = kptgain + kcgain;
kbias = kptbias + kcbias;
kavalgen_res = (kavalgen_res * kgain) + kbias

170 SP_0030
9.17 Avg4

9.17 Avg4

The Avg4 algorithm averages four numbers.

NO Units are Converted.

AVG4

Parameters Description Usage

Analog Inputs

kvalue1 avg4 value 1 REQUIRED

kvalue2 avg4 value 2 REQUIRED


kvalue3 avg4 value 3 [Optional]
kvalue4 avg4 value 4 [Optional]
kptgain avg4 gain value [Optional]
kptbias avg4 bias value [Optional]
Digital Inputs

zdocalc REQUIRED

Analog Outputs

kavg4_result avg4 result REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

9.17.1 Avg4 Calculation Overview

The Avg4 algorithm averages the configured analog inputs (kvalue1-kvalue4) and multiplies by
the gain (kptgain + kcgain) and adds the bias (kptbias + kcbias).

Avg4 Outputs

If at least 1 point is configured, the average is calculated where kpts = number of points
configured.

kavg4_result = (kvalue1 + kvalue2 + kvalue3 + kvalue4) / kpts


kgain_tot = kptgain + kcgain
kbias_tot = kptbias + kcbias
kavg4_result = (kavg4_result * kgain_tot) + kbias_tot

If no points are configured, the kavg4_result is set to 0 with bad quality.

SP_0030 171
9.18 Avg10

9.18 Avg10

The Avg10 algorithm averages 10 numbers.

NO Units are Converted.

AVG10

Parameters Description Usage

Analog Inputs

kvalue1 avg10 value 1 REQUIRED

kvalue2 avg10 value 2 REQUIRED


kvalue3 avg10 value 3 [Optional]
kvalue4 avg10 value 4 [Optional]
kvalue5 avg10 value 5 [Optional]
kvalue6 avg10 value 6 [Optional]
kvalue7 avg10 value 7 [Optional]
kvalue8 avg10 value 8 [Optional]
kvalue9 avg10 value 9 [Optional]
kvalue10 avg10 value 10 [Optional]
kptgain avg10 gain value [Optional]
kptbias avg10 bias value [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

kavg10_result avg10 result REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

172 SP_0030
9.18 Avg10

9.18.1 Avg10 Calculation Overview

Avg10 averages the configured analog inputs (kvalue1-kvalue10) and multiplies by the gain
(kptgain + kcgain) and adds the bias (kptbias + kcbias).

Avg10 Outputs

If at least 1 point is configured, the average is calculated where kpts = number of points
configured.

kavg10_result = (kvalue1 + kvalue2 + kvalue3 + kvalue4 + kvalue5 + kvalue6 + kvalue7 +


kvalue8 + kvalue9 + kvalue10) / kpts
kgain_tot = kptgain + kcgain
kbias_tot = kptbias + kcbias
kavg10_result = (kavg10_result * kgain_tot) + kbias_tot

If no points are configured, the kavg10_result is set to 0 with bad quality.

SP_0030 173
9.19 Basectg

9.19 Basectg

The Basectg module calculates the following:


 evaporator/chiller efficiency if one is present
 corrected load
 ratio to guaranteed or ISO load
 heat input in fuel
 total heat input into combustion turbine
 thermal efficiency
 heat rate
 corrected heat rate
 ratio to guarantee designer ISO heat rate
 heat rate deviation
 corrected turbine efficiency
 heat consumption
 exhaust gas heat and exhaust gas flow.
YES Units are Converted.

BASE CTG

Parameters Description Usage

Analog Inputs

tchillerinlt chiller inlet temperature [Optional] Required if a


chiller/evaporator is present.
tchilleroutlt chiller outlet temperature [Optional] Required if a
chiller/evaporator is present.
tempambnt ambient air temperature [Optional] Required if a
chiller/evaporator is present.
tcompin compressor inlet temperature [Optional] Required if a
chiller/evaporator is present.
twetbulb wet bulb temperature [Optional] Required if a
chiller/evaporator is present.
eevapdes evaporator desogn efficiency [Optional] Required if a
chiller/evaporator is present.
patmos atmospheric pressure REQUIRED

FPcorcmpinlt comp inlet temp pwr corr fact [Optional] Required if compressor
inlet temperature power corr factor
is used.
FPcorcmpinlp comp inlet press pwr corr fact [Optional] Required if combustion
turbine inlet pressure loss power
corr factor is used.
FPcorexhpr exaust press power corr fact [Optional] Required if combustion
turbine exhaust pressure loss
power corr factor is used.

174 SP_0030
9.19 Basectg

BASE CTG

Parameters Description Usage

FPcorinjused injection power corr factor [Optional] Required if combustion


turbine injection loss power
correction factor is used.
FPcoratmospr atmospher press pwr corr fact [Optional] Required if atmospheric
pressure power correction factor is
used.
FPcorrelhum real humidity pwr corr fact [Optional] Required if relative
humidity power correction factor is
used.
FPcormisc misc power correction factor [Optional] Required if
miscellaneous power correction
factor is used.
Pcombturb combustion turbine pwr output REQUIRED

Pcombtdes design combustion turbine pwr output [Optional]

wtotfuel total fuel flow REQUIRED Output from fuels


algorithm
hlhvfuel lower heating value of fuel [Optional] The lower or higher
heating value is required.
hhhvfuel higher heating value of fuel [Optional] The lower or higher
heating value is required.

winj injection flow [Optional] Use if injection flow is


present.
pinj injection pressure [Optional] Use if there is fuel
injection.
tinj injection temperature [Optional] Use if there is fuel
injection.
Frcorcmpinlt comp inlet temp htrt corr fact [Optional] Required if compressor
inlet temp heat rate corr factor is
used.
Frcorcmpinlp comp inlet pres htrt corr fact [Optional] Required if combustion
turbine inlet pressure loss heat rate
corr factor is used.
Frcorexhpr exhaust press htrte corr fact [Optional] Required if comb turbine
exhaust pressure loss heat rate
corr factor is used.
Frcorinjused inj heat rate correction fact [Optional] Required if injection loss
heat rate correction factor is used.
Frcoratmospr atmos press ht rate corr fact [Optional] Required if atmospheric
pressure heat rate correction factor
is used.
Frcorrelhum rel humid heat rate corr fact [Optional] Required if relative
humidity heat rate corr factor is
used.

SP_0030 175
9.19 Basectg

BASE CTG

Parameters Description Usage

Frcormisc misc heat rate combust turb design [Optional] Required if


miscellaneous heat rate correction
factor is used.
rhrctdes heat rate combust turb design [Optional] Required if heat rate
combust turb design.
kpcnthtloss misc ht loss pcnt of fuel ht [Optional] If not configured, will be
read from design screen.
wctestair combust turbine est air flow [Optional]
tctout combust turbine outlet temp REQUIRED
Rcarb pct carbon in fuel REQUIRED Output from fuels
algorithm.
Rco2 pcnt CO2 in fuel REQUIRED Output from fuels
algorithm.
Rhydr pcnt hydrogen in fuel REQUIRED Output from fuels
algorithm.
Rco pcnt CO in fuel REQUIRED Output from fuels
algorithm.
Rnitr pcnt nitrogen in fuel REQUIRED

Roxy pcnt oxygen in fuel REQUIRED Output from fuels


algorithm.
Rsulf pcnt sulfer in fuel REQUIRED Output from fuels
algorithm.
Rso2 pcnt SO2 in fuel REQUIRED Output from fuels
algorithm.
Rncmbt pcnt non combustibles in fuel [Optional] Output from fuels
algorithm.

Wvap ambient specific humidity REQUIRED

Wvapcmpin ambient spec hum at comp inlet REQUIRED

tcompout compressor outlet temperature [Optional]


pcompin compressor inlet pressure [Optional]
pcompout compressor outlet pressure [Optional]
pctgexh gas turbine exhaust pressure [Optional]

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

zchiller_on chiller in service digital flg [Optional] Needed if using digital


logic to check chiller in-service.

Analog Outputs

176 SP_0030
9.19 Basectg

BASE CTG

Parameters Description Usage

tchiller_drop chiller temp drop [Optional]

tchiller_thresh chiller threshold value [Optional]


eevapact evaporator eff [Optional]
eevapdev evaporator eff dev from design [Optional]

Pcombtcorr corrected combust turb pwr [Optional]


Rctbaseload percent base load [Optional]

qfuelin total heat input in fuel [Optional]


pabsinj injection absolute pressure [Optional]

hinj injection enth [Optional]

qinj heat added by injection [Optional]


qctintot tot heat input to combust turb [Optional]

qctpwrout combturb ht out due to pwr gen [Optional]


ecttherm combust turb thermal eff [Optional]

rhrcombturb combust turb heat rate [Optional]


rhrctcorr combust turb corr heat rate [Optional]

rhrctdev combust turb htrt dev from des [Optional]


ectcorr corrected combust turb eff [Optional]

qcthtcorr corr combust turb heat rate [Optional]

kmischeatloss misc heat loss percentage [Optional]


qctexh comturb heat out in exha gases [Optional]
Ffueltoairact actual fuel to air ratio [Optional] Used in hrsg algorithm.

wctexh combust turb exhaust gas flow [Optional] Used in hrsg algorithm.

hctdes comb turb des exhaust gas enth [Optional] Used in hrsg algorithm.

hctcompin xhst gas enth @comp inlet temp [Optional] Used in hrsg algorithm as
hctref input.
hctexhout exhst gas enth @exhst gas temp [Optional]
kcompadb ideal gas const for comp in temp [Optional]

tcompadb compressor adiabatic temperature [Optional]

SP_0030 177
9.19 Basectg

BASE CTG

Parameters Description Usage

ecompeff compressor adiabatic efficiency [Optional]


pabsinloss ctg inlet pressure loss [Optional]
pabsoutloss ctg outlet pressure loss [Optional]
Digital Outputs

< NONE >

Constants

PDELTACOMP,20.0 Delta between the inlet and outlet (If the pressure difference is less
compressor pressures than this delta, compressor
calculations will not be done.)

9.19.1 Basectg Calculation Overview

If a chiller is present,

if (InServiceLogic == DIGITAL)
if (zchiller_on)
zdochiller = 1;

else

tchiller_thresh = TempRiseThresholdVal
tchiller_drop = fabs(tchilleroutlt - tchillerinlt);

if (tchiller_drop > tchiller_thresh)

zdochiller = 1;

if (zdochiller)

eevapact = 100.0 * ((tempambnt - tcompin) / (tempambnt - twetbulb));


eevapdev = eevapact - eevapdes;

else

eevapact = 0.0;
eevapdev = 0.0;

Calculate the ideal gas constant which is computed as a polynomial function of compressor inlet
temperature.

kcompadb = 1.40088577 + (0.00000195285 * tcompin) - (1.07259e-07 * pow(tcompin,2)) +


(7.24161e-11 * pow(tcompin,3)) - (1.51924e-14 * pow(tcompin,4))

178 SP_0030
9.19 Basectg

The adiabatic temperature is calculated.

tcompadb = pow(((pcompout+patmos) / (pcompin +patmos)), ((kcompadb - 1.0) / kcompadb))


* (tcompin + DEGFtoDEGR)

Compressor adiabatic efficiency, in percent (%), is then estimated.

ecompeff = (((temprankadb - DEGFtoDEGR) - tcompin)/(tcompout - tcompin)) * 100.0

Calculate inlet and outlet pressure losses

pabsinloss = patmos - (pcompin + patmos)


pabsoutloss = patmos - (pctgexh + patmos)

Correct ctg output to ISO or guarantee by dividing measured output by the product of the
correction factors used. The possible correction factors are inlet temperature, inlet pressure loss,
exhaust pressure loss, injection loss, atmospheric pressure and relative humidity.

Pcombtcorr = Pcombturb / (FPcorcmpinlt * FPcorcmpinlp * FPcorexhpr * FPcorinjused *


FPcoratmospr * FPcorrelhum * FPcormisc);

Percent base load is the ratio of corrected output to design load

Rctbaseload = 100.0 * Pcombtcorr / Pcombtdes ;

Calculate total heat in the fuel by adding the sensible heat (qsensheat) to the heat input at
standard base conditions - the product of mass flow (wtotfuel) and the net heat at standard base
conditions.

if (CTHeatingValue() == HV_LOWER)
qfuelin = (wtotfuel * hlhvfuel) / 1000;

else

qfuelin = (wtotfuel * hhhvfuel) / RHTCNV;

Calculate total heat input to the combustion turbine (qctintot) as the sum of heat input in the fuel
and the heat input in the steam injection (power augmentation) if steam injection present.
Calculate injection steam enthalpy (hinj), injection steam enthalpy at reference temperature & the
heat in the injection steam (qinj)

if (CT Injection Used && (winj > 0.0))

Calculate injection enthalpy as superheated steam function or saturated liquid function of


measured temp (tinj) and pressure (pinj).

Calculate heat in injection. per ASME PTC 4.4 the heat in the injection is calculated by multiplying
the injection flow (winj) by the enthalpy difference between the injection enthalpy (hinj) and the
enthalpy of the injection (hinjref) at the reference temperature.

We are calculating the enthalpy of saturated steam at the reference temperature.

if (CT Injection Type == STEAM)

pabsinj = pinj + patmos;


hinj = hsstp(tinj, pabsinj);

SP_0030 179
9.19 Basectg

else

pabsinj = 0.0;
hinj = hlst(tinj);
qinj = (winj * hinj) / RHTCNV;

else

Injection not present, set absolute pressure, injection enthalpy and injection enthalpy at reference
temperature and heat in injection to zero.

pabsinj = 0.0;
hinj = 0.0;
qinj = 0.0;

Calculate total heat to combustion turbine (qctintot) as the sum of heat input in the fuel (qfuelin)
and heat in steam injection (qstminj)

qctintot = qfuelin + qinj;

Calculate heat output due to power generation.

qctpwrout = Pcombturb * 3412.142 / 1000;

Calculate operating thermal efficiency as the ratio of the heat output in power (qctpwrout) to the
heat input (qctintot)

ecttherm = qctpwrout/qfuelin * 100.0;

Calculate combustion turbine heat rate as ratio of heat input (qctintot) to measured power
(Pcombturb)

rhrcombturb = (qfuelin/Pcombturb) * 1000;

Correct ctg heat rate to ISO or guarantee by dividing measured output by the product of the
correction factors used. The possible correction factors are inlet temperature, inlet pressure loss,
exhaust pressure loss, injection loss, atmospheric pressure and relative humidity.

rhrctcorr = rhrcombturb / (Frcorcmpinlt * Frcorcmpinlp * Frcorexhpr * Frcorinjused *


Frcoratmospr * Frcorrelhum * Frcormisc);

Calculate deviation between corrected heat rate (rhrctcorr) and design ct heat rate (rhrctdes)

rhrctdev = rhrctcorr - rhrctdes;

Corrected combustion turbine efficiency

ectcorr = (3412.142/rhrctcorr) * 100.0;

Corrected combustion turbine heat consumption

qcthtcorr = (Pcombtcorr * rhrctcorr) / 1000;

180 SP_0030
9.19 Basectg

Calculate heat output in exhaust gases per ASME PTC 4.4 by subtracting heat output in power
(qctpwrout) and miscellaneous heat losses (estimated to be a percentage of the total heat in fuel)
from the total heat input (qctintot)

Check the point for miscellaneous losses first and if configured, use this value. If not configured,
use the value from the design screen.

if (kpcnthtloss configured)

kmischeatloss = kpcnthtloss;

else

kmischeatloss = CTMiscHeatLossPct();
qctexh = qctintot - qctpwrout - (kmischeatloss/100.0 * qfuelin);

Calculate estimated fuel to air ratio. divide gas flow by estimated air flow (wctestair).

Ffueltoairact = wtotfuel / wctestair;

Calculate exhaust gas flow

wctexh = wctestair + wtotfuel + winj;

Calculate actual exhaust gas enthalpies - exhaust gas enthalpy at 32 degF

hctdes = function enthal(temp1, Ffueltoairact, temp2, Wvapcmpin, Wvap, Rcarb, Rco2,


Rhydr, Rco, Rnitr, Roxy, Rsulf, Rso2, Rncmbt, temp2, HCONV);

Calculate exhaust gas enthalpy at exhaust gas temperature

hctexhout = function enthal(tctout, Ffueltoairact,temp2, Wvapcmpin, Wvap, Rcarb, Rco2,


Rhydr, Rco, Rnitr, Roxy, Rsulf, Rso2, Rncmbt, hctdes, HCONV);

Calculate exhaust gas enthalpy at compressor inlet temperature */

hctcompin = function enthal (tcompin, Ffueltoairact,temp2, Wvapcmpin, Wvap, Rcarb, Rco2,


Rhydr, Rco, Rnitr, Roxy, Rsulf, Rso2, Rncmbt, hctdes, HCONV);

SP_0030 181
9.20 Bfpturb

9.20 Bfpturb

The Bfpturb algorithm is the boiler feed pump turbine algorithm. This algorithm is used to
calculate performance of the feed pump turbine that can be supplied by:
 high pressure steam only.
 low pressure (or extraction) steam only.
 mixed high pressure and low pressure steam.
Mixed supply steam and isentropic enthalpies are computed. Boiler feed pump turbine exhaust
steam enthalpy is computed by a heat balance comparing the heat in the steam to the work done
on the water by the boiler feed pump, that is, the water horsepower. Turbine efficiency is
computed and compared to design efficiency.

YES Units are Converted.

BFPTURB

Parameter Description Usage

Analog Inputs

patmos atmospheric pressure REQUIRED


whpbfpt high pres steam flow [Optional]
phpbfpt high pres steam pres [Optional]
thpbfpt high pres steam temp [Optional]
wexbfpt extraction steam flow [Optional]
pexbfpt extraction steam pres [Optional]
texbfpt extraction steam pres [Optional]
wsealsply steam seal sply flow [Optional]
hsealsply steam seal sply enth [Optional]
wseallkge steam seal lkge flow [Optional]
hseallkge steam seal lkge enth [Optional]
pabsbfptexh exhaust pressure (inhga) REQUIRED
ebfpteffdes design bfp turb efficiency [Optional]
Phpbfpmp total pump output power REQUIRED
hbfptotsuc total pump suction enth REQUIRED
hbfptotdis total pump discharge enth REQUIRED
tbfptotsuc total pump suction temp REQUIRED
pabsbfptotsuc total pump suction pres REQUIRED
pabsbfptotdis total pump discharge pres REQUIRED
Pbfptotdlt total pump input power diff REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

182 SP_0030
9.20 Bfpturb

BFPTURB

Parameter Description Usage

Analog Outputs

wbfptstm total mixed steam supply [Optional]

Fhpbfpt fraction high pres steam sply [Optional]


Fexbfpt fraction extraction steam sply [Optional]
pabshpbfpt high pres steam sply pres [Optional]
hhpbfpt high pres steam sply enth [Optional]
pabsexbfpt extraction steam sply pres [Optional]
hexbfpt extraction steam sply enth [Optional]
hbfptstm mixed steam supply enthalpy [Optional]
wbfptexh exhaust steam flow [Optional]
qbfptstm bfp turb steam heat input [Optional]
qsealsply bfp turb steam seal sply heat [Optional]
qseallkge bfp turb steam seal lkge enth [Optional]
qbfptexh bfp turb Exhaust heat [Optional]
hbfptexh bfp turb Exhaust enthalpy [Optional]
hhpbfptisen high pres steam sply isen enth [Optional]
hexbfptisen extrac steam sply isen enth [Optional]
hbfptisen mixed steam isentropic enth [Optional]
ebfpteff bfp turbine efficiency [Optional]
ebfpteffdev bfp turb efficiency dev [Optional]

qbfptgen bfp turbine heat generated [Optional]


Pbfptgen bfp turb power generated [Optional]
sbfptotsuc bfp turb suction entropy [Optional]
hbfptotrise bfp total pump enth rise [Optional]
hbfptotisen bfp total pump isen enth rise [Optional]
hbfptotisrise bfp total isen enth rise [Optional]
ebfptoteff bfp total pump effcieincy [Optional]
Pbfptotin bfp total input power [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 183
9.20 Bfpturb

9.20.1 Bfpturb Calculation Overview

Boiler feed pumps are important pieces of auxiliary equipment whose condition plays a major role
in the heat rate and maximum capacity of a generating unit. Calculating efficiency requires
accurate measurement of suction pressure and temperature, discharge pressure and
temperature, and pump flow.

Calculate total mixed steam supply to feed pump turbine

wbfptstm = whpbfpt + wexbfpt

Calculate mixed high pressure, extraction steam supply enthalpy based on individual enthalpies
and relative weight of high pressure and extraction steam supplies

hbfptstm = Fhpbfpt * hhpbfpt + Fexbfpt * hexbfpt

Where:

hbfptstm = Enthalpy of mixed steam supply to BFP


Fhpbfpt = Ratio of HP steam to steam mixture
hhpbfpt = Enthalpy of HP steam
Fexbfpt = Ratio of extraction steam to mixed steam
hexbfpt = Enthalpy of extraction steam

Calculate boiler feed pump turbine exhaust steam flow (wbfptexh) by adding steam seal supply
(wsealsply) to mixed steam supply (wbfptstm) and subtracting the seal (wseallkge)

wbfptexh = wbfptstm + wsealsply - wseallkge;

Calculate pump complex isentropic enthalpy rise

hbfptotisrise = hbfptotisen - hbfptotsuc

Where:

hbfptotisen = Total pump complex Isentropic enthalpy


hbfptotsuc = Total pump suction enthalpy

Calculate actual pump complex enthalpy rise

hbfptotrise = hbfptotdis - hbfptotsuc

Where:

hbfptotdis = Total pump discharge enthalpy


hbfptotsuc = Total pump suction enthalpy

Estimate total pump complex efficiency by dividing isentropic enthalpy rise by actual enthalpy rise

ebfptoteff = (hbfptotisrise / hbfptotrise) * 100.0;

Calculate total pump complex input power by dividing pump complex output power (Phpbfpmp) by
pump complex efficiency

Pbfptotin = Phpbfpmp / (ebfptoteff * 0.01);

184 SP_0030
9.20 Bfpturb

Add the total pump input power difference computed from Deleval design data (Pbfptotdlt) to the
pump complex input power to calculate total power delivered to the pump by the turbine (driver
input power). This is the power generated by the turbine.

Pbfptgen = Pbfptotin + Pbfptotdlt;

Calculate heat in boiler feed pump turbine exhaust (qbfptexh) by adding heat in steam seal supply
(qseallkge) to the heat in the steam (qbfptstm) and subtracting the heat in seal leakage
(qseallkge) and the heat generated by the turbine (qbfptgen = Pbfptgen converted to mbtu/h)

qbfptexh = qbfptstm + qsealsply - qseallkge - qbfptgen;

Calculate exhaust steam enthalpy (hbfptexh) by dividing net heat in turbine exhaust (qbfptstm) by
exhaust steam flow (wbfptexh)

hbfptexh = (qbfptexh / wbfptexh) * RHTCNV;

Calculate mixed high pressure, extraction steam isentropic enthalpy based on individual
enthalpies and relative weight of high pressure and extraction steam supplies

hbfptisen = Fhpbfpt * hhpbfptisen + Fexbfpt * hexbfptisen;

Calculate boiler feedpump turbine efficiency and deviation by the enthalpy drop approach - divide
actual enthalpy drop by isentropic drop

ebfpteff = ((hbfptstm - hbfptexh) / (hbfptstm - hbfptisen)) * 100.0


ebfpteffdev = ebfpteff - ebfpteffdes

SP_0030 185
9.21 Bldwn

9.21 Bldw n

The Bldwn algorithm calculates the blowdown flow and the blowdown enthalpy.

YES Units are Converted.

BLDWN

Parameter Description Usage

Analog Inputs

wblwdwnin blowdown inlet flow REQUIRED

waddmisc misc added flow [Optional]


wsubmisc misc subtracted flow [Optional]
patmos atmospheric pressure REQUIRED
pdrum stage drum pressure REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

wblwdwnout blowdown outlet flow [Optional]

pabsdrum blowdown abs drum pres [Optional]


hdrum blowdown drum enthalpy [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.21.1 Bldwn Calculation Overview

The blowdown inlet flow is adjusted for any flow going or being extracted from it, then its enthalpy
is calculated.

wblwdwnout = wblwdwnin + wsubmisc - wsubmisc


pabsdrum = pdrum + patmos
hdrum = hslp(pabsdrum)

186 SP_0030
9.22 Blrio

9.22 Blrio

The Blrio algorithm calculates the boiler input/output efficiency and efficiency deviation from
design.

YES Units are Converted.

BLRIO

Parameters Description Usage

Analog Inputs

wfuel total fuel flow REQUIRED

hfuel total fuel heating value REQUIRED


peconin economizer inlet pressure REQUIRED
patmos atmospheric pressure REQUIRED
teconin economizer inlet temp REQUIRED
pdssht superheat spray flow pressure [Optional] required if spray flow present
tdssht superheat spray flow temp Optional] required if spray flow present
prhout reheater outlet pressure REQUIRED

trhout reheater outlet temp REQUIRED


prhin reheater inlet pressure REQUIRED
trhin reheater inlet temp REQUIRED
pdsrht reheat spray flow pressure [Optional] required if reheat spray present
tdsrht reheat spray flow temp Optional] required if reheat spray present
wblrfw boiler feedwater flow REQUIRED

wbldwn boiler blowdown flow [Optional]


hblrstm boiler steam enthalpy REQUIRED
wdssht superheat spray flow [Optional]
wcrhte cold reheat flow REQUIRED
wcrhte2 cold reheat flow2 [Optional]
wdsrht reheat spray flow [Optional] required if reheat spray present
wdsrht2 reheat spray flow2 [Optional]

hbldwn blowdown enthalpy [Optional] required if blowdown flow


eblreffiodes blr input/output des effic REQUIRED

prhout2 reheater 2 outlet pressure [Optional]


hdsrht reheat spray enthalpy [Optional]

hdsrht2 reheat spray 2 enthalpy [Optional]

trhout2 reheater 2 outlet temp [Optional]

SP_0030 187
9.22 Blrio

BLRIO

Parameters Description Usage

prhin2 reheater 2 inlet pressure [Optional]


trhin2 reheater 2 inlet temp [Optional]
prhout2 reheater 2 outlet pressure [Optional]
trhout2 reheater 2 outlet temp [Optional]
prhin2 reheater 2 inlet pressure [Optional]
trhin2 reheater 2 inlet temp [Optional]
hdsrht2 reheat spray 2 flow enth [Optional]
wcrhte2 cold reheat 2 flow [Optional]
wdsrht2 reheat spray 2 flow [Optional] Required if reheat spray 2 present

Digital Inputs

zdocalc digital perf calc run flag REQUIRED


Analog Outputs

qblrin total heat input [Optional]

pabseconin abs Econ inlet pressure [Optional]


heconin econ inlet enthalpy [Optional]
pabsdssht abs superheat spray flow press [Optional]
hdssht superheat spray flow enth [Optional]
pabsrhout abs reheater outlet press [Optional]
hrhout reheater outlet enth [Optional]
pabsrhin abs reheater inlet press [Optional]
hrhin Description: reheater inlet enth [Optional]
pabsdsrht abs reheat spray flow press [Optional]
hdsrht reheat spray flow enth [Optional]
pabsrhout2 abs reheater 2 outlet press [Optional]
hrhout2 reheater outlet 2 enth [Optional]
pabsrhin2 abs reheater 2 inlet press [Optional]
hrhin2 reheater inlet 2 enth [Optional]
qcrhte2 reheater 2 cold reheat heat [Optional]
qdsrht2 reheater 2 superheat spr heat [Optional]
qblrout total boiler heat output [Optional]
eblreffio blr input/output effic [Optional]
eblreffiodev blr input/output effic dev [Optional]
pabsrhout2 abs reheater 2 outlet press [Optional]
pabsrhin2 abs reheater 2 inlet press [Optional]

188 SP_0030
9.22 Blrio

BLRIO

Parameters Description Usage

hrhout2 reheater outlet 2 enth [Optional]


hrhin2 reheater inlet 2 enth [Optional]
qcrhte2 reheater 2 cold reheat heat [Optional]
qdsrht2 reheater 2 superheat spr heat [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.22.1 Blrio Calculation Overview

If the analog inputs for the second reheat section are not configured, the six outputs will be set to
zero and no additional heat will be added to qblrout.

Compute total heat input to the boiler.

The heat input to the boiler is the amount of heat supplied by fuel which is combusted. This is
the product of the fuel flow and the heating value.

qblrin = (wfuel * hfuel) / 1000;

Compute the total heat output from the boiler in mbtu/hr (qblrout).

The total heat output is defined as the heat absorbed by the working fluid. There are five
sources of working fluid which flow through the boiler:

1. Feed water flow


2. Blowdown flow
3. Superheat spray flow
4. Reheat spray flow
5. Cold reheat flow

First, calculate the enthalpy of the feedwater at the economizer inlet.

pabseconin = peconin + patmos;


heconin = hcltp(teconin, pabseconin);

Set blowdown flow to zero if not configured.

if (wbldwn not configured)

wbldwn = 0.0;

SP_0030 189
9.22 Blrio

Next, calculate the superheat spray flow enthalpy if superheat spray flow is configured.

if (wdssht not configured)

wdssht = 0.0;

Next, calculate the reheat spray flow enthalpy if the reheat spray flow is configured.

if (wdsrht not configured)

wdsrht = 0.0;

Then, calculate reheater 1 inlet and outlet enthalpies.

pabsrhout = prhout + patmos;


hrhout = hsstp(trhout,pabsrhout);
pabsrhin = prhin + patmos;
hrhin = hsstp(trhin,pabsrhin);

// If points unconfigured, set the absolute pressure, enthalpies and heats to zero.

if (trhout2,prhout2,trhin2,prhin2 not configured)

pabsrhout2 = 0.0;
pabsrhin2 = 0.0;
hrhout2 = 0.0;
hrhin2 = 0.0;
qcrhte2 = 0.0;
qdsrht2 = 0.0;

else

pabsrhin2 = prhin2 + patmos;


pabsrhout2 = prhout2 + patmos;
hrhout2 = hsstp(trhout2,pabsrhout2);
hrhin2 = hsstp(trhin2,pabsrhin2);
qcrhte2 = wcrhte * (hrhout2 - hrhin2) / 1000;
qdsrht2 = wdsrht * (hrhout2 - hdsrht) / 1000;

Calculate total heat output from the boiler.

qblrout = ((wblrfw - wbldwn) * (hblrstm - heconin) +


wdssht * (hblrstm - hdssht) +
wcrhte * (hrhout - hrhin) +
qcrhte2 * 1000 +
wdsrht * (hrhout - hdsrht) +
qdsrht2 * 1000 +
wbldwn * (hbldwn - heconin)) / 1000;

190 SP_0030
9.22 Blrio

Compute actual boiler efficiency (eblreffio) as the ratio of the total heat output to heat input.

eblreffio = 100.0 * qblrout / qblrin;

Calculate efficiency deviation (rblefiov).

eblreffiodev = eblreffio - eblreffiodes;

SP_0030 191
9.23 Boiler

9.23 Boiler

The boiler algorithm calculates the efficiency by the heat loss method.

YES Units are Converted.

BOILER

Parameters Description Usage


Analog Inputs

thtrmodout ahtr modified out temp REQUIRED

thtrairinavg ahtr air in avg temp REQUIRED


thtrgasinavg ahtr gas in avg temp REQUIRED
thtrgasoutavg avg ahtr gas out temp REQUIRED
wairtot1 ahtr 1 air flow REQUIRED
wairtot2-6 ahtr 2-6 air flow [Optional] Use if there are 2-6 air heaters.

cahair1 avg spec ahtr 1 air REQUIRED Output from airhtrs.

cahair2-6 avg spec ahtr 2-6 air [Optional] Use if there are 2-6 air heaters.

cahgas1 spec heat ahtr 1 out gas REQUIRED Output from airhtrs.

cahgas2-6 spec heat ahtr 2-6 out gas [Optional] Use if there are 2-6 air heaters.
Output from airhtrs.

Rahlkg1 ahtr 1 leakage REQUIRED Output from airhtrs.

Rahlkg2-6 ahtr 2-6 leakage [Optional] Use if there are 2-6 air heaters.
Output from airhtrs.

wahairtot total ahtr air flow REQUIRED Output from airhtrs.

thtr_calc_airin1 Ahtr 1 air in temp [Optional] Use if limestone is present.

thtr_calc_airin2-6 Ahtr 2-6 air in temp [Optional] Use if limestone is present, and
there are 2-6 airhtrs.
thtrfairin1 air fan 1 air in temp REQUIRED

thtrfairin2-6 air fan 2-6 air in temp [Optional] Use if there are 2-6 air heaters.

thtrairout1 ahtr 1 air out temp REQUIRED

thtrairout2 ahtr 2 air out temp [Optional] Use if there are two air heaters.

Rash total ash in fuel REQUIRED Output from fuels.

tempambnt ambient air temp [Optional] Use if limestone is present.

192 SP_0030
9.23 Boiler

BOILER

Parameters Description Usage


patmos atmospheric pressure REQUIRED Output from patmos.

Rhydr tot hydrogen in fuel REQUIRED Output from fuels.


Rsulf tot sulfur in the coal [Optional] Use if limestone and output
from fuels.

Rmoist tot moisture in fuel REQUIRED Output from fuels.

wfuel total coal (inc coke) flow REQUIRED Output from fuels.
pdrum drum pressure [Optional] Use if there is blowdown flow.

wbldwn blowdown flow [Optional] Use if there is blowdown flow.


heatvalue tot heating val of fuel REQUIRED Output from fuels.

eblreffdes blr des effic [Optional] Must be calculated from a curve


fit.

Rexairdes excess des air pcnt [Optional]

thtradesin ahtr air in des temp [Optional]


tempash temp of the ash [Optional] Use if limestone is present.

Rlsoperunm op enter pcnt unmeas ht loss REQUIRED

wblrstm blr superht out stm flow REQUIRED


qtrbin heat acquired by the turbine REQUIRED
Wairex wt Excess air/lb of STP fuel REQUIRED Output from modahtemp
algorithm.

Wairth stoich wt air for compl comb REQUIRED Output from modahtemp
algorithm.
cahtairin1 spec heat ahtr 1 air in temp [Optional] Required if limestone is being
used. Output from airhtrs.
cahtairin2-6 spec heat ahtr 2-6 air in temp [Optional] Required if limestone is being
used and 2-6 air heaters. Output from
airhtrs.

Wdgful total fl gas fuel inc wt xair REQUIRED Output from airhtrs algorithm.

Wvap water content of vapor REQUIRED Output from airhtrs algorithm.


Rlsradinput radiation losses percent [Optional] Radiation losses are calculated
if this is not used.
Rcaco3 pct of calcium oxide limestone [Optional] Configure if using limestone

Rmgco3 pct magnesium oxide limestone [Optional] Configure if using limestone

wlimestone limestone flow [Optional] Configure if using limestone

Rsulfcapt sulf capture rate [Optional] Configure if using limestone

SP_0030 193
9.23 Boiler

BOILER

Parameters Description Usage


Runbcarb unburned carbon [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED


Analog Outputs
wblrmax maximum boiler flow [Optional]
kaircl no air cooled walls [Optional]
kwtrcl no water cooled furn walls [Optional]
pabsdrum abs boiler drum pres [Optional]
hbldwn blowdown enth [Optional]
qbldwn blowdown flow ht [Optional]
qboilr boiler ht [Optional]
cahgastahmo spec htmod air htr gas temp [Optional]
hlsdrygas ht loss due to dry gas [Optional]
Rlsdrygas pcnt ht loss due to dry gas [Optional]
pabshtrain air htr air in pres [Optional]
hfgexh vap enth mod gas out temp [Optional]
hfgho liquid enth ahtr air in temp [Optional]
hlsflmoist ht loss due to moist [Optional]
Rlsflmoist pcnt ht loss due to moist [Optional]
hlsmoisth2 ht loss moist from h2 [Optional]
Rlsmoisth2 pcnt ht loss moist from h2 [Optional]
hrvap enth sat vap part pres vapor [Optional]
hlsmoistair ht loss in moist air suppl [Optional]
Rlsmoistair pcnt ht loss moist air suppl [Optional]
hgnsulf ht gain due to sulf lime [Optional]
Rgnsulf pcnt ht gain due sulf lime [Optional]
caftairin1 spec ht fan 1 air in temp [Optional]
caftairin2-6 spec ht fan 2-6 air in temp [Optional]
hgnahtr1 air htr 1 ht gain [Optional]
hgnahtr2-6 air htr 2-6 ht gain [Optional]
hgncomprair ht gain ahtrs compr air [Optional]
Rgncomprair pcnt ht gain ahtrs compr air [Optional]
hlsunburn ht loss unburned combust [Optional] Used as an input for corblrloss
algorithm.
Rlsunburn pcnt ht loss unburned combust [Optional] Used as input for corblrloss
algorithm.

194 SP_0030
9.23 Boiler

BOILER

Parameters Description Usage


hlsunmeas unmeasured ht losses [Optional]

Rlsunmeas pcnt unmeasured ht losses [Optional] Used as an input for corblrloss


algorithm.
qstcon ht in the boiler [Optional]

klogqstcon log of ht in the blr [Optional]


klogwratio log max blr rate to blr stm fl [Optional]

ktemp temp const calc rad losses [Optional]

kradtemp temp const calc rad losses [Optional]


hlsrad ht loss due to radiation [Optional]
Rlsrad pcnt ht loss due to radiation [Optional] Used as an input for corblrloss
algorithm.

hlstot total fuel related losses [Optional]

Rlstot pcnt total fuel related losses [Optional]


eblreffact ht loss boiler efficiency [Optional]
eblreffdev boiler efficiency dev [Optional]
Rexair excess air pcnt [Optional]
Rexairdev excess air pcnt dev [Optional]
thtraindev air htr air in dev [Optional]
thtrgoc corr Exit gas temp with lkg [Optional]

cahairavg weighted avg spec ht of air [Optional]


cahgasavg weighted avg spec ht of gas [Optional]
Rahlkgavg weighted avg air htr lkg [Optional]
thtrmoc corr non lkg Exit gas temp [Optional] Used as an input for corblrloss
algorithm.
qlscalcin ht loss due to calc [Optional]
Rlscalcin pcnt ht loss due to calc [Optional]
hlscalcin ht loss due to lime calc [Optional]
cahtairhtrin spec ht air htr air in temp [Optional]
Digital Outputs

< NONE >


Constants
CAIR[0] = 0.23897
CAIR[1] = 6.7857e-06
CAIR[2] = 1.9643e-08
CGAS[0] = 0.237058

SP_0030 195
9.23 Boiler

BOILER

Parameters Description Usage


CGAS[1] = 1.65875e-05
CGAS[2] = 4.18508e-08
CGAS[3] =
-2.20475e-11

9.23.1 Boiler Calculation Overview

The major elements of the boiler are:


 Fuel fed to boiler
 Combustion air supplied by forced draft fans and fed to the boiler after passing through the air
heaters located in the hot exhaust gas stream
 Primary air supplied by primary air fans and fed to the boiler after passing through the air
heaters
 Exhaust gas or induced draft system
 Feedwater system used to supply hot water under pressure to the boiler
 Steam system carrying the useful heat to the turbogenerator
Boiler Performance Calculation - Heat Loss Method (Per ASME PTC 4.1)

Calculate the heat generated by the boiler in mbtu/hr (qboilr) comprising the heat which goes to
the turbine (qtrbin) and that which is lost due to blowdown (qbldwn).

First, compute the blowdown enthalpy leaving the boiler drum in btu/lb (hbldwn) as a saturated
liquid steam table function of the absolute boiler drum pressure in psia (pdrumabs) if there is
blowdown flow (wbldwn)

`wbldwn' is an operator entered constant.

The following are read from the design screen information: wblrmax - maximum boiler
continuous rating, kwtrcl - number of water cooled furnace walls and kaircl - number of air cooled
furnace walls. All these are included in the initialization section

wblrmax = MaxContBoilerRating(1);
kaircl = NumFurnaceWalls(AIR_COOLED);
kwtrcl = NumFurnaceWalls(H2O_COOLED);

Convert the measured boiler drum pressure in psig to absolute in psia.

pabsdrum = pdrum + patmos;

if (wbldwn > 0.0)

There is blowdown flow. Calculate blowdown enthalpy. hslp(&hbldwn, &pabsdrum, &ITRNGE);

else

hbldwn = 0.0

196 SP_0030
9.23 Boiler

Calculate blowdown heat.

qbldwn = (wbldwn * hbldwn) / RHTCNV;


qboilr = qtrbin + qbldwn;

Heat Losses in the Boiler.

Compute the following heat losses in percent to evaluate the boiler efficiency by the Heat Loss
Method as per ASME PTC 4.1.

1. Heat loss due to dry gas


2. Heat loss due to moisture in fuel
3. Heat loss in moisture formed from hydrogen
4. Heat loss in moisture in air supplied
5. Heat loss due to unburned combustible
6. Unmeasured heat loss
7. Radiation
8. Heat loss due to calcination of lime (for limestone only) loss
9. Heat gain due to sulfation of lime (for limestone only)

Heat loss due to dry gas.

Compute the heat loss due to dry gas in percent (hlsdrygas) as follows:

cahgastahmo = CGAS[0] + CGAS[1] * thtrmodout + CGAS[2] * pow(thtrmodout,2)+ CGAS[3] *


pow(thtrmodout,3);

cahtairhtrin = CAIR[0] + CAIR[1] * thtrairinavg + CAIR[2] * pow(thtrairinavg,2);

hlsdrygas = Wdgful * (cahgastahmo * thtrmodout - cahtairhtrin * thtrairinavg);


Rlsdrygas = 100.0 * hlsdrygas / heatvalue;

Heat loss due to moisture in fuel.

Calculate the enthalpy of vapor in btu/lb (hfgexh) at modified gas outlet temperature
(tahmodoutlet) and equivalent partial pressure of 1.0 psia as a superheated steam table function.

pbtemp = 1.0;
hsstp(&hfgexh, &thtrmodout, &pbtemp, &ITRNGE);

Compute the enthalpy of liquid in btu/lb (hfgho) at air heater air inlet temperature (tahain) as a
saturated liquid steam table function.

hslt(&hfgho, &thtrairinavg, &ITRNGE);

Calculate heat loss due to moisture in fuel in percent and btu/lb.

hlsflmoist = 0.01 * Rmoist * (hfgexh - hfgho);


Rlsflmoist = 100.0 * hlsflmoist / heatvalue;

SP_0030 197
9.23 Boiler

Compute heat loss in moisture formed from hydrogen in percent (hlsmoisth2) and btu/lb.

hlsmoisth2 = .089365 * Rhydr * (hfgexh - hfgho);


Rlsmoisth2 = 100.0 * hlsmoisth2 / heatvalue;

Heat loss in moisture in air supplied.

Calculate the partial pressure of saturated vapor in psia (pabshtrain) at air heater air inlet
temperature (tahairinavg) as a saturated liquid steam table function.

pslt(&pabshtrain, &thtrairinavg, &ITRNGE);

Compute enthalpy of saturated vapor in btu/lb (hrvap) at partial pressure of vapor (pahainlet) as a
saturated vapor steam table function.

hsvp(&hrvap, &pabshtrain, &ITRNGE);

Calculate heat loss in moisture in air supplied in percent and btu/lb.

hlsmoistair = (Wairth + Wairex) * (hfgexh - hrvap) * Wvap;


Rlsmoistair = 100.0 * hlsmoistair / heatvalue;

If limestone is used, calculate the following losses and gains.

1) Heat loss due to calcination


2) Heat gain due to sulfation of lime

If limestone is not used, calculate the heat loss due to unburned combustibles only.

if (wlimestone > 1.0E-3)

qlscalcin = (Rcaco3 * Rsulfcapt / 100.0 * wlimestone * .00766) + (Rmgco3 * wlimestone *


.00652);
Rlscalcin = qlscalcin * 1000.0 / (wfuel * heatvalue / 100.0);
hlscalcin = Rlscalcin * heatvalue / 100.0;
hgnsulf = Rsulf/100.0 * SULFCONV * HSULF;
Rgnsulf = 100.0 * hgnsulf / heatvalue;

else

qlsgnsucalcin = 0.0;
Rlscalcin = 0.0;
hlscalcin = 0.0;
hlf = 0.0;
Rgnsulf = 0.0;
hlsunburn = Runbcarb * HCARB * .01;
Rlsunburn = 100.0 * hlsunburn / heatvalue;

Set the unmeasured heat losses (Rlsunmeas) to the operator entered constant in percent
(Rlsoperunm) and calculate the unmeasured heat loss in btu/lb (hlssun).

hlsunmeas = Rlsoperunm / 100.0 * heatvalue;

198 SP_0030
9.23 Boiler

Rlsunmeas = Rlsoperunm;

If the radiation loss is configured, use this value. Otherwise, calculate boiler radiation losses
based on the ABMA Reduction Loss.

Chart, Figure 8 of PTC 4.1 (hlsrad) in btu/lb and percent (Rlsrad) as follows.

qstcon = qboilr;
qlogqstcon = log10(qstcon);

if (wblrstm > 0.0)

qlogwratio = log10(wblrmax / wblrstm;

else

qlogwratio = 0.0;
ktemp = 1.15614 - 0.9412342 * qlogqstcon + 0.1501196 * pow(qlogqstcon,2) - 0.007166278
* pow(qlogqstcon,3);
kradtemp = ktemp + 0.9422 * qlogwratio - (0.03409 * kwtrcl + 0.0273 * kaircl);
Rlsrad = 100.0 * pow(10.0, (kradtemp - 2));
hlsrad = (Rlsrad * heatvalue) / 100.0;

Compute total fuel related losses and gains in percent and btu/lb.

hlstot = hlsdrygas + hlsflmoist + hlsmoisth2 + hlsmoistair + hlscalcin - hgnsulf + hlsunburn +


hlsunmeas + hlsrad;
Rlstot = Rlsdrygas + Rlsflmoist + Rlsmoisth2 + Rlsmoistair + Rlscalcin + - Rgnsulf +
Rlsunburn + Rlsunmeas + Rlsrad;

Calculate actual heat loss boiler efficiency (eblreffact).

eblreffact = 100.0 - Rlstot;

Calculate efficiency deviation from actual (eblreffdev). Design boiler efficiency is input and
calculated by some sort of approximation.

eblreffdev = eblreffact - eblreffdes;

Compute the actual excess air percent (Rexair) as the ratio of actual weight of excess air (Wairex)
to the theoretical weight of excess air necessary for complete combustion (Wairth).

Rexair = 100.0 * Wairex / Wairth;

Compute excess air deviation from actual (rexairdev).

Rexairdev = Rexair - Rexairdes;

Compute the air heater air inlet temperature deviation from actual

(thtraindev).
thtraindev = thtrairinavg - thtradesin;

Calculate the corrected exit gas temperature with leakage based on design air inlet temperature
(tahgocairin).

if ((thtrgasinavg - thtrairinavg) > 0.0)

SP_0030 199
9.23 Boiler

thtrgocairin = (thtradesin * (thtrgasinavg - thtrgasoutavg) + thtrgasinavg *


(thtrgasoutavg - thtrairinavg)) / (thtrgasinavg - thtrairinavg);

else

thtrgocairin = 0.0;

Calculate the corrected exit gas temperature with leakage based on design gas inlet temperature
(tahgocgasin).

if ((thtrgasinavg - thtrairinavg) > 0.0)

thtrgocgasin = (thtrgdesin * (thtrgasoutavg - thtrairinavg) + thtrairinavg * (thtrgasinavg -


thtrgasoutavg)) / (thtrgasinavg - thtrairinavg);

else

thtrgocgasin = 0.0;

Calculate the total corrected exit gas temperature as specified in ASME PTC 4.3, Section 7.12.

thtrgoc = thtrgocairin + thtrgocgasin - thtrgasoutavg;

Calculate the weighted averages of specific heat of air, specific heat of gas and air heater
leakage.

cahairavg = (wairtot1 * cahair1 + wairtot2 * cahair2 + wairtot3 * cahair3 + wairtot4 * cahair4


+ wairtot5 * cahair5 + wairtot6 * cahair6)/wahairtot;
cahgasavg = (wairtot1 * cahgas1 + wairtot2 * cahgas2 + wairtot3 * cahgas3 + wairtot4 *
cahgas4 + wairtot5 * cahgas5 + wairtot6 * cahgas6) / wahairtot;
Rahlkgavg = (wairtot1 * Rahlkg1 + wairtot2 * Rahlkg2 + wairtot3 * Rahlkg3 + wairtot4 *
Rahlkg4 + wairtot5 * Rahlkg5 + wairtot6 * Rahlkg6) / wahairtot;

Correct the modified air heater exit gas temperature (corrected for no leakage) is corrected for the
deviation from the design entering air temperature by the procedure defined in ASME PTC 4.3
Paragraph 7.08.

Calculate the corrected non leakage exit gas temperature (thtrmoc).

if (cahgasavg > 0.0)

thtrmoc = thtrgoc + (Rahlkgavg * cahairavg * thtrgoc -thtradesin) / (100.0 * cahgasavg);

else

{
thtrmoc = 0.0;
}

200 SP_0030
9.24 BOILERASME4

9.24 BOILERASME4

The BoilerASME4 algorithm calculates the efficiency by the heat loss method according to ASME
specifications.

NO Units are Converted.

BOILERASME4

Parameters Description Usage


Analog Inputs

thtrmodout ahtr modified out temp REQUIRED

thtrairinavg ahtr air in avg temp REQUIRED


thtrgasinavg ahtr gas in avg temp REQUIRED
thtrgasoutavg avg ahtr gas out temp REQUIRED
wairtot1 ahtr 1 air flow REQUIRED
wairtot2 ahtr 2 air flow [Optional] Use if there are 2 air heaters
wairtot3 ahtr 3 air flow [Optional] Use if there are 3 air heaters
wairtot4 ahtr 4 air flow [Optional] Use if there are 4 air heaters
wairtot5 ahtr 5 air flow [Optional] Use if there are 5 air heaters
wairtot6 ahtr 6 air flow [Optional] Use if there are 6 air heaters
cahair1 spec ahtr 1 air avg temp REQUIRED Output from airhtrs
cahair2 spec ahtr 2 air avg temp [Optional] Use if there are 2 air heaters
cahair3 spec ahtr 3 air avg temp [Optional] Use if there are 3 air heaters
cahair4 spec ahtr 4 air avg temp [Optional] Use if there are 4 air heaters
cahair5 spec ahtr 5 air avg temp [Optional] Use if there are 5air heaters
cahair6 spec ahtr 6 air avg temp [Optional] Use if there are 6 air heaters
cahgas1 spec heat ahtr 1 out gas REQUIRED Output from airhtrs.
cahgas2 spec heat ahtr 2 out gas [Optional] Use if there are 2 air heaters. Output
from airhtrs.
cahgas3 spec heat ahtr 3 out gas [Optional] Use if there are 2 air heaters. Output
from airhtrs.
cahgas4 spec heat ahtr 4 out gas [Optional] Use if there are 2 air heaters. Output
from airhtrs.
cahgas5 spec heat ahtr 5 out gas [Optional] Use if there are 2 air heaters. Output
from airhtrs.
cahgas6 spec heat ahtr 6 out gas [Optional] Use if there are 2 air heaters. Output
from airhtrs.
Rahlkg1 ahtr 1 leakage REQUIRED Output from airhtrs.
Rahlkg2 ahtr 2 leakage [Optional] Use if there are 2 air heaters. Output
from airhtrs.

SP_0030 201
9.24 BOILERASME4

BOILERASME4

Parameters Description Usage


Rahlkg3 ahtr 3 leakage [Optional] Use if there are 3 air heaters. Output
from airhtrs.
Rahlkg4 ahtr 4 leakage [Optional] Use if there are 4 air heaters. Output
from airhtrs.
Rahlkg5 ahtr 5 leakage [Optional] Use if there are 5 air heaters. Output
from airhtrs.
Rahlkg6 ahtr 6 leakage [Optional] Use if there are 6 air heaters. Output
from airhtrs.
wahairtot total ahtr air flow REQUIRED Output from airhtrs.
Rash total ash in fuel REQUIRED Output from fuels.
patmos atmospheric pressure REQUIRED Output from patmos.
Rhydr tot hydrogen in fuel REQUIRED Output from fuels.
Rsulf total sulfur in fuel [Optional] Use if limestone
Rmoist tot moisture in fuel REQUIRED Output from fuels.
pdrum drum pressure [Optional] Use if there is blowdown flow.
wbldwn blowdown flow [Optional] Use if there is blowdown flow.
heatvalue tot heating val of fuel REQUIRED Output from fuels.
eblreffdes blr des effic [Optional] Must be calculated from a curve fit.
Rexairdes excess des air pcnt [Optional]
thtradesin ahtr air in des temp [Optional]
thtrgdesin ahtr gas in des temp [Optional]
tempash temp of the ash [Optional]
Rlsoperunm op enter pcnt unmeas ht loss REQUIRED
wblrstm blr superht out stm flow [Optional]
qtrbin heat acquired by the turbine REQUIRED
Wairex wt excess air/lb of STP fuel REQUIRED Output from airhtr algorithm.
Wairth stoich wt air for compl comb REQUIRED Output from airhtr algorithm.
Wdgful total fl gas fuel inc wt xair REQUIRED

Wvap water content of vapor REQUIRED

Rlsradinput radiation losses percent [Optional] Radiation losses will be calculated if


this is not used
Rcaco3 pct of calcium oxide limestone [Optional] config if using limestone
Rmgco3 pct magnesium oxide limestone [Optional] config if using limestone
wlimestone limestone flow [Optional] config if using limestone
Rsulfcapt sulf capture rate [Optional] config if using limestone
Runbcarb unburned carbon [Optional]
Wspentsorb spent sorb [Optional]

202 SP_0030
9.24 BOILERASME4

BOILERASME4

Parameters Description Usage


templime limestone temp [Optional] config if using limestone
Rlimem limestone moisture [Optional] config if using limestone
Digital Inputs
zdocalc digital perf calc run flag REQUIRED
Analog Outputs
wblrmax maximum boiler flow [Optional]
kaircl no air cooled walls [Optional]
kwtrcl no water cooled furn walls [Optional]
pabsdrum abs boiler drum pres [Optional]
hbldwn blowdown enth [Optional]
qbldwn blowdown flow ht [Optional]
qboilr boiler ht [Optional]
cahgastahmo spec htmod air htr gas temp [Optional]
cahtairhtrin spec ht air htr air in temp [Optional]
hlsdrygas ht loss due to dry gas [Optional]
Rlsdrygas pcnt ht loss due to dry gas [Optional]
pabshtrain air htr air in pres [Optional]
hfgexh vap enth mod gas out temp [Optional]
hfgho liquid enth ahtr air in temp [Optional]
hlsflmoist ht loss due to moist [Optional]
Rlsflmoist pcnt ht loss due to moist [Optional]
hlsmoisth2 ht loss moist from h2 [Optional]
Rlsmoisth2 pcnt ht loss moist from h2 [Optional]
hrvap enth sat vap part pres vapor [Optional]
hlsmoistair ht loss in moist air suppl [Optional]
Rlsmoistair pcnt ht loss moist air suppl [Optional]
Rlsunburn pcnt ht loss unburned combust [Optional] Used as input for corblrloss algorithm.
hlsunburn ht loss unburned combust [Optional] Used as input for corblrloss algorithm.
Wresidue total residue flow [Optional]
hresidue enthalpy of residue [Optional]
Rlssensref pcnt ht loss sens ht of refuse [Optional]
hlssensref ht loss sensible ht of refuse [Optional]
Rgnsulf pcnt ht gain due sulf lime [Optional]
hgnsulf ht gain due to sulf lime [Optional]

qlscalcin ht loss due to calc [Optional]

SP_0030 203
9.24 BOILERASME4

BOILERASME4

Parameters Description Usage


hcaco3 enthalpy of caco3 [Optional]
hlimestone enthalpy of limestone [Optional]
qgnshtsorb ht gain due to sens ht lime [Optional]
hlsunmeas unmeasured ht losses [Optional]
Rlsunmeas pcnt unmeasur ht losses [Optional] Used as an input for corblross
algorithm.
qlogqstcon log of ht in the blr [Optional]
qlogwratio log max blr rate to blr stm fl [Optional]
ktemp temp const calc rad losses [Optional]
kradtemp temp const calc rad losses [Optional]
hlsrad ht loss due to radiation [Optional]
Rlsrad pcnt ht loss due to radiation [Optional] Used as an input for corblrloss
algorithm.
hdryair enthalpy of dry air [Optional]
Wtheoaircorr theo air corr [Optional]
hgndryair ht gain due to dry air [Optional]
Rgndryair pcnt gain due to dry air [Optional]
hlstot total fuel related losses [Optional]
Rlstot pcnt total fuel related losses [Optional]
eblreffact ht loss boiler efficiency [Optional]
eblreffdev boiler efficiency dev [Optional]
Rexair excess air pcnt [Optional]
Rexairdev excess air pcnt dev [Optional]
thtraindev air htr air in dev [Optional]
thtrgocairin cor ex gas tmp w lkg fr air in [Optional]
thtrgocgasin cor ex gas tmp w lkg fr gas in [Optional]
thtrgoc total cor exit gas temp w lkg [Optional]
cahairavg weighted avg spec ht of air [Optional]
cahgasavg weighted avg spec ht of gas [Optional]
Rahlkgavg weighted avg air htr lkg [Optional]
thtrmoc corr non lkg exit gas temp [Optional] Used as an input for corblross
algorithm.
Digital Outputs
< NONE >
Constants
CAIR[3] 0.23897,6.7857e-06,1.9643e-08

204 SP_0030
9.24 BOILERASME4

BOILERASME4

Parameters Description Usage


CGAS[4] 0.237058,1.65875e-05,4.18508e-
08,-2.20475e-11
HREFWATER 45.0

9.24.1 BoilerASME4 Calculation Overview

The major elements of the boiler are:

1. Fuel fed to boiler.


2. Combustion air supplied by forced draft fans and fed to the boiler after passing through
the air heaters located in the hot exhaust gas stream.
3. Primary air supplied by primary air fans and fed to the boiler after passing through the air
heaters.
4. Exhaust gas or induced draft system.
5. Feedwater system used to supply hot water under pressure to the boiler.
6. Steam system carrying the useful heat to the turbogenerator.

Boiler Performance Calculation - Energy Balance Method (Per ASME PTC 4)

Calculate the heat generated by the boiler in mbtu/hr (qboilr) comprising the heat which goes to
the turbine (qtrbin) and that which is lost due to blowdown (qbldwn).

First, compute the blowdown enthalpy leaving the boiler drum in btu/lb (hbldwn) as a saturated
liquid steam table function of the absolute boiler drum pressure in psia (pdrumabs) if there is
blowdown flow (wbldwn). `wbldwn' is an operator entered constant.

The following are read from the design screen information and all are included in the initialization
section:

wblrmax - maximum boiler continuous rating.


kaircl - number of air cooled furnace walls.
kwtrcl - number of water cooled furnace walls.

Included in the initialization section:

wblrmax = MaxContBoilerRating(1);
kaircl = NumFurnaceWalls(AIR_COOLED);
kwtrcl = NumFurnaceWalls(H2O_COOLED);

Convert the measured boiler drum pressure in psig to absolute in psia

pabsdrum = pdrum + patmos;

SP_0030 205
9.24 BOILERASME4

if (wbldwn > 0.0)

There is blowdown flow. Calculate blowdown enthalpy.

hslp(&hbldwn, &pabsdrum, &ITRNGE)

else

hbldwn = 0.0;

Calculate blowdown heat

qbldwn = (wbldwn * hbldwn) / RHTCNV;


qboilr = qtrbin + qbldwn;

Heat Losses in the Boiler.

Compute the following heat losses in percent to evaluate the boiler efficiency by the Energy
Balance Method as per ASME PTC 4

1. Heat loss due to dry gas.


2. Heat loss due to moisture in fuel.
3. Heat loss in moisture formed from hydrogen.
4. Heat loss in moisture in air supplied.
5. Heat loss due to unburned carbon in refuse.
6. Heat loss due to sensible heat of refuse.
7. Heat loss that is unmeasured.
8. Heat loss due to radiation.
9. Heat loss due to calcination (sorbents only).
10. Heat gain due to entering dry air.
11. Heat gain due to sulfation (sorbents only).
12. Heat gain due to sensible heat from sorbent (sorbents only).
13. Heat loss due to dry gas.

Compute the heat loss due to dry gas in percent (hlsdrygas) as follows:

cahgastahmo = CGAS[0] + CGAS[1] * thtrmodout + CGAS[2] * pow(thtrmodout,2) +


CGAS[3] * pow(thtrmodout,3);
cahtairhtrin = CAIR[0] + CAIR[1] * thtrairinavg + CAIR[2] * pow(thtrairinavg,2);
hlsdrygas = Wdgful * (cahgastahmo * thtrmodout - cahtairhtrin * thtrairinavg);
Rlsdrygas = 100.0 * hlsdrygas / heatvalue;

Heat loss due to moisture in fuel.

Calculate the enthalpy of vapor in btu/lb (hfgexh) at modified gas outlet temperature
(tahmodoutlet) and equivalent partial pressure of 1.0 psia as a superheated steam table function.

pbtemp = 1.0;
hsstp(&hfgexh, &thtrmodout, &pbtemp, &ITRNGE);

206 SP_0030
9.24 BOILERASME4

Compute the enthalpy of liquid in btu/lb (hfgho) at air heater air inlet temperature (tahain) as a
saturated liquid steam table function.

hslt(&hfgho, &thtrairinavg, &ITRNGE);

Calculate heat loss due to moisture in fuel in percent and btu/lb.

hlsflmoist = 0.01 * Rmoist * (hfgexh - HREFWATER);


Rlsflmoist = 100.0 * hlsflmoist / heatvalue;

Compute heat loss in moisture formed from hydrogen in percent (hlsmoisth2) and btu/lb.

hlsmoisth2 = .08937 * Rhydr * (hfgexh - HREFWATER);


Rlsmoisth2 = 100.0 * hlsmoisth2 / heatvalue;

Heat loss in moisture in air supplied.

Calculate the partial pressure of saturated vapor in psia (pabshtrain) at air heater air inlet
temperature (tahairinavg) as a saturated liquid steam table function.

pslt(&pabshtrain, &thtrairinavg, &ITRNGE);

Compute enthalpy of saturated vapor in btu/lb (hrvap) at partial pressure of vapor (pahainlet) as a
saturated vapor steam table function.

hsvp(&hrvap, &pabshtrain, &ITRNGE);

Calculate heat loss in moisture in air supplied in percent and btu/lb.

hlsmoistair = (Wairth + Wairex) * (hfgexh - hrvap) * Wvap;


Rlsmoistair = 100.0 * hlsmoistair / heatvalue;

Calculate heat loss due to unburned carbon

Rlsunburn = Runbcarb * HCARB / heatvalue;


hlsunburn = Rlsunburn * heatvalue / 100.0;

Calculate the sensible heat in the refuse as a loss

Wresidue = Runbcarb + (Wspentsorb*100.0) + Rash;


hresidue = 0.16 * tempash + 1.09E-04*pow(tempash,2) - 2.843E-08 * pow(tempash,3) -
12.95;
Rlssensref = Wresidue / heatvalue * hresidue;
hlssensref = Rlssensref * heatvalue / 100.0;

If limestone is used, calculate the following losses and gains.

1. Heat gain due to sulfation (limestone only)


2. Heat loss in mbtu/hr due to calcination (for limestone only)
3. Heat gain in mbtu/hr due to sensible heat from sorbent (for limestone only)

if (wlimestone > 0.5)

Rgnsulf = 6733.0 * (Rsulfcapt / 100.0) * Rsulf / heatvalue;


hgnsulf = heatvalue * Rgnsulf / 100.0;

SP_0030 207
9.24 BOILERASME4

qlscalcin = (Rcaco3 * (Rsulfcapt / 100.0) * wlimestone * 0.00766) + (Rmgco3 * wlimestone *


0.00652);
hcaco3 = templime * (0.179 + 0.1128E-03 * templime) - 14.45;
hlimestone = (1 - Rlimem / 100.0) * hcaco3 + (Rlimem * (templime - 77.0) / 100.0);
qgnshtsorb = wlimestone * hlimestone / 1000.0;

else

Rgnsulf = 0.0;
hgnsulf = 0.0;
qlscalcin = 0.0;
hcaco3 = 0.0;
hlimestone = 0.0;
qgnshtsorb = 0.0;

Set the unmeasured heat losses (Rlsunmeas) to the operator entered constant in percent
(Rlsoperunm) and calculate the unmeasured heat loss in btu/lb (hlssun).

hlsunmeas = Rlsoperunm / 100.0 * heatvalue;


Rlsunmeas = Rlsoperunm;

If the radiation loss is configured, use this value. Otherwise, calculate boiler radiation losses
based on the ABMA Reduction Loss Chart, Figure 8 of PTC 4.1 (hlsrad) in btu/lb and percent
(Rlsrad) as follows.

qlogqstcon = log10(qboilr);

if (wblrstm > 0.0)

qlogwratio = log10(wblrmax / wblrstm);

else

qlogwratio = 0.0;
ktemp = 1.15614 - 0.9412342 * qlogqstcon + 0.1501196 * pow(qlogqstcon,2) - 0.007166278 *
pow(qlogqstcon,3);
kradtemp = ktemp + 0.9422 * qlogwratio - (0.03409 * kwtrcl + 0.0273 * kaircl);
Rlsrad = 100.0 * pow(10.0, (kradtemp - 2));
hlsrad = (Rlsrad * heatvalue) / 100.0;

Compute the actual excess air percent (Rexair) as the ratio of actual weight of excess air (Wairex)
to the theoretical weight of excess air necessary for complete combustion (Wairth).

Rexair = 100.0 * Wairex / Wairth;

Compute excess air deviation from actual (rexairdev).

Rexairdev = Rexair - Rexairdes;

Calculate the percent gain due to the entering dry air

tkelvairhtr = (gpaunits.ConvertTemp(thtrairinavg,TO_DEGF) + 459.7) / 1.8;

208 SP_0030
9.24 BOILERASME4

hdryair = -123.1899 + (0.4065568 * tkelvairhtr) + (5.79505e-006 * pow(tkelvairhtr,2)) +


(6.331121e-008 * pow(tkelvairhtr,3)) + (-2.924434e-011 * pow(tkelvairhtr,4)) +
(2.491009e-015 * pow(tkelvairhtr,5));
Wtheoaircorr = ((Wairth * 100.0) + 2.16 * Rsulf * (Rsulfcapt/100.0)) / 100.0;
Rgndryair = (1 + (Rexair / 100.0)) * ((Wtheoaircorr * 100.0) / (heatvalue / 100.0)) * hdryair /
100.0;
hgndryair = Rgndryair * heatvalue / 100.0;

Compute total fuel related losses and gains in percent and btu/lb.

hlstot = hlsdrygas + hlsflmoist + hlsmoisth2 + hlsmoistair + hlsunburn + hlssensref +


hlsunmeas + hlsrad - hgnsulf - hgndryair;
Rlstot = Rlsdrygas + Rlsflmoist + Rlsmoisth2 + Rlsmoistair + Rlsunburn + Rlssensref +
Rlsunmeas + Rlsrad - Rgnsulf - Rgndryair;

Calculate actual heat loss boiler efficiency (eblreffact).

eblreffact = (100.0 - Rlstot) * qtrbin / (qtrbin + qlscalcin - qgnshtsorb);

Calculate efficiency deviation from actual (eblreffdev). Design boiler efficiency is input and
calculated by some sort of approximation.

eblreffdev = eblreffact - eblreffdes;

Compute the air heater air inlet temperature deviation from actual

(thtraindev).
thtraindev = thtrairinavg - thtradesin;

Calculate the corrected exit gas temperature with leakage based on design air inlet temperature
(tahgocairin).

if ((thtrgasinavg - thtrairinavg) > 0.0)

thtrgocairin = (thtradesin * (thtrgasinavg - thtrgasoutavg) + thtrgasinavg * (thtrgasoutavg -


thtrairinavg)) / (thtrgasinavg - thtrairinavg);

else

thtrgocairin = 0.0;

Calculate the corrected exit gas temperature with leakage based on design gas inlet temperature
(tahgocgasin).

if ((thtrgasinavg - thtrairinavg) > 0.0)

thtrgocgasin = (thtrgdesin * (thtrgasoutavg - thtrairinavg) + thtrairinavg * (thtrgasinavg -


thtrgasoutavg)) / (thtrgasinavg - thtrairinavg);

else

thtrgocgasin = 0.0;

SP_0030 209
9.24 BOILERASME4

Calculate the total corrected exit gas temperature.

thtrgoc = thtrgocairin + thtrgocgasin - thtrgasoutavg;

Calculate the weighted averages of specific heat of air, specific heat of gas and air heater
leakage.

cahairavg = (wairtot1 * cahair1 + wairtot2 * cahair2 + wairtot3 * cahair3 + wairtot4 * cahair4 +


wairtot5 * cahair5 + wairtot6 * cahair6)/wahairtot;
cahgasavg = (wairtot1 * cahgas1 + wairtot2 * cahgas2 + wairtot3 * cahgas3 + wairtot4 *
cahgas4 + wairtot5 * cahgas5 + wairtot6 * cahgas6) / wahairtot;
Rahlkgavg = (wairtot1 * Rahlkg1 + wairtot2 * Rahlkg2 + wairtot3 * Rahlkg3 + wairtot4 *
Rahlkg4 + wairtot5 * Rahlkg5 + wairtot6 * Rahlkg6) / wahairtot;

Correct the modified air heater exit gas temperature (corrected for no leakage) is corrected for the
deviation from the design entering air temperature by the procedure defined in ASME PTC 4.3
Paragraph 7.08.

Calculate the corrected non leakage exit gas temperature (thtrmoc).

if (cahgasavg > 0.0)

thtrmoc = thtrgoc + (Rahlkgavg * cahairavg * thtrgoc -thtradesin) / (100.0 * cahgasavg);

else

thtrmoc = 0.0;

210 SP_0030
9.25 Capab

9.25 Capab

The Capab algorithm calculates capability of mechanical draft cooling towers.

YES Units are Converted.

CAP AB

Parameter Description Usage

Analog Inputs

kcharexp cooling twr char Exponent REQUIRED Output from cooltwrdes algorithm.

kdeslg des l/g value REQUIRED Output from cooltwrdes algorithm.

Fcoolflow ratio des water flow/act flow REQUIRED Output from cooltwrpwr algorithm.

kcharconst cooling twr char constant REQUIRED Output from cooltwrdes algorithm.
tcthotin cooling twr hot wtr in temp REQUIRED

tctcoldout cooling twr cold wtr out temp REQUIRED


tctindes cooling twr inlet des temp REQUIRED Output from cooltwrdes algorithm.
tctoutdes cooling twr outlet des temp REQUIRED Output from cooltwrdes algorithm.

kslope slope of air enth line REQUIRED Output from cooltwr algorithm.
hsatairin enth of saturated inlet air REQUIRED Output from cooltwr algorithm.
hairdes des air enth REQUIRED Output from cooltwr algorithm.
Hcoolelv cooling twr Elevation REQUIRED Output from cooltwrdes algorithm.
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

kexpnin Cooling twr char Exp inverted [Optional]

kactdeslg actual design l/g [Optional]


kdeskavl design kav\l [Optional]
koveralldeskavl overall design kav/l [Optional]
kcalckavl calculated kav/l [Optional]
kconst1 constant used in calc slope [Optional]
kslop1 capab slop1 [Optional]
kslopec capab calculated slope [Optional]
knewkavl new kav\l [Optional]
knumiters capab number of iterations [Optional]
Rcapab cooling twr capability [Optional]
kconverr capab converg Error flag [Optional]
Digital Outputs

SP_0030 211
9.25 Capab

CAP AB

Parameter Description Usage

< NONE >

Constants

< NONE >

9.25.1 Capab Calculation Overview

The cooling tower capability is calculated as follows:

Rcapab = 100.0 * (kslopec / kdeslg)

Where:

Rcapab = Cooling tower capability (%)


kslopec = Adjusted mass flow ratio (L/G)
kdeslg = Design mass flow ratio (L/G)

The COOLTWR algorithm must be called before using this algorithm.

212 SP_0030
9.26 Chkload

9.26 Chkload

The Chkload algorithm checks the load. If the load is above the critical load level, the run flag for
the GPA algorithms is set.

YES Units are Converted.

CHKLOAD

Parameters Description Usage

Analog Inputs

Pmwatt gross megawatts [Optional]

Rcrpld critical load level [Optional]


Digital Inputs

< NONE >

Analog Outputs

Pmwrated rated megawatts [Optional]

wwideopen valves wide open throttle flow [Optional] Used for unit heat rate control algorithm
unhrpcthr.
Rcload percent load [Optional] Used in ASME heat rate corr for main
steam temp
Digital Outputs

zdocalc dig pcalc local run flag REQUIRED Used in all calculations.

zrunperfcalc dig pcalc highway run flag [Optional]


ztrue dig flag always true [Optional]
Constants

< NONE >

9.26.1 Chkload Calculation Overview

The Chkload algorithm checks the load and if the load is above the critical load level, the run flag
(zdocalc) for the gpa algorithm is set. This algorithm will always set the digital flag ztrue to a 1 to
allow the algorithms to be run if not using the load as the basis for running.

Chkload Outputs

First, calculate the percent load as a percentage of the rated load.

Rcload = 100.0 * (Pmwatt / Pmwrated);

Next, check if percentage load is above critical load level.

if (Rcload <= Rcrpld)

SP_0030 213
9.26 Chkload

Load level is less than the critical load, set the performance calculation flag to false.

zdocalc = 0
zrunperfcalc = 0

else

Load level is above critical load level, set the performance calculation flag to true.

zdocalc = 1
zrunperfcalc = 1

Lastly, set the flag ztrue to 1 to allow a flag to be turned on to run the algorithms when the load is
not the specified criteria for running all algorithms.

ztrue = 1

214 SP_0030
9.27 Cndavgtemp

9.27 Cndavgtemp

The Cndavgtemp algorithm calculates the condenser average inlet and outlet temp as well as the
average circulating water temperature.

YES Units are Converted.

CNDAVGTEMP

Parameters Description Usage

Analog Inputs

tcwin1 circ water comp 1 in temp REQUIRED

tcwout1 circ water comp 1 out temp REQUIRED


tcwin2 circ water comp 2 in temp [Optional] Use if there are 2 compartments.

tcwout2 circ water comp 2 out temp [Optional] Use if there are 2 compartments.

tcmpthresh comp temp threshold Output from [Optional] Use if in svc status for cmpts
cnddesign. determined by threshold.
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zin_service_flag condenser in service flag [Optional] Use if Digital flags determine in svc
status. Output from cnddesign algorithm.
zcmpt1_flag cnd cmpt 1 flag [Optional] Use if Digitals determine in svc status
for compartments.
zcmpt2_flag cnd cmpt 2 flag [Optional] Use if Digitals determine in svc status
and there are 2 compartments.
Analog Outputs

tcmpt1_rise cond comp 1 temp rise [Optional]

tcmpt2_rise cond comp 2 temp rise [Optional]


kcmpt1_cnt cnd cmpt 1 count [Optional] Used in condsr algorithm.
kcmpt2_cnt cnd cmpt 2 count [Optional] Used in condsr algorithm.
tcwin cnd avg circ wtr in temp [Optional] Used in condsr algorithm.
tcwout cnd avg circ wtr out temp [Optional] Used in condsr algorithm.
tcwavg cnd avg circ wtr temp [Optional] Used in cndspecheat algorithm.
tcwrise cond avg circ wtr temp rise [Optional] Used in condsr algorithm.

Digital Outputs

< NONE >


Constants
< NONE >

SP_0030 215
9.27 Cndavgtemp

9.27.1 Cndavgtemp Calculation Overview

Condenser Compartment Temperature Rises

tcmpt1_rise = tcwout1 - tcwin1


tcmpt2_rise = tcwout2 - tcwin2

Average overall circulating water inlet (tcwin) and water outlet (tcwout) temperatures.

tcwin = (kcmpt1_cnt * tcwin1 + kcmpt2_cnt * tcwin2) / (kcmpt1_cnt + kcmpt2_cnt)


tcwout = (kcmpt1_cnt * tcwout1 + kcmpt2_cnt * tcwout2) / (kcmpt1_cnt + kcmpt2_cnt)

Where:

kcmpt1_cnt = 1 if compartment 1 is in service; else it is 0


kcmpt2_cnt = 1 if compartment 1 is in service; else it is 0

Average circulating water temperature.

tcwavg = (tcwin + tcwout) / 2.0

Average circulating water temperature rise.

tcwrise = tcwout - tcwin

216 SP_0030
9.28 Cnddesign

9.28 Cnddesign

The Cnddesign algorithm reads in the condenser design data and assigns the values to outputs
as well as calculating the inner diameter for the different bundle types.

YES Units are Converted.

CNDDESIGN

Parameter Description Usage

Analog Inputs

kdummy Analog dummy point [Optional]

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

knum_cmpts condenser # of compartments [Optional]

knum_pass condenser number of passes [Optional]


kcmpt1_tubes condsr water tubes [Optional]
kcmpt2_tubes condsr air tubes [Optional] Use if there are air tubes.
kcmpt1_length condsr water tubes length [Optional]
kcmpt1_outdiam condsr water tubes outer diam [Optional]
kcmpt1_bwg condsr water tubes outer bwg [Optional]
kcmpt1_thickness condsr cmpt water thickness [Optional]
kcmpt1_indiam condsr water tubes inner diam [Optional]
kcmpt1_cndmatcf cndsr water tube mat corr fact [Optional]
kcmpt2_length air tubes length [Optional] Use if there are air tubes.
kcmpt2_outdiam condsr air tubes out diam [Optional] Use if there are air tubes.
kcmpt2_bwg condsr air tubes bwg [Optional] Use if there are air tubes.
kcmpt2_thickness condsr air tubes thickness [Optional] Use if there are air tubes.
kcmpt2_indiam condsr air tubes inner diam [Optional] Use if there are air tubes.
kcmpt2_cndmatcf condsr air tubes mat corr fact [Optional] Use if there are air tubes.
tcmpthresh condsr compartment temp [Optional] Required if in service criteria is
thresh temperature related.

Ccndes condsr des cleanliness factor [Optional]

Digital Outputs

zin_service_flag condenser in service flag [Optional]

zmkup_klbhr condsr makeup watr klb/hr flag [Optional]


zmkup_gpm condenser makeup gpm flag [Optional]
zcircwater_flag condenser circ water flag [Optional]

SP_0030 217
9.28 Cnddesign

CNDDESIGN

Parameter Description Usage

zlp_exhaust condenser lp Exhaust flag [Optional]


zmakeup_water condenser makeup water flag [Optional]
zgland_drain condenser gland drain flag [Optional]
zlp_heaters condenser lp heaters flag [Optional]
zbfpt_exhaust condenser bfpt Exhaust flag [Optional]
zssr_spillover stm seal regulator spillovr flg [Optional]
zsjae condenser sjae flag [Optional]
zout_of_svclp condsr out of service lp htrs [Optional]
zcond_misc1 condenser misc 1 flag [Optional]
zcond_misc2 condenser misc 2 flag [Optional]
zhga mercury absolute pressure flag [Optional]
zhgv mercury vapor pressure flag [Optional]
zgauge gauge pressure flag [Optional]
zabs absolute pressure flag [Optional]
Constants

CMATCF_ADMIRAL_M CMATCF_ALUM_BRASS[2] = CMATCF_CU_NI_70[4] = 0.83


ETAL[0] = 0.93 0.95

CMATCF_ADMIRAL_M CMATCF_ALUM_BRASS[3] = CMATCF_CU_NI_70[5] = 0.855


ETAL[1] = 0.945 0.96

CMATCF_ADMIRAL_M CMATCF_ALUM_BRASS[4] = CMATCF_CU_NI_70[6] = 0.88


ETAL[2] = 0.96 0.97

CMATCF_ADMIRAL_M CMATCF_ALUM_BRASS[5] = CMATCF_CU_NI_70[7] = 0.9


ETAL[3] = 0.97 0.98
CMATCF_ADMIRAL_M CMATCF_ALUM_BRASS[6] = CMATCF_CU_NI_70[8] = 0.92
ETAL[4] = 0.98 0.99
CMATCF_ADMIRAL_M CMATCF_ALUM_BRASS[7] = CMATCF_CU_NI_70[9] = 0.935
ETAL[5] = 0.99 1.0

CMATCF_ADMIRAL_M CMATCF_ALUM_BRASS[8] = CMATCF_CU_NI_70[10] = 0.95


ETAL[6] = 1.0 1.01
CMATCF_ADMIRAL_M CMATCF_ALUM_BRASS[9] = CMATCF_CU_NI_70[11] = 0.96
ETAL[7] = 1.005 1.015

CMATCF_ADMIRAL_M CMATCF_ALUM_BRASS[10] = CMATCF_CU_NI_70[12] = 0.97


ETAL[8] = 1.01 1.

CMATCF_ADMIRAL_M 02CMATCF_ALUM_BRASS[11] CMATCF_CU_NI_70[13] = 0.97


ETAL[9] = 1.015 = 1.02

218 SP_0030
9.28 Cnddesign

CNDDESIGN

Parameter Description Usage

CMATCF_ADMIRAL_M CMATCF_ALUM_BRASS[12] = CMATCF_CR_STEEL[0] = 0.80


ETAL[10] = 1.02 1.02
CMATCF_ADMIRAL_M CMATCF_ALUM_BRASS[13] = CMATCF_CR_STEEL[1] = 0.825
ETAL[11] = 1.02 1.03
CMATCF_ADMIRAL_M CMATCF_ALUM_BRONZE[0] = CMATCF_CR_STEEL[2] = 0.85
ETAL[12] = 1.03 0.89
CMATCF_ADMIRAL_M CMATCF_ALUM_BRONZE[1] = CMATCF_CR_STEEL[3] = 0.87
ETAL[13] = 1.03 0.915
CMATCF_ARSEN_CU[ CMATCF_ALUM_BRONZE[2] = CMATCF_CR_STEEL[4] = 0.89
0] = 0.98 0.93

CMATCF_ARSEN_CU[ CMATCF_ALUM_BRONZE[3] = CMATCF_CR_STEEL[5] = 0.91


1] = 0.99 0.945
CMATCF_ARSEN_CU[ CMATCF_ALUM_BRONZE[4] = CMATCF_CR_STEEL[6] = 0.93
2] = 1.0 0.96
CMATCF_ARSEN_CU[ CMATCF_ALUM_BRONZE[5] = CMATCF_CR_STEEL[7] = 0.95
3] = 1.005 0.97
CMATCF_ARSEN_CU[ CMATCF_ALUM_BRONZE[6] = CMATCF_CR_STEEL[8] = 0.97
4] = 1.01 0.98
CMATCF_ARSEN_CU[ CMATCF_ALUM_BRONZE[7] = CMATCF_CR_STEEL[9] = 0.975
5] = 1.015 0.99
CMATCF_ARSEN_CU[ CMATCF_ALUM_BRONZE[8] = CMATCF_CR_STEEL[10] = 0.98
6] = 1.02 1.0
CMATCF_ARSEN_CU[ CMATCF_ALUM_BRONZE[9] = CMATCF_CR_STEEL[11] = 0.99
7] = 1.025 1.005
CMATCF_ARSEN_CU[ CMATCF_ALUM_BRONZE[10] CMATCF_CR_STEEL[12] = 1.0
8] = 1.03 = 1.01
CMATCF_ARSEN_CU[ CMATCF_ALUM_BRONZE[11] CMATCF_CR_STEEL[13] = 1.0
9] = 1.03 = 1.01
CMATCF_ARSEN_CU[ CMATCF_ALUM_BRONZE[12] CMATCF_SS_304[0] = 0.54
10] = 1.03 = 1.02
CMATCF_ARSEN_CU[ CMATCF_ALUM_BRONZE[13] CMATCF_SS_304[1] = 0.58
11] = 1.04 = 1.02
CMATCF_ARSEN_CU[ CMATCF_CU_NI_90[0] = CMATCF_SS_304[2] = 0.62
12] = 1.04 999.80
CMATCF_ARSEN_CU[ CMATCF_CU_NI_90[1] = 0.825 CMATCF_SS_304[3] = 0.655
13] = 1.04
CMATCF_CU_IRON[0] CMATCF_CU_NI_90[2] = 0.85 CMATCF_SS_304[4] = 0.69
= 1.00
CMATCF_CU_IRON[1] CMATCF_CU_NI_90[3] = 0.87 CMATCF_SS_304[5] = 0.72
= 1.005
CMATCF_CU_IRON[2] CMATCF_CU_NI_90[4] = 0.89 CMATCF_SS_304[6] = 0.75
= 1.01

SP_0030 219
9.28 Cnddesign

CNDDESIGN

Parameter Description Usage

CMATCF_CU_IRON[3] CMATCF_CU_NI_90[5] = 0.91 CMATCF_SS_304[7] = 0.785


= 1.015
CMATCF_CU_IRON[4] CMATCF_CU_NI_90[6] = 0.93 CMATCF_SS_304[8] = 0.82
= 1.02
CMATCF_CU_IRON[5] CMATCF_CU_NI_90[7] = 0.945 CMATCF_SS_304[9] = 0.84
= 1.025

CMATCF_CU_IRON[6] CMATCF_CU_NI_90[8] = 0.96 CMATCF_SS_304[10] = 0.86


= 1.03

CMATCF_CU_IRON[7] CMATCF_CU_NI_90[9] = 0.97 CMATCF_SS_304[11] = 0.88


= 1.03
CMATCF_CU_IRON[8] CMATCF_CU_NI_90[10] = 0.98 CMATCF_SS_304[12] = 0.90
= 1.03
CMATCF_CU_IRON[9] CMATCF_CU_NI_90[11] = 0.99 CMATCF_SS_304[13] = 0.91
= 1.035
CMATCF_CU_IRON[10] CMATCF_CU_NI_90[12] = 0.99 CMATCF_TITAN[0] = 0.63
= 1.04
CMATCF_CU_IRON[11] CMATCF_CU_NI_90[13] = 1.0 CMATCF_TITAN[1] = 0.67
= 1.04
CMATCF_CU_IRON[12] CMATCF_CU_NI_70[0] = 0.71 CMATCF_TITAN[2] = 0.71
= 1.04
CMATCF_CU_IRON[13] CMATCF_CU_NI_70[1] = 0.745 CMATCF_TITAN[3] = 0.74
= 1.04
CMATCF_ALUM_BRAS CMATCF_CU_NI_70[2] = 0.78 CMATCF_TITAN[4] = 0.77
S[0] = 0.92
CMATCF_ALUM_BRAS CMATCF_CU_NI_70[3] = 0.805 CMATCF_TITAN[5] = 0.795
S[1] = 0.935
CMATCF_TITAN[6] = CMATCF_UNS_S43035[0] = CMATCF_UNS_S44735[8] = 0.85
0.82 0.63
CMATCF_TITAN[7] = CMATCF_UNS_S43035[1] = CMATCF_UNS_S44735[9] = 0.865
0.85 0.67
CMATCF_TITAN[8] = CMATCF_UNS_S43035[2] = CMATCF_UNS_S44735[10] = 0.88
0.88 0.71
CMATCF_TITAN[9] = CMATCF_UNS_S43035[3] = CMATCF_UNS_S44735[11] = 0.90
0.895 0.74
CMATCF_TITAN[10] = CMATCF_UNS_S43035[4] = CMATCF_UNS_S44735[12] = 0.91
0.91 0.77
CMATCF_TITAN[11] = CMATCF_UNS_S43035[5] = CMATCF_UNS_S44735[13] = 0.93
0.92 0.795
CMATCF_TITAN[12] = CMATCF_UNS_S43035[6] = CMATCF_UNS_S44660[0] = 0.57
0.94 0.82
CMATCF_TITAN[13] = CMATCF_UNS_S43035[7] = CMATCF_UNS_S44660[1] = 0.61
0.95 0.85

220 SP_0030
9.28 Cnddesign

CNDDESIGN

Parameter Description Usage

CMATCF_UNS_N08367 CMATCF_UNS_S43035[8] = CMATCF_UNS_S44660[2] = 0.65


[0] = 0.52 0.88
CMATCF_UNS_N08367 CMATCF_UNS_S43035[9] = CMATCF_UNS_S44660[3] = 0.685
[1] = 0.56 0.895
CMATCF_UNS_N08367 CMATCF_UNS_S43035[10] = CMATCF_UNS_S44660[4] = 0.72
[2] = 0.60 0.91
CMATCF_UNS_N08367 CMATCF_UNS_S43035[11] = CMATCF_UNS_S44660[5] = 0.75
[3] = 0.635 0.92
CMATCF_UNS_N08367 CMATCF_UNS_S43035[12] = CMATCF_UNS_S44660[6] = 0.78
[4] = 0.67 0.94
CMATCF_UNS_N08367 CMATCF_UNS_S43035[13] = CMATCF_UNS_S44660[7] = 0.815
[5] = 0.705 0.95
CMATCF_UNS_N08367 CMATCF_UNS_S44735[0] = CMATCF_UNS_S44660[8] = 0.85
[6] = 0.74 0.57
CMATCF_UNS_N08367 CMATCF_UNS_S44735[1] = CMATCF_UNS_S44660[9] = 0.865
[7] = 0.775 0.61
CMATCF_UNS_N08367 CMATCF_UNS_S44735[2] = CMATCF_UNS_S44660[10] = 0.88
[8] = 0.81 0.65
CMATCF_UNS_N08367 CMATCF_UNS_S44735[3] = CMATCF_UNS_S44660[11] = 0.90
[9] = 0.83 0.685
CMATCF_UNS_N08367 CMATCF_UNS_S44735[4] = CMATCF_UNS_S44660[12] = 0.91
[10] = 0.85 0.72
CMATCF_UNS_N08367 CMATCF_UNS_S44735[5] = CMATCF_UNS_S44660[13] = 0.93
[11] = 0.87 0.75
CMATCF_UNS_N08367 CMATCF_UNS_S44735[6] =
[12] = 0.89 0.78
CMATCF_UNS_N08367 CMATCF_UNS_S44735[7] =
[13] = 0.90 0.815

9.28.1 Cnddesign Calculation Overview

This algorithm sets the outputs for the condenser algorithms from the information provided on the
design screen.

The number of compartments is output in variable knum_cmpts.

The number of passes thru the condenser is output in knum_pass.

If the condenser uses a digital flag for in-service criteria,

zin_service_flag = 1.

If condenser make-up flow is in volumetric flow (gpm or m3/sec),

zmkup_gpm = 1 and zmkup_klbhr = 0. Otherwise zmkup_gpm = 0 and zmkup_klbhr = 1.

SP_0030 221
9.28 Cnddesign

If the temperature rise threshold is filled in on the design screen,

tcmpthresh contains the value from the design screen.

The variable Ccndes contains the design condenser cleanliness factor.

If circulating water flow is measured, then the flag zcircwater_flag = 1. Otherwise, the circulating
water flow is not measured and the flag zcircwater_flag = 0. If circulating water flow is not
measured the following flags are set according to the check boxes on the screen. If the box is
checked, the flag will be set to a 1.

COMPONENT FLAG

LP exhaust flow zlp_exhaust


Condenser makeup water zmakeup_water
LP heater drain(s) zlp_heaters
Steam jet air ejector zsjae
Gland steam condenser drainzgland_drain
Steam seal regulator spilloverzssr_spillover
Boiler feedpump turbine exhaustzbfpt_exhaust
Out of service lp heaterszout_of_svclp
Miscellaneous 1zmisc1
Miscellaneous 2zmisc2

The length, outer diameter, bwg, and material correction factors are output for the water and air
tubes as follows:

VARIABLE DESCRIPTION

kcmpt1_length water tube length


kcmpt1_indiam water tube inner diameter calculated from the thickness and
outer diameter
kcmpt1_outdiam water tube outer diameter
kcmpt1_bwg water tube bwg
kcmpt1_matcf water material correction factor which is looked up from the
material entered
kcmpt1_thickness water tube thickness calculated from the bwg entered

kcmpt2_length air tube length


kcmpt2_indiam air tube inner diameter calculated from the thickness and outer
diameter
kcmpt2_outdiam air tube inner diameter calculated from the thickness and outer
diameter
kcmpt2_bwg air tube outer diameter
kcmpt2_matcf air material correction factor which is looked up from the material
entered
kcmpt2_thickness air tube thickness calculated from the bwg entered

222 SP_0030
9.28 Cnddesign

Finally, the four pressure flags are set to a 1 if the units are selected on the design screen as
follows:

UNITS VARIABLE

Mercury absolutezhga
Mercury gauge zhgv
PSIA or KPAA zabs
PSIG or KPAG zgauge

SP_0030 223
9.29 Co2econ

9.29 Co2econ

The Co2econ algorithm converts wet o2 at econ outlet to dry econ outlet.

NO Units are Converted.

CO2ECON

Parameters Description Usage

Analog Inputs

Rc6 pcnt carbon in coal REQUIRED

Rc7 pcnt hydrogen in coal REQUIRED

Rc8 pcnt nitrogen in coal REQUIRED


Rc9 pcnt ash in coal REQUIRED
Rc10 pcnt sulfur in coal REQUIRED
Rc11 pcnt moisture in coal REQUIRED
Rc12 pcnt oxygen in coal REQUIRED
Rc14 pcnt O2 in flue gas REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

kd6 carbon moles in coal [Optional]

kd7 hydrogen moles in coal [Optional]


kd8 nitrogen moles in coal [Optional]
kd10 sulfur moles in coal [Optional]
kd11 moisture moles in coal [Optional]
kd12 oxygen moles in coal [Optional]
kb19 carbon moles O2 [Optional]
kc19 hydrogen moles O2 [Optional]
kd19 sulfur moles O2 [Optional]
ke19 sum moles O2 [Optional]
kb20 carbon moles air [Optional]
kc20 hydrogen moles air [Optional]
kd20 sulfur moles coal [Optional]
ke20 sum moles air [Optional]
kb21 moles theoretical [Optional]
kb22 moles air from O2 in fuel [Optional]
kb23 moles theoretical air [Optional]

224 SP_0030
9.29 Co2econ

CO2ECON

Parameters Description Usage

kb25 moles CO2 [Optional]


kb26 moles H2O fuel [Optional]
kb27 moles H2O combust [Optional]
kb28 moles SO2 [Optional]
kb29 sum moles [Optional]
kb31 sum products of combust [Optional]
kb32 excess O2 [Optional]
kb33 total econ out moles [Optional]
kb35 O2 econ out moles [Optional]
kc35 N2 econ out moles [Optional]
kd35 H2O econ out moles [Optional]
ke35 CO2 econ out moles [Optional]
kf35 SO2 econ out moles [Optional]
kg35 total dry moles [Optional]
Rb38 percent CO2 wet [Optional]
Rc38 percent CO2 dry [Optional]
Rb39 percent SO2 wet [Optional]
Rc39 percent SO2 dry [Optional]
Rb40 percent N2 wet [Optional]
Rc40 percent N2 dry [Optional]
Rb41 percent O2 wet [Optional]
Rc41 percent O2 dry [Optional]

Rb42 percent H2O wet [Optional]

Rco2econ percent dry CO2 econ out [Optional]


Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 225
9.29 Co2econ

9.29.1 Co2econ Calculation Overview

Co2econ converts wet O2 at econ outlet to dry O2 at econ outlet.

Calculate moles in coal.

kd6 = Rc6 / 12.0; // carbon


kd7 = Rc7 / 2.016; // hydrogen
kd8 = Rc8 / 28.0; // nitrogen
kd10 = Rc10 / 32.0; // sulfur
kd11 = Rc11 / 18.0; // moisture
kd12 = Rc12 / 32.0; // oxygen

Calculate moles of O2

kb19 = kd6; // carbon


kc19 = kd7 * 0.5; // hydrogen
kd19 = kd10; // sulfur
ke19 = kb19 + kc19 + kd19; // sum moles O2

Calculate moles of air

kb20 = kb19 * 4.76; // carbon


kc20 = kd7 * 2.38; // hydrogen
kd20 = kd19 * 4.76; // sulfur
ke20 = kb20 + kc20 + kd20; // sum moles air

Calculate moles of theoretical O2

kb21 = ke19 - kd12;

Calculate moles of air from O2 in fuel

kb22 = kd12 * 4.76;

Calculate moles of theoretical air

kb23 = ke20 - kb22;

Calculate moles of CO2

kb25 = kb19;

Calculate moles of H2O in fuel

kb26 = kd11;

Calculate moles of H2O combusted

kb27 = kd7;

Calculate moles of SO2

kb28 = kd10;

226 SP_0030
9.29 Co2econ

Calculate sum of moles in CO2, H2O fuel, H2O combust, and SO2

kb29 = kb25 + kb26 + kb27 + kb28;

Calculate sum of products in combustion

kb31 = (kb21 * 3.76) + (kb21 * 0.07971) + kb29;

Calculate excess O2

kb32 = 1.0 - ((Rc14 * 0.0376) + (0.00797 * Rc14));

Calculate total economizer outlet moles

kb33 = kb31 / kb32;

Calculate economizer outlet moles

kb35 = kb33 * Rc14 / 100.0; // O2


kc35 = (kb35 * 3.76) + (kb21 * 3.76); // N2
kd35 = (kc35 * 0.0212) + kb27; // H2O
ke35 = kb25; // CO2
kf35 = kb28; // SO2
kg35 = kb35 + kc35 + ke35 + kf35; // total dry moles

Calculate % CO2 - wet, dry - at economizer outlet

Rb38 = (ke35 / kb33) * 100.0;


Rc38 = (ke35 / kg35) * 100.0;

Calculate %SO2 - wet, dry at economizer outlet

Rb39 = (kf35 / kb33) * 100.0;


Rc39 = (kf35 / kg35) * 100.0;

Calculate N2 - wet, dry - at economizer outlet

Rb40 = (kc35 / kb33) * 100.0;


Rc40 = (kc35 / kg35) * 100.0;

Calculate O2 - wet, dry at economizer outlet

Rb41 = (kb35 / kb33) * 100.0;


Rc41 = (kb32 / kg35) * 100.0;

Calculate H2O wet at economizer outlet

Rb42 = (kd35 / kb33) * 100.0;

Calculate dry CO2 at economizer outlet

Rco2econ = Rc38;

SP_0030 227
9.30 Combturb

9.30 Combturb

The Combturb or the combustion turbine algorithm calculates corrected power and heat rates as
well as thermal efficiency, corrected thermal efficiency, and heat consumption.

YES Units are Converted.

COMBTURB

Parameters Description Usage

Analog Inputs

tchillerinlt chiller inlet temperature [Optional] Required if a chiller/evaporator is


present.
tchilleroutlt chiller outlet temperature [Optional] Required if a chiller/evaporator is
present.
tempambnt ambient air temperature [Optional] Required if a chiller/evaporator is
present.
tcompin compressor inlet temperature REQUIRED

twetbulb wet bulb temperature [Optional] Required if a chiller/evaporator is


present.
eevapdes evaporator design efficiency [Optional] Required if a chiller/evaporator is
present.

patmos atmospheric pressure REQUIRED

Soil_specgrav specific gravity of oil [Optional] Required if oil is used.


toil oil temperature [Optional] Required if oil is used.
wmass_oilflow mass oil flow [Optional] Required if oil is used.
Mlrmass molar mass of natural gas [Optional] Required if natural gas is used
and is output from fuels.

FPcorcmpinlt comp inlet temp pwr corr fact [Optional] Required if compressor inlet
temperature power corr factor is used.
FPcorcmpinlp comp inlet press pwr corr fact [Optional] Required if combustion turbine
inlet pressure loss power corr factor is used.

FPcorexhpr exhaust press power corr fact [Optional] Required if combustion


turbineExhaust pressure loss power corr
factor is used.
FPcorinjused injection power corr factor [Optional] Required if combustion turbine
injection loss power correction factor is used.
FPcoratmospr atmospher press pwr corr fact [Optional] Required if atmospheric pressure
power correction factor is used.

FPcorrelhum rel humidity pwr corr fact [Optional] Required if relative humidity
power correction factor is used.

FPcormisc misc power correction factor [Optional] Required if miscellaneous power


correction factor is used.

228 SP_0030
9.30 Combturb

COMBTURB

Parameters Description Usage

Pcombturb combustion turbine pwr output REQUIRED

Pcombtdes design combustion turbine pwr [Optional]


Fngch4 Fraction of methane [Optional] Required if natural gas is used
and output from fuels algorithm.

Fngc2h6 Fraction of ethane [Optional] Required if natural gas is used


and output from fuels algorithm.
Fngc3h8 Fraction of propane [Optional] Required if natural gas is used
and output from fuels algorithm.
Fngnbt Fraction of n butane [Optional] Required if natural gas is used
and output from fuels algorithm.
Fngisbt Fraction of isobutane [Optional] Required if natural gas is used
and output from fuels algorithm.
Fngnpt Fraction of n pentane [Optional] Required if natural gas is used
and output from fuels algorithm.
Fngispt Fraction of isopentane [Optional] Required if natural gas is used
and output from fuels algorithm.
Fnghex Fraction of n hexane [Optional] Required if natural gas is used
and output from fuels algorithm.
Fngco2 Fraction of carbon dioxide [Optional] Required if natural gas is used
and output from fuels algorithm.
Fngh2 Fraction of hydrogen [Optional] Required if natural gas is used
and output from fuels algorithm.
Fngn2 Fraction of nitrogen [Optional] Required if natural gas is used
and output from fuels algorithm.
Fngh2o Fraction of water [Optional] Required if natural gas is used
and output from fuels algorithm.
Fngco CO nat gas constituent [Optional] Required if natural gas is used
and output from fuels algorithm.
Fngo2 oxygen nat gas constituent [Optional] Required if natural gas is used
and output from fuels algorithm.
Fngh2s hydrogn sulfur nat gas constit [Optional] Required if natural gas is used
and output from fuels algorithm.
Fnghep heptane nat gas constituent [Optional] Required if natural gas is used
and output from fuels algorithm.
pngas pressure natural gas [Optional] Required if natural gas is used
and output from fuels algorithm.
tngas temperature natural gas [Optional] Required if natural gas is used
and output from fuels algorithm.
Wmas_ngas natural gas fuel flow [Optional] Required if natural gas is used
and output from fuels algorithm.
wtotfuel total fuel flow REQUIRED Output from fuels algorithm.

SP_0030 229
9.30 Combturb

COMBTURB

Parameters Description Usage

hlhvfuel lower heating value of fuel [Optional] The lower or higher heating value
is required.

hhhvfuel higher heating value of fuel [Optional] The lower or higher heating value
is required.
winj injection flow [Optional] Use if injection flow is present.
pinj injection pressure [Optional] Use if there is fuel injection.

tinj injection temperature [Optional] Use if there is fuel injection.


tinjref reference injection temp [Optional] Use if there is fuel injection.
Frcorcmpinlt comp inlet temp htrt corr fact [Optional] Required if compressor inlet temp
heat rate corr factor is used.

Frcorcmpinlp comp inlet pres htrt corr fact [Optional] Required if combustion turbine
inlet pressure loss heat rate corr factor is
used
Frcorexhpr exhaust press htrte corr fact [Optional] Required if comb turbineExhaust
pressure loss heat rate corr factor is used.
Frcorinjused inj heat rate correction fact [Optional] Required if injection loss heat rate
correction factor is used.

Frcoratmospr atmos press ht rate corr fact [Optional] Required if atmospheric pressure
rate correction factor is used.
Frcorrelhum rel humid heat rate corr fact [Optional] Required if relative humidity rate
correction factor is used.
Frcormisc misc heat rate corr factor [Optional] Required if miscellaneous heat
rate correction factor is used.
rhrctdes heat rate combust turb design [Optional]

wctestair combust turbine est air flow [Optional]


tctout combust turbine outlet temp REQUIRED
Rcarb pct carbon in fuel REQUIRED Output from fuels algorithm.

Rco2 pcnt CO2 in fuel REQUIRED Output from fuels algorithm.


Rhydr pcnt hydrogen in fuel REQUIRED Output from fuels algorithm.
Rco pcnt CO in fuel REQUIRED Output from fuels algorithm.
Rnitr pcnt nitrogen in fuel REQUIRED

Roxy pcnt oxygen in fuel REQUIRED Output from fuels algorithm.

Rsulf pcnt sulfur in fuel REQUIRED Output from fuels algorithm.


Rso2 pct SO2 in fuel REQUIRED Output from fuels algorithm.
Rncmbt pct non combustibles in fuel [Optional] Output from fuels algorithm.

Wvap ambient specific humidity REQUIRED

230 SP_0030
9.30 Combturb

COMBTURB

Parameters Description Usage

Wvapcmpin ambient spec hum at comp inlet REQUIRED


tcompout compressor outlet temperature [Optional]
pcompin compressor inlet pressure [Optional]
pcompout compressor outlet pressure [Optional]

pctgexh gas turbine exhaust pressure [Optional]

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

zchiller_on chiller in service digital flg [Optional] Needed if using digital logic to
check chiller in-service.

Analog Outputs

tchiller_drop chiller temp drop [Optional]

tchiller_thresh chiller threshold value [Optional]


eevapact evaporator eff [Optional]
eevapdev evaporator eff dev from design [Optional]
Pcombtcorr corrected combust turb pwr [Optional]
Rctbaseload percent base load [Optional]
pabsngas natural gas absolute pressure [Optional]
hgasmix gas mixture enth [Optional]
hstpngas gas enth at STP [Optional]
qngas_sensheat nat gas sensible heat [Optional]
tapi api index of oil [Optional]
hspecgrav spec enth of oil [Optional]
qoil_sensheat oil sensible heat [Optional]
qsensheat total sensible heat [Optional]
qfuelin total heat input in fuel [Optional]
pabsinj injection absolute pressure [Optional]
hinj injection enth [Optional]
pabsinjref injection reference pressure [Optional]
hinjref injection reference enth [Optional]
qinj heat added by injection [Optional]

qctintot tot heat input to combust turb [Optional]


qctpwrout combturb ht out due to pwr gen [Optional]
ecttherm combust turb thermal eff [Optional]
rhrcombturb combust turb heat rate [Optional]

SP_0030 231
9.30 Combturb

COMBTURB

Parameters Description Usage

rhrctcorr combust turb corr heat rate [Optional]


rhrctdev combust turb htrt dev from des [Optional]
ectcorr corrected combust turb eff [Optional]
qcthtcorr corr combust turb heat rate [Optional]
kmischeatloss misc heat loss percentage [Optional]
qctexh comturb heat out in Exha gases [Optional]
Ffueltoairest combust turb Est fuel air ratio [Optional]
hestgasref est Exhaust gas reference enth [Optional]
hestgasout est Exhaust gas outlet enth [Optional]
hestgasin est Exha gas enth @ comp inlet [Optional]
wctexh combust turb Exhaust gas flow [Optional] Used in hrsg algorithm.
wair compressor air flow [Optional]
Ffueltoairact actual fuel to air ratio [Optional] Used in hrsg algorithm.
hctdes comb turb des Exhaust gas enth [Optional] Used in hrsg algorithm.
hctexhout exhst gas enth @ exhst gas temp [Optional]
hctcompin xhst gas enth @ comp inlet temp [Optional]
kcompadb ideal gas const for comp in temp [Optional]
tcompadb compressor adiabatic temperature [Optional]
ecompeff compressor adiabatic efficiency [Optional]
pabsinloss ctg inlet pressure loss [Optional]
pabsoutloss ctg outlet pressure loss [Optional]
Digital Outputs

< NONE >

Constants

TAPICONST1 = CHSPEC2 = -0.11426 CHSPEC5 = 2.18E-04


141.5
TAPICONST2 = CHSPEC3 = 0.373 CHSPEC6 = 7.0E-07
131.5
CHSPEC1 = -30.016 CHSPEC4 = 1.43E-03 HOIL_REF = 7.8

PDELTACOMP,20.0 This constant is the delta between If the pressure difference is less than this
inlet and outlet compressor delta, compressor calculations will not be
pressures. done.

232 SP_0030
9.30 Combturb

9.30.1 Combturb Calculation Overview

Comturb calculates the following:

 evaporator/chiller efficiency if one is present


 load corrected to guaranteed or ISO conditions
 total heat in fuel = sensible heat plus heat from fuel
 total heat input into combustion turbine = heat input from fuel and injection
 thermal efficiency
 combustion turbine heat rate
 heat rate corrected to guaranteed or ISO conditions
 heat rate deviation between corrected and design
 corrected turbine efficiency
 corrected combustion turbine heat consumption
 exhaust gas flow
 actual fuel to air ratio
 exhaust gas enthalpy at exhaust gas temp
 exhaust gas enthalpy at compressor inlet temp

Calculate evaporator/chiller efficiency if one exists and the evaporator cooler is turned on.

tchiller_drop = fabs(tchilleroutlt - tchillerinlt);

If chiller exists and on,

eevapact = 100.0 * ((tempambnt - tcompin) / (tempambnt - twetbulb));


eevapdev = eevapact - eevapdes;

Else chiller off,

eevapact = 0.0;
eevapdev = 0.0;

Calculate the ideal gas constant which is computed as a polynomial function of compressor inlet
temperature.

kcompadb = 1.40088577 + (0.00000195285 * tcompin) - (1.07259e-07 * pow(tcompin,2)) +


(7.24161e-11 * pow(tcompin,3)) - (1.51924e-14 * pow(tcompin,4))

The adiabatic temperature is calculated.

tcompadb = pow(((pcompout+patmos) / (pcompin +patmos)), ((kcompadb - 1.0) / kcompadb))


* (tcompin + DEGFtoDEGR)

Compressor adiabatic efficiency, in percent (%), is then estimated.

ecompeff = (((temprankadb - DEGFtoDEGR) - tcompin)/(tcompout - tcompin)) * 100.0

Calculate inlet and outlet pressure losses

pabsinloss = patmos - (pcompin + patmos)

SP_0030 233
9.30 Combturb

pabsoutloss = patmos - (pctgexh + patmos)

Correct ctg output to ISO or guarantee by dividing measured output by the product of the
correction factors used. The possible correction factors are inlet temperature, inlet pressure loss,
exhaust pressure loss, injection loss, atmospheric pressure and relative humidity.

Pcombtcorr = Pcombturb / (FPcorcmpinlt * FPcorcmpinlp * FPcorexhpr * FPcorinjused *


FPcoratmospr * FPcorrelhum * FPcormisc);

Calculate percent base load as the ratio of corrected output to design load

Rctbaseload = 100.0 * Pcombtcorr / Pcombtdes

Per ASME PTC 22, 1997 calculate adjustment in heat input to account for additional energy if the
measured gas temperature and pressure are not at the standard conditions, 60 deg.f and 14.696
psia. The additional energy is defined as sensible heat.

Calculate the sensible heat for natural gas at constant pressure by multiplying the mass flow rate
of the natural gas by the difference between the specific enthalpy of the fuel gas at the operating
conditions and the specific enthalpy of the fuel gas at the standard base condition of 60 deg f and
14.696 psia. For oil, see below.

Set up fuel array containing component mole fractions for gas enthalpy function

Convert natural gas pressure to absolute

pabsngas = pngas + patmos;

Calculate enthalpy of gas mixture at temperature (tnga) and pressure (pgas) using function
gas_enthalpy. mlrmass is the molecular weight of the mixture

hgasmix =
gas_enthalpy(Fngch4,Fngc2h6,Fngc3h8,Fngnbt,Fngisbt,Fngnpt,Fngispt,Fnghex,Fngco2,Fng
h2,Fngn2,Fngh2o,Fnghep,Fngco,Fngh2s,Fngo2,Mlrmass,gpaunits.
ConvertTemp(tngas,TO_DEGF),pabsngas,&kerrorcode);

Calculate enthalpy of mixture at standard temp (TSTP = 60 deg) and pressure (PSTP = 14.696
psia).

hstpngas = gas_enthalpy(Fngch4,Fngc2h6,Fngc3h8,Fngnbt,Fngisbt,Fngnpt,Fngispt,Fnghex,
Fngco2,Fngh2,Fngn2,Fngh2o,Fnghep,Fngco,Fngh2s,Fngo2,Mlrmass,TSTP,PSTP,&kerrorco
de);qngas_sensheat = (wmass_ngas * (hgasmix - hstpngas)) / RHTCNV;

If natural gas is not used, the following are zeroed.

pabsngas = 0.0;
hgasmix = 0.0;
hstpngas = 0.0;
qngas_sensheat = 0.0;

If oil is used, calculate the API degree of the oil (from page 506 in Elements of
Thermodynamics), the specific enthalpy of oil as a function of API and temperature (from Gould's
equation on page 1250 in The Science of Petroleum) and the sensible heat.

If oil is not used, zero the sensible heat.

kapi = (TAPICONST1 / Soil_specgrav) - TAPICONST2;

234 SP_0030
9.30 Combturb

hspecgrav = CHSPEC1 + CHSPEC2 * kapi + CHSPEC3 *


gpaunits.ConvertTemp(toil,TO_DEGF) + CHSPEC4 * kapi *
gpaunits.ConvertTemp(toil,TO_DEGF) + (CHSPEC5 + CHSPEC6 * kapi) *
pow(gpaunits.ConvertTemp(toil,TO_DEGF),2); qoil_sensheat = (wmass_oilflow * hspecgrav) /
RHTCNV;

If oil is not used, zero the following parameters.

kapi = 0.0;
hspecgrav = 0.0;
qoil_sensheat = 0.0;

Calculate total sensible heat added by oil and ngas

qsensheat = ((wmass_ngas * qngas_sensheat) + (wmass_oilflow * qoil_sensheat)) /


(wmass_ngas + wmass_oilflow);

Calculate total heat in the fuel by adding the sensible heat (qsensheat) to the heat input at
standard base conditions - the product of mass flow (wtotfuel) and the net heat at standard base
conditions.

if (lower heating value)

qfuelin = ((wtotfuel * hlhvfuel) / RHTCNV) + qsensheat;

else

qfuelin = ((wtotfuel * hhhvfuel) / RHTCNV) + qsensheat;

Calculate total heat input to the combustion turbine (qctintot) as the sum of heat input in the fuel
and the heat input in the steam injection (power augmentation) if steam injection present.
calculate injection steam enthalpy (hinj), injection steam enthalpy at reference temperature & the
heat in the injection steam (qinj)

if (Injection is used)

Calculate injection enthalpy as superheated steam function or saturated liquid function of


measured temp (tinj) and pressure (pinj).

Calculate heat in injection. per ASME PTC 4.4 the heat in the injection is calculated by multiplying
the injection flow (winj) by the enthalpy difference between the injection enthalpy (hinj) and the
enthalpy of the injection (hinjref) at the reference temperature. We are calculating the enthalpy of
saturated steam at the reference temperature.

if (Steam Injection)

pabsinj = pinj + patmos ;


hsstp(&hinj, &tinj, &pabsinj, &ITRNGE);
pslt(&pabsinjref, &tcompin, &ITRNGE);
hsvp(&hinjref, &pabsinjref, &ITRNGE);

else

pabsinj = 0.0;
hslt(&hinj, &tinj, &ITRNGE);

SP_0030 235
9.30 Combturb

pabsinjref = 0.0;
hslt(&hinjref,&tcompin,&ITRNGE);
qinj = winj * (hinj - hinjref) / RHTCNV;

else

Injection not present, set absolute pressure, injection enthalpy and injection enthalpy at reference
temperature and heat in injection to zero.

pabsinj = 0.0 ;
hinj = 0.0 ;
pabsinjref = 0.0 ;
hinjref = 0.0 ;
qinj = 0.0 ;

Calculate total heat to combustion turbine (qctintot) as the sum of heat input in the fuel (qfuelin)
and heat in steam injection (qstminj)

qctintot = qfuelin + qinj;

Calculate heat output due to power generation.

qctpwrout = Pcombturb * PENCNV / RHTCNV;

Calculate operating thermal efficiency as the ratio of the heat output in power (qctpwrout) to the
heat input (qctintot)

ecttherm = qctpwrout/qfuelin * 100.0;

Calculate combustion turbine heat rate as ratio of heat input (qctintot) to measured power
(Pcombturb)

rhrcombturb = (qfuelin/Pcombturb) * RHTCNV;

Correct ctg heat rate to ISO or guarantee by dividing measured output by the product of the
correction factors used. The possible correction factors are inlet temperature, inlet pressure loss,
exhaust pressure loss, injection loss, atmospheric pressure and relative humidity.

rhrctcorr = rhrcombturb / (Frcorcmpinlt * Frcorcmpinlp * Frcorexhpr * Frcorinjused *


Frcoratmospr * Frcorrelhum * Frcormisc);

Calculate deviation between corrected heat rate (rhrctcorr) and design ct heat rate (rhrctdes)

rhrctdev = rhrctcorr - rhrctdes;

Corrected combustion turbine efficiency

ectcorr = (PENCNV/rhrctcorr) * 100.0;

Corrected combustion turbine heat consumption

qcthtcorr = (Pcombtcorr * rhrctcorr) / RHTCNV;

236 SP_0030
9.30 Combturb

Calculate heat output in exhaust gases per ASME PTC 4.4 by subtracting heat output in power
(qctpwrout) and miscellaneous heat losses (estimated to be a percentage of the total heat in fuel)
from the total heat input (qctintot)

Check the point for miscellaneous losses first and if configured, use this value.

If not configured, use the value from the design screen.

if (Not Configured)

kmischeatloss = Design Screen Value;

else

kmischeatloss = kpcnthtloss;
qctexh = qctintot - qctpwrout - (kmischeatloss/100.0 * qfuelin);

Calculate estimated fuel to air ratio. Divide gas flow by estimated air flow (wctestair).

Ffueltoairest = wtotfuel / wctestair ;

Calculate estimated exhaust gas enthalpy at 32 degF

temp1 = 32.0;
temp2 = 0.0;
enthal(&hestgasref, UNITCODE, temp1, Ffueltoairest, temp2, Wvapcmpin, Wvap, Rcarb,
Rco2, Rhydr, Rco, Rnitr, Roxy, Rsulf, Rso2, Rncmbt, temp2, HCONV);

Calculate estimated exhaust gas enthalpy at exhaust gas temperature

enthal(&hestgasout, UNITCODE, gpaunits.ConvertTemp(tctout,TO_DEGF), Ffueltoairest,


temp2, Wvapcmpin, Wvap, Rcarb, Rco2, Rhydr, Rco, Rnitr, Roxy, Rsulf, Rso2, Rncmbt,
hestgasref, HCONV);

Calculate estimated exhaust gas enthalpy at compressor inlet temperature

enthal(&hestgasin, UNITCODE,gpaunits.ConvertTemp(tcompin,TO_DEGF), Ffueltoairest,


temp2, Wvapcmpin, Wvap, Rcarb, Rco2, Rhydr, Rco, Rnitr, Roxy, Rsulf, Rso2, Rncmbt,
hestgasref, HCONV);

Calculate exhaust gas flow per ASME PTC 4.4 by dividing heat in the exhaust (qctexh) by the
difference between the estimated exhaust gas enthalpy at the ctg exhaust gas temp (hestgasout)
and the estimated exhaust gas enthalpy at the compressor inlet temperature (hestgasin).

wctexh = (qctexh * RHTCNV) / (hestgasout - hestgasin);

Calculate compressor air flow (wair) by subtracting fuel flow (wfueltot) from the calculated exhaust
gas flow (wctexh)

wair = wctexh - wtotfuel - winj;

Calculate actual fuel to air ratio

Ffueltoairact = wtotfuel/wair;

SP_0030 237
9.30 Combturb

Calculate actual exhaust gas enthalpies

Exhaust gas enthalpy at 32 degF

temp1 = 32.0;
temp2 = 0.0;
enthal(&hctdes, UNITCODE, temp1, Ffueltoairact, temp2, Wvapcmpin, Wvap, Rcarb, Rco2,
Rhydr, Rco, Rnitr, Roxy, Rsulf, Rso2, Rncmbt, temp2, HCONV);

Calculate exhaust gas enthalpy at exhaust gas temperature

enthal(&hctexhout, UNITCODE,gpaunits.ConvertTemp(tctout,TO_DEGF), Ffueltoairact,


temp2, Wvapcmpin, Wvap, Rcarb, Rco2, Rhydr, Rco, Rnitr, Roxy, Rsulf, Rso2, Rncmbt,
hctdes, HCONV);

Calculate exhaust gas enthalpy at compressor inlet temperature

enthal(&hctcompin, UNITCODE, gpaunits.ConvertTemp(tcompin,TO_DEGF), Ffueltoairact,


temp2, Wvapcmpin, Wvap, Rcarb, Rco2, Rhydr, Rco, Rnitr, Roxy, Rsulf, Rso2, Rncmbt,
hctdes, HCONV);

238 SP_0030
9.31 Compair

9.31 Compair

The Compair algorithm calculates the compressor air flow based on design air flow, ambient
conditions, compressor inlet temperature, and design compressor inlet temperature.

YES Units are Converted.

COMPAIR

Parameters Description Usage

Analog Inputs

wdesairflow design ctg air flow REQUIRED

patmos atmospheric pressure REQUIRED


tmbnt ambient air temp REQUIRED
Relhmd relative humidity REQUIRED
tcompin compressor inlet temp REQUIRED
tdescompin design comp inlet temp REQUIRED
pcompin comp inlet pressure REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

zcoolerinsvc cooler in service flag [Optional]


Analog Outputs

Wvap_iso iso spec humidty [Optional]

ko2air_iso o2 air comp iso [Optional]


kn2air_iso n2 air comp iso [Optional]
kh2oair_iso h2o air comp iso [Optional]
viso iso air volume [Optional]
Wvap_in comp in spec humidity [Optional]
ko2air_in o2 air comp in [Optional]
kn2air_in n2 air comp in [Optional]
kh2oair_in h2o air comp in [Optional]
vmbnt ambient air volume [Optional]
wairflowcalc air flow corr ambient [Optional]
pabscompin abs comp inlet pressure [Optional]
twetbulb comp in wet bulb temp [Optional]
Wvap_wb wet bulb spec humidity [Optional]
ko2air_out o2 air comp out [Optional]
kn2air_out n2 air comp out [Optional]
kh2oair_out h2o air comp out [Optional]

SP_0030 239
9.31 Compair

COMPAIR

Parameters Description Usage

vcompin_wb comp inlet air vol with evap [Optional]


wairflow calculated air flow [Optional]
evapeff evaporator efficiency [Optional]
Fvolo2air o2 air flow fraction [Optional]

Fvoln2air n2 air flow fraction [Optional]


Fvolh2oair h2 air flow fraction [Optional]
Digital Outputs

< NONE >

Constants

RELHMD 60.0

KPATMOSISO 14.7

KO2AIR 0.2315
KN2AIR 0.7685
TREF 59
KSHOMATE_O2 11.2095
KSHOMATE_N2 12.8087
KSHOMATE_H2O 26.8097

9.31.1 Compair Calculation Overview

Find air composition at ISO conditions and actual compressor inlet conditions

humid(&tdescompin, &twetbulb, &Wvap_iso, &RELHMD, &tdewpnt, patmos,

pconv, kunitcode, &kerrorcode)


ko2air_iso = KO2AIR / (1.0 + Wvap_iso)
kn2air_iso = KN2AIR / (1.0 + Wvap_iso)
kh20air_iso = Wvap_iso

gaspropt_v(&viso,ko2air_iso,kn2air_iso,kh20air_iso,KPATMOSISO,tdescompin,
KPATMOSISO,TREF,KSHOMATE_O2,KSHOMATE_N2,KSHOMATE_H2O)

humid(&tmbnt, &twetbulb, &Wvap_in, &Relhmd, &tdewtemp, patmos, pconv, kunitcode,


&kerrorcode)

ko2air_in = KO2AIR / (1.0 + Wvap_in)


kn2air_in = KN2AIR / (1.0 + Wvap_in)
kh20air_in = Wvap_in

240 SP_0030
9.31 Compair

gaspropt_v(&vmbnt,ko2air_in,kn2air_in,kh2oair_in,patmos,tmbnt KPATMOSISO,TREF,
KSHOMATE_O2,KSHOMATE_N2,KSHOMATE_H2O,)

Calculate actual air flow based on estimated air flow and volume ratio of iso to ambient conditions

wairflowcalc = wdesairflow * (viso / vmbnt)

Check for cooler in service

pabscompin = pcompin + patmos

if (!zcoolersvc)

{
twetbulb = 0
Wvap_wb = 0
ko2air_out = ko2air_in
kn2air_out = kn2air_in
kh2oair_out = kh2oair_in
vcompin_wb = 0
evap_eff = 0
wairflow = wairflowcalc
}

else

Chiller in service. Calculate specific humidity and volume at comp inlet conditions

humid(&tcompin, &twetbulb, &Wvap_wb, &Relhmd, &tdewpnt, pabscompin,


pconv, kunitcode, &kerrorcode)
ko2air_out = KO2AIR / (1.0 + Wvap_wb)
kn2air_out = KN2AIR / (1.0 + Wvap_wb)
kh20air_out = Wvap_wb

gaspropt_v(&vcompin_wb,ko2air_out,kn2air_out,kh2oair_out,pabscompin,tcompin,
KPATMOSISO,TREF,KSHOMATE_O2,KSHOMATE_N2,KSHOMATE_H2O)

evap_eff = ((tmbnt - tcompin) / (tmbnt - twetbulb)) * 100


wairflow = wdesairflow * ( viso / vcompin_wb)

Fvoln2air = (kn2air_out/28.01)/((ko2air_out/31.999)+(kn2air_out/28.01)+(kh2oair_out/18.02))

Fvolo2air = (ko2air_out/31.999)/((ko2air_out/31.999)+(kn2air_out/28.01)+ (kh2oair_out/18.02))

Fvolh2oair = (kh2oair_out/18.02)/((ko2air_out/31.999)+(kn2air_out/28.01)+(kh2oair_out/18.02))

SP_0030 241
9.32 CompWash

9.32 CompWash

The Compressor Wash module calculates the optimal time to perform a compressor wash based
on economic factors. The Compressor Wash module requires an additional license to become
active. This module will be loaded with the PCALCS software if a compressor wash license exists.
The PCALCS software works with the GPA software. Refer to the GPADCS User Guide for
licensing information.

Note: For Analog Inputs with the klast_month should be entered in the format MM, the
klast_day in the format DD, and the year in the format YYYY.

YES Units are Converted.

COMP WAS H

Parameters Description Usage

Analog Inputs

klast_month last month compr cleaned REQUIRED

klast_day last day compr cleaned REQUIRED


klast_year last year compr cleaned REQUIRED
wairflow ctg air flow REQUIRED
Fvoln2air inlet air vol n2 fraction REQUIRED
Fvolo2air inlet air vol o2 fraction REQUIRED
Fvolh2oair inlet air vol h2o fraction REQUIRED
patmos atmospheric pressure REQUIRED
tmbnt ambient air temp REQUIRED
Relhmd relative humidity REQUIRED
tcompin compressor inlet temp REQUIRED
tcompout compressor outlet temp REQUIRED
pcompin compressor inlet pressure REQUIRED
pcompout compressor outlet pressure REQUIRED
DDagents value of cleaning agents REQUIRED
DDdispose cost cleaning agent disposal REQUIRED
DDlabor direct labor costs REQUIRED
ktimereduced time at reduced load REQUIRED
Preduced reduced load during wash REQUIRED
kpowcostmult power cost multiplier REQUIRED
Dcfuelcost fuel cost REQUIRED
heatvalue_low fuel lower heating value REQUIRED
effrecover recover eff after cleaning REQUIRED
tdescompin design comp inlet temp REQUIRED
FcapfactJan capacity factor Jan REQUIRED

242 SP_0030
9.32 CompWash

COMP WAS H

Parameters Description Usage

FcapfactFeb capacity factor Feb REQUIRED


FcapfactMar capacity factor Mar REQUIRED
FcapfactApr capacity factor Apr REQUIRED
FcapfactMay capacity factor May REQUIRED
FcapfactJun capacity factor Jun REQUIRED
FcapfactJul capacity factor Jul REQUIRED
FcapfactAug capacity factor Aug REQUIRED
FcapfactSep capacity factor Sep REQUIRED
FcapfactOct capacity factor Oct REQUIRED
FcapfactNov capacity factor Nov REQUIRED
FcapfactDec capacity factor Dec REQUIRED
PaveloadJan average load Jan REQUIRED
PaveloadFeb average load Feb REQUIRED
PaveloadMar average load Mar REQUIRED
PaveloadApr average load Apr REQUIRED
PaveloadMay average load May REQUIRED
PaveloadJun average load Jun REQUIRED
PaveloadJul average load Jul REQUIRED
PaveloadAug average load Aug REQUIRED
PaveloadSep average load Sep REQUIRED
PaveloadOct average load Oct REQUIRED
PaveloadNov average load Nov REQUIRED
PaveloadDec average load Dec REQUIRED
DPpwrcostJan average power cost Jan REQUIRED
DPpwrcostFeb average power cost Feb REQUIRED
DPpwrcostMar average power cost Mar REQUIRED
DPpwrcostAug average power cost Apr REQUIRED
DPpwrcostMay average power cost May REQUIRED
DPpwrcosJun average power cost Jun REQUIRED
DPpwrcostJul average power cost Jul REQUIRED
DPpwrcostAug average power cost Aug REQUIRED
DPpwrcostSep average power cost Sep REQUIRED
DPpwrcostOct average power cost Oct REQUIRED
DPpwrcostNov average power cost Nov REQUIRED
DPpwrcostDec average power cost Dec REQUIRED

SP_0030 243
9.32 CompWash

COMP WAS H

Parameters Description Usage

tcompinJan average comp in temp Jan REQUIRED


tcompinFeb average comp in temp Feb REQUIRED
tcompinMar average comp in temp Mar REQUIRED
tcompinApr average comp in temp Apr REQUIRED
tcompinMay average comp in temp May REQUIRED
tcompinJun average comp in temp Jun REQUIRED
tcompinJul average comp in temp Jul REQUIRED
tcompinAug average comp in temp Aug REQUIRED
tcompinSep average comp in temp Sep REQUIRED
tcompinOct average comp in temp Oct REQUIRED
tcompinNov average comp in temp Nov REQUIRED
tcompinDec average comp in temp Dec REQUIRED
tcompinarc1 archived comp inlet temp 1 REQUIRED
tcompinarc2 archived comp inlet temp 2 REQUIRED
tcompinarc3 archived comp inlet temp 3 REQUIRED
tcompinare4 archived comp inlet temp 4 REQUIRED
tcompinarc5 archived comp inlet temp 5 REQUIRED
tcompinarc6 archived comp inlet temp 6 REQUIRED
ecompeffarc1 archived comp poly eff 1 REQUIRED
ecompeffarc2 archived comp poly eff 2 REQUIRED
ecompeffarc3 archived comp poly eff 3 REQUIRED
ecompeffarc4 archived comp poly eff 4 REQUIRED
ecompeffarc5 archived comp poly eff 5 REQUIRED
ecompeffarc6 archived comp poly eff 6 REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

zcoolerinsvc cooler in service flag [Optional]


Analog Outputs

kclean_month month to clean [Optional]

kclean_day day to clean [Optional]


kclean_year year to clean [Optional]
DDsolcost1 solution cost 1 [Optional]
DDsolcost2 solution cost 2 [Optional]
DDsolcost3 solution cost 3 [Optional]

244 SP_0030
9.32 CompWash

COMP WAS H

Parameters Description Usage

DDsolcost4 solution cost 4 [Optional]


DDsolcost5 solution cost 5 [Optional]

DDsolcost6 solution cost 6 [Optional]


DDsolcost7 solution cost 7 [Optional]
DDsolcost8 solution cost 8 [Optional]
DDsolcost9 solution cost 9 [Optional]
DDsolcost10 solution cost 10 [Optional]
DDsolcost11 solution cost 11 [Optional]
DDsolcost12 solution cost 12 [Optional]
viso iso air volume [Optional]
vcompin comp inlet air volume [Optional]
tcompoutbest best achievable exhaust temp [Optional]
qtherm_cur cur shaft thermal work [Optional]
Qelec_cur cur shaft electrical work [Optional]
qtherm_best best shaft thermal work [Optional]
Qelec_best best shaft elec work [Optional]
ecompeff current comp poly eff [Optional]
Digital Outputs

zwashdate invalid date for comp wash [Optional]

Constants

KCONSTR 8.3143

KCRITERIA 0.1
KMAXLOOP 50
KCPN2[5] 26.092, 8.218801,-1.976141,0.159274,0.044434
KCPO2[5] 29.659, 6.137261,-1.186521,0.09578,-0.219663
KCPH2O[5] 30.092,6.832514,6.793435,-2.53448,0.082139

KPATMOSISO 14.696
TREF 59
KSHOMATE_O2 11.2095
KSHOMATE_N2 12.8087
KSHOMATE_H2O 26.8097

SP_0030 245
9.32 CompWash

9.32.1 CompWash Calculation Overview

The Compressor Wash algorithm determines the optimal time to wash the compressor. The
Compressor Wash algorithm determines the optimal time to wash the compressor based on
economic factors. Compressor Wash determines the loss in generation associated with fouling,
determines the forward cost in decreased efficiency due to fouling, and weighs those costs
against the cost of cleaning.

This algorithm quantifies current operating loss associated with fouling and generates the
projected recoverable revenues, the cost to clean, and the difference over a user-selectable time
period.

Benefits are:
 Quantifies current generating losses due to fouling.
 Performs a cost-benefit projection to determine the optimum time to clean.
 Provides indication of effectiveness of cleaning to optimize cleaning technique.
 Allows fleet energy managers to better prioritize cleaning.
 Permits energy trader to better estimate the theoretical generating capacity of the fleet.
Compressor Wash Operation

When the compressor has been washed, your must enter the Year, Month, and Day the wash
was performed since the algorithm uses the previous year’s load profile to predict when the next
wash should take place. The load profile is updated automatically from historical data.

The following live inputs from the DCS are required:

1. Date of compressor wash – when the compressor has been washed, you must enter the day,
month, and year the wash was performed.

Note: This algorithm is only valid if the compressor is washed at least once per year.

2. Compressor Inlet Air Flow – if this signal is not measured then an estimated air flow is used.
3. Barometric Pressure.
4. Compressor Inlet Temperature.
5. Relative Humidity.
6. Compressor Outlet Temperature.
7. Compressor Inlet Pressure.
8. Compressor Outlet Pressure.
9. Value of Cleaning Agents – you must enter the cost of the cleaning agents.
10. Cost of Cleaning Agent Disposal – you must enter the cost of disposing of the cleaning
agents once the wash is completed.
11. Direct Labor Costs – you must enter the cost for the people performing the wash.
12. Time at Reduced Load – you must enter the time it takes to do the wash.
13. Reduced Load During Wash – you must enter the percent load the machine is at during the
wash. If it is an offline wash, this value will be zero.

246 SP_0030
9.32 CompWash

14. Replacement Power Cost Multiplier – this is an operator entered value. If replacement power
during a wash outage is required to fulfill a purchase agreement contract then this value is
multiplied times the agreement sale price of power to calculate the approximate replacement
power fee. If this does not apply, this will have a value of 1.0.
15. Fuel Cost – You must enter the cost of fuel.
16. Lower Heating Value of Fuel – the operator enters the lower heating value of fuel.
17. Recoverable Efficiency After Cleaning – this is an operator entered value. It is the percent of
original/clean compressor efficiency which can be restored with maintenance.
18. Design Compressor Inlet Temperature – this value is only entered once. It is the compressor
inlet temperature found on the design curves of the CTG. Typically 15 Deg C or 59 Deg F.

The following inputs are automatically derived from historical data:

1. Compressor Inlet Temp vs Compressor Polytropic Efficiency. Once the compressor has been
cleaned, the efficiency of the compressor is stored along with the compressor inlet
temperature. Six samples of efficiencies after cleaning at different compressor inlet
temperatures is constantly updated in history and is used by the compressor wash every time
it executes.
2. A yearly load profile is used by the compressor wash module. For each month of the year the
module uses:
 Percent time that the machine was running in the month.
 Average compressor inlet temp.
 Average MW load.
 Average sale price of power.
Initially, this data is manually entered with default values, then, once the module starts, this data
is updated automatically. When the month changes, the previous monthly values are updated
based on actual historical data. This profile is read by the module every time it runs.

The following data is entered through a design screen one time when the algorithm is configured
inside the GPA:

1. Design Load vs Heat Rate curve. This is obtained from the manufacturer data.
2. Maximum Power Correction Factor vs Compressor Inlet Temperature – this is obtained from
the turbine manufacturer.
3. Heat Rate Correction Factor vs Compressor Inlet Temperature – this is obtained from the
turbine manufacturer.
4. CTG base load at ISO conditions.

Outputs

The following values are calculated every time the compressor wash algorithm executes:

1. Date to clean.
2. Current shaft thermal work.
3. Current shaft electrical work.
4. Current compressor polytropic efficiency.
5. The cost-benefit from the last cleaning for each month of the year. The month that has the
first positive cost is when the compressor should be washed.

SP_0030 247
9.32 CompWash

6. Best achievable compressor exhaust temperature.


7. Best achievable shaft thermal work.
8. Best achievable shaft electrical work.

Note: The best achievable values are based on current air flow and ambient conditions and best
compressor efficiency. It shows what the shaft work and exhaust temperature would be at
current conditions if the compressor efficiency was at its best achievable value.

Error Flag

The following error condition is checked and a digital flag is set TRUE if the error was detected.

zwashdate – this flag is set true if an invalid compressor wash date is entered or if the wash date
is more than one year from the last wash date.

CompWash calculation overview:

Read in Design Screen Information

Read in Design Load (Pctgbase) from Design Screen

Read in Load (Pdesload1,…Pdesload6) and Heat Rate (rctgref1,...rctgref6) Curve Information


from Design Screen

Convert Heat Rate values to ENGLISH if in SI

Read in Heat Rate (Fhrcor1,…Fhrcor6) and Power Correction (Fpwrcor1,…Fpwrcor6) Curves


Information form Design Screen

Read in and convert Compressor Inlet Temps (tcorcompin1,…tcorcompin6) to ENGLISH if in SI

Get current time and date and return difference in days between the two times

current_time(&kdaysum,&kcur_year,&kcur_day,&kcur_month,klast_year,
klast_day,klast_month)

Check for invalid previous wash date

if ((kcur_year – klast_year) < 0)

zwashdate = 1

Find best efficiency from archived data

epolybest = funcgen(tcompin,tcompinarc1,…,tcompinarc6,ecompeffarc1,…,ecompeffarc6)

Calculate volume at compressor inlet conditions

pabscompin = pcompin + patmos


Fvoltot = Fvolo2air + Fvoln2air + Fvolh2oair

vol_o2 = (Fvolo2air / Fvoltot) * (KPATMOSISO/pabscompin) * KSHOMATE_O2 *


(tcompin/32.0)

248 SP_0030
9.32 CompWash

vol_n2 = (Fvoln2air / Fvoltot) *(KPATMOSISO/pabscompin)*KSHOMATE_N2*


(tcompin/32.0)
vol_h2o = (Fvolh2oair/Fvoltot)*(KPATMOSISO/pabscompin)*KSHOMATE_H2O*
(tcompin/32.0)
vcompin = vol_o2 + vol_n2 + vol_h2o

Calculate first guess for exit temperature

If (pcompout > pcompin)

tnew = tcompin + 10

else

tnew = tcompin – 10

Calculate the as is conditions

temp = 298/1000.0
temp2 = tcompin/1000

if (temp2 >0.298)

tmult_in = temp2

else

tmult_in = temp

Calculate Specific heat in form of Shomate's equation

cpn2_in = Fvoln2air * (KCPN2[1]+ (KCPN2[2]*tmult_in) + (KCPN2[3]*pow(tmult_in,2) +


(KCPN2[4]*pow(tmult_in,3)) + (KCPN2[5]/pow(tmult_in,2)));
cpo2_in = Fvolo2air * (KCPO2[1] + KCPO2[2]*tmult_in + KCPO2[3]*pow(tmult_in,2) +
(KCPO2[4]*pow(tmult_in,3)) + (KCPO2[5]/pow(tmult_in,2)));
cph2o_in = Fvolh2oair * (KCPH2O[1 ]+ KCPH2O[2]*tmult_in + KCPH2O[3]*pow(tmult_in,2)
+ (KCPH2O[4]*pow(tmult_in,3)) + (KCPH2O[5]/pow(tmult_in,2)));
cp_in = cpn2_in + cpo2_in + cph2o_in

pabscompout = pcompout + patmos


pabscompin_k = (pabscompin/14.696) * 0.9869 * 100000
pabscompout_k = (pabscompout/14.696) * 0.9869 * 100000

Search for best compressor outlet temperature

Check for successful search

if (kdeadband <= KCRITERIA)

zqualsearch = 1

SP_0030 249
9.32 CompWash

else

zqualsearch = 0
tcompoutbest = tnew
vol_o2 = (Fvolo2air / Fvoltot) * (KPATMOSISO/pabscompout) * KSHOMATE_O2 *
(tcompoutbest/32.0)
vol_n2 = (Fvoln2air / Fvoltot) *(KPATMOSISO/pabscompout)*KSHOMATE_N2*
(tcompoutbest/32.0)
vol_h2o = (Fvolh2oair/Fvoltot)*(KPATMOSISO/pabscompout)*KSHOMATE_H2O*
(tcompoutbest/32.0)
vcompout = vol_o2 + vol_n2 + vol_h2o

Calculate Polytropic Exponent (n)

knn = Log(pabscompout / pabscompin) / Log(vin / vout)

Calculate reversible work (Btu/Lb) for steady flow system (see Obert & Young eqn. 11-7a) - i.e.,
ignoring delta-Kinetic Energy

hwork_reverse = (knn / (knn - 1))*((pabscompout * vout) - (pabscompin * vin)) * (ARACNV /


778.16)

Calculate real gas enthalpy rise (Btu/Lb) across compressor and best achievable shaft work

hwork_rise = hwork_reverse / (epolybest / 100.0)


qtherm_best = wairflow * hwork_rise / RHTCNV
Qelec_best = wairflow * hwork_rise / PENCNV

Calculate polytropic head {(Lb/In^2)*(Ft^3/Lb)*(144 In^2/Ft^2)} = {Ft-Lb/Lb}

if (pabscompin > pabscompout)

Hdpoly_best = -(knn / (knn - 1)) * (pabscompin * vin) * ((pow((pabscompin / pabscompout)


,((knn - 1) / knn))) - 1) * ARACNV}

else

Hdpoly_best = (knn / (knn - 1)) * (pabscomput * vout) * ((pow((pabscompout /


pabscompin),((knn - 1) / knn))) - 1) * ARACNV

Calculate the as is conditions

tmult_out = ((tcompout,TODEGC),TODEGK) / 1000)

Calculate Specific heat in form of Shomate's equation

cpn2_out = (Fvoln2air / 100) * (KCPN2[1]+ KCPN2[2]*tmult_out +


KCPN2[3]*pow(tmult_out,2) + (KCPN2[4]*pow(tmult_out,3)) + (KCPN2[5]/pow(tmult_out,2)));

250 SP_0030
9.32 CompWash

cpo2_out = (Fvolo2air / 100) * (KCPO2[1] + KCPO2[2]*tmult_out +


KCPO2[3]*pow(tmult_out,2) + (KCPO2[4]*pow(tmult_out,3) + (KCPO2[5]/pow(tmult_out,2)));)
cph2o_out = (Fvolh2oair / 100) * (KCPH2O[1 ]+ KCPH2O[2]*tmult_out +
KCPH2O[3]*pow(tmult_out,2) + (KCPH2O[4]*pow(tmult_out,3)) +
(KCPH2O[5]/pow(tmult_out,2)));
cp_out = cpn2_out + cpo2_out + cph2o_out

Calculate isentropic efficiency exponent {k = (Cp/Cv) = (Cp/(Cp-R)}

kk = (cp_in + cp_out) / 2 / (0.5 * (cp_in + cp_out) - KCONSTR)

Calculate polytropic efficiency

ecompeff = 100 * ((kk - 1) / kk) * Log(pabscompout_k / pabscompin_k) / (tcompout / tcompin)


vol_o2 = (Fvolo2air / Fvoltot) * (KPATMOSISO/pabscompout) * KSHOMATE_O2 *
(tcompout/32.0)
vol_n2 = (Fvoln2air / Fvoltot) *(KPATMOSISO/pabscompout)*KSHOMATE_N2*
(tcompout/32.0)
vol_h2o = (Fvolh2oair/Fvoltot)*(KPATMOSISO/pabscompout)*KSHOMATE_H2O*
(tcompout/32.0)
vcompout = vol_o2 + vol_n2 + vol_h2o

Calculate Polytropic Exponent (n)

knn = Log(pabscompout_k / pabscompin_k) / Log(vin / vout)

Calculate reversible work (Btu/Lb) for steady flow system (see Obert & Young eqn. 11-7a) - i.e.,
ignoring delta-Kinetic Energy

hcur_reverse = (knn / (knn - 1))*((pabscompout * vout) - (pabscompin * vin)) * (ARACNV /


778.16)

Calculate real gas enthalpy rise (Btu/Lb) across compressor and current shaft work

hcur_rise = hwork_reverse / (ecompefft / 100.0)


qtherm_cur = wairflow * hcur_rise / RHTCNV
Qelec_cur = wairflow * hcur_rise / PENCNV

Calculate polytropic head {(Lb/In^2)*(Ft^3/Lb)*(144 In^2/Ft^2)} = {Ft-Lb/Lb}

if (pabscompin > pabscompout)

Hdpoly_cur = -(knn / (knn - 1)) * (pabscompin * vin) * ((pow((pabscompin / pabscompout)


,((knn - 1) / knn))) - 1) * ARACNV

else

Hdpoly_cur = (knn / (knn - 1)) * (pabscompout * vout) * ((pow((pabscompout /


pabscompin),((knn - 1) / knn))) - 1) * ARACNV

Calculate work difference between observed and baseline

Ploss = (effrecover / 100.0) * (Qelec_cur – Qelec_best)

SP_0030 251
9.32 CompWash

Correct the current Loss to actual conditions

Rpmult_act = funcgen(tmbnt,tcorcompin1,…,tcorcompin6,Fpwrcor1,…,Fpwrcor6)

if (Rpmult_act > 0)

Plosscor = PLoss / (Rpmult_act / 100.0)

else

Plosscor = Ploss

rhrdes_base = funcgen(Pctgbase,Pdesload1,…,Pdesload6,rctgref1,…,rctgref6)

Move values into arrays

Fcapfact[1] = FcapfactJan
Fcapfact[2] = FcapfactFeb
Fcapfact[3] = FcapfactMar
Fcapfact[4] = FcapfactApr
Fcapfact[5] = FcapfactMay
Fcapfact[6] = FcapfactJun
Fcapfact[7] = FcapfactJul
Fcapfact[8] = FcapfactAug
Fcapfact[9] = FcapfactSep
Fcapfact[10] = FcapfactOct
Fcapfact[11] = FcapfactNov
Fcapfact[12] = FcapfactDec
Paveload[1] = PaveloadJan
Paveload[2] = PaveloadFeb
Paveload[3] = PaveloadMar
Paveload[4] = PaveloadApr
Paveload[5] = PaveloadMay
Paveload[6] = PaveloadJun
Paveload[7] = PaveloadJul
Paveload[8] = PaveloadAug
Paveload[9] = PaveloadSep
Paveload[10] = PaveloadOct

252 SP_0030
9.32 CompWash

Paveload[11] = PaveloadNov
Paveload[12] = PaveloadDec
DPpwrcost[1] = DPpwrcostJan
DPpwrcost[2] = DPpwrcostFeb
DPpwrcost[3] = DPpwrcostMar
DPpwrcost[4] = DPpwrcostApr
DPpwrcost[5] = DPpwrcostMay
DPpwrcost[6] = DPpwrcostJun
DPpwrcost[7] = DPpwrcostJul
DPpwrcost[8] = DPpwrcostAug
DPpwrcost[9] = DPpwrcostSep
DPpwrcost[10] = DPpwrcostOct
DPpwrcost[11] = DPpwrcostNov
DPpwrcost[12] = DPpwrcostDec
tcompin[1] = tcompinJan
tcompin[2] = tcompinFeb
tcompin[3] = tcompinMar
tcompin[4] = tcompinApr
tcompin[5] = tcompinMay
tcompin[6] = tcompinJun
tcompin[7] = tcompinJul
tcompin[8] = tcompinAug
tcompin[9] = tcompinSep
tcompin[10] = tcompinOct
tcompin[11] = tcompinNov
tcompin[12] = tcompinDec

Figure out starting month

ksave_month = kstart_month
ksave_year = klast_year

if (kcur_year == klast_year)

kstart_month = kcur_month - klast_month

else

kstart_month = kcur_month + (12.0 - klast_month)


kdaytot = 0.0
int i
for (i = 1; i < 13; i++)

SP_0030 253
9.32 CompWash

kmonth_seq[i] = klast_month

if (i == 1)

knum_days_month[int(klast_month)] = 1.0 + (knum_days - klast_day)

else

knum_days_month[int(klast_month)] = knum_days
kdaytot = kdaytot + knum_days_month[int(klast_month)]

index = int(klast_month)

kmonthly_data[1][i] = Fcapfact[index]
kmonthly_data[2][i] = Paveload[index]
kmonthly_data[3][i] = DPpwrcost[index]
kmonthly_data[4][i] = tcompin[index]
kmonthly_data[5][i] = knum_days_month[index]

if (i < int(kstart_month))

kmonthly_data[6][i] = Plosscor * kdaytot/kdaysum

else

kmonthly_data[6][i] = Plosscor
klast_month = klast_month + 1.0

if (klast_month > 12.0)

klast_month = 1.0
klast_year = klast_year + 1.0

DDcost_tot = 0.0
DDben_tot = 0.0
for (i = 1; i<13; i++)

Calculate heat rate and power correction factors based on average monthly compressor inlet
temp

tcomp_avg = kmonthly_data[4][i]
Fhrmult=funcgen(tcomp_avg,tcorcompin1,tcorcompin2,tcorcompin3,tcorcompin4,tcorcompin5
,tcorcompin6,Fhrcor1,Fhrcor2,Fhrcor3,Fhrcor4,Fhrcor5,Fhrcor6,6)
Fpwrmult=funcgen(tcomp_avg,tcorcompin1,tcorcompin2,tcorcompin3,tcorcompin4,tcorcompi
n5,tcorcompin6,Fpwrcor1,Fpwrcor2,Fpwrcor3,Fpwrcor4,Fpwrcor5,Fpwrcor6,6);
Ploss_mo = kmonthly_data[6][i] * Fpwrmult
rrtdes_mo = rhrdes_base * Fhrmult

254 SP_0030
9.32 CompWash

Calculate costs and benefits

Totalize costs and benefits

DDcost_tot = DDcost[1] + DDcost[2]


DDben_tot = DDben_tot + DDbenefit[1] + DDbenefit[2]

DDsolcost[i] = DDben_tot - DDcost_tot;

Find month, day, and year to clean from costs

kclean_index = 1
for (i = 1 ; i < 13; i++)
{

if (DDsolcost[i] > 0.0)

kclean_index = int(kmonth_seq[i])
break
}

Sort the Cost Array by Date

double DDsolution[13]
for (i = 1 ; i < 13; i++)
{
DDsolution[int(kmonth_seq[i])] = DDsolcost[i];
}
DDsolcost1 = DDsolution[1];
DDsolcost2 = DDsolution[2];
DDsolcost3 = DDsolution[3];
DDsolcost4 = DDsolution[4];
DDsolcost5 = DDsolution[5];
DDsolcost6 = DDsolution[6];
DDsolcost7 = DDsolution[7];
DDsolcost8 = DDsolution[8];
DDsolcost9 = DDsolution[9];
DDsolcost10 = DDsolution[10];
DDsolcost11 = DDsolution[11];
DDsolcost12 = DDsolution[12];
kclean_month = double(kclean_index);

SP_0030 255
9.32 CompWash

if (kclean_month < ksave_month)

kclean_year = ksave_year + 1

else

kclean_year = ksave_year
kclean_day = klast_day;

256 SP_0030
9.33 Compr

9.33 Compr

This module calculates adiabatic, polytropic, and isothermal efficiencies. If flow is not measured, it
is estimated from power and the stagnation outputs will be set to zero. If power is not measured, it
is estimated from the measured flow and the stagnation.

YES Units are Converted.

COMPR

Parameters Description Usage

Analog Inputs

nactspeed actual speed [Optional]

tinlet inlet temperature [Optional]


pinlet inlet pressure [Optional

toutlet outlet temperature [Optional]


poutlet outlet pressure [Optional]

Ptotalpwr_meas measured power [Optional

wgasvolflow volumetric flow [Optional]


DPwrcost power cost [Optional]
Dwflowcost flow cost [Optional]
patmos atmos pressure [Optional]
Mwtgas molecular weight of gas [Optional]
kinletz inlet compr factor [Optional]
kstdz normal comp factor [Optional]
koutletz outlet compr factor [Optional]
cpgas spec heat gas [Optional]
Hdeshead design head [Optional]
hdeshead design head [Optional]
edeseffic design efficiency [Optional]
pdesexitpres design exit pressure [Optional]
Analog Outputs

Hindiam inlet pipe diameter [Optional]

areacmpin cmp inlet area [Optional]

Houtdiam outlet pipe diameter [Optional]

areacmpout cmp outlet area [Optional]


wmassflow mass flow [Optional]
wgasinflow vol inlet flow [Optional]
wgasoutflow vol outlet flow [Optional]

SP_0030 257
9.33 Compr

COMPR

Parameters Description Usage

Vgasin inlet velcoity [Optional]


Vgasout outlet velocity [Optional]
pinvel velocity inlet pressure [Optional]
pabsinstag abs inlet stag pressure [Optional]
poutvel velocity outlet pressure [Optional]
pabsoutstag abs outlet stag pressure [Optional]
tinvel velocity inlet temp [Optional]
tinstag inlet stag temp [Optional]
tabsinstag abs inlet stag temp [Optional]
toutvel velocity outlet temp [Optional]
toutstag outlet stag temp [Optional]
tabsoutstag abs outlet stag temp [Optional]
Fpresratio pressure ratio [Optional]
Ftempratio temp ratio [Optional]
temprise temp rise [Optional]
tabsinlet abs inlet temp [Optional]
pabsinlet abs inlet press [Optional]
densinlet inlet density [Optional]
tabsoutlet abs outlet temp [Optional]
pabsoutlet abs outlet press [Optional]
densoutlet outlet compr factor [Optional]
densnorm normal density [Optional]
Vinaccous accoustic inlet velocity [Optional]
kpolyexp polytropic exponent [Optional]
cpratio specific heat ratio [Optional]
kgamma gamma [Optional]

epolyeff polytropic efficiency [Optional]


Hpolyhead polytropic head [Optional]
hpolyhead polytropic head [Optional]
Hadiabhead adiab head [Optional]
hadiabhead adiab head [Optional]
eadiabatic adiab efficiency [Optional]
Hisohead isothermal head [Optional]
hisohead isothermal head [Optional]
eisothermal isothermal efficiency [Optional]

258 SP_0030
9.33 Compr

COMPR

Parameters Description Usage

Pgaspwr gas horsepower [Optional]


emecheff mechanical efficiency [Optional]
Ptotalpwr total power [Optional]
nrefspeed reference speed [Optional]
kspeedratio ratio corr for speed [Optional]
densinstag inlet stag dens [Optional]
drefdensity reference density [Optional]
kdensratio ratio corr for dens [Optional]
wgrefcapac reference capacity [Optional]
wgcorcapac corr capacity [Optional]
Hrefhead reference head [Optional]
hrefhead reference head [Optional]
Hcorhead corr head [Optional]
hcorhead corr head [Optional]
Prefpwr reference power [Optional]
Pcorpwr corr pwr [Optional]
Hrotordia rotor diameter [Optional]
Vtipspeed rotor tip speed [Optional]
kpolywrkcoef poly work coef [Optional]
kadiabwrkcoef adiab work coef [Optional]
kmachnumber mach number [Optional]
hspecpwr spec pwr [Optional]
hspecpwrdes spec pwr design [Optional]
Pdespwr design pwr [Optional]
wdesflow design mass flow [Optional]
wgnormflow normalized vol flow [Optional]
Hnormhead normalized head [Optional]
hnormhead normalized head [Optional]
Pnormpwr normalized pwr [Optional]
kpolyprcoef poly press coef [Optional]
theotrise theo temp rise [Optional]
testtrise estimated temp rise [Optional]
eefficdev efficiency dev [Optional]
Hheaddev head deviation [Optional]
hheaddev head deviation [Optional]

SP_0030 259
9.33 Compr

COMPR

Parameters Description Usage

Ppwrdev power deviation [Optional]


wflowdev flow deviation [Optional]
Ddevpwrcst pwr dev cost [Optional]
Ddevflowcst flow dev cost [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Digital Outputs
< NONE >
Constants
KFTLBtoBTU,778.0
KRCONST,10.73159
KVELCONST,400.0
KRECOVERY,0.65
KTEMP_STP,59.0
KPRES_STP,0.0
DEGCtoDEGK,273.15
KCPRATIOCONST,0.185103

9.33.1 Compr Calculation Overview

Calculate the compressor inlet and outlet areas:

areacmpin =PI * pow((Hindiam/2.0),2)


areacmpout = PI * pow((Houtdiam/2.0),2);

Calculate inlet, outlet, and normal densities - pv = zrt, d = p / zrt

tabsinlet = tinlet + DEGFtoDEGR;


pabsinlet = pinlet + patmos;
densinlet = (pabsinlet * Mwtgas) / (kinletz * KRCONST * tabsinlet);

tabsoutlet = toutlet + DEGFtoDEGR;


pabsoutlet = poutlet + patmos;
densoutlet = (pabsoutlet * Mwtgas) / (koutletz * KRCONST * tabsoutlet);
densnorm = ((KPRES_STP + patmos) * Mwtgas) / (kinletz * KRCONST * (KTEMP_STP +
DEGFtoDEGR));

260 SP_0030
9.33 Compr

Calculate mass gas flow from vol gas flow as well as volumetric inlet and outlet flows

if (IsFlowMeas())
wmassflow = wgasvolflow * densnorm * MIN_TO_HOUR / KLBtoLB;
wgasinflow = wgasvolflow * (densnorm / densinlet);
wgasoutflow = wgasvolflow * (densnorm / densoutlet);

Calculate inlet and outlet velocities as the volumetric flows divided by areas

Vgasin = wgasinflow / (areacmpin * MINtoSEC);


Vgasout = wgasoutflow / (areacmpout * MINtoSEC);

If velocity is above KVELCONST ft/sec, calculate velocity pressure. Otherwise, set to zero.
Calculate stagnation pressure as the inlet and outlet pressures plus the inlet and outlet velocity
pressures.

if (Vgasin > KVELCONST)


pinvel = (pow(Vgasin,2) * densinlet) / ((2.0 * GRAVITY) * (1 / IN2toFT2));
else
pinvel = 0.0;
if (Vgasout > KVELCONST)
poutvel = (pow(Vgasout,2) * densoutlet) / ((2.0 * GRAVITY) * (1 / IN2toFT2));
else
poutvel = 0.0;

If the velocity is above KVELCONST ft/sec, calculate the inlet velocity temperature. Otherwise,
set to zero.

Calculate stagnation temperatures as the inlet and outlet temperatures plus 1 - R times the inlet
and outlet velocity temperatures. R is the recovery factor, where R = .65 for plain sheathed
thermocouples and will vary for other thermocouples.

if (Vgasin > KVELCONST)


tinvel = pow(Vgasin,2) / (2.0 * GRAVITY * KFTLBtoBTU * cpgas);
if (Vgasin > KVELCONST)
toutvel = pow(Vgasout,2) / (2.0 * GRAVITY * KFTLBtoBTU * cpgas);

else

wmassflow = 0.0;

SP_0030 261
9.33 Compr

wgasinflow = 0.0;
wgasoutflow = 0.0;
Vgasin = 0.0;
Vgasout = 0.0;
pinvel = 0.0;
poutvel = 0.0;
tinvel = 0.0;
toutvel =0.0;

pabsinstag = pinlet + pinvel + patmos;


pabsoutstag = poutlet + poutvel + patmos;
tinstag = tinlet + (1.0 - KRECOVERY) * tinvel;
tabsinstag = tinstag + DEGFtoDEGR;
toutstag = toutlet + (1.0 - KRECOVERY) * toutvel;
tabsoutstag = toutstag + DEGFtoDEGR;

Calculate the pressure ratio as the stagnation outlet pressure divided by the stagnation inlet
pressure

Fpresratio = pabsoutstag / pabsinstag;

Calculate the temperature ratio as the stagnation outlet temperature divided by the stagnation
inlet temperature

Ftempratio = tabsoutstag / tabsinstag;

Calculate the temperature rise as the stagnation outlet temperature minus the stagnation inlet
temperature

temprise = toutstag - tinstag;

Calculate polytropic exponent n and gamma

kpolyexp = log(Fpresratio) / log(Ftempratio);

cpratio = cpgas - ((KRCONST / Mwtgas) * KCPRATIOCONST);

262 SP_0030
9.33 Compr

kgamma = cpgas / cpratio;

Calculate inlet accoustic velocity

Vinaccous = sqrt(kgamma * KRCONST * tabsinlet * ARACNV * GRAVITY / Mwtgas);

Calculate polytropic efficiency

epolyeff = (((kgamma - 1.0) / kgamma) * kpolyexp) * 100.0;

Calculate polytropic head

Hpolyhead = KRCONST * tabsinstag * kinletz * ARACNV * kpolyexp *


(pow(Fpresratio,(1/kpolyexp)) - 1.0) / Mwtgas;
hpolyhead = Hpolyhead / KFTLBtoBTU;

Calculate adiabatic head

Hadiabhead = KRCONST * tabsENGinstag * kinletz * ARACNV * (1/((kgamma-1.0)/kgamma))


* (pow(Fpresratio,((kgamma-1.0)/kgamma)) - 1.0) / Mwtgas;
hadiabhead = Hadiabhead / KFTLBtoBTU;

Calculate adiabatic efficiency

eadiabatic = (Hadiabhead / Hpolyhead) * epolyeff;

Calculate isothermal head

Hisohead = KRCONST * tabsinstag * kinletz * ARACNV * log(Fpresratio) / Mwtgas;


hisohead = Hisohead / KFTLBtoBTU;

Calculate isothermal efficiency

eisothermal = (Hisohead / Hpolyhead) * epolyeff;

Read in mechanical efficiency from design screen

emecheff = CompressorMeas(MECH_EFF);

SP_0030 263
9.33 Compr

If total power is measured, calculated gas power as total power times mechanical efficiency.
Otherwise, calculate gas horsepower from measured mass flow.

if (IsPwrMeas())
Pgaspwr = Ptotalpwr_meas * (emecheff/100);
Ptotalpwr = Ptotalpwr_meas;
else
Pgaspwr = ((wmassflow * KLBtoLB * (1/MIN_TO_HOUR) * Hpolyhead) /
(epolyeff/HCONV)) * FTLB_MINtoHP * HPtoMW;

Calculate total power

Ptotalpwr = Pgaspwr / (emecheff/100.0);

If flow is not measured, (power must be measured in this case), calculate flow from measured
power and calculate inlet and outlet gas flows as well as inlet and outlet velocities

if (! IsFlowMeas())
wmassflow = ((Pgaspwr / (HPtoMW *FTLB_MINtoHP)) / Hpolyhead) * (1/KLBtoLB) *
MIN_TO_HOUR * (epolyeff/HCONV);

wgasinflow = ((wmassflow * KLBtoLB) / (densnorm * MIN_TO_HOUR)) * (densnorm /


densinlet);
wgasoutflow = ((wmassflow * KLBtoLB) / (densnorm * MIN_TO_HOUR)) * (densnorm /
densoutlet);

Calculate inlet and outlet velocities as the volumetric flows divided by areas

Vgasin = wgasinflow / (areacmpin * MINtoSEC);


Vgasout = wgasoutflow / (areacmpout * MINtoSEC);
else
wmassflow = wmassflow;
wgasinflow = wgasinflow;
wgasoutflow = wgasoutflow;
Vgasin = Vgasin;
Vgasout = Vgasout;

264 SP_0030
9.33 Compr

Calculate correction factor for Speed

nrefspeed = CompressorMeas(REF_SPEED);
kspeedratio = nrefspeed / nactspeed;

Calculate inlet stagnation density and density correction factor

densinstag = (pabsinstag * Mwtgas) / (KRCONST * tabsinstag * kinletz);


kdensratio = drefdensity / densinstag;

Calculate corrected reference flow, correctred reference head, corrected reference Power.

wgcorcapac = wgrefcapac * kspeedratio * kdensratio;


Hcorhead = Hrefhead * pow(kspeedratio,2) * kdensratio;
hcorhead = Hcorhead / KFTLBtoBTU;
Pcorpwr = Prefpwr * pow(kspeedratio,3) * kdensratio;

Calculate rotor tip speed

Vtipspeed = Hrotordia * nactspeed * PCALC_PI * (1/MINtoSEC);

Calculate poly work coefficient

kpolywrkcoef = Hpolyhead * GRAVITY / pow(Vtipspeed,2);

Calculate adiabatic work coefficient

kadiabwrkcoef = Hadiabhead * GRAVITY / pow(Vtipspeed,2);

Calculate Mach number

kmachnumber = Vtipspeed / Vinaccous;

Calculate specific power

hspecpwr = (Ptotalpwr / BTUHRtoMW) / (wmassflow * RFLCNV);

SP_0030 265
9.33 Compr

Calculate design Power

Pdespwr = ((wmassflow * RFLCNV) * hpolyhead * BTUHRtoMW) / (edeseffic / 100.0);

Calculate design specific power

hspecpwrdes = (Pdespwr / BTUHRtoMW) / (wmassflow * RFLCNV);

Calculate design mass gas flow

wdesflow = (Pgaspwr / Pdespwr) * wmassflow;

Calculate normalized flow

wgnormflow = wgasinflow / (nactspeed / MIN_TO_HOUR);

Calculate normalized head

Hnormhead = Hpolyhead / pow((nactspeed / MIN_TO_HOUR),2);


hnormhead = hpolyhead / pow((nactspeed / MIN_TO_HOUR),2);

Calculate normalized power

Pnormpwr = Ptotalpwr / pow((nactspeed / MIN_TO_HOUR),3);

Calculate polytropic pressure coeficient and theoretical temp rise

kpolyprcoef = pow(Fpresratio,(log(Ftempratio) / log(Fpresratio))) - 1.0;


theotrise = kpolyprcoef * tabsinstag;

Calculate estimated temp rise

testtrise = theotrise * 100.0 / epolyeff;

Calculate efficiency deviation

eefficdev = edeseffic - epolyeff;

266 SP_0030
9.33 Compr

Calculate head deviation

Hheaddev = Hdeshead - Hpolyhead;


hheaddev = hdeshead - hpolyhead;

Calculate power deviation

Ppwrdev = Ptotalpwr - Pdespwr;

Calculate flow deviation

wflowdev = wdesflow - wmassflow;

Calculate power deviation cost

Ddevpwrcst = Ppwrdev * DPwrcost;

Calculate flow deviation cost

Ddevflowcst = kDwflowcost * kwflowdev;

SP_0030 267
9.34 Condsr

9.34 Condsr

The Condsr algorithm determines the method for out-of-service compartments. After checking for
out-of-service compartments, the specific heat, specific volume and specific gravity of circulating
water are calculated.

Next, the condenser duty, the condenser circulating water flow, the actual and design heat
transfer, the cleanliness factor, expected back pressure with clean tubes and the back pressure
deviation are calculated.

Calculations are done in accordance with ASME Power Test Code PTC 12.2 (1983) and Heat
Exchange Institute Standards for Steam Surface Condensers, Ninth edition.

YES Units are Converted.

CONDSR

Parameters Description Usage

Analog Inputs

tcwin cond inlet temp [Optional]

tcwout cond outlet temp [Optional]


tcwavg cnd avg circ water temp [Optional]
pcndprs cnd back gauge pres [Optional] Use if
condenser pressure
is measured in
gauge pressure.
pabscndprs cnd back abs pres [Optional] Use if
condenser back
pressure is
measured in
absolute.
patmos atmospheric pres [Optional]

thotwell cond hotwell temp [Optional]


wmkupw mkup water flow [Optional] Use if
makeup water flow is
measured as a mass
flow and is present.
wvolmkupw mkup vol water flow [Optional] Use if
makeup water flow is
measured as a vol
flow and makeup
water is present.
tmkupw mkup water temp [Optional] Use if
makeup water is
present.
wcwflwin circulating water inlet flow [Optional] Use if circ
water flow IS
measured.

268 SP_0030
9.34 Condsr

CONDSR

Parameters Description Usage

wltrex lp exhaust flow [Optional] Use if circ


water flow IS NOT
measured.
hltrex lp exhaust enth [Optional] Use if circ
water flow IS NOT
measured.
wbfpt blr feedpump turbine flow [Optional] Use if circ
wtr flow IS NOT
measured & bfpt flow
used in heat bal
around condsr.
hbfpt blr feedpump turbine enth [Optional] Use if circ
wtr flow IS NOT
measured & bfpt flow
used in heat bal
around condsr.
wssrsp stm seal reg supply flow [Optional] Use if circ
wtr flow IS NOT
measured &ssr flow
used in heat bal
around condsr.
hssrsp stm seal reg supply enth [Optional] Use if circ
wtr flow IS NOT
measured &ssr flow
used in heat bal
around condsr.
wsjaed stm jet air Eject flow [Optional] Use if circ
wtr flow IS NOT
measured & sjae
flow used in heat bal
around condsr.
hsjaed stm jet air Eject enth [Optional] Use if circ
wtr flow IS NOT
measured & sjae
flow used in heat bal
around condsr.
wcdrn gland cond drain flow [Optional] Use if circ
wtr flow IS NOT
measured & gsc flow
used in heat bal
around condsr.
hgcdrn gland cond drain enth [Optional] Use if circ
wtr flow IS NOT
measured & gsc flow
used in heat bal
around condsr.
wfhdlp low pres fhtr drain flow [Optional] Use if circ
wtr flow IS NOT
measured & lp htr
drns used in heat bal
around consr

SP_0030 269
9.34 Condsr

CONDSR

Parameters Description Usage

hfhdlp low pres fhtr drain enth [Optional] Use if circ


wtr flow IS NOT
measured & lp htr
drns used in heat bal
around consr
wmisc1 misc 1 drain flow [Optional] Use if circ
wtr flow IS NOT
measured & misc
flow1 used in heat
bal around condsr
hmisc1 misc 1 drain enth [Optional] Use if circ
wtr flow IS NOT
measured & misc
flow1 used in heat
bal around condsr
wmisc2 misc 2 drain flow [Optional] Use if circ
wtr flow IS NOT
measured & misc
flow2 used in heat
bal around condsr
hmisc2 misc 2 drain enth [Optional] Use if circ
wtr flow IS NOT
measured & misc
flow2 used in heat
bal around condsr
tcwrise avg cnd cw temp rise [Optional]

kcmpt1_cnt comp 1 in serv count [Optional] Output


from cndavgtemp
algorithm.
kcmpt2_cnt comp 2 in service count [Optional] Output
from cndavgtemp
algorithm.
kcmpt1_indiam water tubes inner diam [Optional] Output
from cnddesign
algorithm.
kcmpt2_indiam air tubes inner diam [Optional] Use if
there are air tubes.
Output from
cnddesign algorithm.
kcmpt1_tubes number of water tubes [Optional] Output
from cnddesign
algorithm.
kcmpt2_tubes number of air tubes [Optional] Use if
there are air tubes.
Output from
cnddesign algorithm.
kcmpt1_plug number of water plugged tubes [Optional]
kcmpt2_plug number of air plugged tubes [Optional] Use if
there are air tubes.

270 SP_0030
9.34 Condsr

CONDSR

Parameters Description Usage

knum_pass number of cond passes [Optional] Output


from cnddesign
algorithm.
kcmpt1_length water tubes length [Optional] Output
from cnddesign
algorithm.
kcmpt2_length air tubes length [Optional] Use if
there are air tubes.
Output from
cnddesign algorithm.
kcmpt1_outdiam water tubes outer diam [Optional] Output
from cnddesign
algorithm.
kcmpt2_outdiam cmpt 2 tube outer diam [Optional] Use if
there are air tubes.
Output from
cnddesign algorithm.
kcmpt1_cndmatcf water tubes material corr fact [Optional] Output
from cnddesign
algorithm.
kcmpt2_cndmatcf air tubes material corr fact [Optional] Use if
there are air tubes.
Output from
cnddesign algorithm.
Ccndes cond cleanliness factor [Optional] Output
from cnddesign
algorithm.
knum_cmpts number of compartments [Optional] Output
from cnddesign
algorithm.
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zmkup_gpm condenser makeup gpm flag REQUIRED Output


from cnddesign
algorithm.
zcircwater_flag condenser circ water flag REQUIRED Output
from cnddesign
algorithm.
zlp_exhaust condenser lp exhaust flag REQUIRED Output
from cnddesign
algorithm.
zmakeup_water condenser makeup water flag REQUIRED Output
from cnddesign
algorithm.
zgland_drain condenser gland drain flag REQUIRED Output
from cnddesign
algorithm.

SP_0030 271
9.34 Condsr

CONDSR

Parameters Description Usage

zlp_heaters condenser lp heaters flag REQUIRED Output


from cnddesign
algorithm.
zbfpt_exhaust condenser bfpt exhaust flag REQUIRED Output
from cnddesign
algorithm.
zssr_spillover condenser ssr flag REQUIRED Output
from cnddesign
algorithm.
zsjae condenser sjae flag REQUIRED Output
from cnddesign
algorithm.
zout_of_svclp cond out of serv lp htrs REQUIRED Output
from cnddesign
algorithm.
zcond_misc1 condenser misc 1 flag REQUIRED Output
from cnddesign
algorithm.
zcond_misc2 condenser misc 2 flag REQUIRED Output
from cnddesign
algorithm.
zgauge gauge pressure flag REQUIRED Output
from cnddesign
algorithm.
zabs abs pressure flag REQUIRED Output
from cnddesign
algorithm.
zhga hga pressure flag REQUIRED Output
from cnddesign
algorithm.
zhgv hgv pressure flag REQUIRED Output
from cnddesign
algorithm.
Analog Outputs

vcwin circ water spec volume [Optional]

Scwspecgrav circ water spec grav [Optional]


pabscnd cond back pres abs [Optional]
tcndvac cnd sat temp [Optional]
tcndttd cnd term temp diff [Optional]
tcndinitdif cnd initial temp diff [Optional]
tcndsub cnd temp subcooling [Optional]
wmkupklbh cnd makeup water flow [Optional]
wfhdvrt cnd fhtr div flow [Optional]

272 SP_0030
9.34 Condsr

CONDSR

Parameters Description Usage

hfhdvrt fhtr div enth total [Optional]


hmkupw cnd makeup water enth [Optional]
hcnsat condensate enthalpy [Optional]
ccwspecheat circulating water spec heat [Optional]
qcndty cnd duty [Optional]
wcwflwout circ water outlet flow [Optional]
wvolcwtr circ water flow in gpm [Optional]
kcmpt1_insvc_tubes no cmpt h2o in svc [Optional]

kcmpt2_insvc_tubes no cmpt air in svc [Optional]


acndtubes cnd tube int cross sec area [Optional]

kcmpt1_clean no cmpt h2o clean tubes [Optional]


kcmpt2_clean no cmpt air clean tubes [Optional]
Vcwvel average circ water velocity [Optional]
lcndlmtdr cnd log mean tmp diff ratio [Optional]
lcndlmd log mean temp diff [Optional]
acndouta cnd surface area of tubes [Optional]
Ucndactht actual ht transf coeff [Optional]
Ucnduncorrht1 unc ht xfer coef cmp 1 [Optional]
Ucnduncorrht2 unc ht xfer coef cmp 2 [Optional]
Ucnduncht cnd uncorr ht transf coeff [Optional]
kcndmatcorrfact cnd mat corr factor [Optional]
kcndtempcorrfact cnd temp corr factor [Optional]
Ucndclnht cnd clean therm trans [Optional]
Ccndcln cleanliness factor [Optional]
llmdcln cnd log mean temp diff [Optional]
texsat exp sat temp [Optional]
tcndcln cnd exp sat temp [Optional]
pabscndcln exp cond back pres abs [Optional]
pabscnddev cnd pres dev abs [Optional]
Digital Outputs

< NONE >


Constants

CNDSPECLIMIT = CFACT1[0] = 0.23114 CFACT2[3] =


80.0 5.5561E-06

SP_0030 273
9.34 Condsr

CONDSR

Parameters Description Usage

CNDSPECHEAT[0] CFACT1[1] = 0.014904 CFACT3[0] =


= 1.0207963 0.17049
CNDSPECHEAT[1] CFACT1[2] = -5.4678E-05 CFACT3[1] =
= -5.2135485E-04 0.021562
CNDSPECHEAT[2] CFACT1[3] = 0.0 CFACT3[2] =
= 2.9620436E-06 -1.7424E-04
CNDSPECCONST = CFACT2[0] = -1.9541 CFACT3[3] =
0.998 5.1556E-07
CTEMPCORRFACT CFACT2[1] = 0.106304
1 = 60.0
CTEMPCORRFACT CFACT2[2] = -1.3046E-03
2 = 80.0

9.34.1 Condsr Calculation Overview

Steam surface condensers are an important component in every steam turbogenerator unit
operating in the electric utility industry. They have three main purposes:

1. To maximize the electric power conversion of the energy of the steam supplied to the turbine
throttle.
2. To recover vapor exhausted from the low-pressure stage of the turbine in the form of
condensate. This can then be recycled directly to the boiler.
3. To recover the heat in the condensate and so reduce the amount of heat required of the boiler
to raise the steam to the desired throttle temperature and pressure conditions.

Start Calculations

The CNDDESIGN and CNDAVGTEMP algorithms must be called before invoking this algorithm.

Calculate specific gravity of circulating water (Scwspecgrav) by dividing the actual density of the
circulating water by the density of water at 60.0 Deg f. DWATER is 62.3 lb/ft3. Scwspecgrav =
1.0 / (vcwin * DWATER)

Where:

vcwin = specific volume of circulating water

Calculate the condenser terminal temperature difference (tcndttd) as the difference between the
condenser saturation temperature (tcndvac) and the circulating water outlet temperature (tcwout).

tcndttd = tcndvac - tcwout;

Calculate the initial temperature difference by subtracting the inlet temperature from the saturation
temperature.

tcndinitdif = tcndvac - tcwin;

274 SP_0030
9.34 Condsr

Calculate the subcooling by subtracting the hotwell temperature from the saturation temperature.

tcndsub = tcndvac - thotwell;

If circulating water flow is measured then condenser duty (qcndty) is calculated as follows:

qcndty = (wcwflwin * ccwspecheat * (tcwout - tcwin)) / RHTCNV

Where:

ccwspecheat = condensate specific heat


wcwflwin = circulating water flow
tcwout = temperature of cooling water out
tcwin = temperature of cooling water in

If circulating water flow is not measured, condenser duty is computed by doing a heat balance
around the condenser. The heat balance is comprised of the following elements:

1. L.P.turbine exhaust flow (wltrex)


2. Make up water flow (wmkupklbh)
3. Boiler feedpump turbines steam exhaust (wbfpt)
4. Steam regulator spillover (wssrsp)
5. Drain from steam jet air ejector (wsjaed)
6. Drain from gland steam condenser (wcdrn)
7. Drain from L.P.heater(s) (wfhdlp)
8. Drain from out-of-service heater(s) (wfhdvrt)
9. Miscellaneous flow 1 (wmisc1)
10. Miscellaneous flow 2 (wmisc2)
qcndty = (wltrex * (hltrex - hcnsat) + wmkupklbh * (hmkupw - hcnsat) + wbfpt * (hbfpt -
hcnsat) + wssrsp * (hssrsp - hcnsat) + wsjaed * (hsjaed - hcnsat) + wcdrn * (hgcdrn - hcnsat)
+ wfhdlp * (hfhdlp - hcnsat) + wfhdvrt * (hfhdvrt - hcnsat) + wmisc1 * (hmisc1 - hcnsat) +
wmisc2 * (hmisc2 - hcnsat)) / RHTCNV

Calculate total circulating water flow in klb/hr (wcwflw) from condenser duty.

wcwflwout = RHTCNV * qcndty / (ccwspecheat * (tcwout - tcwin))

Compute average circulating water tube velocity in ft/sec (Vcwvel).The following definitions are
used in the equation below:

- kcmpt1_tubes,kcmpt2_tubes: Number of condenser tubes


- kcmpt1_clean,kcmpt2_clean: Number of tubes in operation
- kcmpt1_plug,kcmpt2_plug: Number of plugged tubes
- acndtubes: Condenser tube internal cross sectional area.

Calculated by 3.14 * id2 / 4, where id = outer diameter (taken from design screen) - thickness
(calculated from material typ and BWG)

- knum_pass: Number of passes - read from design screen


- wcwflw: Circulating water flow in klb/hr

SP_0030 275
9.34 Condsr

- Scwspecgrav: Specific gravity of water at current temperature and salinity


- HRtoSEC: time conversion factor, hr to secs, = 3600.0

Calculate the cross sectional area of the tubes.

acndtubes = ((kcmpt1_insvc_tubes * PCALC_PI * pow((kcmpt1_indiam/2.0),2)) +


(kcmpt2_insvc_tubes * PCALC_PI * pow((kcmpt2_indiam/2.0),2))) /(kcmpt1_insvc_tubes +
kcmpt2_insvc_tubes)

Where:

kcmpt1_insvc_tubes = Number of tubes in compartment 1 that are in service


kcmpt2_insvc_tubes = Number of tubes in compartment 2 that are in service

Calculate the water velocity Vcwvel).

Vcwvel = (RFLCNV * wcwflwout) / (((kcmpt1_clean + kcmpt2_clean) / knum_pass)


*acndtubes * Scwspecgrav * DWATER * HRtoSEC)

Where:

kcmpt1_clean = Number of clean tubes in compartment 1


kcmpt2_clean = Number of clean tubes in compartment 2
knum_pass = Number of passes

Calculate log mean temperature difference ratio (lcndlmtdr).

lcndlmtdr = log(tcndinitdif / tcndttd);

Compute log mean temperature difference (lcndlmd).

lcndlmd = (tcwout - tcwin) / lcndlmtdr;

Calculate actual heat transfer in btu/ft2 hr deg f (Ucndactht) from the definition in the ASME 12.2
condenser performance manual.

The definition of terms used in the following equation are:

- ccwspecheat - Specific heat of circulating water (btu/lb deg f)


- acndouta - Outside area of condenser tubes, sq.feet
- kcmpt1_length,kcmpt2_length - Tube length, = read from design screen
- kcmpt1_outdiam,kcmpt2_outdiam - Outside tube diameter, = read from design screen
- INtoFEET - Conversion factor - inches to feet, = 12.0
- wcwflwout - Circulating water flow, klb/hr
- lcndlmtdr - Log mean temperature ratio

Effective surface area of the tubes in sq.ft (acndouta).

acndouta = (kcmpt1_clean * kcmpt1_length * kcmpt1_outdiam * PCALC_PI) +


(kcmpt2_clean * kcmpt2_length * kcmpt2_outdiam * PCALC_PI);

276 SP_0030
9.34 Condsr

Ucndactht = RFLCNV * wcwflwout * ccwspecheat *

log((tcndvac - tcwin) / (tcndvac - tcwout)) / acndouta;

Compute clean (design) thermal transmittance (Ucndclnht).

The definition of terms used in the following equation are:

- Ucnduncht: Uncorrected heat transfer coefficient


- kcndtempcorrfact: Temp correction factor
- kcndmatcorrfact: Tube material correction factor
- Ccndes: design cleanliness
Ucnduncorrht1 = Ucnduncorrht((kcmpt1_outdiam * 12.0),Vcwvel);
Ucnduncorrht2 = Ucnduncorrht((kcmpt2_outdiam * 12.0),Vcwvel);
Ucnduncht = ((kcmpt1_tubes * Ucnduncorrht1) +
(kcmpt2_tubes * Ucnduncorrht2)) /
(kcmpt1_tubes + kcmpt2_tubes);

kcndmatcorrfact = ((kcmpt1_tubes * kcmpt1_cndmatcf) +


(kcmpt2_tubes * kcmpt2_cndmatcf)) /
(kcmpt1_tubes + kcmpt2_tubes);

Calculate the temperature correction factor

kcndtempcorrfact = Polynomial Function of (tcwin)


Ucndclnht = Ucnduncht * kcndtempcorrfact * kcndmatcorrfact

Calculate the cleanliness factor (Ccndcln) as the ratio of actual to clean thermal transmittance.

Ccndcln = 100.0 * Ucndactht / Ucndclnht;

Expected condenser pressure based on clean tubes in in.Hg A (pcndcln).

First, compute log mean temperature difference based on clean tubes


(llmdcln). 'Ccndes' is the design condenser cleanliness factor.
llmdcln = qcndty * RHTCNV * RHTCNV / (acndouta * Ucndclnht * (Ccndes / 100.0))

Calculate expected saturation temperature (tcndcln) from the log mean temperature difference
based on clean tubes.

ktemp = (tcwout - tcwin) / llmdcln;


texsat = exp(ktemp)
tcndcln = (texsat * (tcwout - tcwin) / (texsat - 1.0)

Expected back pressure (pabscndcln) is calculated as steam table function of the expected
saturation temperature (tcndcln)

SP_0030 277
9.35 Coolcurv

9.35 Coolcurv

The Coolcurv algorithm computes predicted outlet flow, adjusted test flow and percent capability.

YES Units are Converted.

COOLCURV

Parameters Description Usage

Analog Inputs

tcthotin cooling twr hot wtr in temp REQUIRED

tctcoldout cooling twr cold wtr out temp REQUIRED


twetbulb cooling water wet bulb temp REQUIRED
patmos atmospheric pressure REQUIRED
Fcoolflow circ water act/des ratio REQUIRED Output from
cooltwrpwr algorithm

twetbulbindes wet bulb des in temp REQUIRED Output from


cooltwrdes algorithm
kdeslg des l/g value REQUIRED Output from
cooltwrdes algorithm
tctindes cooling twr des power REQUIRED Output from
cooltwrdes algorithm
tctoutdes cooling twr out des temp REQUIRED Output from
cooltwrdes algorithm
Pctdes cooling twr des power REQUIRED Output from
cooltwrpwr algorithm
Pcttotal cooling twr total actual power REQUIRED Output from
cooltwrpwr algorithm
Hcoolelv cooling twr elevation REQUIRED Output from
cooltwrdes algorithm
tpredlow pred cold wtr temp lo boundary REQUIRED

tpredhigh pred cold wtr temp hi boundary REQUIRED


wvflowlow flow lo boundary REQUIRED
wvflowhigh flow high boundary REQUIRED
wvolctwtr cool twr volum water flow REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

tcoolrange cooling twr temp range [Optional]

tcoolappr cooling twr temp appr [Optional]


hairdes air enth design [Optional]

278 SP_0030
9.35 Coolcurv

COOLCURV

Parameters Description Usage

qtotair design outlet air heat [Optional]

twetbulboutdes cool twr des est wet bulb temp [Optional]


kiters cooling twr des est wet bulb temp [Optional]
kiterflag cooling twr interation flag [Optional]
dairdes design air density [Optional]
vairdes volume air density [Optional]
klgconst l/g constant [Optional]
hsatairin enth of actual air inlet [Optional]
klg l/g value [Optional]
tcwhot circ water cold temp [Optional]
tcwcold circ water cold temp [Optional]
twetbulbest wet bulb est temp [Optional]
hsatest enth at test conditions [Optional]
dairact density of actual air [Optional]
vairact volume of actual air [Optional]
wvadjflow adj cool twr circ wtr flow [Optional]
wvpredflow pred cooling twr volum flow [Optional]
Rcapab cooling twr capability [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.35.1 Coolcurv Calculation Overview

If the total power is not configured, put the design power in for the total power.

if (Pcttotal < 1.0E-06)


Pcttotal = Pctdes;

Compute cooling tower range

tcoolrange = tcthotin - tctcoldout;

Compute approach

tcoolappr = tctcoldout - twetbulb;

SP_0030 279
9.35 Coolcurv

Calculate slope of air/enthaply line (l/g ratio) per procedure defined in 1990 CTI code for induced
draft cooling towers.

Estimate design air enthalpy from design wet bulb temperature and elevation

hairdes = satenth(twetbulbindes,Hcoolelv);

Calculate design outlet air heat.

qtotair = kdeslg * (tctindes - tctoutdes) + hairdes;

Calculate wet bulb temperature corresponding to design outlet air heat

wbenth(twetbulboutdes, ptest, qtotair, tctindes, Hcoolelv);

Calculate design air density and volume at design wet bulb temperature

wbdensvol(dairdes, vairdes, ptest, twetbulboutdes, patmos);

Calculate present value of constants in fundamental l/g equation

kconst1 = Fcoolflow * pow(((Pctdes / HPtoMW) / ((Pcttotal / HPtoMW) * dairdes)),


0.3333333);
klgconst = kconst1 * (kdeslg / vairdes);

Calculate actual inlet air enthalpy from wet bulb temperature

hsatairin = satenth(gpaunits.ConvertTemp(twetbulb,TO_DEGF),Hcoolelv);

Initialize calcualated l/g to design value

BEGIN ITERATIVE TECHNIQUE TO COMPUTE ACT AIR DENS AND VOL

kiters = 0.0;
klg = kdeslg;

Fibonacci search

tcwhot = tcthotin;
tcwcold = tctcoldout;
thigh = tcwhot + 10.0;
tlow = gpaunits.ConvertTemp(twetbulb,TO_DEGF);
talnth = thigh - tlow;
ttest = thigh;
tsq = 1.618033989;
herror = 1000.0;

iterations 1 thru kloop

kloop = 1 ;

while((fabs(herror) > 0.01) && (kloop <= 30))

kloop = kloop + 1 ;
kdist = talnth/pow(tsq,(kloop-1)) ;

280 SP_0030
9.35 Coolcurv

if (herror > 0.0)

ttest = ttest - kdist;

else

ttest = ttest + kdist;

if (ttest < tlow)

ttest = tlow;

if (ttest > thigh)

ttest = thigh;

Calculate outlet air enthalpy at temp ttest.

hsatest = satenth(ttest,Hcoolelv);

Calculate wet bulb temperature

wbenth(twetbulbest, ptest, hsatest, tcwhot, Hcoolelv);

Calculate actual density and volume at wet bulb outlet temperature

wbdensvol(dairact, vairact, ptest, twetbulbest, patmos);

Calculate slope of air enthalpy line and outlet air heat.

Calculate outlet air enthalpy error.

klg = klgconst * vairact * pow(dairact,0.333333);


heat = klg * (tcwhot - tcwcold) + hsatairin;
herror = hsatest - heat;

/****************************************************

//END OF ITERATION TO COMPUTE ACTUAL AIR DENSITY AND VOLUME

****************************************************/

Set error return if iteration counter > 30

kiterflag = 0.0;
kiters = kloop;

if (kloop > 30)

kiterflag = 1.0;

Calculate the adjusted test flow

wvadjflow = wvolctwtr * pow((Pctdes / Pcttotal),0.33333333) * pow((dairact /


dairdes),0.3333333);

SP_0030 281
9.35 Coolcurv

Calculate the predicted flow

if (fabs(tpredhigh - tpredlow) > 1.0E-06)

wvpredflow = (((tctcoldout - tpredlow) / (tpredhigh - tpredlow)) *


(wvflowhigh - wvflowlow)) + wvflowlow;

else

wvpredflow = wvflowlow;

Calculate the percent capability

Rcapab = (wvadjflow / wvpredflow) * 100.0;

282 SP_0030
9.36 Cooltwr

9.36 Cooltw r

The Cooltwr algorithm computes the estimated cooling tower outlet temperature.

YES Units are Converted.

COOLTWR

Parameter Description Usage

Analog Inputs

Pmwatt gross megawatts REQUIRED

tcthotin cooling twr hot wtr in temp REQUIRED


tctcoldout cooling twr cold wtr out temp REQUIRED
twetbulb cooling water wet bulb temp REQUIRED
Fcoolflow circ water act/des ratio REQUIRED Output from cooltwrpwr algorithm

patmos atmospheric pressure REQUIRED

twetbulbindes wet bulb des in temp REQUIRED Output from cooltwrdes algorithm

kdeslg des l/g value REQUIRED Output from cooltwrdes algorithm


tctindes cooling twr in des temp REQUIRED Output from cooltwrdes algorithm
tctoutdes cooling twr out des temp REQUIRED Output from cooltwrdes algorithm
kcharconst cooling twr char constant REQUIRED

kcharexp cooling twr char Exponent REQUIRED


Pctdes cooling twr des power REQUIRED Output from cooltwrpwr algorithm

Pcttotal cooling twr total actual power REQUIRED Output from cooltwrpwr algorithm
Hcoolelv cooling twr Elevation REQUIRED Output from cooltwrdes algorithm
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zcooltwron [Optional]
Analog Outputs

tcoolrange cooling twr temp range [Optional]

tcoolappr cooling twr temp appr [Optional]


hairdes air enth design [Optional] Used as an input in capab algorithm

qtotair design outlet air heat [Optional]

twetbulboutdes cooling twr est wet bulb temp [Optional]


kiters cooling twr iteration count [Optional]

SP_0030 283
9.36 Cooltwr

COOLTWR

Parameter Description Usage

kiterflag cooling twr iteration flag [Optional]


dairdes design air density [Optional]
vairdes volume air density [Optional]
klgconst l/g constant [Optional]
hsatairin enth of actual air inlet [Optional] Used as an input in capab algorithm

klg l/g value [Optional]

kloverg slope of air enth line to lg [Optional]


kslope slope of air enth line [Optional] Used as an input in capab algorithm

tcwhot circ water cold temp [Optional]

tcwcold circ water cold temp [Optional]


twetbulbest wet bulb est temp [Optional]
hsatest enth at test conditions [Optional]
dairact density of actual air [Optional]
vairact volume of actual air [Optional]
Wtgkavl target value of kavl [Optional]
tcwest est cooling twr out temp [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

284 SP_0030
9.36 Cooltwr

9.36.1 Cooltwr Calculation Overview

The purpose of the cooling tower is to cool the water that enters the condenser. The water is
cooled by a combination of heat and mass transfer. Water entering the tower is sprayed or
splashed over fill, which breaks up the water and exposes a large surface area of the water to the
air.

Typically, air flows upward through the tower opposite of the water flow direction, either due to
convection or to cooling tower fans. Some of the water is evaporated into the air, with the
necessary latent heat being transferred from the remaining water. This process lowers the
remaining water temperature.

Cooltwr calculates three primary items as follows:


 Cooling Tower Range
This is the difference between the hot water temperature and the cold water temperature.

tcoolrange = tcthotin - tctcoldout


 Cooling Tower Approach
tcoolappr = tctcoldout - twetbulb
 Estimated Cooling Tower Outlet (Cold Water) Temperature
The predicted cold water temperature is calculated by the function predict. This function uses the
following input arguments:

tcwhot - hot water temperature


twetbulb - wet bulb temperature of the inlet air
kslope - slope of the air enthalpy line (L/G value - water air ratio Lb water/Lb dry air)
Wtgkavl - target value of kaV/L (Cooling tower characteristic)

The cooling tower capability is calculated in algorithm CAPAB.

SP_0030 285
9.37 Cooltwrdes

9.37 Cooltw rdes

The Cooltwrdes algorithm reads the design screen information.

YES Units are Converted.

COOLTWRDES

Parameters Description Usage

Analog Inputs

kdummy dummy Analog input [Optional]

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

knumfantot no of total cooling twr fans [Optional]

tctindes cooling twr in des temp [Optional]


tctoutdes cooling twr out des temp [Optional]
wvdesflow cooling twr des flow [Optional]
Pfandes des power per fan [Optional]
twetbulbindes cool twr wet bulb des temp [Optional]
Hcoolelv cooling twr Elevation [Optional]
kdeslg cooling twr des l/g [Optional]
Pfanmin fan minimum power [Optional]
Digital Outputs

zdocool cooling tower Digital flag [Optional]

Constants

< NONE >

286 SP_0030
9.37 Cooltwrdes

9.37.1 Cooltwrdes Calculation Overview

The design cooling water flow is assigned to output wvdesflow.

The design hot and cold water temperatures are assigned to tctindes and tctoutdes.

The number of fans is assigned to knumfantot.

The design fan power per fan is assigned to Pfandes.

The design ambient wet bulb temperature is assigned to twetbulbindes.

The cooling tower elevation is assigned to Hcoolelv.

The design l/g is assigned to kdeslg.

The flag zdocool is set to a 1 if the digital flag is selected for in-service status. If the minimum HP
in-service status is selected, zdocool is set to zero and Pfanmin is assigned the minimum
in-service HP.

SP_0030 287
9.38 Cooltwrpwr

9.38 Cooltw rpw r

The Cooltwrpwr algorithm calculates individual cell power, design water flow, the ratio of design
water flow to actual flow, total fan power and ratio of design power to actual power.

YES Units are Converted.

COOLTWRPWR

Parameter Description Usage

Analog Inputs

Ictvolt1 - through cell 1 voltage - through [Optional] Use if power measurement is not
available.
Ictvolt20 cell 20 voltage
ictamp1 - through cell 1 current - through [Optional] Use if power measurement is not
available.
ictamp20 cell 20 current
Fctpf1 - through cell 1 power factor - through [Optional] Use if power measurement is not
available.
Fctpf20 cell 20 power factor
Fmtreff cooling tower motor efficiency [Optional] Use if power measurement is not
available.
Pctfan1 - through fan 1 power - through [Optional] Use if power measurement is
available.
Pctfan20 fan 20 power
Pfanmin minimum power per cell [Optional] Use if power measurement is
available. Output from cooltwrdes algorithm.

wvdesflow des cooling twr volum flow REQUIRED Output from cooltwrdes algorithm.

wvolctwtr cool twr volum water flow REQUIRED

knumfantot total number of fans REQUIRED Output from cooltwrdes algorithm.

Pfandes cooling tower design power REQUIRED Output from cooltwrdes algorithm.
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zdocool Digital in-service flag [Optional]


zctinserv1 - cell 1 in-service flag - through [Optional]
through
cell 20 in-service flag
zctinserv20
Analog Outputs

wvcooldeswtr des vol wtr fl fr in-svc fans [Optional]

Fcoolflow ratio des water flow/act flow [Optional] Used in cooltwr algorithm as input

288 SP_0030
9.38 Cooltwrpwr

COOLTWRPWR

Parameter Description Usage

Pctcell1 - through pwr cooling twr fan 1 - through [Optional]


Pctcell20 pwr cooling twr fan 20
Pcttotal total fan pwr [Optional]

Pctdes total des pwr [Optional]


Frctpower ratio of actual pwr to des pwr [Optional]
Digital Outputs

zinsvccell1 - [Optional]
through
zinsvccell20
Constants

< NONE >

9.38.1 Cooltwrpwr Calculation Overview

The design water flow is calculated based on the number of fans that are running as follows:

wvcooldeswtr = wvdesflow

Where:

wvdesflow - Design water flow if all fans are running


kctfans - Number of fans in service
knumfantot - Total number of fans

Ratio of design water flow to actual water flow

Fcoolflow = wvolctwtr /wvcooldeswtr

Fan horsepower

The total power being consumed is the sum of the power consumed by the fans

Pcttotal = Pcttotal + Pctcell1 + Pctcell2 + Pctcell3 + Pctcell4 + Pctcell5 + Pctcell6 +Pctcell7 +


Pctcell8 + Pctcell9 + Pctcell10 + Pctcell11 + Pctcell12 + Pctcell13 +Pctcell14 + Pctcell15 +
Pctcell16 + Pctcell17 + Pctcell18 + Pctcell19 + Pctcell20

Total Design Horsepower

Pctdes = Pfandes * kctfans

Ratio of design power to actual power

Frctpower = Pctdes/Pcttotal

SP_0030 289
9.39 Corblrloss

9.39 Corblrloss

The Corblrloss algorithm calculates the corrected boiler efficiency and the design efficiency and
deviation.

YES Units are Converted.

CORBLRLOSS

Prameters Description Usage

Analog Inputs

thtrmoc corr non lkg exit gas temp REQUIRED Output from boiler algorithm.

thtradesin ahtr air des in temp [Optional]


Wdgful tot fl gas in fuel inc wt xair REQUIRED Output from airhtrs algorithm.
heatvalue tot heating val of fuel(s) REQUIRED Output from fuels algorithm.
Rmoist tot moisture in fuel(s) REQUIRED Output from fuels algorithm.
Rhydr tot hydrogen in fuel REQUIRED Output from fuels algorithm.
Wairth stoich wt air complete comb REQUIRED Output from airhtrs algorithm.
Wairex wt excess air per STP fuel REQUIRED Output from airhtrs algorithm.
Wvap water content of vapor REQUIRED Output from airhtrs algorithm.
hlsunmeas unmeasured heat losses REQUIRED Output from boiler algorithm.
hlsunburn ht loss unburned combust REQUIRED Output from boiler algorithm.
hlsrad ht loss due to radiation REQUIRED Output from boiler algorithm.
Rlsunmeas pcnt unmeas ht losses REQUIRED Output from boiler algorithm.
Rlsunburn pcnt ht loss unburned combust REQUIRED Output from boiler algorithm.
Rlsrad pcnt heat loss radiation REQUIRED Output from boiler algorithm.
eblreffdes boiler design efficiency [Optional]
hlscalcin ht loss due to calcin [Optional]
Rlscalcin pcnt ht loss due to calcin [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

cfluegasc spec ht fl gas corr exit temp [Optional]

cairhtrc spec ht air design air temp [Optional]


hdglsc corr ht loss due to dry gas [Optional]
Rdglsc pcnt corr ht loss dry gas [Optional] Used for O2 controllable losses
algorithm.

hfgexc vap enth cor non-lkg exit temp [Optional] Used for exit gas temp and O2
controllable loss algorithm.

290 SP_0030
9.39 Corblrloss

CORBLRLOSS

Prameters Description Usage

hfghoc enth des ahtr air inlet temp [Optional] Used for exit gas temp controllable
losses algorithm.
hflmsc corr ht loss moist in fuel [Optional]

Rflmsc pcnt cor ht loss moist in fuel [Optional] Used for exit gas temp controllable
losses algorithm.

hcmbhc corr ht loss moist from h2 [Optional]

Rcmbhc pcnt corr ht loss moist fr h2 [Optional] Used for exit gas temp controllable
losses algorithm.

pabshaic sat vap pres des ahtr air temp [Optional]

hrvapc sat vap enth sat vapor pres [Optional] Used in O2 controllable losses
algorithm.

hwvaic corr ht loss moist air suppl [Optional]

Rwvaic pcnt cor ht loss moist air sup [Optional] Used in exit gas temp and O2
controllable losses algorithms.

hlstotcor total corr fuel related loss [Optional]

Rlstotcor pcnt tot cor fuel related loss [Optional]


eblreffc corr ht loss boiler effic [Optional] Required for O2 control lable losses
algorithm

eblreffcdev corr boiler effic dev [Optional]

Digital Outputs
< NONE >

Constants

CGAS[0] = 0.237058

CGAS[1] = 1.65875e-05

CGAS[2] = 4.18508e-08

CGAS[3] = -2.20475e-11

CAIR[3], 0.23897,6.7857e-06,1.9643e-08
HREFWATER, 45.0

SP_0030 291
9.39 Corblrloss

9.39.1 Corblrloss Calculation Overview

Corrected boiler efficiency (eblrcorr).

Recompute boiler efficiency using the corrected non-leakage exit gas temperature (tahmoc) and
the design air heater air inlet temperature (tahadesin). The following heat losses are
recalculated.

1. Heat loss due to dry gas


2. Heat loss due to moisture in coal
3. Heat loss in moisture formed from hydrogen
4. Heat loss in moisture in the air supplied

Compute the specific heat of flue gas exiting the boiler in btu/lb deg.f (cpflgc).

Calculate the corrected heat loss due to dry gas in percent (hdglsc) as follows:

cfluegasc = CGAS[0] + CGAS[1] * thtrmoc+ CGAS[2] * pow(thtrmoc,2) + CGAS[3] *


pow(thtrmoc,3);
cairhtrc = CAIR[0] + CAIR[1] * thtradesin + CAIR[2] * pow(thtradesin,2);
hdglsc = Wdgful * (cfluegasc * thtrmoc - thtradesin);
Rdglsc = 100.0 * hdglsc / heatvalue;

Compute the enthalpy of vapor in btu/lb (hfgexc) at corrected non-leakage exit gas temperature
and equivalent partial pressure of 1.0 psia as a superheated steam table function.

ptemp = 1.0;
hsstp(&hfgexc, &thtrmoc, &ptemp, &ITRNGE);

Calculate the enthalpy of liquid in btu/lb (hfghoc) at design air heater air inlet temperature
(tahadesin) as a saturated liquid steam table function.

hslt(&hfghoc, &thtradesin, &ITRNGE);

Compute the corrected heat loss due to moisture in fuel in percent (hflmsc).

hflmsc = Rmoist * (hfgexc - hfghoc)/100.0;


Rflmsc = 100.0 * hflmsc / heatvalue;

Calculate the corrected heat loss in moisture formed from hydrogen in percent (hcmbhc).

hcmbhc = .089365 * Rhydr * (hfgexc - hfghoc);


Rcmbhc = 100.0 * hcmbhc / heatvalue;

Compute the partial pressure of saturated vapor in psia (pahaic) as a saturated vapor steam table
function of the design air heater air inlet temperature (tahdin).

pslt(&pabshaic, &thtradesin, &ITRNGE);

Calculate the saturated vapor enthalpy in btu/lb (hrvapc) as a saturated vapor steam table
function of the partial pressure of vapor (pahaic).

hsvp(&hrvapc, &pabshaic, &ITRNGE);

292 SP_0030
9.39 Corblrloss

Compute the corrected heat loss in moisture in air supplied in percent (hwvaic).

hwvaic = (Wairth + Wairex) * (hfgexc - hrvapc) * Wvap;


Rwvaic = 100.0 * hwvaic / heatvalue;

Calculate total corrected fuel related losses in btu/lb (hsmlsc) and percent (Rhsmlsc).

hlstotcor = hdglsc + hflmsc + hcmbhc + hwvaic + hlscalcin - hgnsulf + hlsunmeas + hlsunburn


+ hlsrad;
Rlstotcor = Rdglsc + Rflmsc + Rcmbhc + Rwvaic + Rlscalcin -
Rgnsulf + Rlsunmeas + Rlsunburn + Rlsrad;

Compute actual corrected heat loss boiler efficiency (eblreffcor).

eblreffc = 100.0 - Rlstotcor;

Calculate the corrected boiler efficiency deviation (eblreffcdev) as the difference between the
corrected boiler efficiency and the design efficiency.

eblreffcdev = eblreffc - eblreffdes;

SP_0030 293
9.40 CorblrlASME4

9.40 Corblrl ASME4

The CorblrlASME4 algorithm calculates the corrected boiler efficiency and deviation according to
ASME specifications.

NO Units are Converted.

C O R B L R L AS M E 4

Parameters Description Usage

Analog Inputs

thtrmoc corr non lkg exit gas temp REQUIRED Output from boiler algorithm.

thtradesin ahtr air des in temp [Optional]


Wdgful tot fl gas in fuel inc wt xair REQUIRED Output from airhtrs algorithm.
heatvalue tot heating val of fuel(s) REQUIRED Output from fuels algorithm.
Rmoist tot moisture in fuel(s) REQUIRED Output from fuels algorithm.
Rhydr tot hydrogen in fuel REQUIRED Output from fuels algorithm.
Wairth stoich wt air complete comb REQUIRED Output from airhtrs algorithm.
Wairex wt excess air per STP fuel REQUIRED Output from airhtrs algorithm.
Wvap water content of vapor REQUIRED Output from airhtrs algorithm.
hlsunmeas unmeasured heat losses [Optional] Output from boiler algorithm.
hlsunburn ht loss unburned combust [Optional] Output from boiler algorithm.
hlssensref ht loss sensible ht of refuse [Optional]
hlsrad ht loss due to radiation [Optional] Output from boiler algorithm.
hgndryair ht gain due to dry air [Optional]
hgnsulf ht gain due to sulf lime [Optional]
Rlsunmeas pcnt unmeas ht losses [Optional] Output from boiler algorithm
Rlsunburn pcnt ht loss unburned combust [Optional] Output from boiler algorithm
Rlssensref pcnt ht loss sens ht of refuse [Optional]
Rlsrad pcnt heat loss radiation [Optional] Output from boiler algorithm
Rgndryair pcnt gain due to dry air [Optional]
Rgnsulf pcnt ht gain due sulf lime [Optional]
qgnshtsorb ht gain due to sens ht lime [Optional]
qlscalcin ht loss due to calc [Optional]
qtrbin heat acquired by the turbine REQUIRED
eblreffdes boiler design efficiency [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

294 SP_0030
9.40 CorblrlASME4

C O R B L R L AS M E 4

Parameters Description Usage

cfluegasc spec ht fl gas corr exit temp [Optional]

cairhtrc spec ht air design air temp [Optional]


hdglsc corr ht loss due to dry gas [Optional]
Rdglsc pcnt corr ht loss dry gas [Optional] Used for o2 controllable losses
algorithm.
hfgexc vap enth cor non-lkg exit temp [Optional] Used for exit gas temp and o2
controllable loss algorithms.
hfghoc enth des ahtr air inlet temp [Optional] Used for exit gas temp
controllable losses algorithm.
hflmsc corr ht loss moist in fuel [Optional]
Rflmsc pcnt cor ht loss moist in fuel [Optional] Used for exit gas temp
controllable losses algorithm.
hcmbhc corr ht loss moist from h2 [Optional]
Rcmbhc pcnt corr ht loss moist fr h2 [Optional] Used for exit gas temp
controllable losses algorithm.
pabshaic sat vap pres des ahtr air temp [Optional]
hrvapc sat vap enth sat vapor pres [Optional] Used in o2 controllable losses
module.
hwvaic corr ht loss moist air suppl [Optional]
Rwvaic pcnt cor ht loss moist air sup [Optional] Used in exit gas temp and o2
controllable losses modules.
hlstotcor total corr fuel related loss [Optional]
Rlstotcor pcnt tot cor fuel related loss [Optional] Required for o2, exit gas temp and
air htr air inlet temp controllable losses.
eblreffc corr ht loss boiler effic [Optional]
eblreffcdev corr boiler effic dev [Optional]
Digital Outputs

< NONE >

Constants

CAIR[3] ,0.23897,6.7857e-06,1.9643e-08

CGAS[4] 0.237058,1.65875e-05,4.18508e-08,
-2.20475e-11

9.40.1 CorblrlASME4 Calculation Overview

Recompute boiler efficiency using the corrected non-leakage exit gas temperature (tahmoc) and
the design air heater air inlet temperature (tahadesin). The following heat losses are recalculated:

1. Heat loss due to dry gas.

SP_0030 295
9.40 CorblrlASME4

2. Heat loss due to moisture in coal.


3. Heat loss in moisture formed from hydrogen.
4. Heat loss in moisture in the air supplied.

Compute the specific heat of flue gas exiting the boiler in btu/lb deg.f.

Calculate the corrected heat loss due to dry gas in percent (hdglsc) as follows:

cfluegasc = CGAS[0] + CGAS[1] * thtrmoc+ CGAS[2] * pow(thtrmoc,2) + CGAS[3] *


pow(thtrmoc,3);
cairhtrc = CAIR[0] + CAIR[1] * thtradesin + CAIR[2] * pow(thtradesin,2)
hdglsc = Wdgful * (cfluegasc * thtrmoc - cairhtrc * thtradesin);
Rdglsc = 100.0 * hdglsc / heatvalue;

Compute the enthalpy of vapor in btu/lb (hfgexc) at corrected non-leakage exit gas temperature
and equivalent partial pressure of 1.0 psia as a superheated steam table function.

ptemp = 1.0;
hsstp(&hfgexc, &thtrmoc, &ptemp, &ITRNGE);

Calculate the enthalpy of liquid in btu/lb (hfghoc) at design air heater air inlet temperature
(tahadesin) as a saturated liquid steam table function.

hslt(&hfghoc, &thtradesin, &ITRNGE);

Compute the corrected heat loss due to moisture in fuel in percent (hflmsc).

hflmsc = Rmoist * (hfgexc - HREFWATER)/100.0;

Rflmsc = 100.0 * hflmsc / heatvalue;

Calculate the corrected heat loss in moisture formed from hydrogen in percent (hcmbhc).

hcmbhc = .089365 * Rhydr * (hfgexc - HREFWATER);


Rcmbhc = 100.0 * hcmbhc / heatvalue;
Compute the partial pressure of saturated vapor in psia (pahaic) as a saturated vapor steam
table function of the design air heater air inlet temperature (tahdin).
pslt(&pabshaic, &thtradesin, &ITRNGE);

Calculate the saturated vapor enthalpy in btu/lb (hrvapc) as a saturated vapor steam table
function of the partial pressure of vapor (pahaic).

hsvp(&hrvapc, &pabshaic, &ITRNGE);

Compute the corrected heat loss in moisture in air supplied in percent (hwvaic).

hwvaic = (Wairth + Wairex) * (hfgexc - hrvapc) * Wvap;


Rwvaic = 100.0 * hwvaic / heatvalue;

Calculate total corrected fuel related losses in btu/lb and percent.

hlstotcor = hdglsc + hflmsc + hcmbhc + hwvaic + hlsunburn + hlssensref + hlsunmeas +


hlsrad - hgnsulf - hgndryair;
Rlstotcor = Rdglsc + Rflmsc + Rcmbhc + Rwvaic + Rlsunburn + Rlssensref +

296 SP_0030
9.40 CorblrlASME4

Rlsunmeas + Rlsrad - Rgnsulf - Rgndryair;

Compute actual corrected heat loss boiler efficiency (eblreffc).

eblreffc = (100.0 - Rlstotcor) * qtrbin / (qtrbin + qlscalcin - qgnshtsorb);;

Calculate the corrected boiler efficiency deviation (eblreffcdev) as the difference between the
corrected boiler efficiency and the design efficiency.

eblreffcdev = eblreffc - eblreffdes;

SP_0030 297
9.41 Cosin

9.41 Cosin

Cosin is the Cosine algorithm.

YES Units are Converted.

COSIN

Parameters Description Usage

Analog Inputs

kvalue input to cosine algorithm REQUIRED

kptgain abs val gain value [Optional]


kptbias abs val bias value [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

kcosin_res cosine result value REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1 kcbias = 0

9.41.1 Cosin Calculation Overview

The output of this calculation (kcosin_res) is the cosine of the input (kvalue) multiplied by the gain
(kgain) and the addition of the bias (kbias).

kcosin_res = cos(kvalue);
kgain = kptgain + kcgain;
kbias = kptbias + kcbias;
kcosin_res = (kcosin_res * kgain) + kbias;

298 SP_0030
9.42 Crossprod

9.42 Crossprod

The Crossprod algorithm calculates the cross product based on x and y inputs.

The result can be modified by multiplying by a gain and/or adding a bias. Note that the gain and
bias numbers can be points, constants or both points and constants.

NO Units are Converted.

CROSSPROD

Parameters Description Usage

Analog Inputs

kxvalue x value [Optional]


kyvalue y value [Optional]
Kptgain gain value [Optional]
Kptbias bias value [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

kzvalue zvalue REQUIRED

Digital Outputs

< NONE >

Constants

kcross[9]=0 cross prod coefficients

kcgain=1
kcbias=0

9.42.1 Crossprod Calculation Overview

kzvalue = kcross[0] + (kcross[1]*kxvalue) +

(kcross[2]*pow(kxvalue,2)) +
(kcross[3]*kyvalue) +
(kcross[4]*pow(kyvalue,2)) +
(kcross[5]*kxvalue*kyvalue) +
(kcross[6]*pow(kxvalue,2)*kyvalue) +
(kcross[7]*kxvalue*pow(kyvalue,2)) +
(kcross[8]*pow(kxvalue,2)*pow(kyvalue,2));

SP_0030 299
9.42 Crossprod

kgain_tot = kptgain + kcgain;

kbias_tot = kptbias + kcbias;

kzvalue = (kzvalue * kgain_tot) + kbias_tot;

300 SP_0030
9.43 Deaerator

9.43 Deaerator

Deaerator is a direct contact type heat exchanger. The following steps calculate the condensate
inlet flow, outlet flow, inlet enthalpy and outlet enthalpy. The extraction steam flow and enthalpy
are also calculated.

YES Units are Converted.

DE AE RATOR

Parameters Description Usage

Analog Inputs

wdrninlt drain inlet flow REQUIRED

hdrninlt drain inlet enthalpy REQUIRED


tdeaoutlt deaerator outlet temp REQUIRED
tdeainlt deaerator inlet temp REQUIRED
pdeaoutlt deaerator outlet pres REQUIRED
pdeainlt deaerator inlet pres REQUIRED
tdearisedes deaerator temp rise des [Optional]
wblrfw boiler feedwater flow REQUIRED
wdsrht reheat spray flow [Optional]
wdssht superheat spray flow [Optional]
pdeaext deaerator extraction pres [Optional] Must enter this pressure or
turbineExt pressure.

patmos atmospheric pressure REQUIRED

tdeaext deaerator extraction temp [Optional] Must enter this temp or


turbineExt temp.

pturb turbine extraction pres [Optional] Must enter this pressure or


deaeratorExt pressure.

tturb turbine extraction temp [Optional] Must enter this temp or


deaerator extraction temp.

pdrop pres drop fr turb to deaerator [Optional] Must enter pressure drop if
turbExt pressure measured and dea
extraction pressure not measured.

pincr pres incr fr deaerator to turb [Optional] Must enter if dearatorExt


pressure is measured and turbineExt
pressure is not measured.
wdeavap deaerator vapor flow [Optional]

hdeavap deaerator vapor enthalpy [Optional]


wdealkg deaerator leakage flow [Optional]

SP_0030 301
9.43 Deaerator

DE AE RATOR

Parameters Description Usage

hdealkg deaerator leakage enthalpy [Optional]


wdeaaux deaerator auxiliary flow [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

hdrnin_tot enthalpy drain inlet total [Optional]

wdrnin_tot drain inlet flow total [Optional]


tdearise deaerator temp rise [Optional]
tdearisedev deaerator temp rise dev [Optional]
psatoutlt deaerator sat outlet pres [Optional]
psatinlt deaerator sat inlet pres [Optional]
pabsdeaoutlt abs deaerator outlet pres [Optional]
pabsdeainlt abs deaerator inlet pres [Optional]
hdeaoutlt deaerator outlet enth [Optional]
wdeain deaerator inlet flow [Optional]
hdeain deaerator inlet enth [Optional]
wdeaoutlt deaerator outlet flow [Optional]
pabsdeaext deaerator abs Extr pres [Optional]
pabsturb turbine Extr abs pres [Optional]
hdeaext deaerator Extr enth [Optional]
wdeaext dearerator Extr flow [Optional]
wturb turbine Extr flow [Optional]
hturb turbine Extr enth [Optional]
tdeasat deaerator sat temp [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

302 SP_0030
9.43 Deaerator

9.43.1 Deaerator Calculation Overview

The deaerator is a direct contact type heat exchanger that is used to remove the air from the
boiler feedwater.

Total Deaerator Drain Flow (wdrnin_tot)

wdrnin_tot = wdrninlt + wdvrt

Where:

wdrninlt = Drain flow into the deaerator


wdvrt = Drain flow from out of service feedheaters

Deaerator Temperature Rise (tdearise)

tdearise = tdeaoutlt - tdeainlt

Where:

tdeaoutlt = Deaerator condensate outlet temperature


tdeainlt = Deaerator condensate inlet temperature

Condensate Flow Leaving the Deaerator (wdeaoutlt)

wdeaoutlt = wblrfw + wdsrht + wdssht

Where:

wblrfw = Boiler feedwater flow


wdsrht = Reheat Spray water flow - this is only used if it exists and this flow is not included
in the feedwater flow measurement
wdssht = Superheat Spray water flow - this is only used if it exists and this flow is not
included in the feedwater flow measurement

Deaerator Extraction Flow

wdeaext = (wdeaoutlt * (hdeaoutlt - hdeain) + wdeavap * (hdeavap - hdeain) +


wdrnin_tot * (hdeain - hdrnin_tot) + wdealkg * (hdeain - hdealkg)) / (hdeaext - hdeain)

Where:

wdeaoutlt = Deaerator condensate flow


hdeaoutlt = Deaerator condensate flow enthalpy
hdeain = Condensate inlet enthalpy
wdeavap = Deaerator vapor flow
hdeavap = Deaerator vapor enthalpy
wdrnin_tot = Total drain flow into the deaerator
hdrnin_tot = Enthalpy of the total drain flow into the deaerator
wdealkg = Deaerator leakage flow
hdealkg = Enthalpy of deaerator leakage flow

SP_0030 303
9.43 Deaerator

Turbine Extraction Flow

wturb = wdeaext - wdealkg - wdeaaux

Where:

wdeaaux = Deaerator auxiliary flow

Deaerator Inlet Flow

wdeain = wdeaoutlt+wdevap-wdrnintot-wdeaext-wdealkg

Where:

The flows in this equation are described above.

304 SP_0030
9.44 Densityair

9.44 Densityair

Densityair calculates air density at current temperature and pressure conditions as well as a
density correction factor.

YES Units are Converted.

DENSITYAIR

Parameters Description Usage

Analog Inputs

Wvap specific humidity REQUIRED

twetbulb wet bulb temperature REQUIRED


tdrybulb dry bulb temperature REQUIRED
pabsbaro barometric pressure REQUIRED
tempdis discharge temperature REQUIRED
pdisch discharge pressure REQUIRED
patmos atmospheric pressure REQUIRED
densityref reference density REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

Mmoistair mol wt of moist air [Optional]

kspecgas specific gas const [Optional]


psatvap saturated vapor pressure [Optional]
ppartial partial pres of water [Optional]
dairvap dens of air/vap mixture [Optional]
tabsdis absolute discharge temperature [Optional]
pabsdis absolute discharge pressure [Optional]
dairdisch dens of air at fan disch [Optional]
kdensitycf density correction factor [Optional]
Digital Outputs

< NONE >

Constants

KCONSTC1 = 459.7 KCONSTC9 = 2700.0 MDRYAIR = 28.965

KCONSTC6 = KCONSTC10 = 70.77 KMOIST = 18.02


2.96E-04
KCONSTC7 = KCONSTC13 = 13.62 KDAIRVAP = 0.378
-1.59E-02

SP_0030 305
9.44 Densityair

DENSITYAIR

Parameters Description Usage

KCONSTC8 = 0.41 KCONSTR0 = 1545.0

9.44.1 Densityair Calculation Overview

Molecular weight of Moist Air from Equation 5.3-4 of ASME PTC 11.

Mmoistair = 1.0 / ((Wvap/(KMOIST * (1.0 + Wvap))) + (1.0 / (MDRYAIR * (1.0 + Wvap))));

Specific Gas Constant

kspecgas = KCONSTR0 / Mmoistair;

Saturated Vapor Pressure - inhg. Need to convert to psig.

psatvap = ((KCONSTC6 * pow(twetbulb,2)) + (KCONSTC7 * twetbulb) + KCONSTC8) *


INHGtoPSI

Partial pressure of water - inhg. Need to convert to psig.

ppartial = ((psatvap/INHGtoPSI) - (pabsbaro/INHGtoPSI) * (tdrybulb - twetbulb) / KCONSTC9)


* INHGtoPSI

Density of the air/vapor mixture

dairvap = (KCONSTC10 * ((pabsbaro/INHGtoPSI) - KDAIRVAP * (ppartial/INHGtoPSI))) /


(kspecgas * (tdrybulb + KCONSTC1))

Density at fan discharge

tabsdis = tempdis + DEG_FtoRANK


pabsdis = pdisch + patmos;
dairdisch = (dairvap * ( tdrybulb + KCONSTC1) * (pabsdis/INWGtoPSI)) /
(KCONSTC13 * tabsdis * (pabsbaro/INHGtoPSI));

Density Correction Factor

kdensitycf = dairdisch / densityref

306 SP_0030
9.45 Densitycor

9.45 Densitycor

The Densitycor algorithm computes a density corrected to current temperature and pressure
conditions as well as a density correction factor.

YES Units are Converted.

DENSITYCOR

Parameters Description Usage

Analog Inputs

tempdis discharge temperature REQUIRED

pdisch discharge pressure REQUIRED


patmos atmospheric pressure REQUIRED
densityref reference density REQUIRED
tdisref reference temperature REQUIRED
pdisref reference discharge pressure REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

tabsdis absolute discharge temperature [Optional]

tabsdisref absolute dis ref temp [Optional]


pabsdis absolute discharge pressure [Optional]
pabsdisref absolure dis ref pressure [Optional]
densitycor dens cor to cur temp and pres [Optional]
densitycf density correction factor [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 307
9.45 Densitycor

9.45.1 Densitycor Calculation Overview

Corrected Density to Current Temperature and Pressure (densitycor)

densitycor = densityref * (tabsdisref / tabsdis) * (pabsdis / pabsdisref)

Where:

densityref = Reference density of air


tabsdisref = Reference Fan Discharge Temperature in Deg R
tabsdis = Measured Fan Discharge Temperature in Deg R
pabsdis = Fan Static Discharge Pressure
pabsdisref = Reference Fan Static Discharge Pressure

Density Correction Factor(kdensitycf) - Ratio of the Density Corrected to Reference Conditions


to the Design Density

kdensitycf = densitycor / densityref;

308 SP_0030
9.46 Densitygas

9.46 Densitygas

The Densitygas algorithm calculates the density of gas at the fan discharge as well as a density
correction factor.

YES Units are Converted.

DENSITYGAS

Parameters Description Usage

Analog Inputs

Rco2 pcnt of CO2 REQUIRED

Roxy pcnt of O2 [Optional]


Rco pcnt of CO2 REQUIRED
Rnitr pcnt of N2 REQUIRED
Rso2 pcnt of SO2 REQUIRED
Rspechum specific humidity REQUIRED
tempdis discharge temperature REQUIRED
pdisch discharge pressure REQUIRED
patmos atmospheric pressure REQUIRED
densityref reference density REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

Mwtco2 mol wt of CO2 [Optional]

Mwto2 mol wt of O2 [Optional]


Mwtco mol wt of co [Optional]
Mwtn2 mol wt of n2 [Optional]
Mwtso2 mol wt of SO2 [Optional]
Mwtdrygas mol wt of dry gas [Optional]
Mmoistgas mol wt of moist gas [Optional]
kspecgas specific gas const [Optional]
tabsdis absolute discharge temperature [Optional]
pabsdis absolute discharge pressure [Optional]
dgasdisch dens of gas at fan disch [Optional]
kdensitycf density correction factor [Optional]
Digital Outputs

< NONE >

SP_0030 309
9.46 Densitygas

DENSITYGAS

Parameters Description Usage

Constants

KWTCO2 = KWTN2 = 28.02 KCONSTR0 = 1545.0


44.01

KWTO2 = 32.0 KWTSO2 = 64.07 KMOIST = 18.02

KWTCO = 28.01 KCONSTC11 = 5.193

9.46.1 Densitygas Calculation Overview

Molecular Weight of Dry Gas

Mwtco2 = KWTCO2 * Rco2 * 0.01;


Mwto2 = KWTO2 * Roxy * 0.01;
Mwtco = KWTCO * Rco * 0.01;
Mwtn2 = KWTN2 * Rnitr * 0.01;
Mwtso2 = KWTSO2 * Rso2 * 0.01;
Mwtdrygas = Mwtco2 + Mwto2 + Mwtco + Mwtn2 + Mwtso2;
Molecular Weight of Moist Gas from ASME PTC 11 Equation 5.3-4
Mmoistgas = 1.0 / ((Rspechum/(KMOIST * (1.0 + Rspechum))) + (1.0 / (Mwtdrygas * (1.0 +
Rspechum))));

Specific Gas Constant

kspecgas = KCONSTR0 / Mmoistgas;

Fan Discharge Density (dgasdisch) from Equation 5.4-5 in ASME PTC 11

pabsdis = pdisch + patmos;


tabsdis = tempdist + DEG_FtoRANK;
dgasdisch = (KCONSTC11 * (pabsdis/INWGtoPSI)) / (kspecgas * tabsdis);

Density Correction Factor - ratio of the density corrected to reference conditions to the design
density

kdensitycf = dgasdisch / densityref

310 SP_0030
9.47 Diganlgcmppoly

9.47 Diganlgcmppol y

The Diganlgcmppoly algorithm calculates the y-value of a polynomial based on the x input in a
specified range and a digital flag.

NO Units are Converted.

DIGANLGCMPPOLY

Parameters Description Usage

Analog Inputs

kptload val check betw low/up limit [Optional]

kptlolimit lower limit for region [Optional]


kptuplimit upper limit for region [Optional]
kxval x value to calculate poly [Optional]
kptgain point gain value [Optional]
kptbias point bias value [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zflag dig flag to determine region REQUIRED


Analog Outputs

kyvalue y calculated value REQUIRED

Digital Outputs

< NONE >

Constants

kapoly[0] = 0 kapoly[4] = 0 kcload = 0.0

kapoly[1] = 1 kapoly[5] = 0 kclolimit = 0.0


kapoly[2] = 0 kcgain = 1 kcuplimit = 0.0
kapoly[3] = 0 kcbias = 0

9.47.1 Diganlgcmppoly Calculation Overview

Diganlgcmppoly calculates a polynomial if a digital flag is set and within the specified value
region. Otherwise, the value is set to zero.

kload_tot = kptload + kcload;


klolimit_tot = kptlolimit + kclolimit;
kuplimit_tot = kptuplimit + kcuplimit;

SP_0030 311
9.47 Diganlgcmppoly

if (zflag && (kload_tot >= klolimit_tot) && (kload_tot <= kuplimit_tot))

kyvalue = kapoly[0] + kapoly[1] * kxval + kapoly[2] * pow(kxval,2) +


kapoly[3] * pow(kxval,3) + kapoly[4] * pow(kxval,4) + kapoly[5] * pow(kxval,5);
kgain_tot = kptgain + kcgain;
kbias_tot = kptbias + kcbias;
kyvalue = (kyvalue * kgain_tot) + kbias_tot;

else

kyvalue = 0.0;

312 SP_0030
9.48 Diganlgcmp2poly

9.48 Diganlgcmp2pol y

The Diganlgcmp2poly algorithm calculates one of two y-value polynomials based on an x input
value, Digital input and is split by a specified Analog value.

NO Units are Converted.

DIGANLGCMP2POLY

Parameters Description Usage

Analog Inputs

kptload val check region calc poly [Optional]

kptlimit limit for lower region [Optional]


kxval x value for lower region [Optional]
kptgain point gain for lower region [Optional]
kptbias point bias for lower region [Optional]
kxval2 x value for upper region [Optional]
kptgain2 point gain for region 2 [Optional]
kptbias2 point bias for region 2 [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zflag dig flag to determine region REQUIRED


Analog Outputs

kyvalue y calculated value REQUIRED

Digital Outputs

< NONE >

Constants

kapoly[0] = 0 kapoly2[0] = 0 kcgain = 1

kapoly[1] = 1 kapoly2[1] = 1 kcbias = 0


kapoly[2] = 0 kapoly2[2] = 0 kcgain2 = 1
kapoly[3] = 0 kapoly2[3] = 0 kcbias2 = 0
kapoly[4] = 0 kapoly2[4] = 0 kclimit = 0.0
kapoly[5] = 0 kapoly2[5] = 0 kcload = 0.0

SP_0030 313
9.48 Diganlgcmp2poly

9.48.1 Diganlgcmp2poly Calculation Overview

Diganlgcmp2poly calculates one polynomial if a digital is set and less than the specified analog
limit. Otherwise, a second polynomial will be calculated.

kload_tot = kptload + kcload;


klimit_tot = kptlimit + kclimit;

if (zflag && (kload_tot <= klimit_tot))

kyvalue = kapoly[0] + kapoly[1] * kxval + kapoly[2] * pow(kxval,2) +


kapoly[3] * pow(kxval,3) + kapoly[4] * pow(kxval,4) +
kapoly[5] * pow(kxval,5);
kgain_tot = kptgain + kcgain;
kbias_tot = kptbias + kcbias;

else

kyvalue = kapoly2[0] + kapoly2[1] * kxval2 + kapoly2[2] * pow(kxval2,2) +


kapoly2[3] * pow(kxval2,3) + kapoly2[4] * pow(kxval2,4) +
kapoly2[5] * pow(kxval2,5);
kgain_tot = kptgain2 + kcgain2;
kbias_tot = kptbias2 + kcbias2;

kyvalue = (kyvalue * kgain_tot) + kbias_tot;

314 SP_0030
9.49 Digcmp2poly

9.49 Digcmp2pol y

The Digcmp2poly algorithm calculates one of two y-value polynomials based on an x input and a
digital flag.

NO Units are Converted.

DIGCMP2POLY

Parameters Description Usage

Analog Inputs

kxval x val region 1 poly [Optional]

kptgain pnt gain region 1 poly [Optional]


kptbias pnt bias region 1 poly [Optional]
kxval2 x value region 2 poly [Optional]
kptgain2 gain pnt region 2 poly [Optional]
kptbias2 bias pnt region 2 poly [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zflag dig flag to determine region REQUIRED


Analog Outputs

kyvalue y calculated value REQUIRED

Digital Outputs

< NONE >

Constants

kdpoly[0] = 0 kdpoly2[0] = 0 kcgain = 1

kdpoly[1] = 1 kdpoly2[1] = 1 kcbias = 0


kdpoly[2] = 0 kdpoly2[2] = 0 kcgain2 = 1
kdpoly[3] = 0 kdpoly2[3] = 0 kcbias2 = 0
kdpoly[4] = 0 kdpoly2[4] = 0
kdpoly[5] = 0 kdpoly2[5] = 0

SP_0030 315
9.49 Digcmp2poly

9.49.1 Digcmp2poly Calculation Overview

Digcmp2poly calculates the first polynomial specified by the values found in the constants
kdpoly[0]-kdpoly[5] if the flag (zflag) is set to true. Otherwise, when the flag (zflag) is false, the
second polynomial specified by the constants kdoly2[0]-kdpoly2[5] is calculated.

if (zflag)

kyvalue = kdpoly[0] + kdpoly[1] * kxval + kdpoly[2] * pow(kxval,2) +


kdpoly[3] * pow(kxval,3) + kdpoly[4] * pow(kxval,4) + kdpoly[5] * pow(kxval,5);
kgain_tot = kptgain + kcgain;
kbias_tot = kptbias + kcbias;

else

kyvalue = kdpoly2[0] + kdpoly2[1] * kxval2 + kdpoly2[2] * pow(kxval2,2) +


kdpoly2[3] * pow(kxval2,3) + kdpoly2[4] * pow(kxval2,4) + kdpoly2[5] * pow(kxval2,5);
kgain_tot = kptgain2 + kcgain2;
kbias_tot = kptbias2 + kcbias2;

kyvalue = (kyvalue * kgain_tot) + kbias_tot;

316 SP_0030
9.50 Digcmppoly

9.50 Digcmppol y

The Digcmppoly algorithm calculates the y-value of a polynomial based on an x input and digital
flag.

NO Units are Converted.

DIGCMPPOLY

Parameters Description Usage

Analog Inputs

kxvalue x value to calc poly [Optional]

kptgain gain point for poly [Optional]


kptbias bias point for poly [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zflag dig val determine calc poly REQUIRED


Analog Outputs

kyvalue y calculated value REQUIRED

Digital Outputs

< NONE >

Constants

kdigpoly[0] = 0

kdigpoly[1] = 1
kdigpoly[2] = 0
kdigpoly[3] = 0
kdigpoly[4] = 0
kdigpoly[5] = 0
kcgain = 1
kcbias = 0

9.50.1 Digcmppoly Calculation Overview

This algorithm calculates the specified polynomial if the flag (zflag) is true. Otherwise, the result
is zero.

if (zflag)

kyvalue = kdigpoly[0] + kdigpoly[1] * kxvalue + kdigpoly[2] * pow(kxvalue,2)


+ kdigpoly[3] * pow(kxvalue,3) + kdigpoly[4] * pow(kxvalue,4)

SP_0030 317
9.50 Digcmppoly

+ kdigpoly[5] * pow(kxvalue,5);
kgain_tot = kptgain + kcgain;
kbias_tot = kptbias + kcbias;
kyvalue = (kyvalue * kgain_tot) + kbias_tot;

else

kyvalue = 0.0;

318 SP_0030
9.51 Digitalin

9.51 Digitalin

The Digitalin algorithm reads digital data agent inputs and outputs local digital values.

NO Units are Converted.

DIGITALIN

Parameters Description Usage

Analog Inputs

kdummy dummy value [Optional]

Digital Inputs

dinput1 Digital input 1 REQUIRED

dinput2 - through Digital input 2 - through [Optional]


dinput50 Digital input 50
Analog Outputs

< NONE >

Digital Outputs

dinput1_loc local Digital value 1 REQUIRED

dinput2_loc - through local Digital value 2 - through [Optional]


dinput50_loc
Digital value 50
Constants

< NONE >

9.51.1 Digitalin Calculation Overview

The configured inputs are assigned to the local specified points.

Digitalin Outputs

The digital outputs dinput_loc, dinput_loc, etc are assigned the value of dinput1, dinput2, etc.

SP_0030 319
9.52 Digitalout

9.52 Digitalout

The Digitalout algorithm outputs digital data agent points from local digital values.

NO Units are Converted.

DIGITALOUT

Parameters Description Usage

Analog Inputs

kdummy dummy point [Optional]

Digital Inputs

dinput1 local digital input 1 REQUIRED

dinput2 - through local digital input 2 - through [Optional]


dinput50 local digital input 50
Analog Outputs

< NONE >

Digital Outputs

doutput1 Digital output 1 REQUIRED

doutput2 - through Digital output 2 - through [Optional]


doutput50 Digital output 50
Constants

< NONE >

9.52.1 Digitalout Calculation Overview

The Digitalout algorithm outputs the configured inputs to the selected output source.

Digitalout Outputs

The local tags (dinput1, dinput2, etc.) are configured to the digital inputs and sent to the selected
output source for the configured tags (doutput1, doutput2, etc.).

320 SP_0030
9.53 Divide4

9.53 Divide4

The Divide4 algorithm divides a variable by the product of four numbers.

NO Units are Converted.

DIVIDE4

Parameters Description Usage

Analog Inputs

kinval input value REQUIRED

kdval1 divide value 1 REQUIRED


kdval2 divide value 2 [Optional]
kdval3 divide value 3 [Optional]
kdval4 divide value 4 [Optional]
kptgain point gain value [Optional]
kptbias point bias value [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

kresult result REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

9.53.1 Divide4 Calculation Overview

Divide4 calculates the result of the input value (kinval) divided by the product of the divide values
(kdval1-kdval4). The result is then gained and biased.

kresult = kinval / (kdval1 * kdval2 * kdval3 * kdval4);


ktot_gain = kptgain + kcgain;
ktot_bias = kptbias + kcbias;
kresult = (kresult * ktot_gain) + ktot_bias;

SP_0030 321
9.54 Drnclr

9.54 Drnclr

The Drnclr algorithm calculates drain cooler approach and deviation.

YES Units are Converted.

DRNCLR

Parameters Description Usage

Analog Inputs

tfhdrn feedheater drain cooler temp REQUIRED

tfhin feedheater inlet temperature REQUIRED


tfhdsdca feedhtr des drn cooler appr [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

tfhdca fhtr drn cooler appr [Optional]

tdcadev fhtr drn cooler appr dev [Optional]


Digital Outputs

< NONE >

Constants

< NONE >

9.54.1 Drnclr Calculation Overview

Drnclr is used to calculate the drain cooler approach (DCA) for a feedwater heater. DCA is the
temperature difference between the condensate leaving the feedwater heater and the feedwater
entering the heater.

Actual Drain Cooler Approach (tfhdca)

tfhdca = tfhdrn - tfhin

DCA Deviation - difference between the design DCA and the actual DCA

tdcadev = tfhdca - tfhdsdca;

322 SP_0030
9.55 Drnpmp

9.55 Drnpmp

The Drnpmp algorithm calculates the heat and materials balance around a shell and tube type
heat exchanger with the drain pumped forward. The extraction, drain, inlet and outlet flows are
calculated for the feedheater. The turbine extraction flow and enthalpy are also calculated.

YES Units are Converted.

DRNPMP

Parameters Description Usage

Analog Inputs

tfhinlt feedhtr inlet temp REQUIRED

tfhoutlt feedhtr outlet temp REQUIRED


tfhrisedes design feedhtr temp rise [Optional]
wdrninlt drain inlet flow REQUIRED
hdrninlt drain inlet enthalpy REQUIRED
pfhoutlt feedhtr outlet press REQUIRED
patmos atmospheric press REQUIRED
pfhinlt feedhtr inlet press REQUIRED
tdrnoutlt drain outlet tempeature REQUIRED
pextr extracion press [Optional]
textr extraction temp [Optional]
pturb turbine extraction press [Optional]
tturb turbine extraction temp [Optional]
pdrop : press drop from turb to fedhtr [Optional] Use if
only turbine
pincr press incr from fedhtr to turb [Optional] Use if
only feedheater
wcndup fwater flow thru upstream htr REQUIRED
waux auxiliary flow [Optional]
wlkg leakage flow [Optional]
hlkg leakage enthalpy [Optional]
wssr stm seal regulator flow [Optional]
hssr stm seal regulator enthalpy [Optional]
hpolyextr feedhtr Extr enthal approx [Optional] Use if in
the wet steam
application
hpolyturb turbine Extr enthal approx [Optional] Use if in
the wet steam
region.
Digital Inputs

SP_0030 323
9.55 Drnpmp

DRNPMP

Parameters Description Usage

zdocalc digital perf calc run flag REQUIRED

zfedhtr_on fedhtr in-service flag [Optional]


zfedhtr_off feedheater out-of-service flag [Optional]
zdrnpump input drain pump running status [Optional]
Analog Outputs

tfhrise fedhtr temp rise [Optional]

tfhrisedev fedhtr temp rise deviation [Optional]


hdrnin_tot fedhtr drain inlet enthalpy [Optional]
wdrnin_tot fedhtr drain inlet flow [Optional]
pabsfhoutlt fedhtr abs outlet press [Optional]
psatoutlt fedhtr abs sat outlet press [Optional]
hfhoutlt fedhtr outlet enthalpy [Optional]
pabsfhinlt fedhtr abs inlet press [Optional]
psatinlt fedhtr abs sat inlet press [Optional]
hfhinlt fedhtr inlet enthalpy [Optional]
hdrnoutlt fedhtr drain enthalpy [Optional]
wfhoutlt fedhtr outlet flow [Optional]
wfhinlt fedhtr inlet flow [Optional]
pabsextr fedhtrExtr press abs [Optional]
pabsturb turbineExtr press abs [Optional]

hextr fedhtrExtr enthalpy [Optional]


wextr fedhtrExtr flow [Optional]
wturb turbineExtr flow to fedhtr [Optional]
hturb turbineExtr enthal to fedhtr [Optional]
wdrnoutlt fedhtr drain outlet flow [Optional]
tsat fedhtr sat temp [Optional]
wcnddvrt fedhtr flow diverted to condsr [Optional]
hcnddvrt fedhtr enthal divrtd to condsr [Optional]
whtrdvrt fedhtr drn flow dvrt [Optional]
hhtrdvrt fedhtr drn enth dvrt [Optional]
Digital Outputs

zinsvcfh feedheater in-service flag [Optional]

Constants
< NONE >

324 SP_0030
9.55 Drnpmp

9.55.1 Drnpmp Calculation Overview

Drnpmp is called for each feedheater to calculate the following items:

Feedheater Temperature Rise and Deviation

tfhrise = tfhoutlt - tfhinlt


tfhrisedev = tfhrise - tfhrisedes

Total Feedheater Inlet Flow (wdrin_tot)

wdrin_tot = wdrninlt + wdvrt

Where:

wdvrt = Drain flow from out of service feedheaters

Turbine Extraction Flow

wturb = ((wcndup-wlkg-wdrnin_tot+waux)*(hfhoutlt-hfhinlt) -
wlkg*(hlkg - hdrnoutlt) - wdrnin_tot*(hdrnin_tot - hdrnoutlt) + waux*(hturb - hdrnoutlt)) /
((hturb - hdrnoutlt) + (hfhoutlt-hfhinlt))

Where:

wcndup = Feedwater flow through the upstream feedheater


wlkg = Leakage Flow
waux = Auxiliary Flow
hfhoutlt = Feedheater condensate outlet enthalpy
hdrnoutlt = Enthalpy of the feedheater drain flow
hfhinlt = Feeheater inlet flow enthalpy
hlkg = Enthalpy of leakage flow
hdrnin_tot = Enthalpy of total feedheater inlet flow
hturb = Enthalpy of the turbine extraction steam

Feedheater Extraction Flow (wextr)

wextr = wturb + wlkg - waux

Feedheater Outlet Flow (wfhoutlt)

wfhoutlt = wcndup - wextr - wlkg - wdrnin_tot

Feedheater Drain Flow (wdrnoutlt)

wdrnoutlt = wextr + wlkg + wdrnin_tot

SP_0030 325
9.55 Drnpmp

Drain pump running status (zdrnpump)

If heater is in service and drain pump is out of service, set the flow diverted to the heater as the
drain inlet flow and enthalpy plus the drain outlet flow and enthalpy from this heater.

if (!zdrnpump)

hhtrdvrt = ((wdrnin_tot*hdrnin_tot) + (wdrnoutlt*hdrnoutlt)) / (wdrnin_tot + wdrnoutlt);


whtrdvrt = wdrnin_tot + wdrnoutlt;
wcnddvrt = 0.0;
hcnddvrt = 0.0;

else

hhtrdvrt = 0.0;
whtrdvrt = 0.0;
wcnddvrt = 0.0;
hcnddvrt = 0.0;

326 SP_0030
9.56 Dvalgen

9.56 Dvalgen

The Dvalgen algorithm ANDs the value of a digital constant and point, and outputs the result to a
digital output point and calculates the digital flag value with the constant (kzconst).

NO Units are Converted.

DVALGEN

Parameters Description Usage

Analog Inputs

< NONE >

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

zvalue digital flag value [Optional]


Analog Outputs

< NONE >

Digital Outputs

zdvalgen_res digital value result REQUIRED

Constants
zconst=1

9.56.1 Dvalgen Calculation Overview

Dvalgen ANDs together the digital flag value with the constant (kzconst).

zdvalgen_res = zvalue & kzconst;

SP_0030 327
9.57 Econmz

9.57 Econmz

The Econmz algorithm computes the efficiency of the economizer, and the deviation from design.

YES Units are Converted.

ECONMZ

Parameters Description Usage

Analog Inputs

tfgecin econ flue gas inlet temp REQUIRED

tfgecout econ flue gas outlet temp REQUIRED


tfwecin econ feedwater inlet temp REQUIRED
tfwecout econ feedwater outlet temp REQUIRED
pfwecin econ feedwater inlet pressure REQUIRED
patmos atmospheric pressure REQUIRED
pfwecout econ feedwater outlet pressure REQUIRED
wbfw feedwater flow REQUIRED
knumpass econmz number of passes REQUIRED
aecon economizer surface area REQUIRED
Ueconclean econ clean heat transfer coeff REQUIRED
Reconeffdes econ design efficiency [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

lmtdecon econ log mean temp diff [Optional]

pfwecinabs abs econ inlet press [Optional]


pfwecoutabs abs econ outlet press [Optional]
hfwecin fw econ inlet enth [Optional]
hfwecout fw econ outlet enth [Optional]
qecontrans heat transfer across econ [Optional]
Ueconactual econ heat transfer coeff [Optional]
Reconeffact economizer efficiency [Optional]
Reconeffdev economizer efficiency dev [Optional]
Digital Outputs

< NONE >

Constants

328 SP_0030
9.57 Econmz

ECONMZ

Parameters Description Usage

< NONE >

9.57.1 Econmz Calculation Overview

Calculate the log mean temperature difference of the economizer.

lmtdecon = ((tfgecin - tfwecout) - (tfgecout - tfwecin)) /


log ((tfgecin - tfwecout) / (tfgecout - tfwecin));

Calculate the feedwater inlet and outlet enthalpies as a compressed liquid function of feedwater
temperature and pressure. First, convert the pressures to absolute.

pfwecinabs = pfwecin + patmos;


pfwecoutabs = pfwecout + patmos;
hcltp(&hfwecin,&tfwecin,&pfwecinabs,&ITRNGE);
hcltp(&hfwecout,&tfwecout,&pfwecoutabs,&ITRNGE);

Calculate the heat transferred across the economizer.

qecontrans = wbfw * (hfwecout - hfwecin) /RHTCNV;

Calculate the overall economizer heat transfer coefficient

Ueconactual = (qecontrans * 1000.0 * 1000.0) / (knumpass * lmtdecon * aecon);

Calculate the economizer efficiency or cleanliness factor

Reconeffact = (Ueconactual / Ueconclean) * 100.0;

Calculate the economizer efficiency deviation from design

Reconeffdev = Reconeffact - Reconeffdes;

SP_0030 329
9.58 Emptyproject

9.58 Emptyproject

The Emptyproject algorithm does nothing, but it is required for synchronization of multiple projects
per workspace.

NO Units are Converted.

EMPTYPROJECT

Parameters Description Usage

Analog Inputs

< NONE >

Digital Inputs

< NONE >

Analog Outputs

< NONE >

Digital Outputs

< NONE >

Constants

< NONE >

9.58.1 Emptyproject Calculation Overview

The Emptyproject algorithm has no inputs and no outputs. This algorithm is only required for
multiple projects per Workspace. No inputs or outputs are configured for this algorithm and this
algorithm is just placed on a sheet.

330 SP_0030
9.59 Enthal

9.59 Enthal

The Enthal algorithm calculates the gas enthalpy given the fuel analysis, gas temperature,
reference enthalpy, and weight of ambient and injection moisture.

YES Units are Converted.

ENTHAL

Parameters Description Usage

Analog Inputs

Wambnt weight of ambient moisture [Optional]

Ffueltoair gas turb fuel to air ratio [Optional]


Winjmoist weight of inject moisture [Optional]
Fsupfuel supp fuel gas ratio [Optional]
Rcarb percent carbon in fuel [Optional]
Rhydr percent hydrogen in fuel [Optional]
Rsulf percent sulfur in fuel [Optional]
Roxy percent oxygen in fuel [Optional]
Rnitr percent nitrogen in fuel [Optional]
Rco2 percent carbon dioxide in fuel [Optional]
Rco pcnt carbon monoxide in fuel [Optional]
Rso2 percent sulfur dioxide in fuel [Optional]
tempgas initial gas temp [Optional]
hrefexhgas reference exh gas enthalpy [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

kdryair weight of dry air [Optional]

Wgasturbfuel weight of gas turbine fuel [Optional]


Wsupfuel weight of sup fuel [Optional]
kexhprod weight of exh products [Optional]
Wdryair comp weight of dry air [Optional]

Wmoist comp weight of moisture [Optional]

Wfuel comp weight of fuel [Optional]


Wcarbon comp weight of carbon [Optional]
Whydr comp weight of hydr [Optional]

Wsulf comp weight of sulfur [Optional]

SP_0030 331
9.59 Enthal

ENTHAL

Parameters Description Usage

Woxy comp weight of oxygen [Optional]


Wnitr comp weight of nitrogen [Optional]
Wco2 comp weight of carbon dioxide [Optional]
Wco comp weight of carbon monoxide [Optional]
Wso2 comp weight of sulf dioxide [Optional]
Wnoncomb tot comp weights noncomb [Optional]
kexhaust total exh of comp weights [Optional]
tabstempgas absolute gas temp [Optional]
Fabstempgas absolute gas temp div 100 [Optional]
hair enth of air given temp [Optional]
hcarbon enth of carb given temp [Optional]
hmoist enth of moist given temp [Optional]

hoxy enth of oxygen given temp [Optional]


hsulf enth of sulf given temp [Optional]

hinccarbon incr enth of carbon [Optional]


hinchydr incr enth of hydrogen [Optional]

hincsulf incr enth of sulfur [Optional]

hco enth of co at given temp [Optional]


hnitr enth of nitrogen [Optional]
hdryair enth of dry air [Optional]
hcompmoist comp enth of moisture [Optional]
hcompcarb comp enth of carbon [Optional]
hcomphydr comp enth of hydrogen [Optional]
hcompsulf comp enth of sulfur [Optional]
hcompoxy comp enth of oxygen [Optional]
hcompnitr comp enth of nitrogen [Optional]
hcompco2 comp enth of carbon dioxide [Optional]
hcompco comp enth of carbon monoxide [Optional]
hcompso2 comp enth of sulfur dioxide [Optional]
hcompnoncomb tot comp enths of non combs [Optional]
hgasenth gas enthalpy [Optional]
hcalcgasenth calculated gas enthalpy [Optional]
Digital Outputs

< NONE >

332 SP_0030
9.59 Enthal

ENTHAL

Parameters Description Usage

Constants

< NONE >

9.59.1 Enthal Calculation Overview

Calculate absolute enthalpy at temperature tgt and subtract the base enthalpy at 32 deg.f to
determine the actual enthalpy at temperature tgt. To calculate the enthalpy of the exhaust gas at
32 deg. f, the base enthalpy is set to zero, set weight of dry air to base value.

kdryair = 1.0;
Wgasturbfuel = (kdryair + Wambnt) * Ffueltoair;
Wsupfuel = (kdryair + Wambnt + Winjmoist + Wgasturbfuel) * Fsupfuel;
kexhprod = kdryair + Wambnt + Wgasturbfuel + Wsupfuel + Winjmoist;
Wdryair = kdryair / kexhprod;
Wmoist = (Wambnt + Winjmoist) / kexhprod;
Wfuel = (Wgasturbfuel + Wsupfuel) / kexhprod;
Wcarbon = Rcarb * Wfuel / 100.0;
Whydr = Rhydr * Wfuel / 100.0;
Wsulf = Rsulf * Wfuel / 100.0;
Woxy = Roxy * Wfuel / 100.0;
Wnitr = Rnitr * Wfuel / 100.0;
Wco2 = Rco2 * Wfuel / 100.0;
Wco = Rco * Wfuel / 100.0;
Wso2 = Rso2 * Wfuel / 100.0;
Wnoncomb = Woxy + Wnitr + Wco2 + Wco + Wso2;
kexhaust = Wdryair + Wmoist + Wcarbon + Whydr + Wsulf + Wnoncomb;
tabstempgas = gpaunits.ConvertTemp(tempgas,TO_DEGF) + DEGFtoDEGR;
Fabstempgas = tabstempgas / 100.0;
hair = -1.15203 + 2.47795e-01*tabstempgas - 2.33568e-05*pow(tabstempgas,2) +
2.38185e-08*pow(tabstempgas,3) - 6.79369e-12*pow(tabstempgas,4) +
6.82532e-16*pow(tabstempgas,5);
hcarbon = 14.00137*Fabstempgas + 0.67027*pow(Fabstempgas,2) - 0.87505e-02*
pow(Fabstempgas,3) -8.57364*100.0/tabstempgas;
hmoist = 40.83193*Fabstempgas + 0.36710*pow(Fabstempgas,2) + 0.06160e-02*
pow(Fabstempgas,3) + 34.42356*100.0/tabstempgas;

SP_0030 333
9.59 Enthal

hoxy = 19.75583*Fabstempgas +0.24852*pow(Fabstempgas,2) - 0.27109e-02*


pow(Fabstempgas,3) + 18.86205*100.0/tabstempgas;
hsulf = 11.10611*Fabstempgas + 0.42328*pow(Fabstempgas,2) - 0.60594e-02*
pow(Fabstempgas,3) + 0.67880*100.0/tabstempgas;
hinccarbon = 3.6644*hcarbon - 2.6644*hoxy;
hinchydr = 8.937*hmoist - 7.937*hoxy;
hincsulf = 1.998*hsulf - 0.998*hoxy;
hco = 23.39643*Fabstempgas + 0.13848*pow(Fabstempgas,2) - 0.0164e-02*
pow(Fabstempgas,3) + 18.89712*100.0/tabstempgas;
hnitr = 23.69959*Fabstempgas + 0.09764*pow(Fabstempgas,2) + 0.05949e-02*
pow(Fabstempgas,3) + 15.60296*100.0/tabstempgas;
hdryair = Wdryair*hair;
hcompmoist = Wmoist*hmoist;
hcompcarb = Wcarbon*hinccarbon;
hcomphydr = Whydr*hinchydr;
hcompsulf = Wsulf*hincsulf;
hcompoxy = Woxy*hoxy;
hcompnitr = Wnitr*hnitr;
hcompco2= Wco2*hcarbon;
hcompco = Wco*hco;
hcompso2 = Wso2*hsulf;
hcompnoncomb = hcompoxy + hcompnitr + hcompco2 + hcompco + hcompso2;
hgasenth = hdryair + hcompmoist + hcompcarb + hcomphydr + hcompsulf + hcompnoncomb;
hcalcgasenth = hgasenth - hrefexhgas;

334 SP_0030
9.60 Expelep

9.60 Expelep

The Expelep algorithm computes expected expansion line end point if design curve not provided.
Procedure specified in Spenser, Cotton, Cannon paper "A Method for Predicting the Performance
of Steam Turbine Generators, 16,500 KW and Larger" (GER2007C).

YES Units are Converted.

EXPELEP

Parameters Description Usage

Analog Inputs

wipblv reheat turbine volum bowl flow REQUIRED


pabsipbwl reheat turbine bowl pressure REQUIRED
hipbwl reheat turbine bowl enthalpy REQUIRED
sipbwl reheat turbine bowl entropy REQUIRED
pacnprslp lp cndsr hood bck pres (inhga) REQUIRED
pacnprshp hp cndsr hood bck pres (inhga) REQUIRED
Digital Inputs
zdocalc digital perf calc run flag
Analog Outputs
Rrtevolc percent volumetric flow corr [Optional]
errteff_volc vol flow corr reht turb effic [Optional]
kxarg common log bowl pressure [Optional]
harg enthalpy argument [Optional]
ht enthalpy limit [Optional]
Rcorrin0 bifunc r0 pct corr inlet cond [Optional]
Rcorrin1 bifunc r1 pct corr inlet cond [Optional]
Rcorrin2 bifunc r2 pct corr inlet cond [Optional]
Rcorrin3 bifunc r3 pct corr inlet cond [Optional]
Rcorrin4 bifunc r4 pct corr inlet cond [Optional]
Rrteintp total pct corr inlet conditions [Optional]
errteff_corr corr reht turb eff @1.5 inhga [Optional]
pabselept absolute pressure 1.5 inhga [Optional]
hielep isent enth b/condns 1.5 inhga [Optional]
hrhavl reheat turbine avail energy [Optional]
helept theor explin endpt @1.5 inhga [Optional]
Felept stm qual theor elep 1.5 inhga [Optional]

SP_0030 335
9.60 Expelep

EXPELEP

Parameters Description Usage

Repmst pctmois @theor elep 1.5 inhga [Optional]


hdltelepmlp elep cor lp hdpres 0 pct mois [Optional]
hdlteleplp elep corr for lp hood press [Optional]
hdltelepmhp elep cor hp hdpres 0 pct mois [Optional]
hdltelephp elep corr for hp hood press [Optional]
hdltelep avg elep corr for exhaus pres [Optional]
helepe expected expansion line end point [Optional]
Digital Outputs
< NONE >
Constants
NRHFLOWS 1.0
ERRTEFF_BASE 91.93
A00 28.232252
A01 -92.390491
A02 -625.79590
A03 207.23010
A04 70.251642
A05 -22.516388
A10 -0.047796308
A11 1.2844571
A12 0.38556961
A13 -0.039652999
A14 -0.27180357
A15 0.064869467
A20 -0.69791427e-03
A21 -0.17037268e-02
A22 0.86563845e-03
A23 -0.59510660e-03
A24 0.39705804e-03
A25 -0.73533255e-04
A30 0.12050837e-05
A31 0.26826382e-06
A32 -0.67887771e-06
A33 0.52886157e-06
A34 -0.24106229e-06

336 SP_0030
9.60 Expelep

EXPELEP

Parameters Description Usage

A35 0.37881801e-07
A40 -0.50719109e-09
A41 0.26393497e-09
A42 0.38021911e-10
A43 -0.10149993e-09
A44 0.47757232e-10
A45 -0.70989561e-11

9.60.1 Expelep Calculation Overview

Correct base reheat turbine efficiency for 3600 RPM condensing turbine (errteff_base = 1.93%)
for volumetric flow (wipblv). Percent volumetric flow correction (rrtevolc) calculated by dividing
1270000.0 by reheat turbine volumetric flow (wipblv) and multiplying by the number of parallel
flow sections at the beginning of expansion (NRHFLOWS)

Rrtevolc = (1270000.0 / wipblv) * NRHFLOWS;

Calculate volume flow corrected efficiency (errteff_volc) by subtracting the percent volume flow
correction (rrtevolc) from base efficiency at 1.5 inhga

errteff_volc = ERRTEFF_BASE=91.93 * 0.01 * (100.0 - Rrtevolc);

Calculate correction for reheat turbine inlet pressure (pabshrhip) and bowl temperature (tipbwl) as
bivariate function of common log of the pressure, and the corresponding bowl enthalpy (hipbwl).
Calculate common log of bowl pressure (pabsipbwl)

kxarg = log10(pabsipbwl);

Set enthalpy argument (harg) to bowl enthalpy if bowl entropy (sipbwl) <= 2.0041 btu/lbR.
Otherwise, enthalpy argument set to minimum of calculated function and bowl enthalpy.

if (sipbwl <= 2.0041)

ht = 0.0;
harg = hipbwl;

else

Calculate enthalpy limit ht as function common log bowl pressure (kxarg)

ht = 1154.0 + 80.0 * kxarg + 88.0 * pow(kxarg, 2.0);

if (hipbwl <= ht)

harg = hipbwl;

else

harg = ht;

SP_0030 337
9.60 Expelep

Calculate correction for initial conditions using bivariate function defined in GER2007C. calculate
individual row corrections and sum for total correction for inlet conditions.

If bowl enthalpy outside range is (1150 btu/lb, 1750 btu/lb), set % correction for inlet conditions to
zero.

if ((hipbwl >= 1150.0) && (hipbwl <= 1750.0))

Row 0 correction
Rcorrin0 = A00 + A01 * kxarg + A02 * pow(kxarg, 2.0) + A03 * pow(kxarg, 3.0) +A04 *
pow(kxarg, 4.0) + A05 * pow(kxarg, 5.0);
Row 1 correction
Rcorrin1 = harg * (A10 + A11 * kxarg + A12 * pow(kxarg, 2.0) +A13 * pow(kxarg, 3.0) +
A14 * pow(kxarg, 4.0) +A15 * pow(kxarg, 5.0));
Row 2 correction
Rcorrin2 = pow(harg,2.0) * (A20 + A21 * kxarg + A22 * pow(kxarg, 2.0) +A23 *
pow(kxarg, 3.0) + A24 * pow(kxarg, 4.0) +A25 * pow(kxarg, 5.0));
Row 3 correction
Rcorrin3 = pow(harg, 3.0) * (A30 + A31 * kxarg + A32 * pow(kxarg, 2.0) +A33 *
pow(kxarg, 3.0) + A34 * pow(kxarg, 4.0) +A35 * pow(kxarg, 5.0));
Row 4 correction
Rcorrin4 = pow(harg, 4.0) * (A40 + A41 * kxarg + A42 * pow(kxarg, 2.0) +A4*pow(kxarg,
3.0) + A44 * pow(kxarg, 4.0) +A45 * pow(kxarg, 5.0));

else

Bowl enthalpy out of range, set correction for initial conditions to zero

Rcorrin0 = 0.0;
Rcorrin1 = 0.0;
Rcorrin2 = 0.0;
Rcorrin3 = 0.0;
Rcorrin4 = 0.0;

Calculate total correction for initial conditions by summing individual row corrections

Rrteintp = Rcorrin0 + Rcorrin1 + Rcorrin2 + Rcorrin3 + Rcorrin4;

Calculate corrected reheat turbine efficiency at 1.5 inhga by adding percent correction for initial
conditions (rrteintp) to the volume flow corrected efficiency (rrteff_volc)

errteff_corr = (1.0 + 0.01 * Rrteintp) * errteff_volc;

Calculate reheat turbine available energy defined as the isentropic enthalpy drop at constant
entropy from inlet bowl conditions to 1.5 inhga.

Convert 1.5 inhga to psia and calculate isentropic entropy

pabselept = 1.5 * INHGtoPSI;


hielep = hishpp(hipbwl, pabsipbwl, pabselept);

338 SP_0030
9.60 Expelep

Calculate reheat turbine available (hrhavl) by subtracting isentropic enthalpy

(hielep) from bowl enthalpy (hipbwl)

hrhavl = hipbwl - hielep;

Calculate theoretical expansion line end point at 1.5 inhga by multiplying corrected reheat turbine
efficiency (errteff_corr) by reheat turbine available energy (hrhavl),and subtracting the result from
the reheat turbine bowl enthalpy.

helept = hipbwl - 0.01 * errteff_corr * hrhavl;

Calculate quality of steam at theoretical expansion line end point (helept) and pressure (pelept)

Felept = xswhp(helept, pabselept);

Calculate percent moisture at theoretical expansion line end point and 1.5 inhga

Repmst = 100.0 * (1.0 - Felept);

Correct theoretical expansion line end point to the average exhaust pressure (pacnprs) by
calculating corrections separately to lp hood exhaust pressure (pacnprslp) and hp hood
(pacnprshp), and averaging them.

Corrections calculated by procedure defined in Appendix IV of GER2007C for Figure 15

("Change in Expansion Line End Point with 0 Percent Moisture").

Calculate correction for lp hood pressure for 0 percent moisture

Note: pacnprslp and pacnprshp need to be converted back to inhga from psi so these equations
work.

hdltelepmlp = -23.984811 + 57.86244 * (log(pacnprslp * (1/INHGtoPSI))) + 3.1849404


*pow((log(pacnprslp * (1/INHGtoPSI))), 2.0);

Calculate correction to expansion line end point for lp hood pressure per equation defined in
GER2007C

hdlteleplp = hdltelepmlp * 0.87 * (1.0 - 0.01 * Repmst) * (1.0 - 0.0065 * Repmst);

Calculate correction for hp hood pressure for 0 percent moisture

hdltelepmhp = -23.984811 + 57.86244 * (log(pacnprshp* (1/INHGtoPSI))) + 3.1849404


*pow((log(pacnprshp* (1/INHGtoPSI))), 2.0);

Calculate correction to expansion line end point for hp hood pressure per equation defined in
GER2007C

hdltelephp = hdltelepmhp * 0.87 * (1.0 - 0.01 * Repmst) * (1.0 - 0.0065 * Repmst);

Calculate average correction

hdltelep = (hdlteleplp + hdltelephp) / 2.0;

Calculate expected expansion line end point at actual exhaust pressure by adding average
correction (hdltelep) to theoretical expansion line end point

helepe = helept + hdltelep;

SP_0030 339
9.61 Expon

9.61 Expon

The Expon algorithm calculates the exponential value of the input. The result can be gained and
biased by both constants and points.

NO Units are Converted.

EXPON

Parameters Description Usage

Analog Inputs

kvalue exponential input value REQUIRED

kptgain exponential gain value [Optional]


kptbias exponential bias value [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

kexpon_res digital value result REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1 kcbias = 0

9.61.1 Expon Calculation Overview

Expon calculates the exponential of the input (kvalue) and then this value can be gained and/or
biased.

kexpon_res = exp(kvalue);
kgain = kptgain + kcgain;
kbias = kptbias + kcbias;
kexpon_res = (kexpon_res * kgain) + kbias;

340 SP_0030
9.62 Fan

9.62 Fan

The Fan algorithm computes the efficiencies of the fan, its design efficiency and the deviation
from actual efficiency. If the analog input kcpratio is not configured, the compressibility factor will
not be calculated and set to 1.

YES Units are Converted.

FAN

Parameters Description Usage

Analog Inputs

pfandisvel fan discharge velocity pressure REQUIRED

wgfanvair volumetric air flow REQUIRED


pfantotdiff total fan motor efficency REQUIRED
efanmdes design fan motor efficency [Optional] Must be configured or Pfanmtr,
Ifanvltmtr, ifanampmtr, and kfanpfmtr.
Pfanmtr nameplate mtr pwr [Optional] Must configure Pfanmtr,
Ifanvltmtr, ifanampmtr, and kfanpfmtr if
efanmdes not available
Ifanvltmtr nameplate mtr vlts [Optional] Must configure Pfanmtr,
Ifanvltmtr, ifanampmtr, and kfanpfmtr if
efanmedes not available
ifanampmtr nameplate mtr [Optional] Must configure Pfanmtr,
Ifanvltmtr, ifanampmtr, and kfanpfmtr if
efanmedes not available
kfanpfmtr nameplate mtr pwr fact [Optional] Must configure Pfanmtr,
Ifanvltmtr, ifanampmtr, and kfanpfmtr if
efanmedes not available
Ivltfan fan volts [Optional] Must configure Ivltfan,iampfan
and kpffan if Pfanact is not available
iampfan fan amps [Optional] Must configure Ivltfan,iampfan
and kpffan if Pfanact is not available
kpffan fan power factor [Optional] Must configure Ivltfan,iampfan
and kpffan if Pfanact is not available
Pfanact actual fan power [Optional] Must configure Ivltfan, iampfan
and kpffan
Pfanexp expected fan power REQUIRED
pressinlet fan inlet pressure REQUIRED
kcpratio specific heat ratio [Optional]
patmos atmospheric pressure [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zfanon fan on flag [Optional]

SP_0030 341
9.62 Fan

FAN

Parameters Description Usage

zfanoff fan off flag [Optional]

zmtreffavail motor effic avail flag REQUIRED

Analog Outputs

efandesmtr fan des motor effic [Optional]

Pfandrvrin fan driver input power [Optional]


Pfanin fan input power [Optional]
Pfanout actual fan power consumed [Optional]
efantoteff fan total efficency [Optional]
efantotdes fan total design efficency [Optional]
efantotdev fan total efficiency dev [Optional]
pfanstatic fan static pressure [Optional]
efanstaticeff fan static efficiency [Optional]
pabsinlet absolute inlet pressure [Optional]
kconstz z var calc compress coeff [Optional]
kconstx x var calc compress coeff [Optional]
kcompress compressibility coeff [Optional]
Digital Outputs

zinsvcfan fan in-service flag [Optional]

Constants

< NONE >

9.62.1 Fan Calculation Overview

If the analog input kcpratio is not configured, the compressibility factor will not be calculated and
set to 1.

Check the running status of the fan.

if (zfanon && (!zfanoff))


zinsvcfan = 1;

Compute the design fan motor efficiency if it is not available.

if (zmtreffavail)
efandesmtr = efanmdes;
else
efandesmtr = (Pfanmtr / WtoMW) / (Ifanvltmtr * ifanampmtr * kfanpfmtr * ROOT3) * 100.0;

342 SP_0030
9.62 Fan

Compute the fan driver input power. Determine if it is measured. If it is measured, use that
measurement. If it is not measured, use the volts, amps, and power factor to perform the
calculation.

if (Power not measured)


Pfandrvrin = (Ivltfan * iampfan * ROOT3 * kpffan) * WtoMW;
else
Pfandrvrin = Pfanact;

Calculate the fan input power by multiplying the nameplate motor efficiency by the driver input
power.

Pfanin = Pfandrvrin * efandesmtr / 100.0;

If the specific heat ratio is not configured, set the z, x, and compressibilty ouputs to zero.

Otherwise, calculate the outputs.

if (kcpratio not configured)


pabsinlet = 0.0;
kconstz = 0.0;
kconstx = 0.0;
kcompress = 1.0;
else

Calculate the z variable used in the compressibility coefficient

pabsinlet = pressinlet + patmos;


kconstz = ((kcpratio - 1.0) / kcpratio) * (Pfanin/HPtoMW*6354.0) / (wgfanvair *
pabsinlet/INWGtoPSI);

Calculate the x variable used in the compressibility coefficient

kconstx = pfantotdiff / pabsinlet;

Calculate the compressibility coefficient

kcompress = (kconstz * log(1.0 + kconstx)) / (kconstx * log(1.0 + kconstz));

Compute the actual power consumed by the fan.

Pfanout = wgfanvair * pfantotdiff * (1 / IN2toFT2) * FTLB_MINtoHP * HPtoMW


*kcompress;

Compute the fan total efficiency as the ratio of the fan output power to fan input power.

efantoteff = 100.0 * (Pfanout / Pfanin);

Compute the design fan efficiency as the fan output power divided by the fan expected power.

efantotdes = 100.0 * (Pfanout / Pfanexp);

SP_0030 343
9.62 Fan

Compute the fan total efficiency deviation as the difference between actual and design
efficiencies.

efantotdev = efantoteff - efantotdes;

Compute the static pressure by subtacting the discharge velocity pressure from the total pressure
deviation.

pfanstatic = pfantotdiff - pfandisvel;

Compute the fan static efficiency as the total efficiency times the static pressure divided by the
total pressure deviation

efanstaticeff = efantoteff * (pfanstatic / pfantotdiff);


else
The fan is out-of-service. Set all above calculated results to zero.
zinsvcfan = 0;
efandesmtr = 0.0;
Pfandrvrin = 0.0;
Pfanin = 0.0;
pabsinlet = 0.0;
kconstx = 0.0;
kconstz = 0.0;
kcompress = 0.0;
Pfanout = 0.0;
efantoteff = 0.0;
efantotdes = 0.0;
efantotdev = 0.0;
pfanstatic = 0.0;
efanstaticeff = 0.0;

344 SP_0030
9.63 Fandesign

9.63 Fandesign

The Fandesign algorithm reads the fan design information and outputs the design information.

YES Units are Converted.

FANDES IGN

Parameters Description Usage

Analog Inputs

kdummy dummy input [Optional]

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

dfanref reference fan density [Optional]

tfanref reference fan temperature [Optional]


pfanref reference fan pressure [Optional]
afaninarea fan inlet area [Optional]
afandisarea fan discharge area [Optional]
Pfanmtr fan motor power [Optional] Used if fan motor
design efficiency not available

Ifanvltmtr fan motor volts [Optional] Used if fan motor


design efficiency not available
ifanampmtr fan motor amps [Optional] Used if fan motor
design efficiency not available
kfanpfmtr fan motor power factor [Optional] Used if fan motor
design efficiency not available
Digital Outputs

zmtreffavail motor effic avail flag REQUIRED

Constants

< NONE >

9.63.1 Fandesign Calculation Overview

The fan design algorithm outputs the information from the design screen as noted above in the
chart.

SP_0030 345
9.64 Fanvelocity

9.64 Fanvelocity

The Fanvelocity algorithm computes the velocity pressure of the fan using the volumetric flow,
density and area.

YES Units are Converted.

FANV E LOCITY

Parameters Description Usage

Analog Inputs

wgfanvair volumetric air flow REQUIRED

dfandens fan air/gas density REQUIRED


afanarea fan area REQUIRED obtained
from fandesign
algorithm
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

pfanvel velocity head of the fan REQUIRED used as an


input in fan
Digital Outputs

< NONE >

Constants

< NONE >

9.64.1 Fanvelocity Calculation Overview

Calculate the velocity pressure at the fan discharge.

pfanvel = (0.5 * dfandens * pow((wgfanvair / afanarea),2) * (IN2TOFT2=0.006944) *


(1/(HRTOSEC=3600.0)) /(GRAVITY=32.174);

346 SP_0030
9.65 Fbdorder

9.65 Fbdorder

The Fbdorder algorithm orders the functional block diagrams as well as displaying all the
algorithms and execution time.

NO Units are Converted.

FBDORDER

Parameters Description Usage

Analog Inputs

< NONE >

Digital Inputs

< NONE >

Analog Outputs

< NONE >

Digital Outputs

< NONE >

Constants

< NONE >

9.65.1 Fbdorder Calculation Overview

There are no inputs or outputs to configure for this algorithm.

In design mode, the Design Screen allows you to order the function block diagrams.

In run mode, the Design Screen displays the execution of all the functional block diagrams along
with a time for each.

SP_0030 347
9.66 Flowcalccomp

9.66 Flow calccomp

The Flowcalccomp algorithm calculates on-line compensated flow.

YES Units are Converted.

FLOWCALCCOMP

Parameters Description Usage

Analog Inputs

temp inlet temperature REQUIRED

patmos barometric pressure [Optional] needed if


using comp or sheated
regions.
presg inlet gauge pressure [Optional] needed if
using comp or sheated
regions
pdeltap measured delta p [Optional] must
configure this or
wmass.
wmass measured mass flow [Optional] must
configure this or
pdeltap.
kptgain gain value [Optional]

kptbias bias value [Optional]


Digital Inputs

zdocalc digital perf calc run flag REQUIRED

zsatliq saturated liquid region flag [Optional] must config


zsatliq, zsuperheated
or zcompliq.
zsuperheated superheated region flag [Optional] must config
zsatliq, zsuperheated
or zcompliq.
zcompliq compressed liquid region flag [Optional] must config
zsatliq, zsuperheated
or zcompliq.
Analog Outputs

pabs absolute pressure [Optional]

vspec_act actual superheat stm entropy [Optional]


wflowcalc_comp calculated compensated fl [Optional]
kgain Description: total gain [Optional]
kbias total bias [Optional]
Digital Outputs

348 SP_0030
9.66 Flowcalccomp

FLOWCALCCOMP

Parameters Description Usage

< NONE >

Constants

KFLOW_COEF kcgain = 1
=16.46788
VSPEC_REF = kcbias = 0
3.4020

9.66.1 Flowcalccomp Calculation Overview

Flowcalccomp calculates on-line compensated flow based on actual and reference conditions.
The following shows the code overview.

The specific volume is calculated using the appropriate function

if (zsatliq)

vspec_act = steam table sat liquid of temp

else

pabs = presg + patmos;

if (zsuperheated)

vspec_act = steam table superheated steam using temp and pabs

else

vspec_act = steam table compressed liquid using temp and pabs

Next, the compensated flow calculation will be performed according to which point is configured.

If pdeltap is configured, then the flow will be calculated and compensated.

If pdeltap is not configured, then the flow will just be compensated.

if (pdeltap not configured)

wflowcalc_comp = KFLOW_COEF * wmass * sqrt(VSPEC_REF / vspec_act);

else

wflowcalc_comp = KFLOW_COEF * sqrt(pdeltap * (1.0 / INWGtoPSI)) * sqrt(VSPEC_REF /


vspec_act);

Gain and bias the output

kgain = kptgain + kcgain;


kbias = kptbias + kcbias;
wflowcalc_comp = (wflowcalc_comp * kgain) + kbias;

SP_0030 349
9.67 Frloss

9.67 Frloss

The Frloss algorithm computes pipe section friction loss for fairly smooth pipe.

YES Units are Converted.

FRLOSS

Parameters Description Usage

Analog Inputs

wvolpipe pipe section vol flow REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

kpipediam pipe inner diam [Optional]

kpipelength pipe section length [Optional]


acrssect pipe inner cross sec area [Optional]
velpipe pipe section mean vel [Optional]
Hfriction pipe section friction loss [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.67.1 Frloss Calculation Overview

Frloss computes pipe section friction loss for fairly smooth pipe

Read in design screen information.

kpipediam = FrictionLossPipeDia();
kpipelength = FrictionLossPipeLen();

Calculate internal cross section area

acrssect = PCALC_PI * pow((kpipediamtemp / 24.0), 2.0) ;

Calculate mean water velocity through the pipe

velpipe = (wvolpipe / acrssect) * (GALtoIN3=231.0 * IN2toFT2=0.006944 * INtoFT=0.083333/


MINtoSEC=60.0) ;

350 SP_0030
9.67 Frloss

Calculate friction loss for "fairly smooth" pipe section

Hfriction = (0.38 * kpipelengthtemp * pow(velpipe, 1.86)) /


(1000.0 * pow(kpipediamtemp,1.25)) ;

SP_0030 351
9.68 Fuels

9.68 Fuels

The Fuels algorithm combines all the fuels used into one fuel analysis.

YES Units are Converted.

FUELS

Parameters Description Usage

Analog Inputs

Rcoal1carb pct of carbon in coal 1 [Optional]

Rcoal1hydr pct of hydrogen in coal 1 [Optional]


Rcoal1o2 pct of oxygen in coal 1 [Optional]
Rcoal1sulf pct of sulfur in coal 1 [Optional]
Rcoal1nitr pct of nitrogen in coal 1 [Optional]
Rcoal1ash pct of ash in coal 1 [Optional]
Rcoal1moist pct of moisture in coal 1 [Optional]
Rcoal1unmeas pct unmeasured heat loss coal 1 [Optional]
hcoal1htval heating value of coal 1 [Optional]
wcoal1flow coal 1 flow [Optional]
Rcoal2carb pct of carbon in coal 2 [Optional]
Rcoal2hydr pct of hydrogen in coal 2 [Optional]
Rcoal2o2 pct of oxygen in coal 2 [Optional]
Rcoal2sulf pct of sulfur in coal 2 [Optional]
Rcoal2nitr pct of nitrogen in coal 2 [Optional]
Rcoal2ash pct of ash in coal 2 [Optional]
Rcoal2moist pct of moisture in coal 2 [Optional]
Rcoal2unmeas pct unmeasured heat loss coal 2 [Optional]
hcoal2htval heating value of coal 2 [Optional]
wcoal2flow coal 2 flow [Optional]
Rcoal3carb pct of carbon in coal 3 [Optional]
Rcoal3hydr pct of hydrogen in coal 3 [Optional]
Rcoal3o2 pct of oxygen in coal 3 [Optional]
Rcoal3sulf pct of sulfur in coal 3 [Optional]
Rcoal3nitr pct of nitrogen in coal 3 [Optional]
Rcoal3ash pct of ash in coal 3 [Optional]
Rcoal3moist pct of moisture in coal 3 [Optional]
Rcoal3unmeas pct unmeasured heat loss coal 3 [Optional]
hcoal3htval heating value of coal 3 [Optional]

352 SP_0030
9.68 Fuels

FUELS

Parameters Description Usage

wcoal3flow coal flow 3 [Optional]


Rcoal4carb pct of carbon in coal 4 [Optional]
Rcoal4hydr pct of hydrogen in coal 4 [Optional]
Rcoal4o2 pct of oxygen in coal 4 [Optional]
Rcoal4sulf pct of sulfur in coal 4 [Optional]
Rcoal4nitr pct of nitrogen in coal 4 [Optional]
Rcoal4ash pct of ash in coal 4 [Optional]
Rcoal4moist pct of moisture in coal 4 [Optional]
Rcoal4unmeas pct unmeasured heat loss coal 4 [Optional]
hcoal4htval heating value of coal 4 [Optional]
wcoal4flow coal 4 flow [Optional]
Rcokecarb pct of carbon in coke [Optional]
Rcokehydr pct of hydrogen in coke [Optional]
Rcokeo2 pct of oxygen in coke [Optional]
Rcokesulf pct of sulfur in coke [Optional]
Rcokenitr pct of nitrogen in coke [Optional]
Rcokeash pct of ash in coke [Optional]
Rcokemoist pct of moisture in coke [Optional]
Rcokeunmeas pct unmeasured heat loss in coke [Optional]
hcokehtval heating value of coke [Optional]
wcokeflow coke flow [Optional]

toil oil temp [Optional]

Soil_specgrav specific gravity of oil [Optional]


Roilcarb pct of carbon in oil [Optional]
Roilhydr pct of hydrogen in oil [Optional]
Roilo2 pct of oxygen in oil [Optional]
Roilsulf pct of sulfur in oil [Optional]
Roilnitr pct of nitrogen in oil [Optional]
Roilmoist pct of moisture in oil [Optional]
Roilunmeas pct unmeasured heat loss in oil [Optional]
hoilhtval_high higher heating value of oil [Optional]
hoilhtval_low lower heating value of oil [Optional]
wvol_oilflow volumetric oil flow [Optional]
woilflow mass oil flow [Optional]
toil2 oil temp 2 [Optional]

SP_0030 353
9.68 Fuels

FUELS

Parameters Description Usage

Soil_specgrav2 specific gravity of oil 2 [Optional]


Roilcarb2 pct of carbon in oil 2 [Optional]
Roilhydr2 pct of hydrogen in oil 2 [Optional]
Roilo22 pct of oxygen in oil 2 [Optional]
Roilsulf2 pct of sulfur in oil 2 [Optional]
Roilnitr2 pct of nitrogen in oil 2 [Optional]
Roilmoist2 pct of moisture in oil 2 [Optional]
Roilunmeas2 pct unmeasured heat loss oil 2 [Optional]
hoilhtval_high2 higher heating value oil 2 [Optional]
hoilhtval_low2 lower heating value oil 2 [Optional]
wvol_oilflow2 volumetric oil flow 2 [Optional]
woilflow2 mass oil flow 2 [Optional]
toil3 oil temp 3 [Optional]
Soil_specgrav3 specific gravity of oil 3 [Optional]
Roilcarb3 pct of carbon in oil 3 [Optional]
Roilhydr3 pct of hydrogen in oil 3 [Optional]
Roilo23 pct of oxygen in oil 3 [Optional]
Roilsulf3 pct of sulfur in oil 3 [Optional]
Roilnitr3 pct of nitrogen in oil 3 [Optional]
Roilmoist3 pct of moisture in oil 3 [Optional]
Roilunmeas3 pct unmeasured heat loss oil 3 [Optional]
hoilhtval_high3 higher heating value oil 3 [Optional]
hoilhtval_low3 lower heating value oil 3 [Optional]
wvol_oilflow3 volumetric oil flow 3 [Optional]
woilflow3 mass oil flow 3 [Optional]
tng natural gas temp [Optional]
png natural gas press [Optional]
patmos atmospheric pressure [Optional]
tfgdew flue gas dew point temperature [Optional]
Rngco2i CO2 content of natural gas [Optional]
Rngh2i Hydrogen content natural gas [Optional]
Rngn2i Nitrogen content natural gas [Optional]
Rngch4i Methane content of natural gas [Optional]
Rngc2h6i Ethane content of natural gas [Optional]
Rngc3h8i Propane content of natural gas [Optional]

354 SP_0030
9.68 Fuels

FUELS

Parameters Description Usage

Rngisbti Iso-butane content natural gas [Optional]


Rngnbti Norm Butane content of nat gas [Optional]
Rngispti Iso-pentane content naturl gas [Optional]
Rngnpti Normal Pentane content nat gas [Optional]
Rnghexi Hexane content of natural gas [Optional]
Rnghepi Heptane content natural gas [Optional]
Rngo2i Oxygen content of nat gas [Optional]
Rngso2i Sulfur dioxide cont nat gas [Optional]
Rngcoi Carbon monoxide cont nat gas [Optional]
Rngh2si Hydr sulfide cont of nat gas [Optional]
hngas_oper_hv_high natural gas high heat value [Optional]
hngas_oper_hv_low natural gas low heat value [Optional]
Rngasunmeas pcnt unmeas heat loss nat gas [Optional]
wgas volumetric flow of natural gas [Optional]
wnatgas mass flow of natural gas [Optional]
Rlimem pct of moisture in lime [Optional]
Rcaco3 pct of calcium oxide limestone [Optional]
Rmgco3 pct magnesium oxide limestone [Optional]
wlimestone limestone flow [Optional]
tcog coke oven gas temp [Optional]
pcog coke oven gas press [Optional]
wcogas mass flow of coke oven gas [Optional]
(only configure mass or vol cog flow)
wgascog vol flow of coke oven gas [Optional]
(only configure mass or vol cog flow)
Rcogco2i CO2 content of coke oven gas [Optional]
Rcogh2i Hydrogen cont of coke oven gas [Optional]
Rcogn2i Nitrogen cont of coke oven gas [Optional]
Rcogch4i Methane cont of coke oven gas [Optional]

Rcogc2h4i Ethylene cont of coke oven gas [Optional]


Rcogc2h6i Ethane cont of coke oven gas [Optional]
Rcogc6h6i Benzole cont of coke oven gas [Optional]
Rcogo2i Oxygen cont of coke oven gas [Optional]
Rcogcoi CO cont of coke oven gas [Optional]
hcoghtval heating value of cog [Optional]
Rcogasunmeas pcnt unmeas heat loss cog [Optional]

SP_0030 355
9.68 Fuels

FUELS

Parameters Description Usage

tbfg bf gas temp [Optional]


pbfg bf gas press [Optional]
wbfgas mass flow of bf gas [Optional]
(only configure mass or vol bfg flow)
wgasbfg vol flow of bf gas [Optional]
(only configure mass or vol bfg flow)
Rbfgco2i CO2 cont of blast furn gas [Optional]
Rbfgh2i Hydr cont of blast furn gas [Optional]
Rbfgn2i Nitr cont of blast furn gas [Optional]
Rbfgch4i Methane cont of blast furn gas [Optional]
Rbfgcoi CO cont of blast furn gas [Optional]
hbfghtval heating value of bfg [Optional]
Rbfgasunmeas pcnt unmeas heat loss bfg [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

wtotfuel total fuel flow [Optional]

wcoaltotfuel total coal (incl coke) flow [Optional]


Flime fract/lime in limestne to coal [Optional]
Fmagox fract/MGO in limestone to coal [Optional]
Rcarb total carbon in fuel [Optional]
Rcoalcarb total carbon in coal [Optional]
Rhydr total hydrogen in fuel [Optional]
Roxy total oxygen in fuel [Optional]
Rsulf total sulfur in fuel [Optional]
Rcoalsulf total sulfur in the coal [Optional]
Rnitr total nitrogen in fuel [Optional]
Rash total ash in fuel [Optional]
Rmoist total moisture in fuel [Optional]
Rlsoperunm total heat loss in fuel [Optional]
heatvalue_low tot lower heat val of fuel [Optional]
heatvalue_high tot higher heat val of fuel [Optional]
htcoalvalue total heat value of coal [Optional]
Rso2 Total SO2 in fuel [Optional]
Rco Total CO in fuel [Optional]

356 SP_0030
9.68 Fuels

FUELS

Parameters Description Usage

Rco2 Total CO2 in fuel [Optional]

Rncmbt Total non comb in fuel [Optional]

wmass_oilflow mass oil flow [Optional]


hoilhtvalue_low lower heating value of oil [Optional]
hoilhtvalue_high higher heating value of oil [Optional]
hngashtvalue_low lower heating val natural gas [Optional]
hngashtvalue_high higher heating val of nat gas [Optional]
Frelwtcoal rel wt -coal tot fuel mixture [Optional]
tabs_fgdew Rankine flue gas dewpoint temp [Optional]
pwsexp Dew point press [Optional]

pfgdew flue gas dew point pressure [Optional]

Fngh2o corr fract of water in nat gas [Optional]


Fcarbtotal total comb carbon atoms [Optional]

Fhydrtotal total comb hydr atoms [Optional]

Ffuelhtoc ng fuel ratio hydr div by carb [Optional]


Fngco2 corr fract of CO2 in nat gas [Optional]
Fngh2 corr fract hydrogen in nat gas [Optional]
Fngn2 corr fract nitrogen in nat gas [Optional]
Fngch4 corr fract methane in nat gas [Optional]
Fngc2h6 corr fract methane in nat gas [Optional]
Fngc3h8 corr fract propane in nat gas [Optional]
Fngisbt cor frct iso butane in nat gas [Optional]
Fngnbt cor frct norm butane in natgas [Optional]
Fngispt cor frct iso pentane in natgas [Optional]
Fngnpt cor frct norm pentan in natgas [Optional]
Fnghex corr fract hexane in natgas [Optional]
Mlrmass molar mass of mixture [Optional]
hnglhv calc nat gas lower heat value [Optional]
hnghhv calc nat gas higher heat value [Optional]
Ftotsum constituent product summation [Optional]
Fcompfac compressibility factor [Optional]
dngiden ideal nat gas density [Optional]
dngrden real nat gas density [Optional]
Fngco CO nat gas constituent [Optional]

SP_0030 357
9.68 Fuels

FUELS

Parameters Description Usage

Fngo2 oxygen nat gas constituent [Optional]


Fngh2s hydrogn sulfur nat gas constit [Optional]
Fngso2 sulfur dioxide nat gas constit [Optional]
Fnghep heptane nat gas constituent [Optional]
Fwtco2 elem wt frac of carb dioxide [Optional]
Fwtco elem wt frac of carb monoxide [Optional]
Fwth2 elem wt frac of hydrogen [Optional]
Fwtn2 elem wt frac of nitrogen [Optional]
Fwto2 elem wt frac of oxygen [Optional]
Fwth2s elem wt frac of sulfur [Optional]
Fwtso2 elem wt frac of sulfur dioxide [Optional]
Fwtch4 elem wt frac of methane [Optional]
Fwtc2h6 elem wt frac ofEthane [Optional]
Fwtc3h8 elem wt frac of propane [Optional]
Fwtisbt elem wt frac of iso butane [Optional]
Fwtnbt elem wt frac of normal butane [Optional]
Fwtispt elem wt frac of iso pentane [Optional]
Fwtnpt elem wt frac of normal pentane [Optional]
Fwthex elem wt frac of hexane [Optional]
Fwthep elem wt frac of heptane [Optional]
Fwth2o elem wt frac of water [Optional]
dngasce lbs of carbon per FT3 of gas [Optional]
dngash2e lbs of hydrogen per FT3 of gas [Optional]
dngaso2e lbs of oxygen per FT3 of gas [Optional]
dngasse lbs of sulfur per FT3 of gas [Optional]
dngasn2e lbs of nitrogen per FT3 of gas [Optional]
dngasco2e lbs of CO2 per FT3 of gas [Optional]
dngascoe lbs of CO per FT3 of gas [Optional]
dngasso2e lbs of SO2 per FT3 of gas [Optional]
pabsngv nat gas vapor partial press [Optional]
vngwv nat gas water vapor volume [Optional]

pabsng nat gas abs press [Optional]


Fngmst moisture content of nat gas [Optional]
Fngvol volume ratio for press corr [Optional]
Fconvm conversion factor [Optional]

358 SP_0030
9.68 Fuels

FUELS

Parameters Description Usage

Rngasmoist nat gas moist content pcnt [Optional]


Rngasc nat gas carbon content pcnt [Optional]
Rngash2 nat gas hydrogen content pcnt [Optional]
Rngaso2 nat gas oxygen content pcnt [Optional]
Rngassulf nat gas sulfur content pcnt [Optional]
Rngasn2 nat gas nitrogen content pcnt [Optional]
Rngasco2 nat gas CO2 content pcnt [Optional]
Rngasco nat gas CO content pcnt [Optional]
Rngasso2 nat gas SO2 content pcnt [Optional]
Rngasncmbt nat gas total con-combustibles [Optional]
wmass_ngas mass flow nat gas [Optional]
Fbfgco2 fract of CO2 in bf gas [Optional]
Fbfgh2 fract hydrogen in bf gas [Optional]
Fbfgn2 fract nitrogen in bf gas [Optional]
Fbfgch4 fract methane in bf gas [Optional]
Fbfgco fract co in bf gas [Optional]
Ftotsumbfg bfg const product sum [Optional]
Fcompbfg bfg compressibility factor [Optional]
dbfgiden ideal bf gas density [Optional]
dbfgrden real bf gas density [Optional]
Fbfgwtco2 bfg elem wt frac of co2 [Optional]
Fbfgwtco bfg elem wt frac of co [Optional]
Fbfgwth2 bfg elem wt frac of h2 [Optional]
Fbfgwtn2 bfg elem wt frac of n2 [Optional]
Fbfgwtch4 bfg elem wt frac of ch4 [Optional]
dbfgasce lbs of carbon per FT3 of bfg [Optional]
dbfgash2e lbs of hydrogen per FT3 of bfg [Optional]
dbfgaso2e lbs of oxygen per FT3 of bfg [Optional]
dbfgasn2e lbs of nitrogen per FT3 of bfg [Optional]
dbfgasco2e lbs of CO2 per FT3 of bfg [Optional]
dbfgascoe lbs of CO per FT3 of bfg [Optional]
pabsbfgv bf gas vapor partial press [Optional]
vbfgwv bf gas water vapor volume [Optional]
pabsbfg bf gas abs press [Optional]
Fbfgmst moisture content of bf gas [Optional]

SP_0030 359
9.68 Fuels

FUELS

Parameters Description Usage

Fbfgvol bfg vol ratio for press corr [Optional]


Fconvbfg bfg conversion factor [Optional]
Rbfgasmoist bf gas moist content pcnt [Optional]
Rbfgasc bf gas carbon content pcnt [Optional]
Rbfgash2 bf gas hydrogen content pcnt [Optional]
Rbfgaso2 bf gas oxygen content pcnt [Optional]
Rbfgasn2 bf gas nitrogen content pcnt [Optional]
Rbfgasco2 bf gas CO2 content pcnt [Optional]
Rbfgasco bf gas CO content pcnt [Optional]
Rbfgasncmbt bf gas total non-combustibles [Optional]
wmass_bfg mass flow blast furn gas [Optional]
Fcogco2 fract of CO2 in cog [Optional]
Fcogh2 fract hydrogen in cog [Optional]
Fcogn2 fract nitrogen in cog [Optional]
Fcogch4 fract methane in cog [Optional]
Fcogc2h4 fract ethylene in cog [Optional]
Fcogc2h6 fract ethane in cog [Optional]
Fcogc6h6 fract benzene in cog [Optional]
Fcogco fract of co in cog [Optional]
Fcogo2 fract of o2 in cog [Optional]
Ftotsumcog cog const product sum [Optional]
Fcompcog cog compressibility factor [Optional]
dcogiden ideal cog density [Optional]
dcogrden real cog density [Optional]
Fcogwtco2 cog elem wt frac co2 [Optional]
Fcogwtco cog elem wt frac co [Optional]
Fcogwth2 cog elem wt frac hydrogen [Optional]
Fcogwtn2 cog elem wt frac nitrogen [Optional]
Fcogwto2 cog elem wt frac oxygen [Optional]
Fcogwtch4 cog elem wt frac methane [Optional]
Fcogwtc2h4 cog elem wt frac ethylene [Optional]
Fcogwtc2h6 cog elem wt frac ethane [Optional]
Fcogwtc6h6 cog elem wt frac benzene [Optional]
dcogasce lbs of carbon per FT3 of cog [Optional]
dcogash2e lbs of hydrogen per FT3 of cog [Optional]

360 SP_0030
9.68 Fuels

FUELS

Parameters Description Usage

dcogaso2e lbs of oxygen per FT3 of cog [Optional]


dcogasn2e lbs of nitrogen per FT3 of cog [Optional]
dcogasco2e lbs of CO2 per FT3 of cog [Optional]
dcogascoe lbs of CO per FT3 of cog [Optional]
pabscogv cog vapor partial press [Optional]
vcogwv cog water vapor volume [Optional]
pabscog cog abs press [Optional]
Fcogmst moisture content of cog [Optional]
Fcogvol cog vol ratio for press corr [Optional]
Fconvcog cog conversion factor [Optional]
Rcogasmoist cog moist content pcnt [Optional]
Rcogasc cog carbon content pcnt [Optional]
Rcogash2 cog hydrogen content pcnt [Optional]
Rcogaso2 cog oxygen content pcnt [Optional]
Rcogasn2 cog nitrogen content pcnt [Optional]
Rcogasco2 cog CO2 content pcnt [Optional]
Rcogasco cog CO content pcnt [Optional]
Rcogasncmbt cog total non-combustibles [Optional]
wmass_cog mass flow coke oven gas [Optional]
Digital Outputs

zcoalfuel coal used flag [Optional]

zcokefuel coke used flag [Optional]


zoilfuel oil used flag [Optional]
znatgasfuel natural gas used flag [Optional]
zlimefuel lime used flag [Optional]
zbfgasfuel blast furnace flag [Optional]
zcogasfuel coke oven gas used flag [Optional]
Constants

C1 = C6 = -9.0344688e-14 C11 =
-1.0214165e+04 1.2890360e-05
C2 = C7 = 4.1635019e+00 C12 =
-4.8932428e+00 -2.4780681e-09
C3 = C8 = -1.0440397e+04 C13 = 6.5459673
-5.3765794e-03
C4 = 1.9202377e-07 C9 = -1.1294650e+01 CHEATVALUE =
94.73

SP_0030 361
9.68 Fuels

FUELS

Parameters Description Usage

C5 = 3.5575832e-10 C10 = -2.7022355e-02

9.68.1 Fuels Calculation Overview

The Fuels algorithm is used to combine all fuels used into one analysis. This algorithm handles
the following fuels:

 Coal 1
 Coal 2
 Coal 3
 Coal 4
 Coke
 Oil 1
 Oil 2
 Oil 3
 Natural Gas
 Blast Furnace Gas
 Coke Oven Gas

This algorithm converts the natural gas, blast furnace gas, and coke oven gas analysis measured
on a mole percentage basis to a mass pound per pound basis. Since the gas analysis received
from the chromatograph is on a dry basis, it must first be converted to a wet basis per the
procedure outlined in ASME PTC 22,"Performance Test Code on Gas Turbines," 1997.

The molecular weight (mixture molar mass), net heating value, compressibility factor and ideal
gas density at base conditions of 60 deg.f and 14.696 psia are computed.

Finally, the real gas density is computed and used to convert the corrected wet gas mole fractions
to a pound per pound of fuel basis for carbon, hydrogen, oxygen, sulfur, nitrogen, moisture, and
carbon dioxide.

The analysis is converted to a wet basis per ASTM D 3588, 1991 ("Calculating Heat Value,
Compressibility Factor and Relative Density of Specific Fuels") as follows:

xcor(j) = x(j) * (1 - xw)

Where:

x(j) = mole fraction dry


xw = mole fraction of water in the fuel gas
xcor(j) = mole fraction corrected for water content

362 SP_0030
9.68 Fuels

Per ASME, the fraction of water in the flue gas is defined as the ratio of the fuel gas dew point
pressure to standard pressure (14.696). Fuel gas dew point pressure (pfgdew) is calculated as a
function of measured fuel gas dew point temperature (tfgdew) based on equations defined in
1993 ASHRAE Handbook of Fundamentals.

In general, for each fuel the relative weight to the total is calculated as follows:

relwt_of_fuel = fuelflow / wtotfuel

Where:

relwt_of_fuel = relative weight of a particular fuel


fuelflow = flow for a particular fuel
wtotfuel = Sum of all fuel flows

The percentage amount of each element (hydrogen, oxygen, carbon etc) in the fuel mixture is
calculated by summing the percentage amount of that element present in each fuel of the mixture.

For example, to calculate the amount of hydrogen in a fuel mixture consisting of two type of coal
would be calculated as follows:

Rhydr_Coal1 = Rcoal1_H2*relwt_coal1
Rhydr_Coal2 = Rcoal2_H2*relwt_coal2
Rhydr = Rcoal1_H2 + Rcoal2_H2

Where:

Rhydr_Coal1 = Percent Hydrogen due to Coal1 Fuel Flow


Rhydr_Coal2 = Percent Hydrogen due to Coal2 Fuel Flow
relwt_coal1 = Ratio of Coal1 Flow to Total Coal Flow
relwt_coal2 = Ratio of Coal2 Flow to Total Coal Flow
Rhydr = Percentage of Hydrogen in the Coal Mixture

SP_0030 363
9.69 Funcgen

9.69 Funcgen

The Funcgen algorithm calculates the independent value based on one variable or the
independent value based on two dependent variables. The independent value is calculated using
linear interpolation. The result can be modified by multiplying by a gain and/or adding a bias. Note
that the gain and bias can be points, constants or both points and constants.

NO Units are Converted.

FUNCGEN

Parameters Description Usage

Analog Inputs

kxvalue x value [Optional]

kzvalue z value [Optional]

kptgain point gain [Optional]


kptbias point bias [Optional]
kxdeadband x deadband val log out of rng [Optional]
kzdeadband z deadband val log out of rng [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zrange_check set rng flg unc qual inval rng [Optional] set flag 1
and output qual set
uncertain for range
errors
Analog Outputs

kyvalue y value REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0
kcxdeadband = 0
kczdeadband = 0

364 SP_0030
9.69 Funcgen

9.69.1 Funcgen Calculation Overview

Funcgen calculates an independent variable (kyvalue) based on one or two dependent variables
(kxvalue, kzvalue).

The design screen specifies how many variables will be used as well as filling in the data for each
variable.

The algorithm reads in the data from the design screen and solves the output value (kyvalue) by
linear interpretation. This output value can be gained and biased by constants and/or points.

The analog inputs (kxdeadband and kzdeadband) and constants (kcxdeadband and
kczdeadband) are used to provide a deadband for the x and z ranges.

The analog and constant deadbands are added together and subtracted for the lower x and z
values and added to the upper x and z values.

Messages are logged as an event type if the x value or z value goes below the lowest value
minus the deadbands or if the x value or z value goes above the highest value plus the
deadband values.

If the digital flag zrang_check comes in to the algorithm as a zero or is not configured, the output
quality will always be good. If the flag zrange_check is configured and has a value of 1, the
output quality will be uncertain if the x or z value falls outside of the deadband range.

If only one y value exists, return that value.

if (kynum == 1)

kytemp = kyarray[0];

else

Determine if one or two dependent variables and read z array values

if (curve == BIVARIATE)

Read z values into z array


Only one dependent variable

if (curve == UNIVARIATE)

if the actual value is smaller than the lower boundary, set the result to the lower boundary and
mark the quality bad.

if (kxvalue < kxarray[0]

kytemp = kyarray[0]

if (kxvalue < (kxarray[0] - kxdeadband - kcxdeadband))

zbad_yvalue = 1;
Report event error

SP_0030 365
9.69 Funcgen

else

if the actual value is larger than the upper boundary, set the result to the upper boundary and
mark the quality bad.

if (kvalue > kxarray[kxnum-1])

kytemp = kyarray[kxnum-1]

if (kxvalue > (kxarray[kxnum-1] + kxdeadband + kcxdeadband))

zbad_yvalue = 1;
Report event error

else

Calculate the result based on linear interpolation


for (i=0; kxvalue > kxarray[i]; i++);

If the x input value equals the xarray value, set the lower x index equal to this position. Otherwise
the lower x region will be one below this value.

if (kxvalue == kxarray[i])

lowx = i;
upx = i+1;

else

lowx = i-1;
upx = i;
kres1 = kyarray[lowx];

Check to see if at the last x value. If so, set the result equal to kres1.

Otherwise, calculate kres2 and interpolate to get the result.

if (kxvalue != kxarray[kxnum-1])

kres2 = kyarray[upx];
kytemp = kres1+(kres2-kres1)*(kxvalue-kxarray[lowx])/
(kxarray[upx]-kxarray[lowx]);

else

kytemp = kres1;
Two dependent variables

366 SP_0030
9.69 Funcgen

else

If the actual value is smaller than the lower boundary, set the value to the lower boundary and
mark the quality bad. Also log an event message.

if ((kxvalue < (kxarray[0] - kxdeadband - kcxdeadband)) ||

(kzvalue < (kzarray[0] - kzdeadband - kczdeadband)))


kytemp = kyarray[0];
zbad_yvalue = 1;

if (kxvalue < (kxarray[0] - kxdeadband - kcxdeadband))

Report event error

if (kzvalue < (kzarray[0] - kzdeadband - kczdeadband))

Report event error

else

If the actual value is larger than the upper boundary, set the value to the upper boundary and
mark the quality bad. Also log an event message

if ((kxvalue > (kxarray[kxnum-1] + kxdeadband + kcxdeadband)) ||

(kzvalue > (kzarray[kznum-1] + kzdeadband + kczdeadband)))


kytemp = kyarray[kynum-1];
zbad_yvalue = 1;

if (kxvalue > (kxarray[kxnum-1] + kxdeadband + kcxdeadband))

Report event error

if (kzvalue > (kzarray[kznum-1] + kzdeadband + kczdeadband))

Report event error

else

Calculate the independent variable by linear interpolation


for (i=0; kzvalue > kzarray[i]; i++);

if (kzvalue == kzarray[i])

lowz = i;
upz = i+1;

else

lowz = i-1;
upz = i;

SP_0030 367
9.69 Funcgen

for (j=0; kxvalue > kxarray[j]; j++);

if (kxvalue == kxarray[j])

lowx = j;
upx = j+1;

else

lowx = j-1;
upx = j;
kres1 = kyarray[(lowz * kxnum) + lowx];

if (kxvalue != kxarray[kxnum-1])

kres2 = kyarray[(lowz * kxnum) + upx];


kzcurve1 = kres1 + (kres2-kres1)*(kxvalue-kxarray[lowx])/
(kxarray[upx]-kxarray[lowx]);

else

kzcurve1 = kres1;
Calculate the z upper value. If at the highest z, set the upper z value equal to the lower z
value.

if (kzvalue != kzarray[kznum-1])

kres3 = kyarray[(upz * kxnum) + lowx];

Check if at the upper x value. If at the upper x value, set the upper z curve equal to the lower x
value. If not, interpolate.

if (kxvalue != kxarray[kxnum-1])

kres4 = kyarray[(upz * kxnum) + upx];


kzcurve2 = kres3 + (kres4-kres3)*(kxvalue-kxarray[lowx])/
(kxarray[upx]-kxarray[lowx]);

else

kzcurve2 = kres3;
kytemp = kzcurve1 + (kzcurve2-kzcurve1)*(kzvalue-kzarray[lowz])/
(kzarray[upz]-kzarray[lowz]);

else

kytemp = kzcurve1;
kgain_tot = kptgain + kcgain;
kbias_tot = kptbias + kcbias;
kyvalue = (kytemp * kgain_tot) + kbias_tot;

368 SP_0030
9.69 Funcgen

If the range check flag is on and the value was out of range by the deadband value, set the quality
to UNCERTAIN.

if (zrange_check == 1)

Set output quality to UNCERTAIN;

SP_0030 369
9.70 GainBiasAdd

9.70 GainBias Add

The GainBiasAdd algorithm: 20 analog input variables will first be gained and then biased. The
addition of the 20 gained and biased values is added together. The total is gained by the overall
gain value and biased by the overall bias value.

NO Units are Converted.

GAINBIASADD

Parameters Description Usage

Analog Inputs

kin_value1 input value 1 REQUIRED

kin_value2 input value 2 [Optional]


kin_value3 input value 3 [Optional]
kin_value4 input value 4 [Optional]
kin_value5 input value 5 [Optional]
kin_value6 input value 6 [Optional]
kin_value7 input value 7 [Optional]
kin_value8 input value 8 [Optional]
kin_value9 input value 9 [Optional]
kin_value10 input value 10 [Optional]
kin_value11 input value 11 [Optional]
kin_value12 input value 12 [Optional]
kin_value13 input value 13 [Optional]
kin_value14 input value 14 [Optional]
kin_value15 input value 15 [Optional]
kin_value16 input value 16 [Optional]
kin_value17 input value 17 [Optional]
kin_value18 input value 18 [Optional]
kin_value19 input value 19 [Optional]
kin_value20 input value 20 [Optional]
kval1_gain gain value 1 [Optional]
kval2_gain gain value 2 [Optional]
kval3_gain gain value 3 [Optional]
kval4_gain gain value 4 [Optional]
kval5_gain gain value 5 [Optional]
kval6_gain gain value 6 [Optional]
kval7_gain gain value 7 [Optional]
kval8_gain gain value 8 [Optional]

370 SP_0030
9.70 GainBiasAdd

GAINBIASADD

Parameters Description Usage

kval9_gain gain value 9 [Optional]


kval10_gain gain value 10 [Optional]
kval11_gain gain value 11 [Optional]
kval12_gain gain value 12 [Optional]
kval13_gain gain value 13 [Optional]
kval14_gain gain value 14 [Optional]
kval15_gain gain value 15 [Optional]
kval16_gain gain value 16 [Optional]
kval17_gain gain value 17 [Optional]
kval18_gain gain value 18 [Optional]
kval19_gain gain value 19 [Optional]
kval20_gain gain value 20 [Optional]
kval1_bias bias value 1 [Optional]
kval2_bias bias value 2 [Optional]
kval3_bias bias value 3 [Optional]
kval4_bias bias value 4 [Optional]
kval5_bias bias value 5 [Optional]
kval6_bias bias value 6 [Optional]
kval7_bias bias value 7 [Optional]
kval8_bias bias value 8 [Optional]
kval9_bias bias value 9 [Optional]
kval10_bias bias value 10 [Optional]
kval11_bias bias value 11 [Optional]
kval12_bias bias value 12 [Optional]
kval13_bias bias value 13 [Optional]
kval14_bias bias value 14 [Optional]
kval15_bias bias value 15 [Optional]
kval16_bias bias value 16 [Optional]
kval17_bias bias value 17 [Optional]
kval18_bias bias value 18 [Optional]
kval19_bias bias value 19 [Optional]
kval20_bias bias value 20 [Optional]
kresult_gain result gain value [Optional]
kresult_bias result bias value [Optional]
Digital Inputs

SP_0030 371
9.70 GainBiasAdd

GAINBIASADD

Parameters Description Usage

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

kout_value1 output value 1 [Optional]

kout_value2 output value 2 [Optional]


kout_value3 output value 3 [Optional]
kout_value4 output value 4 [Optional]
kout_value5 output value 5 [Optional]
kout_value6 output value 6 [Optional]
kout_value7 output value 7 [Optional]
kout_value8 output value 8 [Optional]
kout_value9 output value 9 [Optional]
kout_value10 output value 10 [Optional]
kout_value11 output value 11 [Optional]
kout_value12 output value 12 [Optional]
kout_value13 output value 13 [Optional]
kout_value14 output value 14 [Optional]
kout_value15 output value 15 [Optional]
kout_value16 output value 16 [Optional]
kout_value17 output value 17 [Optional]
kout_value18 output value 18 [Optional]
kout_value19 output value 19 [Optional]
kout_value20 output value 20 [Optional]
kresult total addition of 20 outputs [Optional]
Digital Outputs
< NONE >
Constants
kcval1_gain 1
kcval2_gain 1
kcval3_gain 1
kcval4_gain 1
kcval5_gain 1
kcval6_gain 1
kcval7_gain 1
kcval8_gain 1
kcval9_gain 1

372 SP_0030
9.70 GainBiasAdd

GAINBIASADD

Parameters Description Usage

kcval10_gain 1
kcval11_gain 1
kcval12_gain 1
kcval13_gain 1
kcval14_gain 1
kcval15_gain 1
kcval16_gain 1
kcval17_gain 1
kcval18_gain 1
kcval19_gain 1
kcval20_gain 1
kcval1_bias 0
kcval2_bias 0
kcval3_bias 0
kcval4_bias 0
kcval5_bias 0
kcval6_bias 0
kcval7_bias 0
kcval8_bias 0
kcval9_bias 0
kcval10_bias 0
kcval11bias 0
kcval12_bias 0
kcval13_bias 0
kcval14_bias 0
kcval15_bias 0
kcval16_bias 0
kcval17_bias 0
kcval18_bias 0
kcval19_bias 0
kcval20_bias 0
kresult_gain 1
kresult_bias 0

SP_0030 373
9.70 GainBiasAdd

9.70.1 GainBiasAdd Calculation Overview

The gainbiasadd module adds 20 gained and/or biased input values. The final total can be
gained and/or biased. Gain and bias all the inputs:

kout_value1 = (kin_value1 * (kval1_gain + kcval1_gain)) + (kval1_bias + kcval1_bias);

kout_value2 = (kin_value2 * (kval2_gain + kcval2_gain)) + (kval2_bias + kcval2_bias);

kout_value3 = (kin_value3 * (kval3_gain + kcval3_gain)) + (kval3_bias + kcval3_bias);

kout_value4 = (kin_value4 * (kval4_gain + kcval4_gain)) + (kval4_bias + kcval4_bias);

kout_value5 = (kin_value5 * (kval5_gain + kcval5_gain)) + (kval5_bias + kcval5_bias);

kout_value6 = (kin_value6 * (kval6_gain + kcval6_gain)) + (kval6_bias + kcval6_bias);

kout_value7 = (kin_value7 * (kval7_gain + kcval7_gain)) + (kval7_bias + kcval7_bias);

kout_value8 = (kin_value8 * (kval8_gain + kcval8_gain)) + (kval8_bias + kcval8_bias);

kout_value9 = (kin_value9 * (kval9_gain + kcval9_gain)) + (kval9_bias + kcval9_bias);

kout_value10 = (kin_value10 * (kval10_gain + kcval10_gain)) + (kval10_bias + kcval10_bias);

kout_value11 = (kin_value11 * (kval11_gain + kcval11_gain)) + (kval11_bias + kcval11_bias);

kout_value12 = (kin_value12 * (kval12_gain + kcval12_gain)) + (kval12_bias + kcval12_bias);

kout_value13 = (kin_value13 * (kval13_gain + kcval13_gain)) + (kval13_bias + kcval13_bias);

kout_value14 = (kin_value14 * (kval14_gain + kcval14_gain)) + (kval14_bias + kcval14_bias);

kout_value15 = (kin_value15 * (kval15_gain + kcval15_gain)) + (kval15_bias + kcval15_bias);

kout_value16 = (kin_value16 * (kval16_gain + kcval16_gain)) + (kval16_bias + kcval16_bias);

kout_value17 = (kin_value17 * (kval17_gain + kcval17_gain)) + (kval17_bias + kcval17_bias);

kout_value18 = (kin_value18 * (kval18_gain + kcval18_gain)) + (kval18_bias + kcval18_bias);

kout_value19 = (kin_value19 * (kval19_gain + kcval19_gain)) + (kval19_bias + kcval19_bias);

kout_value20 = (kin_value20 * (kval20_gain + kcval20_gain)) + (kval20_bias + kcval20_bias);

Add together the outputs, gain, and bias

kresult = (kout_value1 + kout_value2 + kout_value3 + kout_value4 + kout_value5 + kout_value6 +

kout_value7 + kout_value8 + kout_value9 + kout_value10 + kout_value11 + kout_value12 +

kout_value13 + kout_value14 + kout_value15 + kout_value16 + kout_value17 + kout_value18 +

kout_value19 + kout_value20) * (kresult_gain + kcresult_gain) + (kresult_bias + kcresult_bias);

374 SP_0030
9.71 Gastrbintemp

9.71 Gastrbintemp

The Gastrbintemp algorithm calculates the actual gas turbine inlet enthalpy. This algorithm uses
an estimated gas turbine temperature as well as a calculated gas turbine inlet enthalpy to
calculate the actual gas turbine inlet enthalpy. This algorithm calls the enthal routine which solves
for the enthalpy at the estimated temperature and will iterate and re-calculate the enthalpy based
on a new temperature estimate until the calculated gas turbine inlet enthalpy is reached.

If the maximum number of loops is exceeded, the gas turbine inlet temperature will be set to 0
with BAD quality as well as the zerrflag being set. This may happen if the estimated gas turbine
inlet temperature is too far away from the actual gas turbine inlet temperature. If this happens, the
algorithm has constants which can be tuned depending on the project.

YES Units are Converted.

GAS TRBINTEMP

Parameters Description Usage

Analog Inputs

tlptai LP turbine stage A in temp REQUIRED

tlptao LP turbine stage A out temp REQUIRED


tlptbo LP turbine stage B out temp REQUIRED
palpta LP turbine stage A out press REQUIRED
palptb LP turbine stage B out press REQUIRED
plptai LP turbine stage A in press REQUIRED

palpexh LP turbine exhaust press REQUIRED

patmos Atmospheric pressure REQUIRED

Rtoler Convergence tolerance REQUIRED


Rincr Steam quality iteration delta REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

palptai LP turb stage A in press [Optional]

hlptai LP turb stage A in enth [Optional]


hlptao LP turb stage A out enth [Optional]
hlptbo LP turb stage B out enth [Optional]
hlptaisen LP turb stage A isen enth [Optional]
hlptbisen LP turb stage B isen enth [Optional]
hlptexhisen LP turb exh stage isen enth [Optional]
hlptotisen LP turb overall isen enth [Optional]
elpta LP turb A stage effic [Optional]

SP_0030 375
9.71 Gastrbintemp

GAS TRBINTEMP

Parameters Description Usage

elptb LP turb B stage effic [Optional]


elptavg LP turb avg A B stage effic [Optional]
hcond cond enth LP turb exh press [Optional]
hvap sat vap enth LP trb exh press [Optional]
hlptotlow LP turb exh enth low stm qual [Optional]
hlptothigh LP turb exh enth high stm qual [Optional]
elptotlow LP turb all effic low stm qual [Optional]
elptothigh LP trb all effic high stm qual [Optional]
klptot LP turb all effic factor [Optional]

elpexhlow LP exh stg eff low stm qual [Optional]


elpexhhigh LP exh stg eff high stm qual [Optional]

klpexh LP turb exh stg effic factor [Optional]


Rstmqual LP turb exh steam qual [Optional]
Rmoistr LP turb exh steam moist [Optional]
hlptot LP turb exh steam enth [Optional]
elpexh LP turb exh stage effic [Optional]
elptot LP turb overall effic [Optional]
Digital Outputs

< NONE >

Constants

RSTMQLOW 88.0

RSTMQHIGH 95.0
HLPTOTTEST 1010.93
ELPEXHTEST 89.24
ELPTOTTEST 90.68
RSTMQUALTEST 91.62
RMOISTRTEST 7.38

9.71.1 Gastrbintemp Calculation Overview

Calculate estimated fuel to air ratio. Divide gas flow by estimated airflow (wctestair).

Ffueltoairest = wtotfuel / wctestair;

376 SP_0030
9.71 Gastrbintemp

Calculate the reference enthalpy

temp1 = 32.0;
temp2 = 0.0;
lhestgasref = function of temp1, Ffueltoairest, temp2, Wvapcmpin, Wvap, Rcarb, Rco2,
Rhydr, Rco, Rnitr, Roxy, Rsulf, Rso2, Rncmbt, temp2

Zero the error flag and number of iterations

zerrflag = 0;
zconvflag = 0;
kiter = 0;

while((! zconvflag) && (kiter <= KMAXLOOP))


{

Calculate estimated gas turbine inlet enthalpy at estimated gas inlet temperature

htempest = function of testgasin, Ffueltoairest,temp2, Wvapcmpin, Wvap, Rcarb, Rco2,


Rhydr, Rco, Rnitr, Roxy, Rsulf, Rso2, Rncmbt, hestgasref
hestgasin = htempest;

Compare estimated gas turbine inlet enthalpy (hestgasin) with calculated gas turbine inlet
enthalpy (hgasin)

if (fabs(hgasin - hestgasin) < KTOLER)


{

Set convergence flag

zconvflag = 1;
tgasin = testgasin;
}
else
{
kiter = kiter + 1;
if (hgasin < hestgasin)
{

Decrease temperature and try again

testgasin = testgasin - KTEMPCHNG;


}
else
{

Increase temperature and try again

testgasin = testgasin + KTEMPCHNG;

SP_0030 377
9.71 Gastrbintemp

}
}
}

Set error flag if max number of iterations exceeded and zero out gas turbine inlet temperature and
set to bad quality.

if (kiter > KMAXLOOP)


{
zerrflag = 1;
tgasin = 0;
tgasin = BAD_QUALITY;

378 SP_0030
9.72 GE_combcyc

9.72 GE_combc yc

The GE_combcyc algorithm computes calculations using GE standards for the uncorrected plant
gross power output, gross thermal efficiency and gross heat rate in combined cycle operation.

The plant heat rate is calculated as the inverse of thermal efficiency.

The plant gross power output, thermal efficiency and heat rate are corrected for deviations from
guaranteed conditions based on GE correction curves.

YES Units are Converted.

GE_COMBCYC

Parameters Description Usage

Analog Inputs

Pgt1gpw GT1 power REQUIRED

Pgt2gpw GT2 power REQUIRED


Pgstgpw STG power REQUIRED
woil1 CTG1 oil flow REQUIRED
woil2 CTG2 oil flow REQUIRED
wlng1 CTG1 gas flow REQUIRED
wlng2 CTG2 gas flow REQUIRED
hlnglhv Gas low heat value REQUIRED
hoillhv Oil low heat value REQUIRED
Fpwexhpr Exh press cor factor gas REQUIRED
Fplntpwbrp Bar press cor factor REQUIRED
Fplntefbrp Bar press cor factor REQUIRED
Fplntpwhumd Humidity cor factor REQUIRED
Fpltpwrambng Air temp cor fact gas REQUIRED
Fpltpwrambdo Air temp cor fact oil REQUIRED
Fplpwwtrijng Water inj cor fact gas REQUIRED
Fplpwwtrijdo Water inj cor fact oil REQUIRED
Fplteffambng Air temp cor fact gas REQUIRED
Fplteffambdo Air temp cor fact oil REQUIRED
Fplefwtrijng Water inj cor fact gas REQUIRED
Fplefwtrijdo Water inj cor fact oil REQUIRED
Fpltpwperfloss Plant perf loss cor fact REQUIRED
Fpltefperfloss Plant perf loss cor fact REQUIRED
Digital Inputs

SP_0030 379
9.72 GE_combcyc

GE_COMBCYC

Parameters Description Usage

zdocalc digital run flag REQUIRED

Analog Outputs

Pmwplant Plant gross power output [Optional]

qplntpwr Heat in power [Optional]


eplnteff Gross plant eff [Optional]
rplanthr Gross plant heat rate [Optional]
Pplantcorr Corr plt gross power [Optional]
qplntpwrcorr Cor plant heat in pwr [Optional]
qplntheatcorr Cor plant heat in fuel [Optional]
eplnteffcor Cor plant eff [Optional]
Ppltrated Rated base load [Optional]
Rpltbase Plant load in pct [Optional]
Digital Outputs

< NONE >

Constants

FNUMCTG 2.0

PSTGRTD 196.18
PGTGRTD 172.3

9.72.1 GE_combcyc Calculation Overview

Calculate Plant Gross Power Output

Pmwplant = Pgt1gpw + Pgt2gpw + Pgstgpw;

Calculate heat output in power (MBTU/HR)

qplntpwr = (Pmwplant * 1000.0 * 3412.142)/1E+06;

Calculate plant gross thermal efficiency

qheatinfuel = (((woil1+woil2)*hoillhv) + ((wlng1+wlng2)*hlnglhv))/1000.0;


eplnteff = 100.0 * (qplntpwr/qheatinfuel);

Calculate plant gross heat rate

rplanthr = PENCNV/(0.01*eplnteff);

Calculate corrected plant gross power output

Pplantcorr = (Pmwplant - (Fpwexhpr * PSTGRTD))/(Fpltpwrambng * Fpltpwrambdo *

380 SP_0030
9.72 GE_combcyc

Fplntpwbrp * Fplntpwhumd *
Fplpwwtrijng * Fplpwwtrijdo *
Fpltpwperfloss);

Calculate the corrected plant heat output in power

qplntpwrcorr = ((Pmwplant - Fpwexhpr * PSTGRTD) * 1000.0 * 3412.142)/1E+06;

Calculate corrected plant heat input in fuel

qplntheatcorr = qheatinfuel * (Fplteffambng * Fplteffambdo * Fplntefbrp *


Fplefwtrijng * Fplefwtrijdo * Fpltefperfloss);

Calculate corrected actual plant gross thermal efficiency

eplnteffcor = 100.0 * (qplntpwrcorr / qplntheatcorr);

Calculate the rated base load of the plant

Ppltrated = FNUMCTG*PGTGRTD + PSTGRTD;

Calculate the gross plant output of the plant in percent

Rpltbase = 100.0 * (Pmwplant/Ppltrated);

SP_0030 381
9.73 GE_combturb

9.73 GE_combturb

The GE_combturb module computes calculations using GE standards for the uncorrected gas
turbine gross thermal efficiency and gross heat rate in combined cycle operation.

The gas turbine heat rate is calculated as the inverse of thermal efficiency. The gas turbine gross
power output, thermal efficiency and heat rate are corrected for deviations from guaranteed
conditions based on General Electric correction curves.

The deviation between the calibrated run performance and the corrected performance is also
computed.

YES Units are Converted.

GE_COMBTURB

Parameters Description Usage

Analog Inputs

woil Oil flow REQUIRED

wlng Gas flow REQUIRED


hoillhv Oil low heat value REQUIRED
hlnglhv Gas low heat value REQUIRED
Pgtgpw GTG Power REQUIRED
Pgtmwperfng Oper entered calib run MW gas REQUIRED
Pgtmwperfdo Oper entered calib run MW oil REQUIRED
egtefperfng Oper entered calib eff gas REQUIRED
egtefperfdo Oper entered calib eff oil REQUIRED
rgthrperfng Oper entered calib hrate gas REQUIRED
rgthrperfdo Oper entered calib hrate oil REQUIRED
Fpwambng Amb temp pwr cor fac Gas REQUIRED
Fpwambdo Amb temp pwr cor fac Oil REQUIRED
Fpwbrp Air press cor factor REQUIRED
Fpwhumd Amb Humidity cor factor REQUIRED
Fpwperfloss Perf loss cor factor REQUIRED
Fpwwtrij Water inj cor factor for power REQUIRED
Fefwtrij Water inj cor factor for eff REQUIRED
Fefambng Eff amb air temp cor fact gas REQUIRED
Fefambdo Eff amb air temp cor fact oil REQUIRED
Fefbrp Eff ambient air press cor fact REQUIRED

Fefperfloss Eff perf loss cor factor REQUIRED

Fhrhumid Eff humidity cor factor REQUIRED

382 SP_0030
9.73 GE_combturb

GE_COMBTURB

Parameters Description Usage

Digital Inputs REQUIRED

zdocalc digital run flag REQUIRED

Analog Outputs

qfuel Heat input in fuel [Optional]

qgtpwr Heat output in fuel [Optional]


egteffng Gross Thermal Eff - gas [Optional]
egteffdo Gross Thermal Eff - oil [Optional]
rgthrng Gross GT heat rate - gas [Optional]
rgthrdo Gross GT heat rate - oil [Optional]
Pgtcorng Cor Gross pwr out - gas [Optional]
Pgtcordo Cor Gross pwr out - oil [Optional]
Rgtmwdevng Gross pwr out dev - gas [Optional]
Rgtmwdevdo Gross pwr out dev - oil [Optional]
egtcorefng Cor gross therm eff - gas [Optional]
Rgtefdevdo Gross therm eff dev - oil [Optional]
rgtcorhrng Cor gross heat rate - gas [Optional]
egtcorefdo Cor gross therm eff - oil [Optional]
Rgtefdevng Gross therm eff dev - gas [Optional]
Rgthrdevng Cor gross heat rate dev - gas [Optional]
rgtcorhrdo Cor gross heat rate - oil [Optional]
Rgthrdevdo Cor gross heat rate dev - oil [Optional]
Digital Outputs

zon_gas Burning gas flag REQUIRED

zon_oil Burning oil flag REQUIRED


Constants

WMINGAS 1.0

WMINOIL 1.0

SP_0030 383
9.73 GE_combturb

9.73.1 GE_combturb Calculation Overview

Determine which fuel is being fired - force fuel flow to zero if less than minimum

if( woil < WMINOIL )

zon_oil = 0;
woil =0.0;

else

zon_oil = 1;

if( wlng < WMINGAS )

zon_gas = 0;
wlng = 0.0;

else

zon_gas = 1;

Calculate the heat input in the fuel

qfuel = ((woil*hoillhv) + (wlng*hlnglhv))/1000;

Calculate the heat in the power

qgtpwr = (Pgtgpw*1000.0*3412.142)/1.0E+06;

Calculate Gross Thermal Efficiency for each fuel

if ( zon_gas )

egteffng = 100.0 * ((qgtpwr*1000.0)/(wlng*hlnglhv));

else

egteffng = 0.0;

if( zon_oil )

egteffdo = 100.0 * ((qgtpwr*1000.0)/(woil*hoillhv));

else

egteffdo = 0.0;

Calculate Gross Heat Rate for each fuel

if( zon_gas )

rgthrng = PENCNV / (0.01*egteffng);

else

rgthrng = 0.0;

384 SP_0030
9.73 GE_combturb

if( zon_oil )

rgthrdo = PENCNV / (0.01*egteffdo);

else

rgthrdo = 0.0;

Calculate the following for each fuel corrected gross power output gross power output deviation
corrected gross thermal efficiency gross thermal efficiency deviation corrected gross heat rate
gross heat rate deviation

if( zon_gas )

Pgtcorng = Pgtgpw / (Fpwambng * Fpwbrp * Fpwhumd * Fpwperfloss);


Rgtmwdevng = 100.0*(Pgtmwperfng - Pgtcorng)/ Pgtmwperfng;
egtcorefng = egteffng / (Fefambng * Fefbrp * Fefperfloss);
Rgtefdevng = 100.0 * ((egtefperfng - egtcorefng)/egtefperfng);
rgtcorhrng = rgthrng / Fhrhumid;
Rgthrdevng = 100.0 * ((rgthrperfng - rgtcorhrng)/rgthrperfng);

else

Pgtcorng = 0.0;
Rgtmwdevng = 0.0;
egtcorefng = 0.0;
Rgtefdevng = 0.0;
rgtcorhrng = 0.0;
Rgthrdevng = 0.0;

if( zon_oil )

Pgtcordo = Pgtgpw / (Fpwambdo * Fpwbrp * Fpwhumd * Fpwwtrij * Fpwperfloss);


Rgtmwdevdo = 100.0*(Pgtmwperfdo - Pgtcordo)/ Pgtmwperfdo;
egtcorefdo = egteffdo / (Fefambdo * Fefbrp * Fefwtrij * Fefperfloss);
Rgtefdevdo = 100.0 * ((egtefperfdo - egtcorefdo)/egtefperfdo);
rgtcorhrdo = rgthrdo / Fhrhumid;
Rgthrdevdo = 100.0 * ((rgthrperfdo - rgtcorhrdo)/rgthrperfdo);

else

Pgtcordo = 0.0;
Rgtmwdevdo = 0.0;
egtcorefdo = 0.0;
Rgtefdevdo = 0.0;
rgtcorhrdo = 0.0;
Rgthrdevdo = 0.0;

SP_0030 385
9.74 GE_Expan

9.74 GE_Expan

The GE_Expan function computes the following;

 used energy end point


 expansion line end point
 low pressure turbine last stage extraction flow and enthalpy
 last stage heater extraction flow and enthalpy

for General Electric reheat steam turbo-generators in an iterative procedure using the GER2007C
expansion line equations.

YES Units are Converted.

GE_EXPAN

Parameters Description Usage

Analog Inputs

pacnabslp lp cond back pressure REQUIRED

pacnabshp hp cond back pressure REQUIRED


hipbwl ip turbine bowl enthalpy REQUIRED
pipbwl ip turbine bowl pressure REQUIRED
patmos atmospheric pressure REQUIRED
witrex ip turb exhaust flow REQUIRED
wturblptot lp turb extr total flow REQUIRED
whpstm throttle steam flow REQUIRED
hhpstm throttle steam enthalpy REQUIRED
whrhip ip turb inlet stm flow REQUIRED
hhrhip ip turb inlet stm enth REQUIRED
wcrhte cold reheat flow REQUIRED
hcrhte cold reheat enth REQUIRED
qturbhp hp turb extr total heat REQUIRED
qturbip ip turb extr total heat REQUIRED
qturblp lp turb extr total heat REQUIRED
qleakoff total lkg heat REQUIRED

qssrlkg heat tot lkg stm seal reg REQUIRED

qgsclkg heat tot lkg gland stm cond [Optional]


qlpglndsply heat supply to lp turb glands [Optional]
textrlphtr lp heater extr temp REQUIRED
tsatlphtr lp htr saturation temp REQUIRED
pabsextrlphtr lp htr extr pressure REQUIRED

386 SP_0030
9.74 GE_Expan

GE_EXPAN

Parameters Description Usage

wflashsteam lp htr flash stm supply [Optional]


wdrnoutup upstrm htr drn flow to lp htr [Optional]
wcndea cond flow to deaerator REQUIRED
hfhoutlphtr lp htr cond outlet enth REQUIRED
hfhinlphtr lp htr cond inlet enth REQUIRED
hdrnoutup upstrm htr drn enth to lp htr REQUIRED
hdrnoutlphtr lp htr drain outlet enth REQUIRED
hflashsteam lp htr flash stm enth [Optional]
pabsturblaststg lp turb last stage extr pres REQUIRED

wblstm blr superhtr out stm flow REQUIRED

Pshaft total shaft power REQUIRED


hfhoutup upstream htr cond outlet enth REQUIRED
hfhinltup upstream htr cond inlet enth REQUIRED
wlktot total lkg to stm seal reg REQUIRED
hlktot total lkg enth to stm seal reg REQUIRED
wssrsplovr stm seal reg spill over REQUIRED
htheor_elep theoretical elep at 1.5 inhga REQUIRED
alpannulus lp turb exhaust annulus area REQUIRED
klpextflows number lp turb extractions REQUIRED
whrhte hot reheat flow at turb REQUIRED
hhrhte hot reheat enthalpy at turb REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zlpheater low press htr svc flag REQUIRED


zlpdrainpump low pres htr drn pump svc flag [Optional]

zlpparallel low pres parallel htrs flag [Optional]

zflashdrain low pres htr flash tank svc fl [Optional]

zlpspd3600 low pres turb 3600 RPM flag REQUIRED

Analog Outputs

khzero expansion line curvature const [Optional]

kzero expansion line function const [Optional]


pacnabs avg lp turb exhaust pres [Optional]
vdry lp turb exh dry spec vol [Optional]

SP_0030 387
9.74 GE_Expan

GE_EXPAN

Parameters Description Usage

pabsipbwl abs ip turb bowl press [Optional]


sipbwl ip turb bowl entropy [Optional]
wstmlaststg stm flow to last stage extr [Optional]
qsttot ht acquired by stm [Optional]
qsumext ht turb extrs excl last stg [Optional]
qleaks heat flow to glands [Optional]
qgen heat in generation [Optional]
hextrlphtr lp htr extr enthalpy [Optional]
hwtstm est lp htr extr enthalpy [Optional]
wdrainin drain flow to lp htr [Optional]
wflashin flash stm drain to lp htr [Optional]
kcntlphtr overall iteration count [Optional]
wextrlphtr lp htr extr flow [Optional]
wdrnoutlphtr lp htr outlet drain flow [Optional]
wfhoutlphtr lp htr cond outlet flow [Optional]
wfhinlphtr lp htr cond inlet flow [Optional]

wturblaststg lp turb last stg extr flow [Optional]

hturblaststg lp turb last stg extr enth [Optional]


wltrex lp turb exhaust flow [Optional]
qext total heat in turb extrs [Optional]
qexhst net heat in lp turb exhaust [Optional]
hltrex lp turbine exhaust enthalpy [Optional]
hueep used energy end point [Optional]
helepes expan line end pt initial est [Optional]
helepe expan line end loop est [Optional]
kcount elep iteration count [Optional]
Fltrex expan line end point stm qual [Optional]
Rmstrex expan line end point moisture [Optional]
vcnprs lp turb exhaust spec volume [Optional]
Vannulus annulus velocity [Optional]
hexlssarg exhaust loss [Optional]
htemp exp used energy end point [Optional]
Rmst_calc pcnt moisture calc [Optional]
helep_calc expan line end pt calc [Optional]
hexloss lp turb exhaust loss [Optional]

388 SP_0030
9.74 GE_Expan

GE_EXPAN

Parameters Description Usage

helep expan line end point [Optional]


selep expan line end point entropy [Optional]
krzexpn rzero exponent [Optional]
krzero expan line entropy equ const [Optional]

hnew last stg extr enth initial est [Optional]

hest last stg extr est enth [Optional]


stemp last stg extr est entropy [Optional]

sest last stg extr est entropy [Optional]

ksxexpn entropy coordinate exponent [Optional]


sxline expan line entropy coordinate [Optional]
wextrlphtra lp htr a extr flow [Optional]
wextrlphtrb lp htr b extr flow [Optional]
wdrnoutlphtra lp htr a drn flow [Optional]
wdrnoutlphtrb lp htr b drn flow [Optional]
wfhoutlphtra lp htr a cond outlet flow [Optional]

wfhoutlphtrb lp htr b cond outlet flow [Optional]

wfhinlphtra lp htr a cond inlet flow [Optional]


wfhinlphtrb lp htr b cond inlet flow [Optional]
hextrlphtra lp htr a extr enth [Optional]
hextrlphtrb lp htr b extr enthm [Optional]
wmixlaststg last stage mix point flow [Optional]
hmixlaststg last stage mix point enth [Optional]
kcountexpline expan line iteration count [Optional]
Digital Outputs

zerrflag function error flag REQUIRED

Constance

VLIMIT,1400.0

HDELTA,20.0

SP_0030 389
9.74 GE_Expan

9.74.1 GE_Expan Calculation Overview

The GE_Expan function is an expansion line swing method to solve for the lp heater (and last
stage) extraction flow and enthalpy, the used energy end point (ueep) and expansion line end
point (elep). If the last stage extraction is superheated, the extraction enthalpy is calculated
directly as a superheated steam function of extraction steam temperature and pressure at the
heater shell. If the heater is not in-service, the extraction steam flow and enthalpy are set to
zero, and the ueep and elep are solved for directly.

The lp turbine last stage extraction is normally in the wet steam region. Solve for last stage (and
low press heater) extraction flow and enthalpy, used energy end point and expansion line end
point using expansion line equations defined in GER2007C.

Zero the function error flag

zerrflag = 0;

Set expansion line curvature constant (khzero) to 650 for GE reheat turbine

khzero = 650.0;

Calculate expansion line function constant based on curvature (khzero)

kzero = pow(10.0, - khzero / 371.0);

Calculate average condenser back pressure (pacnprs).

pacnabs = (pacnabslp + pacnabshp) / 2.0;

Calculate dry specific volume at exhaust pressure of each low pressure turbine.

vsvp(&vdry, &pacnabs, &ITRNGE);

Calculate reheat turbine bowl entropy (sipbwl)

pabsipbwl = pipbwl + patmos; sswhp(&sipbwl, &hipbwl, &pabsipbwl, &ITRNGE);

Calculate steam flow to lp turbine last stage by subtracting lp turbine extractions from crossover
flow (witrex).

wstmlaststg = witrex - wturblptot;

Calculate heat acquired by steam (qsttot) by calculating a steam heat balance around the turbine.

qsttot = (whpstm * hhpstm + whrhte * hhrhte - wcrhte * hcrhte) / RHTCNV;

Calculate heat in turbine extractions, excluding lp turbine last stage, by summing the heat in hp, ip
and lp (excluding last stage) extractions and in leakoffs to downstream turbine extraction stages

qsumext = qturbhp + qturbip + qturblp + qleakoff;

Calculate heat flow to glands - the total heat supplied to the steam seal regulator

qleaks = qssrlkg;

Calculate total heat in energy generation including losses

qgen = Pshaft * PENCNV / RHTCNV;

390 SP_0030
9.74 GE_Expan

Low pressure heater in-service if status flag zlpheater set

if (zlpheater > 0)

Heater in-service, extraction steam superheated if extraction temp greater saturation temp.
Otherwise, the steam is wet

if (textrlphtr > tsatlphtr)

Superheated steam, calculate enthalpy directly as function of temp and absolute pressure
hsstp(&hextrlphtr, &textrlphtr, &pabsextrlphtr, &ITRNGE);

else

Wet steam, estimate extraction enthalpy as saturated steam function of pressure


hsvp(&hextrlphtr, &pabsextrlphtr, &ITRNGE);

Preset current estimate of lp heater extraction enthalpy (hwtstm)

hwtstm = 10000.0;

If flash tank present (flag zflashdrain set true), upsteam heater drain goes to flash tank, and lp
heater inlet drain flow argument is set to zero. If a flash tank is not present, the inlet drain flow
argument is set to the upstream drain flow (wdrnoutup). The flash steam flow argument is
zeroed if a flash tank is not present.

if (zflashdrain > 0)

wflashin = wflashsteam;

else

wdrainin = wdrnoutup;

SP_0030 391
9.74 GE_Expan

Start of overall iterative loop.

If lp heater in service both the heater extraction enthalpy (hextrlphtr) and estimated enthapy
(hnew) are recalculated during the iterative procedure. Iterate until the absolute difference
between hfhelphtr and hnew is <= 0.1 btu/lb, or the number of iterations is exceeded. Zero overall
iteration counter.

kcntlphtr = 0.0;

while ((fabs(hextrlphtr - hwtstm) > 0.1) && (kcntlphtr <= 30))

Increment number iterations

kcntlphtr = kcntlphtr + 1.0;

Bypass lp heater, last stage extraction calculations if heater not in-service.

if (zlpheater > 0)

Heater in service, calculate lp heater and lp turbine last stage extraction flow and enthalpy.
update current estimate of lp heater extraction enthalpy

hwtstm = hextrlphtr;

Low pressure heater drain pump present and in service if flag zlpdrainpump set

if (zlpdrainpump > 0)

Drain pump present and in service. low pressure heater drain pumped forward into condensate
before upstream heater. calculate extraction steam flow at heater shell (wextrlphtr) by performing
a heat balance. calculate drain flow (wdrnoutlphtr). no flash tank if drain pumped forward.

wextrlphtr = ((wcndea - wdrnoutup) * (hfhoutlphtr - hfhinlphtr) - (hdrnoutup - hdrnoutlphtr) *


wdrainin) / ((hextrlphtr - hdrnoutlphtr) + (hfhoutlphtr - hfhinlphtr)); wdrnoutlphtr = wextrlphtr +
wdrainin;

Calculate flow leaving heater (wfhoutltlphtr) by subtracting drain flow pumped forward
(wdrnoutlplphtr) from condensate flow (wcndea). Set heater inlet flow to outlet flow.

wfhoutlphtr = wcndea - wdrnoutlphtr;


wfhinlphtr = wfhoutlphtr;

392 SP_0030
9.74 GE_Expan

else

Heater drain flows to condenser hotwell. Flow through heater is condensate flow to deaerator
(wcndea). Calculate extraction flow at heater shell from heat balance, and calculate drain flow

wextrlphtr = ((hfhoutlphtr - hfhinlphtr) * wcndea - (hdrnoutup - hdrnoutlphtr) * wdrainin -


(hflashsteam - hdrnoutlphtr) * wflashin) / (hextrlphtr -
hdrnoutlphtr);
wdrnoutlphtr = wextrlphtr + wdrainin;

Set condensate flows into and out of heater to condensate flow to deaerator

wfhoutlphtr = wcndea;
wfhinlphtr = wcndea;

Last stage extraction mixes with steam seal regulator spill over to form total extraction to low
pressure heater extraction flow at mix pointis difference between total extraction and spillover.

Calculate enthalpy at mix point by a heat balance

wmixlaststg = wextrlphtr - wssrsplovr;


hmixlaststg = (wextrlphtr * hextrlphtr - wssrsplovr * hlktot) / wmixlaststg;

Set conditions at turbine (wturblaststg, hturblaststg) to flow and enthalpy at the mix point

wturblaststg = wmixlaststg;
hturblaststg = hmixlaststg;

Calculate low pressure turbine exhaust flow (wltrex) by subtracting calculated lp turbine last stage
extraction flow (wturblaststg) from steam flow to last stage (wstmlaststg).

wltrex = wstmlaststg - wturblaststg;

Calculate used energy end point (low pressure turbine exhaust enthalpy) by conducting a thermal
and electrical energy balance around the whole turbine to establish the net heat flow to the
condenser and the dividing by the net steam flow to the condenser which is the low pressure
turbine exhaust flow

Net heat flow to the condenser comprised of the following elements -

 Net heat acquired by both superheated and reheated steam supplied to turbine (qsttot)
 Heat in turbine extractions (qext)
 Heat flow to glands (qleaks)
 Equivalent heat in gross electrical load including all losses (qgen)

SP_0030 393
9.74 GE_Expan

Total heat in turbine stage extractions (qext) by summing the heat in previous extractions
(sumext) to the heat in the number 7 extraction

qext = qsumext + (wturblaststg * hturblaststg) / RHTCNV;

Calculate net heat in low pressure turbine exhaust (qexhst) by subtracting heat in turbine stage
extractions (qext), heat flow to glands (qleaks) and generation energy (qgen) from net heat
acquired (qsttot)

qexhst = qsttot - qext - qleaks - qgen;

Calculate low pressure turbine exhaust enthalpy (hltrex) by dividing net heat in exhaust (qexhst)
by exhaust steam flow (wltrex). Set used energy end point (ueep) to exhaust enthalpy (hltrex).
This is average used energy end point of both low turbines.

hltrex = (qexhst / wltrex) * RHTCNV;


hueep = hltrex;

The exhaust loss and expansion line end point are calculated by an iterative procedure because
the moisture at the expansion line end point has to be known to calculate exhaust loss. Once the
expansion line end point has converged, an expansion is projected from the expansion line point
to the stauration line. The lp turbine last stage extraction enthalpy is initially assumed to be
saturated, and is calculated using an expansion line swing method.

Calculate initial expansion line end point estimate (helepes) by subtracting constant enthalpy drop
(hdelta = 20 btu/lb) from used energy end point (hueep)

helepes = hueep - HDELTA;

Calculate expansion line end point (helepe) by iterative procedure until elep and estimated elep
(helepes) within 0.1 btu/lb. Do not exceed 30 ierations.

Preset estimated elep (helepe) and number iterations (count)

helepe = 10000.0;
kcount = 0;

while ((fabs(helepe - helepes) > 0.1) && (kcount <= 30.0))

Increment number iterations. reset estimated elep (helepe) to new calculated value (helepes)

kcount = kcount + 1.0;


helepe = helepes;

Calculate quality of the steam (qltrex) at estimated expansion line end point (helepe) and average
turbine exhaust pressure (pacnabs)

xswhp(&Fltrex, &helepe, &pacnabs, &ITRNGE);

Calculate percent moisture (Rmstrex)

Rmstrex = 100.0 * (1.0 - Fltrex);

394 SP_0030
9.74 GE_Expan

Calculate specific volume of exhaust steam (vcnprs) by multiplying dry specific volume (vdry) by
the moisture factor

vcnprs = vdry * (1.0 - 0.01 * Rmstrex);

Calculate annulus velocity

Vannulus = (KLBtoLB * wltrex * vcnprs * (1.0 - 0.01 * Rmstrex)) / (klpextflows * alpannulus *


HRtoSEC) ;

Calculate exhaust loss per GER2007C

hexlss(&hexlssarg, &htemp, pacnabs, htheor_elep, helep, &Vannulus, Rmstrex, wltrex,


alpannulus, klpextflows, zlpspd3600, VLIMIT, &zerrflag, &Rmst_calc,&helep_calc);

Set exhaust loss to return argument

hexloss = hexlssarg;

Calculate new expansion line endpoint (elepes) as function used energy end point (ueep),
exhaust loss (hexlss) and percent moisture (Rmstrex) per General Electric definition.

helepes = hueep - 0.87 * hexloss * (1.0 - 0.01 * Rmstrex) * (1.0 - 0.0065 * Rmstrex);

} /* 2nd while loop ends */

Set expansion line end point (helep) to final calculated estimate (helepes), set error flag (zerrflg) if
no convergence. this is average expansion line end point for both low pressure turbines

helep = helepes;

SP_0030 395
9.74 GE_Expan

Project expansion line from elep to saturation line. bypass if superheated steam or low pressure
heater out of service. in these cases the ueep and elep are already calculated

if ((kcount > 30.0) || (textrlphtr > tsatlphtr) || (zlpheater == 0))

if (kcount > 30.0)

zerrflag = 1;

break;

Calculate entropy, enthalpy coordinates on the expansion line in the wet region at the last stage
extraction pres (pabsturblaststg) using expansion line equation in GER2007C. the lp heater, last
stage extraction, low pressure turbine exhaust flow, used energy end point and expansion line
end point calculations are repeated using the new lp heater extraction enthalpy until the estimated
and calculated extraction enthalpies agree within 0.1 btu/lb.

Calculate the entropy (selep) at the calculate expansion line end point (helep) and turbine exhaust
pressure (pacnabs)

sswhp(&selep, &helep, &pacnabs, &ITRNGE);

Calculate the GER2007C rzero term. first calculate required exponent (krzexpn). khzero is
expansion line curvature constant

krzexpn = (helep - (hipbwl + khzero)) / 371.0;


krzero = ((sipbwl - selep) + kzero - pow(10.0, krzexpn)) / (hipbwl - helep);

For first pass assume initial estimate (hnew) of last stage extraction enthalpy is saturated steam
function of extraction pressure (pabsturblaststg) hsvp(&hnew, &pabsturblaststg, &ITRNGE);

Initialize extraction enthalpy current value and zero iteration counter

hest = 10000.0;
kcountexpline = 1.0;

Iterative loop to solve for enthalpy

while ((fabs(hnew - hest) >= 0.1) && (kcountexpline <=30))

Set current enthalpy estimate (hest) to new calculated value hnew and increment counter

hest = hnew;
kcountexpline = kcountexpline + 1.0;

396 SP_0030
9.74 GE_Expan

Calculate entropy (sest) at estimated extraction enthalpy (hest) and last stage extraction pressure
(pabsturblaststg). Test for error condition if subccooled enthalpy return. In this case, set error flag
and exit the function

sswhp(&stemp, &hest, &pabsturblaststg, &ITRNGE);

if (stemp < 1.0)

zerrflag = 1;

break;

sest = stemp;

Calculate entropy coordinate on expansion line (sxline) at estimated enthalpy (hest) per
GER2007C. calculate required exponent (sxexpn).

ksxexpn = (helep - (hest + khzero)) / 371.0;


sxline = pow(10.0, ksxexpn) + krzero * (hest - helep) + selep - kzero;

Calculate new last stage extraction enthalpy (hnew) by adding the product of the expansion line
curvature (hzero) times the difference between the expansion line entropy (sxline) and estimated
last stage extraction entropy (sest) to the current estimated extraction enthalpy (hest).

hnew = hest + khzero * (sxline - sest);

Test for non-convergence

if (kcountexpline > 30)

zerrflag = 1;

break;

Convergence. set turbine last stage enthalpy to converged value hnew. Calculate enthalpy at low
pressure heater shell by a heat balance.

hturblaststg = hnew;
hextrlphtr = (wturblaststg * hturblaststg + wssrsplovr * hlktot) / wextrlphtr ;

SP_0030 397
9.74 GE_Expan

} /* end overall iterative loop */

Test overall iteration counter for non convergence

if (kcntlphtr > 30.0)

zerrflag = 1;

For parallel heaters calculate a,b parameters. Assuming the total last stage extraction flow is
equally divided between the two heaters.

if (zlpparallel > 0)

wextrlphtra = 0.5 * wextrlphtr;


wextrlphtrb = wextrlphtra;
wdrnoutlphtra = 0.5 * wdrnoutlphtr;
wdrnoutlphtrb = wdrnoutlphtra;
wfutlphtra = 0.5 * wfhoutlphtr;
wfhoutlphtrb = wfhoutlphtra;
wfhinlphtra = 0.5 * wfhinlphtr;
wfhinlphtrb = wfhinlphtra;
hextrlphtra = hextrlphtr;
hextrlphtrb = hextrlphtr;

398 SP_0030
9.75 GE_hrsg

9.75 GE_hrsg

The GE_hrsg module calculates the input/output efficiency of the HRSG per GE specification.

YES Units are Converted.

GE_HRSG

Parameters Description Usage

Analog Inputs

patmos Atmospheric pressure REQUIRED

phpstm HP sh outlet steam press REQUIRED


thpstm HP sh outlet steam temp REQUIRED
plpstm LP sh outlet steam press REQUIRED
tlpstm LP sh outlet steam temp REQUIRED
phrstm Hot reheat steam press REQUIRED
prhistm Hot reheat steam temp REQUIRED
trhistm Reheater Inlet steam press REQUIRED
thrstm Reheater Inlet steam temp REQUIRED
pfeedwtr HP feedwater press REQUIRED
tfeedwtr HP feedwater temp REQUIRED
whpstmc HP steam flow REQUIRED
wipstmc IP steam flow REQUIRED
wlpstmc LP steam flow REQUIRED
wrhinterc Rehtr inner stage flow REQUIRED
woil Oil flow REQUIRED
wlng Gas flow REQUIRED
hoillhv Oil low heat value REQUIRED
hlnglhv Gas low heat value REQUIRED
Pgtgpw GTG Power REQUIRED
Digital Inputs

zdocalc digital run flag REQUIRED

zon_oil Oil being fired REQUIRED


zon_gas Gas being fired REQUIRED
Analog Outputs

pabshpstab HP sh abs steam press [Optional]

hhpstmc HP shsteam enthalpy [Optional]

pabslpstab LP sh steam press [Optional]

SP_0030 399
9.75 GE_hrsg

GE_HRSG

Parameters Description Usage

hlpstmc LP sh steam enthalpy [Optional]


pabshrstab Hot reheat abs steam press [Optional]
hhrstmc Hot reheat steam enthalpy [Optional]
pabsrhistab Reheater inlet steam enthalpy [Optional]
hrhistmc Reheater inlet steam enthalpy [Optional]
pabsfdwtrab HP feedwater abs press [Optional]
hfeedwtrc HP feedwater enthalpy [Optional]
whrstmc Hot reheat steam flow [Optional]
wrhistmc Reheater inlet steam flow [Optional]
qhrsgoutput HRSG heat output [Optional]
qhrsginputng Heat input while on gas [Optional]
qhrsginputdo Heat input while on oil [Optional]
eioeffng I/O eff for gas firing [Optional]
eioeffdo I/O eff for oil firing [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.75.1 GE_hrsg Calculation Overview

Calculate HP superheat steam enthalpy

pabshpstab = phpstm + patmos;


hhpstmc = hsstp(thpstm,pabshpstab);

Calculate LP superheat steam enthalpy

pabslpstab = plpstm + patmos;


hlpstmc = hsstp(tlpstm,pabslpstab);

Calculate Hot Reheat steam enthalpy

pabshrstab = phrstm + patmos;


hhrstmc = hsstp(thrstm,pabshrstab);

Calculate Reheater Inlet steam enthalpy

pabsrhistab = prhistm + patmos;


hrhistmc = hsstp(trhistm,pabsrhistab);

400 SP_0030
9.75 GE_hrsg

Calculate HP feedwater enthalpy

pabsfdwtrab = pfeedwtr + patmos;


hfeedwtrc = hcltp(tfeedwtr,pabsfdwtrab);

Calculate the Hot Reheat steam flow leaving the HRSG

whrstmc = whpstmc + wipstmc + wrhinterc;

Calculate the Reheater inlet steam flow to the HRSG

wrhistmc = whpstmc + wipstmc;

Calculate the heat output

Note: Divide whole expression by 1000 to get MBTU/HR

qhrsgoutput = ((whpstmc*hhpstmc) + (wlpstmc*hlpstmc) +


(whrstmc*hhrstmc) - (wrhistmc*hrhistmc) - ((whpstmc+wipstmc+wlpstmc+wrhinterc) *
hfeedwtrc))/1000.0;

Calculate the heat input based on which fuel is being fire

Note: For this calculation the fuel flow must be Lb/Hr not KLb/Hr and the power must be Kw not
MW then convert to MBTU/HR

if( zon_gas )

qhrsginputng = (0.9854 * wlng*1000.0 * hlnglhv -


Pgtgpw*1000.0*3412.142 - 25.31E+06 - 0.8*0.01*Pgtgpw*1000.0*3412.142)/1E+06;
qhrsginputdo = 0.0;

else

if( zon_oil )

qhrsginputdo = (0.9854 * woil*1000.0 * hoillhv -Pgtgpw*1000.0*3412.142 - 25.31E+06 -


0.8*0.01*Pgtgpw*1000.0*3412.142)/1E+06;
qhrsginputng = 0.0;

else

qhrsginputng = 0.0;
qhrsginputdo = 0.0;

HRSG Efficiency for Gas

if( qhrsginputng > 0.0 )

eioeffng = 100.0 * (qhrsgoutput / qhrsginputng);

else

eioeffng = 0.0;

SP_0030 401
9.75 GE_hrsg

HRSG Efficiency for Oil

if( qhrsginputdo > 0.0 )

eioeffdo = 100.0 * (qhrsgoutput / qhrsginputdo);

else

eioeffdo = 0.0;

402 SP_0030
9.76 GE_stg

9.76 GE_stg

The GE_stg algorithm computes the steam turbine generator output correction factor for exhaust
pressure (condenser vacuum), steam turbine gross heat rate and steam turbine generator gross
thermal efficiency.

YES Units are Converted.

GE_STG

Parameters Description Usage

Analog Inputs

Pstgpw STG power REQUIRED

Fpwexhpr Exh Press corr fac REQUIRED


qhrsg1output HRSG1 heat into STG REQUIRED
qhrsg2output HRSG2 heat into STG REQUIRED
Pstgpwperf Calib run pwr output REQUIRED
estgeffperf Calib run eff REQUIRED
Digital Inputs

zdocalc digital run flag REQUIRED

zdoctg1 CTG1 do calc flag REQUIRED


zdoctg2 CTG2 do calc flag REQUIRED
Analog Outputs

Pstgcorpw Cor gross power [Optional]

estgeff Gross thermal eff [Optional]


estgcoreff Cor gross thermal eff [Optional]
rstghr Gross turbine heat rate [Optional]
rstgcorhr Cor Gross turb hrate [Optional]
Rstgpwdev Gross power dev [Optional]
Rstgeffdev Gross eff dev [Optional]
Digital Outputs

< NONE >

Constants

PSTGRTD 196.0

SP_0030 403
9.76 GE_stg

9.76.1 GE_stg Calculation Overview

Calculate corrected gross power output

Pstgcorpw = Pstgpw - Fpwexhpr*196.0;

Calculate Gross Thermal Efficiency

Note: qhrsgoutput is total heat out of all HRSGs that feed the STG

estgeff = 100.0 * ((Pstgpw*1000.0*3412.142) / ((qhrsg1output+qhrsg2output)*1E+06));

Calculate Corrected Gross Thermal Efficiency -

Note: qhrsgoutput is total heat out of all HRSGs that feed the STG

estgcoreff = 100.0 * ((Pstgcorpw*1000.0*3412.142) / ((qhrsg1output+qhrsg2output)*1E+06));

Calculate gross turbine heat rate

rstghr = 3412.142/(0.01*estgeff);

Calculate corrected gross turbine heat rate

rstgcorhr = 3412.142/(0.01*estgcoreff);

Calculate gross power output deviation

Gross power output deviation in percent is the difference between the calibration run power
output adjusted for the number of gas turbines operating in combined cycle mode assuming equal
load sharing across the gas turbines and the corrected gross power output divided by the
calibration run power output.

nturb = 0.0;
if(zdoctg1)
nturb = nturb + 1.0;
if(zdoctg2)
nturb = nturb + 1.0;
nturb = nturb/2.0;
Rstgpwdev = 100.0 * ((Pstgpwperf * nturb - Pstgcorpw) /
(Pstgpwperf * nturb));

Gross Thermal Efficiency Deviation

Rstgeffdev = 100.0 * ((estgeffperf - estgcoreff) / estgeffperf);

404 SP_0030
9.77 Gennet

9.77 Gennet

The Gennet algorithm calculates the following:

 The generator mva

 The generator power factor

 The auxiliary power

 The ratio of auxiliary power to gross power

 The total shaft power

 Generator efficiency

YES Units are Converted.

GENNET

Parameters Description Usage

Analog Inputs

Pmwatt generator power [Optional]

PVmvar generator megavars [Optional]


Pgenaux auxiliary power [Optional]
Pgennet net power [Optional]
Pgenlos generator losses [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

Pva generator mva [Optional]

kgenpowfac generator power factor [Optional]


Pennet net generator power [Optional]
Pauxpwr auxiliary power [Optional]
Rauxpwr ratio of aux pwr to gross pwr [Optional]
Rdesauxpwr design auxiliary power pcnt [Optional]

Pshaft total shaft power [Optional]

Pgenfix generator fixed losses [Optional]


Pgenlostot Total generator losses [Optional]
egeneff generator efficiency [Optional]
Digital Outputs

SP_0030 405
9.77 Gennet

GENNET

Parameters Description Usage

< NONE >

Constants

< NONE >

9.77.1 Gennet Calculation Overview

Generator MVA

Pva = sqrt(pow(Pmwatt,2)+ pow(PVmvar,2))

Power Factor

kgenpowfac = Pmwatt / Pva

Net Generation

Pennet = Pmwatt - Pgenaux;

If neither net generation or auxiliary power is measured. Auxiliary power is calculated based on
a design screen percentage of the gross generation.

Ratio of Auxiliary Power to Gross Power.


Rauxpwr = 100.0 * Pauxpwr / Pmwatt;

Total Shaft Power

Pshaft = Pmwatt + Pgenlos + Pgenfix;

Total Generator Losses.

Pgenlostot = Pgenlos + Pgenfix

Generator Efficiency - ratio of total losses to the generator gross power.

egeneff = (1.0 - Pgenlostot / Pmwatt) * 100.0;

406 SP_0030
9.78 Gencorr

9.78 Gencorr

The Gencorr algorithm computes corrected steam turbine generator output bases on correction
curves provided by turbine manufacturer.

YES Units are Converted.

GENCORR

Parameters Description Usage

Analog Inputs
Flddmt thr stm temp out corr fact REQUIRED

Flddrt reht stm temp out corr fact REQUIRED


Flddmp thr stm pres out corr fact REQUIRED
Flddpd reht pres drop out corr fact REQUIRED

Fldexhstp1 lp exh hd 1 pres out corr fact REQUIRED

Fldexhstp2 lp exh hd 2 pres out corr fact [Optional]


Fldexhstpx1 lp exh hd 1 exp pres corr fact REQUIRED
Fldexhstpx2 lp exh hd 2 exp pres corr fact [Optional]
Pmwatt generator output REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

Pgencorr corr generator out [Optional]

Plddev gen out deviation [Optional]


Pldcormt throttle stm temp out corr [Optional]
Pldcormp throttle stm pres out corr [Optional]
Pldcorrt reheat stm temp out corr [Optional]
Pldcorpd reheat pres drop out corr [Optional]
Pldcorexhp1 lp trb exh hd 1 pres out corr [Optional]
Pldcorexhp2 lp trb exh hd 2 pres out corr [Optional]
Pldtotcor total out corr [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 407
9.78 Gencorr

9.78.1 Gencorr Calculation Overview

Gencorr computes corrected steam turbine generator output.

Corrected generator output is calculated by dividing measured generator output by the product of
calculated group 2 correction factors.

Pgencorr = Pmwatt / (Flddmt * Flddrt * Flddmp * Flddpd * Fldexhstp1 * Fldexhstp2)


Plddev = Pgencorr - Pmwatt

Throttle Steam Temp Output Correction in Megawatts

Pldcormt = (Flddmt - 1.0) * Pmwatt;

Throttle Steam Pressure Output Correction in Megawatts

Pldcormp = (Flddmp - 1.0) * Pmwatt;

Reheat Steam Temperature Output Correction in Megawatts

Pldcorrt = (Flddrt - 1.0) * Pmwatt;


Reheat Pressure Drop Output Correction in Megawatts
Pldcorpd = (Flddpd - 1.0) * Pmwatt;

Lp turbine Exhaust Hood 1 Pressure Output Correction in Megawatts.

Multiply generator output by difference between actual exhaust hood 1 pres output correction
factor (fldexhstp1) and expected exhaust hood 1 pres output correction factor (fldexhstpx1)

Pldcorexhp1 = (Fldexhstp1 - Fldexhstpx1) * Pmwatt;

Lp turbine Exhaust Hood 2 Pressure Output Correction in Megawatts.

Pldcorexhp2 = (Fldexhstp2 - Fldexhstpx2) * Pmwatt;

Total Individual Output Corrections

Pldtotcor = Pldcormt + Pldcormp + Pldcorrt + Pldcorpd + Pldcorexhp1 + Pldcorexhp2;

408 SP_0030
9.79 Gpalog

9.79 Gpalog

The Gpalog algorithm calculates the log of a number.

NO Units are Converted.

GPALOG

Parameters Description Usage

Analog Inputs

kvalue input to natural log algorithm REQUIRED

kptgain abs val gain value [Optional]


kptbias abs val bias value [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

klog_res base 10 log result value REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

9.79.1 Gpalog Calculation Overview

Gpalog takes the base 10 log of a number, multiplies by the gain and adds the bias.

klog_res = log10(kvalue)
kgain = kptgain + kcgain
kbias = kptbias + kcbias
klog_res = (klog_res * kgain) + kbias

SP_0030 409
9.80 Heartbeat

9.80 Heartbeat

The Heartbeat algorithm outputs the value of the constant followed by the value of the constant
multiplied by -1 and then continues this sequence of values. This algorithm toggles the constant
value to be used in controller logic to show that GPA is running.

NO Units are Converted.

HEARTBEAT

Parameters Description Usage

Analog Inputs

kdummy analog dummy point [Optional] dummy


input not used
Digital Inputs

zdocalc digital perf calc run flag

Analog Outputs

kheartbeat_val pcalcs heartbeat value REQUIRED

Digital Outputs

< NONE >

Constants

kheartbeat

9.80.1 Heartbeat Calculation Overview

Code:

If the heartbeat value exists, get the value and multiply by -1 and store the heartbeat value again

if (hearbeat exists)

kheartbeat_val = stored heartbeat_val;


kheartbeat_val = kheartbeat_val * -1.0;

else

The heartbeat value does not exist, set the value to the constant value

kheartbeat_val = kheartbeat;

410 SP_0030
9.81 Hetrte

9.81 Hetrte

The Hetrte algorithm calculates gross, net, and corrected turbine cycle heat rates.

YES Units are Converted.

HETRTE

Parameters Description Usage

Analog Inputs

wmnstm main steam flow REQUIRED

wdssht superheat spray flow [Optional] Use if superheat


spray flow is present.

hcycle cycle feedwater enthalpy REQUIRED

hmnstm main steam enthalpy REQUIRED


hdssht superheat enthalpy [Optional] Use if superheat
spray flow is present.

wcrhte cold reheat flow REQUIRED

hhrhte hot reheat enthalpy REQUIRED


hcrhte cold reheat enthalpy REQUIRED
wdsrht reheat spray flow [Optional] Use if superheat
spray flow is present.

hdsrht reheat enthalpy [Optional] Use if superheat


spray flow is present.
waddmisc misc addition flow [Optional]

haddmisc misc addition enthalpy [Optional]


haddmisc2 misc addition enthalpy 2 [Optional]
wsubmisc misc sub flow [Optional]
hsubmisc misc sub enthalpy [Optional]
hsubmisc2 misc sub enthalpy 2 [Optional]
Pmwatt generator power REQUIRED
wprocess process steam flow [Optional] Use if process
steam is present.

hprocess process steam enthalpy [Optional] Use if process


steam is present.
wcondrtn condensate return flow [Optional] Use if process
steam is present.
hcondrtn condensate return enthalpy [Optional] Use if process
steam is present.
Pennet net generator power REQUIRED

Analog Inputs

SP_0030 411
9.81 Hetrte

HETRTE

Parameters Description Usage

Fhrdmt main stm temp ht rt corr fact [Optional] Use if main


steam ht rate correction
factor is available.
Fhrdmp main stm pres ht rt corr fact [Optional] Use if main
steam press ht rate
correction factor is
available.
Fhrdrt reht temp ht rt corr fact [Optional] Use if reheat
temp ht rate correction
factor is available.
Fhrdpd reht pres drop ht rt corr fact [Optional] Use reheat
press drop ht rate
correction factor is
available.
Fhrdcp cond back pres ht rt corr fact [Optional] Use if cond
back press ht rate
correction factor is
available.
Fhrmisc misc ht rate corr fact [Optional] Use if misc ht
rate correction factor is
available.
rhrref reference heat rate [Optional]

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

zprochtnum [Optional]
Analog Outputs

qtrbin heat acquired by the turbine [Optional] Used in boiler


algorithm.
rhrtcg gross turbine cycle heat rate [Optional] Used in hp
efficiency deviation
controllable losses
algorithm.
qprocnet heat in process steam [Optional]

rhrtcgwpr gr turb cyc ht rt w/prc stm [Optional]


rhrtcn net turbine cycle heat rate [Optional]
rhrtcnwpr net turb cyc ht rt w/prc stm [Optional]
rhrgaj corr turb cycle heat rate [Optional]
rhrgajwpr corr turb cyc ht rt w/prc stm [Optional]
rhrrefwpr ref ht rt adj for prc stm [Optional]
rhrgdv turb cycle heat rate dev [Optional]
rhrgdvwpr turb cyc ht rt dev w/prc stm [Optional]
rhrdmtbtu turb ht loss mn stm tmp [Optional]

412 SP_0030
9.81 Hetrte

HETRTE

Parameters Description Usage

rhrdmpbtu turb ht loss mn stm pres [Optional]


rhrdrtbtu turb ht loss rht stm tmp [Optional]
rhrdpdbtu turb ht loss rht pres dr [Optional]
rhrdcpbtu turb ht loss cnd bck pres [Optional]
rhrmiscbtu turb ht loss misc [Optional]
rtotalhtloss total heat loss [Optional]
Digital Outputs

< NONE >

Constants

KWPROCESS Set to 50 klb/hr. If the flow is greater than


50 klb/hr, the process
steam heat will be
calculated according to the
flag above.
If the steam send out flow
is less than 50klb/hr or
what the value is set to,
the steam send out heat
will be calculated as zero.

9.81.1 Hetrte Calculation Overview

Hetrte calculates gross and net turbine cycle heat rate. In addition, adjusted turbine cycle heat
rates with and without process steam are also calculated.

Heat acquired by the turbine (qtrbin)

qtrbin = ((wmnstm - wdssht) * (hmnstm - hcycle) +


wdssht * (hmnstm - hdssht) +
wcrhte * (hhrhte - hcrhte) +
wdsrht * (hhrhte - hdsrht) +
waddmisc * (haddmisc - haddmisc2) -
wsubmisc * (hsubmisc - hsubmisc2)) / RHTCNV;

Note: RHTCNV = 1000

Gross turbine cycle heat rate (rhrtcg)

rhrtcg = qtrbin * RHTCNV / Pmwatt;

SP_0030 413
9.81 Hetrte

Heat in Process Steam (qprocnet)

if (wprocess > KWPROCESS)

qprocnet = (wprocess * hprocess - wcondrtn * hcondrtn) / 1000.0;

else

qprocnet = 0.0;

Gross heat rate with credit for process steam

if (zprochtnum)

rhrtcgwpr = ((qtrbin*RHTCNV) - (qprocnet*RHTCNV)) / Pmwatt;

else

rhrtcgwpr = qtrbin * RHTCNV / (Pmwatt + (qprocnet / PMBTUTOMW));

Net turbine cycle heat rate (rhrtcn)

rhrtcn = qtrbin * RHTCNV / Pennet;

Net turbine cycle heat rate while using process steam. This is defined as the heat supplied to the
turbine divided by the net power output.

if (zprochtnum)

rhrtcnwpr = ((qtrbin*RHTCNV) - (qprocnet*RHTCNV)) / Pennet;

else

rhrtcnwpr = qtrbin * RHTCNV / (Pennet + (qprocnet / PMBTUTOMW));

Corrected Turbine Cycle Heat Rate (rhrgaj)

Gross turbine cycle heat rate is adjusted for the following correction factors:
 main steam temp
 main steam pressure
 reheat steam temperature
 reheat steam pressure
 turbine exhaust pressure
rhrgaj = rhrtcg / (Fhrdmt * Fhrdmp * Fhrdrt * Fhrdpd * Fhrdcp * Fhrmisc)

Individual Heat Rate Corrections in Btu/Kwh.

rhrdmtbtu = rhrtcg - (rhrtcg/Fhrdmt) - main steam temperature correction in btu/kwh


rhrdmpbtu = rhrtcg - (rhrtcg/Fhrdmp) - main steam pressure
rhrdrtbtu = rhrtcg - (rhrtcg/Fhrdrt) - reheat steam temperature
rhrdpdbtu = rhrtcg - (rhrtcg/Fhrdpd) - reheat pressure drop
rhrdcpbtu = rhrtcg - (rhrtcg/Fhrdcp) - condenser back pressure
rhrmiscbtu = rhrtcg - (rhrtcg/Fhrmisc) - miscellaneous turbine corrections

414 SP_0030
9.81 Hetrte

Total Heat Rate Corrections

rtotalhtloss = rhrdmtbtu + rhrdmpbtu + rhrdrtbtu + rhrdpdbtu + rhrdcpbtu + rhrmiscbtu

Corrected Turbine Cycle Heat Rate Accounting for Process Steam (rhrgajwpr)

This is calculated by adjusting for the correction factors of:


 main steam temp
 main steam pressure
 reheat steam temperature
 reheat steam pressure
 turbine exhaust pressure
rhrgajwpr = rhrtcgwpr / (Fhrdmt * Fhrdmp * Fhrdrt * Fhrdpd * Fhrdcp * Fhrmisc)

Turbine Cycle Heat Rate Deviations

rhrgdv = rhrgaj - rhrref

Adjust reference heat rate for process steam

if (zprochtnum)

rhrrefwpr = (rhrref * qtrbin) / (qtrbin + qprocnet);

else

rhrrefwpr = (rhrref * Pmwatt) / (Pmwatt + (qprocnet/PMBTUTOMW));

Calculate turbine cycle heat rate deviation

rhrgdvwpr = rhrgajwpr - rhrrefwpr;

SP_0030 415
9.82 Hiselect6

9.82 Hiselect6

The Hiselect6 algorithm selects the highest value of six inputs The result can be modified by
multiplying by a gain and adding a bias Note that the gain and bias values can be points,
constants or both points and constants.

NO Units are Converted.

HISELECT6

Parameters Description Usage

Analog Inputs

kvalue1 hi select value 1 REQUIRED

kvalue2 hi select value 2 REQUIRED


kvalue3 hi select value 3 [Optional]
kvalue4 hi select value 4 [Optional]
kvalue5 hi select value 5 [Optional]
kvalue6 hi select value 6 [Optional]
kptgain hi select point gain [Optional]
kptbias hi select point bias [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

khi6_result hi select output value REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

9.82.1 Hiselect6 Calculation Overview

Hiselect6 selects the highest value of up to six inputs. This result can be gained and/or biased
and is stored in the output khi6_result.

416 SP_0030
9.83 Hpfedhtr

9.83 Hpfedhtr

The Hpfedhtr algorithm calculates a heat and materials balance around a shell and tube type heat
exchanger. The extraction and drain flows are calculated. The turbine extraction flow and
enthalpy are also calculated.

YES Units are Converted.

HPFEDHTR

Parameters Description Usage

Analog Inputs

tfhinlt feedheater inlet temp REQUIRED

tfhoutlt feedheater outlet temp REQUIRED


tfhrisedes fhtr des temp rise [Optional]
wdrninlt drain inlet flow [Optional]
hdrninlt drain inlet enthalpy [Optional]
pfwtr feedwater pressure REQUIRED
patmos atmospheric pressure REQUIRED
tdrnoutlt drain outlet temp REQUIRED
wblrfw boiler feedwater flow REQUIRED
pextr extraction pressure [Optional]
textr extraction temperature [Optional]
tturb turbine extraction temp [Optional]
pturb turbine extraction pressure [Optional]
pdrop pres drop fr turb to fhtr [Optional] Required if
only turbineExtr
pressure is measured.

pincr pres incr fr fhtr to turb [Optional] Required if


only feedheaterExtr
pressure is measured.
wlkg leakage flow [Optional]

hlkg leakage enthalpy [Optional]


waux auxiliary flow [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zfedhtr_on fedhtr in-service flag [Optional] Use if


digitals determine in
service status.
zfedhtr_off feedheater out-of service flag [Optional] Use if
digitals determine in
service status.

SP_0030 417
9.83 Hpfedhtr

HPFEDHTR

Parameters Description Usage

Analog Outputs

tfhrise fhtr temp rise [Optional]

tfhrisedev fhtr temp rise dev [Optional]


hdrnin_tot total drn enth [Optional]
wdrnin_tot total drn flow [Optional]
pabsfwtr feedwater abs pres [Optional]
hfhoutlt outlet enthalpy [Optional]
hfhinlt inlet enth [Optional]
hdrnoutlt drn outlet enth [Optional]
wfhoutlt outlet flow [Optional]
wfhinlt inlet flow [Optional]
pabsextr extr abs pres [Optional]
hextr fhtrExtr enth [Optional]
hturb turbineExtr enth [Optional]
pabsturb turbineExtr abs pres [Optional]
wextr fhtrExtr flow [Optional]
wturb turbineExtr flow [Optional]
wdrnoutlt fhtr drn outlet flow [Optional]
tsat fhtr saturated temp [Optional]
hcnddvrt fhtr drn enth div to cond [Optional]
wcnddvrt fhtr drn flow div to cond [Optional]
hhtrdvrt fhtr drn div enth [Optional]
whtrdvrt fhtr drn div flow [Optional]
Digital Outputs

zinsvcfh feedheater in-service flag [Optional]

Constants

< NONE >

418 SP_0030
9.83 Hpfedhtr

9.83.1 Hpfedhtr Calculation Overview

Hpfedhtr calculates the following for a HP feedheater:


 Feedheater Extraction Flow
 Feedheater Drain Flow
 Turbine Extraction Flow
 Turbine Extraction Enthalpy
These items are calculated by performing a heat and materials balance around the feedheater.

Temperature Rise and Deviation

tfhrise = tfhoutlt - tfhinlt


tfhrisedev = tfhrise - tfhrisedes

Turbine Extraction Flow

wturb = (wfhoutlt*(hfhoutlt-hfhinlt) - wlkg*(hlkg - hdrnoutlt) - wdrnin_tot*(hdrnin_tot - hdrnoutlt)


+ waux*(hturb - hdrnoutlt)) / (hturb - hdrnoutlt)

Where:

wturb = Turbine extraction flow (flow measurement at the turbine)


wfhoutlt = Feedwater flow leaving the feedheater
hfhoutlt = Enthalpy of feedwater leaving the feedheater
hfhinlt = Enthalpy of feedwater entering the feedheater
wlkg = Leakage flow that combines with turbine extraction before the feedheater
hlkg = Leakage enthalpy
hdrnoutlt = Enthalpy of the feedheater drain flow
wdrnin_tot = Feedheater inlet drain flow plus any diverted drain flows from upstream
feedheaters
hdrnin_tot = Enthalpy of total feedheater inlet drain flow
waux = Auxiliary steam flow from feedheater
hturb = Enthalpy of turbine extraction flow

Feedheater Extraction Flow (wextr)

wextr = wturb + wlkg - waux

Feedheater Drain Outlet Flow (wdrnoutlt)

wdrnoutlt = wextr + wdrnin_tot

SP_0030 419
9.84 Hpipsec

9.84 Hpipsec

The Hpipsec algorithm calculates the outlet flow for the HP or IP section of the HRSG as well as
the steam, economizer inlet and drum enthalpies.

YES Units are Converted.

HPIPSEC

Parameters Description Usage

Analog Inputs

wsecin section inlet flow REQUIRED

wdesuper desuperheater flow [Optional]


waddmisc misc added flow [Optional]
wbldwn blowdown flow [Optional]
wsubmisc misc subtracted flow [Optional]
pstm stage steam pressure REQUIRED
patmos atmospheric pressure REQUIRED
tstm steam temp REQUIRED
peconin economizer inlet pres REQUIRED
teconin economizer inlet temp REQUIRED
pdrum stage drum pressure REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

wsecout section outlet flow [Optional]

pabsstm section stm abs pressure [Optional]


hstm section stm enthalpy [Optional]
pabseconin econ inlet abs pres [Optional]
heconin econ inlet enthalpy [Optional]
pabsdrum section abs drum pres [Optional]
hdrum section drum enthalpy [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

420 SP_0030
9.84 Hpipsec

9.84.1 Hpipsec Calculation Overview

This algorithm is used to calculate the following items for either the HP or IP section of a HRSG:
 HRSG Section (HP or IP) outlet flow
 Superheater Outlet Steam Enthalpy
 Economizer Inlet Feedwater Enthalpy
 Section Drum Enthalpy
Section Outlet Flow

wsecout = wsecin + wdesuper + waddmisc - wbldwn - wsubmisc

SP_0030 421
9.85 Hrmspasme

9.85 Hrmspasme

The Hrmspasme algorithm calculates the fractional heat rate correction factor for throttle steam
pressure being off design as specified by the ASME PTC 6 1, 1984 curve Throttle Pressure
Correction Factors for Single Reheat Units.

YES Units are Converted.

HRMSPASME

Parameters Description Usage

Analog Inputs

pmnstm main steam pressure REQUIRED

pmsexp ref main steam pressure REQUIRED


Rcload percent load REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

pdffmsp pcnt throttle pres dev [Optional]

Fhrdmp thr pres ht rt corr factor [Optional]


Digital Outputs

< NONE >

Constants

CONMSP[0] =
-0.268999485
CONMSP[1] =
-0.00088682
CONMSP[2] =
0.199601121

9.85.1 Hrmspasme Calculation Overview

Hrmspasme is used to calculate the fractional heat rate correction factor for throttle steam
pressure being off design. This algorithm follows the procedures as specified by the ASME PTC 6
1, 1984 curve Throttle Pressure Correction Factors for Single Reheat Units.

Pressure Deviation in Percent Between Actual Throttle Steam Pressure and Reference Throttle
Steam Pressure.

pdffmsp = 100.0 * (pmnstm - pmsexp) / pmnstm

422 SP_0030
9.85 Hrmspasme

Throttle Steam Pressure Correction Factor.

Fhrdmp = 1.0 + 0.01 * pdffmsp * (CONMSP[0] + CONMSP[1] * pdffmsp + CONMSP[2] * 0.01


* Rcload)

SP_0030 423
9.86 Hrmstasme

9.86 Hrmstasme

The Hrmstasme algorithm calculates the fractional heat rate correction factor for throttle steam
pressure being off design as specified by the ASME PTC 6 1, 1984 curve reheat Temperature
Correction Factors for Single Reheat - Subcritical Pressure Parts.

YES Units are Converted.

HRMSTASME

Parameters Description Usage

Analog Inputs

tmnstm main steam temp REQUIRED

tmnref ref main steam temp REQUIRED


Rcload percent load REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

tdffmst main stm temp dev [Optional]

Fhrdmt mn stm temp ht rt corr factor [Optional]


Digital Outputs

< NONE >

Constants

CONMST[0] = -1.
1308642E-02
CONMST[1] = 1.
45305262E-21
CONMST[2] = -5.
0617284E-03

9.86.1 Hrmstasme Calculation Overview

Hrmstasme is used to calculate the fractional heat rate correction factor for throttle steam
temperature being off design as specified by ASME PTC 6.1, 1984 curve, Throttle Temperature
Correction Factors for Single Reheat - Subcritical Pressure Parts.

Temperature Deviation between Actual Throttle Temperature and Reference Throttle


Temperature.

tdffmst = tmnstm - tmnref;

424 SP_0030
9.86 Hrmstasme

Reheat Correction Factor. (Fhrdmt)

Fhrdmt = 1.0 + 0.01 * tdffmst * (CONMST[0] + CONMST[1] * tdffmst + CONMST[2] * 0.01 *


Rcload)

SP_0030 425
9.87 Hrrpdasme

9.87 Hrrpdasme

The Hrrpdasme algorithm calculates the fractional heat rate correction factor for reheat pressure
drop being off design as specified by the ASME PTC 6 1, 1984 curve Reheater Pressure Drop
Correction Factors for Single Reheat Units.

YES Units are Converted.

HRRPDASME

Parameters Description Usage

Analog Inputs

pcrhte cold reheat pressure REQUIRED

phrhte hot reheat pressure REQUIRED


pabscr absolute cold reheat pressure REQUIRED
Rdrprf reference reheat pressure drop REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

Rpdpct pcnt reheat pres dr [Optional]

Rdiffrpd pcnt rht pres dr dev [Optional]


Fhrdpd rht pres dr ht rt corr factor [Optional]
Digital Outputs

< NONE >

Constants

CONRPD[0] = 0.0

CONRPD[1] = 1.
8E-01

9.87.1 Hrrpdasme Calculation Overview

Hrrpdasme is used to calculate the fractional heat rate correction factor for reheat pressure drop
being off design as specified by the ASME PTC 6.1, 1984 curve, Reheater Pressure Drop
Correction Factors for Single Reheat Units.

Reheat Pressure Drop in Percent


Rpdpct = 100.0 * (pcrhte - phrhte) / pabscr
Reheat Pressure Drop Deviation
Rdiffrpd = Rpdpct - Rdrprf;
Reheat Pressure Drop Correction Factor.
Fhrdpd = 1.0 + 0.01 * (CONRPD[0] + CONRPD[1] * Rdiffrpd)

426 SP_0030
9.88 Hrrstasme

9.88 Hrrstasme

The Hrrstasme algorithm calculates the fractional heat rate correction factor for reheat steam
temperature being off design as specified by the ASME PTC 6 1, 1984 curve Reheat
Temperature Correction Factors for Single Reheat Units.

YES Units are Converted.

HRRS TASM E

Parameters Description Usage

Analog Inputs

thrhte hot reheat temp REQUIRED

trhref ref hot reheat temp REQUIRED


Rcload percent load REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

tdffrst reht stm temp dev [Optional]

Fhrdrt reht stm temp ht rt corr fact [Optional]


Digital Outputs

< NONE >

Constants

CONRST[0] =
-1.1308642E-02
CONRST[1] =
1.45305262E-21
CONRST[2] =
-5.0617284E-03

9.88.1 Hrrstasme Calculation Overview

Hrrstasme is used to calculate the fractional heat rate correction factor for reheat steam
temperature being off design as specified by the ASME PTC 6 1, 1984 curve Reheat
Temperature Correction Factors for Single Reheat Units.

Temperature Deviation

tdffrst = thrhte - trhref

Reheat Correction Factor.

Fhrdrt = 1.0 + 0.01 * tdffrst * (CONRST[0] + CONRST[1] * tdffrst + CONRST[2] * 0.01 *


Rcload);

SP_0030 427
9.89 HRSG

9.89 HRSG

The HRSG algorithm calculates the outlet flow for the HP or IP sections of the HRSG as well as
the steam, economizer inlet and drum enthalpies.

YES Units are Converted.

HRSG

Parameters Description Usage

Analog Inputs

whpstm hp steam flow [Optional]

hhpstm hp steam enth [Optional]


hhpeci hp Economizer inlet enth [Optional]
wipstm ip steam flow [Optional]
hipstmout ip steam extr enth [Optional]
hipstmin ip steam extr enth [Optional]
hipeci ip Economizer inlet enth [Optional]
wrhstm hot reheat steam flow [Optional]
hrhstmout hot reheat enth out [Optional]
hrhstmin hot reheat enth in [Optional]
wlpstm lp steam flow [Optional]
hlpstm lp steam enth [Optional]
hlpeci lp Economizer inlet enth [Optional]
whpbdn hp blowdown flow [Optional]
hhpdrm hp blowdown enth [Optional]
wipbdn ip blowdown flow [Optional]
hipdrm ip blowdown enth [Optional]
wlpbdn lp blowdown flow [Optional]
hlpdrm lp blowdown enth [Optional]
wbfp boiler feedpump flow [Optional]
hbfpdis boiler feedpump disch enth [Optional]
hbfpsuc boiler feedpump suc enth [Optional]
wmisc1 misc 1 flow [Optional]
hmisc1in misc 1 inlet enth [Optional]
hmisc1out misc 1Extr enth [Optional]
wmisc2 misc 2 flow [Optional]
hmisc2in misc 2 inlet enth [Optional]
hmisc2out misc 2 Extr enth [Optional]
wctexh comb turb Exh flow REQUIRED

428 SP_0030
9.89 HRSG

HRSG

Parameters Description Usage

hhrsgin hrsg inlet enth REQUIRED


hctref comb turb ref enth [Optional]
tsf_ngas supp fuel gas temp [Optional] Use if Supplemental natural
gas is present and is output from fuels.

psf_ngas supp fuel gas pres [Optional] Use if Supplemental natural


gas is present and is output from fuels.
Fsf_ngch4 Fraction of methane [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Fsf_ngc2h6 Fraction of Ethane [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Fsf_ngc3h8 Fraction of propane [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Fsf_ngnbt Fraction of n butane [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Fsf_ngisbt Fraction of isobutane [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Fsf_ngnpt Fraction of n pentane [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Fsf_ngispt Fraction of isopentane [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Fsf_nghex Fraction of n hexane [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Fsf_ngco2 Fraction of carbon dioxide [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Fsf_ngh2 Fraction of hydrogen [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Fsf_ngn2 Fraction of nitrogen [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Fsf_ngh2o Fraction of water [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Fsf_ngco CO nat gas constituent [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Fsf_ngo2 Oxygen nat gas constituent [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Fsf_ngh2s Hydrogen sulfate nat gas constituent [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Fsf_nghep Heptane nat gas constituent [Optional] Use if Supplemental natural
gas is present and is output from fuels.
Msf_mlrmass Molar mass of natural gas [Optional] Use if Supplemental natural
gas is present and is output from fuels.
wsf_ngas Sup natural gas flow [Optional] Use if Supplemental natural
gas is present and is output from fuels.

SP_0030 429
9.89 HRSG

HRSG

Parameters Description Usage

Ssf_oil_sgrav Spec grav sup oil [Optional] Use if Supplemental oil is


present.
tsf_oil Temp of sup oil [Optional] Use if Supplemental oil is
present.
wsf_oilflow Sup oil flow [Optional] Use if Supplemental oil is
present.
hsf_lhv Sup fuel lower heating value [Optional] Use if Supplemental fuel is
present. This is total supp fuel lower
heating value.

ehrsgdesio hrsg design i/o effic [Optional]

wtotfuel Total fuel flow REQUIRED


patmos atmospheric pres REQUIRED
Rcarb Fuel carbon pcnt REQUIRED
Rhydr Fuel hydrogen pcnt REQUIRED
Roxy Fuel oxygen pcnt REQUIRED
Rsulf Fuel sulf pcnt REQUIRED
Rnitr Fuel nitr pcnt REQUIRED
Rmoist Fuel miost REQUIRED
Rco2 Fuel carb dioxide pcnt REQUIRED
Rco Fuel carb monoxide pcnt REQUIRED
Rso2 Fuel sulfer dioxide pcnt REQUIRED
Rncmbt Fuel non comb pcnt REQUIRED
Rsf_carb sup fuel carbon pcnt [Optional] Use if supp fuel is fired.

Rsf_hydr sup fuel hydrogen pcnt [Optional] Use if supp fuel is fired.
Rsf_oxy sup fuel oxygen pcnt [Optional] Use if supp fuel is fired.
Rsf_sulf sup fuel sulf pcnt [Optional] Use if supp fuel is fired.
Rsf_nitr sup fuel nitr pcnt [Optional] Use if supp fuel is fired.
Rsf_moist sup fuel moist [Optional] Use if supp fuel is fired.
Rsf_co2 sup fuel carbon dioxide pcnt [Optional] Use if supp fuel is fired.
Rsf_co sup fuel carbon monxide pcnt [Optional] Use if supp fuel is fired.
Rsf_so2 sup fuel carbon dioxide pcnt [Optional] Use if supp fuel is fired.

Rsf_ncmbt sup fuel non comb pcnt [Optional] Use if supp fuel is fired.
thrsgout hrsg outlet temp REQUIRED
Ffueltoairact act fuel to air ratio REQUIRED
Wvapin ambient spec humid REQUIRED
Wvap amb spec humid @ cmp inlet REQUIRED

430 SP_0030
9.89 HRSG

HRSG

Parameters Description Usage

hctdes comb turb des Exhaust gas enth [Optional]

Rlcsng pcnt casing heat loss REQUIRED

hctcompin Comb turb inlet enth REQUIRED


qctexh comb turb Exhaust heat REQUIRED

ehrsgdestl hrsg des therm loss effic [Optional]


Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

qhpstm hp section heat [Optional]

qipstm ip section heat [Optional]


qrhstm reheat section heat [Optional]
qlpstm lp section heat [Optional]
qhpbdn hp blowdown heat [Optional]
qipbdn ip blowdown heat [Optional]
qlpbdn lp blowdown heat [Optional]
qbfp boiler feedpump heat [Optional]
qmisc1 misc 1 heat [Optional]
qmisc2 misc 2 heat [Optional]
qhrsgout hrsg total heat out [Optional]
wtot_sfuel Total sup fuel flow [Optional]
qsh_texh Gas turb Exh sens heat [Optional]
pabs_sfngas Sup fuel nat gas abs press [Optional]
hsf_gasmix enth of nat gas sup fuel [Optional]
hsf_stpngas enth at stand temp and pres [Optional]
qsf_ngas_sht Nat gas sup fuel sens heat [Optional]
tsf_api Oil sup fuel API [Optional]
hsf_sgrav Oil sup fuel spec grav [Optional]
qsf_oil_sht Oil sup fuel sens heat [Optional]
qsf_sensheat Tot sup fuel sens heat [Optional]
qsf_fuel Heat in sup fuel [Optional]
qhrsgin Hrsg total heat in [Optional]
qsf_heatin Total heat supp fuel [Optional]
ehrsgeffio hrsg input/output eff [Optional]
ehrsgdevio hrsg input/output eff dev [Optional]

SP_0030 431
9.89 HRSG

HRSG

Parameters Description Usage

wfuelmix total fuel flow [Optional]


Rfuel Fuel to total fuel ratio [Optional]
Rsfuel Sup fuel to total fuel ratio [Optional]
Rmixc mixed carb pcnt [Optional]
Rmixh2 mixed hydr pcnt [Optional]
Rmixo2 mixed oxygen pcnt [Optional]
Rmixsulf mixed sulf pcnt [Optional]
Rmixn2 mixed nitr pcnt [Optional]
Rmixmoist mixed moist pcnt [Optional]
Rmixco2 mixed CO2 pcnt [Optional]
Rmixco mixed co pcnt [Optional]
Rmixso2 mixed SO2 pcnt [Optional]
Rmixcmbt mixed non comb pcnt [Optional]
whrsgexhst hrsg Exhaust flow [Optional]
Fsfexh supp fuel ratio [Optional]
hhrsgout hrsg Exhaust gas enthalpy [Optional]
qhrsgsgl stack gas heat loss [Optional]
qhrsgcls casing heat loss [Optional]
qhltot hrsg total heat losses [Optional]
ehrsgefftl hrsg therm loss effic [Optional]
ehrsgdevtl hrsg therm loss effic dev [Optional]
Digital Outputs

< NONE >

Constants

TAPICONST1 = CHSPEC2 = -0.11426 CHSPEC5 = 2.18e-04


141.5
TAPICONST1 = CHSPEC3 = 0.373 CHSPEC6 = 7.0E-07
131.5
CHSPEC1 = -30.016 CHSPEC4 = 1.43e-03 Hoil_ref = 7.8

432 SP_0030
9.89 HRSG

9.89.1 HRSG Calculation Overview

The HRSG is the Heat Recovery Steam Generator module. HRSG efficiency is defined as the
ratio of heat absorbed by the steam and water circuits to the heat added to the HRSG. The
primary sources of heat input to the HRSG are the sensible heat in the CTG exhaust and the heat
supplied from supplementary fuel (if used).

The heat out of the HRSG consists of energy added to the steam and water circuits within the
HRSG. To calculate this, all of the temperatures, pressures, and flows of each working fluid
stream as it enters and leaves the HRSG must be measured.

The ASME Thermal-Loss Method determines the major heat losses in the HRSG as a percentage
of total heat input. The losses are subtracted from 100% to determine efficiency.

HRSG Total Heat Output (qhrsgout)

The total heat leaving the HRSG is comprised of the heat in the steam at each stage extraction
and the heat in each stage blowdown flow. In addition there may be other miscellaneous steam
flows where heat is leaving the HRSG. In general the heat in each extraction is equal to the flow
times the difference between the enthalpy of the steam at the extraction and the enthalpy of the
feedwater.

Calculate the heat input by the various sections. If a section is not used, the heat calculated is
set to zero.

Calculate heat output - HP stage

qhpstm = (whpstm * (hhpstm - hhpeci)) / RHTCNV;

Calculate heat output - IP stage

qipstm = (wipstm * (hipstmout - hipstmin)) / RHTCNV;

Calculate Reheat Stage Heat

qrhstm = (wrhstm * (hrhstmout - hrhstmin)) / RHTCNV;

Calculate LP Stage Heat

qlpstm = (wlpstm * (hlpstm - hlpeci)) / RHTCNV;

Calculate HP Blowdown Heat

qhpbdn = (whpbdn * (hhpdrm - hhpeci)) / RHTCNV;

Calculate IP Blowdown Heat

qipbdn = (wipbdn * (hipdrm - hipeci)) / RHTCNV;

Calculate LP Blowdown Heat

qlpbdn = (wlpbdn * (hlpdrm - hlpeci)) / RHTCNV;

Calculate heat from boiler feedpumps

qbfp = (wbfp * (hbfpdis - hbfpsuc)) / RHTCNV;

SP_0030 433
9.89 HRSG

Calculate heat from misc 1

qmisc1 = (wmisc1 * (hmisc1out - hmisc1in)) / RHTCNV;

Calculate heat from misc2

qmisc2 = (wmisc2 * (hmisc2out - hmisc2in)) / RHTCNV;

Calculate heat from misc3

if (wmisc3 not configured)


wmisc3 = 0.0;
qmisc3 = (wmisc3 * (hmisc3out - hmisc3in)) / RHTCNV;

Calculate heat from misc4

if (wmisc4 not configured)


wmisc4 = 0.0;
qmisc4 = (wmisc4 * (hmisc4out - hmisc4in)) / RHTCNV;

Calculate total heat output:

qhrsgout = qhpstm + qipstm + qrhstm + qlpstm + qhpbdn + qipbdn + qlpbdn + qbfp + qmisc1
+ qmisc2 + qmisc3 + qmisc4

HRSG Total Heat Input

The total heat supplied to the HRSG is calculated as follows:

qhrsgin = qsh_texh + qsf_sensheat + qsf_fuel

where:

qsh_texh - is the sensible heat supplied from the CTG exhaust


qsh_texh = ((wctexh + wtot_sfuel) * (hhrsgin - hctref)) / RHTCNV;

qsf_sensheat - is the sensible heat from supplemental fuel


qsf_sensheat = ((wsf_ngas * qsf_ngas_sht) + (wsf_oilflow * qsf_oil_sht)) /

(wsf_ngas + wsf_oilflow);

qsf_fuel - is heat supplied from supplemental fuel


qsf_fuel = (wtot_sfuel * hsf_lhv) / RHTCNV

Input/Output Efficiency

The Input-output efficiency is calculated by dividing the total HRSG heat out by the total heat in.

ehrsgeffio = (qhrsgout/qhrsgin) * 100.0;


ehrsgdevio = ehrsgeffio - ehrsgdesio;

434 SP_0030
9.89 HRSG

Heat Loss Efficiency

The heat loss efficiency is calculated by dividing the total heat losses by the total heat input to the
HRSG. This quotient is then subtracted from 1 and multiplied by 100 yielding the efficiency. The
calculations are summarized as follows:

Calculate total HRSG exhaust flow

whrsgexhst = wctexh + wtot_sfuel;

Calculate heat loss in stack gases

qhrsgsgl = (whrsgexhst * (hhrsgout - hctcompin)) / RHTCNV;

Calculate casing heat loss

qhrsgcls = Rlcsng * qhrsgin * 0.01;

Calculate total losses

qhltot = qhrsgsgl + qhrsgcls;

Calculate thermal loss efficiency and deviation

ehrsgefftl = (1 - (qhltot / qctexh)) * 100.0;


ehrsgdevtl = ehrsgefftl - ehrsgdestl;

SP_0030 435
9.90 Hwblrstm

9.90 Hw blrstm

The Hwblrstm algorithm calculates the boiler steam enthalpy and flow.

YES Units are Converted.

HWBLRSTM

Parameters Description Usage

Analog Inputs

pblrstm boiler superht out press REQUIRED

patmos atmospheric pressure REQUIRED


tblrstm boiler superht out temp REQUIRED
wblrfw boiler feedwater flow REQUIRED
wdssht superheat spray flow [Optional] Use if superheat
spray flow present
wsoot operator entered soot flow [Optional] Use if soot
blower steam flow present
waddmisc misc flow add to blr stm flow [Optional] Use if misc flow
added to main flow
wbldwn blowdown flow [Optional] Use if blowdown
flow present
wsjae steam jet airEjector flow [Optional] Use if steam jet
airEjector flow present
waxstm auxiliary steam flow [Optional] Use if auxiliary
steam flow present
wcyclss cycle loss flow [Optional] Use if cycle loss
flow present
wmakeup makeup water flow [Optional] Use if makeup
water flow present
wsubmisc misc flow sub fr blr stm flow [Optional] Use if misc flow
subtracted from boiler
steam flow
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

pabsblr abs blr supht out pres [Optional]

hblrstm blr supht out enth [Optional]


wblrstm blr supht out stm flow [Optional] Used in boiler
Digital Outputs

< NONE >

Constants

436 SP_0030
9.90 Hwblrstm

HWBLRSTM

Parameters Description Usage

< NONE >

9.90.1 Hwblrstm Calculation Overview

Superheat Boiler Steam Flow.(wblrstm)

wblrstm = wblrfw + wdssht + waddmisc - (wbldwn + wsoot + wsjae + waxstm + wcyclss +


wmakeup + wsubmisc)

SP_0030 437
9.91 Hwmnstm

9.91 Hw mnstm

The Hwmnstm algorithm calculates the main steam enthalpy and flow.

YES Units are Converted.

HWMNSTM

Parameters Description Usage

Analog Inputs

pmnstm main steam pressure REQUIRED

patmos atmospheric pressure REQUIRED


tmnstm main steam temperature REQUIRED
wblrstm boiler feedwater flow REQUIRED
waddmisc misc flow add to mn stm flow [Optional] Use if there is a misc flow added to
main steam flow
wssr steam seal regulator flow [Optional] Use if there is steam seal regulator flow
wbfpt boiler feedpump turbine flow [Optional] Use if there is boiler feedpump turbine
flow
wsubmisc misc flow sub fr mn stm flow [Optional] Use if there is a misc flow subtracted
from main steam flow
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

pabsmain abs main stm pressure [Optional]

hmnstm main steam enthalpy [Optional]


wmnstm main steam flow [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.91.1 Hwmnstm Calculation Overview

Main Steam Flow.

wmnstm = wblrstm + waddmisc - (wssr + wbfpt + wsubmisc);

438 SP_0030
9.92 Interpolate

9.92 Interpolate

The Interpolate algorithm interpolates the dependent value based on the independent value input
and up to 10 data sets of the dependent and independent values.

The dependent value is calculated using linear interpolation. The result can be modified by
multiplying by a gain and/or adding a bias.

Note that the gain and bias can be points, constants or both points and constants.

NO Units are Converted.

INTERPOLATE

Parameters Description Usage

Analog Inputs
kxvalue x input value [Optional]
kyvalue1 y value 1 [Optional]
kyvalue2 y value 2 [Optional]
kyvalue3 y value 3 [Optional]
kyvalue4 y value 4 [Optional]

kyvalue5 y value 5 [Optional]


kyvalue6 y value 6 [Optional]
kyvalue7 y value 7 [Optional]
kyvalue8 y value 8 [Optional]
kyvalue9 y value 9 [Optional]
kyvalue10 y value 10 [Optional]
kptgain point gain [Optional]
kptbias point bias [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs
kylovalue lo y value [Optional]
kyhivalue hi y value [Optional]
kxlovalue lo x value [Optional]
kyhivalue hi x value [Optional]
kyvalue y value [Optional]
Digital Outputs
< NONE >
Constants
kcgain 1

SP_0030 439
9.92 Interpolate

INTERPOLATE

Parameters Description Usage

kcbias 0
kxvalue1 0
kxvalue2 10
kxvalue3 20
kxvalue4 30
kxvalue5 40
kxvalue6 50
kxvalue7 60
kxvalue8 70
kxvalue9 80
kxvalue10 90
knumvalues 10

9.92.1 Interpolate Calculation Overview

Read design screen parameters

zbad_yvalue = 0;

kyarray[0] = kyvalue1;
kyarray[1] = kyvalue2;
kyarray[2] = kyvalue3;
kyarray[3] = kyvalue4;
kyarray[4] = kyvalue5;
kyarray[5] = kyvalue6;
kyarray[6] = kyvalue7;
kyarray[7] = kyvalue8;
kyarray[8] = kyvalue9;
kyarray[9] = kyvalue10;

kxarray[0] = kxvalue1;
kxarray[1] = kxvalue2;
kxarray[2] = kxvalue3;
kxarray[3] = kxvalue4;
kxarray[4] = kxvalue5;

440 SP_0030
9.92 Interpolate

kxarray[5] = kxvalue6;
kxarray[6] = kxvalue7;
kxarray[7] = kxvalue8;
kxarray[8] = kxvalue9;
kxarray[9] = kxvalue10;

numvalues = int(knumvalues);

If only one y value exists, return that value.

if (numvalues == 1)

kytemp = kyarray[0];

else

If the actual value is smaller than the lower boundary, set the result to the lower boundary and
mark the quality bad.

if (kxvalue < kxarray[0])

kytemp = kyarray[0];
kres1 = kyarray[0];
kres2 = kyarray[0];
lowx = 0;
upx = 0;
zbad_yvalue = 1;

else

If the actual value is larger than the upper boundary, set the result to the upper boundary and
mark the quality bad.

if (kxvalue > kxarray[numvalues-1])

kytemp = kyarray[numvalues-1];
kres1 = kyarray[numvalues-1];
kres2 = kyarray[numvalues-1];
lowx = numvalues-1;
upx = numvalues-1;
zbad_yvalue = 1;

else

Calculate the result based on linear interpolation

for (i=0; kxvalue > kxarray[i]; i++);

SP_0030 441
9.92 Interpolate

If the x input value equals the xarray value, set the lower x index equal to this position. Otherwise
the lower x region will be one below this value.

if (kxvalue == kxarray[i])

lowx = i;
upx = i+1;

else

lowx = i-1;
upx = i;

kres1 = kyarray[lowx];

Check to see if at the last x value. If so, set the result equal to kres1.

Otherwise, calculate kres2 and interpolate to get the result.

if (kxvalue != kxarray[numvalues-1])

kres2 = kyarray[upx];
kytemp = kres1+(kres2-kres1)*(kxvalue-kxarray[lowx])/
(kxarray[upx]-kxarray[lowx]);

else

kytemp = kres1;

kgain_tot = kptgain + kcgain;

kbias_tot = kptbias + kcbias;

kylovalue = kres1;

kyhivalue = kres2;

kxlovalue = kxarray[lowx];

kxhivalue = kxarray[upx];

kyvalue = (kytemp * kgain_tot) + kbias_tot;

If any value was out of range, set the quality to UNCERTAIN.

if (zbad_yvalue == 1)
kyvalue = QUAL_UNCERTAIN;

442 SP_0030
9.93 Invdig

9.93 Invdig

The Invdig algorithm inverts a Digital flag.

NO Units are Converted.

INVDIG

Parameters Description Usage

Analog Inputs

kdummy dummy input [Optional]

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zflag input flag REQUIRED


Analog Outputs

< NONE >

Digital Outputs

zinvflag inverted flag output REQUIRED

Constants

< NONE >

9.93.1 Invdig Calculation Overview

The Invdig algorithm inverts the digital input zflag and outputs the result in zinvflag.

The code below shows a summary of this algorithm.

if (zflag)

zinvflag = 0

else

zinvflag = 1

SP_0030 443
9.94 Ipturbdeseff

9.94 Ipturbdeseff

The Ipturbdeseff algorithm calculates the expected efficiency from the inlet bowl conditions to the
turbine exhaust. The calculated expected efficiency is then corrected to compute the expected
efficiency from the turbine inlet conditions to the measured crossover conditions.

Ipturbdeseff calculates design (or expected) intermediate pressure turbine efficiency using the
method outlined in Chapter 4, section iii.a.1, in K.C. Cotton's Evaluating and Improving Steam
Turbine Performance.

YES Units are Converted.

IPTURBDESEFF

Parameters Description Usage

Analog Inputs

Rintvlvedrop pressure drop across intercept valve REQUIRED

pabsphrhip ip turbine inlet pressure REQUIRED


hhrhip ip turbine inlet enthalpy REQUIRED
hitrxi ip turbine isen enthalpy REQUIRED
pabsxover crossover pressure REQUIRED
hipbwl bowl enthalpy REQUIRED
wipbwl bowl steam flow REQUIRED
Rpxsdrop trb exh to xover pct pres drop REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

pabspipbwl bowl pressure [Optional]

pabspipex ip turb exhaust pressure [Optional]


Fripprs pressure ratio across ip turb [Optional]
tipbwl bowl temperature [Optional]
vipbwl specific vol at bowl conds [Optional]
wgvolipbwl vol bowl steam flow [Optional]
kacoeff exp ip turb eff equ a coeff [Optional]
kbcoeff exp ip turb eff equ b coeff [Optional]
eipbwlexh exp ip turb effic [Optional]
sipbwl bowl entropy [Optional]
hipexi bowl to exh isen enth [Optional]
hipex exp ip turb exh enth [Optional]
eipturbdeseff inlet to xover exp ip trb eff [Optional]

444 SP_0030
9.94 Ipturbdeseff

IPTURBDESEFF

Parameters Description Usage

Digital Outputs

< NONE >

Constants

< NONE >

9.94.1 Ipturbdeseff Calculation Overview

IP turbine bowl pressure is calculated by assuming a percent pressure drop across the IP turbine
inlet valve

pabspipbwl = pabsphrhip * (1.0 - 0.01 * Rintvlvedrop);

The pressure at the IP turbine exhaust is calculated as function of crossover pressure and
percent pressure drop from turbine exhaust to crossover

pabspipex = pabsxover / (1.0 - 0.01 * Rpxsdrop);

The pressure ratio across the IP turbine stages is calculated as the ratio of bowl pressure to
exhaust pressure

Fripprs = pabspipbwl / pabspipex;

The IP turbine bowl temperature (tipbwl) is calculated from the bowl pressure and enthalpy. The
volumetric bowl in cubic feet per hour is calculated by multiplying mass flow by the bowl specific
volume.

The internal IP turbine efficiency is calculated based on Figure 13 of, "IP Turbine and HP turbine
Turbine Single Stages Efficiency", GER2007C. This calculation is based on a procedure outlined
in Appendix IV of the paper, and K.C. Cotton's "Evaluating and Improving Steam Turbine
Performance".

Expected IP Turbine Efficiency (eipbwlexh)

eipbwlexh = (kacoeff + kbcoeff / wgvolipbwl) / 0.98;

Where:

kacoeff = 90.799 + 0.7474 * (log(Fripprs - 0.3) - 0.5454) / (log(Fripprs - 0.3))


kbcoeff = -505000.0 + 77568.0 * (log(Fripprs + 0.8)) - 1262500.0 / (log(Fripprs + 0.8))
wgvolipbwl = Volumetric bowl flow

Since the steam enthalpy at the IP turbine exhaust is equivalent to crossover enthalpy, the
expected IP turbine exhaust enthalpy is equivalent to the expected crossover enthalpy.

Expected IP Turbine Efficiency (eipturbdeseff)

eipturbdeseff = 100.0 * ((hhrhip - hipex) / (hhrhip - hitrxi));

SP_0030 445
9.94 Ipturbdeseff

Where:

hhrhip = IP Turbine Inlet Enthalpy


hipex = Expected enthalpy at turbine exhaust
hipex = hipbwl - 0.01 * eipbwlexh * (hipbwl - hipexi)

Where:

hipbwl = Bowl enthalpy


eipbwlexh = Expected IP turbine efficiency
hipexi = Isentropic enthalpy at the turbine exhaust

446 SP_0030
9.95 Loselect6

9.95 Loselect6

The Loselect6 algorithm selects the lowest value of six inputs The result can be modified by
multiplying by a gain and adding a bias Note that the gain and bias values can be points,
constants or both points and constants.

NO Units are Converted.

LOSELECT6

Parameters Description Usage

Analog Inputs

kvalue1 lo select value 1 REQUIRED

kvalue2 lo select value 2 REQUIRED


kvalue3 lo select value 3 [Optional]
kvalue4 lo select value 4 [Optional]
kvalue5 lo select value 5 [Optional]
kvalue6 lo select value 6 [Optional]
kptgain point gain [Optional]
kptbias point bias [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

klo6_result lo select result REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

9.95.1 Loselect6 Calculation Overview

The Loselect6 algorithm selects the lowest value of kvalue1 - kvalue6. The output (klo6_result)
can also be gained and biased by constants and/or points.

SP_0030 447
9.96 Lpfedhtr

9.96 Lpfedhtr

The Lpfedhtr algorithm calculates a heat and materials balance around a low pressure shell and
tube type heat exchanger. The extraction and drain flows are calculated for the feedheater, the
turbine extraction flow and enthalpy are also calculated.

YES Units are Converted.

LPFEDHTR

Parameters Description Usage

Analog Inputs

pfhoutlt feedhtr outlet press [Optional]

tfhoutlt feedhtr outlet temp REQUIRED


pfhinlt feedhtr inlet press REQUIRED
tfhinlt feedhtr inlet temp REQUIRED
tfhrisedes design feedhtr temp rise [Optional]
wdrninlt drain inlet flow [Optional]
hdrninlt drain inlet enthalpy [Optional]
tdrnoutlt drain outlet temperature REQUIRED
wblrfw boiler feedwater flow REQUIRED
waux auxiliary flow [Optional]
wlkg leakage flow [Optional]
hlkg leakage enthalpy [Optional]
pextr extraction press [Optional]
pabsextract absolute extraction press [Optional] Can only be used for lp
feedheaters

patmos atmospheric press REQUIRED

textr extraction temp [Optional]


pturb turbine extraction press [Optional]
pabsturbine absolute turb extr press [Optional] Can only be used for lp
feedheaters

tturb turbine extraction temp [Optional]

pdrop press drop from turb to fedhtr [Optional] Use if only turbine extraction
pressure is available.

pincr press incr from fedhtr to turb [Optional] Use if only turbine extraction
pressure is available.
wssr stm seal regulator flow [Optional]

hssr stm seal regulator enthalpy [Optional]

448 SP_0030
9.96 Lpfedhtr

LPFEDHTR

Parameters Description Usage

hpolyextr feedhtr Extr enthal approx [Optional] Use if only in the wet steam
region.

hpolyturb turbine Extr enthal approx [Optional] Use if only in the wet steam
region.
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zfedhtr_on fedhtr in-service flag [Optional]


zfedhtr_off feedheater out-of-service flag [Optional]
Analog Outputs

tfhrise fedhtr temp rise [Optional]

tfhrisedev fedhtr temp rise deviation [Optional]


hdrnin_tot fedhtr drain inlet enthalpy [Optional]
wdrnin_tot fedhtr drain inlet flow [Optional]
pabsfhoutlt fedhtr abs outlet press [Optional]
psatoutlt fedhtr abs sat outlet press [Optional]
hfhoutlt fedhtr outlet enthalpy [Optional]
pabsfhinlt fedhtr abs inlet press [Optional]
psatinlt fedhtr abs sat inlet press [Optional]
hfhinlt fedhtr inlet enthalpy [Optional]
hdrnoutlt Fedhtr drain enthalpy [Optional]
wfhoutlt fedhtr outlet flow [Optional]
wfhinlt fedhtr inlet flow [Optional]
pabsextr fedhtr Extr press abs [Optional]
pabsturb turbine Extr press abs [Optional]
hextr fedhtr Extr enthalpy [Optional]
wextr fedhtr Extr flow [Optional]
wturb turbine Extr flow to fedhtr [Optional]
hturb turbine Extr enthal to fedhtr [Optional]
wdrnoutlt fedhtr drain outlet flow [Optional]
tsat fedhtr sat temp [Optional]
wcnddvrt fedhtr flow diverted to condsr [Optional]
hcnddvrt fedhtr enthal divrtd to condsr [Optional]
whtrdvrt fedhtr drn flow dvrt [Optional]
hhtrdvrt fedhtr drn enth dvrt [Optional]
Digital Outputs

SP_0030 449
9.96 Lpfedhtr

LPFEDHTR

Parameters Description Usage

zinsvcfh feedheater in-service flag [Optional]

Constants

< NONE >

9.96.1 Lpfedhtr Calculation Overview

Lpfedhtr calculates the following for a low-pressure feedheater:


 Feedheater Extraction Flow
 Feedheater Drain Flow
 Turbine Extraction Flow
 Enthalpy of the turbine extraction
These items are calculated by doing a heat and materials balance around the feedheater.

Temperature Rise and Deviation

tfhrise = tfhoutlt - tfhinlt


tfhrisedev = tfhrise - tfhrisedes

Turbine Extraction Flow

wturb = (wfhoutlt*(hfhoutlt-hfhinlt) - wlkg*(hlkg - hdrnoutlt) - wdrnin_tot*(hdrnin_tot - hdrnoutlt)


+ waux*(hturb - hdrnoutlt)) / (hturb - hdrnoutlt)

Where:

wturb = Turbine extraction flow (flow measurement at the turbine)


wfhoutlt = Feedwater flow leaving the feedheater
hfhoutlt = Enthalpy of feedwater leaving the feedheater
hfhinlt = Enthalpy of feedwater entering the feedheater
wlkg = Leakage flow that combines with turbine extraction before the feedheater
hlkg = Leakage enthalpy
hdrnoutlt = Enthalpy of the feedheater drain flow
wdrnin_tot = Feedheater inlet drain flow plus any diverted drain flows from upstream
feedheaters
hdrnin_tot = Enthalpy of total feedheater inlet drain flow
waux = Auxiliary steam flow from feedheater
hturb = Enthalpy of turbine extraction flow

Feedheater Extraction Flow (wextr - flow measurement at the feedheater)

wextr = wturb + wlkg - waux


Feedheater Drain Outlet Flow (wdrnoutlt)
wdrnoutlt = wextr + wdrnin_tot

450 SP_0030
9.97 Lpsec

9.97 Lpsec

Lpsec calculates the LP section of the HRSG outlet flow, steam enthalpy, pre-heater enthalpy,
saturated liquid drum enthalpy and saturated steam drum enthalpy.

Yes Units are Converted.

LPSEC

Parameters Description Usage

Analog Inputs

wsecin section inlet flow REQUIRED

wdesuper desuperheater flow [Optional]


waddmisc misc added flow [Optional]
wbldwn blowdown flow [Optional]
wsubmisc misc subtracted flow [Optional]
pstm stage steam pressure REQUIRED
patmos atmospheric pressure REQUIRED
tstm steam temp REQUIRED
tcondpre cond prehtr inlet temp REQUIRED
pdrum stage drum pressure REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

wsecout lp outlet flow [Optional]

pabsstm lp stm abs pressure [Optional]


hstm lp stm enthalpy [Optional]
hcondpre cond prehtr inlet enth [Optional]
pabsdrum lp abs drum pres [Optional]
hliqdrum lp liq drum enth [Optional]
hsatdrum lp sat drum enth [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 451
9.97 Lpsec

9.97.1 Lpsec Calculation Overview

Lpsec calculates the following for the LP section of the HRSG:


 Outlet steam flow
 Outlet steam enthalpy
 Preheater enthalpy
 Saturated liquid drum enthalpy
 Saturated steam drum enthalpy
Section Outlet Flow

wsecout = wsecin + wdesuper + waddmisc - wbldwn - wsubmisc

Enthalpies are calculated from the steam tables.

452 SP_0030
9.98 Lptrb

9.98 Lptrb

The Lptrb algorithm calculates the lp turbine outlet flow, the lp turbine outlet enthalpy by
conducting a thermal and energy balance around the whole turbine, the lp isentropic enthalpy and
the lp turbine efficiency.

YES Units are Converted.

LPTRB

Parameters Description Usage

Analog Inputs

wmnstm main steam flow [Optional]

hmnstm main steam enthalpy [Optional]


whrhte hot reheat flow [Optional]
hhrhte hot reheat enthalpy [Optional]
wcrhte cold reheat flow [Optional]
hcrhte cold reheat enthalpy [Optional]
Pmwtot total energy absorbed [Optional]
qext heat flow in extraction steam [Optional]
qleaks heat flow to the glands [Optional]
qmisc misc heat flow [Optional]
wlpadmin lp admission stm flow [Optional]
tlpadmin lp admission stm temp [Optional]
plpadmin lp admission stm pressure [Optional]
wlpturbin lp turbine inlet flow REQUIRED
wlpturbext lp turbine extraction flow [Optional]
plpturbin lp turbine inlet pressure [Optional]
tlpturbin lp turbine inlet temp [Optional]
plpturbout lp turbine outlet pressure [Optional]
patmos atmospheric pressure REQUIRED
elpturbdes lp turbine design efficiency [Optional]
Digital Inputs Description Usage

zdocalc digital perf calc run flag REQUIRED

Analog Outputs Description Usage

qsttot heat acquired by stm [Optional]

qgen generation energy [Optional]


qlpnet net heat flow in LP Exhaust [Optional]
wlpturbout lp turbine Exhaust flow [Optional]

SP_0030 453
9.98 Lptrb

LPTRB

Parameters Description Usage

hlpturbout lp turbine Exhaust enth [Optional]

pabslpturbin turbine inlet absolute pres [Optional]

hlpturbin turbine inlet enthalpy [Optional]


pabslpadmin lpadmission abs pres [Optional]

hlpadmin lpadmission enth [Optional]

qlpadmin lp admission heat [Optional]


pabslpturbout turbine outlet absolute pres [Optional]
hilpturb lp turbine isentropic enth [Optional]
elpturbeff lp turb efficiency [Optional]
elpturbdev lp turb effic deviation [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.98.1 Lptrb Calculation Overview

Lptrb calculates the following items for the LP turbine stage:


 LP turbine outlet flow
 LP turbine outlet enthalpy
 LP turbine isentropic enthalpy
 LP turbine efficiency
This algorithm performs a heat and energy balance around the whole turbine.

Heat Acquired by Steam

qsttot = (wmnstm * hmnstm + whrhte * hhrhte - wcrhte * hcrhte) / 1000

Generation Energy

qgen = PENCNV * Pmwtot / 1000

Where:

PENCNV = conversion of KWH to BTU

Calculate lp admission heat

hlpadmin = hsstp(tlpadmin,pabslpadmin)
qlpadmin = (wlpadmin * hlpadmin) / RHTCNV

454 SP_0030
9.98 Lptrb

Net Heat Flow Contained in LP Turbine Exhaust

qlpnet = qsttot + qlpadmin - qext - qleaks - qgen - qmisc;

Turbine LP Exhaust Flow and Enthalpy

wlpturbout = wlpturbin - wlpturbext;


hlpturbout = (qlpnet / wlpturbout) * 1000

LP Turbine Efficiency

elpturbeff = ((hlpturbin - hlpturbout) / (hlpturbin - hilpturb)) * 100.0;

Where:

hlpturbin = LP Turbine Inlet Enthalpy


hlpturbout = LP Turbine Exhaust Enthalpy
hilpturb = LP Turbine Inlet Isentropic Enthalpy

Lp Turbine Efficency Deviation

elpturbdev = elpturbeff - elpturbdes

SP_0030 455
9.99 Lpturb3eff

9.99 Lpturb3eff

The Lpturb3eff algorithm calculates three stages of efficiency of the LP turbine.

YES Units are Converted.

LPTURB3EFF

Parameters Description Usage

Analog Inputs
tlptai LP turbine stage A in temp REQUIRED

tlptao LP turbine stage A out temp REQUIRED


tlptbo LP turbine stage B out temp REQUIRED
palpta LP turbine stage A out press REQUIRED
palptb LP turbine stage B out press REQUIRED
plptai LP turbine stage A in press REQUIRED
palpexh LP turbine exhaust press REQUIRED
patmos Atmospheric pressure REQUIRED
Rtoler Convergence tolerance REQUIRED
Rincr Steam quality iteration delta REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

palptai LP turb stage A in press [Optional]

hlptai LP turb stage A in enth [Optional]


hlptao LP turb stage A out enth [Optional]
hlptbo LP turb stage B out enth [Optional]
hlptaisen LP turb stage A isen enth [Optional]
hlptbisen LP turb stage B isen enth [Optional]
hlptexhisen LP turb exh stage isen enth [Optional]
hlptotisen LP turb overall isen enth [Optional]
elpta LP turb A stage effic [Optional]
elptb LP turb B stage effic [Optional]
elptavg LP turb avg A B stage effic [Optional]
hcond cond enth LP turb exh press [Optional]
hvap sat vap enth LP trb exh press [Optional]
hlptotlow LP turb exh enth low stm qual [Optional]
hlptothigh LP turb exh enth high stm qual [Optional]

456 SP_0030
9.99 Lpturb3eff

LPTURB3EFF

Parameters Description Usage

elptotlow LP turb all effic low stm qual [Optional]


elptothigh LP trb all effic high stm qual [Optional]
klptot LP turb all effic factor [Optional]
elpexhlow LP exh stg eff low stm qual [Optional]
elpexhhigh LP exh stg eff high stm qual [Optional]
klpexh LP turb exh stg effic factor [Optional]
Rstmqual LP turb exh steam qual [Optional]
Rmoistr LP turb exh steam moist [Optional]
hlptot LP turb exh steam enth [Optional]
elpexh LP turb exh stage effic [Optional]
elptot LP turb overall effic [Optional]
Digital Outputs

< NONE >

Constants

RSTMQLOW 88.0

RSTMQHIGH 95.0
HLPTOTTEST 1010.93
ELPEXHTEST 89.24
ELPTOTTEST 90.68
RSTMQUALTEST 91.62
RMOISTRTEST 7.38

9.99.1 Lpturb3eff Calculation Overview

Convert LP turbine inlet pressure to absolute

palptai = plptai + patmos;

Calculate LP turbine stage A inlet enthalpy

hsstp(&hlptai, &tlptai, &palptai, &ITRNGE);

Calculate LP turbine stage A outlet enthalpy

hsstp(&hlptao, &tlptao, &palpta, &ITRNGE);

Calculate LP turbine stage B outlet enthalpy

hsstp(&hlptbo, &tlptbo, &palptb, &ITRNGE);

SP_0030 457
9.99 Lpturb3eff

LP turbine A stage isentropic enthalpy

histpp(&hlptaisen, &tlptai, &palptai, &palpta, &ITRNGE);

LP turbine B stage isentropic enthalpy

histpp(&hlptbisen, &tlptao, &palpta, &palptb, &ITRNGE);

Calculate LP turbine exhaust stage isentropic enthalpy

histpp(&hlptexhisen, &tlptbo, &palptb, &palpexh, &ITRNGE);

Calculate LP turbine overall isentropic enthalpy

histpp(&hlptotisen, &tlptai, &palptai, &palpexh, &ITRNGE);

LP turbine A stage efficiency

elpta = 100.0 * (hlptai - hlptao) / (hlptai - hlptaisen);

LP turbine B stage efficiency

elptb = 100.0 * (hlptao - hlptbo) / (hlptao - hlptbisen);

Average stage A, stage B efficiencies

elptavg = (elpta + elptb) / 2.0;

Calculate enthalpy of condensate (hcond) and enthalpy of saturated

vapor (hvap) at exhaust pressure (palpexh)


hslp(&hcond, &palpexh, &ITRNGE);
hsvp(&hvap, &palpexh, &ITRNGE);

Calculate LP turbine exhaust enthalpies at low and high steam quality

hlptotlow = 0.01 * (100.0 * hvap - (100.0 - RSTMQLOW) * (hvap - hcond));


hlptothigh = 0.01 * (100.0 * hvap - (100.0 - RSTMQHIGH) * (hvap - hcond));

Calculate LP turbine overall efficiencies at low and high steam quality

elptotlow = 100.0 * (hlptai - hlptotlow) / (hlptai - hlptotisen);


elptothigh = 100.0 * (hlptai - hlptothigh) / (hlptai - hlptotisen);

Calculate overall efficiency factor for equation defined by the two efficiency points

klptot = (elptothigh - elptotlow ) / (RSTMQHIGH - RSTMQLOW);

Calculate LP turbine exhaust stage efficiencies at low, high steam quality

elpexhlow = 100.0 * (hlptbo - hlptotlow) / (hlptbo - hlptexhisen);


elpexhhigh = 100.0 * (hlptbo - hlptothigh) / (hlptbo - hlptexhisen);

Calculate exhaust stage efficiency factor for equation formed by the two points

klpexh = (elpexhhigh - elpexhlow) / (RSTMQHIGH - RSTMQLOW);

458 SP_0030
9.99 Lpturb3eff

Solve for the steam quality at the intersection of the two lines. This is the starting point for the
iteration

Rstmqual = ((elpexhlow - elptotlow) + (klptot * RSTMQLOW - klpexh * RSTMQLOW)) / (klptot -


klpexh);

Zero iteration counter, convergence error flag and last iteration flag

niter = 0;
kconv = 0;
lastiter = 0;

Increment number iterations error if maximum number iterations (30) exceeded

while((kconv < 1) && (niter <= 30))

niter = niter + 1;

Calculate exhaust steam moisture content

Rmoistr = 100.0 - Rstmqual;

Calculate exhaust enthalpy at moisture Rmoist

hlptot = 0.01 * (100.0 * hvap - Rmoistr * (hvap - hcond));

Calculate LP turbine exhaust stage efficiency

elpexh = 100.0 * (hlptbo - hlptot) / (hlptbo - hlptexhisen);

Test for convergence - exhaust stage enthalpy and average A, B stage efficiency must be within a
tolerance

if (elpexh > (elptavg + Rtoler))


{
Increase steam quality by specified increment and reiterate
if (lastiter > 1)
{
Rincr = Rincr / 2.0;
}
lastiter = 1;
Rstmqual = Rstmqual + Rincr;
}
else
{
if (elpexh < (elptavg - Rtoler))
{

SP_0030 459
9.99 Lpturb3eff

Decrease steam quality by specified increment and reiterate


if ((lastiter < 2) && (lastiter > 0))
{
Rincr = Rincr / 2.0;
}
lastiter = 2;
Rstmqual = Rstmqual - Rincr;
}
else
{

Convergence. calculate moisture content and overall LP turbine efficiency at steam quality
Rstmqual

Rmoistr = 100.0 - Rstmqual;


elptot = 100.0 * (hlptai - hlptot) / (hlptai - hlptotisen);
kconv = 2;
}
}
}
if (niter > 30)

Set results to values from G-3 Turbine Efficiency test data. Set all values to bad quality

hlptot = HLPTOTTEST;
elpexh = ELPEXHTEST;
elptot = ELPTOTTEST;
Rstmqual = RSTMQUALTEST;
Rmoistr = RMOISTRTEST;

460 SP_0030
9.100 Massflowliquid

9.100 Massflow liquid

The Massflowliquid algorithm calculates mass flow from volumetric flow.

YES Units are Converted.

MASSFLOWLIQUID

Parameters Description Usage

Analog Inputs

tempinlet inlet temperature REQUIRED

pressinlet inlet pressure REQUIRED


patmos atmospheric pressure REQUIRED
wvolume volumetric flow REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

pabssat saturated pressure [Optional]

pabsinlet inlet pressure absolute [Optional]


vinlet inlet volume [Optional]
dinlet inlet density [Optional]
Sspecgrav specific gravity [Optional]
wmass mass flow [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.100.1 Massflowliquid Calculation Overview


wmass = wvolume * MIN_TO_HOUR * GALtoKLB * Sspecgrav

Where:

Sspecgrav = 1.0 / (vinlet * DWATER)

And

Sspecgrav = Specific gravity


vinlet = specific volume
DWATER = Density water at STP = 62.3

SP_0030 461
9.101 Mixer

9.101 Mixer

The Mixer algorithm calculates the outlet flow and enthalpy from a combination of up to 10 input
flows.

YES Units are Converted.

MIXER

Parameters Description Usage

Analog Inputs

win1 mixer 1 flow REQUIRED

win2 mixer 2 flow REQUIRED


win3 mixer 3 flow [Optional]
win4 mixer 4 flow [Optional]
win5 mixer 5 flow [Optional]
win6 mixer 6 flow [Optional]
win7 mixer 7 flow [Optional]
win8 mixer 8 flow [Optional]
win9 mixer 9 flow [Optional]
win10 mixer 10 flow [Optional]
hin1 mixer 1 enthalpy REQUIRED
hin2 mixer 2 enthalpy REQUIRED
hin3 mixer 3 enthalpy [Optional]
hin4 mixer 4 enthalpy [Optional]
hin5 mixer 5 enthalpy [Optional]
hin6 mixer 6 enthalpy [Optional]
hin7 mixer 7 enthalpy [Optional]
hin8 mixer 8 enthalpy [Optional]
hin9 mixer 9 enthalpy [Optional]
hin10 mixer 10 enthalpy [Optional]
kptgain point gain [Optional]
kptbias point bias [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

woutlt mixer outlet flow [Optional]

qoutlt mixer outlet heat [Optional]


houtlt mixer outlet enthalpy [Optional]

462 SP_0030
9.101 Mixer

MIXER

Parameters Description Usage

Digital Outputs

< NONE >

Constants
kcqgain = 1
kcqbias = 0

9.101.1 Mixer Calculation Overview

Total Flow

woutlt = win1 + win2 + win3 + win4 + win5 + win6 + win7 + win8 + win9 + win10;

Heat in Combined Flows

qoutlt = ((((win1*hin1) + (win2*hin2) + (win3*hin3) + (win4*hin4) + (win5*hin5) + (win6*hin6) +


(win7*hin7) + (win8*hin8) + (win9*hin9) + (win10*hin10)) * KBTUtoMBTU) * ktotgain) +
ktotbias;

Enthalpy of Mixture

houtlt = ((win1*hin1) + (win2*hin2) + (win3*hin3) + (win4*hin4) + (win5*hin5) + (win6*hin6)


+(win7*hin7) + (win8*hin8) + (win9*hin9) + (win10*hin10)) / woutlt

SP_0030 463
9.102 Moistair

9.102 Moistair

The Moistair algorithm calculates three of the five inputs which are not configured. Two of the
following five inputs must be configured.
 dry bulb temperature
 wet bulb temperature
 ambient humidity
 relative humidity
 dew point temperature.
YES Units are Converted.

MOISTAIR

Parameters Description Usage

Analog Inputs

tdryarg dew point temp input [Optional] Two of 5 inputs must be configured:
tdryarg, twetarg, Wvarg, Rlhumarg, tdcwarg

twetarg wet bulb temp input [Optional] Two of 5 inputs must be configured:
tdryarg, twetarg, Wvarg, Rlhumarg, tdcwarg
Wvarg ambient humidity input [Optional] Two of 5 inputs must be configured:
tdryarg, twetarg, Wvarg, Rlhumarg, tdcwarg
Rlhumarg relative humidity input [Optional] Two of 5 inputs must be configured:
tdryarg, twetarg, Wvarg, Rlhumarg, tdcwarg
tdewarg dew point input [Optional] Two of 5 inputs must be configured:
tdryarg, twetarg, Wvarg, Rlhumarg, tdcwarg
patmos atmospheric pressure input REQUIRED

Digital Inputs

zdocalc perf calc run flag REQUIRED

Analog Outputs

tdrybulb dry bulb temperature [Optional]

twetbulb wet bulb temperature [Optional]


Wvap ambient humidity [Optional]
Relhum relative humidity [Optional]

tdewpnt dew point temperature [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

464 SP_0030
9.102 Moistair

9.102.1 Moistair Calculation Overview

Moistair calculates three of the five following inputs (tdryarg, twetarg, Wvarg, Rlhumarg, tdewarg).
Two of the five inputs must be configured as well as selected on the design screen.

SP_0030 465
9.103 Mult_add

9.103 Mult_add

The Mult_add algorithm adds eight pairs of numbers multiplied together. The result of the eight
pairs of numbers is then divided by the sum of the odd input values. The result of the eight pairs
added together can then be biased or gained by constants, points or both.

NO Units are Converted.

MULT_ADD

Parameters Description Usage

Analog Inputs

kmult_val1 pair 1 - value 1 REQUIRED

kmult_val2 pair 1 - value 2 REQUIRED


kmult_val3 pair 2 - value 1 [Optional]
kmult_val4 pair 2 - value 2 [Optional]
kmult_val5 pair 3 - value 1 [Optional]
kmult_val6 pair 3 - value 2 [Optional]
kmult_val7 pair 4 - value 1 [Optional]
kmult_val8 pair 4 - value 2 [Optional]
kmult_val9 pair 5 - value 1 [Optional]
kmult_val10 pair 5 - value 2 [Optional]
kmult_val11 pair 6 - value 1 [Optional]
kmult_val12 pair 6 - value 2 [Optional]
kmult_val13 pair 7 - value 1 [Optional]
kmult_val14 pair 7 - value 2 [Optional]
kmult_val15 pair 8 - value 1 [Optional]
kmult_val16 pair 8 - value 2 [Optional]
kval1_gain pair 1- value 1 gain [Optional]
kval2_gain pair 1- value 2 gain [Optional]
kval3_gain pair 2- value 1 gain [Optional]
kval4_gain pair 2- value 2 gain [Optional]
kval5_gain pair 3 - value 1 gain [Optional]
kval6_gain pair 3 - value 2 gain [Optional]
kval7_gain pair 4 - value 1 gain [Optional]
kval8_gain pair 4 - value 2 gain [Optional]
kval9_gain pair 5 - value 1 gain [Optional]
kval10_gain pair 5 - value 2 gain [Optional]
kval11_gain pair 6 - value 1 gain [Optional]

466 SP_0030
9.103 Mult_add

MULT_ADD

Parameters Description Usage

kval12_gain pair 6 - value 2 gain [Optional]

kval13_gain pair 7 - value 1 gain [Optional]


kval14_gain pair 7 - value 2 gain [Optional]

kval15_gain pair 8 - value 1 gain [Optional]

kval16_gain pair 8 - value 2 gain [Optional]


kval1_bias pair1 - value 1 bias [Optional]
kval2_bias pair1 - value 2 bias [Optional]
kval3_bias pair2 - value 1 bias [Optional]
kval4_bias pair2 - value 2 bias [Optional]
kval5_bias pair3 - value 1 bias [Optional]
kval6_bias pair3 - value 2 bias [Optional]
kval7_bias pair4 - value 1 bias [Optional]
kval8_bias pair4 - value 2 bias [Optional]
kval9_bias pair5 - value 1 bias [Optional]
kval10_bias pair5 - value 2 bias [Optional]
kval11_bias pair6 - value 1 bias [Optional]
kval12_bias pair6 - value 2 bias [Optional]
kval13_bias pair7 - value 1 bias [Optional]
kval14_bias pair7 - value 2 bias [Optional]
kval15_bias pair8 - value 1 bias [Optional]
kval16_bias pair8 - value 2 bias [Optional]
kptgain point gain [Optional]
kptbias point bias [Optional]
Digital Inputs Description Usage

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

kmult_add_res sum of 8 product pairs [Optional]

kmult_add_div sum 8 pairs div sum odd inputs [Optional]


Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

SP_0030 467
9.103 Mult_add

9.103.1 Mult_add Calculation Overview

First, Gain and Bias all inputs

kmult_val1 = (kmult_val1 * (kval1_gain + kcval1_gain)) + (kval1_bias + kcval1_bias)


kmult_val2 = (kmult_val2 * (kval2_gain + kcval2_gain)) + (kval2_bias + kcval2_bias)
kmult_val3 = (kmult_val3 * (kval3_gain + kcval3_gain)) + (kval3_bias + kcval3_bias)
kmult_val4 = (kmult_val4 * (kval4_gain + kcval4_gain)) + (kval4_bias + kcval4_bias)
kmult_val5 = (kmult_val5 * (kval5_gain + kcval5_gain)) + (kval5_bias + kcval5_bias)
kmult_val6 = (kmult_val6 * (kval6_gain + kcval6_gain)) + (kval6_bias + kcval6_bias)
kmult_val7 = (kmult_val7 * (kval7_gain + kcval7_gain)) + (kval7_bias + kcval7_bias)
kmult_val8 = (kmult_val8 * (kval8_gain + kcval8_gain)) + (kval8_bias + kcval8_bias)
kmult_val9 = (kmult_val9 * (kval9_gain + kcval9_gain)) + (kval9_bias + kcval9_bias)
kmult_val10 = (kmult_val10 * (kval10_gain + kcval10_gain)) + (kval10_bias + kcval10_bias)
kmult_val11 = (kmult_val11 * (kval11_gain + kcval11_gain)) + (kval11_bias + kcval11_bias)
kmult_val12 = (kmult_val12 * (kval12_gain + kcval12_gain)) + (kval12_bias + kcval12_bias)
kmult_val13 = (kmult_val13 * (kval13_gain + kcval13_gain)) + (kval13_bias + kcval13_bias)
kmult_val14 = (kmult_val14 * (kval14_gain + kcval14_gain)) + (kval14_bias + kcval14_bias)
kmult_val15 = (kmult_val15 * (kval15_gain + kcval15_gain)) + (kval15_bias + kcval15_bias)
kmult_val16 = (kmult_val16 * (kval16_gain + kcval16_gain)) + (kval16_bias + kcval16_bias)

Calculate the addition of the multiplied pairs of numbers.

kmult_add_res = (kmult_val1 * kmult_val2) + (kmult_val3 * kmult_val4) +

(kmult_val5 * kmult_val6) + (kmult_val7 * kmult_val8) +


(kmult_val9 * kmult_val10) + (kmult_val11 * kmult_val12) +
(kmult_val13 * kmult_val14) + (kmult_val15 * kmult_val16)

Calculate the total divided by the sum of the odd inputs.

kmult_add_div = kmult_add_res / (kmult_val1 + kmult_val3 + kmult_val5 + kmult_val7 +

kmult_val9 + kmult_val11 + kmult_val13 + kmult_val15)

Finally, the addition result is gained and/or biased.

ktotgain = kptgain + kcgain;


ktotbias = kptbias + kcbias;
kmult_add_res = (kmult_add_res * ktotgain) + ktotbias;

468 SP_0030
9.104 Multdiv

9.104 Multdiv

The Multdiv algorithm multiplies four numbers and divides by four numbers.

NO Units are Converted.

MULTDIV

Parameters Description Usage

Analog Inputs

kmval1 multiply value 1 REQUIRED

kmval2 multiply value 2 REQUIRED


kmval3 multiply value 3 [Optional]
kmval4 multiply value 4 [Optional]
kdval1 divide value 1 [Optional]
kdval2 divide value 2 [Optional]
kdval3 divide value 3 [Optional]
kdval4 divide value 4 [Optional]
kptgain point gain [Optional]
kptbias point bias [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

kmultdiv_res multiply / divide output REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1.0

kcbias = 0.0
kcdiv = 1.0

SP_0030 469
9.104 Multdiv

9.104.1 Multdiv Calculation Overview

Multdiv calculates a result by multiplying four numbers (kmval1-kmval4) and dividing by the
product of four numbers (kdval1-kdval4). The result is gained and biased.

The gain and bias values can be points constants or both a point and a constant.

If either kmval3, kmval4, kdval1, kdval2, kdval3,kdval4 points are not configured, the
corresponding values are set to 1.0.

If the absolute value of the product of the divisors (kdval1, kdval2, kdval3, kdval4) is greater than
a tolerance (1.0 - 06) the result is defined by:

kmultdiv_res = (kmval1 * kmval2 * kmval3 * kmval4) / (kdval1* kdval2 * kdval3 * kdval4)

The total gain (ktotgain) and bias (ktotbias) values are obtained by summing the individual point
and constant values, then:

ktotgain = kptgain + kcgain


ktotbias = kptbias + kcbias

The gain and bias factors are applied to the result of the (kmultdiv_res) as follows:

kmultdiv_res = ktotbias + kmultdiv_res * ktotgain

If the absolute value of the divisors is less than the tolerance, the result (kmultdiv_res) is set to
zero, with bad quality.

470 SP_0030
9.105 Multiply4

9.105 Multipl y4

The Multiply4 algorithm multiplies four numbers together.

NO Units are Converted.

MULTIPLY4

Parameters Description Usage

Analog Inputs

kvalue1 multiply value 1 REQUIRED

kvalue2 multiply value 2 REQUIRED


kvalue3 multiply value 3 [Optional]
kvalue4 multiply value 4 [Optional]
kptgain point gain [Optional]
kptbias point bias [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

kmult4_res multiply 4 output REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

9.105.1 Multiply4 Calculation Overview

Multiply4 calculates the product of the four input values (kvalue1, kvalue2, kvalue3, kvalue4).

The result is gained and biased. The individual gain and bias values can be a constant, a point, or
both a point and a constant.

If either kvalue3 or kvalue4 is not configured, the corresponding values are set to 1.0.

The product is defined by:

kmult4res = kvalue1 * kvalue2 * kvalue3 * kvalue4;

The gain and bias factors are calculated by:

ktotgain = kptgain + kcgain

SP_0030 471
9.105 Multiply4

ktotbias = kptbias + kcbias

The gain and bias values are applied to the product by:

kmult4_res = kmult4_res * ktotgain + ktotbias

472 SP_0030
9.106 Mult_pwr

9.106 Mult_pw r

The Mult_pwr module performs the addition of up to eight pairs of numbers and also calculates
the sum of eight pairs divided by the sum of the odd inputs. This algorithm is similar to Mult_add
in that each input can be gained and/or biased.

Additionally, this algorithm allows the user to raise each input to a specified power before the
inputs are multiplied together.

NO Units are Converted.

MULT_PWR

Parameters Description Usage

Analog Inputs

kmult_val1 pair 1 - value 1 REQUIRED

kmult_val2 pair 1 - value 2 REQUIRED


kmult_val3 pair 2 - value 1 [Optional]
kmult_val4 pair 2 - value 2 [Optional]
kmult_val5 pair 3 - value 1 [Optional]
kmult_val6 pair 3 - value 2 [Optional]
kmult_val7 pair 4 - value 1 [Optional]
kmult_val8 pair 4 - value 2 [Optional]
kmult_val9 pair 5 - value 1 [Optional]
kmult_val10 pair 5 - value 2 [Optional]
kmult_val11 pair 6 - value 1 [Optional]
kmult_val12 pair 6 - value 2 [Optional]
kmult_val13 pair 7 - value 1 [Optional]
kmult_val14 pair 7 - value 2 [Optional]
kmult_val15 pair 8 - value 1 [Optional]
kmult_val16 pair 8 - value 2 [Optional]
kval1_gain pair 1 - value 1 gain [Optional]
kval2_gain pair 1 - value 2 gain [Optional]
kval3_gain pair 2 - value 1 gain [Optional]
kval4_gain pair 2 - value 2 gain [Optional]
kval5_gain pair 3 - value 1 gain [Optional]
kval6_gain pair 3 - value 2 gain [Optional]
kval7_gain pair 4 - value 1 gain [Optional]
kval8_gain pair 4 - value 2 gain [Optional]
kval9_gain pair 5 - value 1 gain [Optional]
kval10_gain pair 5 - value 2 gain [Optional]

SP_0030 473
9.106 Mult_pwr

MULT_PWR

Parameters Description Usage

kval11_gain pair 6 - value 1 gain [Optional]


kval12_gain pair 6 - value 2 gain [Optional]
kval13_gain pair 7 - value 1 gain [Optional]
kval14_gain pair 7 - value 2 gain [Optional]
kval15_gain pair 8 - value 1 gain [Optional]
kval16_gain pair 8 - value 2 gain [Optional]
kval1_bias pair 1 - value 1 bias [Optional]
kval2_bias pair 1 - value 2 bias [Optional]
kval3_bias pair 2 - value 1 bias [Optional]
kval4_bias pair 2 - value 2 bias [Optional]
kval5_bias pair 3 - value 1 bias [Optional]
kval6_bias pair 3 - value 2 bias [Optional]
kval7_bias pair 4 - value 1 bias [Optional]
kval8_bias pair 4 - value 2 bias [Optional]
kval9_bias pair 5 - value 1 bias [Optional]
kval10_bias pair 5 - value 2 bias [Optional]
kval11_bias pair 6 - value 1 bias [Optional]
kval12_bias pair 6 - value 2 bias [Optional]
kval13_bias pair 7 - value 1 bias [Optional]
kval14_bias pair 7 - value 2 bias [Optional]
kval15_bias pair 8 - value 1 bias [Optional]
kval16_bias pair 8 - value 2 bias [Optional]
kval1_pwr pair 1 - value 1 pwr [Optional]
kval2_pwr pair 1 - value 2 pwr [Optional]
kval3_pwr pair 2 - value 1 pwr [Optional]
kval4_pwr pair 2 - value 2 pwr [Optional]
kval5_pwr pair 3 - value 1 pwr [Optional]
kval6_pwr pair 3 - value 2 pwr [Optional]
kval7_pwr pair 4 - value 1 pwr [Optional]
kval8_pwr pair 4 - value 2 pwr [Optional]
kval9_pwr pair 5 - value 1 pwr [Optional]
kval10_pwr pair 5 - value 2 pwr [Optional]
kval11_pwr pair 6 - value 1 pwr [Optional]
kval12_pwr pair 6 - value 2 pwr [Optional]
kval13_pwr pair 7 - value 1 pwr [Optional]

474 SP_0030
9.106 Mult_pwr

MULT_PWR

Parameters Description Usage

kval14_pwr pair 7 - value 2 pwr [Optional]


kval15_pwr pair 8 - value 1 pwr [Optional]
kval16_pwr pair 8 - value 2 pwr [Optional]
kptgain output total gain [Optional]
kptbias output total bias [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

kmult_pwr_res sum of 8 prod pairs to pwr [Optional]

kmult_pwr_div sum 8 pairs div sum odd inputs [Optional]


Digital Outputs

< NONE >

Constants

kcval1_gain 1

kcval2_gain 1
kcval3_gain 1
kcval4_gain 1
kcval5_gain 1
kcval6_gain 1
kcval7_gain 1
kcval8_gain 1
kcval9_gain 1
kcval10_gain 1
kcval11_gain 1
kcval12_gain 1
kcval13_gain 1
kcval14_gain 1
kcval15_gain 1
kcval16_gain 1
kcval1_bias 0
kcval2_bias 0
kcval3_bias 0

kcval4_bias 0

SP_0030 475
9.106 Mult_pwr

MULT_PWR

Parameters Description Usage

kcval5_bias 0
kcval6_bias 0
kcval7_bias 0
kcval8_bias 0
kcval9_bias 0
kcval10_bias 0
kcval11_bias 0
kcval12_bias 0
kcval13_bias 0
kcval14_bias 0
kcval15_bias 0
kcval16_bias 0
kcval1_pwr 1
kcval2_pwr 1
kcval3_pwr 1
kcval4_pwr 1
kcval5_pwr 1
kcval6_pwr 1
kcval7_pwr 1
kcval8_pwr 1
kcval9_pwr 1
kcval10_pwr 1
kcval11_pwr 1
kcval12_pwr 1
kcval13_pwr 1
kcval14_pwr 1
kcval15_pwr 1
kcval16_pwr 1
kcgain 1
kcbias 0

476 SP_0030
9.106 Mult_pwr

9.106.1 Multpwr Calculation Overview

The Mult_pwr module performs the addition of up to eight pairs of numbers and and calculates
the sum of eight pairs divided by the sum of the odd inputs.

Take each input to the appropriate power

kmult_val1 = pow(kmult_val1,(kval1_pwr + kcval1_pwr));


kmult_val2 = pow(kmult_val2,(kval2_pwr + kcval2_pwr));
kmult_val3 = pow(kmult_val3,(kval3_pwr + kcval3_pwr));
kmult_val4 = pow(kmult_val4,(kval4_pwr + kcval4_pwr));
kmult_val5 = pow(kmult_val5,(kval5_pwr + kcval5_pwr));
kmult_val6 = pow(kmult_val6,(kval6_pwr + kcval6_pwr));
kmult_val7 = pow(kmult_val7,(kval7_pwr + kcval7_pwr));
kmult_val8 = pow(kmult_val8,(kval8_pwr + kcval8_pwr));
kmult_val9 = pow(kmult_val9,(kval9_pwr + kcval9_pwr));
kmult_val10 = pow(kmult_val10,(kval10_pwr + kcval10_pwr));
kmult_val11 = pow(kmult_val11,(kval11_pwr + kcval11_pwr));
kmult_val12 = pow(kmult_val12,(kval12_pwr + kcval12_pwr));
kmult_val13 = pow(kmult_val13,(kval13_pwr + kcval13_pwr));
kmult_val14 = pow(kmult_val14,(kval14_pwr + kcval14_pwr));
kmult_val15 = pow(kmult_val15,(kval15_pwr + kcval15_pwr));
kmult_val16 = pow(kmult_val16,(kval16_pwr + kcval16_pwr));

Gain and bias all the inputs

kmult_val1 = (kmult_val1 * (kval1_gain + kcval1_gain)) + (kval1_bias + kcval1_bias);


kmult_val2 = (kmult_val2 * (kval2_gain + kcval2_gain)) + (kval2_bias + kcval2_bias);
kmult_val3 = (kmult_val3 * (kval3_gain + kcval3_gain)) + (kval3_bias + kcval3_bias);
kmult_val4 = (kmult_val4 * (kval4_gain + kcval4_gain)) + (kval4_bias + kcval4_bias);
kmult_val5 = (kmult_val5 * (kval5_gain + kcval5_gain)) + (kval5_bias + kcval5_bias);
kmult_val6 = (kmult_val6 * (kval6_gain + kcval6_gain)) + (kval6_bias + kcval6_bias);
kmult_val7 = (kmult_val7 * (kval7_gain + kcval7_gain)) + (kval7_bias + kcval7_bias);
kmult_val8 = (kmult_val8 * (kval8_gain + kcval8_gain)) + (kval8_bias + kcval8_bias);
kmult_val9 = (kmult_val9 * (kval9_gain + kcval9_gain)) + (kval9_bias + kcval9_bias);
kmult_val10 = (kmult_val10 * (kval10_gain + kcval10_gain)) + (kval10_bias + kcval10_bias);
kmult_val11 = (kmult_val11 * (kval11_gain + kcval11_gain)) + (kval11_bias + kcval11_bias);
kmult_val12 = (kmult_val12 * (kval12_gain + kcval12_gain)) + (kval12_bias + kcval12_bias);
kmult_val13 = (kmult_val13 * (kval13_gain + kcval13_gain)) + (kval13_bias + kcval13_bias);
kmult_val14 = (kmult_val14 * (kval14_gain + kcval14_gain)) + (kval14_bias + kcval14_bias);
kmult_val15 = (kmult_val15 * (kval15_gain + kcval15_gain)) + (kval15_bias + kcval15_bias);

SP_0030 477
9.106 Mult_pwr

kmult_val16 = (kmult_val16 * (kval16_gain + kcval16_gain)) + (kval16_bias + kcval16_bias);

All inputs not configured are zeroed.

Next, the pairs are multiplied together.

kmult_pwr1 = kmult_val1 * kmult_val2;


kmult_pwr2 = kmult_val3 * kmult_val4;
kmult_pwr3 = kmult_val5 * kmult_val6;
kmult_pwr4 = kmult_val7 * kmult_val8;
kmult_pwr5 = kmult_val9 * kmult_val10;
kmult_pwr6 = kmult_val11 * kmult_val12;
kmult_pwr7 = kmult_val13 * kmult_val14;
kmult_pwr8 = kmult_val15 * kmult_val16;

Add the pairs together for the total and divide by the sum of the odd inputs.

kmult_pwr_res = kmult_pwr1 + kmult_pwr2 + kmult_pwr3 + kmult_pwr4 + kmult_pwr5 +


kmult_pwr6 + kmult_pwr7 + kmult_pwr8;
kmult_pwr_div = kmult_pwr_res / (kmult_val1 + kmult_val3 + kmult_val5 + kmult_val7 +
kmult_val9 + kmult_val11 + kmult_val13 + kmult_val15);

Gain and bias the final output.

ktotgain = kptgain + kcgain;


ktotbias = kptbias + kcbias;
kmult_pwr_res = (kmult_pwr_res * ktotgain) + ktotbias;

478 SP_0030
9.107 NeuralNet

9.107 NeuralNet

The Neural Net algorithm uses the neuron values input and multiplies a gain times the actual
value input for linear values and multiplies the gain times the myTanh value of the input if the
value is non-linear. The function myTanh is the hyperbolic tangent function. The gained neuron
values are totaled and gained and biased. The final result is rescaled by a scaled gain and bias.

NO Units are Converted.

NEURALNET

Parameters Description Usage

Analog Inputs

kneuron_in1 neuron input value 1 REQUIRED

kneuron_in2 neuron input value 2 [Optional]


kneuron_in3 neuron input value 3 [Optional]
kneuron_in4 neuron input value 4 [Optional]
kneuron_in5 neuron input value 5 [Optional]
kneuron_in6 neuron input value 6 [Optional]
kneuron_in7 neuron input value 7 [Optional]
kneuron_in8 neuron input value 8 [Optional]
kneuron_in9 neuron input value 9 [Optional]
kneuron_in10 neuron input value 10 [Optional]
kneuron_in11 neuron input value 11 [Optional]
kneuron_in12 neuron input value 12 [Optional]
kneuron_in13 neuron input value 13 [Optional]
kneuron_in14 neuron input value 14 [Optional]
kneuron_in15 neuron input value 15 [Optional]
kneuron_in16 neuron input value 16 [Optional]
kneuron_in17 neuron input value 17 [Optional]
kneuron_in18 neuron input value 18 [Optional]
kneuron_in19 neuron input value 19 [Optional]
kneuron_in20 neuron input value 20 [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

kdes_gain1 gain value neuron 1 [Optional]

kdes_gain2 gain value neuron 2 [Optional]


kdes_gain3 gain value neuron 3 [Optional]

SP_0030 479
9.107 NeuralNet

NEURALNET

Parameters Description Usage

kdes_gain4 gain value neuron 4 [Optional]


kdes_gain5 gain value neuron 5 [Optional]
kdes_gain6 gain value neuron 6 [Optional]
kdes_gain7 gain value neuron 7 [Optional]
kdes_gain8 gain value neuron 8 [Optional]
kdes_gain9 gain value neuron 9 [Optional]
kdes_gain10 gain value neuron 10 [Optional]
kdes_gain11 gain value neuron 11 [Optional]
kdes_gain12 gain value neuron 12 [Optional]
kdes_gain13 gain value neuron 13 [Optional]
kdes_gain14 gain value neuron 14 [Optional]
kdes_gain15 gain value neuron 15 [Optional]
kdes_gain16 gain value neuron 16 [Optional]
kdes_gain17 gain value neuron 17 [Optional]
kdes_gain18 gain value neuron 18 [Optional]
kdes_gain19 gain value neuron 19 [Optional]
kdes_gain20 gain value neuron 20 [Optional]
kneuron_out1 neuron output value 1 [Optional]
kneuron_out2 neuron output value 2 [Optional]
kneuron_out3 neuron output value 3 [Optional]
kneuron_out4 neuron output value 4 [Optional]
kneuron_out5 neuron output value 5 [Optional]
kneuron_out6 neuron output value 6 [Optional]
kneuron_out7 neuron output value 7 [Optional]
kneuron_out8 neuron output value 8 [Optional]
kneuron_out9 neuron output value 9 [Optional]
kneuron_out10 neuron output value 10 [Optional]
kneuron_out11 neuron output value 11 [Optional]
kneuron_out12 neuron output value 12 [Optional]
kneuron_out13 neuron output value 13 [Optional]
kneuron_out14 neuron output value 14 [Optional]
kneuron_out15 neuron output value 15 [Optional]
kneuron_out16 neuron output value 16 [Optional]
kneuron_out17 neuron output value 17 [Optional]
kneuron_out18 neuron output value 18 [Optional]

480 SP_0030
9.107 NeuralNet

NEURALNET

Parameters Description Usage

kneuron_out19 neuron output value 19 [Optional]


kneuron_out20 neuron output value 20 [Optional]
ktotal_gain neuron total gain [Optional]
ktotal_bias neuron total bias [Optional]
kneuron_tot neuron total gain and bias [Optional]
krescale_gain neuron total rescaled gain [Optional]
krescale_bias neuron total rescaled bias [Optional]
krescaled_out rescaled total [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.107.1 NeuralNet Calculation Overview

The NeuralNet algorithm adds up to twenty neural net inputs. The neural net inputs are selected
to be linear or non-linear on the design screen.
 If linear, the NeuralNet input values are multiplied by the gain value on the design screen.
 If non-linear, the tanh(input value) is multiplied times the gain value from the design screen.
The neural net output values are totaled, gained, and biased. The total gain and bias values are
read from the design screen. The neural net output is then rescaled for the proper units using the
rescaling gain and bias values entered on the design screen.

Gain all the neuron inputs based on linear or non-linear selection.

kdes_gain1 = NN_GetInputGain(0);

if (NN_GetInputType(0) == NNIT_LINEAR)

kneuron_out1 = kneuron_in1 * kdes_gain1;

SP_0030 481
9.107 NeuralNet

else

if (NN_GetInputType (0) == NNIT_NONLINEAR)

kneuron_out1 = mytanh(&kneuron_in1) * kdes_gain1;

else

kneuron_out1 = 0.0;

kdes_gain2 = NN_GetInputGain(1);

if (NN_GetInputType(1) == NNIT_LINEAR)

kneuron_out2 = kneuron_in2 * kdes_gain2;

else

if (NN_GetInputType (1) == NNIT_NONLINEAR)

kneuron_out2 = mytanh(&kneuron_in2) * kdes_gain2;

else

kneuron_out2 = 0.0;

kdes_gain3 = NN_GetInputGain(2);

482 SP_0030
9.107 NeuralNet

if (NN_GetInputType(2) == NNIT_LINEAR)

kneuron_out3 = kneuron_in3 * kdes_gain3;

else

if (NN_GetInputType(2) == NNIT_NONLINEAR)

kneuron_out3 = mytanh(&kneuron_in3) * kdes_gain3;

else

kneuron_out3 = 0.0;

kdes_gain4 = NN_GetInputGain(3);

if (NN_GetInputType(3) == NNIT_LINEAR)

kneuron_out4 = kneuron_in4 * kdes_gain4;

else

if (NN_GetInputType(3) == NNIT_NONLINEAR)

kneuron_out4 = mytanh(&kneuron_in4) * kdes_gain4;

else

kneuron_out4 = 0.0;

SP_0030 483
9.107 NeuralNet

kdes_gain5 = NN_GetInputGain(4);

if (NN_GetInputType(4) == NNIT_LINEAR)

kneuron_out5 = kneuron_in5 * kdes_gain5;

else

if (NN_GetInputType(4) == NNIT_NONLINEAR)

kneuron_out5 = mytanh(&kneuron_in5) * kdes_gain5;

else

kneuron_out5 = 0.0;

kdes_gain6 = NN_GetInputGain(5);

if (NN_GetInputType(5) == NNIT_LINEAR)

kneuron_out6 = kneuron_in6 * kdes_gain6;

else

if (NN_GetInputType(5) == NNIT_NONLINEAR)

kneuron_out6 = mytanh(&kneuron_in6) * kdes_gain6;

484 SP_0030
9.107 NeuralNet

else

kneuron_out6 = 0.0;

kdes_gain7 = NN_GetInputGain(6);

if (NN_GetInputType(6) == NNIT_LINEAR)

kneuron_out7 = kneuron_in7 * kdes_gain7;

else

if (NN_GetInputType(6) == NNIT_NONLINEAR)

kneuron_out7 = mytanh(&kneuron_in7) * kdes_gain7;

else

kneuron_out7 = 0.0;

kdes_gain8 = NN_GetInputGain(7);

if (NN_GetInputType(7) == NNIT_LINEAR)

kneuron_out8 = kneuron_in8 * kdes_gain8;

SP_0030 485
9.107 NeuralNet

else

if (NN_GetInputType(7) == NNIT_NONLINEAR)

kneuron_out8 = mytanh(&kneuron_in8) * kdes_gain8;

else

kneuron_out8 = 0.0;

kdes_gain9 = NN_GetInputGain(8);

if (NN_GetInputType(8) == NNIT_LINEAR)

kneuron_out9 = kneuron_in9 * kdes_gain9;

else

if (NN_GetInputType(8) == NNIT_NONLINEAR)

kneuron_out9 = mytanh(&kneuron_in9) * kdes_gain9;

else

kneuron_out9 = 0.0;

kdes_gain10 = NN_GetInputGain(9);

486 SP_0030
9.107 NeuralNet

if (NN_GetInputType(9) == NNIT_LINEAR)

kneuron_out10 = kneuron_in10 * kdes_gain10;

else

if (NN_GetInputType(9) == NNIT_NONLINEAR)

kneuron_out10 = mytanh(&kneuron_in10) * kdes_gain10;

else

kneuron_out10 = 0.0;

kdes_gain11 = NN_GetInputGain(10);

if (NN_GetInputType(10) == NNIT_LINEAR)

kneuron_out11 = kneuron_in11 * kdes_gain11;

else

if (NN_GetInputType(10) == NNIT_NONLINEAR)

kneuron_out11 = mytanh(&kneuron_in11) * kdes_gain11;

else

kneuron_out11 = 0.0;

SP_0030 487
9.107 NeuralNet

kdes_gain12 = NN_GetInputGain(11);

if (NN_GetInputType(11) == NNIT_LINEAR)

kneuron_out12 = kneuron_in12 * kdes_gain12;

else

if (NN_GetInputType(11) == NNIT_NONLINEAR)

kneuron_out12 = mytanh(&kneuron_in12) * kdes_gain12;

else

kneuron_out12 = 0.0;

kdes_gain13 = NN_GetInputGain(12);

if (NN_GetInputType(12) == NNIT_LINEAR)

kneuron_out13 = kneuron_in13 * kdes_gain13;

else

if (NN_GetInputType(12) == NNIT_NONLINEAR)

kneuron_out13 = mytanh(&kneuron_in13) * kdes_gain13;

488 SP_0030
9.107 NeuralNet

else

kneuron_out13 = 0.0;

kdes_gain14 = NN_GetInputGain(13);

if (NN_GetInputType(13) == NNIT_LINEAR)

kneuron_out14 = kneuron_in14 * kdes_gain14;

else

if (NN_GetInputType(13) == NNIT_NONLINEAR)

kneuron_out14 = mytanh(&kneuron_in14) * kdes_gain14;

else

kneuron_out14 = 0.0;

kdes_gain15 = NN_GetInputGain(14);

if (NN_GetInputType(14) == NNIT_LINEAR)

kneuron_out15 = kneuron_in15 * kdes_gain15;

SP_0030 489
9.107 NeuralNet

else

if (NN_GetInputType(14) == NNIT_NONLINEAR)

kneuron_out15 = mytanh(&kneuron_in15) * kdes_gain15;

else

kneuron_out15 = 0.0;

kdes_gain16 = NN_GetInputGain(15);

if (NN_GetInputType(15) == NNIT_LINEAR)

kneuron_out16 = kneuron_in16 * kdes_gain16;

else

if (NN_GetInputType(15) == NNIT_NONLINEAR)

kneuron_out16 = mytanh(&kneuron_in16) * kdes_gain16;

else

kneuron_out16 = 0.0;

kdes_gain17 = NN_GetInputGain(16);

490 SP_0030
9.107 NeuralNet

if (NN_GetInputType(16) == NNIT_LINEAR)

kneuron_out17 = kneuron_in17 * kdes_gain17;

else

if (NN_GetInputType(16) == NNIT_NONLINEAR)

kneuron_out17 = mytanh(&kneuron_in17) * kdes_gain17;

else

kneuron_out17 = 0.0;

kdes_gain18 = NN_GetInputGain(17);

if (NN_GetInputType(17) == NNIT_LINEAR)

kneuron_out18 = kneuron_in18 * kdes_gain18;

else

if (NN_GetInputType(17) == NNIT_NONLINEAR)

kneuron_out18 = mytanh(&kneuron_in18) * kdes_gain18;

else

kneuron_out18 = 0.0;

SP_0030 491
9.107 NeuralNet

kdes_gain19 = NN_GetInputGain(18);

if (NN_GetInputType(18) == NNIT_LINEAR)

kneuron_out19 = kneuron_in19 * kdes_gain19;

else

if (NN_GetInputType(18) == NNIT_NONLINEAR)

kneuron_out19 = mytanh(&kneuron_in19) * kdes_gain19;

else

kneuron_out19 = 0.0;

kdes_gain20 = NN_GetInputGain(19);

if (NN_GetInputType(19) == NNIT_LINEAR)

kneuron_out20 = kneuron_in20 * kdes_gain20;

else

if (NN_GetInputType(19) == NNIT_NONLINEAR)

kneuron_out20 = mytanh(&kneuron_in20) * kdes_gain20;

492 SP_0030
9.107 NeuralNet

else

kneuron_out20 = 0.0;

Add together the neuron outputs, gain, and bias

ktotal_gain = NN_GetTotalGain();

ktotal_bias = NN_GetTotalBias();

kneuron_tot = (kneuron_out1 + kneuron_out2 + kneuron_out3 + kneuron_out4 + kneuron_out5 +


kneuron_out6 + kneuron_out7 + kneuron_out8 + kneuron_out9 + kneuron_out10 +
kneuron_out11 + kneuron_out12 + kneuron_out13 + kneuron_out14 + kneuron_out15 +
kneuron_out16 + kneuron_out17 + kneuron_out18 + kneuron_out19 + kneuron_out20) *
ktotal_gain + ktotal_bias;

Rescal the neuron total for the correct engineering units

krescale_gain = NN_GetRescaledGain();

krescale_bias = NN_GetRescaledBias();

krescaled_out = (((kneuron_tot / 2.0) + 0.5) * krescale_gain) + krescale_bias;

SP_0030 493
9.108 Nlog

9.108 Nlog

The Nlog algorithm calculates the natural log of an input.

NO Units are Converted.

NLOG

Parameters Description Usage

Analog Inputs

kvalue input to natural log algorithm REQUIRED

kptgain abs val gain value [Optional]


kptbias abs val bias value [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

knlog_res natural log result value REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

9.108.1 Nlog Calculation Overview

The Nlog algorithm takes the natural log of a number, multiplies by the gain and bias and adds
the bias. The gain and bias values can be points, constants or both points and constants.

The natural log of the input value (kvalue) is calculated by:

knlog _res = log (kvalue)

The total gain and bias values are defined by:

kgain= kptgain +kcgain


kbias = kptbias + kcbias

The gain and bias factors are applied as follows:

knlog_res = (knlog_res * kgain) + kbias

494 SP_0030
9.109 O2calc

9.109 O2calc

The O2calc algorithm estimates the O2 in the flue gas from the estimated air heater leakage.

YES Units are Converted.

O2CALC

Parameters Description Usage

Analog Inputs

Rash pcnt of CO2 REQUIRED output from fuels

Wairth stoichiometric weight of air REQUIRED output from airhtrs


Wairex wt ex air per lb fuel at STP REQUIRED output from airhtrs
Wvap water content of vapor REQUIRED output from airhtrs
Rahlkg pcnt of air htr lkg REQUIRED output from airhtrs
Ftratio temp corr ratio REQUIRED output from airhtrs
kconst temp used in calc free O2 vol [Optional] required if O2 bef ahtr meas wet

vfgtot total vol of stoich fl gases [Optional] required if O2 bef ahtr meas wet
vfgstp vol of stoich fl gases at stp [Optional] required if O2 bef ahtr meas dry
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

zwetflag air htr O2 bef meas type REQUIRED


Analog Outputs

Wwetgas calc wet gas per lb of fuel [Optional]

Wexairhtrout excess air at air htr out [Optional]


vo2airhtrout vol of free oxygen [Optional]
Ro2out O2 at air htr outlet [Optional]
Digital Outputs

< NONE >

Constants

KVO2AIR = KO2OUT = 1.104761905


0.232

SP_0030 495
9.109 O2calc

9.109.1 O2calc Calculation Overview

The O2calc algorithm estimates the amount of O2 in the flue gas from the estimated air heater
leakage.

Calculate the wet gas per pound of fuel

Wwetgas = 1.0 - (0.01* O2calc + (Wairth + Wairex) * (1.0 + Wvap)

Calculate excess air at air heater outlet

Wexairhtrout = (Wwetgas * Rahlkg + 100.0 * Wairex) / 100.0

Calculate volume of free oxygen

vo2airhtrout = Wexairhtrout * Ftratio * KVO2AIR / DO2STP

Calculate the O2 at the heater outlet based on if the air heater O2 is measured on a wet or dry
basis.

if (zwetflag)

Ro2out = 100.0 * vo2airhtrout / (vo2airhtrout * kconst + vfgtot);

else

Ro2out = (23.2 * Wexairhtrout) / (DO2STP * vfgstp + KO2OUT * Wexairhtrout);

496 SP_0030
9.110 Or6

9.110 Or6

The Or6 algorithm ORs together six Digital inputs.

NO Units are Converted.

OR6

Parameters Description Usage

Analog Inputs

kdummy dummy input [Optional]

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zdvalue1 or flag 1 REQUIRED


zdvalue2 or flag 2 REQUIRED
zdvalue3 or flag 3 [Optional]
zdvalue4 or flag 4 [Optional]
zdvalue5 or flag 5 [Optional]
zdvalue6 or flag 6 [Optional]
Analog Outputs

< NONE >

Digital Outputs

zor6_result or 6 output REQUIRED

Constants

< NONE >

9.110.1 Or6 Calculation Overview

The Or6 algorithm computes the logical or result of six digital inputs. For each unconfigured point,
the corresponding value is set FALSE.

The logical operation is defined by the following:

zor6_result = zdvalue1 or zdvalue2 or zdvalue3 or zdvalue4 or zdvalue5 or zdvalue6

SP_0030 497
9.111 Overall_trb

9.111 Overall_trb

The Overall_trb algorithm calculates the turbine inlet enthalpy, isentropic enthalpy and the overall
turbine efficiency.

YES Units are Converted.

OVERALL_TRB

Parameters Description Usage

Analog Inputs

pturbin turbine inlet pressure REQUIRED

patmos atmospheric pressure REQUIRED


tturbin turbine inlet temperature REQUIRED
pturbout turbine outlet pressure REQUIRED
hturbout turbine outlet enthalpy REQUIRED
eturbdes turbine design efficiency REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

pabsturbin turbine inlet absolute pres [Optional]

hturbin turbine inlet enthalpy [Optional]


pabsturbout turbine outlet absolute pres [Optional]
hiturb turbine isentropic enthalpy [Optional]
eturbeff overall turb effic [Optional]
eturbdev overall turb effic dev [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.111.1 Overall_trb Calculation Overview

Turbine Efficiency

eturbeff = ((hturbin - hturbout) / (hturbin - hiturb)) * 100.0

498 SP_0030
9.111 Overall_trb

Where:

hturbin = Turbine inlet enthalpy


hturbout = Turbine outlet enthalpy
hiturb = Turbine isentropic enthalpy

Turbine Efficiency Deviation - eturbdev = eturbeff - eturbdes

SP_0030 499
9.112 P1stg

9.112 P1stg

The P1stg algorithm calculates a correction factor, absolute first stage pressure, rated absolute
pressure and corrected first stage pressure.

YES Units are Converted.

P1STG

Parameters Description Usage

Analog Inputs

p1stge first stage pressure REQUIRED

patmos atmospheric pressure REQUIRED


pmnstm main steam pressure REQUIRED
tmnstm main steam temperature REQUIRED
prated rated main steam pressure [Optional]
trated rated main steam temperature [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

pabsmain abs main stm pres [Optional]

vmnstm main stm specific vol [Optional]


pabsrt abs rated main stm pres [Optional]
vrated rated main stm specific vol [Optional]
kfact throttle flow conv factor [Optional]
pabs1st abs first stage pres [Optional]
pabs1corr abs corr first stage pres [Optional]
p1stg gauge corr first stage pres [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

500 SP_0030
9.112 P1stg

9.112.1 P1stg Calculation Overview

See following page:

The P1stg algorithm calculates the following:


 Theoretical throttle flow correction factor
 Absolute first stage pressure
 Rated absolute pressure
 Corrected first stage pressure.
P1stg is usually one of the first executed and these values are used in other algorithms.

Theoretical Throttle Flow Correction Factor

kfact = pow(((pabsrt / pabsmain) * (vmnstm / vrated)), 0.5)

Absolute First Stage Pressure

pabs1st = p1stge + patmos

Corrected First Stage Pressure in PSIA

pabs1corr = pabs1st * kfact

Corrected First Stage Pressure in PSIG

p1stg = pabs1corr - patmos;

SP_0030 501
9.113 Patmos

9.113 Patmos

The Patmos algorithm calculates atmospheric pressure.

YES Units are Converted.

PATMOS

Parameters Description Usage

Analog Inputs

pabsbaro barometric pressure REQUIRED

Digital Inputs

< NONE > Digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure REQUIRED

Digital Outputs

< NONE >

Constants

< NONE >

9.113.1 Patmos Calculation Overview

The barometric pressure (usually input in inches of mercury absolute) input pabsbaro is converted
to the output patmos (usually pounds per square inch absolute).

502 SP_0030
9.114 Pntvalidate

9.114 Pntvalidate

The Pntvalidate algorithm validates a point by checking a primary point for selected quality and
limits. If this point is not valid, possible substitutions are alternate point 1, alternate point 2 or a
constant value if neither the alternate points are configured or valid.

NO Units are Converted.

PNTVALIDATE

Parameters Description Usage

Analog Inputs

kprim primary input REQUIRED


kalt1 1st alternate [Optional]

kalt2 2nd Alternate [Optional]


Digital Inputs

< NONE >

Analog Outputs

kout validated output REQUIRED

Digital Outputs

zsubflag [Optional]

Constants

< NONE >

SP_0030 503
9.114 Pntvalidate

9.114.1 Pntvalidate Calculation Overview

Pntvalidate checks an input's quality and perform a substitution based on the information
configured in the design screen.

The input value is substituted based on an optional low/high range or quality. The point is always
substituted for bad quality and is substituted for uncertain quality if desired.

The Pntvalidate algorithm checks up to two alternate points. These alternate points can also be
checked for quality as well as low/high limits.

If the user desires, a constant may also be specified for substitution. A constant must be
specified if the first alternate and second alternate points are not configured. If the first
alternate's value is not valid or second alternate's value is not valid or a constant is not specified,
the original value and quality will be passed through.

Finally, the quality can be set to uncertain or good for the primary point based on the user's
choice on the design screen. Below is pseudo code to show the algorithm's execution.

Check the Alg Configuration

if (Primary point configured?) // Yes, configured!

if (Are we using 1st alternate?) // Yes, we are

if (Is 1st alternate not configured? ) // oops! 1st alternate not configured

Report Error - "1st alternate substitution input point NOT configured"


okToProceed = 0

if (okToProceed)

if (Are we using the 2nd alternate?) // Yes, we are.

if (Is the second alternate not configured) // oops! 1st alternate not configured

Report Error - "2nd alternate substitution input point NOT configured"


okToProceed = 0

else // Primary Not configured, nothing to do

okToProceed = 0

Lets Start Validation

if (okToProceed)

// Initialize the Output Value for Fallout (breakout) conditions


kout = kprim

if (Do we need to substitute for the Primary Point?) // Yes, do a substitution.

if (Should we use the 1st alternate?) // Yes, we should!


if (Do we need to substitute for 1st alternate?) // Yes, do another substitution.

504 SP_0030
9.114 Pntvalidate

if (Should we use the 2nd alternate) // Yes, we should!

if (Should we substitute for 2nd alternate?) // Yes, check the final possible substitution
if (Should we use the constant?) // Yes, use the constant
kout = Constant

Issue Valid Substitution Message

else // If we get here, there is no valid substitution available

kout = kprim

Issue No Substitution Message

else // dont need to sub for ALT2, The 2nd alternate will do just fine!

kout = kalt2

Issue Valid Substitution Message

else // no Alt_2 Check - Check the Constant

if (Is Constant configured?)

kout = Constant

Issue Valid Substitution Message

else // If we get here, there is no valid substitution available

kout = kprim

Issue No Substitution Message

else // dont sub for ALT_1, The 1st alternate will do just fine!

kout = kalt1

Issue Valid Substitution Message

else // Dont use ALT_1 - Use the Constant

kout = Constant

Issue Valid Substitution Message

else // No, do not perform a substitution on the Primary Point

kout = kprim

Issue No Substitution Needed Message

if (Substitution performed and user wants the output quality uncertain)

kout quality = UNCERTAIN

SP_0030 505
9.115 Poly

9.115 Pol y

The Poly algorithm calculates a fifth order polynomial.

NO Units are Converted.

POLY

Parameters Description Usage

Analog Inputs

kxvalue x value [Optional]

kptgain point gain value [Optional]


kptbias point bias value [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

kyvalue y value REQUIRED

Digital Outputs

< NONE >

Constants

kpoly[0] = 0

kpoly[1] = 1.0
kpoly[2] = 0
kpoly[3] = 0
kpoly[4] = 0
kpoly[5] = 0
kcgain = 1
kcbias = 0

9.115.1 Poly Calculation Overview

The Poly algorithm calculates the result of a 5th order polynomial defined by the coefficients
(kpoly) kpoly [0], kpoly[1], kpoly[2], kpoly[3], kpoly[4], kpoly[5] which are specified on the constant
tab.

The result (kyvalue) is defined by:

kyvalue = kpoly[0] + kpoly[1] * kxvalue + kpoly[2] * kxvalue2 + kpoly[3] * kxvalue3 + kpoly[4]


* kxvalue4+ kpoly[5] * kxvalue5

506 SP_0030
9.115 Poly

The result may be gained or biased.

The total gain (ktotgain) and bias (ktotbias) values are obtained by summing the point and
constant values. Then,

ktotgain = kptgain + kcgain


ktotbias = kptbias + kcbias
kyvalue = (kyvalue * kgain_tot) + kbias_tot;

The gain and bias values are applied to the result as follows:

kyvalue = ktotbias + kyvalue * ktotgain

SP_0030 507
9.116 Pump

9.116 Pump

The Pump algorithm computes the actual efficiency, design efficiency and efficiency deviation for
a pump.

YES Units are Converted.

PUMP

Parameters Description Usage

Analog Inputs

kphases motor number of phases [Optional] Use if motor driven


and if not configured, will use 3
wpmpfwin pump feedwater flow in REQUIRED
wpmpfwout pump feedwater flow out REQUIRED
tpmpsuc pump suction temperature [Optional]
pdeaout deaerator outlet pressure [Optional] Use only for boiler
feedpumps and if suction
pressure not measured.
ppmpsuc pump suction pressure [Optional] Use only if suction
pressure is measured.
patmos atmospheric pressure [Optional]

ppmpdis pump discharge pressure [Optional]


tpmpdis pump discharge temperature [Optional]
epumpdes pump design efficiency [Optional] If not configured, will
be calc as poly flow
epumpdescorr corr pump des efficiency [Optional] If not configured,
calc as poly from corr vol flow

Ivltpmp pump volts [Optional] Use if motor driven


pump and design motor
efficiency is not available.
iamppmp pump amps [Optional] ] Use if motor driven
pump and design motor
efficiency is not available.

kpfpmp pump power factor [Optional] ] Use if motor driven


pump and design motor
efficiency is not available.
epmpmdes pump motor design efficiency [Optional] ] Use for motor
driven pump if design motor
efficiency is available.
nspeed pump speed [Optional]

Hpmpehd expected pump head [Optional] Use if not


configured, calc from vol flow.
Hpmpehdcorr 11 corr pump head [Optional] Use if not
configured, calc from corr vol
flow.

508 SP_0030
9.116 Pump

PUMP

Parameters Description Usage

Ppmpdrvrindes driver input pwr mtr driven [Optional] Use if not motor
driven.
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

zpmpon pump running flag [Optional] Use if digital flags


determine pump in service
status.
zpmpoff pump off flag [Optional] Use if digital flags
determine pump in service
status.
Analog Outputs

knumphases motor number of phases [Optional]

pabssucsat pump suction saturated pres [Optional]


vpmpbfps bfp suction volume [Optional]
dpmpbfps bfp suction density [Optional]
Hcondea bfp cnst head add dea out pres [Optional]
pabspmpsuc pump suction pressure absolute [Optional]
hpmpsuc pump suction enthalpy [Optional]
pabsdissat pump discharge sat pres [Optional]
pabspmpdis pump discharge pres abs [Optional]
hpmpdis pump discharge enthalpy [Optional]
hpmpadd pump added heat [Optional]
vpmpsuc pump suction volume [Optional]
dpmpsuc pump suction density [Optional]
Spmpsgrv pump suction specific gravity [Optional]
ksucindia pump suction inner diameter [Optional]
apmpsxa pump nozzle suction area [Optional]
Vpmpsvel pump suction velocity [Optional]
Hpmpsvel pump suction head velocity [Optional]
vpmpdis pump discharge volume [Optional]
dpmpdis pump discharge density [Optional]
Spmpdgrv pump disch specific gravity [Optional]
kdisindia discharge inner diameter [Optional]
apmpdxa pump discharge area [Optional]
Vpmpdvel pump discharge velocity [Optional]
Hpmpdvel pump discharge head velocity [Optional]

SP_0030 509
9.116 Pump

PUMP

Parameters Description Usage

Hpmpselv pump suction Elevation head [Optional]


Hpmpshd total pump suction head [Optional]
Hpmpdelv pump discharge Elevation head [Optional]
Hpmpdhd total pump discharge head [Optional]
Hpmphd total pump head [Optional]
epmpmeff pump motor efficiency [Optional]
Ppmpmtr pump motor power [Optional]
Ipmpvltmtr pump motor volts [Optional]
ipmpampmtr pump motor amps [Optional]
kpmppfmtr pump motor power factor [Optional]
Ppmpdrvrin pump driver input power [Optional]
Ppmpin pump input power [Optional]
Pmpincorr power in pump corr for speed [Optional]
Ppmpdrvrincorr driver input pwr corr for spd [Optional]
wvolpmpout pump volumetric flow [Optional]
wvolpmpcorr pump volumetric flow corr for speed [Optional]
Ppmpout pump output power [Optional]
Ppmpoutcorr pump output power corr for speed [Optional]
epmpaeff pump actual efficiency [Optional]
epmpaeffcorr pump actual efficiency corr for speed [Optional]
epmpedev pump efficiency deviation [Optional]
epmpedevcorr pump efficiency deviation corr for speed [Optional]
epmpoeff pump overall efficiency [Optional]
epmpoeffcorr pump overall efficiency corr for speed [Optional]
ndesspeed pump design speed [Optional]
Fspeed pmp spd ratio var spd pumps [Optional]
Hpmpehd expected pump head [Optional]
Hpmpehdcorr expected corr pump head [Optional]
epmpdes pump design efficency [Optional]
epmdescorr corr pump design efficency [Optional]
Hpmphddev pump head deviation [Optional]

Hpmphddevcorr corr pump head deviation [Optional]

Rpmphddev pump head capacity [Optional]

Rpmphddevcorr pump head capacity corr for speed [Optional]

510 SP_0030
9.116 Pump

PUMP

Parameters Description Usage

Digital Outputs

zinsvcpmp pump in-service flag [Optional] Use if pump in


service status needed for data
agent output point.
Constants

< NONE >

9.116.1 Pump Calculation Overview

Check if pump is in service. If not in service, all calculations are set to zero Per ASME PTC
PM-1993, pump performance has very little impact on heat rate, thus pump efficiency is seldom of
concern.

Determining whether or not the pump is meeting its capacity head curve within a given tolerance
is of significant importance. Therefore, the total head is calculated by the procedure defined in
ASME PTC 8.2, and divided by the design head that is calculated from the pump characteristic
curve.

The result is defined as the capacity of the pump. Check the number of phases, if configured,
then read the number of phases. If not configured, set the number of phases to three.

First, compute the saturated liquid pressure in psia corresponding to the measured suction
temperature using the steam table function 'pslt' to determine if the pressure lies in the saturated
or compressed liquid regions for boiler feedpumps only.

pabssucsat = pslt(tpmpsuc)

Check to see if suction pressure is measured for boiler feedpumps only. If not, add the constant
head from the design screen to the deaerator outlet pressure.

if (Suction Pressure Not Measured)

vpmpbfps = vslt(tpmpsuc);
dpmpbfps = 1 / vpmpbfps;
pabspmpsuc = pdeaout + patmos + (Hcondea * dpmpbfps / ARACNV);

else

Convert the measured suction pressure in psig to absolute in psia

pabspmpsuc = ppmpsuc + patmos;

Check to see what region the pressure lies for the boiler feedpumps only. The other types of
pumps are assumed to be in the saturated liquid region.

if

(pabspmpsuc > pabssucsat)

SP_0030 511
9.116 Pump

Calculate suction enthalpy from the compressed region steam table call

else

The liquid is in saturated region. Compute the pump suction enthalpy in btu/lb as a saturated
liquid steam table function of the pressure

Compute the saturated liquid pressure in psia corresponding to the measured suction
temperature using the steam table function 'pslt' to determine if the pressure lies in the saturated
or compressed liquid regions.

pabsdissat = pslt(tpmpdis)

Calculate the boiler feedpump discharge enthalpy in btu/lb as a compressed or saturated liquid
steam table function of the feedpump measured discharge pressure and the temperature if using
the compressed steam table call. If not a boiler feedpump, calculate the pump discharge enthalpy
as a saturated liquid call.

First, convert the measured discharge pressure in psig to absolute in psia.

pabspmpdis = ppmpdis + patmos;

if

(pabspmpdis > pabsdissat)


hpmpdis = hcltp(tpmpdis)

else

hpmpdis = hslt(tpmpdis)

Compute the heat added by the pump in btu/lb as the difference between the discharge and
suction enthalpies.

hpmpadd = hpmpdis - hpmpsuc;

Depending on whether the suction pressure lies in the saturated liquid or compressed liquid
regions, the specific volume of the feed water at the pump suction is calculated accordingly.

if

(pabspmpsuc > pabssucsat)


vpmpsuc = vcltp(tpmpsuc, pabspmpsuc)

else

vpmpsuc = vslt(tpmpsuc)

Compute the density of the feedwater at the pump suction in lb/ft3 as the inverse of the specific
volume at this location.

dpmpsuc = 1.0 / vpmpsuc;

Compute the feedwater suction specific gravity from the specific volume and the density of water.

Spmpsgrv = 1.0 / (vpmpsuc * DWATER=62.3);

512 SP_0030
9.116 Pump

Compute the water velocity in ft/sec by dividing the water flow by the product of the suction area
of the pump nozzle and the suction density.

apmpsxa = PI * pow(((ksucindia/INtoFEET) / 2.0),2);


Vpmpsvel = (wpmpfwin * KLBtoLB) / (apmpsxa * HRtoSEC * dpmpsuc);

Compute the suction velocity in feet as a function of the velocity and gravity.

Hpmpsvel = pow(Vpmpsvel,2) / (2 * GRAVITY=32.174);

Compute the discharge specific volume and density.

if

(pabspmpdis > pabsdissat)


vpmpdis = vcltp(tpmpdis, pabspmpdis)

else

vpmpdis = vslt(tpmpdis)
dpmpdis = 1.0 / vpmpdis;

Compute the feedwater discharge specific gravity from the specific volume and the density of
water.

Spmpdgrv = 1.0 / (vpmpdis * DWATER=62.3);

Compute the discharge velocity head as a function of the velocity and gravity.

apmpdxa = PI * pow(((kdisindia/INtoFEET) / 2.0),2);


Vpmpdvel = (wpmpfwout * KLBtoLB) / (apmpdxa * HRtoSEC * dpmpdis);
Hpmpdvel = pow(Vpmpdvel,2) / (2 * GRAVITY=32.174);

Compute the total suction head in feet as the sum of the pressure head, suction elevation head
and the suction velocity head.

Hpmpshd = (pabspmpsuc * vpmpsuc * ARACNV=144) + Hpmpselv + Hpmpsvel;

Compute the total discharge head in feet as the sum of the pressure head, discharge elevation
head and the discharge velocity head.

Hpmpdhd = (pabspmpdis * vpmpdis * ARACNV=144) + Hpmpdelv + Hpmpdvel;

Compute the total pump head in feet as the difference between the total discharge head and the
total suction head.

Hpmphd = Hpmpdhd - Hpmpshd;

For motor driven pumps, compute the design pump motor efficiency if it is not available. For
steam driven pumps, set the design pump motor efficiency to 0.

if (Motor Efficiency Available and not steam driven)

epmpmeff = epmpmdes;

SP_0030 513
9.116 Pump

else

if (Not steam driven)

epmpmeff = ((Ppmpmtr / WtoMW) / (Ipmpvltmtr * ipmpampmtr * kpmppfmtr *


pow(knumphases,0.5))) * 100.0;

Compute driver input power.

if (Motor driven)

If Ppmpdrvrindes is configured, set the point's value into Ppmpdrvrin

Ppmpdrvrin = Ppmpdrvrin

else

Ppmpdrvrin = Ivltpmp * iamppmp * kpfpmp * pow(knumphases,0.5) * WtoMW;

Calculate pump input power by multiplying nameplate motor efficiency by the driver input power.

Ppmpin = Ppmpdrvrin * epmpmeff / 100.0;

else (Not motor driven)

Ppmpdrvrin = Ppmpdrvrindes;
Ppmpin = Ppmpdrvrin;

Obtain design speed information for pump. If design speed is entered and actual speed is
configured, calculate the speed ratio. Otherwise, set the speed ratio to 1.

Fspeed = ndesspeed / nspeed;

Correct pump input power based on affinity laws

Ppmpincorr = Ppmpin * pow(Fspeed,3);

Convert the measured mass flow in klb/hr to volumetric flow in gallons/minute.

- GALtoKLB - flow conversion factor = 0.0083282926


- MIN_TO_HOUR - time conversion factor from min to hour, = 60.0
wvolpmpout = wpmpfwout/ (MIN_TO_HOUR * GALtoKLB * Spmpsgrv);

Correct the flow based on affinity laws

wvolpmpoutc = wvolpmpout * Fspeed;

Correct the pump head based on affinity laws.

Hpmphdcorr = Hpmphd * pow(Fspeed,2);

Compute the pump output power as the product of the specific gravity, the volumetric water flow
and the pump head.

Ppmpout = ((Spmpdgrv * wvolpmpout * Hpmphd) / GALFTtoHP=3960) *


HPtoMW=7.456999E-04;

514 SP_0030
9.116 Pump

Compute the corrected pump output power as the product of the specific gravity, the volumetric
water flow and the pump head.

Ppmpoutcorr = ((Spmpdgrv * wvolpmpoutc * Hpmphdcorr) / GALFTtoHP=3960) *


HPtoMW=7.456999E-04;

Compute pump actual efficiency as the ratio of pump output power to pump input power.

epmpaeff = 100.0 * (Ppmpout / Ppmpin);

Compute corrected pump actual efficiency as the ratio of corrected pump output power to
corrected pump input power.

epmpaeffcorr = 100.0 * (Ppmpoutcorr / Ppmpincorr);

Compute pump overall efficiency as the ratio of pump output power to pump driver input power.

epmpoeff = 100.0 * (Ppmpout / Ppmpdrvrin);

Compute corrected pump overall efficiency as the ratio of corrected pump output power to pump
driver input power.

epmpoeffcorr = 100.0 * (Ppmpoutcorr / Ppmpdrvrin);

Compute pump design efficiencies if not configured and deviation

epmpdes = kpmpdes[0] + kpmpdes[1]*wvolpmpout + kpmpdes[2]*pow(wvolpmpout,2) +


kpmpdes[3]*pow(wvolpmpout,3) + kpmpdes[4]*pow(wvolpmpout,4) +
kpmpdes[5]*pow(wvolpmpout,5);
epmpdescorr = kpmpdes[0] + kpmpdes[1]*wvolpmpoutc + kpmpdes[2]*pow(wvolpmpoutc,2) +
kpmpdes[3]*pow(wvolpmpoutc,3) +
kpmpdes[4]*pow(wvolpmpoutc,4) +
kpmpdes[5]*pow(wvolpmpoutc,5);

epmpedev = epmpoeff - epmpdes;


epmpedevcorr = epmpoeffcorr - epmpdescorr;

Compute pump expected heads if not configured

Hpmpehd = kpmpehd[0] + kpmpehd[1]*wvolpmpout + kpmpehd[2]*pow(wvolpmpout,2) +


kpmpehd[3]*pow(wvolpmpout,3) + kpmpehd[4]*pow(wvolpmpout,4) +
kpmpehd[5]*pow(wvolpmpout,5);

Hpmpehdcorr = kpmpehd[0] + kpmpehd[1]*wvolpmpoutc +


kpmpehd[2]*pow(wvolpmpoutc,2) +
kpmpehd[3]*pow(wvolpmpoutc,3) + kpmpehd[4]*pow(wvolpmpoutc,4) +
kpmpehd[5]*pow(wvolpmpoutc,5);
ddev = Hpmphd - Hpmpehd;

Hpmphdd
Hpmphevcorr = Hpmphdcorr - Hpmpehdcorr;

SP_0030 515
9.116 Pump

Compute the pump head deviation percent as the ratio of corrected pump head to expected head

Rpmphddev = 100.0 * ((Hpmphd - Hpmpehd) / Hpmpehd);


Rpmphddevcorr = 100.0 * ((Hpmphdcorr - Hpmpehdcorr) / Hpmpehdcorr);

516 SP_0030
9.117 PUMP1SPD

9.117 PUMP1SPD

The Pump1spd algorithm calculates pump performance for pumps running at a constant speed.
Expected head, actual head, pump efficiency, efficiency deviation, and percent head deviations
are also calculated.

YES Units are Converted.

PUMP1SPD

Parameters Description Usage

Analog Inputs

kphases motor number of phases [Optional] Use if motor driven


and if not configured will use 3
wpmpfwin pump feedwater flow REQUIRED
wpmpfwout pump feedwater flow out REQUIRED will be the same
as in if no bleed is present
tpmpsuc pump suction temperature [Optional]
pdeaout deaerator outlet pressure [Optional] Use only for boiler
feedpumps and if suction
pressure not measured.
ppmpsuc pump suction pressure [Optional] Use if pump suction
pressure is measured.
patmos atmospheric pressure REQUIRED
ppmpdis pump discharge pressure [Optional]
tpmpdis pump discharge temperature [Optional]
Ivltpmp pump volts [Optional] Use if motor driven
pump
iamppmp pump amps [Optional] Use if motor driven
pump
kpfpmp pump power factor [Optional] Use if motor driven
pump
epmpmdes pump motor design efficiency [Optional] Use for motor driven
pumps if design efficiency is
available.
Hpumpehd expected pump head [Optional] if not configured will
be calc as poly vol flow.
epumpdes pump design efficiency [Optional] if not configured will
be calc as poly vol flow.
Ppmpdrvrindes driver input pwr [Optional] if not configured will
be calc for mtr driven.
Digital Inputs

zdocalc digital perf calc run flag [Optional]

SP_0030 517
9.117 PUMP1SPD

PUMP1SPD

Parameters Description Usage

zpmpon pump running flag [Optional] Use if digital flags


determine pump in service
status.
zpmpoff pump off flag [Optional] Use if digital flags
determine pump in service
status.
Analog Outputs

knumphases motor number of phases [Optional]

pabssucsat pump suction saturated pres [Optional]


vpmpbfps bfp suction volume [Optional]
dpmpbfps bfp suction density [Optional]
Hcondea bfp cnst head add dea out pres [Optional]

pabspmpsuc pump suction pressure absolute [Optional]

hpmpsuc pump suction enthalpy [Optional]


pabsdissat pump discharge sat pres [Optional]
pabspmpdis pump discharge pres abs [Optional]
hpmpdis pump discharge enthalpy [Optional]
hpmpadd pump added heat [Optional]
vpmpsuc pump suction volume [Optional]
dpmpsuc pump suction density [Optional]
Spmpsgrv pump suction specific gravity [Optional]
ksucindia pump suction inner diameter [Optional]
apmpsxa pump nozzle suction area [Optional]
Vpmpsvel pump suction velocity [Optional]
Hpmpsvel pump suction head velocity [Optional]
vpmpdis pump discharge volume [Optional]
dpmpdis pump discharge density [Optional]
Spmpdgrv pump disch specific gravity [Optional]
kdisindia discharge inner diameter [Optional]
apmpdxa pump discharge area [Optional]
Vpmpdvel pump discharge velocity [Optional]

Hpmpdvel pump discharge head velocity [Optional]

Hpmpselv pump suction elevation head [Optional]


Hpmpshd total pump suction head [Optional]
Hpmpdelv pump discharge elevation head [Optional]

518 SP_0030
9.117 PUMP1SPD

PUMP1SPD

Parameters Description Usage

Hpmpdhd total pump discharge head [Optional]

Hpmphd total pump head [Optional]


epmpmeff pump motor efficiency [Optional]

Ppmpmtr pump motor power [Optional]


Ipmpvltmtr pump motor volts [Optional]
ipmpampmtr pump motor amps [Optional]
kpmppfmtr pump motor power factor [Optional]
Ppmpdrvrin pump driver input power [Optional]
Ppmpin pump input power [Optional]
wvolpmpout pump volumetric flow [Optional]
Ppmpout pump output power [Optional]

epmpaeff pump actual efficiency [Optional]

epmpoeff pump overall efficiency [Optional]


epmpdes pump design efficiency [Optional]
epmpedev pump efficiency deviation [Optional]
Hpmpehd expected pump head [Optional]
Hpmphddev pump head deviation [Optional]
Rpmphddev pct pump head deviation [Optional]
Digital Outputs

zinsvcpmp pump in-service flag [Optional] Use if pump in


service status needed for OPC
output point.
Constants

< NONE >

9.117.1 PUMP1SPD Calculation Overview

Check if pump is in service. If not, zero all calculations.

if (PumpInService)

zdopump = 1;

else

zdopump = 0;
zinsvcpmp = zdopump;

SP_0030 519
9.117 PUMP1SPD

Per ASME PTC PM-1993, pump performance has very little impact on heat rate, thus pump
efficiency is seldom of concern. The bottom line is determining whether or not the pump is
meeting its capacity head curve within a given tolerance. Therefore, the total head is calculated
by the procedure defined in ASME PTC 8.2, and divided by the design head that is calculated
from the pump characteristic curve. The result is defined as the capacity of the pump.

if (zdopump)

Check the number of phases, if configured, read the number of phases. If not configured, set the
number of phases to three.

if (Configured)

knumphases = kphases;

else

knumphases = 3.0;

First, compute the saturated liquid pressure in psia corresponding to the measured suction
temperature using the steam table function 'pslt' to determine if the pressure lies in the saturated
or compressed liquid regions for boiler feedpumps only.

pslt(&pabssucsat, &tpmpsuc, &ITRNGE);

Check to see if suction pressure is measured for boiler feedpumps only. If not, add the constant
head from the design screen to the deaerator outlet pressure.

if (! SuctionPressMeas)

vslt(&vpmpbfps,&tpmpsuc,&ITRNGE);
dpmpbfps = 1 / vpmpbfps;
Hcondea = OutletPressHead(1);
pabspmpsuc = pdeaout + patmos + (Hcondea * dpmpbfps / ARACNV);

else

Convert the measured suction pressure in psig to absolute in psia.

pabspmpsuc = ppmpsuc + patmos;

Check to see what region the pressure lies for the boiler feedpumps only. The other types of
pumps are assumed to be in the saturated liquid region.

if (pabspmpsuc > pabssucsat)

The liquid is in compressed region if this is a boiler feedpump. Otherwise, the liquid is in saturated
region.

hcltp(&hpmpsuc, &tpmpsuc, &pabspmpsuc, &ITRNGE);

else

The liquid is in saturated region. Compute the pump suction enthalpy in btu/lb as a saturated
liquid steam table function of the pressure.

hslt(&hpmpsuc, &tpmpsuc, &ITRNGE);

520 SP_0030
9.117 PUMP1SPD

Compute the saturated liquid pressure in psia corresponding to the measured suction
temperature using the steam table function 'pslt' to determine if the pressure lies in the saturated
or compressed liquid regions.

pslt(&pabsdissat, &tpmpdis, &ITRNGE);

Calculate the boiler feedpump discharge enthalpy in btu/lb as a compressed or saturated liquid
steam table function of the feedpump measured discharge pressure and the temperature if using
the compressed steam table call. If not a boiler feedpump, calculate the pump discharge enthalpy
as a saturated liquid call.

First, convert the measured discharge pressure in psig to absolute in psia.

pabspmpdis = ppmpdis + patmos;

if (pabspmpdis > pabsdissat)

hcltp(&hpmpdis, &tpmpdis, &pabspmpdis, &ITRNGE);

else

hslt(&hpmpdis,&tpmpdis,&ITRNGE);

Compute the heat added by the pump in btu/lb as the difference between the discharge and
suction enthalpies.

hpmpadd = hpmpdis - hpmpsuc;

Depending on whether the suction pressure lies in the saturated liquid or compressed liquid
regions, the specific volume of the feed water at the pump suction is calculated accordingly.

if (pabspmpsuc > pabssucsat)

Compute the specific volume of the feed water at the pump suction in ft3/lb as a compressed
liquid steam table function of the feedpump measured suction temperature in deg.f and the
absolute suction pressure in psia. 'vcltp' is a steam table function.

vcltp(&vpmpsuc, &tpmpsuc, &pabspmpsuc, &ITRNGE);

else

Calculate the specific volume of the feed water at the pump suction in ft3/lb as a saturated liquid
steam table function of the feedpump measured suction temperature in deg.f. 'vslt' is a steam
table function.

vslt(&vpmpsuc, &tpmpsuc, &ITRNGE);

Compute the density of the feedwater at the pump suction in lb/ft3 as the inverse of the specific
volume at this location.

dpmpsuc = 1.0 / vpmpsuc;

Compute the feedwater suction specific gravity from the specific volume and the density of water.

Spmpsgrv = 1.0 / (vpmpsuc * DWATER);

Compute the water velocity in ft/sec by dividing the water flow by the product of the suction area
of the pump nozzle and the suction density.

ksucindia = InnerDia(SUCTION,0);

SP_0030 521
9.117 PUMP1SPD

Convert the inner diameter value to inches if not in English

if (CurUnits != ENGLISH)

ksucindia = ksucindia * CMtoIN;


apmpsxa = PI * pow(((ksucindia/INtoFEET) / 2.0),2);
Vpmpsvel = (wpmpfwin * KLBtoLB) / (apmpsxa * HRtoSEC * dpmpsuc);

Compute the suction velocity in feet as a function of the velocity and gravity.

Hpmpsvel = pow(Vpmpsvel,2) / (2 * GRAVITY);

Compute the discharge specific volume and density.

if (pabspmpdis > pabsdissat)

vcltp(&vpmpdis, &tpmpdis, &pabspmpdis, &ITRNGE);

else

vslt(&vpmpdis, &tpmpdis, &ITRNGE);


dpmpdis = 1.0 / vpmpdis;

Compute the feedwater discharge specific gravity from the specific volume and the density of
water.

Spmpdgrv = 1.0 / (vpmpdis * DWATER);

Compute the discharge velocity head as a function of the velocity and gravity.

kdisindia = InnerDia(DISCHARGE,0);

Convert the inner diameter value to inches if not in English

if (CurUnits != ENGLISH)

kdisindia = kdisindia * CMtoIN;

apmpdxa = PI * pow(((kdisindia/INtoFEET) / 2.0),2);


Vpmpdvel = (wpmpfwout * KLBtoLB) / (apmpdxa * HRtoSEC * dpmpdis);
Hpmpdvel = pow(Vpmpdvel,2) / (2 * GRAVITY);

Compute the total suction head in feet as the sum of the pressure head, suction elevation head
and the suction velocity head.

Hpmpselv = ElevHead(SUCTION,1);
Hpmpshd = (pabspmpsuc * vpmpsuc * ARACNV) + Hpmpselv + Hpmpsvel;

Compute the total discharge head in feet as the sum of the pressure head, discharge elevation
head and the discharge velocity head.

Hpmpdelv = ElevHead(DISCHARGE,1);
Hpmpdhd = (pabspmpdis * vpmpdis * ARACNV) + Hpmpdelv + Hpmpdvel;

522 SP_0030
9.117 PUMP1SPD

Compute the total pump head in feet as the difference between the total discharge head and the
total suction head.

Hpmphd = Hpmpdhd - Hpmpshd;

For motor driven pumps, compute the design pump motor efficiency if it is not available. For
steam driven pumps, set the design pump motor efficiency to 0.

if (MotorEffAvail && PUMP_STEAM_DRIVEN)

Ppmpmtr = 0.0;
Ipmpvltmtr = 0.0;
ipmpampmtr = 0.0;
kpmppfmtr = 0.0;
epmpmeff = epmpmdes;

else

if (! PUMP_STEAM_DRIVEN)

Ppmpmtr = MotorNPPower(1);
Ipmpvltmtr = MotorNPVolts();
ipmpampmtr = MotorNPAmps();
kpmppfmtr = MotorNPPowFact();
epmpmeff = ((Ppmpmtr / WtoMW) / (Ipmpvltmtr * ipmpampmtr * kpmppfmtr *
pow(knumphases,0.5))) * 100.0;

else

Ppmpmtr = 0.0;
Ipmpvltmtr = 0.0;
ipmpampmtr = 0.0;
kpmppfmtr = 0.0;
epmpmeff = 0.0;

Compute driver input power.

if (PUMP_MOTOR_DRIVEN)

If Ppmpdrvrindes is configured, set the point's value into Ppmpdrvrin

if (Configured)

Ppmpdrvrin = Ppmpdrvrindes;

else

Ppmpdrvrin = Ivltpmp * iamppmp * kpfpmp * pow(knumphases,0.5) * WtoMW;

SP_0030 523
9.117 PUMP1SPD

Calculate pump input power by multiplying nameplate motor efficiency by the driver input power.

Ppmpin = Ppmpdrvrin * epmpmeff / 100.0;

else

Ppmpdrvrin = Ppmpdrvrindes;
Ppmpin = Ppmpdrvrin;

Convert the measured mass flow in klb/hr to volumetric flow in gallons/minute. The definitions
used in the following equation are included in the global header file.

- GALtoKLB - flow conversion factor


- MIN_TO_HOUR - time conversion factor from min to hour, = 60.0
wvolpmpout = wpmpfwout/ (MIN_TO_HOUR * GALtoKLB * Spmpdgrv);

Compute the pump output power as the product of the specific gravity, the volumetric water flow
and the pump head.

Ppmpout = ((Spmpdgrv * wvolpmpout * Hpmphd) / GALFTtoHP) * HPtoMW;

Compute pump actual efficiency as the ratio of pump output power to pump input power.

if (Ppmpin >= 1E-03)

epmpaeff = 100.0 * (Ppmpout / Ppmpin);

else

epmpaeff = 0.0;

Compute pump overall efficiency as the ratio of pump output power to pump driver input power.

if (Ppmpdrvrin >= 1E-03)

epmpoeff = 100.0 * (Ppmpout / Ppmpdrvrin);

else

epmpoeff = 0.0;

Compute pump design efficiencies if not configured

if (Configured)

epmpdes = epumpdes;

else

epmpdes = k1spdpmpdes[0] + k1spdpmpdes[1]*wvolpmpout +


k1spdpmpdes[2]*pow(wvolpmpout,2) + k1spdpmpdes[3]*pow(wvolpmpout,3) +
k1spdpmpdes[4]*pow(wvolpmpout,4) + k1spdpmpdes[5]*pow(wvolpmpout,5);

524 SP_0030
9.117 PUMP1SPD

Compute pump efficiency deviations as the difference between overall and design efficiencies.

epmpedev = epmpoeff - epmpdes;

Compute pump expected heads if not configured

if (Configured)

Hpmpehd = Hpumpehd;

else

Hpmpehd = k1spdpmpehd[0] + k1spdpmpehd[1]*wvolpmpout +


k1spdpmpehd[2]*pow(wvolpmpout,2) + k1spdpmpehd[3]*pow(wvolpmpout,3) +
k1spdpmpehd[4]*pow(wvolpmpout,4) + k1spdpmpehd[5]*pow(wvolpmpout,5);

Compute pump head deviations

Hpmphddev = Hpmphd - Hpmpehd;

Compute the pump head deviation percent as the ratio of corrected pump head to expected head.

if (Hpmpehd >= 1E-03)

Rpmphddev = 100.0 * ((Hpmphd - Hpmpehd) / Hpmpehd);

else

Rpmphddev = 0.0;

else

Pump - is out-of-service. Zero all outputs calculated above.

SP_0030 525
9.118 PUMP2STG

9.118 PUMP2STG

The Pump2stg algorithm calculates pump performance for a pump which has an extraction or
discharge between two stages of the pump. If available, expected heads for individual stages are
calculated and compared to actual.

Total expected head and actual total head can also be calculated and a deviation reported.
Pump efficiency, efficiency deviation, and percent head deviations are also calculated.

YES Units are Converted.

PUMP2STG

Parameters Description Usage

Analog Inputs

kphases motor number of phases [Optional] Use if motor driven


and if not configured will use 3
wpmpfwin pump suction feedwater flow REQUIRED
wpmpfwout pump discharge feedwater flow REQUIRED is the same as
input flow no stage extraction
is present
tpmpsuc pump suction temperature [Optional] Use only for boiler
feedpumps and if suction
pressure not measured.
pdeaout deaerator outlet pressure [Optional]
ppmpsuc pump suction pressure [Optional] Use if pump suction
pressure is measured.
patmos atmospheric pressure REQUIRED

ppmpstg pump stage extr pressure [Optional]


tpmpstg pump stage extr temperature [Optional]
ppmpdis pump discharge pressure [Optional]
tpmpdis pump discharge temperature [Optional]
Ivltpmp pump volts [Optional] Use if motor driven
pump
iamppmp pump amps [Optional] Use if motor driven
pump
kpfpmp pump power factor [Optional] Use if motor driven
pump
epmpmdes pump motor design efficiency [Optional] Use for motor driven
pumps if design efficiency is
available.
nspeed pump speed [Optional]
Hehdipin expected ip pump head [Optional] if not configured will
be calc as poly vol flow
Hehdcorripin expected ip corr pump head [Optional] if not configured will
be calc as poly corr vol flow

526 SP_0030
9.118 PUMP2STG

PUMP2STG

Parameters Description Usage

Hehdhpin expected ip pump head [Optional] if not configured will


be calc as poly vol flow
Hehdcorrhpin expected ip corr pump head [Optional] if not configured will
be calc as poly corr vol flow
Hehdtotin expected total pump head [Optional] if not configured will
be calc as poly vol flow
Hehdcorrtotin expected total corr pump head [Optional] if not configured will
be calc as poly vol flow
epumpdes pump design efficiency [Optional] if not configured will
be calc as poly vol flow
epumpdescorr corrected pump design effic [Optional] if not configured will
be calc as poly corr vol flow
Ppmpdrvrindes driver input pwr [Optional] if not configured will
be calc for mtr driven
Digital Inputs

zdocalc digital perf calc run flag [Optional]

zpmpon pump running flag [Optional] Use if digital flags


determine pump in service
status.
zpmpoff pump off flag [Optional] Use if digital flags
determine pump in service
status.
Analog Outputs

knumphases motor number of phases [Optional]

pabssucsat pump suction saturated pres [Optional]


vpmpbfps bfp suction volume [Optional]
dpmpbfps bfp suction density [Optional]
Hcondea bfp cnst head add dea out pres [Optional]
pabspmpsuc pump suction pressure absolute [Optional]
hpmpsuc pump suction enthalpy [Optional]
pabsstgsat pump stage extr sat pres [Optional]
pabspmpstg pump stage extr pres abs [Optional]

hpmpstg pump stage extr enthalpy [Optional]

pabsdissat pump discharge sat pres [Optional]


pabspmpdis pump discharge pres abs [Optional]
hpmpdis pump discharge enthalpy [Optional]
hpmpipadd pump ip sec added heat [Optional]
hpmphpadd pump hp sec added heat [Optional]

SP_0030 527
9.118 PUMP2STG

PUMP2STG

Parameters Description Usage

hpmptotadd total heat added by pump [Optional]


vpmpsuc pump suction volume [Optional]

dpmpsuc pump suction density [Optional]

Spmpsgrv pump suction specific gravity [Optional]


ksucindia pump suction inner diameter [Optional]
apmpsxa pump nozzle suction area [Optional]
Vpmpsvel pump suction velocity [Optional]
Hpmpsvel pump suction head velocity [Optional]
vpmpstg pump stage extr volume [Optional]
dpmpstg pump stage extr density [Optional]
Spmpstggrv pump stg extr spec gravity [Optional]
discharge inner diameter [Optional]
kstgindia stage extr inner diameter [Optional]
apmpstgxa pump stage extr area [Optional]
Vpmpstgvel pump stage extr velocity [Optional]
Hpmpstgvel pump stage extr head velocity [Optional]
vpmpdis pump discharge volume [Optional]
dpmpdis pump discharge density [Optional]
Spmpdgrv pump disch specific gravity [Optional]

apmpdxa pump discharge area [Optional]

Vpmpdvel pump discharge velocity [Optional]


Hpmpdvel pump discharge head velocity [Optional]
Hpmpselv pump suction elevation head [Optional]
Hpmpshd total pump suction head [Optional]
Hpmpstghd total pump stage extr head [Optional]
Hpmpdelv pump discharge elevation head [Optional]
Hpmpdhd total pump discharge head [Optional]

Hpmpiphd ip sec pump head [Optional]

Hpmphphd hp sec pump head [Optional]


Hpmptothd total pump head [Optional]
epmpmeff pump motor efficiency [Optional]
Ppmpmtr pump motor power [Optional]
Ipmpvltmtr pump motor volts [Optional]
ipmpampmtr pump motor amps [Optional]

528 SP_0030
9.118 PUMP2STG

PUMP2STG

Parameters Description Usage

kpmppfmtr pump motor power factor [Optional]


Ppmpdrvrin pump driver input power [Optional]
Ppmpin pump input power [Optional]
ndesspeed pump design speed [Optional]
Fspeed pmp spd ratio var spd pumps [Optional]
Ppmpincorr pump in pwr corr for speed [Optional]
Ppmpdrvrincorr driver input pwr corr for spd [Optional]
wvolpmpin pump volumetric in flow [Optional]
wvolpmpinc pump vol in flow corr for spd [Optional]
wvolpmpout pump volumetric out flow [Optional]
wvolpmpoutc pump vol out flow corr for spd [Optional]

Hpmpiphdcorr pump ip sec corr head [Optional]

Hpmphphdcorr pump hp sec corr head [Optional]

Hpmptothdcorr pump total corr head [Optional]

Ppmpipout ip stg pump output power [Optional]


Ppmphpout hp stg pump output power [Optional]
Ppmpout total pump output power [Optional]
Ppmpipoutcorr ip stg pump out pwr corr spd [Optional]
Ppmphpoutcorr hp stg pump out pwr corr spd [Optional]
Ppmpoutcorr total pump out pwr corr spd [Optional]
epmpaeff pump actual efficiency [Optional]
epmpaeffcorr corr pump actual efficiency [Optional]
epmpoeff pump overall efficiency [Optional]
epmpoeffcorr corr pump overall efficiency [Optional]
epmpdes pump design efficiency [Optional]

epmpdescorr corr pump design efficiency [Optional]

epmpedev pump efficiency deviation [Optional]


epmpedevcorr corr pump effic deviation [Optional]
Hpmpipehd exp ip sec pump head [Optional]
Hpmphpehd exp hp sec pump head [Optional]
Hpmptotehd corr exp total pump head [Optional]
Hpmpipehdcorr exp ip sec pump corr head [Optional]
Hpmphpehdcorr exp hp sec pump corr head [Optional]
Hpmptotehdcorr exp total pump corr head [Optional]

SP_0030 529
9.118 PUMP2STG

PUMP2STG

Parameters Description Usage

Hpmpiphddev ip sec pump head deviation [Optional]


Hpmphphddev hp sec pump head deviation [Optional]
Hpmptothddev total pump head deviation [Optional]
Hiphddevcorr corr ip sec pump head dev [Optional]
Hhphddevcorr corr hp sec pump head dev [Optional]
Htothddevcorr corr total pump head dev [Optional]
Rpmpiphddev pct ip pump head dev [Optional]
Rpmphphddev pct hp pump head dev [Optional]
Rpmptothddev pct total pump head dev [Optional]
Riphddevcorr corr pct ip pump head dev [Optional]
Rhphddevcorr corr pct hp pump head dev [Optional]
Rtothddevcorr corr pct tot pump head dev [Optional]
Digital Outputs

zinsvcpmp pump in-service flag [Optional] Use if pump in


service status needed for OPC
output point.
Constants

< NONE >

9.118.1 PUMP2STG Calculation Overview

Check if pump is in service. If not, zero all calculations.

zinsvcpmp = zdopump;

Per ASME PTC PM-1993, pump performance has very little impact on heat rate, thus pump
efficiency is seldom of concern. The bottom line is determining whether or not the pump is
meeting its capacity head curve within a given tolerance. Therefore, the total head is calculated
by the procedure defined in ASME PTC 8.2, and divided by the design head that is calculated
from the pump characteristic curve. The result is defined as the capacity of the pump.

if (zdopump)
{

Check the number of phases, if configured, read the number of phases. If not configured, set the
number of phases to three.

if configured

knumphases = kphases;

530 SP_0030
9.118 PUMP2STG

else

knumphases = 3.0;

First, compute the saturated liquid pressure in psia corresponding to the measured suction
temperature using the steam table function 'pslt' to determine if the pressure lies in the saturated
or compressed liquid regions for boiler feedpumps only.

pslt(&pabssucsat, &tpmpsuc, &ITRNGE);

Check to see if suction pressure is measured for boiler feedpumps only. If not, add the constant
head from the design screen to the deaerator outlet pressure.

if (!(IsSuctionPressMeas()))

vslt(&vpmpbfps,&tpmpsuc,&ITRNGE);
dpmpbfps = 1 / vpmpbfps;
Hcondea = OutletPressHead(1);
pabspmpsuc = pdeaout + patmos + (Hcondea * dpmpbfps / ARACNV);

else

Convert the measured suction pressure in psig to absolute in psia.

pabspmpsuc = ppmpsuc + patmos;

Check to see what region the pressure lies for the boiler feedpumps only. The other types of
pumps are assumed to be in the saturated liquid region.

if (pabspmpsuc > pabssucsat)

The liquid is in compressed region if this is a boiler feedpump. Otherwise, the liquid is in saturated
region.

hcltp(&hpmpsuc, &tpmpsuc, &pabspmpsuc, &ITRNGE);

else

The liquid is in saturated region. Compute the pump suction enthalpy in btu/lb as a saturated
liquid steam table function of the pressure.

hslt(&hpmpsuc, &tpmpsuc, &ITRNGE);

First, compute the saturated liquid pressure in psia corresponding to the measured extraction
temperature using the steam table function 'pslt' to determine if the pressure lies in the saturated
or compressed liquid regions for boiler feedpumps only.

pslt(&pabsstgsat, &tpmpstg, &ITRNGE);

Convert the measured suction pressure in psig to absolute in psia.

pabspmpstg = ppmpstg + patmos;

SP_0030 531
9.118 PUMP2STG

Check to see what region the pressure lies for the boiler feedpumps only. The other types of
pumps are assumed to be in the saturated liquid region.

if (pabspmpstg > pabsstgsat)

The liquid is in compressed region if this is a boiler feedpump.

Otherwise, the liquid is in saturated region.

hcltp(&hpmpstg, &tpmpstg, &pabspmpstg, &ITRNGE);

else

The liquid is in saturated region. Compute the pump stage extraction enthalpy in btu/lb as a
saturated liquid steam table function of the pressure.

hslt(&hpmpstg, &tpmpstg, &ITRNGE);

Compute the saturated liquid pressure in psia corresponding to the measured suction
temperature using the steam table function 'pslt' to determine if the pressure lies in the saturated
or compressed liquid regions.

pslt(&pabsdissat, &tpmpdis, &ITRNGE);

Calculate the boiler feedpump discharge enthalpy in btu/lb as a compressed or saturated liquid
steam table function of the feedpump measured discharge pressure and the temperature if using
the compressed steam table call. If not a boiler feedpump, calculated the pump discharge
enthalpy as a saturated liquid call.

First, convert the measured discharge pressure in psig to

absolute in psia.

pabspmpdis = ppmpdis + patmos;

if (pabspmpdis > pabsdissat)

hcltp(&hpmpdis, &tpmpdis, &pabspmpdis, &ITRNGE);

else

hslt(&hpmpdis,&tpmpdis,&ITRNGE);

Compute the heat added by the two sections of the pump as well as the entire pump in btu/lb as
the difference between the discharge and suction enthalpies.

hpmpipadd = hpmpstg - hpmpsuc;


hpmphpadd = hpmpdis - hpmpstg;
hpmptotadd = hpmpdis - hpmpsuc;

532 SP_0030
9.118 PUMP2STG

Depending on whether the suction pressure lies in the saturated liquid or compressed liquid
regions, the specific volume of the feed water at the pump suction is calculated accordingly.

if (pabspmpsuc > pabssucsat)

Compute the specific volume of the feed water at the pump suction in ft3/lb as a compressed
liquid steam table function of the feedpump measured suction temperature in deg.f and the
absolute suction pressure in psia. 'vcltp' is a steamtable function.

vcltp(&vpmpsuc, &tpmpsuc, &pabspmpsuc, &ITRNGE);

else

Calculate the specific volume of the feed water at the pump suction in ft3/lb as a saturated liquid
steam table function of the feedpump measured suction temperature in deg.f. 'vslt' is a steam
table function.

vslt(&vpmpsuc, &tpmpsuc, &ITRNGE);

Compute the density of the feedwater at the pump suction in lb/ft3 as the inverse of the specific
volume at this location.

dpmpsuc = 1.0 / vpmpsuc;

Compute the feedwater suction specific gravity from the specific volume and the density of water.

Spmpsgrv = 1.0 / (vpmpsuc * DWATER);

Compute the water velocity in ft/sec by dividing the water flow by the product of the suction area
of the pump nozzle and the suction density.

ksucindia = InnerDia(SUCTION,0);

Convert the inner diameter value to inches if not in English

if (units != ENGLISH)

ksucindia = ksucindia * CMtoIN;


apmpsxa = PI * pow(((ksucindia/INtoFEET) / 2.0),2);
Vpmpsvel = (wpmpfwin * KLBtoLB) / (apmpsxa * HRtoSEC * dpmpsuc);

Compute the suction velocity in feet as a function of the velocity and gravity.

Hpmpsvel = pow(Vpmpsvel,2) / (2 * GRAVITY);

SP_0030 533
9.118 PUMP2STG

Depending on whether the stage extraction pressure lies in the saturated liquid or compressed
liquid regions, the specific volume of the feed water at the pump stage extraction is calculated
accordingly.

if (pabspmpstg > pabsstgsat)

Compute the specific volume of the feed water at the pump stage extraction in ft3/lb as a
compressed liquid steam table function of the feedpump measured stage extraction temperature
in deg.f and the absolute stage extraction pressure in psia. 'vcltp' is a steam table function.

vcltp(&vpmpstg, &tpmpstg, &pabspmpstg, &ITRNGE);

else

Calculate the specific volume of the feed water at the pump stage extraction in ft3/lb as a
saturated liquid steam table function of the feedpump measured stage extraction temperature in
deg.f. 'vslt' is a steam table function.

vslt(&vpmpstg, &tpmpstg, &ITRNGE);

Compute the density of the feedwater at the pump stage extraction in lb/ft3 as the inverse of the
specific volume at this location.

dpmpstg = 1.0 / vpmpstg;

Compute the feedwater stage extraction specific gravity from the specific volume and the density
of water.

Spmpstggrv = 1.0 / (vpmpstg * DWATER);

Compute the discharge velocity head as a function of the velocity and gravity.

kdisindia = InnerDia(DISCHARGE,0);

Convert the inner diameter value to inches if not in English

if (units != ENGLISH)

kdisindia = kdisindia * CMtoIN;

Average the suction and discharge diamaters to obtain the stage extraction diameter

kstgindia = (ksucindia + kdisindia) / 2.0;


apmpstgxa = PI * pow(((kstgindia/INtoFEET) / 2.0),2);
Vpmpstgvel = (wpmpfwin * KLBtoLB) / (apmpstgxa * HRtoSEC * dpmpstg);

Compute the stage extraction velocity in feet as a function of the velocity and gravity.

Hpmpstgvel = pow(Vpmpstgvel,2) / (2 * GRAVITY);

Compute the discharge specific volume and density.

if (pabspmpdis > pabsdissat)

vcltp(&vpmpdis, &tpmpdis, &pabspmpdis, &ITRNGE);

534 SP_0030
9.118 PUMP2STG

else

vslt(&vpmpdis, &tpmpdis, &ITRNGE);


dpmpdis = 1.0 / vpmpdis;

Compute the feedwater discharge specific gravity from the specific volume and the density of
water.

Spmpdgrv = 1.0 / (vpmpdis * DWATER);


apmpdxa = PI * pow(((kdisindia/INtoFEET) / 2.0),2);
Vpmpdvel = (wpmpfwout * KLBtoLB) / (apmpdxa * HRtoSEC * dpmpdis);
Hpmpdvel = pow(Vpmpdvel,2) / (2 * GRAVITY);

Compute the total suction head in feet as the sum of the pressure head, suction elevation head
and the suction velocity head.

Hpmpselv = ElevHead(SUCTION,1);
Hpmpshd = (pabspmpsuc * vpmpsuc * ARACNV) + Hpmpselv + Hpmpsvel;

Compute the total stage extraction head in feet as the sum of the pressure head, and the stage
extraction velocity head.

Hpmpstghd = (pabspmpstg * vpmpstg * ARACNV) + Hpmpstgvel;

Compute the total discharge head in feet as the sum of the pressure head, discharge elevation
head and the discharge velocity head.

Hpmpdelv = ElevHead(DISCHARGE,1);
Hpmpdhd = (pabspmpdis * vpmpdis * ARACNV) + Hpmpdelv + Hpmpdvel;

Compute the total pump head as well as the ip and hp stage heads in feet as the difference
between the total discharge head and the total suction head.

Hpmpiphd = Hpmpstghd - Hpmpshd;


Hpmphphd = Hpmpdhd - Hpmpstghd;
Hpmptothd = Hpmphphd + Hpmpiphd;

For motor driven pumps, compute the design pump motor efficiency if it is not available. For
steam driven pumps, set the design pump motor efficiency to 0.

if (MotorEffAvail && PUMP_STEAM_DRIVEN)

Ppmpmtr = 0.0;
Ipmpvltmtr = 0.0;
ipmpampmtr = 0.0;
kpmppfmtr = 0.0;
epmpmeff = epmpmdes;

else

if (PUMP_STEAM_DRIVEN)

Ppmpmtr = MotorNPPower(1);

SP_0030 535
9.118 PUMP2STG

Ipmpvltmtr = MotorNPVolts();
ipmpampmtr = MotorNPAmps();
kpmppfmtr = MotorNPPowFact();
epmpmeff = ((Ppmpmtr / WtoMW) / (Ipmpvltmtr * ipmpampmtr * kpmppfmtr *
pow(knumphases,0.5))) * 100.0;

else

Ppmpmtr = 0.0;
Ipmpvltmtr = 0.0;
ipmpampmtr = 0.0;
kpmppfmtr = 0.0;
epmpmeff = 0.0;

Compute driver input power.

if (PUMP_MOTOR_DRIVEN)

If Ppmpdrvrindes is configured, set the point's value into Ppmpdrvrin


if (configured)
Ppmpdrvrin = Ppmpdrvrindes;

else

Ppmpdrvrin = Ivltpmp * iamppmp * kpfpmp * pow(knumphases,0.5) * WtoMW;

Calculate pump input power by multiplying nameplate motor efficiency by the driver input power.

Ppmpin = Ppmpdrvrin * epmpmeff / 100.0;

else

Ppmpdrvrin = Ppmpdrvrindes;
Ppmpin = Ppmpdrvrin;

Obtain design speed information for pump. If design speed is entered and actual speed is
configured, calculate the speed ratio. Otherwise, set the speed ratio to 1.

ndesspeed = DesignSpeed();

if (ndesspeed < 1E-06)

Fspeed = 1.0;

else

Fspeed = ndesspeed / nseed;

Correct pump input power based on affinity laws

Ppmpincorr = Ppmpin * pow(Fspeed,3);


Ppmpdrvrincorr = Ppmpdrvrin * pow(Fspeed,3);

536 SP_0030
9.118 PUMP2STG

Convert the measured input mass flow in klb/hr to volumetric flow in gallons/minute. The
definitions used in the following equation are included in the global header file.

- GALtoKLB - flow conversion factor


- MIN_TO_HOUR - time conversion factor from min to hour, = 60.0
wvolpmpin = wpmpfwin/ (MIN_TO_HOUR * GALtoKLB * Spmpsgrv);

Correct the flow based on affinity laws

wvolpmpinc = wvolpmpin * Fspeed;

Convert the measured output mass flow in klb/hr to volumetric flow in gallons/minute. The
definitions used in the following equation are included in the global header file.

- GALtoKLB - flow conversion factor


- MIN_TO_HOUR - time conversion factor from min to hour, = 60.0
wvolpmpout = wpmpfwout/ (MIN_TO_HOUR * GALtoKLB * Spmpdgrv);

Correct the flow based on affinity laws

wvolpmpoutc = wvolpmpout * Fspeed;

Correct the ip pump head based on affinity laws.

Hpmpiphdcorr = Hpmpiphd * pow(Fspeed,2);

Correct the hp pump head based on affinity laws.

Hpmphphdcorr = Hpmphphd * pow(Fspeed,2);

Correct the pump head based on affinity laws.

Hpmptothdcorr = Hpmptothd * pow(Fspeed,2);

Compute the pump output power as the product of the specific gravity, the volumetric water flow
and the pump head.

Ppmpipout = ((Spmpsgrv * wvolpmpin * Hpmpiphd) / GALFTtoHP) * HPtoMW;


Ppmphpout = ((Spmpdgrv * wvolpmpout * Hpmphphd) / GALFTtoHP) * HPtoMW;
Ppmpout = Ppmpipout + Ppmphpout;

Compute the corrected pump output power as the product of the specific gravity, the volumetric
water flow and the pump head.

Ppmpipoutcorr = ((Spmpsgrv * wvolpmpinc * Hpmpiphdcorr) / GALFTtoHP) * HPtoMW;


Ppmphpoutcorr = ((Spmpdgrv * wvolpmpoutc * Hpmphphdcorr) / GALFTtoHP) * HPtoMW;
Ppmpoutcorr = Ppmpipoutcorr + Ppmphpoutcorr;

Compute pump actual efficiency as the ratio of pump output power to pump input power.

if (Ppmpin >= 1E-03)

epmpaeff = 100.0 * (Ppmpout / Ppmpin);

SP_0030 537
9.118 PUMP2STG

else

epmpaeff = 0.0;

Compute corrected pump actual efficiency as the ratio of corrected pump output power to
corrected pump input power.

if (Ppmpincorr >= 1E-03)

epmpaeffcorr = 100.0 * (Ppmpoutcorr / Ppmpincorr);

else

epmpaeffcorr = 0.0;

Compute pump overall efficiency as the ratio of pump output power to pump driver input power.

if (Ppmpdrvrin >= 1E-03)

epmpoeff = 100.0 * (Ppmpout / Ppmpdrvrin);

else

epmpoeff = 0.0;

Compute corrected pump overall efficiency as the ratio of corrected pump output power to pump
driver input power.

if (Ppmpdrvrin >= 1E-03)

epmpoeffcorr = 100.0 * (Ppmpoutcorr / Ppmpdrvrincorr);

else

epmpoeffcorr = 0.0;

Compute pump design efficiencies if not configured

if (Configured)

epmpdes = epumpdes;

else

epmpdes = kpmpdes[0] + kpmpdes[1]*wvolpmpout + kpmpdes[2]*pow(wvolpmpout,2) +


kpmpdes[3]*pow(wvolpmpout,3) + kpmpdes[4]*pow(wvolpmpout,4) +
kpmpdes[5]*pow(wvolpmpout,5);

if (Configured)

epmpdescorr = epumpdescorr;

else

epmpdescorr = kpmpdes[0] + kpmpdes[1]*wvolpmpoutc + kpmpdes[2]*pow(wvolpmpoutc,2) +


kpmpdes[3]*pow(wvolpmpoutc,3) + kpmpdes[4]*pow(wvolpmpoutc,4) +
kpmpdes[5]*pow(wvolpmpoutc,5);

Compute pump efficiency deviations as the difference between overall and design efficiencies.

epmpedev = epmpoeff - epmpdes;

538 SP_0030
9.118 PUMP2STG

epmpedevcorr = epmpoeffcorr - epmpdescorr;

Compute ip pump expected head if not configured

if (Configured)

Hpmpipehd = Hehdipin;

else

Hpmpipehd = kpmpipehd[0] + kpmpipehd[1]*wvolpmpout + kpmpipehd[2]*pow(wvolpmpout,2)


+ kpmpipehd[3]*pow(wvolpmpout,3) + kpmpipehd[4]*pow(wvolpmpout,4) +
kpmpipehd[5]*pow(wvolpmpout,5);

Compute hp pump expected head if not configured

if (Configured)

Hpmphpehd = Hehdhpin;

else

Hpmphpehd = kpmphpehd[0] + kpmphpehd[1]*wvolpmpout +


kpmphpehd[2]*pow(wvolpmpout,2) + kpmphpehd[3]*pow(wvolpmpout,3) +
kpmphpehd[4]*pow(wvolpmpout,4) + kpmphpehd[5]*pow(wvolpmpout,5);

Compute pump expected heads if not configured

if (Configured)

Hpmptotehd = Hehdtotin;

else

Hpmptotehd = kpmptotehd[0] + kpmptotehd[1]*wvolpmpout +


kpmptotehd[2]*pow(wvolpmpout,2) + kpmptotehd[3]*pow(wvolpmpout,3) +
kpmptotehd[4]*pow(wvolpmpout,4) + kpmptotehd[5]*pow(wvolpmpout,5);

if (Configured)

Hpmpipehdcorr = Hehdcorripin;

else

Hpmpipehdcorr = kpmpipehd[0] + kpmpipehd[1]*wvolpmpoutc +


kpmpipehd[2]*pow(wvolpmpoutc,2) + kpmpipehd[3]*pow(wvolpmpoutc,3) +
kpmpipehd[4]*pow(wvolpmpoutc,4) + kpmpipehd[5]*pow(wvolpmpoutc,5);

if (Configured)

Hpmphpehdcorr = Hehdcorrhpin;

else

Hpmphpehdcorr = kpmphpehd[0] + kpmphpehd[1]*wvolpmpoutc +


kpmphpehd[2]*pow(wvolpmpoutc,2) + kpmphpehd[3]*pow(wvolpmpoutc,3) +
kpmphpehd[4]*pow(wvolpmpoutc,4) + kpmphpehd[5]*pow(wvolpmpoutc,5);

if (Configured)

Hpmptotehdcorr = Hehdcorrtotin;

SP_0030 539
9.118 PUMP2STG

else

Hpmptotehdcorr = kpmptotehd[0] + kpmptotehd[1]*wvolpmpoutc +


kpmptotehd[2]*pow(wvolpmpoutc,2) + kpmptotehd[3]*pow(wvolpmpoutc,3) +
kpmptotehd[4]*pow(wvolpmpoutc,4) + kpmptotehd[5]*pow(wvolpmpoutc,5);

Compute pump head deviations

Hpmpiphddev = Hpmpiphd - Hpmpipehd;


Hpmphphddev = Hpmphphd - Hpmphpehd;
Hpmptothddev = Hpmptothd - Hpmptotehd;
Hiphddevcorr = Hpmpiphdcorr - Hpmpipehdcorr;
Hhphddevcorr = Hpmphphdcorr - Hpmphpehdcorr;
Htothddevcorr = Hpmptothdcorr - Hpmptotehdcorr;

Compute the pump head deviation percent as the ratio of corrected pump head to expected head.

if (Hpmpipehd >= 1E-03)

Rpmpiphddev = 100.0 * ((Hpmpiphd - Hpmpipehd) / Hpmpipehd);

else

Rpmpiphddev = 0.0;

if (Hpmphpehd >= 1E-03)

Rpmphphddev = 100.0 * ((Hpmphphd - Hpmphpehd) / Hpmphpehd);

else

Rpmphphddev = 0.0;

if (Hpmptotehd >= 1E-03)

Rpmptothddev = 100.0 * ((Hpmptothd - Hpmptotehd) / Hpmptotehd);

else

Rpmptothddev = 0.0;

if (Hpmpipehdcorr >= 1E-03)

Riphddevcorr = 100.0 * ((Hpmpiphdcorr - Hpmpipehdcorr) / Hpmpipehdcorr);

else

Riphddevcorr = 0.0;

if (Hpmphpehdcorr >= 1E-03)

Rhphddevcorr = 100.0 * ((Hpmphphdcorr - Hpmphpehdcorr) / Hpmphpehdcorr);

else

Rhphddevcorr = 0.0;

540 SP_0030
9.118 PUMP2STG

if (Hpmptotehdcorr >= 1E-03)

Rtothddevcorr = 100.0 * ((Hpmptothdcorr - Hpmptotehdcorr) / Hpmptotehdcorr);

else

Rtothddevcorr = 0.0;

else

Pump - is out-of-service. Zero all outputs calculated above.

SP_0030 541
9.119 Qavg4

9.119 Qavg4

The Qavg4 algorithm calculates the average of four values. Only the good quality points are
counted in the averaged value.

NO Units are Converted

QAV G4

Parameters Description Usage

Analog Inputs

kvalue1 avg4 value 1 REQUIRED

kvalue2 avg4 value 2 REQUIRED


kvalue3 avg4 value 3 [Optional]
kvalue4 avg4 value 4 [Optional]
Kptgain avg4 gain value [Optional]
kptbias avg4 bias value [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

kqavg4_result quality avg4 result REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

9.119.1 Qavg4 Calculation Overview

This algorithm calculates the average of four inputs. Only points with good or fair quality count in
the average. The result may be modified by multiplying by a gain and adding the bias. The gain
and bias values can be points, constants or both points and constants.

Unconfigured points and configured points not having good or fair quality are set to zero.

ktemp(i) = value of ith point


npts = number points with good or fair quality

Then the average value of the points having good or fair quality is calculated by:

kavg4_result = (ktemp1 + ktemp2 + ktemp3 + ktemp4) / npts

542 SP_0030
9.119 Qavg4

The gain and bias factors are defined by:

kgain_tot = kptgain + kcgain


kbias_tot = kptbias + kcbias

Applying the gain and bias factors, the result is:

kavg4_result = (kavg4_result * kgain_tot) + kbias_tot

SP_0030 543
9.120 Qavg10

9.120 Qavg10

The Qavg10 algorithm calculates the average of 10 values Only the points with good quality are
counted in the average.

NO Units are Converted.

QAV G10

Parameters Description Usage

Analog Inputs

kvalue1 qavg10 value 1 REQUIRED

kvalue2 qavg10 value 2 REQUIRED


kvalue3 qavg10 value 3 [Optional]
kvalue4 qavg10 value 4 [Optional]
kvalue5 qavg10 value 5 [Optional]
kvalue6 qavg10 value 6 [Optional]
kvalue7 qavg10 value 7 [Optional]
kvalue8 qavg10 value 8 [Optional]
kvalue9 qavg10 value 9 [Optional]
kvalue10 qavg10 value 10 [Optional]
kptgain qavg10 gain value [Optional]
kptbias qavg10 bias value [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

kqavg10_result quality avg10 result REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

544 SP_0030
9.120 Qavg10

9.120.1 Qavg10 Calculation Overview

This algorithm calculates the average of 10 inputs. Only points with good or fair quality count in
the average. The result may be modified by multiplying by a gain and adding the bias. The gain
and bias values can be points, constants or both points and constants.

Unconfigured points and configured points not having good or fair quality are set to zero.

ktemp(i) = value of ith point


npts = number points with good or fair quality

Then the average value of the points having good or fair quality is calculated by:

kavg10_result = (ktemp1 + ktemp2 + ktemp3 + ktemp4 + ktemp5 + ktemp6 + ktemp7 +


ktemp8 + ktemp9 + ktemp10) / npts

The gain and bias factors are defined by:

kgain_tot = kptgain + kcgain


kbias_tot = kptbias + kcbias

Applying the gain and bias factors, the result is:

kavg10_result = (kavg10_result * kgain_tot) + kbias_tot

SP_0030 545
9.121 RANGECHECK10

9.121 RANGECHECK10

The RANGECHECK10 algorithm checks the values of up to 10 points. If the value is found to be
within the total hi and lo limits, the value and quality is passed thru.

If the value is found to be outside the hi or lo limit, the value is passed thru, the quality is set to
BAD, and the RNGCHECK flag is set.

The total hi and lo limits are calculated by adding the hi and lo limit input values to the hi and lo
limit constants.

NO Units are Converted.

RANGECHECK10

Parameters Description Usage

Analog Inputs

kinput1 input 1 value REQUIRED

khilimit1 input 1 hi limit [Optional]


klolimit1 input 1 lo limit [Optional]
kinput2 input 2 value [Optional]
khilimit2 input 2 hi limit [Optional]
klolimit2 input 2 lo limit [Optional]
kinput3 input 3 value [Optional]
khilimit3 input 3 hi limit [Optional]
klolimit3 input 3 lo limit [Optional]
kinput4 input 4 value [Optional]
khilimit4 input 4 hi limit [Optional]
klolimit4 input 4 lo limit [Optional]
kinput5 input 5 value [Optional]
khilimit5 input 5 hi limit [Optional]
klolimit5 input 5 lo limit [Optional]
kinput6 input 6 value [Optional]
khilimit6 input 6 hi limit [Optional]
klolimit6 input 6 lo limit [Optional]
kinput7 input 7 value [Optional]
khilimit7 input 7 hi limit [Optional]
klolimit7 input 7 lo limit [Optional]
kinput8 input 8 value [Optional]
khilimit8 input 8 hi limit [Optional]

klolimit8 input 8 lo limit [Optional]

546 SP_0030
9.121 RANGECHECK10

RANGECHECK10

Parameters Description Usage

kinput9 input 9 value [Optional]


khilimit9 input 9 hi limit [Optional]
klolimit9 input 9 lo limit [Optional]
kinput10 input 10 value [Optional]
khilimit10 input 10 hi limit [Optional]
klolimit10 input 10 lo limit [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

koutput1 output 1 value REQUIRED

ktothilimit1 output 1 total hi limit [Optional]


ktotlolimit1 output 1 total lo limit [Optional]
koutput2 output 2 value [Optional]
ktothilimit2 output 2 total hi limit [Optional]
ktotlolimit2 output 2 total lo limit [Optional]
koutput3 output 3 value [Optional]
ktothilimit3 output 3 total hi limit [Optional]
ktotlolimit3 output 3 total lo limit [Optional]
koutput4 output 4 value [Optional]
ktothilimit4 output 4 total hi limit [Optional]
ktotlolimit4 output 4 total lo limit [Optional]
koutput5 output 5 value [Optional]
ktothilimit5 output 5 total hi limit [Optional]
ktotlolimit5 output 5 total lo limit [Optional]
koutput6 output 6 value [Optional]
ktothilimit6 output 6 total hi limit [Optional]

ktotlolimit6 output 6 total lo limit [Optional]

koutput7 output 7 value [Optional]


ktothilimit7 output 7 total hi limit [Optional]
ktotlolimit7 output 7 total lo limit [Optional]
koutput8 output 8 value [Optional]
ktothilimit8 output 8 total hi limit [Optional]
ktotlolimit8 output 8 total lo limit [Optional]
koutput9 output 9 value [Optional]

SP_0030 547
9.121 RANGECHECK10

RANGECHECK10

Parameters Description Usage

ktothilimit9 output 9 total hi limit [Optional]


ktotlolimit9 output 9 total lo limit [Optional]
koutput10 output 10 value [Optional]
ktothilimit10 output 10 total hi limit [Optional]
ktotlolimit10 output 10 total lo limit [Optional]
Digital Outputs

zrngcheck1 range check flag 1 [Optional]

zrngcheck2 range check flag 2 [Optional]


zrngcheck3 range check flag 3 [Optional]
zrngcheck4 range check flag 4 [Optional]
zrngcheck5 range check flag 5 [Optional]
zrngcheck6 range check flag 6 [Optional]
zrngcheck7 range check flag 7 [Optional]
zrngcheck8 range check flag 8 [Optional]
zrngcheck9 range check flag 9 [Optional]
zrngcheck10 range check flag 10 [Optional]
zvalcheck1 or of all rng check flags [Optional]
Constants

kchilimit1 0.0

kclolimit1 0.0
kchilimit2 0.0
kclolimit2 0.0
kchilimit3 0.0
kclolimit3 0.0
kchilimit4 0.0
kclolimit4 0.0
kchilimit5 0.0
kclolimit5 0.0
kchilimit6 0.0
kclolimit6 0.0
kchilimit7 0.0
kclolimit7 0.0
kchilimit8 0.0
kclolimit8 0.0

548 SP_0030
9.121 RANGECHECK10

RANGECHECK10

Parameters Description Usage

kchilimit9 0.0
kclolimit9 0.0
kchilimit10 0.0
kclolimit10 0.0

9.121.1 RANGECHECK10 Calculation Overview

First, the total the hi and lo limits are calculated:

ktothilimit1 = khilimit1 + kchilimit1;


ktotlolimit1 = klolimit1 + kclolimit1;
ktothilimit2 = khilimit2 + kchilimit2;
ktotlolimit2 = klolimit2 + kclolimit2;
ktothilimit3 = khilimit3 + kchilimit3;
ktotlolimit3 = klolimit3 + kclolimit3;
ktothilimit4 = khilimit4 + kchilimit4;
ktotlolimit4 = klolimit4 + kclolimit4;
ktothilimit5 = khilimit5 + kchilimit5;
ktotlolimit5 = klolimit5 + kclolimit5;
ktothilimit6 = khilimit6 + kchilimit6;
ktotlolimit6 = klolimit6 + kclolimit6;
ktothilimit7 = khilimit7 + kchilimit7;
ktotlolimit7 = klolimit7 + kclolimit7;
ktothilimit8 = khilimit8 + kchilimit8;
ktotlolimit8 = klolimit8 + kclolimit8;
ktothilimit9 = khilimit9 + kchilimit9;
ktotlolimit9 = klolimit9 + kclolimit9;
ktothilimit10 = khilimit10 + kchilimit10;
ktotlolimit10 = klolimit10 + kclolimit10;

Next, the input values are passed thru to the output values and the digital flags are set to FALSE.

koutput1 = kinput1;
zrngcheck1 = 0;
koutput2 = kinput2;
zrngcheck2 = 0;
koutput3 = kinput3;

SP_0030 549
9.121 RANGECHECK10

zrngcheck3 = 0;
koutput4 = kinput4;
zrngcheck4 = 0;
koutput5 = kinput5;
zrngcheck5 = 0;
koutput6 = kinput6;
zrngcheck6 = 0;
koutput7 = kinput7;
zrngcheck7 = 0;
koutput8 = kinput8;
zrngcheck8 = 0;
koutput9 = kinput9;
zrngcheck9 = 0;
koutput10 = kinput10;
zrngcheck10 = 0;

For each configured point, check to see if the point's value is within the limits.

If it is, pass the value and quality thru. If it is not, pass the value thru and set the quality to bad
and set the digital range check flag.

if ((kinput1 < ktotlolimit1) || (kinput1 > ktothilimit1))

koutput1 = QUAL_BAD;
zrngcheck1 = 1;

if ((kinput2 < ktotlolimit2) || (kinput2 > ktothilimit2))

koutput2 = QUAL_BAD;
zrngcheck2 = 1;

if ((kinput3 < ktotlolimit3) || (kinput3 > ktothilimit3))

koutput3 = QUAL_BAD;
zrngcheck3 = 1;

if ((kinput4 < ktotlolimit4) || (kinput4 > ktothilimit4))

koutput4 = QUAL_BAD;
zrngcheck4 = 1;

if ((kinput5 < ktotlolimit5) || (kinput5 > ktothilimit5))

koutput5 = QUAL_BAD;
zrngcheck5 = 1;

if ((kinput6 < ktotlolimit6) || (kinput6 > ktothilimit6))

koutput6 = QUAL_BAD;

550 SP_0030
9.121 RANGECHECK10

zrngcheck6 = 1;

if ((kinput7 < ktotlolimit7) || (kinput7 > ktothilimit7))

koutput7 = QUAL_BAD;
zrngcheck7 = 1;

if ((kinput8 < ktotlolimit8) || (kinput8 > ktothilimit8))

koutput8 = QUAL_BAD;
zrngcheck8 = 1;

if ((kinput9 < ktotlolimit9) || (kinput9 > ktothilimit9))

koutput9 = QUAL_BAD;
zrngcheck9 = 1;

if ((kinput10 < ktotlolimit10) || (kinput10 > ktothilimit10))

koutput10 = QUAL_BAD;
zrngcheck10 = 1;

Lastly, OR together all the rangecheck flags into zvalcheck.

zvalcheck = zrngcheck1 || zrngcheck2 || zrngcheck3 || zrngcheck4 || zrngcheck5 || zrngcheck6 ||


zrngcheck7 || zrngcheck8 || zrngcheck9 || zrngcheck10;

SP_0030 551
9.122 Reheat

9.122 Reheat

The Reheat algorithm calculates the heat recovery steam generator cold reheat steam flow and
enthalpy before and after the cold reheat steam flow mixes with the intermediate pressure outlet
steam flow. The hot reheat flow and enthalpy are also calculated.

YES Units are Converted.

REHEAT

Parameters Description Usage

Analog Inputs

pcrnmx cold rht pres before mix REQUIRED

patmos atmospheric pressure REQUIRED


tcrnmx cold rht temp before mix REQUIRED
wcrhrsg total cold rht stm flow REQUIRED
wcrnmx flow bef mix point REQUIRED
wmistm mix fl add to crh fl bef mix [Optional]
hmistm mix enth add to crh bef mix REQUIRED
wrhdshr reheat desup spray flow [Optional]
phrhrh hot reheat pressure REQUIRED
thrhrh hot reheat temp REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

pabscrnmx cold reheat abs pres [Optional]

hcrnmx cold reheat stm enth [Optional]


whrcrh cold rht stm flow after mix [Optional]
hrhcrh cold rht enth after mix [Optional]
whrhrh hot reheat flow [Optional]
pabshr abs hot reheat pres [Optional]
hhrhrh hot reheat enth [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

552 SP_0030
9.122 Reheat

9.122.1 Reheat Calculation Overview

Cold reheat steam flow after mixture (whrcrh)

whrcrh = wcrnmx + wmistm;

Hot reheat flow (whrhrh)

whrhrh = whrcrh + wrhdshr;

Cold Reheat enthalpy of cold reheat steam after mix

hrhcrh = (wcrnmx * hcrnmx + wmistm * hmistm) / whrcrh;

Hot reheat steam enthalpy is calculated from a steam table using hot reheat temperature and
pressure.

SP_0030 553
9.123 Reheat_trb

9.123 Reheat_trb

The Reheat_trb algorithm calculates the reheat turbine efficiency, the reheat design efficiency and
the reheat turbine efficiency deviation.

YES Units are Converted.

REHEAT_TRB

Parameters Description Usage

Analog Inputs

pabspcnprs single zone cndsr pres [Optional] required if single


zone cndsr
pabspcnprslp dual zone lp cndsr pres [Optional] required if dual
zone cndsr
pabspcnprshp dual zone hp cndsr pres [Optional] required if dual
zone cndsr
htheor_elep theoretical expan line end pt [Optional] will be calc as
htheo_elep if not config
kparallel_flows num par flow secs begin expan REQUIRED

wltrex lp turbine exhaust flow REQUIRED


pipbwl ip turbine bowl pressure REQUIRED
tipbwl ip turbine bowl temp REQUIRED
preheat_des ip des pres ahead interc vlvs [Optional] req if
htheor_elep not config
treheat_des ip des temp ahead interc vlvs [Optional] req if
htheor_elep not config
wreheat_des ip turbine bowl flow [Optional] req if
htheor_elep not config
hitrex ip turbine exhaust enth [Optional] req if
htheor_elep not config
patmos atmospheric pressure REQUIRED
hltrex lp turbine exhaust enth REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

pabspcnprs_avg average condsr pres [Optional]

hchng_elep chng in elep due to 0 pcnt mst [Optional]


pabsipbwl abs ip bowl pressure [Optional]
pabsrht_des abs ip bowl des pres [Optional]
sipbwl ip bowl entropy [Optional]
hipbwl ip bowl enthalpy [Optional]

554 SP_0030
9.123 Reheat_trb

REHEAT_TRB

Parameters Description Usage

vreheat_des ip bowl des volume [Optional]

htheo_elep theo expan line end pt [Optional]


pabselep abs theo expan ln end pt pres [Optional]

Fqualtheo_elep stm qu theo expan ln end pt [Optional]


Rmst_theo_elep pct mst theo expan ln end pt [Optional]
hcorelep exh pres cor expan ln end pt [Optional]
hexpect_elep exp expan line end pt [Optional]
Fqualexp_elep stm qu exp expan ln end pt [Optional]
Rmst_exp_elep pct mst exp expan ln end pt [Optional]
vcnprs sat spec vol cndsr avg pres [Optional]
alpannulus lp annulus area [Optional]
klpextflows number of lp ext flows [Optional]
Vannulus lp annulus velocity [Optional]
hexloss exhaust loss [Optional]
hexp_uenergy exp used energy end point [Optional]
hisen_uenergy isen used energy end point [Optional]
erheff reheat efficiency [Optional]
erheffdes reheat efficiency design [Optional]
erheffdev reheat efficiency deviation [Optional]
Rmst_calc pcnt moisture calc [Optional]
helep_calc expan line end pt calc [Optional]
Digital Outputs

zipspd3600 ip turb 3600 spd flag [Optional]

zlpspd3600 lp turb 3600 spd flag [Optional]


zerrcode error code flag [Optional]
Constants

CORTOT[0] = 0.87 CORTOT[4] = 0.0065

CORTOT[1] = 1.0 VLIMIT = 1400.0 CORELEP[0] =


-23.984811
CORTOT[2] = 0.01 CPABSELEP = 1.5 CORELEP[1] = 57.862440
CORTOT[3] = 1.0 CORELEP[2] = 3.1849404

SP_0030 555
9.123 Reheat_trb

9.123.1 Reheat_trb Calculation Overview

The Reheat_trb algorithm calculates the reheat turbine efficiency, the reheat design efficiency and
the reheat turbine efficiency deviation.

Reheat_trb Overview:

Calculate the correction to expansion line end point for exhaust pressure at 0 percent moisture.

Exhaust pressure is converted to inhga as this equation requires pressure in inhga.

zipspd3600 = Is IP TURB Speed = 3600


zlpspd3600 = Is LP TURB Speed = 3600

if (hp and lp tags configured)

pabspcnprs_avg = (pabspcnprslp + pabspcnprshp) / 2.0

else

pabspcnprs_avg = pabspcnprs
hchng_elep = CORELEP[0] + CORELEP[1]*(log(pabspcnprs_avg/INHGtoPSI)) +
CORELEP[2]*(pow(log(pabspcnprs_avg/INHGtoPSI),2))

Check to see if the theoretical expansion line end point is configured. If not,calculate it by
starting with the base efficiency and adding on any applicable corrections.

pabsipbwl = pipbwl + patmos


pabsrht_des = preheat_des + patmos
ssstp(&sipbwl,&tipbwl,&pabsipbwl,&ITRNGE)
hsstp(&hipbwl,&tipbwl,&pabsipbwl,&ITRNGE)
vsstp(&vreheat_des,&treheat_des,&pabsrht_des,&ITRNGE)

if (enthalpy of theo elep not configured)

Calculate it based on the following inputs

exp_elep(&htheo_elep,zipspd3600,zlpspd3600,wreheat_des,vreheat_des,pabsipbwl,sipbwl,hi
pbwl,
CPABSELEP, pabspcnprs_avg, kparallel_flows, hitrex)

else

Use the input

htheo_elep = htheor_elep

Calculate the quality of steam at the theoretical expansion line end point

pabselep = CPABSELEP * INHGtoPSI


xswhp(&Fqualtheo_elep,&htheo_elep,&pabselep,&ITRNGE)

Calculate the percent moisture at the theoretical expansion line end point and 1.5

Rmst_theo_elep = 100.0 * (1.0 - Fqualtheo_elep)

556 SP_0030
9.123 Reheat_trb

Calculate correction to expansion line end point for exhaust pressure

hcorelep = hchng_elep * CORTOT[0] * (CORTOT[1] - CORTOT[2] * Rmst_theo_elep) *


(CORTOT[3] - CORTOT[4] * Rmst_theo_elep)

Calculate expected expansion line end point at actual exhaust pressure

hexpect_elep = htheo_elep + hcorelep

Calculate the quality of steam at the expected expansion line end point

xswhp(&Fqualexp_elep,&hexpect_elep,&pabspcnprs_avg,&ITRNGE)

Calculate percent moisture at the expected expansion line end point

Rmst_exp_elep = 100.0 * (1.0 - Fqualexp_elep)

Calculate the saturated dry specific volume

vsvp(&vcnprs,&pabspcnprs_avg,&ITRNGE)

Calculate the annulus velocity. First, read the area and number of lp extraction flows

alpannulus = LPTurbAnnulusArea
klpextflows = LPExtFlows
Vannulus = (KLBtoLB * wltrex * vcnprs * (1.0 - 0.01 * Rmst_exp_elep)) / (klpextflows *
alpannulus * HRtoSEC);

Calculate exhaust loss and expected used energy end point

hexlss(&hexloss,&hexp_uenergy,pabspcnprs_avg,htheo_elep,hexpect_elep,&Vannulus,Rmst
_exp_elep,wltrex,
alpannulus,klpextflows, zlpspd3600, VLIMIT, &zerrcode);

if (zerrcode)

hexloss quality = BAD


hexp_uenergy quality = BAD

Calculate the isentropic enthalpy

histpp(&hisen_uenergy,&tipbwl,&pabsipbwl,&pabspcnprs_avg,&ITRNGE)

Calculate actual and design efficiencies

erheff = ((hipbwl - hltrex) / (hipbwl - hisen_uenergy)) * 100.0


erheffdes = ((hipbwl - hexp_uenergy) / (hipbwl - hisen_uenergy)) * 100.0

Calculate reheat efficiency deviation

erheffdev = erheff - erheffdes

SP_0030 557
9.124 Select10

9.124 Select10

This module selects an analog input based on the selected analog input value.

The select input value will be changed into an integer and if the value is less than 1 or greater
than 10, the output value will be set to 0.0 with bad quality. If no input values are configured, the
output value will also be set to 0.0 with bad quality. Otherwise, the analog input value and quality
corresponding to the number in the selected analog input value will be moved into the output
point.

NO Units are Converted.

SELECT10

Parameters Description Usage

Analog Inputs

kselect_val select value REQUIRED

kinput1 input value 1 REQUIRED


kinput2 input value 2 REQUIRED
kinput3 input value 3 [Optional]
kinput4 input value 4 [Optional]
kinput5 input value 5 [Optional]
kinput6 input value 6 [Optional]
kinput7 input value 7 [Optional]
kinput8 input value 8 [Optional]
kinput9 input value 9 [Optional]
kinput10 input value 10 [Optional]
kptgain avg4 gain value [Optional]
kptbias avg4 bias value [Optional]
Analog Outputs

kresult compare10 result REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Digital Outputs

<NONE>

Constants

kcgain, 1

kcbias, 0

558 SP_0030
9.124 Select10

9.124.1 Select10 Calculation Overview

kselect = int(kselect_val);

if ((kpts != 0) && (kselect >= 1) && (kselect <=10))

if (kselect < 2)
kresult = kinput1;
else
if (kselect < 3)
kresult = kinput2;
else
if (kselect < 4)
kresult = kinput3;
else
if (kselect < 5)
kresult = kinput4;
else
if (kselect < 6)
kresult = kinput5;
else
if (kselect < 7)
kresult = kinput6;
else
if (kselect < 8)
kresult = kinput7;
else
if (kselect < 9)
kresult = kinput8
else
if (kselect < 10)
kresult = kinput9;
else
kresult = kinput10;

kgain_tot = kptgain + kcgain;


kbias_tot = kptbias + kcbias;

SP_0030 559
9.124 Select10

kresult = (kresult * kgain_tot) + kbias_tot;

else

kresult = 0.0;
kresult quality = BAD;

560 SP_0030
9.125 Setdig

9.125 Setdig

The Setdig algorithm sets a Digital to 1 if an Analog value is greater than a limit. Otherwise, the
Digital is set to zero.

NO Units are Converted.

SETDIG

Parameters Description Usage

Analog Inputs

kptload Analog val checks Digital set [Optional]

kptlimit limit checks if Digital set [Optional]


Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

< NONE >

Digital Outputs

zflag Digital flag REQUIRED

Constants

kcload = 0.0

kclimit = 0.0

9.125.1 Setdig Calculation Overview

The Setdig algorithm sets a digital output (zflag) based on an analog input's value (kptload) plus a
constant load (kcload).

If the total load is less than or equal to the specified limit (kptlimit + kclimit), the digital flag (zflag)
is set to false. Otherwise, if the total load is greater than the specified limit (kptlimit + kclimit), the
digital flag (zflag) is set to true.

This algorithm is summarized by the code below.

kload_tot = kptload + kcload


klimit_tot = kptlimit + kclimit

if (kload_tot <= klimit_tot)

zflag = 0

else

zflag = 1

SP_0030 561
9.126 Setdig2

9.126 Setdig2

The Setdig2 algorithm sets one of three digital flags based on an analog input.

 If the analog input is less than a specified limit, the first digital flag is set.
 If the analog input is equal to the specified limit, the second digital flag is set.
 If the analog input is greater than the specified limit, the third digital flag is set.

NO Units are Converted.

SETDIG2

Parameters Description Usage

Analog Inputs

kptload analog val checks digital set [Optional]

kptlimit limit checks if digital set [Optional]


Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

< NONE >

Digital Outputs

zlessflag digital less than flag [Optional]

zequalflag digital equal flag [Optional]


zgreaterflag digital greater than flag [Optional]
Constants

kcload 0.0

kclimit 0.0

9.126.1 Setdig2 Calculation Overview


kload_tot = kptload + kcload;
klimit_tot = kptlimit + kclimit;
zlessflag = 0;
zequalflag = 0;
zgreaterflag = 0;
ktolerance = klimit_tot / 1E+06;

562 SP_0030
9.126 Setdig2

if (fabs(ktolerance) < 1E-08)

ktolerance = 1E-08;

if (fabs(klimit_tot-kload_tot) <= ktolerance)

zequalflag = 1;

else

if (kload_tot < klimit_tot)

zlessflag = 1;

else

if (kload_tot > klimit_tot)

zgreaterflag = 1;

SP_0030 563
9.127 Setvalidate

9.127 Setvalidate

The Setvalidate algorithm validates an entire Analoginavg tagset's output tags by checking limits
and quality.

NO Units are Converted.

SETVALIDATE

Parameters Description Usage

Analog Inputs

k[1-200]prim primary input REQUIRED


k[1-200]alt1 1st alternate [Optional]
k[1-200]alt2 2nd Alternate [Optional]
Digital Inputs

< NONE >

Analog Outputs

k[1-200]out validated output REQUIRED


Digital Outputs

z[1-200]subflag digital substitution flag [Optional]

Constants

< NONE >

9.127.1 Setvalidate Calculation Overview

The Setvalidate algorithm allows the same substitution to be performed as pntvalidate except the
substitutions can be specified for an entire tag set instead of one point at a time.

In order for this algorithm to work, the box on the Analoginavg Tag Definition Screen must be
checked to allow additional points to be built for point validation/substitution. In setvalidate, a tag
set is selected and is automatically configured to the primary points in the setvalidate algorithm.

Alternate point(s) may be configured for any or all of the primary points. The design screen must
be modified for each point requiring validation. If no modifications are made for a point on the
design screen, no substitution will be made.

The code that each point selected to be validated will follow:

Check the Alg Configuration

if (are we using 1st alternate?) // Yes, we are

if (Is 1st alternate not configured?) // oops! 1st alternate not configured

Report Error - "1st alternate substitution input point NOT configured"

564 SP_0030
9.127 Setvalidate

okToProceed = 0

if (okToProceed)

if (are we using the 2nd alternate?) // Yes, we are

if (Is the second alternate not configured) // oops! 1st alternate not configured

Report Error - "2nd alternate substitution input point NOT configured"


okToProceed = 0

Lets Start Validation

if (okToProceed)

// Initialize the Output Value for Fallout (breakout) conditions


kout = kprim

if (Do we need to substitute for the Primary Point?) // Yes, Do a substitution

if (Should we use the 1st alternate?) // Yes, we should!

if (Do we need to substitute for 1st alternate?) // Yes, Do another substitution

if (Should we use the 2nd alternate) // Yes, we should!

if (Should we substitute for 2nd alternate?) // Yes, check the final possible substitution

if (Should we use the constant?) // Yes, use the constant

kout = Constant

Issue Valid Substitution Message

else // If we get here, there is no valid substitution available

kout = kprim

Issue No Substitution Message

else // don't need to sub for ALT2, The 2nd alternate will do just fine!

kout = kalt2

Issue Valid Substitution Message

else // no Alt_2 Check - Check the Constant

if (Is Constant configured?)

kout = Constant

SP_0030 565
9.127 Setvalidate

Issue Valid Substitution Message

else // If we get here, there is no valid substitution available

kout = kprim

Issue No Substitution Message

else // don't sub for ALT_1, The 1st alternate will do just fine!

kout = kalt1

Issue Valid Substitution Message

else // Do not use ALT_1 - Use the Constant

kout = Constant

Issue Valid Substitution Message

else // No, do not perform a substitution on the Primary Point

kout = kprim

Issue No Substitution Needed Message

if (Substitution performed and user wants the output quality uncertain)

kout quality = UNCERTAIN

566 SP_0030
9.128 Sin

9.128 Sin

The Sin algorithm performs the sine function on an input value (kvalue), gains and biases the
result and outputs the result in ksin_res.

NO Units are Converted.

SIN

Parameters Description Usage

Analog Inputs

kvalue input to sine algorithm REQUIRED

kptgain abs val gain value [Optional]


kptbias abs val bias value [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

ksin_res sine result value REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1 kcbias = 0

9.128.1 Sin Calculation Overview

The code below summarizes the Sin algorithm.

ksin_res = sin(kvalue)
kgain = kptgain + kcgain
kbias = kptbias + kcbias
ksin_res = (ksin_res * kgain) + kbias

SP_0030 567
9.129 Specheatair

9.129 Specheatair

The Specheatair algorithm calculates the specific heat of air at a given temperature (cpair)
entering the boiler per Figure 3, ASME PTC 4.1 as a polynomial function of the air temperature
(tair).

YES Units are Converted.

SPECHEATAIR

Parameters Description Usage

Analog Inputs

tair air temperature REQUIRED

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

cpair specific heat of air REQUIRED

Digital Outputs

< NONE >

Constants

CPAIR[0] = 0.23897

CPAIR[1] =
6.7857E-06
CPAIR[2] =
1.9643E-08

9.129.1 Specheatair Calculation Overview

The coefficients used are obtained from regressing the curve in Figure 3 of ASME PTC-4 1.

The value of the constant CPAIR can be found on the constants tab and should not be modified.
The code for this algorithm is shown below.

cpair = CPAIR[0] + CPAIR[1] * tair + CPAIR[2] * tair**2

568 SP_0030
9.130 Spechtair

9.130 Spechtair

The Spechtair algorithm calculates the specific heat ratio for air which is needed in the FAN
algorithm to calculate the compressibility factor.

YES Units are Converted.

SPECHTAIR

Parameters Description Usage

Analog Inputs

tempinlet inlet temperature [Optional]

Rspechum specific humidity [Optional]


kspecgas specific gas const [Optional]
Digital Inputs

zdocalc digital perf calc run flag

Analog Outputs

tabsinlet absolute inlet temperature [Optional]

cph2o spec heat of water vapor [Optional]


cpdrygas spec heat of dry gas [Optional]
cpdryair spec heat of dry air [Optional]
kcpratioair spec ht ratio for air [Optional]
Digital Outputs

< NONE >

Constants

KWTCO2, 44.01

KWTO2, 32.0

KWTCO, 28.01

KWTN2, 28.02

KCONSTJC, 778.2

9.130.1 Spechtair Calculation Overview

Calculate specific heat of water vapor

tabsinlet = tempinlet, + DEG_FtoRANK;


cph2o = (19.86 - (597.0 / pow(tabsinlet,0.5)) + (7500.0 / tabsinlet)) / 18.0;

SP_0030 569
9.130 Spechtair

Calculate specific heat of dry gas

cpdrygas = 0.343 - (1.253/pow(tabsinlet,0.5)) - (83.76 / tabsinlet) +


(3.087E04/pow(tabsinlet,2));

Calculate specific heat of dry air

cpdryair = (cpdrygas * (1 / (1+Rspechum))) + (cph2o * (Rspechum/(1+Rspechum)));

Calculate specific heat ratio k

kcpratioair = (cpdryair * KCONSTJC) / ((cpdryair *KCONSTJC) - kspecgas);

570 SP_0030
9.131 Specheatgas

9.131 Specheatgas

The Specheatgas algorithm calculates the specific heat of flue gas at a given temperature. The
coefficients are obtained from regressing the curve in Figure 7 of AMSE PTC-4 1.

YES Units are Converted.

SPECHEATGAS

Parameters Description Usage

Analog Inputs

tfluegas flue gas temperature REQUIRED

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

cpfluegas specific heat of flue gas REQUIRED

Digital Outputs

< NONE >

Constants

CPGAS[0] = 0.237058

CPGAS[1] =
1.065875E-05
CPGAS[2] = 4.18508E-08

CPGAS[3] = 2.20475E-11

9.131.1 Specheatgas Calculation Overview

This module calculates the specific heat of flue gas (cpfluegas) at a given temperature (tfluegas).

The coefficients (CPGAS) are obtained from regressing the curve in Figure 7 of AMSE PTC-4.1
and can be found on the constants tab and should not be modified.

cpfluegas = CPGAS[0] + CPGAS[1] * tfluegas + CPGAS[2] * tfluegas**2 - CPGAS[3] *


tfluegas**3

SP_0030 571
9.132 Spechtgas

9.132 Spechtgas

The Spechtgas algorithm calculates the specific heat ratio for gas which is needed in the FAN
algorithm to calculate the compressibility factor.

YES Units are Converted.

SPECHTGAS

Parameters Description Usage

Analog Inputs

tempinlet inlet temperature [Optional]

Mwtco2 mol wt of co2 [Optional]


Mwto2 mol wt of o2 [Optional]
Mwtn2 mol wt of n2 [Optional]
Mwtco mol wt of co [Optional]
Mwtdrygas mol wt of dry gas [Optional]

Rspechum specific humidity REQUIRED

kspecgas specific gas const [Optional]


Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

tabsinlet absolute inlet temperature [Optional]

cph2o spec heat of water vapor [Optional]


cpco2 spec heat of co2 [Optional]
cpo2 spec heat of oxygen [Optional]
cpn2 spec heat of nitrogen [Optional]
cpco spec heat of co [Optional]
cpdrygas spec heat of dry gas [Optional]
cpwetgas spec heat of wet gas [Optional]
kcpratiogas spec ht ratio for gas [Optional]
Digital Outputs

< NONE >

Constants

KWTCO2, 44.01

KWTO2, 32.0
KWTCO, 28.01
KWTN2, 28.02

572 SP_0030
9.132 Spechtgas

SPECHTGAS

Parameters Description Usage

KCONSTJC, 778.2

9.132.1 Spechtgas Calculation Overview

Calculate specific heat of water vapor

tabsinlet = tempinlet + DEG_FtoRANK;


cph2o = (19.86 - (597.0 / pow(tabsinlet,0.5)) + (7500.0 / tabsinlet)) / 18.0;

Calculate specific heat of Co2

cpco2 = (16.2 - (6.53E03 / tabsinlet) + (1.4E06 / pow(tabsinlet,2))) / KWTCO2;

Calculate specific heat of oxygen

cpo2 = (11.515 - (172.0 / pow(tabsinlet,0.5)) + (1530.0 / tabsinlet)) / KWTO2;

Calculate specific heat of nitrogen

cpn2 = (9.47 - (3.47E03 / tabsinlet) + (1.16E06 / pow(tabsinlet,2))) / KWTN2;

Calculate specifc heat of carbon monoxide

cpco = (9.46 - (3.29E03 / tabsinlet) + (1.07E06 / pow(tabsinlet,2))) / KWTCO;

Calculate specific heat of dry gas

cpdrygas = (Mwtco2*cpco2 + Mwto2*cpo2 + Mwtn2*cpn2 + Mwtco*cpco) / Mwtdrygas;

Calculate specific heat of wet gas

cpwetgas = (cpdrygas * (1 / (1+Rspechum))) + (cph2o * (Rspechum/(1+Rspechum)));

Calculate specific heat ratio k

kcpratiogas = (cpwetgas * KCONSTJC) / ((cpwetgas *KCONSTJC) - kspecgas);

SP_0030 573
9.133 Squareroot

9.133 Squareroot

The Squareroot algorithm calculates the squareroot of a given input.

NO Units are Converted.

SQUAREROOT

Parameters Description Usage

Analog Inputs

kvalue squareroot input value REQUIRED

kptgain squareroot gain value [Optional]


kptbias squareroot bias value [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

ksquareroot_res squareroot result value REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

9.133.1 Squareroot Calculation Overview

The Squareroot algorithm takes the square root of a number, multiplies by the gain and adds the
bias. The gain and bias values can be points, constants or both points and constants.

If the input value (kvalue) is non negative, and greater than a tolerance (1.0e - 16), the square
root is calculated by:

ksquareroot_res = squareroot of kvalue

The gain and bias values are defined by:

kgain = kpgaint + kcgain


kbias = kptbias + kcbias

Then the final result is:

ksquareroot_res = (ksquareroot_res * kgain) + kbias

If the input value is less than the tolerance, the result is set to zero and bad quality.

574 SP_0030
9.134 Steadystate

9.134 Steadystate

The Steadystate algorithm checks for periods of steady state and logs the steady state periods to
the event logger. If the system stays in state beyond the maximum number of cycles, an event
message is logged and the steady state counter is reset.

YES Units are Converted.

STEADYSTATE

Parameters Description Usage

Analog Inputs

Pmwatt megawatts [Optional]

kinhilimit high limit of steady state pwr [Optional] if not configured


constant kchilimit must be
kinlowlimit low limit of steady state pwr [Optional] if not configured
constant kclolimit must be
< NONE >
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

< NONE >


Analog Outputs

khighlimit high limit of steady state pwr [Optional]

klowlimit low limit of steady state pwr [Optional]


ksteadycnt steady state counter [Optional]
< NONE >
Digital Outputs

< NONE >

Constants

kchilimit 0.0

kclowlimit 0.0
kcmaxcyclecnt 720.0

SP_0030 575
9.134 Steadystate

9.134.1 Steadystate Calculation Overview

First, the high and low limits for steady state are selected. If the analog input for the high limit is
configured, that value will be used. Otherwise, the constant for the high limit will be used. The
low limit works the same way. If the input is configured for the low limit, that value will be used.
Otherwise, the constant value will be used.

Next, check to see if mw are within limits, if they are increment the counter. If not, write an event
log message out with the number of steady state periods.

if ((Pmwatt >= klowlimit) && (Pmwatt <= khighlimit))

ksteadycnt = ksteadycnt + 1;

if (ksteadycnt > kcmaxcyclecnt)

Write event log message

ksteadycnt = 0;

else

if (ksteadycnt > 0.0)

Write event log message

ksteadycnt = 0;

576 SP_0030
9.135 Sub4

9.135 Sub4

The Sub4 algorithm subtracts the sum of 4 numbers from a variable.

NO Units are Converted.

SUB4

Parameters Description Usage

Analog Inputs

kinvalue input value REQUIRED

ksvalue1 subtract value 1 REQUIRED


ksvalue2 subtract value 2 [Optional]
ksvalue3 subtract value 3 [Optional]
ksvalue4 subtract value 4 [Optional]
kptgain point gain [Optional]
kptbias point bias [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

ksub4_res subtract 4 result REQUIRED

Digital Outputs

< NONE >

Constants

kcgain = 1

kcbias = 0

9.135.1 Sub4 Calculation Overview

The Sub4 algorithm subtracts four numbers from an input value, multiplies the result by the gain
and adds the bias.

Points not configured are set to zero.

The calculated result is:

ksub4_res = kinvalue - kvalue1 - kvalue2 - kvalue3 - kvalue4

The gain and bias values are:

kgain = kptgain + kcgain


kbias = kptbias + kcbias
The final result is: ksub4_res = (ksub4_res * kgain) + kbias

SP_0030 577
9.136 Sub10

9.136 Sub10

The Sub10 algorithm subtracts 10 numbers from an input value, multiplies the result by the gain
and adds the bias.

NO Units are Converted.

SUB10

Parameters Description Usage

Analog Inputs

kinvalue inlet value REQUIRED

ksvalue1 subtract value 1 REQUIRED


ksvalue2 subtract value 2 [Optional]
ksvalue3 subtract value 3 [Optional]
ksvalue4 subtract value 4 [Optional]
ksvalue5 subtract value 5 [Optional]
ksvalue6 subtract value 6 [Optional]
ksvalue7 subtract value 7 [Optional]
ksvalue8 subtract value 8 [Optional]
ksvalue9 subtract value 9 [Optional]
ksvalue10 subtract value 10 [Optional]
kptgain point gain [Optional]
kptbias point bias [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs
ksub10_res subtract 10 result REQUIRED
Digital Outputs
< NONE >
Constants
kcgain = 1
kcbias = 0

578 SP_0030
9.136 Sub10

9.136.1 Sub10 Calculation Overview

Points not configured are set to zero.

The calculated result is:

ksub10_res = kinvalue - kvalue1 - kvalue2 - kvalue3 - kvalue4 - kvalue5 - kvalue6 - kvalue7 -


kvalue8 - kvalue9 - kvalue10

The gain and bias values are:

kgain = kptgain + kcgain


kbias = kptbias + kcbias

The final result is:

ksub10_res = (ksub10_res * kgain) + kbias

SP_0030 579
9.137 Superhtr

9.137 Superhtr

The Superhtr algorithm computes the superheater efficiency and deviation from design.

YES Units are Converted.

SUPERHTR

Parameters Description Usage

Analog Inputs

tfgshtrin shtr flue gas inlet temp REQUIRED

tfgshtrout shtr flue gas outlet temp REQUIRED

tfwshtrin shtr feedwater inlet temp REQUIRED


tfwshtrout shtr feedwater outlet temp REQUIRED
pfwshtrin shtr feedwater inlet pressure REQUIRED
patmos atmospheric pressure REQUIRED
pfwshtrout shtr feedwater outlet pressure REQUIRED
wbfw feedwater flow REQUIRED
knumpass shtrmz number of passes REQUIRED
ashtr superheater surface area REQUIRED
Ushtrclean shtr clean heat transfer coeff REQUIRED
Rshtreffdes shtr design efficiency [Optional]
Digital Inputs

zdocalc digital perf calc run flag

Analog Outputs

lmtdshtr shtr log mean temp diff [Optional]

pfwshtrinabs abs shtr inlet press [Optional]


pfwshtroutabs abs shtr outlet press [Optional]
hfwshtrin fw shtr inlet enth [Optional]
hfwshtrout heat transfer across shtr [Optional]
qshtrtrans heat transfer across shtr [Optional]
Ushtractual shtr heat transfer coeff [Optional]
Rshtreffact shtr efficiency [Optional]
Rshtreffdev shtr efficiency dev [Optional]
Digital Outputs

< NONE >

Constants

580 SP_0030
9.137 Superhtr

SUPERHTR

Parameters Description Usage

< NONE >

9.137.1 Superhtr Calculation Overview

Calculate the log mean temperature difference of the superheater

lmtdshtr = ((tfgshtrin - tfwshtrout) - (tfgshtrout - tfwshtrin)) /


log ((tfgshtrin - tfwshtrout) / (tfgshtrout - tfwshtrin));

Calculate the feedwater inlet and outlet enthalpies as a superheated steam function

of feedwater temperature and pressure. First, convert the pressures to absolute.

pfwshtrinabs = pfwshtrin + patmos;


pfwshtroutabs = pfwshtrout + patmos;
hsstp(&hfwshtrin,&tfwshtrin,&pfwshtrinabs,&ITRNGE);
hsstp(&hfwshtrout,&tfwshtrout,&pfwshtroutabs,&ITRNGE);

Calculate the heat transferred across the superheater.

qshtrtrans = wbfw * (hfwshtrout - hfwshtrin) /RHTCNV;

Calculate the overall superheaterr heat transfer coefficient

Ushtractual = (qshtrtrans * RHTCNV * RHTCNV) / (knumpass * lmtdshtr * ashtr);

Calculate the superheater efficiency or cleanliness factor

Rshtreffact = (Ushtractual / Ushtrclean) * 100.0;

Calculate the superheater efficiency deviation from design

Rshtreffdev = Rshtreffact - Rshtreffdes;

SP_0030 581
9.138 Ttd

9.138 Ttd

The Ttd algorithm calculates the terminal temperature difference and deviation.

YES Units are Converted.

TTD

Parameters Description Usage

Analog Inputs

tsat saturation temp REQUIRED

tfhoutlt outlet temp REQUIRED


tfhdsttd des terminal temp diff [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

tfhttd term temp diff [Optional]

tfhttddev term temp diff dev [Optional]


Digital Outputs

< NONE >

Constants

< NONE >

9.138.1 Ttd Calculation Overview

Actual terminal temperature difference is the feedheater extraction saturation temperature minus
the feedheater outlet temperature.

tfhttd = tsat - tfhoutlt

Terminal temperature difference deviation is the difference between the design terminal
temperature difference and the actual terminal temperature difference.

tfhttddev = tfhttd - tfhdsttd

582 SP_0030
9.139 Turbgen

9.139 Turbgen

The Turbgen algorithm computes heat generated and percent load produced by each turbine
section.

YES Units are Converted.

TURBGEN

Parameters Description Usage

Analog Inputs

Pshaft total shaft power REQUIRED

whpstm hp turb thr stm flow REQUIRED


hhpstm hp turb thr stm enth REQUIRED
whpmisc1-2 hp turb misc in 1-2 stm flow [Optional]
hhpmisc1-2 hp turb misc in 1-2 stm enth [Optional]
whpex1 hp turb extr 1 stm flow [Optional]
whpex2-6 hp turb extr 2-6 stm flow [Optional]
hhpex1 hp turb extr 1 stm enth [Optional]
hhpex2-6 hp turb extr 2-8 stm enth [Optional]
whpleak1 hp turb lkg 1 flow [Optional]
whpleak2-8 hp turb lkg 2-8 flow [Optional]
hhpleak1 hp turb lkg 1 enth [Optional]

hhpleak2-8 hp turb lkg 2-6 enth [Optional]


whpexhst hp turb exh stm flow REQUIRED
hhpexhst hp turb exh stm enth REQUIRED
wipinlet ip turb in (or bowl) stm flow [Optional]
hipinlet ip turb in (or bowl) stm enth [Optional]
wipmisc1-2 ip turb misc inlet 1-2 stm flow [Optional]
hipmisc1-2 ip turb misc inlet 1-2 stm enth [Optional]
wipex1 ip turb extr 1 stm flow [Optional]
wipex2-6 ip turb extr 2-6 stm flow [Optional]
hipex1 ip turb extr 1 stm enth [Optional]
hipex2-6 ip turb extr 2-6 stm enth [Optional]
wipleak1 ip turb lkg 1 flow [Optional]
wipleak2-8 ip turb lkg 2-8 flow [Optional]
hipleak1 ip turb lkg 1 enth [Optional]
hipleak2-8 ip turb lkg 2-8 enth [Optional]
wipexhst ip turb exh stm flow [Optional]

SP_0030 583
9.139 Turbgen

TURBGEN

Parameters Description Usage

hipexhst ip turb exh stm enth [Optional]


Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

qhpturb heat generated by hp turb [Optional]

Rhpturb pcnt total load hp turb [Optional]


qipturb heat generated ip turb [Optional]
Ripturb pcnt total load ip turb [Optional]
qlpturb heat generated lp turb [Optional]
Rlpturb pcnt total load lp turb [Optional]
qrhturb heat generated reheat turb [Optional]
Rrhturb pcnt total load reheat turb [Optional]
Digital Outputs

< NONE >

Constants
< NONE >

9.139.1 Turbgen Calculation Overview

The heat generated by the HP turbine is calculated by subtracting the heat in the HP turbine
extractions, the heat in the HP turbine leakages and the heat in the HP turbine exhaust, from the
HP turbine inlet steam heat. Miscellaneous steam flows that mix with steam before the turbine
throttle are included in the inlet steam heat. The result is converted to Mbtu/H.

qhpturb = (whpstm * hhpstm + whpmisc1 * hhpmisc1 + whpmisc2 * hhpmisc2 - (whpex1 *


hhpex1 + whpex2 * hhpex2 + whpex3 * hhpex3 + whpex4 * hhpex4 + whpex5 * hhpex5 +
whpex6 * hhpex6) - (whpleak1 * hhpleak1 + whpleak2 * hhpleak2 + whpleak3 * hhpleak3 +
whpleak4 * hhpleak4 + whpleak5 * hhpleak5 + whpleak6 * hhpleak6 + whpleak7 * hhpleak7 +
whpleak8 * hhpleak8) - whpexhst * hhpexhst) / RHTCNV;

Where:

RHTCNV (mbtu to kbtu) = 1000

The percent total load produced by the HP turbine section is calculated by converting the heat
generated by the HP turbine to megawatts, and dividing the result by total shaft power.

Rhpturb = ((qhpturb * (1.0 /WtoMW)) / (PENCNV * Pshaft * RHTCNV)) * HCONV;

Where:

W to MV (watts to megawatts) = 1.0e - 06

584 SP_0030
9.139 Turbgen

PENCNV (kilowatt - hours to btu - hours) = 3412.142

The heat generated by the IP turbine is calculated by subtracting the heat in the turbine
extractions, the heat in the turbine leakages and heat in the turbine exhaust from the inlet steam
heat. Miscellaneous inlet steam flows are included in the inlet steam heat. The result is converted
to MBTU/H.

qipturb = (wipinlet * hipinlet + wipmisc1 * hipmisc1 + wipmisc2 * hipmisc2 - (wipex1 * hipex1 +


wipex2 * hipex2 + wipex3 * hipex3 + wipex4 * hipex4 + wipex5 * hipex5 + wipex6 * hipex6) -
(wipleak1 * hipleak1 + wipleak2 * hipleak2 + wipleak3 * hipleak3 + wipleak4 * hipleak4 +
wipleak5 * hipleak5 + wipleak6 * hipleak6 + wipleak7 * hipleak7 + wipleak8 * hipleak8) -
wipexhst * hipexhst) / RHTCNV

The percent total load produced by the IP turbine section is calculated by converting the heat
generated by the IP turbine to megawatts, and dividing the results by total shaft power.

Ripturb = ((qipturb * (1.0 /WtoMW) / (PENCNV * Pshaft * RHTCNV)) * HCONV;

The percent load produced by the LP turbine (Rlpturb) is calculated by subtracting the percent
load produced by the HP turbine (Rhpturb) and the percent load produced by the IP turbine
(Ripturb) from 100%.

Rlpturb = 100.0 - Rhpturb - Ripturb;

The heat generated by the LP turbine is calculated as follows:

qlpturb = (Rlpturb * PENCNV * Pshaft * RHTCNV) / (HCONV * (1/WtoMW));

The heat generated by the reheat turbine (qrhturb) is calculated by adding the heat generated by
the IP turbine (qipturb) and the heat generated by the LP turbine (qlpturb). Similarly, the percent
load produced by the reheat turbine (Rrhturb) is calculated by adding percent load produced by
the IP turbine (Ripturb) and the percent load produced by the LP turbine (Rlpturb).

qrhturb = qipturb + qlpturb


Rrhturb = Ripturb + Rlpturb;

SP_0030 585
9.140 Turbin

9.140 Turbin

The Turbin algorithm calculates the turbine inlet enthalpy, the turbine outlet flow, the turbine outlet
enthalpy, the isentropic enthalpy and the turbine efficiency.

YES Units are Converted.

TURBIN

Parameters Description Usage

Analog Inputs

pturbin turbine inlet pressure REQUIRED

patmos atmospheric pressure REQUIRED


tturbin turbine inlet temperature REQUIRED
wturbin turbine inlet flow REQUIRED
wturbext turbine extraction flow REQUIRED
pturbout turbine outlet pressure REQUIRED
tturbout turbine outlet temperature REQUIRED
eturbdes turbine design efficiency REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

pabsturbin turbine inlet absolute pres [Optional]

hturbin turbine inlet enthalpy [Optional]


wturboutlet turbine outlet flow [Optional]
pabsturbout turbine outlet absolute pres [Optional]
hturbout turbine outlet enthalpy [Optional]
hiturb turbine isentropic enthalpy [Optional]
eturbeff turbine efficiency [Optional]
eturbdev turbine efficiency deviation [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

586 SP_0030
9.140 Turbin

9.140.1 Turbin Calculation Overview

The turbine outlet flow is calculated as the inlet flow minus the total extraction flow.

wturboutlet = wturbin - wturbext

Turbine Efficiency

eturbeff = ((hturbin - hturbout) / (hturbin - hiturb)) * 100.0

Where:

hturbin = Enthalpy of the turbine inlet steam


hturbout = Enthalpy of the turbine outlet flow
hiture = Turbine isentropic enthalpy
hiturb = Isentropic enthalpy of the turbine

SP_0030 587
9.141 Unhraitdev

9.141 Unhraitdev

The Unhraitdev algorithm calculates the unit heat rate deviation for air heater air inlet temperature
deviation and the cost of the deviation.

YES Units are Converted.

UNHRAITDEV

Parameters Description Usage

Analog Inputs

eblreffc corrected ht loss blr effic REQUIRED

eblreffa actual boiler efficiency REQUIRED


rhrnetref design net unit heat rate REQUIRED
Dcstbtu cost of fuel REQUIRED
Pennet net generation power REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

Faitble blr eff chg ahtr air in tmp [Optional]

Faitcor un ht rt chg ahtr air in tmp [Optional]


raitdev ht rt dev ahtr air in tmp [Optional]
Daitdhr un ht rt cost ahtr air tmp dev [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.141.1 Unhraitdev Calculation Overview

Unhraitdev calculates the fractional change in boiler efficiency for the air heater air inlet
temperature being off design by subtracting one from the ratio of the corrected boiler efficiency to
the actual boiler efficiency.

Faitble = (eblreffc / eblreffa) - 1.0

Calculate the fractional change in unit heat rate for the air heater air inlet temperature being off
design by subtracting one from the ratio of the corrected boiler efficiency to the actual boiler
efficiency.

Faitcor = Faitble / (eblreffc * 0.01 + Faitble)

588 SP_0030
9.141 Unhraitdev

Compute the unit heat rate deviation in BTU/KWH and cost of the deviation in $/HR for air heater
air inlet temperature deviation from design.

raitdev = Faitcor * rhrnetref


Daitdhr = (raitdev / RHTCNV) * Dcstbtu * Pennet

SP_0030 589
9.142 Unhrasmecsc

9.142 Unhrasmecsc

The Unhrasmecsc algorithm calculates the ASME heat rate correction for five degrees Fahrenheit
of subcooling at the percent of valves wide open throttle flow.

YES Units are Converted.

UNHRASMECSC

Parameters Description Usage

Analog Inputs

Rthtle pcnt thr flow/vlvs wide open REQUIRED

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

Rsubcoolcor ASME ht rt corr 5 deg subcool REQUIRED

Digital Outputs

< NONE >

Constants

CONCSC[0] = 0.066

CONCSC[1] =
-0.00036

9.142.1 Unhrasmecsc Calculation Overview

The Unhrasmecsc algorithm calculates the heat rate correction factor for degrees Fahrenheit of
subcooling at the percent of valves wide open throttle flow.

Rsubcoolcor = CONCSC[0] + CONCSC[1] * Rthtle

590 SP_0030
9.143 Unhrasmeffw

9.143 Unhrasmeffw

The Unhrasmeffw algorithm calculates the ASME heat rate correction for five degrees Fahrenheit
final feedwater temperature deviation at the percent of valves wide open throttle flow.

YES Units are Converted.

UNHRASMEFFW

Parameters Description Usage

Analog Inputs

Rthtle pcnt thr flow vlvs wide open REQUIRED

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

Rffwcor ASME ht rt cor 5 deg fw tmp dv REQUIRED

Digital Outputs

< NONE >

Constants

CONFFW[0] = 0.024

CONFFW[1] =
0.00114

9.143.1 Unhrasmeffw Calculation Overview

Unhrasmeffw calculates the ASME heat rate correction for five degrees Fahrenheit final feedwater
temperature deviation at the percent of valves wide open throttle flow.

Rffwcor = CONFFW[0] + CONFFW[1] * Rthtle

SP_0030 591
9.144 Unhrasmeipdev1

9.144 Unhrasmeipdev1

The Unhrasmeipdev1 algorithm calculates the ASME IP turbine loss factor number 1 as a function
of ip exhaust pressure.

YES Units are Converted.

UNHRASMEIPDEV1

Parameters Description Usage

Analog Inputs

pabsit ip turbine exhaust pressure REQUIRED

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

klsfcor1 ASME IP turb loss factor 1 REQUIRED

Digital Outputs

< NONE >

Constants

CONLS1[0] = 0.7990657

CONLS1[1] = - 0.4785131E-02
CONLS1[2] = 0.3258645E-04
CONLS1[3] = -0.853411E-07

9.144.1 Unhrasmeipdev1 Calculation Overview

This algorithm calculates the ASME IP turbine loss factor number 1 as a function of IP exhaust
pressure.

klsfcor1 = CONLS1[0] + CONLS1[1] * pabsit + CONLS1[2] * pow(pabsit,2) + CONLS1[3] *


pow(pabsit,3)

592 SP_0030
9.145 Unhrasmeipdev2

9.145 Unhrasmeipdev2

The Unhrasmeipdev2 algorithm calculates the ASME IP turbine loss factor number 2 as a function
of ip exhaust pressure.

YES Units are Converted.

UNHRASMEIPDEV2

Parameters Description Usage

Analog Inputs

pabsit ip turbine exhaust pressure REQUIRED

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

klsfcor2 ASME IP turb loss factor 2 REQUIRED

Digital Outputs

< NONE >

Constants

CONLS2[0] = 0.7781887

CONLS2[1] = -0.4812128E-02
CONLS2[2] = 0.3382398E-04

CONLS2[3] = -0.914272E-07

9.145.1 Unhrasmeipdev2 Calculation Overview

The Unhrasmeipdev2 algorithm calculates the ASME IP turbine loss factor number 2 as a function
of IP exhaust pressure.

klsfcor2 = CONLS2[0] + CONLS2[1] * pabsit + CONLS2[2] * pow(pabsit,2) + CONLS2[3] *


pow(pabsit,3)

SP_0030 593
9.146 Unhrasmemkp

9.146 Unhrasmemkp

The Unhrasmemkp algorithm calculates the ASME heat rate correction for one percent makeup
flow at the percent of valves wide open throttle flow.

YES Units are Converted.

UNHRASMEMKP

Parameters Description Usage

Analog Inputs

Rthtle pcnt thr flow/vlvs wide open REQUIRED

Digital Inputs
zdocalc Digital perf calc run flag REQUIRED
Analog Outputs

Rmkpcor ASME ht rt corr 1 pcnt mkup fl REQUIRED

Digital Outputs

< NONE >

Constants

CONMKP[0] = 0.1410
CONMKP[1] = 0.00034

9.146.1 Unhrasmemkp Calculation Overview

The Unhrasmemkp algorithm calculates the ASME heat rate correction for one percent makeup
flow at the percent of valves wide open throttle flow.

Rmkpcor = CONMKP[0] + CONMKP[1] * Rthtle

594 SP_0030
9.147 Unhrasmersf

9.147 Unhrasmersf

The Unhrasmersf algorithm calculates the ASME heat rate correction for one percent reheat
spray flow at the percent of valves wide open throttle flow.

YES Units are Converted.

UNHRASMERSF

Parameters Description Usage

Analog Inputs

Rthtle pcnt thr flow/vlvs wide open REQUIRED

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

Rrsfcor ASME ht rt corr rht spr fl REQUIRED

Digital Outputs

< NONE >

Constants

CONRSF[0] = 0.05

CONRSF[1] = 0.0015

9.147.1 Unhrasmersf Calculation Overview

The Unhrasmersf algorithm calculates the ASME heat rate correction for one percent reheat
spray flow at the percent of valves wide open throttle flow.

Rrsfcor = CONRSF[0] + CONRSF[1] * Rthtle

SP_0030 595
9.148 Unhrasmessf

9.148 Unhrasmessf

This algorithm calculates the ASME heat rate correction for one percent superheat spray flow at
the percent of valves wide open throttle flow.

YES Units are Converted.

UNHRASMESSF

Parameters Description Usage

Analog Inputs

Rthtle pcnt thr flow/vlvs wide open REQUIRED

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

Rssfcor ASME ht rt corr sht spr fl REQUIRED

Digital Outputs

< NONE >

Constants

CONSSF[0] = 0.007

CONSSF[1] = 0.00016

9.148.1 Unhrasmessf Calculation Overview

The Unhrasmessf algorithm calculates the ASME heat rate correction for one percent superheat
spray flow at the percent of valves wide open throttle flow.

Rssfcor = CONSSF[0] + CONSSF[1] * Rthtle

596 SP_0030
9.149 Unhrauxstm

9.149 Unhrauxstm

The Unhrauxstm algorithm calculates the unit heat rate deviation for auxiliary steam and the cost
of the deviation.

YES Units are Converted.

UNHRAUXSTM

Parameters Description Usage

Analog Inputs

wauxstm auxiliary steam flow REQUIRED

hauxstm auxiliary steam enthalpy REQUIRED


hcycle cycle enthalpy REQUIRED
Pennet net generation power REQUIRED
Dcstbtu cost of fuel REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

rauxstmdev unit ht rt dev aux stm [Optional]

Dauxstmdhr unit ht rt cost aux stm [Optional]


Digital Outputs

< NONE >

Constants

< NONE >

9.149.1 Unhrauxstm Calculation Overview

The unit heat rate deviation in btu/kwh and the cost of the deviation in $/hr for auxiliary steam is
calculated.

rauxstmdev = (wauxstm * (hauxstm - hcycle)) / Pennet


Dauxstmdhr = (rauxstmdev / RHTCNV) * Dcstbtu * Pennet

SP_0030 597
9.150 Unhrbfpt

9.150 Unhrbfpt

The Unhrbfpt algorithm calculates the unit heat rate deviation for the total boiler feed pump
turbine auxiliary steam heat rate and the cost of the deviations.

NO Units are Converted.

UNHRBFPT

Parameters Description Usage

Analog Inputs

whpbfpt main stm aux bfpt supply stm [Optional]

hhpbfpt main stm aux bfpt sup stm enth [Optional]


Pennet net power REQUIRED
wmnstm turb throttle stm flow REQUIRED
hcycle final feedwater enth REQUIRED
rnrref ref net unit heat rate REQUIRED
Dcstbtu cost of fuel REQUIRED
Fhpbfpt rel wght main stm aux bfpt sup REQUIRED
Fexbfpt rel wght extr aux stm bfpt sup REQUIRED
wdsrhta bfp a reheat spray flow REQUIRED
wexbfpta bfpt a extr stm flow REQUIRED
hexbfpta bfpt a extr stm enth REQUIRED
hexbfptisena bfpt a isentropic enth REQUIRED
pabsexbfpta bfpt a abs extr stm pres REQUIRED
pabfptexha bfpt a exh abs hg stm pres REQUIRED
wdsrhtb bfp b reheat spray flow [Optional]
wexbfptb bfpt b extr stm flow [Optional]
hexbfptb bfpt b extr stm enth [Optional]
hexbfptisenb bfpt b isentropic enth [Optional]
pabsexbfptb bfpt b abs extr stm pres [Optional]
pabfptexhb bfpt b exh abs hg stm pres [Optional]
knobfp num bfp/bfp turbs in svc REQUIRED
whpbfptdes exp bfpt high pres stm supply [Optional]
wexbfptdes exp bfpt extraction stm supply [Optional]
wmixbfptdes exp bfpt mixed steam supply [Optional]
hexbfptdes exp bfpt extraction stm enth [Optional]
paexbfptdes exp bfpt extraction steam pressure [Optional]
pabfptexdesa bfpt a exp exh pressure REQUIRED

598 SP_0030
9.150 Unhrbfpt

UNHRBFPT

Parameters Description Usage

pabfptexdesb bfpt b exp exh pressure [Optional]


Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

warga throttle flow arg/bfpt a [Optional]

wargb throttle flow arg/bfpt b [Optional]


rmnbfptdev hp bfpt sup stm ht rate dev [Optional]
wbfptdes design bfpt supply steam flow [Optional]
wexbfptdesa des bfpt a ext stm flow [Optional]
hexbfptaea bfpt a extr av ener/act con [Optional]
hexbfptaebpa bfpt a extr ener/des exh [Optional]
hexbfptaeinita bfpt a extr av ener/act exh [Optional]
hexbfptisenbpa bfpt a extr isen enth/des exh [Optional]
hexbfptiseninita bfpt a extr is enth/act exh [Optional]
Fexbfptcorrbpa bfpt a ex stm fl corr fac [Optional]
Fexbfptcorrinita bfpt a extr stm/corr fact [Optional]
Fexbfptrhta bfpt a ex flw/rht spr corr [Optional]
wexbfptcorra corr bfpt a extr stm flow [Optional]
wexbfptdesb des bfpt b ext stm flow [Optional]
hexbfptaeb bfpt b extr av ener act cond [Optional]
hexbfptaebpb bfpt b extr av ener/des exh [Optional]
hexbfptaeinitb bfpt b ext av ener/act exh [Optional]
hexbfptisenbpb bfpt b ext isen enth/des exh [Optional]
hexbfptiseninitb bfpt b ext is enth/act exh [Optional]
Fexbfptcorrbpb bfpt b ext stm/exh pres corr [Optional]
Fexbfptcorrinitb bfpt b ext stm init con cor [Optional]
Fexbfptrhtb bfpt b ex flw/rht spr corr [Optional]
wexbfptcorrb corr bfpt b extr stm flw [Optional]
Rexbfpta pcnt bfpt a ext stm/thr flw [Optional]
Rexbfptdesa bfpt a pcnt des ext/thr flw [Optional]
Frefcora frac corr at lower flow in seg [Optional]
Fupcora frac corr at upper flow in seg [Optional]
Frefcorb frac corr at lower flow in seg [Optional]
Fupcorb frac corr at upper flow in seg [Optional]

SP_0030 599
9.150 Unhrbfpt

UNHRBFPT

Parameters Description Usage

Fexbfptcora corr 1 pcnt bfpt a extr stm [Optional]


rexbfptdeva bfpt a extr stm ht rate dev [Optional]
Rexbfptb pcnt bfpt b ext stm/thr flow [Optional]
Rexbfptdesb bfpt b pcnt des ext/thr flow [Optional]
Fexbfptcorb rr 1 pcnt bfpt b ext stm [Optional]
rexbfptdevb bfpt b ext stm ht rate dev [Optional]
rbfptdev tot bfpt sup stm ht rate dev [Optional]
Dbfptdhr bfpt sup stm ht rate dev cost [Optional]
wrefa bfpt a thr flow lower bound [Optional]
wupa bfpt a thr flow upper bound [Optional]
wrefb bfpt b thr flow lower bound [Optional]
wupb bfpt b thr flow upper bound [Optional]
Digital Outputs

< NONE >

Constants

WVWO50 = WVWO75 = 2774.9325 WVWO = 3699.91


1849.955

9.150.1 Unhrbfpt Calculation Overview

Calculate high pressure bfp turbine supply steam heat rate deviation if high pressure steam
present, otherwise set result to zero

if (whpbfpt > 0.0)

HP steam is present. Calculate high pressure bfp turbine bfp supply steam heat rate deviation by
multiplying the deviation between the actual (whpbfpt) and expected (whpbfptes) high pressure
steam supplies by the enthalpy difference between aggregate high pressure supply steam
enthalpy (hhpbfpt) and final feedwater enthalpy (hcycle)

rmnbfptdev = (1000.0 * (whpbfpt - whpbfptdes) * (hhpbfpt - hcycle)) / (Pennet * 1000.0)

else

rmnbfptdev = 0.0;

600 SP_0030
9.150 Unhrbfpt

Since different exhaust pressures are possible, heat rate deviations are computed separately for
bfp turbine a and bfp turbine b extraction steam, and are summed to compute the total boiler
feedpump turbine extraction steam heat rate deviation. BFP turbine b is not processed if only one
bfp / bfp turbine exists.

Corrected BFP turbine a (b) extraction flows are calculated per procedure described by K.C.
Cotton, "Evaluating and Improving Steam Turbine Performance", Chapter 7 if they exist.

Set design extraction steam enthalpy to common design extraction steam enthalpy

wexbfptdesa / knobfp

Calculate available energy based on actual conditions, the difference between the inlet steam
enthalpy (hexbfpta) and the inlet steam isentropic enthalpy (hexbfptisena)

hexbfptaea = hexbfpta - hexbfptisena

Calculate isentropic enthalpy from actual inlet conditions (hexbfpta) to design exhaust pressure
(pabfptexdesa).

hishpp(&hexbfptisenbpa, &hexbfpta, &pabsexbfpta, &pabfptexdesa, &ITRNGE)

Calculate available energy from actual inlet conditions to design exhaust pressure

hexbfptaebpa = hexbfpta - hexbfptisena

Calculate isentropic enthalpy from design inlet conditions (hexbfptdes) to actual exhaust pressure
(paexbfpta).

hishpp(&hexbfptiseninita, &hexbfptdes, &paexbfptdes, &pabfptexha, &ITRNGE)

Calculate available energy from design inlet conditions to actual exhaust pressure,

hexbfptaeinita = hexbfptdes - hexbfptiseninita

Calculate BFP turbine a steam flow correction for exhaust pressure (Fexbfptcorrhpa) by dividing
the actual available energy (hexbfptaea) by the available energy from the actual inlet conditions to
design exhaust pressure (hexbfptaebpa),

Fexbfptcorrbpa = hexbfptaea / hexbfptaebpa

Calculate BFP turbine a steam flow correction for inlet conditions (Fexbfptcorrinita) by dividing the
actual available energy (hexbfptaea) by the available energy from design inlet conditions to actual
exhaust pressure (hexbfptaeinita),

Fexbfptcorrinita = hexbfptaea / hexbfptaeinita

Calculate reheat spray flow correction (Fexbfptrhta) by dividing throttle flow (wmnstm) by the sum
of thottle flow and reheat spray flow (wdsrhta)

Fexbfptrhta = wmnstm / (wmnstm + wdsrhta)

Calculate corrected BFPT a extraction steam flow (wexbfptcorra) by Cotton equation

wexbfptcorra = wexbfpta * Fexbfptcorrbpa * Fexbfptcorrinita * Fexbfptrhta

SP_0030 601
9.150 Unhrbfpt

Calculate heat rate correction for BFP turbine a extraction steam from curve fit based on percent
of corrected extraction steam to throttle flow

Calculate % corrected BFPT a extraction (Rexbfpta) and design extraction (Rexbfptdesa) to


throttle flow.

Rexbfpta = (wexbfptcorra / wmnstm) * 100.0


Rexbfptdesa = (wexbfptdesa / wmnstm) * 100.0

Calculate correction at lower (Frefcor) and upper (Fupcor) flows in throttle flow segment. force
throttle flow argument to be in range (wvwo50, wvwo).

The corrections are calculated as functions of absolute extraction steam pressure

if (wmnstm < WVWO50)

warga = WVWO50;

else if (wmnstm > WVWO)

warga = WVWO;

else

warga = wmnstm;

if (warga <= WVWO75)

Throttle flow argument in range (50% valves wide open throttle flow, 75% valves wide open
throttle flow)

Frefcora = 3.4995606e-01 + 4.1836239e-03 * pabsexbfpta -


9.2606423e-06 * pow(pabsexbfpta, 2.0);
Fupcora = 3.6801325e-01 + 2.2609470e-03 * pabsexbfpta -
2.2279854e-06 * pow(pabsexbfpta, 2.0);
wrefa = WVWO50;
wupa = WVWO75;

else

The thottle flow argument in range (75% valves wide open throttle flow, valves wide open throttle
flow)

Frefcora = 3.6801325e-01 + 2.2609470e-03 * pabsexbfpta -


2.2279854e-06 * pow(pabsexbfpta, 2.0);
Fupcora = 3.2663690e-01 + 1.9059240e-03 * pabsexbfpta -
1.6666667e-06 * pow(pabsexbfpta, 2.0);
wrefa = WVWO75;
wupa = WVWO;

602 SP_0030
9.150 Unhrbfpt

Compute the fractional correction for 1% aux extraction scah supply steam at actual percent
valves wide open throttle flow by linear interpolation.

Fexbfptcora = ((warga - wrefa) / (wupa - wrefa)) * (Fupcora - Frefcora) + Frefcora

Calculate the heat rate deviation for the actual amount of bfp turbine a corrected extraction steam.

rexbfptdeva = (Fexbfptcora / 100.0) * (Rexbfpta - Rexbfptdesa) * rnrref

The above calculations are repeated for the b extraction if present. Otherwise, all outputs are set
to zero.

Calculate the total boiler feed turbine auxiliary steam heat rate deviation (rbfptdev) by summing
high pressure steam (rmnbfptdev), and turbine a extraction steam (rexbfptdeva) and turbine b
extraction steam (rexbfptdevb) deviations.

rbfptdev = rmnbfptdev + rexbfptdeva + rexbfptdevb

Convert the heat rate deviation to $/Hr

Dbfptdhr = ((rbfptdev / 1000000.0) * Dcstbtu) * Pennet * 1000.0

Calculate design boiler feedpump turbine supply steam flow depending on supply mode.

If (mixed steam)

wbfptdes = wmixbfptdes

Else if (extraction supply)

wbfptdes = wexbfptdes

else (hp supply)

wbfptdes = whpbfptdes

SP_0030 603
9.151 Unhrauxdev

9.151 Unhrauxdev

The Unhrauxdev algorithm calculates the unit heat rate deviation for auxiliary power deviation and
the cost of the deviation.

YES Units are Converted.

UNHRAUXDEV

Parameters Description Usage

Analog Inputs

Pauxpwr auxiliary power REQUIRED

Pauxdes design auxiliary power REQUIRED


Pennet net power REQUIRED
rhrnetref design net unit heat rate REQUIRED
Dcstbtu cost of fuel REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

rstsdev aux power dev ht rt dev [Optional]

Dstsdhr aux power unit ht rt cost [Optional]


Digital Outputs

< NONE >

Constants

< NONE >

9.151.1 Unhrauxdev Calculation Overview

Unit Heat rate deviation in Btu/Kwh and cost of the deviation in $/Hr for auxiliary power deviation.

rstsdev = ((Pauxpwr - Pauxdes) / Pennet) * rhrnetref


Dstsdhr = (rstsdev / RHTCNV) * Dcstbtu * Pennet

604 SP_0030
9.152 Unhrcbp

9.152 Unhrcbp

The Unhrcbp algorithm calculates the unit heat rate deviation for condenser back pressure and
the cost of the deviation in $/hr.

YES Units are Converted.

UNHRCBP

Parameters Description Usage

Analog Inputs

Fhrdcp ht rt fact act cond back pres REQUIRED

Fhrdcx ht rt factExp cond back pres REQUIRED

rhrnetref design net unit heat rate REQUIRED

Dcstbtu cost of fuel REQUIRED

Pennet net generation power REQUIRED

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

rcbpdev cond back pres unit ht rt dev [Optional]

Dbpcdhr cond back pres heat rate cost [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

9.152.1 Unhrcbp Calculation Overview

Compute the unit heat rate deviation in btu/kwh and the cost of the deviation in $/hr for condenser
back pressure.

rcbpdev = (Fhrdcp - Fhrdcx) * rhrnetref


Dbpcdhr = (rcbpdev / RHTCNV) * Dcstbtu * Pennet

SP_0030 605
9.153 Unhrcontot

9.153 Unhrcontot

The Unhrcontot algorithm computes the total unit heat rate deviations and cost of the deviation in
$/hr for the controllable parameters.

YES Units are Converted.

UNHRCONTOT

Parameters Description Usage

Analog Inputs

rmstdev main stm temp unit ht rt dev [Optional] Use if main steam temp unit
heat rate deviation is calculated.

rrstdev reheat stm temp unit ht rt dev [Optional] Use if reheat steam temp
unit heat rate deviation is calculated.

rmspdev mn stm pressure unit ht rt dev [Optional] Use if main steam pressure
unit heat rate deviation is calculated.

rssfdev supht spr flow unit ht rt dev [Optional] Use if superheat flow unit
heat rate deviation is calculated.

rrsfdev reht spr flow unit ht rt dev [Optional] Use if reheat spray flow unit
heat rate deviation is calculated.

regtdev exit gas temp dev ht rt dev [Optional] Use if exit gas temp unit
heat rate deviation is calculated.

ro2edev O2 unit ht rt dev [Optional] Use if O2 unit heat rate


deviation is calculated.

Dcstbtu cost for fuel [Optional]

Pennet net generation power REQUIRED

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

rtotcdev total control unit ht rt devs [Optional]

Dtotcdhr total control unit ht rt cost [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

606 SP_0030
9.153 Unhrcontot

9.153.1 Unhrcontot Calculation Overview

Compute the total unit heat rate deviation in Btu/Kwh and the cost of the deviation in $/Hr for the
controllable parameters.

rtotcdev = rmstdev + rrstdev + rmspdev + rssfdev + rrsfdev + regtdev + ro2edev


Dtotcdhr = (rtotcdev / RHTCNV) * Dcstbtu * Pennet

SP_0030 607
9.154 Unhrcsc

9.154 Unhrcsc

The Unhrcsc algorithm calculates the unit heat rate deviation for condenser subcooling and the
cost of the deviation in $/hr.

YES Units are Converted.

UNHRCSC

Parameters Description Usage

Analog Inputs

tcnvac cnd sat tmp at cond back pres [Optional]

thtwll cond hotwell temp REQUIRED

Rcsccor percent heat rate correction REQUIRED

rhrnetref design net unit heat rate REQUIRED

Dcstbtu cost of fuel REQUIRED

Pennet net generation power REQUIRED

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

tcondsub condenser subcooling [Optional]

rcscdev cond subcooling unit ht rt dev [Optional]

Dscdhr cond subcool unit ht rt cost [Optional]

Digital Outputs

< NONE >

Constants

KTEMP = 5.0

9.154.1 Unhrcsc Calculation Overview

Compute the condenser subcooling.

tcondsub = tcnvac - thtwll

Compute the unit heat rate deviation in Btu/Kwh and the cost of the deviation in $/Hr for
condenser subcooling.

rcscdev = (Rcsccor/100.0) * (tcnvac-thtwll) / KTEMP) * rhrnetref


Dscdhr = (rcscdev / RHTCNV) * Dcstbtu * Pennet

608 SP_0030
9.155 Unhregt

9.155 Unhregt

The Unhregt algorithm calculates the heat rate deviation and the cost of deviation for exit gas
temperature.

YES Units are Converted.

UNHREGT

Parameters Description Usage

Analog Inputs

thtrairin air htr air in temp REQUIRED

tgasdesin in gas des temp REQUIRED

tgasdesout exit gas des temp REQUIRED

thtradesin air htr air in des temp REQUIRED

thtrgasin air htr gas in temp REQUIRED

Rahlkg air htr leakage REQUIRED

cahair specific ht of air REQUIRED

cahgas specific ht of gas REQUIRED

Rdglsc pcnt corr ht loss fr dry gas REQUIRED

hfuel hting value of fuel REQUIRED

cflgasc spec ht of flue gas Exit blr REQUIRED

thtrmoc corr non-lkg Exit gas temp REQUIRED

Rflmsc pcnt corr ht loss moist fuel REQUIRED

Rcmbhc pcnt corr ht loss moist h2 REQUIRED

hfgexc vap enth cor nonlkg Ex gas tmp REQUIRED

hfghoc enth of air htr des in temp REQUIRED

Wairth stoich wt air compl comb REQUIRED

Wairex wt of Exc air per lb fuel STP REQUIRED

hrvapc enth of saturated vapor REQUIRED

Wvap water content of vapor REQUIRED

Rwvaic pcnt corr ht loss moist air REQUIRED

eblreffc corr boiler efficiency REQUIRED

rhrnetref des net unit ht rate REQUIRED

Dcstbtu cost for fuel REQUIRED

Pennet net generation power REQUIRED

SP_0030 609
9.155 Unhregt

UNHREGT

Parameters Description Usage

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

tcorairin corr ahtr air in temp [Optional]

tcorgasin corr ahtr gas in temp [Optional]

tcordesgasout corr ahtr des Exit gas temp [Optional]

thtrmos mod des Exit gas temp [Optional]

hfgexs vapor enthalpy [Optional]

cahgasmdes sp ht fl gas cor des Exit tmp [Optional]

hdglsd dry gas ht ls Ex gas tmp dev [Optional]

hmslsd corr heat loss moist in fuel [Optional]

hwvdeg corr heat loss moist in air [Optional]

hwvdev ht ls moist air Ex gas tmp dev [Optional]

Fgtble blr eff cor/ex gas tmp off des [Optional]

Fgtcor fr chng ht rt Ex gas tmp dev [Optional]

regtdev exit gas temp dev ht rt dev [Optional]

Degtdhr exit gas temp dev cost [Optional]

Digital Outputs

< NONE >

Constants

CONQAHFGDS[0] CONQAHFGDS[1] = 1.065875E-05 CONQAHFGDS[2] = 4.18508E-08


= 0.237058
CONQAHFGDS[3]
= 2.20475E-11

610 SP_0030
9.155 Unhregt

9.155.1 Unhregt Calculation Overview

The Unhregt algorithm calculates the heat rate deviation in btu/kwh and the cost of deviation in
$/hr for exit gas temperature.

Calculate the corrected design exit gas temperature as the sum of the corrected exit gas temp for
deviation from design air heater air inlet temperature and the corrected design exit gas
temperature from design air heater gas inlet temperature minus exit gas design temperature.

tcorairin = (thtradesin * (thtrgasin - tgasdesout) + thtrgasin * (tgasdesout - thtrairin)) /


(thtrgasin - thtrairin)
tcorgasin = (tgasdesin * (tgasdesout - thtrairin) + thtrairin * (thtrgasin - tgasdesout)) /
(thtrgasin - thtrairin)
tcordesgasout = tcorairin + tcorgasin - tgasdesout

Calculate the modified exit gas temperature corrected for no leakage based on the corrected
design exit gas temperature.

thtrmos = tcordesgasout + (Rahlkg * cahair * tcordesgasout - thtradesin)) / (100.0 * cahgas);

Calculate the vapor enthalpy at the corrected modified design exit gas temperature and 1.0 psia
as follows:

hsstp(&hfgexs,&thtrmos,&onepsia,&ITRNGE);

Calculate the specific heat of the flue gas at the corrected modified design exit gas temperature.

cahgasmdes = CONQAHFGDS[0] + CONQAHFGDS[1] * thtrmos +


CONQAHFGDS[2] * pow(thtrmos,2) +
CONQAHFGDS[3] * pow(thtrmos,3)

Calculate the corrected heat loss in dry gas in percent attributable to the exit gas temperature
being off design.

hdglsd = ((Rdglsc * hfuel) / 100.0) * (1.0 - (cahgasmdes * (thtrmos - thtradesin)) / (cflgasc *


(thtrmoc - thtradesin)))

Calculate corrected heat loss due to the moisture in fuel and hydrogen that are attributable to the
exit gas temperature being off design.

hmslsd = (((Rflmsc + Rcmbhc) * hfuel) / 100.0) * (hfgexc - hfgexs) / (hfgexc - hfghoc)

Calculate corrected heat loss due to moisture in the air supplied to the boiler from exit gas
temperature being off design.

hwvdeg = (Wairth + Wairex) * (hfgexs - hrvapc) * Wvap


hwvdev = ((Rwvaic * hfuel) / 100.0) - hwvdeg

Calculate the fractional boiler efficiency correction for exit gas temperature being off design.

Fgtble = (hdglsd + hmslsd + hwvdev) / hfuel

Calculate the fractional change in unit heat rate for exit gas temperature being off design.

Fgtcor = Fgtble / ((0.01 * eblreffc) + Fgtble)

SP_0030 611
9.155 Unhregt

Calculate the heat rate deviation by multiplying the fractional correction factor by the design net
unit heat rate.

regtdev = Fgtcor * rhrnetref

Calculate the heat rate deviation in $/Hr

Degtdhr = (regtdev / RHTCNV) * Dcstbtu * Pennet

612 SP_0030
9.156 Unhrffw

9.156 Unhrffw

The Unhrffw algorithm calculates the heat rate deviation and the cost of deviation in $/hr for final
feedwater temperature.

YES Units are Converted.

UNHRFFW

Parameters Description Usage

Analog Inputs

Rfwcor percent heat rate correction REQUIRED

tfhttd terminal temperature deviation REQUIRED

rhrnetref design net unit heat rate [Optional]

Dcstbtu cost of fuel REQUIRED

Pennet net generation power REQUIRED

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

rffwdev unit ht rt dev fin fw tmp dev [Optional]

Dffwdhr unit ht rt tmp fin fw tmp cost [Optional]

Digital Outputs

< NONE >

Constants

KTEMP = 5.0

9.156.1 Unhrffw Calculation Overview

The Unhrffw algorithm calculates the heat rate deviation in Btu/Kwh and the cost of deviation in
$/Hr for final feedwater temperature.

ktfhttd = tfhttd
rffwdev = (Rfwcor / 100.0) * (ktfhttd / KTEMP) * rhrnetref
Dffwdhr = (rffwdev / RHTCNV) * Dcstbtu * Pennet

SP_0030 613
9.157 Unhrhpdev

9.157 Unhrhpdev

The Unhrhpdev algorithm calculates the unit heat rate deviation for hp turbine efficiency deviation
and the cost of the deviation.

YES Units are Converted.

UNHRHPDEV

Parameters Description Usage

Analog Inputs

ehpefdes hp design efficiency REQUIRED

ehpeff actual hp efficiency REQUIRED

huehp hp turbine used energy REQUIRED

wmnstm main steam flow REQUIRED

Pmwatt power generation REQUIRED

whtrex turbineExhaust flow REQUIRED

rhrtcg gross turbine cycle heat rate REQUIRED

rhrnetref design net unit heat rate REQUIRED

Dcstbtu cost of fuel REQUIRED

Pennet net power REQUIRED

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

ehppdev pcnt hp turb effic dev [Optional]

Rhpcor1 ht rt change 1 hp trb eff dev [Optional]

Rhpcor2 ht rt change 2 hp trb eff dev [Optional]

Rhpcor tot ht rt chng hp trb eff dev [Optional]

rhpedev ht rt dev hp trb eff dev [Optional]

Dhpedhr ht rt cost hp trb eff dev [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

614 SP_0030
9.157 Unhrhpdev

9.157.1 Unhrhpdev Calculation Overview

The Unhrhpdev algorithm calculates the unit heat rate deviation for HP turbine efficiency deviation
in Btu/Kwh and the cost of the deviation in $/Hr.

First, calculate the percent high-pressure turbine efficiency deviation.

ehppdev = ((ehpefdes - ehpeff) / ehpefdes) * 100.0

Compute the percent change in heat rate due to high pressure turbine efficiency deviation as
follows:

Rhpcor1 = ehppdev * huehp * wmnstm / (PENCNV * Pmwatt)


Rhpcor2 = ehppdev * huehp * whtrex / (rhrtcg * Pmwatt)
Rhpcor = Rhpcor1 - Rhpcor2

Compute the unit heat rate deviation in Btu/Kwh and cost of the deviation in $/Hr for HP turbine
efficiency deviation.

rhpedev = (Rhpcor / 100.0) * rhrnetref


Dhpedhr = (rhpedev / RHTCNV) * Dcstbtu * Pennet

SP_0030 615
9.158 Unhripdev

9.158 Unhripdev

The Unhripdev algorithm calculates the unit heat rate deviation for ip turbine efficiency deviation
and the cost of the deviation.

YES Units are Converted.

UNHRIPDEV

Parameters Description Usage

Analog Inputs

thrhte hot reheat temp REQUIRED

klsfc1 loss factor 1 due toExh pres REQUIRED


klsfc2 loss factor 2 due toExh pres REQUIRED
hueip ip turb used energy REQUIRED
huerh reheat turbine used energy REQUIRED
huehp hp turbine used energy REQUIRED
wmnstm main steam flow REQUIRED
Pmwatt generator power REQUIRED
eipefdes ip turb des effic REQUIRED
eipeff ip turb effic REQUIRED
rhrnetref design net unit heat rate REQUIRED
Dcstbtu cost of fuel REQUIRED
Pennet net power REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

klsfct tot lss fac xovr pres/rht tmp [Optional]

Ripcor1 pcnt chng 1 ht rt due to ip [Optional]


Ripcor2 pcnt chng 2 ht rt due to ip [Optional]
eipdev ip turb efficiency dev [Optional]
Ripcor total ip loss pcnt [Optional]
ripedev ip effic dev unit ht rt dev [Optional]
Dipedhr ip effic dev unit ht rt cost [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

616 SP_0030
9.159 Unhrmaintot

9.158.1 Unhripdev Calculation Overview

The Unhripdev algorithm calculates the unit heat rate deviation for IP turbine efficiency deviation
in Btu/Kwh and the cost of the deviation in $/Hr

Calculate the loss factor based on actual crossover pressure and actual reheat temperature using
interpolation.

klsfct = (thrhte - 1000.0) * (klsfc2 - klsfc1) / 50.0 + klsfc1

Compute the turbine efficiency deviation as follows:

Ripcor1 = (hueip / huerh) * klsfct


Ripcor2 = 1.0 - (huehp * wmnstm) / (PENCNV * Pmwatt)

Calculate the intermediate pressure turbine efficiency deviation.

eipdev = ((eipefdes - eipeff) / eipefdes) * 100.0;


Ripcor = eipdev * Ripcor1 * Ripcor2;

Compute the unit heat rate deviation in Btu/Kwh and the cost of the deviation in $/Hr for IP turbine
efficiency deviation.

ripedev = (Ripcor / 100.0) * rhrnetref


Dipedhr = (ripedev / RHTCNV) * Dcstbtu * Pennet

9.159 Unhrmaintot

The Unhrmaintot algorithm totals the unit heat rate deviations for the maintenance parameters
and the cost of the deviations in $/hr.

YES Units are Converted.

UNHRMAINTOT

Parameters Description Usage

Analog Inputs

rrpddev rht pres dr ht rt corr fact [Optional] Use if reheat pressure


drop heat rate deviation is
calculated.
rcbpdev cnd back pres ht rt corr fact [Optional] Use if condenser back
pressure heat rate deviation is
calculated.

rmkpdev mkup wtr dev ht rt corr fact [Optional] Use if makeup water dev
heat rate deviation is calculated.

rffwdev fin fw tmp dev ht rt corr fact [Optional] Use if final feedwater unit
heat rate deviation is calculated.

SP_0030 617
9.159 Unhrmaintot

UNHRMAINTOT

Parameters Description Usage

rcscdev cond subcl dev ht rt corr fact [Optional] Use if condenser


subcooling heat rate deviation is
calculated.
Dcstbtu cost of fuel REQUIRED

Pennet net generation power REQUIRED


Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

rmaindev total maintenance ht rt dev [Optional]

Dmaindhr total maintenance ht rt cost [Optional]


Digital Outputs

< NONE >

Constants

< NONE >

9.159.1 Unhrmaintot Calculation Overview

This algorithm totals the unit heat rate deviations for the maintenance parameters in Btu/Kwh and
the cost of the deviations in $/Hr.

Compute the total unit heat rate deviation in Btu/Kwh and cost of the deviation in $/Hr for the
maintenance parameters.

rmaindev = rrpddev + rcbpdev + rmkpdev + rffwdev + rcscdev


Dmaindhr = (rmaindev / RHTCNV) * Dcstbtu * Pennet

618 SP_0030
9.160 Unhrmisctot

9.160 Unhrmisctot

The Unhrmisctot algorithm totals the unit heat rate deviations for the miscellaneous parameters
and the cost of the deviations.

YES Units are Converted.

UNHRMISCTOT

Parameters Description Usage

Analog Inputs

rhpedev ht rt dev hp trb eff dev [Optional] Use if unit heat rate
for hp dev is calculated.

ripedev ip eff dev unit ht rt dev [Optional] Use if unit heat rate
for ip dev is calculated.
rlpedev lp eff dev unit ht rt dev [Optional] Use if unit heat rate
for lp dev is calculated.
rstsdev aux pwr dev ht rt dev [Optional] Use if unit heat rate
for aux pwr dev is calculated.
raitdev ht rt dev ahtr air in temp [Optional] Use if unit heat rate
for air htr air inlet temp dev is
calculated.
rauxstmdev aux pwr dev unit ht rt dev [Optional] Use if unit heat rate
for aux stm dev is calculated.
rphdev plant heat unit ht rt dev [Optional] Use if unit heat rate
for plant heating dev is
calculated.
Dcstbtu cost of heat rate dev REQUIRED

Pennet net power REQUIRED


Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

rmiscdev total misc unit ht rt devs [Optional]

Dmiscdhr total misc unit ht rt cost [Optional]


Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 619
9.160 Unhrmisctot

9.160.1 Unhrmisctot Calculation Overview

This algorithm totals the unit heat rate deviations for the miscellaneous parameters in Btu/Kwh
and the cost of the deviations in $/Hr.

Compute the total unit heat rate deviation in Btu/Kwh and the cost of the deviation in $/Hr for the
miscellaneous parameters.

rmiscdev = rhpedev + ripedev + rlpedev + rstsdev + raitdev + rauxstmdev + rphdev;


Dmiscdhr = (rmiscdev / RHTCNV) * Dcstbtu * Pennet;

620 SP_0030
9.161 Unhrmkp

9.161 Unhrmkp

The Unhrmkp algorithm calculates the heat rate deviation and the cost of deviation in $/hr for
makeup water flow.

YES Units are Converted.

UNHRMKP

Parameters Description Usage

Analog Inputs

wmkupw makeup water flow REQUIRED


wmnstm main steam flow REQUIRED
wmkdes design makeup water flow REQUIRED
Rmkpcor pcnt ht rt corr mkup fl REQUIRED
rhrnetref design net unit heat rate REQUIRED
Dcstbtu cost of fuel REQUIRED
Pennet net generation power REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

Rmakeup pcnt mkup wtr flow/thr flow [Optional]

Rmkpdes design makeup water flow [Optional]


rmkpdev ht rt corr mkup wtr flow [Optional]
Dmkpdhr ht rt cost mkup wtr flow [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.161.1 Unhrmkp Calculation Overview

Unhrmkp calculates the heat rate deviation in Btu/Kwh and the cost of deviation in $/Hr for
makeup water flow.

Calculate the percent of makeup water to throttle flow.

Rmakeup = (wmkupw / wmnstm) * 100.0;

Next, compute the percentage of design makeup water flow to throttle flow.

Rmkpdes = (wmkdes / wmnstm) * 100.0;

SP_0030 621
9.161 Unhrmkp

Compute heat rate deviation in Btu/Kwh and cost of the deviation in $/Hr for makeup water flow.

rmkpdev = (Rmkpcor / 100.0) * (Rmakeup - Rmkpdes) * rhrnetref;


Dmkpdhr = (rmkpdev / RHTCNV) * Dcstbtu * Pennet;

622 SP_0030
9.162 Unhrmsp

9.162 Unhrmsp

The Unhrmsp algorithm computes the unit heat rate deviation and cost of the deviation in $/hr for
main steam pressure.

YES Units are Converted.

UNHRMSP

Parameters Description Usage

Analog Inputs

Fhrdmp ht rt fac-mn stm pres off des REQUIRED

rhrnetref des net unit heat rate REQUIRED


Dcstbtu cost of fuel REQUIRED
Pennet net generation power REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

rmspdev main stm pres unit heat rt dev [Optional]

Dmspdhr main stm pres heat rate cost [Optional]


Digital Outputs

< NONE >

Constants

< NONE >

9.162.1 Unhrmsp Calculation Overview

Unhrmsp calculates the unit heat rate deviation for main steam pressure in Btu/Kwh and the cost
of the deviation in $/Hr.

rmspdev = (Fhrdmp - 1.0) * rhrnetref


Dmspdhr = (rmspdev / RHTCNV) * Dcstbtu * Pennet

SP_0030 623
9.163 Unhrmst

9.163 Unhrmst

The Unhrmst algorithm computes the unit heat rate deviation and cost of the deviation in $/hr for
main steam temperature.

YES Units are Converted.

UNHRMST

Parameters Description Usage

Analog Inputs

Fhrdmt ht rt fac-mn stm temp off des REQUIRED

rhrnetref des net unit heat rate REQUIRED


Dcstbtu cost for fuel REQUIRED
Pennet net generation power REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

rmstdev mn stm temp ht rt corr factor [Optional]

Dmstdhr main stm temp unit ht rt cost [Optional]


Digital Outputs

< NONE >

Constants

< NONE >

9.163.1 Unhrmst Calculation Overview

Unhrmst calculates the unit heat rate deviation for main steam temperature in Btu/Kwh and the
cost of the deviation in $/Hr.

rmstdev = (Fhrdmt - 1.0) * rhrnetref


Dmstdhr = (rmstdev / RHTCNV) * Dcstbtu * Pennet

624 SP_0030
9.164 Unhro2calc

9.164 Unhro2calc

The Unhro2calc algorithm calculates the heat rate deviation and the cost of deviation for exit
oxygen deviation.

YES Units are Converted.

UNHRO2CALC

Parameters Description Usage

Analog Inputs

Ro2edes des Excess oxygen REQUIRED

vfgtot total vol of stoich fl gas REQUIRED


kconst temp const calc free O2 vol REQUIRED
Ftratio temp corr ratio REQUIRED
Wfuel mass of flue gas REQUIRED
cflgasc spec ht fl gas Exit blr REQUIRED
thtrmoc corr non-lkg Exit gas temp REQUIRED
thtradesin ahtr air des inlet temp REQUIRED
Rdglsc pcnt corr ht loss dry gas REQUIRED
hfuel heating value of fuel REQUIRED
Wairth stoich wt air complete comb REQUIRED
hfgexc vap enth corr non-lkg Exit tmp REQUIRED
hrvapc enth of sat vapor REQUIRED
Wvap water cont of vapor REQUIRED
Rwvaic pcnt corr ht lss moist air sup REQUIRED
eblreffc corr heat loss blr effic REQUIRED
rhrnetref des net unit heat rate REQUIRED
Dcstbtu cost for fuel REQUIRED
Pennet net generation power REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

volovs vol of des O2 in fl gases [Optional]

Warexs wt of Excess air des Excess O2 [Optional]


Wdgdes mass fl fl gas des Excess O2 [Optional]
hdgdes dry gas ht loss Excess O2 [Optional]
hdev1 dry gas ht loss Excess O2 dev [Optional]
hwvdes ht loss moist air Excess air [Optional]

SP_0030 625
9.164 Unhro2calc

UNHRO2CALC

Parameters Description Usage

hdev2 ht lss air moist Excess O2 dev [Optional]


hlosso2 tot loss for Excess O2 dev [Optional]
Fo2ble frac blr effic corr Excess O2 [Optional]
Fo2cor frac chg u ht rt Excess O2 dev [Optional]
ro2edev unit ht rt dev Excess O2 dev [Optional]
Do2edhr unit ht rt cost Excess O2 dev [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.164.1 Unhro2calc Calculation Overview

Unhro2calc calculates the heat rate deviation in Btu/Kwh and the cost of deviation in $/Hr for
excess oxygen deviation. The following method calculates the heat rate deviation due to excess
oxygen deviation from design. The boiler losses associated with excess oxygen are recomputed
with design excess oxygen and the heat rate deviation in Btu/Kwh and cost of the deviation in
$/Hr are calculated.

This procedure is used when correction curves for excess oxygen are not available.

Compute the volume of free oxygen in the flue gases per lb of fuel in ft3/lb (ovs).

volovs = Ro2edes * vfgtot / (100.0 - Ro2edes * kconst);

Calculate the weight of the design excess air (Warexs) based on volume of design oxygen in the
flue gases.

Warexs = volovs * DO2STP / (0.232 * Ftratio)

Compute the total mass of flue gas per lb of fuel (Wdgdes) based on design excess oxygen.

Wdgdes = Wfuel + Warexs

Calculate dry gas heat loss in Btu/Lb (hdgdes) based on design excess oxygen.

hdgdes = Wdgdes * cflgasc * (thtrmoc - thtradesin)

Compute dry heat loss deviation in Btu/Lb (hdev1) due to excess oxygen deviation - heat loss
difference between actual and design excess oxygen.

hdev1 = ((Rdglsc * hfuel) / 100.0) - hdgdes;

Calculate heat loss in moisture in air in Btu/Lb (hwvdes) based on design excess oxygen.

hwvdes = (Wairth + Warexs) * (hfgexc - hrvapc) * Wvap

626 SP_0030
9.164 Unhro2calc

Compute moisture in air heat loss deviation in Btu/Lb (hdev2) due to excess oxygen deviation -
heat loss difference between actual and design excess oxygen.

hdev2 = ((Rwvaic * hfuel) / 100.0) - hwvdes

Calculate the total losses in Btu/Lb (tloss) due to excess oxygen deviation.

hlosso2 = hdev1 + hdev2;

Compute the fractional boiler efficiency correction (Fo2ble) for excess oxygen being off design.

Fo2ble = hlosso2 / hfuel

Calculate the fractional change in unit heat rate (Fo2cor) for excess oxygen being off design.

Fo2cor = Fo2ble / ((0.01 * eblreffc) + Fo2ble)

Compute heat rate deviation in Btu/Kwh (ro2edev) and cost of the deviation in $/Hr (Do2edhr) for
the exit gas temperature being off design.

ro2edev = Fo2cor * rhrnetref


Do2edhr = (ro2edev / RHTCNV) * Dcstbtu * Pennet

SP_0030 627
9.165 Unhrpcthr

9.165 Unhrpcthr

The Unhrpcthr algorithm calculates the percentage of actual main steam flow to valves wide open
throttle flow.

YES Units are Converted.

UNHRPCTHR

Parameters Description Usage

Analog Inputs

wmnstm main steam flow REQUIRED

wwideopen valves wide open throttle flow REQUIRED


Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

Rthtle pcnt thr fl to vlvs wide open REQUIRED

Digital Outputs

< NONE >

Constants
< NONE >

9.165.1 Unhrpcthr Calculation Overview

Calculate the ratio of percent of actual main steam flow to valves wide open throttle flow. 'wvwo' is
the valves wide open throttle flow.

Rthtle = (wmnstm / wwideopen) * 100.0

628 SP_0030
9.166 Unhrrpd

9.166 Unhrrpd

The Unhrrpd algorithm calculates the unit heat rate deviation for reheat pressure drop and the
cost of the deviation.

YES Units are Converted.

UNHRRPD

Parameters Description Usage

Analog Inputs

Fhrdpd corr fact rht pres dr off des REQUIRED

rhrnetref design net unit heat rate REQUIRED


Dcstbtu cost of fuel REQUIRED
Pennet net generation power REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

rrpddev unit ht rt dev reht pres dr [Optional]

Drpddhr unit ht rt cost reht pres dr [Optional]


Digital Outputs

< NONE >

Constants
< NONE >

9.166.1 Unhrrpd Calculation Overview

Unhrrpd computes the unit heat rate deviation in Btu/Kwh and cost of the deviation in $/Hr for
reheat pressure drop.

rrpddev = (Fhrdpd - 1.0) * rhrnetref


Drpddhr = (rrpddev / RHTCNV) * Dcstbtu * Pennet

SP_0030 629
9.167 Unhrrsf

9.167 Unhrrsf

The Unhrrsf algorithm calculates the heat rate deviation and the cost of deviation in $/hr for reheat
spray flow.

YES Units are Converted.

UNHRRSF

Parameters Description Usage

Analog Inputs

Rrscor pcnt ht rt corr reht spr fl REQUIRED

wdsrht reheat spray flow REQUIRED


wmnstm main steam flow REQUIRED
rhrnetref design net unit heat rate REQUIRED
Dcstbtu cost for fuel REQUIRED
Pennet net generation power REQUIRED
Digital Inputs
zdocalc Digital perf calc run flag REQUIRED
Analog Outputs

Rrsp pcnt of reht spr fl to thr fl [Optional]

rrsfdev reht spr flow unit ht rt dev [Optional]


Drsfdhr reht spr flow unit ht rt cost [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.167.1 Unhrrsf Calculation Overview

Unhrrsf calculates the heat rate deviation in Btu/Kwh and the cost of deviation in $/Hr for reheat
spray flow.

Calculate the reheat spray flow to throttle flow.

Rrsp = (wdsrht / wmnstm) * 100.0

Compute heat rate deviation in Btu/Kwh and cost of the deviation in $/Hr for the actual reheat
spray water flow.

rrsfdev = ((Rrscor / 100.0) * Rrsp) * rhrnetref


Drsfdhr = (rrsfdev / RHTCNV) * Dcstbtu * Pennet

630 SP_0030
9.168 Unhrrst

9.168 Unhrrst

The Unhrrst algorithm calculates the heat rate deviation for reheat steam temperature and the
cost of the deviation in $/hr.

YES Units are Converted.

UNHRRST

Parameters Description Usage

Analog Inputs

Fhrdrt ht rt fac-rht stm tmp off des REQUIRED

rhrnetref des net unit heat rate REQUIRED


Dcstbtu cost for fuel REQUIRED
Pennet net generation power REQUIRED

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

rrstdev reht spr temp unit ht rt dev [Optional]

Drsfdhr reht spr flow unit ht rt cost [Optional]


Digital Outputs

< NONE >

Constants

< NONE >

9.168.1 Unhrrst Calculation Overview

Unhrrst computes the unit heat rate deviation in Btu/Kwh and cost of the deviation in $/Hr for
reheat steam temperature.

rrstdev = (Fhrdrt - 1.0) * rhrnetref


Drstdhr = (rrstdev / RHTCNV) * Dcstbtu * Pennet

SP_0030 631
9.169 Unhrscah

9.169 Unhrscah

The Unhrscah algorithm calculates the heat rate deviation for the stm coil air htr and the cost of
the deviation.

YES Units are Converted.

UNHRSCAH

Parameters Description Usage

Analog Inputs

wmnscah main stm aux scah supply stm [Optional]

wexscah extration aux scah supply stm [Optional]

wscah total scah supply steam [Optional]

wblrstm boiler suprhtr out stm flow [Optional]

hscah aggregate scah supply stm enth [Optional]

hscahd aggrgat scah cond drain enth [Optional]

hmnscah main stm aux scah sup stm enth [Optional]

wmnstm turbine throttle steam flow [Optional]

pabsexstm abs extraction aux steam press [Optional]

hcycle final feedwater enthalpy [Optional]

rnrref reference net unit heat rate [Optional]

Dcstbtu cost per million btu's fuel [Optional]

Pennet net power output [Optional]

wexscahdes des extr scah stm supply [Optional]

wmnscahdes des high press scah stm supply [Optional]

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

Fmnscah relwt main stm aux scah s/stm [Optional]

Fexscah relwt extr aux stm scah s/stm [Optional]

wscahdes design scah supply steam flow [Optional]

rmnscahdev m/stm aux scah s/stm htrt dev [Optional]

Rexscah pct extr scah s/stm-throtflow [Optional]

Rexscahdes pctdes extrscah s/stm thrflow [Optional]

Frefcor fract corr at lwr flow in seg [Optional]

632 SP_0030
9.169 Unhrscah

UNHRSCAH

Parameters Description Usage

Fupcor fract corr at upr flow in seg [Optional]

Fexscahcor fract cor 1 pct aux extr s/stm [Optional]

rexscahdev extr auxstm scah s/stm hr dev [Optional]

rscdev tot scah heat rate dev credit [Optional]

Dscdhr cost scah heat rte dev credit [Optional]

warg throttle flow argument [Optional]

wref throttle flow lower bound [Optional]

wup throttle flow upper bound [Optional]

Digital Outputs

< NONE >

Constants

WVWO50 = WVWO75 = 2774.9325 WVWO = 3699.91


1849.955

9.169.1 Unhrscah Calculation Overview

Unhrscah calculates the unit heat rate deviation for the Steam Coil Air Heater (SCAH) in Btu/Kwh
and the cost of the deviations in $/Hr

Calculate main steam, extraction steam SCAH supply steam heat rate deviations, and sum to
compute total SCAH auxiliary steam credit if SCAH supply steam is present.

Calculate relative weight main steam (Fmnscah) and extraction (Fexscah) SCAH steam supplies

Fmnscah = wmnscah / wscah


Fexscah = wexscah / wscah

Calculate total design SCAH design steam flow

wscahdes = wmnscahdes + wexscahdes

Calculate main steam aux supply heat rate deviation by multiplying the difference between actual
and design main steam aux supply by the enthalpy difference between main steam aux supply
enthalpy and final feedwater enthalpy

rmnscahdev = (1000.0 * (wmnscah - wmnscahdes) * (hmnscah - hcycle)) / (Pennet * 1000.0)

SP_0030 633
9.169 Unhrscah

Calculate heat rate correction extraction SCAH supply steam from curve fit based on percent of
supply steam to throttle flow

Calculate % SCAH extraction (Rexscah) and design extraction (Rexscahdes) to throttle flow

Rexscah = (wexscah / wmnstm) * 100.0


Rexscahdes = (wexscahdes / wmnstm) * 100.0

Calculate correction at lower (Frefcor) and upper (Fupcor) flows in throttle flow segment. Force
throttle flow argument to be in range (wvwo50, wvwo).

Corrections are calculated as functions of absolute extraction steam pressure

Frefcor = 3.4995606e-01 + 4.1836239e-03 * pabsexstm -


9.2606423e-06 * pow(pabsexstm, 2.0);
Fupcor = 3.6801325e-01 + 2.2609470e-03 * pabsexstm -
2.2279854e-06 * pow(pabsexstm, 2.0);
wref = WVWO50;
wup = WVWO75;

If the throttle flow argument is in the 75% valves wide open throttle flow range,

Frefcor = 3.6801325e-01 + 2.2609470e-03 * pabsexstm -


2.2279854e-06 * pow(pabsexstm, 2.0);
Fupcor = 3.2663690e-01 + 1.9059240e-03 * pabsexstm -
1.6666667e-06 * pow(pabsexstm, 2.0);
wref = WVWO75;
wup = WVWO;

Compute fractional correction for 1% aux extraction SCAH supply steam at actual % valves wide
open throttle flow by linear interpolation

Fexscahcor = ((warg - wref) / (wup - wref)) * (Fupcor - Frefcor) + Frefcor

Calculate heat rate deviation for the actual amount of aux extraction SCAH supply steam

rexscahdev = (Fexscahcor / 100.0) * (Rexscah - Rexscahdes) * rnrref

Calculate steam coil air heater heat rate credit by adding main steam SCAH deviation
(rmnscahdev) and extraction steam SCAH deviation (rexscahdev)

rscdev = rmnscahdev + rexscahdev

Convert the heat rate credit to $/Hour

Dscdhr = ((rscdev / 1000000.0) * Dcstbtu) * Pennet * 1000.0

If the steam coil air heater is not in service all of the parameters are set to zero.

634 SP_0030
9.170 Unhrssf

9.170 Unhrssf

The Unhrssf algorithm calculates the heat rate deviation and the cost of deviation in $/hr for
superheat spray flow.

YES Units are Converted.

UNHRRSF

Parameters Description Usage

Analog Inputs

Rsscor pcnt ht rt corr reht supht fl REQUIRED

wdssht superheat spray flow REQUIRED


wmnstm main steam flow REQUIRED
rhrnetref des net unit heat rate REQUIRED
Dcstbtu cost of fuel REQUIRED
Pennet net generation power REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

Rssp pcnt sht spr fl/mn stm fl [Optional]

Rsspdes pcnt des sht spr fl/mn stm fl [Optional]


rssfdev sht spr fl unit heat rate dev [Optional]
Dssfdhr sht spr fl unit hr rt cost [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.170.1 Unhrssf Calculation Overview

The Unhrssf algorithm calculates the heat rate deviation in Btu/Kwh and the cost of deviation in
$/Hr for superheat spray flow.

Calculate the superheat spray flow to throttle flow.

Rssp = (wdssht / wmnstm) * 100.0


Rsspdes = (wdssdes / wmnstm) * 100.0

SP_0030 635
9.170 Unhrssf

Compute heat rate deviation in Btu/Kwh and cost of the deviation in $/Hr for the actual superheat
spray water flow.

rssfdev = ((Rsscor / 100.0) * (Rssp - Rsspdes)) * rhrnetref


Dssfdhr = (rssfdev / RHTCNV) * Dcstbtu * Pennet

636 SP_0030
9.171 Unhrtot

9.171 Unhrtot

The Unhrtot algorithm compute the total unit heat rate deviation in Btu/kWh and the cost of the
deviation in $/hr for all parameters.

YES Units are Converted.

UNHRTOT

Parameters Description Usage

Analog Inputs

rmstdev mn stm temp ht rt corr fact [Optional] Use if main steam


temp heat rate correction factor
is calculated
rrstdev reht stm temp unit hr ht dev [Optional] Use if reheat steam
temp heat rate correction factor
is used
rmspdev mn stm pres unit hr rt dev [Optional]

rssfdev supht spr flow unit hr rt dev [Optional] Use if superheat


spray flow heat rate correction
factor is calculated.
rrsfdev reht spray flow unit ht rt dev [Optional] Use if reheat spray
flow heat rate correction factor
is calculated
regtdev exit gas temp dev ht rt dev [Optional] Use if Exit gas temp
heat rate correction factor is
calculated.
ro2edev excess oxygen unit ht rt dev [Optional] Use if Exit oxygen
heat rate correction factor is
calculated.
rhpedev ht rt dev hp turb effic dev [Optional] Use if hp effic dev
heat rate correction factor is
calculated
ripedev ip turb effic unit ht rt dev [Optional] Use if ip effic dev
heat rate correction factor is
calculated.
rlpedev lp turb effic unit ht rt dev [Optional] Use if lp effic dev
heat rate correction factor is
calculated.
rstsdev aux power dev ht rt dev [Optional] Use if aux pwr dev
heat rate correction factor is
calculated.
raitdev air htr air in temp ht rt dev [Optional] Use if air htr air in
temp dev heat rate correction
factor is calculated.
rauxstmdev aux stm unit ht rt [Optional] Use if aux stm dev
heat rate correction factor is
calculated.

SP_0030 637
9.171 Unhrtot

UNHRTOT

Parameters Description Usage

rrpddev reht pres drop unit ht rt dev [Optional] Use if reheat


pressure drop heat rate
correction factor is calculated.
rcbpdev cond back pres unit ht rt dev [Optional] Use if cond back
pressure dev heat rate
correction factor is calculated.

rmkpdev makeup water unit ht rt dev [Optional] Use if makeup water


dev heat rate correction factor
is calculated.
rffwdev final fdwtr tmp unit ht rt dev [Optional] Use if final feedwater
temp dev heat rate correction
factor is calculated.

rcscdev cond subcool unit ht rt dev [Optional] Use if condenser


subcooling heat rate correction
factor is calculated.
Dcstbtu cost for heat rate dev REQUIRED

Pennet net power REQUIRED


rhrnet net unit heat rate [Optional]
rhrnetref design net unit heat rate [Optional]
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

runhrtotdev unit heat rate total dev [Optional]

Dunhrtot total unit heat rate cost [Optional]


runaccdev total unaccount ht rt dev [Optional]
Dunacchr unit ht rt unaccount loss cost [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

9.171.1 Unhrtot Calculation Overview

Unhrtot computes the total unit heat rate deviation in Btu/Kwh and cost of the deviation in $/Hr for
all the parameters.

runhrtotdev = rmstdev + rrstdev + rmspdev + rssfdev +


rrsfdev + regtdev + ro2edev + rhpedev + ripedev + rlpedev +

638 SP_0030
9.171 Unhrtot

rstsdev + raitdev + rauxstmdev + rrpddev +


rcbpdev + rmkpdev + rffwdev + rcscdev
Dunhrtot = (runhrtotdev / RHTCNV) * Dcstbtu * Pennet

Compute the total unaccounted unit heat rate deviation in Btu/Kwh and cost of the deviation in
$/Hr

runaccdev = rhrnet - rhrnetref - runhrtotdev


Dunacchr = (runaccdev / RHTCNV) * Dcstbtu * Pennet

SP_0030 639
9.172 Unhtrt

9.172 Unhtrt

The Unhtrt algorithm calculates the net unit heat rate of the plant as well as the gross and net unit
heat rate. The design gross and net unit heat rates are also calculated. Finally, the deviations for
the gross and net unit heat rates are calculated.

YES Units are Converted.

UNHTRT

Parameters Description Usage

Analog Inputs

qboilr boiler heat REQUIRED

Pmwatt generator power REQUIRED


ebleff boiler efficiency REQUIRED
Pnetpwr net power REQUIRED
rhrref reference net unit heat rate [Optional]
eblreffdes boiler design efficiency [Optional]
Pauxdes design auxiliary power REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

rhrgrs gross unit heat rate [Optional]

rhrnet net unit heat rate [Optional]


rhrgrsref design gross unit heat rate [Optional]
rhrnetref design net unit heat rate [Optional]
rgrsdev gross unit heat rate dev [Optional]
rnetdev net unit heat rate dev [Optional]
Dfactconv cost factor conv to US Dollars [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

640 SP_0030
9.172 Unhtrt

9.172.1 Unhtrt Calculation Overview

Unhtrt calculates the net unit heat rate of the plant as well as the gross net unit heat rate. The
design gross and net unit heat rates are also calculated. Finally, the deviations for the gross and
net unit heat rates are calculated.

Calculate gross unit heat rate in Btu/Kwh (rhrgrs) by dividing the heat created in the boiler by the
gross megawatts (Pmwatt) and dividing the result by the fractional heat loss boiler efficiency
(eblreff).

rhrgrs = qboilr * RHTCNV / (Pmwatt * eblreff * 0.01)

Compute net unit heat rate in Btu/Kwh (rhrnet) by dividing the heat created in the boiler by the net
megawatts (Pennet) and dividing the result by the fractional heat loss boiler efficiency (rblreff).

rhrnet = qboilr * RHTCNV / (Pnetpwr * eblreff * 0.01)

Compute design gross unit heat rate in Btu/Kwh (rhrgrsref) based on design turbine cycle heat
rate.

rhrgrsref = rhrref / (eblreffdes * 0.01)

Calculate design net unit heat rate in Btu/Kwh (rhrnetref) based on the design turbine cycle heat
rate.

rhrnetref = (rhrref / (eblreffdes * 0.01)) * (Pmwatt / (Pmwatt - Pauxdes))

Compute gross unit heat rate deviation in Btu/Kwh (rgrsdev) as the difference between the actual
(rhrgrs) and design gross (rhrgrsref) unit heat rates.

rgrsdev = rhrgrs - rhrgrsref

Compute net unit heat rate deviation (heat loss) in Btu/Kwh (rnetdev) as the difference between
the actual (rhrnet) and design net (rhrnetref) unit heat rates.

rnetdev = rhrnet - rhrnetref

SP_0030 641
9.173 Volflowgas

9.173 Volflow gas

The Volflowgas algorithm converts a mass gas flow to a volumetric flow.

YES Units are Converted.

VOLFLOWGAS

Parameters Description Usage

Analog Inputs

wmass mass gas flow REQUIRED

dfandens gas density REQUIRED


Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

wgvolume volumetric flow REQUIRED

Digital Outputs

< NONE >

Constants

< NONE >

9.173.1 Volflowgas Calculation Overview

Volflowgas converts a mass gas flow in kilopounds per hour to a volumetric flow in 1000 cubic
feet per minute.

The volumetric flow is calculated by:

wgvolume = (wmass * KLBtoLB) / (dfandens * MIN_TO_HOUR)

Where:

KLBtoLB = 1000lb/klb
MIN_TO_HOUR = 60 min/hour

642 SP_0030
9.174 Volflowliquid

9.174 Volflow liquid

The Volflowliquid algorithm converts a liquid mass flow to a volumetric flow.

YES Units are Converted.

VOLFLOWLIQUID

Parameters Description Usage

Analog Inputs

tempinlet inlet temperature REQUIRED

pressinlet inlet pressure REQUIRED

patmos atmospheric pressure REQUIRED

wmass mass flow REQUIRED

Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

pabssat saturated pressure [Optional]

pabsinlet inlet pressure absolute [Optional]

vinlet inlet specific volume [Optional]

dinlet inlet density [Optional]

Sspecgrav specific gravity [Optional]

wvolume volumetric flow [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 643
9.174 Volflowliquid

9.174.1 Volflowliquid Calculation Overview

The Volflowliquid algorithm converts a liquid mass flow in kilopounds per hour to a volumetric flow
in gallon per minute.

To determine if the point defined by pressure and temperature (pressinlet, tempinlet) is in the
saturated or compressed liquid region, calculate the saturation pressure (pabssat) at temperature
(tempinlet). If the pressure (pressinlet) is greater than the saturation pressure, the point is in the
compressed liquid region. Specific volume (vinlet) is calculated as a compressed liquid function
(vcltp) of pressure (pressinlet) and temperature (tempinlet).

Then:

vinlet = vcltp (tempinlet, pressinlet)

Otherwise, the point is in the saturated liquid region. Specific volume is calculated as a saturated
liquid function (vslt) of temperature. Then:

vinlet = vslt (tempinlet)

The density of the liquid (dinlet) is the inverse of specific volume. Then:

dinlet = 1.0/vinlet

Specific gravity (Sspecgrav) is the ratio of the density to the density of water at 60 degrees F
(DWATER = 62.3/.lb ft3) or dinlet divided by the amount of water.

Sspecgrav = dinlet/DWATER

Finally, the mass flow is converted to a volumetric flow by

wvolume = wmass/(MIN_TO_HOUR * GAL to KLB * Specgrav)

Where:

MIN_TO HOUR = 60 min/hour


GALtoKLB = 0.0083282966 klb/gal

644 SP_0030
9.175 Wexpan

9.175 Wexpan

The Wexpan algorithm computes used energy end point, expansion line end point, low pres
turbine last stage extraction flow and enthalpy, and last stage heater extraction flow and enthalpy
for Westinghouse steam turbo-generators in an iterative procedure using the GER2007C
expansion line equations and the Siemens Westinghouse recommendation that the line is
straight.

YES Units are Converted.

WEXPAN

Parameters Description Usage

Analog Inputs

pacnabslp lp cond back pressure REQUIRED

pacnabshp hp cond back pressure REQUIRED


hipbwl ip turbine bowl enthalpy REQUIRED
pipbwl ip turbine bowl pressure REQUIRED
patmos atmospheric pressure REQUIRED
witrex ip turb exhaust flow REQUIRED
wturblptot lp turb extr total flow REQUIRED
whpstm throttle steam flow REQUIRED
hhpstm throttle steam enthalpy REQUIRED
whrhip ip turb inlet stm flow REQUIRED
hhrhip ip turb inlet stm enth REQUIRED
wcrhte cold reheat flow REQUIRED
hcrhte cold reheat enth REQUIRED
qturbhp hp turb extr total heat REQUIRED
qturbip ip turb extr total heat REQUIRED
qturblp lp turb extr total heat REQUIRED
qleakoff total lkg heat [Optional]
qssrlkg heat tot lkg stm seal reg [Optional]
qgsclkg heat tot lkg gland stm cond [Optional]
qlpglndsply heat supply to lp turb glands [Optional]
textrlphtr lp heater extr temp REQUIRED
tsatlphtr lp htr saturation temp REQUIRED
pabsextrlphtr lp htr extr pressure REQUIRED
wflashsteam lp htr flash stm supply [Optional]
wdrnoutup upstrm htr drn flow to lp htr [Optional]
wcndea cond flow to deaerator REQUIRED

SP_0030 645
9.175 Wexpan

WEXPAN

Parameters Description Usage

hfhoutlphtr lp htr cond outlet enth REQUIRED


hfhinlphtr lp htr cond inlet enth REQUIRED
hdrnoutup upstrm htr drn enth to lp htr REQUIRED
hdrnoutlphtr lp htr drain outlet enth REQUIRED
hflashsteam lp htr flash stm enth [Optional]
pabsturblaststg lp turb last stage extr pres REQUIRED
wblstm blr superhtr out stm flow REQUIRED
Pshaft total shaft power REQUIRED
hfhoutup upstream htr cond outlet enth [Optional]
hfhinltup upstream htr cond inlet enth [Optional]
klphtrinsvca lp heater in svc a flag [Optional]
klphtrinsvcb lp htr in svc b flag [Optional]
klphtrinsvctot lp parallel heater in service total count [Optional]
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

zlpheater low pressure htr in-svc flag REQUIRED


zflashdrain lp htr flash steam drain flag [Optional]
zlpdrainpump lp htr drain pump in-svc flag [Optional]
zlpparallel lp parallel htr flag [Optional]
Analog Outputs

khzero expansion line curvature const [Optional]

kzero expansion line function const [Optional]


pacnabs avg lp turb exhaust pres [Optional]
vdrylp lp exh hood dry spec vol [Optional]
vdryhp hp exh hood dry spec vol [Optional]
pabsipbwl abs ip turb bowl press [Optional]
sipbwl ip turb bowl entropy [Optional]
wstmlaststg stm flow to last stage extr [Optional]
qsttot ht acquired by stm [Optional]
qsumext ht turb extrs excl last stg [Optional]
qleaks heat flow to glands [Optional]
qgen heat in generation [Optional]
hextrlphtr lp htr extr enthalpy [Optional]
hwtstm est lp htr extr enthalpy [Optional]

646 SP_0030
9.175 Wexpan

WEXPAN

Parameters Description Usage

wdrainin drain flow to lp htr [Optional]


wflashin flash stm drain to lp htr [Optional]
kcntlphtr overall iteration count [Optional]
wextrlphtr lp htr extr flow [Optional]
wdrnoutlphtr lp htr outlet drain flow [Optional]
wfhoutlphtr lp htr cond outlet flow [Optional]
wfhinlphtr lp htr cond inlet flow [Optional]
wturblaststg lp turb last stg extr flow [Optional]
hturblaststg lp turb last stg extr enth [Optional]
wltrex lp turb exhaust flow [Optional]
qext total heat in turb extrs [Optional]
qexhst net heat in lp turb exhaust [Optional]
hltrex lp turbine exhaust enthalpy [Optional]
hueep used energy end point [Optional]
helepes expan line end pt initial est [Optional]
helepe expan line end loop est [Optional]
kcount elep iteration count [Optional]
Fltrex expan line end point stm qual [Optional]
Rmstrex expan line end point moisture [Optional]
vcnprslp lp exhaust hood spec volume [Optional]
wvolexhstlp lp hood exh flow per end [Optional]
hexlsslp lp hood exhaust loss [Optional]
vcnprshp hp exhaust hood spec volume [Optional]
wvolexhsthp hp hood exhaust flow per end [Optional]
hexlsshp hp hood exhaust loss [Optional]
hexlss average exhaust loss [Optional]
helep expan line end point [Optional]
selep expan line end point entropy [Optional]
krzexpn rzero exponent [Optional]
krzero expan line entropy equ const [Optional]
hnew last stg extr enth initial est [Optional]
hest last stg extr est enth [Optional]
stemp last stg extr est entropy [Optional]
sest last stg extr est entropy [Optional]

ksxexpn entropy coordinate exponent [Optional]

SP_0030 647
9.175 Wexpan

WEXPAN

Parameters Description Usage

sxline expan line entropy coordinate [Optional]


wextrlphtra lp htr a extr flow [Optional]
wextrlphtrb lp htr b extr flow [Optional]
wdrnoutlphtra lp htr a drn flow [Optional]
wdrnoutlphtrb lp htr b drn flow [Optional]
wfhoutlphtra lp htr a cond outlet flow [Optional]
wfhoutlphtrb lp htr b cond outlet flow [Optional]
wfhinlphtra lp htr a cond inlet flow [Optional]
wfhinlphtrb lp htr b cond inlet flow [Optional]
hextrlphtra lp htr a extr enth [Optional]
hextrlphtrb lp htr b extr enthm [Optional]
klphtrinsvctot lp htr tot in svc htrs [Optional]
Digital Outputs

zerrflag error flag [Optional]

Constants

hdelta 25.0

WVSEG0 110.0
WVSEG1 160.0
WVSEG2 260.0
WVSEG3 360.0
WVSEG4 520.0
WVSEG5 520.0
lpturbends 4.0
exloss1 [4] 57.958544, -1.3774511, 0.012635167, -4.0471311e-05
exloss2 [4] 17.419598, -0.25917085, 0.0013693467, 0.0
exloss3 [4] -18.55, 0.1630571, 0.00013392857, 0.0
exloss4 [4] -169.65873, 1.5955026, -0.0041911683, 4.0509259e-06
exloss5 [4] -90.905844, 0.73675144, -0.0012391775, 7.8914141e-07
exloss6 [4] -90.905844, 0.73675144, -0.0012391775, 7.8914141e-07

648 SP_0030
9.175 Wexpan

9.175.1 Wexpan Calculation Overview

The Wexpan algorithm calculates the extraction, drain, outlet and inlet flows for the lp parallel
heaters, (if there are any), based on whether the heaters are in service or not in service.

Zero the function error flag

zerrflag = 0;

Set expansion line curvature constant (khzero) to 1500 to designate a straight line

khzero = 1500.0;

Calculate expansion line function constant based on curvature (khzero)

kzero = pow(10.0 - khzero / 371.0);

Calculate average condenser back pressure (pacnprs). this is low pressure turbine exhaust
pressure. Convert to psia.

pacnabs = (pacnabslp + pacnabshp) / 2.0;

Calculate dry specific volume at exhaust pressure of each low pressure turbine

vdrylp = vsvp(pacnabslp);
vdryhp = vsvp(pacnabshp);

Calculate reheat turbine bowl enthalpy (sipbwl)

pabsipbwl = pipbwl + patmos;


sipbwl = sswhp(hipbwl, pabsipbwl);

Calculate steam flow to lp turbine last stage by subtracting lp turbine extractions from crossover
flow (witrex)

wstmlaststg = witrex - wturblptot;

Calculate heat acquired by steam (qsttot) by calculating a steam heat balance around the turbine

qsttot = (whpstm * hhpstm + whrhip * hhrhip - wcrhte * hcrhte) / RHTCNV=1000;

Calculate heat in turbine extractions, excluding lp turbine last stage, by summing the product of
flow and enthalpy for each turbine stage extraction

qsumext = qturbhp + qturbip + qturblp + qleakoff;

Calculate heat flow to glands - the total heat supplied to the steam seal regulator & gland steam
condenser minus lp gland supply.

qleaks = qssrlkg + qgsclkg - qlpglndsply;

Calculate total heat in energy generation including losses

qgen = Pshaft * PENCNV=3412.142 / RHTCNV=1000;

SP_0030 649
9.175 Wexpan

Low pressure heater in-service if status flag zlpheater set

if (zlpheater > 0)

Heater in-service, extraction steam superheated. Otherwise, the steam is wet. Calculate
degrees superheat (tshtlphtr) as the difference between the measured heater extraction steam
temp (textrlphtr) and the heater saturation temp (tsatlphtr) and test for superheated steam.

if (textrlphtr > tsatlphtr)

Superheated steam. calculate enthalpy directly as function of temp and absolute pressure
hextrlphtr = hsstp(textrlphtr, pabsextrlphtr);

else

Wet steam, estimate extraction enthalpy as saturated steam function of pressure

hextrlphtr = hsvp(pabsextrlphtr);

Preset current estimate of lp heater extraction enthalpy (hwtstm)

hwtstm = 10000.0;

If flash tank present (flag zflashdrain set true) updteam heater drain goes to flash tank, and lp
heater inlet drain flow argument is set to zero. If a flash tank is not present, the inlet drain flow
argument is set to the upstream drain flow (wdrnoutup). The flash steam flow argument is
zeroed if a flash tank is not present.

if (zflashdrain > 0)

wflashin = wflashsteam;

else

wdrainin = wdrnoutup;

Start of overall iterative loop. If lp heater in service both the heater extraction enthalpy (hextrlphtr)
and estimated enthapy (hnew) are recalculated during the iterative procedure. Iterate until the
absolute difference between hfhelphtr and hnew is <= 0.1 btu/lb, or the number of iterations is
exceeded. Zero overall iteration counter.

kcntlphtr = 0.0;
while ((fabs(hextrlphtr - hwtstm) > 0.1) && (kcntlphtr <= 30))

Increment number iterations

kcntlphtr = kcntlphtr + 1.0;

Bypass lp heater, last stage extraction calculations if heater not in-service

if (zlpheater > 0)

Heater in service, calculate lp heater and lp turbine last stage extraction flow and enthalpy.
Update current estimate of lp heater extraction enthalpy.

hwtstm = hextrlphtr;

650 SP_0030
9.175 Wexpan

Low pressure heater drain pump present and in service if flag zlpdrainpump set

if (zlpdrainpump > 0)

Drain pump present and in service. Low pressure heater drain pumped forward into condensate
before upstream heater. Calculate extraction steam flow at heater shell (wextrlphtr) by
performing a heat balance.

Calculate drain flow (wdrnoutlphtr). No flash tank if drain pumped forward.

wextrlphtr = ((wcndea - wdrnoutup) * (hfhoutlphtr - hfhinlphtr) -


(hdrnoutup - hdrnoutlphtr) * wdrainin) /((hextrlphtr - hdrnoutlphtr) + (hfhoutlphtr - hfhinlphtr));
wdrnoutlphtr = wextrlphtr + wdrainin;

Calculate flow leaving heater (wfhoutltlphtr) by subtracting drain flow

pumped forward (wdrnoutlplphtr) from condensate flow (wcndea). Set heater inlet flow to outlet
flow

wfhoutlphtr = wcndea - wdrnoutlphtr;


wfhinlphtr = wfhoutlphtr;

else

Heater drain flows to condenser hotwell. Flow through heater is condensate flow to deaerator
(wcndea).

Calculate extraction flow at heater shell from heat balance, and calculate drain flow.

wextrlphtr = ((hfhoutlphtr - hfhinlphtr) * wcndea - (hdrnoutup - hdrnoutlphtr) * wdrainin


-(hflashsteam - hdrnoutlphtr) * wflashin) /(hextrlphtr - hdrnoutlphtr);
wdrnoutlphtr = wextrlphtr + wdrainin;

Set condensate flows into and out of heater to condensate flow to deaerator.

wfhoutlphtr = wcndea;
wfhinlphtr = wcndea;

Set conditions at turbine (wturblaststg, hturblaststg) to flow and enthalpy

at heater shell. there is no leakage to extraction line.

wturblaststg = wextrlphtr;
hturblaststg = hextrlphtr;

Calculate low pressure turbine exhaust flow (wltrex) by subtracting calculated

lp turbine last stage extraction flow (wturblaststg) from steam flow to last stage (wstmlaststg).

wltrex = wstmlaststg - wturblaststg;

SP_0030 651
9.175 Wexpan

Calculate used energy end point (low pressure turbine exhaust enthalpy) by conducting a thermal
and electrical energy balance around the whole turbine to establish the net heat flow to the
condenser and the dividing by the net steam flow to the condenser which is the low pressure
turbine exhaust flow.

Net heat flow to the condenser comprised of the following elements - net heat acquired by both
superheated and reheated steam supplied to turbine (qsttot)

heat in turbine extractions (qext)


heat flow to glands (qleaks)
equivalent heat in gross electrical load including all losses (qgen)

Total heat in turbine stage extractions (qext) by summing the heat in previous extractions
(sumext) to the heat in the number 7 extraction

qext = qsumext + (wturblaststg * hturblaststg) / RHTCNV;

Calculate net heat in low pressure turbine exhaust (qexhst) by subtracting heat in turbine stage
extractions (qext), heat flow to glands (qleaks) and generation energy (qgen) from net heat
acquired (qsttot).

qexhst = qsttot - qext - qleaks - qgen;

Calculate low pressure turbine exhaust enthalpy (hltrex) by dividing net heat in exhaust (qexhst)
by exhaust steam flow (wltrex). Set used energy end point (ueep) to exhaust enthalpy (hltrex).
this is average used energy end point of both low turbines.

hltrex = (qexhst / wltrex) * RHTCNV=1000;


hueep = hltrex;

The exhaust loss and expansion line end point are calculated by an iterative procedure because
the moisture at the expansion line end point has to be known to calculate exhaust loss. Once the
expansion line end point has converged, an expansion is projected from the expansion line point
to the stauration line. The lp turbine last stage extraction enthalpy is initially assumed to be
saturated, and is calculated using an expansion line swing method.

Calculate initial expansion line end point estimate (helepes) by subtracting constant enthalpy drop
(hdelta = 25 btu/lb) from used energy end point (hueep)

helepes = hueep - hdelta;

Calculate expansion line end point (helepe) by iterative procedure until elep and estimated elep
(helepes) within 0.1 btu/lb. do not exceed 30 ierations.

Preset estimated elep (helepe) and number iterations (count)

helepe = 10000.0;
kcount = 0;

while ((fabs(helepe - helepes) > 0.1) && (kcount <= 30.0))

Increment number iterations. reset estimated elep (helepe) to new calculated value (helepes)

kcount = kcount + 1.0;


helepe = helepes;

652 SP_0030
9.175 Wexpan

Calculate quality of the steam (qltrex) at estimated expansion line end point (helepe) and average
turbine exhaust pressure (pacnabs)

Fltrex = xswhp(helepe, pacnabs);

Calculate percent moisture (Rmstrex)

Rmstrex = 100.0 * (1.0 - Fltrex);

Calculate low pressure exhaust hood specific volume of exhaust steam (vcnprslp) by multiplying
dry specific volume (vdrylp) by the moisture factor

vcnprslp = vdrylp * (1.0 - 0.01 * Rmstrex);

Calculate lp hood exhaust loss per end. assume total exhaust loss equally divide between lp and
hp hoods. there are lpturbends / 2 per hood.

wvolexhstlp = (0.5 * wltrex * vcnprslp / (lpturbends * 0.5)) * (1.0 / RHTCNV);

Calculate lp hood exhaust loss (hexlsslp) as function of lp hood exhaust vol flow per end
(wvolexhstlp) based on Westinghouse exhaust loss curve.

if (wvolexhstlp <= WVSEG0)

hexlsslp = exloss1[0] + exloss1[1] * wvolexhstlp + exloss1[2] *pow(wvolexhstlp, 2.0) +


exloss1[3] * pow(wvolexhstlp, 3.0);

else

if (wvolexhstlp <= WVSEG1)

hexlsslp = exloss2[0] + exloss2[1] * wvolexhstlp + exloss2[2] *pow(wvolexhstlp, 2.0) +


exloss2[3] * pow(wvolexhstlp, 3.0);

else

if (wvolexhstlp <= WVSEG2)

hexlsslp = exloss3[0] + exloss3[1] * wvolexhstlp + exloss3[2] *pow(wvolexhstlp, 2.0) +


exloss3[3] * pow(wvolexhstlp, 3.0);

else

if (wvolexhstlp <= WVSEG3)

hexlsslp = exloss4[0] + exloss4[1] * wvolexhstlp + exloss4[2] *pow(wvolexhstlp, 2.0) +


exloss4[3] * pow(wvolexhstlp, 3.0);

else

if (wvolexhstlp <= WVSEG4)

hexlsslp = exloss5[0] + exloss5[1] * wvolexhstlp + exloss5[2] *pow(wvolexhstlp, 2.0) +


exloss5[3] * pow(wvolexhstlp, 3.0);

else

hexlsslp = exloss6[0] + exloss6[1] * wvolexhstlp + exloss6[2] *pow(wvolexhstlp, 2.0) +


exloss6[3] * pow(wvolexhstlp, 3.0);

SP_0030 653
9.175 Wexpan

Calculate high pressure exhaust hood specific volume of exhaust steam (vcnprshp) by multiplying
dry specific volume (vdryhp) by the moisture factor

vcnprshp = vdryhp * (1.0 - 0.01 * Rmstrex);

Calculate hp hood exhaust loss per end. assume total exhaust loss equally divided between lp
and hp hoods. there are lpturbends / 2 per hood.

wvolexhsthp = (0.5 * wltrex * vcnprshp / (lpturbends * 0.5)) * (1.0 / RHTCNV);

Calculate hp hood exhaust loss (hexlsshp) as function of hp hood exhaust vol flow per end
(wvolexhsthp) based on Westinghouse exhaust loss curve

if (wvolexhsthp <= WVSEG0)

hexlsshp = exloss1[0] + exloss1[1] * wvolexhsthp + exloss1[2] *pow(wvolexhsthp, 2.0) +


exloss1[3] * pow(wvolexhsthp, 3.0);

else

if (wvolexhsthp <= WVSEG1)

hexlsshp = exloss2[0] + exloss2[1] * wvolexhsthp + exloss2[2] *pow(wvolexhsthp, 2.0) +


exloss2[3] * pow(wvolexhsthp, 3.0);

else

if (wvolexhsthp <= WVSEG2)

hexlsshp = exloss3[0] + exloss3[1] * wvolexhsthp + exloss3[2] *pow(wvolexhsthp, 2.0) +


exloss3[3] * pow(wvolexhsthp, 3.0);

else

if (wvolexhsthp <= WVSEG3)

hexlsshp = exloss4[0] + exloss4[1] * wvolexhsthp + exloss4[2] *pow(wvolexhsthp, 2.0) +


exloss4[3] * pow(wvolexhsthp, 3.0);

else

if (wvolexhsthp <= WVSEG4)

hexlsshp = exloss5[0] + exloss5[1] * wvolexhsthp + exloss5[2] *pow(wvolexhsthp, 2.0) +


exloss5[3] * pow(wvolexhsthp, 3.0);

else

hexlsshp = exloss6[0] + exloss6[1] * wvolexhsthp + exloss6[2] *pow(wvolexhsthp, 2.0) +


exloss6[3] * pow(wvolexhstlp, 3.0);

Calculate average exhaust loss

hexlss = (hexlsslp + hexlsshp) / 2.0;

Calculate new expansion line endpoint (elepes) as function used energy end point (ueep),
exhaust loss (hexlss) and percent moisture (Rmstrex) per Westinghouse definition

helepes = hueep - hexlss * (1.0 - 0.01 * Rmstrex);

654 SP_0030
9.175 Wexpan

Set expansion line end point (helep) to final calculated estimate (helepes), set error flag (errflg) if
no convergence. This is average expansion line end point for both low pressure turbines.

helep = helepes;

if ((kcount > 30.0) || (textrlphtr > tsatlphtr) || (zlpheater == 0))

if (kcount > 30.0)


zerrflag = 1;
break;

Calculate entropy, enthalpy coordinates on the expansion line in the wet region at the last stage
extraction pres (pabsturblaststg) using expansion line equation in GER2007C. the lp heater, last
stage extraction, low pressure turbine exhaust flow, used energy end point and expansion line
end point calculations are repeated using the new lp heater extraction enthalpy until the estimated
and calculated extraction enthalpies agree within 0.1 btu/lb.

Calculate the entropy (selep) at the calculate expansion line end point (helep) and turbine exhaust
pressure (pacnabs).

selep = sswhp(helep, pacnabs);

Calculate the GER2007C rzero term. first calculate required exponent (krzexpn).khzero is
expansion line curvature constant.

krzexpn = (helep - (hipbwl + khzero)) / 371.0;


krzero = ((sipbwl - selep) + kzero - pow(10.0, krzexpn)) / (hipbwl - helep);

For first pass assume initial estimate (hnew) of last stage extraction enthalpy is saturated steam
function of extraction pressure (pabsturblaststg)

hnew = hsvp(pabsturblaststg);

Set current enthalpy estimate (hest) to new calculated value hnew.

hest = hnew;

Calculate entropy (sest) at estimated extraction enthalpy (hest) and last stage extraction pressure
(pabsturblaststg). Test for error condition if subccooled enthalpy return. In this case, set error flag
and exit the function.

stemp = sswhp(hest, pabsturblaststg);

if (stemp < 1.0)

zerrflag = 1;
break;

else

sest = stemp;

Calculate entropy coordinate on expansion line (sxline) at estimated enthalpy(hest) per


GER2007C. Calculate required exponent (sxexpn).

ksxexpn = (helep - (hest + khzero)) / 371.0;


sxline = pow(10.0, ksxexpn) + krzero * (hest - helep) + selep - kzero;

SP_0030 655
9.175 Wexpan

Calculate new last stage extraction enthalpy (hnew) by adding the product of the expansion line
curvature (hzero) times the difference between the expansion line entropy (sxline) and estimated
last stage extraction entropy (sest) to the current estimated extraction enthalpy (hest)

hnew = hest + khzero * (sxline - sest);

Convergence. Calculate overall iterative loop result - heater 7 extraction enthalpy (hextrlp) and
number 7 extraction enthalpy (hturb7) - to the converged value hnew

hextrlphtr = hnew;
hturblaststg = hnew;

if (kcntlphtr > 30.0)

zerrflag = 1;

For parallel heaters calculate a,b parameters. we are assuming the total last stage extraction flow
is equally divided between the two heaters.

if (zlpparallel > 0)

wextrlphtra = 0.5 * wextrlphtr;


wextrlphtrb = wextrlphtra;
wdrnoutlphtra = 0.5 * wdrnoutlphtr;
wdrnoutlphtrb = wdrnoutlphtra;
wfhoutlphtra = 0.5 * wfhoutlphtr;
wfhoutlphtrb = wfhoutlphtra;
fhinlphtra = 0.5 * wfhinlphtr;
fhinlphtrb = wfhinlphtra;
hextrlphtra = hextrlphtr;
hextrlphtrb = hextrlphtr;

656 SP_0030
9.176 Wmncor

9.176 Wmncor

The Wmncor algorithm calculates the deviation between corrected and reference throttle flows.

YES Units are Converted.

WMNCOR

Parameters Description Usage

Analog Inputs

wmnstm throttle steam flow REQUIRED

wmnref throttle steam reference flow [Optional]


kfact throttle flow conv factor REQUIRED
Digital Inputs

zdocalc Digital perf calc run flag REQUIRED

Analog Outputs

wmncor corrected throttle flow [Optional]

wmndev main steam flow deviation [Optional]


Digital Outputs

< NONE >

Constants

< NONE >

9.176.1 Wmncor Calculation Overview

Corrected throttle steam flow is calculated by multiplying the calculated throttle flow (wmnstm) by
the calculated throttle flow correction factor (kfact). Then

wmncor = wmnstm * kfact

The deviation between corrected and reference throttle flows is:

wmndev = wmncor - wmnref

SP_0030 657
S E C T I O N 10

Steamtable algorithms

IN THIS SECTION

CLTEST ........................................................................................................................... 660


Hclsp ............................................................................................................................... 661
Hclsp_chk ........................................................................................................................ 662
Hcltp ................................................................................................................................ 663
Hcltp_chk ......................................................................................................................... 664
Hichpp ............................................................................................................................. 665
Hichpp_chk ...................................................................................................................... 666
Hictpp .............................................................................................................................. 667
Hishpp ............................................................................................................................. 668
Histpp .............................................................................................................................. 669
Hslp ................................................................................................................................. 670
Hslp_chk .......................................................................................................................... 671
Hslt .................................................................................................................................. 672
Hslt_chk ........................................................................................................................... 673
Hsstp ............................................................................................................................... 674
Hsstp_chk ........................................................................................................................ 675
Hsvp ................................................................................................................................ 676
Hswsp .............................................................................................................................. 677
Pslt .................................................................................................................................. 678
Psvs ................................................................................................................................. 679
Sclhp ............................................................................................................................... 680
Scltp ................................................................................................................................ 681
Sslp ................................................................................................................................. 682
Sslt .................................................................................................................................. 683
Ssstp ............................................................................................................................... 684
Ssvp ................................................................................................................................ 685
Sswhp .............................................................................................................................. 686
Tclhp ................................................................................................................................ 687
Tslp .................................................................................................................................. 688
Tslqh ................................................................................................................................ 689
Tswhp .............................................................................................................................. 690
Tswsp .............................................................................................................................. 691
Vcltp ................................................................................................................................ 692
Vslt .................................................................................................................................. 693
Vsstp ............................................................................................................................... 694
Vsvp ................................................................................................................................ 695
Vswhp .............................................................................................................................. 696
Vswsp .............................................................................................................................. 697
Xswsp .............................................................................................................................. 698
Xswhp .............................................................................................................................. 699

SP_0030 659
10.1 CLTEST

10.1 CLTEST

The CLTEST algorithm calculates an enthalpy based on temperature and/or pressure. This
algorithm checks to see if the compressed liquid steam table or the saturated liquid steam table
should be called. The enthalpy is calculated accordingly.

NO Units are Converted.

CLTEST

Parameters Description Usage

Analog Inputs

press pressure REQUIRED

temp temperature REQUIRED


patmos atmospheric press REQUIRED
Digital Inputs

zdocalc digital run flag REQUIRED

Analog Outputs

psatpress saturated pressure [Optional]

pabspress absolute pressure [Optional]


henth enthalpy [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

660 SP_0030
10.2 Hclsp

10.2 Hclsp

Hclsp calculates compressed liquid enthalpy given entropy and absolute pressure.

HCLSP

Parameters Description Usage

Analog Inputs

scliquid inlet entropy REQUIRED

pabsbaro barometric pressure REQUIRED


presg inlet gauge pressure REQUIRED
Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]


henthal compressed liquid enthalpy [Optional]
Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 661
10.3 Hclsp_chk

10.3 Hclsp_chk

Hclsp_chk checks input value and if above limit call steam table.

HCLSP_CHK

Parameters Description Usage

Analog Inputs

scliquid inlet entropy REQUIRED

pabsbaro barometric pressure REQUIRED


presg inlet gauge pressure REQUIRED
kinvalue input value to check for limit REQUIRED

kptlimit point limit Optional


Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]


henthal compressed liquid enthalpy [Optional]
Digital Outputs

< NONE >

Constants

kclimit = 0.0 REQUIRED

662 SP_0030
10.4 Hcltp

10.4 Hcltp

Hcltp calculates compressed liquid enthalpy given temperature and absolute pressure.

HCLTP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

temp inlet temperature REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

hcliquid compressed liquid enthalpy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 663
10.5 Hcltp_chk

10.5 Hcltp_chk

If input value above limit, call hcltp. Otherwise, set the enthalpy to 0.

HCLTP_CHK

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

temp inlet temperature REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

kptlimit point value limit Optional

kinvalue input value to check limit REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

hcliquid compressed liquid enthalpy [Optional]

Digital Outputs

< NONE >

Constants

kclimit = 0.0

664 SP_0030
10.6 Hichpp

10.6 Hichpp

Hichpp calculates enthalpy of the outlet of an isentropic process given inlet pressure, exit
absolute pressures and inlet enthalpy in compressed liquid region.

HICHPP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

hin inlet enthalpy REQUIRED

pabsbaro barometric pressure REQUIRED

presg1 inlet gauge pressure 1 REQUIRED

presg2 inlet gauge pressure 2 REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs 1 absolute pressure 1 [Optional]

pabs 2 absolute pressure 2 [Optional]

henthal enthalpy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 665
10.7 Hichpp_chk

10.7 Hichpp_chk

If input value above limit, calculate enthalpy. Otherwise, set enthalpy to 0.

HICHPP_CHK

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

hin inlet enthalpy REQUIRED

pabsbaro barometric pressure REQUIRED

presg1 inlet gauge pressure 1 REQUIRED

presg2 inlet gauge pressure 2 REQUIRED

kptlimit point limit Optional

kinvalue input value to check limit REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs 1 absolute pressure 1 [Optional]

pabs 2 absolute pressure 2 [Optional]

henthal enthalpy [Optional]

Digital Outputs

< NONE >

Constants

kclimit = 0.0

666 SP_0030
10.8 Hictpp

10.8 Hictpp

Hictpp calculates enthalpy of isentropic rise from conditions t1, p1 to pressure p2 in compressed
liquid region.

HICTPP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

temp inlet enthalpy REQUIRED

pabsbaro barometric pressure REQUIRED

presg1 inlet gauge pressure 1 REQUIRED

presg2 inlet gauge pressure 2 REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs 1 absolute pressure 1 [Optional]

pabs 2 absolute pressure 2 [Optional]

henthal enthalpy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 667
10.9 Hishpp

10.9 Hishpp

Hishpp calculates enthalpy of outlet of an isentropic process given inlet pressure, exit absolute
pressure and inlet enthalpy in superheated or wet steam regions.

HISHPP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

hinthal inlet enthalpy REQUIRED

pabsbaro barometric pressure REQUIRED

presg1 inlet gauge pressure 1 REQUIRED

presg2 inlet gauge pressure 2 REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs 1 absolute pressure 1 [Optional]

pabs 2 absolute pressure 2 [Optional]

hisentropic isentropic enthalpy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

668 SP_0030
10.10 Histpp

10.10 Histpp

Histpp calculates enthalpy of an isentropic drop from conditions t1, p1, down to pressure p2.

HISTPP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

temp inlet temperature REQUIRED

pabsbaro barometric pressure REQUIRED

presg1 inlet gauge pressure 1 REQUIRED

presg2 inlet gauge pressure 2 REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs 1 absolute pressure 1 [Optional]

pabs 2 absolute pressure 2 [Optional]

hisentropic isentropic enthalpy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 669
10.11 Hslp

10.11 Hslp

Hslp calculates saturated liquid enthalpy, given absolute pressure.

HSLP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

hsat saturation enthalpy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

670 SP_0030
10.12 Hslp_chk

10.12 Hslp_chk

If input value above limit, calculate enthalpy. Otherwise, set to 0.

HSLP_CHK

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

kptlimit point limit Optional

kinvalue input value to check limit REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

hsat saturated enthalpy [Optional]

Digital Outputs

< NONE >

Constants

kclimit = 0.0

SP_0030 671
10.13 Hslt

10.13 Hslt

Hslt calculates saturated liquid enthalpy, given temperature.

HSLT

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

temp inlet temperature REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

hsat saturation enthalpy REQUIRED

Digital Outputs

< NONE >

Constants

< NONE >

672 SP_0030
10.14 Hslt_chk

10.14 Hslt_chk

If input value above limit, calculate enthalpy. Otherwise, set enthalpy to 0.

HSLT_CHK

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

temp inlet temperature REQUIRED

kptlimit point limit Optional

kinvalue input value to check limit REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

hsat saturation enthalpy REQUIRED

Digital Outputs

< NONE >

Constants

kclimit = 0.0

SP_0030 673
10.15 Hsstp

10.15 Hsstp

Hsstp calculates superheated steam enthalpy, given temperature and absolute pressure.

HSSTP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

temp inlet temperture REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

hssteam superheated steam enthalpy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

674 SP_0030
10.16 Hsstp_chk

10.16 Hsstp_chk

If input value above limit, call hsstp. Otherwise, set the enthalpy to 0.

HSSTP_CHK

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

temp inlet temperature REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

kptlimit point limit information Optional

kinvalue input value to check limit REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

hssteam superheated steam enthalpy [Optional]

Digital Outputs

< NONE >

Constants

kclimit = 0.0

SP_0030 675
10.17 Hsvp

10.17 Hsvp

Hsvp is the calculated saturated vapor enthalpy, given absolute pressure.

HSVP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

hsvap saturated vapor enthalpy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

676 SP_0030
10.18 Hswsp

10.18 Hsw sp

Hswsp calculates steam enthalpy, given entropy and absolute pressure of superheated or wet
steam.

HSWSP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

sentropy entrophy REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

hsw enthalpy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 677
10.19 Pslt

10.19 Pslt

Pslt is the calculated saturated liquid pressure, given temperature.

PSLT

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

temp inlet temperature REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

pabssat saturated pressure REQUIRED

Digital Outputs

< NONE >

Constants

< NONE >

678 SP_0030
10.20 Psvs

10.20 Psvs

Psvs calculates pressure of saturated pressure given enthropy.

PSVS

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

sentropy entropy REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

pabssat absolute pressure of the saturated liquid REQUIRED

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 679
10.21 Sclhp

10.21 Sclhp

Sclhp calculate compressed liquid entropy, given enthalpy and absolute pressure.

SCLHP

Parameters Description Usage

Analog Inputs

henthal inlet enthalpy REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

scliquid compressed liquid entropy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

680 SP_0030
10.22 Scltp

10.22 Scltp

Scltp calculates compressed liquid entropy, given temperature and absolute pressure.

SCLTP

Parameters Description Usage

Analog Inputs

temp inlet temperture REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

scliquid compressed liquid entropy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 681
10.23 Sslp

10.23 Sslp

Sslp calculates saturated liquid entropy, given absolute pressure.

SSLP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

ssat saturated entropy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

682 SP_0030
10.24 Sslt

10.24 Sslt

Sslt calculate saturated liquid entropy, given temperature.

SSLT

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

temp inlet temperture REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

ssat saturated entropy REQUIRED

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 683
10.25 Ssstp

10.25 Ssstp

Ssstp calculates superheated steam entropy, given temperature and absolute pressure.

SSSTP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

temp inlet temperture REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

sssteam superheated steam entropy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

684 SP_0030
10.26 Ssvp

10.26 Ssvp

Ssvp calculates entropy, given absolute pressure.

SSVP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

svap calculates entropy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 685
10.27 Sswhp

10.27 Ssw hp

Sswhp calculates steam entropy, given enthalpy and absolute pressure of superheated or wet
steam.

SSWHP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

henthal inlet enthalpy REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

ssw entropy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

686 SP_0030
10.28 Tclhp

10.28 Tclhp

Tclhp calculates compressed liquid temperature given enthalpy and absolute pressure.

TCLHP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

henthal inlet enthalpy REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

temp temperature [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 687
10.29 Tslp

10.29 Tslp

Tslp calculates saturated liquid temperature, given absolute pressure.

TSLP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

tsat saturation temperature [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

688 SP_0030
10.30 Tslqh

10.30 Tslqh

Tslqh calculates saturated liquid temp given enthalpy.

TSLQH

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

henthal inlet enthalpy REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

temp outlet temperature REQUIRED

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 689
10.31 Tswhp

10.31 Tsw hp

Tswhp calculates steam temperature, given entropy and absolute pressure of superheated or wet
steam.

TSWHP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

henthal inlet enthalpy REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

temp outlet temperature [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

690 SP_0030
10.32 Tswsp

10.32 Tsw sp

Tswsp calculates steam temperature, given entropy and absolute pressure of superheated or wet
steam.

TSWSP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

sentropy entropy REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

temp temperature [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 691
10.33 Vcltp

10.33 Vcltp

Vcltp calculates compressed liquid specific volume, given temperature and absolute pressure.

VCLTP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

temp inlet temperture REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

vcliquid compressed liquid volume [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

692 SP_0030
10.34 Vslt

10.34 Vslt

Vslt calculates saturated liquid specific volume given temperature.

VSLT

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

temp inlet temperture REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

vsat saturated volume REQUIRED

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 693
10.35 Vsstp

10.35 Vsstp

Vsstp calculates superheated steam specific volume, given temperature and absolute pressure.

VSSTP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

temp inlet temperture REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

vssteam superheated steam volume [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

694 SP_0030
10.36 Vsvp

10.36 Vsvp

Vsvp calculates saturated vapor specific volume, given absolute pressure.

VSVP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

vsvap saturated vapor volume [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 695
10.37 Vswhp

10.37 Vsw hp

Vswhp calculates steam specific volume, given enthalpy and absolute pressure of superheated or
wet steam.

VSWHP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

henthal inlet enthalpy REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

vsw superheated steam volume [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

696 SP_0030
10.38 Vswsp

10.38 Vsw sp

Vswsp calculates steam specific volume, given entropy and absolute pressure of superheated or
wet steam.

VSWSP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

sentropy entropy REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

vsw volume [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 697
10.39 Xswsp

10.39 Xsw sp

Xswsp calculates steam quality, given entropy and absolute pressure of superheated or wet
steam.

XSWSP

PARAME TE RS DESCRIPTION USAGE

Analog Inputs

sentropy entropy REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

kqual quality [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

698 SP_0030
10.40 Xswhp

10.40 Xsw hp

Xswhp calculates steam quality, given entropy and absolute pressure of superheated or wet
steam.

XSWHP

PARAME TE RS DESCRIPTION USAGE

Analog Intputs

henthal inlet enthalpy REQUIRED

pabsbaro barometric pressure REQUIRED

presg inlet gauge pressure REQUIRED

Digital Inputs

zdocalc digital perf calc run flag REQUIRED

Analog Outputs

patmos atmospheric pressure [Optional]

pabs absolute pressure [Optional]

kqual superheated steam entropy [Optional]

Digital Outputs

< NONE >

Constants

< NONE >

SP_0030 699
S E C T I O N 11

Common functional block diagrams

IN THIS SECTION

Input functional block diagram ........................................................................................ 701


Main functional block diagram......................................................................................... 703
Main input algorithm checklist ......................................................................................... 704
Equipment functional block diagrams ........................................................................... 704
Output functional block diagram...................................................................................... 723
Display graphics development ........................................................................................ 724

11.1 Input functional block diagram

The GPA package collects data through input functional block diagrams. This functional block
diagram should contain the input algorithms (analog and digital) as well as the FBD ordering
algorithm.

After the INPUT DOCUMENT is created, tab over to the W INPUT algorithm tab. This group
contains the Analoginavg, Digitalin and FBDorder algorithms:
 Analoginavg algorithm inputs data agent server analog values and outputs local GPA
averaged analog values.
 Digitalin algorithm inputs data agent server digital values and outputs local GPA digital
values.
 FBDorder algorithm orders functional block diagrams.

SP_0030 701
11.1 Input functional block diagram

11.1.1 Analoginavg

The Analoginavg algorithm Configuration tab allows the averaged period as well as the type of
average and percentages of samples to be changed. The name can also be changed to
accommodate multiple Analoginavg algorithms.

The Analoginavg algorithm and the Digitalin algorithm(s) should be the first algorithms configured.
No other algorithms can be created until the algorithm's input points exist.

The TAGS tab allows the points to be created/configured/listed. To create tags, choose
create/configure tags. The next screen will allow the you to define a new set, list the current sets
already defined, choose default units and the data agent server name and node.

On the define tag screen, select a point, check the configure box and fill in the point information.
After completing the information, select Update List. Continue configuring all the analog inputs
needed.

If more analog inputs are needed than contained in the Analoginavg algorithm, a second
Analoginavg algorithm can be dropped and configured.

The Digitalin algorithm CONFIGURATION tab does not contain any average information. Only the
analoginavg algorithms contain this information. The name and description fields can be modified
on this screen.

Note: Output points are automatically updated from the input list. Therefore, nothing needs to
be done with output points. After configuring all the analog inputs, select the Save or Save as
button.

11.1.2 Digitalin

The Digitalin algorithm TAGS tab allows the points to be created/configured/listed. After choosing
the create/configure tags, select the default units as well as the data agent server name and
node.

On the define tags screen, select a point, check the configure box and fill in the point information.
After completing the information, select Update List. Continue configuring all the digital inputs
needed.

Note: Output points are automatically updated from the input list. Therefore, nothing needs to
be done with output points. After configuring all the analog inputs, select the Save or Save as
button.

If more digital inputs are needed than contained in the Digitalin algorithm, a second Digitalin
algorithm can be dropped and configured.

11.1.3 FBDorder

The FBDorder algorithm only needs the Design Info configured. After adding a functional block
diagram, the FBDorder algorithm Design Info tab needs to be updated.

Note: The FBDorder algorithm must be put on the very first document.

702 SP_0030
11.2 Main functional block diagram

11.1.4 Input document checklist


 Analoginavg and Digitalin algorithms must be configured first before subsequent algorithms.
 Fbdorder algorithm must be put on the first functional block diagram to order the functional
block diagrams.

11.2 Main functional block diagram

The main functional block diagram contains calculations concerning the entire plant, such as:

 checking the load


 atmospheric pressure
 boiler steam enthalpy and flow
 main steam enthalpy and flow
 rated main steam pressure
 rated main steam temperature
 first stage pressure
 reference main steam flow
 deviation between main steam corrected flow and reference main steam flow.

Any other calculations, such as averages, pertaining to the entire plant should also be done on
this FBD.

Chkload - is the check load algorithm. (Chkload) checks the load and will set the flag for the GPA
package to run if the load is above the user-specified load.

Patmos - is the atmospheric pressure algorithm. (Patmos) calculates the atmospheric pressure
according to the barometric pressure.

Hwblrstm - is the boiler steam enthalpy and flow algorithm. (Hwblrstm) calculates the boiler
steam flow and enthalpy. The flow is calculated according to any flows added and subtracted from
the boiler steam flow. These flows are selected from the design screen. The enthalpy is
calculated from a steam table call using the temperature and pressure.

Hwmnstm - is the main steam enthalpy and flow algorithm. (Hwmnstm) calculates the main
steam flow and enthalpy. The flow is calculated according to any flows added and subtracted from
the main steam flow. Select these flows from the design screen. The enthalpy is calculated from a
steam table call using the temperature and pressure.

The rated main steam temperature and pressure are calculated as a curve fit. The curve fit
algorithms can be found in the W Curves algorithm section.

P1stg - is the first stage pressure algorithm. (P1stg) calculates a correction factor, absolute first
stage pressure, rated absolute pressure and corrected first stage pressure.

The reference main steam flow is calculated from a curve fit. The curve fit algorithms can be
found in the W Curves algorithm section.

Wmncor - is the main steam corrected flow and deviation algorithm. (Wmncor) calculates the
main steam corrected flow and the deviation from the reference main steam flow.

SP_0030 703
11.3 Main input algorithm checklist

11.3 Main input algorithm checklist

Chkload algorithm must be used first after the analoginavg and digital algorithms. This algorithm
sets the digital flag zdocalc, which allows all other algorithms to execute.

11.4 Equipment functional block diagrams

11.4.1 Feedheater functional block diagram

The feedheater functional block diagram document contains the feedheater algorithm, as well as
any curve fits needed for the design terminal temperature differences and design drain cooler
approaches.

11.4.2 Feedheater algorithms

FEEDHEATER ALGORITHMS

deaerator drnclr hpfedhtr Ipfedhtr ttd drnpmp

Hpfedhtr - This is the hp feedheater algorithm. (Hpfedhtr) calculates a heat and materials
balance around a shell and tube type heat exchanger. Extraction and drain flows are calculated.
Turbine extraction flow and enthalpy are also calculated. This algorithm does not account for
drains pumped forward.

The design information needed for this algorithm follows:

Feedheater number.
In-service logic - digital signal or feedheater temperature rise.
Out-of-service logic - cascading drain flow to condenser or another feedheater.
Extraction temperature and pressure measurement locations.
Leakage existence and the location.
Auxiliary leakage split from extraction flow existence.

Lpfedhtr - This is the lp feedheater algorithm. (Lpfedhtr) calculates a heat and materials balance
around a low pressure shell and tube type heat exchanger. The extraction and drain flows are
calculated for the feedheater.

The turbine extraction flow and enthalpy are also calculated. This algorithm does not account for
drains pumped forward.

The design information needed for this algorithm follows:

Feedheater number
In-service logic - digital signal or feedheater temperature rise
Out-of-service logic - cascading drain flow to condenser or another feedheater and SSR
overflow diverted existence
Extraction temperature and pressure measurement locations
Leakage existence and the location
Auxiliary leakage split from extraction flow existence

704 SP_0030
11.4 Equipment functional block diagrams

Deaerator - This algorithm calculates the condensate inlet flow, outlet flow, inlet enthalpy and
outlet enthalpy for a direct contact heat exchanger. The extraction steam flow and enthalpy are
also calculated.

The design information needed for this algorithm follows:

Reheat and superheat spray flows existence and locations


Extraction temperature and pressure measurement locations
Leakage existence and the location
Auxiliary leakage split from extraction flow existence

Drnpmp - This algorithm calculates condensate inlet flow, outlet flow, inlet enthalpy and outlet
enthalpy for a direct contact heat exchanger. The extraction steam flow and enthalpy are also
calculated. Turbine extraction flow and enthalpy are also calculated. This algorithm accounts for
drains pumped forward. The design information needed is the same as lpfedhtr.

Drnclr - This is the drain cooler approach algorithm, (drnclr) calculates drain cooler approach and
deviation. The design drain cooler approach for a particular feedheater has to be calculated by a
curve fit algorithm before the drain cooler approach algorithm for this feedheater is placed on the
document.

ttd - This is the terminal temperature difference algorithm (ttd) calculates the terminal temperature
difference and deviation. The design terminal temperature difference for a particular feedheater
has to be calculated by a curve fit algorithm before the terminal temperature difference algorithm
for this feedheater is placed on the document.

11.4.3 Condenser functional block diagram

The condenser functional block diagram contains the algorithms for condenser performance.
These include the condenser design, condenser average temperature, and the condenser
algorithm.

Cnddesign - The condenser design algorithm reads in the condenser design information. The
design information along with the length, outer diameter, bwg, condenser material correction
factor and thickness are all assigned to output points. The inner diameter is also calculated for the
compartment(s).

Cndavgtemp - The condenser average temperature algorithm calculates the condenser average
inlet and outlet temperature as well as the average circulating water temperature.

Condsr - The condenser algorithm determines the method for out-of-service compartments. After
checking for out-of-service compartments, the specific heat, specific volume and specific gravity
of circulating water are calculated. Next, the condenser duty, the condenser circulating water flow,
the actual and design heat transfer, the cleanliness factor, expected back pressure with clean
tubes and the back pressure deviation are calculated. The calculations are done in accordance
with ASME Power Test Code PTC 12.2 (1983) and heat exchange Institute Standards for Steam
Surface Condensers, Ninth edition.

SP_0030 705
11.4 Equipment functional block diagrams

11.4.4 Steam turbine functional block diagram

The steam turbine functional block diagram document contains the generator-related algorithm
and the turbine stage efficiency algorithms.

Alstomexpan - This function computes

 used energy end point


 expansion line end point
 low pres turbine last stage extraction flow and enthalpy
 last stage heater extraction flow and enthalpy

for Alstsom steam turbogenerators in an iterative procedure using the GER2007C expansion
line equations. Assume the expansion line is straight.

Expelep - This function computes expected expansion line end point if design curve is not
provided. Refer to the procedure specified in Spenser, Cotton, Cannon paper "A Method for
Predicting the Performance of Steam Turbine Generators, 16,500 KW and Larger" (GER2007C).

Ge_stg - This module computes the following for GE steam turbine generators:

 output correction factor for exhaust pressure (condenser vacuum)


 steam turbine gross heat rate
 steam turbine generator gross thermal efficiency

Gencorr - This function computes corrected steam turbine generator output based on correction
curves provided by turbine manufacturer.

Gennet - The generator algorithm calculates the following:

 generator mva
 generator power factor
 auxiliary power
 ratio of auxiliary power to gross power
 total shaft power and generator efficiency

Variable generator losses need to be calculated before this algorithm by a curve fit.

Next, any flows and leakages associated with the high-pressure stage need to be calculated by
using W Curves algorithms and W Math algorithms. After these are calculated, the high-pressure
design efficiency needs to be calculated by a curve fit algorithm. Finally, the turbine algorithm
should be used for the hp stage.

Ipturbdeseff - This function calculates design (or expected) intermediate pressure turbine
efficiency using the method outlined in chapter 4, section iii.a.1, in K.C. Cotton's Evaluating and
Improving Steam Turbine Performance. the function calculates the expected efficiency from the
inlet bowl conditions to the turbine exhaust. the calculated expected efficiency is then corrected to
compute the expected efficiency from the turbine inlet conditions to the measured crossover
conditions.

Lptrb - This module calculates:

 lp turbine outlet flow

706 SP_0030
11.4 Equipment functional block diagrams

 lp turbine outlet enthalpy by conducting a thermal and energy balance around the whole
turbine
 lp isentropic enthalpy
 lp turbine efficiency

Overall_trb - This module calculates the turbine inlet enthalpy, the isentropic enthalpy and the
overall turbine efficiency.

Reheat_trb - This module calculates the reheat turbine efficiency, the reheat design efficiency
and the reheat turbine efficiency deviation.

Turbgen - This function computes heat generated and percent load produced by each turbine
section.

Turbin The turbine algorithm calculates the following:

 turbine inlet enthalpy


 turbine outlet flow
 turbine outlet enthalpy
 isentropic enthalpy
 turbine efficiency

The calculations for the intermediate pressure stage are done the same as the high-pressure
stage. Flows and leakages associated with the intermediate pressure stage are calculated and
then the turbine algorithm should be used for the intermediate stage.

The low pressure stage efficiency is calculated by summing the total heat and dividing by the total
flow. The mixer algorithm can be used to calculate the total heat. Next, the design low pressure
efficiency is calculated by a curve fit and the low pressure efficiency deviation is calculated using
a subtraction algorithm.

Lastly, the stage(s) used energy and the condenser vapor enthalpy are calculated.

Wexpan - This function computes:

 used energy end point


 expansion line end point
 low pres turbine last stage extraction flow and enthalpy
 last stage heater extraction flow and enthalpy

for Westinghouse steam turbogenerators in an iterative procedure using the GER2007C


expansion line equations and the Siemens Westinghouse recommendation that the line is
straight.

SP_0030 707
11.4 Equipment functional block diagrams

11.4.5 Boiler functional block diagram

The boiler functional block diagram contains the fuels, modified air heater temperature, boiler,
corrected boiler efficiency and air heater algorithms. The design boiler efficiency, design excess
air and design air heater air inlet temperature also needs to be calculated on this document.

Fuels - The fuels algorithm is under the W Fuel tab and performs a fuel analysis on the total
fuel(s) used. This algorithm requires design information.

Boiler - The boiler algorithm calculates the boiler efficiency by the heat loss method. Before this
algorithm is used, the design boiler efficiency, design excess air and design air heater air inlet
temperature need to be calculated by a curve fit.

Corblrloss - The corrected boiler efficiency calculates the corrected boiler efficiency and
deviation.

Airhtr - The air heater algorithm monitors the performance of the air heater. It computes the
x-ratio, the air side efficiency and the gas side efficiency.

11.4.6 Fan functional block diagram

The fan functional block diagram contains the fan design, the density correction, design discharge
pressure, design horsepower, design fan motor efficiency (if available) and the fan algorithm. The
fan airflow is expected to be in volumetric units. If the airflow is not in volumetric units, the
Volflowgas algorithm under the W Misc tab can be used to change the mass flow into a volumetric
flow.

Densityair - This module computes the air density at current temperature and pressure
conditions as well as a density correction factor.

Densitycor - This module computes a density corrected to current temperature and pressure
conditions as well as a density correction factor.

Densitygas - This module computes gas density as well as a density correction factor.

Fan - The fan algorithm is found under the W Fan tab and calculates the fan efficiency, design fan
efficiency and the fan efficiency deviation.

Fandesign - The fan design algorithm is under the W Fan tab and reads the fan design
information. The information required is fan discharge area, reference temperature and pressure
for fan curves, fan characteristic curve reference density, design fan motor efficiency existence
and the type of in-service logic used - digital signal or minimum air flow.

Fanvelocity - This module computes the velocity pressure of the fan using the volumetric flow,
density and area.

708 SP_0030
11.4 Equipment functional block diagrams

11.4.7 Pump functional block diagram

The pump functional block diagram contains the pump design efficiency, the pump design head,
the pump motor design efficiency (if available) and the pump algorithm.

The pump design efficiency, the pump design head and the pump motor design efficiency (if
available) are calculated by curve fits.

Pump - The pump algorithm is under the W Pump tab and calculates the actual efficiency, design
efficiency and efficiency deviation for a pump. Design information is required for this algorithm.
The pump suction and discharge inner diameter and suction heads as well as in-service logic,
design pump motor efficiency existence, constant speed existence and for boiler feedpumps only
- suction pressure measurement existence.

Bfptrb - Boiler feed pump turbine algorithm to calculate performance of feed pump turbine that
can be supplied by

- high pressure steam only


- low pressure (or extraction) steam only
- mixed high pressure and low pressure steam

Mixed supply steam and isentropic enthalpies are computed. Boiler feed pump turbine exhaust
steam enthalpy is computed by a heat balance comparing the heat in the steam to the work done
on the water by the boiler feed pump, i.e. the water horsepower. Turbine efficiency is computed
and compared to design efficiency.

PUMP2STG - calculates pump performance for a pump which has an extraction or discharge
between two stages of the pump. If available, expected heads for individual stages are
calculated and compared to actual.

Total expected head and actual total head can also be calculated and a deviation reported.
Pump efficiency, efficiency deviation, and percent head deviations are also calculated.

PUMP1SPD - calculates pump performance for a pump which runs at constant speed. Expected
head, actual head, pump efficiency, efficiency deviation, and percent head deviations are also
calculated.

SP_0030 709
11.4 Equipment functional block diagrams

11.4.8 Heat recovery steam generator block diagram

The heat recovery steam generator block diagram contains all algorithms which calculate the heat
recovery steam generator input/output efficiency as well as the thermal loss efficiency.

Hpipsec - the hp/ip section algorithm calculates the flow and enthalpies required for each section.

Bldwin - The blowdown algorithm calculates the flow and enthalpies required for the blowdown
section.

Lpsec - The lp section algorithm calculates the flow and enthalpies required for the lp section.

Reheat - The reheat algorithm calculates the flow and enahlpies required for the reheat section.

The design input/output and thermal loss efficiencies are calculated using a curve fit algorithm.

Hrsg - The final algorithm of the heat recovery steam generator algorithm calculates the
input/output and thermal loss efficiencies.

Ge_hrsg - This module calculates the input/output efficiency of the HRSG per GE specification.

710 SP_0030
11.4 Equipment functional block diagrams

11.4.9 Combustion turbine functional block diagram

The combustion turbine functional block diagram contains designs for power, heat rate and
evaporator (if one is present) and the combustion turbine algorithms.

The design combustion turbine power, heat rate and evaporator are calculated by using curve fits.

Basectg - This module calculates evaporator/chiller efficiency if one is present, corrected load,
ratio to guaranteed or ISO load, heat input in fuel, total heat input into combustion turbine, thermal
efficiency, heat rate, corrected heat rate, ratio to guarantee design or ISO heat rate, heat rate
deviation, corrected turbine efficiency, heat consumption, exhaust gas heat and exhaust gas flow.

Combturb - The combustion turbine algorithm is under the W Cturb tab and calculates corrected
power, heat rate, thermal efficiency, corrected thermal efficiency and heat consumption. This
algorithm has design information which includes the types of fuel(s) being used, the types of
corrections used, chillier/cooler existence, miscellaneous heat loss percentage and injection
existence.

Ge_combcycle - This module computes calculations using GE standards for the uncorrected
plant gross power output, gross thermal efficiency and gross heat rate in combined cycle
operation. The plant heat rate is calculated as the inverse of thermal efficiency. The plant gross
power output, thermal efficiency and heat rate are corrected for deviations from guaranteed
conditions based on GE correction curves.

Ge_combturb - This module computes calculations using GE standards for the uncorrected gas
turbine gross thermal efficiency and gross heat rate in combined cycle operation. The gas turbine
heat rate is calculated as the inverse of thermal efficiency. The gas turbine gross power output,
thermal efficiency and heat rate are corrected for deviations from guaranteed conditions based on
General Electric correction curves. The deviation between the calibrated run performance and the
corrected performance is also computed.

Gastrbintemp - The Gastrbintemp algorithm calculates the actual gas turbine inlet enthalpy. This
algorithm uses an estimated gas turbine temperature as well as a calculated gas turbine inlet
enthalpy to calculate the actual gas turbine inlet enthalpy. This algorithm calls the enthal routine
which solves for the enthalpy at the estimated temperature and will iterate and re-calculate the
enthalpy based on a new temperature estimate until the calculated gas turbine inlet enthalpy is
reached.

If the maximum number of loops is exceeded, the gas turbine inlet temperature will be set to 0
with BAD quality as well as the zerrflag being set. This may happen if the estimated gas turbine
inlet temperature is too far away from the actual gas turbine inlet temperature. If this happens, the
algorithm has constants which can be tuned depending on the project.

SP_0030 711
11.4 Equipment functional block diagrams

11.4.10 Heat rate functional block diagram

The heat rate functional block diagram contains all the corrections for the heat rate, a design heat
rate and the heat rate algorithm.

All the heat rate corrections should be calculated by curve fits. The ASME heat rate corrections
are available for main steam pressure, main steam temperature, reheat pressure drop and reheat
steam temperature and are located under the W Heatrate tab.

The design heat rate can be calculated by a curve fit.

Hetrte - The heat rate algorithm can be found under the W Heatrate tab and calculates gross and
net turbine cycle heat rate. Adjusted turbine cycle heat rates with and without process steam are
also calculated. The deviations from the reference heat rate is calculated as well as the individual
heat rate corrections for main steam temperature, main steam pressure, reheat steam
temperature, reheat pressure drop, condenser back pressure and miscellaneous. The heat rate
design information is a selection of which heat rate correction factors are used.

11.4.11 Unit heat rate functional block diagram

The unit heat rate functional block diagram contains all unit heat rate corrections applicable to the
project. The heat rate correction factors are broken down into three categories: controllable,
maintenance and miscellaneous. At the beginning of the functional block diagram, the unit heat
rate algorithm should be used to calculate net, gross and design unit heat rate. The unit heat rate
corrections are dropped next with a total algorithm for each category. Lastly, the total unit heat
rate algorithm will be used. All unit heat rate algorithms can be found under the W Unithr tab.

Unhtrt

The Unhtrt or unit heat rate algorithm calculates the net unit heat rate of the plant as well as the
gross net unit heat rate. The design gross and net unit heat rates are also calculated. Finally, the
deviations for the gross and net unit heat rates are calculated.

The controllable unit heat rate corrections include:

Unhrasmersf

The Unhrasmersf or Unit heat rate ASME reheat spray flow algorithm calculates the ASME heat
rate correction for one percent reheat spray flow at the percent of valves wide open throttle flow.

Unhrasmessf

The Unhrasmessf or Unit heat rate ASME superheat spray flow algorithm calculates the ASME
heat rate correction for one percent superheat spray flow at the percent of valves wide open
throttle flow.

Unhregt

The Unhregt or Unit heat rate exit gas temp algorithm calculates the heat rate deviation in
Btu/kWh and the cost of deviation in $/hr for exit gas temperature.

712 SP_0030
11.4 Equipment functional block diagrams

Unhrmsp

The Unhrmsp Unit heat rate main steam pressure algorithm calculates the unit heat rate
deviation for main steam pressure in Btu/kWh and the cost of the deviation in $/hr.

Unhrmst

The Unhrmst or Unit heat rate main steam temperature algorithm calculates the unit heat rate
deviation for main steam temperature in Btu/kWh and the cost of the deviation in $/hr.

Unhro2calc

The Unhro2calc or Unit heat rate excess oxygen deviation algorithm calculates the heat rate
deviation in Btu/kWh and the cost of deviation in $/hr for excess oxygen deviation.

Unhrrsf

The Unhrrsf or Unit heat rate reheat spray flow algorithm calculates the heat rate deviation in
Btu/kWh and the cost of deviation in $/hr for reheat spray flow.

Unhrrst

The Unhrrst or Unit heat rate reheat steam temperature algorithm calculates the unit heat rate
deviation for reheat steam temperature in Btu/kWh and the cost of the deviation in $/hr.

Unhrssf

The Unhrssf or Unit heat rate superheat spray flow algorithm calculates the heat rate deviation in
Btu/kWh and the cost of deviation in $/hr for superheat spray flow.

Unhrpcthr

The Unhrpcthr or Percent main steam flow to valves wide open flow algorithm calculates the
ratio of percent of actual main steam flow to valves wide open throttle flow.

Unhrcontot

The Unhrcontot or Unit heat rate controllable total algorithm totals the unit heat rate deviations
for the controllable parameters in Btu/kWh and the cost of the deviations in $/hr. This algorithm
has a design screen to select which controllable heat rate corrections are needed.

SP_0030 713
11.4 Equipment functional block diagrams

11.4.12 Curve Fit algorithms

Curve fit algorithms can be found under the W Curves tab and contain different forms of
polynomials and a function generator. Multiplying by a gain and/or adding a bias can modify the
results from all curve fit algorithms. Note that the gain and bias can be points, constants or both
points and constants.

If the gains and biases are not needed, the constants do not need to be modified and the analog
input points do not need to be configured. The polynomials are as follows.

Anlgcmppoly - This algorithm calculates the y-value of a polynomial based on the x input
between two values. If the x input does not fall between the two limits, the y-value is set to zero.

Anlgcmp2poly - This algorithm calculates one of two y-value polynomials based on an x input
and is split into two polynomials by an analog value.

Diganlgcmppoly - This algorithm calculates the y-value of a polynomial based on the x input in a
specified range and a digital flag. If the digital flag is not set and the x input does not fall in the
specified range, the y-value is set to zero.

Diganlgcmp2poly - This algorithm calculates one of two y-value polynomials based on an x input
value, digital input and is split by a specified analog value.

Digcmppoly - This algorithm calculates the y-value of a polynomial based on an x input and
digital flag. If the digital flag is not set, the y-value is set to zero.

Digcmp2poly - This algorithm calculates one of two y-value polynomials based on an x input and
a digital flag.

Poly - This algorithm calculates a fifth order polynomial.

Funcgen - The function generator calculates the independent value based on one variable or the
independent value based on two dependent variables. The independent value is calculated using
linear interpolation.

Crossprod - This algorithm calculates a cross product curve fit.

Interpolate - This algorithm interpolates between two y values given the x values.

714 SP_0030
11.4 Equipment functional block diagrams

11.4.13 Maintenance unit heat rate corrections

Unhrasmecsc - Unit heat rate ASME condenser subcooling. This algorithm calculates the
degrees Fahrenheit of subcooling at the percent of valves wide-open throttle flow.

Unhrasmeffw - Unit heat rate ASME final feedwater temperature. This algorithm calculates the
ASME heat rate correction for five degrees Fahrenheit final feedwater temperature deviation at
the percent of valves wide open throttle flow.

Unhrasmemkp - Unit heat rate ASME makeup water flow. This algorithm calculates the ASME
heat rate correction for one percent makeup flow at the percent of valves wide open throttle flow.

Unhrcbp - Unit heat rate condenser back pressure. This algorithm calculates the unit heat rate
deviation for condenser back pressure in Btu/kWh and the cost of the deviation in $/hr.

Unhrffw - Unit heat rate final feedwater temperature. This algorithm calculates the heat rate
deviation in Btu/kWh and the cost of deviation in $/hr for final feedwater temperature.

Unhrmkp - Unit heat rate makeup water flow. This algorithm calculates the heat rate deviation in
Btu/kWh and the cost of deviation in $/hr for makeup water flow.

Unhrrpd - Unit heat rate reheat pressure drop. This algorithm calculates the unit heat rate
deviation for reheat pressure drop in Btu/kWh and the cost of the deviation in $/hr.

Unhrmaintot - Unit heat rate maintenance total. This algorithm totals the unit heat rate deviations
for the maintenance parameters in Btu/kWh and the cost of the deviations in $/hr. This algorithm
has a design screen to select which maintenance heat rate corrections are needed.

SP_0030 715
11.4 Equipment functional block diagrams

11.4.14 Miscellaneous unit heat rate corrections

Unhrasmeipdev1 - Unit heat rate ASME IP turbine loss factor number 1. This algorithm
calculates the ASME IP turbine loss factor number 1 as a function of ip exhaust pressure.

Unhrasmeipdev2 - Unit heat rate ASME IP turbine loss factor number 2.This algorithm calculates
the ASME IP turbine loss factor number 2 as a function of ip exhaust pressure.

Unhraitdev - Unit heat rate air heater air inlet temperature. This algorithm calculates the unit heat
rate deviation for air heater air inlet temperature deviation in Btu/kWh and the cost of the deviation
in $/hr.

Unhrauxdev - Unit heat rate auxiliary power deviation. This algorithm calculates the unit heat rate
deviation for auxiliary power deviation in Btu/kWh and the cost of the deviation in $/hr.

Unhrauxstm - Unit heat rate auxiliary steam. This algorithm calculates the unit heat rate deviation
for auxiliary steam in Btu/kWh and the cost of the deviation in $/hr.

Unhrhpdev - Unit heat rate HP turbine efficiency deviation. This algorithm calculates the unit heat
rate deviation for hp turbine efficiency deviation in Btu/kWh and the cost of the deviation in $/hr.

Unhripdev - Unit heat rate IP turbine efficiency deviation. This algorithm calculates the unit heat
rate deviation for ip turbine efficiency deviation in Btu/kWh and the cost of the deviation in $/hr.

Unhrmisctot - Unit heat rate miscellaneous totals. This algorithm totals the unit heat rate
deviations for the miscellaneous parameters in Btu/kWh and the cost of the deviations in $/hr.
This algorithm has a design screen to select which miscellaneous heat rate corrections are
needed.

Unhrtot - Unit heat rate totals. This algorithm computes the total unit heat rate deviation in
Btu/kWh and the total cost in $/hr for all the parameters.

716 SP_0030
11.4 Equipment functional block diagrams

11.4.15 Cooling tower functional block diagram

The cooling tower functional block diagram contains five main algorithms:
 design.
 power.
 cooling tower capability using estimated outlet temperature.
 cooling tower predicted flow and capability of mechanical draft cooling towers.
 predicted flow for the cooling tower from the adjusted and predicted flows.
Cooltwrdes - The cooling tower design algorithm reads in the design information and outputs the
design information to output points. The design cooling water flow, design hot water temperature,
design cold water temperature, number of fans, design fan horsepower per fan, design ambient
wet bulb temperature, cooling tower elevation, design L/G, design characteristic curve exponent,
design characteristic curve constant and in-service criteria must be entered on the Design Info
screen.

Cooltwrpwr - The cooling tower power algorithm calculates individual cell power, design water
flow, the ratio of design water flow to actual flow, total fan power and ratio of design power to
actual power.

Cooltwr - The cooling tower algorithm computes estimated cooling tower outlet temperature.

Capab - This algorithm calculates the capability of mechanical draft cooling towers. This algorithm
uses the output from cooltwr.

Coolcurv - This algorithm calculates the predicted flow for the cooling tower and the capability is
calculated from the adjusted and predicted flows.

SP_0030 717
11.4 Equipment functional block diagrams

11.4.16 Math algorithms

All Emerson math algorithm results can be modified by a gain and bias. The result is multiplied by
a gain and then increased by the bias. The total gain is comprised of an analog input gain value
and a constant gain value. The total bias value is comprised of an analog input point bias value
and a constant gain value.

The default value for the constant gain value is 1 and the constant bias value is 0 so if the user
does not need to gain or bias the results, the constants do not need to be modified and the analog
input gain and analog input bias points do not need to be configured.

The Emerson math algorithms consist of the following:

Absval - Returns absolute value of variable.

Add10 - Adds ten values.

Add4 - Adds four values.

Addsub - Adds four numbers together and Subtracts the total of four numbers.

And6 - Ands six digitals.

Arctan - Performs the arc tangent of the input.

Avg4 - Averages four values.

Cosin - Performs the cosine function of the input.

Divide4 - Divides an input value by the product of four values.

Expon - Performs the exponential function.

Gpalog - Calculates the base log ten of a number.

Hiselect6 - Selects the highest value of six inputs.

Invdig - Inverts a digital value.

Loselect6 - Selects the lowest value of six inputs.

Mixer - Calculates the outlet flow, total heat and enthalpy of ten input flows and enthalpies.

Mult_add - Multiplies eight pairs of numbers and totals the result. Also divides the total by the
sum of odd inputs.

Multdiv - Multiplies four numbers together and divides by the product of four numbers.

Multiply4 - Multiplies four numbers.

Multpwr - Takes inputs to a specified power and adds together the products of eight pairs. Also
divides the total by the sum of the odd inputs.

Nlog - Calculates the natural log of a number.

718 SP_0030
11.4 Equipment functional block diagrams

Or6 - ORs six digitals.

Pwr - Takes the input to a specified power.

Qavg4 - Averages up to four points only with good quality.

Qavg10 - Averages up to ten points only with good quality.

Sin - Performs the sine function on the input.

Squareroot - Calculates the square root of a number.

Sub10 - Subtracts ten numbers from an input value.

Sub4 - Subtracts four numbers from an input value.

SP_0030 719
11.4 Equipment functional block diagrams

11.4.17 Miscellaneous algorithms

The miscellaneous algorithms are contained in the W Misc tab and calculate corrected density,
specific heats of air and gas and volumetric flows for flue gas and water.

Asmeflowcomp - Calculates ASME on-line compensated flow based on temperature, pressure,


differential pressure, flow medium, flow element, element material, pressure tap type, element
inner diameter and beta ratio.

Avalgen - The analog generated value algorithm transfers the value from one point to another
point. This new point value can also be biased and gained if needed. The avalgen algorithm can
also be used to generate a constant value point.

Densitycor - The corrected density algorithm computes a density corrected to current


temperature and pressure conditions as well as a density correction factor.

Dvalgen - Ands the value of a digital constant and point and outputs the result to a digital output
point.

Enthal - The Enthal algorithm calculates the gas enthalpy given the fuel analysis, gas
temperature, reference enthalpy, and weight of ambient and injection moisture.

Flowcalccomp - Calculates on-line compensated flow.

Frloss - Computes pipe section friction loss for fairly smooth pipe.

Massflowliquid - The mass flow algorithm converts water volumetric flow to mass flow.

Mixer - Calculates the outlet flow and enthalpy from a combination of up to 10 input flows.
Moistair - Calculates the three of the five inputs which are not configured. Two of the inputs must
be configured. The five inputs are dry bulb temperature, wet bulb temperature, ambient humidity,
relative humidity and dew point temperature.

Setdig - The set digital algorithm sets a digital point to 1 if a point value is above a limit.
Otherwise, if the point value is below the limit, the digital point is set to zero.

Setdig2 - Sets one of three digital flags based on an analog input. If the analog input is less than
a specified limit, the first digital flag is set. If the analog input is equal to the specified limit, the
second digital flag is set. If the analog input is greater than the specified limit, the third digital flag
is set.

Specheatair - The specific heat of air algorithm calculates the specific heat of air at a given air
temperature. The coefficients used are obtained from regressing the curve in Figure 3 of ASME
PTC-4.1.

Specheatgas - The specific heat of gas algorithm calculates the specific heat of flue gas at a
given temperature. The coefficients are obtained from regressing the curve in Figure 7 of AMSE
PTC-4.1.

Volflowgas - The volumetric gas flow algorithm converts a mass gas flow to a volumetric flow.

Volflowliquid - The volumetric liquid flow algorithm converts water mass flow to a volumetric
flow.

720 SP_0030
11.4 Equipment functional block diagrams

11.4.18 Steam table algorithms

The steam table algorithms are found under the Stm Algs tab. The steam table algorithms include
the following:

Hclsp - Calculates compressed liquid enthalpy given entropy and absolute pressure.

Hclsp_chk - Checks input value and if above limit, call steam table call for compressed liquid
enthalpy.

Hcltp - Calculates compressed liquid enthalpy, given temperature and absolute pressure.

Hcltp_chk - If input value above limit, call hcltp. Otherwise set the enthalpy to zero.

Hichpp - Calculates enthalpy of the outlet of an isentropic process given inlet pressure, exit
absolute pressures and inlet enthalpy in the compressed liquid region.

Hichpp_chk - If input value above limit, calculate enthalpy using hichpp. Otherwise, set enthalpy
to zero.

Hictpp - Calculates enthalpy of isentropic rise from conditions t1, p1 to pressure p2 in


compressed liquid region.

Hishpp - Calculates enthalpy of the outlet of an isentropic process given inlet pressure, exit
absolute pressure and inlet enthalpy in the superheated or wet steam regions.

Histpp - Calculates enthalpy of an isentropic drop from conditions t1, p1, down to pressure p2.

Hslp - Calculates saturated liquid enthalpy, given absolute pressure.

Hslp_chk - If input value above limit, calculate enthalpy. Otherwise, set to zero.

Hslt - Calculates saturated liquid enthalpy, given temperature.

Hslt_chk - If input value above limit, calculate enthalpy. Otherwise, set enthalpy to zero.

Hsstp - Calculates superheated steam enthalpy, given temperature and absolute pressure.

Hsstp_chk - If input value above limit, calculate enthalpy using hsstp. Otherwise, set to zero.

Hsvp - Is the calculated saturated vapor enthalpy, given absolute pressure.

Hswsp - Calculates steam enthalpy, given entropy and absolute pressure of superheated or wet
steam.

Pslt - Is the calculated saturated liquid pressure, given temperature.

Psvs - Calculates pressure of saturated pressure given entropy.

Sclhp - Calculates compressed liquid entropy given enthalpy and absolute pressure.

Scltp - Calculates compressed liquid entropy, given temperature and absolute pressure.

Sslp - Calculates saturated liquid entropy, given absolute pressure.

SP_0030 721
11.4 Equipment functional block diagrams

Sslt - Calculates saturated liquid entropy, given temperature.

Ssstp - Calculates superheated steam entropy, given temperature and absolute pressure.

Ssvp - Calculates entropy, given absolute pressure.

Sswhp - Calculates steam entropy, given enthalpy and absolute pressure of superheated or wet
steam.

Tclhp - Calculates compressed liquid temperature given enthalpy and absolute pressure.

Tslp - Calculates saturated liquid temperature, given absolute pressure.

Tslqh - Calculates saturated steam temp given enthalpy.

Tswhp - Calculates steam temperature, given entropy and absolute pressure of superheated or
wet steam.

Tswsp - Calculates steam temperature, given entropy and absolute pressure of superheated or
wet steam.

Vcltp - Is the calculated compressed liquid specific volume, given temperature and absolute
pressure.

Vslt - This algorithm calculates saturated liquid specific volume given temperature.

Vsstp - Calculates superheated steam specific volume, given temperature and absolute pressure.

Vsvp - Calculates saturated vapor specific volume, given absolute pressure.

Vswhp - Is the calculated steam specific volume, given enthalpy and absolute pressure of
superheated or wet steam.

Vswsp - Calculates steam specific volume, given entropy and absolute pressure of superheated
or wet steam.

Xswhp - Calculates steam quality, given entropy and absolute pressure of superheated or wet
steam.

Xswsp - Calculates steam quality, given entropy and absolute pressure of superheated or wet
steam.

722 SP_0030
11.5 Output functional block diagram

11.5 Output functional block diagram

The GPA package outputs data through the output functional block diagram. These functional
block diagrams should contain the output algorithms (analog and digital).

After creating the OUTPUT DOCUMENT, tab over to the W OUTPUT algorithm tab. This group
contains the Analogout and Digitalout algorithms. The Analogout algorithm outputs data agent
server analog values and qualities from local GPA values and qualities. The Digitalout algorithm
outputs data agent server digital values from local GPA digital values.

Analogout - The analog output algorithm will output the quality and value from the local GPA
values and qualities to the data highway through the data agent Server. The tags for this
algorithm are configured by selecting local tags, which will go to the data highway and assign a
data agent server name. All data agent server names must exist, if they do not exist, these points
will be logged in the Event log. OPC Data Agent server points with a .QQ Extension are output
points and the Event log should not contain any unrecognized .QQ points.

Digitalout - The digital output algorithm will output the digital local GPA values to the data
highway through the data agent Server. The tags for this algorithm are configured by selecting
local tags and assigning a data agent server name.

11.5.1 Output functional block diagram checklist


 Make sure all data agent server names exist by checking the EVENT LOG. No point names
that have two entries, an unrecognized data agent item and the same unrecognized data
agent item with a .QQ Extension should be in the Event log.

SP_0030 723
11.6 Display graphics development

11.6 Displa y graphics development

By using the drawing tools and methods, you can build displays to help visualize the process by
creating a representative drawing of the project. Some examples are shown below:

Figure 66: Boiler Performance Graphic

724 SP_0030
11.6 Display graphics development

Figure 67: Air Heater Performance Graphic

SP_0030 725
11.6 Display graphics development

Figure 68: BFP Performance Graphic

726 SP_0030
11.6 Display graphics development

Figure 69: Cooling Tower Performance Graphic

SP_0030 727
Index

Basectg • 174
A Basectg Calculation Overview • 178
Absval • 118 Bfpturb • 182
Absval Calculation Overview • 119 Bfpturb Calculation Overview • 184
ACNDSRCORR • 120 Bldwn • 186
ACNDSRCORR Calculation Overview • 121 Bldwn Calculation Overview • 186
Add10 • 125 Blrio • 187
Add10 Calculation Overview • 126 Blrio Calculation Overview • 189
Add4 • 124 Boiler • 192
Add4 Calculation Overview • 124 Boiler Calculation Overview • 196
Adding algorithms • 29 Boiler Efficiency (Boiler) • 73
Adding tag sets to a project from external Boiler Feed Pump Turbine (Bfpturb) • 72
cross-reference (.xref) files. • 34 Boiler functional block diagram • 708
Addsub • 127 Boiler Steam Flow (Hwblrsm) • 74
Addsub Calculation Overview • 127 BOILERASME4 • 201
Air Cooled Condenser (Acndsrcorr) • 70 BoilerASME4 Calculation Overview • 205
Air Heater Performance (Airhtr) • 71 C
AIRCONDSR • 129
AIRCONDSR Calculation Overview • 130 Capab • 211
Airhtrs • 131 Capab Calculation Overview • 212
Airhtrs Calculation Overview • 143 Chkload • 213
Algorithm checklist • 35 Chkload Calculation Overview • 213
Algorithm properties • 115 CLTEST • 660
Algorithms (Calculation Blocks) • 105 Cndavgtemp • 215
Algorithms (Calculation Blocks) List • 105 Cndavgtemp Calculation Overview • 216
Alstomexpan • 145 Cnddesign • 217
Alstomexpan Calculation Overview • 149 Cnddesign Calculation Overview • 221
Analog input filtering • 10 Co2econ • 224
Analoginavg • 157, 702 Co2econ Calculation Overview • 226
Analoginavg Calculation Overview • 157 Combturb • 228
Analogout • 158 Combturb Calculation Overview • 233
Analogout Calculation Overview • 158 Combustion Turbine (Comturb) • 75
And6 • 159 Combustion turbine calculation method • 10
And6 Calculation Overview • 159 Combustion turbine functional block diagram
Anlgcmp2poly • 160 • 711
Anlgcmp2poly Calculation Overview • 161 Combustion turbine performance module • 5
Anlgcmppoly • 162 Common functional block diagrams • 701
Anlgcmppoly Calculation Overview • 162 Compair • 239
Arctan • 169 Compair Calculation Overview • 240
Arctan Calculation Overview • 169 Compr • 257
Asmeflowcomp • 164 Compr Calculation Overview • 260
Asmeflowcomp Calculation Overview • 165 Compressor (Compr) • 76
Avalgen • 170 Compressor Wash (Compwash) • 77
Avalgen Calculation Overview • 170 CompWash • 242
Avg10 • 172 CompWash Calculation Overview • 246
Avg10 Calculation Overview • 173 Condenser (Cnddesign) • 78
Avg4 • 171 Condenser functional block diagram • 705
Avg4 Calculation Overview • 171 Condenser module • 8
Condsr • 268
B Condsr Calculation Overview • 274
Backing up data files • 15 Configuration tab • 50

SP_0030 729
Index

Configuring data agents • 14 Digcmppoly Calculation Overview • 317


Connect map tab • 68 Digitalin • 319, 702
Constants tab • 56 Digitalin Calculation Overview • 319
Controllable Heat Rate Dev. (Unhrcontot) • Digitalout • 320
79 Digitalout Calculation Overview • 320
Converting tag value example: • 104 Display graphics development • 724
Coolcurv • 278 Divide4 • 321
Coolcurv Calculation Overview • 279 Divide4 Calculation Overview • 321
Cooling Tower (Coolwrdes) • 80 Drain Cooler (Drnpump) • 82
Cooling tower functional block diagram • 717 Drnclr • 322
Cooling tower performance module • 12 Drnclr Calculation Overview • 322
Cooltwr • 283 Drnpmp • 323
Cooltwr Calculation Overview • 285 Drnpmp Calculation Overview • 325
Cooltwrdes • 286 Dvalgen • 327
Cooltwrdes Calculation Overview • 287 Dvalgen Calculation Overview • 327
Cooltwrpwr • 288
Cooltwrpwr Calculation Overview • 289 E
Copy/paste within the same project • 33 Econmz • 328
Copyright Notice • 2 Econmz Calculation Overview • 329
CorblrlASME4 • 294 EDS Live Data (Enterprise Data Server)
CorblrlASME4 Calculation Overview • 295 Data Agent • 37
Corblrloss • 290 Empty project algorithm • 30
Corblrloss Calculation Overview • 292 Emptyproject • 330
Cosin • 298 Emptyproject Calculation Overview • 330
Cosin Calculation Overview • 298 Emptyproject configuration: • 30
Create/Update in entire project • 61 Enthal • 331
Creating a function block diagram (FBD) • 27 Enthal Calculation Overview • 333
Crossprod • 299 Equipment functional block diagrams • 704
Crossprod Calculation Overview • 299 Expelep • 335
Curve Fit algorithms • 714 Expelep Calculation Overview • 337
Cut/paste or to copy algorithms • 33 Expon • 340
Cut/paste to a different project • 33 Expon Calculation Overview • 340
Cut/paste within the same project • 33
F
D
Fan • 341
Data agents • 35 Fan Calculation Overview • 342
Deaerator • 301 Fan Design (Fandesign) • 83
Deaerator (Deraerator) • 81 Fan functional block diagram • 708
Deaerator Calculation Overview • 303 Fandesign • 345
Densityair • 305 Fandesign Calculation Overview • 345
Densityair Calculation Overview • 306 Fanvelocity • 346
Densitycor • 307 Fanvelocity Calculation Overview • 346
Densitycor Calculation Overview • 308 Fbdorder • 46, 347
Densitygas • 309 FBDorder • 702
Densitygas Calculation Overview • 310 Fbdorder Calculation Overview • 347
Design Info tab • 57 Feed Heater, High Pressure (Hpfedhtr) • 86
Designing a functional block diagram Feed Heater, Low Pressure (Lpfedhtr) • 85
document • 29 Feedheater algorithms • 704
Destination tab • 66 Feedheater functional block diagram • 704
Diganlgcmp2poly • 313 Flowcalccomp • 348
Diganlgcmp2poly Calculation Overview • Flowcalccomp Calculation Overview • 349
314 Frloss • 350
Diganlgcmppoly • 311 Frloss Calculation Overview • 350
Diganlgcmppoly Calculation Overview • 311 Fuel Analysis (Fuels) • 87
Digcmp2poly • 315 Fuels • 352
Digcmp2poly Calculation Overview • 316 Fuels Calculation Overview • 362
Digcmppoly • 317 Funcgen • 364

730 SP_0030
Index

Funcgen Calculation Overview • 365 Hpfedhtr Calculation Overview • 419


Function Generator (Fungen) • 88 Hpipsec • 420
Functional block diagram checklist • 35 Hpipsec Calculation Overview • 421
Functional Block Diagram Ordering Hrmspasme • 422
(Fbdorder) • 84 Hrmspasme Calculation Overview • 422
Hrmstasme • 424
G Hrmstasme Calculation Overview • 424
GainBiasAdd • 370 Hrrpdasme • 426
GainBiasAdd Calculation Overview • 374 Hrrpdasme Calculation Overview • 426
Gastrbintemp • 375 Hrrstasme • 427
Gastrbintemp Calculation Overview • 376 Hrrstasme Calculation Overview • 427
GE_combcyc • 379 HRSG • 428
GE_combcyc Calculation Overview • 380 HRSG (hrsg) • 91
GE_combturb • 382 HRSG calculation method • 9
GE_combturb Calculation Overview • 384 HRSG Calculation Overview • 433
GE_Expan • 386 Hslp • 670
GE_Expan Calculation Overview • 390 Hslp_chk • 671
GE_hrsg • 399 Hslt • 672
GE_hrsg Calculation Overview • 400 Hslt_chk • 673
GE_stg • 403 Hsstp • 674
GE_stg Calculation Overview • 404 Hsstp_chk • 675
Gencorr • 407 Hsvp • 676
Gencorr Calculation Overview • 408 Hswsp • 677
Generator Efficiency (Gennet) • 89 Hwblrstm • 436
Gennet • 405 Hwblrstm Calculation Overview • 437
Gennet Calculation Overview • 406 Hwmnstm • 438
Get tag sets • 65 Hwmnstm Calculation Overview • 438
GPA module description • 4 I
GPA software installation checklist • 15
GPADCS window • 26 Input document checklist • 703
Gpalog • 409 Input functional block diagram • 701
Gpalog Calculation Overview • 409 Inputs tab • 54
Inserting FBDs into projects • 34
H Installation requirements • 13
Hclsp • 661 Interpolate • 439
Hclsp_chk • 662 Interpolate Calculation Overview • 440
Hcltp • 663 Introduction to GPA • 1
Hcltp_chk • 664 Invdig • 443
Heartbeat • 410 Invdig Calculation Overview • 443
Heartbeat Calculation Overview • 410 Ipturbdeseff • 444
Heat Rate (Hetrte) • 90 Ipturbdeseff Calculation Overview • 445
Heat rate functional block diagram • 712 L
Heat recovery steam generator (HRSG) • 6
Heat recovery steam generator block Large pump modules • 11
diagram • 710 Loading highway values • 42
Hetrte • 411 Loselect6 • 447
Hetrte Calculation Overview • 413 Loselect6 Calculation Overview • 447
Hichpp • 665 Lpfedhtr • 448
Hichpp_chk • 666 Lpfedhtr Calculation Overview • 450
Hictpp • 667 Lpsec • 451
Hiselect6 • 416 Lpsec Calculation Overview • 452
Hiselect6 Calculation Overview • 416 Lptrb • 453
Hishpp • 668 Lptrb Calculation Overview • 454
Historical data retrieval • 43 Lpturb3eff • 456
Histpp • 669 Lpturb3eff Calculation Overview • 457
How does the GPA work? • 4
Hpfedhtr • 417

SP_0030 731
Index

P1stg Calculation Overview • 501


M Patmos • 502
Main functional block diagram • 703 Patmos Calculation Overview • 502
Main input algorithm checklist • 704 Performance monitoring graphics • 11
Main Steam Flow (Hwmnstm) • 92 PI data agent • 36
Maint. Heat Rate Dev. (Unhrmaintot) • 93 Plant Load (Chkload) • 96
Maintenance unit heat rate corrections • 715 Pntvalidate • 48, 503
Mappings - by data agent Items • 62 Pntvalidate Calculation Overview • 504
Mappings - by tag • 62 Point Validation (Pntvalidate) • 97
Massflowliquid • 461 Poly • 506
Massflowliquid Calculation Overview • 461 Poly Calculation Overview • 506
Math algorithms • 718 Porting a project to another machine • 16
Misc. Heat Rate Dev. (Unhrmisctot) • 94 Program introduction • 17
Miscellaneous algorithms • 720 Project wide files generated using tag info
Miscellaneous unit heat rate corrections • create • 63
716 Pslt • 678
Mixer • 462 Psvs • 679
Mixer Calculation Overview • 463 Pump • 508
Modifing project data agents • 37 Pump (Pump) • 99
Modifying data agent update rates • 35 Pump Calculation Overview • 511
Moist Air (Moistair) • 95 Pump functional block diagram • 709
Moistair • 464 PUMP1SPD • 517
Moistair Calculation Overview • 465 PUMP1SPD Calculation Overview • 519
Mult_add • 466 PUMP2STG • 526
Mult_add Calculation Overview • 468 PUMP2STG Calculation Overview • 530
Mult_pwr • 473 Q
Multdiv • 469
Multdiv Calculation Overview • 470 Qavg10 • 544
Multiple Workspaces containing a single Qavg10 Calculation Overview • 545
project • 24 Qavg4 • 542
Multiply4 • 471 Qavg4 Calculation Overview • 542
Multiply4 Calculation Overview • 471 Quality assurance features for GPA • 10
Multpwr Calculation Overview • 477 Quality propagation • 10
N R
NeuralNet • 479 RANGECHECK10 • 546
NeuralNet Calculation Overview • 481 RANGECHECK10 Calculation Overview •
Nlog • 494 549
Nlog Calculation Overview • 494 Reheat • 552
Reheat Calculation Overview • 553
O Reheat_trb • 554
O2calc • 495 Reheat_trb Calculation Overview • 556
O2calc Calculation Overview • 496 Remote data server • 36
OPC Client and Server data agent • 36 Run mode tab - OffLine • 53
Optional GPA module description • 11 Run/Debug mode • 39
Or6 • 497
S
Or6 Calculation Overview • 497
Output functional block diagram • 723 Sclhp • 680
Output functional block diagram checklist • Scltp • 681
723 Select10 • 558
Outputs tab • 55 Select10 Calculation Overview • 559
Overall_trb • 498 Separating projects • 23
Overall_trb Calculation Overview • 498 Set Validation (Setvalidate) • 98
Setdig • 561
P Setdig Calculation Overview • 561
P1stg • 500 Setdig2 • 562

732 SP_0030
Index

Setdig2 Calculation Overview • 562 To add output algorithms • 32


Setting algorithm properties • 49 To Check/Change the tag database data
Setting properties and application manager update rate • 37
preferences • 17 To create a dummy project • 30
Setvalidate • 564 To create a function block diagram • 27
Setvalidate Calculation Overview • 564 To create a new project • 21
Shape tab • 69 To create a new workspace • 19
Sin • 567 To execute multiple workspaces • 24
Sin Calculation Overview • 567 To insert an FBD into a project • 34
Single workspace containing multiple To install GPA software • 15
projects • 24 To save highway values • 41
Software installation and backup • 13 To set algorithm order, document order, and
Source tab • 67 FDB properties • 35
Specheatair • 568 To view the data agent server update rate •
Specheatair Calculation Overview • 568 37
Specheatgas • 571 Tslp • 688
Specheatgas Calculation Overview • 571 Tslqh • 689
Spechtair • 569 Tswhp • 690
Spechtair Calculation Overview • 569 Tswsp • 691
Spechtgas • 572 Ttd • 582
Spechtgas Calculation Overview • 573 Ttd Calculation Overview • 582
Squareroot • 574 Turbgen • 583
Squareroot Calculation Overview • 574 Turbgen Calculation Overview • 584
Sslp • 682 Turbin • 586
Sslt • 683 Turbin Calculation Overview • 587
Ssstp • 684
Ssvp • 685 U
Sswhp • 686 Unhraitdev • 588
Starting Run/Debug mode • 40 Unhraitdev Calculation Overview • 588
Startup • 19 Unhrasmecsc • 590
Steadystate • 575 Unhrasmecsc Calculation Overview • 590
Steadystate Calculation Overview • 576 Unhrasmeffw • 591
Steam table algorithms • 721 Unhrasmeffw Calculation Overview • 591
Steam table interface • 11 Unhrasmeipdev1 • 592
Steam turbine functional block diagram • 706 Unhrasmeipdev1 Calculation Overview • 592
Steam turbine performance module • 7 Unhrasmeipdev2 • 593
Steamtable algorithms • 659 Unhrasmeipdev2 Calculation Overview • 593
Sub10 • 578 Unhrasmemkp • 594
Sub10 Calculation Overview • 579 Unhrasmemkp Calculation Overview • 594
Sub4 • 577 Unhrasmersf • 595, 712
Sub4 Calculation Overview • 577 Unhrasmersf Calculation Overview • 595
Superhtr • 580 Unhrasmessf • 596, 712
Superhtr Calculation Overview • 581 Unhrasmessf Calculation Overview • 596
T Unhrauxdev • 604
Unhrauxdev Calculation Overview • 604
Tag names • 101 Unhrauxstm • 597
Tag names, units, and values • 101 Unhrauxstm Calculation Overview • 597
Tags tab • 57 Unhrbfpt • 598
Tags tab create configure tags (project Unhrbfpt Calculation Overview • 600
name) • 58 Unhrcbp • 605
Tags tab create configure tags (project Unhrcbp Calculation Overview • 605
name) Define/Modify set • 59 Unhrcontot • 606, 713
Tclhp • 687 Unhrcontot Calculation Overview • 607
To add equipment algorithms • 32 Unhrcsc • 608
To add input algorithms • 31 Unhrcsc Calculation Overview • 608
To add main algorithms • 31 Unhregt • 609, 712
To add ordering algorithms • 31 Unhregt Calculation Overview • 611

SP_0030 733
Index

Unhrffw • 613 Wmncor Calculation Overview • 657


Unhrffw Calculation Overview • 613
Unhrhpdev • 614 X
Unhrhpdev Calculation Overview • 615 Xswhp • 699
Unhripdev • 616 Xswsp • 698
Unhripdev Calculation Overview • 617
Unhrmaintot • 617
Unhrmaintot Calculation Overview • 618
Unhrmisctot • 619
Unhrmisctot Calculation Overview • 620
Unhrmkp • 621
Unhrmkp Calculation Overview • 621
Unhrmsp • 623, 713
Unhrmsp Calculation Overview • 623
Unhrmst • 624, 713
Unhrmst Calculation Overview • 624
Unhro2calc • 625, 713
Unhro2calc Calculation Overview • 626
Unhrpcthr • 628, 713
Unhrpcthr Calculation Overview • 628
Unhrrpd • 629
Unhrrpd Calculation Overview • 629
Unhrrsf • 630, 713
Unhrrsf Calculation Overview • 630
Unhrrst • 631, 713
Unhrrst Calculation Overview • 631
Unhrscah • 632
Unhrscah Calculation Overview • 633
Unhrssf • 635, 713
Unhrssf Calculation Overview • 635
Unhrtot • 637
Unhrtot Calculation Overview • 638
Unhtrt • 640, 712
Unhtrt Calculation Overview • 641
Unit Heat Rate (Unhtrt) • 100
Unit heat rate functional block diagram • 712
V
Vcltp • 692
Volflowgas • 642
Volflowgas Calculation Overview • 642
Volflowliquid • 643
Volflowliquid Calculation Overview • 644
Vslt • 693
Vsstp • 694
Vsvp • 695
Vswhp • 696
Vswsp • 697
W
Wesapi data agent • 36
Wexpan • 645
Wexpan Calculation Overview • 649
What does the GPA consist of? • 3
What does the GPA do? • 2
What is the GPA? • 1
Wmncor • 657

734 SP_0030

You might also like