Sunteți pe pagina 1din 782

Table of Contents

OLGA

..............................................................................................................................................................................................................

Welcome to OLGA 6 ......................................................................................................................................................................... 1


Release Information .......................................................................................................................................................................... 2
Introduction ............................................................................................................................................................................................ 3
Introduction ..................................................................................................................................................................................... 3
Background ..................................................................................................................................................................................... 4
OLGA as a Strategic Tool ........................................................................................................................................................... 5
OLGA Model Basics ..................................................................................................................................................................... 6
How to use in general .................................................................................................................................................................. 7
Threaded Execution ................................................................................................................................................................... 11
Applications ................................................................................................................................................................................. 12
Input files ...................................................................................................................................................................................... 16
Simulation model ....................................................................................................................................................................... 22

24
Introduction .................................................................................................................................................................................. 24
New Project ................................................................................................................................................................................. 25
New case ...................................................................................................................................................................................... 26
Open existing case .................................................................................................................................................................... 27
Start page .................................................................................................................................................................................... 28
Model view ................................................................................................................................................................................... 29
File view ........................................................................................................................................................................................ 31
Component view ......................................................................................................................................................................... 32
Property editor ............................................................................................................................................................................ 33
Network view ............................................................................................................................................................................... 35
Flowpath view ............................................................................................................................................................................. 47
Connection view ......................................................................................................................................................................... 49
Output window ............................................................................................................................................................................ 50
Time series editor ...................................................................................................................................................................... 52
Plotting .......................................................................................................................................................................................... 54
Active case trend plot ............................................................................................................................................................. 55
Active case profile plot ........................................................................................................................................................... 56
Fluid properties ...................................................................................................................................................................... 58
Multi-case plotting .................................................................................................................................................................. 59
Some general features of the plotting tool .............................................................................................................................. 60
Export/import data to/from MS Excel ...................................................................................................................................... 61
Parametric Studies .................................................................................................................................................................... 63
Geometry editor .......................................................................................................................................................................... 66
Activating ................................................................................................................................................................................ 67
Enter a new profile ................................................................................................................................................................. 69
Edit geometries ...................................................................................................................................................................... 71
Edit the table ................................................................................................................................................................... 72
Edit the graph .................................................................................................................................................................. 73
Check angle distribution ................................................................................................................................................... 74
Filter the data .................................................................................................................................................................. 75
Complete the data ............................................................................................................................................................ 76
Define sectioning ............................................................................................................................................................. 77
Use the new geometry ...................................................................................................................................................... 79
Menus .................................................................................................................................................................................... 80

Graphical User Interface ..............................................................................................................................................................

81
Moving windows ......................................................................................................................................................................... 82
Hot keys ........................................................................................................................................................................................ 83
Moving view in 3D ...................................................................................................................................................................... 84
Graphic Configuration ............................................................................................................................................................... 85
Menus ........................................................................................................................................................................................... 86
Toolbars ........................................................................................................................................................................................ 88
Properties and settings ............................................................................................................................................................. 90
Simulation with bundles ........................................................................................................................................................... 92
Simulation with controllers ...................................................................................................................................................... 94
Simulation with separators ...................................................................................................................................................... 97
Model descriptions .......................................................................................................................................................................... 99
2nd Order Scheme .................................................................................................................................................................... 99
Purpose .................................................................................................................................................................................. 99
When to use ........................................................................................................................................................................ 100
Methods and assumptions .................................................................................................................................................. 101
Limitations ........................................................................................................................................................................... 104
How to use .......................................................................................................................................................................... 105
Blackoil ...................................................................................................................................................................................... 106
Purpose ............................................................................................................................................................................... 106
When to use ........................................................................................................................................................................ 107
Methods and assumptions .................................................................................................................................................. 108
Limitations ........................................................................................................................................................................... 116
How to use ........................................................................................................................................................................... 117
Complex Fluid .......................................................................................................................................................................... 118
Purpose ............................................................................................................................................................................... 118
When to use ........................................................................................................................................................................ 119
Methods and assumptions .................................................................................................................................................. 120
How to use .......................................................................................................................................................................... 121
Compositional Tracking ......................................................................................................................................................... 122
Purpose ............................................................................................................................................................................... 122
When to use ........................................................................................................................................................................ 123
Methods and assumptions .................................................................................................................................................. 124
Limitations ........................................................................................................................................................................... 125
How to use .......................................................................................................................................................................... 126
Controller .................................................................................................................................................................................. 131
Controller introduction ......................................................................................................................................................... 131
Analog Vs Digital Controllers .............................................................................................................................................. 132
Controller mode ................................................................................................................................................................... 133
Controller activation deactivation ......................................................................................................................................... 135
Constraining the controller output ....................................................................................................................................... 136
Controller details ................................................................................................................................................................. 137
Controller terminals ............................................................................................................................................................. 139
Actuator time of controlled device ....................................................................................................................................... 140
Connecting the controllers .................................................................................................................................................. 141
Controller Setpoint ............................................................................................................................................................... 142
Controller measured variable ............................................................................................................................................... 143
Algebraic controller ............................................................................................................................................................. 144
Purpose ....................................................................................................................................................................... 144
When to use ................................................................................................................................................................. 145
Methods and assumptions ............................................................................................................................................. 146
How to use ................................................................................................................................................................... 147
Limitations ..............................................................................................................................................................................

ASC controller ..................................................................................................................................................................... 148

148
149
Methods and assumptions ............................................................................................................................................. 150
How to use ................................................................................................................................................................... 151
Cascade controller .............................................................................................................................................................. 152
Purpose ....................................................................................................................................................................... 152
When to use ................................................................................................................................................................. 153
Methods and assumptions ............................................................................................................................................. 154
Limitations ................................................................................................................................................................... 156
How to use ................................................................................................................................................................... 157
ESD controller ..................................................................................................................................................................... 158
Purpose ....................................................................................................................................................................... 158
When to use ................................................................................................................................................................. 159
Methods and assumptions ............................................................................................................................................. 160
How to use ................................................................................................................................................................... 161
Manual controller ................................................................................................................................................................. 162
Purpose ....................................................................................................................................................................... 162
When to use ................................................................................................................................................................. 163
Methods and assumptions ............................................................................................................................................. 164
How to use ................................................................................................................................................................... 165
Override controller ............................................................................................................................................................... 166
Purpose ....................................................................................................................................................................... 166
When to use ................................................................................................................................................................. 167
Methods and assumptions ............................................................................................................................................. 168
How to use ................................................................................................................................................................... 170
PID controller ...................................................................................................................................................................... 171
Purpose ....................................................................................................................................................................... 171
When to use ................................................................................................................................................................. 172
Methods and assumptions ............................................................................................................................................. 173
How to use ................................................................................................................................................................... 175
PSV controller ..................................................................................................................................................................... 179
Purpose ....................................................................................................................................................................... 179
When to use ................................................................................................................................................................. 180
Methods and assumptions ............................................................................................................................................. 181
How to use ................................................................................................................................................................... 182
Scaler controller .................................................................................................................................................................. 183
Purpose ....................................................................................................................................................................... 183
When to use ................................................................................................................................................................. 184
Methods and assumptions ............................................................................................................................................. 185
How to use ................................................................................................................................................................... 186
Selector controller ............................................................................................................................................................... 187
Purpose ....................................................................................................................................................................... 187
When to use ................................................................................................................................................................. 188
Methods and assumptions ............................................................................................................................................. 189
How to use ................................................................................................................................................................... 191
STD Controller .................................................................................................................................................................... 192
Purpose ....................................................................................................................................................................... 192
When_to_use ............................................................................................................................................................... 193
Methods_and_assumptions ........................................................................................................................................... 194
Limitations ................................................................................................................................................................... 195
How_to_use ................................................................................................................................................................. 196
Purpose .......................................................................................................................................................................

When to use .................................................................................................................................................................

Switch controller .................................................................................................................................................................. 197

197
198
Methods and assumptions ............................................................................................................................................. 199
How to use ................................................................................................................................................................... 200
Table controller .................................................................................................................................................................... 201
Purpose ....................................................................................................................................................................... 201
When to use ................................................................................................................................................................. 202
Methods and assumptions ............................................................................................................................................. 203
Limitations ................................................................................................................................................................... 204
How to use ................................................................................................................................................................... 205
Transmitter .......................................................................................................................................................................... 206
Purpose ....................................................................................................................................................................... 206
When to use ................................................................................................................................................................. 207
Methods and assumptions ............................................................................................................................................. 208
Limitations ................................................................................................................................................................... 209
How to use ................................................................................................................................................................... 210
Corrosion ................................................................................................................................................................................... 211
Purpose ............................................................................................................................................................................... 211
When to use ........................................................................................................................................................................ 212
Methods and assumptions .................................................................................................................................................. 213
How to use .......................................................................................................................................................................... 215
Limitations ........................................................................................................................................................................... 218
Drilling Fluid ............................................................................................................................................................................. 219
Purpose ............................................................................................................................................................................... 219
When to use ........................................................................................................................................................................ 220
Methods and assumptions .................................................................................................................................................. 221
How to use .......................................................................................................................................................................... 222
Hydrate Check ......................................................................................................................................................................... 223
HydrateCheck - Purpose ..................................................................................................................................................... 223
HydrateCheck - When to use .............................................................................................................................................. 224
HydrateCheck - Methods and assumptions ........................................................................................................................ 225
HydrateCheck - Limitations ................................................................................................................................................. 227
HydrateCheck - How to use ................................................................................................................................................ 228
Hydrate Kinetics ...................................................................................................................................................................... 229
Purpose ............................................................................................................................................................................... 229
When to use ........................................................................................................................................................................ 230
Methods and assumptions .................................................................................................................................................. 231
Limitations ........................................................................................................................................................................... 233
How to use .......................................................................................................................................................................... 234
Inhibitor Tracking .................................................................................................................................................................... 235
Purpose ............................................................................................................................................................................... 235
When to use ........................................................................................................................................................................ 236
Methods and assumptions .................................................................................................................................................. 237
Limitations ........................................................................................................................................................................... 239
How to use .......................................................................................................................................................................... 240
Leak ............................................................................................................................................................................................ 241
Purpose ............................................................................................................................................................................... 241
When to use ........................................................................................................................................................................ 242
Methods and assumptions .................................................................................................................................................. 243
Limitations ........................................................................................................................................................................... 244
How to use .......................................................................................................................................................................... 245
Purpose .......................................................................................................................................................................

When to use .................................................................................................................................................................

Near-Wellbore .......................................................................................................................................................................... 246


Purpose ............................................................................................................................................................................... 246
When to use ........................................................................................................................................................................ 247

248
250
How to use .......................................................................................................................................................................... 251
Phase Split Node .................................................................................................................................................................... 252
Purpose ............................................................................................................................................................................... 252
When_to_use ...................................................................................................................................................................... 253
Methods_and_assumptions ................................................................................................................................................ 254
Limitations ........................................................................................................................................................................... 255
How_to_use ........................................................................................................................................................................ 256
Pig ............................................................................................................................................................................................... 257
Purpose ............................................................................................................................................................................... 257
When to use ........................................................................................................................................................................ 258
Methods and assumptions .................................................................................................................................................. 259
Limitations ........................................................................................................................................................................... 261
How to use .......................................................................................................................................................................... 262
Process Equipment ................................................................................................................................................................ 263
Check Valve ........................................................................................................................................................................ 263
Purpose ....................................................................................................................................................................... 263
When to use ................................................................................................................................................................. 264
Methods and assumptions ............................................................................................................................................. 265
Limitations ................................................................................................................................................................... 266
How to use ................................................................................................................................................................... 267
Compressor ........................................................................................................................................................................ 268
Purpose ....................................................................................................................................................................... 268
Methods and assumptions ............................................................................................................................................. 269
Limitations ................................................................................................................................................................... 274
How to use ................................................................................................................................................................... 275
Gas Lift Valve ...................................................................................................................................................................... 276
Purpose ....................................................................................................................................................................... 276
When to use ................................................................................................................................................................. 277
Methods and assumptions ............................................................................................................................................. 278
Limitations ................................................................................................................................................................... 281
How to use ................................................................................................................................................................... 282
Heat Exchanger .................................................................................................................................................................. 283
Purpose ....................................................................................................................................................................... 283
When to use ................................................................................................................................................................. 284
Methods and assumptions ............................................................................................................................................. 285
Limitations ................................................................................................................................................................... 286
How to use ................................................................................................................................................................... 287
Pump .................................................................................................................................................................................. 288
Purpose ....................................................................................................................................................................... 288
When to use ................................................................................................................................................................. 289
Methods and assumptions ............................................................................................................................................. 290
Limitations ................................................................................................................................................................... 299
How to use ................................................................................................................................................................... 300
Separator ............................................................................................................................................................................ 304
Purpose ....................................................................................................................................................................... 304
When to use ................................................................................................................................................................. 305
Methods and assumptions ............................................................................................................................................. 306
Methods and assumptions ..................................................................................................................................................

Limitations ...........................................................................................................................................................................

309
How to use ................................................................................................................................................................... 310
Valve ................................................................................................................................................................................... 312
Purpose ....................................................................................................................................................................... 312
When to use ................................................................................................................................................................. 313
Choke - Methods and assumptions ................................................................................................................................. 314
Valve - Methods and assumptions ................................................................................................................................... 317
Valve - Cv To Area ......................................................................................................................................................... 319
Limitations ................................................................................................................................................................... 320
How to use ................................................................................................................................................................... 321
Single Component .................................................................................................................................................................. 322
Purpose ............................................................................................................................................................................... 322
When to use ........................................................................................................................................................................ 323
Methods and assumptions .................................................................................................................................................. 324
How to use .......................................................................................................................................................................... 329
Slug Tracking ........................................................................................................................................................................... 330
Purpose ............................................................................................................................................................................... 330
When to use ........................................................................................................................................................................ 331
Methods and assumptions .................................................................................................................................................. 332
Limitations ........................................................................................................................................................................... 334
How to use .......................................................................................................................................................................... 335
Slug Tuning .............................................................................................................................................................................. 338
Purpose ............................................................................................................................................................................... 338
When to use ........................................................................................................................................................................ 339
Methods and assumptions .................................................................................................................................................. 340
Limitations ........................................................................................................................................................................... 341
How to use .......................................................................................................................................................................... 342
Source ........................................................................................................................................................................................ 343
Purpose ............................................................................................................................................................................... 343
When to use ........................................................................................................................................................................ 344
Methods and assumptions .................................................................................................................................................. 345
How to use .......................................................................................................................................................................... 349
Steady State Processor ......................................................................................................................................................... 350
Purpose ............................................................................................................................................................................... 350
When to use ........................................................................................................................................................................ 351
Methods and assumptions .................................................................................................................................................. 352
Limitations ........................................................................................................................................................................... 353
How to use .......................................................................................................................................................................... 354
Steam\Water-HC ..................................................................................................................................................................... 355
Purpose ............................................................................................................................................................................... 355
When to use ........................................................................................................................................................................ 356
Methods and assumptions .................................................................................................................................................. 357
How to use .......................................................................................................................................................................... 361
Thermal Components ............................................................................................................................................................ 362
Annulus ............................................................................................................................................................................... 363
Purpose ....................................................................................................................................................................... 363
When to use ................................................................................................................................................................. 364
Methods and assumptions ............................................................................................................................................. 365
Limitations ................................................................................................................................................................... 366
How to use ................................................................................................................................................................... 367
FEMTherm .......................................................................................................................................................................... 368
Purpose ....................................................................................................................................................................... 368
Limitations ...................................................................................................................................................................

369
Methods and assumptions ............................................................................................................................................. 370
Limitations ................................................................................................................................................................... 375
How to use ................................................................................................................................................................... 376
Bundle ................................................................................................................................................................................. 377
Purpose ....................................................................................................................................................................... 377
When to use ................................................................................................................................................................. 378
Methods and assumptions ............................................................................................................................................. 379
Limitations ................................................................................................................................................................... 380
How to use ................................................................................................................................................................... 381
LINE .................................................................................................................................................................................... 382
Purpose ....................................................................................................................................................................... 382
When to use ................................................................................................................................................................. 383
Limitations ................................................................................................................................................................... 384
How to use ................................................................................................................................................................... 385
Thermal Computations .......................................................................................................................................................... 386
Purpose ............................................................................................................................................................................... 386
Methods and assumptions .................................................................................................................................................. 387
Limitations ........................................................................................................................................................................... 389
How to use .......................................................................................................................................................................... 390
Tracer Tracking ........................................................................................................................................................................ 391
Purpose ............................................................................................................................................................................... 391
When_to_use ...................................................................................................................................................................... 392
Methods_and_Assumptions ................................................................................................................................................ 393
Limitations ........................................................................................................................................................................... 394
How_to_use ........................................................................................................................................................................ 395
Transmitter ............................................................................................................................................................................... 206
Purpose ............................................................................................................................................................................... 206
When to use ........................................................................................................................................................................ 207
Methods and assumptions .................................................................................................................................................. 208
Limitations ........................................................................................................................................................................... 209
How to use .......................................................................................................................................................................... 210
Tuning ........................................................................................................................................................................................ 396
Tuning - Purpose ................................................................................................................................................................ 396
Tuning - When to use ......................................................................................................................................................... 397
Tuning - Methods and assumptions .................................................................................................................................... 398
Tuning - How to use ............................................................................................................................................................ 399
Water ......................................................................................................................................................................................... 400
Purpose ............................................................................................................................................................................... 400
When to use ........................................................................................................................................................................ 401
Methods and assumptions .................................................................................................................................................. 402
Limitations ........................................................................................................................................................................... 405
How to use .......................................................................................................................................................................... 406
Wax ............................................................................................................................................................................................ 408
Purpose ............................................................................................................................................................................... 408
When to use ........................................................................................................................................................................ 409
Methods and assumptions .................................................................................................................................................. 410
Limitations ........................................................................................................................................................................... 414
How to use .......................................................................................................................................................................... 415
Well ............................................................................................................................................................................................ 416
Purpose ............................................................................................................................................................................... 416
When to use ........................................................................................................................................................................ 417
When to use .................................................................................................................................................................

418
Limitations ........................................................................................................................................................................... 425
How to use .......................................................................................................................................................................... 426
REFERENCES ........................................................................................................................................................................ 428
Keywords .......................................................................................................................................................................................... 432
CaseDefinition ......................................................................................................................................................................... 435
CASE .................................................................................................................................................................................. 435
DTCONTROL ..................................................................................................................................................................... 436
FILES .................................................................................................................................................................................. 437
INTEGRATION ................................................................................................................................................................... 438
OPTIONS ........................................................................................................................................................................... 439
RESTART ........................................................................................................................................................................... 441
Compositional .......................................................................................................................................................................... 442
BLACKOILCOMPONENT .................................................................................................................................................. 442
BLACKOILFEED ................................................................................................................................................................ 443
BLACKOILOPTIONS ......................................................................................................................................................... 444
COMPOPTIONS ................................................................................................................................................................ 445
FEED .................................................................................................................................................................................. 447
Controller .................................................................................................................................................................................. 448
Algebraic Controller ............................................................................................................................................................. 448
ASC Controller .................................................................................................................................................................... 451
Cascade Controller ............................................................................................................................................................. 454
ESD Controller .................................................................................................................................................................... 457
Manual controller ................................................................................................................................................................. 459
Override Controller .............................................................................................................................................................. 461
PID Controller ..................................................................................................................................................................... 463
PSV Controller .................................................................................................................................................................... 466
Scaler Controller ................................................................................................................................................................. 468
Selector Controller ............................................................................................................................................................... 469
STD Controller .................................................................................................................................................................... 472
Switch Controller ................................................................................................................................................................. 474
Table Controller ................................................................................................................................................................... 476
Output ................................................................................................................................................................................. 477
OUTPUTDATA ............................................................................................................................................................. 477
TRENDDATA ................................................................................................................................................................ 478
FA-models ................................................................................................................................................................................. 479
FLUID ................................................................................................................................................................................. 479
SINGLEOPTIONS .............................................................................................................................................................. 481
SLUGTRACKING ............................................................................................................................................................... 483
SLUGTUNING .................................................................................................................................................................... 485
WATEROPTIONS .............................................................................................................................................................. 486
FlowComponent ...................................................................................................................................................................... 488
NODE ................................................................................................................................................................................. 488
NODE .......................................................................................................................................................................... 488
Output ......................................................................................................................................................................... 492
NODE_OUTPUTDATA .............................................................................................................................................. 492
NODE_TRENDDATA ................................................................................................................................................ 493
FLOWPATH ........................................................................................................................................................................ 494
FLOWPATH ................................................................................................................................................................. 494
Piping .......................................................................................................................................................................... 495
BRANCH .............................................................................................................................................................. 495
GEOMETRY .......................................................................................................................................................... 496
Methods and assumptions ..................................................................................................................................................

PIPE

.................................................................................................................................................................... 497

POSITION

............................................................................................................................................................. 498

499
CHECKVALVE ....................................................................................................................................................... 499
COMPRESSOR ...................................................................................................................................................... 500
HEATEXCHANGER ................................................................................................................................................. 502
LEAK ................................................................................................................................................................... 503
LOSS .................................................................................................................................................................. 505
PUMP .................................................................................................................................................................. 507
TRANSMITTER ....................................................................................................................................................... 511
VALVE ................................................................................................................................................................. 512
Boundary&InitialConditions ............................................................................................................................................ 514
HEATTRANSFER .................................................................................................................................................... 514
INITIALCONDITIONS ................................................................................................................................................ 517
NEARWELLSOURCE .............................................................................................................................................. 520
SOURCE .............................................................................................................................................................. 522
WELL .................................................................................................................................................................. 531
Output ......................................................................................................................................................................... 544
PROFILEDATA ....................................................................................................................................................... 544
OUTPUTDATA ........................................................................................................................................................ 545
TRENDDATA .......................................................................................................................................................... 546
FA-models ................................................................................................................................................................... 548
CORROSION ......................................................................................................................................................... 548
DTCONTROL ......................................................................................................................................................... 550
HYDRATECHECK ................................................................................................................................................... 551
HYDRATEKINETICS ................................................................................................................................................ 552
PIG ..................................................................................................................................................................... 554
SLUGILLEGAL ....................................................................................................................................................... 557
SLUGTRACKING .................................................................................................................................................... 558
TUNING ................................................................................................................................................................ 560
WAXDEPOSITION ................................................................................................................................................... 562
Library ........................................................................................................................................................................................ 566
DRILLINGFLUID ................................................................................................................................................................ 566
HYDRATECURVE .............................................................................................................................................................. 568
MATERIAL .......................................................................................................................................................................... 569
SHAPE ............................................................................................................................................................................... 571
TABLE ................................................................................................................................................................................ 572
TIMESERIES ...................................................................................................................................................................... 573
TRACERFEED ................................................................................................................................................................... 575
WALL .................................................................................................................................................................................. 576
Output ........................................................................................................................................................................................ 577
OUTPUT ............................................................................................................................................................................. 578
OUTPUTDATA ................................................................................................................................................................... 579
PLOT .................................................................................................................................................................................. 580
PROFILE ............................................................................................................................................................................ 581
PROFILEDATA ................................................................................................................................................................... 582
TREND ............................................................................................................................................................................... 583
TRENDDATA ...................................................................................................................................................................... 584
ProcessEquipment ................................................................................................................................................................. 585
PHASESPLITNODE ........................................................................................................................................................... 585
SEPARATOR ...................................................................................................................................................................... 587
Output ................................................................................................................................................................................. 590
ProcessEquipment ........................................................................................................................................................

590
TRENDDATA ................................................................................................................................................................ 591
ThermalComponent ............................................................................................................................................................... 592
ANNULUS .......................................................................................................................................................................... 592
ANNULUS .................................................................................................................................................................... 592
AnnulusComponents ..................................................................................................................................................... 593
COMPONENT ........................................................................................................................................................ 593
FLUIDBUNDLE .................................................................................................................................................................. 594
FLUIDBUNDLE ............................................................................................................................................................. 594
BundleComponents ....................................................................................................................................................... 595
COMPONENT ........................................................................................................................................................ 595
FEMTherm/Solidbundle ...................................................................................................................................................... 596
SOLIDBUNDLE ............................................................................................................................................................ 596
BundleComponents ....................................................................................................................................................... 598
COMPONENT ........................................................................................................................................................ 598
Drilling ........................................................................................................................................................................................ 600
TOOLJOINT ....................................................................................................................................................................... 600
How to use ....................................................................................................................................................................................... 105
2nd Order Scheme ................................................................................................................................................................. 105
Annulus ...................................................................................................................................................................................... 367
Blackoil ....................................................................................................................................................................................... 117
Check valve .............................................................................................................................................................................. 267
Complex Fluid .......................................................................................................................................................................... 121
Compositional Tracking ......................................................................................................................................................... 126
Compressor .............................................................................................................................................................................. 275
Controller .................................................................................................................................................................................. 147
Algebraic controller ............................................................................................................................................................. 147
ASC controller ..................................................................................................................................................................... 151
Cascade controller .............................................................................................................................................................. 157
ESD controller ..................................................................................................................................................................... 161
Manual controller ................................................................................................................................................................ 165
Override controller ............................................................................................................................................................... 170
PID controller ...................................................................................................................................................................... 175
PSV controller ..................................................................................................................................................................... 182
Scaler controller .................................................................................................................................................................. 186
Selector controller ............................................................................................................................................................... 191
Switch controller .................................................................................................................................................................. 200
Table controller .................................................................................................................................................................... 205
Transmitter .......................................................................................................................................................................... 210
Corrosion .................................................................................................................................................................................. 215
Drilling Fluid ............................................................................................................................................................................. 222
FEM Therm ............................................................................................................................................................................... 376
Fluid Bundle ............................................................................................................................................................................. 381
Gas Lift Valve ........................................................................................................................................................................... 282
Heat Exchanger ....................................................................................................................................................................... 287
HydrateCheck .......................................................................................................................................................................... 228
Inhibitor Tracking .................................................................................................................................................................... 240
Leak ............................................................................................................................................................................................ 245
LINE ........................................................................................................................................................................................... 385
Near-Wellbore .......................................................................................................................................................................... 251
Pig ............................................................................................................................................................................................... 262
Pump ........................................................................................................................................................................................ 300
OUTPUTDATA .............................................................................................................................................................

Separator ................................................................................................................................................................................. 310


SingleComponent ................................................................................................................................................................... 329
Slug Tracking .......................................................................................................................................................................... 335
SlugTuning ................................................................................................................................................................................ 342
Source ........................................................................................................................................................................................ 349
Steady state processor .......................................................................................................................................................... 354
SteamWater-HC ...................................................................................................................................................................... 361
Thermal computations ........................................................................................................................................................... 390
Transmitter ............................................................................................................................................................................... 210
Tuning ........................................................................................................................................................................................ 399
Valve ........................................................................................................................................................................................... 321
Water Module ........................................................................................................................................................................... 406
Wax ........................................................................................................................................................................................... 415
Well ............................................................................................................................................................................................ 426

577
Boundary Output Variables .................................................................................................................................................. 601
Branch Output Variables ....................................................................................................................................................... 605
Bundle Output Variables ....................................................................................................................................................... 608
Check valve Output Variables .............................................................................................................................................. 609
Compositional Output Variables ......................................................................................................................................... 610
Compositional slugtracking Output Variables ................................................................................................................. 614
Compressor Output Variables ............................................................................................................................................. 616
Controller Output Variables .................................................................................................................................................. 617
Conversion Factors ................................................................................................................................................................ 618
Corrosion Output Variables .................................................................................................................................................. 626
Drilling Output Variables ....................................................................................................................................................... 627
Global Output Variables ........................................................................................................................................................ 629
Heat exchanger Output Variables ....................................................................................................................................... 630
Hydrate kinetics Output Variables ...................................................................................................................................... 631
Inhibitor Output Variables ..................................................................................................................................................... 633
Leak Output Variables ........................................................................................................................................................... 634
Node Output Variables .......................................................................................................................................................... 636
Pig Output Variables .............................................................................................................................................................. 637
Pump Output Variables ......................................................................................................................................................... 639
Separator Output Variables .................................................................................................................................................. 640
Slugtracking Output Variables ............................................................................................................................................. 643
Source Output Variables ....................................................................................................................................................... 648
SteamAndSingle Output Variables ..................................................................................................................................... 650
TracerTracking Output Variables ........................................................................................................................................ 651
Valve Output Variables .......................................................................................................................................................... 653
Volume Output Variables ...................................................................................................................................................... 654
Waxdeposition Output Variables ......................................................................................................................................... 657
Well Output Variables ............................................................................................................................................................ 659
Data Files ......................................................................................................................................................................................... 660
Compressor data file .............................................................................................................................................................. 661
Wax table file ........................................................................................................................................................................... 663
Hydrate curve definition file .................................................................................................................................................. 665
OLGA Rocx ............................................................................................................................................................................... 666
Fluid Properties File ............................................................................................................................................................... 667
Feed file for compositional tracking ..................................................................................................................................... 668
PVT properties for non-existing phase ................................................................................................................................ 669
Keyword based .................................................................................................................................................................... 670
Output Variables ...........................................................................................................................................................................

671
Table Structure ............................................................................................................................................................. 672
Keyword PVTTABLE ..................................................................................................................................................... 673
Examples ..................................................................................................................................................................... 678
Standard conditions ...................................................................................................................................................... 684
Standard format .................................................................................................................................................................. 685
Complex fluid module .................................................................................................................................................... 692
Pump Data Files ..................................................................................................................................................................... 694
Pump Data Table for Centrifugal Pumps ............................................................................................................................. 695
Pump Data Table for Displacement Pumps ........................................................................................................................ 698
Restrictions and Limitations ..................................................................................................................................................... 700
Restrictions and Limitations ................................................................................................................................................. 700
Memory consumption ............................................................................................................................................................ 701
Fluid properties ........................................................................................................................................................................ 702
Input/Output Limitations ........................................................................................................................................................ 703
Standard Conditions in OLGA ............................................................................................................................................. 704
Flow Model Limitations .......................................................................................................................................................... 705
Important Numerical Recommendations .......................................................................................................................... 706
Sample cases ................................................................................................................................................................................. 708
Sample cases .......................................................................................................................................................................... 708
2nd-order scheme ................................................................................................................................................................... 709
Advanced Well ......................................................................................................................................................................... 711
Blackoil ...................................................................................................................................................................................... 712
Centrifugal Pump .................................................................................................................................................................... 714
CO2 - Single Component ...................................................................................................................................................... 716
Compositional Tracking ......................................................................................................................................................... 717
Corrosion .................................................................................................................................................................................. 719
Displacement Pump ............................................................................................................................................................... 721
Drilling Fluid ............................................................................................................................................................................. 723
Fluid bundle .............................................................................................................................................................................. 725
H2O - Single Component ...................................................................................................................................................... 727
H2O - Steam/Water-HC ........................................................................................................................................................ 728
Hydrate Kinetics ...................................................................................................................................................................... 729
Hydrodynamic slugging ......................................................................................................................................................... 731
MEG Tracking .......................................................................................................................................................................... 733
Network ..................................................................................................................................................................................... 734
PID Controller .......................................................................................................................................................................... 736
Pigging ....................................................................................................................................................................................... 738
Process Equipment ................................................................................................................................................................ 740
Pump Battery ........................................................................................................................................................................... 742
Separator .................................................................................................................................................................................. 744
Simplified Pump ...................................................................................................................................................................... 745
Solid bundle .............................................................................................................................................................................. 747
Source, Leak and Choke ....................................................................................................................................................... 749
Start-up slug ............................................................................................................................................................................. 751
Tracer Tracking ........................................................................................................................................................................ 753
Wateroptions ............................................................................................................................................................................ 755
Waxdeposition ......................................................................................................................................................................... 756
Troubleshooting ............................................................................................................................................................................. 758
Geometry Editor problems ................................................................................................................................................... 759
GUI uses a lot of Memory ..................................................................................................................................................... 760
Inp files assosciated with GUI ............................................................................................................................................. 761
The syntax of the keyword ..............................................................................................................................................

License issues ......................................................................................................................................................................... 762


Mouse pointer changed to an unrecognize symbol ........................................................................................................ 763
Plots-no units ........................................................................................................................................................................... 764
Problems showing the graphics .......................................................................................................................................... 765
Restore layout .......................................................................................................................................................................... 766
Simualtion state runnable ..................................................................................................................................................... 767
Simulation not runnable ........................................................................................................................................................ 768
Update Graphical driver ........................................................................................................................................................ 769

OLGA 7

Welcome to OLGA 6 User Manual


This is the OLGA 6 User Manual. The User Manual includes both information about the OLGA 6 engine
and the graphical user interface (GUI).
The complete program documentation includes
- Release Document for OLGA 6.2
- OLGA 6 User Manual (this document)
- OLGA 6 GUI User Manual
- OLGA 6 Conversion Guide
- Well GUI User Manual
- Tutorial
- Installation Guide
All documents listed above are available from the Start Menu (Start - All Programs - SPT Group - OLGA
6.2 - Documentation).
The OLGA 6 User Manual, OLGA 6 GUI User Manual, OLGA 6 Conversion Guide, Wells GUI User
Manual and the Tutorial are also available from the Help menu in the GUI).
User Manuals for other tools included with the OLGA 6 installation are available from the Help menus in
the tools.

1 / 769

OLGA 7

Release Information
Please refer to the Release Document for detailed release information for
OLGA 6.2.
The Release Document describes changes in OLGA 6.2 relative to OLGA 5
and OLGA 6.1, and should be read by all users of the program.
The complete program documentation consists of the OLGA User Manual,
OLGA 6 GUI User Manual, OLGA 6 Conversion Guide, Wells GUI User
Manual, Tutorial, Installation Guide, and the Release Document.
The program is available on PCs with Microsoft Windows operating
systems (Windows XP, Windows Vista and Windows 7). Several versions of
OLGA may be installed in parallel. Note that you may also run several
versions of the engine from one version of the GUI - please refer to the
Installation Guide to learn how to configure the GUI for several
engines.
The support center provides useful information about frequently asked
questions and known issues. The support center is available from the SPT
Group Support Center
Please contact SPT Group if problems or missing functionality are
encountered when using OLGA or any of the related tools included in the
OLGA software package.
E-mail: olgasupport@sptgroup.com
Telephone: +47 6484 4550
Fax: +47 6484 4500
Address: SPT Group AS, P.O. Box 113, N-2027 Kjeller

2 / 769

OLGA 7

Introduction
OLGA is the industry standard tool for transient simulation of multiphase petroleum production. The
purpose of this manual is to assist the user in the preparation of the input data for an OLGA simulation.
In this manual you can find
a general introduction to OLGA
an overview of the required and the optional input to OLGA. It also describes in some detail
different simulation options such as wax deposition, corrosion etc.
a detailed description of all input data and the required fluid property tables
a description of the output
The sample cases presented with the installation of OLGA are intended to illustrate important program
options and typical simulation output. A description of the sample cases are also included in this manual.
OLGA comes in a basic version with a number of optional modules;FEMTherm, Multiphase Pumps,
Corrosion, Wells, Slug Tracking, Wax Deposition, Inhibitor Tracking, Compositional Tracking, Single
Component Tuning, Hydrate Kinetics and Complex Fluid.
In addition there is a number of additional programs like the OLGA GUI and the FEMThermViewer for
preparation of input data and visualisation of results.
These optional modules and additional programs are available to the user according to the user's
licensing agreement with SPT Group.
See also:
Background
OLGA as a strategic tool
OLGA Model Basics
How to use in general
Graphical User Interface
Simulation model
Input files
Applications
Threaded Execution

3 / 769

OLGA 7

Background
OLGA 6 is the latest version in a continuous development which was started by the Institute for Energy
Research (IFE) in 1980. The oil industry started using OLGA in 1984 when Statoil had supported its
development for 3 years. Data from the large scale flow loop at SINTEF, and later from the medium scale
loop at IFE, were essential for the development of the multiphase flow correlations and also for the
validation of OLGA. Oil companies have since then supported the development and provided field data
to help manage uncertainty, predominantly within the OLGA Verification and Improvement Project (OVIP).
OLGA has been commercially available since the SPT Group started marketing it in 1990.
OLGA is used for networks of wells, flowlines and pipelines and process equipment, covering the
production system from bottom hole into the production system. OLGA comes with a steady state preprocessor included which is intended for calculating initial values to the transient simulations, but which
also is useful for traditional steady state parameter variations. However, the transient capabilities of
OLGA dramatically increase the range of applicability compared with steady state simulators.

4 / 769

OLGA 7

OLGA as a strategic tool

OLGA is applied for engineering throughout field life from conceptual studies to support of operations.
However the application has been extended to be an integral part of operator training simulators, used
for making operating procedures, training of operators and check out of control systems. Further, OLGA
is frequently embedded in on-line systems for monitoring of pipeline conditions and forecasting and
planning of operations.
OLGA can dynamically interface with all major dynamic process simulators, such as Hysys, DynSim,
UniSim, D-SPICE, INDISS and ASSETT. This allows for making integrated engineering simulators and
operator training simulators studying the process from bottom hole all the way through the process
facility in a single high fidelity model.
Note that the OLGA flow correlation has been implemented in all major steady state simulators providing
consistent results moving between different simulators.

5 / 769

OLGA 7

OLGA Model Basics


OLGA 6 is a three-fluid model, i.e. separate continuity equations are applied for the gas, for the oil (or
condensate) and water liquids and also for oil (or condensate) and water droplets. These may be
coupled through interfacial mass transfer. Three momentum equations are used; one for each of the
continuous liquid phases (oil/condensate and water) and one for the combination of gas with liquid
droplets. The velocity of any liquid droplets entrained in the gas phase is given by a slip relation. One
mixture energy equation is applied; assuming that all phases are at the same temperature. This yields
seven conservation equations to be solved: three for mass, three for momentum, and one for energy.
Two basic flow regime classes are recognised ; distributed and separated flow. The former comprises
bubble and slug flow [1], the latter stratified and annular mist flow.

Figure A Flow patterns in horizontal flow


Transition between the regime classes is determined by the program on the basis of a minimum slip
concept combined with additional criteria.
To close the system of equations, fluid properties, boundary and initial conditions are required.
The equations are linearised and a sequential solution scheme is applied. The pressure and
temperature calculations are de-coupled i.e. current pressure is based on previous temperature.
The semi-implicit time integration implemented allows for relatively long time steps, orders of magnitudes
longer than those of an explicit method (which would be limited by the Courant Friedrich Levy criterion
based on the speed of sound).
The numerical error is corrected for over a period of time. The error manifests as an error in local fluid
volume (as compared to the relevant pipe volume).
[1] In standard OLGA a slug unit model is applied which calculates average liquid hold-up and pressure,
but which does not give any details about individual slugs. To follow individual slugs through the system
the slug tracking module must be applied.

6 / 769

OLGA 7

How to use in general


Numerics
OLGA applies one global time-step for the time integration and there is an automatic time-step control
based on the limitation that a fluid particle should not spend less than one time-step on passing through
any numerical section length of a pipe (the Courant Friedrich Levy (CFL) criterion based on the fluid
velocity). The user controls the time integration by specifying simulation period in time, time-step
parameters such as initial time-step and maximum and minimum time-step values. The latter overrules
the automatic control. There is also an option for using the second-derivative of pressure as a time step
controlling criterion. Some functions in OLGA, e.g. slug-tracking, take control of the time-stepping in
order to ensure a successful simulation.
The spatial integration is performed on a user-defined grid. There are tools available to facilitate the
gridding. There are no formal limitations on the numerical section lengths, but it is considered good
practice to keep all neighbour section length ratios between 0.5 and 2:
0.5 Dxi/Dxi+1 2 for all i
Additionally it is recommended that each pipe should have at least two sections.
Due to the numerical solution scheme, OLGA is particularly well suited for simulating rather slow mass
flow transients. This is important for the simulation of long transport lines and thermal calculations,
where typical simulation times in the range of hours to several days, and sometimes years, will require
long time steps, to obtain efficient use of the computer.
OLGA is also being used successfully for fast transients such as water hammer and pressure surges in
general. Certain precautions w.r.t. spatial grid and time-stepping may be needed in order to keep the
numerical error within acceptable limits. Since OLGA not accounts for pipe elasticity the calculated
pressure peaks should be conservative.
The de-coupling of temperature from pressure would normally give a pressure wave propagation velocity
in gas which would be about 15% too low. However, in OLGA 6 a quasi implicit correction of temperature
reduces this error considerably.
Critical flow calculations are performed in the OLGA valve model, only. A valve with cross section equal
to the pipe should then be positioned on e.g. a pipe outlet if choked flow is expected.

Temperature
OLGA is particularly well suited for sophisticated thermal simulations. Since OLGA is one-dimensional
(calculates along the pipe axis) any 2 and 3-dimensional effects must be modelled explicitly. The basic
OLGA thermal model calculates the inner wall heat transfer coefficient. The built-in correlations are
valid for natural- and forced convection and also for the transition between them. Flow pattern
is accounted for. The user may specify pipe walls with material properties, including emissivity to
account for radiation, and must give the ambient properties, i.e. temperature and heat transfer
coefficient. Based on this the fluid temperature is calculated.
Special features like Annulus, Solid- and Fluid bundles make it possible to simulate very complex
structures of pipe-in-pipe and parallel pipes within structures of various solid materials. Taking into
account that temperature is calculated along the pipes one obtains a combination of two-dimensional
convective heat transfer within 3-dimensional heat conducting structures.
Solid bundle cross section of 4 vertical tubes within rock
neighbour tubes are 2.5 m apart. The black "line" is a 7 / 769

OLGA 7

neighbour tubes are 2.5 m apart. The black "line" is a


temperature iso-line. One clearly sees how the area between
the tubes is subject to inter-tube heating.

Initial Conditions
The requirement for initial conditions is a fundamental difference between a transient and a steady state
model, e.g. the results of a steady state calculation may serve as the initial condition (at t=0 ) for a
transient simulation.
With OLGA the user decides, and later specifies in the input, whether the simulation is to start from a
user defined condition (for instance a specific shut-in condition), or from a steady state multiphase
flowing situation calculated by the program. The steady state pre-processor in OLGA can be used to
provide good initial values for most production situation.
In addition, the user may specify the initial condition in detail, for example for a shut-in system, by
defining the initial values for pressures, temperatures, mass flow and gas fractions. Tools for
interpolation are available, for filling in the initial values in all numerical sections of the system.
Finally, the restart capability may be used to start a simulation from conditions saved during a previous
simulation.

Boundary Conditions
The boundary conditions define the interface between the simulated system and its surroundings and
they are crucial to the relevance to any type of simulations. For a network of pipelines and wells there
are several options available, but basically flow rate or pressure, in addition to temperature and gasliquid ratio must be specified at each flow path inlet and outlet boundary (at least one pressure must be
given).
The boundary conditions, e.g. a pressure, can be given as time series to model a certain transient
situation.

8 / 769

OLGA 7

Moreover, the ambient temperature along the flow paths and ambient heat transfer coefficient (film heat
transfer resistance) must be specified and OLGA provides a number of options for this, including
water and air velocity profiles and seasonal variations of temperature.
Inflow from reservoirs to well-bores define the most important boundary in a petroleum production
network. In addition to various well-inflow correlations and options OLGA comes with an implicit coupling
facility to the OLGA Rocx module which is a complete 3-D, 3-phase reservoir simulator.
Separators, pumps, compressors and valves, all with controllers, can be modelled to improve the
relevance of the outlet boundaries.

Fluid properties
The necessary fluid properties (gas/liquid mass fraction, densities, viscosities, enthalpies etc.) are
normally assumed to be functions of temperature and pressure only, and have to be supplied by the user
as tables in a special input file. Thus, the total composition of the multiphase mixture is assumed to be
constant both in time and space for a given part of the network. The user may specify different fluid
property tables for each flow path, but has to ensure that a realistic fluid composition has been used to
make a table for a flow path with a fluid mixture coming from two or more pipeline branches merging
upstream.

It is also possible to perform simulations using Compositional Tracking, where the basic information on
the chemical components is provided in a separate text file and then OLGA calculates the fluid
properties internally with PVT routines provided by Calsep A/S. This means that the total composition
may vary both in time and space, and that no special considerations are needed for the downstream
system.
Special models are also available for tracking hydrate inhibitors like MEG and methanol.
The numerical solution of the OLGA model is generally able to handle multi component fluid systems but
will normally have problems with single component systems or systems with a very narrow phase
envelope.

Rheology
The standard OLGA flow models assume a Newtonian rheology (viscosities are well defined fluid
characteristics).
Dispersions and non-Newtonian behavior are quite common in petroleum production and OLGA
provides several semi-empirical models to account for more complex rheologies. In some cases the
model takes care of the rheology with a minimum of user interference (e.g. for oil-water dispersions and
also for waxy oils). For other systems the user needs to specify the various parameters for such fluids to
describe e.g. Bingham or power law non-Newtonian behavior.

Network
In OLGA the network comprises flow paths coupled with nodes which have a volume. General networks
with closed loops can then be modelled, see below. The flow paths have a user defined direction but the
flow is invariant to direction as such and any fluid phase may flow co-currently or counter-currently with
respect to the pre-defined direction at any time and position.
9 / 769

OLGA 7

Pipe-bends are not accounted for as such (except for differences in static head). The user may apply
pressure loss coefficients at boundaries between numerical sections.
Equipment is positioned on the flow path usually on a pipe-boundary. However, the separator in OLGA
is a network component similar to a node.
Controllers are specified as integral parts of the simulation model and they have their own
network formalism.

10 / 769

OLGA 7

Threaded Execution
Pipe sections belonging to the same branch may be updated in parallel. Suppose a branch has 100
sections, and that two threads are available to the OLGA engine: Section 1 and section 51 will be
updated simultaneously, then section 2 and section 52 are updated, and so on. Depending on the
computer hardware, this method can drastically reduce the time OLGA takes to advance one time-step.
Normally, you do not need to change the default settings of neither OLGA nor your operating system.
Parallel updating of segments is usually activated in the OLGA engine if your PC supports it.

Controlling the degree of parallelism


The Windows operating system decides how many threads will be used. If your PC is equipped with a
quad-core CPU, typically four threads will be simultaneously running to update four sections in parallel.
Is your CPU a single-core Intel Xeon processor with "hyper-threading" (HT), probably two engine threads
will be used. It is possible to overrule the choice of the operating system by setting the environment
variable OMP_NUM_THREADS; use Windows' Control Panel to do this. However, the preferred way to
change the degree of parallelisation is do so from the OLGA menu system. Setting the value here takes
precedence over the OMP_NUM_THREADS environment variable.
A situation where you might want to reduce the number of threads, arise if you execute parametric
studies. Given that your license permits, it would be preferable to spend the CPU's cores on
simultaneous simulations, rather than on speeding up each simulation in the study. Another situation
could be when you don't want OLGA to consume all your computing power, e.g., if you want to write a
report while OLGA is working.
Most large cases will benefit from the parallelisation. Still, please note that some of your PC's cache
memory will be used for forking and joining the threads, and doing the necessary book-keeping. As a
consequence, special cases will run faster with a single engine thread.

Parallel speed-up
The parallelisation encompasses heat calculations in section walls, updating fluid properties and
flashing, and, most importantly, calls to the flow model which decides friction factors, liquid holdup and
the flow regime. If the flow model calculations dominate the overall simulation, the utilization of the CPUs
is most efficient.

Monitoring the OLGA process


The Task Manager can be used to check how OLGA loads your CPU. When the number of engine
threads equals the number of cores (or equals two on a single core HT-CPU) you should see the CPU
usage being clearly over fifty percent when OLGA is simulating.
In the Task Manager's list of processes it is possible to view the number of threads for each process.
With 1 engine thread, it uses a total of 5 threads in batch mode, and 8 threads while running under
control of the GUI. With 2 engine threads allowed, the task manager would display 6 threads for a batch
run and 9 threads for a GUI run; with 4 engine threads the total number of threads would be 8 and 11,
respectively.

11 / 769

OLGA 7

Applications
When the resources become more scarce and complicated to get to careful design and optimisation of
the entire production system is vital for investments and revenues. The dimensions and layout of wells
and pipelines must be optimised for variable operational windows defined by changing reservoir
properties and limitations given by environment and processing facilities.
OLGA is being used for design and engineering, mapping of operational limits and to establish
operational procedures. OLGA is also used for safety analysis to assess the consequences of
equipment malfunctions and operational failures.
REFERENCES contains a list of papers describing the OLGA model and its applications.

Design and Engineering


OLGA is a powerful instrument for the design engineer when considering different concepts for
hydrocarbon production and transport - whether it is new developments or modifications of existing
installations.
OLGA should be used in the various design phases i.e. Conceptual, FEED [2] and detailed design and
the following issues should be addressed:
Design
Sizes of tubing and pipes
Insulation and coverage
Inhibitors for hydrate / wax
Liquid inventory management / pigging
Slug mitigation
Processing capacity (Integrated simulation)
Focus on maximizing the production window during field life
Initial
Mid-life
Tail
Accuracy / Uncertainty management
Input accuracy
Parameter sensitivity
Risk and Safety
Normally the engineering challenge becomes more severe when accounting for tail-end production with
reduced pressure, increasing water-cut and gas-oil ratio. This increase the slugging potential while fluid
temperature reduces which in turn increase the need for inhibitors and the operational window is
generally reduced.

12 / 769

OLGA 7

Operation
OLGA should be used to establish
Operational procedures and limitations
Emergency procedures
Contingency plans
OLGA is also a very useful tool for operator training
Training in flow assurance in general
Practicing operational procedures
Initial start up preparations
When systems become more complex and critical e.g. with long and deep
Flow lines/risers, start-up situations need to be forecasted on a short-term basis and
OLGA is regularly being used for assistance at start-up.
Some typical operational events suitable for OLGA simulations are discussed below.

Pipeline shut-down
If the flow in a pipeline for some reason has to be shut down, different procedures may be investigated.
The dynamics during the shut-down can be studied as well as the final conditions in the pipe. The liquid
content is of interest as well as the temperature evolution in the fluid at rest since the walls may cool the
fluid below a critical temperature where hydrates may start to form.
Pipeline blow-down
One of the primary strategies for hydrate prevention in case of a pipeline shut-down is to blow down.
The primary aim to reduce the pipeline pressure below the pressure where hydrates can form. Main
effect that can be studied are the liquid and gas rates during the blow-down, the time required and the
final pressure.
Pipeline start-up
The initial conditions of a pipeline to be started is either specified by the user or defined by a restart from
a shut-down case. The start-up simulation can determine the evolution of any accumulated liquid slugs
in the system. A start-up procedure is often sought whereby any terrain slugging is minimised or
altogether avoided. The slug tracking module is very useful in this regard.
In a network case a strategy for the start-up procedure of several merging flow lines could be particularly
important.

Change in production
Sometimes the production level or type of fluid will change during the lifetime of a reservoir. The
modification of the liquid properties due to the presence of water, is one of the important effects
accounted for in OLGA.
A controlled change in the production rate or an injection of another fluid are important cases to be
simulated. Of particular interest is the dynamics of network interactions e.g. how the transport line
operation is affected by flow rate changes in one of several merging flow lines.

Process equipment
Process equipment can be used to regulate or control the varying flow conditions in a multi-phase flow
line. This is of special interest in cases where slugging is to be avoided.
The process equipment simulated in OLGA includes critical- and sub-critical chokes with fixed or
controlled openings, check-valves, compressors with speed and anti- surge controllers, separators, heat
13 / 769

OLGA 7

exchangers, pumps and mass sources and sinks.

Pipeline pigging
OLGA can simulate the pigging of a pipeline. A user specified pig may be inserted in the pipeline in
OLGA at any time and place. Any liquid slugs that are created by the pig along the pipeline can be
followed in time. Of special interest is the determination of the size and velocity of a liquid slug leaving
the system ahead of a pig that has been inserted into a shut-down flow line.
Hydrate control
Hydrate prevention and control are important for flow assurance. Passive and active control strategies
can be investigated: Passive control is mainly achieved by proper insulation while there are several
options for active control which can be simulated with OLGA: Bundles, electrical heating, inhibition by
additives like MEG.
Wax deposition
In many production systems wax would tend to deposit on the pipe wall during production. The wax
deposition depends on the fluid composition and temperature. OLGA can model wax deposition as
function of time and location along the pipeline.
Tuning
Even if the OLGA models are sophisticated models made for conceptual studies and engineering will be
based on input and assumptions which are not 100% relevant for operations. Therefore OLGA is
equipped with a tuning module which can be used on-line and off-line to modify input parameters and
also critical model parameters to match field data.
Wells
- Flow stability e.g. permanent or temporary slugging, rate changes
- Artificial lift for production optimization
- Shut-in/start-up - water cut limit for natural flow
- Cross flow between layers under static conditions
- WAG injection
- Horizontal wells / Smart wells
- Well Clean-up and Kick-off
- Well Testing
- Well control and Work-over Solutions

Safety Analysis
Safety analysis is an important field of application of OLGA. OLGA is capable of describing propagation
of pressure fronts. For such cases the time step can be limited by the velocity of sound across the
shortest pipe section.
OLGA may be useful for safety analysis in the design phase of a pipeline project, such as the positioning
of valves, regulation equipment, measuring devices, etc. Critical ranges in pipe monitoring equipment
may be estimated and emergency procedures investigated.
Consequence analysis of possible accidents is another interesting application. The state of the pipeline
after a specified pipe rupture or after a failure in any process equipment can be determined using OLGA.
Simulations with OLGA can also be of help when defining strategies for accident management, e.g. well
killing by fluid injection.
Finally it should be mentioned that the OLGA model is well suited for use with simulators designed for
particular pipelines and process systems. Apart from safety analysis and monitoring, such simulators are
powerful instruments in the training of operators.
14 / 769

OLGA 7

powerful instruments in the training of operators.


[2] Front End Engineering and Design

15 / 769

OLGA 7

Input files
The OLGA simulator uses text files for describing the simulation model:

.opi; generated and used by the OLGA GUI


.inp; input format used by OLGA 5 and earlier versions
.key; input format used by OLGA
The .key format has been introduced as the new input file format for the OLGA engine. The OLGA GUI
will automatically generate files in this format (with the extension .genkey). The .key format reflects the
network model described in the simulation model and should be the preferred format.
In addition to the simulation file, OLGA handles input in several other formats as described in Data files.

Simulation description
The input keywords are organised in Logical sections, with Case level at the top, followed by the
various network components and then the connections at the end.

Case level
Case level is defined as the global keywords specified outside of the network components and
connections. Case level keywords can be found in the CaseDefinition, Library, FA-models and Output
sections.
The following keywords must or can be defined at Case level:
CaseDefinition; CASE, FILES, INTEGRATION, OPTIONS, DTCONTROL, RESTART
Library; MATERIAL, WALL, SHAPE, TABLE, DRILLINGFLUID, HYDRATECURVE
Compositional; COMPOPTIONS, FEED, BLACKOILOPTIONS, BLACKOILCOMPONENT,
BLACKOILFEED, SINGLEOPTIONS
FA-models; CORROSION, FLUID, WATEROPTIONS, SLUGTRACKING, TUNING, SLUGTUNING
Output; OUTPUT, TREND, PROFILE, PLOT, OUTPUTDATA, TRENDDATA, PROFILEDATA
Drilling; TOOLJOINT
CASE PROJECT="OLGA Manual", TITLE="Example case", AUTHOR="SPT Group AS"
INTEGRATION STARTTIME=0, ENDTIME=7200, DTSTART=0.1, MINDT=0.1, MAXDT=5
FILES PVTFILE=fluid.tab
MATERIAL LABEL=MAT-1, DENSITY=0.785E+04, CAPACITY=0.5E+03,
CONDUCTIVITY=0.5E+02
WALL LABEL=WALL-1, THICKNESS=(0.9000E-02, 0.2E-01), MATERIAL=(MAT-1, MAT-1)

Network components
The network components are the major building blocks in the simulation network.
Each network component is enclosed within start (NETWORKCOMPONENT) and end
(ENDNETWORKCOMPONENT) tags as shown below. Each data group belonging to this network
component will be written within these tags.
NETWORKCOMPONENT TYPE=FlowPath, TAG=FP_BRAN
...
ENDNETWORKCOMPONENT

The following network component keywords can be specified (see links for further details on each
component):

16 / 769

OLGA 7

component):
FlowComponent;FLOWPATH, NODE
ProcessEquipment;PHASESPLITNODE, SEPARATOR
Controller;CONTROLLER
ThermalComponent;ANNULUS, FLUIDBUNDLE, SOLIDBUNDLE
FLOWPATH
Piping
The flowpath can be divided into several pipes, which can have an inclination varying from the other
pipes in the flowpath. Each pipe can again be divided into sections as described above. All sections
defined within the same pipe must have the same diameter and inclination. Each pipe in the system can
also have a pipe wall consisting of layers of different materials.
The following keywords are used for Piping:
BRANCH; Defines geometry and fluid labels.
GEOMETRY; Defines starting point for flowpath.
PIPE; Specifies end point or length and elevation of a pipe. Further discretization, diameter, inner
surface roughness, and wall name are specified.
POSITION; Defines a named position for reference in other keywords.
BRANCH LABEL=BRAN-1, GEOMETRY=GEOM-1, FLUID=1
GEOMETRY LABEL=GEOM-1
PIPE LABEL=PIPE-1, DIAMETER=0.12, ROUGHNESS=0.28E-04, NSEGMENT=4,
LENGTH=0.4E+03, ELEVATION=0, WALL=WALL-1

Boundary&Initialconditions
For the solution of the flow equations, all relevant boundary conditions must be specified for all points in
the system where mass flow into or out of the system. Initial conditions at start up and parameters used
for calculating heat transfer must also be specified.
The following keywords are used for Boundary & Initial conditions:
HEATTRANSFER; Definition of the heat transfer parameters.
INITIALCONDITION; Defines initial values for flow, pressure, temperature and holdup.
INITIALCONDITIONS is not required when a steady state calculation is performed.
NEARWELLSOURCE; Defines a near-wellbore source used together with OLGA Rocx.
SOURCE; Defines a mass source with name, position, and data necessary for calculating the mass
flow into or out of the system. The source flow can be given by a time series or determined by a
controller.
WELL; Defines a well with name, position and flow characteristics.
HEATTRANSFER PIPE=ALL, HAMBIENT=6.5, TAMBIENT=6, HMININNERWALL=0.5E+03
SOURCE LABEL=SOUR-1-1, PIPE=1, SECTION=1, TIME=0, TEMPERATURE=62,
GASFRACTION=-1, TOTALWATERFRACTION=-1, PRESSURE=70 bara, DIAMETER=0.12,
SOURCETYPE=PRESSUREDRIVEN

Process Equipment
In order to obtain a realistic simulation of a pipeline system, it is normally required to include some
process equipment in the simulation. OLGA supports a broad range of different types of process
equipment, as shown below.
It should be noted that the steady state preprocessor ignores the process equipment marked with (*) in
the list below.
17 / 769

OLGA 7

the list below.


The following keywords are used for Process equipment:
CHECKVALVE (*); Defines name, position and allowed flow direction for a check valve.
COMPRESSOR (*); Defines name, position and operating characteristics of a compressor.
HEATEXCHANGER; Defines name, position and characteristic data for a heat exchanger.
LOSS; Defines name, position and values for local pressure loss coefficients.
LEAK; Defines the position of a leak in the system with leak area and back pressure. The leak can
also be connected to another flowpath to simulate gas lift etc.
PUMP (*); Defines name, type and characteristic data for a pump.
TRANSMITTER (*); Defines a transmitter position.
VALVE; Defines name, position and characteristic data for a choke or a valve.
VALVE LABEL=CHOKE-1-1, PIPE=PIPE-1, SECTIONBOUNDARY=4, DIAMETER=0.12,
CD=0.7, TIME=0, OPENING=1.0

Output
OLGA provides several output methods for plotting simulation results.
The following keywords are used for Output:
OUTPUT(DATA); Defines variable names, position and time for printed output.
PLOT; Defines variable names and time intervals for writing of data to the OLGA viewer file.
PROFILE(DATA); Defines variable names and time intervals for writing of data to the profile plot
file.
TREND(DATA); Defines variable names and time intervals for writing of data to the trend plot file.
TRENDDATA PIPE=1, SECTION=1, VARIABLE=(PT bara, TM, HOLHL, HOLWT)
PROFILEDATA VARIABLE=(GT, GG, GL)

NODE
Boundary&Initialconditions
PARAMETERS; A collection keyword for all node keys. This keyword is hidden in the GUI.
Output
OLGA provides several output methods for plotting simulation results.
The following keywords are used for Output:
OUTPUTDATA; Defines variable names, position and time for printed output.
TRENDDATA; Defines variable names and time intervals for writing of data to the trend plot file.
NETWORKCOMPONENT TYPE=Node, TAG=NODE_INLET
PARAMETERS LABEL=INLET, TYPE=CLOSED
ENDNETWORKCOMPONENT
NETWORKCOMPONENT TYPE=Node, TAG=NODE_OUTLET
PARAMETERS LABEL=OUTLET, GASFRACTION=-1, PRESSURE=50 bara, TEMPERATURE=32,
TIME=0, TOTALWATERFRACTION=-1, TYPE=PRESSURE, FLUID=1
ENDNETWORKCOMPONENT

PHASESPLITNODE
18 / 769

OLGA 7

Boundary&Initialconditions
PARAMETERS; A collection keyword for all phase split node keys. This keyword is hidden in the
GUI.
Output
OLGA provides several output methods for plotting simulation results.
The following keywords are used for Output:
OUTPUTDATA; Defines variable names, position and time for printed output.
TRENDDATA; Defines variable names and time intervals for writing of data to the trend plot file.
SEPARATOR
Boundary&Initialconditions
PARAMETERS; A collection keyword for all separator keys. This keyword is hidden in the GUI.
Output
OLGA provides several output methods for plotting simulation results.
The following keywords are used for Output:
OUTPUTDATA; Defines variable names, position and time for printed output.
TRENDDATA; Defines variable names and time intervals for writing of data to the trend plot file.
CONTROLLER
Boundary&Initialconditions
PARAMETERS; A collection keyword for all controller keys. This keyword is hidden in the GUI.
Output
OLGA provides several output methods for plotting simulation results.
The following keywords are used for Output:
OUTPUTDATA; Defines variable names, position and time for printed output.
TRENDDATA; Defines variable names and time intervals for writing of data to the trend plot file.
NETWORKCOMPONENT TYPE=ManualController, TAG=SetPoint-1
PARAMETERS SETPOINT=(2:0.1,2:0.2,0.3), TIME=(0,2000,2010,4000,4010) s,
STROKETIME=0.0, MAXCHANGE=1.0
ENDNETWORKCOMPONENT

ANNULUS
Initialconditions
PARAMETERS; A collection keyword for all annulus keys. This keyword is hidden in the GUI.
AmbientConditions
AMBIENTDATA; A collection keyword for specifying the Annulus ambient conditions.
AnnulusComponents
COMPONENT; A component to place within the annulus definition.
19 / 769

OLGA 7

Output
PROFILEDATA; Defines variable names and time intervals for writing of data to the profile plot file.
TRENDDATA; Defines variable names and time intervals for writing of data to the trend plot file.
FLUIDBUNDLE
Initialconditions
PARAMETERS; A collection keyword for all fluid bundle keys. This keyword is hidden in the GUI.
AmbientConditions
AMBIENTDATA; A collection keyword for specifying the fluid bundle ambient conditions.
BundleComponents
COMPONENT; A component to place within the fluid bundle definition.
Output
PROFILEDATA; Defines variable names and time intervals for writing of data to the profile plot file.
TRENDDATA; Defines variable names and time intervals for writing of data to the trend plot file.
SOLIDBUNDLE
Initialconditions
PARAMETERS; A collection keyword for all solid bundle keys. This keyword is hidden in the GUI.
AmbientConditions
AMBIENTDATA; A collection keyword for specifying the solid bundle ambient conditions.
BundleComponents
COMPONENT; A component to place within the solid bundle definition.
Output
PROFILEDATA; Defines variable names and time intervals for writing of data to the profile plot file.
TRENDDATA; Defines variable names and time intervals for writing of data to the trend plot file.

Connections
The CONNECTION keyword is used to couple network components, such as a node and a flowpath.
Each flowpath has an inlet and an outlet terminal that can be connected to a node terminal. Boundary
nodes (i.e. CLOSED, MASSFLOW, PRESSURE) has one terminal, while internal nodes has an arbitrary
number of terminals where flowpaths can be connected to.
CONNECTION TERMINALS = (FP_BRAN INLET, NODE_INLET FLOWTERM_1)
CONNECTION TERMINALS = (FP_BRAN OUTLET, NODE_OUTLET FLOWTERM_1)

Separator and PhaseSplitNode has special handling of terminals.


The CONNECTION keyword is also used for coupling signal components.
CONNECTION TERMINALS = (FP_BRAN SOUR-1-1@INPSIG, SETPOINT-1 OUTSIG_1)

See also connecting the controllers for more information.


20 / 769

OLGA 7

Example file
The keyword examples shown above can be combined to an OLGA .key file.
CASE PROJECT="OLGA Manual", TITLE="Example case", AUTHOR="SPT Group AS"
INTEGRATION STARTTIME=0, ENDTIME=7200, DTSTART=0.1, MINDT=0.1, MAXDT=5
FILES PVTFILE=fluid.tab
MATERIAL LABEL=MAT-1, DENSITY=0.785E+04, CAPACITY=0.5E+03,
CONDUCTIVITY=0.5E+02
WALL LABEL=WALL-1, THICKNESS=(0.9000E-02, 0.2E-01), MATERIAL=(MAT-1, MAT-1)
NETWORKCOMPONENT TYPE=FlowPath, TAG=FP_BRAN
BRANCH LABEL=BRAN-1, GEOMETRY=GEOM-1, FLUID=1
GEOMETRY LABEL=GEOM-1
PIPE LABEL=PIPE-1, DIAMETER=0.12, ROUGHNESS=0.28E-04, NSEGMENT=4,
LENGTH=0.4E+03, ELEVATION=0, WALL=WALL-1
HEATTRANSFER PIPE=ALL, HAMBIENT=6.5, TAMBIENT=6, HMININNERWALL=0.5E+03
SOURCE LABEL=SOUR-1-1, PIPE=1, SECTION=1, TIME=0, TEMPERATURE=62,
GASFRACTION=-1, TOTALWATERFRACTION=-1, PRESSURE=70 bara, DIAMETER=0.12,
SOURCETYPE=PRESSUREDRIVEN
VALVE LABEL=CHOKE-1-1, PIPE=PIPE-1, SECTIONBOUNDARY=4, DIAMETER=0.12,
CD=0.7, TIME=0, OPENING=1.0
TRENDDATA PIPE=1, SECTION=1, VARIABLE=(PT bara, TM, HOLHL, HOLWT)
PROFILEDATA VARIABLE=(GT, GG, GL)
ENDNETWORKCOMPONENT
NETWORKCOMPONENT TYPE=Node, TAG=NODE_INLET
PARAMETERS LABEL=INLET, TYPE=CLOSED
ENDNETWORKCOMPONENT
NETWORKCOMPONENT TYPE=Node, TAG=NODE_OUTLET
PARAMETERS LABEL=OUTLET, GASFRACTION=-1, PRESSURE=50 bara, TEMPERATURE=32,
TIME=0, TOTALWATERFRACTION=-1, TYPE=PRESSURE, FLUID=1
ENDNETWORKCOMPONENT
NETWORKCOMPONENT TYPE=ManualController, TAG=SetPoint-1
PARAMETERS SETPOINT=(2:0.1,2:0.2,0.3), TIME=(0,2000,2010,4000,4010) s,
STROKETIME=0.0, MAXCHANGE=1.0
ENDNETWORKCOMPONENT
CONNECTION TERMINALS = (FP_BRAN INLET, NODE_INLET FLOWTERM_1)
CONNECTION TERMINALS = (FP_BRAN OUTLET, NODE_OUTLET FLOWTERM_1)
CONNECTION TERMINALS = (FP_BRAN SOUR-1-1@INPSIG, SETPOINT-1 OUTSIG_1)
ENDCASE

21 / 769

OLGA 7

Simulation model
An OLGA simulation is controlled by defining a set of data groups consisting of a keyword followed by a
list of keys with appropriate values. Each data group can be seen as either a simulation object,
information object, or administration object.

Logical sections
The different keywords are divided into logical sections:

CaseDefinition; administration objects for simulation control

Library; information objects referenced in one or more simulation objects

Controller; controller simulation objects

FlowComponent; network simulation objects

Boundary&InitialConditions; simulation objects for flow in and out of flowpath

ProcessEquipment; simulation objects for flow manipulation

ThermalComponent; thermal simulation objects

FA-models; administration objects for flow assurance models

Compositional; administration and information objects for component tracking

Output; administration objects for output generation

Drilling; drilling simulation object

OLGA Well; OLGA Well simulation object

Network model
A simulation model is then created by combining several simulation objects to form a simulation network,
where information objects can be used within the simulation objects and the administration objects control
various parts of the simulation. The simulation objects can again reference both information and
administration objects.
The network objects can be of the following types:

Flowpath; the pipeline which the fluid mix flows through

Node; a boundary condition or connection point for 2 or more flowpaths

Separator; a special node model that can separate the fluid into single phases

Controller; objects that perform supervision and automatic adjustments of other parts of the
simulation network

Thermal; objects for ambient heat conditions


The simulation model can handle a network of diverging and converging flowpaths. Each flow path
consists of a sequence of pipes and each pipe is divided into sections (i.e. control volumes). These
sections correspond to the spatial mesh discretization in the numerical model. The staggered spatial
mesh applies flow variables (e.g. velocity, mass flow, flux) at section boundaries and volume variables
(e.g. pressure, temperature, mass, volume fractions) as average values in the middle of the section.
The figure below shows a flow path divided into 5 sections.

Each flowpath must start and end at a node, and there are currently three different kinds of nodes
available:

Terminal; boundary node for specifying boundary conditions

Internal; for coupling flowpaths (e.g. split or merge)

Crossover; hybrid node for creating a closed-loop network

22 / 769

OLGA 7
The figure below shows a simple simulation network consisting of three flowpaths and four nodes.

The flowpath is the main component in the simulation network, and can also contain other simulation
objects (e.g. process equipment, not shown in the figure above).
It is also possible to describe the simulation model with a text file. See Input files for further descriptions.

23 / 769

OLGA 7

Introduction
With OLGA 5 a new graphical user interface (GUI) was introduced that replaced the OLGA 2000 GUI.
OLGA 6 uses the same GUI as OLGA 5 with some additional features.
The main new features in the OLGA 6 GUI are:
Plot configurations (variables, colours, etc) may be saved as templates for easy recreation of
plots
Graphical configuration of signal network (controllers)
New graphical configuration of Bundles
New utility for running cases in batch (without having to start the GUI)
The main new features of the OLGA 5 GUI compared with the OLGA 2000 GUI are:
Graphical configuration and visualization of complex networks with
Drag and drop
Graphical copy paste
Automatic detection and classification of internal nodes
Positive flow direction can be indicated on flow path
Pressure boundary nodes are distinguished
Network coupling table with configuration capability
Design time verification of model and listing missing items
Errors are detected while the model is created
Action buttons for missing items
GEOMETRY Editor with spreadsheet type input
Copy directly from Exce
l
Both XY and Length-Elevation input are displayed.
Automatic Sectioning without simplification
Direct access to simplification procedure with new angle distribution details
Automatic inversion of pipe profiles which facilitates e.g. annular models
New Plotting Functions
Select variables from a complete list with descriptions
Make your own standard sets of variables with units
Within a graph - copy directly to and from Excel
Spreadsheet type input and visualization of input series
New Parametric study function
New RESTART function
Context sensitive help

24 / 769

OLGA 7

New Project
A new project is defined by:

Select File/New/Project
Ctrl+Shift+N
Click the New Case icon

or New Project at the base of the Start Page.

When starting a new project a new folder can optionally be created by checking the Create folder box.

25 / 769

OLGA 7

New case
A new case is defined in one of the following ways:

Select File/New/Case (you will be taken into a dialog to create a new project if not already
done)
Ctrl+N
Click the New Case icon
Then, the window below appears:

Enter a case name (or use default), fill in location (or use default) and select template.

OLGA Case File. This generates an empty case.


OLGA Basic Case. This generates a complete basic case. Ready for simulation.
OLGA Network case. This generates a complete basic case with an internal
merge node.

26 / 769

OLGA 7

Open existing case


You may open an existing Project, an existing OLGA case or an existing OLGA 2000 case (*.inp). If you
open an existing case after you have opened or created a project the case will be added to the project.
However, if you open an existing case without having a project, a project with the case name is created.
You should save this project immediately.
Open project
Select either of these:
Select File/Open/Project
Ctrl+Shift+o
and open a file with extension .opp.
Open case
Select either of these:
Select File/Open/Case
Ctrl+o
Click the Open Case icon
and open a file with extension .opi, .key or .inp.

27 / 769

OLGA 7

Start page
When opening the OLGA graphical user interface the Start page will appear. The central window contains
a list of recent projects and the date when they were last modified. A project can be opened by double
clicking on the case name.
A new project can be started from the New Project button at the bottom of the screen.

See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings

28 / 769

OLGA 7

Model view

The Model View is used for navigation between the objects of the system. The objects are ordered
hierarchically with a Project on top comprising one or more cases. A case contains Case Definitions,
Libraries, Output, Network Connections and Network Components.

Case Definitions describe information common to the whole system simulated.


Network Components describe the properties of the flow network (currently either a node or a
flow path).
Libraries contain keywords that can be accessed globally (for instance Material and Wall).
Output contains global output definitions, such as plotting intervals for trend, profile and
output.
FA-models contains input to flow assurance models.
Compositional has input to the compositional model.
Advanced thermal contains input to the FEMTherm and bundle models and input to annulus
calculations.
When selecting an object in the project explorer, the object is made active and its properties may be
edited in the Properties view.
The model view contains input for all cases in the project. Switching between the different cases is done
by clicking on the file name in model view.
See also
29 / 769

OLGA 7

Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings

30 / 769

OLGA 7

File view
The File View shows the input files of the project.
By right clicking on a file the file can be removed or opened. If the file is a .opi-file (case-file) you get the
option to open it as a text file. The text file is the OLGA 6 .key-format which resembles the OLGA 2000
inp-format. You may edit the key-file, save it and then reopen the case from the edited key fileby
selecting 'reload from text file'

See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings

31 / 769

OLGA 7

Component view

Simulation objects may be fetched from the Components window by Drag&Drop onto the Graphical
Editor. Only objects available at the network level presented are available. This means that e.g. process
equipment can be introduced this way only when the Flowpath is open.
See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings

32 / 769

OLGA 7

Property editor
The Properties window is a common interface to all simulation objects
(keywords). Here the objects are defined setting values on the different
keys. The left column gives the property name (currently the key name),
the right its value.
Units may be altered as shown in the figure. By default the value will
update when the unit is changed. To keep the value: Press the Shift
key while changing the unit.
When a property is selected, a description is shown in the field at the
bottom.
Values may be inserted by typing or by selecting one or several values
presented by the interface.
The colours of the keys are the following meaning:
Black :
Key can be given but not required.
Red :
Key required.
Grey :
Key can not be given.
Note that the colours will change as input is given. As an example: Two
keys are mutually exclusive and one of them must be given. Both will then
initially be red (required). When a value is given for one of the keys its
colour will change to black (key is given and no more input required for that
key) while the other key will turn grey (can not be given).

Some keywords have a special property page to make the process of


entering data easier. These property pages can be accessed through the
property editor button at the top bar of the property editor window.

33 / 769

OLGA 7

See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings

34 / 769

OLGA 7

Network view
Below you see a snapshot from the GUI with the template case Case0 loaded. All the windows are
described in the following sections. The windows may be moved around (outside or inside the frame)
and may be docked as described in Moving windows .

Click left button on canvas and


use mouse wheel to zoom in/out

The central view in the figure above shows the Network view with its Graphical editor functions.
Zooming in and out is done by the mouse wheel.
Moving the mouse while the left mouse button is held down will move the layout within the
window.
Pressing Q adjusts the graphical view to the frames. Holding Shift and pressing Q zooms out in
steps.
Focus is shifted away from selected objects by pointing to the background while holding down
the Shift key.
Nodes and flow lines are drawn schematically. Network components (Nodes and Flowpaths) can be
dragged into this view from the Components window. Sources, Pressure boundaries and Process
equipment are visible and their properties may be entered or modified by selecting the object (left-click)
and filling in their "Properties. In the figure the properties of the NODE OUTLET are shown to the right.

35 / 769

OLGA 7

The window above is the 2-dimensional Flowpath view which shows one Flowpath at the time. The
functions for "moving" the graph are the same as for the Network view, see flowpath view for more
details.
You can drag equipment to the canvas from the Process Equipment Components on the left. When e.g.
a valve is dropped on the canvas it "attach" to the middle of the Flowpath as illustrated below. The actual
position and other data for the valve can be entered in the Properties window for the Valve which now is
in focus (to the right).
By entering the data e.g. the PIPE and SECTIONBOUNDARY the valve will take its specified position on
the Flowpath.

36 / 769

OLGA 7

Each graphic view has its own tab and if you click on the Case0-tab (see below) you get back to the
Network view.

We shall show how you make a new Flowpath:


Start with dragging a Node from the Components window and drop it on the canvas, see above.

Then you make a new Flowpath by following the instructions in the drawing below:

37 / 769

OLGA 7

The new Node and Flowpath also appears in the Model View window, see below:

38 / 769

OLGA 7

An alternative method for adding a Flowpath.


Select the Components window

Select a FLOWPATH and drag it to the canvas. Then drag a new node to the canvas.

39 / 769

OLGA 7

Then do as illustrated below.

Re-configure the network:

40 / 769

OLGA 7

Connecting Nodes and Flowpaths can be done as follows:


Point to the red dot at one end of a Flowpath (the red dot indicates that this
end of the Flowpath is not connected).
Hold down the right mouse button, initially pointing to the blue square that
has appeared at the end of the Flowpath.
Move the mouse pointer to the Node which the Flowpath should be
connected to and release.
Select connect from the pop-up box that appears. The dot at the end of the
Flowpath turns green, indicating that a connection is established.
Alternatively:
Right-click on the view background and select Network Connections.
Select the "from-to" nodes for each Flowpath and click OK. The network
should appear as specified.

Select Red dot on Flowpath


41 / 769

OLGA 7

Right-click within the blue square and move pointer towards NODE_0. Select Connect to and release
mouse button.

Do the same with the other end of the Flowpath.

Disconnect a Flowpath from a Node by left-clicking on the Flowpath and then point to the green dot at
the end of the Flowpath. Hold down the left mouse button while moving the end of the Flowpath away
from the node and release. The dot at the end of the Flowpath should now be red, indicating that it is not
connected.

42 / 769

OLGA 7

Left-click on Flowpath, select green dot (left-click) and drag endpoint away from Node.

Right-click while pointing to an object in the Network view brings up various menus depending on the
object:
- Add
: Add items to the network object.
- Verify
: Checks input file and reports errors and missing input in the output window.
- Copy
: Copy selected item.
- Paste
: Past the copied item onto the currently selected item.
- Delete : Delete selected object.
- Properties : Starts property editor for selected object. For a Flowpath this would be to
Geometry Editor while for other items it would typically be a time series editor.
For example: pointing to a Flowpath gives the alternatives below.

43 / 769

OLGA 7

Text labels in the Network view (which reside in their separate text boxes) can be rotated and scaled in
addition to moved (except those for Flowpaths). Move is the default edit mode.
You can either select the edit mode on the toolbar

or you can type one of the following letters to change the edit mode for the selected text box.

s:

Scale: (left-click in the triangle and drag


while keeping the mouse button down)

r:

Rotate: (left-click in the sector and drag horizontally)

m:

Move: (left-click in the square and drag)

You can add fixed points on a Flowpath by pressing Ctrl while double-clicking anywhere on it. A fixed
point, indicated by a small square, appears on the Flowpath.

The fixed points can be moved to shape the Flowpath (this does not change the actual geometry of the
Flowpath).

44 / 769

OLGA 7

More points are added by repeating the Ctrl double clicking. You remove the fixed points by Ctrl double
click within its blue square.
Right-click in the Network view activates a menu with the following items:

Copy as picture:
Network Connections:

A "Case.jpg" file with the Network view is copied to the folder where the
project resides.
Opens the network overview/connection window

Network plot allows for a quasi-animated plotting of profiles in the Network view.
Configure:

Allows for (re)configuration of e.g. colours and line interpolation.

45 / 769

OLGA 7

3D View

Changes to 3D view as described in Moving view in 3D .

Show directions

Direction arrows are displayed on each Flowpath.

See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings

46 / 769

OLGA 7

Flowpath view
The actual profile of the geometry may be viewed by opening the Flow path; double click FLOWPATH in
the Model View. This opens a new tab in the Graphical Editor

showing the selected flow path only (including equipment). In the Flowpath view equipment may be
added by drag and drop from the Components window (the available components are now the ones
that are located on a specific Flowpath).

Focus an object by a left mouse click to bring up the Property editor, and the properties of the object can
be entered or modified.

47 / 769

OLGA 7

Focus is shifted away from selected objects by pointing to the background while holding down the Shift
key.
Zooming in and out is done by the mouse wheel and moving the mouse while the left mouse button is
held down will move the layout within the window.

See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings

48 / 769

OLGA 7

Connection view
The connection view is used for showing connections for a single component or all connections in a
case. The connection view can also be used to create new connections.
The connection view has two modes. The above figure shows connections for a selected component.
When a component is selected, all terminals for the component is shown in left column in the view. The
column "Connected NC" shows the name of the network component which is connected. The column
"Connected terminal" shows which terminal is used on the connected network component. In a signal
connection a variable is given. This variable is shown in the column "Variable".
Creating a new connection for a selected component:
1. Select a network component from the column "Connected NC".
Only network components with compatible terminals are shown in the list of available network
components.
2. Select a terminal on the component from the column "Connected Terminal".
After selecting a terminal, the connection is made.
3. Select a variable (only for signal connections) from the column "Variable".
The other mode is for showing all connections in the case. In this mode it is easier to see the direction of
the signals (see figure below)
Creating a new connection when showing all connections:
1. Select a network component in the column "From".
2. Select the out-signal (terminal) from this component in the column "Out".
3. Select a network component to receive the signal in the column "To".
4. Select the in-signal (terminal) in the column "In"
5. Select a variable (only for Transmitters) from the column "Variable".

49 / 769

OLGA 7

Output window
The output window (not to be confused with the OUTPUT keyword/OUTPUT File) gives information
about the state of the cases, modeling and simulations. The information comes out three categories:

Error messages (and task list) - : Cannot simulate


o
Errors in input
o
Errors from initialization phase
o
Errors during simulation
o
List of incomplete keywords.
o
Click on the symbol to go to the incomplete keyword.
Warnings - : The simulation may still be performed [1]
Information o
Simulator state changes
o
Progress during simulation
o
Any messages during simulation (info previously directed to DOS window)
The windows can be cleared from the context menu (right click).
Text can be copied:
Mark text
Right click and copy

Which Output categories are active are indicated by the "orange" background around the category
names in the top bar of the output window. A left mouse click on the text will activate and deactivate.

By default the output from the active case is shown. Output from other cases is selected from the pulldown menu at the top of the output window.

50 / 769

OLGA 7

[1] Warnings from the OLGA interpretation of fluid files which takes place when the simulation has
started are
categorized as Information
See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings

51 / 769

OLGA 7

Time series editor


Input keys that have time series can be edited in a time series editor. The time series editor is accessed
through the properties for the relevant keyword.

If there are several independent time-varying parameters within one keyword the graph of these can be
displayed by checking them in the graph legend (which shows the minimum necessary input
parameters).

You can insert columns in the spreadsheet by right-clicking on a column-header, see below.

Selecting "cancel" nullifies all actions performed within the time series editor.

52 / 769

OLGA 7

A trick: to fill in the same value for several time points: enter the value in the column for the last timepoint and then enter.

See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings

53 / 769

OLGA 7

Plotting
Trend and profile plot output as defined by the user can be viewed during and after simulation.
The plotting buttons on the top menu will show red lines when plot files are available for the active case.

TREND Plot
PROFILE Plot
Plot PVT file
Multi-case plotting
General features of the plotting tool
Export/import data

See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings

54 / 769

OLGA 7

Active case trend plot


Select trend plot with the buttons in the top menu. Trend plot gives you the menu below.
Select the variables you want to plot. Move the selection over to the upper right hand side window
where you may change units. Click OK to see the graph.

The default time unit for a Trend plot is Seconds which you change at the lower left.

55 / 769

OLGA 7

Active case profile plot


You select the profile button and then select variable(s) to plot:

You may now "play-back" the profile plot, either by dragging the slide or by clicking the green triangle.
You may also freeze a curve by clicking the "needle" button.

You get a frozen curve each time you click it. You "un-freeze" by disable the needle . The play-back is
stopped by clicking the blue square. You may play-back several profiles simultaneously, but the speed
will of course depend on your PC-capacity.

56 / 769

OLGA 7

57 / 769

OLGA 7

Fluid properties
You can use the plot-tool to plot fluid-properties. Select PVT file plot with the buttons in the top menu
(.tab).
You then select the property or properties you want to see and proceed as usual.

You may use the freeze-function as for profile plots. You click the nail and then the green triangle. You
repeat clicking the nail to freeze more curves.
The default x-axis is temperature. You can change this by moving the column header fields in the righthand side window to locate the "X-Axis" field (which is in the far right position by default) and select
Pressure instead of Temperature.

58 / 769

OLGA 7

Multi-case plotting
It is possible to plot results from several cases/projects simultaneously. For example you can plot data
from all the cases in your project (use the Plot Project button in the select variables dialog), the inactive as well as the one active. You can open several results files by the Tools -> Plot menu (select
several files, either trend (.tlp) or profile (.plt) or from within the plot tool itself by adding files, see below.
You plot as for single cases.

Note that for profile plots where different plotting intervals have been used in the different files the profile
closest to the selected time will be used and no interpolation is currently applied.

59 / 769

OLGA 7

Some general features of the plotting tool


The plotting tool is a quite sophisticated program and you have access to several functions for modifying
your graph

Add/remove data to plot:


o Right click and select Dataset /Select or
o Menu Options/Select Plot Variables
View values: Right click and select Track values
For profile plots: select plot time point with slider at bottom right
Collapse/expand axes: Right click and select
o
Axes/Collapse all or
o
Axes/Expand all
Display legend: Right click and select Show legend
Modify settings
o
Right click and select Configuration (window as below) or
o
Menu Options/Configuration
Zoom:
o
o
o

Select upper left corner with left mouse button


Drag to lower right corner while holding button
Release

Un-zoom: Do as for zoom, but drag to the left (any start and end point works)
Zoom in/zoom out/un-zoom buttons are also available

60 / 769

OLGA 7

Export/import data to/from MS Excel


Export data: In the Select variable dialog, mark the variables that you want to export and then
press the Export button. The marked variable data are then copied to the clipboard and can easily
be pasted into MS Excel. Some examples are shown below.
Paste from Excel: Select data columns in and select copy. In Plot window right click and select
Dataset->Paste.
Trend:

All the variables marked in the selection dialog are copied to separate columns in the Excel-worksheet.
Profile:

61 / 769

OLGA 7

When exporting profile variables, there are some options. First, choose the points in time that are of
interest. Secondly, choose the output grouping. On time copies the variables sorted on time, while the
On variable option copies the variables sorted on variables. See examples below:

Showing data sorted on time

Showing data sorted on variable

62 / 769

OLGA 7

Parametric Studies
Parametric studies are defined through Tools-Studies, where new studies can be added or previously
performed studies reopened.

The input screen for parametric studies is shown below.

The number of parameters is given in the field labelled "#Parameters.


At present studies can only be performed on the local machine, but the number of simultaneous
simulation can be given (#Parallel simulations). This can be useful for machines with multiple processors
or multithreading.

63 / 769

OLGA 7

The quick way to enter an equidistant parameter variation is given below:

Right-click in MASSFLOW below and select Set Value(s)

Set the e.g. the values below:

This results in the definition of 4 cases ready for running. You may save the study by clicking OK. The
study is saved in a separate folder together with the Project/Case.

64 / 769

OLGA 7

Click Run Study and observe the progress:

For more information on XY-plot and Matrix see the Tutorial (accessed from the Help menu).

65 / 769

OLGA 7

Geometry editor
Activating
Enter a new profile
Edit Geometries
Edit the table
Edit the graph
Check angle distribution
Filter the data
Complete the data
Define sectioning
Use the new geometry
Menus
Limitations

See also
Moving windows, Hot keys, Moving view in 3D, Menus, Toolbars or Properties and settings

66 / 769

OLGA 7

Activating
Pipeline profiles are edited in the Geometry Editor. The tool can be started like this:

Tools/Geometry Editor (opens with only default data) or


Select the Property page for the active geometry (opens with data for the selected geometry)

You may also select FLOWPATH (or GEOMETRY) in the Model-View and right click and then select
Properties:

You will now see this graph of the default geometry for the single branch template:

67 / 769

OLGA 7

68 / 769

OLGA 7

Enter a new profile


You can work with an existing profile in the .xy-format by File/Import and opening the relevant xy-file with
the browser (e.g. Profile-A.xy - this Geometry is given below).

You should save this new Geometry with a new label while in the Geometry Editor (e.g. GEOM-A. The
saved geometry file has the extension .geo:

You must also give the new Geometry relevant sections, diameters, roughness and walls. How to do this
is described below.
You can also copy directly from an Excel worksheet:
Open the Geometry Editor and select File New. You will get a new Geometry with one pipe and default
values as given below. The geometry is now presented in a tabular format and you can toggle between
this and the graphic format by clicking on the relevant tab.

Open the Excel-file with your profile-data, select the X-Y columns and copy.

69 / 769

OLGA 7

Select the Start Point 0, 0 in the Geometry Editor with the default geometry open and then Paste. You
will get the question below. Answer yes and the data will be pasted directly over to your open geometry.

Please observe that if your excel geometry contains fewer pipes than the one you paste over you must
delete the obsolete pipes.
You can now save this Geometry (e.g. GEOM-B) and use it for one or several Flowpaths in any model.
First you must of course complete it with sections, diameters etc., see below.

70 / 769

OLGA 7

Edit Geometries
When opening the Geometry Editor you have seen that two views are available i.e. the graph of the
profile and a table of pipes.
The two windows can be viewed simultaneously by selecting the e.g. plot tab and drag it towards the
bottom of the window (as has been done below).

See also
Edit the table
Edit the graph
Check angle distribution
Filter the data
Complete the data
Define sectioning
Use the new geometry

71 / 769

OLGA 7

Edit the table


New pipes are added, renamed or deleted, by right-clicking in the Pipe column and selecting the
relevant action.

X and Y in the table give the data for the end point of the pipe. Changing Length-Elevation affects X-Y
and vice-versa.
Units are changed by right clicking in the title cell (e.g. r;Diameter [m]) and selecting a unit.

72 / 769

OLGA 7

Edit the graph


You can also edit the Geometry by the following actions under the Actions menu:

Normal (no change)


A: Add a point
M: Move a point
D: Delete a point

Restrictions on the graphic editor can be imposed (Actions -> Restrictions):

X Fixed
(X remains fixed, Y can be changed)
X Bound (Point X-value can not be moved upstream or downstream neighbors)
Y Fixed
(Y remains fixed, X can be changed)
Y Bound (Point Y-value can not be moved above or below neighbors)
Recursive (all points downstream will follow the point that is being moved)

73 / 769

OLGA 7

Check angle distribution


You can check the angle distribution of a Geometry by selecting Tools -> Check angle distribution. You
can see the angle groups that are used by right clicking when in the output window from the angle
distribution calculation. You can also change the angel groups.
The colour of the bars and the % values in the output window indicate the difference between the
average angle of the pipes within a group and the mean value of the angle group. Green (and a low %
deviation) means a good relevance of the angle group. The % value is a numerically calculated standard
deviation divided by half of the angle group span.

74 / 769

OLGA 7

Filter the data


Select Tools/Filter. You have two options: a Box filter or a preservation of angle distribution / total
flowpath length (the algorithm is identical to the one used in the OLGA 2000 Grid Generator).

Box filter: This filter is more relevant for removing relatively small disturbances from a pipeline survey.
Enter the horizontal sample distance and the vertical sample height. These values define a moving
rectangle (a box) within which all data points will be filtered out.
The filtered data appear as a new geometry which may be further filtered/edited.
Angel distribution: Enter the maximum pipe length that shall be used to filter the profile while
maintaining the angle distribution and the total pipe length.
When filtering has been completed it is a good idea to compare the angle distributions of the original
geometry and the filtered ones. The filter with the best reproduction of the original geometry should be
used keeping in mind that the angel groups should be representative.

75 / 769

OLGA 7

Complete the data


You may want to open the e.g. GEOM-A.geo file.
All fields except the r;Length of sections are editable directly, and copy/paste may be used for single
cells. The "Length of sections" has its own input support-tools
In contrast to OLGA2000 all Pipes must have a Diameter, a Roughness and a Wall (if relevant). You can
use copy-paste functions to achieve this.
If defined in the OLGA case, walls may be selected from the drop down menu.
Within the Graph window the profile may be edited activating either of the four menu functions (found
under Actions -> Graphical):

76 / 769

OLGA 7

Define sectioning
The pipe sectioning can be performed in two ways:
1.

Manually enter number of sections in the r;# Sections column. This gives you equally long
sections for a given pipe.

2.

If you double click in the Length of Section list you enter a tool to distribute sections of various
lengths over the pipe-length.

Change (the nominal) no of sections to 3 and enter 4.75 m in Section 1 and click OK.

You get 2 sections of 4.75 m and 1 0f 4.64214 m.

77 / 769

OLGA 7

The main rule is that the tool ensures that you get a sum of sections which is equal to the pipe length.
Moreover, open section lengths mean that you repeat the value above.
The "remaining of total" is the total pipe length minus length accumulated over the section lengths
specified (including the open ones).

If you double-click in the Length of Sections field again

You get the window below and you see that the remaining now is very close to zero.

To start over again you can set # of sections to 0.


3.

Use the discretization tool (Tools/Discretize). Then all pipes are given the same selected
number of sections.

78 / 769

OLGA 7

Use the new geometry


A new geometry may be imported to a case as follows:
Open the geometry files you want to use (you can open them from the Geometry editor or in explorer)
Right click on FLOWPATH or Piping in the Model View, select r;Exchange Geometry and pick the
desired geometry.
If you use the same Geometry file for several branches you must re-label the Geometries afterwards to
secure that the labels are genuine.
You can also exchange geometries between flow paths in the same case. Select the flow path and its
Property Page of the Geometry you want to distribute to other flow paths. Then you select the flow paths
that you want to import to and select Exchange Geometry.
Select FLOWPATH and click on Properties. This opens the Geometry GEOM-1_2

Select destination FLOWPATH and click on Exchange Geometries and then on GEOM-1_2.

79 / 769

OLGA 7

Menus
The Geometry Editor features the following menus:
File
New
New geometry
Import
Import xy-data
Open
Open geometry file (*.geo)
Close
Close geometry
Save
Save geometry
Save As
Save geometry as new file
Print
Print active window
Print Preview
Print Setup
<Recent File>
Send
Exit
Edit
Undo
Cut
Copy
Paste
Configure
Configure graph window
View
Standard
Restrictions
Graph
Status Bar
Labels
Actions
Graphical
Normal/Add/Move/Delete
Restrictions
X Fixed/X Bound/Y Fixed/Y Bound/Recursive
Tools
Angle groups
Check Angle Distribution Check section lengths calculate the length ratio of adjoining sections.
Discretize Automatic pipe sectioning (all equal)
Filter
Filter data
Reset Pipe Labels
Use default pipe labeling
Reverse geometry
Creates a geometry that is the mirror image of the original geometry (in xdirection).
Window
New window
New window with active data (works on same data set)
New window
Select graph or table representation
New Horizontal Tab Group
New Vertical Tab Group
More Windows
Help
Help Topics
Not implemented
About Geometry
Version Information

80 / 769

OLGA 7

Limitations
The following important limitation applies:
1. For export to Excel, dot (r;.) must be selected as decimal separator for Excel

81 / 769

OLGA 7

Moving windows
Windows may be hidden and re-opened through the view menu. They may be detached from the frame
(floating) and may be docked again by moving the window to the border of the frame. Double click on a
floating window to move it back to the last docked position.
In the picture below the blue area indicates where the window will end up if dropped at the current
location. If the cursor is moved over one of the arrows towards the edge of the screen the window will
dock on the corresponding border of the frame. If dropped on one of the four arrows in the centre of the
screen the window will dock towards the corresponding side of the frame of the pipeline schematic
window.
Double clicking on the top bar of a docked window makes it float and double clicking on the top bar of a
floating window makes it dock.

82 / 769

OLGA 7

Hot keys
Ctrl+z
z
Leftshift+z
Mouse wheel
Delete

Undo
Enable zoom in graphical editor; mark area with mouse
Enable un-zoom in graphical editor; mark area with mouse
Zoom in or out in graphical editor
Deletes object

83 / 769

OLGA 7

Moving view in 3D
The following illustration shows how to navigate the camera in fly mode. In Orbit Mode left mouse button
+ moving the mouse will make the camera orbit around the pivot point. If you release the left mouse
button you can use the key combinations to move around.
Camera maneuvering:
Mouse wheel
Arrows
Right shift
Left shift
Left mouse button

Zoom in/out
Move camera in/out/left/right
Move up
Move down (or: Insert move down)
No selection: Rotate camera
Network selected: Rotate network (see below)

Camera Movement Speed


Slow to Fast
Keys 1 9
Rotate/Move/Scale
Rotate
Move
Scale

Select object + key R+ left mouse button + move mouse


Select object + key M + left mouse button + move mouse
Select object + key S + left mouse button + move mouse

Scene View Shortcuts


Fly Mode
Key F
Orbit Mode
Key O
Field of View
Mouse wheel, or
key Z + left mouse button + mark area, or
key Z + left mouse click (zoom in)
Left Shift + key Z + left mouse click (zoom out)
Space
Deselect interaction mode
Escape
Deselect objects
Q (in 2D View)
Zoom to extent
Delete [Del]
Delete selected object.

84 / 769

OLGA 7

Graphic Configuration
The graphical layout of individual flow paths can be changed through the Graphical configuration dialog.
The choices made her will affect only the selected flow path.

If one want to change the layout of all the flow paths, this can be done in Tools -> Options ->Graphics.

85 / 769

OLGA 7

Menus
File
New
> Project...
New
> Case...
Open
> Project...
Open
> Case...
Save Case
Save Case As...
Duplicate Case...
Save Project
Close Project
Print...
Print Preview
Print setup...
Recent projects
Recent cases
Exit

Create new project


Create new case
Open project
Open case
Save case
Save a new case
Makes a copy of the selected case
Save project
Close (and save) project
Disabled
Disabled
List of projects recently opened
List of cases recently opened
Exit

Edit
Standard windows commands
Undo
Redo
Cut
Copy
Paste
Paste special...

Disabled
Disabled

View
Select what windows and toolbars to be visible.

Project
Add New Item...
Add Existing Item...
Project Dependencies
Close Project
Simulation
Run

Same as New Case


Open an existing file e.g. an .opi file
Option to specify the dependencies between the cases

Start simulation (Start simulation in batch- messages from


simulation are sent to the Output window)

86 / 769

OLGA 7

Stop
Pause
Run Project
Run Batch
Run Project Batch

simulation are sent to the Output window)


Stop simulation. Returns to initial state
Pause simulation. Simulation may be resumed (Not implemented for
OLGA).
Start to run all cases in a project in a given order
Start simulation in a DOS-control window.
Start to run all cases in a project in a DOS-control window

Tools
The tools available are listed below.

Windows
Standard windows operations.
Help
Help topics
GUI Manual
Tutorial
About OLGA

OLGA User Manual


Opens OLGA GUI USer Manual (pdf).
Starts OLGA 6 Tutorial
Release information

87 / 769

OLGA 7

Toolbars
Standard

New case
Open case
Save
Save Project
Copy
Paste
Undo
Redo
Model view
Property editor
Components
File view
Output view
Connection view

Saves Case

Disabled

Simulate

Run
Run Batch
Verify

Start simulation
Stop
Pause
Run batch in DOS window
Verify case

Stop simulation. Returns to initial state.


Disabled

Plot

Plot current trend plot


Plot current profile plot
Plot current PVT file
View current Output File
Layout

Fit window
Move
Scale
Rotate
Circular
Grid

Moves a graphic object


Scales an object
Rotates an object
For systems with defined
Nodes placed in grid
88 / 769

OLGA 7

Hierarchical type 1 Hierarchy


Hierarchical type 2 Hierarchy
Radial
For systems with defined center
V Layout algorithm direction is vertical.
H Layout algorithm direction is horizontal.
Layout of equipment
Toggle between relative and sequential layout of inline
equipment
Snap to grid
Toggle snap to grid

89 / 769

OLGA 7

Properties and settings


The overall simulator settings are specified under Tools->Options; making it possible to work with
different simulation engines under the same GUI (this includes OLGA 2000 versions as long as it
accepts the keywords you actually use).
Settings under the General tab are:
My Project locations: Location where file dialogs will open.
Show start page at start-up: If applied - start-page with recent projects will appear when
starting the GUI. A sub-setting is "show the project list on the start-page".
Use cached static data: This is set by default during installation. The GUI will then store
certain data the first time the simulator is started. This speeds up file loading and is
recommended to obtain the best performance from the program.
The General tab can also be used to specify if the program shall execute auto-save at specified
intervals.
In the OLGA version tab one can specify which version to use by marking one of the displayed versions.
External programs that should be available from the Tools menu can be specified under the External
Tools tab. Some programs are set by default during installation and the user can specify additional
programs like Excel, a text-editor etc.
The Graphics tab is used to specify the pipeline layout view:
Turn the background grid on and off and specify the colours of the gridlines.
Set the canvas colour.
Choose the interpolation method for the flowpath lines.
Set flowpath colour.

90 / 769

OLGA 7

91 / 769

OLGA 7

Simulation with bundles


This description covers Fluid Bundles, Solid Bundles and Annuluses. In OLGA 6 these bundle types are
network components. In this chapter the simulation of bundles is illustrated by a SOLIDBUNDLE example.
To add a SOLIDBUNDLE right click the case level tab and choose Add > ThermalComponent >
SOLIDBUNDLE (see figure below).

When the Solid Bundle is added, go to the property window and specify the required
fields: DELTAT and DTPLOT. These parameters govern the frequency of updates of
output from the FEMTherm computation (i.e. the computation of temperatures in the
solid). The LABEL and MESHFINENESS fields may also be updated.
A bundle in OLGA 6 consists of several components. The components of the bundle
are flowpaths, shapes and possibly internal bundles. Note that all the components
that constitute the bundle must be defined (added) elsewhere. Flowpaths and Lines
must be defined as FlowComponents, Shapes must be defined under Library and bundles must be
defined as ThermalComponents. Position labels to use for the specification of TO and FROM must be
defined for each flowpath under "Piping".
To add a component to a bundle (i.e. to specify that it is a part of the current bundle) choose Add >
BundleComponents > COMPONENT in the Model View as shown in the figure below.

In the property window for the new component, specify the required fields:

The type of the component (specify either a FLOWPATH, a LINE, a


FLUIDBUNDLE, an ANNULUS or a SHAPE)
The start and stop position of the Bundle (TO and FROM)
The geometric center of the component (XOFFSET and YOFFSET)
The OUTERHVALUE of the component (optional)
Note that the position of the origin of any cross-sectional coordinates is irrelevant
as long as all coordinates within one and the same bundle refers to the same
coordinate system. It is only the relative cross-sectional position that matters.
92 / 769

OLGA 7

coordinate system. It is only the relative cross-sectional position that matters.

About SHAPES
A SHAPE in OLGA 6 defines the circumference of an area where a cross-sectional
temperature profile may be computed by the FEMTherm module. Within this area
heat is assumed to be transported by conduction in the radial direction.
To add a SHAPE to a case right click the Library in the Model View and choose Add >
SHAPE. In the property window for the new shape, fill out the type of the shape
(CIRCLE, ELLIPSE, RECTANGLE, POLYGON) and the material. For any type of
SHAPE the layout of the cross-section must also be defined. As illustrated by the
property window to the right, a Circle requires the specification of a radius, an ellipse
requires a width and a height, a rectangle requires the specification of coordinates of
the lower left and upper right corners, and a polygon must be defined by a series of
coordinates.

About LINES
A LINE in OLGA 6 is a flowpath for which a simplified one-phase computation is
performed. LINEs can be connected in networks, just as regular flowpaths can, but in
a LINE network all the network components must have the parameter LINE set to
YES. A complete case may contain several LINE-networks and several multiphase
networks, but the two types of networks can not be coupled to each other.
To add a line to a case in the GUI, right click the FlowComponent in the Model View
and choose Add > FLOWPATH. In the property window for the new flowpath select
LINE=YES. Then select FLUIDTYPE (gas, oil or water).
Connect the LINE to a node in the same manner as other flowpaths are connected. Note, however, that
the connected nodes must also have the parameter LINE set to YES.

About CROSSOVER nodes


A CROSSOVER node in Olga 6 is a special type of single phase node which can be
used in LINE networks only. The CROSSOVER node is a pressure boundary node
with the following additional features: It must be connected to two LINES, and it
imposes a given pressure difference (called MAXPRESSUREBOOST) between these
two lines (at the connection point).
A crossover node is added to a case in the same manner as any node is added: right
click the FlowComponent in the Model View and choose Add > NODE. In the property
window for the new node select TYPE=PRESSURE and LINE=CROSSOVER, then
enter the rest of the required fields.

93 / 769

OLGA 7

Simulation with Controllers


In OLGA 6 the controllers are signal components. Signal components are a special kind of network
components, able to transfer signals between each other. Coupling in the signal network is possible
between the following components (notice that a controller is always involved):

Pipeline section variable (via a transmitter) to controller

Inline component (ex. valve, pump, compressor etc.) to controller

Sources (source and well) to controller

Node variable to controller

Separator variable to controller

Controller to controller

Controller to inline component

Controller to separator

Controller to source
This chapter describes how to connect signal components in the GUI.

Signal network terminology


The following explanations of the terminology used for signal networks can make it easier to understand
how controllers are connected to other components.
A signal component is a component that can send and/or receive a signal. A signal component (e.g. a
controller) is connected to other signal components (e.g. a flowpath) via terminals.
Terminals are best explained with an example; A PID Controller has 3 terminals, 2 for receiving signals
(the setpoint signal terminal and the measured signal terminal) and one for sending signals (the output
signal terminal). Another signal component like a separator can send its holdup value as a signal to the
PID Controller. The holdup will be sent via the measured signal terminal of the controller. The PID
Controller will calculate an output signal based on the measured value and send it via the output signal
terminal to e.g. a valve.
A signal is just a value. There isnt much difference between a signal in a signal network and a flow in a
flow network. The flow represents a physical flow of oil, gas or water while the signal can represent
anything. The meaning of the signal to the signal component depends on which terminal that is used to
send the signal. In the example above the signal represented a measured value since it was sent via the
measured signal terminal.
A flowpath may send measured values as signals. To do this one must add a transmitter to the flowpath.
The transmitter acts as an output signal terminal for the flowpath. Most inline process equipment added to
the flowpath can act as a signal terminal for the flowpath in the same way as a transmitter (you may for
example connect a controller directly to a valve).

Graphical configurations of controller connections


Coupling of signal components is possible with two different techniques in the graphical user interface;
i) Coupling with drag and drop - or ii) Coupling through the connection view

Drag and drop coupling


The drag and drop coupling between two signal components is done in the same manner as between two
multiphase network components:
1. Click a component and drag towards another component in the signal network (see list of legal
couplings above)
94 / 769

OLGA 7

2.

Release on the second component.


A context menu is shown with available terminals to connect from and to

3.

Choose one of the available terminals to connect from (only OUTSIG_1 is available in the figure
above) and a terminal to connect to (MEASRD and SETPOINT is available in the figure above). A
connection between the two components is created.

4.

Select variable to transmit.


If the coupling is between a transmitter and a controller, a variable to be transmitted has to be given.
Setting this variable must be done in the connection view

Coupling using the connection view


The drag and drop technique for coupling components in the signal network is less practical when the
case is large with many components. Dragging from one component to another may involve zooming to
view both components, and thereby making the coupling difficult.
It is possible to connect signal components using the connection view without seeing the other
components.
In the figure below the connections for a PID-controller is shown. All terminals (in-/out-signals) for
controller CNTRL-1 are listed in column one (Terminal). Column two (Connected NC) and three
(Connected terminal) lists which network components and terminals the controller is connected to. If a
user-chosen variable is supposed to be transmitted column four (Variable) is used.
95 / 769

OLGA 7

The connection view has two modes. The above figure shows connections for a selected component.
The other mode is for showing all connections in the case. In this mode it is easier to see the direction of
the signals (see figure below)

Hiding and deleting connections


If there are many controllers the case may be too complicated to get a good overview. In such cases you
may hide the controllers and their connections. Do this by right clicking on a controller and select 'Hide'.
To hide all controllers select 'Hide all of this type'.
If you have connected a controller by mistake you may delete the connection by selecting it and pressing
the 'Delete' button. NOTE: If you delete a controller the connection is not deleted automatically - you have
to select the connection and press the 'Delete' button.

96 / 769

OLGA 7

Simulations with separators


In OLGA 6 the separator is a network component. This means that it can not be inserted into a flowpath
the same way as inline process equipment (like sources and valves).
The separator has four types of terminals, INLET, GAS, OIL and WATER (only for three-phase separator).
One or more flowpaths leads into the separator and are connected to the separator INLET terminals. It is
required to connect at least one flowpath to each terminal type. All terminals allow both in and out flow
from the separator.
A separator is connected to flowpaths much the same way as nodes. Chapter 8.1 shows how a separator
is coupled to flowpaths and nodes.

Graphical configuration and multiphase coupling of separator


The multiphase coupling of a separator is made in the same manner as a multiphase coupling between a
node and a flow path.
Add a node and a separator to your case from the component view.
Connect a flowpath from the node to the separator as follows:
1. Click the node and drag.
2. Release on separator.
3. A context menu will display which out-terminals on the node it is possible to connect from and which
in-terminals on the separator it is possible to connect to. In the figure below the flow path is connected
to the inlet terminal of the separator

Add another node to your case.


Connect a flowpath from one of the separator outlets to the node as follows:
1. Click the separator and drag.
2. Release on the node.
3. A context menu will display which out-terminals on separator it is possible to connect from and
which in-terminals on the node it is possible to connect to. In the figure below the flow path is
connected from the gas outlet terminal of the separator to node 1. The oil outlet terminal of the
separator is connected via another flowpath to node 2.
97 / 769

OLGA 7

98 / 769

OLGA 7

2nd order scheme


Mass equations can be solved with two different schemes in OLGA. The default is a 1st order scheme
(upwind implicit) and the alternative is a 2nd order TVD scheme.
The 1st order scheme is more robust and should be the preferred choice in most situations.
The 2nd order scheme has less numerical diffusion and therefore keeps holdup fronts better.
See also:
When to use
Methods and assumptions
Limitations
How to use

99 / 769

OLGA 7

When to use
The 2nd order scheme for mass equations is to be used when it is important to track relatively sharp
holdup fronts. Examples are:
1. Oil-Water fronts
2. Inhibitor fronts
3. Gas-Oil fronts

100 / 769

OLGA 7

Methods and assumptions


The 2nd order method used for the mass equations is a combination of different numerical schemes in
order to get a stable method which satisfies the TVD (Total Variation Diminishing) condition. For smooth
gradients the method is 2nd order while for non-smooth flow (shocks) the method reduces to 1st order
upstream. The smoothness of the data is measured on the control volume boundary like this

Where m is the mass and is the measure of smoothness. If < 0 the method reduces to first order
upstream and if > 0 the method uses 2nd order methods. In the 2nd order region the numerical
scheme is determined based on a 2nd order limiter. In OLGA the limiter known as the van Leer limiter is
chosen.

Simulation differences between the 1st order and 2nd order schemes

Figure 2 Profile plot of an oilwater front showing the differences between the two schemes. The
number of sections in the pipeline are 50, 100 and 500, respectively.

101 / 769

OLGA 7

Figure 3 Profile plots of a gasoil front. The number of sections in the pipeline are 50, 100, 200, 500
and 1000, respectively.

Figure 4 Trend plot showing the hold-up at the top of a riser. The number of sections in the riser are 15,
30 and 60, respectively.

102 / 769

OLGA 7

Figure 5 The above figures show profile plots of an oilwater front. Inside the area filled with water,
there are three areas containing MEG.

103 / 769

OLGA 7

Limitations
The 1st order scheme diffusive behavior reduces unphysical numerical instabilities in the simulation if
they occur. For simulations where instabilities are observed it is not recommended to use the 2nd order
scheme. For such problems the 2nd order will only make matters worse because it enhances the
numerical oscillations.
Since the 2nd order method is only implemented for the mass transport equations the final result from
the equation set will not converge to 2nd order accuracy. The improvement in the result will also differ
depending on which physical phenomena which are of interest. For example simulations where pressure
waves or temperature waves are of interest the improvement from the 2nd order method will be small.
For simulations where propagation of holdup fronts is of interest the improvement can be significant.
The 2nd order method only works if the CFL criterion is fulfilled. This means that it is not possible to
violate CFL criterion by increasing MINDT when the 2nd order options is set.

104 / 769

OLGA 7

How to use
The 2nd order scheme for the mass equations is activated by setting MASSEQSCHEME=2NDORDER
in the OPTIONS keyword.

105 / 769

OLGA 7

Blackoil
Blackoil modelling allows one to make a compositional model with a minimum of input. Compared to
compositional tracking, the blackoil module is faster in terms of CPU cycles, and it treats shut-in cases
more accurately than does the standard PVT table option.
The module makes it possible to perform calculations with a minimum of information about the
production fluids. Details about the fluid composition are not required for a blackoil simulation; specific
gravity of gas and oil and the gasoil ratio (GOR) at standard conditions are the only necessary data. If
water is present, also the specific gravity of water must be input. Note that no fluid table is needed.
A blackoil feed can consist of one gas, one oil and one water component. The gas component consists
of hydrocarbon gas, and optionally H2S, CO2 and N2 components. It is possible to specify more than
one blackoil feed, and for such a mixture each component of each feed is tracked, cf. the example
network in Figure A below. Inside the OLGA engine, the blackoil module uses the framework of the
compositional tracking module to track the components through the pipelines.
Water properties are calculated by the standard OLGA routines. The physical properties of gas and oil
are calculated from correlations belonging to a specific blackoil model the user has a choice between
four different blackoil correlations. To find the properties at a position in a pipe, the correlations use
the pressure and the temperature, as well as the specific gravities of gas, oil and water, and the GOR, at
that position. In the case of multiple feeds, the specific gravities and the GOR are mixture values. The
mixture is the average taken over the constituting blackoils weighted by volume at standard conditions.

Figure A: Network case with several blackoil fluids (feeds) specified. Each component is tracked
through the network. The fluid properties are calculated based on the fluid mixture.
See also:
When to use
Methods and assumptions
Limitations
How to use

106 / 769

OLGA 7

When to use
Due to the limited amount of input, the blackoil module can be a good choice when little is know about
the production fluids. For instance, during planning or design one may use specific gravities and a GOR
typical of the geographical area. Later when production is established, one may insert the actual values,
and possibly make use of the modules tuning mechanism to further improve the match between
observations and the predictions made by OLGA.
As mentioned above, the blackoil module is related to the compositional tracking module, and may be
preferred as the computationally faster alternative. This is due to the fact that blackoil models are
intrinsically crude, and cannot provide the detailed analyses of compositional tracking. It is however
possible to include the effects of MEG in the density calculations by specifying a larger specific gravity
for water. This method should also be used if salts are present.

107 / 769

OLGA 7

Methods and assumptions


The following three assumptions are made for the blackoil module:
1. An oil component cannot exist as gas in the gas phase. As a consequence, the module is not suited
for studying gas condensate systems. However, this assumption does not exclude the dispersion of
oil and water, the existence of water/oil droplets in the gas or gas bubbles in the liquids.
2. Gas can dissolve in oil.
3. Gas cannot dissolve in the water phase, and water cannot exist as steam in the gas phase. (This
assumption may change in a future version of OLGA.)

Blackoil Correlations
To calculate the solution gas-oil ratio RSGO and the bubble point pressure Pb, four different correlations
are available in OLGA. They are based on fluids from different areas, and have recommendation for use
as mentioned in Table 1. The default correlation is Lasater.
Table 1: Blackoil correlations and their recommended usage.
Standing /28/
API < 15 Based on fluids from California
Lasater /27/
API > 15 Based on fluids from Canada, U.S.
and South America
Vazquez & Beggs API > 15 Similar as Lasater
/29/
Glas /30/
API > 15 Based on fluids from the North Sea
These correlations can be used to calculate the bubble-point pressure, Pb, for a given GOR or an
equilibrium value of RSGO (< GOR) at any pressure below Pb. If measured values for GOR and the
bubble point Pb(Tb) are available, it is recommended to tune the correlations for RSGO(P,T) and Pb(T).
In the following, the four sets of correlations are presented with their tuning coefficients.

Lasater Correlation
The basis for the Lasater correlation is the following relationships:
(a)
with
, and

(b)

(c)

For the purpose of calculating the RSGO, the above equations are inverted with GOR replaced by
RSGO, and Pb replaced with the actual pressure P. That is, find yg from Equation (c) with P instead of
Pb, and invert Equation (c) to get RSGO, viz.:
.

(d)

Please note that if P > Pb, then RSGO = GOR.


In these equations we have that
API
= 141.5 / o - 131.5
yg
= mole fraction of gas
g
= specific gravity of gas
108 / 769

OLGA 7

= specific gravity of oil


Mo
= effective molecular weight of tank oil
GOR = gas-oil ratio
f1(yg) = tabulated function of yg
f2(API) = tabulated function of API
CPb
= tuning coefficient (default = 1)
CRSGO = tuning coefficient (default = 1)
o

Pressure must be given with a unit of psia, temperature in 0R (degrees Rankine), and GOR and RSGO
in scf/STBO.

Standing Correlation
The bubble-point pressure at a given GOR is given by
(e)
where
(f)
Symbols have the same meanings as for the Lasater correlation.
To calculate RSGO, replace Pb with the actual pressure P, and replace GOR with RSGO, and invert
Equation (f) to obtain
.

(g)

If the pressure is above the bubble-point pressure, then RSGO = GOR.


With the Standing correlation, pressure is measured in psia, and temperature is measured in 0F.

Vazques & Beggs Correlation


For API < 30:
, and
.

(h)
(i)

, and
.

(j)
(k)

For API > 30:

If P > Pb, then RSGO = GOR.


Symbols have the same meanings as for the Lasater correlation. Units for pressure and temperature
are psia and 0R, respectively.

Glas Correlations
For known GOR, the bubble-point pressure is given implicitly by
109 / 769

OLGA 7

, and

(l)

(m)

Substitute RSGO for GOR and P for Pb to obtain


.

(n)

If P > Pb, then RSGO = GOR.


Symbols have the same meanings as for the Lasater correlation. Units for pressure and temperature
are psia and 0F, respectively.

Treatment of Water
Water is treated as inert in the current version, hence no water vapour enters the gas phase, and natural
gas does not dissolve in the free water phase.
With regard to the water density and viscosity, the blackoil module uses the same built-in routines for
pure water property calculations as for the standard PVT table option.

Oil and Gas Density


The oil density depends on pressure, temperature and the amount of gas dissolved in oil. At pressures
below the bubble-point the procedure is as follows.
First, the oil volume formation factor BO is calculated, see /28/,
,

(o)

where
.

(p)

Now, the oil density is calculated as


.

(q)

The density at the bubble-point, ob, is given by the above equations with RSGO = GOR. At pressures
above the bubble-point, the compressibility is taken into account, and the density is calculated by
.

(r)

co is the isothermal compressibility of undersaturated oil.


.

(s)

Units for Equations (o) to (s): Temperature is given in 0F, pressures in psia. BO is given in bbl/STB.
The basis for calculating the gas density is the compressibility equation of state, viz.:

pV = znRT.

(t)
110 / 769

OLGA 7

When other variables have units of psia, ft3, lbm, moles and 0R, the gas constant R has the value 10.72.
Now, the gas volume formation factor, BG, can be expressed as
.

(u)

The gas density is obtained from


(v)
where gsc = 0.0764 g. (The value 0.0764 is the density of air at standard conditions expressed as
lbm/ft3). g denotes specific gravity of gas at standard conditions.
The gas compressibility z expresses the deviation of the real gas volume from the ideal gas behaviour.
The assumption that real gas mixtures will have the same z-factor for the same values of pseudoreduced
pressure Ppr and temperature Tpr, is used to determine the value of z. An algebraic relationship, cf. /28/,
has been developed, and this relates z to Ppr and Tpr. The implicit set of equations that emerges,
requires an iterative solution procedure. In order for OLGA to save CPU CYCLES, THE Z-VALUES
HAVE BEEN PRE-COMPUTED, AND TABULATED AS A FUNCTION OF PPR AND TPR.
Values for Tpr and Ppr are found from the pseudocritical temperature Tpc and the pseudocritical
pressure Ppc:

Ppr = P/Ppc and Tpr = T/Tpc.

(w)

Empirical equations exist for Ppc and Tpc, /28/, and we use them:
, and

(x)

(y)

As already mentioned, the units are psia and 0R.


The presence of CO2 and H2S is accounted for by correcting the pseudocritical values Ppc and Tpc.
Nitrogen, N2, is assumed to have no significant effect on the z-factor. The corrected values become

Tpc = Tpc - , and


Ppc = Ppc Tpc / (T pc + B(1-B) ),

(z)
(aa)

where

A = yCO2 + yH2S, B = yH2S (yCO2 and yH2S are mole-fractions),


= 120 (A0.9 - A1.6) + 15 (B0.5 - B4.0).

(ab)
(ac)

Oil and Gas Viscosity


Dead oil viscosity is calculated using the following equation:
111 / 769

OLGA 7

(ad)
Now, the live oil viscosity o is found by modifying the dead oil viscosity according to the gas
dissolved in the oil, i.e.,
,

(ae)

where
, and

(af)

Note that Covisc is a tuning coefficient; its default value is 1.


If the pressure is above the bubble pressure Pb, the above expression corresponds to the viscosity at
the bubble point ob, where RSGO = GOR. For these pressures the viscosity is modified, viz.:
, with

(ag)

Units: Pressures are measured in psia, temperatures in 0F, viscosities in cp and RSGO in scf/STB.
The gas viscosity is calculated, according to /27/, from the correlation
,

(ah)

with

A = (9.379 + 0.016Ma)T1.5 / (209.2 + 19.26Ma + T )


B = 3.448 + 986.4 / T + 0.01009Ma
C = 2.447 - 0.2224B
Ma = 29g (Ma is the apparent molecular weight)

(ai)
(aj)
(ak)
(al)

Units: g given in g/cm3; T in 0R; g in cp.


Liquid viscosity is calculated as for the standard pvt table option with oil viscosity as above.
Surface Tension
The expression for the gas-oil surface tension needs to be simple without the information about the
fluid composition. Given values of API, T (0R) and P (psia), we can use
(am)
for dead oil, and then correct the value for saturated oil at saturation pressure:
.

(an)

For undersaturated oil, the corresponding saturation pressure for P(T,RS) is used. The unit of a surface
tension is dynes/cm (1 dyne/cm = 0.001 N/m).
The expression used for the gas-water surface tension is
.

(ao)
112 / 769

OLGA 7

For oil-water surface tension empirical data are scarce, and a preliminary relation is used:
,

(ap)

with default coefficients A1 = 30.0, A2 = 0.0 and A3 = 0.0.


The above correlations are based on data from /31/ and /33/.

Thermodynamic Properties of Blackoil


SPECIFIC HEAT OF GAS
The specific heat or heat capacity of gas cpg will be tabulated as a function of temperature and specific
gravity of gas. The data are taken from /31/, Figure 4-49. It is assumed that the specific heat of a gas
mixture corresponds to the specific heat of a pure gas with the same specific gravity.
SPECIFIC HEAT OF OIL
The specific heat of oil, cpl, can be calculated using the following equation, cf. /32/:
,
(aq)
where
o = specific gravity of oil

T = temperature in 0C
The unit of cpl is kJ/kg0C.
ENTHALPY OF GAS
The enthalpy of gas, Hg is calculated from the equation
(ar)
The term (dH/dP)T can be expressed as -(RT2/P)*(dz/dT)P .
From tabulated values for cpg and z, a table for Hg can be generated; 00C and 1 bara is used as the
zero point. The compressibility factor z is tabulated as a function of Tpr and Ppr. Thus the term
(dH/dP)TdP in Equation (ar) can be expressed in terms of Tpr and Ppr:
.

(as)

ENTHALPY OF OIL
The enthalpy of oil Ho is calculated directly by integrating cpo from zero to the actual temperature.
Modifications of Ho at elevated pressures are ignored.
ENTHALPY OF GAS DISSOLVED IN OIL
The latent heat for gas dissolved in oil Hgo will be used to calculate the enthalpy of liquefied gas Hgo.
We have
113 / 769

OLGA 7

We have

Hgo = Hg - Hgo

(at)

The term Hgo can be approximated by a simple correlation from /32/. First, the latent heat is estimated
at 1 bara.

Hgosc = 4.19 Tabp (8.75 + 4.57 log(Tabp)) / M,

(au)

where Tabp is the atmospheric boiling point measured in K. The unit of the latent heat thus becomes
kJ/kg.
Second, the latent heat is extrapolated for pressures above 1 bara, according to

Hgo = Hgosc - 1.7 (P - 1)

(av)

Tabp is tabulated as a function of oil specific gravity and molecular weight, cf. /32/, see Table 2 below.
Table 2: Tabp as a function of specific gravity of oil and molecular weight.
Atmospheric
boiling point,
Tabp (0C)
M
70 80 90 100 120 140 160 180 200 220
Spec
grav. Tabp
0.6
27 42 60 79 104 128 146 165 190 205
0.9
66 93 116 132 165 202 222 252 274 294

Thermal conductivity
Data for the thermal conductivity of gas as a function of M and T is plotted in /31/. A function has been
developed that gives a reasonable approximation to these data, and this function is used by OLGA.
Little data are available for oil, and so a simple linear function is used, viz.:
,

(aw)

The default values for the coefficients are:

, and

(ax)

Blackoil Tuning
It is possible to tune the correlations for gas dissolved in oil RSGO, bubble pressure Pb and oil viscosity
to measured data.
Tuning of the correlations use data for a single fluid or a mixture. If there are several blackoil feeds (e.g.,
a network case), one must either tune to one of the fluids or to a mixture of the fluids. If the
measurements are from a separator, the data available will typically be for the mixture. Please note that
the tuned correlations are used for the whole network. See the description of the correlations for how
the tuned parameters enter the calculations.

114 / 769

OLGA 7

the tuned parameters enter the calculations.


Tuning is specified through the BLACKOILOPTIONS keyword.

Converting to mass flow rate


When converting the volume flow rate at the standard conditions to the mass flow rate, the densities of
gas, oil, and water that are used are taken from the corresponding blackoil components as given in
BLACKOILCOMPONENT. When converting the in-situ mass flow rates to the volumetric flow rate at the
standard conditions, the densities at the standard conditions are calculated from the blackoil
correlations. The density from the blackoil correlations does not give the same density as the input.
Therefore, the standard volumetric flow rates that are calculated by flashing the in-situ mass flow rate to
the standard conditions differ from the standard volumetric flow rates given in the input. The difference is
however within the uncertainty of the blackoil correlations.

115 / 769

OLGA 7

Limitations
The blackoil module has the same limitations to its usability that the compositional tracking module.

116 / 769

OLGA 7

How to use
Set the following keywords to use the blackoil module:
OPTIONS to set COMPOSITIONAL = BLACKOIL
BLACKOILOPTIONS to set GORMODEL (optional)
BLACKOILCOMPONENT to set the properties of the gas, oil and/or water components
BLACKOILFEED to combine the gas/oil/water blackoil components into feeds, and specify GOR
and WATERCUT.
NODE/SOURCE/WELL to set flow rates or volume fractions of the feeds to enter the pipeline
system
The steady state pre-processor may be used with the blackoil module. If one chooses to start from
INITIALCONDITIONS, the initial volume fractions for the feeds must be given.
See also:
Sample case for Blackoil

117 / 769

OLGA 7

Complex Fluid
Complex fluids are liquids with high viscosity, yield stress, or liquids exhibiting shear thinning. Such
properties might arise in waxy oil or emulsions which often exhibit shear thinning and high viscosity,
whereas a slurry of hydrate crystals in oil may have a yield stress depending on the particle
concentration. Hydrate is a snow like substance formed by water and natural gas that might occur in
hydrocarbon transport lines at ambient temperatures well above the normal freezing point of water at
elevated pressure. Fluids that demonstrate both shear thinning and a yield stress, e.g., gelled waxy
crude, can only be approximated using complex fluid models.
The presence of yield stress or shear thinning in the liquid might result in a decreasing pressure drop
with increasing production rates up to a certain point where the pressure drop is at a minimum, even for
horizontal pipes. For production rates below this minimum, unstable operation might occur depending on
the boundary conditions of the transport line. These instabilities can interact with other, more well
known, multiphase flow phenomena such as terrain slugging and give rise to a wider range of unstable
operational conditions. The purpose of the complex fluid model is to predict such behavior.
See also:
When to use
Methods and assumptions
How to use

118 / 769

OLGA 7

When to use
The complex fluid module should be used whenever a fluid exhibits significant deviation from Newtonian
behavior, either by shear thinning (e.g., heavy oils) or influence of yield stress (e.g., waxy oils). For
Newtonian liquids, the module should be used when modeling fluids with viscosity above 50 cP and it
has been tested up to 1000 cP.

License requirements
The Complex Fluid Module requires a separate license.

119 / 769

OLGA 7

Methods and assumptions


The complex fluid model utilizes the Bingham model for fluids exhibiting yield stress, while the Power law
is used for shear thinning fluids. As opposed to the complex viscosity model, the complex fluid model
includes numerous modifications to the physical models for both separated and distributed flow taking
into account the non-Newtonian behavior of the fluids. Non-Newtonian behavior can be modeled for the
liquid hydrocarbon phase, the water phase or both. The Newtonian option is included to capture the
peculiarities of higher viscosity liquids.
Bingham plastic model
(a)
where

Power law model


(b)
where
K = consistency factor
Newtonian fluid
(c)
where
= viscosity
When running standard OLGA, i.e., without slug tracking activated, the use of complex fluid yields an
important improvement since the slug flow model includes the effects of the above rheologies and at the
same time as it covers the range of Reynolds numbers from laminar to turbulent flow. This affects the
bubble front velocity, and, consequently, the liquid accumulation. Furthermore, it yields a better model of
the liquid flowing below the slug bubble as well as a better prediction of the slug fraction. Using this as
basis for pressure drop predictions is a major difference from the complex viscosity model, which is very
important for more viscous liquids.
For stratified flow, the wall friction calculations should yield better results than when using an equivalent
viscosity.

120 / 769

OLGA 7

How to use
The Complex Fluid module is activated in the FLUID keyword by setting the key
TYPE=COMPLEXFLUID. The fluid viscosity model to be used is determined by the keys CFLUML and
CFLUMW for the liquid hydrocarbon phase and water phase, respectively. Except for the default
Newtonian modeling, fluid viscosity can be modeled using either the Bingham model or the power law
model.
The parameters of the viscosity models can be given in two ways. If the key FULL=YES, the fluid
viscosity parameters (yield stresses/power exponents) are read from the fluid property file as functions of
pressure and temperature. If, on the other hand, FULL=NO, the yield stresses YIELDSRL and
YIELDSTW or power exponents POWEXPL and POWEXPW have to be given if the liquid hydrocarbon
or water viscosity model is set to BINGHAM or POWERLAW respectively. For both options, the viscosity
given in the fluid file is interpreted as the plastic viscosity for Bingham fluids and as the consistency
factor for Power law fluids.

121 / 769

OLGA 7

Compositional Tracking
The compositional tracking model combines the powerful multiphase capabilities in OLGA with
customised calculations for fluid properties and mass transfer. Part of this module is a software package
developed by Calsep.
With the compositional tracking model, every single fluid component is accounted for throughout the
calculation, enabling simulation of scenarios such as start-up and blowdown with a high level of detail
and accuracy.
See also:
When to use
Methods and assumptions
Limitations
How to use

122 / 769

OLGA 7

When to use
It is important to acknowledge that the extra level of detail given by compositional tracking compared to
table-based approach is CPU-intensive and will increase the simulation time. Note that a higher number
of components will also increase the simulation time. Standard OLGA will in many cases, such as for
single pipeline flow and networks where the fluids in the pipelines are similar, give satisfactorily accurate
results.
Typical cases where compositional effects may have influence are:
Networks with different fluids
Changes in composition at boundaries
Blowdown
Gas injection / gas lift
Start-up
Shut-in and restart

License requirements
The Compositional Tracking Module requires a separate license.

123 / 769

OLGA 7

Methods and assumptions


The standard OLGA model uses a fluid table with material properties calculated for a predefined
composition, and this composition is assumed to be constant throughout the whole simulation. Different
compositions can be used for each branch in a system, but with compositions that are constant with
time.
In reality the composition may vary along the pipeline due to slip effects (velocity differences between
phases), interphasial mass transfer, merging network with different fluids, elevated geometry, and
changes in fluid composition at the inlet. In the Compositional Tracking model the mass equations are
solved for each component (e.g. H2O, C1, C14-C22) in each phase (e.g. gas, liquid droplets, bulk
hydrocarbon liquid and bulk water). Thus, the model will keep track of the changes in composition in
both time and space, and will ensure a more accurate fluid description compared to using the standard
OLGA model.
Instead of using a fluid file with pre-calculated material properties, a so-called feed file must be
generated (by PVTsim) and given as input to OLGA. The feed file contains information about the feeds
(fluid composition used in a source or well and as boundary or initial conditions) that the user wants to
use in the simulation, and about the components comprising the feeds. In addition, the user may define
additional feeds through the FEED keyword. These feeds may only contain a set of the components
defined in the feed file. It is not possible to define additional components outside the feed file.

PVT package
The material properties of the fluid along the pipeline will be calculated continuously during the
simulation, based upon the current conditions (i.e. local pressure, temperature and composition). These
calculations are part of a PVT package delivered by Calsep.
This PVT package uses functions that are similar to the ones used by PVTsim, although they are
optimised for increased computational speed. PVTsim must also be used to characterize the fluid and
generate the feed file to be used as input to the model.
Moreover, the molar fractions and their derivatives with respect to the current conditions at phase
equilibrium are also delivered by the package. Based on these results, the mass transfer between the
phases needed for the mixture to be at equilibrium is calculated.
Physical limits for the temperature and pressure used in the PVT calculations are introduced and can not
be changed by the user (as it can with fluid tables). The temperature range is from -200 to 500 C and
the pressure range is from 0.05 to 1000 bara. If the temperature or pressure goes out of range, they are
reset to the upper or lower limits. These reset values are used in the PVT calculations only and are not
fed back to the overall calculations of temperature and pressure.
The phase equilibrium calculations in PVTsim are based on either the Soave-Redlich-Kwong (SRK) or
the Peng-Robinson (PR) equation of state (EOS) [Soave (1972) and Peng and Robinson (1976)]. The
fluid data in the feed file are based on one of these equations, with or without the Peneloux volume
correction [Peneloux et al. (1982)], and the same EOS will be adopted in the OLGA simulation.

124 / 769

OLGA 7

Limitations
Maximum number of components allowed in a feed file is 30. Except for this, there are no special
limitations associated with the Compositional Tracking model.
However, as described, be aware of the additional CPU-intensive calculations that are performed.

Other considerations
Steady state pre-processor
A compositional steady state pre-processor is implemented in OLGA.
Process equipment
The system can include process equipment such as critical and sub-critical chokes, compressors with
controllers, check valves, valves, separators, heat exchangers, pumps, and controlled mass sources and
sinks.
Combination with other models
The compositional tracking model can not be combined with other compositional models such as slug
tracking, inhibitor tracking, blackoil or wax.
Flow model
The descriptions of the flow regimes, friction factors and wetted perimeters etc in the compositional
tracking model are as in the standard OLGA model.
Restart
The Compositional Tracking model is available with full restart functionality. However, it is not possible to
switch from or to the compositional model in a restart case.

125 / 769

OLGA 7

How to use
Input
In order to use the Compositional Tracking model, follow the steps below;

Step 1:
Use PVTsim to characterize the fluids to the same pseudo components and generate the feed file with all
the necessary compositional data for the fluid.
The Plus and No-plus fluid types only require mole or weight fractions, mole weights and liquid
densities. For the Plus fluid, PVTsim will generate pseudo-components based on the last (plus)
component.
The Characterized fluid type is used when the fluid characterization has been performed in another
PVT tool, and requires all fluid properties such as critical temperature, accentric factor, etc.
Choose Interfaces from the Main Menu in PVTsim, and then choose Compositional Tracking. In this
window the feed file that is an input to the Compositional Tracking module is generated. The feeds
defined in the feed file will then be available as feeds in OLGA, with the name specified in the Well
column in the Fluid box in PVTsim as feed name.

Step 2:
Prepare the OLGA input using the following keywords;
OPTIONS; COMPOSITIONAL set to ON.
FILE; FEEDFILE to specify the feed file name.
FEED; to define additional feeds and their composition (use components from the feed file)
COMPOPTIONS; to define calculation options to be used by the PVT routines.
INITIALCONDITIONS; to specify initial feeds.
SOURCE; to specify feeds and feed flows in the mass source.
WELL; to specify feeds in the well stream.
NODE; to specify feeds and feed flows in mass flow and pressure nodes.

Step 3:
Specify output variables for detailed plotting of simulation information.
OUTPUTDATA to print compositional information to output file (*.out).
TRENDDATA to print compositional variables to trend file (*.tpl).
PROFILEDATA to print compositional variables to profile file (*.ppl).
PLOTDATA to print compositional variables to OLGA Viewer file (*.plt).
Plot data for individual components can be specified with the addition of the
COMPONENTS=(<component names>) key to each plotting keyword. If COMPONENTS is not
specified, it will be plotted for all components for the specified variable.
Note: Output variables for rates at standard conditions (e.g. QGST) are CPU demanding since a flash
must be performed, and should be used with care for Compositional Tracking simulations.

Special considerations
In the keyword COMPOPTIONS the user should evaluate what flash algorithm to use, what kind of
viscosity correlation to use, if any of the fluid components should be assigned delay constants, and if
needed specify the density limit for the dense phase region. The user can also choose to use the default
values, in which case none of these parameters have to be specified.
126 / 769

OLGA 7

Flash algorithms (key FLASHTYPE)


The FLASHTYPE key specifies the flash algorithm to be used.
FLASHTYPE = TWOPHASEFLASH treats water as an inert component. Hydrate inhibitors such as
MeOH and glycols in the water phase will also be inert. A two-phase flash is carried out for the
hydrocarbon components. There will not be any aqueous components in the hydrocarbon phases
and no hydrocarbon components in the water phase. Classical mixing rule is used for all component
pairs for the two-phase flash calculation.
This is the only option allowed when performing simulations with fluids consisting purely of nonaqueous components. It may also be used with fluids containing aqueous components when high
simulation speed is wanted, provided the amount of free water is believed to have little impact on
the conclusions. It should not be used if:
Hydrate control is important and MeOH or another component more volatile than H2O is used
as inhibitor.
Tracking of hydrocarbons and inorganic gasses dissolved in the aqueous phase is important.
Tracking of aqueous components dissolved in a hydrocarbon liquid phase or a dense gas
phase is important.
FLASHTYPE = SIMPLETHREEPHASE means that the water components are treated as an inert
phase initially. A two-phase flash is performed for the hydrocarbon components. Then aqueous
components are added to the hydrocarbon phases, and hydrocarbon components and inorganic
gasses are added to the aqueous phase until the fugacity is the same for all the phases. Classical
mixing rule is used for all component pairs throughout the calculation. This approach involves two
simplifications relative to full three phase flash
The change in phase equilibrium due to dissolution of components in a phase is not taken into
account, i.e. the result is not rigorous equilibrium but approximated equilibrium.
A simplified model for the solubility of hydrocarbon components and inorganic gasses in the
aqueous phase and vice versa is used.
This is the default option when at least one aqueous component is defined in the feed file, and is
expected to provide accurate results for most simulations involving fluids consisting of both
hydrocarbons and aqueous components. Full three phase flash is recommended for rigorous
simulations if
Hydrate control is important and MeOH or another component more volatile than H2O is used
as inhibitor.
Tracking of hydrocarbons and inorganic gasses dissolved in the aqueous phase is important.
Tracking of aqueous components dissolved in a hydrocarbon liquid phase or a dense gas
phase is important.
Note that simplified three phase is the recommend option for performing screening/approximate
simulations where high accuracy may not be required even in the aforementioned cases. This is
due to the full three phase option being significantly slower than the simplified three phase option.
FLASHTYPE = FULLTHREEPHASE means that a full three-phase flash is performed for the total
composition. The fugacity of all the components in all the phases is the same. All the phases are in
rigorous equilibrium, i.e. any component can dissolve in any phase. Classical mixing rule is used for
component pairs not involving aqueous components while the Huron-Vidal mixing rule is used for all
component pairs involving aqueous components.
127 / 769

OLGA 7

This option is significantly slower than the simplified three phase flash option. It is recommended as
an option to make a final check of whether the accuracy obtained using the simplified three phase
flash is adequate for the given case. Full three phase flash is also recommended if
Hydrate control is important and MeOH or another component more volatile than H2O is used
as inhibitor.
Tracking of hydrocarbons and inorganic gasses dissolved in the aqueous phase is important.
Tracking of aqueous components dissolved in a hydrocarbon liquid phase or a dense gas
phase is important.
Note that simplified three phase is the recommend option for performing screening/approximate
simulations where high accuracy may not be required even in the aforementioned cases. This is
due to the full three phase option being significantly slower than the simplified three phase option.
This is the only option allowed when performing simulations with fluids containing salts.

Viscosity correlations (key VISCOSITYCORR)


The VISCOSITYCORR key can be used to specify the viscosity calculations.
The viscosity calculations can be based on the corresponding states principle (CSP) or the LohrenzBray-Clark (LBC) correlation (1964). If the fluid has been tuned to one of the correlations in PVTsim, it is
not possible to choose a different correlation in OLGA Compositional tracking module (an error will be
given if the other correlation is chosen). The default viscosity correlation is CSP.
When using CSP the PVT code executes 2-3 times slower than when LBC is used. Since 10-90% of the
calculation time in an OLGA simulation is spent in the PVT code, the cost of using CSP instead of LBC
may vary a lot.
However, the LBC model is not reliable as a predictive model. The following steps should therefore be
taken when using LBC:
Tune LBC to experimental or simulated CSP viscosity data in PVTSim.
Check if tuned oil viscosity data match reasonably well with the experimental data. If a good match
cannot be obtained, use the CSP viscosity model in OLGA Compositional Tracking module (a
mismatch is more likely for heavy oils).
Substantial tuning of the a-coefficients in the LBC-model can affect the gas viscosity. Evaluate gas
viscosity before and after tuning if the a-coefficients are changed considerably.
In case the CSP viscosity model is chosen, it is still recommended to tune to experimental viscosity data
if available. The predictive capability of the CSP model is within 10% up to viscosities of approximately 1
cP. For higher viscosities the capability is more uncertain.
It is further recommended to consider if oil viscosities at temperatures below approximately 20-40 C are
influenced by precipitated wax. The CSP and LBC viscosity models cannot account for the influence of
precipitated wax, nor the non-Newtonian effects associated with the precipitation. The CSP and LBC
models may still be forced to follow the apparent oil viscosities. Since the Compositional Tracking
module does not account for wax precipitation/ deposition, viscosities will follow the apparent oil
viscosity.

Dense phase specification (key DENSITYLIMIT)


The DENSITYLIMIT key specifies the limit for the dense phase region density.
128 / 769

OLGA 7

In the dense phase region (see Figure A below), there are no good criteria to distinguish gas from oil,
and the "chosen" phase does not affect the fluid properties for simulations with Compositional Tracking.
This can be a problem especially for INITIALCONDITIONS where a user specifies e.g. voidfraction=0 for
an entire branch, but gets an error saying that this is not valid input since there is no liquid for parts of
the branch. The user then has to specify voidfraction pipe-wise, which can be a lot of work. Also, PVTsim
might predict another phase than Compositional Tracking since a different and more time demanding
approach is used, which adds to the confusion.

Figure A. Dense phase region.


In the dense phase region, a fluid with higher density than the given DENSITYLIMIT value is defined as
liquid and a fluid with lower density is defined as gas. If the user gets an error saying there is no gas for
this branch the DENSITYLIMIT should be increased.
The DENSITYLIMIT should preferably be set equal to the density found in PVTsim when performing a
flash at the critical point. If not specified, internal routines will be used to decide phase (which may cause
instabilities when crossing bubble/dew point).
Note: The use of DENSITYLIMIT can also reduce oscillations, such as for cases with decreasing
pressure where different sections cross from the dense phase region to the two phase region on each
side of the critical temperature.

Delay constants (keys TCONDENSATE/TVAPORIZATION)


The keys TCONDENSATE and TVAPORIZATION are non-equilibrium delay constants for the mass
transfer from liquid phase to gas phase and vice versa. The keys can be introduced for each
component, and the equilibrium state reached in the flash calculations will be delayed. The default is no
delay.
In the non-equilibrium model the convective mass transfer terms are calculated according to:
(a)
where u is the superficial velocity of the mixture flowing into the section calculated for the equilibrium
conditions at the section and DZ is the section length.
is the convective mass transfer term
calculated by the equilibrium model for component fc. TDELAY,fc is the non-equilibrium delay factor for
component fc, which has the dimension seconds. The user must specify the value of this factor, and
separate values can be given for vaporization (TVAPORIZATION) and condensation
129 / 769
(TCONDENSATION).

OLGA 7

(TCONDENSATION).
The local non-equilibrium mass transfer term is derived from the following equation:

(b)

where
is the local mass transfer term calculated by the equilibrium model and
is the delay
factor for component fc for condensation or vaporization dependent on the sign of the equilibrium mass
transfer term.
This yields:

(c)

Output
The keywords OUTPUTDATA, TRENDDATA, PROFILEDATA and PLOTDATA in the input file specify
the data collection from the simulation.
The output file (*.out), trend file (*.tpl), profile file (*.ppl) and plot file (*.plt) can be used to show detailed
compositional information:
Mass flow rate for each component in each phase (oil droplets, oil film, total oil phase, water
droplets, water film, total water phase, and gas)
Mass rate of flashing for each component to gas phase, oil phase and water phase
Specific mass for each component in each phase
Mole fraction for each component in gas phase, oil phase and water phase
Equilibrium mole fraction for each component in gas phase, oil phase and water phase
Mass fraction for each component in gas phase, oil phase and water phase
Equilibrium mass fraction for each component in gas phase, oil phase and water phase
Total mole fraction (all phases) for each component
Total mass in branch for each component
The output file shows information textually and is structured for easy reading. The trend file and profile
file are ASCII files that can be plotted graphically in the OLGA GUI. The plot file is a binary file that is
viewed in a separate plotting tool called the OLGA Viewer. Due to the binary format, which reduces the
file size, this form of data collection can use a shorter plotting interval and is useful for detailed analysis.

130 / 769

OLGA 7

Controller introduction:
Controllers is in OLGA terms a network component labeled signal component which mean that they can
communicate with other network components by sending and receiving signals. Other network
components may be other signal components or flow components (i.e. a branch). Controllers are typical
signal components but also other types of network components may be signal components.
All controllers have one common key; LABEL, which are used to identify the controller.
There are 13 different types of controllers:
Algebraic Controller
ASC Controller
Cascade Controller
ESD Controller
Manual Controller
Override Controller
PID Controller
PSV Controller
Scaler Controller
Selector Controller
STD Controller
Switch Controller
Table Controller

Both analog and digital controllers can be simulated in OLGA (see Analog vs. digital controllers for further
details).
A controller can be set to one of five different modes operation either by using time series in the MODE
sub-key or hooking a defined controller up to the MODE terminal (see Controller modes for further
details).
In addition to implementing the possibility to switch the controller mode, the current version of OLGA also
implements the possibility to activate and deactivate the controllers by hooking an external controller
up to the ACTIVATE terminal (see controller activation/deactivation for further details).
The controller output is constrained; see constraining the controller output for further details.
In the most advanced usage of the OLGA controllers utilizes the possibilities of interconnecting controllers
by the use of terminals. A description to the different terminals is given in controller details.

131 / 769

OLGA 7

Analog vs. digital controllers


For all the controller types, the digital controller option can be selected by using the key SAMPLETIME.
The difference between analogue and digital sampling in an OLGA simulation is as follows:
The analogue controller collects input and gives a corresponding output at each simulation time step. The
MAXCHANGE sub-key specifies the maximum allowed change in controller output from one time step to
the next. The default value is 0.2. The automatic integration time step mechanism ensures that the
relative change in the output signal of the controller from one time step to the next will never exceed
MAXCHANGE.
The digital controller collects input and generates a corresponding output at time points separated by time
intervals given in sub-key SAMPLETIME. There may be one or more OLGA integration time steps in
between each sample time point. The automatic time step control assures that a simulation time point
always agree with a sample time point (to the accuracy specified in the MAXCHANGE sub-key). The
output signal from the controller is kept constant during the sample time interval.

132 / 769

OLGA 7

Controller mode
A controller in OLGA can be set in one of the five different modes:

Automatic
In MODE = AUTOMATIC, the controller behaves according to the controller function as specified for the
different controller types. For those controllers that make use of setpoint the value in MODE =
AUTOMATIC is taken from the SETPOINT key.

Manual
In MODE = MANUAL, the controller function is bypassed and the controller output is set according to the
time series definition of key MANUALOUTPUT.

External signal
In MODE = EXTERNALSIGNAL, the controller function is bypassed and the controller output is set
according to the external controller connected to the SIGNAL terminal.

External setpoint
The controller MODE = EXTERNALSETPOINT is similar to MODE = AUTOMATIC except that the
setpoint is taken the controller connected to the SETPOINT terminal.

Freeze
In MODE = FREEZE, the controller function is bypassed and the controller output is kept constant (equal
to the previous output value).
The controller MODE can be manipulated either by time series or by another controller. To manipulate the
mode of a controller by time series, specify the sequence in the MODE sub-key. The predefined literals:
AUTOMATIC

value 1

MANUAL

value 2

EXTERNALSIGNAL

value 3

EXTERNALSETPOINT value 4
FREEZE

value 5

are used when specifying the MODE through MODE sub-key in the GUI and input file. The MODE subkey is interpreted together with the TIME sub-key.
When using the terminal to change the mode of a controller one need to connect an external controller to
the MODE terminal. E.g. to manipulate the mode of controller A by a controller labeled A.MODE connect
controller A.MODE to the MODE terminal of controller A. The mode of controller A id the dependent on
the output value of A.MODE
A.MODE

<

1.5

gives AUTOMATIC

1.5

<=

A.MODE

<

2.5

gives MANUAL

2.5

<=

A.MODE

<

3.5

gives EXTERNALSIGNAL

3.5

<=

A.MODE

<

4.5

gives EXTERNALSETPOINT

4.5

<=

A.MODE

gives FREEZE

All controllers except Table and Scaler have MODE implemented.


The definition on MODE through the use of the MODE terminal overrules the definition of MODE given by
the MODE sub-key.
133 / 769

OLGA 7

134 / 769

OLGA 7

Controller activation/deactivation
In addition to implementing the possibility to switch the controller mode, the current version of OLGA also
implements the possibility to activate and deactivate the controllers by hooking an external controller
up to the ACTIVATE terminal.
A controller A might be deactivated and activated by connecting an external controller A.ACTIVATE to the
ACTIVATE terminal of controller A. Then controller A is active if the output of A.ACTIVATE is greater or
equal to 0.5. When a controller is deactivated (A.ACTIVATE < 0.5) the controller function is bypassed
and the controller output is kept constant (equal to the previous output value). When a controller is
activated the output is calculated according to the controller function and any specification of MODE.
The deactivation of controllers takes precedence over controller function and mode. For further details
see the description of the controller details.

135 / 769

OLGA 7

Constraining the controller output


The controller output is constrained in two steps. First controller output is checked against signal
constrains; secondly the controller output is checked against rate of change constraints.
The signal constraints are specified in the keys MAXSIGNAL and MINSIGNAL. If the controller output is
greater or equal to MAXSIGNAL then the output signal is set equal to MAXSIGNAL and the SAUTRATED
output is set equal to 1.0 to signal high saturation. If the controller output is less or equal to
MINSIGNAL then the output is set equal to MINSIGNAL and the SATURATED output is set equal to -1.0
to signal low saturation.
If the rate of change in the controller output violates the OPENINGTIME (or STROKETIME) the controller
output is set equal to the maximum allowed output satisfying the rate of change constraint and the
RATELIMITED variable is set equal 1.0 to signal a high rate of change saturation. If the rate of change
in the controller output violates the CLOSINGTIME (or STROKETIME) the controller output is set equal to
the minimum allowed output satisfying the rate of change constraint and the RATELIMITED variable is set
equal -1.0 to signal a low rate of change saturation.

136 / 769

OLGA 7

Controller details
Figure A below shows a block diagram of how different inputs and outputs relate to different part of the
controller implementation.

Figure A: Overall block diagram for controller implementation.


In Figure A above and Figure B below:
inputs in terms of sub-keys are given in boxes framed by an orange line,
inputs given through terminals are given in boxes framed by a green line and
internal calculation boxes are framed by a black line and gray background color.
The larger block Controller function + Controller mode in Figure A, implements
the controller functionality given by the controller type,
the controller modes and
the controller activation deactivation.
Output A from the Controller function + Controller mode block represents the unconstrained output. The
unconstrained output is checked against sub-keys MAX/MINSIGNAL and forms the constrained output B.
Finally, output B is checked against rate of change constrains (OPENINGTIME and CLOSINGTIME) to
form the final constrained output CONTR. Note, the additional outputs SATURATED and RATELIMITED.
These are used to signal saturation and rate of change limitation to other controllers.

137 / 769

OLGA 7

Figure A: Implementation of controller modes and activation/deactivation mechanisms.


Figure B shows the implementation of modes and activation/deactivation mechanisms. Depending on the
controller type the controller function block may or may not need the setpoint sub-key. Controller type PID
is an example of a controller type that makes use of the setpoint sub-key, whereas controller type
OVERRIDE does not use the setpoint sub-key. The controller function block may also use additional
terminals and sub-keys not shown in Figure B. If mode is AUTOMATIC (mode value one) the setpoint is
taken from the sub-keys and if mode is EXTERNALSETPOINT (mode value four) the setpoint is
connected to the setpoint terminal. This is illustrated by the upper left switch in Figure B.
The lower left switch in the figure determines how MODE is set. This switch cannot be changed during
runtime. If a controller is connected to the MODE terminal, it is value obtained through the terminal that
determines the mode of the controller irrespective of what is set in the MODE sub-key. If no controller is
connected to the MODE terminal then it is MODE sub-key that determines the mode of the controller.
If MODE is AUTOMATIC or EXTERNALSETPOINT then the output of the controller function
(CF) block is routed through the larger switch in the figure (position one or four at the input of the
switch) and the corresponding setpoint is connected to the controller function.
If MODE is MANUAL the manual output signal is routed through the switch (position two at
the input of the switch).
When the MODE is EXTERNALSIGNAL the SIGNAL TERMINAL is connected to the output
of the switch (position three at the input of the switch).
When MODE is FREEZE the lower memory block is connected to the output of the switch
(position five at the input of the switch). The memory blocks hold the previous output value.
Thus the output is frozen (kept constant).

The activation/deactivation mechanism is illustrated by the switch with two inputs and memory block on
the right in the figure.
If the controller is activated (ACTIVATE = true, or value greater or equal to 0.5) the activate
switch is in position two connecting the controller to the output A.
If the controller is deactivated (ACTIVATE = false, or value less than 0.5) then the activate
switch is in position one connecting the output A to the previous value, thus the output is frozen
(kept constant).

138 / 769

OLGA 7

Controller Terminals
Most of the controller types will have the following input terminals:
MODE used to set the mode of a controller
SIGNAL used to override the output of the controller when MODE = EXTERNALSIGNAL
SETPOINT used to override the setpoint key when MODE = EXTERNALSETPOINT, e.g.
cascaded controllers
ACTIVATE used to activate deactivate the controller function
All controllers will have the following output terminal:
OUTSIG_1..N Used to connect the controller output to another input signal terminal.
In the controller output terminal OUTSIG a number of output variables are available. The variable
transmitted is set-up (specified) in the signal connection.
See controller details for further information.

139 / 769

OLGA 7

Actuator time of controlled device


There are no restrictions on the rate of change of the output from the controller algorithms. The output
from the controller frequently changes faster than the device is capable of following. This situation is
taken care of by passing all output from the controllers through an actuator filter that computes a 'real'
output (as observed by the devices) according to the rule:

(d)
or
(e)
where
tact,open
- is the actuator time when increasing U
tact,close
- is the actuator time when decreasing U
Dt
- is the time step
Uold
- is previous output signal from the controller
U
- is output signal from the controller
Umax
- is the maximum output signal from the controller
Umin
- is the minimum output signal from the controller
The actuator time is specified as stroke time or the time required to open/close. The user specifies
minimum and maximum controller output signal, Umin and Umax. These two parameters determine the
operating range of the controller. Normally the operating range is from 0 to 1., i.e., an output of 0 from a
controller operating on a valve means that the valve is closed, whereas an output of 1 means that the
valve is fully open.

140 / 769

OLGA 7

Connecting the controllers


All the controllers have a set of input and output signal terminals. The output terminals (OUTSIG) can be
distributed to several receiving terminals. When connecting output signals the first available terminal will
be named OUTSIG_1. The next terminal will be named OUTSIG_2 etc. In general it is written
OUTSIG_1..N, to show that the terminal OUTSIG can be connected an arbitrary number of times.
It is required that some of the input terminals are connected. The required input is different for the
different types of controllers. Connecting the output terminals is optional.
The controller output can be connected to process equipment (Valve, Pump etc.). The controller input is
connected to output from another controller, a transmitter or some process equipment.
Example: PID pressure control
The PID controller has the following terminals:
MEASRD
(Required input)
SETPOINT
(Optional input)
OUTSIG_1..N (Optional output)
The input terminal MEASRD is required, while the input terminal SETPOINT is optional. The PID
controller has internal setpoint given as key input. But the user can connect an external setpoint to the
controller. In order to use the external setpoint the SETPOINTMODE must be set to EXTERNAL.

Figure A: Pressure control example


In Figure A the measured pressure is taken from a transmitter (PT). The controller (PC) output is
connected to the valve opening.
Connection (1):
TRANSMITTER OUTSIG_1 CONTROLLER MEASRD
A variable and unit must be defined for the output from the transmitter.
Ex. PT bara
Connection (2):
CONTROLLER OUTSIG_1 VALVE INPSIG

141 / 769

OLGA 7

Controller Setpoint
Most controllers take a setpoint as input. The setpoint can be connected as an input terminal or given as
a time series. If it is given as a time series the keywords SETPOINT and TIME must be given.
Figure B shows how the controller setpoint is changed for the following SETPOINT/TIME input:
SETPOINT = (0, 1, 0.5)
TIME = (0, 1, 2)
Note that the setpoint change in a step wise manner.

Figure B: Setpoint vs. time

142 / 769

OLGA 7

Controller measured variable


Most controllers take an input signal in terms of a measured variable, see terminal MEASRD and/or
terminal INPSIG. The measured variable can be delayed by specifying the DELAY key on the controllers
(avaiable on most controllers). If the DELAY key is set to 10 seconds, the measured variable is delayed
10 seconds before it is taken into account in the control algorithm.

143 / 769

OLGA 7

Algebraic Controller
The algebraic controller is used to combine input signals to form algebraic equations and logical
expressions. The algebraic controller issues a control signal to a device (e.g. a valve) or as an input
signal to other controllers.
See also:
When to use
Methods and assumptions
How to use

144 / 769

OLGA 7

When to use
Use to change a variable in a process unit (e.g. Valve, Pump) or an input to another controller according
to an algebraic function or a logical expression.
Ex. Make the valve opening dependent on more then one signal and an algebraic expression.
Ex. Make the valve opening dependent on a logical expression.
Ex. Activate deactivate controllers according to a logical expression.
Ex. Non-linear transformation a measured signal to a controller.

145 / 769

OLGA 7

Methods and assumptions


The algebraic controller takes a number of input signals and combine these according to the specified
VARIABLEFUNCTION key.
The computed output signal is affected by maximum, minimum constraints and by rate of change
constraints (opening, closing time or stroke time),
see Constraining the controller output and Actuator time of controlled device.

146 / 769

OLGA 7

How to use
Connect the required input signal(s) to the INPSIG_1..N terminal(s). Specify the operators to act on the
input signal(s) in the VARIABLEFUNCTION key. Connect the controller output signal OUTSIG_1..N to a
device variable.
The figure below shows how multiple controller blocks can be combined in one algebraic controller.

147 / 769

OLGA 7

ASC Controller
The main purpose of the ASC unit, is to prevent a compressor from operating to the left of the Surge
Line in a compressor performance map, see Figure A: Compressor characteristic diagram, Figure
B: Recirculation loop and Figure A: Anti Surge Controller.
See also:
When to use
Methods and assumptions
How to use

148 / 769

OLGA 7

When to use
Use to control the recycle flow for compressors, and to avoid compressor surge.

149 / 769

OLGA 7

Methods and assumptions


An ASC should be able to open the recirculation valve very fast to prevent a dangerous surge condition.
This can be achieved by choosing a high amplification factor for the ASC and selecting a recycle valve
with a short stroke time. But the ASC must also be capable of managing a situation where the
compressor inlet or discharge is closed. The high amplification factor could give excessive
compensation, which would cause the recirculation valve to hunt between open and closed position and
aggravate the surge due to pressure and flow pulsation. Therefore it is necessary to have a controller
that can operate on a non-linear control algorithm. In essence, the controller shall apply one level of
amplification and integral action to a positive error input signal and a different level of amplification and
integral action to a negative error input signal. In this way the recycle valve can be opened rapidly while
an inertia is imposed when it is closed again.
The ASC unit uses a standard PID controller formula except that it allows for two different controller
amplifications (AMP1 and AMP2) that are necessary when operating on a non-linear control algorithm.
AMP1 is used when the deviation parameter (e) is negative (left of anti surge control-line in the
compressor performance map) and AMP2 when it is positive. The anti surge control-line is the setpoint
for the ASC unit and is calculated by multiplying the compressor surge flow at different RPM's with a
constant security factor specified by the user through the compressor input group, COMPRESSOR (i.e.
a security factor of 1.2 means that the set point for the ASC unit is 20% higher than the surge flow). The
surge flow at different RPM's, is specified in the compressor data file. The surge flow increases with
increasing RPM, which means that the setpoint for the ASC unit is not constant.
By using a large AMP1 and a (corresponding) small AMP2, the anti surge control valve is forced to a
rapid opening whereas the closing operation is more relaxed. Figure A shows the ASC application.

Figure A: Anti Surge Controller


The cascade controller uses the PID algorithm, see Proportional Integral Derivative (PID) Algorithm. The
ASC controller have the same functionality as the PID controller, in addition to the functionality described
in this section. See PID Controller Methods and assumptions (Jump to: PID controller Methods and
assumptions).

150 / 769

OLGA 7

How to use
See Connecting the controllers for an example on how to connect a controller.
Connect the compressor output (QGSURGE) to the ASC controller setpoint (SETPOINT). (Connect the
compressor OUTSIG to the ASC setpoint and specify QGSURGE as variable.) This is the volume flow
(default unit m3/s) at predicted surge multiplied with a security factor. The security factor is given in the
compressor SECURITYFACTOR key.
Put a transmitter at the same section boundary as the compressor. Connect the gas volume flow QG to
the ASC controller measurement terminal (MEASRD). Make sure QG and QGSURGE have the same
units. The MEASRD terminal must be connected.
Connect the ASC controller output to the Compressor ASCSIG input terminal.
Figure B shows the connection possibilities of the ASC controller.

Figure B: ASC controller connection terminals

151 / 769

OLGA 7

Cascade Controller
The purposes of a cascade control loop are:
1. To reduce the effects of some disturbances.
2. To improve the dynamic performance of the control loop.
To achieve this cascade control utilize multiple feedback loops.
See also:
When to use
Methods and assumptions
Limitations
How to use

152 / 769

OLGA 7

When to use
Cascade control is used when there are disturbance associated with the manipulated variable, or when
the final control element exhibits nonlinear behaviour.
Examples of use is:
Level control in a separator. The separator holdup changes are slow compared to flow dynamics. See
Figure A: Cascade control.
Temperature control when two fluid flows are heat exchanged. The temperature dynamics are slow
compared to the flow dynamics.

153 / 769

OLGA 7

Methods and assumptions


As illustrated below in Figure A a cascade control uses two (or more) controllers with the output of the
primary controller changing the setpoint of the secondary controller. The output of the secondary
controller regulates the control device, here the drain valve.

Figure A: Cascade control


The OLGA cascade controller will represent the inner loop. That is; the secondary controller shown in
Figure A. The cascade controller uses the PID algorithm, see Proportional-Integral-Derivative (PID)
Algorithm. See also the PID Controller Methods and assumptions. The Cascade controller have the
same functionality as the PID controller, in addition to the functionality described in this section.
The cascade controller can be in normal or extended mode. The difference between the two is how the
setpoint of the secondary controller are determined.
For the normal cascade controller, the setpoint of the secondary controller is determined by the output of
the primary controller:
(a)
Where
S
the setpoint of the secondary controller
Smin minimum setpoint
Smax maximum setpoint
Cp output from the primary controller
For the extended cascade controller, the setpoint is calculated differently:
(b)
Where
(c)

Sn
Sn-1
Cp
Cp,min

C = C1

if

|PM - Ps| > Cswitch

(d)

C = C2

if

|PM - Ps| Cswitch

(e)

setpoint of the secondary controller at the current time point


setpoint of the secondary controller at the previous time point
output from primary controller
minimum of output from primary controller
154 / 769

OLGA 7

Cp,max
Ps
Dt
PM
Tav
C
C1
C2
Cswitch

maximum of controller output from primary controller


setpoint of the primary controller
numerical time step (tn - tn-1)
moving averaged of the primary controller variable P
user defined (moving) averaging time period
constant that can take two different values
user defined constant
user defined constant
user defined constant

For the level control as illustrated above, suppose the separator pressure increases. The pressure drop
over the drain valve will be larger, so the liquid flow will increase. With a single level controller, the drain
flow rate will not be corrected until the increased drain flow decreases the liquid level. Thus the
separator pressure disturbs both the liquid level and the liquid drain rate.
With the cascade control loop, the flow controller (secondary controller) will immediately see the change
in the flow rate and correct the valve opening to return the drain flow rate to the setpoint set by the level
controller. Thus it gives a better control on the liquid level and a smoother liquid drain rate.

155 / 769

OLGA 7

Limitations
Secondary loop process dynamics should be at least four times as fast as primary loop process
dynamics.

156 / 769

OLGA 7

How to use
See Connecting the controllers for a example on how to connect a controller. The cascade control
loop is built as two separate PID controllers, where the output from the primary controller is used as a
setpoint of the secondary controller.
The cascade controller require that the measurement terminal (MEASRD) and the setpoint terminal
(SETPOINT) are connected.
Figure B show the connection possibilities of the Cascade controller.

Figure B: Cascade controller connection terminals

157 / 769

OLGA 7

ESD Controller
Emergency-Shut-Down (ESD) logics are used to avoid damage on the process equipment and the
pipeline. A ESD controller closes, output goes from 1 to 0, when a measured process variable rises
above (or fall below) a safety limit.
See also:
When to use
Methods and assumptions
How to use

158 / 769

OLGA 7

When to use
Use to model safety control system.
Example of use:
Shutdown of a pump downstream a separator. If the liquid level in a separator becomes to low, gas might
flow in the pump feed. Gas in the feed might damage the pump.

159 / 769

OLGA 7

Methods and assumptions


The controller will monitor one or more variables (normally pressure). As soon as any of the variables
becomes less than or greater than the setpoint value, depending on opening mode, a controller signal
activates a valve that will close within a certain time. If a reset value is specified, the ESD valve will open
again when all of the controlled variables become greater or less than the reset value.
The output signal is limited with stroke time. See Actuator time of controlled device.

160 / 769

OLGA 7

How to use
See Connecting the controllers for an example on how to connect a controller.
Connect the measured value (e.g. a pressure). The MEASRD terminal must be connected.
The ESD output is typically connected to some process equipment or a pressure driven source/leak.
Set the setpoint where the controller should close. If the controller should automatically open, enter a
reset value.
Include sufficient hysteresis for the reset value compared to the setpoint value. In this way a situation
where the ESD output oscillates will be avoided. That is; a situation where the ESD closes in one time
step, opens the next, closes again in the next etc.
Figure A show the connection possibilities of the ESD controller.

Figure A: ESD controller connection terminals

161 / 769

OLGA 7

Manual Controller
The manual controller is used to simulate the actions of an operator. The manual controller issues a
control signal to a device (e.g. a valve).
See also:
When to use
Methods and assumptions
How to use

162 / 769

OLGA 7

When to use
Use to change the process unit (e.g. Valve, Pump) inputs manually.
Ex. Simulate a manual change in valve opening.
Ex. Simulate a manual ramp-up of a choke.
Ex. Simulate a starting leak from the pipeline.

163 / 769

OLGA 7

Methods and assumptions


The manual controller take a setpoint as an internally defined time series, or as a input signal. The
changes in setpoint will be applied immediately, that is; the setpoint will change in a step wise manner.
The input signal is filtered through with stroke time limitations. This can be avoided by setting a low
stroke time. See Actuator time of controlled device.

164 / 769

OLGA 7

How to use
Give the required setpoint changes, and connect to a device variable.
The manual controller dont require any of the signal terminals to be connect. Figure A shows the
connection possibilities of the manual controller.

Figure A: Manual controller connection terminals

165 / 769

OLGA 7

Override Controller
The Override controller acts as a minimum or maximum operator on its input. It can be configured to
select the lowest or highest value among several inputs.
See also:
When to use
Methods and assumptions
How to use

166 / 769

OLGA 7

When to use
When there are fewer variables to manipulate than there are variables to control. The controllers (or
measurements) of the controlled variables need to share the manipulated variables.

167 / 769

OLGA 7

Methods and assumptions


The override controller can be a low select or high select operator. The override controller requires one
or more input signals. The input signals can come from any other output terminal. In low select mode the
minimum input signal is selected as the final output signal from the unit. A typical application of the
controller unit in a process module is shown in Figure A.

Figure A: Double PID controller used as a turbine speed controller


Here the output signal from two pressure controllers (PC) are connected as input to the override
controller. One of the pressure controllers is controlling the suction pressure before the first compressor
stage, and the other is controlling the pressure downstream of the second compressor stage. In normal
operation, the speed is controlled by the suction pressure controller, but in situations where the outlet
pressure approaches the maximum operating pressure, the speed is controlled by the high pressure
controller.
Figure B shows a typical application of the override controller (OC) with input signal from three
controllers in a process module. The override controller is in low select mode. The flow controller
(FC) is controlling the flow downstream of the control valve (choke) while the pressure controllers (PC)
are controlling the pressures upstream and downstream of the control valve. In normal operation, the
valve is controlled by the flow controller. In situations where the pressure downstream of the control
valve approaches the maximum operating pressure (set-point for downstream pressure controller), the
valve is controlled by the high-pressure controller. In situations where the pressure upstream of the
control valve approaches the minimum operating pressure (set-point for upstream pressure controller),
the valve is controlled by the low-pressure controller.

Figure B: Triple PID controller used as flow regulator


168 / 769

OLGA 7

The output signal is limited with stroke time. See Actuator time of controlled device.

169 / 769

OLGA 7

How to use
See Connecting the controllers for an example on how to connect a controller.
Select the mode of operation by setting SELECTIONMODE. Connect the signals the override controller
should operate on.
The Override controller require that at least one input terminal is connected.
Figure C shows the connection possibilities of the Override controller.

Figure C: Override controller connection terminals

170 / 769

OLGA 7

PID Controller
The main function of a PID controller is to maintain process parameters within specified bounds by
controlling process equipment parameters like valve opening and compressor speed.
See also:
When to use
Methods and assumptions
How to use

171 / 769

OLGA 7

When to use
To stabilize a process variable, or to stabilize an entire pipeline.
To model actual control functionality used to stabilize pipe flow.
A typical application of the controller unit in a process module is to control a separator level (Figure A)
and it is then called a level controller. Input process parameter is liquid level in the separator and the
output signal from the controller is used to control the opening of a drain valve. The controller may
alternatively have flow, pressure etc. as input signal, and is then called a flow controller, a pressure
controller etc.

Figure A: PID controller used as a level controller

172 / 769

OLGA 7

Methods and assumptions


The PID controller uses the Proportional-Integral-Derivative (PID) Algorithm, see below.
The PID controller limits the output with the stroke time of the connected device (e.g. Valve). See
Actuator time of controlled device.
The controller uses Anti-Windup. When the controller reaches maximum/minimum output (saturates) the
integral is kept to a proper value, so that the controller is ready to resume action, as soon as the control
error changes. The anti-windup used is a tracking/back calculation scheme.
Transfer between setpoint modes are made bumpless. When the setpoint mode change, the integral
term is corrected to remove a sudden jump in the controller output.
If the PID controller output is connected to a Selector or a Override controller it might become inactive.
See Selector and Override controllers. There are four different modes for the controller when it
becomes inactive. The Selector or Override controller will automatically set the PID controller in a
active/inactive state.
Actions taken when the controller becomes inactive (keyword INACTIVEMODESUBC):
ONHOLD
Restore old values, everything is on hold.
INTERLOCK
The PID controller get feedback on the output signal used (uused) from the connected controller
(Selector or Override). If the PID controller becomes inactive it will use uused to back calculate its
integral error.
DEFAULTINPUT
Compute output signal based on default input, given in key DEFAULTINPUT.
NORMAL
No action for normal mode.
Proportional Integral Derivative (PID) Algorithm
A PID algorithm may be mathematically formulated as:

(a)
(b)
where:
x
= input process parameter (pressure, level, etc.)
= time constant
u
= output signal from controller
t
= time
bias = initial value
Subscripts:
stp = set point (or reference point)
i
= integral
d
= derivative
0
= time at start of simulation
173 / 769

OLGA 7

The amplification factor Kc is a dimensioned quantity. If the option with normalised amplification factor is
used, the program will calculate Kc using the range given with the following expression:
(c)
For non-linear controllers, KC, i, d can be given in tabular form as a function of the error signal e. An
error is then given as a vector (keyword input). The PID parameters keys for KC, i and d must be
specified as vectors with the same dimension as . The controller parameters are found by linear
interpolation in the actual controller error, e. The non-linear controller option is activated when the PID
parameters are given as vectors, and not as single values.
By using this general formula, simpler controllers as P and PI controllers can be defined by giving proper
values to the time constants in the PID formula. The table below shows time constants for simpler
controllers.
Table 1: Time constants for P, PI and PD controllers
Time constants
d
i
P controller
0.0
109
PI controller
0.0
< 108
PD controller
> 0.0
109
This controller formula is frequently referred to as a standard PID controller in the manual.

174 / 769

OLGA 7

How to use
See Connecting the controllers for an example on how to connect the PID controller.
The PID controller require that a measurement value is connected to the controller. (Signal terminal
MEASRD). The setpoint must be given in the key SETPOINT, or connected to the SETPOINT input
terminal.
Figure B shows the connection possibilities of the PID controller.

Figure B: PID controller connection terminals


PID controller example
Three parameters are at our disposal for tuning a PID controller, Kc, td and ti. However, for petroleum
applications td is rarely used (td = 0), since there is usually quite a lot of noise on the input process
signal. This results in rapid oscillations in the derivative of the signal, and if the derivative term in the
controller equation were included this would result in oscillations in the controller output, which is not
desirable.
We have the following relation between the symbols used in this description and the OLGA input
variables in the CONTROLLER keyword:
Kc
td
ti
bias
x
xstp

= AMPLIFICATION
= DERIVATIVECONST
= INTEGRALCONST
= BIAS
= VARIABLE
= SETPOINT

Note that the stroke-time of the controller valve (defined through STROKETIME) does not directly
influence the controller output as discussed here. However, the opening and closing speed of the
controller valve is limited by the stroke-time. That is, if the stroke-time is given as 100 s the opening of
the valve will at maximum change by 1% per second.
Level control
A typical application of a level controller is shown in the Figure A: PID controller used as a level
controller. The change in the liquid volume fraction in the vessel (b) is given by
(a)

175 / 769

OLGA 7

where Qin [m3/s] is the liquid volume flow into the vessel, Qout [m3/s] is the liquid volume flow out of the
vessel and V [m3] is the volume of the vessel. The flow out of the vessel can be written
(b)

where Qmax is the maximum flow when the controller is fully open.
For the current case, the error (e) is defined as liquid volume fraction minus the volume fraction at the
setpoint, and the derivative time constant is set to zero. Taking the time derivative of the above two
equations with the use of the control equation (Jump to: Equation a in the following differential equation
is obtained

(c)
Where f(t) is a disturbance that the control system should compensate for. Casting it into the standard
form
(d)
we get the time constant of the control loop

(e)
and the damping coefficient

(f)
Kc must be positive for tp and z to be real numbers. The figure below shows the performance of control
loop for different damping constants for a step disturbance at t = 0 (f(t) has a step increase). This could
for instance be that the setpoint of the level control is changed.

Figure C: Response of level control to step disturbance.


176 / 769

OLGA 7

From this figure, one can see that a damping coefficient from 0.5-0.7 will give satisfactory results for
level control. Therefore, one may use the following procedure to select the parameters for level control:
1. Size the drain valve so that it can deliver Qmax = two times the normal drain rate for the pressure
difference between separator pressure and backpressure of the drain valve.
2. Set Kc < 2 and choose ti (the integral time constant) to make the damping coefficient between 0.5
and 0.7.
Flow control
Assuming constant upstream and downstream pressure over the valve, the flow rate can be written as:
(g)
where:
F = flow rate (mass or volumetric flow rate)
Fmax = max flow rate through the fully open valve at the given pressure drop
u = output signal from controller
Taking the time derivative of the above equation and using the control equation we obtain

(h)
or
(i)
For the solution to be stable, Kc must be negative. The time constant of the solution is
(j)
Figure D shows the response of the flow to a step change in for example setpoint (f(t) has a step
increase).

Figure D: Response of flow control to step disturbance.


The shorter the time constant, the faster the response goes to the setpoint. One could use the following
procedures to select the controller parameters for flow control.
1. Estimate the upstream and downstream pressure over the control valve at the design flow rate. If
177 / 769

OLGA 7

the pressure difference is less than e.g. 0.2 bar, adjust the upstream or downstream pressure so
that the difference is at least 0.2 bar. This is considered a convenient pressure drop over a valve
being used for flow control.
2. Size the valve so that it can deliver maximum flow rate = 2 times the designed value for the same
pressure drop over the valve.
3. Set
with A ranging from 1 to 10.
4. tp can be selected from the above chart, depending on how fast you want the flow rate to reach
e.g. 90% of the set point. When tp has been chosen ti is found from the definition of tp.
5. By choosing a different A, the same tp can be obtained for a different ti.

178 / 769

OLGA 7

PSV Controller
A Pressure-Safety-Valve (PSV) typically opens fast when the pressure rises above a defined value.
When the valve is opened the pressure is relieved. The safety valves are included to avoid damage on
the process equipment and the pipeline.
The PSV controller and a valve (or source) simulates the behaviour of the Pressure-Safety-Valve.
See also:
When to use
Methods and assumptions
How to use

179 / 769

OLGA 7

When to use
Use to model pressure safety valves. Use together with a valve or pressure driven source.

180 / 769

OLGA 7

Methods and assumptions


The controller will compare one or more input variables (normally pressure) with a setpoint. If any one of
the variable values becomes higher than or less than the setpoint, the controller will open a selected
PSV-valve. This could be the valve defined as a source valve. If all of the variables become greater or
lower than the reset value, this valve is closed again.
The output signal is limited with stroke time. See Actuator time of controlled device.

181 / 769

OLGA 7

How to use
See Connecting the controllers for a example on how to connect a controller.
Connect the measured value (e.g. a pressure). The MEASRD terminal must be connected.
Connect the PSV controller output to a valves, pressure driven sources or leaks.
Set the setpoint where the controller should open. If the controller should automatically close, enter a
reset value.
Include sufficient hysteresis for the reset value compared to the setpoint value, to avoid a situation
where the PSV output oscillates. That is; a situation where it opens in one time step, closes the next,
opens again in the next etc.
Change the default OPENMODE to BELOW if the controller should open when the measurement falls
below the setpoint.
Figure A shows the connection possibilities of the PSV controller.

Figure A: PSV controller connection terminals

182 / 769

OLGA 7

Scaler Controller
The scaler controller is used to scale input signals linearly from an input range to an output range. The
scaler controller issues a control signal to a device (e.g. a valve) or as an input signal to other
controllers.
See also:
When to use
Methods and assumptions
How to use

183 / 769

OLGA 7

When to use
Use to scale a variable in a process unit (e.g. Valve, Pump) or an input to another controller.
Ex. Scale controller ouptput signal from range 0 - 100% to input valve signal range 0 - 1. Includ a scaler
controller between main controller and valev
Ex. Scale signal from transmitter range to controller input range. Include a scaler controller between
transmitter and main controller.
Ex. Limit transmitter signal to stay in configured range.

184 / 769

OLGA 7

Methods and assumptions


The scaler controller scales the input signal linearly from the input range (LOWLIMIT to HIGHLIMIT) to
the ouput range (MINSIGNAL to MAXSIGNAL).
u = (MAXSIGNAL-MINSIGNAL) / (HIGHLIMIT - LOWLIMIT) * (y - LOWLIMIT) + MINSIGNAL
where
y - measured variable
u - unconstrained output
The computed output signal is affected by maximum, minimum constraints and by rate of change
constraints (opening, closing time or stroke time),
see Constraining the controller output and Actuator time of controlled device.

185 / 769

OLGA 7

How to use
Connect the required input signal to the MEASRD terminal. Specify input range and the output range by
setting LOWLIMIT, HIGHLIMIT and MINSIGNAL, MAXSIGNAL keys. Connect the controller output signal
OUTSIG_1..N to a device variable.
The figure below shows transformation of input to output through a scaler controller C.

186 / 769

OLGA 7

Selector Controller
A SELECTOR controller is a controller that uses two sub-controllers that are selected based on the value of
selected variables relative to low and high limits of these variables. The controller operates as a kind of hysteresis
controller, selecting the signal from one of the sub-controllers, and using this sub-controller until the low (or high)
variable limit is reached. Then the controller selects another sub-controller, and keeps it until the high (or low)
variable limit is reached.
See also:
When to use
Methods and assumptions
How to use

187 / 769

OLGA 7

When to use
When there are fewer variables to manipulate than there are variables to control. The controllers (or
measurements) of the controlled variables need to share the manipulated variables.

188 / 769

OLGA 7

Methods and assumptions


The controller algorithm is best described by an example:
Figure A shows a system consisting of a pipeline with a separator. The separator has liquid and gas
valves attached to it, in addition to an emergency liquid drain valve. In addition there is a separator inlet
valve having a fixed opening. Upstream of the separator, at some distance from it, is a gamma
densitometer used for measuring the local liquid volume fraction.

Figure A: Separator using SELECTOR controller to control the liquid outlet valve.
We want to control the separator level by controlling the liquid level in the separator with a level PID
controller. As long as the liquid level is below a given value we want the controller to act slowly /
moderately fast. If a liquid slug arrives we want the level control on the separator liquid outlet to be faster
to prevent the level from increasing to very high levels. This means that for normal operation we have a
moderately fast PID level controller, and for transient operation (when a slug arrives) we have a fast PID
operation.
In addition, a gamma densitometer is placed at some distance from the separator inlet. When the time
averaged signal from the meter reaches a certain limit, a slug is expected to arrive. We also want this to
trigger a faster operation of the separator liquid valve.
Our control structure for the separator liquid outlet valve will then be:
Normal operation:
1. Slow separator liquid level controller used to control the liquid outlet valve.
2. If the separator liquid level reaches a given high level, or the time averaged gamma densitometer
signal becomes higher than a given limit, the fast separator liquid outlet valve controller takes over.
Transient operation:
1. The fast liquid valve controller that is controlled by the separator liquid level is acting.
2. If the separator liquid level drops below a given low limit, the slow / normal separator liquid level
controller starts controlling the liquid outlet valve. The operation is back to normal.
There is no restriction on the number of variables that can be used for switching between the subcontrollers. The variables and their low and high limits are given as input to OLGA.
If the sub-controllers are PID controllers the integral term of the non-acting controller can be saved
(interlocked), reset to zero, or still be integrated. This will be determined in the input to the OLGA subcontrollers by the user.
189 / 769

OLGA 7

190 / 769

OLGA 7

How to use
See Connecting the controllers for an example on how to connect a controller.
Connect one or more limit signals (HIGHLIMITSIG/LOWLIMITSIG).
Define the controller used at start of simulation (keyword INITIALCONTROLLER).
Define the limits where the Selector controller changes its output (LOWLIMIT, HIGHLIMIT).
Connect the controller used below LOWLIMIT (SUBCONLOW), and the controller used above HIGHLIMIT
(SUBCONHIGH).
Figure B show the connection possibilities of the Selector controller.

Figure B: Selector controller connection terminals

191 / 769

OLGA 7

Purpose
The controller converts mass flow rate to volumetric flow rate at standard conditions.

See also:
When to use
Methods and assumptions
Limitations
How to use

192 / 769

OLGA 7

When to use
Use to control a volumetric flow rate at standard conditions.

193 / 769

OLGA 7

Methods and assumptions


The controller converts mass flow rate to volumetric flow rate at standard conditions.
Fluid properties are calculated from the given fluid table (FLUID), or composition (FEEDNAME) at
standard conditions. Standard conditions; pressure = 1 atm and temperature = 60 F (~15.5 C).
If neither of GOR/CGR/WGR/WATERCUT/MOLWEIGHT are given, the fluid table/composition phase
distribution at standard conditions will be used to calculate the overall mass flow rate.

194 / 769

OLGA 7

Limitations
Standard conditions, pressure = 1 atm and temperature = 60 F (~15.5 C), must be included in the fluid
table.

195 / 769

OLGA 7

How to use
To convert from mass flow at to volumetric flow rate at standard conditions:
Set correct phase in PHASE key. Specify the fluid in the FLUID or FEEDNAME keys. Specify the wanted
GOR/CGR/WGR/WATERCUT/MOLWEIGHT, and the volumetric flow rate at standard conditions will be
calculated.
Connect the STDController output terminal OUTSIG to an PID controller MEASRD terminal.

196 / 769

OLGA 7

Switch Controller
The main purpose of the switch controller is to switch between alternative inputs values. The output of
the controller is selected based on the setpoint in MODE = AUTOMATIC or SETPOINT terminal if
MODE = EXTERNALSETPOINT.
See also:
When to use
Methods and assumptions
How to use

197 / 769

OLGA 7

When to use
Use to select between alternative inputs to controllers or valves.
Ex. Alternative inputs to valves.
Ex. Alternative measured signals to controllers.

198 / 769

OLGA 7

Methods and assumptions


The output of the switch controller is selected based on the setpoint in MODE = AUTOMATIC or
SETPOINT terminal if MODE = EXTERNALSETPOINT.
SP < 1.5

unconstrained output A is set equal to controller at terminal INPSIG_1

1.5 <= SP < 2.5

unconstrained output A is set equal to controller at terminal INPSIG_2

2.5 <= SP < 3.5

unconstrained output A is set equal to controller at terminal INPSIG_3

....
(N-0.5) <= SP

unconstrained output A is set equal to controller at terminal INPSIG_N

Where N is the number of connected input terminals INPSIG_1..N

The computed output signal is affected by maximum, minimum constraints and by rate of change
constraints (opening, closing time or stroke time),
see Constraining the controller output and Actuator time of controlled device.

199 / 769

OLGA 7

How to use
Connect the required input signal(s) to the INPSIG_1..N terminal(s). Specify the SETPOINT key or
connect the SETPOINT terminal. Connect the controller output signal OUTSIG_1..N to a device
variable.
The figure below shows how INPSIG_1..4 is connected to OUTSIG.

200 / 769

OLGA 7

Table Controller
The table controller make it possible to tabulate a relation between the controller input and the controller
output.
See also:
When to use
Methods and assumptions
Limitations
How to use

201 / 769

OLGA 7

When to use
Use to define a non-linear relation for a process variable.

202 / 769

OLGA 7

Methods and assumptions


A table controller uses the input variables as lookup variable, x, in a table, u = f(x). The controller output is
u.
It is possible to use nested tables, that is; u = f(g(x)). This is done in the table definition, where one table
can reference another. The result from interpolating one table is used to interpolate in another.

203 / 769

OLGA 7

Limitations
The table controller is limited to one variable tables. It is only possible to calculate u = f(x1), and not u =
f(x1,x2) etc.

204 / 769

OLGA 7

How to use
Define a table, with XVARIABLE and YVARIABLE set to NOTGIVEN. Reference the table in the controller
definition.
Make the input signal available (from e.g. a transmitter) with the correct units, and connect to the
controller. The table controller require that the input signal (INPSIG) terminal is connected.
Figure B shows the connection possibilities of the table controller.

Figure B: Table controller connection terminals

205 / 769

OLGA 7

Transmitter
Transmitters are used to measure flow path variables and transmit them to controllers etc. through an
output signal terminal.
See also:
When to use
Methods and assumptions
Limitations
How to use

206 / 769

OLGA 7

When to use
The transmitters are used together with the controllers.

207 / 769

OLGA 7

Methods and assumptions


The transmitter creates a trend object and update the signal terminal every time step. That implies that
every variable available for trending is available from a transmitter.
The signal is converted to user specified units. If no unit is given, the default unit is used.
One transmitter can measure and transmit an arbitrary number of variables (from a single position).

208 / 769

OLGA 7

Transmitter - Limitations
The transmitters can only be connected to the flow path. For process equipment (Valve, Pump etc.)
variables, connected the equipment directly.

209 / 769

OLGA 7

How to use
The transmitter is positioned on the flow path, using pipe and section/section boundary or absolute
position. It is possible to use one transmitter to for both PT (volume variable) and UL (boundary
variable).
Make the connection between the transmitter, and the receiving signal terminal. Use the Connections
view to set variable name and unit.
After making a connection from the transmitter (ex. OUTSIG_1), a new terminal will be made available
(ex. OUTSIG_2). One transmitter can measure and transmit an arbitrary number of variables (from a
single position).

210 / 769

OLGA 7

Corrosion
The purpose is to calculate standard uniform CO2 corrosion and Top Of Line (TOL) CO2 corrosion.
See also:
When to use
Methods and assumptions
Limitations
How to use

211 / 769

OLGA 7

When to use
CO2 corrosion should be expected whenever CO2 and water is present.

License requirements
The Corrosion Module requires a separate license.

212 / 769

OLGA 7

Methods and assumptions


The basic chemical reactions in CO2 corrosion are:
(a)
which dissociates in two steps:
(b)
(c)
In CO2 corrosion when the concentrations of Fe2+ and CO32- ions exceed the solubility limit, they
combine to form solid iron carbonate films according to:
(d)
These films can be more or less protective for further corrosion.
Currently, three CO2 corrosion models; the NORSOK model , the de Waard 95 model and the IFE topof-line corrosion model have been implemented in the OLGA three-phase flow model /5/, /8/, /18/. The
de Waard 93 corrosion model was included in earlier versions, but has now been replaced with the topof-line corrosion model. Corrosion dominated by H2S is at present not covered by the corrosion module.
The NORSOK and de Waard 95 models are both regarded as conservative models as they include only
limited effects of protective corrosion films. Protective corrosion films can form especially at high
temperature (above 60 C) and at high pH (above pH 5.5). The corrosion rate will increase with
temperature for both models up to a limiting temperature where formation of protective corrosion films
are predicted. Both models are tuned to a large set of experimental data, but the NORSOK model takes
somewhat larger account for protective corrosion films at high temperature and high pH than the de
Waard 95 model, as more recent high temperature data also have been used.
The NORSOK model gives the corrosion rate as function of pH, temperature, CO2 partial pressure and
wall shear stress:
CR = f(pH, T) * g(T) * h(PCO2, t)

(e)

The de Waard 95 model gives the corrosion rate according to the following formula:
CR = (1 / (1 / Vr + 1 / Vm)) * Fscale

(f)

where Vr is the maximum corrosion rate based on the limiting reaction rate given as a function of
temperature, CO2 partial pressure and pH:
Vr = f(T, pH, PCO2),

(g)

Vm is the maximum corrosion rate based on the limiting mass transfer rate given as a function of CO2
partial pressure, liquid flow velocity and hydraulic diameter:
Vm = C * PCO2 * UL0.8 * DH0.2,

(h)
213 / 769

OLGA 7

and the scale protection factor Fscale is a function of temperature and CO2 partial pressure:
Fscale = g(T, PCO2)

(i)

In the IFE top-of-line corrosion model the top-of-line corrosion rate is limited by the amount of iron that
can be dissolved in the condensed water:
CR = a * Rcond * CFe * (b - T)

(j)

where Rcond is the water condensation rate calculated by OLGA and the solubility of iron in the
condensing water CFe is a function of CO2 partial pressure and temperature:
CFe = f(T, PCO2)

(k)

The flow field at each section along the pipeline/network is used to calculate the corrosion rate.

214 / 769

OLGA 7

How to use
For Top Of Line (TOL) corrosion the water condensation rate is needed. This is not available when
using the Black oil model. When using the PVT table option it is only available for a three phase table
and when specifying:
FLASHMODEL = WATER in OPTIONS.
When using compositional tracking (COMPOSITIONAL=ON IN OPTIONS). TOL can only be used when
specifying:
FLASHTYPE= FULLTHREEPHASE or SIMPLETHREEPHASE in COMPOPTIONS.
The NORSOK and de Waard models can be used for all PVT calculation options (Black oil, PVT table
and Compositional Tracking).
The input parameters for the corrosion models are specified in the keyword statement CORROSION.
Input parameters for each branch of the network are as follows:
CO2 mole % in the gas (key: CO2FRACTION)
Bicarbonate concentration in the water phase (BICARBONATE)
Total ionic strength in the water (IONICSTRENGTH)
Inhibitor efficiency (INHIBITOREFF)
Glycol concentration in the aqueous phase (GLYCOLFRACTION)
The water cut limit where water droplets in oil will wet the wall (WCWET). If the water cut is higher
than this value, the water droplets will wet the wall, even if no continuous water film is present. The
default value is 30 %. This parameter is only used for the water wetting test in the corrosion
module. It has no influence on the flow conditions.
An option for calculating pH based on saturated iron carbonate concentration in water (PHSAT)
Maximum CO2 partial pressure in single phase liquid flow (PCO2MAX)
Bubble point pressure , from which the CO2 partial pressure for single phase liquid flow will be
calculated (PTMAX)
Currently, the bicarbonate, glycol concentrations, ionic strength and water wetting limit are given as
constants for a given branch. The glycol concentration can either be set manually or be determined by
the MEG tracking function if available to the user. If the manual option is used, the glycol concentration
is constant through the whole pipeline. If the MEG tracking option is used, the glycol concentration will
be diluted in accordance with water condensation rates.
The water chemistry has a significant influence on the calculated corrosion rates. Experience in CO2
corrosion evaluation is therefore important to prepare input and evaluate simulation results properly.
For both the NORSOK and the de Waard 95 models the pH value in the bulk water phase is calculated
as a function of CO2 partial pressure, temperature, bicarbonate content and ionic strength by the
formulas given in the NORSOK model. The input parameters BICARBONATE and PHSAT can be used
to choose between different water chemistry conditions when calculating the pH value:
Condensed water without corrosion products: BICARBONATE = 0, PHSAT = OFF
Condensed water saturated with corrosion products: BICARBONATE = 0, PHSAT = ON
Water with specified bicarbonate content (e.g. formation water): BICARBONATE > 0, PHSAT =
OFF
The pH calculation is based on the CO2 partial pressure calculated as the CO2 mole % in the gas
phase multiplied by the total pressure. For a situation with no free gas phase the CO2 content will be
constant for pressures above the bubble point pressure. The user must then manually supply the bubble
point pressure (PTMAX), which may be found by running OLGA. The maximum CO2 partial pressure is

215 / 769

OLGA 7

point pressure (PTMAX), which may be found by running OLGA. The maximum CO2 partial pressure is
then calculated by the code for all pressures higher than PTMAX: CO2FRACTION * PTMAX. This is
done even though free gas is present; the code only checks if the pressure is above PTMAX or not.
Alternatively, the user may set the maximum CO2 partial pressure directly, (PCO2MAX). If no free gas
exists in the pipeline at all, PTMAX or PCO2MAX can be found from measurements or calculations in a
separator or in a pipeline further downstream where a free gas phase exists.
In the de Waard 95 model, corrosion reduction due to protective films is not accounted for when
formation water is present. For ionic strengths larger than 0.2 M, formation water is assumed and there
will be no corrosion reduction due to scaling. For ionic strengths lower than 0.2 M, condensed water
conditions are assumed, and the scaling reduction factor is then dependent on the CO2 partial pressure
and temperature.
The presence of glycol will reduce the corrosion rate. The same glycol reduction factor is used for both
the NORSOK and the de Waard 95 models. The effect of corrosion inhibitors can be specified through
the key INHIBITOREFFICIENCY.
Parameters calculated by the three phase flow model OLGA, which are used by the corrosion models,
are pressure (plot variable PT), temperature (TM), water velocity or mixture water/oil velocity, wall shear
stresses in water or alternatively liquid mixture (boundary variables TAUWWT, TAUWL), water volume
fraction (BEWT), oil film volume fraction (BEHL) and the near-wall water cut (WCWALL, which is given
as a fraction). WCWALL is defined to be 1.0 if there is any continuous water film at the wall. If water is
present only as droplets in the oil film, WCWALL is equal to the liquid film water cut. The liquid film water
cut can be expressed as USLWT/(USLWT+USLHL) where USLWT is the superficial velocity of water in
the liquid film, and USLHL is the superficial velocity of oil in the liquid film.
The water wetting conditions are determined as follows:
First, the water-oil flow regime is determined by the flow model. There are mainly two flow regime
conditions of concern for the corrosion model:
1.

A continuous water film exists (WCWALL = 1.0). A continuous water film may be a result of
stratification, or due to a water cut above the flow model's water-oil inversion point. The water-oil
inversion point has a default value of 0.5 (water cut = 50%), but may be changed through the
keyword WATEROPTIONS, INVERSIONWATERFRAC. The OLGA code has been verified with 0.5
as inversion point. Please note that changing this value might change the flow predictions
significantly.
2. Water only existing as droplets in a continuous oil film. For such cases, the water cut must be
below the flow model's inversion point (0.0 < WCWALL < INVERSIONWATERFRAC < 1.0)
This flow information is sent to the corrosion module where tests are performed to determine if water
wetting occurs:
Condition 1 will always give water wetting of the wall.
Condition 2 will give water wetting if the water cut (and WCWALL converted to %) is above the water
wetting limit, WCWET, given in the CORROSION keyword (default value 30 %).
For slug flow (output variable ID = 3), both conditions might be occurring intermittently, i.e. a passing
slug bubble might be in condition 1, while the liquid slug might be in condition 2 or vice versa. Such
cases are treated as full water wetting (condition 1).
To sum up, the case of no water wetting can only occur in condition 2 when the liquid film water cut (and
WCWALL in %) is less than the water wetting limit (WCWET). In that case, zero corrosion rate follows.
Full water wetting will always occur if WCWALL (in %) is larger than or equal to WCWET.
216 / 769

OLGA 7

In addition, the corrosion rates assuming full water wetting are always calculated.
See also:
CORROSION Keys
Corrosion Output Variables
Sample case for Corrosion

217 / 769

OLGA 7

Limitations
The corrosion models are not valid if pH > 6.5 or if T > 150 C. In cases where corrosion control by pH
stabilisation is applied, the pH value might exceed the upper pH limit of the corrosion models. The
implemented corrosion models are not suitable for such cases. The corrosion models should not be
used for CO2 partial pressures above 10 bar. In addition, the NORSOK model is presently not valid for
pH < 3.5 or T < 20 C. The user must ensure that these limits are not exceeded. The top-of-line
corrosion model does not account for increased corrosion due to presence of acetic acid in the gas,
which can increase the solubility of iron in the condensed water and hence the top-of-line corrosion rate.
If the gas contains acetic acid this should be evaluated separately.
The CO2 corrosion models are not valid when the ratio between CO2 and H2S partial pressure (or the
ratio between CO2 and H2S molar fraction in the gas phase) is lower than 20. The models should not be
used when the H2S partial pressure is higher than 100 mbar. For partial pressures ratios of CO2 and
H2S between 20 and 500, the models will give an upper bound for the corrosion rate, but may be
conservative since iron sulphide films may be formed.

218 / 769

OLGA 7

Drilling fluid
The Drilling Fluids option was developed to describe different fluids that are used in a drilling operation.
For example, muds of different densities can be pumped into the well during the drilling operation. This
option is also useful to simulate well clean-up operation or initial startup of a well after completion or
workover.
Drilling fluids are tracked in addition to production fluids from the well. It is possible to combine MEG
tracking and drilling fluids. The drilling fluid can either be in oil, water, or gas phase. It is assumed that a
drilling fluid is completely miscible with the phase it is specified to and immiscible with the other phases.
Therefore this option is suitable for displacement of different fluids of low volatility.
See also:
When to use
Methods and assumptions
How to use

219 / 769

OLGA 7

When to use
The Drilling Fluid option can be used when it is desired to track one or more fluid in additional to the
produced oil, water, and gas in simulating the process of one fluid displacing another. This option is
often used to simulate drilling operations, well clean-up, deal oil ciculation and start-up with a mud filled
well.

License requirements
Drilling and its associates are parts of the Wells Module that requires a separate license.

220 / 769

OLGA 7

Methods and assumptions


There are two methods for determining the physical properties of the drilling fluids: use of built-in
correlations or interpolation from the PVT table. Only one method can be used in the same case.
When the built-in correlations are used, the code uses the following fictitious components to keep track
the amount of mixing of different drilling fluids.
Sixteen fictitious components are used:
Component
ID
1
2
3
4

Component
name
HC
H2O
MEG
GDENMIN

GDENMAX

GVISMIN

GVISMAX

ODENMIN

ODENMAX

10

OVISMIN

11

OVISMAX

12

WDENMIN

13

WDENMAX

14

WVISMIN

15

WVISMAX

15

CUTTING

Description
Hydrocarbon mixture
Aqueous mixture
Hydrate inhibitor
Min gas density tracer for drilling fluid
(WATER/OIL)
Max gas density tracer for drilling fluid
(WATER/OIL)
Min gas viscosity tracer for drilling fluid
(WATER/OIL)
Max gas viscosity tracer for drilling fluid
(WATER/OIL)
Min oil density tracer for drilling fluid
(WATER/OIL)
Max oil density tracer for drilling fluid
(WATER/OIL)
Min oil viscosity tracer for drilling fluid
(WATER/OIL)
Max oil viscosity tracer for drilling fluid
(WATER/OIL)
Min water density tracer for drilling fluid
(WATER/OIL)
Max water density tracer for drilling fluid
(WATER/OIL)
Min water viscosity tracer for drilling fluid
(WATER/OIL)
Max water viscosity tracer for drilling fluid
(WATER/OIL)
Cuttings

The masses and physical properties of the individual drilling fluids are tracked along the flow paths. The
solubility of the drilling fluid into other phases than the miscible phase is neglected. Furthermore, the
drilling fluids do not affect the phase behaviour of the produced fluids. The ideal mixing is assumed
when different drilling fluids of the same phase are mixed with each other and with the production fluid.
When the PVT table is used for a drilling fluid, the non-Newtonian behavior is accounted for through the
apparent viscosity for flow calculations.

221 / 769

OLGA 7

How to use
In order to invoke the Drilling Fluids, the key DRILLING in the OPTIONS keyword must be set to ON.
Once the DRILLING option has been turned on, it cannot be turned off in a subsequent restart from a
RESTART file.
In addition at least one DRILLINGFLUID keyword must be defined on Library level, a type must be set to
any of OILMUD, WATERMUD, or GASMUD. Since these labels are arbitrary identifiers, up to three
drilling fluids may be specified in a simulation.
The drilling fluid properties can be identified through a fluid property table in the *.tab file, use the
FLUIDTABLE key to refer to the *.tab file that contains the drilling fluid properties. The fluid properties
table referred must contain all liquid properties normally present in a *.tab file. As a result, a drilling fluid
FLUIDTABLE is generally generated using PVTsim.
Alternatively, and simpler, the drilling fluid density and viscosity can be specified using the keys,
MAXDENSITY, MINDENSITY, MAXVISCOSITY, and MINVISCOSITY. These keys denote the drilling
fluid density and viscosity at standard conditions. Based on these standard properties, the density and
viscosity at in-situ temperatures and pressures are calculated by correlations. Units conversions of
these drilling fluid properties are supported, so a valid density unit (such as LB/FT3) or viscosity unit
(such as CP) must follow the density and viscosity specifications.
The primary means of getting drilling fluids into the system is through the SOURCE. Drilling Fluid inflow
rates must be specified in mass units, generally kg/s. Time series of mass inflow rates are allowed.
Normally GASFRACTION and TOTALWATERFRACTION must be set to zero so the MASSFLOW
specified refers to drilling fluid mass flow. In addition, the drilling fluid used must be identified by label,
along with its density and viscosity. This label, density, and viscosity must be consistent with the label,
density, and viscosity specified in the DRILLINGFLUIDS keywords.
If drilling fluid backflow is possible at a pressure BOUNDARY, the drilling fluid used must be identified by
label, just as for a SOURCE. As with the SOURCE, the label, density and viscosity in the must be
consistent with the label, density, and viscosity specified in the DRILLINGFLUID keywords.
A number of drilling mud variables can be plotted as either TREND or PROFILE variables. A
comprehensive list can be found on Drilling output variables
In addition the keywords below are useful:

ANNULUS to specify the annulus configuration (thermal interactions)

POSITION to specify initial bit position and leak-to positions

LEAK to specify TOPOSITION (useful for simulating well unloading valves)

222 / 769

OLGA 7

HydrateCheck
This module is used to get information on possible formation of hydrates. The user can specify hydrate
formation curves for each flowpath that should be investigated.
See also:
When to use
Methods and assumptions
Limitations
How to use

223 / 769

OLGA 7

When to use
HydrateCheck should be used when there is a risk of reaching the temperature/pressure region where
water can form hydrates.

224 / 769

OLGA 7

Methods and assumptions


The program does the following:
1.
For a given pressure and inhibitor concentration in a section, the temperature below where hydrate
may form is determined from the hydrate formation curve. The difference between the hydrate
formation temperature and the fluid temperature is then calculated, i.e. the volume variable DTHYD is
updated.
2.
For a given pressure and inhibitor concentration in a section, the pressure above where hydrate
may form is determined from the hydrate formation curve. The difference between the fluid pressure
and the hydrate formation pressure is then calculated, i.e. the volume variable DPHYD is updated.
3.
The positions and the values of the maximum temperature and pressure differences for hydrate
formation are calculated, i.e. the branch variables MDPHYD, MDPPOS, MDTHYD and MDTPOS
are updated.
Interpolation and extrapolation of the hydrate curves:
An imaginary square is formed to define the limits of the hydrate curve(s).
When hydrate curves for different inhibitor concentrations (HAMMERSCHMIDT = OFF) are used, the four sides
are the highest/lowest temperature and highest/lowest pressure of the hydrate curves. All hydrate curves are
extrapolated so they reach two of the square sides as illustrated in the figure below for INHIBCONC = 0%,
INHIBCONC = 20% and INHIBCONC = 40%.
For HAMMERSCHMIDT = ON the highest/lowest pressure is defined by the hydrate curve for the inhibitor
concentration of 0%, while the highest/lowest temperature depends on the actual inhibitor concentration
(Hammerschmidt).

Figure 1 Hydrate curve square with different pressure/temperature conditions. Condition 1 and 2 has an
inhibitor concentration of 40%, while Condition 3 has 0%.
When OLGA computes DPHYD and DTHYD it uses the inhibitor concentration and the pressure and temperature
in the section. See Condition 1 in the figure above.
If the Hammerschmidt equation is used (HAMMERSCHMIDT = ON), the hydrate temperature is calculated based
on the actual inhibitor concentration.
225 / 769

OLGA 7

on the actual inhibitor concentration.


If HAMMERSCHMIDT = OFF it is checked whether the inhibitor concentration in a section is within the range
given by the hydrate curves. If it is above the highest inhibitor concentration, the hydrate curve for the highest
inhibitor concentration is used. If is below the lowest inhibitor concentration, the hydrate curve for the lowest
inhibitor concentration is used. If the inhibitor concentration in the section is between two hydrate curves, OLGA
interpolates the two hydrate curves to generate a new hydrate curve for the inhibitor concentration in the section.
When DPHYD is computed the temperature in the section is used to find the hydrate pressure for the given
inhibitor concentration. If the temperature in the section is inside the square and no match is found, the highest
hydrate pressure is used if the temperature is to the right of the hydrate curve (Condition 2) and the lowest is used
if it is to the left (HAMMERSCHMIDT = OFF only; hydrate pressure always defined within the square with ON).
If the temperature in the section is to the right of the square (Condition 3) the highest pressure in the square is used
as the hydrate pressure. When the temperature in the section is to the left of the square the lowest pressure in the
square is used as the hydrate pressure.
When DTHYD is computed the pressure in the section is used to find the hydrate temperature for the given
inhibitor concentration. If the pressure in the section is inside the square and no match is found, the highest hydrate
temperature is used if the pressure is above the hydrate curve (Condition 3) and the lowest is used if it is below
(HAMMERSCHMIDT = OFF only; hydrate temperature always defined within the square with ON). If the
pressure in the section is above the square (Condition 2) the highest temperature in the square is used as the
hydrate temperature. When the pressure in the section is below the square the lowest temperature in the square is
used as the hydrate temperature.
It should be noted that if the section pressure is above the highest pressure in the square the reported DPHYD will
always be a positive value that indicates hydrate formation. This can be misleading, especially if the section
temperature also is higher than the highest temperature in the square, in which case DTHYD < 0 and the section
temperature in reality may be far above the hydrate formation temperature, see Condition 4.
To remove this source of error all hydrate curves should include both the minimum and maximum pressure
in the pipeline. That is, the hydrate curves in Figure 1 are not well defined for conditions 2, 3 and 4 (especially
the hydrate curve for 0%). Also, it is recommended to always include the hydrate curve for an inhibitor
concentration of 0% to avoid underestimating the hydration formation temperature.
Using DEBUG = ON in OPTIONSOPTIONS, a warning is given the first time the fluid temperature is above or
below the maximum temperature in the hydrate curve square to alert the user. This goes for pressure
above/below the square and inhibitor concentrations above/below the given values, as well.

226 / 769

OLGA 7

Limitations
For Compositional Tracking, the INHIBITOR must be defined in the FEEDFILE before it can be selected in
the HYDRATECURVE.
The Hammerschmidt equation (used when HAMMERSCHMIDT = ON) is only valid for inhibitor
concentrations below 70%. The inhibitor concentration can be verified by plotting e.g. MEGMFR.

227 / 769

OLGA 7

How to use
Define the hydrate formation curves with the HYDRATECURVE keyword in the Library section.
In each flowpath, use the HYDRATECHECK keyword to specify a list of hydrate curves to apply. Each
HYDRATECURVE specified in a flowpath must have a unique inhibitor concentration (INHIBCONC).
The hydrate formation curve can be specified either with keys PRESSURE and TEMPERATURE, or from
an ASCII file where the hydrate formation curve is given.
The effect of an inhibitor on the hydrate formation temperature can be calculated. This requires the
Inhibitor tracking module or the Compositional tracking module with an inhibitor defined in the FEEDFILE.
Note that changes in the composition (except the specified inhibitor) does not affect the hydrate curve
calculations.
This effect can be calculated in two ways:
1.

2.

HAMMERSCHMIDT = OFF: One hydrate curve per inhibitor concentration (INHIBCONC)


must be given. OLGA will then interpolate between the curves defined in the
HYDRATECHECK. One HYDRATECURVE keyword must be defined for each curve and
concentration.
HAMMERSCHMIDT = ON: The Hammerschmidt equation (see The Inhibitor tracking
module ) will be used based on the hydrate curve for no inhibitor. The equation is valid for
inhibitor concentrations between 0% and 70%.

228 / 769

OLGA 7

Hydrate Kinetics
The hydrate kinetics model (CSMHYK) allows for the prediction of where and approximately where
hydrate plugs will form in oil and gas pipelines. The current version of CSMHYK model (version 1) is
more suitable for systems with small mass and heat transfer resistances inside of the pipeline.
See also:
When to use
Methods and assumptions
Limitations
How to use

229 / 769

OLGA 7

When to use
Include the hydrate kinetics if the pipeline temperature is close to the hydrate formation temperature. If
the temperature drops sufficiently below the hydrate equilibrium temperature hydrate will be nucleated.
The formation of hydrate will affect both the temperature of the pipeline and the pressure drop due to
increased viscosity of the hydrate-oil slurry relative to oil viscosity.

License requirements
The Hydrate Kinetics Module requires a separate license.

230 / 769

OLGA 7

Methods and assumptions


The hydrate kinetics module combines the hydrate kinetics and rheological model developed by
Colorado School of Mines with the flow equations of the OLGA model. The hydrate kinetics model
determines the amount of gas and water consumed by hydrate formation and the effective viscosity of
the hydrate particle laden oil phase. The flow model integrates the mass consumption rate to obtain the
amount of hydrate phase and uses the effective viscosity for the flow calculations.

Hydrate reaction
The model assumes that induction time of gas hydrate is instantaneous after sufficient sub-cooling
(SUBCOOLING). The default sub-cooling is 6.5F. Therefore the nucleation is currently assumed
independent of any other thermodynamic properties except for the hydrate equilibrium temperature at the
given system pressure.
It is assumed that structure II hydrates are formed.
The hydrate formation reaction will by default react gas (methane) hydrocarbons with liquid water to form
hydrate particles (OILGUESTFRACTION=0 and GASGUESTFRACTION=1).
The HYDRATEKINETICS key GASGUESTFRACTION is the mass fraction of gas available for hydrate
formation to all the gas in a section, mg, i.e.,
(a)
The HYDRATEKINETICS key OILGUESTFRACTION is the mass fraction of oil available for hydrate
formation to all the oil in a section, m0.
The hydrate reaction rate is limited to the mass available to react. First the gas mass will react, then the
oil mass will react.

Flow model modifications


By default the hydrate particles will flow with the oil film. That is; the hydrate velocity will be the same as
for the oil film (COIL=1 and CWATER=0, denoted Co and Cw, respectively). But it is possible to relate
the hydrate velocity to both the oil and water velocity, uof and uwf, respectively,according to
(b)
An effective hydrate oil slurry viscosity, hos, is calculated by the Colorado School of Mines code:
(c)
It is possible to force a drift flux relation between the gas velocity, ug, and the volume average liquid
velocity, ul by using the DRIFTFLUX, VELOCITYRATIO and DRIFTVELOCITY keys:
(d)
It is also possible to increase the drag between gas and liquid by using the FOGEXPONENT key:

(e)
The FOGEXPONENT will reduce the velocity difference between gas and liquid when hydrate particles
are present.
231 / 769

OLGA 7

are present.
By using the FULLDISPERSION key, no slip between oil film and water film is used in the simulation.

232 / 769

OLGA 7

Limitations
The model is still in the research phase, and the initial emphasis has been on flowing liquid dominated
systems with excess of water and gas for hydrate formation. Future versions will likely also address gas
dominated systems and include a deposition mechanism. Special care should be taken when using the
model since the model has only been validated against limited data sets. Further, it is not designed for
shut-in and depressurization studies.
The hydrate particles are uniformly distributed in the oil phase. The hydrate equilibrium is pre-calculated
and the kinetic model developed for methane is adapted.
No deposition on wall is activated.
Immediate nucleation of the hydrate particles (no induction time).

233 / 769

OLGA 7

How to use
The hydrate kinetics model is activated through the HYDRATEKINETICS keyword. HYDRATEKINETICS
keyword is a FlowPath FA-Model (Flow Assurance Model).
The HYDRATEKINETICS references a HYDRATCURVE that describe the hydrate equilibrium
temperature.

234 / 769

OLGA 7

Inhibitor Tracking Module


The Inhibitor tracking module allows for tracking of the contents of a hydrate inhibior in the pipeline. The
module allows the choice between three inhibitors; MEG (mono-ethylene glycol), MEOH (methanol) or
ETOH (ethanol).
See also:
When to use
Methods and assumptions
Limitations
How to use

235 / 769

OLGA 7

When to use
An important application of this module within flow assurance, is using it to ensure that the amount of
hydrate inhibitor throughout the pipelines is sufficient to prevent the formation of hydrates. In the
standard three-phase model of OLGA, the pipeline may contain water and inhibitor, but information
regarding the inhibitor concentration along the line is not available.

License requirements
The Inhibitor Tracking Module requires a separate license.

236 / 769

OLGA 7

Methods and assumptions


Although similar, there are some differences in the assumptions used for MEG vs MEOH/ETOH tracking.
The following assumptions are made for MEG tracking:
MEG is only present in the aqueous phase. Water will be in both gas and aqueous phase.
The only properties of the aqueous phase affected by MEG are the viscosity, the density, and the
densitys derivatives.
The water vapour content in the gas phase is adjusted by the mole fraction of MEG in the aqueous
phase.
There is no diffusion of MEG in the aqueous phase.
The inhibitor tracking module is not aware of any special physics the user may have activated, and
hence may not work properly in combination with e.g. Wax or Corrosion. However, it should work
with all the features of basic OLGA.
The inhibitor tracking module must be used with a two-phase fluid table or with a three-phase fluid
table that has only H2O in the water phase.
The following assumptions are made for MEOH/ETOH tracking:
MEOH/ETOH does not effect flashing between gas and oil. This flash is calculated based upon the
gas mass fraction from the PVT table.
There is no hydrocarbon component dissolved in the water.
The mole fraction of MEOH/ETOH in gas is equal to the vapor pressure divided by the system
pressure.
The active coefficients of MEOH/ETOH and H2O from UNIFAC correlations are used to calculate
the chemical potentials of MEOH/ETOH and H2O in the aqueous phase.
The Inhibitor tracking module uses a fluid of three components, namely
1. HC
Hydrocarbon in oil and gas phase
2. H2O
Water, which can be in the gas and the aqueous phase.
3. Inhibitor (MEG, MEOH or ETOH).
At each time step the properties of the aqueous phase are calculated from the local pressure and
temperature, and also from the fluid composition in each section of the pipeline. The effects of the
inhibitor are included in the calculation of the density and viscosity of the aqueous phase. The method of
Grunberg and Nissan is used to calculate the viscosity of the inhibitor-water mixture, and the HankinsonBrobst-Thomson (HBT) technique yields an estimate of the liquid density. Descriptions and formulae for
the Grunberg and Nissan method and the HBT technique can be found in the open literature, see /35/.
The effect of inhibitor can also be included in the calculation of the hydrate formation temperature. The
user can either specify a hydrate curve for each inhibitor concentration and let OLGA interpolate
between the values, or the Hammerschmidt formula for hydrate depression (/19/) can be used (the
equation is valid for inhibitor concentrations between 0% and 70%):

(2.199)

237 / 769

OLGA 7

DT
M
H
W
TMEGCONC
TMEGCONC=0

=
Hydrate depression, oF
=
Molecular weight of inhibitor (MEG: 62.069 g/mol, MEOH:
32.042 g/mol, ETOH: 46.069 g/mol)
=
Hammerschmidt constant, default value is 2335 delta F
=
Weight per cent of the inhibitor in the liquid
=
Calculated hydrate temperature
=
Hydrate temperature for no inhibitor

For the other properties of the aqueous phase, the effects of the inhibitor are neglected and pure water
properties from the three-phase fluid table or from OLGA are adopted.

238 / 769

OLGA 7

Limitations
Inhibitor tracking is turned on through the COMPOSITIONAL keyword and cannot be used in conjunction
with the other modules available through this keyword (e.g. Blackoil or Compositional Tracking).
Furthermore, it cannot be used with Wax tracking. Please also see the list of assumptions in Methods
and assumptions.

239 / 769

OLGA 7

How to use
With the Inhibitor tracking module, one can specify a hydrate inhibitor (one of MEG, MEOH, or ETOH) to
see the effect this will have on the formation of hydrates in the pipeline.
Specify the following keywords to use the Inhibitor tracking module:
OPTIONS to set COMPOSITIONAL = MEG/MEOH/ETOH
SOURCE to specify INHIBFRACTION in the mass source
INITIALCONDITIONS to specify INHIBFRACTION at initial time (if STEADYSTATE = OFF in
OPTIONS)
NODE to specify INHIBFRACTION at the boundary
TRENDDATA/PROFILEDATA/OUTPUTDATA to print compositional variables for given
components
HYDRATECURVE and HYDRATECHECK to calculate the effect on the hydrate formation
temperature
Note that either INHIBFRACTION or TOTALINHIBFRACTION can be given. The former is the mass
fraction of the inhibitor in the total aqueous phase; the latter is the mass fraction of the inhibitor in relation
to the total aqueous phase + water vapour.

240 / 769

OLGA 7

Leak
The leak is a negative mass source. It removes mass from the pipeline.
The leak can transport mass between two pipelines. The leak outlet must then be connected to another
pipeline.
See also:
When to use
Methods and assumptions
Limitations
How to use

241 / 769

OLGA 7

When to use
Use to simulate leaks and pipe ruptures. It is also used for gas lift valve (GLV) modeling.

242 / 769

OLGA 7

Methods and assumptions


A leak or a pipe rupture is described as a negative mass source (mass out of the pipeline). The leak
area can be controlled by the control system. Both sub-critical and critical flow is supported in OLGA.
For sub-critical leak flow, the flow rate is governed by the difference between the internal and the
external pressures, the conditions in the pipe and the leak area. For critical leak flow, the flow rate is
governed by the conditions in the pipe and the leak area only. The leak flow is always limited to critical
flow.
The leakage flow area is calculated from:

where us = controller signal ( 0 us 1).


The leak uses the valve model. See Choke Methods and assumptions.
It is possible to route the flow through the leak to any pipe section in any branch by using the subkey
TOPOSITION, in which case backflow is allowed.
A leak can also be used to simulate a gas lift valve (GLV).

243 / 769

OLGA 7

Limitations
The leaks are not included in the steady state pre-processor.
Backflow is not allowed when the BACKPRESSURE key is used, that is, there will be no backflow if the
section pressure is lower than the given backpressure.
The leak uses the valve model. See valve limitations.

244 / 769

OLGA 7

How to use
Position the leak. Leaks can be placed anywhere along the pipeline.
A LEAK has two main functionalities:
1)
2)

It can be used to model a valve or rupture where the mass out of the pipe is removed from
the simulated system, that is, the mass is lost to the surroundings (requires the key
BACKPRESSURE)
It can also be used to model interconnections in the model, where the mass out of one
section is transferred to mass into another section (requires the key TOPOSITION).
BACKPRESSURE cannot be defined in this case as the backpressure is equal to the pressure in
the section defined in TOPOSITION.

Backflow is not allowed for functionality 1, that is, there will be no backflow if the section pressure is
lower than the backpressure.
For functionality 2 backflow is not allowed if GASLIFTTABLES is used. GASLIFTTABLES defines the
gas lift valve (GLV) response curve. Backflow is allowed if CD/DIAMETER or TABLE/PHASE/CF is used
instead.
Note: GASLIFTTTABLES can also be used for functionality 1. See Gas Lift Valve (GLV) for information
about GLVs.
If the flow through the leak is calculated using CD/DIAMETER or TABLE/PHASE/CF, the flow area of a
leak can be manipulated by a controller. Connect a controller to the leak input signal terminal INPSIG. If
no controller is connected to the leak, the entire flow area is used. See Valve How to use for details.

245 / 769

OLGA 7

Near-Wellbore Module
Conventional dynamic well flow models use steady-state IPRs (Inflow Performance Relationship) to
describe the influx of oil and gas from the reservoir, ignoring the transients in the near-wellbore area.
Furthermore, reservoir models use steady-state lift curves to represent the TPRs (Tubing Performance
Relationship), which ignores the wellbore flow dynamics. Neither the well models nor the reservoir
models can account for the dynamic wellbore/reservoir interactions.
In OLGA the IPR is described with the WELL keyword. With this model some transient phenomena in the
well are not accurately predicted while others are not predicted at all. To bridge this modeling gap, the
near-wellbore reservoir model Rocx has been developed and linked to OLGA.
See also:
When to use
Methods and assumptions
Limitations
How to use

246 / 769

OLGA 7

When to use
This link should be used when transient phenomena in the wellbore/reservoir are studied. Typical
examples are:
Well Shut-in/start-up
Onset of instability
Dynamic gas/water coning
Well loading and back seepage
Cross flow

License requirements
Near wellbore is part of the ROCX Module that requires a separate license.

247 / 769

OLGA 7

Methods and assumptions


The reservoir model is considered as a plug-in to the OLGA model, and the integrated simulation is fully
controlled by OLGA. During the simulation, OLGA provides the wellbore pressure to the reservoir model
and the reservoir model calculates the flow rate of each phase at the interface. The flow rates can be
positive or negative depending on the flow directions corresponding to production and injection
respectively. In case of injection or back seepage, the phase mass fractions in the wellbore section that
the reservoir model interfaces to are converted to saturations in order to calculate the fractional injection
rate for each phase.
The near-wellbore reservoir model, Rocx, is capable of simulating three-phase Newtonian Darcy flow in
porous media. The flow equations are solved in three dimensions, giving saturations and pressures
varying in space and time as output in addition to the flow rate of each phase at the boundary.
The numerical coupling between OLGA and Rocx is implemented in an implicit scheme. The concept of
the implicit coupling here is that Rocx calculates a sensitivity coefficient for the production rate with
respect to the wellbore pressure at each time step and makes it available for OLGA. At the next time
step, OLGA uses this sensitivity coefficient to determine the new wellbore pressure. The sensitivity
coefficient is extracted from the Jacobian matrix of the reservoir model in the last iteration. The size of
the near-wellbore domain contributing to the rate-pressure sensitivity calculation is specified by the
coupling level that can be given as a simulation input.
The principle of the implicit coupling can be summarized as follows:
1. Assuming the models have been integrated up to time step n, the wellbore model begins integration
to time step n+1 by requesting the reservoir model to calculate the sensitivity coefficients and
, which are used in this relation:
(a)
where PP is the pressure in the wellbore, MP is the mass flow rate for each phase and the
subscript p refers to a given phase, i.e. gas, oil or water.
2. The wellbore model uses the above relation as a boundary condition and solves for the complete
wellbore. The wellbore model has now completed time step n+1 and sends
and
to the
reservoir model.
3. The reservoir model completes its time step n+1 calculation by using the wellbore model supplied
boundary condition.

The sensitivity coefficient

is calculated by
(b)

which can be analytically derived from the reservoir model equations.

is simply given by

(c)
With this implicit coupling implementation, the integrated model can run simulations with relatively long
time steps while maintaining numerical stability.

248 / 769

OLGA 7

249 / 769

OLGA 7

Limitations
OLGA Rocx is not compatible with these fluid property models
Compositional option
Black oil module
Rocx uses the OLGA PVT table for looking up fluid properties. Currently, only the three-phase fixed
format OLGA PVT table can be used.
The steady-state pre-processor in OLGA can not be applied in the integrated simulation. The simulation
can be initialized by initial conditions or restart files. Rocx has its own restart file with the extension .rrs.
Other limitations on the Rocx reservoir simulator are given in the Rocx User Manual.

250 / 769

OLGA 7

How to use
Rocx is linked to OLGA through the NEARWELLSOURCE keyword.
Rocx supports both radial and rectangular grids. The numerical and physical kernel code is not affected
by the choice of grid. The flow and thermal equations of Rocx are solved fully implicitly, using the
Newton-Raphson iterative method at each time step.
Input data to Rocx are permeability and porosities of the porous medium, fluid transport properties, and
thermal properties of the rock and fluids. Necessary boundary and initial conditions must be given to
enable simulation. Like in OLGA, the boundary conditions of the reservoir model can also be specified in
time series. Rocx reserves the skin option for the situation when the inflow deviation from its ideal can
not be properly accounted for by the reservoir model itself, e.g. the perforation skin.
The simulation input information is stored in a keyword based text file. Standard industry file formats are
used for output. More details of the Rocx model can be found in the Rocx User Manual.

251 / 769

OLGA 7

Phase split node


The phase split node is based upon the functionality of an INTERNAL NODE, but the phase fractions can
be specified in the outgoing branches. For a normal internal node the composition flowing out of each
terminal connected is equal to the total composition in the node itself, but for a phase split node there will
be different distributed phase flows through each of the outgoing branches according to the actual type of
terminal chosen. In a way the behaviour of the phase split node might be seen as a simple type of
network SEPARATOR where there are no level controls and no internal separator efficiencies included.
See also:
When to use
Methods and assumptions
Limitations
How to use

252 / 769

OLGA 7

When to use
The phase split node is recommended to be used in a finger type separator and in nodes where the
in/over pipe connections where the phases tend to have an uneven split.

253 / 769

OLGA 7

Methods and assumptions


The phase split node has an arbitrary number of inlets/outlets. It has six different types of terminals: GAS,
OIL, WATER, LIQUID, DRYGAS and MIXTURE.
Terminal = GAS - gas +droplets
Terminal = OIL - oil bulk
Terminal = WATER - water bulk
Terminal = LIQUID - oil and water bulk
Terminal = DRYGAS - gas only
Terminal = MIXTURE - all phases within the node itself(default)
When the volume fraction of the connected phase(s) is sufficiently low(0.01), the flow in the outgoing
branch will be as from an internal NODE.

254 / 769

OLGA 7

Limitations
The phase split node is not intended for design purposes. It only distributes the phase fractions in the
outgoing branches according to the user defined type of terminals chosen:
The phase split node is only treated as a simple volume tank with no internal separation equipment
There are no level controls and no separator efficiencies
No heat exchange with the surroundings

255 / 769

OLGA 7

How to use
Input
Connections to external pipelines
The following connections are defined:
MIXTURE_1, MIXTURE _N inlets and outlets
GAS_1, GAS_N outlets
OIL_1, OIL_N outlets
WATER_1, WATER_N outlets
LIQUID_1, ... LIQUID_N outlets
DRYGAS _1, DRYGAS _N outlets
Internal volume
If the volume is not given, it will be default assigned a value by OLGA. In some cases it might be more
useful to give a larger value for the key VOLUME in order to get more stable node conditions during the
simulations.
Output
All of the output variables specified under section VOLUME VARIABLES that are available for the
internal NODE are also available for the phase split node.

256 / 769

OLGA 7

Pig
A pig is a mechanical device which is inserted into a pipline that moves with the flow. Such devices can
be used for, e.g., inspection, internal cleaning, or pushing liquid out of the pipe. When running a pigging
operation, parameters of interest are
1.
2.
3.
4.
5.
6.

the pressure drop over a pig.


the rate and total volume of liquid pushed out of a pipeline ahead of a pig.
the liquid content of a pipeline before and after pigging.
the flow restriction caused by a pig.
the velocity of a pig.
the time for a pig to traverse a pipeline.

See also:
When to use
Methods and assumptions
Limitations
How to use

257 / 769

OLGA 7

When to use
The Pig keyword is used to simulate various pigging scenarios.

License requirements
Tracking of the liquid slug in front of a pig (TRACKSLUG=ON) is part of the Slugtracking Module that
requires a separate license.

258 / 769

OLGA 7

Methods and assumptions


Friction forces and pigs
The friction forces acting on a pig are described in the following sections.
Static friction force
The static force between the pig and the pipe wall is denoted F0. For a static pig, this is the force that
needs to be overcome in order for the pig to start moving. Thus, a pig only starts moving if the pressure
difference over the pig yields a large enough force.
Wall friction force
The wall friction force due to contact between the pig and the pipe wall is given by
(a)
where
F0 = static friction force [N]
fw = wall friction factor [Ns/m]
Up = pig velocity [m/s]
As the pig velocity, Up, increases, the wall friction force decreases due to less contact between the pig
and the pipe wall. This effect is approximated by the wall friction factor.
Viscous friction force the frictional pig model
When a pig is moving, the flow of the fluid film around the pig results in a viscous friction force. This
force is calculated through
(b)
where
f1 = linear friction factor [Ns/m]
f2 = quadratic friction factor [Ns2/m2]
Up = pig velocity [m/s]

Leakage
There are two different types of leakage.
Pressure drop induced leakage
Due to the pressure drop over the pig, liquid can be pushed from behind the pig to in front of it. The
pressure drop induced volumetric flux is given by

(c)
where
cpl
= leakage factor [-]
Ppig = pressure drop over the pig [Ns2/m2]

= density [kg/m3]
Slip induced leakage (back leakage)
259 / 769

OLGA 7

Due to slip between the pig and the fluid surrounding it, some fluid ahead of the pig will not be carried
along by it but rather leaks between the pig and the pipe wall. When the gap between the pig and pipe
wall is very narrow, the effects of gravity and the pressure gradient can be neglected when calculating
the flow of the fluid film that passes around the pig. Assuming laminar flow, the average film velocity
becomes
(d)
where
Up = pig velocity [m/s]
Using this, the volumetric flow rate is then given by
(e)
where
D = inner pipe diameter [m]
Dp = outer diameter of pig [m]
By default, the gap between the pig and pipe wall is equals two times the pipe roughness. The user can
override this setting by specifying the pig diameter using the key DIAMETER.
The total volumetric leakage flow rate is split over the oil, water, and gas phases. For stratified flow, the
total leakage of gas, oil, and water is proportional to the hold-up each respective phase at that position.
For all other flow regimes, gas leakage is not allowed and the total leakage is split over water and oil in
proportion to the local water and oil hold-up, respectively.

260 / 769

OLGA 7

Limitations
The calculation of the volume of wax dislodged by a pig and the additional forces required to push
accumulated wax ahead of a pig is not available.
It is not possible to simulate the melting of a hydrate plug since the pig mass is constant.
It is not possible to simulate a pig traversing through a pipeline at the same time as slug tracking is
enabled.

261 / 769

OLGA 7

How to use
General
A pig is added to the simulation by declaring the PIG keyword on the flow-path where it is to be inserted.

Launch and trap position of the pig


A pig is launched and trapped at the boundaries closest to the positions given by the keys
LAUNCHPOSITION and TRAPPOSITION, respectively. The trap position is optional, and if not
specified, the pig traverses through the flow-paths until it exits through a terminal node and is removed.
The behavior of launching and trapping is the same as that of the PLUG model (TYPE=SHORT) in
OLGA5. It should be noted that this differs from the OLGA5 PIGTRACKING model where pigs are
launched 25 percent into the section and trapped at the section boundary.

Routing Pig in network


In a network with bifurcations, the pig will enter the flow-path having the largest volumetric flow unless its
routing is specified by the key ROUTING. N.B., when routing is given, the flow-path where the pig is
launched has to be included in the routing.

Leakage factor
The leakage factor, cpl, used in determining the volumetric flux of liquid from behind the pig to in front of
it can be specified in three different ways in order to override the default value:
1. Specify the leakage factor directly through the key LEAKAGEFACTOR.
2. Specify the relative leakage opening Aleak/Apipe through the key LEAKOPENING and evaluate the
leakage factor according to
3. Using the pressure loss coefficient, Fpig, specified through the LEAKDPCOEFF key, the leakage
factor is given by
The pressure loss coefficient can calibrated by letting fluid flow past a stationary pig.

Tracking the liquid slug


In order to track the liquid slug in front of a pig, set TRACKSLUG=ON.

Output
Pig specific plotting variables are found in the subgroup Pig of the group Basic. In addition, slug related
plotting variables (group SlugTracking or group Compositional, subgroup Slug) apply when the liquid
slug in front of a pig is tracked.

262 / 769

OLGA 7

Check valve
A check valve prevents the total flow from flowing in the wrong direction.
See also:
When to use
Methods and assumptions
Limitations
How to use

263 / 769

OLGA 7

When to use
Use to model check valves, and to prevent the flow from flowing in an undesirable direction.

264 / 769

OLGA 7

Methods and assumptions


The check valve closes if the total volume flow is in the wrong direction, e.g., there can be a negative flow
of liquid and positive flow of gas through the check valve. They remain closed until the pressure differ
ence across them is sufficiently large to give flow in the desired direction.

265 / 769

OLGA 7

Limitations
A check valve close if the total volume flow is in the wrong direction, but there can be a negative flow of
liquid and positive flow of gas through the check valve.

266 / 769

OLGA 7

How to use
Position the check valve at any section boundary in the pipeline. If ABSPOSITION is used the check valve
will be moved to the closest section boundary.
Set the allowed flow direction in the DIRECTION key.

267 / 769

OLGA 7

Compressor
A compressor is included to increase the pressure of the gas. The compressor is described by
compressor characteristics that give the pressure and temperature increase over the compressor as a
function of flow through the compressor and the rotational speed of the compressor. The compressor
characteristics also give information about the minimum inlet flow (surge flow) that the compressor can
operate on. If the inlet flow drops below the surge flow multiplied by a safety factor, a recirculation loop
around the compressor is opened. The recirculation loop secures stable conditions for the compressor. A
heat exchanger (cooler) can be included in the recirculation loop.
See also:
Methods and assumptions
Limitations
How to use

268 / 769

OLGA 7

Methods and assumptions


The compressor is modelled as a flow-dependent and rotational-speed-dependent pressure jump and
energy source. Any recirculation around the compressor is treated by a source into the section upstream
of the compressor, and a sink out of the section downstream of the compressor, as OLGA cannot handle
recirculation directly.
The compressor characteristics and the surge volume flow are given in the form of tables. The
compressor surge volume flow is the lowest volume flow the compressor can operate on without
becoming unstable. Compressor data needed for the model are found by linear interpolation in the
compressor tables.
Pressure increase and derivatives of pressure increase are calculated from the pressure characteristics
and are used for setting new coefficients in the momentum equations. Temperature increase is
calculated from the temperature characteristics and is used for setting new coefficients in the energy
equation.
The compressor speed and the recirculation around the compressor are governed by the control system.
In addition, the compressor speed is limited by a user-specified range. The surge volume flow calculated
from the compressor tables is used together with an optional security factor to establish a set point for
the controller that controls the recirculation around the compressor.
It is assumed that during operation the control system keeps the compressor within the bounds of validity
of the characteristics.
Compressor pressure step evaluation
The compressor pressure characteristics give compressor pressure ratio as a function of reduced
rotational speed and reduced mass flow, Equation (a) below.
(a)
where
p1
p2
G

=
=
=
=

(-) is the pressure ratio


(N/m2) is the inlet pressure
(N/m2) is the outlet pressure
(kg/s) is the mass flow

Figure A shows a typical compressor characteristic diagram.

269 / 769

OLGA 7

Figure A: Compressor characteristic diagram


The pressure increase over the compressor is calculated from the compressor pressure characteristics.
For calculation of the operating point, the compressor speed is necessary. The speed is governed by the
control system and is limited by a user-specified range. The range is normally determined by the speed
range in the compressor tables.
r = (rmax - rmin) u + rmin

(b)

where r is the compressor speed, and u is the signal from the control module. u is in the range from 0 to
1, where u equal to 1 means that the compressor speed is at its maximum.
Compressor temperature calculation
In order to calculate gas temperatures, the power supplied by the compressor, PWC, is added as an
enthalpy source to the enthalpy balance for the pipe section following a compressor boundary. The
temperature resulting from this balance is used for calculating fluid properties, while the compressor
outlet temperature is only used for informative purposes.
Polytropic compression is assumed. The enthalpy source due to the compressor is:
(c)
where W is the mass flux through the compressor and Dz is the section length of the section
downstream of the boundary where the compressor is located.
For an inlet at pressure p1 and a density of r1, the power required for compression to an outlet pressure
p2 is:

(d)
The relation between pressure ratio, temperature and the polytropic exponent n is:

(e)
The compressor temperature characteristics are also given in the form of tables, and the temperature
ratio is found by linear interpolation.

270 / 769

OLGA 7

ratio is found by linear interpolation.


The polytropic factor (n-1)/n is calculated from pressure ratio and temperature ratio using Equation (f).

(f)
Calculation of surge volume flow
The surge flow is in the form of tables, with reduced surge mass flow as a function of reduced
compressor speed, see Figure A. The surge volume flow is used together with an optional security
factor to establish a set point for the anti-surge controller (ASC) that controls the recirculation around the
compressor, preventing unstable compressor operation. Reduced surge mass flow as a function of
compressor speed is found by linear interpolation.
For a compressor located at boundary j the surge volume flow is calculated as follows:

(g)

Recirculation flow modelling


Recirculation flow around a compressor is modelled as a set of negative and positive sources, since
OLGA cannot handle recirculation directly. The flow is controlled by a choke with the choke opening
governed by the control system.
The recirculation is between two neighbouring sections with a compressor on the common boundary,
see Figure B. Only gas is allowed to flow in the recirculation loop. The recirculation flow is treated as a
source into the section volume ahead of the compressor boundary, and a source out of the section
volume after the compressor boundary.

Figure B: Recirculation loop


The pressure drop across the restriction is equal to the pressure difference between the sections
downstream and upstream of the compressor.
The recirculation flow is restricted by the critical pressure difference. If the pressure difference between
the section upstream and downstream of the compressor is higher than the critical value, the critical
value is used.
The pressure drop over the restriction is:
(h)
Solving for W:
(i)
where the positive sign relates to a positive source, and the negative sign relates to a negative source.
W is the mass flux, g is the gas density in the section it is flowing out of (section after the compressor),
271 / 769

OLGA 7

W is the mass flux, g is the gas density in the section it is flowing out of (section after the compressor),
D is the diameter of the section with the source, and Do is the orifice diameter of the controlled choke.
For subcritical flow through the controlled choke the pressure difference between the section upstream
and downstream of the compressor is used in equation (i). For critical flow through the controlled choke,
the critical pressure difference is used for calculating the recirculation flow. Critical pressure difference is
based on single phase gas flow with constant specific heat ratio, g. Specific heat ratio of 1.3 is used.

(j)
(k)
where
g is specific heat ratio
pcrit is critical pressure ratio
p is the pressure in the section it is flowing out of
Dpch, crit is critical pressure difference
The energy leaving the section downstream of the compressor and entering the section upstream of the
compressor through the recirculation loop is calculated as follows.
(l)
hg is the specific gas enthalpy in the compressor downstream volume, Wrec,g is the mass flux based on
the section area of the section with a source and Dz is the section length of the section with a source.
A heat exchanger may also be included in the recirculation loop. The aim of the heat exchanger is to
extract energy to obtain a desired heat exchanger outlet temperature. In this case, the temperature of the
recirculation source entering the section upstream of the compressor has to be specified. The heat
exchanger is modelled as an ideal heat loss.
The energy source entering the upstream section in a situation with a heat exchanger in the recirculation
loop is calculated as:

(m)

is specific gas enthalpy based on the desired heat exchanger outlet temperature and pressure in the
section where the source is entering.
is specific enthalpy decrease in the heat exchanger. The
energy extracted through the heat exchanger is limited by the heat exchanger capacity.
The orifice opening of the controlled choke is governed by the control system. The control module also
takes care of the stroke time of the controlled choke. The orifice opening is calculated as:
(n)
where u is the signal from the control module, and is in the range from 0 to 1. u equal to 1 means that
the controlled choke is fully open.

272 / 769

OLGA 7

the controlled choke is fully open.

273 / 769

OLGA 7

Limitations
Only gas flows in the recirculation loop. Critical flow calculations are based on single-phase gas flow
with a constant specific heat ratio of 1.3. If the pressure in the section upstream of the compressor
exceeds the pressure in the section downstream of it, the recirculation flow is set to zero.
The compressor may not be positioned at the first or last section boundary of the pipeline. In that
position, the controlled bypass is unrealisable since it is defined as going from the downstream section
to the upstream section.
It is recommended that a separator is located upstream of the compressor in order to avoid liquid flow
through it. Numerically, the compressor model works with liquid phase present but the results make no
sense.

274 / 769

OLGA 7

How to use
To use a compressor, one needs to add a compressor and two controllers (speed controller and antisurge controller). There must be one compressor table for each compressor.
If the controllers are omitted the speed will be kept at minimum speed (MINRPM) and the recycle loop
will be closed.

Controlling rotational speed


Compressor minimum rpm, MINRPM, and maximum rpm, MAXRPM, are specified by the user. These two
parameters determine the operating range of the compressor and they must be within the rpm range of
the compressor tables. A controller can be used to regulate the speed within the operating range. The
speed is calculated by Equation (b) above. If the speed controller is omitted the controller signal will be
zero and the compressor will use its minimum speed.
Recycle loop
The anti-surge security factor, SECURITYFACTOR, determines the anti-surge control line. To protect
the compressor against surge conditions, always select a security factor > 1. A typical value for security
factor is from 1.1 to 1.3. A security factor of 1.2 means that the control valve in the recirculation loop
starts to open at a compressor inlet flow that is 20% higher than the surge flow specified in the
compressor tables.
The anti-surge controller (ASC) should be configured as a PI controller. The ASC is a kind of non-linear
controller that have two amplification factors, AMP1 and AMP2. AMP1 is used if the inlet flow to the
compressor is less than the surge flow, and AMP2 if the inlet is greater than the surge flow. Both AMP1
and AMP2 have to be negative, and the absolute value of AMP1 should be higher than the
corresponding absolute value of AMP2 in order to rapidly open the recycle valve and to impose an
inertia to close it again. A short stroke time for the recycle valve should also be selected. Select also the
controller initial output signal (BIAS), equal to zero. To send information from the compressor to the ASC
about surge flow, connect the OUTSIG_n out-signal from the compressor to the MEASRD input-signal of
the controller. Then select QGSURGE as the measured variable.
If the anti-surge controller is omitted the controller signal will be zero which will cause the recycle choke
to be closed, i.e. there will be no flow in the recycle loop.
To add a cooler to the recirculation loop, set COOLER=ON and also set the COOLCAPACITY.

275 / 769

OLGA 7

Gas Lift Valve


In the gas lift process, either continuous or intermittent, relatively high pressure gas is injected downhole
through a gas lift valve (GLV) into the production string to lift the fluid to the surface. The bottom hole
pressure after shut-in is often much higher than the bottom hole pressure at normal production
conditions. Several gas lift valves (unloading valves) are spaced along the depth of the well to lower the
compressor discharge pressure required during startup phase of gas lift after a shut-in operation.
Properly spaced and designed, these unloading valves should close one after the other from top to
bottom as the lift gas reaches the deeper valves. The unloading valve opens or closes depending on the
casing pressure and tubing pressure. The opening pressures are affected by downhole temperature as
the temperature changes the forces acting on the valve stem.
The characteristics of a GLV are usually given by several sets of curves with each curve shows the gas
injection rates at different production pressures at a constant injection pressure. The keyword TABLE
provides the channel for users to specify the GLV characteristics.
The keyword LEAK allows users to use the GLV characteristics and specify the lift gas injection position.
As many leaks can be given as the actual gas lift well configuration requires.
Combining the functions that are provided by the keywords TABLE, LEAK, and ANNULUS, it is possible
to simulate different gas lift configurations and various operations such as startup, shut-in, and steadystate operation. Gas lift distribution systems and production networks of wells can be simulated with the
network capability of OLGA.
See also:
When to use
Methods and assumptions
Limitations
How to use

276 / 769

OLGA 7

When to use
Whenever the gas-lifted well contains GLV of which the opening depends on the production and
injection pressure, the characteristics of the GLV should be used through the keyword TALBE in the
simulation model. Such a model can be used to:
Dimension and space the unloading valves along the wellbore.
Calculate compressor discharge pressure required to unload the well.
Check the possibility of flow instability such as casing heading, density wave instability. The GLV
dynamics have major impact on the flow stability of gas lift systems.
Trouble shoot problems such as interference of unloading valves during normal operation
(simultaneous gas injections through more than one GLV).
Find various remedies to flow instability.

277 / 769

OLGA 7

Methods and assumptions


A gas lift valve (GLV) is used to inject gas into the tubing from the annulus/casing. Typically more than
one GLV is placed after each other down the annulus. The intention is that the GLV closest to the
wellhead opens first, and as the tubing pressure decreases this GLV shall close and the next one open
(might already be open depending on the response curve). This cycle will be repeated till the injected
gas reaches the operating GLV (lowermost active GLV). Once the gas lift gas reaches the operating
GLV, gas is continuously injected through this GLV and stable production is optimised by regulating the
optimum amount of gas (injection gas rate). At constant injection pressure (casing pressure) all GLVs
above the operating GLV should be closed. If the tubing pressure is increased for any reason (e.g.
choke back production at the wellhead, a big liquid slug coming from the productive formation, etc), this
may cause the opening of some GLVs. This opening is the automatic response of the GLVs to stabilise
the flow. The injection of gas will reduce the liquid head pressure in the tubing until the GLVs are closed
again.
Figure A shows an example of these response curves where tubing pressure is along the x axis,
standard volume gas rate along the y axis, and there is one curve for each casing pressure.

Figure A:

Example of GLV Response Curves

The GLV is constructed to respond on both the casing pressure and tubing pressure, see Figure B. The
casing and tubing pressure work together to open the valve, while the gas (typically nitrogen) charged
dome works in the opposite direction. The curve for the casing pressure of 730 psig illustrates the
behaviour. For low tubing pressures the combined force is not enough to open the valve (Pt < 330 psig).
For tubing pressures above the opening pressure of 330 psig the valve starts to open; the Throttling
region from 330 to approximately 600 psig is where the valve goes from closed to fully open. For a
tubing pressure approaching the casing pressure the flow decreases as the differential pressure
decreases, and above 730 psig (Pt > Pc) there is no flow as there is a check valve that stops the flow
going from the tubing to the casing.
In the input to OLGA the terms injection pressure and production pressure is used instead of casing
pressure and tubing pressure, respectively, since the injection gas may be injected in the tubing
instead of the casing, and the well fluid flows up the casing. The intention of the GLV is to allow flow
from the injection to the production side, so using the terms injection/production makes the input more
general.

278 / 769

OLGA 7

Figure B:

Sketch of typical casing (injection) pressure operated GLV (with gas charge)

The GLV in Figure B is characterized as an Injection or Casing Pressure Operated GLV since the
injection/casing pressure works on the large part of the bellows (AINJ) while the tubing pressure works
on the small part (APROD). The force balance for the point where the GLV starts to open is then:
(a)
where R = ASEAT / ABELLOW. PINJ and PPROD switch places in the equation for a Production or
Tubing Pressure Operated GLV.
Calculation of flow from curves
The standard volume gas rate through the GLV is found by linear interpolation in the user-given
response curves (defined in LEAK/GASLIFTTABLES) using the calculated injection pressure (upstream
the GLV) and production pressure (downstream).
First, the code finds the two response curves with injection pressures that are closest (higher and lower)
the current injection pressure. One gas rate is found for each curve by interpolating using the current
production pressure, and then the resulting gas rate is found by interpolating between these two rates
using the current injection pressure. If the current injection pressure is below the lowest given injection
pressure, the curve for the lowest injection pressure is used directly and vice versa for injection pressure
above the highest given injection pressure. That is, no extrapolation for injection pressures.
Extrapolation is performed in the direction of decreasing production pressure to find the opening
production pressure, if not given (allowed with a negative extrapolated value, as would be the case for
the injection pressure of 790 psig in Figure A). It is required that the last point in a response curve (the
point with highest production pressure) has a gas rate of 0. It is possible to create a curve with only one
point for which this is not a requirement (a way to specify constant standard volume flow for all
production pressures below the injection pressure).
Associated liquid (in case of liquid on the injection side) through the GLV is calculated by setting the total
mass flux WTOT [kg/(m2s)] as:

(b)
where WG is the gas mass flux derived from the response curves, rG is the gas density and rmix the
volume averaged density. For each phase, P, (gas, oil, water, etc.) the mass flux through the GLV is:
279 / 769

OLGA 7

(c)
where xP is the mass fraction of the phase upstream the GLV (in the section where the GLV is placed).
Temperature effect
In the case of a gas charged dome (a GLV might have a spring instead) the pressure in the dome will
increase with increasing temperature as the gas is contained in the dome. This means that the required
force from the production and injection side to open the GLV also increases with increasing temperature.
According to Winkler and Eads /20/ the increased pressure in a nitrogen charged dome/bellows (based
on reference temperature TREF of 60 F) is expressed like:

(d)
where TB is the bellows temperature, and the pressures and temperature are given in psia and F. These
equations have been implemented in OLGA, but with a user given reference temperature. That is, it has
been assumed that the equations give reasonable results also for other reference temperatures than 60
F.
The bellows temperature will depend on the production temperature, injection temperature, flow
conditions, geometry of GLV, placement of GLV, etc. The user must give a parameter a where the
bellows temperature is a linear interpolation between the injection and production temperature:
(e)
From the force balance equation (a) we get the following expressions for the increase in required
production pressure to open the GLV (assuming constant injection pressure):
(f)
where DPB is calculated in equations (d). This effect can be very significant. For a sufficiently high
temperature above the given reference temperature the GLV might never open: PPROD, open +
DPPROD > PINJ.
In OLGA this effect is included with a right-shift of all the response curves associated with the GLV. The
point with maximum gas rate (for each of the curves) is identified, and the points to the left of this
maximum point are shifted with the calculated DPPROD. The new response curve will then consist of the
adjusted left side of the curve, the original right side of the curve, and a new maximum point where they
cross each other.
This procedure is a simplification of how the response curves are affected in the dynamic region; only
the opening point is correctly calculated (except for the uncertainty in using equations (d) for a reference
temperature different from 60 F). E.g., the curve for a casing/injection pressure of 850 psig in Figure A
will not be affected by temperature with this procedure. This is not physically correct.

280 / 769

OLGA 7

Limitations
The temperature effects on the opening/closing of a GLV are mainly uncertainties in using the GLV
characteristics. The average of the temperatures on the production and injection side is used as
temperature inside the valve body. In reality, the temperature distribution within the valve is more
complex because of interaction between the production string and the injection string, the expansion of
lift gas through the valve, and axial heat transfer along the pipes.
It is also assumed that the maximum flow rate point of the GLV performance curve corresponds to the
flow rate of a fully opened valve. For the curves which do not have the maximum point, the effects of
temperature on the closing of the valve are not considered.

281 / 769

OLGA 7

How to use
Use the keyword TABLE to specify the curves of gas flow rate as a function of production pressure for
different injection pressures.
Use the keyword LEAK to specify the gas injection position and the name of the table the GLV
performance curves are given.
Use ANNULUS keyword to configure the injection and production strings.

282 / 769

OLGA 7

Heat Exchanger
A heat exchanger is included to raise or lower the temperature in the fluid. There are two different types
of heat exchangers in OLGA;Setpoint Heat Exchanger and Controlled Heat Exchanger. Both can be
configured to give practically the same results, but each is configured differently and this allows for
different usages.
See also:
When to use
Methods and assumptions
Limitations
How to use

283 / 769

OLGA 7

When to use
When a heat exchanger is used in the anti-surge recirculation loop of a compressor, it is specified
through the keys of the COMPRESSOR keyword (keys COOLER and COOLCAPACITY). Otherwise,
use this HEATEXCHANGER keyword to create a heat exchanger.

284 / 769

OLGA 7

Methods and assumptions


The setpoint heat exchanger is an idealised heat source/sink, and no description of the real heat
transfer process is included. It simply provides a way of specifying a temperature at the heat exchanger
outlet, consistent with the energy equation in OLGA. In the setpoint heat exchanger, a heat source/sink
is estimated that will give the specified fluid temperature for a particular section. More specifically, the
heat exchanged is equal to the enthalpy difference corresponding to the difference between the inlet
temperature and the specified outlet temperature of the heat exchanger.
The controlled heat exchanger has a simpler model. In the controlled heat exchanger, the effect of the
heat exchanger is determined by the controller system. The heat source/sink is not estimated as the
heat exchanger has no knowledge of any target temperature. The CONTROLLER for the heat
exchanger knows the current temperature and the target temperature and adjusts the effect of the heat
exchanger to obtain the target temperature.

285 / 769

OLGA 7

Limitations
A heat exchanger can not be positioned at the first or last section boundary of a pipeline.

286 / 769

OLGA 7

How to use
To select between a setpoint heat exchanger and a controlled exchanger, simply set the TYPE.
To use a setpoint heat exchanger, specify the position, an outlet temperature and an upper limit of the
heat source, the capacity.
To use a controlled heat exchanger, specify the position and the capacity, but instead of setting the
outlet temperature, connect the heat exchanger to a controller. The controller will typically measure the
temperature at a specified position along the pipeline and compare the measured temperature to a
setpoint. Based on the difference between the setpoint and the measured temperature, the controller will
deliver a signal to the heat exchanger which determines how large a fraction of the heat exchangers
capacity will be applied. Different types of controllers can be used, making the input of a controlled heat
exchanger more flexible than that of the setpoint heat exchanger. For example, one can measure the
average temperature over several sections by using a Linear Combination Controller.

287 / 769

OLGA 7

Pump
The PUMP keyword is used to model specific pump types of common commercial interest.
Real commercial pumps may be classified into the following categories;
1. Rotodynamic pumps
2. Positive displacement (volume) pumps
3. Other types (jet pump, water hammer pump, etc).
OLGA currently offers four different pump models; the centrifugal pump and the simplified centrifugal
pump which belong to category 1 above, as well as the displacement pump and the pump battery which
belong to category 2 above.
No explicit OLGA models are yet implemented for the less-common types of specialized pumps listed in
category 3 above.
See also:
When to use
Methods and assumptions
Limitations
How to use

288 / 769

OLGA 7

When to use
If the inlet pressure of a pipeline is too low to drive the fluid to the outlet of the pipeline, or if we want to
increase the oil production, a pump can be installed to increase the flow rate in the pipeline.

License requirements
The centrifugal and displacement pumps are part of the Multiphase Pump Module that requires a
separate license.
The pump battery model is used for drilling applications, and is only available with the Wells Module.
The simplified centrifugal pump requires no additional license.

289 / 769

OLGA 7

Methods and assumptions


Centrifugal pump
Theory and multiphase dynamics
For a generalized multiphase centrifugal pump, the pressure increase over the pump, DP, is dependent
on the flow rate Q, pump speed N, inlet gas volume fraction aI, and the pump inlet pressure PI:
(a)

For the liquid (assuming incompressible), the specific work delivered from the pump into the fluid is:
(b)
where PO is the pump outlet pressure, PI the pump inlet pressure and rl the liquid density. For a
compressible gas, and assuming a polytropic process, the work done by the pump is:

(c)
Where n is the polytropic constant and rg, I the gas density at pump inlet.
The work input to the gas is equal to the increase in the gas enthalpy. When the gas is assumed to be
ideal Win can be written as:

(d)
The polytropic efficiency is defined as the ratio of the work done by the pump divided by the work input
to the gas. If the adiabatic constant k for the gas and the compressor efficiency hp are given, the
polytropic constant n can be calculated.
For a two-phase mixture, the pump power to the fluid is weighted by mass fractions (m = gas mass
fraction) as follows:

(e)
With W calculated from the pump characteristics, Equation (e) can be solved for PO/PI. The relationship
between head H and specific work W is W = gH = ghHR, where HR is rated head and h is the head
ratio.
For a two-phase mixture (except for very high gas fractions) an isothermal compression of the gas may
be assumed (i.e. n=1.0) to account for rapid vapor-phase heat loss to all of the associated liquid, the
pump impeller / case, and the surroundings. Assuming n = 1.0, equation (e) can then be rewritten by a
series expansion to:

290 / 769

OLGA 7

(f)

Modeling in OLGA
OLGA's transient calculations for centrifugal pump performance utilize multi-dimensional interpolation
across four separate (default, or user-specified) quadrants of performance curves. Each quadrant is
defined in a specific normalized / homologous format (see Pump Data Table for Centrifugal Pumps for
an exact definition of all quadrant formats). Together, these four quadrant curve sets give OLGA
advanced capability to model all possible transient combinations of Positive and Negative Normalized
Speed Ratios and Flow Ratios (including transient backflows that often occur during pump startup and
shutdown, in combination with either weak forward impeller rotation or actual reverse impeller rotation).
However, most pump manufacturers do not publish performance curves directly in this normalized /
homologous format required by OLGA. Nor do they typically offer any curves at all for the operating
quadrant representing Positive Speed with Negative Flow (where the pump is transiently unable to
overcome external backpressure, typically during Startup/Speedup) or the operating quadrant
representing Negative Speed with Negative Flow (where the centrifugal impeller is physically rotating
backwards, either due to reverse power input or overwhelming external backpressure).
Instead, most manufacturers publish one Head versus Flowrate Curve (with Power or Torque overlaid)
for the case of Gas Volume Fraction (GVF) = ZERO, plus additional curves for increasing GVF's, up to a
"Degraded Performance Limit" (often GVF=60-70%, but variable by manufacturer and model).

291 / 769

OLGA 7

In order to incorporate such manufacturer curves into an OLGA pump model, the user must first convert
the manufacturer curves into homologous curves where the head and torque ratios (actual value to rated
value) are functions of the pump speed and flow rate ratios, as defined in Equations (g) below.
OLGA's special homologous centrifugal pump curves utilize the following non-dimensional variables:
- head ratio

- speed ratio

- flow ratio

- torque ratio

(g)

where subscript R means rated value.


OLGA interpolates over four quadrants of homologous curve sets, all defined in terms of the above nondimensional variables. Each quadrant curve set includes:
Single phase head HS
Two phase head HT
Single phase torque THS
Two phase torque THT
The two-phase head HT and two-phase torque THT curves should be based on fully-degraded twophase conditions. The transfer from single-phase conditions to fully-degraded two-phase conditions is
described by a two-phase multiplier. The pump head H and hydraulic torque TH under two-phase
conditions are determined as:

(h)
where HM(a) is the two-phase head multiplier, TM(a) is the two-phase torque multiplier and a the gas
volume fraction at the pump inlet. Each set of homologous curves consists of four curves. These are
defined in Table 1 and Table 2.
292 / 769

OLGA 7

A complete default set of homologous curves is tabulated in the code (and also documented in an
external file that is linked to the example centrifugal pump in the pump.opi sample case installed with
OLGA) . These built-in default centrifugal pump curves are based on experimental data, and are
representative for typical centrifugal pumps. However, users can change these data easily by specifying
their own experimental data through the pump data table. An example of a graphical presentation of the
tabulated pump characteristics is shown in Figure A. This figure shows the single phase homologous
head curves.
Because the homologous curves are dimensionless, one set of curves can be used to describe a variety
of different pumps (i.e., within a single OLGA model) by specifying the desired rated density, head,
torque, flow rate and speed for each pump.
In calculating the hydraulic torque, TH, the difference between actual fluid density and rated density
must be corrected as:
(i)

Table 1: Dependence of Pump Head on Pump Speed and Flow Rate

Curves

Range

Independent
variables

Dependent variables

w > 0,

q/w

h/w 2

q > 0,

w /q

h/q2

q < 0,

w /q

h/q2

w < 0,

q/w

h/w 2

Table 2: Dependence of Pump Torque on Pump Speed and Flow Rate

Curves

Range

Independent
variables

Dependent variables

w > 0,

q/w

b/w 2

q > 0,

w /q

b/q2

q < 0,

w /q

b/q2

w < 0,

q/w

b/w 2

293 / 769

OLGA 7

Figure A: Single Phase Homologous head curves


The OLGA centrifugal pump model also includes embedded numerical models for typical recycle and
bypass lines, including user-specified orifices that may be linked to OLGA controllers. For more detail,
see the heading Recycle and bypass flow below.
For details of the energy balance across the OLGA Displacement Pump, see the heading Energy
balance below.

Displacement pump
Theory and multiphase dynamics
For the displacement pump, the pump flow rate is the theoretical flow rate minus the backflow through
the pump. The theoretical flow rate is a function of the pump speed and the characteristics of the pump,
expressed through the specific flow rate. The backflow rate is a function of several parameters and is
tabulated in a backflow table. This can be summarized as follows:

(j)

where
Q0
Qb
Qspc
N
DP
aI
nl
PI

- theoretical flow rate


- back flow rate
- pump specific flow rate
- pump speed
- pressure increase across the pump
- void fraction at the pump inlet
- liquid kinetic viscosity
- pressure at the pump inlet

Modeling in OLGA
For a given displacement pump, the specific flow rate Qspc is a constant. Qb is tabulated in the backflow
table as a function of N, DP, aI, nl and PI.
A default implementation of the backflow table is implemented in the displacement pump (and also
documented in an external file that is linked to the example displacement pump in the pump.opi sample
294 / 769

OLGA 7

documented in an external file that is linked to the example displacement pump in the pump.opi sample
case installed with OLGA). Other backflow tables may be given by using the TABLE keyword.(See
Pump Data Table for Displacement Pumps.)
The OLGA displacement pump model also includes embedded numerical models for typical recycle and
bypass lines, including user-specified orifices that may be linked to OLGA controllers. For more detail,
see the heading Recycle and bypass flow below.
For details of the energy balance across the OLGA Centrifugal Pump, see the heading Energy balance
below.

Pump Battery
Accurate simulation of the pumps used for a standard drilling operation is important for the overall
estimation of the pump power needed as well as the volume of mud/water required during the operation.
Defining the total flow rates proportional to the rate of pump strokes simulates the battery of positive
displacement pumps.
We define the pump battery through a proportionality factor for the volume delivered at a certain pump
rate:
(k)
where
QP
=
PFAC =
SPES =

Volume delivered by the pump battery


Pumping factor
Strokes per time unit

The pump rate is normally controlled by the following set of controllers:


Controller on the maximum hydraulic horsepower allowed
Controller on the maximum pump rate
Controller on the minimum pump rate
Controller on the maximum pump pressure allowed
If any one of these controllers is set into action the pump rate is adjusted automatically. The number of
controllers can be extended above the number shown above and different variables (e.g. fluid rate,
inflow rate) can be used to control the pumps.
The total hydraulic horsepower, HHP, is calculated from the following definition:

(l)
where
Qinj
= Pump injection rate of mud or water (bbl/min)
WHP = Pump injection pressure (bara)

Recycle and bypass flow


Recycle and bypass flows are only defined for centrifugal (not simplified) and displacement pumps. The
recycle flow, GR, is considered as the flow through a controlled choke. The flow is calculated with a
295 / 769

OLGA 7

recycle flow, GR, is considered as the flow through a controlled choke. The flow is calculated with a
given pressure difference between the two sides of the choke, DPch, and the choke upstream
conditions. The choke upstream condition is taken from the pump downstream section (pump pressure
side). The choke flow can be regulated by a controller.
If the recycle flow is in subcritical condition, GR is calculated by:
(m)
where Cd is the choke discharge coefficient and Ach the choke opening area.
If the mass flow through the choke exceeds the critical flow rate, critical flow conditions will be used. The
flow rate through a critical choke is governed by the choke upstream conditions and the choke
opening. No forward flow is allowed in the recycle loop.
The bypass flow, Gb, is controlled by a choke and calculated in the same way as for the recycle flow. If
the bypass flow line is opened, the fluid flows from the pump inlet to the pump outlet in the normal
pumping flow direction without going through the pump. Back flow is not allowed through the bypass
line.

Simplified centrifugal pump


Theory and multiphase dynamics
The simplified centrifugal pump in OLGA is intended for quick, approximate modeling. It models a
linearized approximation to the local behaviour of a real centrifugal pump, and is therefore only accurate
for use across small excursions from its specified local operational point (where the tangent to the real
nonlinear operating curve does not change significantly).
These simple algebraic expressions are used to calculate the pressure increase over this simplified
pump, as well as its pump efficiency:

DPo = DPr ( 1 + D1 ( N - Nr ) + D2 ( Q - Qr ) ) ( 1 - D3 a )
=

r ( 1 + E1 ( N - Nr ) + E2 ( Q - Qr ) ) ( 1 - E3 a )

DP = DPo

(n)
(o)
(p)

where:

DPo
DP
N
Q
a

= Pump pressure increase at rated density ( bar )


= Pump pressure increase ( bar )
= Pump speed
( rpm )
= Flow rate
( m3/s )
= Gas volume fraction
= Pump efficiency
( adiabatic )
= Specific density
( kg/m3 )
D1,2,3 = Input coefficients for pressure increase
E1,2,3 = Input coefficients for efficiency
Subscripts:

r = rated

The power to the fluid is calculated in the following manner:


a. Inlet enthalpy (Hs) (J/kg) and entropy (Ss) are found from the fluid file. The enthalpy at discharge
296 / 769

OLGA 7

pressure is found assuming isentropic conditions (Hiso). The actual enthalpy change is then
calculated by following formula:
(q)
b. Outlet enthalpy is calculated from:
Hd = Hs + H

(r)

c. The power input to the fluid is calculated from:


Wfluid = GTH

(s)

where Wfluid is in W, and GT is the total mass flow in kg/s.


Total shaft power:
Wtot = Wfluid / M

(t)

Pump torque:
= Wtot /

(u)

Pump hydraulic torque:


TH = M

(v)

where
= 2 N / 60, and M the pump mechanical efficiency.
Modeling in OLGA
Note that by setting the coefficients D1,2,3 and E1,2,3 = 0.0, a pump with a constant pressure increase
will be simulated. If the user wants to obtain a certain flow rate in a simple way, one can either iterate on
the input value for Pr or assume some value for D1 and let a controller determine the necessary
speed.

Energy balance
Centrifugal and Simplified Centrifugal pumps
The total power input to the fluid from any pump (including the OLGA centrifugal, displacement, and
simplified pumps described above) is:
(w)
where TH is the pump hydraulic torque, w the pump speed and M the pump mechanical efficiency.
Displacement pump
For the displacement pump, the hydraulic torque, TH, may not be available, and it is therefore difficult to
calculate the term QPt. In this case, the total power input to the fluid is calculated by summing the
mechanical work on the fluid and the different losses as following:
297 / 769

OLGA 7

The power used for mechanical work on the fluid, QPM, is calculated as:
(x)
where,
Wl
Ql
rl
Wg
Qg
rg

- specific work delivered from pump into liquid


- liquid flow rate
- liquid density
- specific work delivered from pump into gas
- gas flow rate
- gas density

Mechanical friction loss:


(y)
Viscous friction loss:
(z)
where,
a
- experiment coefficient for mechanical friction loss
b
- experiment coefficient for viscous friction loss
Nref
- pump reference speed
QPmf,ref - mechanical friction loss at the pump reference speed
QPvis,ref - viscous loss at the pump reference speed
Then, the total power input to the fluid is calculated as:
(aa)

298 / 769

OLGA 7

Limitations
The recycle flow and bypass flows around the OLGA centrifugal and displacement pumps are
considered as flows through controlled chokes. Each flow is calculated with the given pressure
difference between the two sides of the choke and the choke upstream conditions. The pipeline effect of
the recycle flowline and bypass flowline is not considered.
The recycle flow can only flow from the pump downstream section to the upstream section, and the
bypass flow can only flow from the pump upstream section to the downstream section. It is impossible to
insert any component in the recycle flowline or bypass flowline, because no pipeline is considered.
Pumps can not be positioned at the first or last section boundary of a flow path.

299 / 769

OLGA 7

How to use
General setup (all pump types)
1
Add the PUMP keyword to the desired flowpath
2
Specify pump location by one of ABSPOSITION (length), PIPE & SECTIONBOUNDARY, or
POSITION (an alias)
3
Choose a desired PUMPTYPE from the list below:
A
Simplified Centrifugal to roughly simulate multiphase transient dP and efficiency with only three
algebraic coefficients, as either constant or linearly sensitive to transient fluctuations in speed, flowrate,
and void fraction.
B
Centrifugal to more rigorously model the real nonlinear transient operation of a particular
multiphase centrifugal pump (including recycle and bypass). OLGA calculations are based on either
built-in nonlinear curves for a "typical" pump, or user input of special dimensionless OLGA curves for a
particular pump that must usually be derived from given dimensional curves before OLGA entry.
C
Displacement to rigorously model the real nonlinear transient operation of a particular
multiphase positive displacement pump (including recycle and bypass). OLGA calculations are based
on either built-in nonlinear curves for a "typical" pump, or detailed manufacturer's curves expressing
that multiphase displacement pump's internal backflow rate as a 5-dimensional tabular function of
speed, dP, multiphase void fraction, inlet pressure, and liquid-phase viscosity.
D
Pump Battery to simulate the special case of a battery of positive displacement liquid-phase
drilling mud pumps. by specifying a proportionality constant relating operating speed to total volumetric
flowrate, subject to specified control limits for minimum and maximum flowrate, as well as maximum
hydraulic horsepower and outlet pressure.
NOTE: The related topic Pump - When to use documents the differing OLGA module license
requirements for each PUMPTYPE described above.
4
Choose any applicable means of controlling the pump speed, as described in detail at the
bottom of this section.

Simplified Centrifugal setup


1
In addition to the General Setup above, you must specify DPRATED, FLOWRATED, SPEEDR,
and MAXSPEED. Allso override the (900 kg/m3) default of the required DENSITYR with your actual
rated liquid density, if significantly different.
2
You may also specify related sensitivity of pump DP to varying speed, flowrate, and void fraction
via the linear departure coefficients DCOEFF1 - DCOEFF3. NOTE: Without these optional user inputs,
the OLGA simplified centrifugal pump defaults to a constant DP = DPRATED regardless of any
transients.
3
You may also override the default (0.5) adiabatic efficiency by entering EFFRATED, then make
that efficiency sensitive to speed, flowrate, and void fraction if desired by also entering ECOEFF1 ECOEFF3. NOTE:Adiabatic efficiency of the Simplified Centrifugal Pump affects OLGA calculations for
fluid heating, hydraulic horsepower, total shaft horsepower and torque, through the relations
documented in Pump - Methods and assumptions.
4
If more accurate estimation of Total Shaft Power is also required, you may also override the
default (0.7) EFFIMECH.

Centrifugal setup
300 / 769

OLGA 7

1
Like the Simplified Centrifugal Pump discussed above, the OLGA Centrifugal Pump also
requires DENSITYR (same 900 kg/m3 default, or specified), plus FLOWRATED, and SPEEDR.
2
However, OLGA's full Centrifugal Pump model also requires you to specify HEADRATED and
TORQR as a minimum, in order to scale the general transient response surface of either the built-in
default or user-specified Homologous Centrifugal Pump Curves to your actual pump.
3
You may optionally enter custom transient centrifugal pump performance curves to precisely
represent the exact transient response surface for your actual pump. However, note that most
manufacturers do not publish pump curves directly in this format, and it may also be difficult to obtain
degraded multiphase performance curves up to the maximum degraded Gas Volume Fraction (GVF) for
your particular hardware and application (often somewhere in the range of 30 - 70% vapor volume).For
more specific information about the theoretical basis of these special OLGA input requirements, consult
Table 1, Table 2, and Figure A of the Pump - Methods and Assumptions topic.
4
The OLGA Centrifugal Pump will run without any further inputs, already representing a much more
realistic transient modeling upgrade to the Simplified Centrifugal Pump model at only slightly greater
modeling cost in setup time and runtime.
5
This PUMPTYPE also includes additional provisions for simple "branch-less" Bypass and Recycle
modeling to further increase the realism of OLGA's transient responses for typical pump packages. The
setup procedures and modeling assumptions for these Built-in Bypass and Recycle features are
described in detail below.

Displacement setup
1
The OLGA Displacement Pump requires significantly different types of inputs than the Centrifugal
or Simplified Pumps. For example, none of DENSITYR, FLOWRATED, HEADRATED, SPEEDR, or
TORQR are used.
2
You must enter SPECAPACITY (the total specific volume displaced per revolution or displacement
cycle). as well as MAXSPEED. OLGA will then multiply these two inputs to determine the (gross)
theoretical volumetric flowrate displaced (before subtracting internal bypass).
3
The OLGA Displacement Pump will run without any further inputs, although equipment
manufacturers or others with detailed knowledge may wish to override the defaults for one or more of
ACOEFFICIENT, BCOEFFICIENT, MDISSIPATION, VDISSIPATION, etc in order to tune the model very
precisely.
4
You may optionally enter custom transient displacement pump backflow (performance)
curves to precisely represent the exact transient response surface for your actual pump. However, note
that the required input format is a complex 5-dimensional matrix of internal backflow rates as a function
of pump speed, head, void fraction, inlet pressure, and liquid viscosity - information normally only
available from the manufacturer's experts, perhaps even requiring new eperimental work on a prototype
pump for your particular fluid and operating conditions..For more specific information about the
theoretical basis of these special OLGA input requirements, consult the Displacement Pump Theory
topic in the Pump - Methods and Assumptions section.
5
Like the Centrifugal pump, this PUMPTYPE also supports additional provisions for simple
"branch-less" Bypass and Recycle modeling to further increase the realism of OLGA's transient
responses for typical pump packages. The setup procedures and modeling assumptions for these Builtin Bypass and Recycle features are described in detail below.

Pump Battery setup


1
Setup of and use of the special Pump Battery model (for a battery of dtilling mud pumps) is
primarily described within the Pump Battery topic of the Pump - Methods and Assumptions section.
2
Required inputs include MAXSPEED, MINCAPACITY, MAXCAPACITY, MAXPRESSURE, and
HPMAX. MINSPEED is optional.
3
These inputs are used to simulate simple limit controls on horsepower, flowrate, and pressure.

Optional Built-In Bypass and Recycle for Centrifugal and Displacement Pumps
301 / 769

OLGA 7

To activate OLGA's simplified Bypass feature for any Centrifugal or Displacement Pump, specify
BYDIAMETER and connect a bypass controller of your choice. No other bypass inputs are offered or
required.
To activate OLGA's simplified Recycle feature for any Centrifugal or Displacement Pump, specify at least
RECDIAMETER and MAXRECYCLE, plus any non-default values for RECPHASE, MINRECYCLE, and
ACCECOEFF. Then connect a recycle controller of your choice.
Further details about the internal workings of these simplified Bypass and Recycle features are provided
in the following text, equations, and block flow diagrams.
A common multiphase transportation system with pump is shown in Figure B.

Figure B: Multiphase Transportation System with Pump


Within OLGA, this system will be simplified as shown in Figure C. Note that in this implementation the
pump is abstracted into a volume-less element on the section boundary J between section J-1 and
section J. The recycle flow is out of section J and into Section J-1, and the bypass flow out of section J1 and into section J.
No-slip flow is assumed for all of gas, liquid, and droplets moving through section boundary J, as:
Ug = Ud = Ul = U
OLGA also permits the user to add a separate VALVE keyword at the same section boundary where a
centrifugal pump is located. The user may then close that optional OLGA Valve to block any possible
backflow transients (that may otherwise occur due to higher downstream pressure at any moment when
the centrifugal pump is shut down).

302 / 769

OLGA 7

Figure C: Multiphase Transportation System modelled in OLGA


The centrifugal pump model requires a pump table with the characteristics of the pump. The
displacement pump model requires a backflow table. The pump manufacturers generally characterize
their pumps by pump operating characteristics. There is a default implementation of such tables in
OLGA. If other tables are needed they should be given with the TABLE keyword. Each of the
characteristics is assigned a label, which is referred to in the PUMP keyword.
The user can choose the recycle flow as gas only, liquid mixture, water only, or fluid mixture.

Controlling the pump speed


The following options are available for controlling the pump speed:
1. Pump speed regulated by controller (All pump models):
a. Controlled manually by specifying time and speed series in the controller definition.
b. Regulated by a physical parameter. The speed is calculated by:
(ab)
where Nmax
is the maximum pump speed (defined by user), Nmin is the minimum pump speed
(defined by user) and u the signal from the controller.

2. Controlled by an override controller (Only for centrifugal and displacement pumps):


To adapt the pump to the production change (because the recycle flow is at upper or lower limits),
the pump speed will be changed automatically according to the required speed variation (speed
acceleration). The speed variation may be given in form of:

where A is a constant pump speed variation rate (acceleration). The speed variation will stop once
the recycle flow is within a defined range below MAXRECYCLE and above MINRECYCLE.

3. If the maximum pump torque has been given by users (Only for centrifugal and displacement
pumps):
The effective pump torque is calculated from the total power input to the fluid, QPt :
(ac)
where QPt is the total power input to the fluid. If the pump shaft torque is over the limit the pump speed
is reduced, and a warning message will be given in the output file.

303 / 769

OLGA 7

Separator
The network separator is not intended to accurately model separation phenomena, but is meant to
include the influence of a separator on transient pipeline dynamics. The behaviour of the separator is
mainly based upon user given input for the separation efficiency (gas/liquid, oil/water), and set critical
levels for oil and water drainage.
See also:
When to use
Methods and assumptions
Limitations
How to use

304 / 769

OLGA 7

When to use
It is recommended to use the separator model whenever a real separator is present in the flow network
and the effect of the downstream flow pattern is of interest. If it is only interesting to look at the upstream
flow pattern, it sometimes is appropriate to replace the separator with an ordinary pipe with large
diameter to stabilize the boundary conditions and in that way avoid the needs for more complex
specification of outgoing pipes, valves and controllers linked up to the separator.
It can also be useful to employ a separator as a downstream boundary condition for controlling the
boundary pressure. This may reduce unwanted flow oscillations in the network compared to using a
constant pressure boundary condition.

305 / 769

OLGA 7

Methods and assumptions


Separator type
The separator may be two-phase or three-phase and the geometry orientation is horizontal, vertical or
table specified.
Connections to external pipelines
The separator has an arbitrary number of inlets/outlets. Two phase separators must have connected at
least one inlet, one gas-outlet and one oil-outlet to pipes. Three phase separators must in addition also
have one water-outlet connected.
Valves/controllers
The separator has no internal valves and controllers, so they have to be specified on the outgoing
pipes.
Level control
The separator levels are controlled by the valves and controllers in the outlet pipes. For a three-phase
separator, the water level limit for when the water will be drained together with the oil can be specified in
the separator keys:
HHWATHOLDUP or
HHWATLEVEL

Separation efficiencies
a)

Liquid carryover in gas outlet.


The gas-liquid separation efficiency is defined as one minus the volume fraction of the
liquid droplets in the gas outlet stream. By default, the gas-liquid separation efficiency is
equal to one, that is, no liquid carryover in the gas outlet. The user can, however, specify a
constant gas-liquid separation efficiency, effg by the key EFFICIENCY in the keyword
SEPARATOR. The liquid droplet volume fraction in the gas stream is then equal to one
minus the value assigned to EFFICIENCY.
For three phase flow the liquid droplet volume fraction is distributed to water and oil
droplet volume fractions according to the water and oil volume fractions in the settled liquid
in the separator.
To prevent instabilities in the separator when the liquid holdup becomes very large, it is
possible to specify two input keys, EFFLOW and EFFHIGH, to assure a continuous
transition from effg = EFFICIENCY to effg = 0.0. EFFLOW is the liquid volume fraction
when efficiency is being reduced and EFFHIGH is the liquid volume fraction when
efficiency becomes zero and the gas outlet is treated as a normal flow path. The gas-liquid
separation efficiency, effg is modified by the following set of rules:
The liquid volume fraction, l EFFLOW:

(a)
306 / 769

OLGA 7

l > EFFLOW and l < EFFHIGH:

(b)

l EFFLOW:
(c)

b)

Oil in water drain.


The oil volume fraction in the water drain is determined by the following relation for
separation efficiency:

(d)
where Kso is the time constant, OILTCONST, for separating oil from water and Trsp is
the residence time which is defined as the separator liquid volume / liquid volume flow into
the separator.
The oil volume fraction in the water drain is then 1 eff0.
c)

Water in oil drains.


The water volume fraction in the oil drains is determined by an equation similar to the
one above:

(e)
where Ksw is the time constant, WATTCONST, for separating water from oil. If the water
level is above a certain limit, HHWATHOLDUP or HHWATLEVEL, the water above this limit
is assumed to be drained together with the oil and the separation efficiency for separating
water from oil is modified as follows:

(f)
where Hof is the ratio of the water layer height above the limit to the liquid height above
the same limit.
The water volume fraction in the oil stream is then 1effw.

Heat transfer
The heat transfer, qtr into the separator or out from the separator is given by:
307 / 769

OLGA 7

(g)
where U is the overall heat transfer coefficient, A is the surface area, T sep is the separator temperature
and Tamb is the ambient temperature. If adiabatic temperature option is given for the total flow network,
U is set to zero for all separators in the network.

308 / 769

OLGA 7

Limitations
The network separator is not intended for design purposes. It only simulates a predefined behaviour of
a real separator.
The separator is only treated as a simple volume tank with no internal separation equipment
The separator efficiencies is user given
No wall temperatures is calculated
There are no time restrictions for calculation of the flash contributions. The total mass internally is
taken into account and treated as at equilibrium. Due to the internal geometry of the separator, this
might give incorrect results if the separator pressure or temperature suddenly changes.

309 / 769

OLGA 7

How to use

Figure A An illustration of a three-phase separator

Input
Connections to external flow paths
For a two phase separator, the following connections are defined:
INLET_1, INLET_N inlets
GAS_1, GAS_N outlets (Use GAS_2 to model flare outlet)
OIL_1, OIL_N outlets(Use OIL_2 to model emergency outlet)
For a three phase separator, the following connections are defined:
INLET_1, INLET_N inlets
GAS_1, GAS_N outlets (Use GAS_2 to model flare outlet)
OIL_1, OIL_N outlets(Use OIL_2 to model emergency outlet)
WATER_1, WATER_N outlets(Use WATER_2 to model emergency outlet)
Initial conditions
Key INITTEMPERATURE gives initial value for the separator temperature
Key INITPRESSURE gives initial value for the separator pressure
Key INITWATLEVEL gives initial value for the water level
Key INITOILLEVEL gives initial value for the oil level
Geometry
There are two ways to specify the geometry of the separator. One method is to specify the separator
length, LENGTH and the separator diameter, DIAMETER. The surface area and volume is then
calculated by using the knowledge of the cylindrical form. The other method is to define a specific level
table LEVELTABLE, a set of user defined values giving the volume as a function of the level (height).
Using this method the surface area, SURFACEAREA also has to be given.
Separator valves/controllers
The separator has no internal valves and controllers. All valves must be defined on the outgoing pipes
and might be positioned at the first section boundary of the pipes. The controllers are connected to the
valves and must also be defined outside the separator. It is recommended that the water valve opening
is controlled by a water level controller, the oil valve opening is controlled by a oil level controller and the
gas valve opening is controlled by a separator pressure controller.
310 / 769

OLGA 7

Output
Many of the plot variables specified under volume variable are available for the separator. In addition
a number of separator specific plot variables also are available:
Mass flow rates for each mass field for each pipe connection
Separator levels (oil, water)
Separator efficiency

311 / 769

OLGA 7

Valve
The valve models the pressure drop for flow through chokes and valves.
See also:
When to use
Choke Methods and assumptions
Valve Methods and assumptions
Limitations
How to use

312 / 769

OLGA 7

When to use
Use to model orifices, chokes and different types of valves.
For high velocities in the pipeline, a fully open valve can be used to limit the flow to critical flow. Use a
choke with choke diameter equal to the pipeline diameter. Position the Valve at the last section boundary
of the pipe where the flow rate should be limited.

313 / 769

OLGA 7

Methods and assumptions


The choke model uses mixture balance equations for mass, momentum and energy. Compression of gas
into the narrow throat is accounted for in the model. A circular-symmetric flow geometry and steady-state
over the choke is assumed. See Selmer-Olsen et al. for the full model description [34].
The choke model describes the effects of both subcritical and critical chokes. The choke opening may
be controlled by the control system, by a predefined time series, or be fixed. The choke has finite
opening and closing time (stroke time) specified by the user. A subcritical choke is represented through
its pressure drop as a function of flow rates and choke openings. The flow rate through a critical choke
is governed by the upstream conditions and the choke opening (choke flow area). The choke flow rate is
limited to critical flow.

Figure A: An illustration of a choke. Fluid is flowing from position 1 to position 2.

Choke model
The flow through the choke is assumed frictionless, homogeneous and adiabatic. The flowing phase
fractions are frozen at inlet conditions. Phase change occur after the throat, and the fluid reaches
equilibrium in position 2.
The choke model in OLGA describe the pressure drop from upstream (position 1 in Figure A) to
downstream (position 2 in Figure A) an orifice or other constriction in the pipeline. The model include
pressure drop from position 1 to throat (position t in Figure A) and pressure recovery when the fluid
expands from the throat to position 2.
The pressure drop to throat Bernoulli and continuity equation
Bernoulli Equation:

(a)
where
um
m
P

mixture velocity (m/s)


momentum density (kg/m3)
pressure (Pa)

Momentum density:
(b)
Flowing gas mass fraction:
314 / 769

OLGA 7

(c)
where M is the overall mass flow through the choke and Mg is the gas flow through the choke.
Continuity equation:
(d)
where A is the cross sectional area.
Recovery after throat Momentum and continuity equation
Momentum equation:
(e)
The overall pressure drop over the choke is found by combining equations (a) through (e).
Critical flow
The critical flow through the choke is found at the maximum of equation (a). Differentiating equation (a)
w.r.t. pressure and combining with equation (d) yields the following relation for the critical flow, MC,

(f)
The throat area, At, is corrected with the choke discharge coefficient, Cd, to find the minimum flow area.
Simplified fluid property calculations
The liquid properties are calculated in position 1 and treated as constant, while the gas is
compressed/expanded isentropically.
Gas density:

(g)
where is the isentropic gas expansion coefficient,

(h)
The reported throat temperature (TVALVE) is the gas temperature

(i)
The liquid is assumed isothermal and the liquid throat temperature is therefore the same as the inlet
temperature.
315 / 769

OLGA 7

Critical flow options


Two options are available when calculating the critical flow through a choke:
1. Frozen: No mass transfer, isentropic expansion of gas. (Homogeneous frozen critical flow model)
2. HenryFauske: The Homogeneous frozen critical flow model corrected for mass transfer in the
throat [3].
If the HenryFauske model is used and entropy values are given in the fluid property tables file (with the
word ENTROPY in the heading of the fluid file), the entropy values in the fluid file will be used.
Otherwise, the entropy changes will be calculated from enthalpy, mass fraction and density by
integrating the following equation from the upstream conditions (position 1) to the throat conditions
(position 2):
(j)
The integration is performed in two steps, from P1 to P2 at T1 and from T1 to T2 at P2.

Controlled choke
In the case of a controlled choke, the choke area, Ao, is varied according to the controller signal us :
(k)
where
(l)
Do is the choke diameter and Amax is the maximum choke area.
In the case of an uncontrolled choke, the choke flow area is varied according to the time tables of the
relative choke area, orel,
(m)
In the case of a fixed choke, the choke flow area is constant;
(n)
Note that it is possible to simulate a choke without a controller; the choke area is then given by a time
series.

316 / 769

OLGA 7

Methods and assumptions


In the valve model the pressure drop and critical flow are calculated according to a valve sizing equation.
The valve model uses a table (keyword TABLE) that contains the valve sizing coefficients, Cv or Cg,
versus valve opening.
It is possible to give a table representing the valve sizing coefficients either for gas flow or for liquid flow.
It is not possible to give a table for two/three-phase flow. The sizing coefficients are tabulated as
functions of the relative valve opening. The liquid valve sizing coefficient can also be given as a function
of both relative valve opening and pressure drop over the valve.
Note: The input data for the valve sizing coefficients must be consistent with the units specified
together with the valve sizing equations below.
A valve can be located anywhere in a pipeline.
Liquid Valve sizing equation
If a liquid sizing table is given, the valve flow rate (even three-phase flow) will be calculated using the
choke model in OLGA. The liquid sizing table should be used for liquid flow, near incompressible gas
flow and two/three-phase flow.
The pressure drop through a valve is calculated as follows:
Liquid sizing equation:

(o)
where

Q
Cv
G
DP

Flow rate (gallons/min.)


Valve sizing coefficient (gal/min / psi 1/2)
Specific gravity (-). Water = 1.
Pressure difference across the valve (psi)

OLGA converts Cv for liquid to the choke flow area, Ao, used in eq. (p). Equations (p) and (o) will
produce a relation between Cv and Ao. Setting CD=1.0, the choke area can be calculated. The pressure
drop and the critical flow rate are calculated using the choke model, regardless if the flow is gas, liquid,
or multiphase flow. The mixture density is used in the calculation.
Orifice equation:

(p)
where
Cd
A

Discharge coefficient
Pipe flow area
317 / 769

OLGA 7

Ao
Wtot
Ui
i
Porf

Choke (orifice) flow area


Total mass flux
Velocity of flow field i, (film velocity, droplet velocity etc.)
The volume fractions of flow field i
Pressure drop over the orifice

See Cv to area conversion for the details of the conversion from Cv to orifice area.
Gas valve sizing equation
If the MODEL key is set to HYDROVALVE, the gas sizing equation is used in the same manner as the
liquid valve sizing. Combining equations (p) and (q), a choke area can be calculated. The critical flow will
then be determined by the choke model.
If instead the model option GASSIZING (keyword MODEL) is used, the gas sizing equation will be used
for both subcritical and critical flow. The choke model will not be used.
Gas sizing equation:
(q)
where
Qm
rg
p1
Cg
DP
Cf

Mass flow rate (lb/hr.)


Gas density (lb/ft3)
Upstream pressure (psi)
Gas sizing coefficient (lb/hr / (psi lb/ft3)1/2)
Pressure drop (psi)
Coefficient ratio, Cg/Cv (-)

The critical flow rate is obtained by setting the sine-term equal to one. The upstream density is used in
the calculation.

318 / 769

OLGA 7

Conversion between liquid valve sizing coefficient (Cv) and orifice area
The orifice equation for an incompressible fluid:

(a)

rFluid
Q
i
Ui
A
AOrifice
Cd
POrifice

Is the fluid density


Is the volumetric flow rate
Volumetric fraction of mass field i
Velocity of mass field i
Pipeline area
Orifice area
Orifice discharge coefficient
Orifice pressure drop

The valve sizing equation:

(b)

Cv
Q
PSizing
G
Ref
Fluid

Valve sizing coefficient (gal/min/psi1/2)


Is the volumetric flow rate (gal)
Sizing pressure drop (psi)
Specific gravity (-)
Water density at 39F/4C and 1 atmosphere (998.840 kg/m3)
Fluid density at reference conditions

Setting POrifice = PSizing and solving for Cv or orifice area (AOrifice):

(c)
Above we have assumed that the orifice equation is given with the same units as the sizing equation.
Converting to SI units:

CvSI = Cv
(d)

(m3/s/Pa1/2)

Using SI units for the area, m, and inserting the reference water density we get the following equation:

(e)

319 / 769

OLGA 7

Limitations
Friction and gravity forces are neglected in the choke model. See Selmer-Olsen et al. for limitations in
the choke model /34/.
When using the Henry-Fauske critical flow model (CRITFLOWMODEL = HENRYFAUSKE) make sure
the entropy is given in the thermo tables. Otherwise the entropy must be integrated from the enthalpy
and density data in the thermo tables. In some cases, this will slow down the simulation.
Further, it is not allowed to position a valve at the first section boundary in a flowpath next to a closed
node in OLGA 6. OLGA 5 does not have this restriction.

320 / 769

OLGA 7

How to use
Position the valve. Valves can be inserted anywhere in the pipeline.
Choose which valve model to use from available information in data sheet etc. If no Cv/Gg is given, use
the choke model. The choke is used when the model option HYDROVALVE (keyword MODEL) is set. A
discharge coefficient, CD and maximum choke diameter must be defined for the choke. If the discharge
coefficient is unavailable, use the default value.
Consider using the CRITFLOWMODEL option HENRYFAUSKE for two/three-phase simulations with
flashing fluids. Otherwise use CRITFLOWMODEL = FROZEN.
If Cv data are available, use the model option HYDROVALVE, and specify the Cv vs. valve opening in a
table. The valve Cv can also be described as a function of valve pressure drop (DELTAP) and valve
opening.
If Cg data are available, use the model option GASSIZING (key MODEL). Specify the Cg vs. valve
opening in a table. It is also possible to use the HYDROVALVE (MODEL key) to simulate a gas valve.
To control the valve flow in the choke, or the pressure drop over it, connect a controller to the input
signal terminal INPSIG. When connected, INPSIG will be used as the valve opening. Otherwise, the key
OPENING will set the valve opening. The given OPENING can be constant, or a function of time.
To limit the rate of change in valve position, set the valve stroke time. Set CLOSINGTIME/
OPENINGTIME or STROKETIME. Setting STROKETIME will give CLOSINGTIME = OPENINGTIME =
STROKETIME.
It is possible to tune both the choke and valve model. The input signal CVTUNINGSIG will scale the
choke CD, or the valve Cv/Cg.

321 / 769

OLGA 7

Single component
The single component module allows for tracking of a single component, e.g., H2O or CO2, that crosses
the saturation line in time or space in a pipeline. Standard OLGA cannot deal with single component
systems if the saturation line is crossed due to the explicit coupling between volume balance and energy
balance equations and the lack of a two phase region (two phase envelope) for single component
systems.
In order to circumvent this limitation, time constants, or delays, are introduced in the
evaporation/condensation process. The difference between the saturation temperature and the fluid
temperature serves as a potential for phase mass transfer. Multiplying this temperature difference with a
certain heat or energy transfer coefficient yields an energy transfer rate that can be used to estimate the
mass transfer rate. An asymptotic approach to equilibrium occurs where the speed at which equilibrium
is reached is determined by the size of the energy transfer coefficient.
See also:
When to use
Methods and assumptions
How to use

322 / 769

OLGA 7

When to use
The single component module should be used for all single component fluids. Special options exist for
H2O and CO2, for which the fluid property calculations have been hard coded into OLGA. For other
single component fluids, it is necessary to specify input parameters to the fluid property calculations.
The numerics in standard OLGA have been designed for multi component hydrocarbon fluids. A
consequence of the chosen approach is that standard OLGA become unstable when simulating single
component fluids that cross the saturation line in time or space. The same can happen for multi
component fluids with very narrow phase envelopes, for example a fluid composed predominantly of one
component, but with a small amount of impurities. Since the behavior is very case dependent, it is hard
to give general guidelines on the exact amount of impurities required before standard OLGA can be
expected to yield reasonable results. One should, however, be careful when using standard OLGA to
simulate fluids consisting of 90% or more of one component. Besides the numerical issues, it is
important to make sure that the fluid property calculations are accurate for the particular fluid
composition to be simulated.
As implied by the name, the single component module can only be applied to pure single component
fluids. At present, OLGA is thus not able to simulate single component fluids with small amounts of
impurities.

License requirements
The Single Component Module requires a separate license.

323 / 769

OLGA 7

Methods and assumptions


The following assumptions are made in the single component model:
the gas and liquid phases have the same temperature.
the pressure of the gas and liquid phases is the same.
if the fluid temperature is higher than the saturation temperature, flashing or boiling of liquid will
take place.
if the fluid temperature is lower than the saturation temperature, condensation of vapor takes place.
The inner pipe wall surface can be superheated or subcooled as compared to the saturation
temperature. Such situations might lead to surface boiling or surface condensation in cases where the
liquid or gas is in direct contact with the pipe wall. The resulting, additional, mass transfer term is not
explicitly included, but it can be accounted for by an enhanced heat transfer due to surface
boiling/condensation.

Generation of gas and liquid properties


The equations used to calculate the H2O properties are taken from ref. 1. For CO2, the thermodynamic
equations are taken from ref. 4. The transport properties are calculated through the equations given in
ref. 2. For other components, the SoaveRedlichKwong (SRK) cubic equation of state (Appendix 1) is
used to calculate the saturation line and the physical properties of the vapor and liquid phases.
Temperature dependent volume translation is applied to improve the accuracy of phase density. The
transport properties are determined by the corresponding state method by Pedersen (ref. 2).
The evaluation of the fluid property equations is time consuming, and, therefore, they are only evaluated
at the start of the simulation. The properties are evaluated at a grid of pressure/temperature values that
is limited by the minimum and maximum values of pressure and temperature given in the input. An
equidistant grid is used with a minimum of 50 and maximum of 100 grid points for both pressure and
temperature. During the simulation, linear interpolation is used to evaluate the properties in between grid
points.

Saturation line for a single component


The saturation line is determined by solving the equal fugacity of gas and liquid from the equation of
state (EOS). Below the critical point, determined by the critical pressure, PC and the critical temperature,
TC, the saturation pressure, Psat(T), and saturation temperature, Tsat(P), at a given grid point (P,T) are
determined from the saturation line. Above the critical point, the saturation line is extrapolated with the
slope of the saturation line at the critical point.

Liquid properties for a single component


For pressures below the critical pressure liquid properties are determined by the EOS in the liquid
region. In the gas region, the liquid properties are extrapolated from the saturation point the enthalpy
equals the gas enthalpy minus the latent heat at the saturation temperature and the density is integrated
from the vapor saturation pressure to actual pressure using the compressibility at the saturation
temperature. All the other properties are from the saturation temperature.
For pressures above the critical pressure, liquid properties are calculated from the EOS.

Gas properties for a single component


For pressures below the critical pressure, the gas properties in the gas region are acquired from the
EOS.
In the liquid region and a pressure below the critical pressure, the gas properties are extrapolated from
the saturation line the enthalpy equals the liquid enthalpy plus the latent heat at the saturation
temperature corresponding to the pressure and the density is acquired by linear interpolation between
the value at critical pressure and the saturation pressure. All other properties are taken at the saturation
temperature corresponding to the pressure. For pressures above the critical pressure, gas properties
324 / 769

OLGA 7

temperature corresponding to the pressure. For pressures above the critical pressure, gas properties
are calculated based on the EOS. Using this procedure, the gas and liquid properties are continuous
across the fictitious gas-liquid (VL) division line when the pressure is above the critical one.
At the critical point and its vicinity, the thermal capacity and density derivatives show extreme sensitivity
to temperature and pressure changes, even to the extent where discontinuities occur. Therefore, a
buffer zone is introduced near the critical temperature as shown below. Within this zone, the liquid
density derivative and thermal capacity are given the values calculated at a temperature, Tlow, less than
the saturation point. Similarly, for the vapor phase, the gas density derivative and the thermal capacity
are given the values calculated at a temperature, Thigh, above the saturation point.

The buffer zone is bounded by the coordinates [Tlow, Psat(Tlow)], [Tlow, Pc], [Thigh, Pc], [Thigh,
Psat(Thigh)].

Saturation line for H2O


Below the critical point, (PC,TC), the saturation pressure, Psat(T), and saturation temperature, Tsat(P),
at a given grid point (P,T), are determined from the saturation line. Above the critical point, PC=221.2 bar
and TC=647.3 K, and up to T=676 K and P=250 bar, a straight line is used to divide the single-phase or
dense-phase region into gas and liquid. Above 676 K and 250 bar, the boundary line between region 2
and region 3 is used as the division between gas and liquid. The definition of the regions is found in
ref. 1.

Liquid properties for H2O


For pressures below 225 bar in region 1, the water properties equations found in ref. 1 are used for
water in the water region.
325 / 769

OLGA 7

In the gas region, the properties for water are extrapolated from the saturation point the enthalpy is
based on thermal capacity at the saturation temperature corresponding to a given pressure. The density,
on the other hand, is calculated using the density derivative w.r.t. pressure at the saturation pressure
corresponding to the given temperature. All the other properties are evaluated at the saturation
temperature.
For pressures above 225 bar, water properties are calculated based on equations for the different
regions specified in ref. 1.
The thermal capacity and enthalpy for water are singular near the critical point. To avoid numerical
problems in region 3, the water properties from region 1 are used instead of those for region 3 when the
pressure is below 225 bar. The same procedure is used for steam (gas).

Gas properties for H2O


For pressures below 225 bar, steam property equations for region 2 are used for gas in the gas region.
In the water region, the gas properties are extrapolated from the saturation point. Enthalpy is based on
thermal capacity at the saturation temperature corresponding to the given vapor pressure and the
density according to the density derivative w.r.t. pressure at the saturation pressure corresponding to the
given temperature. All other properties are evaluated at the saturation temperature corresponding to the
vapor pressure.
For pressures above 225 bar, vapor properties are calculated based on equations for the different
regions.
Using this procedure, the vapor and water properties are continuous across the vapor-liquid (VL)
division line when the pressure is above 225 bar.

Flashing/Condensation
The driving force for flashing of liquid or condensation of gas is the difference between the saturation
temperatures and the fluid temperature.
The effect of local boiling on a hot wall surface or condensation on a cold one are not explicitly included
in the mass balance of liquid and gas, but can be accounted for through an enhanced heat transfer at
the pipe wall.
The total energy available for generating gas or condensing it to obtain saturated conditions is
(a)
where
mg = specific mass of gas [kg/m3]
ml = specific mass of liquid [kg/m3]
cpg = specific heat of gas [kJ/kgC]
cpl = specific heat of liquid [kJ/kgC]
h
S
V

= heat transfer coefficient at inner wall surface [kJ/m2sC]


= inner surface area per unit volume of pipe [1/m]
= section volume [m3]

The total mass transfer to obtain saturated conditions is:


326 / 769

OLGA 7

(b)
where
hsat,g = enthalpy of saturated gas [kJ/kg]
hsat,l = enthalpy of saturated liquid [kJ/kg]
In order to reduce numerical problems, it is assumed that this mass transfer occurs over a time T. This
yields the mass transfer rate
(c)
The mass transfer per time step must not be larger than the available component mass of the
diminishing phase.

References
1.

Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of
Water and Steam, The International Association for the Properties of Water and Steam, Lucerne,
Switzerland, August 2007
2. K. S. Pedersen et al. Properties of Oils and Natural gases. Gulf Publishing Company, 1989,
Houston, Texas.
3. B.E.Poling, J.M.Prausnitz, J.P.OConnell: The properties of gases and liquids. 5th Edition.
McGRAW-HILL 2000.
4. R. Span and W. Wagner: A New Equation of State for Carbon Dioxide Covering the Fluid Region
from the Triple-Point Temperature to 1100 K at Pressures up to 800 MPa. J. Phys. Chem. Ref.
Data, Vol. 25, No. 6, 1996

Appendix 1
The SoaveRedlichKwong (SRK) equation of state:
(A.1)
where

The SRK equation of state can be written on the form:


327 / 769

OLGA 7

(A.2)
where

The solution, Z, to the above equation is found by iteration. As initial guess, the pressure is given by the
Antoine equation except for CO2 where the Wagner equation is used. Coefficients for these equations
can be found in ref. 3.
The solution for Z can be adjusted by a volume tuning factor
(A.3)
according to
(A.4)
where XV1 and XV2 are given through the keys VOLX(1) and VOLX(2), respectively, and Pr = P/Pc.
The specific heat, CP, is calculated through the equation
(A.5)
where the coefficients, CPi, are given through the input by CPIC(i+1).

328 / 769

OLGA 7

How to use
The single component model is activated by setting the key COMPOSITIONAL=SINGLE under the
OPTIONS keyword.
The time constants for condensation and boiling are specified by the keys TCONDENSATION and
TBOILING, respectively, under the keyword SINGLEOPTIONS. These keys are available as time series
if desired. Large values of the time constants will slow down the mass transfer leading to a fairly large
non-equilibrium. Small values will speed up the mass transfer and thereby reduce the thermal nonequilibrium. Too small values might however cause instabilities which in turn can result in nonphysical
results.
The keyword SINGLEOPTIONS specifies options for COMPOSITIONAL=SINGLE. COMPONENT can
have the values H2O, CO2, or OTHER. H2O is set by default. N.B., if COMPONENT=OTHER, it is
required to specify additional fluid properties such as
viscosity tuning factor, VISX
critical temperature, TC [C]
critical pressure, PC [bara]
acentric factor, OMEGA
molecular weight, MW
volume tuning factors, VOLX(2)
coefficients in equation for specific heat, CPIC(5)
For many different components values of these coefficients can found in ref. 3.
The keys MINPRESSURE, MAXPRESSURE, MINTEMPERATURE and MAXTEMPERATURE in
SINGLEOPTIONS are used to generate a PVT tables for the single component properties, i.e., no
external PVT file is needed. 51 to 52 pressure and temperature points are used when generating the
tables and the griding is adjusted so that a grid point is close to the critical point. During the simulation,
linear interpolation between the grid points (P,T) is applied.
For boundaries, sources and wells, the gas fraction will be either gas or liquid, all depending on the
specified temperature as compared to the saturation temperature at the specified pressure. For sources
without any given pressure, the pressure of the source receiving position is used.
The output variables TSAT, TSV, PSAT, PVAP (see output variables description) are used to retrieve the
vapor data. TSV equals TM and PVAP equals PT for single component simulations (no partial pressure
since only a single component is considered). Other data can be obtained by specifying compositional
variables.
Under OPTIONS, the key WRITEPVTFILES=[NO]/YES controls whether the program will write the
single component properties that are being used to file or not. For YES, a tab file <inputfile>_pvt.tab
(fixed format) will be generated. Furthermore, the saturation line will be written to a file
<inputile>_pvt.env. Both these files can be visualized in the GUI.

329 / 769

OLGA 7

Slug Tracking
In the standard OLGA model, physically sharp fronts in liquid hold-up are smeared out by the numerical
scheme, a phenomenon that is more pronounced in horizontal or near horizontal high velocity transient
flow cases. In situations where slug flow is identified by the flow model, hydrodynamic slugs are
accounted for only in an average manner that does not give any information about slugs, their
properties, or how they affect the flow. However, many flow parameters are highly dependent on the slug
pattern, e.g., the pressure drop in a flow-path. Thus, it is necessary to be able to explicitly account for
the occurrence of slugs.
The slug tracking model is designed to initiate, maintain, and track physically sharp fronts such as those
constituted by start-up slugs and hydrodynamic slugs. Among other things, the model gives information
about position, velocity, length, and other characteristic quantities of each individual slug. In turn, this
information is used to give better estimates of the actual properties of the overall flow.
See also:
When to use
Methods and assumptions
Limitations
How to use

330 / 769

OLGA 7

When to use
The slug tracking model have two different options initiating slugs (keyword SLUGTRACKING). These
options are:
1. Level slug initiation, which initiate slugs when changes in liquid hold-up are detected from one
section to another. The change in hold-up might be caused by a start-up situation, liquid sources,
or boundary conditions changing with time just as well as geometry effects. This option is activated
through the LEVEL key and is mainly to be used for well-defined start-up slugs.
2. Hydrodynamic slug initiation, which is the recommended slug initiation method for hydrodynamic
and terrain slugging. Hydrodynamic slugs can be initiated when OLGA predicts transitions from
either stratified or annular flow to slug flow. This option is activated by the key HYDRODYNAMIC.
In addition to these two options, there is manual hydrodynamic slug initiation. This option is activated
through the HYDRODYNAMIC key and requires that all slugs initiated are given as user input. Thus, in
order to use this option, detailed knowledge about the slugging is required since the user has to specify
the number of slugs to set up, at which positions to set them up, and at which times.

License requirements
Slug tracking is part of the Slugtracking Module that requires a separate license.

331 / 769

OLGA 7

Methods and assumptions


Initiation of level slugs

Figure A Schematic visualization of a pipeline shut-in situation where liquid has been accumulated at
low points. The pipeline consists of a well, a transport line, and a riser.
Level slug initiation may be carried out at any time in the user specified time interval given by
STARTTIME and ENDTIME. The detection of level slugs is based on differences in the gas fraction.
SLUGVOID is used to specify the maximum void allowed in a slug whereas BUBBLEVOID determines
the minimum void in a bubble. When a section is found with void less than SLUGVOID, a level slug might
be initiated, all depending on the void in the neighboring sections. If the void increases and exceeds
BUBBLEVOID within two upstream sections, a tail is initiated. If, on the other hand, the void increases
and exceeds BUBBLEVOID within two downstream sections, a front is initiated.

Initiation of hydrodynamic slugs

Figure B Schematic visualization of the initiation of a hydrodynamic slug.


If OLGA predicts slug flow (ID=3) at boundary J, a hydrodynamic slug may be initiated in section J, J-1,
or over both sections, see Figure B.
Initiating a new slug implies redistribution of masses which might lead to discontinuities in pressure in
inclined or vertical pipes. To avoid such discontinuities, the new slug is set up with an as short slug
length as possible. These short hydrodynamic slugs will then grow into larger slugs as they propagate
through the pipe if the conditions are favorable.
When OLGA predicts slug flow, two criteria must be met before a hydrodynamic slug is initiated in a
section:
The distance to the closest slug must exceed a minimum distance.
The time elapsed since a slug was either generated in or passed through the section must be
larger than a specified minimum time.
The minimum distance between slugs is specified through the INITFREQUENCY key (slug initiation
frequency, Fi). Using the slug initiation frequency, the minimum distance is calculated as UB/Fi, where
332 / 769

OLGA 7

frequency, Fi). Using the slug initiation frequency, the minimum distance is calculated as UB/Fi, where
UB is the bubble nose velocity of the new slug. Per default, the minimum distance is 10 pipe diameters.
The idle time required before generating a new slug at any section boundary is specified through the
DELAYCONSTANT key. The delay constant,DC, is given as the minimum number of pipe diameters
between the new slug and the slug that last occupied the same section. The idle time is calculated
according to
(a)
where
D = pipe diameter [m]
Ul = average liquid velocity [m/s]
The default value for the delay constant is 150.

333 / 769

OLGA 7

Limitations
Model limitations
The model currently used for hydrodynamic slug initiation uses a slug frequency and a delay constant to
determine when to set up new slugs. The slug frequency determines how close to an existing slug a new
slug can be initiated whereas the delay constant determines the shortest time allowed between setting
up two consecutive slugs at the same boundary or setting up a new slug after a slug has passed.

Compatibility limitations
At present, it is not possible to run slug tracking in combination with
Pig. The combination is not allowed.
Complex fluid. The simulation will run, but as far as slugging goes, the results will be the same as if
complex fluid had not been used.

334 / 769

OLGA 7

How to use
General
1. Add the SLUGTRACKING keyword and choose a slug initiation method.
2. Add trend and profile plot variables to see differences between running the simulation with and
without slug-tracking, e.g.,
PROFILEDATA VARIABLE=(PT, TM, ID, HOL, HOLHL, HOLWT, UL, UG)
TRENDDATA PIPE=PIPE5, SECTION=3, VARIABLE=(QLT, QLTHL, QLTWT, ACCLIQ, ACCOIQ,
ACCWAQ)
The accumulated flow rates (ACCLIQ) can be used to estimate slug sizes.
3. Add global trend to get overview of the simulation.
TRENDDATA VARIABLE=(LIQC, OILC, WATC)
TRENDDATA VARIABLE=(RMERR, VOLGBL, HT, NSLUG)

Slug identification number


When initiated, each slug is assigned a unique identification number. The first slug initiated gets
identification number, and then 1 is added for each new slug initiated. This unique number enables the
possibility to follow the development of individual slugs as they move through the pipeline. It is possible
to plot, e.g., slug length, front and tail velocities, etc. Plotting individual slug data is useful mainly when
there are few slugs is the system. When hydrodynamic slugging generates lots of slugs, it is difficult to
identify which slug to consider.

Illegal slug section


An illegal section is a section where no slugs are initialized and through which no slugs are allowed to
pass (keyword SLUGILLEGAL). A slug front may enter into the illegal section, but it will be trapped
inside it until the slug tail reaches the section and the slug is removed. The first section in a flow-path is
by default an illegal section and so is the last one. This implies that slugs cannot propagate through
networks.
If stability problems are encountered when using in-line process equipment together with slug-tracking, it
is recommended that illegal sections are introduced around the process equipment. Furthermore, if there
are large changes in pipe diameter, e.g., when modeling a separator at the end of a pipeline as a pipe
with big diameter, instabilities can be avoided by setting illegal sections on each side of such
boundaries.
With long pipelines mainly operating in the slug flow regime, the number of slugs can become very large
which in turn results in long simulation times. In such situations, it is recommended to only allow for slugs
close to the pipeline outlet, say the last 5-10 km. Yet again, this can be accomplished by using the
keyword SLUGILLEGAL. In cases where terrain effects are predominant and large slugs develop far
away from the outlet, illegal sections should not be used to prevent such slugs from developing.

Flow regime
When slug tracking is activated, the flow regime indicator (ID) should be used with caution since the flow
regime is forced to bubbly inside liquid slugs whereas it is forced to stratified in slug bubbles. Thus, the
flow regime indicator will never indicate slug flow when slug tracking is activated.

Vertical riser at the end of a pipeline


Problems might be encountered when slug tracking is activated and the pipeline has a vertical riser at
the end. The problems are usually caused by back-flow in the riser. If such problems are encountered,
the following actions might reduce them:
Set the gas fraction on the outlet node equal to one. Now, if back-flow occurs at the outlet, only gas
will enter the pipeline.
Unless the flow in the riser is expected to influence slug patterns significantly, set the riser pipeline
sections to illegal (SLUGILLEGAL).
335 / 769

OLGA 7

If possible, add a couple of horizontal sections at the top of the riser.

Startup slugs not detected


If all start-up slugs are not detected, it is possible to specify the void limits used for initializing start-up
slugs. This is done by modifying the void limits given by the keys BUBBLEVOID and SLUGVOID.

Hydrodynamic slug initiation


The slug model might initiate slugs too often or too seldom as compared to the expected slug pattern. In
order to tune the model to mimic the expected pattern, it is recommended that only the
DELAYCONSTANT key is varied first. If it is not possible to achieve the slug pattern sought by varying
DELAYCONSTANT alone, INITFREQUENCY can be modified as well.
Hydrodynamic slug initiation: the delay constant
The delay constant, DC, is the number of pipe diameters a slug must travel before the slug model tries to
initiate a new slug at the same boundary. Thus, the time between two consecutive slug initiations on any
given boundary or the time between a slug passes a boundary and a new slug can be set up is given by
(a)
where
D = pipe diameter [m]
Ul = average liquid velocity [m/s]
Using the Shea correlation for the slug frequency
(b)
where
D = pipe diameter [m]
L = pipeline length [m]
Usl = superficial liquid velocity [m/s]
it is possible to get an estimate of the delay constant. Tuning on the delay constant should be performed
such that the resulting slug frequency is in the same order of magnitude as Fsl. It should be noted that
this correlation is based on experimental data and field data for systems dominated by hydrodynamic
slugging. Thus, if terrain effects are predominant, one should not use the Shea correlation. The default
value of 150 has been found to yield good results for a number of cases.

Profile plots, trend plots, and slug statistics


When specifying, e.g., the hold-up (HOL) in TRENDDATA or PROFILEDATA, it is important to note that
the hold-up plotted is the section average. It is not possible to resolve the hold-up of individual slug and
bubble regions inside sections, but these are used to calculate the section average. In order to visualize
the hold-up of individual slugs/bubbles, specify HOLEXP under TRENDDATA. This will show the
instantaneous hold-up at the boundary specified.
It is possible to plot properties of individual slugs using their identification number. This feature is mainly
of use when there are few slugs in the system and the slugs of interest are easily identified. In cases
with severe slugging, the large number of slugs will make it virtually impossible to single out a particular
slug. However, it might be of interest to look at a statistical sample of slugs in order to get an idea of the
general slug properties. The syntax for addressing individual slugs is
TRENDDATA SLUGID=1, VARIABLE=(LSL, LSB, JSLT, JSLF, USF, UST, ZFSL, ZTSL, PTJF, PTJT)
336 / 769

OLGA 7

Slug statistics
The trend plot variables LSLEXP and LSBEXP show the length of a liquid slug or slug bubble currently
residing at a given section boundary.
TRENDDATA PIPE=PIPE-1, SECTION=10, VARIABLE=LSLEXP
Using the OLGA GUI, these variables can be used to plot slug statistics. The slug statistics is generated
by post-processing of the .tpl-file and is accessed by selecting the variables LSLEXP_STAT and
LSBEXP_STAT in the trend plot dialog. These two plot variables represent the statistical distribution of
slug and slug bubble lengths at the boundary considered. The properties of these plots can be set
through 'Slug Statistics...' under the Edit menu.

337 / 769

OLGA 7

Slug tuning
The SLUGTUNING keyword makes it possible to tune parameters in the slug model.
See also:
When to use
Methods and assumptions
Limitations
How to use

338 / 769

OLGA 7

When to use
The SLUGTUNING keyword is used for tuning the OLGA slug tracking model to specific sets of
measurement data or sensitivity studies. SLUGTUNING should be applied with great care, as it might
cause the validation and verification of the OLGA model to no longer be valid.

License requirements
Slug tuning is part of the Tuning Module that requires a separate license.

339 / 769

OLGA 7

Methods and assumptions


The slug tuning coefficients are multiplied by the related values calculated by OLGA. The exception is
slug length which is interpreted directly as slug length in number of diameters.
The Taylor bubble velocity is calculated as
(a)
where
CUB1 =
CUB2 =
C0 =
Umix =
U0 =

tuning coefficient 1 given by the key UBCOEFF1


tuning coefficient 2 given by the key UBCOEFF2
distribution coefficient
mixture velocity, i.e., sum of the superficial velocities
drift velocity

The slug front pressure drop is given by

(b)
where
CDP =
CDP0 =
Lslug =
f(,l) =
Ucrit =

tuning coefficient for slug front pressure drop given by key DPFACT
tuning coefficient for onset of slug front pressure drop given by key DPONSET
slug length
additional pressure drop
cutoff velocity at which the slug front pressure drop is switched on

340 / 769

OLGA 7

Limitations
The slug tuning coefficients are given globally, i.e., it is not possible to specify different sets of tuning
parameters for different flow-paths.

341 / 769

OLGA 7

How to use
Specify the desired slug tuning coefficients and where they should be applied. N.B., the slug tuning
coefficients are global.

342 / 769

OLGA 7

Source
A source can be used to model pipeline inflow and outflow of gas and liquid. OLGA use mass flow rate
for internal calculations, but input flow rate may also be given as volumetric flow at standard conditions.
Wells and nearwells are more specialized types of modelling pipeline inflow and outflow.
See also:
When to use
Methods and assumptions
How to use

343 / 769

OLGA 7

When to use
The SOURCE key can be used when a flow needs to be inserted into the pipeline.
For more advanced flow simulations the WELL or NEARWELL keys can be used.

344 / 769

OLGA 7

Methods and assumptions


Two types of sources can be specified; the mass source and the pressure driven source, which is also
known as a controlled mass source or source controlled by valve (SOVA). Each type of source can be
either positive (flow into the pipeline) or negative (flow out of the pipeline).
The upstream (for positive source) or downstream (for negative source) pressure and temperature can
be specified. When the upstream/downstream pressure is given, the expansion from the given pressure
to the pressure inside the pipe section will be taken into account for the temperature calculations. A
mass source need not specify the upstream/downstream pressure, and this will then be set to the
pressure inside the pipe section where the source is introduced. A SOVA must always specify the
upstream/downstream pressure.
The external pressure and temperature can be constant or given as a time series.
Phase fractions can be specified in the input for a positive source. For a negative source, the phase
fractions in the connected section will be used.

Mass source
The mass source is the simplest model and has a given mass flow rate specified by the user.
Phase fractions for gas and water can be specified, from which the oil phase fraction will be calculated.
The default value for gas is -1, which means it will be read from the PVT file. The default value for water
is 0.
If a controller is used, the actual mass flow rate into the section (positive source) or out of the section
(negative source) is a fraction of the mass flow rate given as input, with the fraction regulated by the
controller.
Note that the mass flow node covers the functionality of a mass source in the first section after a
closed node.

Pressure driven source (SOVA)


The flow for a SOVA will be calculated from a flow equation for mass flow through an orifice, where the
orifice area can be governed by a controller.
The figure below illustrates this.

Figure A. Illustration of a pressure driven source

Controlling the flow


The flow area of the SOVA is governed by the control system, where the valve has finite opening and
closing time (stroke time) specified by the user.
Both sub-critical and critical flow is described. For sub-critical flow the flow rate is governed by the
345 / 769

OLGA 7

Both sub-critical and critical flow is described. For sub-critical flow the flow rate is governed by the
difference between the internal and external pressures, the upstream conditions and the flow area. For
critical flow the flow rate is governed by the upstream conditions and the flow area only. The pressure
difference determines the direction of flow in or out of the pipe.
The orifice area is calculated from:
(a)
where us = controller signal

Valve functionality
The valve-specific functionality is further described in the Valve section.

Calculating mass flow at standard conditions


The following equations show how the total mass flow is calculated from volumetric flow given at
standard conditions. Symbols used in the equations are given in the list below:

wc

Water cut, volume of water divided by volume of liquid at


standard condition
Gas oil ratio, volume of gas divided by volume of oil at
standard condition
Gas liquid ratio, volume of gas divided by volume of liquid
at standard condition
Volume flow
Mass flow
Density

Indexes:
tot
ST
g
o
liq
w
*

Total
At standard condition
Gas phase
Oil phase
Liquid phase (water + oil)
Water phase
Equivalent phase

GOR
GLR
Q

The density in the equations below is taken from the PVT table. It is necessary that the properties at
standard condition are included in the PVT table.
If WATERCUT, GOR and volume flow of gas at standard condition (
PHASE = GAS and STDFLOWRATE =

) are known, use:

(b)

If WATERCUT, GOR and volume flow of liquid at standard condition (


PHASE = LIQUID and STDFLOWRATE =

) are known, use:

(c)

346 / 769

OLGA 7

If WATERCUT, GOR and volume flow of oil at standard condition (


PHASE = OIL and STDFLOWRATE =

) are known, use:

(d)
If WATERCUT, GOR and volume flow of water at standard condition (
PHASE = WATER and STDFLOWRATE =

) are known, use:

(e)
If WATERCUT, GLR and volume flow of gas at standard condition (
PHASE = GAS and STDFLOWRATE =

) are known, use:

(f)
If WATERCUT, GLR and volume flow of liquid at standard condition (
PHASE = LIQUID and STDFLOWRATE =

) are known, use:

(g)

If WATERCUT, GLR and volume flow of oil at standard condition (


PHASE = OIL and STDFLOWRATE =

) are known, use:

(h)

If WATERCUT, GLR and volume flow of water at standard condition (


PHASE = WATER and STDFLOWRATE =

) are known, use:

(i)
Specified GOR or GLR will shift the values of gas mass fraction in the PVT table with use of the
following equation (2 phase)
(j)
where
Gas mass flow at given pressure and temperature
Gas mass flow at standard condition - calculated from given
GOR or GLR
Oil mass flow at standard condition - calculated from given
GOR or GLR
Gas mass fraction at given pressure and temperature - value
from the PVT table
Gas mass fraction at standard condition - value from the PVT
table
347 / 769

OLGA 7

(k)
If the equivalent gas volumetric flow rate at standard condition (
) and the mol weight of the total flow,
, are known, use:
PHASE = GAS, STDFLOWRATE =
and MOLWEIGHT =
The density of the equivalent gas at standard conditions will then be calculated from ideal gas law, and
the total mass flow will be given from the following equation on condition that GOR or GLR is greater
then 1010 (infinitely in OLGA)
(l)
If GOR or GLR is less than 1010 the total mass flow will be calculated from the equations described
earlier for PHASE = GAS with
=
and
=
.
Note: There are limitations on how much the value of GOR/GLR can be changed when using a PVT
table. One can check the source input by plotting the volume flow rates through the source at standard
conditions (e.g. QGSTSOUR). E.g. if a source using default GOR/GLR has no gas at the in-situ
conditions, one cannot give a lower GOR/GLR for this source. Removal of gas that is not present is
impossible.

Steady state pre-processor


Both source types can be used with the steady state pre-processor.
However, there are certain limitations:
With a closed node, the sum of all flows into the adjacent section (including contributions
from all sources, wells, and nearwells) can not be 0

348 / 769

OLGA 7

How to use
To define a SOURCE, follow the steps described below.
Each SOURCE must have a unique LABEL.
The position along the branch must be given; either by use of the POSITION key,
ABSPOSITION key, or a combination of the PIPE and SECTION keys.
Phase fractions can be given either directly with the GASFRACTION and
WATERFRACTION/TOTALWATERFRACTION keys or at standard conditions with the
GLR/GOR/WATERCUT keys.
The upstream/downstream PRESSURE and TEMPERATURE can be specified. See
Capabilities for further description.
Each source type is also available for use with the compositional models (i.e.
Compositional Tracking, Blackoil, MEG, Wax).
All input variables can be defined as time series with the TIME key.
See keyword SOURCE for more details.

Mass source
There are several keys available to define the mass source.
When the mass flow rate is to be specified at the source temperature and pressure without
compositional tracking use the key MASSFLOW.
With compositional models the keys FEEDMASSFLOW, FEEDMOLEFLOW or FEEDSTDFLOW may be
used.
When the volumetric flow rate at the standard conditions is given, the key STDFLOWRATE should be
used.
See keyword SOURCE for more details.

Pressure driven source (SOVA)


The SOVA massflow is defined by the valve specific input data. For further descriptions, see the Valve
section.
See keyword SOURCE for more details.

349 / 769

OLGA 7

Steady State Processor


The steady state pre-processor in OLGA computes a steady state solution for a pipeline or an entire flow
network. Steady state pressures, temperatures, mass flows, liquid hold-ups and flow regimes are
calculated along the pipelines. The steady state pre-processor is primarily intended for generation of
initial values for dynamic computations, but may also be used as a standalone steady state tool.
See also:
When to use
Methods and assumptions
Limitations
How to use

350 / 769

OLGA 7

When to use
The steady state pre-processor may be used in order to
1. eliminate the need for user given initial conditions
2. get a consistent initial state as a basis for dynamic simulations
3. perform screening studies
The steady state pre-processor can be used for flow networks with any combination of boundary
conditions at inlets and outlets. Both merging and diverging networks can be calculated.
Except for displacement pumps and pump battery, the steady state pre-processor incorporates the effect
of process equipment. For PID controllers the bias settings are used as the controller outputs.

351 / 769

OLGA 7

Methods and assumptions


The steady state pre-processor finds a consistent solution for flow networks by iteration. Networks
where all inlet flows and outlet pressures are known are solved by the following sequence of
computations:
1. Phase transitions are computed using old values of pressures and temperatures. The combination
of phase transition and inlet flows gives consistent flow rates along all the pipelines in the entire
network.
2. Using the newly computed flows, old temperatures, and the pressure boundary conditions at the
outlet, new pressures are computed along all the pipelines in the network. The point model OLGAS
THREE-PHASE is used in this step.
3. The temperatures along all the network components are computed.
Iteration on the sequence 1) to 3) is performed until the change between two iterates is smaller than a
tolerance. If the inlet flows and/or outlet pressures are not known, an outer iteration is needed in addition
to the one shown above. In this iteration the initial guesses for inlet flows/outlet pressures are refined
until the residuals are smaller than a given tolerance.

352 / 769

OLGA 7

Limitations
The solution computed by the steady state pre-processor and the solution obtained when simulation with
the dynamic solver until a steady state is achieved may not be equal. This is mainly due to the two
following reasons:
1. For unstable systems (for instance slugging cases) the steady state pre-processor may find a
solution that differs from the average value in the transient solution as there is no truly steady-state
condition.
2. The steady state pre-processor has some small residual errors that are removed by the transient
simulation. In some sensitive cases this can cause a difference in pressure, temperature and holdup profiles.
Therefore, if the slug flow regime is detected in the simulation, it is recommended to perform a dynamic
simulation with the slug tracking model (not available in OLGA 6.1).
The steady state pre-processor is not as robust as the dynamic OLGA. This is particularly the case for
simulations with pressure or well (productivity index) as inlet boundary conditions, or negative sources.
In such cases, if the pre-processor does not converge to a reliable solution, the pre-processor must be
turned OFF (STEADYSTATE=OFF under OPTIONS), and INITIALCONDITIONS must be applied to all
the FLOWPATHS instead.
The steady state pre-processor cannot handle counter-current flow (such as for instance positive gas
flow and negative liquid flow).
The steady state pre-processor cannot handle zero flow in the pipeline, therefore it should not be used
with closed valves in the flow path or with mass sources that sum up to zero flow rate at start time.
For flow networks with one or more separators the steady state pre-processor uses a simplified
approach. The separator is treated as a simple node with mixture properties and the phase flow fractions
of any phase are assumed to be equal for any of the outlets of a separator. This approach may lead to
discontinuities between the steady state and dynamic solution.
The steady state pre-processor may be run with wax deposition or hydrate kinetics activated, but the
pre-processor does not consider the wax phase or hydrate formation.

353 / 769

OLGA 7

How to use
To activate the steady state pre-processor from the OLGA GUI do the following:
In the property window for OPTIONS.
Choose STEADYSTATE=ON to get a full steady state computation including calculations of
temperatures.
Choose STEADYSTATE=NOTEMP to avoid the temperature calculation. In this case initial
temperature profiles must be given for all the flow components in the network.
The latter option can be useful if the pre-processor has problems finding a solution. This implies that the
simulation must be run dynamically for some time in order to achieve a true thermal steady state
solution.
The steady state pre-processor can sometimes fail to find a solution if flows are negative, i.e. if the flow
goes from the outlet to the inlet of a pipeline. For such pipelines it is therefore recommended to set
INIFLOWDIR=NEGATIVE in the BRANCH input group.
In order to do some fast studies (screening studies), one can use the steady state pre-processor results.
In this case use STEADYSTATE = ON under OPTIONS and STARTTIME equal ENDTIME under
INTEGRATION.
If input parameters (boundary conditions, valve openings, etc.) are given as time series, the steady state
pre-processor uses the values at the start time.

354 / 769

OLGA 7

SteamWater-HC
The availability of the steam module depends on the User's licensing agreement with SPT Group.
The SteamWater-HC module is an improved way of tracking when there is a considerable amount of
H2O in the fluid. There are some basic limitations when not using this module:
1. The standard table based version of the code assumes that the gas phase is always saturated with

steam (no mass balance for steam). Does not apply for MEG/MeOH/EtOH Tracking and
Compositional Tracking as they have a steam mass balance.
2. There must be a gas phase otherwise water can not be evaporated.
3. OLGA can not deal with a single component system if the saturation line is crossed. This is due to
the explicit coupling of volume balance and energy balance equations and the lack of a two phase
region (two phase envelope) for a single component system.
The second limitation is not a real limitation as there will usually be some HC gas in situations where
water is evaporating. The only situation where this limitation is real is if only water is present in the fluid
and temperature and pressure conditions are such that the saturation line is crossed.
The third limitation is related to the way the conservation equations are solved with an explicit coupling
between volume (pressure) balance and energy (temperature) balance.
This is solved by introducing time constants or delays in the evaporation/condensation process. The
difference between the saturation temperature and the fluid temperature serves as a potential for phase
mass transfer. Multiplying this temperature difference with a certain heat or energy transfer coefficient
gives a certain energy transfer rate that can be used to estimate the mass transfer rate. In that case an
asymptotic approach to equilibrium occurs. How fast this approach is depends on the size of the energy
transfer coefficient.
Also, this module gives more correct water/steam properties around the critical point and also in the
supercritical region.
See also:
When to use
Methods and assumptions
How to use

355 / 769

OLGA 7

When to use
The SteamWaterHC module should be used when there is a considerable amount of water in the fluid,
or when it is important to limit the rate of boiling/evaporation/condensation, e.g., when simulating drying
of a pipeline with hot gas.

License requirements
SteamWaterHC is part of the Single Component Module that requires a separate license.

356 / 769

OLGA 7

Methods and assumptions


The following assumptions are mode in the model:
Oil, gas, water and vapor (steam) will all have the same temperature, TM.
The pressure of the water phase will be equal to the total pressure.
The pressure of vapor will be equal to the partial pressure of vapor in the gas phase and will be
calculated assuming an ideal mix of vapor and hydrocarbon gas.
Water saturation temperature, TSATW, will be calculated from the total pressure.
Vapor saturation temperature, TSATV, will be calculated from the partial pressure of vapor.
If the fluid temperature, TM, is higher than TSATW, flashing or boiling of water will take place.
If TM is higher than TSATV but lower than TSATW, evaporation of water will take place.
If TM is lower than TSATV, condensation of vapor will take place. Note that TSATV will always be
less or equal to TSATW.
The inner pipe wall surface may be superheated or subcooled compared to TSATW or TSATV. Such a
situation may lead to surface boiling or surface condensation in cases where water or vapor is in direct
contact with the pipe wall. This additional mass transfer term will not be directly included but can be
accounted for by an enhanced heat transfer due to surface boiling/condensation.

Generation of steam and water properties.


The equations used to calculate the steam and water properties are taken from ref. 1.
These equations are time consuming to solve and will therefore be used only at the start of a simulation.
The properties will be calculated at pressure/temperature values corresponding to the
pressure/temperature grid points specified in the PVT table prepared for the simulation.
After the saturation points and the physical properties are calculated for all the P/T grid points that
correspond to the PVT table for the HC mixture, linear interpolation between the grid points is applied
during the simulations. For simulation cases where the pressure may cross the critical pressure, it is
important that the HC PVT table contains a grid point that is close to the critical point in order to obtain
accurate crossing of the saturation line.
For all the cases, a pressure interval less than10 bar and a temperature interval less than 10 K are
recommended in order to maintain acceptable accuracy of the linear interpolation.

Saturation line
Below the critical point, PC and TC, (pressure and temperature), the saturation pressure, Psat (T), and
saturation temperature, Tsat (P), at a given grid point, P,T, is determined from the saturation line.
Above the critical point, PC = 221.2 bar and TC = 647.3 K, and to 676 K and 250 bar, a straight line is
used to divide the single-phase or dense-phase region into vapor and liquid. Above 676 K and 250 bar,
the boundary line between region 2 and region 3 is used as the division between vapor and liquid. The
definition of the regions is described in ref. 1.

357 / 769

OLGA 7

Physical properties.
Water properties:
For pressures below 225 bar, water property equations for region 1 (see ref. 1) are used for water in the
water region.
In the vapor region, the properties for water are extrapolated from the saturation point: Enthalpy is based
on thermal capacity at saturation temperature corresponding to a given pressure and the density
according to the density derivative to pressure at the saturation pressure corresponding to a given
temperature. All the other properties are from the saturation temperature.
For pressures above 225 bar, water properties are calculated based on equations for the different regions
specified in ref. 1.
Thermal capacity and enthalpy for water is singular near the critical point. To avoid numerical problems in
region 3 the water properties from region 1 instead of those for region 3 when the pressure is below 225
bar (the equations are very similar except when you are closer than <1C and 0.1 bar). The same is done
for steam.
Vapor properties:
For pressures below 225 bar, vapor property equations for region 2 are used for vapor in the vapor
region.
In the water region, the vapor properties are extrapolated from the saturation point. Enthalpy is based on
thermal capacity at saturation temperature corresponding to the given vapor pressure and the density
according to the density derivative to pressure at the saturation pressure corresponding to the given
temperature. All the other properties are from the saturation temperature corresponding to the vapor
pressure.
For pressures above 225 bar, vapor properties are calculated based on equations for the different
regions.
With this procedure, the vapor and water properties are continuous across the vapor-liquid (V-L) division
line when pressure is above 225 bar.
Vapor pressure:
358 / 769

OLGA 7

PVAP = P*Mvap/(Mvap + Mhc)


where
Mvap = MGVAP/MWH2O, kmoles of vapor/unit volume(m3)
Mhc
= MGHC/MWhc, kmoles of HC gas/unit volume(m3)
MGVAP = Mass of vapor/unit volume
MGHC = Mass of HCgas/unit volume
MWH2O = Molweight of vapor = 18 kg/kmol
MWhc = Molweight of HC gas

Flashing/Condensation
The driving force for flashing of water or condensation of vapor will be the difference between the
saturation temperatures and the fluid temperature. The vapor saturation temperature will be directly
related to the partial pressure of vapor assuming an ideal mixing of HC-gas and vapor. With the presence
of HC-gas in the fluid, a gradual transfer of mass of H2O will take place as the partial pressure of vapor
changes. With no HC-gas in the fluid the partial pressure of vapor will be equal to the total pressure and
no bulk mass transfer takes place until either sub-cooled water reaches saturation temperature or
superheated steam cools down below saturation temperature.
The effect of local boiling on a hot wall surface or condensation on a cold wall surface will not be included
directly in the mass balance of water and vapor but can be accounted for through an enhanced heat
transfer at the pipe wall.
The total energy available for generating vapor or condensing vapor to obtain saturated conditions is
HTOTV.
HTOTV = (mghc*cpgh + mlhc*cplh +mlwt*cpwt + mgv*cpv) *(TM-TSATV)
where
mghc
mlhc
mlwt
mgv
cpgh
cplh
cpwt
cpv

= specific mass of HC-gas (kg/m3)


= specific mass of HC-liq (kg/m3)
= specific mass of water (kg/m3)
= specific mass of vapor (kg/m3)
= specific heat of HC-gas (KJ/kgC)
= specific heat of HC-liq (KJ/kgC)
= specific heat of water (KJ/kgC)
= specific heat of vapor (KJ/kgC)

The total mass transfer to obtain saturated conditions is:


PSIVTOT = HTOTV / ( HSATV - HSATW )
In order to reduce numerical problems it will be assumed that this mass transfer will take a certain time
TPSI. The mass transfer rate will then be:
PSIV = PSIVTOT / TPSI ( kg/ m3sec )
The mass transfer per time step must not be larger than the available mass of the diminishing phase
component.

359 / 769

OLGA 7

References
1. Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of
Water and Steam, The International Association for the Properties of Water and Steam, Lucerne,
Switzerland, August 2007

360 / 769

OLGA 7

How to use
In order to activate the SteamWater-HC model, the input key COMPOSITIONAL under keyword
OPTIONS must be set to STEAMWATER-HC.
TCONDENSATION, TVAPORIZATION and TBOILING in keyword COMPOPTIONS can be used to
specify the time constants for condensation, evaporation and boiling, respectively. They are available as
time series if desired by using the subkey TIME (but not for Compositional Tracking). Large values will
slow down the mass transfer leading to fairly large non-equilibrium. Small values will speed up the mass
transfer thereby reducing the thermal non-equilibrium. Too small values may however cause instabilities
and probably nonphysical results.
For initialconditions, boundaries, sources and wells, the specified water fraction will be either steam or
liquid depending on the specified temperature compared to the water saturation temperature at the
specified pressure when STEAMFRACTION is set to -1 (default). For sources without any pressure
given, the pressure of the source receiving position will be used. STEAMFRACTION can be set between
0 and 1 to give both water and steam.
New output variables for presenting vapor data have been implemented: TSAT, TSV, PSAT, PVAP (see
output variables description). Other data for vapor can be obtained by specifying compositional variables.
After the saturation points and the physical properties are calculated for all the P/T grid points that
correspond to the PVT table for the HC mixture, linear interpolation between the grid points is applied
during the simulations. For simulation cases where the pressure may cross the critical pressure, it is
important that the HC PVT table contains a grid point that is close to the critical point in order to obtain
accurate crossing of the saturation line.
In OPTIONS the subkey WRITEPVTFILES=[NO]/YES controls if the program will write to file the
water/steam properties that are being used. For YES, tab files (fixed format) will be written for each HC
mixture PVT table, using the same P/T grid. The name of the file(s) will be
<inputfile>_pvt_<HCfluidlabel>.tab. Also, the saturation line will be written to a file with the name
<inputile>_pvt.env. Both can be viewed in the GUI.
For all the cases, a pressure interval less than 10 bar and a temperature interval less than 10 K are
recommended in order to maintain acceptable accuracy of the linear interpolation.

361 / 769

OLGA 7

Thermal Components
The basic functionality in OLGA computes an axial temperature distribution in pipelines taking into
account radial heat transfer through pipe walls.
In addition to this functionality, OLGA has three types of thermal components that also take crosssectional heat transfer between different pipelines into account. This is useful for, e.g., pipeline bundles,
buried pipelines and drilling configurations.
The Bundle model should be used for pipeline bundles when the effect of heat transfer between
different pipelines is important.
The Annulus model is similar to the Bundle model, but it is specially designed for well and drilling
configurations.
The FEMTherm model should be used when pipeline configurations are surrounded by a solid
medium. It computes a three-dimensional temperature distribution by combining computation of radial
and angular heat storage and heat transfer in the medium surrounding the pipelines, with the onedimensional axial computation for the pipeline fluid.

362 / 769

OLGA 7

Annulus
In well- and drilling-configurations such as the one illustrated in Figure 1 below, there will be cross
sectional heat transfer between the different pipelines. If the temperature distribution in one pipeline
changes, it will affect the temperatures in all the other pipelines. The annulus model treat such heat
couplings in a more explicit and dynamic manner than the basic OLGA model.

Figure 1 Example of an annulus configuration.


See also:
When to use
Methods and assumptions
Limitations
How to use

363 / 769

OLGA 7

When to use
The annulus model should be used for pipeline configurations like the one shown in Figure 1 below in
order to account for cross sectional heat transfer between the different pipelines. The annulus model is
very similar to the bundle model, but it is specially designed for well- and drilling-applications. In the
annulus model diameters are allowed to vary in the axial direction.

Figure 1 Example of an annulus configuration.


The annulus model may be used to model gas-lifted wells where gas is injected into the annulus
between the casing and tubing and recovered in the tubing together with the production fluid.
The annulus model has no purpose if all U-values (overall heat transfer coefficients) and temperatures
are known.

License requirements
Annulus is part of the Wells Module that requires a separate license.

364 / 769

OLGA 7

Methods and assumptions


The annulus model computes temperatures in annular pipeline configurations by coupling the basic
temperature computation in the axial direction to a temperature computation in the cross sectional
direction. This is achieved by the following two-step procedure:
1. In each cross section of the annulus, the fluid temperature and wall layer temperatures of all the
enclosed pipelines are solved simultaneously.
2. A regular one-dimensional temperature calculation is performed for each pipeline, in which the fluid
temperatures and wall layer temperatures in the whole pipeline are solved simultaneously.
The combination of 1-dimensional fluid and wall layer temperature calculations in the axial direction and
the 2-dimensional calculation in each bundle cross section results in a 3-dimensional temperature field.
The annulus model is based on the following assumptions:
The heat transfer from an outer wall surface of one pipeline to the surrounding fluid in a carrier line
is based on free/forced convection unless a user given heat transfer coefficient is given.
No additional girding is used in the annulus model as compared to solving each pipeline thermally
decoupled from each other.

365 / 769

OLGA 7

Limitations
All pipelines that are contained within the same annulus must have the same section lengths and
elevations.
The annulus model requires the WALL or FASTWALL temperature calculation option to be used.
The annulus must cover entire pipes.

366 / 769

OLGA 7

How to use
To use the Annulus model, in the OLGA GUI do the following:
From the Case level, right click and choose:
AddThermalComponentANNULUS
In the OLGA GUI, an annulus consists of a carrier line enclosing one or several flow-paths. The carrier
line itself is a regular flow-path. To populate the annulus, the following has to be repeated for each
participating component:
From the newly created annulus, right click and choose:
AddAnnulusComponentsCOMPONENT
In the property window for the newly created component, fill out the required fields. In particular, the
FLOWPATH identifier have to be specified. N.B., no flow-path is created by this procedure, and, thus,
the flow-path specified have to either exist beforehand or be added to the case later.
The properties FROM and TO define the part of the flow path that is enclosed in the annulus (axial
direction). They refer to position labels which must be defined under Piping for the FLOWPATH.
The properties XOFFSET and YOFFSET are X- and Y-direction offsets for the FLOWPATH center from
an arbitrary reference point. All flow-paths contained in the same annulus must have the same reference
point.
The property OUTERHVALUE may be used if the heat transfer coefficient from the outer wall surface to
the carrier line is known, otherwise forced/free convection will be applied.
Flow-paths that are contained within the same annulus have to have the same section lengths and
elevations. Pipe diameters may vary in the axial direction.
The WALL or FASTWALL temperature calculation option must be specified when an annulus is present
in a case.

367 / 769

OLGA 7

FEMTherm
FEMTherm may be used to calculate the thermal performance of the following systems:
Bundled pipelines
Buried pipelines
Complex risers

Figure A A hot water insulated and buried bundle


FEMTherm covers the functionality of the Soil module implemented in earlier versions of OLGA, with
several differences:
Easier input:
Discretization: just one value is required (MESHFINENESS)
Predefined shapes (circle, ellipse, rectangle) in addition to a user-defined polygon
Better visualization of cross section, grid and results (FEMTherm Viewer)
More accurate discretization around the circular pipe wall (unstructured triangular mesh)
Radiation is included
See also:
When to use
Methods and assumptions
Limitations
How to use

368 / 769

OLGA 7

When to use
The FEMTherm model is designed to simulate the thermal interactions between parallel pipelines
enclosed in a solid medium. In situations with buried pipelines, the model is capable of predicting the
transient thermal behavior of the surrounding soil. Therefore, the model is very useful when the
immediate surroundings of a pipe cannot be treated as a constant thermal reservoir. The model is also
very flexible with respect to geometry definitions and is well suited for analyzing complex risers with
temperature variations that are not axi-symmetric. However, the FEMTherm calculations can be timeconsuming, and, thus, this model is not recommended for systems where the ambient heat transfer
boundary conditions can be defined sufficiently well using the concentric wall layer model.

License requirements
The FEMTherm model is part of the FEMTherm Module that requires a separate license.

369 / 769

OLGA 7

Methods and assumptions


FEMTherm consists of a grid generator and a Finite Element Method (FEM) equation solver. The grid
generator makes a 2D finite element mesh in accordance with the Delaunay criterion. The finite element
equation solver determines the transient 2D temperature distribution of any user defined cross section,
which can have several shapes, i.e. CIRCLES, ELLIPSES, RECTANGLES and POLYGONS. Figure A
illustrates the grid system used for solving the 2-dimensional heat transfer equation in a rectangular
cross section with two interior pipelines. The simulation model consists of stacks of such cross sections
along the pipeline.

Figure A: Cross section grid


In a FemTherm calculation, OLGA solves the following equations in two steps:
1. Energy equation for the fluid in the pipe and the heat transfer equation for the layers of the pipe
WALL. These equations are solved for each of the pipe sections along the pipelines, giving the
profiles of the fluid temperature along the pipeline and in the pipe WALL.
2. FEMTherm establishes the thermal coupling of the pipelines and solves the 2-dimensional heat
transfer equation in the solid medium surrounding the pipe WALL, giving the temperature
distribution over the cross sections as well as the interaction between fluid temperatures in
embedded pipes.
The combination of 1-dimensional fluid and WALL temperature equations along the pipelines and the 2dimensional heat transfer equations for the media in each of the cross sections along the pipeline results
in a 3-dimensional temperature field.
Consider the pipe cross section in Figure B.

Figure B: Cross section grid and concentric pipe with a single wall layer
In the situation of an incompressible fluid in the pipe visualized above, the governing equations for this
system are:
370 / 769

OLGA 7

(a)
(b)
(c)
,
In the more general case, equations (a) and (b) are solved for each component and for each wall layer.
Equation (a) describes the energy conservation of the fluid, Equation (b) the energy conservation of the
pipe WALL and Equation (c) the energy conservation with heat conduction in the interior of the solid
medium. In addition to these, a set of boundary and initial conditions are required for the calculation. The
temperature, = ( , , , ), is the central variable in FEMTherm and the parameters in the model are:
Area of the pipe cross section
Af
Temperature of the fluid
Tf
Density of the fluid
rf
Heat capacity of the fluid

Tw
rw

Temperature of the first wall layer


Density of the first wall layer
Heat capacity of the first wall layer

Aw

Cross sectional area of first wall layer


Flow rate of fluid
Heat transfer between fluid and first layer
Heat transfer between first layer and FEM domain boundary
Heat flux across FEM domain boundary
Conductivity of the solid interior of the bundle
Density of the solid interior of the bundle
Heat capacity of bundle
Heat flux at the FEM domain boundary

Unit outward normal at the FEM domain boundary


The weak form of Equation (c) according to classical functional analysis is:
(d)
where is the interior of the FEM domain, is the boundary subject to non-essential boundary
conditions and is the test function. The last term in this equation is used to impose the boundary
condition for the Newtons law of cooling of external boundaries:
(e)
where the heat transfer coefficient, , and the ambient temperature, , are user-defined constants.
The finite element domain is discretized using linear triangular elements, while the evolution in time is
modeled using a backward Euler scheme. By factoring out the ambient temperature, , and the
temperature in the last wall layer, , the following system of discrete equations is obtained.
(f)
This can now be used to solve the vector of nodal temperatures, , as a function of the ambient
temperature, the last wall layer temperatures of each component and the temperature at previous time
step, . The wall layer temperatures are not yet known, and therefore the equation system (f) is coupled
to and solved simultaneously with the equations for the fluid and wall temperatures for all embedded
371 / 769

OLGA 7

to and solved simultaneously with the equations for the fluid and wall temperatures for all embedded
components. The linearization needed for this coupling is derived in the following manner:
The ambient temperature,
, of the last wall layer of each component is obtained by taking the
average temperature in the FEM domain along the boundary of theith component, . This average
temperature of discrete nodal temperatures is defined by the function
(g)
where
is the length of boundary i and the function
is evaluated element by element along
the boundary. By the linearity of the solution, using superposition this can be written as:
(h)
where
is a vector of nodal temperatures resulting from the boundary condition at
perimeterj, and
is a scaling of the nodal temperatures at timen. Given that the
temperature,
,within the FEM domain is a linear function of the nodal temperatures, the
constantsaijcan easily be obtained from:
,
With the exception of the term,
, these integrals are evaluated once. This is possible because
FEMTherm operates with a fixed time step, decoupled from the temperature calculations in the pipes.
The inertial term, however, must be evaluated for each section and each FEMTherm time step.
Numerical considerations
In OLGA the fluid temperature varies in the axial (z) direction only. Therefore the heat conduction in the
first WALL layer is always in the radial (r) direction. In the cross section below, two OLGA pipes are
placed within a circular cross section. The temperature of the fluid and the temperature of the pipe WALL
are solved with the OLGA model (finite difference method) on the assumption that radial heat conduction
is predominant. Thus the pipe WALL outer surface (see Figure C) serves as an external boundary to the
finite element equation. The heat conduction in the rest of the cross section is in both spatial directions
(x and y). It is possible to include more than one radial conduction WALL layer in the model.

Figure C: Two OLGA pipes in a cross section


One needs to determine the number of nodes that is required to obtain a suitable grid and time step in
order to obtain numerical solutions to the heat transfer Equation (c). The FEMTherm model should be
used with optimized spatial and temporal discretizations which gives a step-size independent solution. In
the figure below we see a close-up of the region between the two pipes in Figure C for three examples
372 / 769

OLGA 7

the figure below we see a close-up of the region between the two pipes in Figure C for three examples
of the spatial discretization. The numerical accuracy is strongly dependent on the number of internal
nodes (N) between external boundaries.

Figure D: Different discretizations for the area between two OLGA pipes
Due to the linear interpolation functions in the finite element calculation, we recommend that N should be
at least 4 to get a good approximation for the temperature field. In (a) N=0, in (b) N=3 and in (c) N=4.
Thus the grid in (c) is the only acceptable grid for high precision calculations. The MESHFINENESS[*]
key in the SOLIDBUNDLE keyword sets the spatial resolution of the grid by determining the number of
nodes on the outermost shape. The number N can be checked after the simulation has been performed
by looking at the grid in FEMTherm Viewer, or alternatively using FEMTherm Tool.
Thermal calculations with the finite element method are computationally expensive and are not carried
out for every single time step in OLGA. We recommend that the time step for thermal calculations
The key DELTAT in the SOLIDBUNDLE keyword should be below the smallest characteristic time
constant in the system. For complex pipes this constant may be difficult (if not impossible) to calculate,
but a fairly valid approximation is:
(a)
where , and are the density, specific heat capacity and thermal conductivity of a pipe layer
thickness . Thus, one should determine this time constant for all the layers in a pipe and use a time
step that is below the smallest of these.
It should be noted that the thermal masses in the solid medium can be very large and it may require very
long simulation times to obtain thermal equilibrium when integrating the energy balance equation. To
account for this, without using the steady state pre-processor, it is possible to switch the
TEMPERATURE option from FASTWALL to WALL between restarts. This is in principle the procedure
used in the steady state pre-processor. The FASTWALL option is equal to setting the heat capacity
parameter to zero and can be used when there are no thermal transients. The increase in computational
speed may be significant when compared to using the WALL option. However, for transient analyses this
option should only be used to initialize the simulations.
The results from an OLGA simulation where the FEMTherm module has been applied can be visualized
using FEMTherm Viewer. Note that the FEMTherm code makes a triangle mesh also for the OLGA
WALLS (radial conduction layers) and the fluid within. This is for the purpose of visualization only. The
temperature is not calculated separately for these dummy nodes (e.g., the nodes in the WALL layers
have the same temperature for a given radius). See Figure E that shows an inner OLGA WALL with two
outer walls defined by SHAPE.

373 / 769

OLGA 7

Figure E: Left: Grid visualized in FEMTherm Viewer (the fluid in the middle will also have a mesh).
Right: Grid used in FEMTherm calculation.
The plotting frequency is determined by the key DTPLOT in the SOLIDBUNDLE keyword and should be
set judiciously. For very fine discretization and/or long bundle sections, the amount of data may become
exceedingly large for long simulations. By increasing the value of DTPLOT, the amount of data may be
limited.

[*] MESHFINENESS is the number of nodes, which are evenly distributed on the outer boundary of the
SHAPE with the longest circumference within a SOLID BUNDLE, which is not a POLYGON. The density
of nodes (nodes divided by circumference) on the SHAPE with the longest circumference determines the
number of nodes on all other non-POLYGON SHAPES in order to obtain a mesh with uniform node
spacing.

374 / 769

OLGA 7

Limitations
All pipelines that border to a solid shape must have a constant diameter in the axial direction. Thus, if an
annulus borders to a solid shape the diameter of the outermost pipeline of the annulus is not allowed to
vary.
Multiple outer shapes as well as overlapping shapes are allowed. However, shapes inside an outer
shape are not allowed to partially overlap, or to be adjacent as shown in Figure A. Note that the model is
constructed with the use of rectangles and circular pipes only.

Figure A Illustration of allowable FEMTherm/SOLIDBUNDLE configurations in OLGA.


The FEMTherm calculations are based on linear theory which assumes fixed geometry and material
properties. All materials are assumed to be homogeneous and isotropic. The integration in time is
performed using a fixed time step (no time step control) for the temperature distribution in the cross
section.
The model can only handle parallel pipes and pipes of a constant diameter.

375 / 769

OLGA 7

How to use
FEMTherm is activated through the SOLIDBUNDLE keyword. To include a SOLIDBUNDLE/FEMTherm
computation in the simulation, the following must be done in the OLGA GUI:
From the Case level, right click and choose:
Add ThermalComponent SOLIDBUNDLE.
Configurationwise, a SOLIDBUNDLE consists of an outer SHAPE that encloses one or several
FLOWPATHS, LINES and/or FLUIDBUNDLES. In the following these are referred to as bundle
components. For each bundle component do the following:
From the newly created solid bundle, right click and choose:
Add BundleComponents COMPONENT.
In the property window for the newly created bundle component, fill out the required fields. In particular,
a reference to either a FLOWPATH, a LINE a FLUIDBUNDLE or a SHAPE must be specified. Note that
no new component is created by this procedure, and that the specified component must exist
beforehand or be added later.
The properties FROM and TO define the part of the component that is enclosed in the bundle (axial
direction). They refer to position labels.
The thermal computations are only affected by the relative position of one object to another. To give
better control of the cross section, without having to adjust the pipeline geometry, the coordinate system
of the bundle cross section is decoupled from the rest of the model. All components are by default placed
concentric around the origin and may be independently moved to its correct location with the keys
XOFFSET and YOFFSET. The only exception to this rule is for SHAPES of type RECTANGLE and
POLYGON. In this case, the x and y coordinates of the shape are given explicitly, but XOFFSET and
YOFFSET may still be used for an additional offset.
The property OUTERHVALUE may be used if the heat transfer coefficient from the outer surface of the
bundle component to the carrier line is known, otherwise forced/free convection will be applied.
The length and elevation of each section of a pipeline that is contained within a SOLIDBUNDLE must be
maintained.
A SOLIDBUNDLE/FEMTherm simulation requires that the WALL or FASTWALL temperature calculation
option is selected
For every SOLIDBUNDLE a finite element triangle mesh is generated. The fineness of the mesh is set
by the MESHFINENESS key. The value of this key denotes the number of nodes on the SHAPE with the
largest circumference. The higher the MESHFINENESS, the finer the mesh. However, the grid is not
very sensitive with respect to MESHFINENESS as the value of this parameter is being rounded off to
multiples of 32. The typical values for this key is between 128 and 640. To select this parameter wisely,
it is recommended to read about numerical considerations in Methods and Assumptions.
The ambient conditions for the bundle may vary both in the vertical axis of the cross section and along
the length of the bundle. It is defined through the use of the AMBIENTDATA keyword. If this keyword is
not given, the ambient conditions defined in the HEATTRANSFER keyword in the largest flow
component of the bundle is used.

376 / 769

OLGA 7

Fluid bundle
For pipeline configurations like the one shown in Figure 1 below, there will be cross sectional heat
transfer between the different pipelines. If the temperature distribution in one pipeline changes, it will
affect the temperatures in all the other pipelines. The bundle model treat such heat couplings in a more
explicit and dynamic manner than the basic OLGA model.

Figure 1 Example of a fluid bundle configuration.


See also:
When to use
Methods and assumptions
Limitations
How to use

377 / 769

OLGA 7

When to use
The bundle model should be used for pipeline configurations like the one seen in Figure 1 below when
accuracy in temperature is important.

Figure 1 Example of a fluid bundle configuration.

License requirements
Fluid bundle is part of the FEMTherm Module that requires a separate license.

378 / 769

OLGA 7

Methods and assumptions


The bundle model computes temperatures in bundled pipelines by coupling the basic temperature
computation in the axial direction to a temperature computation in the cross sectional direction. This is
achieved by the following two-step procedure:
1. In each cross section of the bundle, the fluid temperature and wall layer temperatures of all the
enclosed pipelines are solved simultaneously.
2. The combination of 1-dimensional fluid and wall layer temperature calculations in the axial direction
and the 2-dimensional calculation in each bundle cross section results in a 3-dimensional
temperature field.
The Bundle model is based on the following assumptions:
The heat transfer from an outer wall surface of one pipeline to the surrounding fluid in a carrier line
is based on free/forced convection unless a user given heat transfer coefficient is given.
No additional griding is used in the bundle model as compared to solving each pipeline thermally
decoupled from each other.

379 / 769

OLGA 7

Limitations
The diameters of the carrier line and all the interior pipelines have to be constant in the axial direction.
All pipelines that are contained within the same bundle have to have the same section lengths and
elevations.
The bundle model requires the WALL or FASTWALL temperature calculation option to be used.
The bundle must cover entire pipes

380 / 769

OLGA 7

How to use
To use the Bundle model, in the OLGA GUI do the following:
From the Case level, right click and choose:
AddThermalComponentFLUIDBUNDLE
In the OLGA GUI a fluid bundle consists of a carrier line enclosing one or several flow components (flowpaths, lines, and/or bundles). The carrier line itself is either a regular flow-path or a line. To populate the
fluid bundle, the following has to be repeated for each participating flow component:
From the newly created fluid bundle, right click and choose:
AddBundleComponentsCOMPONENT
In the property window for the newly created bundle component, fill out the required fields. In particular,
a reference to the flow component (FLOWPATH, LINE or FLUIDBUNDLE) have to be specified. N.B., no
new flow component is created by this procedure, and, thus, the component specified have to either
exist beforehand or be added to the case later.
The properties FROM and TO define the part of the flow path that is enclosed in the bundle (axial
direction). They refer to position labels which must be defined under Piping for the FLOWPATH.
The properties XOFFSET and YOFFSET are X- and Y-direction offsets for the component center from
an arbitrary reference point. All components contained in the same fluid bundle must have the same
reference point.
The property OUTERHVALUE may be used if the heat transfer coefficient from the outer wall surface of
the bundle component to the carrier line is known, otherwise forced/free convection will be applied.
Flow-paths that are contained within the same bundle have to have the same section lengths and
elevations. Pipe diameters must be constant in the axial direction.
The WALL or FASTWALL temperature calculation option must be specified when a fluid bundle is used
in a case.

381 / 769

OLGA 7

LINE
A LINE is a type of FLOWPATH for which simplified one-phase calculations are performed.
In OLGA 6, a LINE also takes into consideration frictional effects and will give a pressure drop along the
pipeline. Thus, it needs fluid properties as a function of both pressure and temperature. These fluid
properties are given as usual with the PVTFILE and FLUID keys. The former way of giving constant fluid
properties with MATERIAL=FLUID is not supported in OLGA 6.
Note that this also applies when running component tracking (e.g. CompTrack, Blackoil). Example 1phase fluid files are provided with the Sample cases.
See also:
When to use
Limitations
How to use

382 / 769

OLGA 7

When to use
Lines are typically used in bundles, for injection lines and auxiliary lines where the pipeline hydraulics
may be neglected.

383 / 769

OLGA 7

Limitations
LINES cannot be connected to multiphase nodes. LINES can form networks but these networks must be
hydrodynamically decoupled from multiphase networks.

384 / 769

OLGA 7

How to use
The implementation of a LINE in the OLGA GUI is as follows:
From the Case level right click and choose
Add FlowComponent FLOWPATH.
In the property window for the FLOWPATH choose LINE=YES.
Fill in the required fields in the property window. For further instructions on FLOWPATH properties see
the keyword description for FLOWPATH.
LINES must be connected to nodes just as FLOWPATHS do. These nodes must also be defined as
singe-phase by selecting LINE=YES or LINE=CROSSOVER in the property window for the node. A
CROSSOVER node is a node that allows flow recirculation; see the keyword description of NODE for
details.

385 / 769

OLGA 7

Thermal computations
Temperature is an important parameter in flow assurance analyses and is a key prediction in the
analysis of phenomena such as hydrate and wax formation propensities. Thus, temperature can
influence the production capacity of a network and therefore, a reliable prediction of the temperature
profile in a pipeline is important.
In OLGA, a homogeneous temperature is calculated for the fluid which can be multiphase. In addition, it
calculates the heat transfer across the pipe wall by determining the average temperature of each wall
layer. The pipe wall may comprise of multiple layers of materials of different types, which are aligned
concentrically.
Ambient conditions for an area can vary significantly in winter and summer seasons or during a day. This
may cause freezing or melting of the soil surrounding a pipeline. OLGA can simulate phase changing
materials and give detailed modelling of the soil taking the latent heat of fusion and differences in
thermal properties for frozen and unfrozen materials into account.
See also:
Methods and assumptions
Limitations
How to use

386 / 769

OLGA 7

Methods and assumptions


Thermal calculations for the wall rest on the assumption that radial heat conduction through the
concentric walls is the dominating phenomenon. The heat flux may be calculated in two ways:
The heat flux through the pipe wall layers is calculated by the code with user-defined thermal
conductivities, specific heat capacities and densities for each wall layer.
The heat flux is determined by a user-defined overall heat transfer coefficient.
The former is recommended since the heat storage capacity in the wall is often significant. It is preferred
to include a dynamic calculation of the temperatures of individual wall layers in a transient simulation.
The latter option will save some CPU time, but should be used with care and preferably in steady state
situations only.

Figure A: Illustration of a buried pipe


Buried pipelines may be modelled with the soil as the outermost wall layer. The first method of
calculating the heat flux (where heat flux is a function of wall properties) should then always be used due
to the large thermal mass of the soil.
The thickness of the composite soil layer is based on an equivalent heat transfer coefficient for the soil
for a pipeline burial of a particular depth. Theoretically, the equivalent heat transfer coefficient from the
outer surface of a buried pipeline to the top of the soil can be calculated to be:

(a)
where:
D
H
lsoil
hsoil

= outer diameter of buried pipe


= distance from centre of pipe to top of soil
= soil heat conductivity
= overall heat transfer coefficient for soil

The term cosh-1 (x) can be expressed mathematically as follows:


cosh-1 (x) = ln ( x + ( x2 - 1 ) 0.5 )

for x 1

The thickness of the composite soil layer can be determined using the expression below for a known
value of the soil thermal conductivity:

387 / 769

OLGA 7

(b)
where:
Rsi = inner radius of soil layer (=outer radius of pipe wall)
Rso = outer radius of soil layer
ksoil = input value of soil conductivity
The specific heat capacity of the soil may be adjusted as follows in order to predict the transient heat
transfer accurately:

(c)
where:
Cp input = input value of soil thermal capacity
Cp soil = soil thermal capacity
Heat transfer at steady state conditions depends only on the outer soil layer radius Rso and on ksoil.
However, for dynamic situations, a good soil discretization is important in order to obtain a reliable
temperature profile across the wall layer. Alternatively, the Solid Bundle module may be used in such a
situation.
Phase changing materials
The model for simulating phase changing materials accounts for latent heat of fusion and the difference
in thermal properties for unfrozen and frozen materials. Thermal conductivity and heat capacity are given
for three ranges, above the melting point, below the melting point and in the transition phase.
For heat capacity, the value specified in HEATTRANSFER is used for all temperatures above the
melting point. A multiplier ( HCAPMULT) is used below the melting point. If the FUISIONMULT key is
different from 0, a step wise function is used for heat capacity having the value equal to FUSIONMULT
in the phase changing region. If the FUSIONMULT key is 0, linear interpolation is performed between 1
and HCAPMULT. The FUSIONMULT key takes the latent heat of fusion (additional energy added or
withdrawn for a phase change) into consideration.
The exmple below describes how the latent heat of fusion is caluated. The phase changing region is
from 0 to -1 C. Then, one multiplier is used between 0 and -1 C, while another multiplier is used below -1
C. The multiplier between 0 and -1 C also takes into consideration the latent heat of fusion. As an
example soil with dry density 1900 kg/m3. With 10% water weight/dry soil weight the moist unfrozen heat
capacity is 1067 J/(kgC) (0.255 btu/(lbF) and the frozen heat capacity is 876 J/(kgC) (0.209 btu/(lbF).
The latent heat of fusion is (190 kg/m3*333 kJ/kg)/(2090 kg/m3) = 30.27 kJ/kg. This gives a multiplier of
29.4 in the range from 0 and -1 C.
Thermal conductivity given in HEATTRANSFER is used directly for temperatures above the melting
point. A conductivity multiplier (CONDMULT) is used for temperatures below the melting point. Linear
interpolation is used in between.

388 / 769

OLGA 7

Limitations
Wall Layer Thickness
The numerical solution for the temperatures in the wall layer depends on the discretisation of the layer. It
is sufficient to undiscretize the wall layer for steady-state calculations.
A finer discretisation of the wall layers may be necessary for transient calculations, when the heat
storage in the pipe walls can be important (cool down or warm up), A wall layer should, as a rule of
thumb, not be thicker than approximately 30% of the outer radius of the layer. The change in thickness,
, between two neighbouring layers should be 0.2 (i)/(i-1) 5 to obtain a good accuracy.
If ELECTRICHEAT is defined in the WALL definition, it is preferable to have at least three layers and
define the electric heating in the middle layer.
Very thin layers, such as paint etc., should be included in a neighbouring layer by adjusting the thickness
and conductivity of that layer. Only the thickness needs to be adjusted if the thermal conductivity of the
thin layer is fairly close to the conductivity of one of it's neighbours.

389 / 769

OLGA 7

How to use
In the OLGA GUI the method for the temperature calculation is set from the OPTIONS card on the Case
level. In the OPTIONS property window the TEMPERATURE can be set either to:
OFF

No temperature calculation initial temperatures must


be specified with the INITIAL keyword statement
ADIABATIC No heat transfer to surroundings
UGIVEN
A user-defined overall heat transfer coefficient is used
for the entire wall
WALL
The heat flux through the pipe wall layers is calculated
by the code with user-defined thermal conductivities,
specific heat capacities and densities for each wall
layer
FASTWALL Similar as WALL but heat storage is neglected in the
wall
User-defined heat transfer parameters for the chosen temperature option must be given for each
pipeline. In the OLGA GUI under Boundary&InitialConditions for each FLOWPATH , one or several
HEATTRANSFER cards may be added. In the property window for each HEATTRANSFER card, the
required fields must be filled out.
In a temperature calculation the homogeneous temperature profile along the pipeline should be critically
examined. Large discontinuities are often unphysical, although if large pressure differences occur
between two neighbouring sections the Joule-Thompson effect may give a substantial temperature
difference. Furthermore, if there is a great difference in hold-up between two adjacent sections,
temperature differences can be expected depending on the thermal properties of the gas, liquid, and
pipe walls, as well as the surrounding medium.
In order to simulate a phase changing material, TYPE must be set to PCM in MATERIAL keyword. An
upper and lower temperature limit for melting and freezing must be specified, PHCHMAX and PHCHMIN.
Further, the three multipliers for properties below the melting point and in the phase changing region
must be given.

390 / 769

OLGA 7

Tracer tracking
Tracer tracking simulations together with measurements of tracer output from real fields provide a means
to obtain valuable information about flow conditions in reservoirs, wells and pipelines. The tracer tracking
functionality in OLGA can be used to track tracers which have such a purpose of
investigation/examination, and it can be used to track tracers of inhibitor type (for instance kinetic hydrateor corrosion inhibitors).
OLGA predicts the distribution in space and time of mass, age and residence time for tracers being
inserted into wells/pipelines. The results may be used by for instance hydrate kinetics- and corrosion
models to take into account the effect of the inhibitors.

See also:
When to use
Methods and assumptions
Limitations
How to use

391 / 769

OLGA 7

When to use
Tracer tracking should be used when one wants a distribution in space and time of mass, age and
residence time of tracers of such small amounts that their influence on the flow is negligible. Examples of
such tracers are KHI inhibitors, corrosion inhibitors and radioactive tracers.

License requirements
Tracer tracking is part of the Inhibitor Tracking Module that requires a separate license.

392 / 769

OLGA 7

Methods and Assumptions


The Tracer Tracking model in OLGA computes a distribution in space and time of tracer mass, residence
time and age (if the key AGING=ON). If aging is on, ages are divided into age groups (defined by the key
AGEBOUNDARIES), and the average age within each group is computed.
The computation of all these variables is based on simple conservation equations, here represented by
the equation for mass:
Here G represents the sum of regular sources as well as the influence of entrainment and deposition of
droplets. The age- and residence time-equation has an additional source term, which, in the case of
aging, takes into account the amount of time the tracer is subject to sub-cooling relative to an equilibrium
temperature (for instance the hydrate formation temperature in case of KHI tracking).
The following assumptions are used:
The presence of tracers is assumed to have no effect on the flow, i.e. tracers usually exist in amounts so
small that the effect on the flow of the production fluids is negligible.
The tracers/inhibitors are assumed to be carried in a carrying phase (condensate, water or gas).
Partitioning of tracers/inhibitors to other phases than the carrying phase is not included in the current
version of the model.

393 / 769

OLGA 7

Limitations
The current corrosion model and hydrate kinetics model in OLGA do not take into account the
inhibition effect of any tracer.

Partitioning of tracers is not implemented in the current version.

The distribution of ages (when applicable) is divided into a given number of groups. Each group
has a user given low and high bound of age. All the inhibitors within each group are assumed to
have the same age (average age).
It is not possible to specify an initial condition (by the keyword INITIALCONDITIONS) containing
tracers, but the steady state preprocessor will compute an initial steady state tracer distribution.

It will not be possible to specify the tracer content in negative sources. The amount of tracer
going out will be based on the concentration of the tracer in the section from which the source
originates.

Production flows from wells will not contain any tracer. The injection flows will be treated in the
same manner as negative sources.

The tracer does not follow the water vapor phase. Any vaporization/condensation does not
affect the tracer mass, but the concentration changes. If a section is totally emptied of the carrying
phase, e.g. water, by vaporization, the remaining tracer is removed.

Tracer tracking can be combined with all other modules, but some limitations exist:

Tracer tracking can be combined with slug tracking, but the tracer output variables are average
values for a section.

Tracer tracking can be combined with pig tracking (which is a special version of slug tracking),
but distribution of tracer on each side of the pig might in some cases be inaccurate.

Tracer functionality is not implemented in the near well module Rocx.

394 / 769

OLGA 7

How to use
The following keywords and keys must be set to use tracer tracking.
In the property window for the keyword OPTIONS choose:

TRACERTRACKING=ON
Specify one TRACERFEED for each tracer:

In the OLGA GUI, at the library level right click and choose Add->TRACERFEED.
In the property window for each TRACERFEED set the following keys:

LABEL
choose a label

AGING
must be set to ON to track age distribution of the tracer

CARRIERPHASE
specify the fluid phase on which the tracer is based

AGEBOUNDARIES
must be set when AGING=ON (numbers separated by comma)

LOWLOWBOUND
age below LOWLOWBOUND is not plotted

HIGHLOWBOUND
age below HIGHLOWBOUND is not plotted
under certain conditions
Tracers may be fed into pipelines either via a SOURCE or via a MASSFLOW node.
In the property window for a SOURCE or a node of type MASSFLOW set the following keys:

SOURCETYPE
select TRACER

TRACERFEED

set the name of the tracer feed in this source/node

TRACERMASSFLOW

specify the tracer mass flow

TRACERAGE

specify the age of the tracer

TRACERRESIDENCETIME

specify the residence time of the tracer

To compute aging of a kinetic hydrate inhibitor, specify the HYDRATECHECK keyword.


Some output variables are available for plotting per tracer feed and per age group.

395 / 769

OLGA 7

Tuning
The TUNING keyword makes it possible to tune the fluid properties, friction, phase mass transfer and
entrainment of liquid droplets into the gas phase.
See also:
When to use
Methods and assumptions
How to use

396 / 769

OLGA 7

When to use
The TUNING keyword can be used for adjusting the OLGA model to specific sets of measured data or
for sensitivity studies. TUNING should be applied with great care, as it might cause the validation and
verification of the OLGA model to no longer be valid.

License requirements
The Tuning Module requires a separate license.

397 / 769

OLGA 7

Methods and assumptions


The tuning coefficients are multiplied by the related values which are either calculated by OLGA or set in
the input file depending on whether the tuned parameter is dynamically calculated by OLGA or case
invariant, e.g., geometry information.

398 / 769

OLGA 7

How to use
Specify the desired tuning coefficients and where they apply.
The tuning coefficients AREA, DIAMETER and ROUGHNESS can only be specified for an entire pipe or
an entire branch. It is not possible to specify these coefficients using the section key.
The keys POSITION, PIPE and SECTION will be processed in a nested manner. The number of entries
must either be one or a multiple of the listed number of combinations of pipes, sections or positions.

399 / 769

OLGA 7

Water
The purpose of the Water model is to let the user specify the parameters and model used for oil/water
dispersion viscosities and to specify the approach used to determine the water distribution between
liquid and gas phases.
See also:
When to use
Methods and assumptions
Limitations
How to use

400 / 769

OLGA 7

When to use
Changes to the dispersion model are recommended when experimental data shows that the default
options do not give a good description of the fluid. The module may also be used for sensitivity analysis
with respect to dispersion e.g. the water volume fraction at inversion point.

401 / 769

OLGA 7

Methods and assumptions


Calculation of velocity difference between water and liquid hydrocarbon ("slip velocity")
Two different options can normally be used for calculating the velocity difference between liquid water
and hydrocarbon liquid (we term the latter "oil" for simplicity). This velocity difference is termed the "slip
velocity" or just "slip". The liquid droplets flowing in the gas phase are not included in this context.
By turning the water slip option off (WATERSLIP = OFF), the user assumes that there is no velocity
difference between the oil and water flow fields. In this case oil and water are always assumed to flow as
a homogeneous mixture with average properties. The fluid mechanical model reduces to a two-phase
gas-liquid model. However, water enthalpies are accounted for in the temperature calculations.
Water droplets are entrained in the oil if the water cut in the liquid film is less than the phase inversion
point, and vice versa. Phase inversion is assumed to occur at a water cut given by the user through the
key INVERSIONWATERFRAC (default value of 0.5). The degree of mixing of oil and water can vary from
fully separated to fully dispersed, depending on the phase velocities and the material properties. This
applies to all gas/liquid flow regimes.
It is also possible to specify an intermediate dispersion range. Between a lower critical water cut (given
by FWLOW) and the inversion point (given by INVERSIONWATERFRAC), the flow is assumed to be a
water-in-oil dispersion flowing above a free water layer. The degree of mixing of water into oil is
predicted by the standard OLGA model, but the maximum fraction of the total water stream that can be
mixed into the oil is given by EMAX:
(Volume flow of water in oil)/(Total volume flow of water) EMAX.
With the default values of FWLOW and EMAX, 0.0 and 1.0 respectively, no such intermediate range is
defined.
A third option is also available: The user may specify a constant velocity difference between oil and
water. This is a special option that should only be used with great care in special cases for tuning
purposes.

Dispersion viscosities
With the dispersion viscosity option turned on (DISPERSIONVISC= ON), six different viscosity models
can be chosen: Pal & Rhodes, Rnningsen, Pal & Rhodes correlated with experimental data, Woelflin,
Barnea & Mizrahi or table based model.
The mixture viscosity for oil continuous dispersions (mhw) and water continuous dispersions (mwh) are
expressed as:
(a)
(b)
where mh [cP] is oil viscosity, mw [cP] is water viscosity and mrel [-] is relative viscosity (dispersion
viscosity / viscosity of continuous phase).
Pal & Rhodes and Pal & Rhodes correlated with experimental data:
One correlation for relative viscosities of liquid/liquid dispersions was developed based on a
generalization of Einsteins equation to also be valid for high concentrated dispersions. The correlation
was published by Pal and Rhodes (1989) /15/ and is primarily developed for dispersions where
coalescence and deposition has negligible influence on the pressure drop (and the apparent viscosity).
The equations below show the Pal & Rhodes correlations for relative viscosity of an oil continuous
dispersion (m
) and a water continuous dispersion (m
):
402 / 769

OLGA 7

dispersion (mrel,h) and a water continuous dispersion (mrel,w):


(c)

(d)

where

is the concentration of water droplets in the oil continuous dispersion, and


is the concentration of oil droplets in the water continuous dispersion. mrel is limited

upwards to 10000.
The parameter
is the dispersed phase volume fraction for which the relative viscosity mrel equals
100. Based on pipe flow experiments on stable oil continuous emulsions for different crude oils and
formation waters, the parameter
is set equal to 0.765 (Sntvedt et al., 1994). In the present
version of the model, this correlation and the correlation parameters are also applied for water
continuous dispersions using the analogous quantities. It is still left to investigate how to discriminate
between oil and water continuous dispersions.
With an experimental point, F rel (F h or F w depending on the inversion point) and mrel (mrel,w or mrel,h)
specified, the Pal & Rhodes method in Equations (c) and Equation (d) is rearranged to calculate the
value:
(e)

Equation (c) will then be used to calculate the water in oil dispersion viscosity. For oil in water
dispersion, Equation (d) is used. F rel is defined with the key PHIREL, mrel with the key VISCREL, and
the inversion point with the key INVERSIONWATERFRAC.
Rnningsen:
Another correlation for relative viscosities of an oil continuous dispersion is the correlation by
Rnningsen recommended for a shear rate of 500 1/s (2003) /17/:
(f)

where

mrel,h
= Relative viscosity (dispersion/oil)
T
= Temperature (deg C)
Fw
= Volume % of water dispersed in oil
Above the inversion point, the viscosity of the oil in water dispersion is assumed equal to the pure water
viscosity, when the Rnningsen method is applied.
The possibility to use a simple volume weighting with a tuning factor is also available.

mmix = (moil*(1-WATERCUT) + mwater* WATERCUT)*VISCMOD (g)


where the tuning factor VISCMOD can be specified through input as a tabulated function of WATERCUT.
403 / 769

OLGA 7

Woelflin:
A third option for the relative viscosity is given by

Defined by WATEROPTIONS DISPMODEL = WOELFLIN. Two parameters can be set with this model:
AWOELFLIN (default value 4.2) and BWOELFLIN (default value 2.5).
Barnea & Mizrahi:
For the Barnea & Mizrahi correlation, the relative viscosity is given by
where

Here c and d are the viscosities for the continuous and dispersed phases, respectively. The model is
activated with WATEROPTIONS DISPMODEL = BARNEA.
Table based model:
The final way of giving a dispersion viscosity correlation is to use the bable based model. This can be
defined by WATEROPTIONS DISPMODEL = INPUTVISC. The input is used as in this example:
WATEROPTIONS DISPMODEL=INPUTVISC, \
VISCMOD=(1,1.05,1.2,1.4,1.9,2.8,2.7,1.3,1.15,1.05,1)\,
WATERCUT=( 0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1),\,
WATERFLASH=ON, WATERSLIP=ON
Note that the "Table base model" should use WATERFLASH=ON and WATERSLIP=ON.

Flashing/condensation of water
With the water flash option turned on for standard simulations with PVT tables (FLASHMODEL =
WATER in the OPTIONS keyword) the amount of water that evaporate or condense is calculated by
OLGA under the assumption that the gas phase is always saturated with water vapour. The pressure
and temperature dependent mass fraction of water vapour in the gas phase at water saturation is
determined from the fluid properties table. If water properties are calculated by OLGA itself, water vapour
in the gas phase is assumed to be zero and FLASHMODEL = WATER is disregarded.
If the inhibitor tracking module is used (which uses PVT tables), it is not assumed that the gas phase is
saturated with water vapor, that is, the gas might be dry if there is no available water. In some instances,
therefore, inclusion of the inhibitor tracking option may provide more accurate calculation of the
distribution of water between phases.
WATERFLASH has no effect on Compositional Tracking simulations, in which case flashing of water is
decided by FLASHTYPE in COMPOPTIONS.

404 / 769

OLGA 7

Limitations
The three phase flash option is only valid when a three phase fluid property file is used.

405 / 769

OLGA 7

How to use
The following sections describe how to use the keys in the WATEROPTIONS keyword.

Calculation of velocity difference between water and liquid hydrocarbon


By default OLGA calculates the velocities of the oil and water fields separately (WATERSLIP = ON). If
WATERSLIP = OFF, oil and water are always assumed to flow as a homogeneous mixture with average
properties. Finally, the user may specify a constant velocity difference between oil and water with
WATERSLIP = CONSTANT. The velocity difference is the specified by the key
VELOCITYDIFFERENCE. This is a special option that should only be used with great care in special
cases for tuning purposes.
Dispersion viscosities
The water volume fraction at inversion point is determined by the key INVERSIONWATERFRAC (default:
INVERSIONWATERFRAC = 0.5).
If DISPERSIONVISC = ON, the dispersion viscosities are calculated according to the model specified in
the DISPMODEL key. If DISPERSIONVISC = OFF, the viscosities are read from the fluid property file
directly if WATERSLIP = ON. When WATERSLIP = OFF | CONSTANT, viscosities of liquids are
weighted according to volume fraction.
If DISPMODEL = PALRHODES, PHI100 must be given (default: PHI100 = 0.765). PHIREL and VISCREL
are required for the EXPERIMENT option (default: PHIREL = 0.765 and VISCREL = 100). The default
values for the EXPERIMENT option correspond to the standard PALRHODES model.
If DISPERSIONVISC = OFF and WATERSLIP = OFF, the volume weighting calculation of viscosities can
be tuned using the keys VISCMOD and WATERCUT. WATERCUT must be given as a list ascending
values for the water cut. For each value in WATERCUT a corresponding value for the viscosity tuning
factor must exist in the VISCMOD key.

Hints and tips


Water fractions in sources, wells and at boundaries (when using PVT tables) are specified either as the
mass fraction of liquid water relative to the total mass (flow) with the keyword WATERFRACTION or as
mass fraction of total water (liquid water plus the water vapour in the gas phase) with the keyword
TOTALWATERFRACTION. The water vapour fraction of the gas phase is taken from the fluid properties
table.
If TOTALWATERFRACTION is set to -1, its actual value is taken from the fluid properties table. With
FLASHMODEL = WATER this value is split into free water and water in gas according to the water mass
fraction in gas values from the fluid table, while with FLASHMODEL = HYDROCARBON the value is
interpreted as only free water (resulting in more free water than with FLASHMODEL = WATER).
The relations between the various mass fractions and mass flow for e.g. a mass source at a specific
temperature and pressure are then by definition:
Rs
Rswt
Rswv
Rsw
where
Rs
Rswt
Rswv
Rsw

= Ggas/Ghc
= Gw/Gtot
= Gwv/Ggas
= GwL/Gtot
- gas mass fraction
- total water mass fraction (TOTALWATERFRACTION)
- water vapor mass fraction (always from fluid table)
- liquid water mass fraction (WATERFRACTION)
406 / 769

OLGA 7

Gtot
Ghc
Gw
GwL
Ggas
Gwv

- source total mass flow rate


- source total mass flow rate exclusive of liquid water
- mass flow rate of total water (vapor + liquid)
- mass flow rate of liquid water
- mass flow rate of total gas (including any water vapor)
- mass flow rate of water vapor in the gas phase

Example: Assume a flowing mixture consisting of 50 kg/s gas (saturated with water), 30 kg/s of oil and
20 kg/s of aqueous phase. Furthermore, let the saturated gas flow include 1 kg/s of water. The various
mass fractions then become:
Rs = 50/(50+30) = 0.625
Rswt = (20+1)/(50+30+20) = 0.21
Rswv = 1/50 = 0.02
Rsw = 20/(50+30+20) = 0.20
Please observe that either TOTALWATERFRACTION (Rswt) or WATERFRACTION (Rsw) can be
specified for the same e.g. source. If WATERFRACTION is specified all the water in the e.g. source is
considered to be liquid water.
When modeling a three-phase mixture using PVT tables where you want to include the mass transfer
between the free water and the gas phase, the water option in OLGA must be used with FLASHMODEL
= WATER. This option is more important for gas production systems than for "normal" oil production
systems.
When using two-phase PVT tables in OLGA simulations, internal routines are used for the calculation of
water properties. The water vapour mass fraction, however, will be set to zero; all water in the
calculations will be free water. If the fluid temperature becomes sub-zero, the enthalpy and entropy are
extrapolated, meaning that the fluid is in thermal but not in chemical equilibrium (sub-cooled water, not
ice). This is consistent with the 3-phase PVT tables created by PVTsim.
The user should be aware that when performing standard simulations with PVT tables there is no
separate water vapour mass balance equation. For three phase simulations, the gas phase is assumed
to be saturated with water. The amount of water vapour is determined by the water vapour mass fraction
from the PVT table. Therefore, the total water mass could be in error for cases where e.g. the inlet total
water mass flow rate is not sufficient to saturate the gas at the water vapour mass fraction from the PVT
table. However, MEG tracking has a water vapour mass balance equation that makes it suitable for
simulating three phase systems where a detailed analysis of the water distribution is necessary (can be
used with no MEG).
When using compositional tracking, the water vapour will be taken into account depending on
FLASHTYPE in COMPOPTIONS.
For multiphase transport systems where liquid accumulation could represent a problem, it is
recommended to perform three phase flow computations with the water slip switched on.

407 / 769

OLGA 7

Wax deposition
The wax deposition module allows for modeling of wax precipitation and deposition of wax on the wall.
Wax precipitation is calculated based on a pre-calculated wax table containing data on each of the wax
forming components. The format of this file is described in Wax table file. The wax file can be
generated in PVTSim. Wax deposition will be calculated for all flow paths, but different wax data can be
given for each flow path.
See also:
When to use
Methods and assumptions
Limitations
How to use

408 / 769

OLGA 7

When to use
When case laboratory experiments indicates the presence of wax, and the wax appearance
temperature is within the temperature envelope encountered during pipeline operation.
Example cases:
a.

b.

During a system shut-in, when the temperature may fall under the wax appearance temperature
and wax solids starts to precipitate. This may cause both a reduction in effective pipe diameter
and a severe increase in oil viscosity. Gelling of the oil may occur at zero fluid velocity and
sufficiently low temperatures, making it difficult to restart the pipeline.
Production cases where low fluid temperatures occurs in the pipeline, where wax both deposits
at the wall and precipitates as particles suspended in the oil. Both diameter reduction due to the
wax layer at the wall and the effect of suspended wax particles on oil viscosity may significantly
increase pipeline pressure drop and thereby reduce the production capacity of a pipeline.

License requirements
The Wax Deposition Module requires a separate license.

409 / 769

OLGA 7

Methods and assumptions


The model takes into account the thermal-hydraulic effects of the wax in the following way:
1. Mass conservation equations are solved for
a. Wax dissolved in oil
b. Wax precipitated and dispersed in oil
c. Wax deposited at wall
2. Pipe diameter and roughness for each section is adjusted depending on the thickness of wax
deposited on the wall.
3. Heat balance for precipitation, deposition and melting of wax.
4. Volume change due to precipitation, deposition and melting of wax.
5. Wall heat transfer is adjusted to take the wax layer into account
6. Oil viscosity is adjusted to take into account any suspended (dispersed) wax
Wax precipitation and dissolution in bulk
Precipitation and dissolution/melting of dispersed wax are calculated from variations of the wax
component solubility with pressure and temperature. The solubility variations are taken from the wax
property tables.
Transport mechanisms from bulk to wall
Wax deposition can occur in two ways, either by diffusion of dissolved wax due to a temperature
difference between fluid and wall, or by transfer of precipitated wax due to shear.
The wax deposition rate due to molecular diffusion may be described by:
(a)
Where G [kg/(cm2s)] is the mass transfer rate of wax deposited and D [cm2/s] is the molecular diffusion
coefficient. The RRR and HEATANALOGY models are using the Hayduk & Minhas correlation. The
MATZAIN model is using the Wilke & Chang correlation. mfr [-] is the mass fraction of wax components,
roil [kg/cm3] is the oil density, and L [cm] is the thickness of the boundary flow layer. The boundary layer
is calculated differently for the different models activated through the key MODEL. In the RRR model,
the laminar velocity boundary layer is used. The HEATANALOGY model uses a laminar concentration
boundary layer based on the laminar thermal layer and the ratio of thermal vs. mass diffusivity (Lewis
number). The MATZAIN model uses the laminar thermal boundary layer and an adjustment constant to
enhance diffusion.
It is assumed that the precipitation rate at the wall is much quicker than the rate of wax transported to the
wall, so that all wax transported from bulk to wall immediately precipitates.
It is possible to adjust the diffusion coefficient for the wax components by using the key
DIFFCOEFFMULT. The value is directly multiplied with the diffusion coefficients calculated by the code.
The key may be applied for all deposition models.
Wax layer porosity (volume fraction of trapped oil in wax layer), [-], is taken into account when
calculating the wax layer thickness.
A model for shear stripping of wax is used as a wax deposition limiting effect in the MATZAIN and
HEATANALOGY models. The shear stripping terms are taken from the Matzain model /12/. The equation
for the rate of change in wax layer thickness is as follows:
410 / 769

OLGA 7

(b)

where C2 and C3 are the constants given in /12/. Values: C2 = 0.055 and C3 = 1.4.
is the
change rate due to diffusion, and porosity effects. The constant C1 = 15.0 from /12/ is included in
for the MATZAIN model only. NSR is a flow regime dependent Reynolds number /12/:

Where is the oil density [kg/m3], is the oil velocity [m/s], is the wax layer thickness [m],
is
the oil viscosity kg/(m s),
is the average density of the gas-oil mixture and is the liquid velocity.
It is possible to adjust the constants related to the shear stripping model by using the keys
SHEARMULTC2 and SHEARMULTC3. These are tuning parameters multiplied directly with C2 and C3 ,
respectively.
Shear deposition effects may be included by applying the key COEFSHEAR when using the RRR or
HEATANALOGY models. The deposition rate constant K* (=COEFSHEAR) determines the volume rate
of precipitated wax deposited due to shear by the following formula:

(c)
Where Cwall is the volume fraction of precipitated wax in the oil at the inner wall temperature, is the
shear rate at the wall [1/s], A is the surface area available for deposition [m2] and
is the average
3
density of the wax [kg/m ].
Transport mechanisms from wall to bulk (dissolution of wax layer)
Dissolution/melting of wax deposited on the wall may be activated separately through the keys
DISSOLUTION, DISSOLPRESS, DISSOLTDIFF and DISSOLRATE for the RRR model. The melting
process is calculated by the following method:
1. The dissolved wax concentration derivative with respect to temperature is found at the cloud point
for the pressure in the section.
2. The dissolved wax concentration at the wall is adjusted when the wall surface temperature is above
the dissolution temperature (found by applying DISSOLTDIFF). The adjustment is as follows:

where Cwax is the concentration of wax, TWS is wall surface temperature,


is the
concentration derivative with respect to temperature at the cloud point (see point 1), WDT is the
dissolution temperature:
WDT = WAP + DISSOLTDIFF
WAP is from the wax tables, while DISSOLTDIFF may be a constant or a function of the section
pressure (through the given DISSOLPRESS).
411 / 769

OLGA 7

pressure (through the given DISSOLPRESS).


3. The adjusted Cwax,wall is used in the normal diffusion equations where
Cwax,bulk- Cwax,wall is the driving potential of the diffusion process. When
Cwax,wall > Cwax,bulk , melting will occur.
4. The total dissolution and diffusion rate of wax from wall to bulk,
DISSOLRATE (kg/(m2s )):

, is limited upwards by

where is the mass diffusion rate based solely on the wax concentration differences between wall
and bulk (see point 3). The default value of DISSOLRATE is 1.0e+12, which means that there is no
limitation of the dissolution and molar diffusion rate. The reduction to DISSOLRATE is done so that
the mass fraction of the wax components transported by diffusion is kept constant.
Viscosity of wax/oil dispersions:
Calculation of the viscosity of the wax/oil dispersion is done by using a model supplied by Calsep A/S,
when using the key VISCOPTION = CALSEP. The current model is the same as used in PVTSIM 16.
The apparent viscosity of oil with suspended wax particles is calculated as follows:

(d)
where

is the viscosity of the oil not considering solid wax and

the volume fraction of precipitated

wax in the oil-wax suspension.


is the shear rate. The parameters D, E and F have the following
values (viscosities in Pa s and shear rates in s-1)
D=
E=
F=

18.12
405.1
7.876*106

In the PVTsim program from Calsep, it is possible to tune the wax-oil dispersion viscosity model to
measurements. The resulting tuning parameters may be given directly as input to OLGA when using the
Calsep viscosity model. Keys: VISCMULTD, VISCMULTE, VISCMULTF. These are multiplied with the D,
E and F parameters, respectively.
The shear rate used in the equation is limited to be 10 s-1 or larger to avoid division by zero. The
resulting viscosity, , is limited to be
or larger.
The influence of dispersed wax on the oil viscosity may also be given as a table (keys: VISCOPTION =
TABULAR, VISMULTIPLIER, WAXVOLFRACTION).
Wax layer properties:
One may also give information about the porosity (oil volume fraction) of the wax layer, the roughness
due to deposited wax (keys: WAXROUGHNESS and MAXROUGHNESS) and the thermal conductivity of
pure wax. The conductivity may be set manually in the input file by using CONDUCTOPT = MANUAL
and set CONDUCTIVITY, or it may be taken from the wax tables (CONDUCTOPT = TABLE).
The instantaneous porosity of wax added to the wax layer may be set as a constant
(INSTPOROSITYOPT = MANUAL, WAXPOROSITY between 0.0 and 1.0), or be calculated by the
code
412
/ 769

OLGA 7

(INSTPOROSITYOPT = MANUAL, WAXPOROSITY between 0.0 and 1.0), or be calculated by the code
(INSTPOROSITYOPT = AUTOMATIC, minimum and maximum limit given by MINPOROSITY and
MAXPOROSITY). The instantaneous porosity equation used by the code is as follows /12/:

(e)
where
is the porosity (volume fraction of oil in the wax film), is the oil density [kg/m3], is the
liquid velocity [m/s], is the inner pipe diameter including the wax layer [m] and
is the oil viscosity
kg/(m s).
The effect of ageing may also be included by using the keys AGEINGOPT=AGEING, AGEINGTIME,
INITPOROSITY and HARDPOROSITY. This activates a linear ageing model where the entries for
AGEINGTIME, INITPOROSITY and HARDPOROSITY are used to determine the derivative of porosity
with time. The porosity is averaged over the new layer and the old, aged layer at each time step.
The porosity of the wax layer is taken into account when calculating the thermal conductivity of the wax
layer. The conductivity is found by using the following equation [ref.13]

(f)
Where kdep is the overall thermal conductivity of the wax film, kwax is the conductivity of pure wax
(=CONDUCTIVITY in input), koil is the conductivity of oil and
is the weight fraction of solid wax in the
wax film.
.

413 / 769

OLGA 7

Limitations
Note: The wax deposition model cannot be used together with the slug tracking, compositional tracking
or the inhibitor tracking models. The steady state pre-processor will not consider the wax phase.

414 / 769

OLGA 7

How to use
Input
To use the wax deposition module, follow the steps below;
Step 1:
Generate a wax file and an OLGA PVT table in PVTsim.
When generating the OLGA PVT table, multiphase flashing (gas, oil, wax) should be used. The wax
phase will, however, normally not have a significant effect on the properties of the oil phase, apart from
the viscosity of the oil/wax dispersion, which is taken into account in the model.
Step 2:
Prepare the OLGA input using the following keywords;
OPTIONS to set WAXDEPOSITION = ON
OPTIONS TEMPERATURE = WALL
FILES WAXFILE to specify the file containing the wax data
WAXDEPOSITION to specify wax specific data for each flow path. Wax deposition may be calculated by
using one of the three following models:
RRR model /6/
HEATANALOGY model /14/
MATZAIN model, as described by Matzain et. Al, /12/
The required model is chosen by using the key MODEL in keyword WAXDEPOSITION.
BOUNDARY, WELL and/or SOURCE to specify WAXFRACTION. A scaling factor for determining
the amount of wax forming components relative to a HC mixture. The value must be in the range
[0,1]. If all inflow boundaries have WAXFRACTION = 1 (default value), the amount of wax in the
inflow will be according to equilibrium (specified in the wax data file).
TREND to print wax variables for given positions to a trend plot file
OUTPUT to print wax variables for a branch at given times to an output file
PROFILE to print wax variables for a branch at given times to a profile file

Output
The keywords TRENDDATA, PROFILEDATA and PLOT in the input file specifies the output from the
simulation.
The trend file (*.tpl), profile file (*.ppl) and plot file (*.plt) are used for plotting several variables related to
wax deposition:
The different was deposition variables are described in Waxdeposition Output Variables.
The trend file and profile file are text files that can be viewed in the OLGA GUI. The plot file is a binary
file that is viewed in a separate plotting tool called the OLGA Viewer. Due to the binary format this file
can use a shorter plotting interval and is useful for detailed analysis.
A sample case for wax deposition is described in Sample: Waxdeposition.

415 / 769

OLGA 7

Wells Module
The wells module provides the possibility of building virtual wells that can be used to analyse what if
case scenarios. This is especially useful for analyzing transient well behaviour such as start-up/shutdown, unstable flow, rate changes, well clean-up, well testing, liquid loading and chemical injection.
It also enables a full-field integrated modelling approach, where a combination of reservoir, well bore,
pipeline network and facilities simulators are used to construct an analytical model of the full field
production system.
An Wells Module is available for well flow applications where the reservoir properties and the inflow
relationships play an important role in the modeling. See The Wells Module for more details.
Please also see /36/ which covers different topics where the OLGA wells module could be used.
See also:
When to use
Methods and assumptions
Limitations
How to use

416 / 769

OLGA 7

When to use
The Wells module is suited for the following applications:
Start-up and shut down of production and well testing
Complicated production from several reservoir zones
Reservoir injection, e.g., water alternating gas injection (WAG)
Analyzing cross flow between different reservoir zones
Water cut limit
Flow from multilateral wells
Flow stability
Flow assurance (hydrates)
Gas lift requirements
Production optimization
Well test equipment sizing

License requirements
Production or injection flow equations other than linear, quadratic, or tabular are enabled by the Wells
Module that requires a separate license.

417 / 769

OLGA 7

Methods and assumptions


Well placement options
A well can be placed at the mid-point or the inlet (bottom) of the well section. When it is placed at the
inlet, the inlet or bottom hole flowing pressure is calculated by adding the hydrostatic pressure drop to
the pressure in the well section. If the well is placed at the mid-point of the section, the bottom hole
flowing pressure is equal to the pressure in the well section.
Phase fractions
For flows from the well section into the reservoir, the total mass flow is calculated with the gas mass flow
fraction equal to the gas mass fraction within the well section. For the flow from the reservoir into the
well section, the gas mass fraction of the oil and gas mixture of the well fluid, GASFRACTION, and water
mass fraction in the total mixture of the well fluid, WATERFRACTION (or TOTALWATERFRACTION) are
given. If GASFRACTION < 0 is given, the equilibrium gas mass fraction will be used. If the water option
is not used, WATERFRACTION should be zero (default value).

Options for calculating flow rate


Flow from reservoir into well
Two thermal options for calculating enthalpy inflow are available. The isothermal option assumes that
the fluid enters the well at the reservoir temperature, and reservoir fluid enthalpy is calculated on the
basis of reservoir temperature and well pressure. If the adiabatic option is used, the reservoir fluid
enthalpy is calculated on the basis of reservoir temperature and reservoir pressure. The fluid
temperature may change as the pressure decreases from the reservoir pressure to the pressure at the
well section due to constant enthalpy expansion and flashing.
The following three options are available for specifying the relationship between the mass flow rate and
the pressure difference (with the Wells Module seven new options are available see The Wells
Module).
1. Linear formula:

Gw = A + B( pR - pwf )

where Gw is the mass flow rate, pR the reservoir pressure, and pwf the bottom hole flowing pressure.
Constant B is defined as the productivity index. Constant A allows for a minimum pressure difference
required for the fluid to start to flow from the reservoir to the well and it must be less or equal to zero.
The inflow model Constant productivity index, Equation (g) in the Wells Module, can also be used for
linear inflow. This model is available for all users and is described in section Constant productivity
index.
2. Non-linear formula:

A + BGw + CGw2 = pR2 - pwf2

where A, B and C are constants. Constant A allows for a minimum pressure difference required for flow
to start from the reservoir to the well.
3. Tabular form (see keyword TABLE):
The table input option is made to support gas and water coning.
The relationship between the flow rate (or other well parameters) and the pressure difference is given by
a table. If the user does not give a zero flow point in the input, the program will automatically add a zero
point at zero pressure difference. For pressure differences within the range of the table, the flow rates
are calculated by a polynomial interpolation of second degree. For pressure differences larger than the
maximum value in the table, the flow rates are determined by a linear extrapolation using the tangent to
the quadratic curve at the end point of the table.

418 / 769

OLGA 7

the quadratic curve at the end point of the table.

Flow from the well into the reservoir


For negative flow from the well to the reservoir, the negative enthalpy source will correspond to the
pressure and temperature conditions in the well section.
The following three options are available for specifying the relationship between the mass flow rate and
the pressure difference.
1. Linear formula:

Gw = A + B( pwf - pR )

where Gw is the mass flow rate into the reservoir and constant B is the injectivity index. Constant A
represents the minimum pressure difference required for the fluid to start to flow from the well into the
reservoir and it must be less than or equal to zero.
The inflow model Constant productivity index, Equation (g) in the Wells Module, can also be used for
linear inflow. This model is available for all users.
2. Non-linear formula:

A + BGw + CGw2 = pwf2 - pR2

where A, B and C are constants. A is the minimum pressure required for flow to start from the well into
the reservoir.
3. Tabular form (see keyword TABLE):
The table input option is made to support gas and water coning.
The relationship between the flow rate (or other well parameters) and the pressure difference is given by
a table. If the user does not give a zero flow point in the input, the program will automatically add a zero
pressure difference. The interpolation and extrapolation procedure is the same as for flow from the
reservoir to the well.
Note: If equivalent pipe is used and there are wells in each parallel pipe, there are two ways to
prepare the data for these wells:
Give input data for each individual well.
Use a single equivalent well. Use one of the following procedures to construct data for the
equivalent well:
1. If the linear equation is used, the constants A and B for the equivalent well are:
A = NAi
B = NBi
where Ai and Bi are constants for each parallel well. N is number of parallel wells included in the
equivalent well.
2. If the non-linear equation is used, the constants A, B and C for the equivalent well are:
A = Ai
B = Bi/N
C = Ci/N2
419 / 769

OLGA 7

where Ai, Bi and Ci are the constants for each parallel well.
3. If the well performance is given by a table, the flow rate in the table is the sum of the flow rates of all
the parallel wells at the same pressure difference.
With the Wells Module seven new models for calculating the reservoir inflow are available. For these
models the reservoir performance can be specified through reservoir variables or from draw-down/buildup tests from the actual well, see The Wells Module for further information.

Dynamic Well Inflow


An option is available for simulating the dynamic characteristics of a well. For positive well flow, the
instantaneous flow rate for each phase, f, is calculated by

(a)
where qf is the instantaneous flow rate for phase f, qf is the steady-state flow with the bottom hole
flowing pressure at time t, and Tf is the time constant for the flow of phase f.
The steady-state flow for each phase is calculated by:
(b)
when the flowing pressure, Pwf, is less than a given threshold pressure, Plim,f. When Pwf is above
Plim,f,
Pwf.

will be set to zero. The productivity index, PIf, as well as the time constant Tf can change with

Numerically, Equation (b) is solved by

(c)
(d)
As an option, a transport delay can be modelled by specifying a certain distance that the front of phase f
must travel before the actual inflow can be started. This distance, hf,o, will be user determined.

(e)

(f)
If hf > hf,o, the flow rate into the well section is set to qf; otherwise, the flow rate into the well section is
set to zero.
The transient option is switched on if one or both of the time constants are greater than zero.
The transient option is only applied for positive flow (from the reservoir to the well section). For the
negative flow, the constants are assumed to be zero.
420 / 769

OLGA 7

negative flow, the constants are assumed to be zero.

The Wells Module


The Wells Module is designed for well flow applications where the reservoir properties and the inflow
relationships play an important role in the modelling.
The Wells Module will be especially well suited for the following applications:
Start-up and shut down of production and well testing.
Complicated production from several reservoir zones.
Reservoir injection, e.g. water alternating gas injection (WAG).
Analysing cross flow between different reservoir zones.
Flow from multilateral wells.

Reservoir inflow
In the Wells Module the reservoir performance is specified through permeability, extension of the
reservoir, fluid properties etc. or from draw-down/build-up tests from the actual well.
The reservoir inflow can be specified in a number of different ways depending on the type of reservoir
simulated. The different inflow performance models are presented below.

Constant productivity index


The linear form is used for the production of a typical oil reservoir, or as a first estimate when the
production curve for the well is not properly defined:
(g)
where pR is the static reservoir pressure, pwf is the flowing bottom hole pressure and J is the constant
productivity index given by:
Linear productivity (typical oil reservoir)
(h)
in oilfield units (stb/d/psi)
where
J
kh

n
Bo
re
rw
s

Productivity index [stb/d/psi]


Effective permeability x net pay [mD ft]
Oil viscosity [cP]
Oil formation volume factor [Rft3/Sft3]
Reservoir extension [ft]
Wellbore radius [ft]
Mechanical skin

Forchheimer and Single Forchheimer model


When the full production curve can be estimated and a constant PI is not applicable a quadratic form of
the relation between inflow and draw-down can be used, for example the Forchheimer model (see ref.
/1/):
421 / 769

OLGA 7

(i)
where B and C are the linear and non-linear part of the productivity index respectively defined by:
[psi2/(scf/d)]

(j)

[psi2/(scf2/d2)]
Where:
T
mg
z
re
rw
s
D
k
h

(k)

reservoir temperature [R] (RESTEMPERATURE)


gas viscosity at reservoir conditions [cP] (VISGRES)
Gas z-factor at reservoir conditions (ZFACT)
reservoir extension [ft] (RESEXT)
wellbore radius [ft] (HOLES/2)
mechanical skin [-] (SKINS)
non-Darcy or turbulence skin [1/Sft3/d] (SKIND)
reservoir permeability [mD] (KPERM)
well effective net pay [ft] (HPAY)

For high pressure gas wells with limited draw down, pressure can be used instead of pressure-squared,
in which case the Single Forchheimer equation is written:
,

(l)

where B and C are defined by:


[psi/(scf/d)]
[psi/(scf2/d2)]

(m)
(n)

where pav is defined as pav= (pR + pwf)/2.

Vogels equation
The following IPR equation, known as Vogels equation, was traditionally used for oil-well performance in
saturated oil reservoirs (see ref. /1/ ).

(o)
where q0,max is the theoretical maximum oil rate when flowing bottom hole pressure equals zero.

Backpressure and normalized backpressure equations


For gas wells the following simple equation is often used for the inflow performance (see ref. /1/ ).
,

(p)
422 / 769

OLGA 7

where C is defined by:


[scf/d/psi2n]

(q)

This equation is often referred to as the backpressure equation. The exponent n ranges in value from
0.5 to 1.0. A normalised form of this equation can be used for saturated oil wells:

(r)
where q0,max is the maximum oil rate when flowing bottom hole pressure equals zero.

Undersaturated oil wells


For oil wells producing from reservoirs with static reservoir pressure above the bubble point pressure,
the bottom hole flowing pressure might drop below the bubble point pressure during production. In these
cases the linear inflow relationship will not be sufficient alone to describe the inflow under varying
flowing pressures. The following two equations are therefore introduced:
for

(s)

for

(t)

where pb is the bubble point pressure.


Tabulated inflow performance curve
If neither of the above inflow performance curves nor the linear and non-linear option presented in this
section is applicable for the reservoir, a tabulated inflow curve can be specified by the user. See the
description in the beginning of this section.
Variable reservoir reference pressure
When a reservoir has been flowing for some time at high rates the reservoir pressure close to the well
can be reduced significantly. The initial static reservoir reference pressure is no longer applicable for
specifying the inflow from the zone and a reduced reference pressure is introduced.
For the model to take these local drawdown and build-up effects into account, the reservoir reference
pressure can be specified as a function of time by the user.
Injectivity index
The injectivity index is used for modelling of flow from the wellbore into the reservoir zone of gas,
hydrocarbon liquid or water. This option is for example used for pushing the gas back into the reservoir
during a work-over operation.
The injectivity index is adapted to specify the relation between the flow from the well into the reservoir
and the pressure build-up in the well. That is, when the bottom hole pressure exceeds the static
reservoir pressure an inflow into the reservoir will start depending on the injectivity index.
The inflow into the reservoir can be specified on the same form as the well production, but a different
relationship can also be used. In addition, a separate linear injectivity index can be used for the oil phase
or the water phase.
423 / 769

OLGA 7

or the water phase.


Fracture pressure
When the pressure in the wellbore exceeds a certain value above the static reservoir pressure the
formation will break down. The pressure required to burst the formation is called the fracture pressure.
When the pressure inside the wellbore exceeds this pressure small fractures will be created in the
formation resulting in a significant increase in injectivity, and the fluid in the wellbore will flow into these
fractures instead of flowing into the reservoir matrix.
By specifying the fracture pressure the user defines the maximum allowable pressure inside the
wellbore. In the Wells Module this is modelled by an "infinite" inflow into the reservoir zone.

424 / 769

OLGA 7

Limitations
The steady state pre-processor does not handle injection wells. For these cases a solution with source
close to 0 is found as input to the dynamic solver.

425 / 769

OLGA 7

How to use
Standard and advanced well feature
There are two ways of specifying the data for flow between the reservoir and the well. You may either
specify the coefficients used in the inflow correlations directly, or you may specify traditional
well/reservoir variables like permeability and net pay.
In the standard well for OLGA the coefficients used in the inflow correlations is specified directly. Three
options are available for specifying the relationship between the mass flow rate and the pressure
difference, a linear formula, a non-linear formula and a tabular form. Please see Methods and
Assumption description for more details.
The Wells Module is designed for well flow applications where the reservoir properties and inflow
relationships play an important role in the modeling. In the Wells Module the reservoir performance is
specified through permeability, extension of reservoir, fluid properties etc. The well/reservoir variables
are translated into the coefficients used in the inflow correlations. The volume flow q is a function of the
bottom hole pressure pwf, the reservoir pressure pR, and the computed coefficients used in the inflow
correlations. The coefficients used in the inflow correlations may also be given directly.
There are several different inflow models implemented in the Wells Module e.g. Forchheimer, Vogels and
Backpressure. Please see Methods and Assumption for more information.

Input
The keyword WELL is used to define required data for calculating the flow performance of wells.
Keyword dependencies: BRANCH, GEOMETRY, OPTIONS, POSITION, FEED
Required keys: LABEL, INJOPTION, PRODOPTION, RESPRESSURE, RESTEMPERATURE,
ISOTHERMAL, LOCATION (Default values can be used if specified)
Either the key ABSPOSITION or POSITION or the keys PIPE and SECTION is used to locate the well.
The production and the injection models are specified through the keys PRODOPTION and INJOPTION
with the following values available:
LINEAR
QUADRATIC
TABULAR
FORCHHEIMER (The Forchheimer model)
SINGLEFORCHHEIMER (Forchheimer with pressure instead of pressure squared)
VOGELS (The Vogels equation for saturated oil reservoirs)
BACKPRESSURE (The Backpressure equation for oil and gas wells)
NORMALIZEDBACKPR (Normalized backpressure for saturated oil wells)
UNDERSATURATED (Under saturated oil wells)
For advanced well inflow types the coefficients could be given directly by using the keys BINJ, CINJ,
BPROD, CPROD and EXPONENTN or by setting
the reservoir variables through using some of the keys BOOIL, BPPRESSURE, FRACPR, GASINJ,
HOLES, GASINJ, HPAY, INJECTIVITY, INJPOSTFRACFACTOR, INJPREFRACFRATOR,
INJTHRESHOLD, KPERM, OILINJ, PHASE, PRODI, PRODPOSTFRACFACTOR,
PRODPREFRACFACTOR, QMAX, RESEXT, SKIND, SKINS, VISGRES, VISLRES, WATINJ and ZFACT.
Which key to use for the different well flow models will be highlighted in the GUI interface.

426 / 769

OLGA 7

When using the standard well in Olga the key GASFRACTION, and WATERFRACTION or
TOTALWATERFRACTION is the one to use since AINJ, BINJ, APROD and BPROD then are mass
based. Values from PVT table is used when GASFRACTION and TOTALWATERFRACTION is set to -1
in the input.
With the advanced well inflow types the key GORST and WATERCUT is appropriate to use since AINJ,
BINJ, APROD and BPROD then are volume based. WATERCUT is calculated from PVT table if set to -1
in the input.
If COMPOSITIONAL = ON in OPTION then either the key FEEDMASSFRACTION or
FEEDMOLEFRACTION is used.
If COMPOSITIONAL = BLACKOIL in OPTION then the key FEEDVOLFRACTION is used.
Be aware of that you may not get as output the fractions or water cut specified for the well since this
depend on that there are enough content of the specified phases in the well.
Please see the keyword Well description for more details.

Output
The keywords TREND and PROFILE in the input file specify the output from the simulation.
The resulting trend file (*.tpl) and profile file (*.ppl) are used for plotting several Well variables (same
variables for Advanced and Standard well):
Mass rates for each phase (gas, oil and water)
Steady-state mass rates for each phase
Total mass rate for the liquid phase and all phases
Cone front for each phase
Enthalpy for the well
Please see the Well variables for more details.

427 / 769

OLGA 7

REFERENCES
Referenced papers
1. H.B. Bradley:
Petroleum Engineering Handbook.
Society of Petroleum Engineers, 1987
2. A.T. Bourgoyne, K.K. Millheim, M.E. Chenevert, and F.S. Young:
Applied Drilling Engineering.
Society of Petroleum Engineers, 1991
3. R.E. Henry and H.K. Fauske:
The two-phase critical flow of one-component mixtures in nozzles, orifices and short tubes.
Journal of Heat Transfer, May 1971, p. 179-187
4. Terje Straume, Magnus Nordsveen and Kjell Bendiksen:
Numerical simulation of slugging in pipelines.
ASME Symposium on Multiphase Flow in Wells and Pipelines, Anaheim, CA (1992)
5. M. Nordsveen, R. Nyborg, L. Hovden:
Implementation of CO2 corrosion models in the OLGA three-phase flow code.
BHR Group 1999 Multiphase 99, ISBN 1 86058 212 5
6. O.B. Rygg, A.K. Rydahl and H.P. Rnningsen
Wax Deposition in offshore pipeline systems
BHRGroup Multiphase Technology, Volume 31, Banff, Canada, June 1998
7. Calsep: PVTSIM Method documentation:
Modelling of wax formation -> Viscosity of oil-wax suspensions.
8. Rolf Nyborg, Peter Andersson and Magnus Nordsveen:
Implementation of CO2 Corrosion Models in a Three-Phase Fluid Flow Model.
CORROSION/2000, Paper No. 48 (Houston, TX: NACE International, 2000)
9. E.F. Caetano, O. Shoham and J.P. Brill:
Upward Vertical Two-Phase Flow Velocity and Flow Through an Annulus. Part I: Single-Phase Friction
Factor, Taylor Bubble Rise Velocity and Flow Pattern Prediction. Part II: Modelling Bubble, Slug and
Annular Flow.
BHRA, Multi-Phase Flow - Proceedings of the 4th International Conference, Nice, France, pp. 301-362,
1989
10. O.B. Rygg, J. D. Friedmann and J. Nossen:
Advanced well flow model used for production, drilling and well control applications.
IADC Well Control Conference for Europe, Aberdeen, May 1996
11. A. H. P. Skelland:
Non-Newtonian Flow and Heat Transfer.
John Wiley & Sons, New York, 1967
12. Matzain, Zhang, Volk, Redus, Brill, Apte and Creek:
Multiphase flow wax deposition modelling.
Proceeding ETCE, February 2001, Houston USA
13. Singh,Venkatesan,Fogler, Nagarajan:
Formation and Aging of Incipient Thin Film Wax-Oil Gels.
428 / 769

OLGA 7

AIChE Journal, Vol. 46, No. 5.


14. Incropera & DeWitt:
Fundamentals of Heat and Mass Transfer.
4th ed., ISBN 0-471-30460-3
15. Pal, R., Rhodes, E.:
Viscosity/Concentration Relationships for Emulsions.
J. of Rheology, Vol. 33, no. 7, pp. 1021-1045 (1989)
16. Rnningsen, H. P.:
Correlations for Predicting Viscosity of W/O Emulsions based on North Sea Crude Oils.
SPE Paper 28968, presented at the SPE International Symposium on Oilfield Chemistry, San Antonio,
Texas, US, February 14-17, 1995
17. Rnningsen, H. P.:
Viscosity of live water-in-crude-oil emulsions: experimental work and validation of correlations.
J. of Petroleum Science and Engineering 38, pp. 23-26 (2003)
18. Stein Olsen and Arne Dugstad:
Corrosion under Dewing Conditions
CORROSION/91, Paper No.472, NACE, 1991
19. Hammerschmidt, E.G.:
Gas Hydrate Formations: A Further Study on Their Prevention and Elimination from Natural Gas Pipe
Lines.
GAS, Vol. 15, no. 5, pp. 30-35, May 1939
20. Winkler, H.W. and Eads, P.T.:
Algorithm for More Accurately Predicting Nitrogen-Charged Gas-Lift Valve Operation at High Pressures
and Temperatures.
SPE 18871, March 1969
21. Pedersen, K. S., and Rnningsen H. P.:
Effect of precipitated wax on viscosity
Presentation at AIChE Spring National Meeting, Houston, TX, March 14-18, 1999.
22. Darby R., Melson J.:
How to predict the friction factors for flow of Bingham plastics
Chemical Engineering, December 28, 1981
23. White, F.M.:
Fluid Mechanics
2nd ed., ISBN 0-07-066525-7
24. Turian, R.M., Hsu, F.L. and Ma, T.W.:
Estimation of the Critical Velocity in Pipeline Flow of Slurries
Powder Technology, 51, pp 35-47, 1987
25. Krieger, I.M. and Dougherty, T.J.:
A mechanism for Non-Newtonian Flow in Suspensions of Rigid Spheres
Trans. Soc. Rheol. III 137-152., 1959
26. Thomas, A.D.:
Slurry Pipeline Rheology
429 / 769

OLGA 7

2nd Conference on Rheology, Sydney, Australia.


27. Lasater, J. A.:
Bubble Point Pressure Calculation
Trans. ANIME (1958), 379.
28. McCain W. D.:
The properties of petroleum fluids.
PennWell P. C. 1990
29. Vazquez and Beggs:
Correlations for Fluid Physical Property Prediction
M.S. Thesis, Tulsa Univ. 1976.
30. Glaso, Oistein.:
Generalized Pressure-Volume-Temperature Correlations
Journal of Petroleum Technology, pp. 785-795, May 1980.
31. Katz D. L.
Handbook of natural gas engineering.
McGRAW-Hill 1959
32. Campbell J. M.
Gas conditioning and processing, vol 1.
John M. Campbell and Company, 1966-1998
33. Baker O. and Swerdloff W.:
Finding surface tension of hydrocarbon liquids.
Oil and Gas Journal, Jan. 2., 1956.
34. Selmer-Olsen, S., Holm, H., Haugen, K., Nilsen, P. J. and Sandberg, R.,
Subsea Chokes as Multiphase Flowmeters. Production Control at Troll Olje.
Proc. 7th Int. Conf. on Multiphase Production, BHR Group, Wilson, A. (ed.)
Cannes 7-9 June 1995, pp. 441-446
35. The Properties of Gases & Liquids Fourth Edition, Reid, R.C., Prausnitz, J.M. and Poling, B.E.
36. Juan Carlos Mantecon, SPT Group: SPE 109829: The Virtual Well: Guidelines for the Application of
Dynamic Simulation to Optimise Well Operations, Life Cycle Design and Production
Non-referenced papers describing the OLGA model:
Bendiksen, K.H., Malnes, D., Moe, R. and Nuland, S.: The Dynamic Two-Fluid Model OLGA: Theory
and Application. SPE Production Engineering, May 1991, pp. 171-180
Rygg, O.B. and Ellul, I.R.: The Dynamic Two-Phase Modeling of Offshore Live Crude Lines Under
Rupture Conditions. OTC 6747, presented at the 23rd annual Offshore Technology Conference,
Houston, U.S.A (May 16-9, 1991)
Shea, R.H., Rasmussen, J., Hedne, P. and Malnes, D.: Holdup predictions for wet-gas pipelines
compared. Oil & Gas Journal, May 19, 1997
Non-referenced papers describing applications of the OLGA model:
Burke, N.E. and Kashou, S.F.: Slug Sizing/Slug Volume Prediction, State of the Art Review and
Simulation, OTC 7744, presented at the 27th annual Offshore Technology Conference, Houston, U.S.A
(May 1-4, 1995)
430 / 769

OLGA 7

Burke, N.E., Kashou, S.F. and Hawker, P.C.: History Matching of a North Sea Flowline Startup. Journal
of Petroleum Technology, May 1993, pp. 470-476
Courbot, A.: Prevention of Severe Slugging in the Dunbar 16" Multiphase Pipeline. OTC 8196,
presented at the 28th annual Offshore Technology Conference, Houston, U.S.A (May 6-9, 1996)
Erickson, D.D. and Mai, M.C.: A Transient Multiphase Temperature Prediction Program. SPE 24790,
1992, Presented at the 6th Annual Technical Conference and Exhibition of the SPE, Washington, D.C.,
October 4-7, 1992
Flaten, G., Nunes, G.C. and Assayaga, S.: Evaluation of the dynamic flow behavior for the Petroboost
system. Presented at the 8th Int. Conf. on Multi-Phase Production, Cannes, 1997, BHR Group
Conference Series No. 24, pp. 185-198
Hustvedt, E.: Determination of Slug Length Distribution by the Use of the OLGA Slug Tracking Model.
Presented at the 6th Int. Conf. on Multi-Phase Production, Cannes, 1993, BHR Group Conference
Series No. 4, pp 147-163
Hrdig, A. and Moe, R.: Dynamic simulations of multiphase flow in flowline bundles on sgrd.
Presented at the 8th Int. Conf. on Multi-Phase Production, Cannes, 1997, BHR Group Conference
Series No. 24, pp. 275-289
Klemp, S., Meland, B., and Hustvedt, E.: Operational experiences from multiphase transfer at Troll.
Presented at the 8th Int. Conf. on Multi-Phase Production, Cannes, 1997, BHR Group Conference
Series No. 24, pp. 477-496
Lingelem, M.N.: TOGI Multiphase Flow From Troll to Oseberg. OTC 6670, presented at the 23rd annual
Offshore Technology Conference, Houston, U.S.A (May 16-9, 1991)
Mazzoni, A., Villa, M., Bonuccelli, M., De Toma, G., Mazzei, D., and Crescezi, T.: Capability of the OLGA
Computer Code to Simulate Measured Data From AGIP Oil Field. Presented at the 6th Int. Conf. on
Multi-Phase Production, Cannes, 1993, BHR Group Conference Series No. 4
Mazzoni, A. and Bonuccelli, M.: OLGA and WOLGA dynamic codes validation with Trecate test loop
three-phase transient data. Presented at the 8th Int. Conf. on Multi-Phase Production, Cannes, 1997,
BHR Group Conference Series No. 24, pp. 257-274
Rygg, O.B., Friedemann, J.D. and Nossen, J.: Advanced Well Flow Model Used for Production, Drilling
and Well Control Applications. Presented at The IDAC Well Control Conference for Europe, Aberdeen,
May 22-24, 1996
Straume, T., Nordsveen, M. and Bendiksen, K.: Numerical Simulation of Slugging in Pipelines, ASME Int.
Symp. On Multiphase Flow in Wells and Pipelines, Anaheim, 8-13 Nov., 1992
Xu, G.Z., Gayton, P., Hall, A. and Rambaek, J.: Simulation study and field measurement for mitigation of
slugging problem in The Hudson Transportation lines. Presented at the 8th Int. Conf. on Multi-Phase
Production, Cannes, 1997, BHR Group Conference Series No. 24, pp. 497-512
Xu, Z.G.: Solutions to Slugging Problems Using Multiphase Simulations.

431 / 769

OLGA 7

Keywords
ABCDEFGHIJKLMNOPQRSTUVWXYZ

A
ALGEBRAICCONTROLLER
AMBIENTDATA
ANNULUS
ASCCONTROLLER

B
BLACKOILCOMPONENT
BLACKOILFEED
BLACKOILOPTIONS
BRANCH

C
CASCADECONTROLLER
CASE
CHECKVALVE
COMPOPTIONS
COMPRESSOR
COMPONENT
CORROSION

D
DRILLINGFLUID
DTCONTROL

E
ESDCONTROLLER

F
FEED
FILES
FLOWPATH
FLUID
FLUIDBUNDLE

G
GEOMETRY

H
HEATEXCHANGER
HEATTRANSFER
HYDRATECHECK
432 / 769

OLGA 7

HYDRATECURVE
HYDRATEKINETICS

I
INITIALCONDITIONS
INTEGRATION

L
LEAK
LOSS

M
MATERIAL
MANUALCONTROLLER

N
NEARWELLSOURCE
NODE

O
OPTIONS
OUTPUT
OUTPUTDATA
OVERRIDECONTROLLER

P
PHASESPLITNODE
PIDCONTROLLER
PIG
PIPE
PLOT
POSITION
PROFILE
PROFILEDATA
PSVCONTROLLER
PUMP

R
RESTART

S
SCALERCONTROLLER
SELECTORCONTROLLER
SEPARATOR
SHAPE
SINGLEOPTIONS
SLUGILLEGAL
433 / 769

OLGA 7

SLUGTRACKING
SLUGTUNING
SOLIDBUNDLE
SOURCE
STDCONTROLLER
SWITCHCONTROLLER

T
TABLE
TABLECONTROLLER
TIMESERIES
TOOLJOINT
TRACERFEED
TRANSMITTER
TREND
TRENDDATA
TUNING

V
VALVE

W
WALL
WATEROPTIONS
WAXDEPOSITION
WELL

434 / 769

OLGA 7

CASE (on CASELevel)


Description ( See also: Keys)
Defines information about a simulation.

CASE (on CASELevel) Keys ( See also: Description )


Key
AUTHOR
DATE
INFO
PROJECT
TITLE

Type

Parameter set

Unit:( )

Default:[ ]

String
String
String
String
String

Description
Author of the input file.
Date.
General information about the case.
Project name.
Case title.

Link to: CASE (on CASELevel) Description Keys

435 / 769

OLGA 7

DTCONTROL (on CASELevel)


Description ( See also: Keys)
This statement defines a switch for stability control.
See restrictions and limitations for more information.

DTCONTROL (on CASELevel) Keys ( See also: Description )


Type

Parameter set

Unit:( )

Default:[ ]

CFL

Symbol

OFF | [ON]

CFLFACTOR

Real

[0.8]

Key

GRADPRESSURE Symbol

ON | [OFF]

PREFACTOR

Real

[0.8]

PRESSURE

Symbol

ON | [OFF]

SOUND_CFL

Symbol

ON | [OFF]

Description
The Courant-Friedrichs-Lewy (CFL)
criterion based on the flow velocity.
Tuning factor for the CFL time-step.
Time-step control based on the first-order
derivative of pressure w.r.t. time.
Tuning factor for pressure criterion.
Time-step control based on the secondorder derivative of pressure w.r.t. time.
Time-step control based on the speed of
pressure waves.

Link to: DTCONTROL (on CASELevel) Description Keys

436 / 769

OLGA 7

FILES (on CASELevel)


Description ( See also: Keys)
This statement defines the additional input files, e.g., PVT table files for fluid properties, pump
data table files, compressor table files, feed file for the compositional tracking model and wax
file for the wax deposition model.
Note: several files can be listed for COMPRESSORFILE, PUMPFILE and PVTFILE.
For definition of a restart file, click here.
If drilling fluids are used and the fluid properties are given in files, these are specified as additional
files in the PVTFILE key.

FILES (on CASELevel) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

COMPRESSORFILE StringList

FEEDFILE

String

PUMPFILE

StringList

PVTFILE

StringList

WAXFILE

String

Description
Name of COMPRESSOR file(s). The files
can contain several compressors each.
Name of FEED file (used by the
compositional tracking module). Note that
only one file may be specified, however one
file can contain several feeds.
Name of PUMP file(s). Each file can contain
only one pump.
Name of the file(s) containing fluid
properties.
Name of the file containing the WAX table.
Note that only one wax table can be
specified for the time being. See user
manual for details.

Link to: FILES (on CASELevel) Description Keys

437 / 769

OLGA 7

INTEGRATION (on CASELevel)


Description ( See also: Keys)
This statement defines the start and end times of the simulation. It also defines the start value, the
maximum value and the minimum value of the time step.
A controller can be used to setup a conditional stop of the simulation before the specified end time.
The simulation stops when the signal from the controller is zero.

INTEGRATION (on CASELevel) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

DTSTART

Real (s)

ENDCONTROLLER

Symbol

ENDTIME

Real (s)
RealList
(s)
RealList
(s)
RealList
(s)
RealList
(s)

MAXDT
MAXTIME
MINDT
MINTIME

RUNTIMESTEPAGAIN Symbol
STARTTIME

Real (s)

Description
Initial time-step.
Label of the controller determining
conditional termination of the simulation.
Simulation end time.

[1.0]

Largest time-step allowed.

[0.0]

Timetable for changing MAXDT.

[0.001]

Smallest time-step allowed.

[0.0]

Timetable for changing MINDT.

FALSE |
[TRUE]

Select whether or not to recompute the


time-step if the first-stage solution is
unsatisfactory.
Simulation start time.

Link to: INTEGRATION (on CASELevel) Description Keys

438 / 769

OLGA 7

OPTIONS (on CASELevel)


Description ( See also: Keys)
This statement specifies the different calculating options to be applied in the simulation.
OPTIONS is a required keyword.

OPTIONS (on CASELevel) Keys ( See also: Description )


Type

Parameter set

Unit:( )

Default:[ ]

COMPOSITIONAL

Symbol

ON | MEG | MEOH
| ETOH |
BLACKOIL |
STEAMWATER-HC
| SINGLE | [OFF]

DEBUG

Symbol

ON | LIMITED |
[OFF]

DRILLING

Symbol

ON | [OFF]

FLASHMODEL

Symbol

HYDROCARBON |
[WATER]

HYDSLUG

Symbol

OFF | [ON]

MASSEQSCHEME

Symbol

2NDORDER |
[1STORDER]

NOSLIP

Symbol

ON | [OFF]

Key

Description
OFF: No compositional tracking, just use
the fluid table. ON: Enable compositional
tracking. MEG/MEOH/ETOH: Use Inhibitor
tracking with the given component.
BLACKOIL: Use Black oil model.
STEAMWATER-HC: Use steam model.
SINGLE: Use single-component model
Turn on or off printing of time step
information to standard output. DEBUG =
OFF reports only essential warnings.
DEBUG = ON will report all informative
messages and can slow down simulation
significantly. DEBUG = LIMITED will be
more silent about fluid table warnings and
some informative messages, but otherwise
report the same as DEBUG = ON.
Set it to ON for simulation drilling process
Mass transfer model. WATER: Mass
transfer between gas-oil and gas-water.
HYDROCARBON: Only mass transfer
between gas-oil.
This key (HYDSLUG) makes it possible to
turn off the distributed flow regimes
(hydrodynamic slug flow and dispersed
bubble flow). HYDSLUG OFF will enforce
stratified or annular flow (both including
liquid droplets).
Discretization scheme used for solving the
mass equations. For further details, see
User's manual.
OFF: Slip between phases is calculated
(recommended). ON: Should only be used
for sensitivity simulations. The gas and
liquid (oil and water) is treated as one single
homogenized phase in the pressure drop
and momentum calculations. The other
calculations, mass conservation, mass
transfer, etc, will be as for a normal
simulation with slip. The no-slip option is
implemented in both the steady state pre-

439 / 769

OLGA 7

PHASE

Symbol

[THREE]

SLUGVOID

Symbol

AIR | [SINTEF]

STEADYSTATE

Symbol

OFF | NOTEMP |
[ON]

TABLETOLERANCE Symbol

ON | [OFF]

TEMPERATURE

ADIABATIC |
UGIVEN | OFF |
FASTWALL |
[WALL]

Symbol

TRACERTRACKING Symbol
WAXDEPOSITION
Symbol

ON | [OFF]
ON | [OFF]

WRITEPVTFILES

YES | [NO]

Symbol

implemented in both the steady state preprocessor and the dynamic code.
Define the number of phases to be
simulated. In OLGA 6 the only option is
THREE.
Select correlations for determining gas
volume fraction in liquid slugs.
Turns off the initial value (steady state) preprocessor or only turn off the temperature
calculation in the pre-processor.
Define the upper and lower limits of
pressure and temperature allowed in the
simulation. OFF: The limits will be the ones
specified in the fluid tables (recommended).
ON: This option should only be used when
old PVT files with too narrow
pressure/temperature ranges cannot be
reproduced and improved. See User's
manual for further information.
Specify the desired temperature calculation
option. OFF: No temperature calculation,
initial values are used. ADIABATIC: No
energy exchange with the walls. Adiabatic
flow is assumed. UGIVEN: Total heat
transfer coefficient for the pipe-wall is given.
No wall temperatures are calculated. WALL:
Heat transfer on wall inside and outside,
wall heat conduction and heat storage is
accounted for. FASTWALL: Same as option
WALL except that heat storage is neglected.
This option is used for a fast approach to
steady state thermal conditions.
Switch for using tracertracking
Switch wax deposition model on or off.
For STEAMWATER-HC and SINGLE only.
YES: PVT table file(s) and saturation line
file are written for steam and single
component properties.

Link to: OPTIONS (on CASELevel) Description Keys

440 / 769

OLGA 7

RESTART (on CASELevel)


Description ( See also: Keys)
The restart statement defines a restart of the program from a previous run. The restart file contains
data necessary to restore the state of the simulation engine from a previous run. Unlike earlier
versions of OLGA, OLGA 6 will not contain a complete snapshot of the in-memory data structures.
This means in particular that the original input file has to be read to get information about e.g. the
pipe line, sources, walls, time integration, and output information. The content of the restart file can
be thought of as specialized initial conditions, but with more information than the standard user
specified initial conditions.
Please note that it is not allowed to change any geometry data in a restart run. E.g all pipes must
have the same number of sections, section lengths, elevations and diameters. Nodes must have
the same connections. Walls and materials must be the same. The setting for component tracking
(keyword OPTIONS, key COMPOSITIONAL) cannot be changed.
By default, without using the RESTART keyword, a restart file is written at the end of the
simulation. To save restart files generated at other times, either of the keys DTWRITE or
WRITETIME can be used.
Several actions, such as activate/deactivate SLUGTRACKING, change valve openings, modify
controller settings etc. may be performed in a restart.
Discrepancies between the original and the restart case will be reported as info messages when
the restart case is started. Watch out for these to catch any unintended effects in the restart run
(e.g. a missing source or something else that will influence results).

RESTART (on CASELevel) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

DTWRITE

Real (s)

FILE

String

READFILE

Symbol

READTIME

Real (s)

WRITE

Symbol

WRITETIME

RealList
(s)

Description

ON | [OFF]

APPEND | OFF |
[OVERWRITE]

Define the time interval at which to write


restart data to file.
The name of the restart file from which to
restart the simulation.
ON: Enable reading of the restart file. OFF:
Restart is disabled.
Time in previous simulation at which the
state is read in order to restart this
simulation (only one time point is allowed).
OVERWRITE: Replace any existing restart
file with the current data. APPEND: Add
data to an existing restart file. OFF: No
restart data is written to file.
A specific time or time series when restart
data is written to the restart file.

Link to: RESTART (on CASELevel) Description Keys


441 / 769

OLGA 7

BLACKOILCOMPONENT (on CASELevel)


Description ( See also: Keys)
This statement defines a component (gas, oil or water) for the black oil options.

BLACKOILCOMPONENT (on CASELevel) Keys ( See also: Description )


Key

Type
Unit:( )

APIGRAVITY

Real

CO2MOLEFRACTION

Real

GASSPECIFICGRAVITY

Real

H2SMOLEFRACTION

Real

LABEL

String

N2MOLEFRACTION

Real

OILSPECIFICGRAVITY

Real

TYPE

Symbol

WATERSPECIFICGRAVITY Real

Parameter
set

Description

Default:[ ]
API gravity. API = 141.5/(oil specific gravity)
131.5. Cannot be given if
OILSPECIFICGRAVITY is given.
Mole fraction of CO2 in gas at standard
[0.0]
conditions. CO2MOLEFRACTION has to be
less than 10%.
Gas specific gravity (gas density/air
[0.64]
density). GASSPECIFICGRAVITY has to be
larger than 0.5 (0.55 is pure methane).
Mole fraction of H2S in gas at standard
[0.0]
conditions. H2SMOLEFRACTION has to be
less than 10%.
[BOCOMP-1] Name of the blackoil component.
Mole fraction of N2 in gas at standard
[0.0]
conditions. N2MOLEFRACTION has to be
less than 10%.
Oil specific gravity (oil density/water
[0.876]
density). Cannot be given if APIGRAVITY is
given.
OIL | GAS | Define if the component is an oil, Gas or
WATER
water component.
Water specific gravity (water density/fresh
water density). Used in order to include
[1.0]
density effect on water due to components
other than salt, e.g. MEG.
[30]

Link to: BLACKOILCOMPONENT (on CASELevel) Description Keys

442 / 769

OLGA 7

BLACKOILFEED (on CASELevel)


Description ( See also: Keys)
This statement defines a black oil feed.

BLACKOILFEED (on CASELevel) Keys ( See also: Description )


Key

GASCOMPONENT
GLR
GOR
LABEL
LGR
OGR
OILCOMPONENT

Type
Unit:( )
Symbol
Real
(Sm3/Sm3)
Real
(Sm3/Sm3)
String
Real
(Sm3/Sm3)
Real
(Sm3/Sm3)
Symbol

WATERCOMPONENT Symbol
WATERCUT

Real

Parameter
set

Description

Default:[ ]
Ref. to blackoil component label of type
gas.
Gas/liquid ratio. Alternative to GOR.
Gas/oil ratio. Alternative to GLR.
[BOFEED-1] Blackoil feed label.
Liquid/gas ratio. Alternative to GLR (to be
used for gas feeds).
Oil/gas ratio. Alternative to GOR (to be used
for gas feeds).
Ref. to blackoil component label of type oil.
Ref. to blackoil component label of type
water.
[0.0]
Watercut.

Link to: BLACKOILFEED (on CASELevel) Description Keys

443 / 769

OLGA 7

BLACKOILOPTIONS (on CASELevel)


Description ( See also: Keys)
This statement defines the black oil options.

BLACKOILOPTIONS (on CASELevel) Keys ( See also: Description )


Key

Type
Unit:( )

APIGRAVITY

Real

BUBBLEPRESS

Real (Pa)

BUBBLETEMP

Real (C)

GASSPECIFICGRAVITY Real
GOR

Real
(Sm3/Sm3)

GORMODEL

Symbol

OILSPECIFICGRAVITY

Real

OILVISC-TUNING

Real (Ns/m2)
Symbol

RSGO_BP-TUNING

Symbol

VISCPRESS

Real (Pa)

VISCTEMP

Real (C)

OILVISC

Parameter
set

Description

Default:[ ]
API gravity. API = 141.5/(oil specific gravity)
131.5. Cannot be given if
OILSPECIFICGRAVITY is given.
Bubble pressure at a given temperature.
The temperature corresponding to the
bubble pressure.
Gas specific gravity (gas density/air
density). GASSPECIFICGRAVITY has to be
larger than 0.5 (0.55 is pure methane).
Gas/oil ratio. The GOR should not be larger
than 1000 Sm3/Sm3.
STANDING |
BEGGS |
Correlation used to calculate the gas/oil
GLASO |
ratio.
[LASATER]
Oil specific gravity (oil density/water
density). Cannot be given if APIGRAVITY is
given.
Measured oil viscosity at a given pressure
and temperature.
ON | [OFF] Enable tuning of oil viscosity.
Enable tuning of RSGO (gas dissolved in
ON | [OFF]
oil) and Bubble point.
The pressure at which the viscosity is
measured.
The temperature at which the viscosity is
measured.

Link to: BLACKOILOPTIONS (on CASELevel) Description Keys

444 / 769

OLGA 7

COMPOPTIONS (on CASELevel)


Description ( See also: Keys)
This statement specifies the different options used in the PVT routines for calculating material
properties and flashing terms in the Compositional Tracking model.
If VISCOSITYCORR is specified the chosen model is used for viscosity calculations for the gas and
oil phases. An error is given if the feed has been tuned to another viscosity correlation in PVTsim, in
which case this is the only allowed option.
The FLASHTYPE key specifies the type of flash calculations to use. TWOPHASE is the simplest
one and is default if no aqueous components (H2O, MEG, etc) are part of the feed.
SIMPLETHREEPHASE is the default if there are at least one aqueous component.
FULLTHREEPHASE is the most time-consuming option, but provides full mixing in all phases. This
option must be used if any salt components are defined in the feed.
The TCONDENSATION/TVAPORIZATION keys are non-equilibrium delay constants for the mass
transfer from liquid phase to gas phase and vice versa. The keys can be introduced for each
component specified with the COMPONENT key. The equilibrium state reached in the flash
calculations will then be delayed for the specified components. The default is no delay.
The DENSITYLIMIT key can be used to specify the limit for the dense phase region density. In the
dense phase region, where there are no good criteria to distinguish gas from oil, a fluid with higher
density than the given value is defined as liquid and a fluid with lower density is defined as gas.

COMPOPTIONS (on CASELevel) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

COMPONENT

SymbolList

DENSITYLIMIT

Real

FLASHTYPE

Symbol

TBOILING

RealList
(s)

Description

Components to specify delay constants


for (defined in feed file).
Used in the dense phase region. A fluid
with a density higher than this limit is
defined as a liquid and a fluid with
lower density is identified as gas. If
used, it should preferably be set equal
to the fluid density at the critical point. If
not used, internal routines will decide
the phase (may cause instabilities
when crossing bubble/dew point).
Algorithm used in flash calculations.
TWOPHASE is default if no aqueous
TWOPHASE |
components are part of the feed.
SIMPLETHREEPHASE
SIMPLETHREEPHASE is default if
| FULLTHREEPHASE
there is at least one aqueous
component in the feed.
Time constant for mass transfer from
liquid phase to gas phase due to boiling
[1.0]
for components in COMPONENT.
(Non-equilibrium delay constant). Only
445 / 769

OLGA 7

(s)

TCONDENSATION

RealList
(s)

TIME

RealList
(s)

TVAPORIZATION

RealList
(s)

VISCOSITYCORR

Symbol

[0.0]

LBC | [CORRSTATE]

(Non-equilibrium delay constant). Only


for STEAMWATER-HC.
Time constant for mass transfer from
gas phase to liquid phase (Nonequilibrium delay constant). When
COMPOSITIONAL=ON, the default
value is no delay and each value must
have a corresponding component in
COMPONENT. When
COMPOSITIONAL=STEAMWATERHC, TCONDENSATION may be
defined as a time series and the default
value is 1 s.
Time points for which TBOILING,
TVAPORIZATION and
TCONDENSATION changes. Only for
STEAMWATER-HC.
Time constant for mass transfer from
liquid phase to gas phase (Nonequilibrium delay constant). When
COMPOSITIONAL=ON, the default
value is no delay and each value must
have a corresponding component in
COMPONENT. When
COMPOSITIONAL=STEAMWATER-HC
TVAPORIZATION may be defined as a
time series and the default value is 1 s.
Whether to use Corresponding state or
Lohrenz-Bray-Clark correlation for
viscosity correlation.

Link to: COMPOPTIONS (on CASELevel) Description Keys

446 / 769

OLGA 7

FEED (on CASELevel)


Description ( See also: Keys)
This statement defines a feed (fluid composition used in a source or at a boundary) and its
components with belonging mole fractions. The components in the feed must be defined in the feed
file, and the properties for each component will be taken from the feed file. Feeds can also be
defined directly in the feed file. The feed file is generated in PVTsim.

FEED (on CASELevel) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

COMPONENT

SymbolList

LABEL

String

[FEED-1]

MASSFRACTION RealList
MOLEFRACTION RealList

Description
Components in feed. For
COMOSITIONAL=ON the components are
defined in the feed file. For DRILLING=ON
available components are HC, H2O,
MEG/MEOH/ETOH, CUTTING and MUD
components.
Name of feed.
Mass fractions of the components of the
feed.
Mole fractions of the components of the
feed. Can not be used with Drilling.

Link to: FEED (on CASELevel) Description Keys

447 / 769

OLGA 7

ALGEBRAICCONTROLLER
Description ( See also: Keys)
The controller type ALGEBRAIC can combine signals from other controllers using a defined set of
operators, see below. The controller loops over all operators given in VARIABLEFUNCTION key.
The number of operands is defined by the operation. The operators are applied to the current
result (result from previous operation) as the first operand and additional operands in terms of input
signals terminals (INPSIG_i). The initial current result (result from previous operation) is input signal
one (INPSIG_1).
The following unary operator has been implemented:
ABS Take the absolute value of the current result
The following binary operators have been implemented:
ADD Add next input signal (INPSIG_i) to the current result
SUB Subtract next input signal (INPSIG_i) from the current result
MUL Multiply the current result with the next input signal (INPSIG_i)
DIV
Divide the current result with the next input signal (INPSIG_i)
GT
Compare current result with the next input signal (INPSIG_i), return value one if current
result is greater than next input signal, value zero otherwise
LT
Compare current result with the next input signal (INPSIG_i), return value one if current
result is less than next input signal, value zero otherwise
GE
Compare current result with the next input signal (INPSIG_i), return value one if current
result is greater than or equal to the next input signal, value zero otherwise
LE
Compare current result with the next input signal (INPSIG_i), return value one if current
result is less than or equal to the next input signal, value zero otherwise
EQ
Compare current result with the next input signal (INPSIG_i), return value one if current
result is equal to the next input signal, value zero otherwise
NEQ Compare current result with the next input signal (INPSIG_i), return value one if current
result is not equal to the next input signal, value zero otherwise
Controller type Algebraic makes use of the following signal terminals:
INPSIG_1..N

(Required input)

MODE

(Optional input)

SIGNAL

(Optional input)

ACTIVATE

(Optional input)

OUTSIG_1..N

(Optional output)

ALGEBRAICCONTROLLER Keys ( See also: Description )


Key
BIAS

Type

Parameter set

Unit:( )

Default:[ ]

Real

[0.0]

Description
Initial output signal.
Time required to change
valve settings or
compressor speed from

448 / 769

OLGA 7

CLOSINGTIME

Real (s)

[0]

compressor speed from


maximum to minimum
value.
Time from when the
measured value is read to
DELAY
Real (s)
[0.0]
when it is used by the
controller.
Identification label for this
LABEL
String
[ALGEBRAICCONTROLLER_tag]
controller.
MANUALOUTPUT
RealList
Manual output.
MAXSIGNAL
Real
[1.0e10]
Maximum output signal.
MINSIGNAL
Real
[-1.0e10]
Minimum output signal.
AUTOMATIC: The
setpoint is defined on the
controller. MANUAL: The
controller output is given
by key MANUALOUTPUT.
EXTERNALSIGNAL: The
controller output is given
by the controller
MANUAL | EXTERNALSIGNAL |
MODE
SymbolList
connected to the SIGNAL
FREEZE | [AUTOMATIC]
terminal.
EXTERNALSETPOINT
the setpoint is given by the
controller connected to the
SETPOINT terminal.
FREEZE the controller
output is frozen (kept
constant).
Time required to change
valve settings or
OPENINGTIME
Real (s)
[0]
compressor speed from
minimum to maximum
value.
Stroke or actuator time.
Time required to change
valve settings or
STROKETIME
Real (s)
[0]
compressor speed from
minimum to maximum
value or vice versa.
RealList
Time series for the
TIME
(s)
SETPOINT key.
For use when one or more
variables are specified.
The values of the
variables will be subject to
the operator specified.
The first operator vill be
ADD | SUB | MUL | DIV | GT | LT used on the first
VARIABLEFUNCTION SymbolList
| GE | LE | EQ | NEQ | ABS
operand(s)=INPSIG
terminal(s). The second
operator will be used on
the result ffor the first
operation and possibley

449 / 769

OLGA 7

operation and possibley


any additional INPSIG
terminal.
Link to: ALGEBRAICCONTROLLER Description Keys

450 / 769

OLGA 7

ASCCONTROLLER
Description ( See also: Keys)
The main purpose of the Anti Surge Controller (ASC) is to prevent a compressor from operating to
the left of the Surge Line in a compressor performance map.

The controller uses a non-symmetrical PID algorithm. Two amplification constants must therefore be
given. One amplification for positive and one for negative controller error.

The ASC controller has the following signal terminals:

MEASRD

(Required input)

MODE

(Optional input)

SIGNAL

(Optional input)

SETPOINT

(Optional input)

ACTIVATE

(Optional input)

OUTSIG_1..N

(Optional output)

ASCCONTROLLER Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

AMP1

Real

AMP2

Real

BIAS

Real

CLOSINGTIME

Real (s)

[10.0]

DELAY

Real (s)

[0.0]

DERIVATIVECONST

Real (s)

[0.0]

INTEGRALCONST

Real (s)

[1.0E+10]

Description
Anti Surge Controller amplification
(proportional term). Used for
negative deviation from setpoint.
Anti Surge Controller amplification
(proportional term). Used for
positive deviation from setpoint.
Initial output signal.
Time required to change valve
settings or compressor speed
from maximum to minimum value.
Time from when the measured
value is read to when it is used by
the controller.
Coefficient in front of the
derivative term of a PID controller.
Coefficient in front of the integral
of PID controllers. It represents a
characteristic time. N.b., it is the
inverse of the coefficient which
appears in the expression for the
output signal. If the non-linear
451 / 769

OLGA 7

LABEL
MANUALOUTPUT

MAXCHANGE

MAXSIGNAL
MINSIGNAL

MODE

NORMRANGE

OPENINGTIME

SAMPLETIME
SETPOINT

STROKETIME

output signal. If the non-linear


option is chosen, this is an array
as a function of the ERROR array.
Identification label for this
String
[ASCCONTROLLER_tag]
controller.
RealList
Manual output.
Analog controller: Maximum
allowed change in controller
output signal from one time-step
to the next. This restriction is used
by the time-step control. If the
change in output exceeds this
value, OLGA will go back to the
previous point in time and
integrate with a shorter time-step.
Real
[0.2]
Digital controller: Maximum
discrepancy between the instance
a sample should be taken and the
actual time in the simulation in
terms of a fraction of the sample
time interval. (E.g., with
SAMPLETIME=2.0s and
MAXCHANGE=0.2, the maximum
discrepancy will be 0.4s.)
Real
[1.0]
Maximum output signal.
Real
[0.0]
Minimum output signal.
AUTOMATIC: The setpoint is
defined on the controller.
MANUAL: The controller output is
given by key MANUALOUTPUT.
EXTERNALSIGNAL: The
MANUAL |
controller output is given by the
EXTERNALSIGNAL |
SymbolList
controller connected to the
EXTERNALSETPOINT |
SIGNAL terminal.
FREEZE | [AUTOMATIC]
EXTERNALSETPOINT the
setpoint is given by the controller
connected to the SETPOINT
terminal. FREEZE the controller
output is frozen (kept constant).
For normalized controllers (used
together with AMPLIFICATION).
Real
Indicates measuring range for
input to controller.
Time required to change valve
Real (s)
[10.0]
settings or compressor speed
from minimum to maximum value.
Time interval between each
Real (s)
sampling of input. Activates digital
controller option.
RealList
Setpoint values.
Stroke or actuator time. Time
required to change valve settings
Real (s)
[10.0]
or compressor speed from
minimum to maximum value and
452 / 769

OLGA 7

TIME

RealList
(s)

TIMESTEPCONTROL Symbol

OFF | [ON]

minimum to maximum value and


vice versa.
Time series for the SETPOINT
key.
If TIMESTEPCONTROL=OFF the
time step control is bypassed. If
STROKETIME is less than
DTMIN the time step control is
also bypassed.

Link to: ASCCONTROLLER Description Keys

453 / 769

OLGA 7

CASCADECONTROLLER
Description ( See also: Keys)
A cascade controller (normal or extended) is a PID controller. The cascade controller is used in the inner
loop of a cascade control. The output of the primary controller changes the setpoint of the secondary
(cascade) controller.
A cascade controller has the following terminals:
MEASRD

(Required input)

MODE

(Optional input)

SIGNAL

(Optional input)

SETPOINT

(Optional input)

ACTIVATE

(Optional input)

OUTSIG_1..N

(Optional output)

CASCADECONTROLLER Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

AMPLIFICATION

RealList

AVERAGETIME

Real (s)

BIAS

Real

CLOSINGTIME

Real (s)

CONSTONE

Real (1/s)

CONSTSWITCH

Real

CONSTTWO

Real (1/s)

DEFAULTINPUT

Real

DELAY

Real (s)

RealList

[10.0]

[0.0]

Description
PID amplification factor. If the nonlinear option is chosen, this is an
array as a function of the ERROR
array.
For use with EXTENDED
CASCADE controller. Average time
for the moving averaging function
of the primary controller variable.
Initial output signal.
Time required to change valve
settings or compressor speed from
maximum to minimum value.
For use with EXTENDED
CASCADE controller: Constant C1.
For use with EXTENDED
CASCADE controller: Switching
value for using C1 and C2.
For use with EXTENDED
CASCADE controller: Constant C2.
Setpoint for
INACTIVEMODE=DEFAULTMODE.
Time from when the measured
value is read to when it is used by
the controller.
Coefficient in front of the derivative
term of PID controllers. If the nonlinear option is chosen, this is
an/ 769
454

OLGA 7

DERIVATIVECONST

RealList
(s)

ERROR

RealList

EXTENDED

Symbol

INACTIVEMODE

Symbol

INITIALSETPOINT

Real

INTEGRALCONST

RealList
(s)

LABEL

String

MANUALOUTPUT

RealList

MAXCHANGE

Real

[0.0]

linear option is chosen, this is an


array as a function of the ERROR
array.
Activate the non-linear option for
the PID. Coefficients are given as
[0.0]
an array of values representing
each value in ERROR. Error is the
deviation.
Select ON to use the EXTENDED
ON | [OFF]
CASCADE controller.
Specifies how the controller act
when it is deactivated by a selector,
override controller etc. ONHOLD:
Restore old values, everything is
on hold. INTERLOCK: The PID
controller get feedback on the
output signal used from the
connected controller (Selector or
ONHOLD | INTERLOCK |
Override). If the PID controller
DEFAULTINPUT | NORMAL
becomes inactive it will back
calculate its integral error to match
the output signal of the connected
controller. DEFAULTINPUT:
Compute output signal based on
default input, given in key
DEFAULTINPUT. NORMAL: No
action.
Initial setpoint for extended
cascade.
Coefficient in front of the integral of
PID controllers. It represents a
characteristic time. N.b., it is the
inverse of the coefficient which
[1.0E+10]
appears in the expression for the
output signal. If the non-linear
option is chosen, this is an array as
a function of the ERROR array.
Identification label for this
[CASCADECONTROLLER_tag]
controller.
Manual output.
Analog controller: Maximum
allowed change in controller output
signal from one time-step to the
next. This restriction is used by the
time-step control. If the change in
output exceeds this value, OLGA
will go back to the previous point in
time and integrate with a shorter
[0.2]
time-step. Digital controller:
Maximum discrepancy between the
instance a sample should be taken
and the actual time in the
simulation in terms of a fraction of
the sample time interval. (E.g., with
SAMPLETIME=2.0s and
MAXCHANGE=0.2, the maximum
discrepancy will be 0.4s.) 455 / 769

OLGA 7

discrepancy will be 0.4s.)


Maximum setpoint for secondary
controller in cascade control loop.
Maximum output signal.
Minimum setpoint for secondary
controller in cascade control loop.
Minimum output signal.
AUTOMATIC: The setpoint is
defined on the controller. MANUAL:
The controller output is given by
key MANUALOUTPUT.
EXTERNALSIGNAL: The controller
output is given by the controller
connected to the SIGNAL terminal.
EXTERNALSETPOINT the setpoint
is given by the controller connected
to the SETPOINT terminal.
FREEZE the controller output is
frozen (kept constant).
For normalized controllers (used
together with AMPLIFICATION).
Indicates measuring range for input
to controller.
Time required to change valve
settings or compressor speed from
minimum to maximum value.
For use with EXTENDED
CASCADE controller. Logging time
interval for the primary controller
variable.
Time interval between each
sampling of input. Activates digital
controller option.
Stroke or actuator time. Time
required to change valve settings
or compressor speed from minimum
to maximum value or vice versa.

MAXSETPOINT

Real

MAXSIGNAL

Real

MINSETPOINT

Real

MINSIGNAL

Real

[0.0]

MODE

SymbolList

MANUAL | EXTERNALSIGNAL
| FREEZE | [AUTOMATIC]

NORMRANGE

Real

OPENINGTIME

Real (s)

SAMPLEDT

Real (s)

SAMPLETIME

Real (s)

STROKETIME

Real (s)

TIME

RealList
(s)

Time series for the SETPOINT key.

TIMESTEPCONTROL Symbol

If TIMESTEPCONTROL=OFF the
time step control is bypassed. If
STROKETIME is less than DTMIN
the time step control is also
bypassed.

[1.0]

[10.0]

[10.0]

OFF | [ON]

Link to: CASCADECONTROLLER Description Keys

456 / 769

OLGA 7

ESDCONTROLLER
Description ( See also: Keys)
ESD - Emergency shutdown controller. The ESD controller will send a signal intended to close a
valve when the measured variable is above or below (depending on the OPENMODE key) the
setpoint value. The setpoint is given as a signal or a key. The valve is opened again if RESET is
given, and if the measured variable is below or above (depending on the OPENMODE key) the
setpoint value.
The ESD controller has the following signal terminals:
MEASRD_1..N

(Required input)

MODE

(Optional input)

SIGNAL

(Optional input)

SETPOINT

(Optional input)

ACTIVATE

(Optional input)

OUTSIG_1..N

(Optional output)

ESDCONTROLLER Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

CLOSINGTIME

Real (s)

DELAY

Real (s)

LABEL

String

MANUALOUTPUT

RealList

MAXCHANGE

Real

Description

Time required to change valve


[10.0]
settings or compressor speed
from maximum to minimum value.
Time from when the measured
[0.0]
value is read to when it is used by
the controller.
Identification label for this
[ESDCONTROLLER_tag]
controller.
Manual output.
Analog controller: Maximum
allowed change in controller
output signal from one time-step
to the next. This restriction is
used by the time-step control. If
the change in output exceeds this
value, OLGA will go back to the
previous point in time and
integrate with a shorter time-step.
[0.2]
Digital controller: Maximum
discrepancy between the instance
a sample should be taken and the
actual time in the simulation in
terms of a fraction of the sample
time interval. (E.g., with
457 / 769

OLGA 7

time interval. (E.g., with


SAMPLETIME=2.0s and
MAXCHANGE=0.2, the maximum
discrepancy will be 0.4s.)
MAXSIGNAL
Real
[1.0]
Maximum output signal.
MINSIGNAL
Real
[0.0]
Minimum output signal.
AUTOMATIC: The setpoint is
defined on the controller.
MANUAL: The controller output is
given by key MANUALOUTPUT.
EXTERNALSIGNAL: The
MANUAL |
controller output is given by the
EXTERNALSIGNAL |
MODE
SymbolList
controller connected to the
EXTERNALSETPOINT |
SIGNAL terminal.
FREEZE | [AUTOMATIC]
EXTERNALSETPOINT the
setpoint is given by the controller
connected to the SETPOINT
terminal. FREEZE the controller
output is frozen (kept constant).
Time required to change valve
OPENINGTIME
Real (s)
[10.0]
settings or compressor speed
from minimum to maximum value.
For ESD. Either ABOVE or
BELOW. Depending on whether
OPENMODE
Symbol
BELOW | [ABOVE]
the valve is to close when the
signal goes above or below the
setpoint.
The valve closes if the input
variable gets below or exceeds
RESET
RealList
the reset value depending on
OPENMODE.
Time interval between each
SAMPLETIME
Real (s)
sampling of input. Activates digital
controller option.
SETPOINT
RealList
Setpoint values.
Stroke or actuator time. Time
required to change valve settings
STROKETIME
Real (s)
[10.0]
or compressor speed from
minimum to maximum value or
vice versa.
RealList
Time series for the SETPOINT
TIME
(s)
key.
If TIMESTEPCONTROL=OFF the
time step control is bypassed. If
TIMESTEPCONTROL Symbol
OFF | [ON]
STROKETIME is less than
DTMIN the time step control is
also bypassed.
Link to: ESDCONTROLLER Description Keys

458 / 769

OLGA 7

MANUALCONTROLLER
Description ( See also: Keys)
The manual controller simulates an operator. It provides a valve opening directly from a user
specified series, only dependent on time. The user specified series is given in the setpoint key, or
as a setpoint signal. The manual controller limits the setpoint with STROKETIME or
CLOSINGTIME/OPENINGTIME.
A manual controller has the following signal terminals:
MODE

(Optional input)

SIGNAL

(Optional input)

SETPOINT

(Optional input)

ACTIVATE

(Optional input)

OUTSIG_1..N

(Optional output)

MANUALCONTROLLER Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

CLOSINGTIME

Real (s)

LABEL

String

MANUALOUTPUT

RealList

MAXCHANGE

Real

Description

Time required to change


valve settings or compressor
[10.0]
speed from maximum to
minimum value.
Identification label for this
[MANUALCONTROLLER_tag]
controller.
Manual output.
Analog controller: Maximum
allowed change in controller
output signal from one timestep to the next. This
restriction is used by the
time-step control. If the
change in output exceeds
this value, OLGA will go back
to the previous point in time
and integrate with a shorter
time-step. Digital controller:
[0.2]
Maximum discrepancy
between the instance a
sample should be taken and
the actual time in the
simulation in terms of a
fraction of the sample time
interval. (E.g., with
SAMPLETIME=2.0s and 459 / 769

OLGA 7

MAXSIGNAL
MINSIGNAL

Real
Real

MODE

MANUAL |
EXTERNALSIGNAL |
SymbolList
EXTERNALSETPOINT |
FREEZE | [AUTOMATIC]

OPENINGTIME

Real (s)

[10.0]

RANGECHECK

Symbol

ON | [OFF]

SAMPLETIME

Real (s)

SETPOINT

RealList

STROKETIME

Real (s)

TIME

RealList
(s)

TIMESTEPCONTROL Symbol

[1.0]
[0.0]

[10.0]

OFF | [ON]

SAMPLETIME=2.0s and
MAXCHANGE=0.2, the
maximum discrepancy will be
0.4s.)
Maximum output signal.
Minimum output signal.
AUTOMATIC: The setpoint is
defined on the controller.
MANUAL: The controller
output is given by key
MANUALOUTPUT.
EXTERNALSIGNAL: The
controller output is given by
the controller connected to
the SIGNAL terminal.
EXTERNALSETPOINT the
setpoint is given by the
controller connected to the
SETPOINT terminal.
FREEZE the controller output
is frozen (kept constant).
Time required to change
valve settings or compressor
speed from minimum to
maximum value.
If RANGECHECK=ON
MINSIGNAL and
MAXSIGNAL will be used to
limit the output signal.
Time interval between each
sampling of input. Activates
digital controller option.
Setpoint values.
Stroke or actuator time. Time
required to change valve
settings or compressor speed
from minimum to maximum
value or vice versa.
Time series for the
SETPOINT key.
If
TIMESTEPCONTROL=OFF
the time step control is
bypassed. If STROKETIME
is less than DTMIN the time
step control is also bypassed.

Link to: MANUALCONTROLLER Description Keys

460 / 769

OLGA 7

OVERRIDECONTROLLER
Description ( See also: Keys)
An override controller is a low select or high select operator. An override controller uses any
number of input signals. The input signals are compared, and the minimum/maximum (depending
on the SELECTIONMODE key) input signal is chosen as the output signal from the override
controller.
An override controller has the following signal terminals:
MODE

(Optional input)

SIGNAL

(Optional input)

ACTIVATE

(Optional input)

INPSIG_1..N
OUTSIG_1..N

(Required input)
(Optional output)

OVERRIDECONTROLLER Keys ( See also: Description )


Key

CLOSINGTIME

LABEL
MANUALOUTPUT
MAXSIGNAL
MINSIGNAL

MODE

Type

Parameter set

Unit:( )

Default:[ ]

Description

Time required to change valve


settings or compressor speed
Real (s)
[10.0]
from maximum to minimum
value.
Identification label for this
String
[OVERRIDECONTROLLER_tag]
controller.
RealList
Manual output.
Real
[1.0]
Maximum output signal.
Real
[0.0]
Minimum output signal.
AUTOMATIC: The setpoint is
defined on the controller.
MANUAL: The controller
output is given by key
MANUALOUTPUT.
EXTERNALSIGNAL: The
controller output is given by
MANUAL | EXTERNALSIGNAL |
SymbolList
the controller connected to
FREEZE | [AUTOMATIC]
the SIGNAL terminal.
EXTERNALSETPOINT the
setpoint is given by the
controller connected to the
SETPOINT terminal. FREEZE
the controller output is frozen
(kept constant).
Time required to change valve
settings or compressor speed

461 / 769

OLGA 7

OPENINGTIME

Real (s)

SAMPLETIME

Real (s)

[10.0]

SELECTIONMODE Symbol

HIGH | [LOW]

STROKETIME

Real (s)

[10.0]

TIME

RealList
(s)

settings or compressor speed


from minimum to maximum
value.
Time interval between each
sampling of input. Activates
digital controller option.
An override controller selects
either minimum or maximum of
the signals from all the
subcontrollers. Key
SELECTIONMODE
determines the selection of
minimum or maximum signal.
Stroke or actuator time. Time
required to change valve
settings or compressor speed
from minimum to maximum
value or vice versa.
Time series for the
SETPOINT key.

Link to: OVERRIDECONTROLLER Description Keys

462 / 769

OLGA 7

PIDCONTROLLER
Description ( See also: Keys)
PID (Proportional-Integral-Derivative) controllers are designed to maintain a specified value (given
by a setpoint signal or key) for a measured flow variable (given as an input signal).
The user can specify if the controller is linear or non-linear. If a controller is non-linear, the user has
to give tables for specifying the amplification factors, integral time constants, and derivative time
constants as functions of the error input.
The PID controller has the following signal terminals:
MEASRD

(Required input)

MODE

(Optional input)

SIGNAL

(Optional input)

SETPOINT

(Optional input)

ACTIVATE

(Optional input)

WINDUP

(Optional input)

OUTSIG_1..N

(Optional output)

PIDCONTROLLER Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

AMPLIFICATION

RealList

BIAS

Real

CLOSINGTIME

Real (s)

DEFAULTINPUT

Real

DELAY

Real (s)

[0.0]

DERIVATIVECONST

RealList
(s)

[0.0]

[10.0]

Description
PID amplification factor. If the nonlinear option is chosen, this is an
array as a function of the ERROR
array.
Initial output signal.
Time required to change valve
settings or compressor speed from
maximum to minimum value.
Setpoint for
INACTIVEMODE=DEFAULTMODE.
Time from when the measured
value is read to when it is used by
the controller.
Coefficient in front of the derivative
term of PID controllers. If the nonlinear option is chosen, this is an
array as a function of the ERROR
array.
463 / 769

OLGA 7

ERROR

RealList

INACTIVEMODE

Symbol

INTEGRALCONST

RealList
(s)

LABEL

String

MANUALOUTPUT

RealList

MAXCHANGE

Real

MAXSIGNAL
MINSIGNAL

Real
Real

array.
Activate the non-linear option for
the PID. Coefficients are given as
[0.0]
an array of values representing
each value in ERROR. Error is the
deviation.
Specify how the controller acts
when it is deactivated by a selector,
override controller etc. ONHOLD:
Restore old values, everything is
on hold. INTERLOCK: The PID
controller gets feedback on the
output signal used from the
ONHOLD | INTERLOCK connected controller (Selector or
| DEFAULTINPUT |
Override). If the PID controller
NORMAL
becomes inactive it will back
calculate its integral error to match
the output signal of the connected
controller. DEFAULTINPUT:
Compute output signal based on
default input, given in key
DEFAULTINPUT. NORMAL: no
action.
Coefficient in front of the integral of
PID controllers. It represents a
characteristic time. N.b., it is the
inverse of the coefficient which
[1.0E+10]
appears in the expression for the
output signal. If the non-linear
option is chosen, this is an array as
a function of the ERROR array.
Identification label for this
[PIDCONTROLLER_tag]
controller.
Manual output.
Analog controller: Maximum
allowed change in controller output
signal from one time-step to the
next. This restriction is used by the
time-step control. If the change in
output exceeds this value, OLGA
will go back to the previous point in
time and integrate with a shorter
[0.2]
time-step. Digital controller:
Maximum discrepancy between the
instance a sample should be taken
and the actual time in the
simulation in terms of a fraction of
the sample time interval. (E.g., with
SAMPLETIME=2.0s and
MAXCHANGE=0.2, the maximum
discrepancy will be 0.4s.)
[1.0]
Maximum output signal.
[0.0]
Minimum output signal.
464 / 769

OLGA 7

AUTOMATIC: The setpoint is


defined on the controller. MANUAL:
The controller output is given by
key MANUALOUTPUT.
MANUAL |
EXTERNALSIGNAL: The controller
EXTERNALSIGNAL |
output is given by the controller
MODE
SymbolList EXTERNALSETPOINT |
connected to the SIGNAL terminal.
FREEZE |
EXTERNALSETPOINT the setpoint
[AUTOMATIC]
is given by the controller connected
to the SETPOINT terminal.
FREEZE the controller output is
frozen (kept constant).
For normalized controllers (used
together with AMPLIFICATION).
NORMRANGE
Real
Indicates measuring range for input
to controller.
Time required to change valve
OPENINGTIME
Real (s)
[10.0]
settings or compressor speed from
minimum to maximum value.
Time interval between each
SAMPLETIME
Real (s)
sampling of input. Activates digital
controller option.
SETPOINT
RealList
Setpoint values.
Stroke or actuator time. Time
required to change valve settings
STROKETIME
Real (s)
[10.0]
or compressor speed from minimum
to maximum value or vice versa.
RealList
TIME
Time series for the SETPOINT key.
(s)
If TIMESTEPCONTROL=OFF the
time step control is bypassed. If
TIMESTEPCONTROL Symbol
OFF | [ON]
STROKETIME is less than DTMIN
the time step control is also
bypassed.
Link to: PIDCONTROLLER Description Keys

465 / 769

OLGA 7

PSVCONTROLLER
Description ( See also: Keys)
A Pressure Safety Valve controller (PSV) opens a valve when the pressure at a specified position
(given by a measured signal) is above or below (depending on SETPOINTMODE) the setpoint
value. The setpoint can be given as a key or as an input signal. The PSV controller closes the
valve when the pressure is below or above (depending on SETPOINTMODE) a specified RESET
value.
The PSV controller has the following signal terminals:
MEASRD_1..N

(Required input)

MODE

(Optional input)

SIGNAL

(Optional input)

SETPOINT

(Optional input)

ACTIVATE

(Optional input)

OUTSIG_1..N

(Optional output)

PSVCONTROLLER Keys ( See also: Description )


Type

Parameter set

Unit:( )

Default:[ ]

CLOSINGTIME

Real (s)

[10.0]

DELAY

Real (s)

LABEL

String

MANUALOUTPUT

RealList

MAXCHANGE

Real

Key

Description

Time required to change valve


settings or compressor speed
from maximum to minimum value.
Time from when the measured
[0.0]
value is read to when it is used by
the controller.
Identification label for this
[PSVCONTROLLER_tag]
controller.
Manual output.
Analog controller: Maximum
allowed change in controller
output signal from one time-step
to the next. This restriction is used
by the time-step control. If the
change in output exceeds this
value, OLGA will go back to the
previous point in time and
integrate with a shorter time-step.
[0.2]
Digital controller: Maximum
discrepancy between the instance
a sample should be taken and the
actual time in the simulation in466 / 769

OLGA 7

actual time in the simulation in


terms of a fraction of the sample
time interval. (E.g., with
SAMPLETIME=2.0s and
MAXCHANGE=0.2, the maximum
discrepancy will be 0.4s.)
MAXSIGNAL
Real
[1.0]
Maximum output signal.
MINSIGNAL
Real
[0.0]
Minimum output signal.
AUTOMATIC: The setpoint is
defined on the controller.
MANUAL: The controller output is
given by key MANUALOUTPUT.
EXTERNALSIGNAL: The
MANUAL |
controller output is given by the
EXTERNALSIGNAL |
MODE
SymbolList
controller connected to the
EXTERNALSETPOINT |
SIGNAL terminal.
FREEZE | [AUTOMATIC]
EXTERNALSETPOINT the
setpoint is given by the controller
connected to the SETPOINT
terminal. FREEZE the controller
output is frozen (kept constant).
Time required to change valve
OPENINGTIME
Real (s)
[10.0]
settings or compressor speed
from minimum to maximum value.
Either ABOVE or BELOW.
Depending on whether the valve
OPENMODE
Symbol
BELOW | [ABOVE]
is to close when the signal goes
above or below the setpoint.
The valve closes if the input
variable gets below or exceeds
RESET
RealList
the reset value depending on
OPENMODE.
Time interval between each
SAMPLETIME
Real (s)
sampling of input. Activates digital
controller option.
SETPOINT
RealList
Setpoint values.
Stroke or actuator time. Time
required to change valve settings
STROKETIME
Real (s)
[10.0]
or compressor speed from
minimum to maximum value or
vice versa.
RealList
Time series for the SETPOINT
TIME
(s)
key.
If TIMESTEPCONTROL=OFF the
time step control is bypassed. If
TIMESTEPCONTROL Symbol
OFF | [ON]
STROKETIME is less than
DTMIN the time step control is
also bypassed.
Link to: PSVCONTROLLER Description Keys

467 / 769

OLGA 7

SCALERCONTROLLER
Description ( See also: Keys)
The main purpose of a SCALER controller is to scale the measured signal from range
LOWLIMIT..HIGHLIMIT to range MINSIGNAL..MAXSIGNAL. Output U is set:
U = (Y -LOWLIMIT)/(HIGHLIMIT - LOWLIMIT)*(MAXSIGNAL-MINSIGNAL) + MINSIGNAL
where Y is the measured signal, value at the MEASRD terminal.
A scaler controller has the following terminals:
MEASRD

(Required input)

OUTSIG_1..N

(Optional output)

SCALERCONTROLLER Keys ( See also: Description )


Type
Key
BIAS
CLOSINGTIME

DELAY
HIGHLIMIT
LABEL
LOWLIMIT
MAXSIGNAL
MINSIGNAL
OPENINGTIME

STROKETIME

Parameter set
Unit:(
Default:[ ]
)
Real

Description

[0.0]

Initial output signal.


Time required to change valve settings
Real
[10.0]
or compressor speed from maximum to
(s)
minimum value.
Time from when the measured value is
Real
[0.0]
read to when it is used by the
(s)
controller.
Real
High limit for measured signal.
String [SCALERCONTROLLER_tag] Identification label for this controller.
Real
Low limit for measured signal.
Real [1.0]
Maximum output signal.
Real [0.0]
Minimum output signal.
Time required to change valve settings
Real
[10.0]
or compressor speed from minimum to
(s)
maximum value.
Stroke or actuator time. Time required
Real
to change valve settings or compressor
[10.0]
(s)
speed from minimum to maximum value
or vice versa.

Link to: SCALERCONTROLLER Description Keys

468 / 769

OLGA 7

SELECTORCONTROLLER
Description ( See also: Keys)
The selector controller has two sub controllers, SUBCONLOW and SUBCONHIGH. The selector
controller switches between these sub-controllers depending of the low and high limits given as
input through the HIGHLIMITSIG and LOWLIMITSIG signal terminals. A sub-controller that is active
due to a limit being reached stays active until another limit is reached. Then another sub-controller
takes over, and stays active until yet another limit is reached.
Any number of limits (HIGHLIMITSIG/LOWLIMITSIG) can be given.
A selector controller has the following signal terminals:
SUBCONLOW

(Required input)

SUBCONHIGH

(Required input)

HIGHLIMITSIG_1..N

(Required input)

LOWLIMITSIG_1..N

(Required input)

MODE

(Optional input)

SIGNAL

(Optional input)

ACTIVATE

(Optional input)

OUTSIG_1..N

(Optional output)

SELECTORCONTROLLER Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

CLOSINGTIME

Real (s)

[10.0]

DELAY

Real (s)

[0.0]

Description
Time required to change
valve settings or
compressor speed from
maximum to minimum
value.
Time from when the
measured value is read to
when it is used by the
controller.
HIGHLIMIT is compared
with the HIGHLIMITSIG
signal input. If the signal
from SUBCONLOW is
used, the controller will
switch to the
SUBCONHIGH signal if

469 / 769

OLGA 7

SUBCONHIGH signal if
HIGHLIMITSIG >
HIGHLIMIT. If multiple
HIGHLIMIT/HIGHLIMITSIG
is given, the controller will
loop all connections and
test if HIGHLIMITSIG_i >
HIGHLIMIT[i]
Active sub-controller at the
start of the simulation. Has
INITIALCONTROLLER Symbol
SUBCONHIGH | SUBCONLOW
to refer to a SUBCON
terminal.
Identification label for this
LABEL
String
[SELECTORCONTROLLER_tag]
controller.
LOWLIMIT is compared
with the LOWLIMITSIG
signal input. If the signal
from SUBCONHIGH is
used, the controller will
switch to the
SUBCONLOW signal if
LOWLIMIT
RealList
LOWLIMITSIG <
LOWLIMIT. If multiple
LOWLIMIT/LOWLIMITSIG
is given, the controller will
loop all connections and
test if LOWLIMITSIG_i <
LOWLIMIT[i].
MANUALOUTPUT
RealList
Manual output.
MAXSIGNAL
Real
[1.0]
Maximum output signal.
MINSIGNAL
Real
[0.0]
Minimum output signal.
AUTOMATIC: The
setpoint is defined on the
controller. MANUAL: The
controller output is given
by key MANUALOUTPUT.
EXTERNALSIGNAL: The
controller output is given
by the controller
MANUAL | EXTERNALSIGNAL |
MODE
SymbolList
connected to the SIGNAL
FREEZE | [AUTOMATIC]
terminal.
EXTERNALSETPOINT
the setpoint is given by the
controller connected to the
SETPOINT terminal.
FREEZE the controller
output is frozen (kept
constant).
Time required to change
valve settings or
OPENINGTIME
Real (s)
[10.0]
compressor speed from
minimum to maximum
value.
HIGHLIMIT

RealList

470 / 769

OLGA 7

SAMPLETIME

Real (s)

STROKETIME

Real (s)

TIME

RealList
(s)

[10.0]

Time interval between


each sampling of input.
Activates digital controller
option.
Stroke or actuator time.
Time required to change
valve settings or
compressor speed from
minimum to maximum
value or vice versa.
Time series for the
SETPOINT key.

Link to: SELECTORCONTROLLER Description Keys

471 / 769

OLGA 7

STDCONTROLLER
Description ( See also: Keys)
The STDController converts mass flow rate to volumetric flow rate at standard conditions.
Set correct phase in PHASE key. Specify the fluid in the FLUID or FEEDNAME keys. Specify the
wanted GOR/CGR/WGR/WATERCUT/MOLWEIGHT, and the overall mass flow rate will be
calculated.
Connect the STDController output terminal OUTSIG to an PID controller MEASRD terminal.

STDCONTROLLER Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

Description

Condensate-gas ratio. The


default value is the equilibrium
value from PVT data.
FEEDMASSFRACTION RealList
Mass fraction of each feed.
FEEDMOLEFRACTION RealList
Mole fraction of each feed.
Label of feeds feeding to
terminal nodes. Requires
FEEDNAME
SymbolList FEED-1 | BOFEED-1
COMPOSITIONAL=ON or
BLACKOIL under the OPTIONS
keyword.
Volume fraction of each feed
FEEDVOLFRACTION RealList
given in FEEDNAME for choke
model (only for Blackoil model).
Label or number of fluid table to
apply for the specific branch. If a
keyword based pvt-file is used,
FLUID
Symbol
FLUID must be the same as the
LABEL given in the pvt-file, i.e.,
numbering is not valid for this
format.
Real
Gas/liquid volumetric flow ratio
GLR
(Sm3/Sm3)
at standard conditions.
Gas/oil volumetric flow ratio at
Real
standard conditions. By default,
GOR
[-1.0]
(Sm3/Sm3)
the GOR from the PVT table is
used.
Identification label for this
LABEL
String
[STDCONTROLLER_tag]
controller.
Molecular weight of equivalent
gas (total flow). By default, the
Real
gas density at standard
MOLWEIGHT
(kg/kmol)
conditions from the PVT table is
used to determine the molecular
weight.
Sm3/h | Sm3/d | scf/d |
MMscf/d | STB/d |
CGR

Real
(Sm3/Sm3)

472 / 769

OLGA 7

MMscf/d | STB/d |
STB/M | scf/s | scf/h |
MSm3/d | Mscf/d |
[Sm3/s]
GAS | OIL | WATER |
LIQUID | ALL

OUTPUTUNIT

Symbol

PHASE

Symbol

WATERCUT

Real

WGR

Real
[-1.0]
(Sm3/Sm3)

[-1.0]

Unit of controller output.

The phase for which the


volumetric flow rate is specified.
Water volume fraction in
oil/water mixture. With a value of
-1.0 the total water fraction is
taken from the fluid table.
Water-gas ratio.

Link to: STDCONTROLLER Description Keys

473 / 769

OLGA 7

SWITCHCONTROLLER
Description ( See also: Keys)
The main purpose of the switch controller is to switch between alternative inputs values. The
output of the controller is selected based on the setpoint in MODE = AUTOMATIC or SETPOINT
terminal if MODE = EXTERNALSETPOINT.
SP < 1.5

unconstrained output A is set equal to controller at terminal INPSIG_1

1.5 <= SP < 2.5

unconstrained output A is set equal to controller at terminal INPSIG_2

2.5 <= SP < 3.5

unconstrained output A is set equal to controller at terminal INPSIG_3

.
(Ni-0.5) <= SP

unconstrained output A is set equal to controller at terminal INPSIG_N

Where Ni is the number of connected input terminals INPSIG


A switch controller has the following terminals:
INPSIG_1..Ni

(Required input)

MODE

(Optional input)

SIGNAL

(Optional input)

SETPOINT

(Optional input)

ACTIVATE

(Optional input)

OUTSIG_1..N

(Optional output)

SWITCHCONTROLLER Keys ( See also: Description )


Type

Parameter set

Unit:( )

Default:[ ]

BIAS

Real

[0.0]

CLOSINGTIME

Real (s)

DELAY

Real (s)

LABEL

String

Key

MANUALOUTPUT RealList
MAXSIGNAL
Real
MINSIGNAL
Real

Description

Initial output signal.


Time required to change valve
[10.0]
settings or compressor speed
from maximum to minimum value.
Time from when the measured
[0.0]
value is read to when it is used
by the controller.
Identification label for this
[SWITCHCONTROLLER_tag]
controller.
Manual output.
[1.0]
Maximum output signal.
[0.0]
Minimum output signal.
474 / 769

OLGA 7

MODE

MANUAL |
EXTERNALSIGNAL |
SymbolList
EXTERNALSETPOINT |
FREEZE | [AUTOMATIC]

OPENINGTIME

Real (s)

SETPOINT

RealList

STROKETIME

Real (s)

TIME

RealList
(s)

[10.0]

[10.0]

AUTOMATIC: The setpoint is


defined on the controller.
MANUAL: The controller output is
given by key MANUALOUTPUT.
EXTERNALSIGNAL: The
controller output is given by the
controller connected to the
SIGNAL terminal.
EXTERNALSETPOINT the
setpoint is given by the controller
connected to the SETPOINT
terminal. FREEZE the controller
output is frozen (kept constant).
Time required to change valve
settings or compressor speed
from minimum to maximum value.
Setpoint values.
Stroke or actuator time. Time
required to change valve settings
or compressor speed from
minimum to maximum value or
vice versa.
Time series for the SETPOINT
key.

Link to: SWITCHCONTROLLER Description Keys

475 / 769

OLGA 7

TABLECONTROLLER
Description ( See also: Keys)
A table controller uses the input signal (terminal INPSIG) as lookup variable, x, in a table. The
controller output is y = f(x). The look-up function is linear interpolation.
The table controller has the following terminals:
INPSIG

(Required input)

OUTSIG_1..N

(Optional output)

TABLECONTROLLER Keys ( See also: Description )


Key
BIAS
CLOSINGTIME
DELAY
LABEL
MAXSIGNAL
MINSIGNAL
OPENINGTIME

STROKETIME

TABLE

Type

Parameter set

Unit:( ) Default:[ ]
Real

Description

[0.0]

Initial output signal.


Time required to change valve settings
Real
[10]
or compressor speed from maximum to
(s)
minimum value.
Real
Time from when the measured value is
[0.0]
(s)
read to when it is used by the controller.
String [TABLECONTROLLER_tag] Identification label for this controller.
Real
[1.0]
Maximum output signal.
Real
[0.0]
Minimum output signal.
Time required to change valve settings
Real
[10]
or compressor speed from minimum to
(s)
maximum value.
Stroke or actuator time. Time required
Real
to change valve settings or compressor
[10]
(s)
speed from minimum to maximum value
or vice versa.
Label of the table. The table consist of x
Symbol
and y. Input signal x1 gives output
signal y1 by table interpolation.

Link to: TABLECONTROLLER Description Keys

476 / 769

OLGA 7

OUTPUTDATA (on ASCCONTROLLER)


Description ( See also: Keys)
This statement defines the controller variables to be printed to the output file (*.out).
See Controller Output Variables for available variables.

OUTPUTDATA (on ASCCONTROLLER) Keys ( See also: Description )


Key

VARIABLE

Type
Unit:( )
SymbolList
(ValueUnitPair)

Parameter
set

Description

Default:[ ]
List of variables to be printed. Units may be
specified.

Link to: OUTPUTDATA (on ASCCONTROLLER) Description Keys

477 / 769

OLGA 7

TRENDDATA (on ASCCONTROLLER)


Description ( See also: Keys)
This statement defines the trend data to be plotted for controllers. A trend plot is a time series
plot for a specified variable.
For available variables see Controller Output Variables.

TRENDDATA (on ASCCONTROLLER) Keys ( See also: Description )


Key

VARIABLE

Type
Unit:( )
SymbolList
(ValueUnitPair)

Parameter
set

Description

Default:[ ]
List of variables to be plotted. Units may be
specified.

Link to: TRENDDATA (on ASCCONTROLLER) Description Keys

478 / 769

OLGA 7

FLUID (on CASELevel)


Description ( See also: Keys)
This statement enables the use of the complex viscosity model and the complex fluid model for
simulation of non-Newtonian flows and high viscosity liquids.
The complex fluid model
The Complex Fluid module requires a separate license. The module utilizes either the Bingham, the
power law or a Newtonian model. As opposed to the complex viscosity model, the complex fluid
model includes numerous modifications to the physical models for both separated and distributed
flow taking into account the non-Newtonian behavior of the fluids. As soon as TYPE is set to
COMPLEXFLUID the modified physical models are used, even if CFLUML or CFLUMW are set to
NEWTONIAN.
Due to limited testing against Newtonian data, the complex fluid model is not recommended used
on gas-condensate and oil-gas systems with oil viscosity less than 50 cp.
For the complex fluid model, the fluid properties can be given in two ways, simple or full (FULL =
YES). In the simple mode the power law exponent or yield stress is given in the main input file. In
the full mode, the power law exponent or the yield stress is given as a function of pressure and
temperature in the fluid property table file specified in PVTFILE in FILES. This implies that the
FLUID keyword must be given above the FILES keyword in the OLGA input file since the fluid
property files are read as soon as OLGA reads the FILES keyword.
In all cases the hydrocarbon liquid and/or the water viscosity part of the usual PVT file is used. In
the power law formulation it is used as the consistency factor K, and in the Bingham formulation it is
used as the coefficient of rigidity. Therefore, setting CFLUML = NEWTONIAN is equivalent to
CFLUML = BINGHAM with YIELDSTRL = 0, and CFLUML = POWERLAW with POWEXPL = 1.

FLUID (on CASELevel) Keys ( See also: Description )


Key

CFLUML

CFLUMW

Type

Unit:( ) Default:[ ]
BINGHAM |
Symbol POWERLAW |
[NEWTONIAN]
BINGHAM |
Symbol POWERLAW |
[NEWTONIAN]

CONSFL

Real

CONSFW

Real

CVISL

Parameter set

Description
Type of complex fluid model of the liquid
hydrocarbon phase.
Type of complex fluid model of the water
phase.
Consistency factor for hydrocarbon liquid in
the complex viscosity model.
Consistency factor for water phase in the
complex viscosity model.

BINGHAM |
POWERLAW |
Type of complex viscosity model of the
Symbol
HERSCHELBUCKLEY liquid hydrocarbon phase.
479 / 769

OLGA 7

CVISL

CVISW

FULL

PLASTL

PLASTW

POWEXPL

POWEXPW

TYPE

YIELDSTRL
YIELDSTRW

Symbol

HERSCHELBUCKLEY liquid hydrocarbon phase.


| [NEWTONIAN]
BINGHAM |
POWERLAW |
Type of complex viscosity model of the
Symbol
HERSCHELBUCKLEY water phase.
| [NEWTONIAN]
Whether or not to use power exponent/yield
Symbol YES | [NO]
stress as function of P and T from the fluid
property file in a complex fluid model.
Real
Hydrocarbon liquid plastic viscosity, used in
(Nthe complex viscosity model.
s/m2)
Real
Water plastic viscosity used in the complex
(Nviscosity model.
s/m2)
Exponent for hydrocarbon liquid phase
Real
model, used in both the complex viscosity
and complex fluid model.
Exponent for water phase model, used in
Real
both the complex viscosity and complex fluid
model.
COMPLEXFLUID |
Symbol COMPLEXVISCOSITY Fluid model type.
| [NEWTONIAN]
Yield stress for hydrocarbon liquid phase in
Real
the complex viscosity and complex fluid
(Pa)
models.
Real
Yield stress for water phase in the complex
(Pa)
viscosity and complex fluid models.

Link to: FLUID (on CASELevel) Description Keys

480 / 769

OLGA 7

SINGLEOPTIONS (on CASELevel)


Description ( See also: Keys)
This statement defines options for simulation of single component systems in OLGA, turned on by
specifying COMPOSITIONAL=SINGLE in keyword OPTIONS.
There are three single component systems that can be specified. These are H2O, CO2 and
OTHER, and is specified by key COMPONENT in SINGLEOPTIONS . For COMPONENT equal
H2O and CO2 most physical parameters are implemented in OLGA, while for
COMPONENT=OTHER the user needs to specify these parameters in SINGLEOPTIONS.
Note: The availability of the single component module depends on the User's licensing agreement
with SPT Group.

SINGLEOPTIONS (on CASELevel) Keys ( See also: Description )


Type

Parameter set

Unit:( )

Default:[ ]

COMPONENT

Symbol

H2O | CO2 |
OTHER

CPIC

RealList

MAXPRESSURE

Real (Pa)

Key

MAXTEMPERATURE Real (C)


MINPRESSURE

Real (Pa)

MINTEMPERATURE Real (C)


MW

Real
(g/mol)

OMEGA

Real

PC

Real (Pa)

TBOILING

RealList (s) [1.0]

TC

Real (C)

TCONDENSATION

RealList (s) [1.0]

TIME

RealList (s) [0.0]

VISX

Real

[1.0]

Description
Name of single-component.
Coefficients in equation for specific heat.
Only for SINGLECOMPONENT=OTHER.
Maximum pressure for PVT table generated.
Maximum temperature for PVT table
generated.
Minimum pressure for PVT table generated.
Minimum temperature for PVT table
generated.
Molecular weight. Only for
SINGLECOMPONENT=OTHER.
Accentric factor. Only for
SINGLECOMPONENT=OTHER.
Critical pressure. Only for
SINGLECOMPONENT=OTHER.
Time constant for mass transfer from liquid
phase to gas phase due to boiling for
component. (Non-equilibrium delay
constant).
Critical temperature. Only for
SINGLECOMPONENT=OTHER.
Time constant for mass transfer from gas
phase to liquid phase for the component.
(Non-equilibrium delay constant).
Time points for which TBOILING and
TCONDENSATION changes.
Viscosity tuning factor. Only for
SINGLECOMPONENT=OTHER.
Volume tuning factor. Only for
481 / 769

OLGA 7

VOLX

RealList

[0.0]

Volume tuning factor. Only for


SINGLECOMPONENT=OTHER.

Link to: SINGLEOPTIONS (on CASELevel) Description Keys

482 / 769

OLGA 7

SLUGTRACKING (on CASELevel)


Description ( See also: Keys)
This statement defines the slug tracking option. This statement has two main sub-options for
initiation of liquid slugs: the level slug option (LEVEL) and the hydrodynamic slug option
(HYDRODYNAMIC).
These two options may be used together or separately. Terrain slugging will be detected in
ordinary simulations without the slug tracking module, and the interactions between terrain and
hydrodynamic slugging can be investigated using the key HYDRODYNAMIC. The level slug
option is mostly used for startup-slugs.
If HYDRODYNAMIC = ON, the code will set up a new slug in a section whenever the set-up criteria
are fulfilled. These are:
(1) Flow regime at the section boundary changes from separated to slug flow.
(2) Other slug fronts are the required distance away.
(3) The time elapsed since the previous slug was generated in or passed this section is higher
than a specified minimum time.
If HYDRODYNAMIC = MANUAL, the user can specify a fixed number of slugs to be set up at
predefined positions and times. Using this option, liquid will be injected into the pipeline to generate
slugs of required size.
Slugs are not allowed to be generated at the inlet and outlet sections by default. That is, the
boundary sections are automatically set to illegal for slugs by the program itself. However, the
slug front is allowed to move into the outlet section, and the slug tail into the inlet section. Users
can specify the sections where slugs are not allowed to be generated by using SLUGILLEGAL
keyword.
The slug tracking option offers full temperature calculation capabilities.
Remark: The availability of the slug tracking option depends on the users licensing agreement
with SPT Group.
To turn off slug-tracking in a restart there are two possibilities:
(1) Set both LEVEL and HYDRODYNAMIC to OFF. Then the only slugs in the system will be
the ones read from restart.
(2) Remove SLUGTRACKING keyword. Average values will be used in the sections. No slugs
in the simulation.
More details can be found in the description of the slug tracking module.

SLUGTRACKING (on CASELevel) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

BUBBLEVOID

Real

DELAYCONSTANT

Real

[150]

Description
Minimum void required behind a level tail
and ahead of a level front at initiation time
Number of pipe diameters a slug needs to
propagate before the next hydrodynamic
slug is initiated.
483 / 769

OLGA 7

ENDTIME

Real (s)

GASENTRAINMENT Symbol

NYDAL |
[VOIDINSLUG]

End time for level slug initiation. If not given


no end time restriction is enforced.
Gas entrainment into slug from bubble for
breaking/level front in slug tracking. NYDAL:
Nydal correlation for entrainment.
VOIDINSLUG: Entrainment based on
correlation for void in slug.

ON | MANUAL |
Option for initiating hydrodynamic slugs.
[OFF]
INITBUBBLEVOIDS RealList
[1]
Void fractions in the slug bubbles.
INITENDTIMES
RealList (s)
End times for slug generation.
The minimum distance between two
INITFREQUENCY
Real (1/s)
consecutive slugs is defined as (bubble
vel./INITFREQUENCY).
Maximum initial length of hydrodynamic
INITLENGTH
Real
slugs in number of pipe diameters.
Time interval between initiations of
INITPERIODS
RealList (s)
consecutive slugs.
Labels of section boundaries where slug
INITPOSITIONS
SymbolList
generation zones are located.
INITSLUGVOIDS
RealList
[0.0]
Void fraction in the liquid slug.
INITSTARTTIMES
RealList (s)
Start times for slug generation.
RealList
The length of zones where slugs are to be
INITZONELENGTHS
(m)
generated.
Option for detecting and initiating level
LEVEL
Symbol
ON | [OFF]
slugs.
Max number of slugs allowed in the system,
MAXNOSLUGS
Integer
if not given there are no restrictions.
The maximum void allowed in a level slug at
SLUGVOID
Real
initiation time.
Start time for level slug initiation. If not
STARTTIME
Real (s)
given, level detection is on from simulation
start.
HYDRODYNAMIC

Symbol

Link to: SLUGTRACKING (on CASELevel) Description Keys

484 / 769

OLGA 7

SLUGTUNING (on CASELevel)


Description ( See also: Keys)
This statement defines the slug tuning option, witch makes it possible to tune certain parameters in
the slug model. The parameters available for tuning are at the moment very limited.
Remark: The availability of the slug tuning option depends on the users licensing agreement with
SPT Group.
The SLUGTUNING keyword may be used for adjusting the OLGA model to specific sets of
measured data or for sensitivity studies. This keyword is available both in batch and server mode.
SLUGTUNING should be applied with great care, as the validation and verification of the OLGA
model may not be valid for such cases.

SLUGTUNING (on CASELevel) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

DPFACT

Real

[1.0]

DPONSET

Real

[1.0]

SLUGLENGTH

Real

[1e+09]

UBCOEFF1

Real

[1.0]

UBCOEFF2

Real

[1.0]

VOIDINSLUG

Real

[1.0]

VOIDINVERTSLUG Real

[1.0]

Description
Tuning coefficient for slug front pressure
drop (with and without SLUGTRACKING).
Has no effect for a large value of
SLUGLENGTH when not
SLUGTRACKING.
Tuning coefficient for onset of slug front
pressure drop (with and without
SLUGTRACKING). The slug front pressure
drop is set to 0 when the film velocity in the
slug bubble region is larger than a certain
critical velocity which can be tuned.
Slug length (number of diameters) in slug
front pressure drop correlation for unit cell
model (ignored for SLUGTRACKING).dP/dz
is inversly proporsional to SLUGLENGHT.
Tuning coefficient 1 in Taylor bubble
velocity calculation (with and without
SLUGTRACKING).
Tuning coefficient 2 in Taylor bubble
velocity calculation (with and without
SLUGTRACKING).
Tuning coefficient for void in horizontal slug
(with and without SLUGTRACKING).
Tuning coefficient for void in vertical slug
(with and without SLUGTRACKING).

Link to: SLUGTUNING (on CASELevel) Description Keys

485 / 769

OLGA 7

WATEROPTIONS (on CASELevel)


Description ( See also: Keys)
In WATEROPTIONS several options are available for modeling the dispersion viscosity
(DISPERSIONVISC) and the slip between the water and oil phases (WATERSLIP).
If WATERSLIP = CONSTANT, the slip between the oil and water phases must be specified with
VELOCITYDIFFERENCE.
If WATERSLIP = ON, the velocities of liquid hydrocarbon and water is calculated by separate
momentum balance equations.
DISPERSIONVISC specifies which model is used to calculate the dispersion phase viscosity.
If DISPERSIONVISC= OFF, a continuous phase is assumed (no dispersion).
If DISPERSIONVISC = PALRHODES, PHI100 - value of the dispersed phase volume fraction when
the relative viscosity = 100% - must be specified. The relative viscosity is the viscosity of the
dispersed phase divided by the viscosity of the continuous phase.
If DISPERSIONVISC = EXPERIMENT, values for the dispersed phase volume fraction (PHIREL) for
each given value of the relative viscosity (VISCREL) must be specified.
If DISPERSIONVISC = VOLUMEAVERAGE, the user may specify values for the viscosity tuning
factor (VISCMOD) corresponding to given WATERCUT (volume fraction of water in the liquid
phase) values.
The flowing water volume fraction inversion point (INVERSIONWATERFRAC) can be specified for
any Dispersion Viscosity model.

WATEROPTIONS (on CASELevel) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( ) Default:[ ]

AWOELFLIN
BWOELFLIN

Real
Real

[4.2]
[2.5]

DISPERSIONVISC

Symbol OFF | [ON]

DISPMODEL

RONNINGSEN
|
EXPERIMENT
Symbol | WOELFLIN |
BARNEA |
INPUTVISC |
[PALRHODES]

Description
Constant A in Woelflin viscosity correlation
Constant B in Woelflin viscosity correlation
ON: Dispersion viscosity calculated
according to DISPMODEL settings. OFF:
Viscosity volume weighting if WATERSLIP =
OFF or CONSTANT. Viscosity from tables
for continuous phase is used if WATERSLIP
= ON.
Specify which model to be used to calculate
the dispersion viscosity
(DISPERSIONVISC=ON). For further details
see User's manual.
486 / 769

OLGA 7

EMAX

Real

[1.0]

ENTRAINMENTFACTOR Real

[1.0]

FWLOW

Real

[0.0]

INVERSIONWATERFRAC Real

[0.5]

PHI100

Real

[0.765]

PHIREL

Real

[0.0]

VELOCITYDIFFERENCE

Real
(m/s)

[0.0]

VISCMOD

RealList

VISCREL

Real

WATERCUT

RealList

WATERSLIP

OFF |
Symbol CONSTANT |
[ON]

[0.0]

Maximum fraction of water dispersed for


FWLOW < WC < INVERSIONWATERFRAC
Scaling factor for water entrainment rate
from bulk to droplets
Critical water fraction above which the
fraction of the water dispersed into oil <
EMAX
Flowing water volume fraction at inversion
point.
Dispersed phase volume fraction when the
relative viscosity (visc. of dispersed phase/
visc. of continuous phase) is 100%.
Dispersed phase volume fraction given the
relative viscosity (VISCREL). Used if
DISPMODEL=EXPERIMENT.
Define the velocity difference between the
oil and water phases.
Viscosity tuning factors corresponding to
given WATERCUT values. Used if
DISPERSIONVISC=OFF.
Relative viscosity for a given dispersed
phase volume fraction (PHIREL). Used if
DISPMODEL=EXPERIMENT.
Watercut values corresponding to a given
viscosity tuning factor (VISCMOD). Used if
DISPERSIONVISC=OFF.
ON: Oil/water slip velocity is calculated
within the flow model. OFF: No velocity
difference. CONSTANT: A constant velocity
difference between oil and water is
specified. Should be used with great care.

Link to: WATEROPTIONS (on CASELevel) Description Keys

487 / 769

OLGA 7

NODE
Description ( See also: Keys)
This statement defines the nodes in the flow network system. All nodes except CLOSED nodes
need a fluid for fluid properties calculations.
There are four types of nodes:
CLOSED: The node represents a closed boundary (zero flow). This can be combined with a
source or a well definition in the flow path.
PRESSURE: The node represents a pressure boundary. Values for pressure, temperature and
fluid must be given.
INTERNAL: For definition of internal node. Fluid must be given.
The model for internal nodes (merge/split nodes) uses more or less the same physics and the
numerical methods as the sections in the pipes. Pressure, temperature and masses are
calculated. Interphasial mass transfer is included in the node, but entrainment/deposition of
liquid droplets are ignored.
The current implementation of internal nodes require a finite volume in the node. If no volume is
specified (or given as less than or equal to zero), a default volume is calculated by OLGA based
on the sizes of incoming and outgoing sections:

where i is taken over all incoming/outgoing sections. It should be noted that the node does not
account for heat lost to the surroundings.
MASSFLOW: The node represents a mass flow boundary. Values for pressure, temperature,
fluid and mass flow or standard mass flow must be given. The behaviour of the MASSFLOW
node is very similar to a mass source. The main exception is that the MASSFLOW node has an
internal pressure calculation for obtaining the correct pressure that will set up the user given
mass flow rate into the connected pipe.

NODE Keys ( See also: Description )


Key

Type
Unit:( )

CGR

RealList
(Sm3/Sm3)

DENSITY

RealList
(kg/m3)

Parameter
set

Description

Default:[ ]
Condensate-gas ratio. By default, CGR
from the PVT table is used.
Density of the drilling fluid for each time
point. Must be within the min and max
density as specified in the keyword
DRILLINGFLUID
Refer to the drilling fluid defined by the
keyword DRILLINGFLUID. Requires 488 / 769

OLGA 7

DRILLINGFLUID

FEEDMASSFLOW
FEEDMASSFRACTION
FEEDMOLEFLOW
FEEDMOLEFRACTION
FEEDNAME

FEEDSTDFLOW

FEEDVOLFRACTION

FLUID

FLUIDTYPE

GASFRACEQ

GASFRACTION

GLR
GOR
INFO
INHIBFRACTION
LABEL
LINE

Symbol

keyword DRILLINGFLUID. Requires


access to the Wells module.
Mass rate for each feed (used when
RealList
mass source is defined). One item per
(kg/s)
time and feed.
RealList
Mass fraction of each feed.
Mole rate for each feed (used when mass
RealList
source is defined). One item per time and
(kmol/s)
feed.
RealList
Mole fraction of each feed.
Label of feeds feeding to terminal nodes.
FEED-1 |
SymbolList
Requires COMPOSITIONAL=ON or
BOFEED-1
BLACKOIL under the OPTIONS keyword.
Volumetric flow rate at standard
RealList
conditions of phase PHASE for each feed
(Sm3/s)
specified by FEEDNAME (only for
Blackoil model).
Volume fraction of each feed given in
RealList
FEEDNAME for choke model (only for
Blackoil model).
Label or number of fluid table to apply for
the specific branch. If a keyword based
Symbol
pvt-file is used, FLUID must be the same
as the LABEL given in the pvt-file, i.e.,
numbering is not valid for this format.
GAS | OIL |
The phase of a fluid from a single-phase
Symbol
WATER
source.
By default, the equilibrium gas fraction of
the total flow is used for the gas flow in
the compositional or the Blackoil model
RealList
[1.0]
(GASFRACEQ=1). However, the user
may specify a fraction of the gas
equilibrium flow to be sent into the
pipeline.
Gas mass fraction of the inflow gas+oil
mixture. Specify 1 for OLGA to use the
RealList
[-1.0]
equilibrium values from the PVT table. A
list of both positive and negative values is
not allowed.
RealList
Gas/liquid volumetric flow ratio at
(Sm3/Sm3)
standard conditions.
Gas/oil volumetric flow ratio at standard
RealList
[-1.0]
conditions. By default, GOR from the
(Sm3/Sm3)
PVT table is used.
General information about the node. For
String
information purposes only.
Mass fraction of inhibitor in the water
RealList
[0.0]
phase.
Network component label (if nothing is
String
[NODE_tag]
given the NC tag is used).
YES |
If connected to a single-phase flowpath
Symbol
CROSSOVER or not. CROSSOVER for a crossover
| [NO]
node.
489 / 769

OLGA 7

| [NO]
MASSFLOW
MAXPRESSUREBOOST

RealList
(kg/s)
RealList
(Pa)

node.
Total mass flow rate at different instants
in time.
Maximum pressure boost for a crossover
node.
Molecular weight of equivalent gas (total
flow). By default, the gas density at
standard conditions from the PVT table is
used to determine the molecular weight.
By default, the equilibrium oil fraction of
the total flow is used for the oil flow in the
compositional or the Black oil model
(OILFRACEQ=1).

MOLWEIGHT

RealList
(kg/kmol)

OILFRACEQ

RealList

[1.0]

Symbol

<None> |
LIQUID | GAS The phase for which the volumetric flow
| OIL |
rate is specified.
WATER

PHASE

PRESSURE
STDFLOWRATE

STEAMFRACTION

TEMPERATURE
TIME
TOTALINHIBFRACTION

RealList
(Pa)
RealList
(Sm3/s)

RealList

RealList
(C)
RealList
(s)
RealList

TOTALWATERFRACTION RealList

TYPE

Symbol

Boundary pressure.

[-1.0]

Volumetric flow rate at standard


conditions.
Fraction of total mass of H2O component
in the gas phase. By default (=-1), the
mass of H2O component is in the gas
phase if the temperature is greater than
the saturation temperature, otherwise,
the mass of H2O component is
distributed between the gas phase and
the water phase according to the vapor
pressure of H2O in the gas phase. A list
of both positive and negative values is
not allowed.
Temperature of the inflow mixture.

Instants in time for the specified values of


the boundary conditions.
Mass fraction of inhibitor in total water
[0.0]
(water phase+water vapor).
Mass fraction of total water in the total
boundary fluid mixture. Use 1 for the
[-1.0]
total water fraction to be taken from the
PVT table. Either this key or
WATERFRACTION can be specified.
Boundary type. CLOSED: Closed inlet or
outlet node. INTERNAL: Nodes or
CLOSED |
junctions that have one or more incoming
PRESSURE | and one or more outgoing branches
MASSFLOW | (covers both MERGE and SPLIT nodes).
INTERNAL
PRESSURE: Inlet or outlet node with a
pressure condition. MASSFLOW: Inlet or
outlet node with a massflow condition.
Viscosity of the drilling fluids for each
time point. Must be within the min and
[0.0]

490 / 769

OLGA 7

VISCOSITY

RealList
(Ns/m2)

VOLUME

Real (m3)

[-1]

WATERCUT

RealList

[-1.0]

WATERFRACEQ

RealList

[1.0]

WATERFRACTION

RealList

WAXFRACTION

RealList

WGR

RealList
[-1.0]
(Sm3/Sm3)

Real (m)

[0]

Real (m)

[0]

Real (m)

[0]

[1.0]

time point. Must be within the min and


max viscosity as specified in the keyword
DRILLINGFLUID
Volume of internal node. If specified
volume is less than or equal to 0, OLGA
will estimate the volume.
Water volume fraction in oil/water mixture.
With a value of -1.0 the total water
fraction is taken from the PVT table.
By default, the equilibrium water fraction
of the total flow is used for the water flow
in the compositional or the Black oil
model (WATERFRACEQ=1).
Mass fraction of free water in the total
boundary fluid mixture. Either this key or
TOTALWATERFRACTION can be
specified.
Scaling factor for determining the amount
of wax forming components relative to HC
mixture. The value must be in the range
[0,1]. 1 means the amount of wax forming
components is equal to values from the
wax table. Requires
WAXDEPOSITION=ON under OPTIONS
and access to the waxdeposition module.
Water-gas ratio. By default, WGR from
the PVT table is used.
x-coordinate of node in network. Used for
3D graphics only.
y-coordinate (vertical axis) of node in
network. Used for 3D graphics only.
z-coordinate of node in network. Used for
3D graphics only.

Link to: NODE Description Keys

491 / 769

OLGA 7

OUTPUTDATA (on NODE)


Description ( See also: Keys)
This statement defines the node variables to be printed to the output file (*.out).
See Node Output Variables for available variables.

OUTPUTDATA (on NODE) Keys ( See also: Description )


Key

VARIABLE

Type
Unit:( )

Parameter
set

Description

Default:[ ]

SymbolList
(ValueUnitPair)

List of variables to be printed. Units may be


specified.

Link to: OUTPUTDATA (on NODE) Description Keys

492 / 769

OLGA 7

TRENDDATA (on NODE)


Description ( See also: Keys)
This statement defines the trend data to be plotted for nodes. A trend plot is a time series plot for a
specified variable.
For available variables see Node Output Variables.

TRENDDATA (on NODE) Keys ( See also: Description )


Key

VARIABLE

Type
Unit:( )

Parameter
set

Description

Default:[ ]

SymbolList
(ValueUnitPair)

List of variables to be plotted. Units may be


specified.

Link to: TRENDDATA (on NODE) Description Keys

493 / 769

OLGA 7

FLOWPATH
Description ( See also: Keys)
This statement defines the label of the flow path.

FLOWPATH Keys ( See also: Description )


Type

Parameter set

Unit:( )

Default:[ ]

FLUIDTYPE

Symbol

GAS | OIL | WATER

INFO

String

LABEL

String

[FLOWPATH_tag]

LINE

Symbol

YES | [NO]

Key

Description
The phase of the fluid flowing in the singlephase line.
General information about the flowpath. For
information purposes only.
Network component label (if nothing is
given the NC tag is used).
NO: Three-phase flow. YES: Use a singlephase fluid in the flowline.

Link to: FLOWPATH Description Keys

494 / 769

OLGA 7

BRANCH (on FLOWPATH)


Description ( See also: Keys)
This statements defines a grouping of pipes by reference to a GEOMETRY.

BRANCH (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

FLUID

Symbol

GEOMETRY

Symbol

INIFLOWDIR

Symbol

Description

NEGATIVE |
[POSITIVE]

Label or number of the fluid table to apply


for this branch. If a keyword based pvt-file is
used, FLUID has to be the LABEL given in
the pvt-file, i.e., numbering is not valid for
this format.
Label of GEOMETRY keyword. Only one
geometry is allowed in each BRANCH
statement.
Preprocessor input. Defines whether the
initial guess on the flow direction for a
branch should be positive or negative.
Changing the direction might avoid a crash
in the preprocessor or result in a solution
closer to the transient steady state solution.

Link to: BRANCH (on FLOWPATH) Description Keys

495 / 769

OLGA 7

GEOMETRY (on FLOWPATH)


Description ( See also: Keys)
This statement defines the geometry label and the co-ordinates of the starting point for a branch.
The pipes belonging to this geometry must be defined sequentially after the geometry statement by
use of the PIPE-keyword for each pipe.

GEOMETRY (on FLOWPATH) Keys ( See also: Description )


Type

Parameter set

Unit:( )

Default:[ ]

LABEL

String

[GEOMETRY-1]

XSTART

Real (m) [0]

YSTART

Real (m) [0]

ZSTART

Real (m) [0]

Key

Description
Geometry label
x-coordinate of the starting point of the
geometry
y-coordinate of the starting point of the
geometry
z-coordinate of the starting point of the
geometry

Link to: GEOMETRY (on FLOWPATH) Description Keys

496 / 769

OLGA 7

PIPE (on FLOWPATH)


Description ( See also: Keys)
This statement defines the pipe elements in a geometry. A pipe is one straight part of a pipeline.
Pipe data such as geometrical data: elevation, diameter, roughness, number and length of sections
for discretization are specified.
If the temperature option is WALL or FASTWALL in OPTIONS, a WALL for the pipe must be
specified.

PIPE (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

AREA

Real (m2)

DIAMETER

Real (m)

ELEVATION

Real (m)

IDIAMETER

Real (m)

LABEL
LENGTH
LSEGMENT

String
Real (m)
RealList (m)

NEQUIPIPE

Real

NSEGMENT

Integer

ODIAMETER

Real (m)

ROUGHNESS
WALL
XEND
YEND
ZEND

Real (m)
Symbol
Real (m)
Real (m)
Real (m)

[PIPE-1]

[0]

Description
Total cross-sectional flow area in case of
equivalent pipes. Equivalent pipe means
one single pipe representing a number of
equal parallel pipes with a correct total flow
area.
Hydraulic diameter of the pipe. Equivalent
to the pipe's inner diameter for normal pipe
flow.
End point elevation relative to starting point
of the pipe.
Inner diameter of external pipe for annulus
flow.
Pipe label.
Length of the pipe.
Section lengths.
Total number of pipes represented in the
equivalent pipe. The total flow area in the
equivalent pipe will correspond to this
number of original parallel pipes.
Number of sections in the pipe.
Outer diameter for internal pipe for annulus
flow. Zero for internal flow.
Absolute roughness of the pipe wall.
Label of the wall used.
x-coordinate of the pipe end.
y-coordinate of the pipe end.
z-coordinate of the pipe end.

Link to: PIPE (on FLOWPATH) Description Keys

497 / 769

OLGA 7

POSITION (on FLOWPATH)


Description ( See also: Keys)
This statement specifies a position along the pipeline. It may either specify a distance from flow
path inlet (ABSPOSITION), or a reference to a pipe and a section-volume/-boundary number.

POSITION (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

ABSPOSITION

Real (m)

LABEL
PIPE
SECTION
SECTIONBOUNDARY

String
Symbol
Integer
Integer

[POS-1]
0
1

Description
Absolute position. Distance from branch
inlet.
Position label.
Pipe label.
Section number of position.
Section boundary number of position.

Link to: POSITION (on FLOWPATH) Description Keys

498 / 769

OLGA 7

CHECKVALVE (on FLOWPATH)


Description ( See also: Keys)
Defines a check valve in the pipeline. Allows flow only in the defined flow direction.

CHECKVALVE (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

ABSPOSITION

Real (m)

DIRECTION

Symbol

LABEL

String

PIPE

Symbol

POSITION

Symbol

SECTIONBOUNDARY Integer

NEGATIVE |
[POSITIVE]
[CHECK-1]

Description
Absolute position. Distance from branch
inlet.
Allowed direction. Positive direction refers
to direction of increasing section number.
Check valve label.
Pipe number or pipe label where the check
valve is located.
Position label where the source is located. If
this is defined, PIPE and SECTION should
not be used.
Section boundary number where the
checkvalve is located.

Link to: CHECKVALVE (on FLOWPATH) Description Keys

499 / 769

OLGA 7

COMPRESSOR (on FLOWPATH)


Description ( See also: Keys)
Describes the configuration of a compressor in the system. The compressor is represented through
its characteristics which give pressure increase and temperature as a function of flow and rotating
speed (RPM). Note that the compressor characteristics are given in a separate file. It is possible to
specify characteristics for more than one compressor. Each of the characteristics is assigned to a
label, which is referred to in the COMPRESSOR statement.
The compressor RPM is governed by the compressor speed controller:
RPM = RPMmin + urpm (RPMmax - RPMmin)
where
urpm = output signal from compressor speed controller
The recirculation is governed by the anti surge controller (ASC).
Note that a compressor cannot be defined at the first or last section boundary of a pipeline.

COMPRESSOR (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

ABSPOSITION

Real (m)

CD

Real

COMPRDATA

Symbol

COOLCAPACITY

Real (W)

COOLER

Symbol

DIAMETER

Real (m)

LABEL
MAXRPM
MINRPM

String
[COMPR-1]
Real (rpm)
Real (rpm)

PIPE

Symbol

POSITION

Symbol

SECTIONBOUNDARY Integer

[0.84]

ON | [OFF]

Description
Absolute position. Distance from branch
inlet.
Discharge coefficient of valve/choke in
recycle loop.
Name of compressor data. This refers to a
label in the compressor characteristics file.
Maximum heat transfer rate from fluid
flowing through the heat exchanger in the
recycle loop.
Switch for turning on or off heat exchanger
in recycle loop.
Orifice diameter of valve/choke in recycle
loop.
Label of the compressor.
Maximum RPM.
Minimum RPM.
Number/name of pipe where compressor is
located.
Position of the compressor. If POSITION is
defined, PIPE and SECTIONBOUNDARY
should not be used.
Section boundary number where
compressor is located.

500 / 769

OLGA 7

SECTIONBOUNDARY Integer
SECURITYFACTOR

Real

TEMPERATURE

RealList
(C)

TIME

RealList (s)

compressor is located.
Security factor (e.g. 1.2 implies that the min.
flow is 120% of surge rate).
Temperature values out of heat exchanger.
Number of temperature values must
correspond to the number of times given in
the TIME-key.
Time series for temperature out of heat
exchanger.

Link to: COMPRESSOR (on FLOWPATH) Description Keys

501 / 769

OLGA 7

HEATEXCHANGER (on FLOWPATH)


Description ( See also: Keys)
This statement describes the effects of a heat exchanger. There are two types of heat exchangers;
setpoint and controlled.
The setpoint heat exchanger is represented as an ideal loss. The heat exchanged is equal to the
enthalpy difference corresponding to the difference between the inlet temperature and a user
specified outlet temperature of the heat exchanger.
The controlled heat exchanger does not know the outlet temperature and does not calculate the
heat exchanged. Instead it uses a controller to specify the effect to be used. The controller signal
(which should be between 0 and 1) is the fraction of the heat exchangers maximum capacity. A
controller signal of 1 implies that the heat exchanger uses its maximum capacity.
Note that a heat exchanger cannot be defined at the first or last section boundary of the pipeline.

HEATEXCHANGER (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

ABSPOSITION

Real (m)

CAPACITY

Real (W)

LABEL

String

PIPE

Symbol

POSITION

Symbol

SECTION

Integer

TEMPERATURE
TIME
TYPE

[HEATEX-1]

RealList
(C)
RealList
(s)
Symbol

Description
Absolute position. Distance from branch
inlet.
Maximum heat exchanger capacity. Positive
value is for heating and negative value for
cooling.
Heat exchanger label.
Number/name of the pipe where heat
exchanger is located.
Position of the heat exchanger. If POSITION
is defined, PIPE and SECTIONBOUNDARY
should not be used.
Section number where the heat exchanger
is located.
Heat exchanger outlet temperature set
points.
Time series in temperature set point table.

CONTROLLED |
[SETPOINT]

Heat exchanger type.

Link to: HEATEXCHANGER (on FLOWPATH) Description Keys

502 / 769

OLGA 7

LEAK (on FLOWPATH)


Description ( See also: Keys)
This statement specifies a negative mass source (mass out of the pipe). The leak is positioned in
the middle of the section that is specified. Both sub-critical and critical flow is modelled.
It can be used to model a valve or rupture where the mass out of the pipe is removed from the
simulated system, that is, the mass is lost to the surroundings.
Backflow is not allowed for the LEAK, that is, there will be no backflow if section pressure is lower
than the backpressure.
The LEAK has one optional input terminal, INPSIG. INPSIG scales the LEAK flow area.

LEAK (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

ABSPOSITION

Real (m)

ALFA

Real

BACKPRESSURE

RealList
(Pa)

Description
Absolute position. Distance from branch
inlet.
For TEMPDEPENDENCY=ON.
Constant used for a temperature
dependent GLV. 0 means that the
bellows temperature equals the injection
temperature, 1 means the production
temperature, and interpolation for <0,1>.
Leak back pressure

For TEMPDEPENDENCY=ON.
Pressure in GLV bellows (dome) at
BELLOWSPRESSURE Real (Pa)
REFTEMPERATURE, used for a
temperature dependent GLV.
Leak discharge coefficient. Used only in
CD
Real
[0.84]
pressure driven source.
Ratio between gas and liquid sizing
CF
Real
coefficient.
Choice of critical flow model to be used.
HENRYFAUSKE |
CRITFLOWMODEL
Symbol
Homogenous frozen critical flow model
[FROZEN]
or Henry-Fauske model.
Maximum equivalent diameter of leak
DIAMETER
Real (m)
area
Names of tables (defined in keyword
GASLIFTTABLES
SymbolList
TABLE) that define the curves of a GLV.
For TEMPDEPENDENCY=ON. Specify
PRODOPERATED whether a GLV is operated by injection
GLVOPERATION
Symbol
| [INJOPERATED] pressure or production pressure. Used
for a temperature dependent GLV.
LABEL
String
[LEAK-1]
Label of the leak.
503 / 769

OLGA 7

PHASE

Symbol

PIPE

Symbol

POSITION

Symbol

Real

REFTEMPERATURE

Real (C)

SECTION

Integer

TABLE

SymbolList

TEMPDEPENDENCY

Symbol

TIME

RealList
(s)

TOPOSITION

Symbol

<None> | GAS |
LIQUID

ON | [OFF]

Predominant phase. Used with valve


characteristics.
Number/name of pipe where leak is
located.
Position of the leak. If POSITION or
ABSPOSITION is defined, PIPE and
SECTION should not be used.
For TEMPDEPENDENCY=ON.
Geometry factor used for a temperature
dependent GLV.
For TEMPDEPENDENCY=ON. The
temperature for which the gas lift
response curve is defined.
Section number where the leak is
located.
Label of table containing valve
characteristics.
Specify the temperature dependency of
a GLV. OFF: No temperature
dependency. ON: Temperature
dependency for a nitrogen charged
bellow. Sub-keys ALFA,
BELLOWPRESSURE,
GLVOPERATION, R and
REFTEMPERATURE must be specified.
The time series for the leak back
pressure
Refer to position the leak is targeted to.
When this key is used, the following
sub-keys cannot be defined: TIME,
BACKPRESSURE.

Link to: LEAK (on FLOWPATH) Description Keys

504 / 769

OLGA 7

LOSS (on FLOWPATH)


Description ( See also: Keys)
This statement defines pressure loss due to valves, bends, contractions, expansions or other
obstructions in or between pipes.
The expansion pressure recovery that is always included in OLGA is:

The contraction pressure loss that is always included in OLGA is:

The additional loss specified by the user for positive flow is:

The additional loss specified by the user for negative flow is:

Figure A

An illustration of the use of loss coefficients for contraction and expansion.

LOSS (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

ABSPOSITION

Real (m)

LABEL

String

[LOSS-1]

Description
Absolute position where the pressure loss is
located. Distance from branch inlet.
Loss label.
Loss coefficient when the flow is in negative
505 / 769

OLGA 7

NEGCOEFF

Real

PIPE

Symbol

POSCOEFF

Real

POSITION

Symbol

SECTIONBOUNDARY Integer

Loss coefficient when the flow is in negative


direction.
Pipe label with pressure loss.
Loss coefficient when the flow is in positive
direction.
Position where the pressure loss is located.
Section boundary where pressure loss is
located.

Link to: LOSS (on FLOWPATH) Description Keys

506 / 769

OLGA 7

PUMP (on FLOWPATH)


Description ( See also: Keys)
OLGA contains four pump models: the centrifugal pump, the displacement pump, the simplified
centrifugal pump and the pump battery model. The desired pump model is selected by setting the
PUMPTYPE subkey of the PUMP keyword..
Centrifugal pump
For the centrifugal pump, the pressure increase over the pump, P, is dependent on the flow rate
Q, pump speed N, inlet gas volume fraction I, and the pump inlet pressure PI.
A valve can be located at the centrifugal pump section boundary for controlling flow through the
pump.
The transient pump characteristics for a centrifugal pump presented in the form of four quadrant
curves. The four quadrant curves are converted to a simpler form by the development of
homologous curves where the head and torque ratios (actual value to rated value) are functions of
the pump speed and flow rate ratios. A complete default set of homologous curves is tabulated in
the code. These are based on experimental data and are representative for centrifugal pumps. If
other curves shall be used they must be given with the TABLE keyword.
Displacement pump
For the displacement pump, the pump flow rate can be expressed as the difference between the
theoretical flow rate and the back flow rate. For a given pump the theoretical rate is proportional to
pump speed. The back flow is tabulated as a function of pump speed, pressure increase across the
pump, void fraction at pump inlet, liquid kinetic viscosity and pressure at pump inlet. A default table
is included in the code. If other table values shall be used they must be given with the TABLE
keyword.
The following options are available for controlling the pump speed:
(1). Controlled manually by specifying time and speed series in the controller definition. The
setpoint specifies the required N (MAXSPEED > N > MINSPEED)
(2). Regulated by a physical parameter. The speed is calculated by N = MINSPEED + u
(MAXSPEED - MINSPEED)
Here MAXSPEED is the maximum pump speed (defined by user), MINSPEED is the minimum pump
speed (defined by user) and u the signal from the controller.
Simplified centrifugal pump
A simplified description of a centrifugal pump is used for modeling the behavior of a centrifugal
pump around an operational point. Simple algebraic expressions are used to calculate pressure
increase over the pump and pump efficiency.
Pump battery
The pump battery is used for pumping drilling fluid, e.g. muds in a drilling operation. The purpose is
to get an overall estimate of pump power needed as well as the volume of mud pumped. The
volume delivered iby the pump is proportional to the rate of pump strokes.
(k)
where
QP

Volume delivered by the pump battery


507 / 769

OLGA 7

PFAC
SPES

=
=

Pumping factor
Strokes per time unit

The pump rate is normally controlled by the following set of controllers:


Controller on the maximum hydraulic horsepower allowed
Controller on the maximum pump rate
Controller on the minimum pump rate
Controller on the maximum pump pressure allowed
If either one of these controllers is set into action the pump rate is reduced automatically. The
number of controllers can be extended above the number shown above and different variables (e.g.
fluid rate, inflow rate) can be used to control the pumps.
Note that a pump cannot be defined at the first or last section boundary of a pipeline.
See also:
Pump - Purpose

PUMP (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

ABSPOSITION

Real (m)

ACCECOEFF

Real
[0.0]
(rad/s2)

ACOEFFICIENT

Real

[1.6]

BCOEFFICIENT

Real

[1.6]

BYDIAMETER

Real (m) [0.0]

DCOEFF1
DCOEFF2
DCOEFF3

Real
[0.0]
(1/rpm)
Real
[0.0]
(1/m3/s)
Real
Real

[0.0]

Description
Absolute position. Distance from branch
inlet.
Pump speed acceleration. When recycle
flow is over or below the limits, this value
will be used to increase or decrease the
pump speed. For centrifugal and
displacement pumps.
Experimentally determined exponent for
calculating the mechanical friction loss for a
displacement pump.
Experimentally determined exponent for
calculating the viscous friction loss for a
displacement pump.
Diameter of the valve in the bypass flow
line. For centrifugal and displacement
pumps. Has to be 0.0 if
PUMPTYPE=SIMPLIFIED.
Relative change in pump pressure increase
with pump speed for simplified pump.
Relative change in pump pressure increase
with flow rate for simplified pump.
Relative reduction in pump pressure
increase with gas volume fraction.
Rated pump density. Used for centrifugal
508 / 769

OLGA 7

DENSITYR
DPRATED
ECOEFF1
ECOEFF2

Real
[900]
(kg/m3)
Real
(bar)
Real
[0.0]
(1/rpm)
Real
[0.0]
(1/m3/s)

ECOEFF3

Real

[0.0]

EFFIMECH

Real

[0.7]

EFFRATED

Real

[0.5]

FLOWRATED

Real
(m3/s)

HEADRATED

Real (m)

HPMAX
LABEL
MAXCAPACITY
MAXPRESSURE
MAXRECYCLE
MAXSPEED
MDISSIPATION
MINCAPACITY
MINRECYCLE
MINSPEED
PIPE
POSITION
PREFSPEED

PUMPTYPE

RECDIAMETER

RECPHASE

Real
(W)
String
Real
(m3/s)
Real
(Pa)
Real
(kg/s)
Real
(rpm)
Real
(W)
Real
(m3/s)
Real
(kg/s)
Real
(rpm)
Symbol
Symbol
Real
(rpm)

[PUMP-1]

Rated pump density. Used for centrifugal


and simplified pumps.
Pump pressure increase at rated conditions
for simplified pump.
Relative change in pump efficiency with
pump speed for simplified pump.
Relative change in pump efficiency with
pump speed for simplified pump.
Relative reduction in pump efficiency with
gas volume fraction.
Mechanical efficiency of centrifugal and
simplified pump.
Adiabatic efficiency of simplified pump at
rated conditions.
Rated pump flow. Used for centrifugal and
simplified pumps.
Rated pump head. Used for centrifugal
pumps.
Maximum hydraulic horsepower for each
single pump in the pump battery.
Label of the pump.
Maximum flow capacity for pump battery.
Maximum downstream pressure for pump
battery.
Maximum recycle mass flow rate.
Maximum pump speed.

[0.0]

Mechanical dissipation at nominal speed for


a displacement pump.
Minimum flow capacity for pump battery.

[0.0]

Minimum recycle mass flow rate.

[0.0]

Minimum pump speed.

[3000]

Pipe label for pump location.


Position where pump is located.
Pump reference speed. Used for
displacement pumps.

DISPLACEMENT
| SIMPLIFIED |
Symbol PUMPBATTERY Pump model.
|
[CENTRIFUGAL]
Choke diameter for recycle flow. For
Real (m)
centrifugal and displacement pumps. Has to
be 0.0 if PUMPTYPE=SIMPLIFIED.
<None> | GAS |
Phase of recycle flow. For centrifugal and
Symbol LIQUID | WATER
displacement pumps.

509 / 769

OLGA 7

RECPHASE

Symbol

SECTIONBOUNDARY Integer
SPECAPACITY
SPEEDR
TABLE
TORQMAX
TORQR
VDISSIPATION

LIQUID | WATER
| [MIXTURE]
0

Real
(m3/R)
Real
(rpm)
Symbol
Real
(Nm)
Real
(Nm)
Real
(W)

[0.0]

displacement pumps.
Section boundary number where the pump
is located.
Pump specific volumetric capacity, Qspc.
Used for displacement pumps.
Rated pump speed. Used for centrifugal
and simplified pumps.
Name of the tables of pump back flow data
or pump characteristic data. For centrifugal
and displacement pumps.
Maximum motor torque allowed. Can only
be used for centrifugal pumps.
Rated pump hydraulic torque. Used for
centrifugal pumps.
Viscous dissipation at nominal speed for a
displacement pump.

Link to: PUMP (on FLOWPATH) Description Keys

510 / 769

OLGA 7

TRANSMITTER (on FLOWPATH)


Description ( See also: Keys)
This keyword defines output-signals sent from the branch. The signals can be received by a
signalcomponent (typicallly a controller). The signals can be measured values in the branch, e.g.
pressure, massflow etc. Controllers that receive these measured values use them to calculate new
signal which in turn is used to regulate e.g. a valve opening (see Controllers).

TRANSMITTER (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

ABSPOSITION

Real (m)

LABEL
PIPE

String
Symbol

[TM-1]

SECTION

Integer

SECTIONBOUNDARY Integer

Description
Absolute position. Distance from branch
inlet.
Transmitter Terminal label.
Pipe number for the transmitter.
Section number where the transmitter is
located.
Section boundary number where the
transmitter is located.

Link to: TRANSMITTER (on FLOWPATH) Description Keys

511 / 769

OLGA 7

VALVE (on FLOWPATH)


Description ( See also: Keys)
Here data for valves and chokes are defined.
The position of the valve can be specified in 3 ways:
1.
2.
3.

by referring to a pipe and a section boundary number


by referring to a pre-define position
by specifying the distance from the left end of the branch (absolute position)

The valve performance is either obtained from a discharge coefficient and the maximum choke
diameter, or from a table with valve characteristics. The relative opening of the valve can be
prescribed as a function of time, or it can be driven by a controller.
There are two valve models (GASSIZING and HYDROVALVE). Model selection is done with the
MODEL key. GASSIZING is a implementation of the gas sizing equation given in Valve - Methods
and assumptions Valve - Methods and assumptions. The GASSIZING option requires gas valve
characteristics given by the TABLE key. HYDROVALVE can be used to simulate chokes, liquid
valves and gas valves.

VALVE (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

ABSPOSITION

Real (m)

CD

Real

CF

Real

CRITFLOWMODEL

Symbol

DIAMETER
LABEL

Real (m)
String

MODEL

Symbol

OPENING

RealList

PHASE

Symbol

PIPE

Symbol

POSITION

Symbol

Description

Absolute position. Distance from branch


inlet.
[0.84]
Discharge coefficient.
Ratio between gas and liquid sizing
coefficient.
Choice of critical flow model to be used.
HENRYFAUSKE Homogenous frozen critical flow model or
| [FROZEN]
Henry-Fauske model. In addition, a forced
subcritical option is available.
Maximum valve diameter.
[VALVE-1]
Valve label. Default is valve number.
Valve model. HYDROMODEL is used for
chokes and valves with liquid/gas
GASSIZING |
characteristics. GASSIZING can only be
[HYDROVALVE]
used to simulate valves with gas
characteristics.'
Relative openings in the valve opening
[1.0]
timetable.
<None> | GAS | The type of flow through the valve. For two
LIQUID
or three phase flow, use LIQUID.
Pipe label where the valve is located.
Position where the valve is located. If this
value is defined PIPE and
SECTIONBOUNDARY should not be used.
512 / 769

OLGA 7

SECTIONBOUNDARY Integer
STROKETIME
TABLE
TIME

Real (s)
[0.0]
SymbolList
RealList
[0.0]
(s)

Section boundary number where the valve


is located.
Stroke time of the valve.
Label of table for valve characteristics.
Time series for valve opening table.

Link to: VALVE (on FLOWPATH) Description Keys

513 / 769

OLGA 7

HEATTRANSFER (on FLOWPATH)


Description ( See also: Keys)
This statement specifies the heat transfer data for the pipe walls. The temperature of the
surroundings must be given. In addition to this one of the following three options must be used:
1. Specify overall heat transfer coefficient: UVALUE (requires TEMPERATURE=UGIVEN in
OPTIONS)
2. Specify ambient heat transfer coefficient: HAMBIENT (HOUTEROPTION=HGIVEN, requires
TEMPERATURE=WALL in OPTIONS)
3. Specify properties of the ambient fluid (HOUTEROPTION=OTHER / WATER / AIR, requires
TEMPERATURE=WALL in OPTIONS)
For options 2 and 3, the overall heat transfer coefficient is calculated and the keyword WALL have
to be specified. If option 3 is used, the ambient heat transfer coefficient is a function of the pipe
diameter, the fluid velocity, and fluid properties such as density and viscosity. Velocity and fluid
properties have to be given only if a user specified fluid is used (HOUTEROPTION=OTHER). The
VELOCITY can be specified for HOUTEROPTION=AIR or WATER, otherwise the default values
4 m/s and 1 m/s, respectively, will be used. Default values are applied for all other properties when
HOUTEROPTION=AIR or WATER.
In order to simplify the input of the ambient temperature distribution along a predefined pipeline
section, the user can specify start and end ambient temperature and OLGA will perform an
interpolation along the pipeline. Four different interpolation options are available. For the default
option, SECTIONWISE, the ambient temperature is given by the user for the midpoint of the first
and last section. The interpolation is performed between these points using the distance between
section midpoints to achieve a linear temperature profile with respect to the distance along the
pipeline. For the options HORIZONTAL, LENGTH, and VERTICAL, the ambient temperature is
specified at the inlet and outlet boundaries (INTAMBIENT and OUTTAMBIENT). The interpolation
is then based on either horizontal length, actual length, or vertical depth.

HEATTRANSFER (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

CAPACITY

RealList
(J/kg-C)

CONDUCTIVITY

RealList
(W/m-C)

Description
Heat capacity of ambient fluid. If
HOUTEROPTION is AIR, 1000 J/KG-K is
used. If HOUTEROPTION is WATER,
4186 J/KG-K is used. Input can either be
a single value (constant along range of
sections), two values (length-interpolated)
or given explicitly for each section.
Thermal conductivity of ambient fluid. If
HOUTEROPTION is AIR, 0.023 W/mK is
used. If HOUTEROPTION is WATER,
0.56 W/mK is used. Input can either be a
single value (constant along range of
sections), two values (length-interpolated)
or given explicitly for each section.
Density of ambient fluid. If
HOUTEROPTION is AIR, 1.29 kg/m3 is

514 / 769

OLGA 7

DENSITY

RealList
(kg/m3)

EXPANSION

RealList
(1/C)

HAMBIENT

RealList
(W/m2-C)

HMININNERWALL

RealList
(W/m2-C)

[0.0]

HOUTEROPTION

Symbol

AIR | WATER |
OTHER |
[HGIVEN]

INHAMBIENT

Real
(W/m2-C)

INTAMBIENT

INTERPOLATION

OUTHAMBIENT

OUTTAMBIENT

PIPE
SECTION
TAMBIENT

HOUTEROPTION is AIR, 1.29 kg/m3 is


used. If HOUTEROPTION is WATER,
1000 kg/m3 is used. Input can either be a
single value (constant along range of
sections), two values (length-interpolated)
or given explicitly for each section.
Thermal expansion coefficient of ambient
fluid. If HOUTEROPTION is AIR, 34E-4
1/C is used. If HOUTEROPTION is
WATER, 21E-5 1/C is used. Input can
either be a single value (constant along
range of sections), two values (lengthinterpolated) or given explicitly for each
section.
Mean heat transfer coefficient on outer
wall surface. Input can either be a single
value (constant along range of sections)
or given explicitly for each section.
Minimum inner heat transfer coefficient on
inner wall surface.
Option for ambient heat transfer
coefficient.

Overall heat transfer coefficient at the


inlet of the first pipe in a pipeline section
where interpolation is used for overall
heat transfer coefficient.
Ambient temperature at the inlet of the
Real (C)
first pipe in a branch where interpolation
is used for ambient temperature.
Type of interpolation used to calculate the
<None> |
ambient temperature and outer heat
LENGTH |
transfer coefficient. Note that the outer
Symbol
HORIZONTAL |
heat transfer coefficient is only affected by
VERTICAL |
the INTERPOLATION key when
[SECTIONWISE]
HOUTEROPTION = HGIVEN.
Overall heat transfer coefficient at the
Real
outlet of the last pipe in a pipeline section
(W/m2-C)
where interpolation is used for overall
heat transfer coefficient.
Ambient temperature at the outlet of the
last pipe in a pipeline section where
Real (C)
interpolation is used for ambient
temperature.
Pipe label or pipe number (single or
SymbolList [ALL]
continuous range in the form x-y).
IntegerList 0
Section number.
Ambient temperature. Input can either be
RealList
a single value (constant along range of
(C)
sections) or given explicitly for each
section.
List of reference to TIMESERIES
keywords. The value of each time series
515 / 769

OLGA 7

TAMBIENTSERIES

SymbolList

TAMBSERIESFACTOR RealList

UVALUE

RealList
(W/m2-C)

VELOCITY

RealList
(m/s)

VISCOSITY

RealList
(N-s/m2)

[1]

is scaled with a corresponding factor in


TAMBSERIESFACTOR and added as an
increment to the temperature defined in
TAMBIENT or INTAMBIENT and
OUTTAMBIENT.
List of factors to be used to scale ambient
temperature time series in
TAMBIENTSERIES. Note that this key
also introduces the unit of the function.
Overall heat transfer coefficient given by
user based on the inner pipe diameter.
Speed of ambient fluid. If
HOUTEROPTION is AIR, default is 4 m/s.
If HOUTEROPTION is WATER, default is
1 m/s. Input can either be a single value
(constant along range of sections), two
values (length-interpolated) or given
explicitly for each section.
Viscosity of ambient fluid. If
HOUTEROPTION is AIR, 1.8E-5 N-s/m2
is used. If HOUTEROPTION is WATER,
1E-3 N-s/m2 is used. Input can either be a
single value (constant along range of
sections), two values (length-interpolated)
or given explicitly for each section.

Link to: HEATTRANSFER (on FLOWPATH) Description Keys

516 / 769

OLGA 7

INITIALCONDITIONS (on FLOWPATH)


Description ( See also: Keys)
This statement defines initial conditions for the dynamic calculation. The initial conditions are given
flow path-, pipe- or section-wise. The total mass flow is defined at section boundaries while the
remaining parameters are given for section volumes.
There are several ways to define initial data, depending on the key STEADYSTATE in the
OPTIONS statement:
1. STEADYSTATE=OFF (initial conditions not calculated by steady state pre-processor): User
defines the pressure, temperature, gas volume fraction, mass flow, and water volume fraction in the
liquid phase for all sections in each flow path.
2. STEADYSTATE=NOTEMP (initial temperature not calculated by steady state pre-processor):
User defines the temperature for all sections in each flow path.
The latter option can be useful if the pre-processor has problems finding a solution. This implies
that the simulation must be run for some time in order to achieve a steady state solution.
Compositional tracking input such as FEEDMOLEFRACTION can be given for all settings of
STEADYSTATE (in OPTIONS). For STEADYSTATE=ON or NOTEMP, the given
FEEDMOLEFRACTION will be an initial input to the steady state pre-processor.
In order to simplify the input for certain initial condition variables, OLGA can perform interpolation
along pre-defined flow path segments. Three different interpolation options are available;
HORIZONTAL, LENGTH and VERTICAL. The variable is specified at the inlet and outlet of the
pipeline segment, and the interpolation is performed based on horizontal length, actual length or
vertical depth along the pipeline. LENGTH is the default option.

INITIALCONDITIONS (on FLOWPATH) Keys ( See also: Description )


Key

Type
Unit:( )

Parameter
set
Default:[ ]

FEEDMASSFRACTION RealList
FEEDMOLEFRACTION RealList

FEEDNAME

SymbolList

FEEDVOLFRACTION

RealList

INHIBFRACTION

RealList

Description

FEED-1 |
BOFEED-1

[0.0]

Mass fraction of each feed given in


FEEDNAME.
Mole fraction of each feed given in
FEEDNAME. Can not be used with Drilling.
Label(s) of initial feed(s) to be used for
calculating the local fluid compositions in
the pipe(s)/section(s). A list means mixing of
feeds. Requires
COMPOSITIONAL=ON/BLACKOIL or
DRILLING=ON under the OPTIONS
keyword.
Volume fraction of each feed given in
FEEDNAME (only for blackoil model).
Mass fraction of inhibitor in water phase in
each section.
517 / 769

OLGA 7

ININHIBFRACTION

Real

INPRESSURE

Real (Pa)

INSTEAMFRACTION

Real

INTEMPERATURE

Real (C)

[0.0]

[-1.0]

<None> |
HORIZONTAL Type of interpolation used to calculate the
| VERTICAL | initial conditions.
[LENGTH]
Void fraction at the inlet to the first pipe in a
branch where interpolation is used.
Watercut at the inlet to the first pipe in a
branch where interpolation is used.

INTERPOLATION

Symbol

INVOIDFRACTION

Real

INWATERCUT

Real

MASSFLOW

RealList
(kg/s)

[0.0]

OUTINHIBFRACTION

Real

[0.0]

OUTPRESSURE

Real (Pa)

OUTSTEAMFRACTION Real

OUTTEMPERATURE

Real (C)

OUTVOIDFRACTION

Real

OUTWATERCUT

Real

Mass fraction of inhibitor in water phase at


the inlet to the first pipe in a pipeline section
where interpolation is used.
Pressure at the inlet to the first pipe in a
branch where interpolation is used.
Fraction of total mass of h2o component in
the gas phase inlet to the first pipe in a
pipeline section where interpolation is used.
By default (=-1), the mass of h20
component is in the gas phase if the
temperature is greater than the saturation
temperature, otherwise, the mass of h2o
component is distributed between the gas
phase and the water phase according to the
vapor pressure of h2o in the gas phase. A
list of both positive and negative values is
not allowed.
Temperature at the inlet to the first pipe in a
branch where interpolation is used.

[-1.0]

Total mass flow at each section boundaries.


Mass fraction of inhibitor in water phase at
the outlet of the last pipe in a pipeline
section where interpolation is used.
Pressure at the outlet of the last pipe in a
branch where interpolation is used
Fraction of total mass of h2o component in
the gas phase outlet to the last pipe in a
pipeline section where interpolation is used.
By default (=-1), the mass of h20
component is in the gas phase if the
temperature is greater than the saturation
temperature, otherwise, the mass of h2o
component is distributed between the gas
phase and the water phase according to the
vapor pressure of h2o in the gas phase. A
list of both positive and negative values is
not allowed.
Temperature at the outlet of the last pipe in
a branch where interpolation is used.
Void fraction at the outlet of the last pipe in
a branch section where interpolation is
used.
Watercut at the outlet of the last pipe in a
branch section where interpolation is used.
518 / 769

OLGA 7

PIPE

SymbolList [ALL]

REFPIPE

RealList
(Pa)
Symbol

REFPRESSURE

Real (Pa)

REFSECTION
SECTION

Integer
IntegerList 0

STEAMFRACTION

RealList

PRESSURE

TEMPERATURE
VOIDFRACTION
WATERCUT

RealList
(C)
RealList
RealList

Pipe label or pipe number (single or


continuous range in the form x-y).
Initial pressure in each section.

[-1.0]

Pipe label for REFPRESSURE.


Reference pressure used if no pressure
boundary condition is used. To be given for
one section only.
Section number for REFPRESSURE.
Section number.
Fraction of total mass of h2o component in
the gas phase. By default (=-1), the mass of
h20 component is in the gas phase if the
temperature is greater than the saturation
temperature, otherwise, the mass of h2o
component is distributed between the gas
phase and the water phase according to the
vapor pressure of h2o in the gas phase. A
list of both positive and negative values is
not allowed.
Initial temperature in each section.

[0.0]

Initial void fraction in each section.


Initial watercut in each section.

Link to: INITIALCONDITIONS (on FLOWPATH) Description Keys

519 / 769

OLGA 7

NEARWELLSOURCE (on FLOWPATH)


Description ( See also: Keys)
This input definition specifies the data for a r;NEARWELLSOURCE which links OLGA TO the
near-wellbore reservoir simulator Rocx developed by IFE. OLGA delivers boundary conditions to
Rocx, and the production from (or injection into) the reservoir is received by OLGA from Rocx as
mass rate for each phase.
Areas for use
The link provides coupled transient simulation of near-wellbore reservoir flow and well flow.
Dynamic phenomena not accurately predicted or even not seen with the steady-state inflow
performance relationship model (WELL) may therefore be simulated in a more realistic way. Typical
examples are well shut-in and start-up, dynamic gas and water coning, cross flow between layers,
etc.
Input
The position of the NEARWELLSOURCE is given by referring to the distance from the inlet of the
branch (ABSPOSITION), a pipe and a section number, or by reference to a defined POSITION.
RESBOUNDNAME must refer to a boundary label defined in the Rocx input file. Each Rocx
boundary label can only be refereed once, which means it is not allowed to split the flow from one
Rocx boundary into two or more OLGA sections. But for one OLGA section, there can be several
NEARWELLSOUCES.
Rocx reads a separate input file describing the reservoir properties, boundary conditions and initial
conditions. The file name should be given under the key ROCX under FILES. This input file is
edited with the ROCX GUI. Rocx writes both formatted and binary industry standard Eclipse output
files for post processing (3D visualization). Please refer to the r;Rocx User Manual for how to
define a proper input file for the Rocx simulator.
There is no automatic check of the correspondence in positioning and size between numerical
sections in OLGA and boundary grid blocks in Rocx. The user must therefore discretize both grids
in such a way that this is satisfied. The flow area at the wellbore and near-wellbore interface is
calculated based on the Rocx grid block rather than the corresponding OLGA numerical section.
Rocx may be run with the RESTART option. Definition of the file with restart data for Rocx should
be given in the Rocx input file.
Rocx may be set up to read the same PVT data file as OLGA.
Rocx can be run as a standalone tool. This is a useful way to obtain a suitable condition for the
reservoir before initiating a coupled (and more time consuming) simulation.
Limitations
OLGA Rocx is not compatible with these fluid property models
o Compositional option
o Black oil module
Other limitations on the Rocx reservoir simulator are given in the r;Rocx User Manual.

NEARWELLSOURCE (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Description
520 / 769

OLGA 7

Key

Unit:( )

ABSPOSITION

Real (m)

LABEL
PIPE
POSITION
RESBOUNDNAME

String
Symbol
Symbol
String

ROCX

String

SECTION

Integer

Default:[ ]

[NWSOUR-1]

Description
Absolute position. Distance from branch
inlet.
NearWellSOURCE label.
Pipe number for well.
Position label for where the well is located.
Name of boundary in OLGA Rocx.
Name of input filename for boundary in
OLGA Rocx.
Section number for well.

Link to: NEARWELLSOURCE (on FLOWPATH) Description Keys

521 / 769

OLGA 7

SOURCE (on FLOWPATH)


Description ( See also: Keys)
This statement specifies the input data needed for the simulation of sources. OLGA uses mass flow
rate for internal calculations, but input flow rate may also be given as volumetric flow at standard
conditions.
Also, this statement may be used to specify the fraction of wax forming components in the inflow
hydrocarbon mixture.
A drilling fluid used with the Wells Module can be defined.
There are two options to specify a mass source:
1.

The mass flow rate is given. For a positive mass source (flowing into the pipe),
users can specify the upstream pressure as well as the upstream temperature. If the
upstream pressure is given in the input, the expansion from the upstream pressure to
the pressure inside the pipe section will be taken into account for the temperature
calculations. If the upstream pressure is not given, the upstream pressure is set to
the pressure inside the pipe section where the source is introduced.
If a controller is used, the actual mass rate into/out of the section is a fraction of the
mass rate given in the time series with the fraction regulated by the controller.

2.

The mass flow rate is to be calculated based on the opening of the choke through
which a mass source is introduced into or taken out of the pipe section. The choke
opening is regulated by a controller. Both critical and sub-critical flow through the
choke are modelled.

When the mass flow rate is to be specified at the source temperature and pressure without
compositional tracking, do the following:

Use key:
MASSFLOW

Specify:
Total mass flow rate (if option 1)

GASFRACTION

Gas mass fraction in gas and oil mixture at the


source temperature and pressure. Free water is
excluded. As default, the gas mass fraction is
determined from the PVT table.

WATERFRACTION

Mass fraction of free water in the gas-oil-water


mixture at the source temperature and pressure.
Default value is zero, i.e. no free water.

TOTALWATERFRACTION

Mass fraction of total water in the gas-oil-water


mixture at the source temperature and pressure.
Default value is zero. Only one of
WATERFRACTION or TOTALWATERFRACTION
could be defined.

INHIBFRACTION

Mass fraction of inihibitor in water phase at


source temperature and pressure. Only used
522 / 769

OLGA 7

source temperature and pressure. Only used


together with inhibitor tracking, default value is
zero for inhibitor tracking.
TOTALINHIBFRACTION

Mass fraction of inhibitor in total water at source


temperature and pressure. Only used together
with inhibitor tracking, default value is zero for
inhibitor tracking.

When the mass flow rate is to be specified at the source temperature and pressure with
compositional tracking, do the following:
Use key:
Specify:
FEEDMASSFLOW Total mass flow rate (if option 1)
GASFRACEQ

OILFRACEQ

WATERFRACEQ

Fraction of gas mass flow relative to equilibrium flow at


the source temperature and pressure. As default, the gas
mass flow is equal to the equilibrium flow determined
from the feed file (equilibrium gas mass fraction) and
FEEDMASSFLOW: (GG = FEEDMASSFLOW * RSEQ *
GASFRACEQ).
Fraction of oil mass flow relative to equilibrium flow at the
source temperature and pressure.
Fraction of water mass flow relative to equilibrium flow at
the source temperature and pressure.

Note: If GASFRACEQ, OILFRACEQ or WATERFRACEQ is lower than 1 (default value), the total
flow will not add up to the specified FEEDMASSFLOW.
When the volumetric flow rate at the standard conditions is given, do the following:
Use key:
STDFLOWRATE

Specify:
Volumetric flow rate at standard conditions for the specified
phase (if option 1)

PHASE

The phase for which the volumetric flow rate is specified.


The allowed options are GAS, OIL, WATER, LIQUID. The
total source flow is determined so that the specified flow is
obtained, for the phase in question, at standard conditions.
If the total volumetric flow is meant to represent equivalent
gas flow instead of the single gas phase flow, the
molweight of the total flow must be given.

GOR

Gas/oil ratio. By default, the GOR from PVT table is used.

GLR

Gas/liquid ratio. Note that GOR and GLR can not be used
at the same time.

WATERCUT

Water cut, i.e. water volume fraction in water and oil


mixture.

MOLWEIGHT

If the equivalent gas volumetric flow rate is specified, the


molecular weight of the total flow should be given in order

523 / 769

OLGA 7

molecular weight of the total flow should be given in order


to account for the density of the equivalent gas. By default,
the gas density at the standard condition from the PVT
table is used.
Available units for standard volumetric flow rate, STDFLOWRATE, are listed in Conversion
Factors. Default is (Sm3/s).
When volumetric flow rate at standard conditions is used, the table for PVT-data must cover the
standard conditions for pressure and temperature.
Internal dependencies of keys:
either
BRANCH = 1
PIPE = 1
SECTION = [1]
or
POSITION = SOURCE-1
end
TIME = (0, 100 )
If the mass flow rate is given, then
CONTROLLER = C-101 ! Controls fraction of given mass flow
either
MASSFLOW = (0.0, 10.0) [kg/s]
GASFRACTION = [(-1,-1)]
PRESSURE = [Section pressure]
either
WATERFRACTION = [(0.0, 0.0)]
INHIBFRACTION = [(0.0, 0.0)] ! only for inhibitor tracking
or
TOTALWATERFRACTION = [(0.0, 0.0)]
either
INHIBFRACTION = [(0.0, 0.0)] ! only for inhibitor tracking
or
TOTALINHIBFRACTION = [(0.0, 0.0)] ! only for inhibitor tracking
end
end
if WAXDEPOSITION=ON in OPTIONS
WAXFRACTION = [2:1.0]
end if
or
STDFLOWRATE = (0.0, 1000) STB/D
WATERCUT = (0.1, 0.1)
PRESSURE = [Section pressure]
PHASE = LIQUID
If PHASE = GAS
MOLWEIGHT = (20.5) ! If equivalent gas stdflowrate (gas+liquid)
end if
either
GLR = (100, 100)
or
GOR = (120, 120)
524 / 769

OLGA 7

end
if WAXDEPOSITION=ON in OPTIONS
WAXFRACTION = [2:1.0]
end if
or if COMPOSITIONAL=ON in OPTIONS, then
FEEDNAME = (FEED-1, FEED-3)
either
FEEDMASSFLOW = (20, 35.3, 20, 35.3) [kg/s]
or
FEEDMOLEFLOW = (50, 30.5, 50, 30.5) [kmol/s]
end
PRESSURE = [section pressure]
GASFRACEQ = (0.5,0.5) ! override equilibrium phase fractions
OILFRACEQ = (0,0) ! override equilibrium phase fractions
WATERFRACEQ = (0,0) ! override equilibrium phase fractions
or if the COMPOSITIONAL = BLACKOIL, then
FEEDNAME = (BO-1, BO-3)
STDFLOWRATE = (0.0, 0.0, 1000, 1000) STB/D
PHASE = GAS || OIL
or if DRILLING = ON, then
MASSFLOW = (0.0, 10.0) [kg/s]
PRESSURE = [Section pressure]
DRILLINGFLUID = DRILLINGFLUID-1
if drillingfluid properties are NOT given in a separate file, then
DENSITY = (1000, 1000)
VISCOSITY = (1, 1) cP
end
end
end if
If the mass flow is to be calculated based on the opening of the choke, then (standard conditions not
allowed)
CD = [0.84]
DIAMETER = 0.45
CONTROLLER = C-101
PRESSURE = 2:40 bara
either
GASFRACTION = 2:-1
either
WATERFRACTION = 2:0
INHIBFRACTION = [(0.0, 0.0)] ! only for inhibitor tracking
or
TOTALWATERFRACTION = 2:0
TOTALINHIBFRACTION = [(0.0, 0.0)] ! only for inhibitor tracking
end
or if COMPOSITIONAL = ON, (multiple time and feeds, see note below)
FEEDNAME = (FEED-1, FEED-3)
either
FEEDMASSFRACTION = (0.7, 0.3, 0.7, 0.3)
or
FEEDMOLEFRACTION = (0.6, 0.4, 0.5, 0.5)
525 / 769

OLGA 7

end
WATERFRACEQ = (0,0) ! override equilibrium phase fractions
or if COMPOSITIONAL = BLACKOIL then
FEEDNAME = (BO-1, BO-3)
FEEDVOLFRACTION = ( 0.7, 0.3, 0.7, 0.3 )
or if DRILLING = ON then
DRILLINGFLUID = DRILLINGFLUID-1
DENSITY = 2:1000
VISCOSITY = 2:1 cP
end
end if
Note: For the subkeys FEEDMASSFLOW, FEEDMOLEFLOW, FEEDMASSFRACTION and
FEEDMOLEFRACTION, the array is a function of both feed and time as shown below.
FEEDMASSFRACTION = FEED-1 (T1), FEED-2(T1), FEED1(T2), FEED-2(T2))

SOURCE (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

ABSPOSITION

Real (m)

CD

Real

CF

Real

CGR

RealList
(Sm3/Sm3)

COMPONENT

Symbol

PRODUCTION |
DRILLINGFLUID |
[ALL]

CRITFLOWMODEL

Symbol

HENRYFAUSKE |
[FROZEN]

DENSITY

RealList
(kg/m3)

[0.84]

Description
Absolute position. Distance from
branch inlet.
Discharge coefficient. Used for
pressure driven source.
Ratio between gas and liquid
sizing coefficient.
Condensate-gas ratio. By default,
CGR from the PVT table is used.
Component specify the fluid that
is going to be exstracted by a
negative source. ALL defines that
both types shall be exstracted,
production fluid and drillingfluids.
If only one of more drilling fluids
are to be extracted,
DRILLINGFLUID = <name of
drilling fluid> must be specified
instead.
Choice of critical flow model to be
used. Homogenous frozen critical
flow model or Henry-Fauske
model.
The density of the drilling fluid
injected at a given time point. The
density must be at standard
conditions and within the min and
max density as specified in the
keyword DRILLINGFLUID
526 / 769

OLGA 7

DIAMETER

DRILLINGFLUID

FEEDMASSFLOW

FEEDMASSFRACTION

FEEDMOLEFLOW

FEEDMOLEFRACTION

FEEDNAME

FEEDSTDFLOW

FEEDVOLFRACTION

GASFRACEQ

GASFRACTION

Maximum orifice diameter in


pressure driven source.
Refer to the drilling fluid defined
by the keyword DRILLINGFLUID.
Symbol
Requires access to the Wells
module.
Mass rate for each feed (used
RealList
when mass source is defined).
(kg/s)
One item per time and feed.
Mass fraction of each feed (used
when pressure driven source is
RealList
defined). One item per time and
feed.
Mole rate for each feed (used
RealList
when mass source is defined).
(kmol/s)
One item per time and feed.
Mole fraction of each feed (used
when pressure driven source is
RealList
defined). One item per time and
feed.
Labels of feeds in the mass
source defining the fluid
FEED-1 | BOFEED- composition. Requires
SymbolList
1
COMPOSITIONAL=ON or
BLACKOIL under the OPTIONS
keyword.
Volumetric flow rate at standard
condition of phase PHASE for
RealList
each feed specified by
(Sm3/s)
FEEDNAME (only for Blackoil
model).
Volume fraction of each feed
RealList
given in FEEDNAME for choke
model (only for Blackoil model).
By default, the equilibrium gas
fraction of the total flow is used
for the gas flow in the
compositional or the Black oil
RealList
[1.0]
model (GASFRACEQ=1),
however the user may specify a
fraction of the gas equilibrium
flow to be sent into the pipeline.
Gas mass fraction in gas and oil
mixture. By default, the gas mass
fraction from the PVT table is
used for inflow
(GASFRACTION<0). A list of both
RealList
[-1.0]
positive and negative values is
not allowed. For outflow, the gas
mass fraction can be specified as
equal to the gas mass fraction in
the source section by setting
GASFRACTION<0.
Real (m)

527 / 769

OLGA 7

GLR
GOR
INHIBFRACTION
LABEL
MASSFLOW

MOLWEIGHT

OILFRACEQ

PHASE
PIPE
POSITION

PRESSURE

SECTION
SOURCETYPE
SOVAPHASE
STDFLOWRATE

RealList
(Sm3/Sm3)

Gas/liquid volumetric flow ratio at


standard conditions.
Gas/oil volumetric flow ratio at
RealList
[-1.0]
standard conditions. By default,
(Sm3/Sm3)
GOR from the PVT table is used.
Mass fraction of inhibitor in the
RealList
[0.0]
water phase.
Source label. Default is source
String
[SOUR-1]
number.
RealList
Total mass flow rate for the time
(kg/s)
series.
Molecular weight of equivalent
gas (total flow). By default, the
RealList
gas density at standard
(kg/kmol)
conditions from the PVT table is
used to determine the molecular
weight.
By default, the equilibrium oil
fraction of the total flow is used
for the oil flow in the
compositional or the Black oil
RealList
[1.0]
model (OILFRACEQ=1), however
the user may specify a fraction of
the oil equilibrium flow to be sent
into the pipeline.
<None> | LIQUID | The phase for which the
Symbol
GAS | OIL | WATER volumetric flow rate is specified.
Symbol
Pipe label.
Position label where the source is
located. If this is defined, PIPE
Symbol
and SECTION should not be
used.
Upstream pressure for a positive
source (flow into pipeline).
RealList
Downstream pressure for a
(Pa)
negative source. Required key if
pressure driven source.
Section number where the source
Integer
0
is located.
PRESSUREDRIVEN
Symbol
Type of source.
| TRACER | [MASS]
The type of the flow through the
<None> | GAS |
Symbol
pressure driven source. For two
LIQUID
or three phase flow, use LIQUID.
RealList
Volumetric flow rate at standard
(Sm3/s)
conditions.
Fraction of total mass of H2O
component in the gas phase. By
default (=-1), the mass of H2O
component is in the gas phase if
the temperature is greater than
the saturation temperature,
otherwise, the mass of H2O

528 / 769

OLGA 7

STEAMFRACTION

RealList

[-1.0]

STROKETIME

Real (s)

[0.0]

TABLE

SymbolList

TEMPERATURE

RealList
(C)

TIME

RealList
(s)

TOTALINHIBFRACTION

RealList

[0.0]

TOTALWATERFRACTION

RealList

[-1.0]

TRACERAGE
TRACERFEED
TRACERMASSFLOW

RealList
[0.0]
(s)
SymbolList
RealList
(kg/s)

TRACERRESIDENCETIME

RealList
(s)

[0.0]

VALVEMODEL

Symbol

GASSIZING |
[HYDROVALVE]

VISCOSITY

RealList
(N-s/m2)

WATERCUT

RealList

[-1.0]

otherwise, the mass of H2O


component is distributed between
the gas phase and the water
phase according to the vapor
pressure of H2O in the gas
phase. A list of both positive and
negative values is not allowed.
Stroke time of valve.
Label of table for valve
characteristics.
Mixture temperature of the mass
flow rate at all points in time
specified.
Points in time when the flow is to
be changed. Note that the value
used by the program is
interpolated between the values
specified by the given timetable.
Mass fraction of inhibitor in total
water (water phase+water vapor).
Mass fraction of total water in the
total source flow mixture. With a
value of -1.0 the total water
fraction is taken from the fluid
table. Either this key or
WATERFRACTION can be
specified. For outflow, this key is
ignored if GASFRACTION<0 (the
water fraction in the source
section is used).
Age of tracer feed in source.One
item per time and feed.
Tracer feed name
Mass rate for each tracer feed.
One item per time and feed.
Residence time of tracer feed in
source. One item per time and
feed.
Valve model.
The viscosity of the drilling fluid
injected at a given time point. The
viscosity must be at standard
conditions and within the min and
max viscosity as specified in the
keyword DRILLINGFLUID
Water volume fraction in oil/water
mixture. With a value of -1.0 the
total water fraction is taken from
the fluid table.
By default, the equilibrium water
fraction of the total flow is used
for the water flow in the

529 / 769

OLGA 7

WATERFRACEQ

RealList

[1.0]

WATERFRACTION

RealList

WAXFRACTION

RealList

WGR

RealList
[-1.0]
(Sm3/Sm3)

[1.0]

for the water flow in the


compositional or the Black oil
model (WATERFRACEQ=1),
however the user may specify a
fraction of the water equilibrium to
be sent into the pipeline.
Mass fraction of free water in the
total source flow mixture. Either
this key or
TOTALWATERFRACTION can be
specified. For outflow, this key is
ignored if GASFRACTION<0 (the
water fraction in the source
section is used).
Scaling factor for determining the
amount of wax forming
components relative to HC
mixture. The value must be in the
range [0,1]. 1 means that the
amount of wax forming
components is equal to the
values from the wax table.
Requires WAXDEPOSITION=ON
under the OPTIONS keyword and
access to the wax deposition
module.
Water-gas ratio. By default, WGR
from the PVT table is used.

Link to: SOURCE (on FLOWPATH) Description Keys

530 / 769

OLGA 7

WELL (on FLOWPATH)


Description ( See also: Keys)
The well statement is used to define required data for calculating the flow performance of wells.
There are two ways of specifying the data for flow between the reservoir and the well. You may
either specify the coefficients used in the inflow correlations directly, or you may specify traditional
well/reservoir variables like permeability and net pay. When you use the latter, the well/reservoir
variables are translated into the coefficients used in the inflow correlations. This option is only
available with the Wells Module.
Observe that the linear coefficient BPROD can not be zero if the well is located in the first (inlet)
section of a flow path.
Internal dependencies of keys:

! Alphanumeric values are only


! given as samples

either
BRANCH = 1
PIPE = 1
SECTION = 1
or
POSITION = POSITION-1
end
If you want to use the coefficients directly for standard inflow types:
either
WATERFRACTION = [0.0]
or
TOTALWATERFRACTION = [0.0]
end
end if
GASFRACTION = -1
If INJOPTION = LINEAR, then
AINJ = 0.0 [kg/s]
BINJ = 0.1E-5 [kg/s/Pa]
else if INJOPTION = QUADRATIC, then
AINJ = 0.0 [Pa2]
BINJ = 0.0 [Pa2-s/kg]
CINJ = 0.3354E08 [Pa2-s2/kg2]
else if INJOPTION = TABULAR, then
INJTABLE = TABLE-1
end if
If PRODOPTION = LINEAR, then
APROD = 0.0 [kg/s]
BPROD = 0.1E-5 [kg/s/Pa]
else if PRODOPTION = QUADRATIC, then
APROD = 0.0 [Pa2]
BPROD = 0.0 [Pa2-s/kg]
CPROD = 0.3354E08 [Pa2-s2/kg2]
else if PRODOPTION = TABULAR, then
531 / 769

OLGA 7

PRODTABLE = TABLE-2
If phase front transient is to be simulated, then
GASDIS = [0.0] [m]
GASPLIMIT = [RESPRESSURE] [Pa]
GFRTC = [0.0] [s]
OILDIS = [0.0] [m]
OILPLIMIT = [RESPRESSURE] [Pa]
OFRTC = [0.0] [s]
WATDIS = [0.0] [m]
WATPLIMIT = [RESPRESSURE] [Pa]
WFRTC = [0.0] [s]
end if
end if
If you want to use the coefficients directly for Advanced Well inflow types:
WATERCUT = [0.0] [-]
ROGST = [from PVT tables] [kg/Sm3]
ROLST = [from PVT tables] [kg/Sm3]
GORST = [from PVT tables] [kg/Sm3]
if INJOPTION = FORCHHEIMER, then
BINJ = 0.6 [psi2-d/scf]
CINJ = 1.E-9 [psi2-d2/scf2]
else if INJOPTION = SINGLEFORCHHEIMER, then
BINJ = 1.E-4 [psi-d/scf]
CINJ = 1.E-9 [psi-d2/scf2]
else if INJOPTION = BACKPRESSURE, then
EXPONENTN = 1
CINJ = 1 [scf/d/psi2]
end if
if PRODOPTION = FORCHHEIMER, then
BPROD = 0.6 [psi2-d/scf]
CPROD = 1.E-9 [psi2-d2/scf2]
else if PRODOPTION = SINGLEFORCHHEIMER, then
BPROD = 1.E-4 [psi-d/scf]
CPROD = 1.E-9 [psi-d2/scf2]
else if PRODOPTION = BACKPRESSURE, then
EXPONENTN = 1
CPROD = 1 [scf/d/psi2]
end if
If you want to use well/reservoir variables:
WATERCUT = [0.0] [-]
If INJOPTION = LINEAR, then
either
INJECTIVITY = 240 stb/d/Psi
FRACPR = 1000 bar
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
532 / 769

OLGA 7

PHASE = [OIL]
or
FRACPR = 1000 bar
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISLRES = 0.2 cP
BOOIL = 1.4
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
end
else if INJOPTION = FORCHHEIMER, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
else if INJOPTION = SINGLEFORCHHEIMER, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
else if INJOPTION = VOGELS, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
QMAX = 10 000 Sm3/d
else if INJOPTION = BACKPRESSURE, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
533 / 769

OLGA 7

RESEXT = 1000 [m]


HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
EXPONENTN = 1
else if INJOPTION = NORMALIZEDBACKPR, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
QMAX = 10 000 Sm3/d
EXPONENTN = 1
PHASE = [OIL]
else if INJOPTION = UNDERSATURATED, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISLRES = 0.2 cP
BOOIL = 1.4
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
BPPRESSURE = 600 bar
end if
If the user wants to define a specific linear injectivity index for one or more of the phases
GASINJ = 100 stb/d/Psi
OILINJ = 100 stb/d/Psi
WATINJ = 180 stb/d/Psi
end if
If PRODOPTION = LINEAR, then
either
PRODI = 240 stb/d/Psi
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
PHASE = [OIL]
or
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISLRES = 0.2 cP
BOOIL = 1.4
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
end
534 / 769

OLGA 7

else if PRODOPTION = FORCHHEIMER, then


FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
else if PRODOPTION = SINGLEFORCHHEIMER, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
else if PRODOPTION = VOGELS, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
QMAX = 10 000 Sm3/d
else if PRODOPTION = BACKPRESSURE, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISGRES = 0.03 cP
ZFACT = 1
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
SKIND = 0.01
EXPONENTN = 1
else if PRODOPTION = NORMALIZEDBACKPR, then
FRACPR = 1000 bara
ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
QMAX = 10 000 Sm3/d
EXPONENTN = 1
PHASE = [OIL]
else if PRODOPTION = UNDERSATURATED, then
535 / 769

OLGA 7

FRACPR = 1000 bara


ROGST = 0.8 [kg/Sm3]
ROLST = 700 [kg/Sm3]
GORST = 1000 [Sm3/Sm3]
VISLRES = 0.2 cP
BOOIL = 1.4
KPERM = 20 mD
HPAY = 20 [m]
RESEXT = 1000 [m]
HOLES = 8.5 in
SKINS = 3
BPPRESSURE = 600 bar
end if
If COMPOSITIONAL = ON in OPTION, then (multiple time and feeds, see note below)
TIME = (0, 5) h
FEEDNAME = (FEED-1, FEED-3)
either
FEEDMASSFRACTION = (0.7, 0.3, 0.7, 0.3)
or
FEEDMOLEFRACTION = (0.6, 0.4, 0.5, 0.5)
end
or if COMPOSITIONAL = BLACKOIL in OPTIONS, then
TIME = (0, 5) h
FEEDNAME = (BO-1, BO-2)
FEEDVOLFRACTION = [1.0, 0.0, 0.5, 0.5]
endif
Note: For the subkeys FEEDMASSFRACTION, FEEDMOLEFRACTION and FEEDVOLFRACTION,
the array is a function of both feed and time as shown below.
FEEDMASSFRACTION = FEED-1 (T1), FEED-2(T1), FEED1(T2), FEED-2(T2))

WELL (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

ABSPOSITION

Real (m)

AINJ

RealList

Description
Absolute position. Distance
from branch inlet.
Negative coefficient A in well
flow equation. Less than zero
if a minimum pressure
difference is required for fluid
flow from well into reservoir.
Unit: kg/s for the linear
formula, Pa2 for the nonlinear formula. Given at in
situ conditions - uses gas
mass fraction from the PVT
table to calculate the split
between the phases.
536 / 769

OLGA 7

APROD

RealList

BINJ

RealList

BOOIL

Real

BPPRESSURE

RealList
(Pa)

BPROD

RealList

CGR

RealList
[-1.0]
(Sm3/Sm3)

CINJ

RealList

Positive coefficient A in well


flow equation. Less than zero
if a minimum pressure
difference is required for fluid
flow from reservoir into well.
Unit: kg/s for the linear
formula, Pa2 for the nonlinear formula. Given at in
situ conditions - uses gas
mass fraction from the PVT
table to calculate the split
between the phases.
Negative coefficient B in well
flow equation. Injectivity
index for linear inflow
equation. Unit: kg/s/Pa for
the linear formula, Pa2-s/kg
for the non-linear formula,
psi2-d/scf for Forchheimer,
psi-d/scf for Single
Forchheimer. Given at in situ
conditions - uses gas mass
fraction from the PVT table to
calculate the split between
the phases.
Oil formation volume factor
Bubble point pressure at
reservoir temperature for
Undersaturated oil wells.
Positive coefficient B in well
flow equation. Productivity
index for linear inflow
equation. Unit: kg/s/Pa for
the linear formula, Pa2-s/kg
for the non-linear formula,
psi2-d/scf for Forchheimer,
psi-d/scf for Single
Forchheimer. Given at in situ
conditions - uses gas mass
fraction from the PVT table to
calculate the split between
the phases.
Condensate-gas ratio. By
default, CGR from the PVT
table is used.
Negative coefficient C in well
flow equation. Unit: Pa2s2/kg2 for the non-linear
formula, psi2-d2/scf2 for
Forchheimer, psi2-d2/scf2 for
Single Forchheimer,
scf/d/psi2n for Backpressure.
Positive coefficient C in well
flow equation. Unit: Pa2s2/kg2 for the non-linear 537 / 769

OLGA 7

CPROD

RealList

EXPONENTN

RealList

FEEDMASSFRACTION
FEEDMOLEFRACTION

RealList
RealList

FEEDNAME

SymbolList FEED-1 | BOFEED-1

FEEDVOLFRACTION

RealList

FRACPR

RealList
(Pa)

[1.0]

Fracture pressure.

GASDIS

Real (m)

[0.0]

GASFRACTION

RealList

[-1.0]

GASINJ

RealList
(Sm3/s/Pa)

GASPLIMIT

Real (Pa)

GFRTC

Real (s)

GORST

RealList
[-1.0]
(Sm3/Sm3)
RealList

s2/kg2 for the non-linear


formula, psi2-d2/scf2 for
Forchheimer, psi2-d2/scf2 for
Single Forchheimer,
scf/d/psi2n for Backpressure.
Constant in Backpressure
inflow equation. It normally
varies between 0.5 and 1.0.
Mass fraction of each feed.
Mole fraction of each feed.
Label of initial feed to be
used for calculating local fluid
compositions in the branch
(from feed file and FEED
keyword). A list means mixing
of feeds for each section in
the branch. Note that this key
can only be specified branchwise. Requires
COMPOSITIONAL=ON or
BLACKOIL under the
OPTIONS keyword.
Volume fraction of each feed
given in FEEDNAME (only
for blackoil model).

Distance gas front has to


travel before it reaches the
well bore. Requires
PRODOPTION=TABULAR.
Gas mass fraction in the
gas+oil mixture for positive
flow. -1 indicates equilibrium.
A list of both positive and
negative values is not
allowed.
Linear injectivity index for gas
entering the well section.
Normally given in
(Sm3/d/bar).
Pressure at which the gas
front will be at the well bore
at steady-state conditions.
Requires
PRODOPTION=TABULAR.
Time constant for the gas
front movement. Requires
PRODOPTION=TABULAR.
Gas/oil volumetric ratio. By
default, GOR from the PVT
table is used.
Hole size (diameter).
538 / 769

OLGA 7

HOLES
HPAY

INJECTIVITY

RealList
(m)
RealList
(m)

Symbol

INJPOSTFRACFACTOR

Real

INJPREFRACFACTOR

Real

INJTABLE

Symbol

INJTHRESHOLD

RealList
(Pa)

LABEL

Symbol
RealList
(mD)
String

LOCATION

Symbol

KPERM

Net pay from inflow zone.


Injectivity. Given at std
conditions - uses GOR from
the PVT table (or the
specified GORST) and the
PHASE to calculate the split
between the phases.

RealList
(Sm3/s/Pa)

INJOPTION

ISOTHERMAL

Hole size (diameter).


Normally given in inches (in).

LINEAR | QUADRATIC |
SINGLEFORCHHEIMER
| FORCHHEIMER |
Negative well flow equation
BACKPRESSURE |
type.
UNDERSATURATED |
VOGELS | TABULAR |
NORMALIZEDBACKPR
Multiplier for injection rate
when BH pressure is above
fracture pressure. If BH
pressure has been above
[1.0]
fracture pressure this is a
multiplier when BH pressure
is above INJTHRESHOLD as
well.
Multiplier for injection rate
when BH pressure is below
fracture pressure. If the BH
[1.0]
pressure has been above
fracture pressure this is a
multiplier only below
INJTHRESHOLD.
Table reference for negative
well flow performance.
Option for supporting coning.
The table variables must be
given at reservoir conditions.
Pressure. If BH pressure has
been above fracture pressure
the injection rate multiplied
by the
INJPOSTFRACFACTOR will
be used when the BH
pressure is above
INJTHRESHOLD.
NO | [YES]
Turn on or off isothermal.
Effective permeability.
[WELL-1]

BOTTOM | [MIDDLE]

Well label.
Well location in the well
section. MIDDLE if the
reservoir pressure at the
middle of the zone is
specified. BOTTOM if the
539 / 769

OLGA 7

specified. BOTTOM if the


reservoir pressure given is at
the bottom of the zone.
Time constant for the oil front
OFRTC
Real (s)
movement. Requires
PRODOPTION=TABULAR.
Distance oil front has to
travel before it reaches the
OILDIS
Real (m)
well bore. Requires
PRODOPTION=TABULAR.
Linear injectivity index for oil
RealList
entering the well section.
OILINJ
(Sm3/s/Pa)
Normally given in
(Sm3/d/bar).
Pressure at which the oil
front will be at the well bore
OILPLIMIT
Real (Pa)
at steady-state conditions.
Requires
PRODOPTION=TABULAR.
The phase for which
<None> | GAS | WATER
PHASE
Symbol
productivity index or absolute
| LIQUID | [OIL]
open flow rate is given.
PIPE
Symbol
Pipe number for well.
Position where the well is
located. If POSITION is
POSITION
Symbol
defined, BRANCH, PIPE, and
SECTION should not be
used.
Productivity index for linear
inflow equation. Normally
given in (Sm3/d/bar). Given
RealList
at std conditions - uses GOR
PRODI
(Sm3/s/Pa)
from the PVT table (or the
specified GORST) and the
PHASE to calculate the split
between the phases.
LINEAR | QUADRATIC |
SINGLEFORCHHEIMER
| FORCHHEIMER |
Positive well flow equation
PRODOPTION
Symbol
BACKPRESSURE |
type.
UNDERSATURATED |
VOGELS | TABULAR |
NORMALIZEDBACKPR
Multiplier for production rate
after the reservoir is
fractured. Use when the well
PRODPOSTFRACFACTOR Real
[1.0]
parameters are given for
conditions before the
reservoir is fractured.
Multiplier for production rate
before the reservoir is
fractured. Used when the
PRODPREFRACFACTOR Real
[1.0]
well parameters are given for
conditions after the reservoir
540 / 769

OLGA 7

PRODTABLE

Symbol

QMAX

RealList
(Sm3/s)

RESEXT
RESPRESSURE
RESTEMPERATURE

conditions after the reservoir


is fractured.
Table reference for positive
flow performance. Option for
supporting coning. The table
variables must be given at
reservoir conditions.
Maximum flow in Vogels and
Normalized Backpressure
inflow equation.

RealList
(m)
RealList
(Pa)
RealList
(C)

Reservoir extension.
Reservoir pressure.
Reservoir temperature.

ROGST

Real
(kg/Sm3)

[-1.0]

ROLST

Real
(kg/Sm3)

[-1.0]

SECTION

Integer

SKIND

RealList
(1/Sm3/s)

SKINS

RealList

STEAMFRACTION

RealList

[-1.0]

TIME

RealList
(s)

[0.0]

Gas density at standard


conditions. By default value
from PVT table is used.
Oil density at standard
conditions. By default value
from PVT table is used.
Section number for well.
Turbulent non-darcy skin.
Normally given in
(1/MMSCF/d).
Mechanical damage skin.
Fraction of total mass of H2O
component in the gas phase.
By default (=-1), the mass of
H2O component is in the gas
phase if the temperature is
greater than the saturation
temperature, otherwise, the
mass of H2O component is
distributed between the gas
phase and the water phase
according to the vapor
pressure of H2O in the gas
phase. A list of both positive
and negative values is not
allowed.
Time series when the
reservoir conditions are to be
changed. Note that the value
actually used by the program
is interpolated between the
values specified by the time
table.
Mass fraction of total water in
the in the total fluid mixture of
the reservoir. With a value of
1, the total water fraction is
541 / 769

OLGA 7

TOTALWATERFRACTION

RealList

[-1.0]

VISGRES

Real
(Ns/m2)

[-1]

VISLRES

Real
(Ns/m2)

[-1]

WATDIS

Real (m)

WATERCUT

RealList

WATERFRACTION

RealList

WATINJ

RealList
(Sm3/s/Pa)

WATPLIMIT

Real (Pa)

WAXFRACTION

RealList

[-1.0]

[1.0]

1, the total water fraction is


taken from the fluid table.
Either this key or
WATERFRACTION can be
specified.
Viscosity of gas reservoir
conditions. By default value
from PVT table is used.
Viscosity of oil reservoir
conditions. By default value
from PVT table is used.
Distance water front has to
travel before it reaches the
well bore. This key can only
be used if water option is
available. Non-zero values
are ignored for two-phase
simulations, even if the water
option is available. Requires
PRODOPTION=TABULAR.
Watercut at standard
conditions. With a value of 1.0 the total water fraction is
taken from the fluid table.
Mass fraction of free water in
the total flow mixture of the
reservoir. Either this key or
TOTALWATERFRACTION
can be specified. For outflow,
this key is ignored if
GASFRACTION<0 (the water
fraction in the source section
is used).
Linear injectivity index for
water entering the well
section. Normally given in
(Sm3/d/bar).
Pressure at which the water
front will be at the well bore
at steady-state conditions.
This key can only be used if
water option is available.
Requires
PRODOPTION=TABULAR.
Scaling factor for determining
the amount of wax forming
components relative to HC
mixture. The value must be in
the range [0,1]. 1 means that
the amount of wax forming
components is equal to the
values from the wax table.
Requires
WAXDEPOSITION=ON
under the OPTIONS keyword

542 / 769

OLGA 7

WFRTC

Real (s)

WGR

RealList
[-1.0]
(Sm3/Sm3)

ZFACT

Real

[1]

under the OPTIONS keyword


and access to the wax
deposition module.
Time constant for the water
front movement. This key can
only be used if water option
is available. Requires
PRODOPTION=TABULAR.
Water-gas ratio. By default,
WGR from the PVT table is
used.
Gas compressibility factor.

Link to: WELL (on FLOWPATH) Description Keys

543 / 769

OLGA 7

PROFILEDATA (on FLOWPATH)


Description ( See also: Keys)
This statement defines profile plot variables along the pipeline at specified time points.
For available profile variables see Output Variables.

PROFILEDATA (on FLOWPATH) Keys ( See also: Description )


Key

Type
Unit:( )

AGEGROUPID

IntegerList

COMPONENT

SymbolList

HYKPID

IntegerList

LAYER

IntegerList

TRACERFEED

SymbolList

VARIABLE

SymbolList
(ValueUnitPair)

Parameter
set

Description

Default:[ ]

BOCOMP-1

Age group for plotting inhibitors variables


with aging effect, e.g. Kinetic hydrate
inhibitor (KHI).
Component names. Using the Inhibitor
tracking module, available components are
HC, H2O and MEG/MEOH/ETOH. Using
DRILLING=ON under OPTIONS, available
components are HC, H2O,
MEG/MEOH/ETOH, CUTTING and MUD
components. For compositional models the
names of the available components are
given in the feed file.
Array element index of HYKPLIST.
Wall layer number for plotting of wall
temperatures. Layer no. 1 is the innermost
one.
Tracer label that the tracer type variables
are plotted for.
Variables to be written to the profile plot file.
Units should not be used.

Link to: PROFILEDATA (on FLOWPATH) Description Keys

544 / 769

OLGA 7

OUTPUTDATA (on FLOWPATH)


Description ( See also: Keys)
This statement defines the variables to be printed to the output file (*.out). Global variables are not
available on this level.

OUTPUTDATA (on FLOWPATH) Keys ( See also: Description )


Key

Type
Unit:( )

AGEGROUPID

IntegerList

COMPONENT

SymbolList

LAYER

IntegerList

PIPE

SymbolList

SECTION

IntegerList

TRACERFEED

SymbolList

VARIABLE

SymbolList
(ValueUnitPair)

Parameter
set

Description

Default:[ ]

BOCOMP-1

Age group for plotting inhibitors variables


with aging effect, e.g. Kinetic hydrate
inhibitor (KHI).
Component names. Using the Inhibitor
tracking module, available components are
HC, H2O and MEG/MEOH/ETOH. Using
DRILLING=ON under OPTIONS, available
components are HC, H2O,
MEG/MEOH/ETOH, CUTTING and MUD
components. For compositional models the
names of the available components are
given in the feed file.
Wall layer numbers for plotting of wall
temperatures. Layer no. 1 is the innermost
one.
Pipe numbers or labels where the variables
will be plotted.
Section numbers where the variables will be
plotted.
Tracer label that the tracer type variables
are plotted for.
List of variables to be printed. Units may be
specified.

Link to: OUTPUTDATA (on FLOWPATH) Description Keys

545 / 769

OLGA 7

TRENDDATA (on FLOWPATH)


Description ( See also: Keys)
This statement defines the trend data to be plotted. A trend plot is a time series plot for a specified
variable. Global and branch variables are not available on this level.
For available variables see Output Variables.

TRENDDATA (on FLOWPATH) Keys ( See also: Description )


Key

Type
Unit:( )

ABSPOSITION

RealList (m)

AGEGROUPID

IntegerList

CHECKVALVE

SymbolList

COMPONENT

SymbolList

COMPRESSOR

SymbolList

HEATEXCHANGER

SymbolList

HYKPID

IntegerList

LAYER

IntegerList

LEAK

SymbolList

NEARWELLSOURCE SymbolList
PIG

SymbolList

PIPE

SymbolList

POSITION

SymbolList

PUMP

SymbolList

Parameter
set
Description
Default:[ ]
Pipeline position where the variable will be
plotted. Absolute position. Distance from
branch inlet.
Age group for plotting inhibitors variables
with aging effect, e.g. Kinetic hydrate
inhibitor (KHI).
Checkvalve for which the variable is to be
plotted.
Component names. Using the Inhibitor
tracking module, available components are
HC, H2O and MEG/MEOH/ETOH. Using
DRILLING=ON under OPTIONS, available
BOCOMPcomponents are HC, H2O,
1
MEG/MEOH/ETOH, CUTTING and MUD
components. For compositional models the
names of the available components are
given in the feed file.
Compressor for which the variable is to be
plotted.
HeatExchanger for which the variable is to
be plotted.
Array element index of HYKPLIST.
Wall layer number for plotting of wall
temperatures. Layer no. 1 is the innermost
one.
Leak for which the variable is to be plotted.
NearWellSource for which the variable is to
be plotted.
Pig for which the variable is to be plotted.
Pipe numbers or labels where the variables
will be plotted.
Labels of specified positions where the
variables will be plotted.
Pump for which the variable is to be plotted.
546 / 769

OLGA 7

SECTION

IntegerList

SLUGID

IntegerList

[0]

SOURCE

SymbolList

TRACERFEED

SymbolList

VALVE

SymbolList
SymbolList
(ValueUnitPair)
SymbolList

VARIABLE
WELL

Section numbers where the variables will be


plotted.
Unique identity defining a slug or a pig.
Source for which the variable is to be
plotted.
Tracer label that the tracer type variables
are plotted for.
Valve for which the variable is to be plotted.
List of variables to be plotted. Units should
not be used.
Well for which the variable is to be plotted.

Link to: TRENDDATA (on FLOWPATH) Description Keys

547 / 769

OLGA 7

CORROSION (on FLOWPATH)


Description ( See also: Keys)
This statement is used to define corrosion module input parameters. Requires access to the
corrosion module.
If the corrosion rate in single phase liquid flow is to be calculated correctly, PTMAX must be set
equal to the pressure in the pipeline where gas is formed (bubble point pressure). That is, if a
simulation shows single phase liquid flow, a new simulation should be performed with the correct
PTMAX set to the pressure in the section where gas is formed. Alternatively, the output variable
PCO2 can be read and PCO2MAX can be set to the PCO2 value in the section where gas is formed.
The corrosion module cannot be applied together with the wax deposition module.

CORROSION (on FLOWPATH) Keys ( See also: Description )


Key

Type
Unit:( )

Parameter
set
Description
Default:[ ]

BICARBONATE

Real

[0.0]

CO2FRACTION

Real

GLYCOLFRACTION

Real

[0.0]

INHIBITOREFFICIENCY Real

[0.0]

IONICSTRENGTH

Real

MODEL

SymbolList

[0.0]
MODEL1 |
MODEL2 |
MODEL3 |
[ALL]

PCO2MAX

Real (Pa)

[1000000]

PHSAT

Symbol

ON | [OFF]

Bicarbonate (HCO3-) concentration in water


given in Molar (M=mol/l).
Mole percentage of CO2 in gas phase (ratio
of CO2 partial pressure to total pressure in
%).
Glycol concentration in weight-% in a
glycol/water mixture. Only used if Inhibitor
tracking is not used. If Inhibitor tracking is
used, the glycol fraction will be calculated.
Inhibitor (not glycol) efficiency in %. The
effect of glycol and an additional inhibitor
(through INHIBITOREFFICIENCY) depends
on the model used. For the NORSOK
model, the larger of the two resulting
reduction factors is used, while for the de
Waard models the product of the two factors
is used. INHIBITOREFFICIENCY=100%
means no corrosion.
Total ionic strength in Molar (M=mol/l).
Which model to use. MODEL1: NORSOK.
MODEL2: Top of Line corrosion model.
MODEL3: de Waard 95.
Maximum CO2 partial pressure in single
phase liquid flow.
Whether or not to calculate the pH for
condensed water saturated with ion
carbonate.
548 / 769

OLGA 7

PTMAX

Real (Pa)

WCWET

Real

[30.0]

Bubble point pressure from which the CO2


partial pressure for a single phase liquid
flow will be calculated.
Water droplet wall wetting limit. Has to be
given as watercut in %. If the liquid film
watercut is higher than this value, the water
droplets will wet the wall, even if no
continuous water film is present. It is only
used in the corrosion module to detect if
water droplets are wetting the wall. It has no
influence on the flow conditions. If a
continuous water film is predicted by the
flow model, water wetting is detected by the
corrosion module regardless of the water
cut set as the wetting limit. See the
corrosion module description in ch. 2 for
further information.

Link to: CORROSION (on FLOWPATH) Description Keys

549 / 769

OLGA 7

DTCONTROL (on FLOWPATH)


Description ( See also: Keys)
This statement defines a switch for stability control.
See restrictions and limitations for more information.

DTCONTROL (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

ABSPOSITION

RealList (m)

CFL

Symbol

OFF | [ON]

CFLFACTOR

Real

[0.8]

GRADPRESSURE Symbol

ON | [OFF]

PIPE

SymbolList

POSITION

SymbolList

PREFACTOR

Real

[0.8]

PRESSURE

Symbol

ON | [OFF]

SECTION

IntegerList

SOUND_CFL

Symbol

ON | [OFF]

Description
Pipeline position where the variable will be
plotted. Absolute position. Distance from
branch inlet.
The Courant-Friedrichs-Lewy (CFL)
criterion based on the flow velocity.
Adjust the CFL time-step.
Time-step control based on the first-order
derivative of pressure w.r.t. time.
Pipe numbers or labels where the variables
will be plotted.
Labels of specified positions where the
variables will be plotted.
Tuning factor for pressure criterion.
Time-step control based on the secondorder derivative of pressure w.r.t. time.
Section numbers where the variables will be
plotted.
Time-step control based on the speed of
pressure waves.

Link to: DTCONTROL (on FLOWPATH) Description Keys

550 / 769

OLGA 7

HYDRATECHECK (on FLOWPATH)


Description ( See also: Keys)
This keyword can be used to specify a set of hydrate formation curves and how these should be
treated in the flowpath.
See also:
HYDRATECHECK

HYDRATECHECK (on FLOWPATH) Keys ( See also: Description )


Key

HAMCONST

Type
Unit:( )
Real (C)

HAMMERSCHMIDT Symbol

Parameter
set

Description

Default:[ ]
[1297]

ON | [OFF]

HYDRATECURVE

SymbolList

PRESSOVERRIDE

Real (Pa)

[-5000000]

TEMPOVERRIDE

Real (C)

[-50]

WATERLIMIT

Real

[0]

Constant in Hammerschmidt equation. Note


that unit is delta temperature.
Switch for activating the Hammerschmidt
formula for computing hydrate temperature
curves for different inhibitor concentrations.
Can only be used with a single hydrate
curve without any specified inhibitor
concentration (i.e. INHIBITORCONC=0).
Labels of the HYDRATECURVEs (from
Library) that shall be used in this flowpath.
With PRESSOVERRIDE the limit for the
difference between hydrate and section
pressure, DPHYD (default -50 bar), can be
changed. Such sections are not used when
calculating the maximum DPHYD in a
branch.
With TEMPOVERRIDE the limit for the
difference between hydrate and section
temperature, DTHYD (default -50 C), can
be changed. Such sections are not used
when calculating the maximum DTHYD in a
branch.
Hydrates will not form in sections with less
water than the waterlimit (default = 0).

Link to: HYDRATECHECK (on FLOWPATH) Description Keys

551 / 769

OLGA 7

HYDRATEKINETICS (on FLOWPATH)


Description ( See also: Keys)
The hydrate kinetics module combines the hydrate kinetics and rheological model developed by
Colorado School of Mines with the flow equations of the OLGA model. The hydrate kinetics model
determines the amount of gas and water consumed by hydrate formation and the effective viscosity
of the hydrate particle laden oil phase. The flow model integrates the mass consumption rate to
obtain the amount of hydrate phase and uses the effective viscosity for the flow calculations.
The model is still in the research phase, and the initial emphasis has been on flowing liquid
dominated systems with excess of water and gas for hydrate formation. Future versions will likely
also address gas dominated systems and include deposition mechanisms. Special care should be
taken when using the model since the model has only been validated against limited data sets.
Further, it is not designed for shut-in and depressurization studies.

HYDRATEKINETICS (on FLOWPATH) Keys ( See also: Description )


Key

Type
Unit:( )

Parameter
set
Default:[ ]

COIL

Real

[1.0]

CWATER

Real

[0.0]

DIFFUSIVITY
DRIFTFLUX

Real
(m2/s)
Symbol

Description
Weighting factor for hydrate velocity related
to oil velocity
Weighting factor for hydrate velocity related
to water velocity

[1.0e-16]

Diffusivity

YES | [NO]

Force slip between phases by users.


Drift velocity of gas. Used when
DRIFTFLUX = YES. gas velocity =
VELOCITYRATIO times (liquid velocity
+'DRIFTVELOCITY')
Scaling factor for gas-liquid interface
friction. (Use of KEY will alter how the
oil/water momentum equations are solved.
Oil/water will be solved with a drift-flux
approach.)
Hydrate equilibrium temperature and
pressure is from hydrate check keyword.
Force all of oil or water to be dispersed in
water or oil.
Mass fraction of hydrate guest molecules in
gas phase
Name of the hydrate curve used to calculate
the hydrate equilibrium temperature.
Scaling factor for the first reaction
coefficient
Scaling factor for the second reaction
coefficient.

DRIFTVELOCITY

Real
(m/s)

[0]

FOGEXPONENT

Real

[0]

FROMHYDRATECHECK Symbol

YES | [NO]

FULLDISPERSION

Symbol

YES | [NO]

GASGUESTFRACTION

Real

[1]

HYDRATECURVE

Symbol

K1SCALINGFACTOR

Real

[1.0]

K2SCALINGFACTOR

Real

[1.0]

552 / 769

OLGA 7

MEANDIAMETER

Real (m)

[4.0e-5]

OILGUESTFRACTION

Real

[0]

SIZESCALINGFACTOR

Real

[1.0]

SUBCOOLING

Real (C)

[3.611111]

USEDLL

Symbol

YES | [NO]

VELOCITYRATIO

Real

[1]

Mean droplet diameter


Mass fraction of hydrate guest molecules in
oil phase
Monomer size
Subcooling from hydrate equilibrium before
nucleation. Default 6.5 F.
NO: The routines embedded in the olga
executable are used. YES: csmhyddll.dll is
used.
Distribution coefficient for gas velocity.
Used when DRIFTFLUX = YES

Link to: HYDRATEKINETICS (on FLOWPATH) Description Keys

553 / 769

OLGA 7

PIG (on FLOWPATH)


Description ( See also: Keys)
This statement defines the pig option.
The pig keyword should be used when the user wants to simulate a pig or plug in the pipeline. The
pig is inserted at LAUNCHPOSITION and taken out when it reaches either the TRAPPOSITION or
a boundary NODE. TRAPPOSITION can be in the same flowpath as LAUNCHPOSITION or in a
different flowpath. When the pig comes to an internal NODE or SEPARATOR it will take the path
with the highest volume flow. The path the pig takes in a network can be overridden by the
ROUTING key. If the TRAPPOSITION is specified in a different flowpath than LAUNCHPOSITION
and the pig does not reach the TRAPPOSITION (because highest volume flow or ROUTING does
not take it there) the pig is taken out when it reaches a boundary node.
The keys LINEARFRIC, QUADRATICFRIC and STATICFORCE are the usual way to define the
friction of the pig.
The keys LEAKAGEFACTOR, LEAKDPCOEF or LEAKOPENING are used to specify the leakage
in the propagation direction of the pig.
The key DIAMETER is used to calculate the liquid backflow around the pig.

PIG (on FLOWPATH) Keys ( See also: Description )


Key

Type
Unit:( )

DIAMETER

Real (m)

INSERTTIME
LABEL

Real (s)
String

Parameter
set

Description

Default:[ ]

[PIG-1]

LAUNCHPOSITION Symbol

LEAKAGEFACTOR Real

LEAKDPCOEF

Real

[1E199]

LEAKOPENING

Real

[0.0]

Pig diameter NOTE! If no diameter is given,


the diameter of the pig is set to the inner
pipe diameter minus 4 times the wall
roughness. This implies that leakage
between the pig and the wall will occur
Pig launch time.
Pig label, default is pig number.
Position for pig launch. The pig is launched
downstream of the section boundary closest
to the launch position.
Pig leakage factor. Leakage factor at 0
corresponds to no fluid leaking past pig,
and 1.0 corresponds to all fluid leaking past
pig. When not given for the hydrate model,
the program will calculate the leakage factor
from the cross sectional area.
Pressure loss coefficient measured by
letting the fluid flow past a pig that is fixed to
the pipe wall. Described in section 2.2.6
Leakage opening relative to pipe cross
section area.

554 / 769

OLGA 7

LEAKOPENING

Real

[0.0]

LINEARFRIC

Real (Ns/m)

[10]

MASS

Real (kg)

[140]

PGWXFORMFAC

Real

[0.0]

QUADRATICFRIC

Real (Ns2/m2) [0.0]

ROUTING

SymbolList

STATICFORCE

Real (N)

[1000.0]

TRACKSLUG

Symbol

ON | [OFF]

TRAPPOSITION

Symbol

WALLFRICTION

Real (Ns/m)

WPPLASTVISC

Real (N-s/m2) [-1]

WPPOROSITY

Real

[1000.0]

[-1]

WPYIELDSTRESS Real (Pa)

[-1]

WXBRFCOEF

Real

[0.0]

WXRMEFF

Real

[1.0]

section area.
Linear friction factor coefficient for fluid
friction of fluid film between pig and pipe
wall.
Pig mass.
Wax cutting efficiency, see eq. for breaking
force in sec. 2.2.6. Only available with the
wax module.
Quadratic friction factor coefficient for fluid
friction of fluid film between pig and pipe
wall.
Name of branches a pig passes from the
launch position to trap position. This key is
optional. If not given, a pig goes to the
branch that has the highest volumetric
flowrate out of the node the pig enters.
When given, the launch branch name must
be the first in the list.
Force necessary to tear pig loose from the
wall.
When turned on the slug in front of the pig
is generated and tracked, else no slug is set
up in front of the pig. Activating this key
requires access to the slugtracking module.
Position for pig trap. The pig is trapped at
the boundary closest to the trap position.
Trap position is optional and if not given,
the pig is removed when it exits through a
terminal node.
Factor for wall friction between pig and
pipe.
Plastic viscosity of wax plug in front of pig.
The wax plug is assumed to exhibit
Bingham fluid behavior. 1 implies using
internal model for estimating the plastic
viscosity. See 2.2.6 for further details. Only
available with the wax module.
Porosity of wax plug in front of pig. Used for
wax plug friction calculation. Default value
1 implies that no special friction calculation
for the wax plug is performed. Only
available with the wax module.
Yield stress of wax plug in front of pig. The
wax plug is assumed to exhibit Bingham
fluid behavior. 1 implies using internal
model for estimating the yield stress. See
2.2.6 for further details. Only available with
the wax module.
Coefficient C in wax breaking force
equation, see eq. in sec. 2.2.6. Only
available with the wax module.
Wax removal efficiency. Only available with
the wax module.

555 / 769

OLGA 7

WXRMEFF

Real

[1.0]

WXYIELDSTR

Real (Pa)

[-1]

the wax module.


Yield stress of wax layer on the wall. 1
imples that the internal yieldstress
correlation is used, see sec. 2.2.6. Only
available with the wax module.

Link to: PIG (on FLOWPATH) Description Keys

556 / 769

OLGA 7

SLUGILLEGAL (on FLOWPATH)


Description ( See also: Keys)
SLUGILLEGAL is part of the SLUGTRACKING keyword.
Slugs are not allowed to be generated at illegal sections. A slug front or tail may propagate into an
illegal section, but it will not propagate through it. The first and the last section in a pipeline are by
definition illegal sections. This means that slugs do not propagate through a network. The user may
add extra illegal section by using the SLUGILLEGAL keyword. This may speed up the simulation or
make the simulation more robust.
More info on when to use illegal sections can be found under SLUGTRACKING MODULE.

SLUGILLEGAL (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

ILLEGALSECTION Symbol

PIPE

Symbol

POSITION

SymbolList

SECTION

IntegerList

OFF | [ON]

Description
Specify whether or not slugs are allowed in
sections defined by PIPE and SECTION.
OFF: Slugs are allowed. Used for sections
where illegal sections previously have been
switched on. ON: Slugs are not allowed to
be generated. Slugs generated elsewhere
may move into the section, but are not
allowed to pass through this section. The
slugs will be destroyed when both the front
and tail are within the section.
Pipe numbers/pipe labels for illegal
sections.
Define the positions of illegal sections. If
this option is used, sub-keys PIPE and
SECTION should not be used.
Section numbers for illegal sections.

Link to: SLUGILLEGAL (on FLOWPATH) Description Keys

557 / 769

OLGA 7

SLUGTRACKING (on FLOWPATH)


Description ( See also: Keys)
This statement defines the slug tracking option. This statement has two main sub-options for
initiation of liquid slugs: the level slug option (LEVEL) and the hydrodynamic slug option
(HYDRODYNAMIC).
These two options may be used together or separately. Terrain slugging will be detected in
ordinary simulations without the slug tracking module, and the interactions between terrain and
hydrodynamic slugging can be investigated using the key HYDRODYNAMIC. The level slug
option is mostly used for startup-slugs.
If HYDRODYNAMIC = ON, the code will set up a new slug in a section whenever the set-up criteria
are fulfilled. These are:
(1) Flow regime at the section boundary changes from separated to slug flow.
(2) Other slug fronts are the required distance away.
(3) The time elapsed since the previous slug was generated in or passed this section is higher
than a specified minimum time.
If HYDRODYNAMIC = MANUAL, the user can specify a fixed number of slugs to be set up at
predefined positions and times. Using this option, liquid will be injected into the pipeline to generate
slugs of required size.
Slugs are not allowed to be generated at the inlet and outlet sections by default. That is, the
boundary sections are automatically set to illegal for slugs by the program itself. However, the
slug front is allowed to move into the outlet section, and the slug tail into the inlet section. Users
can specify the sections where slugs are not allowed to be generated by using SLUGILLEGAL
keyword.
The slug tracking option offers full temperature calculation capabilities.
Remark: The availability of the slug tracking option depends on the users licensing agreement
with SPT Group.
To turn off slug-tracking in a restart there are two possibilities:
(1) Set both LEVEL and HYDRODYNAMIC to OFF. Then the only slugs in the system will be
the ones read from restart.
(2) Remove SLUGTRACKING keyword. Average values will be used in the sections. No slugs
in the simulation.
More details can be found in the description of the slug tracking module.

SLUGTRACKING (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

BUBBLEVOID

Real

DELAYCONSTANT

Real

[150]

Description
Minimum void required behind a level tail
and ahead of a level front at initiation time
Number of pipe diameters a slug needs to
propagate before the next hydrodynamic
slug is initiated.
558 / 769

OLGA 7

ENDTIME

Real (s)

GASENTRAINMENT Symbol

NYDAL |
[VOIDINSLUG]

End time for level slug initiation. If not given


no end time restriction is enforced.
Gas entrainment into slug from bubble for
breaking/level front in slug tracking. NYDAL:
Nydal correlation for entrainment.
VOIDINSLUG: Entrainment based on
correlation for void in slug.

ON | MANUAL |
Option for initiating hydrodynamic slugs.
[OFF]
INITBUBBLEVOIDS RealList
[1]
Void fractions in the slug bubbles.
INITENDTIMES
RealList (s)
End times for slug generation.
The minimum distance between two
INITFREQUENCY
Real (1/s)
consecutive slugs is defined as (bubble
vel./INITFREQUENCY).
Maximum initial length of hydrodynamic
INITLENGTH
Real
slugs in number of pipe diameters.
Time interval between initiations of
INITPERIODS
RealList (s)
consecutive slugs.
Labels of section boundaries where slug
INITPOSITIONS
SymbolList
generation zones are located.
INITSLUGVOIDS
RealList
[0.0]
Void fraction in the liquid slug.
INITSTARTTIMES
RealList (s)
Start times for slug generation.
RealList
The length of zones where slugs are to be
INITZONELENGTHS
(m)
generated.
Option for detecting and initiating level
LEVEL
Symbol
ON | [OFF]
slugs.
Max number of slugs allowed in the system,
MAXNOSLUGS
Integer
if not given there are no restrictions.
The maximum void allowed in a level slug at
SLUGVOID
Real
initiation time.
Start time for level slug initiation. If not
STARTTIME
Real (s)
given, level detection is on from simulation
start.
HYDRODYNAMIC

Symbol

Link to: SLUGTRACKING (on FLOWPATH) Description Keys

559 / 769

OLGA 7

TUNING (on FLOWPATH)


Description ( See also: Keys)
This statement defines the tuning option, witch makes it possible to tune certain parameters in the
model. The parameters available for tuning are at the moment very limited.
Remark: The availability of the tuning option depends on the users licensing agreement with SPT
Group.
The TUNING keyword may be used for adjusting the OLGA model to specific sets of measured
data or for sensitivity studies. TUNING should be applied with great care, as the validation and
verification of the OLGA model may not be valid for such cases.

TUNING (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

AREA

RealList

[1.0]

DIAMETER

RealList

[1.0]

ENTRAINMENT

RealList

[1.0]

GROUGHNESS

Real

[1.0]

LAM_LGI

RealList

[1.0]

LAM_WOI

RealList

[1.0]

MASSTRANSFER RealList

[1.0]

OILDENSITY
OILVISC

RealList
RealList

[1.0]
[1.0]

PIPE

SymbolList

[ALL]

POSITION

SymbolList

REHIGH

RealList

[3000]

Description
Tuning coefficient for AREA in PIPE (used
for equivalent pipes). NOTE: Cannot be
applied on individual sections. Pipe level
and higher is allowed.
Tuning coefficient for diameter. NOTE:
Cannot be applied on individual sections.
Pipe level and higher is allowed.
Tuning coefficient for entrainment rate of
liquid droplets in gas
Tuning coefficient for roughness from
droplets.
Tuning coefficient for interfacial friction
factor between liquid and gas
Tuning coefficient for interfacial friction
factor between oil and water
Tuning coefficient for mass transfer
between gas and oil.
Tuning coefficient for oil density
Tuning coefficient for oil viscosity
Pipe numbers or labels where the tuning
parameters will be applied.
Positions where the tuning parameters will
be applied. If this key is defined, PIPE and
SECTION can not be used in the same
keyword statement.
Maximum of laminar and turbulent friction
factor will be used for Reynold's number
higher than REHIGH, and an interpolated
value will be used for Re between RELOW
and REHIGH. Can be applied on individual
sections, pipes and branches.
560 / 769

OLGA 7

RELOW

RealList

[2300]

ROUGHNESS

RealList

[1.0]

SECTION

RealList

TAMBIENT
RealList
WATERDENSITY RealList
WATERVISC
RealList

[1.0]
[1.0]
[1.0]

Laminar friction factor will be used for


Reynold's number lower than RELOW, and
an interpolated value will be used for Re
between RELOW and REHIGH. Can be
applied on individual sections, pipes and
branches.
Tuning coefficient for inner wall roughness.
NOTE: Cannot be applied on individual
sections. Pipe level and higher is allowed.
Section or section boundary numbers where
the tuning parameters will be applied.
Tuning coefficient for ambient temperature.
Tuning coefficient for water density
Tuning coefficient for water viscosity

Link to: TUNING (on FLOWPATH) Description Keys

561 / 769

OLGA 7

WAXDEPOSITION (on FLOWPATH)


Description ( See also: Keys)
This group is used to define input parameters for the wax deposition module. Wax deposition is
defined for all flow paths, that is, all flow paths must have assigned a wax table. If multiple wax
tables are used in a network, the fluid properties must be generated in a specific manner.
The derivative of wax porosity (if POROSITYOPTION=AGEING) is defined in this manner:
(INITPOROSITY-HARDPOROSITY)/AGEINGTIME
Full temperature calculation (OPTIONS TEMPERATURE = WALL) is necessary when simulating
wax deposition.
Remarks:The availability of the wax deposition option depends on the user's licensing agreement
with SPT Group.
The wax deposition module cannot be applied together with the slug tracking or corrosion modules.
The wax file is generated in PVTsim.

WAXDEPOSITION (on FLOWPATH) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

AGEINGOPT

Symbol

AGEING |
[CONSTANT]

AGEINGTIME

RealList
(d)

[7]

COEFSHEAR

RealList
(kg/m2)

[0.0]

Description
Options for treatment of porosity of
deposited wax as function of time. If
CONSTANT, no aging mechanism is
activated. The porosity will either be directly
given by WAXPOROSITY or an average
value calculated by OLGA . If AGEING,
INITPOROSITY, HARDPOROSITY and
AGEINGTIME will be used to find change in
porosity with time. New deposits will still
have the porosity according to
WAXPOROSITY settings. If INITPOROSITY
is to be used as porosity values of new
deposits, WAXPOROSITY must be set to
the same values.
Time for reduction of porosity from
INITPOROSITY to HARDPOROSITY. Used
to describe change in porosity with time due
to aging. Branch-wise input.
Shear deposition rate constant for
deposition of precipitated wax. Branch-wise
input.
562 / 769

OLGA 7

CONDUCTIVITY

RealList
(W/m-K)

[0.242]

CONDUCTOPT

Symbol

TABLE |
[MANUAL]

DIFFCOEFFMULT

RealList

[1.0]

DISSOLPRESS

RealList
(Pa)

DISSOLRATE

RealList
(kg/s-m2)

[1.e+12]

DISSOLTDIFF

RealList
(C)

[0.0]

DISSOLUTION

Symbol

ON | [OFF]

HARDPOROSITY

RealList

[0.2]

INITPOROSITY

RealList

[0.8]

Pure paraffin wax thermal conductivity.


Branch-wise input.
Options for pure wax thermal conductivity.
TABLE: The wax conductivity is taken from
the wax tables. MANUAL: The conductivity
is given through the key CONDUCTIVITY.
Branch-wise input.
Linear multiplier for modification of the
component specific diffusion coefficients
given in the wax-table. Branch-wise input.
Pressures at which the values of
DISSOLTDIFF apply. The melting/dissolve
table (defined by DISSOLRATE,
DISSOLTDIFF and DISSOLPRESS) will
apply to all branches referred to in the
BRANCH list. If different tables are wanted,
separate WAXDEPOSITON statements
must be given for each branch. Linear
interpolation between table values. NOTE!
Works only for MODEL=RRR.
Maximum melting/diffusion rate. Applied for
all branches given in keyword. Works only
for MODEL=RRR.
Difference between dissolution temperature
and wax appearance temperature as
function of pressure. The melting/dissolve
table (defined by DISSOLRATE,
DISSOLTDIFF and DISSOLPRESS) will
apply to all branches referred to in the
BRANCH list. If different tables are wanted,
separate WAXDEPOSITON statements
must be given for each branch. Linear
interpolation between table values. Works
only for MODEL=RRR.
Switch for turning on/off dissolution. Only
applicable with RRR model.
Lower value of porosity after the given
ageing period through AGEINGTIME. Has
the following purposes: 1. To calculate
change in porosity with time due to ageing.
2. Giving lower limit for porosity in the case
of ageing when INSTPOROSITYOPT =
MANUAL. When INSTPOROSITYOPT =
AUTOMATIC, the lower limit for the porosity
is given by MINPOROSITY, and
HARDPOROSITY is only used for
calculating the porosity change rate.
HARDPOROSITY must be equal to or
larger than MINPOROSITY. Branch-wise
input.
Initial porosity of deposited wax, used only
for describing change in porosity with time
due to ageing. Branch-wise input.
563 / 769

OLGA 7

INSTPOROSITYOPT Symbol

MANUAL |
[AUTOMATIC]

MAXPOROSITY

RealList

[0.8]

MAXROUGHNESS

RealList
(m)

[1.0E6]

MINPOROSITY

RealList

[0.2]

MODEL

Symbol

SHEARMULTC2

Real

SHEARMULTC3

Real

VISCMULTD

Real

VISCMULTE

Real

VISCMULTF

Real

Options for calculating instantaneous


porosity of deposited wax. MANUAL: A
constant value is used, given by
WAXPOROSITY. AUTOMATIC: The
porosity will be calculated by the internal
flow dependent model. The keys
MINPOROSITY and MAXPOROSITY are
used to determine the minimum and
maximum limits for the porosity. The wax
porosity may be changing with changing
flow conditions, and the average porosity
seen at a given point may be different from
the instantaneous porosity given by the
internal porosity model. Branch-wise input.
The maximum limit for the calculated
porosity is given by this key. Used when
INSTPOROSITYOPT=AUTOMATIC. The
porosity of new deposits is calculated by
OLGA and an volume averaging of the
porosity of new and old layers will be
performed. Branch-wise input.
Maximum wax layer roughness allowed.
Branch-wise input.
The minimum limit for the calculated
porosity is given by this key. Used when
INSTPOROSITYOPT=AUTOMATIC. The
porosity of new deposits is calculated by
OLGA and an volume averaging of the
porosity of new and old layers will be
performed. Branch-wise input.

MATZAIN |
HEATANALOGY Wax deposition model.
| [RRR]
Tuning multiplier for empirical constant C2
[1.0]
in MATZAIN wax deposition model. Branchwise input.
Tuning multiplier for empirical constant C3
[1.0]
in MATZAIN wax deposition model. Branchwise input.
Tuning multiplier for the D parameter in
the internal non-Newtonian viscosity
[1.0]
correlation. Only used when
VISCOPTION=CALSEP. Branch-wise input.
Tuning multiplier for the E parameter in
the internal non-Newtonian viscosity
[1.0]
correlation. Only used when
VISCOPTION=CALSEP. Branch-wise input.
Tuning multiplier for the F parameter in
the internal non-Newtonian viscosity
[1.0]
correlation. Only used when
VISCOPTION=CALSEP. Branch-wise input.
Option for calculating the wax/oil dispersion
viscosity TABULAR: Viscosity multiplier
given as function of volume fraction of wax.

564 / 769

OLGA 7

TABULAR |
[CALSEP]

VISCOPTION

Symbol

VISMULTIPLIER

RealList

WAXPOROSITY

RealList

[0.6]

WAXROUGHNESS

RealList

[0.0]

WAXTABLE

SymbolList

WAXVOLFRACTION

RealList

given as function of volume fraction of wax.


CALSEP: Use internal model. VISCOPTION
must be selected for the whole system of
branches.
Ratio of viscosity of wax/oil dispersion to oil
viscosity. Corresponding to the wax volume
fractions given in WAXVOLFRACTION. The
viscosity multiplier table (defined by
VISMULTIPLIER and WAXVOLFRACTION)
will apply to all branches referred to in the
BRANCH list. If different tables are wanted,
separate WAXDEPOSITON statements
must be given for each branch. Linear
interpolation between table values.
Porosity of new deposits in wax layer. Used
when INSTPOROSITYOPT=MANUAL.
Branch-wise input.
Fraction of wax layer thickness that is
interpreted as wax layer roughness (i.e. wall
roughness). Limited by MAXROUGHNESS.
Branch-wise input.
Name of wax table. Branch-wise input.
Volume fractions of precipitated wax
dispersed in oil corresponding to the
viscosity multiplier values given in
VISMULTIPLIER. The viscosity multiplier
table (defined by VISMULTIPLIER and
WAXVOLFRACTION) will apply to all
branches referred to in the BRANCH list. If
different tables are wanted, separate
WAXDEPOSITON statements must be
given for each branch. Linear interpolation
between table values.

Link to: WAXDEPOSITION (on FLOWPATH) Description Keys

565 / 769

OLGA 7

DRILLINGFLUID (on LibraryLevel)


Description ( See also: Keys)
This statement enables the use of drilling fluids. They are treated as extra fluids and are tracked
through the pipeline. They do not replace any of the phases. The fluid properties of a drilling fluid
can be given in two different ways:
1. Define the range of density and viscosity at standard conditions for a drilling fluid. The density
and viscosity used at the inlet is given in SOURCE or NODE.
2. Get the fluid properties for the drilling fluid from a separate fluid property file. The fluid property
file must then have an appropriate string in the header of the file:
string "GASMUD" if gas phase is used as drilling fluid
string "OILMUD if oil phase is used as drilling fluid
string "WATERMUD" if water phase is used as drilling fluid
Non-Newtonian rheology is applied if the PVT table contains the rheology parameters yield stress
or power law exponent. The non-Newtonian models Bingham and Power law are used to modify
the viscosity of the drilling fluid as for the complex viscosity option, see (Complex Fluid Module).
For oil-based mud, the power law exponent or yield stress is read when the heading contains the
strings "POWEXPL" or "YIELDSTRL" respectively. For water-based mud, the power law exponent
or yield stress is read when the heading contains the strings "POWEXPW" or "YIELDSTRW"
respectively. For both types of mud the power law exponent and/or the yield stress should then be
given in the file as a function of pressure and temperature.
A combination of 1) and 2) can not be used in the same case.
This keyword requires access to the Wells Module.

DRILLINGFLUID (on LibraryLevel) Keys ( See also: Description )


Key
CUTDENSITY
FLUIDTABLE
LABEL

Type

Parameter set

Unit:( ) Default:[ ]
Real
[2100.0]
(kg/m3)
Symbol
[DRILLINGFLUIDString
1]

MAXDENSITY

Real
(kg/m3)

MAXVISCOSITY

Real
(Ns/m2)

MINDENSITY

Real
(kg/m3)

Description
Density of cutting particles. Global value
that only should be set once.
Label or number of fluid table in PVT file.
Name of definition.
The maximum density of the drilling fluid to
be used in the entire drilling process. The
densisty must be given at standard
conditions.
The maximum viscosity of the drilling fluid to
be used in the entire drilling process. The
viscosity must be given at standard
conditions.
The minimum density of the drilling fluid to
be used in the entire drilling process. The
density must be given at standard
566 / 769

OLGA 7

MINDENSITY

(kg/m3)

MINVISCOSITY

Real
(Ns/m2)

TYPE

WATERMUD |
Symbol OILMUD |
GASMUD

VISCOSITYBCONST Real

VISCOSITYCCONST Real

density must be given at standard


conditions.
The minimum viscosity of the drilling fluid to
be used in the entire drilling process. The
viscosity must be given at standard
conditions.
Type of drilling fluid. The following types are
allowed: WATER, OIL, and GAS.
B constant in the Vogel viscosity model for
water based muds. visc =
visc0*exp(B/(T+C)) where visc0 is given in
SOURCE and/or NODE.
C constant in the Vogel viscosity model for
water based muds. visc =
visc0*exp(B/(T+C)) where visc0 is given in
SOURCE and/or NODE.

Link to: DRILLINGFLUID (on LibraryLevel) Description Keys

567 / 769

OLGA 7

HYDRATECURVE (on LibraryLevel)


Description ( See also: Keys)
This keyword defines a hydrate formation curve to be used with the HYDRATECHECK keyword.
See also:
HYDRATECHECK

HYDRATECURVE (on LibraryLevel) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

Description

Units and orders of columns of the


temperature and pressure in the
SymbolList
TEMPERATURE
COLUMNHEADER
HYDRATEFILE. By default the first
(ValueUnitPair) | PRESSURE
column is for temperature and the second
for pressures.
YES: The hydrate dissociation curve is to
be read from a data file. NO: The hydrate
FROMFILE
Symbol
YES | [NO]
curve is specified using the keys
PRESSURE and TEMPERATURE.
The name of the file containing hydrate
temperature as a function of pressure or
HYDRATEFILE
String
vice versa. Must be specified when
FROMFILE=YES.
Inhibitor concentration (in weight percent)
INHIBCONC
Real
[0]
for a hydrate curve (default = 0).
The inhibitor component to use with the
hydrate curve. For Compositional
Tracking only. The inhibitor component
INHIBITOR
Symbol
must be defined in the feed file, possible
selections are: EtOH, MeOH, MEG, DEG
and TEG.
LABEL
String
[HYD-1]
The label of this hydrate curve.
Hydrate formation pressure for each given
temperature point. The pressure points
PRESSURE
RealList (Pa)
have be unique and entered in increasing
order.
Temperature points defining the hydrate
TEMPERATURE RealList (C)
curve. The temperature points have to be
unique and entered in increasing order.
Link to: HYDRATECURVE (on LibraryLevel) Description Keys

568 / 769

OLGA 7

MATERIAL (on LibraryLevel)


Description ( See also: Keys)
This statement specifies physical properties of the materials associated with the pipe wall, pipeline
coating, insulation and soil.
If a fluid is enclosed between two concentric cylinders, natural convection will be significant for the
heat transfer rate. By choosing TYPE = FLUID, OLGA will calculate the natural convection. The
viscosity and expansion coefficient of the fluid must then be given. If the fluid is a gas at low
pressure (< 100 bar) natural convection will have less influence on the heat transfer rate and
radiation will become important as well. Radiation is included in heat transfer calculation by setting
RADIATION = YES. INNEREMISSIVITY and OUTEREMISSIVITY must then be specified. (High
emissivity means low reflectivity.) Stefan-Boltzmann's law for long concentric cylinders is used to
calculate the heat transfer rate. The heat transfer rate due to radiation is negligible if one or both of
the emissivities are small.

MATERIAL (on LibraryLevel) Keys ( See also: Description )


Key
CAPACITY

CONDMULT

Type

Parameter set

Unit:( )

Default:[ ]

Real (J/kgC)

Thermal capacity of the material.

Real

Conductivity multiplier below PHCHMIN.


Between PHCMIN and PHCMAX, the
multiplier is linearly interpolated from
CONDMULT to 1.

EXPANSION

Real (W/mC)
Real
(kg/m3)
Real (1/C)

FUSIONMULT

Real

HCAPMULT
INNEREMISSIVITY
LABEL
OUTEREMISSIVITY

Real
Real
String
Real

PHCHMAX

Real (C)

PHCHMIN

Real (C)

RADIATION

Symbol

CONDUCTIVITY
DENSITY

Description

Thermal conductivity of the material.


Material density.

[0]
[MAT-1]
[0]

YES | [NO]

Expansion coefficient of fluid layer.


Heat capacity multiplier between PHCHMIN
and PHCHMAX used to model latent heat of
fusion. If FUSIONMULT is 0, the heat
capacity multiplier is linearly interpolated
from HCAPMULT to 1 between PHCMIN
and PHCMAX.
Heat capacity multiplier below PHCHMIN
Emissivity of inner surface of fluid layer.
Material label.
Emissivity of outer surface of fluid layer.
Upper temperature limit for phase change
region
Lower temperature limit for phase change
region
NO: No radiation across fluid layer. Yes:
Radiation across fluid layer.
569 / 769

OLGA 7

RADIATION

Symbol

YES | [NO]

TYPE

Symbol

FLUID | PCM |
[SOLID]

VISCOSITY

Real (Ns/m2)

Radiation across fluid layer.


Type of wall material. SOLID: Normal wall
layer material. FLUID: Stagnant fluid
material. PCM: Phase changing material
Dynamic viscosity of fluid material

Link to: MATERIAL (on LibraryLevel) Description Keys

570 / 769

OLGA 7

SHAPE (on LibraryLevel)


Description ( See also: Keys)
This keyword describes the external contour of a material. The type of the shape can be one of the
following: CIRCLE, ELLIPSE, RECTANGLE, POLYGON. The material inside the shape is being
described with the MATERIAL keyword. The shape keyword is being used for solid bundles.

SHAPE (on LibraryLevel) Keys ( See also: Description )


Key
LABEL
MATERIAL
RADIUS

Type

Parameter set

Unit:( )

Default:[ ]

String
Symbol
Real (m)

[SHAPE-1]

TYPE

Symbol

X_LOWER_LEFT

Real (m)

X_UPPER_RIGHT Real (m)


XPOINTS

RealList
(m)

Y_LOWER_LEFT

Real (m)

Y_UPPER_RIGHT Real (m)


YPOINTS

RealList
(m)

Description
Name of shape.
Name/label of solid inside the shape.
Radius of the circle.

<None> | CIRCLE
Type of shape. CIRCLEs are automatically
| RECTANGLE |
placed in the origin.
POLYGON
x-coordinate of the lower left corner of the
rectangle.
x-coordinate of the upper right corner of the
rectangle.
x-coordinates of the polygon. Polygon
points have to be specified counter
clockwise.
y-coordinate of the lower left corner of the
rectangle.
y-coordinate of the upper right corner of the
rectangle.
y-coordinates of the polygon points.
Polygon points have to be specified counter
clockwise.

Link to: SHAPE (on LibraryLevel) Description Keys

571 / 769

OLGA 7

TABLE (on LibraryLevel)


Description ( See also: Keys)
This statement defines a function in tabular form either valve sizing coefficient or well flow
parameters.

TABLE (on LibraryLevel) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

INJECTIONPRESSURE Real (Pa)


LABEL
LOOKUP

String
Symbol

OPENING

Real

POINT

RealList

TABLE

Symbol

XLOOKUPVARIABLE

Symbol

XVARIABLE

YVARIABLE

[TABLE-1]
ON | [OFF]

Description
Injection pressure at which
the GLV curve is defined.
Table label.
Turn on look-up function.
Define the opening for
which DELTAP-CV
relationship is valid.
Instead of defining one
OPEN-CV table for a
valve, one can instead
define a list of DELTAPCV tables, and the CV for
the valve is found by
interpolating w.r.t. both
DELTAP and OPENING.
This functionality is only
valid for valves with
PHASE=LIQUID.
Define the list of values of
both independent and
dependent variables in the
table (x1, y1, x2, y2, ...).
Table where
XLOOKUPVARIABLE
input is sampled.
Name of x variable

XVAR | [YVAR]
NOTGIVEN | OPEN |
SymbolList
Independent variable
DELTAP | LEVEL |
(ValueUnitPair)
name
PRODUCTIONPRESSURE
NOTGIVEN | CV | FLOW |
GASFL | LIQFL | PILIQ |
SymbolList
WATFR | OILTC | GASTC | Dependent variable name
(ValueUnitPair)
WATTC | STDGASFLOW |
VOLUME

Link to: TABLE (on LibraryLevel) Description Keys

572 / 769

OLGA 7

TIMESERIES (on LibraryLevel)


Description ( See also: Keys)
The TIMESERIES keyword is a generic function of time. This means that it can be used for
different physical properties. There is a built in sine function, normal point series can be used, and
in addition a combination of these are possible. The time series functionality is implemented for
ambient temperature, soil temperature and radiation.

TIMESERIES (on LibraryLevel) Keys ( See also: Description )


Type

Parameter set

Unit:( )

Default:[ ]

AMPLITUDE

Real

COMBINETYPE

Symbol

FACTOR

RealList

INTERPOLATION

Symbol

LABEL

String

PERIOD

Real (s)

PERIODIC

Symbol

SERIES

RealList

SERIESREF

SymbolList

TIME

RealList (s)

TIME0

Real (s)

TRANSITION

Symbol

Amplitude of the sine function


This key determines how the time series in
SERIESREF are combined. When using
SEQUENTIAL, the time series are
<None> |
combined in sequence according to the
SEQUENTIAL |
order in which they are defined. The
[ADDITIVE]
transition from one to the next is defined in
the keys TRANSITIONTIME and
TRANSITION. If ADDITIVE is used, the
values are simply added.
Scaling factor for each time series in
[1]
SERIESREF. If this key is not given, a factor
of 1 is used.
<None> | STEP | Type of interpolation between each point in
[LINEAR]
time.
[TIMESERIES-1] Label of timeseries
The time it takes for the sine function to
start repeating itself.
If this key is set to ON, the function will be
repeated. If the first and last value of the
function are equal, the function will be
<None> | ON |
smooth. If PERIODIC = OFF, the last value
[OFF]
will be used for the remainder of the
simulation when the time exceeds the
defined range.
Series of function values at corresponding
times defined in key TIME
List of TIMESERIES labels to be used. Note
that circular references are not allowed.
Points in time for every given value in the
key SERIES
This key is used to define the phase shift of
[0]
the sine function. If it is set to a quarter
period, a cosine function is created.
<None> | STEP | Type of transition from one time series in
[LINEAR]
SERIESREF to the next.

Key

Description

573 / 769

OLGA 7

This key is used to determine the points in


time when the transition from one time
series in SERIESREF to the next occur. If
PERIODIC = ON, the difference between
the first and last point is used to determine
the period of the function.

TRANSITIONTIME RealList (s)

TYPE

Symbol

<None> |
POINTS |
COMBINE |
[SINE]

Option for type of time series.

Link to: TIMESERIES (on LibraryLevel) Description Keys

574 / 769

OLGA 7

TRACERFEED (on LibraryLevel)


Description ( See also: Keys)
This statement defines a feed of tracer, for instance a feed of kinetic hydrate inhibitor or corrosion
inhibitor. When used for tracking a tracer with aging effect, a distribution in age groups may be
chosen, otherwise the key AGING should be set to OFF. The tracer mass, residence time and age
are tracked through the pipeline system. Tracers are, however, assumed to be present in such
small concentrations that they do not influence the hydraulics. TRACERFEEDs may be referenced
in a SOURCE or MASSFLOW node. To use TRACERFEED, the key TRACERTRACKING must be
set to ON under the OPTIONS keyword.

TRACERFEED (on LibraryLevel) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

AGEBOUNDARIES RealList (s)

AGING

Symbol

ON | [OFF]

CARRIERPHASE

Symbol

GAS | OIL |
[WATER]

HIGHLOWBOUND Real

[0.0]

LABEL

[TFEED-1]

String

LOWLOWBOUND Real

[0.0]

Description
Boundaries of age groups [s]. N
AGEBOUNDARIES give N+1 age groups,
one below the lowest boundary, one above
the highest boundary, and N-1 groups
bounded by the N boundaries.
Switch for activating aging effect on.
Carrying phase of the inhibitor. KHI will not
follow any vaporization to the gas phase.
Gas/liquid phase transfer will not affect the
KHI amounts in the carrying phase, only the
concentrations.
Age output variables are set to zero if
(tracer mass)/(tracer mass + carrier phase
mass) of the requested feed/age group is
lower than this value and the ratio hasn't
been above HIGHLOWBOUND since it was
lower than LOWLOWBOUND.
Tracer feed label.
Age output variables are set to zero if
(tracer mass)/(tracer mass + carrier phase
mass) of the requested feed/age group is
lower than this value.

Link to: TRACERFEED (on LibraryLevel) Description Keys

575 / 769

OLGA 7

WALL (on LibraryLevel)


Description ( See also: Keys)
This statement specifies the wall data for pipes. In the wall statement the user specifies the wall
layer geometry and the name of the wall. These data are required if the TEMPERATURE option is
"WALL" or "FASTWALL" in OPTIONS. The user also specifies the required data if the walls are to
be heated. Heated walls can only be used together with TEMPERATURE = WALL.
The pipe wall may consist of different material layers, specified by the keys "MATERIAL" and
"THICKNESS". Each material layer can be divided into sub layers either by specifying each sub
layer as a new material layer or by automatic discretization of the material layers by the use of the
key "DISCRETIZATION".
Heat can be provided to a user specified wall layer in each wall. Constant heat or heat varying with
time. Each wall in OLGA may contain only one heat source, i.e. the heat per unit length supplied to
the wall is constant along the pipe having this specific wall. The heat sources may vary along the
pipelines by specifying different walls along the line. A combination of walls having constant power
supply and no power supplied at all can be specified in the same OLGA case.

WALL (on LibraryLevel) Keys ( See also: Description )


Key

Type
Unit:( )

CONTROLLERLABEL Symbol
DISCRETIZATION

SymbolList

ELECTRICHEAT
INNERDIAMETER
LABEL

Symbol
Real (m)
String

MATERIAL

SymbolList

MAXNOLAYERS

IntegerList

MAXRATIO

RealList

POWERCONTROL

RealList
(W/m)
Symbol

POWERMAX

Real (W/m)

THICKNESS

RealList (m)

TIME

RealList (s)

WALLAYER

Integer

POWER

Parameter
set

Description

Default:[ ]
Name of controller for electric heating
<None> | ON Switch on or off auto-discretization for each
| [OFF]
wall material layer.
ON | [OFF]
Switch electric heating on or off.
Pipe's inner diameter.
[WALL-1]
Label of the wall.
Names of materials that are used in the wall
layers.
Maximum number of sub-layers allowed for
each of the layers.
Maximum ratio of outer to inner radius of
[2]
sub-layers.
Power per unit length for the electric
heating time series.
ON | [OFF]
Switch power control on or off.
Max. power per unit length for electric
heating if it is restricted by a control system.
Thickness of each wall layer.
Time series when POWER is to be
[0.0]
modified.
Wall layer for electric heating.

Link to: WALL (on LibraryLevel) Description Keys


576 / 769

OLGA 7

Output Variables
The variables belonging to a section in the pipeline are divided between boundary variables and volume
variables. This is due to the staggered mesh used in the numeric solution of the problem, where some
variables are computed at the section boundaries (boundary variables) while others are computed in the
middle of the section (volume variables).
Branch variables will give quantities, relating to the branch, such as, for instance, liquid content. Global
variables will give quantities relating to the total system, such as total mass in the system, or relating to
the integration, such as the time step.
In addition to the variables describing the pipeline, we have variables describing the process equipment,
such as compressors, sources etc.
All variables listed can be written to the trend plot data file. Variables defined as boundary or volume
variables can also be written to the profile plot data file. The abbreviations for the use of the variables (in
the Use as column in the listing) are as follows:
O:
TP:
PP:
C:
S:

Printed output variable (to be specified with keyword OUTPUT).


Trend plot variable (to be specified with keyword TREND).
Profile plot variable (to be specified with keyword PROFILE).
Controller signal input variable (to be specified as the controlled variable for a controller, input
group CONTROLLER).
Only for server output

Variables belonging to different groups cannot be specified together in the input for trend plotting (except
the boundary and volume variable groups). A new TRENDDATA entry has to be specified for each
variable group.

577 / 769

OLGA 7

OUTPUT (on CASELevel)


Description ( See also: Keys)
This statement defines the time intervals for when the variables defined in OUTPUTDATA is
reported. The information is saved as an output file (*.out) which can be opened in a text editor.
It is possible to specify either time points for output (TIME) or a time interval for output (DTOUT). It
is also possible to specify different time intervals for output using a combination of TIME and
DTOUT.

OUTPUT (on CASELevel) Keys ( See also: Description )


Type

Parameter set

Unit:( )

Default:[ ]

COLUMNS

Integer

[4]

DTOUT

RealList (s)

TIME

RealList (s)

Key

[0.0]

Description
Number of variable columns per page. Must
not be greater than 6.
Time interval(s) between subsequent
printings of output. The time interval is
changed at the times specified in TIME. If
TIME is not specified or only contains one
value, only one value must be given for
DTOUT. This value is used throughout the
entire simulation.
Instants in time when the plot interval is
changed.

Link to: OUTPUT (on CASELevel) Description Keys

578 / 769

OLGA 7

OUTPUTDATA (on CASELevel)


Description ( See also: Keys)
This statement defines the variables to be printed to the output file (*.out). Only the global variables are

available on this level.

OUTPUTDATA (on CASELevel) Keys ( See also: Description )


Key

VARIABLE

Type
Unit:( )
SymbolList
(ValueUnitPair)

Parameter
set

Description

Default:[ ]
List of variable names to be printed. Units
may be specified.

Link to: OUTPUTDATA (on CASELevel) Description Keys

579 / 769

OLGA 7

PLOT (on CASELevel)


Description ( See also: Keys)
This statement defines the time interval (DTPLOT) for the plot variables.
Plot files:
The graphical presentation of results should be considered the primary source to an understanding
of the calculated state in the pipeline. A graphical package is supplied as part of the OLGA GUI.
The trend plot file and the profile plot file are in ASCII format. The ASCII format files can be used to
interface the results from OLGA with any graphical package the user might have access to.
Both the trend plot file and the profile plot file consist of a heading and the time and variables
specified with the keyword statement TREND and PROFILE in the input file (extension inp).
In addition to the OLGA GUI graphical package, the stand-alone tools OLGA Viewer (.plt files) and
FEMTherm Viewer (.osi) are available for visualisation of results. The .plt and .osi files are in
binary format.
Also, the stand-alone tool FEMThermTool can be used for both 2D thermal computation in a cross
section and visualisation of the triangular grid generated when using the FEMTherm module.

PLOT (on CASELevel) Keys ( See also: Description )


Key

Type
Unit:( )

DTPLOT

RealList (s)

TIME

RealList (s)

VARIABLE

SymbolList
(ValueUnitPair)

Parameter
set

Description

Default:[ ]

[0.0]

Time interval between subsequent printouts


of the plot variables.
Instants in time when the plot interval is
changed.
List of variable names to be plotted. Units
may be included in the list. N.b., variables
from different groups can be defined on the
same line.

Link to: PLOT (on CASELevel) Description Keys

580 / 769

OLGA 7

PROFILE (on CASELevel)


Description ( See also: Keys)
This statement defines either time points (TIME) or a time interval (DTPLOT) for the profile plot
variables.

PROFILE (on CASELevel) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

DTPLOT

RealList (s)

DTTIME

RealList (s)

TIME

RealList (s)

Description

[0.0]

Time interval between subsequent printouts


to the profile plot file.
Points in time when the plot interval is
changed.
Instants in time when data is written to the
profile plot file.

Link to: PROFILE (on CASELevel) Description Keys

581 / 769

OLGA 7

PROFILEDATA (on CASELevel)


Description ( See also: Keys)
This statement defines profile plot variables along the pipeline at specified time points. Flow path
variables defined on this level will be reported for all flow paths.
For available profile variables see Output Variables.

PROFILEDATA (on CASELevel) Keys ( See also: Description )


Key

Type
Unit:( )

AGEGROUPID

IntegerList

COMPONENT

SymbolList

HYKPID

IntegerList

LAYER

IntegerList

TRACERFEED

SymbolList

VARIABLE

SymbolList
(ValueUnitPair)

Parameter
set

Description

Default:[ ]

BOCOMP-1

Age group for plotting inhibitors variables


with aging effect, e.g. Kinetic hydrate
inhibitor (KHI).
Component names. Using the Inhibitor
tracking module, available components are
HC, H2O and MEG/MEOH/ETOH. Using
DRILLING=ON under OPTIONS, available
components are HC, H2O,
MEG/MEOH/ETOH, CUTTING and MUD
components. For compositional models the
names of the available components are
given in the feed file.
Array element index of HYKPLIST.
Wall layer numbers for plotting of wall
temperatures. Layer no. 1 is the innermost
one.
Tracer label that the tracer type variables
are plotted for.
List of variable names to be plotted. Units
may be specified.

Link to: PROFILEDATA (on CASELevel) Description Keys

582 / 769

OLGA 7

TREND (on CASELevel)


Description ( See also: Keys)
This statement defines the time interval for trend plotting. The time intervals may be given as single
time interval (DTPLOT), directly as a set of time points (TIME) or as a set of time intervals changing
at specified time points (combination of DTPLOT and TIME).

TREND (on CASELevel) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

DTPLOT

RealList (s)

NPLOT

IntegerList

TIME

RealList (s)

[0.0]

Description
Time interval between subsequent trend
variable printouts. DTPLOT should only be
given once in the input file, if given more
than once, OLGA will use the last value
given.
Number of data points. A list of NPLOT
values refers to the time points given in
TIME, i.e., the sample period will be
DTIME/NPLOT.
Instants in time when the plot interval is
changed.

Link to: TREND (on CASELevel) Description Keys

583 / 769

OLGA 7

TRENDDATA (on CASELevel)


Description ( See also: Keys)
This statement defines the trend data to be plotted. A trend plot is a time series plot for a specified
variable. Only global and branch variables are available on this level.

TRENDDATA (on CASELevel) Keys ( See also: Description )


Key
HYKPID
VARIABLE

Type
Unit:( )
Integer
SymbolList
(ValueUnitPair)

Parameter
set

Description

Default:[ ]
Array element index of HYKPLIST.
List of variable names to be plotted. Units
may be specified.

Link to: TRENDDATA (on CASELevel) Description Keys

584 / 769

OLGA 7

PHASESPLITNODE
Description ( See also: Keys)
The phase split node behaves as something in-between the internal network node and the network
separator. There are no level controls and separator efficiencies included, but the phase
distributions for the outgoing branches can be specified.
The phase split node has an arbitrary number of inlets/outlets. It has six different types of
terminals: GAS, OIL, WATER, LIQUID, DRYGAS and MIXTURE.
Terminal = GAS
Terminal = OIL
Terminal = WATER
Terminal = LIQUID
Terminal = DRYGAS
Terminal = MIXTURE

- gas +droplets
- oil bulk
- water bulk
- oil and water bulk
- gas only
- all phases within the node itself(default)

The following connections are defined:

MIXTURE_1, MIXTURE _N inlets and outlets


GAS_1, GAS_N outlets
OIL_1, OIL_N outlets
WATER_1, WATER_N outlets
LIQUID_1, ... LIQUID_N outlets
DRYGAS _1, DRYGAS _N outlets

PHASESPLITNODE Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

FEEDMASSFRACTION RealList
FEEDMOLEFRACTION RealList

FEEDNAME

SymbolList FEED-1 | BOFEED-1

FEEDVOLFRACTION

RealList

FLUID

Symbol

Description
Mass fraction of each feed.
Mole fraction of each feed.
Label of feeds feeding to
terminal nodes. Requires
COMPOSITIONAL=ON or
BLACKOIL under the OPTIONS
keyword.
Volume fraction of each feed
given in FEEDNAME for choke
model (only for Blackoil model).
Label or number of PVT table to
apply for the specific branch. If a
keyword based pvt-file is used,
FLUID must be the same as the
LABEL given in the pvt-file, i.e.,
numbering is not valid for this
format.
585 / 769

OLGA 7

INFO

String

INHIBFRACTION

Real

LABEL

String

PRESSURE

Real (Pa)

STEAMFRACTION

Real

TEMPERATURE

Real (C)

VOIDFRACTION

Real

VOLUME

Real (m3)

WATERCUT

Real

Real (m)

Real (m)

Real (m)

General information about the


PhaseSplitNode. For information
purposes only.
Mass fraction of inhibitor in the
[0.0]
water phase.
Network component label (if
[PHASESPLITNODE_tag] nothing is given the NC tag is
used).
Initial pressure when using
INITIALCONDITIONS.
Fraction of total mass of H2O
component in the gas phase. By
default (=-1), the mass of H2O
component is in the gas phase if
the temperature is greater than
the saturation temperature,
otherwise, the mass of H2O
[-1.0]
component is distributed
between the gas phase and the
water phase according to the
vapor pressure of H2O in the
gas phase. A list of both positive
and negative values is not
allowed.
Initial temperature when using
INITIALCONDITIONS.
Gas volume fraction when using
INITIALCONDITIONS.. Specify
1 for OLGA to use the
equilibrium values from the fluid
property tables.
Volume of PhaseSplitNode. If
specified volume is less than or
[-1]
equal to 0, OLGA will estimate
the volume (see User's manual).
Initial watercut when using
[0.0]
INITIALCONDITIONS.
x-coordinate of node in network.
[0]
Used for 3D graphics only.
y-coordinate (vertical axis) of
[0]
node in network. Used for 3D
graphics only.
z-coordinate of node in network.
[0]
Used for 3D graphics only.

Link to: PHASESPLITNODE Description Keys

586 / 769

OLGA 7

SEPARATOR
Description ( See also: Keys)
The network separator model in OLGA is not intended to accurately model separation phenomena,
but is meant to include the influence of a separator on transient pipeline dynamics.
The network separators have arbitrary number of outlets. Two phase separators must have
connected at least one gas-outlet and one oil-outlet to pipes. Three phase separators must have
connected at least one gas-outlet, one oil-outlet and one water-outlet to pipes.
The user can define the separation efficiency (gas/liquid and oil/water), and set critical levels for oil
and water drainage.
Model description and user guidelines:
1. Separator type: The separator may be horizontal or vertical, two-phase of three-phase.
2. Pipelines downstream of network separators. For a two phase separator, the following outlets
are defined:
GAS_1, .., GAS_N outlets (Use Gas_2 to model flare outlet)
OIL_1, .., OIL_N outlets (Use OIL_2 to model emergency outlet)
For a three-phase separator, the following outlets are defined:
GAS_1, .., GAS_N outlets
OIL_1, .., OIL_N outlets
WATER_1, .., WATER_N outlets
3. Valves. The network separators have no internal valves. All valves must be defined on the
outgoing branches, using the VALVE keyword.
4. Levels used by a network separator. The separator levels are controlled by the valves and
controllers in the outlet branches. Moreover, the water level limit for when the water will be
drained together with the oil can be specified by the keys: HHWATHOLDUP or HHWATLEVEL

SEPARATOR Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

DIAMETER

Real (m)

EFFHIGH

Real

[0.995]

EFFICIENCY

Real

[1.0]

EFFLOW

Real

[0.995]

FEEDMASSFRACTION RealList
FEEDMOLEFRACTION RealList
FEEDNAME

SymbolList

FEED-1 |
BOFEED-1

Description
Separator diameter.
Liquid volume fraction when the
efficiency goes toward zero and the
separator is treated as a normal
section.
Gas/liquid separation efficiency. (One
minus the volume fraction of liquid
droplets in the gas outlet stream.)
Liquid volume fraction when the
efficiency is reduced.
Mass fraction of each feed.
Mole fraction of each feed.
Label of feeds used to initialize
separator. Requires
COMPOSITIONAL=ON or BLACKOIL
under the OPTIONS keyword.

587 / 769

OLGA 7

FEEDVOLFRACTION

RealList

FLUID

Symbol

HHWATHOLDUP

Real

HHWATLEVEL

Real (m)

INITOILLEVEL
INITPRESSURE
INITTEMPERATURE
INITWATLEVEL

Real (m)
Real (Pa)
Real (C)
Real (m)

LABEL

String

LENGTH

Real (m)

LEVELTABLE

Symbol

OILTCONST

Real (s)

ORIENTATION

Symbol

PHASE

Symbol

SURFACEAREA

Real (m2)
RealList
(C)
RealList
(s)
Real
(W/m2-C)

TAMBIENT
TIME
UVALUE

under the OPTIONS keyword.


Volume fraction of each feed given in
FEEDNAME for choke model (only for
Blackoil model).
Label or number of fluid table to apply
for the specific branch. If a keyword
based pvt-file is used, FLUID must be
the same as the LABEL given in the
pvt-file, i.e., numbering is not valid for
this format.
Water hold-up upper limit. If the water
hold-up exceeds this value water will
be drained together with oil through the
oil drain.
Water level upper limit. If the water
level exceeds this value water will be
drained together with oil through the oil
drain.
The initial oil level.
Initial pressure.
Initial temperature.
[0.0]
The initial water level.
Network component label (if nothing is
[SEPARATOR_tag]
given the NC tag is used).
Separator length.
Label of the table where the relation
between level (height) in the separator
and volume of the separator is given.
Time constant for separation of oil from
[0.0]
water.
<None> |
VERTICAL |
Orientation of the separator..
HORIZONTAL
Number of phases separated in the
TWO | THREE
separator.
Surface area of the separator.
Ambient temperature.
[0.0]
[0.0]

WATTCONST

Real (s)

[0.0]

Real (m)

[0]

Real (m)

[0]

Real (m)

[0]

Time series for specified boundary


values.
Overall heat transfer coefficient given
by user based on inner pipe diameter.
Time constant for separation of water
from oil.
x-coordinate of separator in network.
Used for 3D graphics only
y-coordinate (vertical axis) of separator
in network. Used for 3D graphics only
z-coordinate of separator in network.
Used for 3D graphics only
588 / 769

OLGA 7

Link to: SEPARATOR Description Keys

589 / 769

OLGA 7

OUTPUTDATA (on SEPARATOR)


Description ( See also: Keys)
This statement defines the separator variables to be printed to the output file (*.out).
See Separator Output Variables for available variables.

OUTPUTDATA (on SEPARATOR) Keys ( See also: Description )


Key

VARIABLE

Type
Unit:( )
SymbolList
(ValueUnitPair)

Parameter
set

Description

Default:[ ]
List of variables to be printed. Units may be
specified.

Link to: OUTPUTDATA (on SEPARATOR) Description Keys

590 / 769

OLGA 7

TRENDDATA (on SEPARATOR)


Description ( See also: Keys)
This statement defines the trend data to be plotted for separators. A trend plot is a time series
plot for a specified variable.
For available variables see Separator Output Variables.

TRENDDATA (on SEPARATOR) Keys ( See also: Description )


Key

VARIABLE

Type
Unit:( )
SymbolList
(ValueUnitPair)

Parameter
set

Description

Default:[ ]
List of variables to be plotted. Units may be
specified.

Link to: TRENDDATA (on SEPARATOR) Description Keys

591 / 769

OLGA 7

ANNULUS
Description ( See also: Keys)
Annulus is a network component. See ANNULUS COMPONENT for more description.
See also ANNULUS COMPONENT Keys

ANNULUS Keys ( See also: Description )


Key
LABEL

Type

Parameter set

Unit:( )

Default:[ ]

String

[ANNULUS_tag]

Description
Network component label (if nothing is
given the NC tag is used).

Link to: ANNULUS Description Keys

592 / 769

OLGA 7

COMPONENT (on ANNULUS)


Description ( See also: Keys)
This statement defines the configuration of pipes which are bundled together and have thermal
interaction. Gas-lifted wells are typical examples, where gas is injected in the annulus between the
casing and tubing while the production fluid together with the injected gas is produced in the tubing.

COMPONENT (on ANNULUS) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

FLOWPATH

Symbol

FROM

Symbol

OUTERHVALUE

Real (W/m2C)

TO

Symbol

XOFFSET

Real (m)

[0.0]

YOFFSET

Real (m)

[0.0]

Description
Label of a FLOWPATH that resides inside
the BUNDLE.
Label of the POSITION on the FLOWPATH
where it enters the BUNDLE.
Heat transfer coefficient at the wall surface
of a branch to the bulk fluid in the carrier
line. Forced/free convection will be applied
if this key is not defined.
Label of the POSITION on the FLOWPATH
where it exits the BUNDLE.
The component's displacement along the xaxis relative to the center of the bundle.
The component's displacement along the yaxis relative to the center of the bundle.

Link to: COMPONENT (on ANNULUS) Description Keys

593 / 769

OLGA 7

FLUIDBUNDLE
Description ( See also: Keys)
FLUIDBUNDLE is a network component. See FLUIDBUNDLE COMPONENT for details.
See also FLUIDBUNDLE COMPONENT Keys

FLUIDBUNDLE Keys ( See also: Description )


Type
Key

LABEL

Parameter set
Unit:(
Default:[ ]
)
String [FLUIDBUNDLE_tag]

Description
Network component label (if nothing is
given the NC tag is used).

Link to: FLUIDBUNDLE Description Keys

594 / 769

OLGA 7

COMPONENT (on FLUIDBUNDLE)


Description ( See also: Keys)
This keyword defines a carrier line that encloses one or several FLOWPATHS, LINES and/or
FLUIDBUNDLES. The carrier line itself must be specified as either a FLOWPATH or a LINE. The
length and elevation of each pipe section contained in the bundle must be maintained. Pipe
diameters must be constant in the axial direction. The effects of heat transfer between all the
pipelines will be accounted for.
A LINE is a FLOWPATH for which simplified one-phase calculations are performed. It is activated
by choosing LINE=YES as a parameter for a FLOWPATH. FLOWPATHS must be connected to
nodes when the sub key LINE=YES. The CROSSOVER functionality must be set up explicitly with
nodes of type CROSSOVER with a specified reference pressure and boost pressure.
The outer heat transfer coefficients and the ambient temperatures used by the Fluid Bundle are the
values given for the outermost pipeline.
The outer surface heat transfer coefficient for each OLGA FLOWPATH can be calculated by the
code or specified by the user. If calculated by the code the forced/free convection on the outer
surface will be taken into account. The user can specify the outer surface heat transfer coefficient
by the sub key OUTERHVALUE.
See also FLUIDBUNDLE COMPONENT Keys

COMPONENT (on FLUIDBUNDLE) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

FLOWPATH

Symbol

FLUIDBUNDLE

Symbol

FROM

Symbol

LINE

Symbol

OUTERHVALUE

Real (W/m2C)

TO

Symbol

XOFFSET

Real (m)

[0.0]

YOFFSET

Real (m)

[0.0]

Description
Label of a FLOWPATH that resides inside
the BUNDLE.
Label of a bundle that resides inside the
BUNDLE.
Label of the POSITION on the FLOWPATH
where it enters the BUNDLE.
Label of a line (FLOWPATH) that resides
inside the BUNDLE.
Heat transfer coefficient at the wall surface
of a branch to the bulk fluid in the carrier
line. Forced/free convection will be applied
if this key is not defined.
Label of the POSITION on the FLOWPATH
where it exits the BUNDLE.
The component's displacement along the xaxis relative to the center of the bundle.
The component's displacement along the yaxis relative to the center of the bundle.

Link to: COMPONENT (on FLUIDBUNDLE) Description Keys


595 / 769

OLGA 7

SOLIDBUNDLE
Description ( See also: Keys)
This network component stores all information that is required to configure a solid bundle. This may
be done by either editing the keywords and keys directly, or through the Bundle Editor in the GUI.
Associated keywords:
COMPONENT AMBIENTDATA TRENDDATA PROFILEDATA

Example - Buried pipeline


In the following example, a (partially) buried pipeline is modelled. The pipe is assumed to have a
centre line, yc, located 25 cm below the soil surface. The air temperature is measured to be 25 C
and the soil temperature 1 m under the ground is 20 C. The soil temperature reading is assumed
to be uninfluenced by the presence of the pipe.

1.
2.

3.

Start by adding a COMPONENT and associate the flowpath to this. A natural choice for the
soil surface is y = 0, so the pipe must be moved down 25 cm. This is done by setting
YOFFSET = -25 cm for this COMPONENT.
The soil is modelled by using a rectangular SHAPE with an associated soil MATERIAL. We
assume that the effect of the pipe on the soil temperature is negligible at a distance of
approximately 1.5 m to each side and 2 m down. The parameters for the shape then
becomes: X_LOWER_LEFT = -1.5 m, Y_LOWER_LEFT = -2 m, X_UPPER_RIGHT = 1.5 m,
Y_UPPER_RIGHT = 0 m.
Finally, the ambient conditions must be specified. In this case we can use a single
AMBIENTDATA with TYPE = SIMPLEBURIED. Above ground we have air at 25 C, thus
HOUTEROPTION = AIR and TAMBIENT = 25 C. We have positioned the soil surface at y = 0
m, so SOILSURFACELEVEL = 0 m. The soil temperature is set by specifying
SOILTEMPERATURE = 20 C and SOILTEMPLEVEL = -1 m.

COMMENTS:
In this example, the OLGA WALL is in contact with both air and the solid SHAPE. Due to the
potentially large temperature difference between the top and botom of the pipe, it may be advisable
596 / 769

OLGA 7

potentially large temperature difference between the top and botom of the pipe, it may be advisable
to remove some of the outer wall layers from the OLGA WALL and use one or more SHAPES to
model the wall layers. This is done by simply creating a circular SHAPE with the outer radius of the
wall layer. Please note that the order of the SHAPE COMPONENTS are important and that the wall
layer COMPONENT must be defined after the rectangular soil COMPONENT. Otherwise, the wall
layer COMPONENT will be hidden by the soil COMPONENT.
The vertical boundaries of the soil above SOILTEMPLEVEL was modelled using the default
NOFLUX option for SOILVERTBOUND. This option assumes that there naturally is no heat flux
across these boundaries. However, if the boundaries are too close to the pipe, the temperature in
the soil may be overestimated. A better choice may then be to use the FIXEDTEMP option. This will
force the temperature to be equal to the SOILTEMPERATURE on these boundaries

SOLIDBUNDLE Keys ( See also: Description )


Key

Type

Unit:( ) Default:[ ]

DELTAT
DTPLOT

Real (s)
Real (s)

LABEL

String

MESHFINENESS Integer

PLOTTING

Parameter set

[SOLIDBUNDLE_tag]

[32]

Symbol OFF | [ON]

Description
Time-step in thermal calculations.
Time-step for saving thermal data.
Network component label (if nothing is
given the NC tag is used).
The number of nodes on the largest SHAPE
in the SOLIDBUNDLE. The higher the
number the finer the mesh. Minimum value
is 32 and it will always be rounded down to
nearest multiple of 32.
Key for turning ON/OFF detailed plot of
Finite Element results in .osi file

Link to: SOLIDBUNDLE Description Keys

597 / 769

OLGA 7

COMPONENT (on SOLIDBUNDLE)


Description ( See also: Keys)
The COMPONENT keyword is used to define the geometric layout of the SOLIDBUNDLE cross
section. The keyword has a reference to a geometric object and an offset from the origin
(XOFFSET and YOFFSET). The following objects may be placed within a solid bundle:

SHAPE
Line
FLUIDBUNDLE
BRANCH
When using FLUIDBUNDLE or BRANCH (flow components), the POSITION keyword must be
used in order to define the start and end pipe between which the solid bundle applies.
Please note a pipe wall is not allowed to intersect another pipe wall. However, a SHAPE may
intersect another SHAPE or a pipe wall, unless it has already been placed in the interior of another
shape. The cross section of the bundle is the union of all SHAPES and flow components. When
two objects intersect, the following rules are used:
Intersecting SHAPES:
If the first SHAPE is defined in COMPONENT[i] and the second in COMPONENT[j] (i < j), the
SHAPE in COMPONENT[j] will have the highest rank and it will remain unchanged. For the
SHAPE in COMPONENT[i], the intersecting area will be removed.
Intersecting SHAPE and flow components:
Flow components always has infinite rank

COMPONENT (on SOLIDBUNDLE) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

ANNULUS

Symbol

FLOWPATH

Symbol

FLUIDBUNDLE

Symbol

FROM

Symbol

LINE

Symbol

OUTERHVALUE

Real (W/m2C)

SHAPE

Symbol

Description
Label of an annulus that reside inside the
BUNDLE.
Label of a FLOWPATH that resides inside
the BUNDLE.
Label of a bundle that resides inside the
BUNDLE.
Label of the POSITION on the FLOWPATH
where it enters the BUNDLE.
Label of a line (FLOWPATH) that resides
inside the BUNDLE.
Heat transfer coefficient at the wall surface
of a branch to the bulk fluid in the carrier
line. Forced/free convection will be applied
if this key is not defined.
Label of a shape that reside inside the
BUNDLE. The SHAPE with the largest
circumference is automatically the outer
surface of BUNDLE.
598 / 769

OLGA 7

TO

Symbol

XOFFSET

Real (m)

[0.0]

YOFFSET

Real (m)

[0.0]

Label of the POSITION on the FLOWPATH


where it exits the BUNDLE.
The component's displacement along the xaxis relative to the center of the bundle.
The component's displacement along the yaxis relative to the center of the bundle.

Link to: COMPONENT (on SOLIDBUNDLE) Description Keys

599 / 769

OLGA 7

TOOLJOINT (on CASELevel)


Description ( See also: Keys)
This statement defines the geometrical data for internal and external pipe upsets in the flow path.
The purpose is to calculate a correction factor for the pipe wall roughness due to the pipe upsets.
The TOOLJOINT keyword is part of the Wells Module.

Figure A Side view and cross section of flow path with upsets

TOOLJOINT (on CASELevel) Keys ( See also: Description )


Key

Type

Parameter set

Unit:( )

Default:[ ]

D1EXUP
D2INUP
DD1
DD2

Real (m)
Real (m)
Real (m)
Real (m)

GEOMETRY

Symbol

LABEL
LJOINT
LUPSET

String
Real (m)
Real (m)

PIPE

SymbolList

[TOOLJ-1]

Description
External upset of pipe/tubing.
Internal upset in annulus/tubing.
Inner diameter of annulus.
Outer diameter of annulus.
Geometry label to where the tool-joint is
located.
Tool-joint label, default is tool-joint number.
Distance between upsets.
Length of upset.
Label of pipe(s) for which the wall
roughness shall be adjusted.

Link to: TOOLJOINT (on CASELevel) Description Keys

600 / 769

OLGA 7

Boundary Variables
Description ( See also: Variables)
WCST, GORST, QGST, QLST, QOST and QWST are given at standard conditions (60 oF, 1 atm).
A single stage flash from in-situ to standard conditions has been performed, that is, mass transfer
between the phases from in-situ to standard conditions is taken into account. The gas is not
dehydrated unless WATERFLASH = OFF. For table-based simulations, OLGA uses the gas mass
fractions and densities from the fluid property file to perform the conversion. Note: These
variables are CPU demanding for Compositional Tracking simulations since a flash must
be performed for each section and time they are plotted, and should be used with care.
Erosional velocity ratio (EVR)
EVR = Vactual / Vmax
Vactual = Usg + Usl + Usd
Vmax = C / (Rons)1/2
Rons = [ g Usg + l(Usl + Usd)]/(Usg+ Usl + Usd)
C
= 100 for U in ft/s and in Lb/ft3
C
= 121.99 for U in m/s and in kg/m3

Boundary Variables ( See also: Description)


Use as
Name
Units

Definition

Boundary Variables
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

ACCGAG
ACCGAQ
ACCGT
ACCLIG
ACCLIQ
ACCOIG
ACCOIQ
ACCWAG
ACCWAQ
CFLFACT
DPZA
DPZF
DPZG
DS
DUG
DUL
EVR
FRRG

KG
M3
KG
KG
M3
KG
M3
KG
M3
PA/M
PA/M
PA/M
M/S2
M/S2
KG/M3-S

Accumulated gas mass flow


Accumulated gas volume flow
Accumulated total mass flow
Accumulated liquid mass flow
Accumulated liquid volume flow
Accumulated oil mass flow
Accumulated oil volume flow
Accumulated water mass flow
Accumulated water volume flow
Local CFL factor
Additional pressure drop gradient
Frictional pressure drop gradient
Gravitational pressure drop gradient
Distribution slip ratio
Time derivative of gas velocity
Time derivative of liquid velocity
Erosional velocity ratio
Gas wall drift friction factor
601 / 769

OLGA 7

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

FRRH
FRRW
GASMFRBOUN
GD
GDHL
GDWT
GG
GL
GLHL
GLRST
GLT
GLTHL
GLTWT
GLWT
GLWV

KG/M3-S
KG/M3-S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
SM3/SM3
KG/S
KG/S
KG/S
KG/S
KG/S

TP/PP/C

GLWVT

KG/S

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

GORST
GT
HOLHLNS
HOLNS
HOLWTNS
HTOT

SM3/SM3
KG/S
W

TP/PP/C

ID

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

INHIBMFRBOUN
MDHLCONV
MDHLSLOPE
MDWTCONV
MDWTSLOPE
MGCONV
MGSLOPE
MLHLCONV
MLHLSLOPE
MLWTCONV
MLWTSLOPE
PSID
PSIE
QD
QDHL
QDWT
QG
QGST
QL
QLHL
QLST

KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3-S
KG/M3-S
M3/S
M3/S
M3/S
M3/S
SM3/S
M3/S
M3/S
SM3/S

Oil wall drift friction factor


Water wall drift friction factor
Gas mass fraction at boundary
Droplet mass flow
Mass flow rate of oil in droplet field
Mass flow rate of water in droplet field
Gas mass flow
Liquid bulk mass flow
Mass flow rate of oil in film
Gas/liquid ratio at standard conditions
Total liquid mass flow
Mass flow rate of oil
Mass flow rate of water excluding vapour
Mass flow rate of water in film
Mass flow rate of water vapour
Total mass flow rate of water including
Vapour
Gas/oil ratio at standard conditions
Total mass flow
No-slip oil volume fraction
No-slip liquid volume fraction
No-slip water volume fraction
Total Enthalpy flow rate
Flow regime: 1=Stratified, 2=Annular,
3=Slug, 4=Bubble.
Inhibitor mass fraction in water at boundary
Specific convective mass of oil droplets
Specific mass adjustment of oil droplets
Specific convective mass of water droplets
Specific mass adjustment of water droplets
Specific convective mass of gas
Specific mass adjustment of gas
Specific convective mass of oil in film
Specific mass adjustment of oil in film
Specific convective mass of water in film
Specific mass adjustment of water in film
Deposition rate
Entrainment rate
Droplet volume flow
Volumetric flow rate oil droplets
Volumetric flow rate water droplets
Gas volume flow
Gas volume flow at standard conditions
Liquid bulk volume flow
Volumetric flow rate oil film
Liquid volume flow at standard conditions
602 / 769

OLGA 7

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

QLT
QLTHL
QLTWT
QLWT
QOST
QT
QWST

M3/S
M3/S
M3/S
M3/S
SM3/S
M3/S
SM3/S

TP/PP/C

REGIMETYPE

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

SHRHL
SHRWT
SLAG
SLAI
SLAIGHL
SLAIHLWT
SLAIWTG
SLAL
SLALHL
SLALWT
SLGH
SLGW
SLHG
SLWG
STDROG
STDROHL
STDROWT
TAUWG
TAUWHL
TAUWWT

1/s
1/s
KG/M3-S
KG/M3-S
KG/M3-S
KG/M3-S
KG/M3-S
KG/M3-S
KG/M3-S
KG/M3-S
KG/M3-S
KG/M3-S
KG/M3-S
KG/M3-S
KG/M3
KG/M3
KG/M3
PA
PA
PA

TP/PP/C

TINHIBMFRBOUN

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

TWATMFRBOUN
UD
UDHL
UDO
UDWT
UG
UHLCONT
UL
ULHL
ULWT
UO
USD
USDHL
USDWT
USG

M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S

Total liquid volume flow


Volumetric flow rate oil
Volumetric flow rate water
Volumetric flow rate water film
Oil volume flow at standard conditions
Total volume flow
Water volume flow at standard conditions
Slug-trac regime: 0=Free, 1=LiquidSlug,
2=SlugBubble
Oil film - shear strain rate
Water film - shear strain rate
Gas friction coefficient
Interfacial friction coefficient
Gas/oil film interfacial friction factor
Oil film/water film interfacial friction factor
Water film/gas interfacial friction factor
Liquid friction coefficient
Oil film wall friction factor
Water film wall friction factor
Oil wall friction due to gas
Water wall friction due to gas
Gas wall friction due to oil
Gas wall friction due to water
Standard gas density
Standard oil density
Standard water density
Gas - max. wall shear stress
Oil film - max. wall shear stress
Water film - max. wall shear stress
Inhibitor mass fraction in water+vapour at
boundary
Total water mass fraction at boundary
Droplet velocity
Oil droplet velocity
Relative velocity droplets
Water droplet velocity
Gas velocity
Oil continuous velocity
Liquid velocity
Oil film velocity
Water film velocity
Relative velocity
Superficial velocity droplets
Superficial oil droplet velocity
Superficial water droplet velocity
Superficial velocity gas
603 / 769

OLGA 7

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

USL
USLHL
USLT
USLTHL
USLTWT
USLWT
USTOT
UWTCONT
WATMFRBOUN
WCST
WD
WDHL
WDWT
WG
WL
WLHL
WLWT
WTOT

M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
KG/S-M2
KG/S-M2
KG/S-M2
KG/S-M2
KG/S-M2
KG/S-M2
KG/S-M2
KG/S-M2

Superficial velocity film


Superficial oil film velocity
Superficial velocity liquid
Superficial velocity oil
Superficial velocity water
Superficial water film velocity
Total volume flux
Water continuous velocity
Water mass fraction at boundary
Water cut at standard conditions
Droplet mass flux
Mass flux of oil in droplet field
Mass flux of water in droplet field
Gas mass flux
Liquid mass flux
Mass flux of oil in film
Mass flux of water in film
Total mass flux

Link to: Boundary Variables Description Variables

604 / 769

OLGA 7

Branch Variables
Description ( See also: Variables)

Branch Variables ( See also: Description)


Use as
Name
Units

Definition

Branch Variables
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP

DPABR
DPBR
DPFBR
DPGBR

PA
PA
PA
PA

TP/C/GTP

DTBR

TP/C/GTP
TP/C/GTP

GASC
GASCFR

M3
-

TP/C/GTP

GASCST

M3

TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP

GASIN
GASMASS
GASOUT
LIQBC
LIQC
LIQCFR
LIQDC
LIQIN
LIQMASS
LIQOUT
MASOUT
MASSIN
MAXPTBR
MAXPTBRCT

KG
KG
KG
M3
M3
M3
KG
KG
KG
KG
KG
PA
PA

TP/C/GTP

MAXPTPOS

TP/C/GTP

MAXTMBR

TP/C/GTP

MAXTMBRCT

TP/C/GTP

MAXTMPOS

TP/C/GTP

MDPHYD

PA

TP/C/GTP

MDPPOS

Additional pressure drop


Total pressure drop
Frictional pressure drop
Gravitational pressure drop
Total temperature drop (inlet minus outlet) in
branch
Gas content in branch
Gas volume fraction in branch
Gas content in branch converted to
standard conditions
Accumulated gas flow inlet boundary
Gas mass in branch
Accumulated gas flow outlet boundary
Liquid bulk content in branch
Total liquid content in branch
Liquid volume fraction in branch
Liquid droplet content in branch
Accumulated liquid flow inlet boundary
Total liquid mass in branch
Accumulated liquid flow outlet boundary
Accumulated mass flow outlet boundary
Accumulated mass flow inlet boundary
Maximum pressure in branch since start
Maximum pressure in branch at current time
Distance from branch inlet where maximum
pressure since start occurs
Maximum temperature in branch since start
Maximum temperature in branch at current
time
Distance from branch inlet where maximum
temperature since start occurs
Maximum difference between section and
hydrate pressure since last write
Distance where section and hydrate
pressure differs most since last write
605 / 769

OLGA 7

TP/C/GTP

MDTHYD

TP/C/GTP

MDTPOS

TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP

MEANPTBRCT
MEANTMBRCT
MINPTBR
MINPTBRCT

PA
C
PA
PA

TP/C/GTP

MINPTPOS

TP/C/GTP

MINTMBR

TP/C/GTP

MINTMBRCT

TP/C/GTP

MINTMPOS

TP/C/GTP
TP/C/GTP
TP/C/GTP

OILBC
OILC
OILCFR

M3
M3
-

TP/C/GTP

OILCST

M3

TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP

OILDC
OILIN
OILMASS
OILOUT

M3
KG
KG
KG

TP/C/GTP

RGASIN

KG

TP/C/GTP

RGASOUT

KG

TP/C/GTP

RLIQIN

KG

TP/C/GTP

RLIQOUT

KG

TP/C/GTP

RMASIN

KG

TP/C/GTP

RMASOUT

KG

TP/C/GTP

ROILIN

KG

TP/C/GTP

ROILOUT

KG

TP/C/GTP

RWATIN

KG

TP/C/GTP

RWATOUT

KG

TP/C/GTP

RWINHIBTOT

TP/C/GTP
TP/C/GTP
TP/C/GTP

WATBC
WATC
WATCFR

M3
M3
-

Maximum difference between hydrate and


section temp since last write
Distance where section and hydrate
temperature differs most since last write
Mean pressure in branch at current time
Mean temperature in branch at current time
Minimum pressure in branch since start
Minimum pressure in branch at current time
Distance from branch inlet where minimum
pressure since start occurs
Minimum temperature in branch since start
Minimum temperature in branch at current
time
Distance from branch inlet where minimum
temperature since start occurs
Oil film content in branch
Total oil content in branch
Oil volume fraction in branch
Total oil content in branch converted to
standard conditions
Oil droplet content in branch
Accumulated oil flow inlet boundary
Total oil mass in branch
Accumulated oil flow outlet boundary
Accumulated gas flow after restart at inlet
boundary
Accumulated gas flow after restart at outlet
boundary
Accumulated liquid flow after restart at inlet
boundary
Accumulated liquid flow after restart at
outlet boundary
Accumulated mass flow after restart at inlet
boundary
Accumulated mass flow after restart at
outlet boundary
Accumulated oil flow after restart at inlet
boundary
Accumulated oil flow after restart at outlet
boundary
Accumulated water flow after restart at inlet
boundary
Accumulated water flow after restart at
outlet boundary
Total mass fraction in water phase in branch
for inhibitor
Water film content in branch
Total water content in branch
Water volume fraction in branch
606 / 769

OLGA 7

TP/C/GTP

WATCST

M3

TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP

WATDC
WATIN
WATMASS
WATOUT

M3
KG
KG
KG

Total water content in branch converted to


standard conditions
Water droplet content in branch
Accumulated water flow inlet boundary
Total water mass in branch
Accumulated water flow outlet boundary

Link to: Branch Variables Description Variables

607 / 769

OLGA 7

Bundle Variables
Description ( See also: Variables)
Bundle variables can only be used when a SOLIDBUNDLE, a FLUIDBUNDLE or an ANNULUS is
given

Bundle Variables ( See also: Description)


Use as
Name
Units

Definition

Boundary Variables
TP/PP/C

LINEGT

KG/S

TP/PP/C

HHIN

W/M2-C

TP/PP/C

HHOUT

W/M2-C

TP/PP/C
TP/PP/C
TP/PP/C

QMO
TBUN
ULINE

W/M
C
M/S

TP/PP/C

UVALUE

W/M2-C

Total mass flow of line

Volume Variables
Bundles: line inner wall heat transfer
coefficient
Bundles: line outer wall heat transfer
coefficient
Bundles: line heat flux
Bundles: line temperature
Line fluid velocity
Bundles: line overall heat transfer
coefficient

Link to: Bundle Variables Description Variables

608 / 769

OLGA 7

Check valve Variables


Description ( See also: Variables)

Check valve Variables ( See also: Description)


Use as
Name
Units

Definition

Check valve Variables


TP/C/GTP

CHECK

Check valve position: 0=open 1=closed

Link to: Check valve Variables Description Variables

609 / 769

OLGA 7

Compositional Variables
Description ( See also: Variables)
Compositional variables can only be used when compositional mass equations are used. This
means when the COMPOSITIONAL key in the OPTIONS keyword is either ON, MEG, MEOH,
ETOH, BLACKOIL or STEAMWATER-HC
When compositional variables can be used are:
1. GLTWTLEAK is the same variable as CGWLEAK
2. GLTWTSOUR is the same variable as CGWSOUR
3. GLTWTWELL is the same variable as CGWWELL
GLTWTLEAK, GLTWTSOUR, GLTWTWELL is only available when using inhibitor tracking (MEG,
MEOH or ETOH)

Compositional Variables ( See also: Description)


Use as
Name
Units

Definition

Branch Variables
TP/GTP

CMTOT

KG

Total mass in branch

CGDH
CGDW
CGG
CGHT
CGLH
CGLW
CGWT
PTG

KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
Pa

Component mass rate in oil droplets


Component mass rate in water droplets
Component mass rate in gas phase
Component mass rate in oil phase
Component mass rate in oil film
Component mass rate in water film
Component mass rate in water phase
Partial pressure in gas phase

CGPSI
CHPSI
CMG
CMHD
CMHL
CMWD
CMWL
CWPSI
DMGE
DMHE

KG/M3-S
KG/M3-S
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3-S
KG/M3
KG/M3

Mass rate of flashing to gas phase


Mass rate of flashing to oil phase
Mass in gas phase
Mass in oil droplets
Mass in oil film
Mass in water droplets
Mass in water film
Mass rate of flashing to water phase
(Equilibrium mass - mass) in gas phase
(Equilibrium mass - mass) in oil phase

Boundary Variables
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
Volume Variables
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP

610 / 769

OLGA 7

TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP
TP/PP

DMWE
MWGAS
MWOIL
MWWAT
XG
XGE
XGM
XGME
XH
XHE
XHM
XHME
XW
XWE
XWM
XWME
Z
ZM

KG/M3
KG/KMOL
KG/KMOL
KG/KMOL
-

(Equilibrium mass - mass) in water phase


Mole weight of gas phase
Mole weight of oil phase
Mole weight of water phase
Mole fraction of gas phase
Equilibrium mole weight in gas phase
Mass fraction in gas phase
Equilibrium mole weight of gas phase
Mole fraction of oil phase
Equilibrium mole weight of gas phase
Mass fraction in oil phase
Equilibrium mass fraction in oil phase
Mole fraction in water phase
Equilibrium mole fraction in water phase
Mass fraction in water phase
Equilibrium mass fraction in water phase
Total molar composition
Total mass composition

CGGLEAK
CGHLEAK
CGTLEAK
CGWLEAK
GLTWTLEAK
XGLEAK
XGMLEAK
XHLEAK
XHMLEAK
XWLEAK
XWMLEAK
ZLEAK
ZMLEAK

KG/S
KG/S
KG/S
KG/S
KG/S
-

Leak mass rate in gas phase


Leak mass rate in oil phase
Leak mass rate in all phases
Leak mass rate in water phase
Leak mass rate in water phase
Leak mole fraction in gas phase
Leak mass fraction in gas phase
Leak mole fraction in oil phase
Leak mass fraction in oil phase
Leak mole fraction in water phase
Leak mass fraction in water phase
Leak mole fraction in all phases
Leak mass fraction in all phases

Leak Variables
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP

Separator Variables
SEP

CAEDLM

KG

SEP

CAEDOM

KG

SEP

CAEDWM

KG

SEP

CAGOGM

KG

SEP

CAGOLM

KG

SEP

CAGOOM

KG

ACCUMULATED EMERGENCY DRAIN


LIQUID MASS FLOW
ACCUMULATED EMERGENCY DRAIN OIL
MASS FLOW
ACCUMULATED EMERGENCY DRAIN
WATER MASS FLOW
ACCUMULATED GAS OUTLET GAS
MASS FLOW
ACCUMULATED GAS OUTLET LIQUID
MASS FLOW
ACCUMULATED GAS OUTLET OIL MASS
FLOW

611 / 769

OLGA 7

SEP

CAGOOM

KG

SEP

CAGOTM

KG

SEP

CAGOWM

KG

SEP

CAODLM

KG

SEP

CAODOM

KG

SEP

CAODWM

KG

SEP

CATDGM

KG

SEP

CATDLM

KG

SEP

CATDOM

KG

SEP

CATDTM

KG

SEP

CATDWM

KG

SEP

CAWDLM

KG

SEP

CAWDOM

KG

SEP

CAWDWM

KG

SEP
SEP

CEDLMF
CEDOMF

KG/S
KG/S

SEP

CEDWMF

KG/S

SEP

CGOGMF

KG/S

SEP

CGOLMF

KG/S

SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP

CGOOMF
CGOTMF
CGOWMF
CODLMF
CODOMF
CODWMF
CTDGMF
CTDLMF
CTDOMF
CTDTMF
CTDWMF
CWDLMF
CWDOMF
CWDWMF

KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S

FLOW
ACCUMULATED GAS OUTLET TOTAL
MASS FLOW
ACCUMULATED GAS OUTLET WATER
MASS FLOW
ACCUMULATED OIL DRAIN LIQUID MASS
FLOW
ACCUMULATED OIL DRAIN OIL MASS
FLOW
ACCUMULATED OIL DRAIN WATER MASS
FLOW
ACCUMULATED TOTAL DRAIN GAS
MASS FLOW
ACCUMULATED TOTAL DRAIN LIQUID
MASS FLOW
ACCUMULATED TOTAL DRAIN OIL MASS
FLOW
ACCUMULATED TOTAL DRAIN TOTAL
MASS FLOW
ACCUMULATED TOTAL DRAIN WATER
MASS FLOW
ACCUMULATED WATER DRAIN LIQUID
MASS FLOW
ACCUMULATED WATER DRAIN OIL MASS
FLOW
ACCUMULATED WATER DRAIN WATER
MASS FLOW
EMERGENCY DRAIN LIQUID MASS FLOW
EMERGENCY DRAIN OIL MASS FLOW
EMERGENCY DRAIN WATER MASS
FLOW
GAS OUTLET GAS MASS FLOW
GAS OUTLET TOTAL LIQUID MASS
FLOW
GAS OUTLET OIL MASS FLOW
GAS OUTLET TOTAL MASS FLOW
GAS OUTLET WATER MASS FLOW
OIL DRAIN LIQUID MASS FLOW
OIL DRAIN OIL MASS FLOW
OIL DRAIN WATER MASS FLOW
TOTAL DRAIN GAS MASS FLOW
TOTAL DRAIN LIQUID MASS FLOW
TOTAL DRAIN OIL MASS FLOW
TOTAL DRAIN TOTAL MASS FLOW
TOTAL DRAIN WATER MASS FLOW
WATER DRAIN LIQUID MASS FLOW
WATER DRAIN OIL MASS FLOW
WATER DRAIN WATER MASS FLOW
612 / 769

OLGA 7

Well Variables
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP

CGGWELL
CGHWELL
CGTWELL
CGWWELL
GLTWTWELL
XGMWELL
XGWELL
XHMWELL
XHWELL
XWMWELL
XWWELL
ZMWELL
ZWELL

KG/S
KG/S
KG/S
KG/S
KG/S
-

Well mass rate in gas phase


Well mass rate in oil phase
Well mass rate in all phases
Well mass rate in water phase
Well mass rate in water phase
Well mass fraction in gas phase
Well mole fraction in gas phase
Well mass fraction in oil phase
Well mole fraction in oil phase
Well mass fraction in water phase
Well mole fraction in water phase
Well mass fraction in all phases
Well mole fraction in all phases

CGGSOUR
CGHSOUR
CGTSOUR
CGWSOUR
GLTWTSOUR
XGMSOUR
XGSOUR
XHMSOUR
XHSOUR
XWMSOUR
XWSOUR
ZMSOUR
ZSOUR

KG/S
KG/S
KG/S
KG/S

Source mass rate in gas phase


Source mass rate in oil phase
Source mass rate in all phases
Source mass rate in water phase
Source mass rate in water phase
Source mass fraction in gas phase
Source mole fraction in gas phase
Source mass fraction in oil phase
Source mole fraction in oil phase
Source mass fraction in water phase
Source mole fraction in water phase
Source mass fraction in all phases
Source mole fraction in all phases

Source Variables
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP
TP/GTP

Link to: Compositional Variables Description Variables

613 / 769

OLGA 7

Compositional slugtracking Variables


Description ( See also: Variables)
Compositional Slugtracking variables can only be used when compositional mass equations are
used. This means when the COMPOSITIONAL key in the OPTIONS keyword is either ON, MEG,
MEOH, ETOH, BLACKOIL or STEAMWATER-HC. In addition to this the SLUIGTRACKING keyword
has to have been given.

Compositional slugtracking Variables ( See also: Description)


Use as
Name
Units
Definition
Slug Variables
TP

CMGFSB

KG/M3

TP

CMGFSL

KG/M3

TP

CMGTSB

KG/M3

TP

CMGTSL

KG/M3

TP

CMHDFSB

KG/M3

TP

CMHDFSL

KG/M3

TP

CMHDTSB

KG/M3

TP

CMHDTSL

KG/M3

TP

CMHLFSB

KG/M3

TP
TP

CMHLFSL
CMHLTSB

KG/M3
KG/M3

TP

CMHLTSL

KG/M3

TP

CMWDFSB

KG/M3

TP

CMWDFSL

KG/M3

TP

CMWDTSB

KG/M3

TP

CMWDTSL

KG/M3

TP

CMWLFSB

KG/M3

Component mass in gas phase ahead of


slug front
Component mass in gas phase behind slug
front
Component mass in gas phase behind slug
tail
Component mass in gas phase ahead of
slug tail
Component mass in oil droplets ahead of
slug front
Component mass in oil droplets behind slug
front
Component mass in oil droplets behind slug
tail
Component mass in oil droplets ahead of
slug tail
Component mass in oil film ahead of slug
front
Component mass in oil film behind slug front
Component mass in oil film behind slug tail
Component mass in oil film ahead of slug
tail
Component mass in water droplets ahead of
slug front
Component mass in water droplets behind
slug front
Component mass in water droplets behind
slug tail
Component mass in water droplets ahead of
slug tail
Component mass in water film ahead of
slug front
614 / 769

OLGA 7

TP

CMWLFSL

KG/M3

TP

CMWLTSB

KG/M3

TP

CMWLTSL

KG/M3

Component mass in water film behind slug


front
Component mass in water film behind slug
tail
Component mass in water film ahead of
slug tail

Link to: Compositional slugtracking Variables Description Variables

615 / 769

OLGA 7

Compressor Variables
Description ( See also: Variables)

Compressor Variables ( See also: Description)


Use as
Name
Units

Definition

Compressor Variables
TP/C/GTP

DHRCOO

TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP

GCOMP
GREC
HCOMP
HREC
QGSURGE
RPM

KG/S
KG/S
W
W
M3/S
RPM

Compressor recycle heat exchanger


Enthalpy
Compressor mass flow rate
Compressor recycle mass flow rate
Compressor enthalpy
Compressor recycle enthalpy
Corrected compressor surge flow
Compressor speed

Link to: Compressor Variables Description Variables

616 / 769

OLGA 7

Controller Variables
Description ( See also: Variables)

Controller Variables ( See also: Description)


Use as
Name
Units

Definition

Controller Variables
GTP/C
GTP/C
GTP/C
GTP/C
GTP/C

ACTIVATED
CONTR
ERRVAR
INTGVAR
MEASVAR

GTP/C

MODE

GTP/C

PMCAS

GTP/C
GTP/C
GTP/C
GTP/C

RATELIMITED
SATURATED
SETPOINT
SETPVAR

Controller activate signal


Controller output
Controller error signal
Controller integral signal
Controller measured variable
Controller mode: 1=Automatic, 2=Manual,
3=External signal, 4=External setpoint,
5=Freeze
Moving averaged of primary controller
variable
Controller rate limited signal
Controller saturated signal
Setpoint of extended cascade controller
Controller setpoint variable

Link to: Controller Variables Description Variables

617 / 769

OLGA 7

List of Units and Conversion Factors


Quantity

1/ANGULAR_VELOCITY

Unit name
1/rpm
s
M
h
d

Conversion to the first unit,


multiply by
0.016667
60
1440

1/FLOWRATE

1/m3/s
1/ft3/s
1/m3/h
1/ft3/h
1/bbl/d
1/m3/d
1/bbl/M

35.3107
3600
127119
543396
86400
377.358

1/LENGTH

1/m
1/ft
1/cm
1/in
1/MILES
1/km
1/mm

3.28084
100
39.3701
0.000621371
0.001
1000

1/STDFLOWRATE

1/Sm3/s
1/MSm3/s
1/Sm3/d
1/MSm3/d
1/scf/d
1/MMscf/d
1/scf/s

1e-06
86400
0.0864
3.05e+06
3.05
0.0283

ACCELERATION

m/s2
ft/s2
cm/s2
in/s2

0.3048
0.01
0.0254

ANGLE

DEGREE
rad

57.2958

ANGULAR_ACCELERATION

rad/s2
R/s2

6.2832

ANGULAR_VELOCITY

rpm
rad/s
1/s

9.549
60

m2
ft2
cm2

0.0929
0.0001

AREA

618 / 769

OLGA 7

in2

CGR

Sm3/Sm3
STB/SCF
m3/m3
SCF/SCF
STB/MMSCF

0.0006451
5.61458

5.61458e-06

CORROSION_RATE

mm/y

DENSITY

kg/m3
lb/ft3
g/cm3
lb/in3

DENSITY/PRESSURE

kg/m-N
s2/m2

DENSITY/TEMPERATURE

kg/m3-K
kg/m3-C

DENSITY/TIME

kg/m3-s

DIFFUSION_COEFFICIENT

m2/s
cm2/s

0.0001

DYNAMIC_VISCOSITY

N-s/m2
lb/ft-h
CP
kg/m-h

0.0004134
0.001
0.0002778

ENTHALPY

J
Btu
cal

1055
4.187

ENTHALPY/MASS

J/kg
Btu/lb
cal/kg

2326
4.187

ENTHALPY/MOL

J/mol
Btu/lbmol
cal/mol

2.326
4.187

ENTHALPY/MOL-TEMP

J/mol-K
Btu/lbmol-R

4.187

ENTHALPY/VOLUME

J/m3
Btu/ft3
cal/m3

37260
4.187

ENTROPY

J/K
Btu/R
cal/K

1899
4.187

ENTROPY/MASS

J/kg-K
Btu/lb-R
cal/kg-K
J/kg-C

16.02
1000
27680

4187
4.187
619 / 769

OLGA 7

ENTROPY/MOL

J/mol-K
Btu/lbmol-R
cal/mol-K

4187
4.187

ENTROPY/VOLUME

J/m3-K
Btu/ft3-R
cal/m3-K

37260
4.187

FORCE

N
dyn
kgf
lbf

1e-05
9.819
4.4482

FRACTION

0.01

FREQUENCY

1/s
1/M
1/h
Hz

FRICTION_FACTOR

Ns/m

GAS_STDFLOWRATE

Sm3/s
Sm3/h
Sm3/d
scf/d
MMscf/d
STB/d
STB/M
scf/s
scf/h
MSm3/d
Mscf/d

0.00027778
1.1574e-05
3.2774e-07
0.32774
1.8401e-06
0.002651
0.0283169
7.8667e-06
11.574
0.000327778

GAS_VOLUME

m3
ft3
cm3
L
USgal
bbl

0.02832
1e-06
0.001
0.003786
0.158987

GAS_VOLUME/TIME

m3/s
ft3/s
m3/h
ft3/h
bbl/d
m3/d
bbl/m

0.02832
0.00027778
7.8667e-06
1.841e-06
1.1574e-05
0.002651

GOR

Sm3/Sm3
SCF/STB
m3/m3
SCF/SCF

0.016667
0.000277778

0.17811

620 / 769

OLGA 7

MMSCF/STB

178110

HEAT_TRANS./LENGTH

W/m
Btu/s-ft
kW/m

3461
1000

HEATFLUX

W/m2
kW/m2
W/cm2
Btu/ft2-s
Btu/in2-s

1000
10000
11360
1.635e+06

KINEMATIC_VISCOSITY

m2/s
CST
FT2/HR
in2/s

1e-06
2.5806e-05
0.00064516

LENGTH

m
ft
cm
in
MILES
km
mm

0.3048
0.01
0.0254
1609
1000
0.001

LIQ_STDFLOWRATE

Sm3/s
Sm3/h
Sm3/d
scf/d
MMscf/d
STB/d
STB/M
scf/s
scf/h
MSm3/d
Mscf/d

0.00027778
1.1574e-05
3.2774e-07
0.32774
1.8401e-06
0.002651
0.0283169
7.8667e-06
11.574
0.000327778

LIQ_VOLUME

m3
ft3
cm3
L
USgal
bbl

0.02832
1e-06
0.001
0.003786
0.158987

LIQ_VOLUME/TIME

m3/s
ft3/s
m3/h
ft3/h
bbl/d
m3/d
bbl/m

0.02832
0.00027778
7.8667e-06
1.841e-06
1.1574e-05
0.002651

LOGARITHMIC_FRICTION_FACTOR N/m2
621 / 769

OLGA 7

MASS

kg
lb
g
oz
t

0.4536
0.001
0.02835
1000

MASS/AREA

kg/m2
g/m2
g/cm2
kg/ft2
g/ft2
g/in2

0.001
10
10.7639
0.010764
1.55

MASS/TIME

kg/s
lb/s
kg/h
lb/h

0.4536
0.00027778
0.000126

MASS/TIME-AREA

kg/s-m2
kg/s-cm2
lb/s-m2
kg/h-m2
lb/h-m2

10000
0.4536
0.00027778
0.000126

MASS/TIME-PRESSURE

kg/s-Pa
lb/s-psi

6.5788e-05

MOL

mol
lbmol
kmol

453.6
1000

MOL/MASS

mol/kg
lbmol/lb
mol/g

1000
1000

MOL/VOLUME

mol/m3
lbmol/ft3
mol/cm3
mol/L

16020
1e+06
1000

MOLAR_RATE

kmol/s
lbmol/s
mol/s

0.4536
0.001

MOLCONC/METER

mol/m4
lbmol/ft4
mol/cm4

52550
1e+08

MOLDEN/TEMPERATURE

mol/m3-K

MOLECULAR_WEIGHT

kg/kmol
lb/lbmol
kg/mol
g/mol

PERMEABILITY

1000

mD
622 / 769

OLGA 7

PERMEABILITY

1000

POWER

W
hp
Btu/h
kW

745.7
0.2931
1000

POWER/LENGHT

W/m
hp/m
Btu/h*m
kW/m

745.7
0.2931
1000

POWERS_OF_TEN

k
M
G
T

1000
1e+06
1e+09
1e+12

PRESSURE

Pa
bara
psia
atm
bar
KP/cm2
kPa
psig
barg
kgf/cm2

100000
6895
101300
100000
98066.5
1000
6895
100000
98066.5

PRESSURE/DISTANCE

Pa/m
psi/ft

22621

PRESSURE/TIME

Pa/s
bar/s
psi/s
atm/s

100000
6895
101300

PRESSURE_DIFFERENCE

Pa
bara
psia
atm
bar
KP/cm2
kPa
psig
barg
kgf/cm2

100000
6895
101300
100000
98066.5
1000
6895
100000
98066.5

PRESSURE-TIME/MASS

Pa-s/kg
psi-s/lb

15200.3

QUADRATIC_FRICTION_FACTOR

Ns2/m2

RATE_PER_UNIT_TIME

s
M
h

0.01667
0.0002778
623 / 769

OLGA 7

1.157e-05

RELATIVE_DENSITY

SPGR
API

131.5

RESVOLUME/STDVOLUME

Rm3/Sm3

SPECIFIC_CAPACITY

m3/R
ft3/R

0.02832

SPECIFIC_HEAT

J/kg-C
J/kg-K
Btu/lbm-R
Btu/lbm-F

4186.8
4186.8

STANDARD_VOLUME

Sm3
SCF
Scm3
SL
Sgal
MMscf
Mscf
Sbbl

0.02832
1e-06
0.001
0.003786
28316.8
28.3168
0.158987

STD_DENSITY

kg/Sm3

STDFLOWRATE/PRESSURE

Sm3/s/Pa
Sm3/d/bar
scf/d/psi
STB/d/psi

1.1574e-10
4.7533e-11
2.6687e-10

SURFACE_TENSION

N/m
DYNE/cm

0.001

TEMPERATURE

C
R
K
F

TEMPERATURE/TIME

C/s
R/s
K/s

TEMPERATURE_DIFFERENCE

C
R
K
F

0.555556
0.555556
0.5556

0.555556
0.555556

THERMAL_CONDUCTANCE

W/m2-C
W/m2-K
Btu/ft2-h-F
cal/m2-h-C

5.678
0.001163

THERMAL_CONDUCTIVITY

W/m-K
W/m-C
Btu/ft-h-R
cal/m-h-K

1.731
0.001163
624 / 769

OLGA 7

THERMAL_EXPANSION

1/C
1/R
1/K
1/F

1.8
1.8

TIME

s
M
h
d
1/rpm

60
3600
86400
60

TORQUE

Nm
ft-lb

1.35582

VELOCITY

m/s
ft/s
m/h
ft/h
MILES/h

0.3048
0.0002778
8.467e-05
0.447

VOLUME/MASS

m3/kg
ft3/lb
cm3/g
in3/lb

0.06243
0.001
3.613e-05

VOLUME/MOL

m3/mol
ft3/lbmol
cm3/mol
L/mol

6.243e-05
1e-06
0.001

VOLUME/REVOLUTION

m3/R
ft3/R

0.02832

WAX_VOLUME

m3
ft3
cm3
L
USgal
bbl

0.02832
1e-06
0.001
0.003786
0.158987

625 / 769

OLGA 7

Corrosion Variables
Description ( See also: Variables)
Corrosion variables can only be used when the CORROSION keyword is given.

Corrosion Variables ( See also: Description)


Use as
Name
Units

Definition

Volume Variables
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

COBICARB
CONDRATE
CORR1
CORR2
CORR3
CORRW1
CORRW2
CORRW3
GLYCOL
INHIB
IONIC
PCO2
PH1
PH2
PH3
SOLFE

KG/S-M2
MM/Y
MM/Y
MM/Y
MM/Y
MM/Y
MM/Y

PA

Bicarbonate concentration (Molar)


Conden.rate in pipe upper half
Corrosion rate
Corrosion rate
Corrosion rate
Corr. rate, full water wet.
Corr. rate, full water wet.
Corr. rate, full water wet.
Glycol concentration
Inhibitor efficiency
Ionic strength concentration (Molar)
Partial pressure of CO2
pH for model 1
pH for model 2
pH for model 3
Saturated iron concentration in PPM

Link to: Corrosion Variables Description Variables

626 / 769

OLGA 7

Drilling Variables
Description ( See also: Variables)
Drilling variables can only be used when DRILLING=ON in the OPTIONS keyword.

Drilling Variables ( See also: Description)


Use as
Name
Units

Definition

Boundary Variables
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

DRLFROGSTD
GDOMUD
GDPH2O
GDPHC

KG/M3
KG/S
KG/S
KG/S

TP/PP/C

GDWMUD

KG/S

TP/PP/C

GGGMUD

KG/S

TP/PP/C

GGOMUD

KG/S

TP/PP/C

GGPH2O

KG/S

TP/PP/C

GGPHC

KG/S

TP/PP/C

GGWMUD

KG/S

TP/PP/C
TP/PP/C
TP/PP/C

GLOMUD
GLPH2O
GLPHC

KG/S
KG/S
KG/S

TP/PP/C

GLTPH2O

KG/S

TP/PP/C

GLTPHC

KG/S

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

GLWMUD
GTOMUD
GTPH2O
GTPHC
GTWMUD

KG/S
KG/S
KG/S
KG/S
KG/S

TP/PP/C
TP/PP/C
TP/PP/C

MDOMUD
MDPH2O
MDPHC

KG/M3
KG/M3
KG/M3

TP/PP/C

MDWMUD

KG/M3

TP/PP/C

MFAMUD

Flowing standard gas density


Mass flow rate of oil-based mud in droplet
Mass flow rate of produced water in droplet
Mass flow rate of produced hc in droplet
Mass flow rate of water-based mud in
droplet
Mass flow rate of gas-based mud
Mass flow rate of oil-based mud in gas
phase
Mass flow rate of produced water in gas
phase
Mass flow rate of produced hc in gas phase
Mass flow rate of water-based mud in gas
phase
Mass flow rate of oil-based mud in film
Mass flow rate of produced water in film
Mass flow rate of produced hc in film
Mass flow rate of produced water in film and
droplets
Mass flow rate of produced hydrocarbons in
film and droplets
Mass flow rate of water-based mud in film
Total mass flow rate of oil-based mud
Total mass flow rate of produced water
Total mass flow rate of produced hc
Total mass flow rate of water-based mud

Volume Variables
Specific mass of oil-based mud in droplet
Specific mass of produced water in droplet
Specific mass of produced hc in droplet
Specific mass of water-based mud in
droplet
Mass fraction of all muds in total mass
627 / 769

OLGA 7

TP/PP/C

MFGMUD

TP/PP/C

MFOMUD

TP/PP/C

MFPH2O

TP/PP/C

MFPHC

KG/M3

TP/PP/C

MFWMUD

TP/PP/C

MGGMUD

KG/M3

TP/PP/C

MGOMUD

KG/M3

TP/PP/C

MGPH2O

KG/M3

TP/PP/C

MGPHC

KG/M3

TP/PP/C

MGWMUD

KG/M3

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

MLOMUD
MLPH2O
MLPHC
MLWMUD
MTAMUD
MTOMUD
MTPH2O
MTPHC
MTWMUD

KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3

Mass fraction of gas-based mud in total


mass
Mass fraction of oil-based mud in total mass
Mass fraction of produced water in total
mass
Mass fraction of produced hc in total mass
Mass fraction of water-based mud in total
mass
Specific mass of gas-based mud
Specific mass of oil-based mud in gas
phase
Specific mass of produced water in gas
phase
Specific mass of produced hc in gas phase
Specific mass of water-based mud in gas
phase
Specific mass of oil-based mud in film
Specific mass of produced water in film
Specific mass of produced hc in film
Specific mass of water-based mud in film
Specific mass of all muds
Specific mass of oil-based mud
Specific mass of produced water
Specific mass of produced hc
Specific mass of water-based mud

Link to: Drilling Variables Description Variables

628 / 769

OLGA 7

Global Variables
Description ( See also: Variables)

Global Variables ( See also: Description)


Use as
Name
Units

Definition

Global Variables
TP/C/GTP
GTP/GO

ABSMASSERR
HT

GTP/GO

HTCRIT

TP/C/GTP
GTP/GO
GTP/GO
GTP/GO
GTP/GO
TP/C/GTP
GTP/GO
GTP/GO
GTP/GO
GTP/GO
GTP/GO
GTP/GO
GTP/GO
GTP/GO
GTP/GO

HTCRITSEC
NINTGR
REDEL
REERR
RELGT
RELMASSERR
RETOT
RETOT0
RMDEL
RMERR
RMLGT
RMOUT
RMTOT
RMTOT0
VOLGBL

KG
S

J
J
J
KG
KG
KG
KG
-

Absolute mass error


Time step
The current criterion used to limit the time
step
Section causing time step limitation
Number of time steps
Relative changes of energy from start
Accumulated energy balance error
Total amount of energy
Relative mass error
Total amount of energy time integrated
Initial total amount of energy
Relative changes of mass from start
Accumulated mass balance error
Total amount of mass
Cumulative mass release pipeline exit
Total amount of mass time integrated
Initial total amount of mass
Global max volume error since last write

Link to: Global Variables Description Variables

629 / 769

OLGA 7

Heat exchanger Variables


Description ( See also: Variables)

Heat exchanger Variables ( See also: Description)


Use as
Name
Units
Definition
Heat exchanger Variables
TP/C/GTP

DHCOOL

Heat exchanger enthalpy

Link to: Heat exchanger Variables Description Variables

630 / 769

OLGA 7

Hydrate kinetics Variables


Description ( See also: Variables)
Hydrate Kinetics variables can only be used when the HYDRATEKINETICS keyword is given.

Hydrate kinetics Variables ( See also: Description)


Use as
Name
Units
Definition
Volume Variables
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

BEHYD
CPHYD
GASRATE
HHYD
HYDFRAC
HYDMASS
HYDPT
HYDTM
HYKPLIST
NPARTICLE
PSIHYD
SAREA
VISRATIO

J/KG-C
KG/M3-S
J/KG
KG/M3
PA
C

KG/M3-S
1/M
-

Hydrate volume fraction


Specific heat of hydrate phase
Hydrate gas consumption rate
Hydrate enthalpy
Hydrate volume fraction in slurry
Specific hydrate mass
Hydrate formation pressure
Hydrate formation temperature
CSMHYK parameter
Number of hydrate monomer particles
Hydrate formation rate per unit volume
Hydrate formation area per per unit volume
Hydrate slurry viscosity ratio

GLHYD
SRATEHYD
UHYD
WLHYD

KG/S
1/S
M/S
KG/S-M2

Hydrate mass flow


Shear rate used for hydrate kinetic model
Hydrate slurry velocity
Hydrate mass flux

TP/C/GTP

MASSHYD

KG

TP/C/GTP

MDPHYDC

PA

TP/C/GTP

MDPPOSC

TP/C/GTP

MDTHYDC

TP/C/GTP

MDTPOSC

TP/C/GTP

VOLHYD

M3

Hydrate mass in branch


Current maximum difference between
section and hydrate pressure
Current distance where section and hydrate
pressure differs most
Current maximum difference between
hydrate and section temperature
Current distance where section and hydrate
temperature differs most
Hydrate volume in branch

Boundary Variables
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
Branch Variables

Link to: Hydrate kinetics Variables Description Variables


631 / 769

OLGA 7

632 / 769

OLGA 7

Inhibitor Variables
Description ( See also: Variables)
Inhibitor variables can only be used when COMPOSITIONAL key in the OPTIONS keyword is MEG,
MEOH or ETOH.

Inhibitor Variables ( See also: Description)


Use as
Name
Units

Definition

Branch Variables
TP/C/GTP

INHIBMASS

KG

Total mass of inhibitor in branch

Link to: Inhibitor Variables Description Variables

633 / 769

OLGA 7

Leak Variables
Description ( See also: Variables)
QGSTLK, QLSTLK, QOSTLK and QWSTLK are given at standard conditions (60 oF, 1 atm). A
single stage flash from in-situ to standard conditions has been performed, that is, mass transfer
between the phases from in-situ to standard conditions is taken into account. The gas is not
dehydrated unless WATERFLASH = OFF. For table-based simulations, OLGA uses the gas mass
fractions and densities from the fluid property file to perform the conversion. Note: These
variables are CPU demanding for Compositional Tracking simulations since a flash must
be performed for each section and time they are plotted, and should be used with care.

Leak Variables ( See also: Description)


Use as
Name
Units

Definition

Leak Variables
TP/C/GTP

ACGLK

KG

TP/C/GTP

ACGLKEX

KG

TP/C/GTP

ACHLLK

KG

TP/C/GTP

ACHLLKEX

KG

TP/C/GTP

ACMLK

KG

TP/C/GTP

ACQGLKEX

M3

TP/C/GTP

ACQOLKEX

M3

TP/C/GTP

ACQWLKEX

M3

TP/C/GTP

ACWTLK

KG

TP/C/GTP

ACWTLKEX

KG

TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP

DPPROD
GGLEAK
GGLKEX
GLHLLK
GLLEAK
GLLKEX
GLVTEMP
GLWTLK
GOLKEX

PA
KG/S
KG/S
KG/S
KG/S
KG/S
C
KG/S
KG/S

Leakage accumulated released gas mass


upstream
Leakage accumulated released gas mass
downstream
Leakage accumulated released oil mass
upstream
Leakage accumulated released oil mass
downstream
Leakage accumulated released mass
Accumulated gas volume downstream of
leakage
Accumulated oil volume downstream of
leakage
Accumulated water volume downstream of
leakage
Leakage accumulated released water mass
upstream
Leakage accumulated released water mass
downstream
GLV change in opening production pressure
Gas mass flow upstream of leakage
Gas mass flow downstream of leakage
Oil mass flow upstream of leakage
Liquid mass flow upstream of leakage
Liquid mass flow downstream of leakage
GLV bellows temperature
Water mass flow upstream of leakage
Oil mass flow downstream of leakage
634 / 769

OLGA 7

TP/C/GTP
TP/C/GTP
TP/C/GTP

GTLEAK
GWLKEX
HLEAK

KG/S
KG/S
W

TP/C/GTP

LMLEAK

KG

TP/C/GTP
TP/C/GTP

PTLEAK
PTLKUP

PA
PA

TP/C/GTP

QGLKEX

M3/S

TP/C/GTP

QGSTLK

SM3/S

TP/C/GTP

QLSTLK

SM3/S

TP/C/GTP
TP/C/GTP

QOLKEX
QOSTLK

M3/S
SM3/S

TP/C/GTP

QTLKEX

M3/S

TP/C/GTP

QWLKEX

M3/S

TP/C/GTP

QWSTLK

SM3/S

TP/C/GTP
TP/C/GTP
TP/C/GTP

TLEAEX
TLEAK
WLLEAK

C
C
KG/S-M2

Leakage total mass flow rate


Water mass flow downstream of leakage
Leakage enthalpy
Leakage accumulated released liquid mass
upstream
Leakage downstream pressure
Leak upstream pressure
Gas volume flow rate downstream of
leakage
Leak gas volume flow at standard
conditions
Leak liquid volume flow at standard
conditions
Oil volume flow rate downstream of leakage
Leak oil volume flow at standard conditions
Total volume flow rate downstream of
leakage
Water volume flow rate downstream of
leakage
Leak water volume flow at standard
conditions
Fluid temperature downstream of leakage
Fluid temperature upstream of leakage
Leakage liquid mass flux

Link to: Leak Variables Description Variables

635 / 769

OLGA 7

Node Variables
Description ( See also: Variables)
In addition to the NODE variables are many VOLUME variables available for the node

Node Variables ( See also: Description)


Use as
Name

Units

Definition

Node Variables
N
N
N
N
N
N

DGGDPB
DGLTHLDPB
DGLTWTDPB
DPBDGG
DPBDGLTHL
DPBDGLTWT

kg/s-Pa
kg/s-Pa
kg/s-Pa
Pa-s/kg
Pa-s/kg
Pa-s/kg

Gas mass flow derivative w.r.t. pressure


Oil mass flow derivative w.r.t. pressure
Water mass flow derivative w.r.t. pressure
Pressure derivative w.r.t. gas mass flow
Pressure derivative w.r.t. oil mass flow
Pressure derivative w.r.t. water mass flow

Link to: Node Variables Description Variables

636 / 769

OLGA 7

Pig Variables
Description ( See also: Variables)
All the variables that are available for Slug tracking can be used with Pig. However, not all of the
variables are relevant. The pig variables with their equivalent slugtracking variables are listed
below.
Pig
variable
ALGL
ALGR
HOLHLL
HOLHLR
HOLWTL
HOLWTR
UPIG
ZPIG

Equivalent slugtracking
variable
ALTSB
ALTSL
BEHLTSB + GAHLTSB
BEHLTSL
BEWTTSB + GAWTTSB
BEWTTSL
UST
ZTSL

When the key TRACKSLUG=ON, the PIG may be without slug, be a slug tail (pig to the left of the
slug) or be a slug front (pig to the right of the slug)
TRENDDATA PIG=PIG-1, VARIABLE=UST (same as UPIG)
TRENDATA PIG=PIG-1, VARIABLE= BEHLTSB
This should be used with caution. If the pig is a slug tail, BEHLTSB represents the holdup to the left
of the pig. If the pig is a slug front, BEHLTSB represents the holdup to the right of the pig.
TRENDDATA PIPE=PIPE-1, SECTION=5, VARIABLE=HOLEXP
This works the same way as for slugtracking.

Pig Variables ( See also: Description)


Use as
Name

Units

Definition

Pig Variables
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP

ALGL
ALGR
GAL
GAR
HOLHLL
HOLHLR
HOLWTL
HOLWTR

TP/C/GTP

IDL

TP/C/GTP

IDR

Void behind pig


Void ahead pig
Droplet fraction behind pig
Droplet fraction ahead pig
Oil holdup behind pig
Oil holdup ahead pig
Water holdup behind pig
Water holdup ahead pig
Flow regime behind pig (only valid without
TRACKSLUG)
Flow regime ahead pig (only valid without
TRACKSLUG)
637 / 769

OLGA 7

TP/C/GTP

LIQCDOWN

M3

TP/C/GTP

LIQCUP

M3

TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP

PIGM
PIGSTA
REMDIST
REMTIME_AVRG
RPIG
UPIG
UPIG_AVRG
ZPIG
ZZPIG

KG
M
S
M/S
M/S
M
M

Liquid content between plug and trap


position
Liquid content between launch position and
plug
Pig mass
Pig status: 0=Not pigging, 2=Pigging
Remaining distance for pig
Averaged remaining travel time for pig
Pig leakage factor
Pig velocity
Averaged velocity for pig
Pig position in branch
Pig total distance travelled

Link to: Pig Variables Description Variables

638 / 769

OLGA 7

Pump Variables
Description ( See also: Variables)

Pump Variables ( See also: Description)


Use as
Name
Units

Definition

Pump Variables
TP/C/GTP
TP/C/GTP
TP/C/GTP

PUBYGG
PUBYGL
PUBYGT

KG/S
KG/S
KG/S

TP/C/GTP

PUMPDP

PA

TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP

PUMPGG
PUMPGL
PUMPGT
PUMPHEAT
PUMPHP
PUMPQB
PUMPQG
PUMPQL
PUMPQT
PUMPSPEED
PUMPTH
PUMPTT
PUREGG
PUREGL
PUREGT
PUREGW

KG/S
KG/S
KG/S
W
W
M3/S
M3/S
M3/S
M3/S
RPM
NM
W
KG/S
KG/S
KG/S
KG/S

Gas mass flow through bypass line


Liquid mass flow through bypass line
Total mass flow through bypass line
Pressure difference between pump outlet
and inlet
Gas mass flow through the pump
Liquid mass flow through the pump
Total mass flow through the pump
Heat added to fluid in pump
Hydraulic horsepower
Pump back flow (volume)
Gas volume flow through the pump
Liquid volume flow through the pump
Total volume flow through the pump
Pump speed
Pump hydraulic torque
Total pump power
Recycle gas mass flow
Recycle liquid mass flow
Total recycle mass flow
Recycle water mass flow

Link to: Pump Variables Description Variables

639 / 769

OLGA 7

Separator Variables
Description ( See also: Variables)
QGSTxD, QLSTxD, QOSTxD and QWSTxD (x = E, D, O and W) are given at standard conditions
(60 oF, 1 atm). A single stage flash from in-situ to standard conditions has been performed, that is,
mass transfer between the phases from in-situ to standard conditions is taken into account. The
gas is not dehydrated unless WATERFLASH = OFF. For table-based simulations, OLGA uses the
gas mass fractions and densities from the fluid property file to perform the conversion. It should be
noted that for simulations using PVT tables (not CompTrack), the variables for each drain is not
accurate since the flashing is performed using the PVT tables for the total composition. Note:
These variables are CPU demanding for Compositional Tracking simulations since a flash
must be performed for each section and time they are plotted, and should be used with
care.
In addition to the SEPARATOR variables are many VOLUME variables available for the
separator

Separator Variables ( See also: Description)


Use as
Name
Units

Definition

Separator Variables
SEP

ACMDGS

KG

SEP

ACMDHL

KG

SEP

ACMDWT

KG

SEP

ACMGDGS

KG

SEP

ACMODHL

KG

SEP

ACMODWT

KG

SEP

ACMWDHL

KG

SEP

ACMWDWT

KG

SEP

ACVDGS

M3

SEP

ACVDHL

M3

SEP

ACVDWT

M3

SEP

ACVGDGS

M3

SEP

ACVODHL

M3

Separator: accumulated gas mass flow gas


outlet
Separator: accumulated total oil mass drain
Separator: accumulated total water mass
drain
Separator: accumulated gas mass flow gas
outlet
Separator: accumulated oil mass flow oil
drain
Separator: accumulated water mass flow oil
drain
Separator: accumulated oil mass flow water
drain
Separator: accumulated water mass flow
water drain
Separator: accumulated gas volume flow
gas outlet
Separator: accumulated total oil volume
drain
Separator: accumulated total water volume
drain
Separator: accumulated gas volume flow
gas outlet
Separator: accumulated oil volume flow oil
drain
640 / 769

OLGA 7

SEP

ACVODHL

M3

SEP

ACVODWT

M3

SEP

ACVWDHL

M3

SEP

ACVWDWT

M3

SEP

GGGDCONVST

SM3/S

SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP
SEP

GNGDGS
GNGDHL
GNGDWT
GNINDHL
GNINDWT
GNINGS
GNINLHL
GNINLWT
GNODHL
GNODWT
GNWDHL
GNWDWT
GTDGS
GTDHL
GTDWT
LIQLV
OILLV
PTBOTTUMN
PTSEP

KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
KG/S
M
M
PA
PA

SEP

QGSTGD

SM3/S

SEP

QGSTOD

SM3/S

SEP

QGSTWD

SM3/S

SEP

QLSTGD

SM3/S

SEP

QLSTOD

SM3/S

SEP

QLSTWD

SM3/S

SEP
SEP
SEP

QNGD
QNOD
QNWD

M3/S
M3/S
M3/S

SEP

QOSTGD

SM3/S

SEP

QOSTOD

SM3/S

SEP

QOSTWD

SM3/S

drain
Separator: accumulated water volume flow
oil drain
Separator: accumulated oil volume flow
water drain
Separator: accumulated water volume flow
water drain
Separator gas train gas mass rate divided
by standard conditions density
Separator: gas mass flow rate gas outlet
Separator: oil mass flow rate gas outlet
Separator: water mass flow rate gas outlet
Separator: oil droplet mass flow rate inlet
Separator: water droplet mass flow rate inlet
Separator: gas mass flow rate inlet
Separator: oil film mass flow rate inlet
Separator: water film mass flow rate inlet
Separator: oil mass flow rate oil drain
Separator: water mass flow rate oil drain
Separator: oil mass flow rate water drain
Separator: water mass flow rate water drain
Separator: total gas mass flow gas outlet
Separator: total oil mass drain rate
Separator: total water mass drain rate
Separator liquid level
Separator oil level
Pressure at liquid outlets
Separator pressure
Separator gas train gas volume flow at
standard conditions
Separator oil train gas volume flow at
standard conditions
Separator water train gas volume flow at
standard conditions
Separator gas train liquid volume flow at
standard conditions
Separator oil train liquid volume flow at
standard conditions
Separator water train liquid volume flow at
standard conditions
Separator: flow rate at gas outlet
Separator: oil drain flow rate
Separator: water drain flow rate
Separator gas train oil volume flow at
standard conditions
Separator oil train oil volume flow at
standard conditions
Separator water train oil volume flow at
standard conditions
641 / 769

OLGA 7

SEP

QOSTWD

SM3/S

SEP
SEP
SEP

QTDGS
QTDHL
QTDWT

M3/S
M3/S
M3/S

SEP

QWSTGD

SM3/S

SEP

QWSTOD

SM3/S

SEP

QWSTWD

SM3/S

SEP
SEP
SEP

SEPEFF
TMSEP
WATLV

C
M

standard conditions
Separator: total gas volume flow gas outlet
Separator: total oil volume drain rate
Separator: total water volume drain rate
Separator gas train water volume flow at
standard conditions
Separator oil train water volume flow at
standard conditions
Separator water train water volume flow at
standard conditions
Separator efficiency
Separator temperature
Separator water level

Link to: Separator Variables Description Variables

642 / 769

OLGA 7

SlugTracking Variables
Description ( See also: Variables)
There are four main groups of slug tracking variables:
1. Global variables:
NSLUG, SLUPRO
2. Variables for plotting properties of a specific unique slug:
ALFSB, ALFSL, ALTSB, ALTSL, BEFSB, BEFSL, BETSB, BETSL, BEHLFSB, BEHLFSL,
BEHLTSB, BEHLTSL, BEWTFSB, BEWTFSL, BEWTTSB, BEWTTSL, GAFSB, GAFSL,
GATSB, GATSL, GAHLFSB, GAHLFSL, GAHLTSB, GAHLTSL, GAWTFSB, GAWTFSL,
GAWTTSB, GAWTTSL, DPSB, DPSBF, DPSL, DPSLF, DPSLG, JSLT, JSLF, LSL, LSB,
PTJF, PTJT, SLUQT, SLUQF, SLTYPT, SLTYPF, UGFSB, UGFSL, UGTSB, UGTSL,
ULFSB, ULFSL, ULTSB, ULTSL, USF, UST, ZTSL, ZFSL, ULHLFSB, ULHLFSL,
ULHLTSB, ULHLTSL, ULWTFSB, ULWTFSL, ULWTTSB, ULWTTSL
These variables show the development of unique slugs as they pass through the
pipeline.
3. Variables for plotting properties of slugs passing at a specified section boundary:
SIDEXP, USTEXP, USFEXP, LSLEXP, LSBEXP, QTEXP, QFEXP, ZSTEXP, ZSFEXP
These variables are nonzero only when the specified integer pipeline position is within a
liquid slug.
Note: A table containing slug statistics will be written to the .out file for positions where
LSLEXP has been defined in TREND, see Chapter 2.3.1.1.
4. Modified "standard" OLGA variables accounting for the effects of the slug tracking option at a
specified section boundary:
ALEXP, BEEXP, BEHLEXP, BEWTEXP, GAEXP, GAHLEXP, GAWTEXP, HOLEXP,
HOLHLEXP, HOLWTEXP, UGEXP, ULEXP, ULHLEXP, ULWTEXP, UDEXP, UDHLEXP,
UDWTEXP

643 / 769

OLGA 7

Fig. 1

Definition sketch of position and length plot variables for the slug tracking option

Fig. 2

Definition sketch of void plot variables for the slug tracking option

Fig. 3

Definition sketch of velocity plot variables for the slug tracking option

SlugTracking Variables ( See also: Description)


Use as
Name
Units

Definition

Boundary Variables
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

ALEXP
BEEXP
BEHLEXP
BEWTEXP
GAEXP
GAHLEXP

TP/PP/C

GAWTEXP

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

HOLEXP
HOLHLEXP
HOLWTEXP
LSBEXP
LSLEXP
QFEXP
QTEXP
SIDEXP
SLTYPFEXP
SLTYPTEXP
UDEXP
UDHLEXP

M
M
M/S
M/S

M/S
M/S

Void fraction in slug (no slug: AL)


Liquid film fraction in slug (no slug: BE)
Oil film fraction in slug (no slug: BEHL)
Water film fraction in slug (no slug: BEWT)
Liquid droplet fraction in slug (no slug: GA)
Oil droplet fraction in slug (no slug: GAHL)
Water droplet fraction in slug (no slug:
GAWT)
Liquid holdup in slug (no slug: HOL)
Oil holdup in slug (no slug: HOLHL)
Water holdup in slug (no slug: HOLWT)
Bubble length (no slug: 0)
Slug length (no slug: 0)
Volume flux through slug front (no slug: 0)
Volume flux through slug tail (no slug: 0)
Slug identification (no slug: 0)
Type of slug front
Type of slug tail
Droplet velocity in slug (no slug: UD)
Oil droplet velocity in slug (no slug: UDHL)
644 / 769

OLGA 7

TP/PP/C

UDWTEXP

M/S

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

UGEXP
ULEXP
ULHLEXP
ULWTEXP
USFEXP
USTEXP
ZSFEXP
ZSTEXP

M/S
M/S
M/S
M/S
M/S
M/S
M
M

Water droplet velocity in slug (no slug:


UDWT)
Gas velocity in slug (no slug: UG)
Liquid velocity in slug (no slug: UL)
Oil film velocity in slug (no slug: ULHL)
Water film velocity in slug (no slug: ULWT)
Slug front velocity (no slug: 0)
Slug tail velocity (no slug: 0)
Slug front position (no slug: 0)
Slug tail position (no slug: 0)

ALFSB
ALFSL
ALTSB
ALTSL
BEFSB
BEFSL
BEHLFSB
BEHLFSL
BEHLTSB
BEHLTSL
BETSB
BETSL
BEWTFSB
BEWTFSL
BEWTTSB
BEWTTSL
DPSB
DPSBF
DPSL
DPSLF
DPSLG
GAFSB
GAFSL
GAHLFSB
GAHLFSL
GAHLTSB
GAHLTSL
GATSB
GATSL
GAWTFSB
GAWTFSL
GAWTTSB
GAWTTSL
HOLFSB

PA/M
PA/M
PA/M
PA/M
PA/M
-

Void fraction ahead of slug front


Void fraction behind slug front
Void fraction behind slug tail
Void fraction ahead of slug tail
Liquid film fraction ahead of slug front
Liquid film fraction behind slug front
Oil film fraction ahead of slug front
Oil film fraction behind slug front
Oil film fraction behind slug tail
Oil film fraction ahead of slug tail
Liquid film fraction behind slug tail
Liquid film fraction ahead of slug tail
Water film fraction ahead of slug front
Water film fraction behind slug front
Water film fraction behind slug tail
Water film fraction ahead of slug tail
Total pressure gradient in slug bubble
Frictional pressure gradient in slug bubble
Total pressure gradient in liquid slug
Frictional pressure gradient in liquid slug
Gravitational pressure gradient in liquid slug
Droplet fraction ahead of slug front
Droplet fraction behind of slug front
Oil droplet fraction ahead of slug front
Oil droplet fraction behind of slug front
Oil droplet fraction behind slug tail
Oil droplet fraction ahead slug tail
Droplet fraction behind slug tail
Droplet fraction ahead slug tail
Water droplet fraction ahead of slug front
Water droplet fraction behind of slug front
Water droplet fraction behind slug tail
Water droplet fraction ahead slug tail
Liquid holdup ahead of slug front

Slug Variables
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP

645 / 769

OLGA 7

TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP
TP

HOLFSL
HOLHLFSB
HOLHLFSL
HOLHLTSB
HOlHLTSL
HOLTSB
HOlTSL
HOLWTFSB
HOLWTFSL
HOLWTTSB
HOlWTTSL
JSLF
JSLT
LSB
LSL
PTJF
PTJT
SID
SLTYPF
SLTYPT
SLUQF
SLUQT
UDFSB
UDFSL
UDHLFSB
UDHLFSL
UDHLTSB
UDHLTSL
UDTSB
UDTSL
UDWTFSB
UDWTFSL
UDWTTSB
UDWTTSL
UGFSB
UGFSL
UGTSB
UGTSL
ULFSB
ULFSL
ULHLFSB
ULHLFSL
ULHLTSB
ULHLTSL
ULTSB

M
M
PA
PA

M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S
M/S

Liquid holdup behind slug front


Oil holdup ahead of slug front
Oil holdup behind slug front
Oil holdup behind slug tail
Oil holdup ahead of slug tail
Liquid holdup behind slug tail
Liquid holdup ahead of slug tail
Water holdup ahead of slug front
Water holdup behind slug front
Water holdup behind slug tail
Water holdup ahead of slug tail
Section number of slug front
Section number of slug tail
Slug bubble length
Slug length
Pressure at slug front
Pressure at slug tail
Slug id
Type of slug front
Type of slug tail
Volume flux throgh slug front
Volume flux throgh slug tail
Droplet velocity ahead of slug front
Droplet velocity behind slug front
Oil droplet velocity ahead of slug front
Oil droplet velocity behind slug front
Oil droplet velocity behind slug tail
Oil droplet velocity ahead of slug tail
Droplet velocity behind slug tail
Droplet velocity ahead of slug tail
Water droplet velocity ahead of slug front
Water droplet velocity behind slug front
Water droplet velocity behind slug tail
Water droplet velocity ahead of slug tail
Gas velocity ahead of slug front
Gas velocity behind slug front
Gas velocity behind slug tail
Gas velocity ahead of slug tail
Liquid velocity ahead of slug front
Liquid velocity behind slug front
Oil velocity ahead of slug front
Oil velocity behind slug front
Oil velocity behind slug tail
Oil velocity ahead of slug tail
Liquid velocity behind slug tail
646 / 769

OLGA 7

TP
TP
TP
TP
TP
TP
TP
TP
TP

ULTSL
ULWTFSB
ULWTFSL
ULWTTSB
ULWTTSL
USF
UST
ZFSL
ZTSL

M/S
M/S
M/S
M/S
M/S
M/S
M/S
M
M

Liquid velocity ahead of slug tail


Water velocity ahead of slug front
Water velocity behind slug front
Water velocity behind slug tail
Water velocity ahead of slug tail
Slug front velocity
Slug tail velocity
Slug front position
Slug tail position

Global Variables
GTP/GO
GTP/GO

NSLUG
SLUPRO

Total number of slugs in the pipeline


Number of slugs initiated

Link to: SlugTracking Variables Description Variables

647 / 769

OLGA 7

Source Variables
Description ( See also: Variables)
QGSTSOUR, QLSTSOUR, QOSTSOUR and QWSTSOUR are given at standard conditions (60
oF, 1 atm). A single stage flash from in-situ to standard conditions has been performed, that is,
mass transfer between the phases from in-situ to standard conditions is taken into account. The
gas is not dehydrated unless WATERFLASH = OFF. For table-based simulations, OLGA uses the
gas mass fractions and densities from the fluid property file to perform the conversion. Note:
These variables are CPU demanding for Compositional Tracking simulations since a flash
must be performed for each section and time they are plotted, and should be used with
care.
PTSOUR is the pressure specified in a pressure driven source. If the pressure is not given as input
to the source this variable will return the pressure of the section where the source is located.

Source Variables ( See also: Description)


Use as
Name
Units

Definition

Source Variables
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP

DGGSDP
DGLTHLSDP
DGLTWTSDP
DPDGGS
DPDGLTHLS
DPDGLTWTS
GGSOUR
GLHLMA
GLSOUR
GLWTMA
GTSOUR
HSOURC
PTSOUR

kg/s-Pa
kg/s-Pa
kg/s-Pa
Pa-s/kg
Pa-s/kg
Pa-s/kg
KG/S
KG/S
KG/S
KG/S
KG/S
W
PA

TP/C/GTP

QGSTSOUR

SM3/S

TP/C/GTP

QLSTSOUR

SM3/S

TP/C/GTP

QOSTSOUR

SM3/S

TP/C/GTP

QWSTSOUR

SM3/S

TP/C/GTP
TP/C/GTP
TP/C/GTP

TMSOUR
TSOUR
USGSOU

C
C
M/S

Gas mass flow derivative w.r.t. pressure


Oil mass flow derivative w.r.t. pressure
Water mass flow derivative w.r.t. pressure
Pressure derivative w.r.t. gas mass flow
Pressure derivative w.r.t. oil mass flow
Pressure derivative w.r.t. water mass flow
Source gas mass rate
Source oil mass rate
Source liquid mass rate
Source water mass rate
Source mass rate
Source enthalpy
Valve-source pressure
Source gas volume flow at standard
conditions
Source liquid volume flow at standard
conditions
Source oil volume flow at standard
conditions
Source water volume flow at standard
conditions
Valve-source temperature
Source temperature
Source superf. gas velocity
648 / 769

OLGA 7

Link to: Source Variables Description Variables

649 / 769

OLGA 7

SteamAndSingle Variables
Description ( See also: Variables)
Steam and single component variables can only be used when COMPOSITIONAL=STEAMWATERHC or COMPOSITIONAL=SINGLE in the OPTIONS keyword.

SteamAndSingle Variables ( See also: Description)


Use as
Name
Units
Definition
Volume Variables
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

PSAT
PVAP
TSAT
TSV

PA
PA
C
C

Saturation pressure at fluid temperature


Partial pressure of vapor
Saturation temperature at system pressure
Vapor temperature

Link to: SteamAndSingle Variables Description Variables

650 / 769

OLGA 7

TracerTracking Variables
Description ( See also: Variables)
Tracer tracking variables can only be used when TRACERTRACKING=ON in the OPTIONS
keyword.

TracerTracking Variables ( See also: Description)


Use as
Name
Units

Definition

TracerFeed Variables
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

Conc. wrt. oil carrier phase of tracer


feed
Conc. wrt. water carrier phase of tracer
CONCTOTTRACERWATER feed
GTOTTRACER
KG/S Total mass flow rate of tracer feed
MTOTTRACER
KG
Mass of tracer feed
RESTIMED
S
Droplet residence time of tracer feed
RESTIMEL
S
Film residence time of tracer feed
RESTIMET
S
Residence time of tracer feed
SMDTOTTRACER
KG/M3 Specific droplet mass of tracer feed
SMLTOTTRACER
KG/M3 Specific film mass of tracer feed
SMTOTTRACER
KG/M3 Specific mass of tracer feed
TOTAGETRACER
S
Average age of tracer feed
Mass fraction wrt. oil carrier phase of
XTOTTRACEROIL
tracer feed
Mass fraction wrt. water carrier phase of
XTOTTRACERWATER
tracer feed
CONCTOTTRACEROIL

FeedAge Variables
TP/PP/C
TP/PP/C
TP/PP/C

AGEDTRACER
AGEFTRACER
AGETRACER

S
S
S

TP/PP/C

CONCTRACEROIL

TP/PP/C

CONCTRACERWATER

TP/PP/C

GDHLTRACER

KG/S

TP/PP/C

GDTRACER

KG/S

TP/PP/C

GDWTTRACER

KG/S

TP/PP/C

GGTRACER

KG/S

TP/PP/C

GLHLTRACER

KG/S

Droplet age of tracer age group


Film age of tracer age group
Age of tracer age group
Conc.wrt. oil carrier phase of tracer age
group
Conc. wrt. water carrier phase of tracer
age group
Mass flow rate of oil in droplet field of
tracer age group
Droplet mass flow of tracer age group
Mass flow rate of water in droplet field of
tracer age group
Gas mass flow of tracer age group
Mass flow rate of oil in film of tracer age
group
651 / 769

OLGA 7

TP/PP/C

GLHLTRACER

KG/S

TP/PP/C

GLTHLTRACER

KG/S

TP/PP/C

GLTRACER

KG/S

TP/PP/C

GLTTRACER

KG/S

TP/PP/C

GLTWTTRACER

KG/S

TP/PP/C

GLWTTRACER

KG/S

TP/PP/C

GTTRACER

KG/S

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

MDTRACER
MGTRACER
MLHLTRACER
MLTHLTRACER
MLTRACER
MLTTRACER
MLTWTTRACER

KG
KG
KG
KG
KG
KG
KG

TP/PP/C

MLWTTRACER

KG

TP/PP/C

MTRACER

KG

TP/PP/C

SMDTRACER

KG/M3

TP/PP/C

SMGTRACER

KG/M3

TP/PP/C

SMLHLTRACER

KG/M3

TP/PP/C
TP/PP/C

SMLTHLTRACER
SMLTRACER

KG/M3
KG/M3

TP/PP/C

SMLTTRACER

KG/M3

TP/PP/C

SMLTWTTRACER

KG/M3

TP/PP/C

SMLWTTRACER

KG/M3

TP/PP/C

SMTRACER

KG/M3

TP/PP/C

XTRACEROIL

TP/PP/C

XTRACERWATER

GSTRACER

KG/S

group
Mass flow rate of oil of tracer age group
Liquid bulk mass flow of tracer age
group
Total liquid mass flow of tracer age
group
Mass flow rate of water excluding
vapour of tracer age group
Mass flow rate of water in film of tracer
age group
Total mass flow rate of tracer for tracer
age group
Droplet mass of tracer age group
Mass of gas of tracer age group
Mass of oil in film of tracer age group
Mass of oil of tracer age group
Film mass of tracer age group
Total liquid mass of tracer age group
Mass of water in film of tracer age group
Mass of water excluding vapour of tracer
age group
Mass of tracer age group
Specific droplet mass of tracer age
group
Specific mass of gas of tracer age group
Specific mass of oil in film of tracer age
group
Specific mass oil of of tracer age group
Specific film mass of tracer age group
Specific total liquid mass of tracer age
group
Specific mass of water in film of tracer
age group
Specific mass of water excluding vapour
of tracer age group
Specific mass of tracer age group
Mass fraction wrt. oil carrier phase of
tracer age group
Mass fraction wrt. water carrier phase of
tracer age group

Source Variables
TP/GTP

Tracer source mass flow rate

Link to: TracerTracking Variables Description Variables

652 / 769

OLGA 7

Valve Variables
Description ( See also: Variables)

Valve Variables ( See also: Description)


Use as
Name
Units

Definition

Valve Variables
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP

ARCH
CV
GCRIT
GVALVE
ICRIT
PVALVE
TTHRC
TVALVE
UCRIT
UVALVE
VALSCC
VALVAR
VALVDP
VALVOP
WCRIT

M2
KG/S
KG/S
PA
C
C
M/S
M/S
M2
PA
KG/S-M2

Choke area
Valve CV (0 for chokes)
Critical mass flow rate
Valve mass flow
Valve critical flow: 0=subcrit, 1=crit
Valve pressure
Critical temperature at throat
Valve temperature
Critical velocity at throat
Valve velocity
Valve sub-critical coefficient
Valve flow area
Subcritical pressure drop across valve
Relative valve opening
Critical mass flux at throat

Link to: Valve Variables Description Variables

653 / 769

OLGA 7

Volume Variables
Description ( See also: Variables)
SSP gives an average speed of sound in fluid. However, it is only calculated if SOUND_CFL = ON
in keyword DTCONTROL. Else, the value is 0.

Volume Variables ( See also: Description)


Use as
Name
Units

Definition

Volume Variables
TP/PP/C

ACCDPZA

PA

TP/PP/C

ACCDPZF

PA

TP/PP/C

ACCDPZG

PA

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C/N/SEP
TP/PP/C
TP/PP/C/N/SEP
TP/PP/C/N/SEP
TP/PP/C
TP/PP/C
TP/PP/C/N/SEP
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

ACCLIQBR
ACCOILBR
ACCWATBR
AL
ANGLE
BE
BEHL
BEHLCONT
BEHLDISP
BEWT
BEWTCONT
BEWTDISP
CPG
CPHL
CPWT
CVOL
DIAM

M3
M3
M3
-

TP/PP/C

DPHYD

PA

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

DPZ
DRGP
DRHLDP
DRWTDP

PA/M
KG/M-N
S2/M2
S2/M2

TP/PP/C

DTHYD

TP/PP/C
TP/PP/C/N/SEP

DTM
GA

C/S
-

J/KG-C
J/KG-C
J/KG-C
M

Integrated additional pressure drop along


branch
Integrated frictional pressure drop along
branch
Integrated gravitational pressure drop along
branch
Accumulated liquid volume along branch
Accumulated oil volume along branch
Accumulated water volume along branch
Void (gas volume fraction)
Pipe angle
Liquid film volume fraction
Oil film volume fraction
Oil continuous fraction
Oil dispersed in water fraction
Water film volume fraction
Water continuous fraction
Water dispersed in oil fraction
Specific heat of gas phase
Specific heat of oil phase
Specific heat of water phase
volume error control factor
Pipe diameter
Difference between section and hydrate
pressure
Space derivative of pressure
Pressure derivative of gas density
Pressure derivative of oil density
Pressure derivative of water density
Difference between hydrate and section
temperature
Time derivative of temperature
Liquid droplet volume fraction
654 / 769

OLGA 7

TP/PP/C/N/SEP

GAHL

TP/PP/C

GASMFR

TP/PP/C/N/SEP
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C/N/SEP
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C/N/SEP
TP/PP/C/N/SEP
TP/PP/C/N/SEP
TP/PP/C/N/SEP
TP/PP/C
TP/PP/C
TP/PP/C/N/SEP
TP/PP/C/N/SEP
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C/N/SEP
TP/PP/C
TP/PP/C

GAWT
HDIAM
HG
HL
HOL
HOLHL
HOLWT
HTK
HTKO
IDIAM
INCL
INHIBMFR
MACH
MD
MDHL
MDWT
MG
MHLCONT
MHLDISP
ML
MLHL
MLT
MLTHL
MLTWT
MLWT
MWTCONT
MWTDISP

M
J/KG
J/KG
W/M2-C
W/M2-C
M
DEGREE
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3
KG/M3

TP/PP/C

OILMFR

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C/N/SEP
TP/PP/C
TP/PP/C
TP/PP/C

PSI
PSIHL
PSIWT
PT
PTMAX
PTMIN
Q2

KG/M3-S
KG/M3-S
KG/M3-S
PA
PA
PA
W/M2-C

TP/PP/C

QM

W/M

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

ROG
ROHL
ROL
ROWT

KG/M3
KG/M3
KG/M3
KG/M3

Oil droplet volume fraction


Gas mass fraction relative to the mass from
all phases
Water droplet volume fraction
Hydraulic diameter
Enthalpy gas
Enthalpy liquid
Holdup (liquid volume fraction)
Oil volume fraction
Water volume fraction
Heat transfer coefficient of inner wall
Ambient heat transfer coefficient
Inner diameter
Inclination from horizontal
Inhibitor mass fraction in water
Mach number
Specific mass droplet
Specific mass of oil droplets
Specific mass of water droplets
Specific mass gas
Specific oil continuous mass
Specific oil dispersed in water mass
Specific mass liquid
Specific mass of oil in film
Total liquid mass
Specific mass oil
Specific mass water
Specific mass of water in film
Specific water continuous mass
Specific water dispersed in oil mass
Oil mass fraction relative to the mass from
all phases
Mass rate of flashing to gas phase
Mass rate of flashing to oil phase
Mass rate of flashing to water phase
Pressure
Maximum pressure
Minimum pressure
Overall heat transfer coefficient
Heat loss per unit length from pipe wall to
fluid
Density of gas
Oil density
Density of liquid
Water density
Gas mass fraction relative to hydrocarbon
liquid and gas mass;

655 / 769

OLGA 7

TP/PP/C

RS

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C/N/SEP
TP/PP/C
TP/PP/C
TP/PP/C

RSW
SECLENGTH
SEG
SEL
SIG
SSP
TCONG
TCONHL
TCONWT
TINHIBMFR
TM
TMMAX
TMMIN
TU

M
J/KG-K
J/KG-K
N/M
M/S
W/M-K
W/M-K
W/M-K
C
C
C
C

TP/PP/C

TW

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

TWATMFR
TWS
TWSO
UHLDISP
UWTDISP
VISG
VISHL

C
C
M/S
M/S
N-S/M2
N-S/M2

TP/PP/C

VISHLEFF

N-S/M2

TP/PP/C
TP/PP/C

VISHLTAB
VISL

N-S/M2
N-S/M2

TP/PP/C

VISWT

N-S/M2

TP/PP/C

VISWTEFF

N-S/M2

TP/PP/C
TP/PP/C/N/SEP

VISWTTAB
VOL

N-S/M2
-

TP/PP/C

WACBEWA

TP/PP/C

WACWA

TP/PP/C

WALLROUGH

TP/PP/C

WATMFR

TP/PP/C

WC

liquid and gas mass;


(MG/(MG+MLTHL))from PVT table
Mass fraction of water vapour in gas
Section Length
Gas entropy
Liquid entropy
Surface tension
Speed of sound in fluid
Thermal conductivity of gas phase
Thermal conductivity of oil phase
Thermal conductivity of water phase
Total inhibitor mass fraction in water+ vapor
Fluid temperature
Maximum Fluid temperature
Minimum Fluid temperature
Ambient temperature
Temperature in center of gravity of wall (100 C for non-existing layers)
Total water mass fraction
Inner wall surface temperature
Outer wall surface temperature
Oil dispersed in water velocity
Water dispersed in oil velocity
Gas viscosity
Oil viscosity including wax/meg/mud effects
Effective oil viscosity including dispersion
effects
Oil viscosity from fluid tables
Liquid viscosity (no water-slip)
Water viscosity including wax/meg/mud
effects
Effective water viscosity including
dispersion effects
Water viscosity from fluid tables
Volume error
Volume fraction of free water to total liquid
film
Volume fraction of free water to total water
in film
Pipe wall roughness
Water mass fraction relative to the mass
from all phases
Water cut (In-situ)

Link to: Volume Variables Description Variables

656 / 769

OLGA 7

Waxdeposition Variables
Description ( See also: Variables)
Wax deposition variables can only be used when WAXDEPOSITION=ON in the OPTIONS keyword.

Waxdeposition Variables ( See also: Description)


Use as
Name
Units
Definition
Branch Variables
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP

MLTWLBR
MLTWSBR
MTWXBR
WAXMASBR
WAXVOLBR

KG
KG
KG
KG
M3

Mass of dissolved wax in branch


Mass of suspended wax in branch
Total mass of wax in branch
Wax deposit mass in branch
Wax deposit volume in branch

ACCGLTWL
ACCGLTWS
GWXDIP
GWXDIS

KG
KG
KG/S
KG/S

Accumulated dissolved wax mass flow


Accumulated suspended wax mass flow
Mass flow rate of wax dispersed in oil
Mass flow rate of wax dissolved in oil

TP/PP/C
TP/PP/C

BEWX
DXWX

TP/PP/C

GAWX

TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C

LEWIS
MWXDIP
MWXDIS
MWXWAL
SCHMIDT

KG/M3
KG/M3
KG/M3

TP/PP/C

TWSWX

TP/PP/C

WAX_TCOND

W/M-K

TP/PP/C
TP/PP/C
TP/PP/C

WAXAP
WAXPOROSITY
WXAVDC

C
M2/S

TP/PP/C

WXCDCDR

1/M

TP/PP/C

WXCDIFFC

M2/S

TP/PP/C

WXCMCDB

Volume fraction of wax dispersed in oil film


Thickness of wax layer deposited at wall
Volume fraction of wax dispersed in oil
droplet field
Lewis number
Mass of wax dispersed in oil
Mass of wax dissolved in oil
Specific wax mass at wall
Schmidt number
Inner wall surface temperature adjusted for
wax layer
Thermal conductivity of wax film, porosity
included
Wax appearance temperature
Wax porosity (oil volume fraction in wax film)
Molar average wax diffusion coefficient
Concentration gradient of dissolved wax
near wall
Wax component diffusion coefficient
Molar concentration of dissolved wax
components in bulk
657 / 769

Boundary Variables
TP/PP/C
TP/PP/C
TP/PP/C
TP/PP/C
Volume Variables

OLGA 7

TP/PP/C

WXCMCDB

TP/PP/C

WXCMCDW

TP/PP/C
TP/PP/C
TP/PP/C

WXDIFFC
WXDR
WXMPREC

M2/S
M
KG/S

TP/PP/C

WXMTRW

KG/S

TP/PP/C

WXMTRWD

KG/S

TP/PP/C

WXMTRWS

KG/S

components in bulk
Molar concentration of dissolved wax near
wall
Apparent wax diffusion coefficient
Laminar boundary layer thickness
Wax mass precipitation rate
Net wax mass transport rate to wall (diffusi+
shear)
Wax mass transport rate to wall due to
diffusion
Wax mass transport rate to wall due to
shear

Link to: Waxdeposition Variables Description Variables

658 / 769

OLGA 7

Well Variables
Description ( See also: Variables)
QGSTWELL, QLSTWELL, QOSTWELL and QWSTWELL are given at standard conditions. A
single stage flash from in-situ to standard conditions has been performed. For table-based
simulations, OLGA uses the gas mass fractions and densities from the fluid property file to perform
the conversion. The gas is not dehydrated unless WATERFLASH = OFF. Note: The standard gas
density can be given in the well input as ROGST, but this is not used when calculating
QGSTWELL. This means that there will be a difference between the given QGSTWELL and the
standard gas flowrate given by the well equations, since ROGST is used to convert to gas mass
rate and the value in the fluid property file is used to convert back to QGSTWELL (correspondingly
for ROLST and QOSTWELL/QLSTWELL). Note: These variables are CPU demanding for
Compositional Tracking simulations since a flash must be performed for each section and
time they are plotted, and should be used with care.

Well Variables ( See also: Description)


Use as
Name
Units

Definition

Well Variables
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP
TP/C/GTP

GASFRT
GGSWST
GGWELL
GHLWST
GLHLWE

M
KG/S
KG/S
KG/S
KG/S

TP/C/GTP

GLTWST

KG/S

TP/C/GTP
TP/C/GTP
TP/C/GTP

GLWELL
GLWTWE
GTWELL

KG/S
KG/S
KG/S

TP/C/GTP

GWTWST

KG/S

TP/C/GTP
TP/C/GTP
TP/C/GTP

HWELL
OILFRT
QGSTWELL

W
M
SM3/S

TP/C/GTP

QLSTWELL

SM3/S

TP/C/GTP

QOSTWELL

SM3/S

TP/C/GTP

QWSTWELL

SM3/S

TP/C/GTP

WATFRT

Well source gas cone front


Well source steady-state gas mass flow rate
Well source gas mass flow rate
Well source steady-state oil mass flow rate
Well source oil mass flow rate
Well source steady-state liquid mass flow
rate
Well source liquid mass flow rate
Well source water mass flow rate
Well source mass flow rate
Well source steady-state water mass flow
rate
Well source enthalpy
Well source oil cone front
Well gas volume flow at standard conditions
Well liquid volume flow at standard
conditions
Well oil volume flow at standard conditions
Well water volume flow at standard
conditions
Well source water cone front

Link to: Well Variables Description Variables

659 / 769

OLGA 7

FLUID PROPERTIES AND other DATA FILES


In addition to the main file describing the simulation model, OLGA also requires a description of the
fluid properties as a unique function of temperature and pressure. These can be given either as a fluid
file, through specific component data given in a feed file (Compositional Tracking) or defined in the main
file (Blackoil), or computed internally (STEAMWATER-HC)
A previous simulation run can be continued through the use of a restart file, as described with the
RESTART keyword.
If a compressor is present in the pipeline, a file specifying the compressor characteristics is also
required.
If pumps are used in the simulation, the pump characteristics are specified through a pump file. A
complete set of pump characteristics is given in the code. This set can be used if no pump
characteristics are available.
If wax deposition is simulated, the wax data are specified through a wax file.
If the possible formation of hydrate is simulated, a hydrate curve file might be required.
If the OLGA Rocx module is used for simulating near wellbore, a Rocx input file is required.
These files have to be written in certain formats that are described in the following sections.

See also
Fluid properties file
Compressor data file
Pump data Files
Wax table file
Hydrate curve definition file
OLGA Rocx input file

660 / 769

OLGA 7

Compressor data file


This file contains tables of the compressor characteristics, defined below, as functions of reduced RPM
and reduced inlet mass flow. The reason for giving the characteristics as functions of reduced RPM and
reduced inlet mass flow, is to obtain one table for several inlet conditions (pressure, temperature),
instead of having one table for each inlet condition.
Variables
The definitions of reduced mass flows and reduced RPM are as follows:
Reduced inlet mass flow : MASSRE =
Reduced surge mass flow : MREDSU =
Reduced RPM

: RPMRED =

G
= inlet mass flow
(kg/s)
GSURGE = surge mass flow
(kg/s)
RPM = rotational speed
(r/min)
= normalized inlet temp = inlet temp / 288 K
( )
= normalized inlet pressure = inlet pressure / (1.013*105 Pa) ( )
The table values can be equidistant or non-equidistant.
Variables: Name
IDENTF
NCOMTA
COMPID(I)

Unit

Definition

File identification (40 characters)


( )
Number of compressors
Compressor identification,
compressor(I) (40 characters)
Note!
All characters after a blank in a character string are

omitted.
(I = 1, NCOMTA)
NTABWG(I) ( ) Number of reduced mass flow points, compressor(I)
NTABOM(I) ( ) Number of reduced RPM points, compressor(I)
RPMRED(K,I) (r/min) Reduced RPM, compressor(I)
K=1,NTABOM(I)
MASSRE(J,I) (kg/s)
Reduced inlet mass flow, compressor(I) J=1,NTABWG(I)
COTEXT(1,I)
Heading, pressure ratio table,
compressor(I) (40 characters)
PRATIO(J,K,I)( ) Pressure ratio, d .
compressor(I) K=1,NTABOM
J=1,NTABWG(I)
COTEXT(2,I)
Heading, temperature ratio table,
compressor(I) (40 characters)
TRATIO(J,K,I) ( ) Temperature ratio, Q. Compressor(I)
K=1,NTABOM(I), J=1,NTABWG(I)
COTEXT(3,I)
Heading, reduced surge mass-flow table, compressor(I) (40 characters)
MREDSU(K,I) (kg/s)
Reduced surge mass flow, compressor(I) K=1,NTABOM(I)
Data file structure:
661 / 769

OLGA 7

IDENTF
NCOMTA
The following data is repeated for each compressor :
COMPID(I)
NTABWG(I) NTABOM(I)
RPMRED(1,I). . . . . . . RPMRED(NTABOM(I),I)
MASSRE(1,I). . . . . . . MASSRE(NTABWG(I),I)
COTEXT(1,I)
PRATIO(1,1,I). . . . . . PRATIO(1,NTABOM(I),I)
.
.
.
.
.
PRATIO(NTABWG(I),1,I). . PRATIO(NTABWG(I),NTABOM(I),I)
COTEXT(2,I)
TRATIO(1,1,I). . . . . . TRATIO(1,NTABOM(I),I)
.
.
.
.
.
TRATIO(NTABWG(I),1,I). . TRATIO(NTABWG(I),NTABOM(I),I)
COTEXT(3,I)
MREDSU(1,I). . . . . . . MREDSU(NTABOM(I),I)
Note that the number of compressor tables must equal the number of compressors. The tables must be
given in increasing order; the first table is for compressor number one etc.

662 / 769

OLGA 7

Wax table file


This file can contain tables with the properties of the wax forming components for multiple fluids. The
table for each fluid should have the following format:
1.
2.

4.
5.
6.
7.
8.
9.
10.
11.
12.

13.
14.
15

Name of table.
No more than 20 characters and no blanks.
Number of wax components.
3.
Names of wax components.
Each name may take up max. 20 characters. No
blanks. Component names encircled by apostrophes and separated by commas.
Example:
'C10-C20','C35','C40-C50'
Molecular weights (g/mol) of wax components.
Liquid densities of wax components (kg/m3).
Heat of melting (J/kg) of wax components.
Concentration (mol/mol) of wax components in HC mixture.
Number of pressure points, number of temperature points.
Pressure points (Pa).
Cloud point temperatures (C) for each pressure point.
First pressure point.
Columns with
Temperature (C)
Solubility of wax component 1 (mol/mol) in oil including wax forming components
Solubility of wax component 2 (mol/mol) in oil including wax forming components
etc.
Wax phase density (kg/m3)
Gas phase molecular weight (g/mol)
Liquid phase molecular weight (g/mol)
Wax phase molecular weight (g/mol)
Enthalpy of wax (J/kg)
Heat capacity of wax (J/kg K)
Thermal conductivity of wax (W/m K)
Second pressure point
etc.
Repeat 1-14 for next fluid

Comment lines start with an !. If the temperature is above the cloud point temperature, oil properties
should be used.
The wax file is generated in PVTSim.
NOTE! The following requirements need to be fulfilled when using multiple fluids in networks:

Same pseudo-components (number of components and lumping) for all fluids.


All fluids in one wax data file.
Procedure for generating PVT tables in PVTSIM:
1. Add the inlet fluids as separate fluids.
2. Use Fluids-> Same pseudos (Select the resulting fluids for inlets. Resulting fluids with same
pseudos available at bottom of fluid table from database)
3. Use Mix to mix r;same pseudos inlet fluids in proper ratios
4. Generate OLGA and wax tables for each fluid made by r;same pseudos and mix.

663 / 769

OLGA 7

[1] Subkey not used by OLGA.


[2] Only if PHASE = THREE. Ignored if PHASE = TWO.

664 / 769

OLGA 7

Hydrate curve definition file


A hydrate curve must be defined as pairs of corresponding temperature and pressure points, which must
be unique and in increasing order. A header line must include the temperature and pressure units.
An example hydrate definition file is shown below:

TEMPERATURE (C) PRESSURE (BAR)


0.4853 32.4656
1.9738 36.7623
3.4717 41.6277
4.9768 47.1369
6.4870 53.3754
7.9997 60.4394
9.5125 68.4384
11.0227 77.4959

665 / 769

OLGA 7

OLGA Rocx
Rocx reads a separate input file describing the reservoir properties, boundary conditions and initial
conditions. The file name should be given in the NEARWELLSOURCE keyword. This input file is edited
with the Rocx GUI. Please refer to the OLGA Rocx User Manual for how to define a proper input file for
use with OLGA Rocx.

666 / 769

OLGA 7

Fluid properties file


The file that contains the fluid data, is either a feed file with data for each component used in
compositional tracking, or a file that have fluid properties as a function of temperature and pressure.
There are two valid formats of the latter file, either the standard format or a keyword based format.
When more than one fluid properties file is used, they all have to have the same format.
Note that the fluid label cannot start with a number. This is a general limitation for labels.

667 / 769

OLGA 7

Feed file for compositional tracking


This file is generated in PVTSim, and contains data for each fluid component as well as the fluid
composition (component mole fractions) for one or more feeds.
The syntax of the file is complex, and is not explained here. There should be no need to view the
contents of the file, as the feed and component names can be chosen directly from the OLGA GUI when
a feed file has been specified.

668 / 769

OLGA 7

PVT properties for non-existing phase


When generating an OLGA fluid properties file (TAB file) all properties need to be given at all pressure
and temperature points in the file. That applies also if the phase the property belongs to does not exist at
the pressure and temperature in question. OLGA does in certain cases use the numbers in the TAB file
for the non-existent phase, so these should generally be sensible numbers rather than for instance a
zero. How this can be done is briefly described below. Some examples of when the non-existent phase is
used are:
1. The user specifies a well or source with non-equilibrium inflow. That is, the user can for instance
specify that there is gas present at conditions where according to the fluid file there is single phase
liquid. This is typically done to adjust the GOR of the fluid or for simulation of gas lift.
2. During a shut-in the liquid in the pipeline redistributes. The gas and liquid volumes in a section are
then no longer well represented by the TAB file. Subsequent pressure and temperature changes
can result in a phase being present outside the region where it should be according to the TAB file.
3. During the numerical solving process OLGA may stray outside of the 2-phase region as part of its
iteration sequence before converging to a point which is inside the 2-phase region.
There are no specific requirements on how the properties of the non-existent phase should be
generated. However, the numbers should be reasonable, since they in many cases in reality are used to
represent fluids with slightly different composition than what the TAB file was made with. However, two
main approaches have been used:
Extrapolation: The value and its derivative with respect to pressure at the phase boundary are used to
extrapolate into the region where the property does not exist.
Compositional: By addition of gas or condensate the phase envelope is expanded so that it passes
through the P and T for which a property is to be calculated.
The experience is that the extrapolation method is preferable, but unreasonable values are often seen
when extrapolation is performed far into the non-existing region. It is further important that the there are
no abrupt changes in property values with changing pressure and temperature. Step changes in
property values will generally create numerical instabilities when a simulation is performed in that
pressure and temperature region.
The extrapolation of enthalpy and entropy should be consistent with thermal capacity. Extrapolation of
density should be consistent with the derivative of density with regard to pressure.
Note that going vertically up from the critical point, OLGA considers the phase to the left (lower T) to be
dense oil, and the phase to the right to be dense gas. The properties set for the non-existing phase must
ensure that properties are continuous at the critical line so that this is a virtual transition with no actual
effect.

669 / 769

OLGA 7

Keyword based format for fluid properties


This format has all the possibilities as the standard format, and some additional ones. The intension of
introducing a table based format is to:
1.
2.

Improve the readability of PVT table


Be able to give bubble points and dew points curve to improve the accuracy close to the
saturation line
3. Use different units for the various PVT parameters
4. Facilitate conversion between mass flow rate and volumetric flow rate at standard conditions
(Not implemented yet)
5. Be able to adapt more easily the temperature and pressure mesh to the phase envelope
6. Make a format that is easily extendable for new parameters
7. Provide composition information to help custom support for PVT related problems
8. Easily export PVT data to spreadsheets

See also
The syntax of the keyword
Table Structure
Keyword PVTTABLE
Examples

670 / 769

OLGA 7

The syntax of the keyword


The syntax of OLGA input applies to the new table format. Specifically, an input statement has the
general form:
KEYWORD KEY = Parameter list, ...
where the ellipses (...) indicate that the statement may contain more than one "KEY = Parameter list"
combinations. Commas separate such combinations. The KEYWORD identifies the input statement.
Each keyword has a set of variables, each identified by a KEY (e.g. SETPOINT).
Separators:
Items are separated by commas (,).
Tabulation is treated as one single space.
Line continuation:
An input statement can be written on several lines by ending each line with the continuation
character: \ (backslash)
Comments:
Comments are indicated with the comments mark:
! (exclamation mark)
Any information on a line after a comment mark is ignored.
The comment mark can be put anywhere on the line.
String protector:
A string that contains spaces or commas should be protected with double quotes:
" (double quote)
List protector:
Any list should be put inside a parenthesis:
( ... )

671 / 769

OLGA 7

Table Structure
A table is defined through the keyword:
PVTTABLE
The structure of the fluid property table is as follows:
For each of the tables
PVTTABLE LABEL = fluid-1, etc
For each of the pressure and temperature points
PVTTABLE POINT = ()
End of pressure and temperature points
End of tables
The values of all parameters except POINT must be written in a single line. Fluid properties for each
pressure/temperature point must subsequently be specified through the PVTTABLE POINT structure,
repeated for each pressure/temperature point.
See also
Keyword PVTTABLE

672 / 769

OLGA 7

Keyword PVTTABLE
Key

Type
Parameter
Unit: ( ) set Default: [
]

LABEL
PHASE

str.
sym

EOS[1]

str.

MESHTYPE

sym.

COMPONENTS1

str.l.

MOLES1

r.l.

DENSITY1

r.l.
(kg/m3)

[TWO] |
THREE

Description

Name of the table.


Two or three phase table

Equation of state used in


generating the pvt table.
Optional.
[STANDARD] STANDARD: Both
|
temperature and pressure
FREEPRES points are fixed
independently
|
FREETEMP FREEPRES: Temperature
points are fixed first and
the pressure points are
specified for each of the
individual temperature
points.
FREETEMP: Pressure
points are fixed first and
the temperature points are
specified for each of the
individual pressure points.
List of names of the
components in the
composition. Optional.
Mole fraction for each of
the components in the
composition. Optional.

MOLWEIGHT1

r.l. (g/mol)

STDPRESSURE1

r. (Pa)

[ 1 ATM]

STDTEMPERATURE1

r. (C)

[15.5 C]

GOR1

r.
(Sm3/Sm3)

Density for each of the


components in the
composition. Set to 999 if
not available. Optional.
Molecular weight for each
of the components in the
composition. Optional.
Pressure at standard
conditions (1 atm) .
Optional
Temperature at standard
conditions (15.5 oC).
Optional.
Gas/oil ratio at standard
conditions. For two-phase
flow, GOR is interpreted as
gas/liquid ratio, i.e. it is
ratio of gas volume fraction
673 / 769

OLGA 7

GLR1

r.
(Sm3/Sm3)

WC1,2

r. (-)

STDGASDENSITY1

r. (kg/m3)

STDOILDENSITY1

r. (kg/m3)

STDWATDENSITY1,[2]

r. (kg/m3)

TOTWATERFRACTION2 r. (-)
DEWPRESSURES

r.l. (Pa)

DEWTEMPERATURES

r.l. (C)

BUBBLEPRESSURES

r.l. (Pa)

BUBBLETEMPERATURESr.l. (C)

CRITICALPRESSURE

r. (Pa)

CRITICALTEMPERATURE r. (C)

ratio of gas volume fraction


to the liquid volume
fraction at standard
conditions. For cases
where there is no oil/liquid,
set GOR = -999.
Gas/liquid ratio at standard
conditions. For cases
where there is no liquid,
set GLR = -999.
Water cut standard
conditions, for three-phase
table only.
Gas density at standard
conditions.
Oil density at standard
conditions.
Water density at standard
conditions.
Mass fraction of water
component in the
composition.
Dewpoint pressures. The
subkeys
DEWPRESSURES and
DEWTEMPERATURES
are optional. Leave out
these two subkeys if no
dew point curve is found
Dewpoint temperatures
cor-responding to the
dewpoint pressure given in
keyword
DEWPRESSURES.
Bubble point pressures
Bubble point temperatures
corresponding to the
bubble point pressures
given in keyword
BUBBLEPRESSURES
The subkeys
BUBBLEPRESSURE and
BUBBLETEMPERATURE
are optional. Leave out
these two subkeys if no
bubble point curve is
found.
Pressure at the critical
point
Temperature at the critical
point. The subkeys
CRITICALPRESSURE and

674 / 769

OLGA 7

NOPRES

i.l.

TEMPERATURE

r.l. (C)

NOTEMP

i.l.

PRESSURE

r.l. (pa)

COLUMNS

sym.l.

The default
unit is given
in
parenthesis
TM (C)
PT (Pa)
RS (-)

CRITICALPRESSURE and
CRITICALTEMPERATURE
are optional. If the critical
point is not found, either
set the values of critical
pressure and temperature
to 999, or leave out these
two subkeys.
Number of pressure points
for each of temperature
points given in subkey
TEMPERATURE. Only if
MESHTYPE =
FREEPRES
Temperature points if
MESHTYPE =
FREEPRES or
STANDARD
Number of temperature
points for each of pressure
points given in subkey
PRESSURE. Only if
MESHTYPE =
FREETEMP
Pressure points if
MESHTYPE =
FREETEMP or
STANDARD
Specify orders and units of
parameters for a table
point.

Temperature
Pressure
Gas mass fraction in
gas/oil mixture
RSW (-)
Water vapour mass
fraction in gas phase2
ROG (kg/m3) Gas density
DROGDP
Derivative of gas density
(s2/m2)
w.r.t pressure
DROGDT
Derivative of gas density
(kg/m3C)
w.r.t temperature
ROHL
Oil density
(kg/m3)

Key

Type Parameter
Unit: ( ) set Default:
[]

Description

DROHLDP Derivative of oil density


(s2/m2)
w.r.t pressure
675 / 769

OLGA 7

DROHLDT
(kg/m3C)
ROWT
(kg/m3)
DROWTDP
(s2/m2)
DROWTDT
(kg/m3C)
TCG
(W/mC)
TCHL
(W/mC)
TCWT
(W/mC)
CPG
(J/kgC)
CPHL
(J/kgC)
CPWT
(J/kgC)
HG (J/kg)
HHL (J/kg)
HWT (J/kg)
VISG
(Ns/m2)
VISHL
(Ns/m2)
VISWT
(Ns/m2)
SEG
(J/kgC)
SEHL
(J/kgC)
SEWT
(J/kgC)
SIGGHL
(N/m)
SIGGWT
(N/m)
SIGHLWT
(N/m)
POINT

r.l.

Derivative of oil density


w.r.t temperature
Water density.2
Derivative of water
density w.r.t pressure.2
Derivative of water
density w.r.t
temperature.2
Gas thermal conductivity.
Oil thermal conductivity.
Water thermal
conductivity.
Gas thermal capacity.
Oil thermal capacity.
Water thermal capacity.2
Gas enthalpy.
Oil enthalpy.
Water enthalpy.2
Gas viscosity.
Oil viscosity.
Water viscosity.2
Gas entropy.
Oil entropy.
Water entropy.2
Surface tension between
gas and oil.
Surface tension between
gas and water. 2
Surface tension between
oil and water.2
Values of parameters,
see note 1 and 2 below.

Note 1: The pressure and temperature values must be the same as specified in the keys PRESSURE
and TEMPERATURE for mesh type STANDARD. Pressure must be the same as specified in the keys
PRESSURE for mesh type FREETEMP. Temperature must be the same as specified in the keys
TEMPERATURE for mesh type FREEPRES.
Note 2: The order and the units must be the same as specified in the key COLUMNS.
Note 3: The use of pressure and temperature dependant values in the complex fluid module is not
yet implemented.

676 / 769

OLGA 7

yet implemented.

677 / 769

OLGA 7

Examples
Example 1: Two-phase, Standard mesh type
Example 2: Two-phase, freepressure mesh type
Example 3: Two-phase, freetemperature mesh type
Example 4: Three-phase, Standard mesh type

Example 1: Two-phase, Standard mesh type


PVTTABLE LABEL = FLUID-1, PHASE = TWO, \
COMPONENTS =(N2,CO2,C1,C2, C3, IC4, NC4, IC5,NC5, C6,C7) ,\
MOLES = ( 4.64,3.02,65.39,5.04,2.97,0.90,1.72,0.85,0.84,1.6,13.03),\
MOLWEIGHT = (28.0,44.01,16.04,30.1,44.1,58.1,58.1,72.1,72.1,86.2,154.3)
DENSITY = (0,0,0,0,0,0,0,0,0,0,0.789) g/cm3
STDPRESSURE = 1 ATM, \
STDTEMPERATURE = 15.5 C, \
GLR = 768 SM3/SM3, \
STDGASDENSITY = 1.0 KG/M3, \
STDOILDENSITY = 787.7 KG/M3, \
DEWTEMPERATURE = ( 281.27,285.66,291.15,296.62,302.03,\
307.32,312.44,317.28,321.74,325.65,\
328.81,330.91,331.56,331.54,330.50,\
327.48,321.73,312.37,298.41,278.85,\
261.62,247.00,228.69,213.56,194.95,\
179.74,170.39,160.41,156.59) C, \
DEWPRESSURE = (
5.00, 5.99, 7.50, 9.39, 11.74 ,\
14.67, 18.32, 22.87, 28.55, 35.65, \
44.57, 55.79, 67.71, 70.01, 84.78, \
102.96,125.37,152.53,184.55,220.92, \
247.76,267.66,289.40,304.96,321.31, \
332.46,338.34,343.81,345.68) BARA, \
BUBBLETEMPERATURE=( 139.72,125.96,112.46,103.52,92.67,\
73.39, 54.56, 36.12, 26.85,22.85, \
18.85, 18.00, 14.85, 10.85, 6.85,\
2.85, 0.09, -1.15,- 5.15,-9.15,\
-13.15,-17.78,-32.86) C, \
BUBBLEPRESSURE=( 352.44,356.11,358.07,358.44,357.88, \
354.02,346.52,335.35,328.21,324.81, \
321.20,320.41,317.39,313.36,309.13, \
304.68,301.49,300.01,295.12,290.00, \
284.65,278.16,254.79) BARA, \
CRITICALPRESSURE (345.68) BARA, \
CRITICALTEMPERATURE = 156.59 C, \
MESHTYPE = STANDARD, \
!
!both temperature points and pressure points are fixed
!
TEMPERATURE =(1,2,3,4,5) C,\
PRESSURE = (1,2,3,4,5) BARA, \
COLUMNS =(PT BARA, TM C, ROG KG/M3, ROHL KG/M3, DROGDP, DROHLDP, DROGDT, \
DROHLDT,RS,VISG,VISHL,CPG,CPHL,HG, HHL,TCG,TCHL,SIGGHL,SEG,SEHL)
PVTTABLE POINT = (1,1, 9.628E-01, 7.919E+02, 9.666E-06, 8.513E-07, -3.557E-03, \
-5.931E-01, 4.617E-01, 1.054E-05, 1.299E-03, 1.805E+03, 1.963E+03, \
678 / 769

OLGA 7

4.841E+02, -3.884E+05, 2.738E-02, 1.379E-01, 2.284E-02, 3.816E+02, \


-7.810E+02)
PVTTABLE POINT = (1,2,)

PVTTABLE POINT = (1,5,..)

)
PVTTABLE POINT = (5,1,..)

)
PVTTABLE POINT = (5,5,)

Example 2: Two-phase, freepressure mesh type


PVTTABLE LABEL = FLUID-1, PHASE = TWO, \
COMPONENTS =(N2,CO2,C1,C2, C3, IC4, NC4, IC5,NC5, C6,C7) ,\
MOLES = ( 4.64,3.02,65.39,5.04,2.97,0.90,1.72,0.85,0.84,1.6,13.03) ,\
MOLWEIGHT = (28.0,44.01,16.04,30.1,44.1,58.1,58.1,72.1,72.1,86.2,154.3) ,\
DENSITY = (0,0,0,0,0,0,0,0,0,0,0.789) g/cm3 ,\
STDPRESSURE = 1 ATM, \
STDTEMPERATURE = 15.5 C, \
GLR = 768 SM3/SM3, \
STDGASDENSITY = 1.0 KG/M3, \
STDOILDENSITY = 787.7 KG/M3 ,\
DEWTEMPERATURE = ( 281.27,285.66,291.15,296.62,302.03, \
307.32,312.44,317.28,321.74,325.65, \
328.81,330.91,331.56,331.54,330.50, \
327.48,321.73,312.37,298.41,278.85, \
261.62,247.00,228.69,213.56,194.95, \
179.74,170.39,160.41,156.59) C, \
DEWPRESSURE = (5.00,5.99,7.50,9.39,11.74,14.67,18.32,22.87, \
28.55,35.65,44.57,55.79,67.71,70.01,84.78, \
102.96,125.37,152.53,184.55,220.92, \
247.76,267.66,289.40,304.96,321.31, \
332.46,338.34,343.81,345.68) BARA, \
BUBBLETEMPERATURE=( 139.72,125.96,112.46,103.52,92.67, \
73.39, 54.56, 36.12, 26.85,22.85, \
18.85, 18.00, 14.85, 10.85, 6.85,\
2.85, 0.09, -1.15,- 5.15,-9.15,\
-13.15,-17.78,-32.86) C, \
BUBBLEPRESSURE=( 352.44,356.11,358.07,358.44,357.88, \
354.02,346.52,335.35,328.21,324.81, \
321.20,320.41,317.39,313.36,309.13, \
304.68,301.49,300.01,295.12,290.00. \
284.65,278.16,254.79) BARA, \
CRITICALPESSURE (345.68) BARA, \
CRITICALTEMPERATURE = 156.59 C, \
MESHTYPE = FREEPRES, \
!
! temperature points are specified here.
! number of pressure points and pressure values can be different for
! (be dependent on) different temperature points.
! number of pressure points for each of the temperature points are given here
!..the pressure values are given in subkey POINT
679 / 769

OLGA 7

TEMPERATURE =(1.0,2.0,3.0,4.0,5.0) C,\


NOPRES =(5,5,5,5,6),\
COLUMNS =(PT BARA, TM C,ROG KG/M3, ROHL KG/M3, DROGDP, DROHLDP, \
DROGDT,DROHLDT,RS,VISG,VISHL,CPG,CPHL,HG,HHL,TCG, \
TCHL,SIGGHL,SEG,SEHL)
! first temp. point contains five pressure points ranging from 1 to 10 bara
PVTTABLE POINT = (1.0,1.0, 9.628E-01, 7.919E+02, 9.666E-06, 8.513E-07, \
-3.557E-03,-5.931E-01,4.617E-01, 1.054E-05, 1.299E-03, \
1.805E+03, 1.963E+03, 4.841E+02, -3.884E+05, 2.738E-02, \
1.379E-01, 2.284E-02, 3.816E+02, -7.810E+02)
PVTTABLE POINT = (2.0,1.0,)
PVTTABLE POINT = (3.0,1.0,)
PVTTABLE POINT = (5.0,1.0,)
PVTTABLE POINT = (10.0,1.0,)
!
! more temperature points. Each has five pressure points.
!

!
!last temperature point contains six pressure points
!
PVTTABLE POINT = (1.0,5.0,..)
PVTTABLE POINT = (5.0,5.0,..)
PVTTABLE POINT = (6.0,5.0,..)
PVTTABLE POINT = (7.0,5.0,..)
PVTTABLE POINT = (8.0,5.0,..)
PVTTABLE POINT = (9.0,5.0,..)

Example 3: Two-phase, freetemperature mesh type


PVTTABLE LABEL = FLUID-1, PHASE = TWO, \
COMPONENTS =(N2,CO2,C1,C2, C3, IC4, NC4, IC5,NC5, C6,C7) ,\
MOLES = ( 4.64,3.02,65.39,5.04,2.97,0.90,1.72,0.85,0.84,1.6,13.03),\
MOLWEIGHT = (28.0,44.01,16.04,30.1,44.1,58.1,58.1,72.1,72.1,86.2,154.3),\
DENSITY = (0,0,0,0,0,0,0,0,0,0,0.789) g/cm3, \
STDPRESSURE = 1 ATM, \
STDTEMPERATURE = 15.5 C, \
GLR = 768 SM3/SM3, \
STDGASDENSITY = 1.0 KG/M3, \
STDOILDENSITY = 787.7 KG/M3, \
DEWTEMPERATURE = ( 281.27,285.66,291.15,296.62,302.03,\
307.32,312.44,317.28,321.74,325.65,\
328.81,330.91,331.56,331.54,330.50,\
327.48,321.73,312.37,298.41,278.85,\
261.62,247.00,228.69,213.56,194.95,\
179.74,170.39,160.41,156.59) C, \
DEWPRESSURE = (5.00,5.99,7.50,9.39,11.74,14.67,18.32,\
22.87,28.55,35.65,44.57,55.79,67.71,70.01, \
84.78,102.96,125.37,152.53,184.55,220.92, \
247.76,267.66,289.40,304.96,321.31, \
332.46,338.34,343.81,345.68) BARA, \
BUBBLETEMPERATURE=(139.72,125.96,112.46,103.52,92.67,\
73.39,54.56, 36.12, 26.85,22.85, \
680 / 769

OLGA 7

18.85,18.00, 14.85, 10.85, 6.85,\


2.85,0.09, -1.15,- 5.15,-9.15,\
-13.15,-17.78,-32.86) C, \
BUBBLEPRESSURE=( 352.44,356.11,358.07,358.44,357.88, \
354.02,346.52,335.35,328.21,324.81, \
321.20,320.41,317.39,313.36,309.13, \
304.68,301.49,300.01,295.12,290.00, \
284.65,278.16,254.79) BARA, \
CRITICALPRESSURE (345.68) BARA, \
CRITICALTEMPERATURE = 156.59 C, \
!
! Pressure points are specified here.
! Number of temperature points and temperature values can change for
! (be dependent on) different pressure points.
! Number of temperature points for each of the pressure points are given here
!..The temperature values are given in subkey POINT
MESHTYP = FREETEMP, \
PRESSURE =(1.0,2.0,3.0,4.0,5.0) BARA,\
NOTEMP =(5,5,5,5,6),\
COLUMNS =(PT BARA, TM C, ROG KG/M3, ROHL KG/M3, DROGDP, \
DROHLDP,DROGDT,DROHLDT,RS,VISG,VISHL,CPG,CPHL,HG, \
HHL,TCG,TCHL,SIGGHL,SEG,SEHL)
! First pressure point contains five temperature points
! Temperature ranging from 1 to 20 C
PVTTABLE POINT = (1.0, 1.0, 9.628E-01, 7.919E+02, 9.666E-06, 8.513E-07, \
-3.557E-03,-5.931E-01, 4.617E-01, 1.054E-05, 1.299E-03, \
1.805E+03, 1.963E+03, 4.841E+02,-3.884E+05, 2.738E-02, \
1.379E-01, 2.284E-02, 3.816E+02, -7.810E+02)
PVTTABLE POINT = (1.0, 2.0,)
PVTTABLE POINT = (1.0, 4.0,)
PVTTABLE POINT = (1.0,10.0,)
PVTTABLE POINT = (1.0,20.0,)
!
! more pressure points. Each has five temperature points.
!

!
!last pressure point contains six temperature points
!
PVTTABLE POINT = (5.0, 1.0,..)
PVTTABLE POINT = (5.0, 5.0,..)
PVTTABLE POINT = (5.0,13.0,..)
PVTTABLE POINT = (5.0,14.0,..)
PVTTABLE POINT = (5.0,15.0,..)
PVTTABLE POINT = (5.0,20.0,..)
Example 4: Three-phase, Standard mesh type
PVTTABLE LABEL = FLUID-1, PHASE = THREE, \
COMPONENTS =(N2,CO2,C1,C2, C3, IC4, NC4, IC5,NC5, C6,C7) ,\
MOLES = ( 4.64,3.02,65.39,5.04,2.97,0.90,1.72,0.85,0.84,1.6,13.03),\
MOLWEIGHT = (28.0,44.01,16.04,30.1,44.1,58.1,58.1,72.1,72.1,86.2,154.3)
DENSITY = (0,0,0,0,0,0,0,0,0,0,0.789) g/cm3
681 / 769

OLGA 7

STDPRESSURE = 1 ATM, \
STDTEMPERATURE = 15.5 C, \
GLR = 768 SM3/SM3, \
STDGASDENSITY = 1.0 KG/M3, \
STDOILDENSITY = 787.7 KG/M3, \
STDWATDENSITY = 998. KG/M3, \
DEWTEMPERATURE = ( 281.27,285.66,291.15,296.62,302.03,\
307.32,312.44,317.28,321.74,325.65,\
328.81,330.91,331.56,331.54,330.50,\
327.48,321.73,312.37,298.41,278.85,\
261.62,247.00,228.69,213.56,194.95,\
179.74,170.39,160.41,156.59) C, \
DEWPRESSURE = (
5.00, 5.99, 7.50, 9.39, 11.74 ,\
14.67, 18.32, 22.87, 28.55, 35.65, \
44.57, 55.79, 67.71, 70.01, 84.78, \
102.96,125.37,152.53,184.55,220.92, \
247.76,267.66,289.40,304.96,321.31, \
332.46,338.34,343.81,345.68) BARA, \
BUBBLETEMPERATURE=( 139.72,125.96,112.46,103.52,92.67,\
73.39, 54.56, 36.12, 26.85,22.85, \
18.85, 18.00, 14.85, 10.85, 6.85,\
2.85, 0.09, -1.15,- 5.15,-9.15,\
-13.15,-17.78,-32.86) C, \
BUBBLEPRESSURE=( 352.44,356.11,358.07,358.44,357.88, \
354.02,346.52,335.35,328.21,324.81, \
321.20,320.41,317.39,313.36,309.13, \
304.68,301.49,300.01,295.12,290.00, \
284.65,278.16,254.79) BARA, \
CRITICALPRESSURE (345.68) BARA, \
CRITICALTEMPERATURE = 156.59 C, \
MESHTYPE = STANDARD, \
!
!both temperature points and pressure points are fixed
!
TOTWATERFRACTION = 0.112, \
WC=.489380E-02,\
TEMPERATURE =(1,2,3,4,5) C,\
PRESSURE = (1,2,3,4,5) BARA, \
COLUMNS = (PT,TM,ROG,ROHL,ROWT,DROGDP,DROHLDP,DROWTDP,DROGDT,DROHLDT,
\
DROWTDT,RS,RSW,VISG,VISHL,VISWT,CPG,CPHL,CPWT,HG,HHL,HWT,TCG, \
TCHL,TCWT,SIGGHL,SIGGWT,SIGHLWT,SEG,SEHL,SEWT)
!
PVTTABLE POINT = (1,1,.112510E+01,.708593E+03,.677649E+03,.113188E-04, \
.520848E-06,.156303E-06,-.418187E-02,-.332632E+00,.535346E+00, \
.372160E-01,.182867E-02,.979882E-05,.591224E-02,.263150E-02, \
.176425E+04,.202253E+04,.449390E+04,.731026E+02,-.345943E+06, \
-.196628E+07,.248102E-01,.148744E+00,.570657E+00,.118942E-01, \
.755188E-01,.544038E-01,.435748E+03,-.631419E+03,-.537537E+04)
PVTTABLE POINT = (1,2,)

PVTTABLE POINT = (1,5,..)

)
PVTTABLE POINT = (5,1,..)

682 / 769

OLGA 7

)
PVTTABLE POINT = (5,5,)

683 / 769

OLGA 7

Standard conditions for keyword based PVT file


STDPRESSURE and STDTEMPERATURE in the PVT table file (keyword format) are the standard
pressure and temperature given in PVTsim when creating the file, while GOR, GLR, STDGASDENSITY,
STDOILDENSITY, STDWATDENSITY and WC (the two latter only for 3 phase table files) are the
properties at this standard condition. These values have not been used in previous OLGA versions, but
are used in Olga 6.2 and Olga 5.3.4 for input (e.g. GORST in WELL) and output (e.g. QGST - Gas
volume flow at standard conditions).
This will give more precise results in simulations where e.g. GORST in WELL is used and the table is
coarse around the standard conditions (e.g. if the two lowest pressure is 0.1 and 10 bara) since the gas
mass fraction is not linear with pressure for such low pressures.
A new key STDLIQDENSITY will be introduced in the next PVTsim version. This gives the standard
density of liquid water and hydrocarbons (HC) in the case where a two phase PVT file is generated from
a composition with water. STDOILDENSITY is the density for HC only and thus does not contain the
necessary information.
If the keys are not present (removed manually since always written), linear interpolation between the
pressure and temperature points will be used as before. Note that the given STDPRESSURE and
STDTEMPERATURE will be used for both input and output instead of the default values of 1 atm and
15.56 C/60 F.

684 / 769

OLGA 7

Standard format for fluid properties


The fluid properties are given as functions of pressure and temperature. This table of properties can be
equidistant or non-equidistant in pressure and temperature. A more refined interpolation in the fluid
property tables close to the two-phase envelope is performed only for the gas mass fraction utilising the
bubble point pressure given in the file. The dew point pressures are not used in the present OLGA
version. Figure A shows the above mentioned two-phase envelope as a function of pressure and
temperature.
If OLGA is used with the water option, water properties are also needed. These properties may be given
as tables in the fluid properties file, or may be calculated by the code itself. This is determined by the
text, in the fluid identifier, FLUIDF, given in the fluid properties file.
If the fluid contains water and it is decided to use the two phase option in OLGA, only two-phase tables
for fluid properties must be used. Liquid properties must be for the mixture of oil and water.
The partial derivatives of gas and liquid densities with respect to pressure and temperature are required
as separate tables. The reason is that the partial derivatives should be those of the isolated phase, gas
or liquid, at the actual thermodynamic conditions. These cannot be obtained from the densities by
interpolation in the tables since the partial derivatives in that case would also include phase mass
transfer/changes in phase compositions.
Remarks: -The gas mass fraction may not be zero for pressures above the bubble point pressure
due to linear interpolation in the tables. For pressures above the bubble point pressure,
the gas mass fraction calculated from the tables will, however, always be set to zero.
Indicators for the fluid file content:
The interpretation of tables in the fluid properties file is determined from:
1.

Whether there is more than one fluid.

2.

The content of the fluid identifier, FLUIDF, as follows:


If the sub-string "WATER-OPTION" is present, three phase tables are expected in the file.
If the sub-string "NONEQ" is present, non-equidistant spacing in the tables are expected.
If the sub-string "ENTROPY" is present, entropy tables for gas, oil and eventually water are
expected.

The input variables FILEID, NCOMP and LC can be collectively omitted for single branch cases.
Variables:

Name
Unit
Definition
[FILEID]
File identification (60 characters)
[NCOMP]
Number of fluids in this file.
The following data are repeated for each fluid:
FLUIDF
(-)
Fluid identifier enclosed in apostrophes.
If FLUIDF contains the sub-string WATER-OPTION, NONEQ
or ENTROPY the tables will be
read as explained above.
[LC]
Fluid label The label must be unique and may be a number or a
text
string.
(LAB_1,LAB_2,
... ,LAB_NCOMP)
NTABP
(-)
Number of pressure points in the table
NTABT
(-)
Number of temperature points in the table
685 / 769

OLGA 7

RSWTOTB

(kg/kg)

DP

(N/m2)
(C)

DT
PP(I)
TT(J)
PBB(J)
PDEW(J)

Total water mass fraction for the feed. Optionally, default value
= 0 (Only used together with three-phase tables)
Pressure step in the table
Temperature step in the table

(N/m2)
(C)

Pressure values in the table, I=1,NTABP

(N/m2)
(N/m2)

Bubble point pressures, J = 1, NTABT

(kg/m3)
(kg/m3)

Oil densities

(s2/m2)
(s2/m2)

Partial derivatives of gas densities with respect to pressure

Temperature values in the table, J = 1, NTABT

Dew point pressures, J = 1, NTABT


For temperatures in the table which indicate single phase flow
for the whole range of pressures (all points are outside the
two phase envelope for a specific temperature, see Figure A),
the corresponding bubble point pressures must be greater than
the largest pressure point in the tables. The dew point
pressures are not used in the present OLGA version
TABTEX(L)
(-)
Text string to identify the different properties.
NB! For all tables below, J = 1, NTABT and I = 1, NTABP
ROGTB(J,I)
Gas densities
(kg/m3)
ROOTB(J,I)
ROWTB(J,I)
DRGPTB(J,I)
DROPTB(J,I)

Water densities
Partial derivatives of oil densities with respect to pressure

DRWPTB(J,I)

Partial derivatives of water densities with respect to pressure.


(s2/m2)
DRGTTB(J,I) (kg/m3C) Partial derivatives of gas densities with respect to temperature

DROTTB(J,I)
DRWTTB(J,I)
RSGTB(J,I)

RSWTB(J,I)
VSGTB(J,I)

(kg/m3C) Partial derivatives of oil densities with respect to temperature


(kg/m3C) Partial derivatives of water densities with respect to
temperature.
(kg/kg)
Gas mass fraction in gas and oil mixture; the gas mass divided
by the gas and oil mass. All values in this table must be set to a
constant (between 0 and 1) (for all points) in case of no
interphase mass transfer. ( = 0 gives single phase liquid, =1
gives single phase gas).
REMARK: The gas may also contain water vapour.
(kg/kg)
Water vapour mass fraction in the gas phase
Dynamic viscosities for gas

VSOTB(J,I)

(Ns/m2)
(Ns/m2)

VSWTB(J,I)
CPGTB(J,I)

(Ns/m2)
(J/kgC)

Dynamic viscosities for water


Gas heat capacities at constant pressure

CPOTB(J,I)
CPWTB(J,I)
HGTB(J,I)
HOTB(J,I)
HWTB(J,I)
TKGTB(J,I)
TKOTB(J,I)
TKWTB(J,I)
SIGOGT(J,I)

(J/kgC)
(J/kgC)
(J/kg)
(J/kg)
(J/kg)
(W/mC)
()
(W/mC)
(N/m)

Oil heat capacities at constant pressure


Water heat capacities at constant pressure
Gas enthalpies
Oil enthalpies
Water enthalpies
Gas thermal conductivities
Oil thermal conductivities
Water thermal conductivities
Surface tension between gas and oil

Dynamic viscosities for oil

686 / 769

OLGA 7

SIGWGT(J,I)
SIGWOT(J,I)
SGTB(J,I)
SOTB(J,I)
SWTB(J,I)

(N/m)
(N/m)
(J/kgC)
(J/kgC)
(J/kgC)

Surface tension between gas and water


Surface tension between water and oil
Gas specific entropy
Oil specific entropy
Water specific entropy.

Figure A Example of the use of the bubble and dew point pressures in relation to the two-phase
envelope and the fluid property table points (NTABT=6 and NTABP=5).
The figure does not correspond to the tables of fluid properties used in the sample case.
Data file structure:
The data enclosed in brackets can collectively be omitted for single branch cases.
[FILEID]
[NCOMP]

The following data are repeated for each fluid composition.


The file heading for equidistant tables. Note that RSWTOTB is set to zero by OLGA if omitted:
FLUIDF
[LC]
NTABP NTABT RSWTOTB
DP
DT
PP(1) TT(1)
The file heading for non-equidistant tables. Note that RSWTOTB is set to zero by OLGA if omitted:
FLUIDF
[LC]
NTABP NTABT RSWTOTB
687 / 769

OLGA 7

PP(1) . . . . . . . . PP(NTABP)
TT(1) . . . . . . . . TT(NTABT)
The fluid property tables:
PBB(1) . . . . . . . . PBB(NTABT)
PDEW(1) . . . . . . . . PDEW(NTABT)
TABTEX(1)
ROGTB(1,1) . . . . . . . ROGTB(NTABT,1)
.
.
ROGTB(1,NTABP) . . . . . ROGTB(NTABT,NTABP)
TABTEX(2)
ROOTB(1,1) . . . . . . . ROOTB(NTABT,1)
.
.
ROOTB(1,NTABP) . . . . . ROOTB(NTABT,NTABP)
if FLUIDF contains substring WATER-OPTION, then
TABTEX(3)
ROWTB(1,1) . . . . . ROWTB(NTABT,1)
.
.
ROWTB(1,NTABP) . . . ROWTB(NTABT,NTABP)
end WATER-OPTION
TABTEX(4)
DRGPTB(1,1). . . . . . . DRGPTB(NTABT,1)
.
.
DRGPTB(1,NTABP). . . . . DRGPTB(NTABT,NTABP)
TABTEX(5)
DROPTB(1,1). . . . . . . DROPTB(NTABT,1)
.
.
DROPTB(1,NTABP). . . . . DROPTB(NTABT,NTABP)
if FLUIDF contains substring WATER-OPTION, then
TABTEX(6)
DRWPTB(1,1). . . . . . . DRWPTB(NTABT,1)
.
.
DRWPTB(1,NTABP). . . . . DRWPTB(NTABT,NTABP)
end WATER-OPTION
TABTEX(7)
DRGTTB(1,1). . . . . . . DRGTTB(NTABT,1)
.
.
DRGTTB(1,NTABP). . . . . DRGTTB(NTABT,NTABP)
TABTEX(8)
DROTTB(1,1). . . . . . . DROTTB(NTABT,1)
.
.
DROTTB(1,NTABP). . . . . DROTTB(NTABT,NTABP)
688 / 769

OLGA 7

if FLUIDF contains substring WATER-OPTION, then


TABTEX(9)
DRWTTB(1,1). . . . . . . DRWTTB(NTABT,1)
.
.
DRWTTB(1,NTABP). . . . . DRWTTB(NTABT,NTABP)
end WATER-OPTION
TABTEX(10)
RSGTB(1,1). . . . . . . RSGTB(NTABT,1)
.
.
RSGTB(1,NTABP). . . . . RSGTB(NTABT,NTABP)
if FLUIDF contains substring WATER-OPTION, then
TABTEX(11)
RSWTB(1,1) . . . . . . . RSWTB(NTABT,1)
.
.
RSWTB(1,NTABP) . . . . . RSWTB(NTABT,NTABP)
end WATER-OPTION
TABTEX(12)
VSGTB(1,1) . . . . . . . VSGTB(NTABT,1)
.
.
VSGTB(1,NTABP) . . . . . VSGTB(NTABT,NTABP)
TABTEX(13)
VSOTB(1,1) . . . . . . . VSOTB(NTABT,1)
.
.
VSOTB(1,NTABP) . . . . . VSOTB(NTABT,NTABP)
if FLUIDF contains substring WATER-OPTION, then
TABTEX(14)
VSWTB(1,1) . . . . . . . VSWTB(NTABT,1)
.
.
VSWTB(1,NTABP) . . . . . VSWTB(NTABT,NTABP)
end WATER-OPTION
TABTEX(15)
CPGTB(1,1) . . . . . . . CPGTB(NTABT,1)
.
.
CPGTB(1,NTABP) . . . . . CPGTB(NTABT,NTABP)
TABTEX(16)
CPOTB(1,1) . . . . . . . CPOTB(NTABT,1)
.
.
CPOTB(1,NTABP) . . . . . CPOTB(NTABT,NTABP)
if FLUIDF contains substring WATER-OPTION, then
TABTEX(17)
CPWTB(1,1) . . . . . . . CPWTB(NTABT,1)
689 / 769

OLGA 7

.
.
CPWTB(1,NTABP) . . . . . CPWTB(NTABT,NTABP)
end WATER-OPTION
TABTEX(18)
HGTB(1,1) . . . . . . . HGTB(NTABT,1)
.
.
HGTB(1,NTABP). . . . . . HGTB(NTABT,NTABP)
TABTEX(19)
HOTB(1,1) . . . . . . . HOTB(NTABT,1)
.
.
HOTB(1,NTABP). . . . . . HOTB(NTABT,NTABP)
if FLUIDF contains substring WATER-OPTION, then
TABTEX(20)
HWTB(1,1) . . . . . . . HWTB(NTABT,1)
.
.
HWTB(1,NTABP). . . . . . HWTB(NTABT,NTABP)
end WATER-OPTION
TABTEX(21)
TKGTB(1,1) . . . . . . . TKGTB(NTABT,1)
.
.
TKGTB(1,NTABP) . . . . . TKGTB(NTABT,NTABP)
TABTEX(22)
TKOTB(1,1) . . . . . . . TKOTB(NTABT,1)
.
.
TKOTB(1,NTABP) . . . . . TKOTB(NTABT,NTABP)
if FLUIDF contains substring WATER-OPTION, then
TABTEX(23)
TKWTB(1,1) . . . . . . . TKWTB(NTABT,1)
.
.
TKWTB(1,NTABP) . . . . . TKWTB(NTABT,NTABP)
end WATER-OPTION
TABTEX(24)
SIGOGT(1,1). . . . . . . SIGOGT(NTABT,1)
.
.
SIGOGT(1,NTABP). . . . . SIGOGT(NTABT,NTABP)
if FLUIDF contains substring WATER-OPTION, then
TABTEX(25)
SIGWGT(1,1) . . . . . . . SIGWGT(NTABT,1)
.
.
690 / 769

OLGA 7

SIGWGT(1,NTABP) . . . . . SIGWGT(NTABT,NTABP)
TABTEX(26)
SIGWOT(1,1) . . . . . . . SIGWOT(NTABT,1)
.
.
SIGWOT(1,NTABP) . . . . . SIGWOT(NTABT,NTABP)
end WATER-OPTION
if FLUIDF contains substring ENTROPY, then
TABTEX(27)
SGTB(1,1) . . . . . . . SGTB(NTABT,1)
.
.
SGTB(1,NTABP). . . . . . SGTB(NTABT,NTABP)
TABTEX(28)
SOTB(1,1) . . . . . . . SOTB(NTABT,1)
.
.
SOTB(1,NTABP). . . . . . SOTB(NTABT,NTABP)
if FLUIDF also contains substring WATER-OPTION, then
TABTEX(29)
SWTB(1,1) . . . . . . . SWTB(NTABT,1)
.
.
SWTB(1,NTABP) . . . . . SWTB(NTABT,NTABP)
end WATER-OPTION
end if
The entropy data will be used if a Henry-Fauske type critical flow model is chosen for the flow through a
valve. If the entropy is not given, the entropy data will be computed by the code.
The tables for heat capacity, enthalpy and thermal conductivity are used only for temperature
calculations.
The water tables are used only if the water option is used.
Examples of fluid property tables are given electronically with the OLGA software package.

691 / 769

OLGA 7

Complex fluid module


The liquid viscosity table in the fluid properties file plays different, but related, roles in the three different
rheology models in the complex fluid module.
1. The Newtonian option (TYPE=COMPLEXFLUID and CFLUML=NEWTONIAN in the FLUID
keyword) yields the original interpretation.
2. The power law model (TYPE=COMPLEXFLUID and CFLUML=POWERLAW in the FLUID keyword)
yields the consistency factor, K.
3. The Bingham fluid model (TYPE=COMPLEXFLUID and CFLUML=BINGHAM in the FLUID keyword)
yields the coefficient of rigidity.
If simplified input is used (FULL=NO in the FLUID keyword), the non-Newtonian parameters are used at
the in situ shear stress to calculate the effective viscosity of the fluid at standard conditions. In order to
obtain the effective viscosity of the fluid at pipeline conditions, the effective viscosity at standard
conditions have to be multiplied by the ratio of the viscosity (as given in the viscosity table in the fluid
data file) at pipeline conditions and standard conditions.
The fluid identifier FLUIDF, see Standard format for fluid properties, have to include certain text
strings in order to enable OLGA to interpret the fluid property file correctly. The strings required are
explained below.
POWEXPL:
The fluid property file contains a table of the power law exponent for the oil phase.
POWEXPW:
The fluid property file contains a table of the power law exponent for the water
phase.
YIELDSTRL:
The fluid property file contains a table of yield stress for the oil phase.
YIELDSTRW: The fluid property file contains a table of yield stress for the water phase.
The text string that identifies the different properties TABTEX(), see Standard format for fluid
properties, also have to include the same text strings as described above.
Example:
TABTEX(:)
VSOTB(1,1)
:
VSOTB(1,NTABP)

...
...

VSOTB(NTABT,1)
:
VSOTB(NTABT,NTABP)

if FLUIDF contains substring WATER-OPTION, then


TABTEX(:)
VSWTB(1,1)
. . . VSWTB(NTABT,1)
:
:
VSWTB(1,NTABP) . . . VSWTB(NTABT,NTABP)
end WATER-OPTION
if FLUIDF contains substring POWEXPL, then
TABTEX(:)
POWNTB(1,1)
. . . POWNTB(NTABT,1)
:
:
POWNTB(1,NTABP) . . . POWNTB(NTABT,NTABP)
end
if FLUIDF contains substring YIELDSTRL, then
TABTEX(:)
692 / 769

OLGA 7

TAUITB(1,1)
:
TAUITB(1,NTABP)
end

...
...

TAUITB(NTABT,1)
:
TAUITB(NTABT,NTABP)

if FLUIDF contains substring POWEXPW, then


TABTEX(:)
POWNWTB(1,1)
. . . POWNWTB(NTABT,1)
:
:
POWNWTB(1,NTABP) . . . POWNWTB(NTABT,NTABP)
end
if FLUIDF contains substring YIELDSTRW, then
TABTEX(:)
TAUIWTB(1,1)
. . . TAUIWTB(NTABT,1)
:
:
TAUIWTB(1,NTABP) . . . TAUIWTB(NTABT,NTABP)
end
TABTEX(:)
CPGTB(1,1)
:
CPGTB(1,NTABP)

...
...

CPGTB(NTABT,1)
:
CPGTB(NTABT,NTABP)

693 / 769

OLGA 7

Pump Data Files


Pump Data Table for Centrifugal Pumps
Pump Data Table for Displacement Pumps

694 / 769

OLGA 7

Pump Data Table for Centrifugal Pumps


The pump characteristics for the centrifugal pump are presented in the form of four quadrant curves.
These curves are empirically developed by the pump manufacturer. The four quadrant curves must be
converted to a dimensionless form by the development of homologous curves where the head and
torque ratios (actual value to rated value) are functions of the pump speed and flow rate ratios. In order
to interpret the homologous curves, the following variables are defined:
- head ratio

- flow ratio

- speed ratio
- torque ratio
where subscript R means rated value. Four sets of homologous curves are tabulated:
1.
2.
3.
4.

Single phase head HS


Two phase head HT
Single phase torque THS
Two phase torque THT

Each set of homologous curves consists of four curves, comprised of two dependent variables each as
function of two independent variables. A more detailed description is given under Pumps .
The transfer from single phase to fully degraded two phase conditions is described by the two phase
head and two phase torque multipliers.
A complete default set of homologous curves is tabulated in the code. These are based on experimental
data and are representative for centrifugal pumps. However, the users can change these data easily by
specifying their own experimental or model-specific data through the pump data table.
The structure of the table is as shown in the example below. The reading of the input is based on
keywords, but the sequence of the keywords must be as shown in the example. For the independent
variables, the keyword QOMEG is used for q/ and the keyword OMEGQ is used for /q. For each
table, the number of dependent and independent variable entries must be the same.
!*************************************************************************************************
!
Pump type and label
!*************************************************************************************************
TYPE = CENTRIFUGAL, LABEL = Label of the table
!
!*************************************************************************************************
!
Table for single phase head HS
!*************************************************************************************************
!
HS1
QOMEG = (x1, x2, , xHS1)
HEADS1 = (y1, y2, , YHS1)
!
HS2
OMEGQ = (x1, x2, , xHS2)
HEADS2 = (y1, y2, , YHS2)
!
HS3
OMEGQ = (x1, x2, , xHS3)
HEADS3 = (y1, y2, , YHS3)
!
HS4
QOMEG = (x1, x2, , xHS4)
695 / 769

OLGA 7

HEADS4 = (y1, y2, , YHS4)


!
!*************************************************************************************************
!
Table for two phase head HT
!*************************************************************************************************
!
HT1
QOMEG = (x1, x2, , xHT1)
HEADT1 = (y1, y2, , YHT1)
!
HT2
OMEGQ = (x1, x2, , xHT2)
HEADT2 = (y1, y2, , YHT2)
!
HT3
OMEGQ = (x1, x2, , xHT3)
HEADT3 = (y1, y2, , YHT3)
!
HT4
QOMEG = (x1, x2, , xHT4)
HEADT4 = (y1, y2, , YHT4)
!
!*************************************************************************************************
!
Table for single phase torque THS
!*************************************************************************************************
!
THS1
QOMEG = (x1, x2, , xTHS1)
TORQS1 = (y1, y2, , YTHS1)
!
THS2
OMEGQ = (x1, x2, , xTHS2)
TORQS2 = (y1, y2, , YTHS2)
!
THS3
OMEGQ = (x1, x2, , xTHS3)
TORQS3 = (y1, y2, , YTHS3)
!
THS4
QOMEG = (x1, x2, , xTHS4)
TORQS4 = (y1, y2, , YTHS4)
!
!*************************************************************************************************
!
Table for two phase torque THT
!*************************************************************************************************
!
THT1
QOMEG = (x1, x2, , xTHT1)
TORQS1 = (y1, y2, , YTHT1)
!
THT2
OMEGQ = (x1, x2, , xTHT2)
TORQS2 = (y1, y2, , YTHT2)
!
THT3
OMEGQ = (x1, x2, , xTHT3)
TORQS3 = (y1, y2, , YTHT3)
!
THT4
QOMEG = (x1, x2, , xTHT4)
TORQS4 = (y1, y2, , YTHT4)
!
!*************************************************************************************************
696 / 769

OLGA 7

!
Table for two phase head multiplier
!*************************************************************************************************
VOID = (x1, x2, , xHV)
HEADM = (y1, y2, , YHV)
!
!*************************************************************************************************
!
Table for two phase torque multiplier
!*************************************************************************************************
VOID = (x1, x2, , xTV)
TORQM = (y1, y2, , YTV)
!
!*************************************************************************************************
!
End of the table
!*************************************************************************************************
END
!
NOTE ! The number of elements for each curve is limited to 10.

697 / 769

OLGA 7

Pump Data Table for Displacement Pumps


The back flow rate, Qb , is a function of PI , DP, aI, nl , and N.
In order to define Qb a complete table with 5 independent variables and one dependent variable should
be defined. Linear interpolation is used to calculate the Qb-value and its partial derivatives at the
operating point.
The default units of the variables in the table:
PI,
- Pa;
Pump inlet pressure
DP
- Pa;
Pump pressure increase
3
Qb
- m / s; Volumetric back flow
nl
- m2 / s; Liquid kinematic viscosity
aI
- (-);
Gas volume fraction
N
- rpm.
Pump speed
The units can also be specified by users.
The structure of the table is as shown in the example below. The reading of the input is based on
keywords, but the sequence of the keywords must be as shown in the example.
The structure of the table is:
!*************************************************************************
!
Pump type and label
!*************************************************************************
TYPE = DISPLACEMENT, LABEL = Label of the table
!
!*************************************************************************
!
First pump speed (1)
!------------------------------------------------------------------------------------PUMPSPEED
= N1
!
!*************************************************************************
!
First suction pressure (2)
!------------------------------------------------------------------------------------INPRESSURE = Pl,1
!
!*************************************************************************
!
Lists of voidfractions and deltap for first pump speed and
!
suction pressure. (3)
!------------------------------------------------------------------------------------VOIDFRACTION
= (aI,1, aI,2, , aI,J)
!
DELTAP
= (DP1, DP2, , DPK)
!
!*************************************************************************
!
First viscosity (4).
!
!
For each viscosity back flow is listed as function of void!
fraction and DP. Each BACKFLOW entry is for one
!
DP and runs over all voidfractions.
!------------------------------------------------------------------------------------VISCOSITY
= nl,1
698 / 769

OLGA 7

!
BACKFLOW
BACKFLOW
:
:

= (Qb,1,1, Qb,1,2, , Qb,1,J)


= (Qb,2,1, Qb,2,2, , Qb,2,J)

BACKFLOW
= (Qb,K,1, Qb,K,2, , Qb,K,J)
!
!*************************************************************************
!
Second viscosity.
!------------------------------------------------------------------------------------VISCOSITY
= nl,2
:
:
!
!*************************************************************************
!
(2)+(3)+(4) is repeated for each suction pressure
!
associated with the first pump speed.
!
Different values for voidfraction, deltap and viscosity can
!
be used for each suction pressure.
!------------------------------------------------------------------------------------INPRESSURE
= Pl,2
!
:
:
!
!*************************************************************************
!
(1)+(2)+(3)+(4) is repeated for each pump speed.
!
Different values for suction pressure, voidfraction, deltap
!
and viscosity can be used for each suction pressure.
!------------------------------------------------------------------------------------PUMPSPEED
= N2
!
:
:
!*************************************************************************
! End of the table
!------------------------------------------------------------------------------------ENDTABLE
!
NOTE! The number of pump speeds and suction pressures is limited to 5, while the number of
voidfraction, deltap and viscosity entries is limited to 10.

699 / 769

OLGA 7

Restrictions and Limitations


Memory consumption
Fluid properties
Input/Output Limitations
Standard Conditions in OLGA
Two-Phase Model Limitations
Important Numerical Recommendations

700 / 769

OLGA 7

Memory consumption
OLGA will allocate memory for the simulation as needed. The memory usage will be a function of the
total number of pipe sections in the case, any special modules used (for instance: slug-tracking, inhibitor
tracking, compositional tracking) and to some extent the number of plot variables (TREND, PROFILE). In
particular, it is important to be aware that the amount of memory required during the simulation will
roughly be proportional to the total number of sections in the network. That is, double the number of
sections for a given case, and you will double the memory usage.
If the machine running the simulation is short on physical and virtual memory, this will ultimately lead to
an unexpected program termination.

701 / 769

OLGA 7

Fluid properties
All fluid properties are normally assumed to be unique functions of temperature and pressure, and have
to be input to OLGA in a particular file. Thus, the total composition (the mole fractions of the
components) of the multiphase mixture is assumed to be constant both in time and space. This limitation
is important for mixtures with pronounced compositional dependent properties. Note, however, that one
may use different fluid properties in different branches in a pipeline network. Network simulations are
special cases where total compositional changes in the pipeline may be important.
Due to the phase velocity differences, the fluid composition in a pipe is generally different from the fluid
compositions used in the PVT table (for example during the depressurisation of a pipeline). If only gas is
released from the pipe, the total composition in the pipe will change. Condensate may accumulate in the
lower parts of the pipe and result in large compositional differences between sections.
This difference will not affect the steady state results provided that the inlet flowing fluid has the same
composition as in the PVT table. In transient simulations the fluids in the pipes have different
compositions. Thus, changes in physical properties and equilibrium mass fractions due to changes in
temperature and pressure will be different from the values in the PVT table. These differences are
usually small.
As an alternative to PVT tables, it is possible to perform a simulation using compositional tracking, where
the compositional data is provided in a feed file and the code calculates the fluid properties internally.
This means that the total composition may vary both in time and space, and that no special
consideration is needed for a pipeline network. This procedure is also more accurate in simulations
where the fluid composition will change considerably with time, e.g., blowdown of pipelines. However,
compositional tracking is more CPU demanding and may prolong the simulation time significantly.
The gas and liquid phases are assumed to be in thermodynamic equilibrium; the temperature and
pressure are equal in both phases, and any interface mass transfer occurs instantaneously. The latter
has important implications for the pressure wave propagation (or speed of sound); if normal
condensation takes place, the mixture will appear too compressible in OLGA and the pressure wave
velocity will be smaller than if the mass transfer rate was finite.

702 / 769

OLGA 7

Input/Output Limitations
Input pre-processor
The input pre-processor that checks the input data for inconsistencies is not foolproof. Although the most
frequent input errors are found, there may be cases with faulty input that are not detected.
Initial value pre-processor
OLGA contains a steady state pre-processor, that computes values to be used as initial conditions in
dynamic computations. The pre-processor uses the OLGAS interface iteratively over all pipe sections to
calculate pressure gradients and other parameters in the flow network until a consistent steady-state
solution has been found.
However, the solution computed by the steady state pre-processor and the solution obtained when
simulation with the dynamic solver until a steady-state is achieved may not be equal. See limitations in
the steady state pre-processor chapter for an explanation for this.
Printed output
As this is a user specified quantity, care must be taken to avoid a paper or file explosion. The amount
of printed output is proportional to the number of output intervals and to the number of output variables
and sections specified in the keyword statement OUTPUT.
Output postprocessor
The output postprocessor summarizes the simulation results. Some of the information is dedicated to
steady state cases. Other items, like the minimum and maximum variable values, are interesting also for
transient simulations. The postprocessor will not give any information on any process equipment that is
simulated.
Plot file sizes
There are no formal program restrictions regarding the size of these files. The user implicitly controls the
size through the data specified in the keyword statements PLOT, TREND and PROFILE. The size is
determined by the number of variables, sections and output time intervals. The file size limitation will be
system dependent. For 32-bit operating systems, a rule-of-thumb says that files should not exceed 2GB.

703 / 769

OLGA 7

Standard Conditions in OLGA


Standard conditions are often defined in SI units as 1 bara and 15 C, but the default value in OLGA it
is defined as 1 atm/14.7 psia and 15.56 C/60 F. This definition is the most commonly used in the
petroleum industry. The default value can only be overridden when using keyword based PVT table.
Stock tank conditions are also used in the industry, but this phrase is often perceived to mean dry oil
and gas. Therefore, the term standard conditions is used in OLGA. Also, volume rates at standard
conditions are sometimes expressed as simply the in-situ mass rate divided by the density at standard
conditions (for liquid), but in OLGA this definition is not used.
Output variables for volume rates at standard conditions assume that a single stage flash from in-situ to
standard conditions has been performed. That is, mass transfer between the phases from in-situ to
standard conditions is taken into account. The gas is not dehydrated unless FLASHMODEL =
HYDROCARBON is specified in the keyword OPTIONS.
For table-based simulations, OLGA uses the gas mass fractions and densities from the fluid property file
to perform the conversion (requires that the tables contain standard conditions). For Compositional
tracking simulations a flash is performed for the in-situ fluid to standard conditions for each section and
time the output variables are to be reported. This can increase the simulation time as a flash is CPU
demanding, and such output variables should therefore be used with care for Compositional tracking
simulations.

704 / 769

OLGA 7

Flow Model Limitations


Generally, these limitations are difficult to assess. Their possible consequences, however, will normally
not be influenced by the user input.
An exception is the correlation for the void fraction in liquid slugs. An average correlation based on the
diesel, naphtha and stanco experiments at the SINTEF loop is applied by default. The actual correlation
quite significantly influences the transition from stratified to slug flow. The selected correlation yields
good agreement for all the above experiments. For air/water, another correlation should be applied and
OLGA provides an alternative which may be activated by specifying the key SLUGVOID in the keyword
OPTIONS.
Unless the slug tracking option is used, OLGA applies an average slug flow description. That is, if slug
flow is predicted at a section boundary, the flow parameters at that boundary, such as slug bubble
velocity and volume fraction, slug fraction, etc., are computed based on the assumption of fully
developed slug flow with an infinite number of identical slug cells. The detailed flow parameters at
another point along the pipeline will normally differ as the average flow parameters (pressure, hold-up,
etc.) differ. The average description implies that if slug flow occurs in two adjacent sections, the detailed
slug flow parameters at one section do not explicitly influence those in the section following it.
The flow history at a pipe location is to a small extent considered in the flow regime determination. For
example, if slug flow is predicted in an upward sloping pipe and stratified flow in a following downward
sloping pipe, all slugs die at the entrance of the latter pipe. In reality, slug flow may persist some
distance downstream since a slug needs some time to disintegrate. Eventually, one slug may proceed
downstream and cause liquid blockage at a bend in a riser connection with possible build-up of a terrain
slug. This special type of mechanism for the onset of terrain slugging is not represented in the standard
OLGA model. To simulate this phenomenon accurately the SLUGTRACKING model with
HYDRODYNAMIC=ON should be used.

705 / 769

OLGA 7

Important Numerical Recommendations


Time step
OLGA has time step control based on several criteria. They can all be given at user specified sections
through the keyword statement DTCONTROL.
The first time step control is based on the transport criterion of Courant-Friedrich-Levy (CFL):
This criterion is by default switched on. This means that the time step is limited so that no mass is trans
ported across a whole section in one time step. This is the maximum time step allowed if a mass
transient is to be followed correctly.
The second time step control, SOUND_CFL, (default OFF) uses the same principles as the CFL but is
based on the speed of the pressure wave instead of the fluid velocity. It has been introduced to better
calculate shock waves (e.g. due to water hammer).
The third time step control, PRESSURE, (default OFF) is based on the second order time derivative of
the pressure.
The fourth time step control, GRADPRESSURE, (default OFF) is based on the first order time derivative
of the pressure. This has been introduced to be able to reduce the time step earlier for quick pressure
changes, e.g. a pipeline with high pressure is opened into a small closed volume.
If all time step control criteria are switched on, OLGA will choose the minimum time step from the
activated time steps controls. The upper and lower limit for the time step is the user-given MINDT and
MAXDT in the keyword statement INTEGRATION.
Additional time step controls are activated when process equipment is simulated, or the slug tracking
option is activated.
Section Lengths
For a pipeline of fixed length the simulation time increases roughly quadratically with the number of
sections in the pipeline. First, the number of arithmetic operations per time step increases proportionally
to the number of sections. Second, the time step decreases with decreasing section length if the CFL
transport criterion is switched on.
The accuracy of the solution increases with smaller sections but in a complex manner that is difficult to
estimate quantitatively. The numerical solution should, however, approach the analytical one as and
approach zero.
Variable Mesh Length
Past experience indicates that the section lengths should not differ too much along the pipeline. A factor
of 2 or less in length ratio between adjacent sections is recommended although factors of 5-10 might
work in some cases.
Pipe-Section Discretisation
In general, if either the inclination angle or the diameter of the pipes varies, each pipe should be divided
into at least two sections to ensure meaningful results, i.e. to reduce numerical 'smearing out' of these
effects.
Wall Layer Thickness
The numerical solution of the wall temperatures in the wall layers is dependent on the wall layer
discretisation. For steady state calculations, the wall layer discretisation can be quite coarse, one layer
for each material layer.
For transient calculations when the heat storage in the pipe walls can be important (cool down or heat
up) a finer discretisation of the pipe walls may be necessary.
706 / 769

OLGA 7

up) a finer discretisation of the pipe walls may be necessary.


Very thin layers, such as paint etc., should be included in a neighbouring layer by adjusting the thickness
and conductivity of that layer. If the thermal conductivity of the thin layer is fairly close to the conductivity
of one of the neighbours, only the thickness needs to be adjusted.

707 / 769

OLGA 7

Sample cases
The OLGA 6 installation includes a set of sample cases. These are located in the
.\SPT Group\OLGA 6.2\Samples\OLGA 6 folder in the installation directory (by default this is either
C:\Program Files or C:\Program Files (x86) depending on the Windows installation). All sample projects
can also be started from the start menu (All Programs > SPT Group > OLGA 6.2 > OLGA 6 Samples).
The sample cases are organized in projects as follows:
Advanced Thermal project:
Fluid bundle
Solid bundle
Compositional project:
Blackoil
Compositional Tracking
MEG Tracking
CO2 Tracking (Single component)
H2O Tracking (Single component)
H2O Tracking (Steam/WaterHC)
Tracer Tracking
FA-Models project:
2nd-order scheme
Advanced Well
Corrosion
Drilling Fluid
Hydrate Kinetics
Network
Wateroptions
Waxdeposition
Pigging project:
Pigging (with and w/o tracking of slug and with and w/o compositional tracking)
Process project:
Process Equipment
PID Controller
Simplified Pump
Centrifugal Pump
Displacement Pump
Pump Battery
Separator
Source, Leak and Choke
Slugging project:
Start-up slug (with and w/o compositional tracking)
Hydrodynamic slugging (with and w/o compositional tracking)

708 / 769

OLGA 7

Sample case: 2nd-order scheme


The case Second-order-MEGsteps.opi illustrates the improved accuracy that can be achieved by
applying a 2nd-order scheme when solving the mass equations.
The pipeline is 100 m long with a 50 m gain in elevation. Initially, the first 100 m of the pipe is filled with
oil whereas the rest of the pipe is filled with water. Within the water, there are three regions with various
amounts of MEG, see Figure 1. As the simulation starts, oil is injected at the inlet, pushing the water out
of the pipeline. What should be noted are the differences in results when running the case using a 2ndorder scheme for the mass equations as compared to a 1st-order scheme. While numerical diffusion
rapidly smears out the MEG using the 1st-order scheme, pronounced peaks are preserved throughout
the simulation using the 2nd-order scheme, see Figure 2.

Figure 1 Initial MEG fractions.

Figure 2 MEG fractions 85 s into the simulation. The black curve is using a 1st-order scheme for the
mass equations whereas the red curve illustrates the use of a 2nd-order scheme.

Case Comments:
CaseDefinition:
OPTIONS: The discretization scheme applied when solving the mass equations is determined by the
key MASSEQSCHEME.
709 / 769

OLGA 7

FlowComponent:
FLOWPATH Boundary&InitialConditions INITIALCONDITIONS: The first 100 m of the pipe is
filled with oil whereas the rest of the pipe contains only water. Within the water, three regions containing
different amounts of MEG are set up.
FLOWPATH Boundary&InitialConditions SOURCE: The mass source is ramped up to a steady
mass flow of 53.34 kg/s over the first 8.5 seconds of the simulation. The source temperature is 30C.
FLOWPATH Piping: The branch is a single pipe, 1 km long with an elevation of 50 m.
FLOWPATH Output PROFILEDATA: Variables of interest are hold-ups and inhibitor fractions.
NODE: The inlet node is closed. The outlet boundary condition is set to a constant pressure of 4.5 MPa
and a temperature of 30C.
Output:
OUTPUT: OLGA variables are printed to the output file every 100 seconds.
TREND: Trend variables are plotted every 0.1 seconds.
PROFILE: Profile variables are plotted every 5 seconds.

710 / 769

OLGA 7

Sample case: Advanced well


The case AdvancedWell.opi demonstrates some of the features in the advanced well functionality. A
3500 m vertical well is producing from a gas reservoir through a 5.5" ID tubing. The formation has a
permeability of 500 mD and the Forchheimer inflow correlation is applied. This is a typical inflow
correlation for a gas reservoir where the non-linear behavior between the produced gas rate and flowing
bottom hole pressure is important.
A wellhead choke is placed at the last section boundary of the branch.

Case Comments:
CaseDefinition:
OPTIONS: The steady state pre-processor is deactivated. The heat transfer number outside the wall
have to be given.
INTEGRATION: The case is simulated form 0 to 5 hours with a maximum time step of 2 seconds. The
minimum time step is set to 0.001 seconds.
FlowComponent:
FLOWPATH Boundary&InitialConditions HEATTRANSFER: A linear ambient temperature
profile is used for the well. An overall heat transfer coefficient of 10 W/m2K has been used.
FLOWPATH Boundary&InitialConditions INITIALCONDITIONS: The pipeline is initialized with
gas at 30C. The mass flow is set to zero throughout the pipeline. The pressure is set to 400 bar at the
inlet, 300 bar at the outlet, and is interpolated vertically in between.
FLOWPATH Boundary&InitialConditions WELL: A gas well with reservoir pressure of 412 bara
and reservoir temperature of 43.5C is placed at the branch inlet. The well production is calculated using
the Forchheimer model and the linear model is used for injection. The reservoir permeability is 500 mD
and the net pay from the zone is 14 m. The mechanical skin is 3, and a turbulent non-Darcy skin of
0.01 1/mmscf/d is used.
FLOWPATH ProcessEquipment VALVE: A wellhead choke with 10% opening is placed at the
outlet.
NODE: The inlet node is closed and the inlet flow is specified with a productivity correlation based on
physical reservoir properties (see WELL). The outlet node is of type pressure. The boundary conditions
are constant through the simulation.
FLOWPATH Piping: The 3500 m long vertical well is described by 9 pipes.
Output:
OUTPUT: OLGA variables are printed to the output file every 10000 seconds.
TREND: Trend variables are plotted every 100 seconds.
PROFILE: Profile variables are plotted every 6000 seconds.
711 / 769

OLGA 7

Sample case: Blackoil


The case Blackoil.opi demonstrates the blackoil module. The case comprises of a single branch with
one ascending pipe. The pipeline is 400 meters long and has an elevation of 10 meters. The pipeline is
divided into 10 sections.

Case Comments:
CaseDefinition:
OPTIONS: To activate the blackoil module, the key COMPOSITIONAL has to be set to BLACKOIL.
INTEGRATION: The simulation end time is set to 100 seconds. The maximum and minimum time steps
are 5 s and 0.01 s, respectively.
Compositional:
BLACKOILCOMPONENT: One gas component and one oil component is defined. The oil component is
defined by a specific gravity of 0.8 whereas the gas component is defined by a specific gravity of 0.7.
The gas component is given a CO2 mole fraction of 0.1, and an N2 mole fraction of 0.02.
BLACKOILFEED: The BLACKOILFEED combines the two BLACKOILCOMPONENTs. The two
components are combined to give a GOR of 200 Sm3/Sm3 at standard conditions.
FlowComponent:
FLOWPATH Boundary&InitialConditions HEATTRANSFER: A constant ambient temperature of
6C and an ambient heat transfer coefficient of 6.5 W/m2K is used.
FLOWPATH Boundary&InitialConditions SOURCE: The source has a constant flow rate
throughout the simulation. The name of the fluid (feed) is given by the key FEEDNAME. The flow rate is
set to 1000 STB/d (in the FEEDSTDFLOW keyword).
FLOWPATH Output TRENDDATA: Pressure, volumetric oil holdup and volumetric water holdup
are plotted at the first and last section of the pipe. The overall content of oil, and overall content of water
are plotted. The content is given as cubic meters for the entire pipeline.
FLOWPATH Output OUTPUTDATA: Pressure, temperature, volumetric holdup, gas mass flow
and overall mass flow are written to the output file.
NODE: There is a mass source at the inlet, the inlet node is therefore closed. There is a constant
pressure condition at the outlet. The outlet node uses the BLACKOILFEED (set in the FEEDNAME
keyword).
Output:
OUTPUT: OLGA variables are printed to the output file every hour.
TREND: Trend variables are plotted every 15 seconds.
PROFILE: Profile variables are plotted every 5 minutes.
712 / 769

OLGA 7

PROFILEDATA: Pressure, temperature, liquid holdup, overall mass flow and gas mass flow are plotted.

713 / 769

OLGA 7

Sample case: Centrifugal Pump


The case Pump-Centrifugal.opi demonstrates how how OLGA can be used to model a centrifugal
multiphase pump with recycle function and bypass lines.
The system consists of a 100 m long horizontal wellhead pipe followed by a 300 m m long pipe
containing a pump inlet valve, a centrifugal pump, a pump outlet valve, and a check valve at the outlet of
that pipe. Following this is a 100 m long pipe leading up to a 200 m tall riser to the topside. A bypass
pipeline is connected to the pump pipeline. This line has a bypass valve on the inlet and a check valve
on the outlet. A sketch of the model is shown in Figure 1.
Operation scenario:
In the first hour, the system's inlet pressure is 8 bar higher than its outlet pressure. The production is to
go through the bypass line and the total flow rate is about 45 kg/s. In the second hour, the inlet pressure
is reduced to be the same as the outlet pressure so that no production is expected without a pump.
Then, the pump line is opened, the bypass line closed, and the centrifugal pump starts to increase the
pump speed in order to yield the flow rate 50 kg/s.

Figure 1 Sketch of the model.

Case Comments:
CaseDefinition:
OPTIONS: The full heat transfer calculation option with heat transfer through the pipe walls is used. The
steady state pre-processor is turned off.
FILES: The characteristic data of the pump is found in the file ol-pumpc-2.tab.
Controller-models:
PIDCONTROLLER: C-PUMP-C-SP: This controller is required by the pump module. In this sample
case, the pump speed is controlled by the total mass flow rate (PUMPGT) through the pump. 714 / 769

OLGA 7

case, the pump speed is controlled by the total mass flow rate (PUMPGT) through the pump.
PIDCONTROLLER: C-PUMP-C-RE: This controller is required by the pump module. In this case, the
pump recycle flow is controlled by the pump inlet pressure. The pump inlet pressure is measured by
Transmitter TRAN-B-PL-PT, and if the pump inlet pressure is lower than 38.12 bara, the recycle flow will
be started. If no recycle flow is required, a manual controller with SETPOINT=0 can be used for the
recycle controller or the recycle diameter, RECDIAMETER, can be set to zero.
MANUALCONTROLLER: C-PUMP-C-BY: This controller is required by the pump module. However, the
built-in bypass function of the pump module is obsolete since any bypass line can be modeled using an
additional flow-path. In this sample case, the bypass controller is a manual controller with set-point 0,
which means that the built-in bypass line is closed.
MANUALCONTROLLER: C-PUMP-V-1: This controller is optional. The controller is used to control the
built-in valve in the centrifugal pump module to stop the flow if the pump is deeded, e.g., if the pump is
shut down and no back flow is allowed. In this sample case, this controller is defined as TYPE=MANUAL
and SETPOINT=1, which means that the valve is fully opened.
FlowComponent:
FLOWPATH Boundary&InitialConditions INITIALCONDITIONS: Since the steady state preprocessor is not used, the initial conditions have to be given.
FLOWPATH Boundary&InitialConditions HEATTRANSFER: The ambient temperature is set to
15C. The heat transfer coefficient on outer walls is set to 500 W/m2K. The minimum heat transfer
coefficient on inner walls is set to 10 W/m2K.
FLOWPATH ProcessEquipment PUMP: The centrifugal pump is defined by following
parameters: DENSITYR=900 kg/m3; EFFIMECH=0.7; FLOWRATED=0.15 m3/s; HEADRATED=150 m;
SPEEDR=1500 rpm; MAXSPEED=8000 rpm; RECDIAMETER=0.1 m (diameter of the built-in recycle
pipe); BYDIAMETER=0 (bypass diameter, zero means no bypass flow through the built-in bypass).
FLOWPATH Piping: The pipeline consists of a 500 m long pipe horizontal pipe with a 0.2 m diameter
which leads up to a 200 m tall riser. At topside a 100 m pipe leads to the outlet. The bypass line,
constituted by six sections, is 300 m long and has the same diameter, 0.2 m, as the rest of the pipe.
FLOWPATH Output TRENDDATA: Pump variables are plotted.
NODE: Both the inlet and outlet nodes are pressure nodes. The inlet pressure is 47 bara over the first
hour and is then reduced to 39 bara. The inlet temperature is held constant at 30C. The outlet pressure
is held constant at 39 bara and the temperature is 20C. Two internal nodes are used to connect the
bypass around the pump.
Output:
OUTPUT: OLGA variables are printed to the output file every 10 hours.
TREND: Trend variables are plotted every second.
PROFILE: Profile variables are plotted every 30 minutes.

715 / 769

OLGA 7

Sample case: CO2 Tracking (Single component)


Case: Single-CO2.opi
Purpose: "Walk around" the critical point.
Fluid: 100% CO2
The transient starts in the gas region, T=5C and P=30 bar. After 60 seconds, the inlet temperature is
increased and reaches 50C after 120 seconds. A corresponding increase in outlet temperature follows.
A temporary small increase in outlet flow rate occurs due to the lower density of gas at the increased
temperature. The lower gas density leads to an increase in volumetric flow rate.
After 10 minutes, the outlet pressure is increased to 80 bar, thereby moving into the dense phase region
on the gas side. A temporary increase in outlet temperature occurs due to compression of the gas and a
temporary reduction in outlet flow rate can also be seen.
After 20 minutes, the inlet temperature is reduced to 5C, thereby moving into the liquid side of the
dense phase region. This leads to condensation of gas which slows down the reduction in outlet
temperature (release of heat due to condensation). The outlet flow rate of gas shows an oscillatory
behavior and finally goes to zero when all the vapor is either condensed or has left the pipe.
After half an hour, the outlet pressure is reduced to 30 bar, thereby crossing the saturation line from the
liquid side to the gas side. A temporary drop in outlet temperature down to about saturation temperature
occurs due to the evaporation of water. There is also an overshoot in gas flow rate due to the volume
increase.

Case Comments:
CaseDefinition:
OPTIONS: The single component module is activated by setting COMPOSITIONAL=SINGLE.
TEMPERATURE=ADIABATIC (no heat exchange with walls)
Compositional:
SINGLEOPTIONS: CO2 is activated by setting COMPONENT=CO2. Time constants are set:
TCONDENSATION=1.0, TBOILING=1.0.
FlowComponent:
FLOWPATH Boundary&InitialConditions SOURCE: Liquid source delivering 2 kg/s.
Temperature and pressure varies with time.
FLOWPATH Piping: 100 m horizontal pipe, diameter=0.12 m, 20 sections
NODE: A closed node is placed at the pipe inlet. The outlet is a pressure boundary.

716 / 769

OLGA 7

Sample case: Compositional tracking


The case CompTrack.opi comprises one branch with ascending and descending pipes. Initially the
pipeline is filled with live crude and the fluid is under-saturated throughout the pipeline.
After 30 hours, the system is shut-in and cooled down due to a low ambient temperature. Then, gas
pockets are generated at the highest points of the pipeline. After 50 hours, oil is injected at the inlet. This
fluid is the same as the one the pipeline was filled with initially. The gas is dissolved in the undersaturated oil. After 51 hours all the gas has disappeared and the system returns to the original steady
state.

Figure 1 Schematic view of the pipeline geometry.

Case Comments:
CaseDefinition:
OPTIONS: To activate compositional tracking, the key COMPOSITIONAL has to be set to ON.
FILES: A feed file generated with PVTSim has be specified using the key FEEDFILE. The feed file
contains information about the fluids and the components used in the simulation.
INTEGRATION: The simulation end time is set to 70 hours. The maximum and minimum time steps are
20 s and 0.1 s, respectively.
FlowComponent:
FLOWPATH Boundary&InitialConditions SOURCE: The source produces the same fluid
throughout the simulation, but the source flow rate and temperature changes. The name of the fluid
(feed) is given by the key FEEDNAME. The flow rate is specified in FEEDMASSFLOW. After 30 hours,
the production is shut-in and the pipeline is closed. After 50 hours the source is restarted.
FLOWPATH Output PROFILEDATA: Standard variables are plotted. Mole fractions in the gas
phase, liquid phase and overall are plotted.
FLOWPATH Output TRENDDATA: Mass fractions in the gas and liquid phases are plotted at the
inlet and outlet. The overall mole fraction is also plotted at these positions.
NODE: The inlet node is closed since there is a mass source at the inlet producing at varying flow rate.
At the outlet, a constant pressure condition is applied. The same fluid is used at both nodes (given by
the key FEEDNAME).
717 / 769

OLGA 7

Output:
OUTPUT: OLGA variables are printed to the output file every hour.
TREND: Trend variables are plotted every three minutes.
PROFILE: Profile variables are plotted every hour.

718 / 769

OLGA 7

Sample case: Corrosion


The case Corrosion.opi is an example illustrating the use of the corrosion model. The main pipeline
starts with a 3.3 km long horizontal pipe ending in a 90 m riser followed by a short horizontal pipe. The
inner diameter of the pipe is 0.41 m. Heat transfer through pipe walls is calculated. The fluid composition
is of a gas condensate type. The water cut is about 80%.

Case Comments:
Library:
WALL: The pipe walls consist of steel (two layers) covered by one layer of insulation.
CaseDefinition:
OPTIONS: The full heat transfer calculation option with heat transfer through pipe walls is used.
INTEGRATION: The simulation runs for five hours using a minimum time step of 0.01 s and a maximum
one of 10 s. The initial time step is set equal to the minimum one.
FA-models:
WATEROPTIONS: Water flash and water slip are turned on.
FlowComponent:
FLOWPATH Boundary&InitialConditions SOURCE: The inlet boundary condition is a constant
mass source with mass flow of 34.181 kg/s and temperature of 60C. The mass fraction of free water is
set to 0.3. Since water flash is active, see WATEROPTIONS keyword, there is additional water in the
vapor phase given by the water vapor mass fraction in the PVT table. By default, the equilibrium is used
to determine the gas source at the inlet.
FLOWPATH FA-models CORROSION: Both Model1 (NORSOK) and Model3 (de Waard 95) are
activated on flow path B-INLET. The CO2 fraction, i.e., the ratio of CO2 partial pressure to total pressure
in the gas, is set to 5%. The fraction of glycol in the glycol/water mixture is set to 50% and the inhibitor
efficiency is set to 90%. The presence of glycol yields a reduction factor of the corrosion rate. The effect
of a second inhibitor is given directly though the key INHIBITOREFFICIENCY. For the NORSOK model,
only the largest of these two factors is multiplied with the corrosion rate while for the de Waard 95 model,
both factors are multiplied with the corrosion rate.
FLOWPATH Piping: The pipeline is 3.3 km long. The total number of pipes, including topside, is 9.
The pipes are divided into 58 sections. The pipe walls consist of steel (two layers) covered with a layer
of insulation.
FLOWPATH Output PROFILEDATA: Pressure, temperature, overall mass flow, gas velocity, and
oil and water hold-up and velocities are profile plotted for all pipelines.
NODE: The inlet node is closed. The outlet boundary condition is to a constant pressure of 24 bara and
a temperature of 26C.
Output:
719 / 769

OLGA 7

OUTPUT: OLGA variables are printed to the output file at the start and end of the simulation.
TREND: Trend variables are plotted every 10 seconds.
PROFILE: Profile variables are plotted every 50 seconds.

720 / 769

OLGA 7

Sample case: Displacement Pump


The case Pump-Displacement.opi demonstrates how how OLGA can be used to model a
displacement multiphase pump with recycle function and bypass lines.
The system consists of a 100 m long horizontal wellhead pipe followed by a 300 m m long pipe
containing a pump inlet valve, a displacement pump, a pump outlet valve, and a check valve at the outlet
of that pipe. Following this is a 100 m long pipe leading up to a 200 m tall riser to the topside. A bypass
pipeline is connected to the pump pipeline. This line has a bypass valve on the inlet and a check valve
on the outlet. A sketch of the model is shown in Figure 1.
Operation scenario:
In the first hour, the system's inlet pressure is 4 bar higher than its outlet pressure. The production is to
go through the bypass line and the total flow rate is about 22.2 kg/s. In the second hour, the inlet
pressure is reduced to be the same as the outlet pressure so that no production is expected without a
pump. Then, the pump line is opened, the bypass line closed, and the displacement pump starts to
increase the pump speed in order to yield the flow rate 30 kg/s.

Figure 1 Sketch of the model.

Case Comments:
CaseDefinition:
OPTIONS: The full heat transfer calculation option with heat transfer through the pipe walls is used. The
steady state pre-processor is turned off.
FILES: The characteristic data of the pump is found in the file ol-pump1-2.tab.
Controller-models:
PIDCONTROLLER: C-PUMP-D-SP: This controller is required by the pump module. In this sample
case, the pump speed is controlled by the total mass flow rate (PUMPGT) through the pump. 721 / 769

OLGA 7

case, the pump speed is controlled by the total mass flow rate (PUMPGT) through the pump.
PIDCONTROLLER: C-PUMP-D-RE: This controller is required by the pump module. In this case, the
pump recycle flow is controlled by the pump inlet pressure. The pump inlet pressure is measured by
Transmitter TRAN-PUMP-IN-PT, and if the pump inlet pressure is lower than 38.2 bara, the recycle flow
will be started. If no recycle flow is required, a manual controller with SETPOINT=0 can be used for the
recycle controller or the recycle diameter, RECDIAMETER, can be set to zero.
MANUALCONTROLLER: C-PUMP-C-BY: This controller is required by the pump module. However, the
built-in bypass function of the pump module is obsolete since any bypass line can be modeled using an
additional flow-path. In this sample case, the bypass controller is a manual controller with set-point 0,
which means that the built-in bypass line is closed.
FlowComponent:
FLOWPATH Boundary&InitialConditions INITIALCONDITIONS: Since the steady state preprocessor is not used, the initial conditions have to be given.
FLOWPATH Boundary&InitialConditions HEATTRANSFER: The ambient temperature is set to
15C. The heat transfer coefficient on outer walls is set to 500 W/m2K. The minimum heat transfer
coefficient on inner walls is set to 10 W/m2K.
FLOWPATH ProcessEquipment PUMP: The centrifugal pump is defined by following
parameters: SPECAPACITY=0.01 m3/R; PREFSPEED=3000 rpm; MAXSPEED=8000 rpm;
RECDIAMETER=0.1 m (diameter of the built-in recycle pipe); BYDIAMETER=0 (bypass diameter, zero
means no bypass flow through the built-in bypass).
FLOWPATH Piping: The pipeline consists of a 500 m long pipe horizontal pipe with a 0.2 m diameter
which leads up to a 200 m tall riser. At topside a 100 m pipe leads to the outlet. The bypass line,
constituted by six sections, is 300 m long and has the same diameter, 0.2 m, as the rest of the pipe.
FLOWPATH Output TRENDDATA: Pump variables are plotted.
NODE: Both the inlet and outlet nodes are pressure nodes. The inlet pressure is 43 bara over the first
hour and is then reduced to 39 bara. The inlet temperature is held constant at 30C. The outlet pressure
is held constant at 39 bara and the temperature is 20C. Two internal nodes are used to connect the
bypass around the pump.
Output:
OUTPUT: OLGA variables are printed to the output file every 10 hours.
TREND: Trend variables are plotted every second.
PROFILE: Profile variables are plotted every 30 minutes.

722 / 769

OLGA 7

Sample case: Drilling Fluid


The case DrillingFluid.opi demonstrates how how OLGA models drilling fluid in a well clean-up case.
The system consists of a well tubing pipeline with 1875 m TVD and 2725 m MD and a 150 m long
wellhead pipe. A source injects water based drilling mud from the well bottom hole to fill-in the well
tubing. The well production will push the drilling mud out of the tubing and start normal production. A
sketch of the model is shown in Figure 1.
Operation scenario:
Water based drilling mud is injected from the well bottom hole during the first hour in order to fill-in the
well tubing. The mud is then reduced to zero over half an hour. The well production will push the drilling
mud out of the tubing and start normal production.
Trend plots of the total mass flow rate at topside (GT), the total well flow rate (GTWELL), and mud
source mass flow rate (GTSOUR) show the flow rate changing. Profile plots of the mass fraction of mud
(MFAMUD), liquid density (ROL) and hold-up show changes in the amount of mud and liquid in the
pipeline.

Figure 1 Sketch of the model.

Case Comments:
Library:
DRILLINGFLUID: The drilling fluid, DRFL_LIQ_1, is defined with TYPE=WATER,
MINDENSITY=600 kg/m3, MAXDENSITY=2400 kg/m3, MINVISCOSITY=10-4 Ns/m2 and
MAXVISCOSITY=1 Ns/m2
CaseDefinition:
OPTIONS: The full heat transfer calculation option with heat transfer through the pipe walls is used. The
steady state pre-processor is used to generate initial conditions.
723 / 769

OLGA 7

steady state pre-processor is used to generate initial conditions.


FlowComponent:
FLOWPATH Boundary&InitialConditions HEATTRANSFER: The ambient temperature is
vertically interpolated from 80C at the bottom of the borehole to 20C at the wellhead. The heat transfer
coefficient on outer walls is set to 500 W/m2K. The minimum heat transfer coefficient on inner walls is
set to 10 W/m2K.
FLOWPATH Boundary&InitialConditions SOURCE: The mass source injects water based mud
at the well bottom hole at a rate of 60 kg/s over the first hours. Over the next half an hour, the rate is
reduced to zero.
FLOWPATH Boundary&InitialConditions WELL: The reservoir pressure is 200 bara and
reservoir temperature 80C. Production and injection type is LINEAR. AINJ=APROD=0, BINJ=108 kg/s/Pa and BPROD=3.510-6 kg/s/Pa.
FLOWPATH Output TRENDDATA: The mass fraction of mud is plotted.
NODE: The outlet pressure held constant at 30 bara and the temperature is 4C.
Output:
OUTPUT: OLGA variables are printed to the output file every 10 hours.
TREND: Trend variables are plotted every 10^#160;seconds.
PROFILE: Profile variables are plotted every 6 minutes.

724 / 769

OLGA 7

Sample case: Fluid bundle


The case FluidBundle-converted.opi demonstrates how OLGA can be used to simulate how a
bundled pipeline initially filled with gas is heated up before production is started.
N.B., when importing similar cases from OLGA 5, a certain amount of manual labor is required. Please
refer to the conversion documentation for a detailed description.
The pipeline consists of a 5480 m long pipe along the seabed followed by a 162 m vertical riser and a
100 m horizontal topside pipe. The pipe has a hydraulic diameter of 30.48 cm.
The part of the pipeline which is on the seabed is contained within a bundle where the carrier line
contains heated water injected on the platform end. The carrier line water returns to the platform through
the return line before it is heated up again and reinjected into the carrier line.
The bundle also contains a methanol line. A sketch of the cross-section of the bundle is shown in Figure
1.

Figure 1 Cross-section of the bundle.

Case Comments:
Library:
MATERIAL: Carbon steel is the only material used in the pipe walls.
WALL: The flow line pipe wall is 2.54 cm thick and has been divided into 4 layers.
CaseDefinition:
OPTIONS: The full heat transfer calculation option with heat transfer through the pipe wall has been
used as this is required by the bundle module. The steady state initialization has been turned off.
FlowComponent:
FLOWPATH Boundary&InitialConditions INITIALCONDITIONS: The flow line is initially filled
with gas and the pressure is set equal to the outlet pressure. The initial temperature is 4C both in the
pipeline and bundle lines.
FLOWPATH Boundary&InitialConditions HEATTRANSFER: The ambient conditions are
constant along the whole system. For the part of the pipeline contained in the bundle, the ambient
conditions are exterior to the flow line.
FLOWPATH Boundary&InitialConditions SOURCE: During the initial heating up of the system,
the source is turned off. Ramping up to a steady production flow rate is commenced after 10 hours.
725 / 769

OLGA 7

FLOWPATH Piping: The pipeline along the seabed (5480 m) is described by seven pipes whereas
the riser and topside are single pipes.
FLOWPATH Output OUTPUTDATA: In addition to standard OLGA variables, TBUN is printed to
the output file.
FLOWPATH Output TRENDDATA: In addition to standard OLGA variables, TBUN is trended for
the bundle lines at selected positions.
FLOWPATH Output PROFILEDATA: In addition to standard OLGA variables, TBUN is profiled for
all bundle lines.
NODE: The flow line has a closed inlet node whereas the methanol line has a mass flow node on the
inlet. Both these lines have pressure boundaries specified at the outlet. Inlet temperatures are specified
for the bundle lines. An internal node is used for the crossover from the carrier line to the return line. The
water is going in a loop consisting of the carrier and return lines where constant pressure and
temperature is set on the platform side.
ThermalComponent:
FLUIDBUNDLE: The bundle consists of four pipelines (BundleComponents). One is defined as a
FLOWPATH and the other three as LINEs. The pipe defined as FLOWPATH defines that the bundle
starts at the beginning of the second pipe and ends at the riser base.
The data of both fluid and line pipe walls are given so that OLGA calculates a u-value for each of the
lines. The flow in the carrier line is counter current to the flow in the other lines and in the flowpath.
Output:
OUTPUT: OLGA variables are printed to the output file, every 10th hour.
TREND: Trend variables are plotted every minute.
PROFILE: Profile variables are plotted every hour.

726 / 769

OLGA 7

Sample case: H2O Tracking (Single component)


Case: Single-H2O.opi
Purpose: "Walk around" the critical point.
Fluid: 100% H2O
The transient starts in the gas region, T=360C and P=150 bar. After 60 seconds the inlet temperature is
increased and reaches 450C after 120 seconds. A corresponding increase in outlet temperature
follows. A temporary small increase in outlet flow rate occurs due to the lower density of gas at the
increased temperature.
After 10 minutes, the outlet pressure is increased to 227 bar, thereby moving into the dense phase
region on the gas side. A temporary increase in outlet temperature occurs due to compression of the gas
and a minor reduction in outlet flow rate can also be seen.
After 20 minutes, the inlet temperature is reduced to 360C, thereby moving into the liquid side of the
dense phase region. This leads to condensation of gas which slows down the reduction in outlet
temperature. The outlet flow rate of gas shows an oscillatory behavior and finally goes to zero when all
the vapor is either condensed or has left the pipe. During the oscillations in outlet flow of vapor negative
values can be seen, which is due to the oscillations being of numerical nature. The conditions are quite
close to the critical point where the behavior of the fluid properties is highly nonlinear.
After half an hour, the outlet pressure is reduced to 150 bar, thereby crossing the saturation line from the
liquid side to the gas side. A temporary drop in outlet temperature down to about saturation temperature
occurs due to the evaporation of water. There is also an overshoot in gas flow rate due to the volume
increase.

Case Comments:
CaseDefinition:
OPTIONS: The single component module is activated by setting COMPOSITIONAL=SINGLE.
TEMPERATURE=ADIABATIC (no heat exchange with walls)
Compositional:
SINGLEOPTIONS: H2O is activated by setting COMPONENT=H20. Time constants are set:
TCONDENSATION=1.0, TBOILING=1.0, TVAPORIZATION=1.0
FlowComponent:
FLOWPATH Boundary&InitialConditions SOURCE: Water source delivering 2 kg/s.
Temperature and pressure varies with time.
FLOWPATH Piping: 100 m horizontal pipe, diameter=0.12 m, 20 sections
NODE: A closed node is placed at the pipe inlet. The outlet is a pressure boundary.

727 / 769

OLGA 7

Sample case: H2O Tracking (Steam/WaterHC)


Case: SteamWater-HC.opi
Purpose: "Walk around" the critical point.
Fluid: 100% H2O
The transient starts in the gas region, T=360C and P=150 bar. After 60 seconds the inlet temperature is
increased and reaches 450C after 120 seconds. A corresponding increase in outlet temperature
follows. A temporary small increase in outlet flow rate occurs due to the lower density of gas at the
increased temperature.
After 10 minutes, the outlet pressure is increased to 227 bar, thereby moving into the dense phase
region on the gas side. A temporary increase in outlet temperature occurs due to compression of the gas
and a minor reduction in outlet flow rate can also be seen.
After 20 minutes, the inlet temperature is reduced to 360C, thereby moving into the liquid side of the
dense phase region. This leads to condensation of gas which slows down the reduction in outlet
temperature. The outlet flow rate of gas shows an oscillatory behavior and finally goes to zero when all
the vapor is either condensed or has left the pipe. During the oscillations in outlet flow of vapor negative
values can be seen, which is due to the oscillations being of numerical nature. The conditions are quite
close to the critical point where the behavior of the fluid properties is highly nonlinear.
After half an hour, the outlet pressure is reduced to 150 bar, thereby crossing the saturation line from the
liquid side to the gas side. A temporary drop in outlet temperature down to about saturation temperature
occurs due to the evaporation of water. There is also an overshoot in gas flow rate due to the volume
increase.

Case Comments:
CaseDefinition:
OPTIONS: The steam\waterHC module is activated by setting COMPOSITIONAL=STEAMWATER-HC.
TEMPERATURE=ADIABATIC (no heat exchange with walls)
Compositional:
COMPOPTIONS: Time constants are set: TCONDENSATION=1.0, TBOILING=1.0,
TVAPORIZATION=1.0
FlowComponent:
FLOWPATH Boundary&InitialConditions SOURCE: Liquid source delivering 2 kg/s.
Temperature and pressure varies with time.
FLOWPATH Piping: 100 m horizontal pipe, diameter=0.12 m, 20 sections
NODE: A closed node is placed at the pipe inlet. The outlet is a pressure boundary.

728 / 769

OLGA 7

Sample case: Hydrate Kinetics


The case HydrateKinetics.opi demonstrates how the hydrate kinetics model can be used in an OLGA
simulation. The hydrate kinetics model enables approximate predictions of where hydrate plugs might
form in oil and gas pipelines.
The system consists of a well tubing pipeline with a 1875 m true vertical depth (TVD) and a 2725 m
measured depth (MD), a 150 m long wellhead pipe, a 3150 m pipeline leading up to a 391.2 m vertical
riser and a 100 m long horizontal topside pipe. The total production is controlled by the wellhead choke.
A sketch of the model is shown in Figure 1.
Operation scenario:
The well is a gas well. The fluid temperature may be below the hydrate temperature in the flow line. In
order to avoid hydrate plugs, regions where the conditions might cause hydrate plugs to form can be
detected.

Figure 1 Sketch of the model.

Case Comments:
Library:
HYDRATECURVE: Definition of hydrate curve used by HYDRATECHECK.
CaseDefinition:
OPTIONS: Temperature calculations use heat transfer on the inside and outside of pipe walls as well as
heat conduction, but no heat storage is accounted for. The initial conditions are generated by the steady
state pre-processor.

729 / 769

OLGA 7

FlowComponent:
FLOWPATH Boundary&InitialConditions HEATTRANSFER: The inlet ambient temperature of
the well is 50C and outlet ambient temperature is 4. The code will do a vertical interpolation on
ambient temperature along the tubing. In the flow line and riser, the ambient temperature is 4C. The
heat transfer coefficient on outer wall is set to 500 W/m2K. The minimum heat transfer coefficient on
inner wall is set to 10 W/m2K.
FLOWPATH Boundary&InitialConditions WELL: The reservoir pressure is 200 bara and
reservoir temperature 50C. Production and injection type is LINEAR. AINJ=APROD=0, BINJ=107 kg/s/Pa and BPROD=2.510-6 kg/s/Pa.
FLOWPATH FA-models HYDRATECHECK: Hydrate checking is activated in all flow-paths.
FLOWPATH FA-models HYDRATEKINETICS: The hydrate kinetics model is applied for all flowpaths.
FLOWPATH Output TRENDDATA: Hydrate variables are plotted.
FLOWPATH Output PROFILEDATA: Hydrate variables are plotted.
NODE: The outlet pressure held constant at 50 bara and the temperature is 20C.
Output:
OUTPUT: OLGA variables are printed to the output file every 10 hours.
TREND: Trend variables are plotted every 10 seconds.
PROFILE: Profile variables are plotted every hour.

730 / 769

OLGA 7

Sample case: Hydrodynamic slugging


The cases HydrSlug-pvt.opi and HydrSlug-comp.opi illustrate slug-tracking using hydrodynamic slug
initiation with and without and with compositional tracking, respectively. A platform to platform
transportation is simulated where the fluid enters into a short horizontal pipe before descending down a
173 m long riser. A 7.5 km pipeline through slight uphill terrain leads up to the second, 140 m high, riser
and a short horizontal topside pipe. A sketch of the pipeline geometry is shown in Figure 1.

Figure 1 Schematic illustration of the pipeline geometry.

Case Comments:
CaseDefinition:
OPTIONS: The two cases run with COMPOSITIONAL=OFF/ON, respectively. Temperature exchange
with the walls are not accounted for, adiabatic flow is assumed.
FILES: The fluid is described by either a pvt-file or an equivalent feed-file depending on the type of
simulation.
FA-models:
SLUGTRACKING: Hydrodynamic slug initiation is enabled (HYDRODYNAMIC=ON) is enabled through
the entire simulation.
FlowComponent:
FLOWPATH Boundary&InitialConditions SOURCE: The source introduces fluid into the
pipeline at a constant rate of 130200 kg/h. The fluid temperature is 72.2C.
FLOWPATH FA-models SLUGILLEGAL: The sections in the pipe TO-SEP are declared as
illegal sections, i.e., no slugs can be initiated or propagate through these sections.
FLOWPATH ProcessEquipment VALVE: A valve with constant valve opening is put in the
middle of the top-side pipe at the outlet.
FLOWPATH Output TRENDDATA: In addition to standard plotting variables such as liquid
content, pressure, hold-ups, etc., various slug related properties are plotted. E.g., variables like
HOLEXP show the instantaneous holdup at the position specified.
NODE: The inlet node is closed. The outlet boundary condition is set to a constant pressure of
68.3 bara and a temperature of 20C.
Output:
OUTPUT: OLGA variables are printed to the output file every hour.
731 / 769

OLGA 7

OUTPUT: OLGA variables are printed to the output file every hour.
TREND: Trend variables are plotted every second.
PROFILE: Profile variables are plotted every 10 minutes.
TRENDDATA: In addition to standard plotting variables, the number of slugs in the pipeline (NSLUG)
and the accumulated number of slugs initiated (SLUPRO) are plotted.

732 / 769

OLGA 7

Sample case: MEG Tracking


The case Meg-Tracking.opi demonstrates the features of the inhibitor tracking module. A horizontal
pipeline with a source at the inlet is used to show that the concentration of MEG can be changed during
the simulation and how this can be tracked through the pipeline.

Case Comments:
FA-models:
WATEROPTIONS: Water flash and water slip are turned on.
CaseDefinition:
OPTIONS: To activate MEG tracking, the key COMPOSITIONAL has to be set to MEG.
FlowComponent:
FLOWPATH Boundary&InitialConditions SOURCE: A mass source with constant mass flow is
placed at the inlet. The MEG concentration in the aqueous phase changes from 60% to 30% after
1.5 hours.
FLOWPATH Piping: The branch consists of 11 pipes.
FLOWPATH Output TRENDDATA: The mole fractions of all three components in the gas and
water phases are plotted.
FLOWPATH Output PROFILEDATA: The mole fraction of MEG in the water phase is plotted.
NODE: A closed node is placed at the pipe inlet. A constant pressure is applied at the outlet.
Output:
OUTPUT: OLGA variables are printed to the output file every 2 hours.
TREND: Trend variables are plotted every 6 minutes.
PROFILE: Profile variables are plotted every 15 minutes.

733 / 769

OLGA 7

Sample case: Network


The case Network.opi is a network case. Five wells merge into two different wellheads. The fluid is
transported through two pipelines, one from each wellhead, to a processing platform. Here, the flow
merge into a common header and then flows through some horizontal piping before reaching the outlet.
Two wells merge at the first wellhead and the other three wells at the second one.
Two slightly different geometries are used for the wells. The boundary conditions vary between given
pressure, given mass flow, and well productivity index.
The two pipelines have identical geometries.

Figure 1 Schematic view of the network.

Case Comments:
CaseDefinition:
OPTION: Temperature option "ADIABATIC" has been chosen. No heat transfer through the pipe walls is
assumed.
INTEGRATION: The simulation end time is set to 3 hours. The maximum and minimum time steps are
10 seconds and 0.01 seconds, respectively.
FlowComponent:
FLOWPATH Boundary&InitialConditions SOURCE: Branches 1 and 5 use constant mass
sources. N.B., for Branch 1, the mass flow is specified in terms of volumetric flow rate of liquid at
standard conditions.
FLOWPATH Boundary&InitialConditions WELL: The reservoir pressure and temperature are
given together with a linear productivity index for gas and liquid flow at the midpoint of the first section in
branch 3.
FLOWPATH ProcessEquipment VALVE: The wellhead choke in Branch 3 is fully open during
the entire simulation.
FLOWPATH Piping: The number of pipes and their coordinates are defined for each branch, x and z
represent horizontal coordinates whereas y is the vertical axis. As a verification of the input, the user
734 / 769

OLGA 7

represent horizontal coordinates whereas y is the vertical axis. As a verification of the input, the user
may note the length and inclination of each pipe section as printed to the output file at the end of the
initialization. Toward the end of the flow lines, the section lengths are gradually reduced to the values in
the riser.
NODE: Branches 1, 3 and 5 have closed nodes at the inlets. Branches 2 and 6 have constant pressure
nodes at the inlets. Branches 4 and 7 are connected to internal nodes and have no terminal nodes.
Branch 8 has a constant pressure node at the outlet.
Output:
OUTPUT: OLGA variables are printed to the output file at the end of the simulation.
TREND: Trend variables are plotted every 30 seconds.
PROFILE: Profile variables are plotted every 15 minutes.

735 / 769

OLGA 7

Sample case: PID Controller


The case PID-Controller.opi demonstrates pressure control at a riser base. The pipeline consists of
5 pipes. First a horizontal pipe and two weakly descending pipes before a vertical pipe and a short
horizontal pipe. A valve is used to control the pressure at the riser base.

Case Comments:
CaseDefinition:
OPTIONS: Temperature option ADIABATIC has been chosen. The pipeline is simulated without heat
transfer through the pipe walls.
INTEGRATION: The simulation starts at t=0 s, and ends at time t=1.5 h. The time step starts at the
minimum value of 0.01 s and is limited to a maximum value of 25 s.
Controller:
PIDCONTROLLER: A pressure control valve is used to control the pressure at the riser base. A PID
controller is used to regulate the valve opening, which is 0.1 initially (see the BIAS key). The pressure
setpoint is 75 bara. The measured value is taken from the transmitter. A range of 50 bara is set for the
controller (NORMRANGE key).
FlowComponent:
FLOWPATH Boundary&InitialConditions SOURCE: The inlet boundary condition is a constant
mass source with mass flow 10.0 kg/s and a temperature of 62C. The mass fraction of free water is set
to 0. By default, the equilibrium is used to determine the gas source at the inlet.
FLOWPATH FA-models DTCONTROL: The CFL criterion is used to limit the simulation time step.
A safety margin of 20% is added to the CFL criterion to get a stable simulation (CFLFACTOR = 0.8).
FLOWPATH ProcessEquipment TRANSMITTER: A transmitter is positioned at the riser base.
The transmitter is used to collect the pressure from the pipeline, whcih is transmitted to the controller.
The section pressure is transmitted with unit bara.
FLOWPATH ProcessEquipment VALVE: A valve is placed before the riser but downstream the
transmitter. The valve has the same maximum cross section as the pipeline. The valve opening is
regulated by the pressure controller.
FLOWPATH Output TRENDDATA: The valve opening is plotted.
FLOWPATH Output PROFILEDATA: Profiles of pressure, temperature, liquid holdup, liquid mass
flow and gas mass flow are plotted.
NODE: The inlet node is closed. The outlet boundary condition is a constant pressure of 55 bara.
Output:
OUTPUT: OLGA variables are printed to the output file at the start and end of the simulation.
TREND: Trend variables are plotted every second.
736 / 769

OLGA 7

PROFILE: Profile variables are plotted every 6 minutes.

737 / 769

OLGA 7

Sample case: Pigging


The following cases illustrate the following pigging scenarios:
Pigging of a pipeline using standard OLGA without tracking the liquid slug in
Pig-noSlug-pvt.opi
front of the pig.
Pig-TrackSlugPigging of a pipeline using standard OLGA tracking the liquid slug in front of the
pvt.opi
pig.
Pig-noSlugPigging of a pipeline using compositional tracking without tracking the liquid slug
comp.opi
in front of the pig.
Pig-TrackSlugPigging of a pipeline using compositional tracking, also tracking the liquid slug in
comp.opi
front of the pig.
The pipeline has pressure nodes both on the inlet and outlet. At the inlet, the pressure is 117 bara and
the temperature is 10C. The temperature at the outlet is the same, but the pressure is 100 bara. The
pig is launched 1500m into the pipeline and it is trapped at 75 m into the topside pipe. The geometry is
shown in Figure 1.

Figure 1 Illustration of the pipe geometry. The launch and trap positions are indicated.

Case Comments:
CaseDefinition:
OPTIONS: The two cases run with COMPOSITIONAL=OFF/ON, respectively. Temperature exchange
with the walls are not accounted for, adiabatic flow is assumed.
FILES: The fluid is described by either a pvt-file or an equivalent feed-file depending on the type of
simulation.
Controller-models:
PIDCONTROLLER: A PID controller regulates the opening of the outlet valve based on the gas mass
flow.
FlowComponent:
FLOWPATH FA-models PIG: A pig is launched after 300 s. Whether the liquid slug in front of the
pig is tracked or not is determined by the key TRACKSLUG.
FLOWPATH ProcessEquipment TRANSMITTER: A transmitter is located in the second last
boundary on topside, providing the PID controller with its input signal.
FLOWPATH ProcessEquipment VALVE: An outlet valve controlled by the PID controller is
situated at the end of the topside pipe.
FLOWPATH Piping: The branch is split into three pipes. A 10 km long horizontal pipe leads up to a
500 m riser. At topside, there is a 100 m horizontal pipe, in which the trap position is located.
738 / 769

OLGA 7

FLOWPATH Output TRENDDATA: In cases where the slug in front of the pig is tracked, its length
is plotted.
NODE: Both the inlet and outlet nodes are pressure nodes. The inlet pressure is 117 bara and the outlet
pressure is 100 bara. Both nodes have a temperature of 10C.
Output:
OUTPUT: OLGA variables are printed to the output file every 2 hours.
TREND: Trend variables are plotted every 3 seconds.
PROFILE: Profile variables are plotted every 30 seconds.
TRENDDATA: The velocity of the pig and its are plotted.

739 / 769

OLGA 7

Sample case: Process Equipment


The case Process-Equipment.opi is an example of a simulation with process equipment. The case
shows examples of several types of process equipment, e.g., separator, valves, compressor, and heat
exchanger. A total of 5 PID controllers are used to stabilize the process. Figure 1 shows the process flow
sheet.
One pipeline feeds the separator with a mixture of gas and liquid. This pipeline is 15100 meters long
divided into 12 sections, and a diameter of 0.5 meters. The pipeline has a valve close to the outlet. The
valve is used to control the overall flow into the separator.
The separator has a gas and liquid outlet. The gas outlet is 400 m long, has a diameter of 1.0 m, and is
divided into 7 sections. The gas line contain a compressor with recycle and anti-surge control. The
compressor speed is used to control the separator pressure. Downstream the compressor, a heat
exchanger is included to cool the gas. The heat exchanger is connected to a temperature controller.
The liquid outlet is 100 m long and has a diameter of 0.12 m. The liquid line contains a valve that is used
for level control of the separator. The pipe has only two sections.
The simulation time is 20 hours. After 10 hours the separator feed is dropped from 70 to 50 kg/s.

Figure 1 Process flow sheet.

Case Comments:
CaseDefinition:
OPTION: Temperature option UGIVEN has been chosen. The pipelines are simulated with a constant
outer heat transfer coefficient. The steady state pre-processor is deactivated.
INTEGRATION: The simulation start at t=0 s and ends at time t=20 h. The time step starts at the
minimum value of 0.01 s, and is limited to a maximum value of 10 s.
Controller:
5 controllers are used to stabilize the process. All controllers are of type PID. One controller (FC) is used
to manipulate the feed flow rate of the separator. One pressure controller (PC) is used to control the
pressure in the separator. A level controller (LC) is used to stabilize the liquid level of the separator. An

740 / 769

OLGA 7

pressure in the separator. A level controller (LC) is used to stabilize the liquid level of the separator. An
anti-surge controller (ASC) is used to stabilize the operation of the compressor. The ASC is an
asymmetric PID controller, i.e., it has two amplification factors. A temperature controller is used to control
the temperature at the outlet of the gas pipeline.
FlowComponent:
FLOWPATH ProcessEquipment COMPRESSOR: The compressor is used to lift the gas from
the separator. At steady state, the compressor lift from approximately 71 to 110 bara. A recycle valve with
diameter 0.25 m is controlled by the ASC controller.
FLOWPATH ProcessEquipment HEATEXCHANGER: A controlled heat exchanger is used to
manipulate the pressure out of the gas pipeline. The heat exchanger is given a capacity of -3 MW.
FLOWPATH ProcessEquipment TRANSMITTER: Transmitters are used to transmit the
temperature and overall flow from the pipeline to the controllers.
FLOWPATH ProcessEquipment VALVE: One valve is placed before the riser, but downstream
the transmitter. The valve has the same maximum cross section as the pipeline. A pressure controller is
connected to the valve to manipulate the valve opening.
FLOWPATH Output TRENDDATA: Gas volume flow at the compressor boundary and the
compressor surge flow setpoint for the ASC controller (QGSURGE) are trended.
NODE: The case has three nodes, all of type pressure. The inlet boundary condition is a constant
pressure of 108 bara and temperature 40C. The mass fraction of free water is set to 0 and the gas
faction to 0.7. The outlet boundary conditions for the gas and liquid outlets are constant pressures of
110 bara and 65 bara, respectively.
ProcessEquipment:
SEPARATOR Output TRENDDATA:
SEPARATOR: The separator is horizontal with length 15 m and diameter 2 m. It separates gas and
liquid.
Output:
Pressure, temperature, and liquid level are trended.
OUTPUT: OLGA variables are printed to the output file at the start and end of the simulation.
TREND: Trend variables are plotted every 20 seconds.
PROFILE: Profile variables are plotted every 30 minutes.

741 / 769

OLGA 7

Sample case: Pump Battery


The case Pump-Battery.opi demonstrates how how OLGA can be used to model a pump battery.
The system consists of a 2 km long well tubing followed by a 150 m long wellhead pipe. A pump battery
is installed downstream of the well bottom hole in order to increase the production. The pump battery
speed is controlled by the flow rate at the wellhead. A sketch of the model is shown in Figure 1.
Operation scenario:
Due to the reservoir conditions, this well can only produce a flow of 6 kg/s. After the pump battery is
installed near the well bottom hole, the production can be increased to 10 kg/s or higher.

Figure 1 Sketch of the model.

Case Comments:
CaseDefinition:
OPTIONS: The full heat transfer calculation option with heat transfer through the pipe walls is used. The
steady state pre-processor is turned off.
Controller-models:
PIDCONTROLLER: C-PUMP-SP: This controller is required by the pump module. In this sample case,
the pump speed is controlled by the total mass flow rate at the wellhead as measured by Transmitter
TRAN-WH-TT.
FlowComponent:
FLOWPATH Boundary&InitialConditions INITIALCONDITIONS: Since the steady state preprocessor is not used, the initial conditions have to be given.
742 / 769

OLGA 7

FLOWPATH Boundary&InitialConditions HEATTRANSFER: The ambient temperature is


vertically interpolated from 80C at the bottom of the borehole to 20C at the wellhead. The heat transfer
coefficient on outer walls is set to 500 W/m2K. The minimum heat transfer coefficient on inner walls is
set to 10 W/m2K.
FLOWPATH Boundary&InitialConditions WELL: The reservoir pressure is 200 bara and
reservoir temperature 80C. Production and injection type is LINEAR. AINJ=APROD=0, BINJ=107 kg/s/Pa and BPROD=10-6 kg/s/Pa.
FLOWPATH ProcessEquipment PUMP: The pump battery is defined by following parameters:
MAXCAPACITY=0.06 m3/s; MINCAPACITY=0 m3/s; MAXPRESSURE=230 bara;
MAXSPEED=8000 rpm; MINSPEED=0 rpm.
FLOWPATH Output TRENDDATA: Pump variables are plotted.
NODE: The outlet pressure held constant at 60 bara and the temperature is 20C.
Output:
OUTPUT: OLGA variables are printed to the output file every 10 hours.
TREND: Trend variables are plotted every second.
PROFILE: Profile variables are plotted every 30 minutes.

743 / 769

OLGA 7

Sample case: Separator


The case Separator-converted.opi illustrates the use of a separator.
N.B., when importing similar cases from OLGA 5, a certain amount of manual labor is required. Please
refer to the conversion documentation for a detailed description.
A 4100 m long pipe leads up to a 300 tall riser. On topside a 120 m pipe leads into a separator. The
separator is 4 m long and has a diameter of 2.5 m. The separator has three outlets, a gas outlet, an oil
outlet, and an emergency drain. On the separator outlets, valves controlled by controllers are applied.
The pressure is 50 bara at the gas outlet and 20 bara; at the oil outlet and emergency drain outlet.

Case Comments:
CaseDefinition:
OPTIONS: Full temperature calculations are enabled.
FlowComponent:
FLOWPATH Boundary&InitialConditions INITIALCONDITIONS: The first 100 m of the pipe is
filled with oil whereas the rest of the pipe contains only water. Within the water, three regions containing
different amounts of MEG are set up.
FLOWPATH Boundary&InitialConditions SOURCE: The mass source is ramped up to a steady
mass flow of 53.34 kg/s over the first 8.5 seconds of the simulation. The source temperature is 30C.
FLOWPATH Piping: The branch is a single pipe, 1 km long with an elevation of 50 m.
FLOWPATH Output PROFILEDATA: Variables of interest are hold-ups and inhibitor fractions.
NODE: The inlet node is closed. The outlet boundary condition is set to a constant pressure of 4.5 MPa
and a temperature of 30C.
Output:
OUTPUT: OLGA variables are printed to the output file every 100 seconds.
TREND: Trend variables are plotted every 0.1 seconds.
PROFILE: Profile variables are plotted every 5 seconds.

744 / 769

OLGA 7

Sample case: Simplified Pump


The case Pump-Simplified.opi demonstrates how to model a simplified pump in OLGA.
The system consists of a 500 m long horizontal pipe followed by a 250 m tall vertical riser, and a 100 m
long horizontal topside pipe. The inlet pressure is only 5 bara and the outlet pressure is 50 bara. A pump
is installed in order to deliver the water to a higher pressure tower. No speed controller is required for a
simplified pump. A valve and check vale are placed at the topside pipe. A sketch of the model is shown in
Figure 1.

Figure 1 Sketch of the model.

Case Comments:
CaseDefinition:
OPTIONS: The full heat transfer calculation option with heat transfer through the pipe walls is used. The
initial conditions are determined by the steady state pre-processor.
FlowComponent:
FLOWPATH Boundary&InitialConditions HEATTRANSFER: The ambient temperature is 20C.
The heat transfer coefficient on outer wall is set to 500 W/m2K. The minimum heat transfer coefficient on
inner wall is set to 10 W/m2K.
FLOWPATH ProcessEquipment PUMP: The simplified pump is defined with following
parameters: DENSITYR=1000 kg/m3; FLOWRATED=600 m3/h; SPEEDR=2000 rpm;
DPRATED=70 bara. It is assumed that the pump pressure only dependeds on the pump flow rate.
FLOWPATH Piping: Three pipes are defined for the geometry. The first pipe is a 500 m long
horizontal pipe and the pump is placed at the second section boundary. Downstream of the horizontal
pipeline is a 250 m high vertical riser. At the top of riser is a 100 m long horizontal topside pipe. Pipe
745 / 769

OLGA 7

pipeline is a 250 m high vertical riser. At the top of riser is a 100 m long horizontal topside pipe. Pipe
diameter is 12" and roughness 0.001 m
FLOWPATH Output TRENDDATA: Mass flow rates and pump variables are plotted.
NODE: Both the inlet and outlet nodes are pressure nodes. The inlet pressure is 5 bara and the outlet
pressure is 50 bara. Both nodes have a temperature of 20C.
Output:
OUTPUT: OLGA variables are printed to the output file every 10 hours.
TREND: Trend variables are plotted every second.
PROFILE: Profile variables are plotted every 30 minutes.

746 / 769

OLGA 7

Sample case: Solid bundle


The case SolidBundle-converted.opi demonstrates how OLGA can be used to simulate the transient
and spatial distribution of temperatures in the solid interior of a complex bundle by means of finite
element calculations.
N.B., when importing similar cases from OLGA 5, a certain amount of manual labor is required. Please
refer to the conversion documentation for a detailed description.
The branches 1 and 2 are identical with a 12.0 cm inner diameter. They consist of a 4300 m long
pipeline on the seabed, a 300 m vertical riser, and a 100 m horizontal topside pipe. They merge into
branch 3, a 100 m horizontal topside pipe
The riser of branch 1 is contained within the inner fluid bundle where the carrier line contains heated
water. The water is heated at the platform end, sent down into the carrier line, and back up to the
platform through the return line. This fluid bundle is contained within a solid bundle together with
branch 2 and a methanol line. A sketch of the cross-section of the bundle is shown in Figure 1.

Figure 1 Cross-section of the bundle. The outer border, i.e., the border of the solid bundle, is given by
the shape specified under Library. The fluid bundle contained within the solid bundle is marked in gray
shading.

Case Comments:
Library:
MATERIAL: Carbon steel (MATER-1) and insulation (MATER-2) are the materials used for the pipe
walls. HEATING and METHANOLFLUID are fluids used by the bundle module.
SHAPE: The shape defining the solid bundle, in this case a circle with radius 80 cm made of insulation.
WALL: Five different walls are used in the flowpaths and lines specified.
CaseDefinition:
OPTIONS: The full heat transfer calculation option with heat transfer through the pipe wall has been
used as this is required by both the bundle and FEMTherm modules. The steady state initialization is
turned on.
FlowComponent:
747 / 769

OLGA 7

FLOWPATH Boundary&InitialConditions HEATTRANSFER: The ambient conditions are


defined for all branches. The ambient heat transfer coefficient for the solid bundle is assumed constant
along the length of it. Its value is taken from the first component in the solid bundle definition, more
specifically from its first section entering into the solid bundle. The ambient temperature, on the other
hand, may vary along the length of the solid bundle and the values are taken from its first constituent
branch.
FLOWPATH Boundary&InitialConditions SOURCE: The sources at the inlet of each seabed
pipeline is kept at a constant low rate for the first three hours, before being ramped up to a higher rate
during 10 minutes.
FLOWPATH Piping: The pipeline along the seabed (4300 m) is described using three pipes whereas
the riser and topside as single pipes. The topside branch consists of a single pipe.
FLOWPATH ProcessEquipment; VALVE: One valve is installed at the outlet of each of the parallel
pipelines just upstream of the internal node. They are both fully open throughout the simulation.
NODE: The two inlet nodes for the seabed branches are closed. These two branches lead up to an
internal node where they merge into the topside branch which has a pressure boundary at the outlet.
Inlet temperatures are specified for the bundle lines. An internal node is used for the crossover from the
carrier line to the return line. The water is going in a loop consisting of the carrier and return lines where
constant pressure and temperature is set on the platform side.
ThermalComponent:
SOLIDBUNDLE: The shape of the solid bundle containing all the pipes is defined through the Library
keyword SHAPE. The shape is one out of four BundleComponents in this case. The other components
are a FLOWPATH, a LINE, and a FLUIDBUNDLE. The meshfineness (recommended value is between
128 and 640), calculation time step (DELTAT), and time step for saving thermal data (DTPLOT) define
the FEMTherm calculations.

748 / 769

OLGA 7

Sample case: Source, Leak and Choke


The case Src-Leak-Choke.opi is a simple demonstration of a the simulation using a choke, a controlled
sources and a leak. A horizontal pipe is initially at high pressure and closed at both ends. The choke
with a constant diameter is positioned at the middle of the pipe, the leak at the end and the source at the
inlet. The outside pressure of the source is set constant and equal to the initial pipe pressure. The
outside pressure of the leak is also constant, but very low. All three devices are given a constant flow
area. The simulation starts with a rapid blow down of the pipe with critical flow in the leak. Inlet mass
flow starts when the pipe pressure decreases and a steady state is obtained when the mass flows of the
source and the leak are equal. The temperature in the pipe decreases during the blow down and
increases slowly as warm fluid enters through the inlet.

Figure 1 Schematic illustration of the the simulated pipeline. The pipe is divided into four sections.

Case Comments:
CaseDefinition:
OPTION: The steady state pre-processor is not used since the initial state of the closed pipe is a fluid at
rest. The temperature calculation is performed without heat transfer through the wall.
Controller:
MANUALCONTROLLER: The controllers for the source (C-502) and the leak (C503) are specified as
manual ones. The controller signals determine the flow area and are specified using time series. The
time that the devices need to adjust to a new set point (the actuator time) is 33.33 seconds.
FlowComponent:
FLOWPATH Boundary&InitialConditions INITIALCONDITIONS: The fluid is initially at rest with
constant pressure, void fraction and temperature.
FLOWPATH Boundary&InitialConditions SOURCE: The controller reference number for the
source is C-502. The maximum flow area in the source equals the pipe area. The outside pressure is
held constant at 168 bar and the temperature is held constant at 73C. The negative value of the gas
mass fraction indicates that the phase mass fractions are computed from the equilibrium gas mass
fraction values in the fluid properties tables.
FLOWPATH ProcessEquipment LEAK: The controller reference number for the leak is C-503.
The maximum flow area in the leak equals the pipe area. The relative leakage area is increased from
0.03 to 0.1 after 35 seconds. Due to the actuator time, the leak will use 2.33 seconds before it reaches a
relative opening area of 0.1. The outside pressure is held constant at 2 bar.
FLOWPATH ProcessEquipment VALVE: The choke is positioned at boundary number 3. A time
series for the flow area is given. The maximum flow area in the choke equals the pipe area. The flow
area specified is 3% of the maximum.
749 / 769

OLGA 7

FLOWPATH Piping: Only four sections are specified in the horizontal pipe. The pipe is 80 m long
and parallel to the x-axis.
NODE: The pipe is closed at both ends.
Output:
OUTPUT: OLGA variables are printed to the output file every 10 seconds.

750 / 769

OLGA 7

Sample case: Start-up slug


The cases StartupSlug-pvt.opi and StartupSlug-comp.opi illustrate tracking of a start-up slug without
and with compositional tracking, respectively. The pipeline is symmetric with two 200 meter long
horizontal pipes leading up to a 50 meter long and 2 meter deep dip. The dip is filled with liquid and the
pipe leading from the dip to the outlet is half filled. The pipe leading up to the dip is filled with gas and
the inlet is a gas source. The geometry and initial condition is shown in Figure 1.

Figure 1 Illustration of the pipe geometry and initial condition.

Case Comments:
CaseDefinition:
OPTIONS: The two cases run with COMPOSITIONAL=OFF/ON, respectively. Temperature exchange
with the walls are not accounted for, adiabatic flow is assumed.
FILES: The fluid is described by either a pvt-file or an equivalent feed-file depending on the type of
simulation.
FA-models:
SLUGTRACKING: Level slug initiation is enabled (LEVEL=ON). The initiation of slugs is limited to
initiate a single start-up slug (MAXNOSLUGS=1) at the start of the simulation (STARTTIME=0 s and
ENDTIME=0.1 s).
FlowComponent:
FLOWPATH Boundary&InitialConditions INITIALCONDITIONS: The pressure and temperature
in the branch is set constant and equal to the conditions at the output node. The pipe leading up to the
dip is filled with gas, the dip is filled with liquid, and the pipe leading from the dip to the outlet is half
filled.
FLOWPATH Boundary&InitialConditions SOURCE: The gas source is ramped up to a steady
mass flow of 5.325 kg/s over the first 8.5 seconds of the simulation. The source temperature is 30C.
FLOWPATH Piping: The branch is split into five pipes. A 200 m long horizontal pipe split into
20 sections lead up to the dip. The dip is constituted by two 25 meter long pipes split into 5 m sections
and the lowest point 2.17 m below the horizontal pipes. Two horizontal pipes, each 100 m and split into
20 sections, lead from the dip to the outlet.
FLOWPATH Output TRENDDATA: Various properties for the slug are plotted. Furthermore, the
instantaneous values of the droplet volume fraction and droplet velocity are plotted at boundaries
NODE: The inlet node is closed. The outlet boundary condition is set to a constant pressure of 4.5 MPa
and a temperature of 30C.
Output:
751 / 769

OLGA 7

OUTPUT: OLGA variables are printed to the output file every minute.
TREND: Trend variables are plotted every 0.5 seconds.
PROFILE: Profile variables are plotted every 2.5 seconds.
TRENDDATA: The number of slugs in the pipe is plotted.
PROFILEDATA: Integrated additional pressure drops are plotted.

752 / 769

OLGA 7

Sample case: Tracer Tracking


The case KHI-TracerTracking.opi demonstrates how OLGA can be used to model an inhibitor tracer
tracking case.
The system consists of a well tubing pipeline with a 1875 m true vertical depth (TVD) and a 2725 m
measured depth (MD), a 150 m long wellhead pipe, a 3150 m pipeline leading up to a 391.2 m vertical
riser and a 100 m long horizontal topside pipe. The KHI inhibitor is injected into the first section of the
wellhead pipe. A wellhead choke and a check vale are placed at the wellhead pipeline downstream of
the KHI injection position. The total production is controlled by the wellhead choke. A sketch of the
model is shown in Figure 1.
Operation scenario:
The well is a gas well. The fluid temperature may be below the hydrate temperature in the flow line.
Therefore, a KHI tracer is injected at the wellhead to prevent hydrate formation. The KHI flow rate and
mass fraction in the water phase can be checked for different KHI age groups along the pipeline.

Figure 1 Sketch of the model.

Case Comments:
Library:
HYDRATECURVE: Definition of hydrate curve used by HYDRATECHECK.
TRACERFEED: Definition of the tracer feed TR-KHI.
CaseDefinition:
OPTIONS: Temperature calculations use heat transfer on the inside and outside of pipe walls as well as
heat conduction, but no heat storage is accounted for. The steady state pre-processor is turned off.
753 / 769

OLGA 7

FlowComponent:
FLOWPATH Boundary&InitialConditions INITIALCONDITIONS: Since the steady state preprocessor is not used, the initial conditions have to be given.
FLOWPATH Boundary&InitialConditions HEATTRANSFER: The inlet ambient temperature of
the well is 50C and outlet ambient temperature is 4. The code will do a vertical interpolation on
ambient temperature along the tubing. In the flow line and riser, the ambient temperature is 4C. The
heat transfer coefficient on outer wall is set to 500 W/m2K. The minimum heat transfer coefficient on
inner wall is set to 10 W/m2K.
FLOWPATH Boundary&InitialConditions WELL: The reservoir pressure is 200 bara and
reservoir temperature 50C. Production and injection type is LINEAR. AINJ=APROD=0, BINJ=107 kg/s/Pa and BPROD=2.510-6 kg/s/Pa.
FLOWPATH Boundary&InitialConditions SOURCE: The tracer source injects tracer at a rate of
1 kg/s.
FLOWPATH FA-models HYDRATECHECK: Hydrate checking is activated in all flow-paths.
FLOWPATH Output TRENDDATA: Tracer variables are plotted.
FLOWPATH Output PROFILEDATA: Tracer variables are plotted.
NODE: The outlet pressure held constant at 30 bara and the temperature is 20C.
Output:
OUTPUT: OLGA variables are printed to the output file every 10 hours.
TREND: Trend variables are plotted every 10 seconds.
PROFILE: Profile variables are plotted every hour.

754 / 769

OLGA 7

Sample case: Wateroptions


The case WaterOptions.opi is an example of a three phase simulation using WATEROPTIONS. The
main pipeline starts with a 3.3 km long horizontal pipe ending in a 90 m riser followed by a short
horizontal pipe. The inner diameter of the pipe is 0.41 m. Heat transfer through pipe walls is calculated.

Case Comments:
Library:
WALL: The pipe walls consist of steel (two layers) covered by one layer of insulation.
CaseDefinition:
OPTIONS: The full heat transfer calculation option with heat transfer through pipe walls is used.
INTEGRATION: The simulation runs for five hours using a minimum time step of 0.01 s and a maximum
one of 10 s. The initial time step is set equal to the minimum one.
FA-models:
WATEROPTIONS: Water flash and water slip are turned on.
FlowComponent:
FLOWPATH Boundary&InitialConditions SOURCE: The inlet boundary condition is a constant
mass source with mass flow of 34.181 kg/s and temperature of 60C. The mass fraction of free water is
set to 0.3. Since water flash is active, see WATEROPTIONS keyword, there is additional water in the
vapor phase given by the water vapor mass fraction in the PVT table. By default, the equilibrium is used
to determine the gas source at the inlet.
FLOWPATH Piping: The pipeline is 3.3 km long. The total number of pipes, including topside, is 9.
The pipes are divided into 58 sections. The pipe walls consist of steel (two layers) covered with a layer
of insulation.
NODE: The inlet node is closed. The outlet boundary condition is to a constant pressure of 24 bara and
a temperature of 26C.
Output:
OUTPUT: OLGA variables are printed to the output file at the start and end of the simulation.
TREND: Trend variables are plotted every 10 seconds.
PROFILE: Profile variables are plotted every 50 seconds.

755 / 769

OLGA 7

Sample case: Wax deposition


The case WaxDeposition.opi demonstrates a simulation of wax deposition. The pipeline consists of an
8 km long horizontal pipe, a 110 m vertical riser, and 60 m long horizontal topside pipe. The inner
diameter is 0.17 m throughout the pipeline.
The fluid enters the pipeline with a temperature of 70C, which is above the wax appearance
temperature. On its way through the pipeline, the fluid is cooled and wax precipitation and deposition
starts once the temperature is low enough. This happens about 2 km from the inlet. Due to the thermal
insulation effect of the wax layer, the fluid temperature increases in the parts of the pipeline where wax is
deposited. Furthermore, the wax layer makes the effective area of the pipe decreases, resulting in an
increasing inlet pressure in order to maintain a constant flow rate.

Case Comments:
Library:
WALL: The pipe wall consists of steel, concrete, and an insulating polypropylene layer.
CaseDefinition:
FILES: The wax properties are defined in the file wax_tab-1.wax.
OPTION: The steady state pre-processor is activated to generate the initial conditions. N.B., wax is not
accounted for in the pre-processor. Full temperature calculation (TEMPERATURE=WALL) is required
when simulating wax deposition.
INTEGRATION: Since wax deposition is a slow process, the simulation time is set to 10 days. This is
sufficient for a wax layer to start appearing.
FlowComponent:
FLOWPATH Boundary&InitialConditions SOURCE: The flow rate at the inlet is set to
17.51 kg/s with a temperature of 70C.
FLOWPATH FA-models WAXDEPOSITION: Deposition of wax is allowed in the entire pipeline.
The wax porosity is set to 0.6 and the built in routine for calculating the viscosity of oil with precipitated
wax is used. Wax properties are taken from the table WAXTAB in the file wax_tab-1.wax. Contribution to
the wall roughness from deposited wax is not considered (WAXROUGHNESS=0 by default).
FLOWPATH Output PROFILEDATA: Variables of interest are pressure and temperature in
addition to wax related variables, such as wax layer thickness (DXWX), mass of wax dispersed and
dissolved in oil (MWXDIP and MWXDIS, respectively) and the wax appearance temperature (WAXAP),
which is pressure dependent.
FLOWPATH Piping: For the horizontal part of the pipeline, sections of length 250 m are used. If
higher accuracy of the position where the wax starts depositing is needed, shorter sections should be
used.
NODE: The inlet node is closed. A constant outlet pressure of 20 bara is applied.
Output:
756 / 769

OLGA 7

OUTPUT: Pressure and temperature in all sections are written every 10&#days. Four columns of results
are printed on each page.
TREND: Trend variables are plotted every hour.
PROFILE: Profile variables are plotted every day.

757 / 769

OLGA 7

Troubleshooting
Below is a list of problems with some suggestion of what has gone wrong and/or how to solve the
problem.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.

Simulation state is not runnable


Simulation state is runnable, but the simulation will not run
Geometry Editor problems
Problem showing the graphics
Update Graphical driver
GUI uses a lot of Memory
Plots - no units are shown
What to do when the layout gets screwed up
License issues
Inp files associated with GUI
Mouse pointer changed to an unrecognize symbol

758 / 769

OLGA 7

Geometry Editor problems


Below is a list of scenarios with some suggestion on how to solve:
1. Problem entering new values for existing pipes.
Check that none of the filters are turned on, X-Bound/Y-Bound/X Fixed/Y Fixed.
2. Update geometry? is not asked on exit.
The Geometry Editor needs to be associated to a flowpath to be able to update the correct
flowpath. If you do not get the question about updating the geometry on exit, the reason might be
that you opened the Geometry Editor without being connected to a flowpath and a geometry. In this
case you need to use the exchange geometry option to be able to update the geometry of a given
flowpath. Exchange geometry can be accessed while the Geometry Editor is open by right clicking
on the flowpath which you want to update the geometry for.
3. The geometry editor does not start (possibly with the error message 'Geometry Editor is not
registered).
Start the Windows Explorer and locate the file Geometry.exe. The file is located in the \SPT
Group\OLGAGeoEditor subfolder where you installed OLGA. Double click on this exe. If the
geometry editor starts then close it again and try to start it from the OLGA GUI.
If none of the above scenarios covers your request please send an e-mail to
olgasupport@sptgroup.com.

759 / 769

OLGA 7

GUI Memory Requirement


The OLGA GUI can in some cases use up to 50% of the memory, even if it is not active.
A solution to this problem can be to updated the driver on the video card.

760 / 769

OLGA 7

Inp files are associated to OLGA GUI


The installation starts the GUI with the /Register switch, so the files mentioned are after the installation
associated with the GUI.
If you want to remove all the associations you can launch the OLGA GUI.exe from DOS window with the
/Unregister switch. (The GUI won't open, only the file associations are removed)
e.g "OLGA GUI.exe" /Unregister
OR
Through the windows explorer and "Folder Option" to remove selected file associations, i.e only the .inp

761 / 769

OLGA 7

License issues
Specifying the OLGA license file:
1. Start the License Handler from the start menu -> All programs -> SPT Group-> License Handler.
2. In the license handler select the type of license you use. Then click 'Configure'
3a) If you are using a local license server, specify the location of the license folder. This folder should
contain your license file(s). As long as you have the .lic extension on your license file you can have
several license files.NB! Make sure you do not have any invalid licenses in the license folder (e.g.
expired licenses)
3b) If you are using a network license server, specify the location of the license server on the format
<port>@<host>. Please note that OLGA licenses by default does not specify a port number (previously
they used port 7570). I.e. the location of the license server will normally be on the format @<host> (e.g.:
@myserver).
3c) If you are using a demo license file, specify the full path to the license file, including the name of the
license file.
4. If the local license server status is green (up and running), you press close. However, if it is not, you
can try to select the Restart license server and/or Uninstall license server followed by Install
license server (for local license servers only).
5. If you still cannot get the local license server status green (up and running), please contact
olgasupport at olgasupport@sptgroup.com.
Specifying the PVTsim license file:
1. Start the license Manager from the start menu -> All programs -> Calsep -> License Manager ->
Calsep License Manager.
2. Choose FlexLm and press OK.
3. Next time you start PVTsim you will be asked to give the path to the license file.

762 / 769

OLGA 7

Mouse pointer changed to an unrecognize symbol


If one within the graphical user interface (GUI) press e.g. the combination space + N, the mouse pointer
becomes a knife. To get rid of this symbol one have to press space. There are several symbols that can
be accessed by pressing space + a character. However, by pressing space one will return to the
standard mouse pointer.

763 / 769

OLGA 7

Plots - no units are shown


What to do if no units are shown in the plots.
1. Check that cached static data is turned on. This can be checked by selecting Tools -> Options from
the GUI main menu. Cached static data should always be turned on. GUI should be restarted if the
cached static data had to be turned on.
2. Try to restart GUI.
If you still have a problem please contact olgasupport@sptgroup.com.

764 / 769

OLGA 7

Problems showing the graphics


1. The OLGA GUI complains about that the hardware acceleration must be turned on.
This error may arise in at least 3 different circumstances.
* The hardware acceleration is manually been turned off.
a. Open the Display properties (i.e. right-click on the desktop and select ;Properties).
b. Select the settings tab.
c. Click on the Advanced button. The page that appears here is created by the graphics card
vendor, and may very a lot from one pc to the other. It is difficult to say what to look for in general, but
maybe Troubleshoot. When you locate it, it should state pretty clear that the property is r;hardware
acceleration.
d. Set the hardware acceleration to full.
* The current graphics driver don't support hardware acceleration for OpenGL.
a. Update the graphics driver
* The pc is used through Remote Desktop. The OLGA GUI won't work!
2. When starting the OLGA GUI all is ok. But when I try to load an old case or create a new one, no
graphics are presented for that case. I only get a gray box with a white ellipsis inside, and some text
inside that again.
This problem is due to some graphics settings no complying with the gui's graphical engine. It can
happen in at least 2 different situations.
* The display color quality is less than the minimum 32 bit.
a. Open the Display properties (i.e. right-click on the desktop and select Properties).
b. Select the settings tab.
c. The "Color Quality" must be set to at least 32 bit.
d. Re-start the GUI.
* The graphics card is to old. The gui is tested with graphics card as low as 16MB of graphics RAM.
This is, however well below our recommended size. But there is a lot of uncertainty we respect to the
driver for such a card. The only thing to do is to update to the newest available driver for that specific
card.

765 / 769

OLGA 7

What to do when the layout gets screwed up


1. You can restore the original layout by selecting the Restore to factory settings. This option can be
accessed from the Tools -> Options menu. PS. This option requires GUI to close to take action.
2. If it is just a floating window, e.g. the property dialog, double click on the top of floating window, and
the window will dock itself were it last was docked.
3. If a window is missing from the layout. It can be reopened from the View menu.

766 / 769

OLGA 7

Simulation state is runnable, but the simulation will not run


1. Check that a simulation engine is defined. Click Tools -> Options and select the OLGA Version tab.
Verify that a version number is listed and selected. If not, click the Advanced button and add an 'OLGA
engine/rules'. You can also add an OLGA 5 engine (refer to the installation guide for a description on
how to set up OLGA 5 engines in the OLGA 6 GUI).
2. Try to run the case in batch (F4). If the case runs in batch then inspect the genkey file. The genkey
file can be viewed by right clicking the case name in the file view window and selecting Open as text file.
If the .genkey file shows keys that you didn't think you had specified, check that the write default values
are not turned on. To check this go to Tools -> Options and see if Write default values to OLGA is
turned on. If so, uncheck the option and try to start the simulation again.
4. If you still cannot find out what is wrong please send the case and the associated files to
olgasupport@sptgroup.com.

767 / 769

OLGA 7

Simulation state is not runnable


Normally, when the simulation state is "not runnable", there is something wrong with the input. Press F7
or the Verify button to verify the case. The output window will display a list of errors and warnings
related to the given input.
1. Fix the errors that are displayed in the Output window.
2. If an error message states that something is wrong even though it appear to be correct (e.g. An error
claims that the list of specified keys are not of the same length even though they are) try to define one of
the keys over again. If this doesn't help you can try to define the keyword over again starting from an
empty keyword.
3. If no error message appear, check that the Error button on the upper left corner of the output window
is turned on. This is a filter button that removes all error messages reported to the output window if it is
turned off.
4. If you still have a problem, send the opi file and the associated files (like the .tab file) to
olgasupport@sptgroup.com.
5. Generate a genkey file by selecting the File view, right click on the filename and select -> Open as
text file. A genkey file is now saved on the same location as the opi file. Rename the *.genkey file to
*.key. Close the opi file that you are having trouble with and open the newly created *.key file. If you still
get a simulation state that is not runnable, wait for the reply from olgasupport.

768 / 769

OLGA 7

Update Graphical driver


This is a short guide to how you can check and/or update your graphics driver. OLGA has some
requirements with regard to the PC's graphics driver. In order to make OLGA work properly, you have to
make sure your graphics card comply with these requirements.
1. Identify your graphics driver.
a. Open the Display properties (i.e. right-click on the desktop and select Properties).
b. Select the settings tab.
c. Click on the Advanced button. The page that appears here is created by the graphics card
vendor, and may very a lot from one pc to the other. It is difficult to say what to look for in general,
but if you have an Adapter tab here, thats a start. What you need is the properties of the
adapter, which in turn should list what driver the pc currently uses.
d. The graphics driver should be provided by the graphics cards manufacturer. On some older pcs it
is likely that Microsoft has provided the driver, if so it must be updated.
2. Update the graphics driver.
a. Open the graphics cards manufacturers homepage.
b. Try to find Download or Driver or something. If you find a newer driver for your specific
graphics card, download it and install.
c. If you can't find the correct driver, try the pc manufacturers homepage, and try to locate a new
graphics driver there.
3. Reboot the pc (if necessary).

769 / 769

S-ar putea să vă placă și