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

v 2.

4
CONVERGECFD MANUAL SERIES

CONVERGE MANUAL
Table of Contents
Chapter 1 Introduction 19
....................................................................................................................................................................................
1.1 Proprietary Notices 21
....................................................................................................................................................................................
1.2 Units in CONVERGE 22
....................................................................................................................................................................................
1.3 Release Notes 22
2.4.19 .......................................................................................................................................................... 23

2.4.18 .......................................................................................................................................................... 25

2.4.17 .......................................................................................................................................................... 28

2.4.16 .......................................................................................................................................................... 30

2.4.15 .......................................................................................................................................................... 32

2.4.14 .......................................................................................................................................................... 35

2.4.13 .......................................................................................................................................................... 38

2.4.12 .......................................................................................................................................................... 40

2.4.11 .......................................................................................................................................................... 42

2.4.10 .......................................................................................................................................................... 44

2.4.9 .......................................................................................................................................................... 46

2.4.8 .......................................................................................................................................................... 48
..........................................................................................................................................................
Major Changes from CONVERGE 2.3 to 2.4 51

Solver ......................................................................................................................................................... 51

Efficiency
......................................................................................................................................................... 51

Input ......................................................................................................................................................... 52

Output/Post-Processing
......................................................................................................................................................... 52

Boundaries
......................................................................................................................................................... 52

Materials......................................................................................................................................................... 53
Sources ......................................................................................................................................................... 53
Combustion and Emissions
......................................................................................................................................................... 53

Chemistry Tools
......................................................................................................................................................... 53

Spray ......................................................................................................................................................... 54

Turbulence
......................................................................................................................................................... 54

FSI ......................................................................................................................................................... 54

CHT ......................................................................................................................................................... 54

UDF ......................................................................................................................................................... 54

Chapter 2 File Overview 55


....................................................................................................................................................................................
2.1 Input and Data Files 56
....................................................................................................................................................................................
2.2 Output Files 57

CONVERGE 2.4 Manual 3


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3 Pre-Processing and Post-Processing 61
....................................................................................................................................................................................
3.1 CONVERGE Gridding Methods 62
....................................................................................................................................................................................
3.2 Surface Geometry File Format 64
....................................................................................................................................................................................
3.3 Surface Preparation 65
Open Edges .......................................................................................................................................................... 66

Nonmanifold..........................................................................................................................................................
Edges 66
..........................................................................................................................................................
Intersecting Triangles 68

Overlapping..........................................................................................................................................................
and Sliver Triangles 69
.......................................................................................................................................................... 72
Normal Orientation
3.4 ....................................................................................................................................................................................
Periodic Surfaces 73
3.5 ....................................................................................................................................................................................
Make Surface and Extract Profile 73
3.6 ....................................................................................................................................................................................
Boundary Identification 80
3.7 ....................................................................................................................................................................................
Moving Boundaries 81
.......................................................................................................................................................... 81
Surface Position
..........................................................................................................................................................
Moving Periodic Faces 82
..........................................................................................................................................................
Surface Defects Caused by Motion 83
.......................................................................................................................................................... 86
Surface Alignment
.......................................................................................................................................................... 87
Sealing of Boundaries
Sealed Surface Geometry Format
......................................................................................................................................................... 89

make_seals Utility
......................................................................................................................................................... 90

Seal in CONVERGE Studio


......................................................................................................................................................... 91

Sealing.........................................................................................................................................................
Test Utility 100

....................................................................................................................................................................................
3.8 Additional Boundaries for the MRF Approach 101
.................................................................................................................................................................................... 102
3.9 Post-Processing
Chapter 4 Governing Equations 109
....................................................................................................................................................................................
4.1 Mass and Momentum Transport 111
..........................................................................................................................................................
Multiple Reference Frame Approach 113

4.2 ....................................................................................................................................................................................
Equation of State 115
4.3 ....................................................................................................................................................................................
Energy Transport 117
4.4 ....................................................................................................................................................................................
Species Transport 120
4.5 ....................................................................................................................................................................................
Scalar and Passive Scalar Transport 122
4.6 ....................................................................................................................................................................................
Turbulent Transport 123

Chapter 5 Numerics 125


5.1 ....................................................................................................................................................................................
Finite Volume 126
5.2 ....................................................................................................................................................................................
Solution Procedure 128
5.3 ....................................................................................................................................................................................
PISO Algorithm 130
5.4 ....................................................................................................................................................................................
Rhie-Chow Algorithm 134

4 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
....................................................................................................................................................................................
5.5 CFL Numbers 135
....................................................................................................................................................................................
5.6 Time-Step Control 136
....................................................................................................................................................................................
5.7 Convective Flux Schemes 138
.......................................................................................................................................................... 138
MUSCL Scheme
.......................................................................................................................................................... 140
Flux Limiters
....................................................................................................................................................................................
5.8 Iterative Linear Solvers 143
.......................................................................................................................................................... 145
SOR Algorithm
BiCGSTAB..........................................................................................................................................................
Method 147

....................................................................................................................................................................................
5.9 Solver Types: Transient and Steady-State 148
Transient ..........................................................................................................................................................
Solver 149
..........................................................................................................................................................
Steady-State Solver 151

Chapter 6 Source Modeling Setup 159


6.1 ....................................................................................................................................................................................
Energy Source Modeling 163
6.2 ....................................................................................................................................................................................
Momentum Source Modeling 164
6.3 ....................................................................................................................................................................................
Turbulent Kinetic Energy Source Modeling 165
6.4 ....................................................................................................................................................................................
Turbulent Dissipation Source Modeling 166
6.5 ....................................................................................................................................................................................
Specific Dissipation Source Modeling 167
6.6 ....................................................................................................................................................................................
Species Source Modeling 167
6.7 ....................................................................................................................................................................................
Passives Source Modeling 168
6.8 ....................................................................................................................................................................................
User Source Modeling 169
6.9 ....................................................................................................................................................................................
Porous Media Modeling 169

Chapter 7 Initialization and Regions 173


....................................................................................................................................................................................
7.1 Initialization Methods 174
..........................................................................................................................................................
Initialization by initialize.in 174

Mapping .......................................................................................................................................................... 176


Restart .......................................................................................................................................................... 178
.................................................................................................................................................................................... 180
7.2 Regions
..........................................................................................................................................................
Undefined/Dependent Region 181
.......................................................................................................................................................... 184
Region Connection/Disconnection
Events .......................................................................................................................................................... 187
..........................................................................................................................................................
Region-Specific Output 189

Chapter 8 Boundary Conditions 191


....................................................................................................................................................................................
8.1 INFLOW and OUTFLOW Boundaries 192
..........................................................................................................................................................
Velocity Boundary Conditions 194
..........................................................................................................................................................
Pressure Boundary Conditions 199
..........................................................................................................................................................
Temperature Boundary Conditions 203
..........................................................................................................................................................
Species Boundary Conditions 203

CONVERGE 2.4 Manual 5


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
..........................................................................................................................................................
Passive Boundary Conditions 204

Turbulent..........................................................................................................................................................
Kinetic Energy Boundary Conditions 205

Turbulent..........................................................................................................................................................
Dissipation Boundary Conditions 206

..........................................................................................................................................................
Specific Dissipation Rate Boundary Conditions 207

OUTFLOW ..........................................................................................................................................................
Backflow Boundary Conditions 208
..........................................................................................................................................................
Spatially and/or Temporally Varying Boundary Conditions 209
..........................................................................................................................................................
Navier-Stokes Characteristic Boundary Conditions (NSCBC) 212

....................................................................................................................................................................................
8.2 WALL Boundary Type 216
..........................................................................................................................................................
Sliding WALL Boundary Conditions 217
..........................................................................................................................................................
Moving WALL Boundaries 220
..........................................................................................................................................................
Reloft WALL Boundaries 229

..........................................................................................................................................................
Velocity Boundary Conditions 230
..........................................................................................................................................................
Pressure Boundary Conditions 235
..........................................................................................................................................................
Temperature Boundary Conditions 235
..........................................................................................................................................................
Species and Passive Boundary Conditions 242

Turbulent..........................................................................................................................................................
Kinetic Energy Boundary Conditions 243

Turbulent..........................................................................................................................................................
Dissipation Boundary Conditions 243
..........................................................................................................................................................
Specific Dissipation Rate Boundary Conditions 243
..........................................................................................................................................................
Spatially and/or Temporally Varying Boundary Conditions 244

8.3 ....................................................................................................................................................................................
PERIODIC Boundary Type 246
8.4 ....................................................................................................................................................................................
SYMMETRY Boundary Type 248
8.5 ....................................................................................................................................................................................
TWO_D Boundary Type 249
8.6 ....................................................................................................................................................................................
INTERFACE Boundary Type 249
8.7 ....................................................................................................................................................................................
GT-SUITE Boundary Type 253

Chapter 9 Physical Properties and Reaction


Mechanisms 257
....................................................................................................................................................................................
9.1 Gas Properties 258
..........................................................................................................................................................
Thermodynamic Data Input Files 259
..........................................................................................................................................................
gas.dat and transport.dat 260
..........................................................................................................................................................
Species-Dependent Critical Properties of Gases 260
..........................................................................................................................................................
Reaction Mechanism Input File 261

REV Reaction Option


......................................................................................................................................................... 262

Three Body Reaction Option


......................................................................................................................................................... 262

Pressure-Dependent Reaction Option


......................................................................................................................................................... 262

Duplicate Reaction Option


......................................................................................................................................................... 265

Isomer Lumping Reaction Option


......................................................................................................................................................... 266

Fractional Order (FORD) Reaction Option


......................................................................................................................................................... 269

User-Defined Reaction Rate


......................................................................................................................................................... 269

6 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Ionization..........................................................................................................................................................
Reactions 269

Mechanism ..........................................................................................................................................................
Merge 270

mechspec
......................................................................................................................................................... 271

mechreac
......................................................................................................................................................... 272

mechmerge
......................................................................................................................................................... 275
..........................................................................................................................................................
Mechanism Tune 276

....................................................................................................................................................................................
9.2 Liquid Properties 278
..........................................................................................................................................................
Compressible Liquid Data 278
..........................................................................................................................................................
Non-Newtonian Liquids 278

9.3 ....................................................................................................................................................................................
Fluid Property Calculator 279
9.4 ....................................................................................................................................................................................
Surrogate Blender 280
9.5 ....................................................................................................................................................................................
Solid Properties - solid.dat 281
9.6 ....................................................................................................................................................................................
Species Definitions - species.in 281
.......................................................................................................................................................... 282
Skip Species

Chapter 10 Grid Control 285


10.1 ....................................................................................................................................................................................
Grid Scaling 286
10.2 ....................................................................................................................................................................................
Fixed Embedding 286
10.3 ....................................................................................................................................................................................
Adaptive Mesh Refinement 289
10.4 ....................................................................................................................................................................................
Cell Pairing 293

Chapter 11 Parallel Processing 297


....................................................................................................................................................................................
11.1 Parallelization for Transport Equations 298
....................................................................................................................................................................................
11.2 Parallelization for the SAGE Solver 303
....................................................................................................................................................................................
11.3 Hardware Considerations 304

Chapter 12 Discrete Phase Modeling 307


....................................................................................................................................................................................
12.1 Liquid Injection 309
.......................................................................................................................................................... 309
Injector Inputs
.......................................................................................................................................................... 315
Nozzle Inputs
..........................................................................................................................................................
Injection Size Distributions 317

....................................................................................................................................................................................
12.2 Particle Equation of Motion 320
....................................................................................................................................................................................
12.3 Drop Drag and Liquid/ Gas Coupling 321
....................................................................................................................................................................................
12.4 Spray Breakup 324
..........................................................................................................................................................
Kelvin-Helmholtz Breakup Model 325
.......................................................................................................................................................... 330
KH-ACT Model
..........................................................................................................................................................
Rayleigh-Taylor Breakup Model 334
..........................................................................................................................................................
KH-RT Breakup Length Model 336
..........................................................................................................................................................
Modified KH-RT Model 338
..........................................................................................................................................................
TAB Breakup Model 338

CONVERGE 2.4 Manual 7


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
..........................................................................................................................................................
LISA Breakup Model 342

....................................................................................................................................................................................
12.5 Collision and Coalescence 345
O’Rourke ..........................................................................................................................................................
Numerical Scheme 345

..........................................................................................................................................................
NTC Numerical Scheme 348

O’Rourke ..........................................................................................................................................................
Collision Outcomes 351
..........................................................................................................................................................
Post Collision Outcomes 352
..........................................................................................................................................................
Adaptive Collision Mesh 355

....................................................................................................................................................................................
12.6 Drop Turbulent Dispersion 357
..........................................................................................................................................................
RANS Turbulence Models 357

LES Model.......................................................................................................................................................... 360


....................................................................................................................................................................................
12.7 Drop/ Wall Interaction 361
..........................................................................................................................................................
Rebound/Slide Model 361

Wall Film..........................................................................................................................................................
Model 363

Film Initialization
......................................................................................................................................................... 363

Film Momentum Equation


......................................................................................................................................................... 364

Drop/Film Rebounding
......................................................................................................................................................... 366

Drop/Film Splashing: O'Rourke Model


......................................................................................................................................................... 367

Drop/Film Splashing: Kuhnke Model


......................................................................................................................................................... 371

Drop/Film Splashing: Bai-Gosman Model


......................................................................................................................................................... 379

Spray-Wall Heat Transfer: Wruck Model


......................................................................................................................................................... 383

Film Separation
......................................................................................................................................................... 386

Film Stripping
......................................................................................................................................................... 387

Adaptive Film Mesh


......................................................................................................................................................... 388
..........................................................................................................................................................
Drop Vanish Model 389

.................................................................................................................................................................................... 389
12.8 Vaporization
..........................................................................................................................................................
Drop Vaporization Models 389

Droplet.........................................................................................................................................................
Radius Change - Frossling Correlation 390

Droplet.........................................................................................................................................................
Radius Change - Chiang Correlation 392

Droplet.........................................................................................................................................................
Boiling Model 392

Uniform.........................................................................................................................................................
Temperature Model 393

Discretized Temperature Model


......................................................................................................................................................... 394
..........................................................................................................................................................
Film Vaporization Model 396
..........................................................................................................................................................
Multi-Component and Composite Species Vaporization 401

12.9 ....................................................................................................................................................................................
Eulerian-Lagrangian Spray Atomization Model 405
12.10 ....................................................................................................................................................................................
Spray Time-Step Control 407
12.11 ....................................................................................................................................................................................
Post-Processing Parameters 408
12.12 ....................................................................................................................................................................................
Urea Injection 409
..........................................................................................................................................................
Urea/Water Injection 409
..........................................................................................................................................................
Molten Solid Urea Decomposition 410

8 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
..........................................................................................................................................................
Detailed Decomposition of Urea for Deposition 411

Chapter 13 Chemistry Modeling 415


13.1 ....................................................................................................................................................................................
Premixed Combustion Models 416
13.2 ....................................................................................................................................................................................
Non-Premixed Combustion Models 417
13.3 ....................................................................................................................................................................................
SAGE Detailed Chemical Kinetics Solver 418
13.4 ....................................................................................................................................................................................
Chemical Equilibrium—CEQ 423
13.5 ....................................................................................................................................................................................
Flamelet Generated Manifold (FGM) 424
13.6 ....................................................................................................................................................................................
G-Equation Combustion Model 428
..........................................................................................................................................................
G-Equation Input Parameters 439

....................................................................................................................................................................................
13.7 ECFM - Extended Coherent Flamelet Model 441
..........................................................................................................................................................
ECFM Input Parameters 449

....................................................................................................................................................................................
13.8 ECFM3Z : Extended Coherent Flame Model 3 Zones 455
..........................................................................................................................................................
ECFM3Z Input Parameters 461

....................................................................................................................................................................................
13.9 Shell+CTC Model 461
....................................................................................................................................................................................
13.10 RIF Model 478
....................................................................................................................................................................................
13.11 Surface Chemistry Model 485
Theory .......................................................................................................................................................... 487
.......................................................................................................................................................... 490
Reaction Options
Coverage-Dependent (COV) Reaction Option
......................................................................................................................................................... 490

Sticking.........................................................................................................................................................
Reaction (STICK) Option 491

Reverse.........................................................................................................................................................
Reaction Rate 491
..........................................................................................................................................................
Effectiveness Factor 492

13.12 ....................................................................................................................................................................................
Adaptive Zoning 493
13.13 ....................................................................................................................................................................................
Combustion-Related Output 498
13.14 ....................................................................................................................................................................................
Combustion Time-Step Control 499
13.15 ....................................................................................................................................................................................
Zero-Dimensional Combustion Utilities 499
..........................................................................................................................................................
Autoignition (Zero-Dimensional Calculations) 500
..........................................................................................................................................................
Zero-Dimensional Adjoint Sensitivity Analysis 502
..........................................................................................................................................................
Zero-Dimensional Sensitivity Analysis 503

Post-Processing Senstivity Output


......................................................................................................................................................... 504

....................................................................................................................................................................................
13.16 One-Dimensional Combustion Utilities 505
Inputs for..........................................................................................................................................................
One-Dimensional Combustion Utility 508
..........................................................................................................................................................
One-Dimensional Sensitivity Analysis 509

....................................................................................................................................................................................
13.17 Mechanism Reduction 510
..........................................................................................................................................................
DRG (Directed Relation Graph) 511
..........................................................................................................................................................
DRGEP (Directed Relation Graph Error Propagation) 512

DRGEPSA..........................................................................................................................................................
(Directed Relation Graph Error Propagation with Sensitivity Analysis) 514

CONVERGE 2.4 Manual 9


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14 Emissions Modeling 517
....................................................................................................................................................................................
14.1 NOx Modeling 518
..........................................................................................................................................................
Thermal NOx Model 518
..........................................................................................................................................................
Prompt NOx Model 524

....................................................................................................................................................................................
14.2 Soot Modeling 526
Empirical ..........................................................................................................................................................
Soot Model: Hiroyasu-NSC 527
..........................................................................................................................................................
Phenomenological Soot Models 531

Gokul Model
......................................................................................................................................................... 532

Dalian Model
......................................................................................................................................................... 533

Waseda.........................................................................................................................................................
Model 534

Particulate..........................................................................................................................................................
Mimic Soot Model 536

Stages of the PM Model


......................................................................................................................................................... 537

Particulate..........................................................................................................................................................
Size Mimic Soot Model 541

Stages of the PSM Model


......................................................................................................................................................... 543
..........................................................................................................................................................
Soot Modeling Case Setup 545

Soot Model Passives


......................................................................................................................................................... 546

Soot Precursors
......................................................................................................................................................... 548

Chapter 15 Turbulence Modeling 549


....................................................................................................................................................................................
15.1 RANS Models 551
.......................................................................................................................................................... 552
k-ε Models
v2-f Model
......................................................................................................................................................... 558

ζ-f Model
......................................................................................................................................................... 560

Buoyancy Effects in k-ε Models


......................................................................................................................................................... 561
.......................................................................................................................................................... 563
k-ω Models
..........................................................................................................................................................
RANS Boundary Conditions 568

k-ε Boundary Conditions


......................................................................................................................................................... 568

k-ω Boundary Conditions


......................................................................................................................................................... 571
..........................................................................................................................................................
RANS Input Parameters 574

....................................................................................................................................................................................
15.2 Reynolds Stress Models 576
....................................................................................................................................................................................
15.3 LES Models 581
..........................................................................................................................................................
Zero-Equation LES Models 582
..........................................................................................................................................................
One-Equation LES Models 585
..........................................................................................................................................................
LES Boundary Conditions 587

LES Input..........................................................................................................................................................
Parameters 588

....................................................................................................................................................................................
15.4 DES Models 589
....................................................................................................................................................................................
15.5 Turbulence Statistics Output 589

Chapter 16 Conjugate Heat Transfer 593

10 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
....................................................................................................................................................................................
16.1 Conjugate Heat Transfer Setup 594
..........................................................................................................................................................
Defining and Specifying Solid Properties - species.in, solid.dat 594

Fluid and ..........................................................................................................................................................


Solid Regions – initialize.in 595

Boundary ..........................................................................................................................................................
Conditions for CHT 596

....................................................................................................................................................................................
16.2 Time Control Methods for CHT 599
..........................................................................................................................................................
Super-Cycle Stages 604
..........................................................................................................................................................
Super-Cycle Output 604
..........................................................................................................................................................
Super-Cycle Inputs - supercycle.in 605
..........................................................................................................................................................
Heat Transfer Mapping for Multi-Cylinder CHT 605

Chapter 17 Volume of Fluid (VOF) Modeling 609


17.1 ....................................................................................................................................................................................
Individual Species Solution Method 612
17.2 ....................................................................................................................................................................................
Void Fraction Solution Method 617
17.3 ....................................................................................................................................................................................
Surface Tension and Wall Adhesion 621
17.4 ....................................................................................................................................................................................
Cavitation Modeling 623
17.5 ....................................................................................................................................................................................
VOF-Spray One-Way Coupling 624
17.6 ....................................................................................................................................................................................
Dissolved Gas Modeling 629

Chapter 18 Fluid-Structure Interaction (FSI) Modeling 631


....................................................................................................................................................................................
18.1 Force and Moment Calculation 632
....................................................................................................................................................................................
18.2 Equations of Motion - Rigid Body Dynamics 632
....................................................................................................................................................................................
18.3 FSI Implementation 633
FSI Spring.......................................................................................................................................................... 638
.......................................................................................................................................................... 639
FSI Stiction
FSI Events.......................................................................................................................................................... 639
....................................................................................................................................................................................
18.4 GT-SUITE/ FSI Coupling 639

Chapter 19 Radiation Modeling 641


....................................................................................................................................................................................
19.1 Discrete Ordinates Method 642
..........................................................................................................................................................
Discrete Ordinates Governing Equations 642
.......................................................................................................................................................... 642
Discretization
Scattering..........................................................................................................................................................
Phase Function 644
..........................................................................................................................................................
Nongray Gas Radiation Models 645

....................................................................................................................................................................................
19.2 Spray/ Radiation Coupling 646
....................................................................................................................................................................................
19.3 Radiation-Related Inputs 647

Chapter 20 Internal Combustion Engine Applications 649


....................................................................................................................................................................................
20.1 Velocity Initialization in IC Engines 650
..........................................................................................................................................................
Velocity Initialization in the Piston 650
..........................................................................................................................................................
Velocity Initialization in the Cylinder 651

CONVERGE 2.4 Manual 11


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
..........................................................................................................................................................
Swirl, Tumble, and Angular Momentum 653

....................................................................................................................................................................................
20.2 Compression Ratio Calculations 654
....................................................................................................................................................................................
20.3 Finite Element Analysis 654
....................................................................................................................................................................................
20.4 Energy Sources in Engine Models 656
..........................................................................................................................................................
Heat Release Data 656
.......................................................................................................................................................... 657
Spark Energy
..........................................................................................................................................................
Pressure Trace Data 658

....................................................................................................................................................................................
20.5 Synchronizing Valve Motion 659
....................................................................................................................................................................................
20.6 Multiple Cylinder Simulations 661
Valve Lift..........................................................................................................................................................
Profile 662
..........................................................................................................................................................
Swirl, Tumble for Inclined Cylinders 663

..........................................................................................................................................................
Region-Dependent Model Options 663

....................................................................................................................................................................................
20.7 Multiple Cycle Simulations 665
....................................................................................................................................................................................
20.8 Crevice Model 666
....................................................................................................................................................................................
20.9 Sealing of Boundaries for Engine Applications 670

Chapter 21 CONGO - Optimization and Model


Interrogation Utility 673
....................................................................................................................................................................................
21.1 Genetic Algorithm (GA) 674
....................................................................................................................................................................................
21.2 Design of Experiments (DoE) 677
....................................................................................................................................................................................
21.3 Using CONGO 678
..........................................................................................................................................................
Map of CONGO Inputs, Outputs, Tools, Executables 678
.......................................................................................................................................................... 678
Merit Function
..........................................................................................................................................................
CONGO Input Files 681
..........................................................................................................................................................
CONGO <--> CONVERGE Communication 682

CONVERGE Output for GA


......................................................................................................................................................... 683

CONGO Output Files


......................................................................................................................................................... 684

Running CONVERGE with a UDF


......................................................................................................................................................... 684
.......................................................................................................................................................... 685
Run Directories
.......................................................................................................................................................... 685
CONGO Scripts
..........................................................................................................................................................
Running and Restarting CONGO 686

Chapter 22 Input and Data File Reference 689


....................................................................................................................................................................................
22.1 Temporally Varying Parameters 690
....................................................................................................................................................................................
22.2 Applications Input Files 693
..........................................................................................................................................................
Engine Applications - engine.in 693
..........................................................................................................................................................
Crevice Model - crevice.in 694
..........................................................................................................................................................
Variable RPM - var_rpm.in 697
..........................................................................................................................................................
Non-Engine Applications - rpm.in 698

12 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
..........................................................................................................................................................
Piston Motion in Non-Engine Applications - piston_motion.in 698

....................................................................................................................................................................................
22.3 Materials Input Files 699
..........................................................................................................................................................
Gas Properties - gas.dat 699

..........................................................................................................................................................
Gas Properties - transport.dat 699
..........................................................................................................................................................
Species-Dependent Critical Properties of Gases - crit_cond.dat 700
..........................................................................................................................................................
Liquid Properties - liquid.dat 702
..........................................................................................................................................................
Custom Fluid Properties - fluid_properties.in 704

Surrogate ..........................................................................................................................................................
Blender - blender.in 706
..........................................................................................................................................................
Solid Properties - solid.dat 706
..........................................................................................................................................................
Species Data and Reaction Mechanism - mech.dat 707
..........................................................................................................................................................
Species Definition - species.in 710

Non-Transport Passives
......................................................................................................................................................... 712

Non-Transport Passives for Turbulence Statistics


......................................................................................................................................................... 713

Composite..........................................................................................................................................................
Species - composite.in 715
..........................................................................................................................................................
Skip Species - skip_species.in 716
..........................................................................................................................................................
Thermodynamic Properties - therm.dat 719
..........................................................................................................................................................
Thermodynamic Properties - tabular_therm.dat 723
..........................................................................................................................................................
Lower Heating Value - lhv.in 724

....................................................................................................................................................................................
22.4 General Simulation Input Files 724
..........................................................................................................................................................
Surface Geometry File 725

Inputs File..........................................................................................................................................................
- inputs.in 725

Reread .........................................................................................................................................................
Inputs 739

Schmidt.........................................................................................................................................................
Number - schmidt_turb.in 740

Prandtl.........................................................................................................................................................
Number - prandtl_turb.in 741

Wall Output - wall_output.in


......................................................................................................................................................... 742
..........................................................................................................................................................
Region-Dependent CFL Number 743

..........................................................................................................................................................
Solver Parameters - solver.in 744
..........................................................................................................................................................
Steady-State Monitor - monitor_steady_state.in 753
..........................................................................................................................................................
Multiple Reference Frame Approach - mrf.in 758

....................................................................................................................................................................................
22.5 Boundary Conditions Input Files 759
Boundary ..........................................................................................................................................................
Conditions - boundary.in 760
..........................................................................................................................................................
Wall Values - wall_value.in 765

....................................................................................................................................................................................
22.6 Initial Conditions Input Files 766
..........................................................................................................................................................
Mapping variables - map.in and map.dat 766
..........................................................................................................................................................
Region Connection/Disconnection - events.in 773
..........................................................................................................................................................
Domain Initialization - initialize.in 774

....................................................................................................................................................................................
22.7 Physical Models Input Files 776
..........................................................................................................................................................
Liquid Spray - spray.in 777

Initialization of Wall Film - film_init.in


......................................................................................................................................................... 790

CONVERGE 2.4 Manual 13


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Urea-Water Depletion - urea.in
......................................................................................................................................................... 793

Injection.........................................................................................................................................................
Distribution - injdist.in 795

Injector .........................................................................................................................................................
Rate-Shape Files - rateshape_inj<num>.in 795

Eulerian-Lagrangian Spray Atomization - elsa.in


......................................................................................................................................................... 799
..........................................................................................................................................................
Combustion Modeling - combust.in 800

Region-Based Combustion - combust_region.in


......................................................................................................................................................... 814

CTC Initialization - ctc_init_time.in


......................................................................................................................................................... 815

Region-Based G-Equation Initialization - g_eqn_init.in


......................................................................................................................................................... 816

ISSIM - .........................................................................................................................................................
issim.in 817

ECFM3Z Reinitialization - ecfm3z_reinit.in


......................................................................................................................................................... 818

CEQ Species - ceq_species.in


......................................................................................................................................................... 819

FGM Lookup Table - fgm.in


......................................................................................................................................................... 819

Adaptive Zoning Bin Size - adaptive_zone_bin_*.in


......................................................................................................................................................... 822

Emissions..........................................................................................................................................................
Modeling - emissions.in 823

Passive.........................................................................................................................................................
NOx rate - passive_nox_rate.dat 827
..........................................................................................................................................................
Turbulence Modeling - turbulence.in 827
..........................................................................................................................................................
Source/Sink Modeling - source.in 833

Volume of..........................................................................................................................................................
Fluid Modeling - vof.in and vof_spray.in 840

Conjugate..........................................................................................................................................................
Heat Transfer Modeling - supercycle.in 842

Surface .........................................................................................................................................................
Duplication for CHT - supercycle_surface_map.in 843
..........................................................................................................................................................
1D Conjugate Heat Transfer - cht1d.in 845

Solid Bulk Temperature Profile - solid_bulk_temp.in


......................................................................................................................................................... 847
..........................................................................................................................................................
Fluid-Structure Interaction Modeling - fsi.in 848

FSI Forces - fsi_force.in


......................................................................................................................................................... 852

FSI Spring Model - spring.in


......................................................................................................................................................... 852

FSI Stiction Model - stiction.in


......................................................................................................................................................... 853

FSI Events - fsi_events.in


......................................................................................................................................................... 854

Variable.........................................................................................................................................................
Spring Constant - spring_constant.in 855
..........................................................................................................................................................
Surface Chemistry - surface_chemistry.in 855

Region-Dependent Surface Chemistry -


surface_chemistry_region.in
......................................................................................................................................................... 859

Surface Species Themodynamic Information -


surface_therm.dat
......................................................................................................................................................... 860

Surface .........................................................................................................................................................
Species Reaction Information -surface_mech.dat 860

Radiation..........................................................................................................................................................
Modeling Setup - radiation.in 862
..........................................................................................................................................................
Nucleate Boiling Model - nucleate_boiling.in 865

....................................................................................................................................................................................
22.8 Grid Control Input Files 865
..........................................................................................................................................................
Grid Scaling - gridscale.in 866
..........................................................................................................................................................
Adaptive Mesh Refinement - amr.in 866

14 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Embedded..........................................................................................................................................................
Grids - embedded.in 876

....................................................................................................................................................................................
22.9 Output/ Post-Processing Input Files 881
..........................................................................................................................................................
Post-Processing - post.in 881

..........................................................................................................................................................
Flow Between Regions - regions_flow.in 890
..........................................................................................................................................................
Swirl, Tumble, and Angular Momentum Calculations - dynamic.in 891
..........................................................................................................................................................
Monitor Points - monitor_points.in 892
..........................................................................................................................................................
Custom Species Output - species_output.in 894
..........................................................................................................................................................
Mapping File Frequency - write_map.in 895
..........................................................................................................................................................
Proper Orthogonal Decomposition - pod.in 896

....................................................................................................................................................................................
22.10 User-Defined Functions Input Files 898
..........................................................................................................................................................
User-Defined Functions - udf.in 898

....................................................................................................................................................................................
22.11 Chemistry Input Files 907
..........................................................................................................................................................
Zero-Dimensional Chemistry Tools 907

Zero-Dimensional Solver Setup - zero_d_solver.in


......................................................................................................................................................... 907

Zero-Dimensional Simulation Setup - zero_d_cases.in


......................................................................................................................................................... 908
..........................................................................................................................................................
One-Dimensional Chemistry Tools 910

One-Dimensional Solver Setup - one_d_solver.in


......................................................................................................................................................... 910

One-Dimensional Solver Simulation Setup - one_d_cases.in


......................................................................................................................................................... 914
..........................................................................................................................................................
Mechanism Reduction Input and Data Files 916

Mechanism Reduction Setup - drgepsa.in


......................................................................................................................................................... 916

Dynamic Mechanism Reduction - sage_dmr.in


......................................................................................................................................................... 917

Mechanism Reduction Data Files


......................................................................................................................................................... 918
..........................................................................................................................................................
Mechanism Tune Input Files 919

Mechanism Tune Setup - mechanism_tune.in


......................................................................................................................................................... 919

Targets .........................................................................................................................................................
for Mechanism Tune - mechanism_tune_targets.in 921

....................................................................................................................................................................................
22.12 Heat Transfer Mapping Input Files 921
..........................................................................................................................................................
Heat Transfer Mapping - htc_inputs.in 922
..........................................................................................................................................................
Heat Transfer Output Control - transfer.in 925

22.13 CONGO (Optimization and Model Interrogation Utility)


....................................................................................................................................................................................
Input Files 926
CONGO -..........................................................................................................................................................
congo.in 926

CONGO -..........................................................................................................................................................
case.in 929

CONGO -..........................................................................................................................................................
execute.in 934

CONGO -..........................................................................................................................................................
merit.in 936

CONGO -..........................................................................................................................................................
udi.in 939

CONGO -..........................................................................................................................................................
gatdoe.in 940

Chapter 23 Output File Reference 943


.................................................................................................................................................................................... 945
23.1 amr.out

CONVERGE 2.4 Manual 15


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
23.2 .................................................................................................................................................................................... 945
area_avg_flow.out
23.3 .................................................................................................................................................................................... 946
az_info<dump_number>_<dump_time>.out
23.4 .................................................................................................................................................................................... 947
blender.out
23.5 .................................................................................................................................................................................... 947
bound<ID>_motion_profile.out
23.6 .................................................................................................................................................................................... 948
bound<ID>-wall.out
23.7 .................................................................................................................................................................................... 950
cell_count_ranks.out
23.8 .................................................................................................................................................................................... 950
cell_count_regions.out
23.9 ....................................................................................................................................................................................
CONGO Output Files 950
Individual..........................................................................................................................................................
Run Directory Output Files 951

Main CONGO..........................................................................................................................................................
Folder Output Files 951

23.10 .................................................................................................................................................................................... 953


crevice.out
23.11 .................................................................................................................................................................................... 953
crevice_rings.out
23.12 .................................................................................................................................................................................... 954
dmr_mech_info.out
23.13 ....................................................................................................................................................................................
dynamic.out, dynamic_region<ID>.out 954
23.14 .................................................................................................................................................................................... 958
ecfm.out
23.15 .................................................................................................................................................................................... 961
ecfm3z.out
23.16 .................................................................................................................................................................................... 963
emissions.out
23.17 .................................................................................................................................................................................... 964
Energy_fraction.out
23.18 .................................................................................................................................................................................... 964
equiv_ratio_bin.out
23.19 film.out, film_scrape.out, film_accum.out,
.................................................................................................................................................................................... 966
film_accum_net.out
23.20 .................................................................................................................................................................................... 967
film_urea_file.out
23.21 .................................................................................................................................................................................... 968
fsi_object_<name>.out
23.22 .................................................................................................................................................................................... 969
gti_interface.out
23.23 .................................................................................................................................................................................... 970
ignition_delay.dat
23.24 .................................................................................................................................................................................... 970
issim_ignition_<num>.out
23.25 .................................................................................................................................................................................... 972
lhv_info.out
23.26 .................................................................................................................................................................................... 972
map_<time>.out
23.27 .................................................................................................................................................................................... 973
map_bound<ID>_<time>.out
23.28 .................................................................................................................................................................................... 975
mass_avg_flow.out
23.29 .................................................................................................................................................................................... 976
mech_check.out
23.30 .................................................................................................................................................................................... 977
mechanism_tune.out
23.31 .................................................................................................................................................................................... 977
memory_usage.out
23.32 .................................................................................................................................................................................... 978
metis_map.out
23.33 .................................................................................................................................................................................... 978
metis_map_frozen.out
23.34 .................................................................................................................................................................................... 979
mixing.out
23.35 monitor_point_<num>_mass_avg.out,
.................................................................................................................................................................................... 981
monitor_point_<num>_volume_avg.out

16 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
23.36 monitor_line_<num>_coordinates.out,
monitor_line_<num>_mass_avg.out,
.................................................................................................................................................................................... 982
monitor_line_<num>_vol_avg.out
.................................................................................................................................................................................... 983
23.37 one_d_flamespeed.out
23.38 one_d_sens.out, one_d_sens_rank.out,
.................................................................................................................................................................................... 983
one_d_sens_case<ID>.out
.................................................................................................................................................................................... 985
23.39 one_d_sol_case<ID>.out
.................................................................................................................................................................................... 985
23.40 passive.out
.................................................................................................................................................................................... 986
23.41 phenom_soot_model.out
.................................................................................................................................................................................... 986
23.42 piston_profile<ID>.out
.................................................................................................................................................................................... 987
23.43 point_num<ID>.out
.................................................................................................................................................................................... 987
23.44 react_ratio_bin.out
.................................................................................................................................................................................... 988
23.45 regions_flow.out
....................................................................................................................................................................................
23.46 residuals.out, residuals_region<ID>.out 990
.................................................................................................................................................................................... 991
23.47 rot_object<ID>-wall_power_torque.out
.................................................................................................................................................................................... 992
23.48 scalar_diss_rate.out
.................................................................................................................................................................................... 992
23.49 sens<case>.out
23.50 sens<case>_var<num>_<name>.out,
sens<case>_var<num>_<name>_neg.out,
.................................................................................................................................................................................... 992
sens<case>_var<num>_<name>_pos.out
.................................................................................................................................................................................... 994
23.51 skip_species.out
.................................................................................................................................................................................... 995
23.52 soot_hiroy.out
.................................................................................................................................................................................... 995
23.53 soot_pm_model.out
.................................................................................................................................................................................... 996
23.54 soot_psm_model.out
.................................................................................................................................................................................... 998
23.55 species_mass.out
.................................................................................................................................................................................... 998
23.56 species_mass_frac.out
.................................................................................................................................................................................... 999
23.57 species_std_masfrac.out
.................................................................................................................................................................................... 999
23.58 species_mole_frac.out
.................................................................................................................................................................................... 1000
23.59 species_vol.out
.................................................................................................................................................................................... 1000
23.60 spray.out
.................................................................................................................................................................................... 1002
23.61 spray_map_<time>.out
.................................................................................................................................................................................... 1003
23.62 spray_rate_inj<ID>.out
.................................................................................................................................................................................... 1005
23.63 spray_region<ID>.out
.................................................................................................................................................................................... 1006
23.64 spray_ecn.out
.................................................................................................................................................................................... 1007
23.65 spray_urea_file.out
.................................................................................................................................................................................... 1007
23.66 steady_state.out
.................................................................................................................................................................................... 1008
23.67 supercycle_point<ID>.out
.................................................................................................................................................................................... 1008
23.68 supercycle_stream<stream_num>_balance.out

CONVERGE 2.4 Manual 17


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
23.69 surface_species_cov.out,
.................................................................................................................................................................................... 1009
surface_species_cov_region<ID>.out
....................................................................................................................................................................................
23.70 temperature.out, temperature_region<ID>.out 1010
.................................................................................................................................................................................... 1010
23.71 thermo.out
.................................................................................................................................................................................... 1011
23.72 time.out
.................................................................................................................................................................................... 1012
23.73 transfer.out
.................................................................................................................................................................................... 1013
23.74 transport_check.out
.................................................................................................................................................................................... 1014
23.75 turbulence.out
.................................................................................................................................................................................... 1016
23.76 vof_spray.out
.................................................................................................................................................................................... 1017
23.77 volumes.out
.................................................................................................................................................................................... 1018
23.78 wall_stress<number>_<time>.out
23.79 zero_d_asens.out, zero_d_asens_rank.out,
.................................................................................................................................................................................... 1018
zero_d_asens_case<ID>.out
.................................................................................................................................................................................... 1020
23.80 zero_d_sol_case<ID>.out
....................................................................................................................................................................................
23.81 Screen Output 1020

Chapter 24 References 1031

Index 1051

18 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

1
Introduction
Chapter 1
Introduction |

1 Introduction
CONVERGE is a revolutionary computational fluid dynamics (CFD) program that
eliminates the grid generation bottleneck from the simulation process. CONVERGE was
developed by engine simulation experts and is straightforward to use for both engine and
non-engine simulations. Unlike many CFD programs, CONVERGE automatically
generates a perfectly orthogonal, structured grid at runtime based on simple, user-defined
grid control parameters. This grid generation method completely eliminates the need to
manually generate a grid. In addition, CONVERGE offers many other features to expedite
the setup process and to ensure that your simulations are as computationally efficient as
possible.

This manual describes how to use CONVERGE to simulate three-dimensional,


incompressible or compressible, transient or steady-state, chemically reacting flows in
complex geometries with stationary or moving surfaces. CONVERGE can perform
calculations with any number of species and chemical reactions, as well as transient liquid
sprays and laminar or turbulent flows.

Innovative Gridding Methods in CONVERGE


Traditionally, boundary-fitted grids morph the vertices and cells in the interior of the
domain to conform to the shape of the geometry. There are two significant disadvantages
to using a traditional boundary fitted grid. First, whether structured or unstructured,
fitting a grid to a complex geometry prevents the use of simple orthogonal grids, which in
turn eliminates the benefits of numerical accuracy and computational efficiency associated
with orthogonal grids. Second, generating a traditional boundary-fitted grid for a complex
moving geometry can be time consuming and difficult. Often the grid generation
difficulties and significant time requirements are a roadblock to simulating complex
moving geometries such as an internal combustion engine.

CONVERGE uses a different, better strategy: an innovative boundary-fitted approach


eliminates the need for the computational grid to coincide with the geometry of interest.
This method has two significant advantages. First, the type of grid used is chosen for
computational efficiency instead of geometry. This process allows the use of simple
orthogonal grids, which simplifies the numerics of the solver. Second, the grid generation
complexity and the time required are greatly reduced, as the complex geometry only needs
to be mapped onto the underlying orthogonal grid. You are required to provide only a file
containing the surface geometry represented as a closed triangulated surface. This file is
easily written in Stereo Lithography (STL) format in most CAD packages. Given a proper
STL file for the geometry of interest, it will take mere minutes to prepare a surface for even
complex geometries. Note that this user time is not spent creating a grid, as CONVERGE
performs the grid generation internally at runtime. Your time is spent uniquely identifying

20 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |

various portions of the surface so that you can specify mesh motion and boundary
conditions.

At runtime, CONVERGE uses the given triangulated surface to cut the cells that are
intersected by the surface. There are many benefits of generating the grid internally by the
code at runtime rather than requiring you to generate the grid as an input to the code.
Runtime grid generation allows the grid to be changed during the simulation. Possible
changes include scaling the cell size of the entire domain, locally refining or coarsening
during the simulation, and adaptively refining the mesh. Another major advantage of
runtime grid generation is the ability of CONVERGE to regenerate the grid near moving
boundaries during the simulation without any input from you. This regeneration means
that setting up a case with a moving boundary is no more difficult than setting up a
stationary case.

Powerful Physical Models in CONVERGE


In addition to its novel approaches to grid generation and boundary treatment,
CONVERGE includes state-of-the-art numerical techniques and models for physical
processes including turbulence, spray, combustion, conjugate heat transfer, and cavitation.
With these models, CONVERGE can simulate a wide variety of flow problems. The models
in CONVERGE have been extensively validated for internal combustion engine cases.

1.1 Proprietary Notices


Limitation of Warranty
The licensed software is provided as is and as available and without representations,
warranties or conditions of any kind either statutory, express or implied, including the
implied warranties of merchantability, fitness for a particular purpose, title and non-
infringement.

Licensee’s sole remedy for any dissatisfaction with licensed software is to stop using the
licensed software.

To the fullest extent permitted by applicable law, under no circumstances shall licensor or
its officers, employees, successor and assigns be liable for direct damages or any incidental,
special, consequential, exemplary, punitive, or other indirect damages whatsoever
(including damages for loss of profits, goodwill, use, data, or other intangibles) arising out
of or in any way connected with licensed software provided hereunder whether based on
contract, tort, negligence, strict liability or otherwise, even if licensor or its related parties
have been advised of the possibility of such damages.

Contact

CONVERGE 2.4 Manual 21


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Proprietary Notices

For licensing information, please email licensing@convergecfd.com. For CONVERGE


support, please email support@convergecfd.com. For general assistance, please contact
Convergent Science at (608) 230-1500 or contact@convergecfd.com.

Citations
CONVERGE should be cited as: Richards, K. J., Senecal, P. K., and Pomraning, E.,
CONVERGE 2.4, Convergent Science, Madison, WI (2018).

This manual should be cited as: Richards, K. J., Senecal, P. K., and Pomraning, E.,
CONVERGE 2.4 Manual, Convergent Science, Madison, WI (2018).

Licenses
Adaptive zoning is included under license agreement with Lawrence Livermore National
Security, LLC. All rights reserved.

The CEQ equilibrium solver is included under license agreement with Ithaca Combustion
Enterprise, LLC.

CONVERGE is enhanced with visualization software from Tecplot, Inc. of Bellevue,


Washington, USA. Tecplot for CONVERGE is licensed to be used in conjunction with
CONVERGE applications and not for any other use. Use of Tecplot for CONVERGE
software for plotting data not generated from CONVERGE applications is prohibited.

1.2 Units in CONVERGE


CONVERGE uses MKS units (meters, kilograms, seconds, Kelvin) almost exclusively.
Deviations from MKS units are noted in this manual.

Note that, unless otherwise specified in the reaction mechanism file, the chemistry inputs
in that file and some of the inputs in combust.in contain reaction rate information with
units of calories for energy and gram-moles for quantity of atoms. The reason for this
exception is that the reaction mechanism file conforms to the CHEMKIN file format, which
uses CGS units, including calories for energy.

1.3 Release Notes


New builds of CONVERGE are released regularly. When a new build is released, the
accompanying release notes are appended to the beginning of this section.

22 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

1.3.1 2.4.19
CONVERGE 2.4.19 is a minor release that includes enhancements and bug fixes.

Solver
Bug fix: Fixed an error that caused CONVERGE to crash in simulations with both
energy_solver_f lag = 2 (i.e., the total energy solver) and species_dif f usion_model = 1 in
inputs.in.
Bug fix: The steady-state solver imposes upper and lower limits on sensible internal energy
(sie), but CONVERGE did not correctly determine these limits for cases with tabulated
fluid properties (tabular_f luid_prop_f lag = 1 in inputs.in). This bug has been fixed.
Bug fix: Fixed a bug that caused occasional crashes for simulations with both the MUSCL
scheme and at least one FLOW_THROUGH boundary.
Bug fix: Previously the SOR algorithm did not always exit correctly due to an error in the
omega cutting mechanism. This bug has been fixed.

Input
Bug fix: Fixed a bug related to bound_or_vector in dynamic.in. Previously CONVERGE
checked for a boundary ID even when bound_or_vector = 1, and this erroneous check could
cause the simulation to crash.
Bug fix: If there is an imbalance of elements between the reactants and products in any
chemical reaction, CONVERGE now prints a warning message to alert you to the
imbalance. Previously a bug prevented this warning from being written.
Bug fix: For NASA 7-formatted therm.dat files, CONVERGE now verifies the upper and
lower temperature limits. Previously this check did not exist, which sometimes led to an
out-of-bounds error.

Output/Post-Processing
Enhancement: CONVERGE now writes more detailed screen output, including the mean
and standard deviation of the monitored variables, for the steady-state monitor.
Enhancement: CONVERGE writes additional Reynolds stress quantities to turbulence.out.
For simulations that have a different turbulence model, these quantities will have a value
of -1.
Bug fix: For parallel simulations, if some processors did not have wall cells for a given wall
in wall_output.in, CONVERGE would crash. This bug has been fixed.
Bug fix: Some CONVERGE 2.4.18 simulations that contained monitor points and that
were run on a Windows machine crashed. This bug has been fixed.
Bug fix: Fixed a bug that caused incorrect energy residuals for solid regions to be written
to residuals.out.
Bug fix: Fixed a bug that caused the first post*.out file to have the wrong time (in its
filename) for steady-state cases that had been restarted.

Materials

CONVERGE 2.4 Manual 23


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Enhancement: Added the Carreau model for non-Newtonian fluids.


Enhancement: CONVERGE can now simulate compressible composite liquid species.
Previously composites were not allowed for compressible liquids.

Boundaries
Enhancement: CONVERGE now automatically issues a warning regarding boundaries
that should be set as RELOFT boundaries. In addition, RELOFT boundaries now support
normal motion via the new depend keyword.
Bug fix: For moving WALL boundaries with a 1D CHT temperature boundary condition,
CONVERGE did not always maintain the correct coordinates for points on the boundary.
This bug led to incorrect temperatures in the post*.out files.
Bug fix: Fixed a bug that caused some cases with both INTERFACE boundaries and fixed
embedding at the INTERFACE to crash.
Bug fix: Fixed a memory access problem that caused CONVERGE to crash when a
FLOW_THROUGH boundary coincided with a processor boundary.
Bug fix: Added checks and a warning message if the surface from a spatially varying
boundary condition is offset from the corresponding boundary.

Regions and Initialization


Bug fix: Fixed a bug that caused some cases to crash after region initialization.

Spray
Bug fix: For simulations with both the ELSA model and the cavitation model, CONVERGE
did not correctly identify the liquid species. This bug has been fixed.
Bug fix: Fixed a bug that caused some simulations with parcel_evap_model = 0 to crash.
Bug fix: The LISA breakup model gave incorrect spray parcel diameters for cases that
invoked the steady-state solver. This bug has been fixed.
Bug fix: Fixed an error that very slightly affected the evaporated mass calculation in the
Discretized Temperature Model.

Combustion and Emissions


Enhancement: CONVERGE now rereads the issim.in file during a restart if the start time
for the restarted simulation is prior to the start time of the spark specified in issim.in.
Enhancement: The ECFM combustion model can now run cases with multi-component
fuels.
Bug fix: Fixed several bugs in the detailed decomposition of urea model. These fixes
improve the computational efficiency of this model and make it more physically realistic.
Results may change slightly.
Bug fix: Fixed a bug that led to incorrect soot predictions from the PM and PSM detailed
soot models for simulations that also used the user_mech_rate.c user-defined function.
Bug fix: Fixed some bugs in the ECFM combustion model that caused incorrect flamespeed
values.

24 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

CHT
Bug fix: Fixed a bug that caused incorrect output temperatures (written to the post*.out
files.) after super-cycling.
Bug fix: Previously CONVERGE erroneously allowed any type of boundary to be assigned
to the super-cycling boundary group, and this error occasionally led to crashes. New
checks have been added to ensure that each super-cycling boundary is INTERFACE or
WALL (if WALL, the boundary must have a temperature boundary condition of convection
or Neumann) and that both the f orward and reverse sides of an INTERFACE boundary are
assigned to the same stream.

VOF
Bug fix: Fixed several bug related to mass conservation for incompressible VOF modeling.

FSI
Enhancement: The FSI spring model can now accommodate a variable spring constant. To
invoke this new option, specify a file name instead of a number for spring_constant in
f si_spring.in and include a file that contains the spring constant data.

GT-SUITE
Enhancement: CONVERGE now calculates pressure boundary conditions by interpolating
between GT-SUITE's supplied pressure data and CONVERGE's region-average pressure
for gti_flag=3 and 13. This enhancement is an extension of the GT-SUITE enhancement in
2.4.18.

UDF
Enhancement: The CKWYP routine in user_mech_rate.c has been renamed.
Bug fix: Fixed a bug in the user_combust_rif .c routine. This bug prevent scalar_diss_rate.out
from being written and it may have led to incorrect data in thermo.out.
Bug fix: Fixed a bug in the user_points_data.c routine that caused incorrect equivalence
ratio data for the UDF monitor points.
Bug fix: CONVERGE incorrectly invoked user_spray_colide.c (instead of the corresponding
subroutine in the main code) when user_coalesce_f lag = 0 in udf .in. This bug has been fixed.
Bug fix: Fixed a bug in the Windows UDF code that caused a problem with the libraries.
1.3.2 2.4.18
CONVERGE 2.4.18 is a minor release that includes enhancements and bug fixes.

Solver
Enhancement: The steady-state solver now can monitor results based on pseudo time (i.e.,
seconds). Previously only cycle-based monitoring was available.

CONVERGE 2.4 Manual 25


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Bug fix: Fixed a bug that caused some simulations with the reloft WALL boundaries
feature to crash.
Bug fix: Fixed a bug that caused some simulations that invoked the MUSCL scheme to
crash.
Bug fix: During serial runs, CONVERGE wrote a warning message that referred to not
running on multiple processors. This unnecessary warning message has been removed.
Bug fix: Fixed a bug in CONVERGE's HYPRE implementation that caused some cases
being run in parallel to crash.
Bug fix: Corrected several error messages to provide more accurate and user-friendly
information.
Bug fix: CONVERGE 2.4.17 included a new option for the multiple reference frame
approach (the ability to specify variable rotational speed). The implementation of this new
feature contained an uninitialized variable that caused excessive recoveries in MRF cases
in which copy_f rom_boundary_f lag = 0 in mrf .in. This bug has been fixed.

Input
Bug fix: Added an error check so that, if the constant-pressure specific heat capacity
calculated from the data in therm.dat is negative at any temperature in the given range,
CONVERGE will now exit. Previously CONVERGE kept running, which may have yielded
incorrect results in some cases.

Output/Post-Processing
Bug fix: For all cube monitor points, CONVERGE did not correctly identify which cells
belonged within the cube, and thus the values reported from these monitor point were
incorrect. This bug has been resolved.
Bug fix: Fixed a bug in the monitor points feature related to monitoring one or more
passives. On a Windows machine, these simulations would crash. On a Linux machine,
CONVERGE wrote erroneous units for both mass-averaged and volume-averaged
passives.
Bug fix: Fixed a bug related to SEQUENTIAL data in twrite_post.in that has the optional
tag column to direct CONVERGE to save post files at specific times (introduced in
CONVERGE 2.4.14). Previously if a simulation's start time was before the first time in
twrite_post.in, CONVERGE did not correctly read the first entry in the tag column.
Bug fix: Fixed a bug related to the optional tag column in data in twrite_restart.in that
directs CONVERGE to save restart files at specific times (introduced in CONVERGE
2.4.14). When the interval size for writing restart files exceeded the difference between files
with tag = 1, CONVERGE did not write restart files files at the specified times.
Bug fix: The center of mass written to dynamic.out was incorrect when running a multi-
region simulation in parallel. This calculation has been fixed.

Spray

26 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Bug fix: When the temporal type of injection was SEQUENTIAL and the injection
velocities were non-zero, CONVERGE incorrectly recorded the injection velocities as zero
in spray.out. This bug has been fixed.
Bug fix: For ELSA simulations, CONVERGE incorrectly parsed the name of any liquid
species that contained the letters "e", "l", "s", or "a" and thus gave the wrong names for
these species. This bug has been fixed.
Bug fix: For cases with film modeling, a bug in calculating the film's pressure gradient
caused a crash.

Combustion and Emissions


Enhancement: Added a non-transport passive (det_soot_mass) to track the detailed soot
mass when using the PM or PSM detailed soot model. This option can be added manually
in CONVERGE Studio, but it is not yet included in CONVERGE Studio's list of non-
transport passives.
Bug fix: The species-based ECFM and ECFM3Z models, which were introduced in
CONVERGE 2.4.15, contained a bug that resulted in very low NOx predictions. This bug
has been fixed.
Bug fix: In some cases, CONVERGE did not correctly calculate the analytical Jacobean in
the PSM detailed soot model. This error has been fixed.
Bug fix: Fixed a memory allocation bug that caused some cases with combustion modeling
to crash.
Bug fix: Fixed a bug in ISSIM. CONVERGE erroneously used the spark index for the
ignition index.

Chemistry Tools
Bug fix: In CONVERGE 2.4.17, temperature was added as a target for mechanism
reduction. An out-of-bounds access error that caused CONVERGE to crash when this
temperature option was invoked has been resolved.
Bug fix: When running on a Windows machine, mechanism tuning did not correctly copy
the CONVERGE executable used by CONGO. This bug has been fixed.

Turbulence
Bug fix: Fixed a bug that caused instability in the Reynolds stress models for OUTFLOW
boundaries with backflow.

CHT
Bug fix: For super-cycle interface mapping, CONVERGE incorrectly translated data
points. In addition, super-cycling was executed incorrectly for isolated solid streams. These
bugs have been fixed.

VOF

CONVERGE 2.4 Manual 27


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Bug fix: For the dissolved gas model, CONVERGE did not correctly read the gas and liquid
species from vof .in. This bug has been fixed.
Bug fix: For VOF-spray one-way coupling, CONVERGE did not correctly calculate the
liquid mass that is written to the VOF map data file. Previously void fraction was used in
this calculation. Now liquid species mass fraction is used.

GT-SUITE
Enhancement: CONVERGE now contains a more robust and user-friendly method for
computing data required by GT-SUITE during CONVERGE + GT-SUITE coupling.
CONVERGE calculates region-averaged quantities for GT-SUITE without explicitly defined
regions in CONVERGE. To invoke this automatic region averaging, set gti_f lag = 3 or 13 in
boundary.in.
Enhancement: Added gti_f lag = 13 in boundary.in. This option is analogous to gti_f lag = 3
(see previous note) but uses a GT-led scheme for time advancement instead of a
CONVERGE-led scheme.
1.3.3 2.4.17
CONVERGE 2.4.17 is a minor release that includes enhancements and bug fixes.

Solver
Enhancement: The multiple reference frame approach now includes an option to specify
variable rotational speed.
Bug fix: Fixed a bug that caused incorrect dt_limiter values (in time.out and in the log file)
for some cases.
Bug fix: Some cases with many small holes inside the geometry crashed due to a memory
allocation problem. This bug has been fixed.
Bug fix: The MUSCL scheme did not work correctly for FLOW_THROUGH boundaries.
This bug has been fixed.

Output/Post-Processing
Enhancement: Another variable, void fraction, has been added to the monitor points
feature. This option is not yet available in CONVERGE Studio.
Enhancement: For simulations that invoke the steady-state solver, CONVERGE writes
pseudo time in addition to cycle number to several output files (time.out, steady_state.out,
regions_f low.out, mass_avg_f low.out, and area_avg_f low.out).

Boundaries
Enhancement: For INFLOW boundaries, you can now specify a directional mass flow
velocity boundary condition.
Bug fix: Previously CONVERGE crashed in some instances when converting a 3D mesh
into 2D for a TWO_D simulation. (For a TWO_D simulation, all vertices must be located

28 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

on either the upper or lower z plane.) CONVERGE now exits when the geometry cannot
be converted.
Bug fix: For a sliding WALL boundary, CONVERGE did not correctly read the velocity
information when it was specified via a separate file. This bug has been fixed.
Bug fix: Mass was not conserved for some cases that included a boundary with
simultaneous rotation and translation. This bug has been fixed.
Bug fix: Fixed a bug related to the SPATIAL_CYCLIC boundary condition option.
Bug fix: Adaptive Mesh Refinement near an INFLOW with a Navier-Stokes characteristic
boundary condition (NSCBC) caused recoveries. To resolve this bug, AMR has been
disabled INFLOW boundaries that have an NSCBC.

Sources
Enhancement: CONVERGE now can run porous media cases that include a
FLOW_THROUGH interface. Previously CONVERGE did not redistribute the porous
resistivity across the FLOW_THROUGH interface.

Combustion and Emissions


Enhancement: Adjusted the ECFM3Z model to improve the pressure predictions in diesel
cases.
Enhancement: The non-reflective boundary condition now can be used in simulations
with the FGM combustion model.
Enhancement: Adaptive zoning can now group cells into bins based on passives. Set up
this option via multizone_tol_<variable of interest> in combust.in.
Bug fix: Fixed a bug in the calculation of the gradient that is used to reinitialize the G-
Equation combustion model. For some cases, this bug caused the prediction of combustion
in locations far from the source.
Bug fix: Due to a memory leak, some cases with composite gas species and either the PM
or PSM detailed soot model crashed. This bug has been fixed.
Bug fix: Fixed a bug that caused temperature to not be updated correctly when using the
user-specified NOx rate coefficient (i.e., when nox_thernmal_rate_f lag = 1 in emissions.in).

Chemistry Tools
Enhancement: Eliminated unnecessary re-reading of 0D and 1D case files. CONVERGE
retains the input information so that it does not need to be re-read.
Enhancement: Temperature has been added as a target option for mechanism reduction.
This option can help increase the accuracy of the post-flame temperature.
Bug fix: CONVERGE erroneously looked for a surf ace.dat file when running a 1D
simulations and sometimes wrote an error message related to that surf ace.dat file.
CONVERGE no longer looks for a surface geometry file when running a 1D simulation.
Bug fix: Fixed a bug that prevented some 0D cases from being able to run in parallel.
Bug fix: Fixed a bug that caused some constant-temperature 0D cases to crash.

CONVERGE 2.4 Manual 29


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Bug fix: For 0D simulations, CONVERGE did not correctly read input parameters
expressed in some forms of scientific notation. This bug has been fixed.
Bug fix: When writing optimization input files during mechanism tuning, the header
format was incorrect and thus these files were not read correctly. This error has been fixed.

Spray
Bug fix: Fixed a bug that caused a small amount of mass to be erroneously injected (and
thus mass flow to not be conserved) into some systems with compressible liquids and
rotating boundaries.
Bug fix: Fixed a round-off error in the Discretized Temperature Model that caused
incorrect evaporation for some films.
Bug fix: Fixed a bug in the film thickness calculation. Previously the calculation may have
included some parcels that were not in the film.
Bug fix: Fixed a bug that led to incorrect film vaporization calculations when multiple
wall films were present within the same node.

CHT
Bug fix: Fixed a bug that caused CONVERGE to exit when the post.in file contains super-
cycling output variables but the post*.out files did not contain the corresponding data for
one or more moving boundaries. Because there are some scenarios in which these super-
cycle quantities do not exist for a boundary, CONVERGE now does not exit when this
situation occurs.
Bug fix: Previously the log file displayed the open_time and close_time for a super-cycling
contact region. These labels have been changed to open_time_duration and
close_time_duration to accurately reflect the quantities that are displayed.
Bug fix: Fixed a bug in the moving volume calculation for small cells. This bug caused
temperature extrapolation errors for some CHT cases.

UDF
Bug fix: Fixed a bug that caused lengthy runtimes for simulations that included the
user_combust_sage.c user-defined function.
Bug fix: Updated user_source.c for consistency with the main source modeling routine.
1.3.4 2.4.16
CONVERGE 2.4.16 is a minor release that includes enhancements and bug fixes.

Solver
Enhancement: Improved the efficiency of CONVERGE by removing unnecessary checks to
determine if a fluid cell is within a porous medium. This enhancement reduces the
computational time by approximately 3% in cases with porous media.
Enhancement: For the steady-state solver, you can now specify temporally varying profiles
for several additional types of boundary conditions. Specifically, at INFLOW, OUTFLOW,

30 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

and/or WALL boundaries, you can have temporally varying profiles for temperature. At
INFLOW and/or OUTFLOW boundaries, you can have temporally varying profiles for
velocity, mass flow, and average velocity. At INFLOW boundaries, you can have
temporally varying profiles for species, passives, TKE, EPS, and OMEGA.
Enhancement: The steady-state monitor now continues to monitor all variables until all of
them simultaneously meet the convergence criteria. Previously, CONVERGE stopped
monitoring a particular variable as soon as it reached convergence, which could cause
false convergence for some steady-state cases. This enhancement will help avoid the rare
scenario in which a variable that had reached convergence would start to vary again
while it was waiting for other variables to converge.
Enhancement: For steady-state cases, the pressure solver type (pres_solver_type in solver.in)
can be modified during a simulation when steady_switch_solver_f lag = 1. Previously
pres_solver_type could be modified only when steady_switch_solver_f lag = 0.
Enhancement: Simulations with the MRF approach can now include contiguous MRF
regions with different frame velocities.
Bug fix: For rare cases with the MUSCL scheme and HPMPI, CONVERGE gave a NaN
error for NOx. An additional check has been added to resolve this bug.
Bug fix: Fixed a bug that caused CONVERGE to crash for some MPI cases. This crash was
due to fixed embedding being set for empty boundaries.
Bug fix: Fixed a bug in that caused incorrect velocity calculations in cases that included
porous media modeling and the BiCGSTAB solver.
Bug fix: Fixed a bug in MRF that could cause significant errors in the volume calculations.

Input
Enhancement: For a spatial boundary condition, CONVERGE now accommodates a
temporally CYCLIC option (SPATIAL_CYCLIC). This option is not yet available in
CONVERGE Studio.
Bug fix: Fixed bugs related to reading the reaction mechanism file (e.g., mech.dat). In some
cases CONVERGE did not correctly read the thermodynamic data or chemical reactions in
mech.dat.

Initialization and Events


Bug fix: Fixed bugs related to restart mapping with transformation (map_f lag = 3 in
inputs.in).

Combustion
Enhancement: CONVERGE contains a new option for the laminar flamespeed correlation
for gasoline. Set sl_model = 11 for the Metghalchi method or sl_model = 21 for the Gulder
method.
Enhancement: The G transport equation in the G-Equation model now accounts for
kinematic restoration when running a simulation that includes an LES turbulence model.
This additional term may be important when Ka < 1 (e.g., gas turbine cases).

CONVERGE 2.4 Manual 31


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Bug fix: In the G-Equation model, CONVERGE now applies the same gradient clipping to
both periodic and symmetry boundaries. Previously this treatment was applied only to
periodic boundaries.

Spray
Bug fix: Fixed a bug (related to rounding errors or clipping) that caused significant mass
imbalances for some cases with parcels or films.
Bug fix: Fixed a bug that caused incorrect parcel velocities when a parcel moved across a
planar periodic boundary.
Bug fix: Resolved a bug that led parcel species mass to not be conserved during
vaporization for some cases with multi-component fuels or large CFL numbers.
Bug fix: Fixed a bug that gave a negative parcel temperature and then caused
CONVERGE to exit in some cases with urea modeling. This bug was due to an incorrect
calculation in the film evaporation.
Bug fix: Fixed a bug in the detailed decomposition of urea model. The film flux was not
updated correctly when a film lost its water content, and thus the solid temperature
became un-physical.
Bug fix: Fixed a memory leak in the Kuhnke film splash model.
Bug fix: Fixed several bugs related to film modeling. These bugs affected temperature
results for some cases that included urea modeling.

VOF
Enhancement: When using VOF-spray one-way coupling, CONVERGE can now copy the
attributes from one nozzle and apply that information to all of the remaining nozzles. Set
spray_inject_bc_f lag = 14 and nozzle_init_f lag = 2 in spray.in to invoke this option. Only one
nozzle per injector is allowed (i.e., num_nozzles = 1 in spray.in). This option in not yet
available in CONVERGE Studio.
Bug fix: In some cases with a moving geometry and incompressible VOF modeling, a bug
allowed the domain temperature to exceed the boundary temperatures. This bug has been
fixed.
1.3.5 2.4.15
CONVERGE 2.4.15 is a minor release that includes enhancements and bug fixes.

Solver
Enhancement: The wall_output.in file now contains an option for obtaining torque output
data via rot_object<ID>-wall_power_torque.out.
Enhancement: Removed the requirement that dt_max in inputs.in be less than one crank
angle degree.
Enhancement: For the steady-state solver, you can now specify temporally varying
temperature profiles at INFLOW and OUTFLOW boundaries.

32 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Bug fix: Some restarted simulations crashed due to an error with turb_stat_f lag in
turbulence.in. This bug has been fixed.
Bug fix: Fixed a bug in CONVERGE's HYPRE implementation that occasionally caused a
crash during an MPI transfer.
Bug fix: Fixed a bug that caused an infinite loop in cases with certain parallel
configurations and moving geometries.

Materials
Bug fix: Fixed a bug related to the interpolation of liquid properties. Previously some
simulations crashed due to large oscillations related to the interpolation of liquid
properties.

Boundaries
Enhancement: There is a new feature to reloft triangles between moving boundaries (i.e.,
CONVERGE will re-triangulate the boundary at each time-step if the quality of the
triangulation is unacceptable).
Bug fix: For cases with FLOW_THROUGH boundaries, the passive distribution was
incorrect. This bug has been fixed.

Initialization and Events


Enhancement: Added a check to prevent conflicting SEQUENTIAL and CYCLIC events.
Bug fix: Made region initialization more robust in cases involving dependent boundaries.

Spray
Enhancement: For ELSA simulations, the liquid penetration calculation now accounts for
computational cells that contain Eulerian liquid.
Enhancement: Adjusted the upper and lower regime transition temperatures for the Bai-
Gosman model. This yields better results for aftertreatment applications.
Bug fix: In spray.out and spray_region<ID>.out, CONVERGE incorrectly wrote radii (not
diameters) for DV10, DV50, and DV90 (despite this manual saying these quantities were
diameters). These quantities are now correctly written as diameters.
Bug fix: Fixed a bug present in some cases with no drop evaporation (i.e., when
parcel_evap_model = 0 in spray.in). Previously CONVERGE crashed if it could not find the
evaporation species, even though the evaporation species is not relevant in cases without
evaporation.
Bug fix: Fixed a bug that caused a crash for some cases with parcel_evap_model = 0 and
evap_source_f lag = 1.
Bug fix: Fixed a bug in the Discretized Temperature Model that could case some cases to
crash.

Combustion

CONVERGE 2.4 Manual 33


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Enhancement: The implementation of the ECFM and ECFM3Z has changed. These models
are now species-based.
Bug fix: Fixed a bug that caused a crash (only on the Intel build of CONVERGE) when the
analytical Jacobian (sage_analytic_jac = 1 in combust.in) was used.
Bug fix: Fixed a bug that caused some cases with surface chemistry to crash unless
combustion_f lag = 1 in inputs.in.

Chemistry Tools
Bug fix: One-dimensional sensitivity analysis was not working with the sparse solver
(piso_sage_ode_solver = 2 in one_d_solver.in). This bug has been fixed.
Bug fix: Fixed a bug in the reaction rate multiplier in the zero-dimensional solver
(zero_d_reaction_multiplier in zero_d_solver.in).
Bug fix: Fixed several bugs in mechanism reduction.

Turbulence
Enhancement: Two Reynolds stress models are now available for turbulence modeling. For
the Speziale, Sarkar, and Gatski model, set turbulence_model = RANS_RSM_SSG_EPS in
turbulence.in. For the Launder-Reece-Rodi model, set turbulence_model =
RANS_RSM_LRR_EPS.
Bug fix: Some VOF simulations that used the Han and Reitz or Angelberger heat model
yielded NaN values for the heat transfer coefficient and flux calculations. This bug has
been fixed.

Sources
Enhancement: For source_type = 1 in source.in and a temporal type of PERMANENT, the
source is now specified as value per time. Previously the value (not per time) was specified.
Note that CONVERGE Studio has not yet been updated to reflect this change.

CHT
Bug fix: Fixed a bug that caused CONVERGE to write data for all of the solid boundaries
—not just the boundaries in the specified stream—to
supercycle_stream<stream_num>_balance.out. This bug has been fixed.

VOF
Bug fix: Fixed bugs in VOF-spray one-way coupling that prevented spray_inject_bc_f lag =
10, 11, 12, or 13 from working correctly.
Bug fix: Fixed a bug in the cavitation model. This bug caused unrealistic (numerically
artificial) cavitation for some cases.

Output/Post-Processing
Enhancement: The regions_f low.out file now contains data from FLOW_THROUGH
boundaries.

34 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Enhancement: For simulations with an LES model, CONVERGE now writes turbulent
kinetic energy (TKE) and turbulent dissipation (EPS) data to turbulence.out. Previously
these columns did not contain meaningful values.
Enhancement: The dynamic.out file now includes the center of mass that is used to
calculate the swirl and tumble.
Bug fix: Previously the regions_f low.out file reported film parcels but not spray parcels.
Now this file includes both film and spray parcels.
Bug fix: CONVERGE no longer writes it_error.out, which was a blank file.
Bug fix: Addressed an inconsistency between monotone_upwind and
prod_monotone_upwind in the post*.out files.
Bug fix: Fixed a bug that caused CONVERGE to incorrectly name the
wall_stress<number>_<time>.out files.
Bug fix: CONVERGE allows vapor_pres in post.in only when the cavitation model has been
activated. Previously the code crashed if vapor_pres was included without cavitation
modeling.

UDF
Enhancement: Added functionality to user_write_transf er.c.
Bug fix: Extra whitespace in the column headers of user_outputs.c led to a runtime error.
The whitespace has been removed.
1.3.6 2.4.14
CONVERGE 2.4.14 is a minor release that includes enhancements and bug fixes.

Solver
Enhancement: Improved error checking for several parameters used by the steady-state
solver and improved the behavior of the steady-state solver when reread_input is used.
Enhancement: You can now set a temporally varying profile for a pressure boundary
condition at INFLOW and OUTFLOW boundaries in a steady-state simulation.
Bug fix: Fixed a bug in the steady-state solver that caused the relaxation factor of SOR
solvers for turbulence quantities to reduce to infinitesimal values in some cases.
Bug fix: Fixed bugs in the steady-state solver related to how the solver determines when to
stop AMR and when to reset max_cf l_u.
Bug fix: Fixed a parcel linking problem that occurred in some cases that included sealing.
Bug fix: Fixed a bug related to information transfer across ranks. This bug may have
caused some cases to crash or incorrectly transfer information across ranks.
Bug fix: In rare cases that included both the MUSCL scheme and a physical model based
on one or more passives (e.g., the G-Equation model), there were errors in the passive
calculations. This bug has been fixed. (This fix is a follow-up to a bug fix in 2.4.12.)

Input

CONVERGE 2.4 Manual 35


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Bug fix: In some cases CONVERGE would exit if a species name contained more than 16
characters. This restriction has been removed.
Bug fix: Fixed a bug that caused CONVERGE to incorrectly give the "could not find a side
polygon that surrounds the negative area side polygon" error message.
Bug fix: If species_dif f iusion_model = 1 in inputs.in, then CONVERGE erroneously required
combustion_f lag = 1 in inputs.in. This bug has been fixed, and this requirement is no longer
present.

Output/Post-Processing
Enhancement: You can now specify specific times at which CONVERGE will write the
post*.out files. This option requires use of the twrite_post.in file.
Enhancement: For simulations with the multiple reference frame approach, you can now
direct CONVERGE to write several additional quantities (relative velocity [velocity relative
to the reference frame], total pressure [sum of the static and dynamic pressures], total
temperature [temperature at a stagnation point]) to the post*.out files.
Enhancement: In regions_f low.out, a column label has been changed from tot_temp to
avg_temp to better reflect the quantity written to that column.
Enhancement: The monitor points feature has a new option for writing an additional line
of information.
Bug fix: For MRF simulations, CONVERGE wrote the relative velocity (relative to the
reference frame) rather than the absolute velocity to the map*.out files. CONVERGE now
writes the absolute velocity to the map output files, which is consistent with the velocities
written to the restart and post*.out files.
Bug fix: Fixed a bug that caused the post*.out files to be corrupted when les_mode was
present in post.in.
Bug fix: If the post.in file included multiple instances of a single variable, CONVERGE
wrote that variable multiple times to the post*.out files. CONVERGE no longer writes
duplicate data to the post*.out files.
Bug fix: If the monitor_points.in file included multiple instances of a single variable,
CONVERGE wrote that variable multiple times to the monitor_point*.out files. CONVERGE
no longer writes duplicate data to the monitor_point*.out files.
Bug fix: Fixed a bug that caused incorrect mass flow rates to be written to
mass_avg_f low.out and area_avg_f low.out.
Bug fix: Fixed a bug in the mole fraction output in regions_f low.out. Previously the mole
fraction data were incorrect in some cases in which both liquid species were present and
region_f low_f lag in inputs.in was non-zero.

Materials
Bug fix: Fixed a bug that caused some restarted VOF cases to crash because the liquid bulk
modulus was incorrectly being set to zero.

Boundaries

36 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Enhancement: A new non-reflecting boundary condition is now available for velocity


INFLOW and pressure OUTFLOW boundaries. This option is not yet available in
CONVERGE Studio.

Initialization and Events


Enhancement: CONVERGE now allows multiple-hump valve lift profiles, provided you
specify the valve OPEN and CLOSE events in events.in (i.e., you cannot direct CONVERGE
to automatically calculate the valve timings via VALVE events in events.in).
Bug fix: CONVERGE did not always correctly initialize velocities when an engine
simulation started at top dead center (TDC). This bug has been fixed.

Combustion and Emissions


Enhancement: Accelerated the SAGE chemical source term calculations. This
enhancement is only for the Intel build of CONVERGE.
Bug fix: Fixed a bug that prevented CONVERGE from reading the correct start and end
times for the RIF model.
Bug fix: Added a check to ensure that the Case Directory for a simulation with the TKI
model (ecf m_auto_ignition_f lag = 1 or ecf m3z_auto_ignition_f lag = 1 in combust.in) contains
the TKI table file.

Chemistry Tools
Enhancement: CONVERGE now dynamically allocates the number of grid points in the
1D premixed flamespeed solver.

Turbulence
Bug fix: Fixed stability problems in some simulations that included both combustion
modeling and the k-omega SST turbulence model.

Spray
Bug fix: Fixed a bug related that caused some cases with the adaptive film mesh approach
to crash.
Bug fix: Some urea mapping variables were not initialized properly, which led to
unpredictable behavior for some cases. This bug has been fixed.

FSI
Enhancement: CONVERGE now writes f si_spring*.out files when the FSI spring model is
used.
Enhancement: The FSI events option, spring model, and stiction model no longer require a
UDF. Simply set the appropriate parameters in f si.in and include the related file in the
Case Directory.

CHT

CONVERGE 2.4 Manual 37


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Enhancement: Super-cycling now works for rotating and other types of moving
boundaries. Previously super-cycling could be used only with stationary or translating
components.
Bug fix: A source that was very close to a fluid/solid interface in a simulation with CHT
modeling was erroneously added to both streams (i.e., the point source was counted
twice). This bug has been fixed, and CONVERGE now assigns the source to only one of the
two streams.
Bug fix: Fixed a bug that prevented the contact resistance model from working correctly
for any geometry that had user-created disconnect triangles.

VOF
Bug fix: Cyclic injection for multiple injectors in VOF-spray one-way coupling did not
work (no injections occurred after the first one). This bug has been fixed.

Grid
Bug fix: Fixed a bug that caused a crash for some cases with SEQUENTIAL embedding on
a boundary with sealing.
1.3.7 2.4.13
CONVERGE 2.4.13 is a minor release that includes enhancements and bug fixes.

Solver
Bug fix: Fixed a bug that caused some restarted steady-state simulations to crash.

Input
Bug fix: Fixed a bug in reading cone_noz in spray.in.

Boundaries
Enhancement: CONVERGE now allows a non-zero-gradient Neumann pressure boundary
condition at INFLOW boundaries. Previously only zero-gradient Neumann was allowed.
Enhancement: CONVERGE now includes a sealing test utility. This tool allows you to
quickly identify errors in the sealing setup.
Enhancement: CONVERGE now gives a warning if the sealing motion type is different
from the motion type of the boundaries on which sealing is applied.
Bug fix: Fixed bugs related to sealing. The sealing feature did not work correctly when the
triangles on the piston and liner were skinny.

Spray
Enhancement: CONVERGE 2.4.6 through 2.4.12 contained a spray evaporation process
that differed slightly from the evaporation process in CONVERGE 2.3. These modifications
were put in place to improve results for high-CFL cases. These modifications caused results
from some engine cases (those with very small spray parcels) to differ between 2.3 and 2.4.

38 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

To resolve this issue, as of CONVERGE 2.4.13, the spray evaporation process has been
changed so that the results from 2.4.13 more closely match results from 2.3 for engine
cases with small-diameter parcels. Results from other engine cases should be unaffected by
this change. Results from high-CFL cases may be slightly affected.
Bug fix: Fixed a bug that caused some cases with the TAB breakup model to crash.
Bug fix: Fixed bugs that cased errors in simulations that included the detailed
decomposition of urea model. When this model is active, CONVERGE now writes urea
deposition information to the spray_map_<time>.out files so that a simulation initialized via
mapping (or restart mapping) can take this information into account.
Bug fix: Fixed an indexing error in restart mapping for multi-component spray parcels.
This bug caused incorrect mass fractions of spray components after mapping.
Bug fix: Fixed a mass conservation error and a parcel radius calculation error in the Bai-
Gosman film splash model.
Bug fix: Fixed a bug in the ELSA model. CONVERGE did not correctly initialize some
internal variables, which led to an error at runtime.

Chemistry
Bug fix: Fixed a problem in the G-Equation spark kernel initialization. Previously incorrect
kernel alignment led to incorrect velocities.
Bug fix: In a simulation with adaptive zoning, the mechanism must contain N2, O2, and
H2O. CONVERGE now checks for these species and issues an error if any of them are
missing.
Bug fix: Fixed a bug related to combust_start_time and combust_end_time in combust.in.
Previously CONVERGE did not always obey these start and end times for combustion
modeling. (Note that the RIF model does not use these parameters.)

Chemistry Tools
Enhancement: Added thermal diffusion into the 1D flamespeed solver.
Enhancement: Added an option to allow mechanism reduction to be completed with only
the target species. Previously the only option was to include both the target species and
their connected species. To invoke this new option, add a minus sign in front of the weight
of the target_species in drgepsa.in.
Bug fix: Fixed a bug in isomer lumping that caused an error in the thermal data written by
this option.

VOF
Bug fix: Fixed some bugs that caused some VOF-spray one-way coupling cases to crash on
Windows machines.
Bug fix: Fixed a bug related to the writing of vof _spray.out.

FSI

CONVERGE 2.4 Manual 39


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Enhancement: The applied_f orce parameter in f si.in now can vary temporally. To set up
this option, set applied_f orce to "f si_f orce.in" and include the f si_f orce.in file in the Case
Directory.

Output/Post-Processing
Enhancement: You can now control for which boundaries CONVERGE writes wall output
and/or wall stress data. To set up this option, specify a file name in quotation marks (e.g.,
"wall_output.in") for wall_output_f lag in inputs.in and then include that file in the Case
Directory. This option is not yet available in CONVERGE Studio.
Enhancement: Added a new option, reac_ratio, for monitor points. This option is not yet
available in CONVERGE Studio.
Enhancement: CONVERGE now writes additional data to the metis_map.out file.
Bug fix: Fixed a bug in the formatting of monitor points.
Bug fix: Fixed a bug related to sensible_sie in post.in. Previously if this variable were
included in post.in, the simulation would crash.
Bug fix: Fixed a bug that affected the soot mass data in soot_pm_model.out and
soot_psm_model.out.

UDF
Enhancement: Updated the user_g_eqn_src.c. and user_spray_evap.c routines for
consistency with the main CONVERGE code.
1.3.8 2.4.12
CONVERGE 2.4.12 is a minor release that includes enhancements and bug fixes.

Solver
Bug fix: In rare cases that included both the MUSCL scheme and a physical model based
on one or more passives (e.g., the G-Equation model), CONVERGE crashed. These
MUSCL-related bugs have been fixed.
Bug fix: CONVERGE incorrectly issued the error message "found negative ntime1" in some
cases in which a boundary moved only a small amount (typically due to user or dependent
motion). This bug has been fixed.
Bug fix: Fixed a bug in which CONVERGE prevented the initial and final tolerances from
being identical for restarted steady-state cases in which steady_auto_f lag = 1. This bug has
been fixed (CONVERGE imposes the requirement that initial and final tolerances cannot
be identical only for non-restarted cases).
Bug fix: Fixed some code that caused unpredictable crashes on Windows.
Bug fix: Fixed a bug that caused the steady-state monitor to sometimes monitor the wrong
variable.

Input

40 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Enhancement: CONVERGE now permits comments at the end of any row in the
monitor_points.in file.
Bug fix: Added more robust error checking of dynamic.in. Previously CONVERGE did not
catch incorrect settings that caused crashes later in the simulation.

Materials
Bug fix: CONVERGE now reads all of the data in the gas.dat file. Previously, if the
maximum simulation temperature (as specified by max_temp in inputs.in) exceeded 5000 K,
CONVERGE would perform a zero-order extrapolation from 5000 K up to the maximum
temperature even if the gas.dat file contained data beyond 5000 K.
Bug fix: Fixed a bug in the implementation of the lower heating value calculation.

Boundaries
Enhancement: CONVERGE can now accommodate a coupled boundary for a fluid-fluid
interface.
Bug fix: Fixed a bug related to the FLOW_THROUGH boundaries that led to mass
conservation problems for some MRF and non-MRF cases.
Bug fix: Fixed a bug that caused incorrect calculations (that appeared to be a core
dependency) in some cases with both nucleate boiling and a solid-solid INTERFACE. To
solve this problem, CONVERGE now no longer calculates nucleate boiling at the solid-solid
interface.

Spray
Enhancement: The Weber number written to the post*.out files is now based on relative
velocity. Previously it was based on the parcel velocity.
Enhancement: CONVERGE now allows a profile for several nozzle parameters (nozzle
discharge coefficient, nozzle diameter, and injection radius). Previously only a constant
value was allowed. Note that the profile option for these parameters is not yet available in
CONVERGE Studio.
Bug fix: Fixed a bug that caused a mass conservation problem in the Bai-Gosman film
splash model.
Bug fix: CONVERGE now allows detailed decomposition of urea when water is present in
the parcel.
Bug fix: CONVERGE was not calculating heat flux when the evaporation model was
turned off. This bug has been fixed.
Bug fix: During some restarted simulations, CONVERGE deleted film parcels because of
an erroneous check that showed the parcels to be outside the domain. This bug has been
fixed.

Combustion and Emissions


Bug fix: Fixed a bug in which CONVERGE erroneously issued an error for G-Equation and
CTC cases in which the region numbers were not in order.

CONVERGE 2.4 Manual 41


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Chemistry Tools
Enhancement: CONVERGE now allows you to restart a 1D flamespeed simulation using a
restart file of any size. Moreover, the data in the restart file does not have to be of the same
fuel as in the present simulation. In some cases this option may accelerate your simulation.

Turbulence
Bug fix: Fixed the clipping criterion of TKE for the one-equation LES models. This bug
caused excessive recoveries in some simulations.

CHT
Enhancement: Improved the error messages that CONVERGE writes when it finds
problems with the grid in a CHT case.
Bug fix: For some super-cycle mapping cases, CONVERGE incorrectly identified the
boundary index of the master boundary. This bug has been fixed.

Radiation
Bug fix: A bug related to radiation coupling with the energy balance equation caused
some cases with radiation modeling to exhibit extreme temperatures outside of the
specified minimum and maximum temperatures. Cases with high wall temperatures were
the most affected. This bug has been fixed

Grid
Bug fix: Fixed a bug that caused parcels near PERIODIC boundaries to be deleted in rare
cases. This bug did not affect cases that were run in serial.

Output/Post-Processing
Enhancement: Added a new post.in variable, bound_t_ref , which is the boundary reference
temperature for the convection boundary condition. Note that this option is not yet
available in CONVERGE Studio.
Enhancement: Added two post.in variables: monotone_upwind and prod_monotone_upwind.
Note that these options are not yet available in CONVERGE Studio.
Bug fix: Fixed the calculation of heat release rate (in thermo.out) for steady-state cases.
Bug fix: Fixed a bug that caused the integrated heat release to be computed incorrectly for
all cases that include source modeling.

UDF
Enhancement: Updated the user_restart.c UDF.
1.3.9 2.4.11
CONVERGE 2.4.11 is a minor release that includes enhancements and bug fixes.

42 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Solver
Enhancement: The turbulent Prandtl (prandtl_turb) and turbulent Schmidt (schmidt_turb)
parameters in inputs.in can now be region-specific and/or temporally varying.
Bug fix: Fixed bugs in the MUSCL scheme that caused its order of accuracy to be lower
than expected for some cases.
Bug fix: Fixed a bug that caused simulations on Windows machines to crash when the
restart or mapping file was larger than 2 GB.
Bug fix: Resolved an HPMPI/PMPI licensing issue.
Bug fix: A bug that occurred after load balancing caused rare cases (especially those run
on many cores) to crash. This bug has been fixed.

Boundaries
Bug fix: Fixed a bug in PERIODIC boundaries that caused some sector cases to crash.
Bug fix: Occasionally CONVERGE would display a "wrong boundary motion type" error
message and, on some occasions, the simulation would crash. This error message was
incorrect, and CONVERGE no longer incorrectly shows this message.

Initialization and Events


Bug fix: Fixed a bug that caused cases with restart mapping to crash.

Materials
Bug fix: Cases that invoked the option to manually specify lower heating values for
individual species crashed. This bug has been fixed.

Spray
Enhancement: Previously CONVERGE would exit if a spray hit a moving boundary with
user-defined or DEPENDENT motion. If a spray encounters a moving boundary with one
of these motion types, CONVERGE now uses a general method to calculate if parcels will
be swept by compressing walls.

Turbulence
Enhancement: Added the GruMo-UniMORE heat model (heat_model = 3 in turbulence.in).

Combustion and Emissions


Enhancement: Previously the f gm-table.dat file did not allow comments. Now any line
beginning with # will be recognized as comments.
Bug fix: For some cases in which the ISSIM was CYCLIC (as specific in issim.in), the spark
occurred before ISSIM was active. CONVERGE now imposes a maximum spark duration
of 100 CAD for the ISSIM (only for engine cases) to avoid this problem.

Output/Post-Processing

CONVERGE 2.4 Manual 43


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Enhancement: Added a new post.in variable, q_criterion, which is the second invariant of
the velocity gradient tensor. This option is useful for viewing vortex structures.
Bug fix: Removed a duplicate row from point_num<ID>.out.
Bug fix: Removed a duplicate column from ecf m.out and ecf m3z.out.
Bug fix: Fixed a bug that incorrectly allowed pid, node_xx, and triangle to be included in
the <cells> list in post.in. (These variables can be included in the <parcels> list.)

Radiation
Bug fix: Fixed a bug in radiation/spray coupling. Previously this feature did not account
for emissions due to spray parcels.

UDF
Enhancement: Added user_mixing_output.c to the UDF library.
Bug fix: Fixed a bug in user_outputs.c that caused crashes in some cases.
Bug fix: Simulations with UDFs did not run correctly when there was a porous media
source term in source.in. This bug has been fixed.

GT-SUITE
Bug fix: Fixed a bug that caused some CONVERGE + GT-SUITE coupled cases to hang.
1.3.10 2.4.10
CONVERGE 2.4.10 is a minor release that includes enhancements and bug fixes.

Solver
Enhancement: CONVERGE now always overwrites existing metis_map.out and
metis_map_f rozen.out files when a simulation begins. Previously, these files were appended,
which caused confusion for non-restart simulations.
Enhancement: CONVERGE now allows HYPRE to solve the momentum equation for
simulations that include porous media.
Bug fix: CONVERGE did not correctly write restart files during steady-state cases with
moving boundaries, and a restart from one of these incorrectly written files would crash.
This bug has been fixed.
Bug fix: In rare cases a load balancing problem would cause a crash. This bug has been
fixed.
Bug fix: CONVERGE gave an incorrect warning message when pstar_iterations exceeded
pres_itmax. This bug has been fixed.
Bug fix: For cases with multiple periodic boundaries, the mass flow at the inlet and outlet
varied for serial and parallel cases. This bug has been fixed.

Input
Bug fix: Previously a problem occurred on Windows machines when reading map files of
greater than 32 MB. This bug has been fixed.

44 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Boundaries
Enhancement: Added a check to ensure that the coupled temperature boundary condition
is available only for INTERFACE boundaries.
Bug fix: Fixed a bug that caused an inconsistency between the total pressure written to
regions_f low.out and that written to the post*.out files for MRF cases.

Materials
Enhancement: When skip species is active, CONVERGE now writes data for only non-
skipped species to map.out. This change could save considerable disk space for some
simulations.

Spray
Bug fix: Fixed bugs that caused CONVERGE to incorrectly give a flux scaling factor
warning message for some file cases.
Bug fix: Fixed a bug in the calculation of the total injected mass. Previously the mass
varied slightly depending on the output frequency.
Bug fix: Fixed a bug that caused a crash for some spray modeling cases that contained
moving boundaries.
Bug fix: Fixed a parcel transfer bug that caused random crashes in some spray modeling
cases.

Combustion and Emissions


Bug fix: Fixed a bug in the generation of the FGM premixed flame table.
Bug fix: Fixed bugs in the G-Equation spark kernel model.

Chemistry Tools
Enhancement: Added transport lumping of isomers if transport.dat exists and lumping is
turned on for 0D mechanism reduction. The transport_lump.dat file (same format as
transport.dat) will be generated.
Bug fix: Fixed a bug that caused a crash when running hundreds of 0D cases with ASENS
in parallel.

Turbulence
Enhancement: The Generalized RNG k-epsilon turbulence model is now available. Set
turbulence_model = RANS_K_EPS_RNG_GEN in turbulence.in to activate this model.

FSI
Bug fix: Fixed a bug that caused crashes in some FSI cases (e.g., spring model cases).

VOF

CONVERGE 2.4 Manual 45


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Enhancement: Previously if vof _spray_f lag = 1 in vof .in, CONVERGE required


region_f low_f lag = 1 in inputs.in. That requirement has been removed. Now, if
vof _spray_f lag = 1, CONVERGE will write the vof _spray.out file regardless of the value of
region_f low_f lag.
Enhancement: Previously VOF-spray one-way coupling worked only with turbulent flow.
Now this feature works with both laminar and turbulent flow.
Bug fix: Previously a bug caused the injected mass to be incorrect for the spray simulation
for VOF-spray one-way coupling. This bug has been fixed.
Bug fix: Fixed a bug that caused incorrect densities in the solid region in VOF PLIC cases.

Grid
Bug fix: Previously CONVERGE crashed when boundary AMR was set for boundaries
that do not exist. CONVERGE now ignores such boundary AMR settings instead of
crashing.

Output/Post-Processing
Enhancement: CONVERGE can now write convective heat transfer coefficient data to the
post*.out files. The relevant post.in variable is conv_htc.
Bug fix: The lhv.echo file did not list species names and mass fractions. This file now
contains that information.
Bug fix: Resolved an issue related to writing the dmr_mech_inf o.out,
issim_ignition_<num>.out, and user_output.out files (cases with one or more of these files
would crash).

GT-SUITE
Bug fix: Fixed a bug that caused CONVERGE+GT-SUITE cases to crash on Windows
machines.
1.3.11 2.4.9
CONVERGE 2.4.9 is a minor release that includes enhancements and bug fixes.

Solver
Enhancement: Two new options have been added to the steady_min_num_amr check for
the steady-state solver: PERMANENT and SEQUENTIAL.
Enhancement: The steady-state monitor allowed a predefined variable_name option:
TOTAL_MASS_FLOW. This option has been renamed MASS_FLOW_RATE_NET.
Bug fix: Fixed a bug that prevented a restart when the value of parallel_scale in inputs.in
resulted in fewer parallel blocks than the number of cores.
Bug fix: Fixed a bug in the steady-state monitor: if you specified a variable_name in
monitor_steady_state.in as <VARIABLE>@REGIONs_<region ID>_TO_<region ID> (e.g.,
VELOCITY@REGIONS_3_TO_2), in some cases CONVERGE would crash.

46 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Input
Bug fix: Previous versions of 2.4 did not correctly parse the post.in file when that file
contained massf rac(<species name>), molef rac(<species name>), or spd(<species name>). This
bug applied only when CONVERGE was run on a Windows machine, and the bug has
been fixed.

Output/Post-Processing
Enhancement: When screen_print_level is at least 2, CONVERGE now writes information
to the log file about the time taken to update boundary conditions.
Bug fix: For cases in which there was reverse flow through at least one OUTFLOW
boundary, the data in the output files varied slightly depending on the value of twrite_f iles
in inputs.in. This bug has been fixed.
Bug fix: For some cases, CONVERGE saved more restart files than specified by
num_restart_f iles in inputs.in. This bug has been fixed.

Combustion and Emissions


Bug fix: Fixed a bug related to the G' transport equation. This fix will affect G-Equation
results for all cases in which G_PRIME was included as a passive in species.in.
Bug fix: Some ECFM/ECFM3Z cases that included CHT modeling crashed because of an
uninitialized variable. This bug has been fixed.

Chemistry Tools
Enhancement: Changed the name of the 1D log files from one_d_log_case# to
one_d_case#.log.
Bug fix: For OD and 1D simulations, previously the equivalence ratio calculation was
incorrect if carbon- or hydrogen-containing species were present in the oxidizer.
CONVERGE now correctly accounts for carbon- and hydrogen-containing species in the
oxidizer when it calculates the equivalence ratio.

Turbulence
Bug fix: For cases that included a k-omega turbulence model and the total energy solver,
there was an inconsistency in the TKE production term between the TKE equation and the
total energy equation. This bug has been fixed.

CHT
Bug fix: Fixed a bug that caused a crash for CHT cases that were started from a restart.
Bug fix: Fixed a bug that caused a crash for some CHT cases with moving boundaries.

Radiation
Bug fix: A bug related to radiation coupling with the energy balance equation caused
some cases with radiation modeling to exhibit extreme temperatures outside of the

CONVERGE 2.4 Manual 47


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

specified minimum and maximum temperatures. Cases with high wall temperatures were
the most affected. This bug has been fixed.

1.3.12 2.4.8
CONVERGE 2.4.8 is the official release of version 2.4. These release notes describe
enhancements and bug fixes between 2.4.6 (the beta release) and 2.4.8. (Note that 2.4.7
was not released to clients.)

Solver
Enhancement: The strict conservation options (strict_conserve_f lag in solver.in) have been
modified and expanded since v2.3. In v2.3, strict_conserve_f lag = 1 instructs CONVERGE
to solve all quantities (sie, enthalpy, density, scalars, species, and passives) with a final
Jacobi iteration. As of 2.4.8, that option (solve all quantities with a final Jacobi iteration)
has been moved to strict_conserve_f lag = 2. In 2.4.8, strict_conserve_f lag = 1 instructs
CONVERGE to solve all quantities except passives with a final Jacobi iteration.
Enhancement: All solvers are now built against the Intel Math Kernel Library (MKL)
instead of the netlib LAPACK/BLAS implementation. This change removes the FORTRAN
runtime requirement.
Bug fix: Fixed a Platform MPI (PMPI) licensing issue.
Bug fix: The relaxation factor cutting mechanism was not working properly, which
caused unnecessary recovers for some cases. This mechanism has been fixed.
Bug fix: Some simulations that included the total energy solver crashed due to NaN errors.
This bug has been fixed.
Bug fix: Previously the residual calculations for Jacobi and SOR solvers were not consistent
with one another. This difference has been eliminated.

Input
Bug fix: Previously CONVERGE did not correctly read the species indices in transport.dat,
and thus warning messages about missing species were confusing. This bug has been fixed,
and now CONVERGE writes a warning message that includes all missing species indices
and species names.

Output/Post-Processing
Enhancement: CONVERGE can now write wall stress force data to the post*.out files. The
relevant post.in variables are wall_stress_x, wall_stress_y, wall_stress_z, and
mag_wall_stress.
Enhancement: You can now direct CONVERGE to save restart files that are written at
specific simulation times.
Bug fix: When end_time in inputs.in had the same value as turb_stat_end_time in
turbulence.in, CONVERGE wrote incorrect root mean square values to the post*.out and
restart*.rst files. This bug has been fixed.

48 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Bug fix: Fixed a bug in which the value of the output frequency (twrite_f iles in inputs.in)
affected the simulation output.

Boundaries
Bug fix: Fixed a bug related to the user option (user-defined function) for the pressure
OUTFLOW boundary condition.

Materials
Enhancement: Revised the error message that CONVERGE writes if skip species and
SAGE are active simultaneously (which is not permitted). The error message now suggests
how to adjust the start or end times to avoid the overlap.
Bug fix: For incompressible liquid simulations, CONVERGE wrote incorrect mass flow
rates to area_avg_f low.out and mass_avg_f low.out. This bug has been fixed.
Bug fix: Previously CONVERGE set the species indices for CO2 and H2O only when the
simulation included combustion modeling, and thus calculations related to these species
(e.g., equivalence and react ratios) were not always correct. CONVERGE now sets species
indices for CO2 and H2O for all simulations.

Initialization and Events


Enhancement: CONVERGE now checks for double hump valve lift profiles. If found,
CONVERGE prints an error message and exits.
Bug fix: Fixed a bug so that now the injector mass is correctly initialized for mapping. This
bug affected only simulations that began during injection.

Combustion and Emissions


Enhancement: CONVERGE now contains another ODE solver option for the SAGE
detailed chemical kinetics model. The new option, sage_ode_solver = 2 in combust.in, is the
SuperLU (Sparse Linear Equation Solver) as a preconditioner of GMRES. This option is
recommended for very large mechanisms (more than approximately 500 species).
Enhancement: A new option allows the G-Equation model to invoke the SAGE solver
inside and at the flame front (g_eqn_f lag = 5 in combust.in).
Enhancement: CONVERGE now gives a warning when you activate both the 1D diffusion
FGM model (f gm_f lamelet_type = 2 in f gm.in) and the FGM turbulent flamespeed model
(st_model in combust.in is non-zero), since this combination is not recommended.
Bug fix: Previously the phenom_soot_model.out file contained incorrect data for cases that
included adaptive zoning. This bug has been fixed.
Bug fix: Previously the unburned temperature in the G-Equation laminar flamespeed
calculation was not clipped, which in some cases led passives to become negative and
caused the cases to crash. CONVERGE now clips the unburned temperature in the
laminar flamespeed calculation.
Bug fix: Fixed a bug that caused incorrect NOx mole fraction data to be written to
emissions.out.

CONVERGE 2.4 Manual 49


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Bug fix: Fixed bugs in the G-Equation combustion model related to the passive source term
for ignition.
Bug fix: Fixed the headers in the ecf m.out file.

Chemistry Tools
Enhancement: For 1D simulations, you specify one_d_anchor_temp in one_d_solver.in.
Previously CONVERGE would exit if this anchor temperature was not between the
unburned temperature and the equilibrium temperature. Now if the temperature is outside
the unburned and equilibrium temperature range, or if the temperature is within 50 K of
either the unburned or the equilibrium temperature, CONVERGE will automatically reset
one_d_anchor_temp to the average of the unburned and equilibrium temperatures. When
this reset occurs, CONVERGE writes a message to the screen output.
Bug fix: Fixed a bug in species reduction that may have caused a small error in the
sensitivity analysis.

Spray
Bug fix: Fixed a bug in the calculation of film velocities.
Bug fix: Some Windows simulations that included the detailed decomposition of urea
model crashed. This bug has been fixed.

CHT
Bug fix: Fixed a bug that caused some incorrect values in the super-cycling post output
files.
Bug fix: Fixed an interpolation error in super-cycling that yielded incorrect flux data in
supercycle_stream<stream_num>_balance.out. This error has been fixed. In addition,
CONVERGE now gives a warning message when the fluid embedding level exceeds the
solid embedding level (since this situation causes a significant interpolation error). We
recommend a solid embedding level of at least the fluid embedding level.

VOF
Enhancement: When vof _f lag = 1 in inputs.in, CONVERGE writes a new output file,
volumes.out, which contains liquid and gas volume data for the simulation. CONVERGE
also writes region-specific information to volumes_region<region ID>.out files.
Enhancement: When vof _f lag = 1 and species_output_f lag is a non-zero integer,
CONVERGE writes a new output file, species_vol.out, which contains volume data for the
VOF simulation. CONVERGE also writes region-specific information to
species_vol_region<region ID>.out files. If you specify the file name species_output.in for
species_output_f lag (and if vof _f lag = 1), CONVERGE will write species_vol.out and
species_vol_region<region ID>.out files if the species_output.in file includes <total_vol>.

Radiation

50 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Enhancement: For the Weighted Sum of Gray Gases model, CONVERGE previously
calculated the absorptivity coefficients with the assumption that the total pressure was 1
atm. CONVERGE now scales these calculations based on the actual total pressure.
1.3.13 Major Changes from CONVERGE 2.3 to 2.4
CONVERGE 2.4.6 is a beta release.

The input and data files for CONVERGE 2.4 are significantly different from previous
versions. Because of the many changes, we recommend using CONVERGE Studio to
update your old input and data files. Open CONVERGE Studio 2.4 and go to File > Import
to import input and data files from a previous version. Then go to File > Export to export
2.4 input and data files, which can be used to run a CONVERGE 2.4 simulation.

· Please see the CONVERGE documentation for additional information about 2.4. The
following documents may be useful:
o CONVERGE 2.4 Manual
o Major Changes from CONVERGE 2.3 to 2.4 (also included in Chapter 1 of the
CONVERGE Manual)
o CONVERGE Studio 2.4 Manual
o Major Changes from CONVERGE Studio 2.3 to 2.4 (also included in Chapter 6 of the
CONVERGE Studio Manual)
o CONVERGE UDF Manual
o Getting Started Guide
o Comparison of CONVERGE 2.3 and 2.4
Solver
· Steady-state solver: CONVERGE 2.4 contains a new steady-state solver, which is much
more stable (and, for most cases, faster) than the previous steady-state solvers. To
activate the new steady-state solver, set steady_solver = 1 in inputs.in (steady_solver = 2 or
3 are no longer options).
· Multiple reference frame: The multiple reference frame (MRF) approach in
CONVERGE allows you to simplify a simulation that includes moving geometry. While
CONVERGE can easily simulate moving geometries, the MRF approach further reduces
computational time by eliminating the need to regenerate the mesh at each time-step to
accommodate the moving geometry.
· Time-step limiter based on surface motion: A new time-step limiter prevents a moving
surface from moving too far through a cell in a single time-step.
Efficiency
· Load balancing: The load balancing algorithm has been modified to avoid scenarios
with too many blocks on a single processor.

CONVERGE 2.4 Manual 51


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

· Multithreading: Threading, which can be used to yield a memory reduction in most


cases, is now supported. You can enable threading via the command line argument -T.
Threading is disabled by default.
Input
· New parameter and file names: The input and data files for CONVERGE 2.4 are
significantly different from previous versions. Because of the many changes, we
recommend using CONVERGE Studio to update your old input and data files. Open
CONVERGE Studio 2.4 and go to File > Import to import input and data files from a
previous version. Then go to File > Export to export 2.4 input and data files, which can
be used to run a CONVERGE 2.4 simulation. In particular, combust.in has been
reorganized and the emissions-related parameters have been moved to the new
emissions.in file.
· Non-engine applications: Set crank_f lag = 2 for non-engine, crank angle degree-based
simulations.
· Mechanism and thermodynamic property file names: You can specify names for the
mechanism and thermodynamic property files rather than being restricted to mech.dat
and therm.dat.
· Turbulence model specification: Specify a string instead of a number in turbulence.in to
select a turbulence model.
Output/ Post-Processing
· Tumble ratio output: CONVERGE writes the positive and negative tumble ratios, in
addition to the average tumble ratio, to dynamic.out.
· Post convert frequency: You can specify the frequency with which files are post
converted (e.g., you can post convert every fifth file).
· WALL boundary output: CONVERGE writes the minimum and maximum yplus values,
in addition to the average yplus values, to bound<ID>-wall.out.
· Accumulated film mass: The film that summarizes the accumulated film mass has
changed from f ilm_accum_plus.out to f ilm_accum_net.out.
· Monitor points: A new monitor point option allows you to specify the variables to be
monitored and whether the variables are to be mass- or volume-averaged.
· Parallel write option for output files: CONVERGE can write output files via a serial or
a parallel write function. The parallel write option, which is faster, is available only if
your file system supports MPI I/O. If your file system does not support MPI I/O, your
simulation may crash if you activate this option.
Boundaries
· Tangential velocity: For velocity on a translating FIXED WALL boundary, you can
specify tangential velocity.

52 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Materials
· Lower heating value: You can manually specify lower heating values for individual
species by setting lhv_f lag = 1 in inputs.in and including this lhv.in input file. (If lhv_f lag =
0, CONVERGE calculates the LHV from species data in the thermodynamic data file.)
· Thermodynamic data file format: The thermodynamic data file can now accommodate
the NASA-9 format.
· Fluid property calculator: CONVERGE includes a utility that serves as an interface for
the CoolProp fluid property library. You can use this utility to compute custom tabulated
properties as inputs for a CONVERGE simulation.
· Mechanism tuning: CONVERGE includes a mechanism tuning feature that allows for
automatic mechanism tuning using 0D (ignition delay and speciation) and 1D (laminar
flamespeed) cases based on 1D sensitivity. This option can be coupled with the genetic
algorithm.
Sources
· Turbulence sources: Turbulence sources have been reformulated so you can directly
control the growth rates of tke, eps, and omega.
· Steady-state sources: For steady-state simulations, source values are given as total
amount per time (previously they were given as the total amount).
Combustion and Emissions
· SAGE detailed chemical kinetics solver: In addition to the existing constant volume
reactor model, the SAGE solver now includes a new constant pressure reactor model.
· G-Equation model: A new option allows CONVERGE to invoke the SAGE solver inside,
outside, and at the flame front.
· FGM model: The NOx model in the Flamelet Generated Manifold model has been
removed.
· Surface chemistry: CONVERGE can model surface chemistry between a solid surface
and gas phase species. Surface chemistry can be activated on stationary wall boundaries
or in porous regions.
· Adaptive zoning: Multizone modeling has been renamed adaptive zoning.
· Soot models: The phenomenological soot models have been moved from user-defined
functions into the main code.
· NOx model: CONVERGE now contains the prompt NOx model.
Chemistry Tools
· 0D solver: Improvements have been made to the 0D solver. This solver now contains the
CEQ model, and both CO2 and H2O have been added as EGR species (previously only
N2 could be an EGR species). In addition, the 0D solver now includes adjoint sensitivity
analysis.
· 1D solver: Improvements have been made to the 1D solver. The 1D solver has an
improved laminar flamespeed solver, a new PISO solver, and a new hybrid option.

CONVERGE 2.4 Manual 53


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 1
Introduction |Release Notes

Spray
· ELSA: The Eulerian-Lagrangian Spray Atomization (ELSA) model is a spray injection
model that combines Eulerian multi-phase modeling and Lagrangian particle tracking
methods.
· Detailed decomposition of urea model: CONVERGE includes a model for the detailed
decomposition of urea for deposition, which was implemented jointly by Convergent
Science and IFP Energies nouvelles. This model provides more detailed kinetics than the
molten solid urea decomposition approach.
· Adaptive film mesh approach: CONVERGE includes an adaptive film mesh model to
minimize the grid effects on wall films.
Turbulence
· DES models: CONVERGE contains two detached eddy simulation (DES) turbulence
models: the Delayed DES and the Improved Delayed DES models.
· k-ε models: CONVERGE includes the v  f (v2-f) and   f (zeta-f) turbulence
2

models, both of which are RANS k-e models.


· Temperature law-of-the-wall: The wall distance calculation options have been
separated from the heat model options. Previously the heat_model parameter in
turbulence.in contains all of these options. Now you use heat_model to specify the desired
heat model option and volume_based_wall_dist_f lag (also in turbulence.in) to specify the
desired wall distance calculation option.
FSI
· Spring and stiction modeling: Fluid-structure interaction modeling now contains spring
and stiction modeling and an FSI events option. Note that these options require a UDF.
CHT
· Surface duplication feature: In CHT simulations, you may want to predict heat transfer
between portions of the geometry (e.g., in a multi-cylinder CHT engine simulation, you
may want to determine heat transfer between each of the cylinders and the solid
cylinder head). The surface duplication feature allows you to solve combustion in one
portion of the geometry (e.g., a single cylinder) and then use heat transfer mapping for
the other portions of the geometry for computational efficiency.
UDF
· Boundary condition UDF: Updates have been made to user_bc.c.
· UDF development package: The UDF development package has been redesigned. The
header and source code tarballs have been combined into a single UDF development
package, and the UDF build environment uses CMake. Refer to the UDF Manual for
details.

54 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

2
File Overview
Chapter 2
File Overview |

2 File Overview
This chapter gives an overview of the file types in CONVERGE. Figure 2.1 below shows
the CONVERGE workflow and where in the workflow you will encounter the various file
types.

Figure 2.1: CONVERGE workflow and file types. A denotes ASCII files. B denotes binary files.

2.1 Input and Data Files


Before running a CONVERGE simulation, you need to prepare a set of ASCII-formatted
input (*.in) and data (*.dat) files. The input files contain numerical inputs, model
parameters, and boundary and initial conditions. The data files contain thermodynamic
properties, chemical reaction data, and surface geometry information. You can create or
modify the input and data files via a simple text editor or you can work through the Case
Setup process in the CONVERGE Studio graphical user interface and then export the input
and data files. To ensure that the input and data files are formatted correctly, we
recommend generating the files with CONVERGE Studio.

All of the input and data files must be saved to the Case Directory, which is the location
from which you will execute CONVERGE. If you start a simulation and a required file is
missing, CONVERGE will exit and indicate which file is needed. At minimum, the Case
Directory must contain inputs.in, solver.in, boundary.in, initialize.in, gas.dat, a
thermodynamic data file (e.g., therm.dat), a chemical mechanism file (e.g., mech.dat) and a
surface geometry file (e.g., surf ace.dat). Other options or features (e.g., a particular
combustion model, the skip species feature, a temporally or spatially varying parameter,
initialization via mapping) may require additional input files. Chapter 22 - Input File
Reference contains detailed information about all of the input and data files.

56 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 2
File Overview |Input and Data Files

CONVERGE recognizes an optional hidden.in input file. You can use this file to set up
parameters for features that are in the experimental phase. If a feature is moved out of the
experimental phase, the relevant parameters are moved to other input files and
documented in this manual. The hidden.in file does not have a fixed format, but the general
format for this file is that each line consists of the value of a parameter followed by the
name of that parameter.

2.2 Output Files


There are four types of output files: echo (*.echo), restart (restart*.rst), cell-averaged output
(*.out), and cell-by-cell post (post*.out).

Echo Files
CONVERGE writes a *.echo file for each *.in file (e.g., the echo file for combust.in is
combust.echo). Echo files give you the ability to review the input parameters and identify
problems with the case setup. For example, if a *.in file contains a parameter that does not
appear in the corresponding *.echo file, the parameter must have been formatted
incorrectly and thus CONVERGE could not read it.

CONVERGE does not write *.echo files for *.dat files or auxiliary input files.

The *.echo files are saved to the Case Directory. Note that write permissions for the
directory must be set such that these files can be created. When re-running CONVERGE
from the same directory, the *.echo files will be overwritten without warning.

Restart Files
During a simulation, CONVERGE writes restart files (*.rst) and saves them to the Case
Directory. These files allow you to restart a stopped simulation from a specific simulation
time. Chapter 7 - Initialization and Regions contains more information about how to
control the frequency with which restart files are written and how to start a simulation
from a restart file.

Cell-Averaged Output Files


CONVERGE writes spatially averaged (i.e., cell-averaged) output to fixed-width, column-
formatted, ASCII *.out files and saves these files in the Case Directory. CONVERGE
generates certain *.out files only if the corresponding model has been activated (e.g.,
spray.out will not be generated if the simulation does not include spray).

Each line of data in the cell-averaged output files represents the values at a single cycle or
time-step. Through twrite_f iles in inputs.in, you control the frequency with which data are
written to the output files.

CONVERGE 2.4 Manual 57


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 2
File Overview |Output Files

Every cell-averaged output file begins with a header composed of five rows that each begin
with the character #. The header specifies the quantity and units for each column as well
as the CONVERGE version (version number and release date). The first column in each of
these output files contains time in either seconds (if crank_f lag = 0 in inputs.in) or crank angle
degrees (if crank_f lag = 1 or 2). The second column contains the number of cycles.

CONVERGE saves the *.out files to the Case Directory. If you rerun a simulation from the
same Case Directory, CONVERGE will automatically overwrite the existing *.out files.

If a simulation has more than one region, CONVERGE will generate *.out files for the
entire domain as well as for each region. For the entire domain, the file name format for
most output files is <f ile name><restart number>.out. For an individual region, the file name
format for most files is <f ile name><restart number>_region<region id>.out. Note that, if the
simulation is not a restart, the restart number is not included in the output file name.

For example, for data from the entire domain in a simulation with no restart, the
thermodynamic output file will be thermo.out. The region 1 thermo output file will be
thermo_region1.out. For a simulation with a typical restart (i.e., restart_number = 1 in
inputs.in), the thermo output files will be thermo1.out (for the entire domain) and
thermo1_region1.out (for region 1).

Chapter 23 - Output File Reference contains detailed information about each *.out file.

The CONVERGE Studio Manual describes how to use the Line Plotting module to create
two-dimensional plots of data from the *.out files.

Cell-By-Cell Post Output Files


CONVERGE writes individual cell quantities for all cells in the domain to separate, binary-
format files – one file for each dump at a user-specified frequency. These cells are
converted for use in post-processors such as Tecplot, GMC, EnSight, and Fieldview.
Tecplot for CONVERGE, a version of Tecplot 360, is included with CONVERGE Studio.

Because many files may be generated in this process, CONVERGE saves these cell-by-cell
output files to output, which is a sub-directory of the Case Directory. CONVERGE creates
this directory automatically when you start a simulation. If CONVERGE cannot create this
directory (likely because of restrictive permissions), it will exit and alert you that it was
unable to create the output sub-directory.

The file names for the cell-by-cell output files are descriptive in nature. Each name contains
the output number as well as the time or crank angle at which it was written. The output
number appears first in the file name, so an alphabetical listing of the directory contents
will be chronologically correct. The file names are formatted as follows: post<output

58 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 2
File Overview |Output Files

number>_<output time>.out. For example, the first five cell-by-cell output files for a
simulation might be as follows:

post000001_-2.500000e+00.out
post000002_-5.783817e-01.out
post000003_1.424717e+00.out
post000004_3.432804e+00.out
post000005_5.444896e+00.out

The first output time from a run is always the initialized field, whether it is a normal run, a
restart run, or a mapping run.

If wall_output_f lag = 1 in inputs.in, then CONVERGE writes data regarding stress, force,
and pressure acting on WALL boundaries to wall_stress<output number>_<output time>.out
files. These files are also saved in the output directory. Unlike the post*.out files, the
wall_stress<output number>_<output time>.out files are in ASCII format.

CONVERGE 2.4 Manual 59


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

3
Pre-Processing and Post-Processing
Chapter 3
Pre-Processing and Post-Processing |

3 Pre-Processing and Post-Processing


This chapter describes the pre- and post-processing tasks that may be necessary before or
after running a CONVERGE simulation. This chapter also includes a brief overview
CONVERGE's runtime grid generation techniques to better explain why the surface
geometry must meet certain criteria.

Before you run a simulation in CONVERGE, you must ensure that all necessary input and
data files reside in the Case Directory, which is the directory from which you will run
CONVERGE. The input and data files are in ASCII text format. You can edit these files in
a text editor or via the Case Setup module in CONVERGE Studio, which is the graphical
user interface that accompanies CONVERGE. Although you can edit the surface geometry
by manually editing the surface geometry file (e.g., surf ace.dat) in a text editor, CONVERGE
Studio is the most efficient and reliable way to modify the geometry.

Please refer to the Getting Started Guide for information regarding installing and licensing
CONVERGE and CONVERGE Studio. Refer to the CONVERGE Studio Manual for
information regarding CONVERGE Studio.

3.1 CONVERGE Gridding Methods


Grid generation traditionally has been a major bottleneck for widespread use of CFD.
Many CFD solvers require a manually-generated grid, which is so time consuming that
projects with complex geometries may not be feasible.

CONVERGE has an innovative approach to grid generation - CONVERGE automatically


generates the grid at runtime. To make this automatic grid generation possible,
CONVERGE uses a modified cut-cell Cartesian grid generation method. The geometry
surface is immersed within a Cartesian block. CONVERGE trims the cells at the
intersecting surface, after which the intersection information (surface areas, normal
vectors, etc.) is reduced before being stored for each cell. This process allows for complex
surface intersections to be represented more easily. Figure 3.1 shows a post-processing
visualization of the cutting process and what a cut-cell looks like in CONVERGE. For this
cutting process to be done properly, the surface must meet a certain set of criteria. These
cell-cutting surface criteria are described later in this chapter.

62 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |CONVERGE Gridding Methods

(a) (b)

(c) (d)
Figure 3.1: A post-processing visualization of the cut-cell method in CONVERGE
using a sample cut-cell. (a) The geometry used for modeling a flowbench case. The
circle indicates the general location of the sample cut-cell. (b) A cutaway view that
shows the specific location of the sample cut-cell. (c) One view of the sample cut-
cell. (d) Another view of the same sample cut-cell.

CONVERGE generates the grid internally at runtime. This process involves moving the
surface to the proper location (if the geometry includes moving components), trimming the
boundary cells, refining any embedding areas, and then removing the refinement from the
embedding. For stationary geometries, CONVERGE performs this process once at the start
of the simulation and again whenever the geometry is refined or coarsened. For moving
geometries, CONVERGE performs the grid generation process at each time-step. The
creators of CONVERGE designed the grid generation process to be computationally
efficient to minimize CPU usage for this portion of the simulation.

You must provide a surface geometry file as an input to CONVERGE. You also have the
option to supply additional files to control fixed embedding, Adaptive Mesh Refinement,

CONVERGE 2.4 Manual 63


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |CONVERGE Gridding Methods

and grid scaling. CONVERGE does not require these additional grid control files, but they
may be useful for adding grid resolution where it is most useful.

3.2 Surface Geometry File Format


In a CONVERGE simulation, the geometry must be represented as a closed triangulated
surface. CAD packages typically export geometry information in the STL file format,
which does not intrinsically represent a closed surface (because STL files does not contain
connectivity information for the surface triangles). If you have an STL file, you can import
it into CONVERGE Studio, edit the geometry as needed, and export the geometry as a
properly formatted .dat file (e.g., surf ace.dat). Alternatively, you can use the make_surf ace
utility to generate a surface geometry file for a simple surface.

Table 3.1 below describes the format of the surface geometry file.

Table 3.1: Surface geometry file format.


Row Number Information Description
Provided
Row 1 numverts_tot numverts_tot: maximum vertex
numverts identification number,
numtriangles numverts: number of vertices defined below,
numtriangles: number of surface triangles.

Row 2 to vert_id vx vy vz Unique vertex identification number


Row (1+numverts) followed by the x, y, and z coordinates of
the vertex.
Row (2+numverts) to vert1 vert2 vert3 Identifiers of the vertices making up the
Row (1+numverts+numtriangles) bound_id corners of the surface triangle and the
boundary ID corresponding to the surface
triangle.

In Row 1, numverts_tot defines the maximum vertex ID (vert_id) in the surface file.
CONVERGE allocates an array the size of the numverts_tot value to store the vertex
information. As CONVERGE reads each of the following rows, it uses the vertex ID as an
array index for storing the vertex information. The numverts is simply the number of
vertices defined in the file, i.e., the number of rows that are used to define vertices in the
surface file. For most cases, numverts_tot and numverts are identical. Typically the vertices
are sequentially listed from 1 through numverts, though this ordering is not necessary (i.e.,
the vertex IDs do not need to be sequential).

Immediately following the rows of vertex identification information are numtriangles rows
of surface triangle definitions. Each surface triangle must have three vertex IDs to define
its three corners and a bound_id that corresponds to a boundary identification number in

64 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Surface Geometry File Format

the boundary.in file. The order in which the three defining vertices are given is critical: the
order of the vertices defines which side of the surface triangle points to the inside of the
geometry by means of the right-hand rule.

The triangulated surface must be closed (i.e., no gaps between the triangles) in order for
CONVERGE to process the surface properly. If the surface is not closed, CONVERGE will
not run. Use CONVERGE Studio to check the surface for closure and triangle orientation
before exporting the surface definition file and running a simulation.

The computational expense of trimming the Cartesian fluid cells by the surface depends on
the number of triangles constituting the surface. This trimming process may not be critical
for a stationary surface; however, for a moving surface, where CONVERGE regenerates
the grid at each time-step, trimming the Cartesian fluid cells can be somewhat costly.
Therefore, for a case with moving geometry, ensure that only necessary triangles are
included in the surface. CONVERGE does not limit the number of triangles that can cut a
single fluid cell.

3.3 Surface Preparation


This section and the subsequent subsections describe the criteria that need to be met by a
surface geometry that will be used in a CONVERGE simulation. It is essential to ensure
that your surface is properly configured before running a CONVERGE simulation, and
you should never assume that an STL file generated by a CAD program does not contain
any of these problems. We recommend using CONVERGE Studio to identify and eliminate
problems in the surface geometry.

While the surface geometry needs to accurately represent the shape of the object(s) to be
simulated, CONVERGE does not place restrictions on the size or skewness of the triangles
that constitute the surface. Skewed triangles will not affect the numerical stability of the
fluid mesh.

All surface triangles must have an inside/outside orientation. In other words,


CONVERGE does not allow baffle triangles that point inside on both sides of the triangle.
Any solid immersed within the fluid geometry must have a finite thickness so that the
normal vectors of the triangles constituting the solid point to the fluid (inside) on one side
and to the solid (outside) on the other.

The subsections that follow describe the types of surface defects (open edges, nonmanifold
edges, intersecting triangles, overlapping triangles, and normal orientation inconsistencies)
that must be eliminated before running a CONVERGE simulation.

CONVERGE 2.4 Manual 65


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Surface Preparation

3.3.1 Open Edges


In a closed triangulated surface, each triangle shares each of its three edges with exactly
one other triangle (except in special Conjugate Heat Transfer simulations). If an edge is
part of only one triangle, that edge is called an open edge.

Figure 3.2 shows examples of open edges. In (a), a series of open edges looks like a hole. In
(b), open edges make the surface appear incomplete. CONVERGE will not run if there are
open edges in the surface.

You can often repair open edges by compressing vertices or by adding triangles to fill any
gaps. You can simulate multiple independent, closed regions in one simulation, for
example, simulating flow over a sphere immersed in a box. Both the box and sphere must
be closed shapes, but the two surfaces do not need to be connected.

(b)
(a)
Figure 3.2: Two examples of open edges. The edges highlighted in red indicate edges that are part
of only one triangle, resulting in a surface that is not closed.

3.3.2 Nonmanifold Edges


With the exception of special conjugate heat transfer cases, every edge in the geometry
needs to be shared by exactly two triangles. If more than two triangles share a common
edge, thus forming a T-junction, this edge is a nonmanifold edge.

It is impossible to have distinct inside and outside directions when a surface contains
nonmanifold edges. Figure 3.3 shows a two-dimensional example of nonmanifold edges
with line segments instead of triangles. Note that in Figure 3.3 (a) the geometry has a
distinct inside and outside (i.e., all normal vectors point inside). In Figure 3.3 (b), however,
the presence of the red segment precludes any proper orientation of the geometry (i.e.,

66 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Surface Preparation

there is no proper inside/outside orientation of the red segment that will be consistent
with the inside/outside orientation of the rest of the geometry). In this two-dimensional
example, the points where the red segment intersects the original closed geometry create T-
junctions each consisting of a single point, which corresponds to a T-junction edge in a
three-dimensional case.

Figure 3.4 shows a three-dimensional representation of nonmanifold edges and the


triangles that form them.

(b)
(a)
Figure 3.3: 2D example of the multiple edge sharing problems. (a) A properly defined
2D geometry with a single inside/ outside orientation. Each segment shares an
intersection point with exactly one other segment. (b) The original surface plus an
additional segment that makes it impossible to define a proper inside/ outside
orientation. This new geometry has two improper 3-way intersections.

CONVERGE 2.4 Manual 67


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Surface Preparation

Figure 3.4: A cut-away, three-dimensional view of nonmanifold (or T-junction) triangles as they
appear in CONVERGE Studio. The blue-green triangles have been rendered semi-transparent for
clarity. Some brown and tan triangles have been hidden to show the T-junction.

3.3.3 Intersecting Triangles


CONVERGE cannot use a surface containing triangles that intersect because an
intersection would violate the concept of a consistent inside/outside orientation of the
surface. This type of problem can be difficult to detect in a surface. Figure 3.5 shows a two-
dimensional example. Figure 3.6 shows how CONVERGE Studio graphically represents
parallel triangles that have been moved too close together and thus are considered
intersecting.

At a minimum, visually inspect the surface to ensure that there are no surface
intersections. For example, when modeling valves, verify that the valves are not closed too
far, so that the valve angle overlaps the valve seat, as shown in Figure 3.6.

68 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Surface Preparation

(a) (b)
Figure 3.5: (a) All points in space are either inside the surface or outside the surface. (b)
Intersecting surfaces cause some volumes to violate the above criteria.

Figure 3.6: CONVERGE Studio depicts parallel triangles that are too close with inconsistent
coloration. In CONVERGE Studio, go to Geometry > Transf orm > Translate to move these intersecting
triangles.

3.3.4 Overlapping and Sliver Triangles


Overlapping and sliver (distorted aspect ratio) triangles are some of the most common
problems found in triangulated surfaces generated from CAD packages, and they cannot
be easily seen. These problem triangles do not result in open edges or nonmanifold edges
because the connectivity forms a manifold volume.

The figures below illustrate the concept of overlapping triangles and sliver triangles.
Figures 3.7 (a) and (b) show two acceptable two-dimensional (i.e., all vertices are co-
planar) triangle configurations. The triangles in the example are AEC, ABE, ACB, and
BCD, with all of their normal vectors pointing out of the page. Both surfaces are

CONVERGE 2.4 Manual 69


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Surface Preparation

considered properly triangulated (with respect to overlapping triangles) and could be part
of acceptable surface files in CONVERGE.

E E

A
A B

C B C

D D

(a) (b)
Figure 3.7: Four triangles formed by coplanar vertices A, B, C, D, and E. Both (a) and (b) are
acceptable surface triangulations.

If vertex A is located on segment BC, as shown in Fig. 3.8 (a), then vertices A, B, and C are
collinear and thus triangle ABC has zero area. This zero-area (distorted aspect ratio)
triangle will have a random normal vector and will cause errors in CONVERGE.

Figure 3.8 (b) shows the same set of triangles with vertex A located below segment BC. In
this case, triangle ABC has flipped and now its normal vector points into the page instead
of out of the page. In essence, the entirety of triangle ACB and small portions of triangles
AEC, ABE, and BCD are all occupying the same space, generating a triangle intersection,
which CONVERGE does not allow.

70 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Surface Preparation

E
E

A
C
B C
B
A

D
D

(a) (b)
Figure 3.8: The same triangles as in Figure 3.7, but in case (a), vertex A is collinear with segment BC,
resulting in a zero-volume (distorted aspect ratio) triangle ACB, which will have an undefined
normal vector. For case (b), triangle ACB is flipped and has a normal vector pointing opposite those
of the other three triangles. Neither example is permitted in the CONVERGE surface geometry file.

In Figure 3.7 (a) and (b), all segments between triangles have edge angles of 180°. In Figure
3.8 (a), the edge angle associated with segments AB, BC, and AC is 0°. An edge angle of
less than 60° usually indicates a problem area in the surface. However, many geometries
will have sharp features consisting of triangles that will be highlighted by a 60° feature
angle. Examine areas with a highlighted feature angle to determine if the geometry
actually has a sharp feature in the surface, or if the geometry is flat and the triangulation
of the surface has resulted in an inappropriate situation such as in Figure 3.8 (b). You can
repair these triangles by moving (translating) vertex A, stitching A to B or C, or
retriangulating the system as shown below in Figure 3.9. The retriangulation creates
triangles ABE, AEC, ACD, and ADB.

CONVERGE 2.4 Manual 71


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Surface Preparation

C
B
A

Figure 3.9: A retriangulation of Figure 3.8 (b) yields an


acceptable triangulation of the surface.

3.3.5 Normal Orientation


CONVERGE requires the surface to have a properly defined inside (solved fluid side) and
outside (non-fluid side). The normal vectors of all triangles (as defined by the right-hand
rule) must point toward the fluid.

One extra normal orientation step is required when a surface consists of multiple
independent surfaces, as in the case of an object completely immersed within a fluid
domain, such as a sphere immersed in (but not connected to) a box. For the immersed
sphere, the normal vectors of the triangles must point away from the center of the sphere,
since the solved fluid portion of the domain is outside of the sphere. The normal vectors of
the box triangles must point inward, toward the sphere.

72 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Periodic Surfaces

3.4 Periodic Surfaces


To use the periodic surfaces option, CONVERGE requires that the two surfaces must have
exactly the same geometry and must both be designated as PERIODIC boundary types in
boundary.in.

On curved surfaces, vertices must match exactly on both sides of the periodic surfaces (i.e.,
there is a one-to-one correspondence of vertices on both faces) otherwise the geometry on
the matched periodic surfaces will not be exactly the same. Always verify that the
geometry of the matched periodic surfaces is exactly the same before starting a simulation.
For engine sector cases, using the make_surf ace utility is the best way to ensure these
surfaces are identical.

3.5 Make Surface and Extract Profile


The make_surf ace utility in CONVERGE (also available as the Make Surface tool in
CONVERGE Studio) will automatically configure the surface geometry file (e.g.,
surf ace.dat) for engine sector cases. You may wish to simulate an axi-symmetric engine
sector, an example of which is shown below in Figure 3.10, rather than a full engine to
reduce computational time.

Figure 3.10: An engine cylinder


sector geometry created
automatically by the make_surf ace
utility.

CONVERGE 2.4 Manual 73


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Make Surface and Extract Profile

In sector cases, you need to specify values for the velocity and turbulence fields at the start
of the calculation. To determine accurate velocity and turbulence field values, run
CONVERGE with intake ports and valves included in the geometry from the intake valve
opening time until all valves are closed. This simulation will model the complete induction
event and give you accurate velocity and turbulence fields. Then use these velocity and
turbulence values to create a map.dat file to initialize by mapping for the sector case.

Although you can prepare a sector geometry in a CAD program or manually in


CONVERGE Studio (i.e., without using the Make Surface tool), the make_surf ace utility of
the Make Surface tool will yield an engine sector geometry that is defect-free, boundary-
flagged, and periodic face-matched.

It is important to note that the periodic face of a sector geometry must be symmetric about
the XZ plane and the piston motion must be along the z axis, as shown below in Figure
3.11. When you use the make_surf ace utility to create a sector geometry, this configuration
will be generated automatically. If you do not use this utility (or the corresponding tool) to
prepare the geometry, you must prepare the periodic faces so that they are symmetric
about the XZ plane.

Figure 3.11: A sector geometry with the periodic


boundaries appropriately symmetric about the
XZ plane.

The make_surf ace utility requires the makesurf ace.in file. Table 3.2 lists the parameters in
makesurf ace.in. Figure 3.12 shows an example makesurf ace.in file. Once you have prepared
the makesurf ace.in file, save it to the Case Directory. From the command line, go to the Case
Directory and enter

make_surface

to automatically generate surf ace.dat.

74 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Make Surface and Extract Profile

Table 3.2: Parameters in makesurf ace.in.


Parameter Description

bore Engine cylinder bore (m).

stroke Engine cylinder stroke (m).

conrod Engine connecting rod length (m).

wrist_pin_of f set Engine wrist pin offset (m). This parameter can be negative as the
absolute value is used.

target_comp_ratio Target compression ratio. Enter a value or set to ADJUST.*

target_squish_height Target squish height (m). Enter a value or set to ADJUST.*

target_crevice_width Target crevice width (m). Enter a value or set to ADJUST if a crevice is to
be generated. Set to NO_USE if no crevice is to be generated.*

target_crevice_depth Target crevice depth (m). Enter a value or set to ADJUST if a crevice is to
be generated. Set to NO_USE if no crevice is to be generated.*

theta Sector angle in degrees.

dx This parameter is not used.

dy This parameter is not used.

dz This parameter is not used.

create_prof ile 0 = Profile file is provided,


1 = CONVERGE creates the profile from f orces.in

nf orces Number of spline points. Only used if create_prof ile = 1.

kspring Spring constant (k). Only used if create_prof ile = 1.

xmax Maximum displacement along x axis(m). Only used if create_prof ile = 1.

ymin Minimum displacement along y axis (m). Only used if create_prof ile = 1.

minsquish Minimum squish height (m). Only used if create_prof ile = 1.

*To generate the surface, the make_surf ace utility can adjust at most one of the following
four parameters: target_comp_ratio, target_squish_height, target_crevice_width, and
target_crevice_depth. The other three parameters must be assigned a fixed value (or set to
NO_USE if no crevice is to be generated). Note that both crevice parameters must be set to
NO_USE if one of them is set to NO_USE.

CONVERGE 2.4 Manual 75


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Make Surface and Extract Profile

0.13716 bore
0.1651 stroke
0.1 conrod
0 wrist_pin_offset
ADJUST target_comp_ratio
0.01 target_squish_height
NO_USE target_crevice_width
NO_USE target_crevice_depth
60.00 theta
0.005 dx
0.005 dy
0.005 dz
0 create_profile
6 nforces
2.0 kspring
6.0 xmax
-4.0 ymin
0.001 minsquish
Figure 3.12: An example of makesurf ace.in for make_surf ace utility.

You can let the make_surf ace utility create a method of forces or flat surface head and/or
bowl profiles, or you can provide non-flat profiles using the head_prof ile and bowl_prof ile
input files.

To use the method of forces to have the make_surf ace utility create the piston bowl and
head profiles, set create_prof ile = 1. Then enter values for nf orces, kspring, xmax, ymin, and
minsquish. The method of forces calculates displacements due to the number of forces
(nf orces) acting on a flat spring that has a stiffness kspring. CONVERGE generates the head
and bowl profiles due to the displacements from these forces. You must also include in the
Case Directory a f orces.in input file that specifies the magnitude of each force. Note that
nf orces must be equal to the number of forces specified in the f orces.in input file.

To use a flat surface for the head and/or bowl profiles, set create_prof ile = 0. If you do not
provide a bowl_prof ile file, the make_surf ace utility will create a flat profile for the piston
bowl. This profile will be based on the value of the bore parameter in makesurf ace.in. If you
do not provide a head_prof ile file, the make_surf ace utility will create a flat profile for the
head. Again, this profile will be based on the value of the bore parameter in makesurf ace.in.

To provide your own head and/or bowl profile information, set create_prof ile = 0. Save the
files containing basic x, z coordinate information for the head and bowl as head_prof ile and
bowl_prof ile, respectively. The file format is shown below in Figure 3.13. The first point in
each profile must be at the axis (x = 0.0). If the last point in the profile is not at the cylinder
radius, the make_surf ace utility will create an additional point with the x value equal to the
cylinder radius and the z value equal to the last point specified in the profile. The x
coordinates are absolute, while the z coordinates are relative and will be adjusted based on
stroke and squish. The units of all values must be in meters. With these head_prof ile and/or

76 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Make Surface and Extract Profile

bowl_prof ile files present, the make_surf ace utility will generate a surface geometry file that
is ready for simulation.

0.000000e+00 -1.741080e-01
5.700000e-03 -1.762060e-01
8.400000e-03 -1.772170e-01
1.110000e-02 -1.781950e-01
1.380000e-02 -1.791890e-01
1.659200e-02 -1.802050e-01
1.940700e-02 -1.812610e-01
2.160000e-02 -1.820600e-01
2.375000e-02 -1.828310e-01
2.575000e-02 -1.836180e-01
2.810000e-02 -1.844820e-01
3.000000e-02 -1.851750e-01
3.233300e-02 -1.860120e-01
3.410000e-02 -1.866530e-01
3.733800e-02 -1.872210e-01
4.000000e-02 -1.868740e-01
4.216700e-02 -1.859010e-01
4.413300e-02 -1.844430e-01
4.568300e-02 -1.824290e-01
4.663900e-02 -1.801370e-01
4.699000e-02 -1.775690e-01
4.699000e-02 -1.693210e-01
6.858000e-02 -1.693210e-01
Figure 3.13: A sample bowl_prof ile.

Extract Profile
The extract_prof ile utility can extract a bowl or head profile from almost any geometry.
This utility is useful for a geometry in which the bowl or head does not have straight radial
lines along which to manually copy points for the profile.

To use the extract_prof ile utility, supply a surf ace.dat file. The geometry must be centered at
z = 0 and any cut-plane through the geometry must form a closed loop. You will have to
remove ports and valves from the geometry to form a closed loop.

When you execute extract_prof ile, it will obtain the x and z coordinate data from points
along a straight line in the bowl or head, as shown below in Figure 3.14.

CONVERGE 2.4 Manual 77


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Make Surface and Extract Profile

Figure 3.14: The bottom green line shows the line along which extract_prof ile obtains the x
and z coordinate data for the profile.

Once you have obtained the x and z coordinates of the bowl or head profile, follow the
instructions for running the make_surf ace utility to construct the complete geometry. Figure
3.15 shows a view of the extracted bowl profile in the xz plane. Figure 3.16 shows the
complete bowl shape rendered in CONVERGE Studio.

78 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Make Surface and Extract Profile

Figure 3.15: The extracted bowl profile in the xz plane.

CONVERGE 2.4 Manual 79


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Make Surface and Extract Profile

Figure 3.16: The complete geometry including the bowl shape rendered in
CONVERGE Studio.

3.6 Boundary Identification


Once the surface has been checked for problems and corrected, the last step is to flag the
triangles to their appropriate boundaries. The actual description of the boundary
conditions is not part of the surface preparation (although you can prepare the boundary
input file using CONVERGE Studio), but is instead a separate input file, boundary.in. All
that is required in the surface preparation is to flag the triangles according to the
corresponding boundary id in the associated boundary.in file. As described previously in
the Surface Geometry File Format section, each triangle in the surface geometry file is
defined by three vertices and a boundary ID.

It is often useful to divide up a single boundary type into multiple boundaries to allow for
more control and flexibility when specifying grid refinement. For example, even though a
valve could be represented as a single boundary type, additional embedding near the valve
angle may improve the precision of the results in this area. To achieve increased precision,
flag the valve angle as a separate boundary type from the rest of the valve. Then, when
defining embedded regions, you can dictate additional layers of embedding on this portion
of the valve.

80 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Boundary Identification

The boundary IDs used do not need to be sequential and there is no limit on the number of
boundary IDs that can be specified. Any boundary IDs assigned to triangles in the surface
geometry file that do not have a corresponding entry in the boundary.in file will cause the
code to abort and give an error.

3.7 Moving Boundaries


Moving boundaries are flagged in the same manner as stationary boundaries on the
surface. You will define the actual motion of the boundary in boundary.in, but before
executing the simulation, you must also follow a few other boundary motion-preparation
tasks as described in the subsections below.

3.7.1 Surface Position


CONVERGE allows you to define boundary motion using three different techniques:
specifying velocity, piston motion, or position-versus-time.

When specifying the boundary velocity, the surface data file (e.g., surf ace.dat) imported to
CONVERGE represents the surface at time = 0.0. If the you start the simulation at any
other time, CONVERGE will adjust the moving surface to the appropriate position, based
on the specified velocity and the initial grid position. To specify a velocity for a boundary,
enter a velocity vector after the keywords velocity and la, sl, or di for that boundary in
boundary.in. The boundary will move at the speed and direction specified by this velocity
vector for the entire simulation.

If you use the piston motion option, CONVERGE will automatically generate position-
versus-time data for the piston based on the stroke, connecting_rod, crank_of f set, and rpm
parameters specified in engine.in. This option is allowed only when crank_f lag = 1 in
inputs.in and when an engine.in file is in the Case Directory. The surface geometry file must
be exported with the piston in Bottom Dead Center (BDC) position when using the piston
motion surface position option.

For the position-versus-time boundary motion option, supply a separate *.in position file
(e.g., intake_lif t.in) that specifies three-dimensional offset distances at different simulation
times (seconds or crank angle degrees, depending on the value of crank_f lag in inputs.in).
These three-dimensional position values are the of f sets (not velocities) relative to the
original position of the boundary, which is defined in the surface geometry file (e.g.,
surf ace.dat) that you exported from CONVERGE Studio into the Case Directory.

For example, if the geometry is an engine and the valves are in a closed position when you
export the surface geometry file, the position information you specify in the *.in position
file dictates how the valve moves away from its closed position during the simulation. For
a vertical valve engine with the valves initially closed, the x and y position would be 0.0 for
all times (i.e., there is no motion in the x and y directions because the valves move

CONVERGE 2.4 Manual 81


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

vertically). The z position should be specified as 0.0 for all simulation times when the valve
is closed and open up to maximum lift over time and then back to 0.0 to close the valve.

Refer to Chapter 8 - Boundary Conditions for more information on moving boundaries.


3.7.2 Moving Periodic Faces
If a periodic boundary is adjacent to a moving boundary, such as the green periodic face is
adjacent to blue moving piston boundary shown in Figure 3.17 below, and if this periodic
boundary has interior triangles (i.e., triangles that do not share a vertex with another
boundary), you must apply a Translating velocity boundary condition to this periodic
boundary using the input file boundary.in.

Periodic translating boundaries move differently than wall translating boundaries. Only
the interior vertices (vertices not shared by triangles on other boundaries) will translate on
a periodic boundary. The vertices shared by triangles on neighboring boundaries will move
(or remain stationary) according to the velocity boundary condition of these neighboring
boundaries.

Consider the engine sector example shown in Figure 3.17 below. The blue boundary is the
piston face which is defined as Translating (moving). The red boundary is the cylinder
wall and the green boundary is the front periodic boundary . Notice that many of the
triangles that constitute the periodic boundary are defined by vertices that will not move
as part of the piston face.

For the simulation to execute properly, you must specify that these interior triangle vertices
translate in conjunction with the piston. By defining this periodic boundary as translating,
the interior triangle vertices will be translated. The triangle vertices on the periphery of the
periodic face will move according to the boundary type they are shared with, (e.g., vertices
shared with the piston will move according to the piston motion, vertices shared with the
head will be stationary).

82 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

Figure 3.17: A sample sector engine case with a


periodic face (green). Define the periodic boundary
velocity boundary condition as translating in order to
move the interior vertices on the periodic face in
conjunction with the piston.

The direction of translation of the vertices on the periodic face must be tangential to the
triangle face, so that each triangle will maintain the same normal vector. If there are no
triangle vertices wholly contained within the periodic face (interior vertices), it makes no
difference if the periodic boundary is defined as a translating or stationary type.
3.7.3 Surface Defects Caused by Motion
Three of the surface defects described earlier, surface intersection, overlapping triangles,
and zero-area/sliver triangles, can also occur while the simulation is executing, when the
boundaries in the surface move. The boundary locations as they appear in the exported
surface geometry file only represent the actual geometry at one instant in time. During the
simulation, CONVERGE will move the vertices on moving boundaries according to the
motion defined in the boundary.in file. Therefore, you must ensure that no surface defects
will occur throughout the path to be taken by the moving surfaces.

To avoid zero-area triangles and overlapping triangle defects, verify that no stationary
vertices will be in the path of a moving surface. This problem can often occur on
boundaries adjacent to both a moving surface and a stationary surface.

CONVERGE 2.4 Manual 83


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

For example, in the case of an engine, you must define the cylinder liner boundary as a
ring of vertices around the periphery of the head connected by a single row of triangles to
an identical, parallel ring of vertices on the periphery of the piston face. An example of this
single row cylinder liner is shown in Figure 3.18.

(a) (b)
Figure 3.18: An example of a properly configured surface geometry for piston cylinder in
CONVERGE Studio, showing the surface when the piston is at BDC (a) and at TDC (b). For
both positions, the cylinder liner surface consists of only one row of triangles.

A triangle configuration that will cause errors during boundary motion is shown in Figure
3.19 below. Notice in Figure 3.19 (a) the triangulation of the planar (green) periodic face
of the sector is valid for the boundary position shown. This triangle configuration,
however, causes a problem as the piston nears top dead center (TDC) position because the
vertex on the lip of the piston bowl crosses over the segment connecting the center of the
bowl to the outer radius of the head. This process causes the triangle to flip, creating an
invalid surface as seen in Figure 3.19 (b). An allowable triangulation of the periodic face is
shown in Figure 3.20. Notice that near TDC, no triangles get flipped.

84 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

(a) (b)
Figure 3.19: An example of a moving piston sector case showing improper triangulation of a
surface. The problem triangle is shown outlined in yellow. The surface in (a) is valid, but when
the piston moves upward, the triangle flips as shown in (b), causing a surface defect.

(a) (b)
Figure 3.20 A modified and allowable triangulation of the piston cylinder sector case. The
surface is valid both in (a) and (b).

You must also be aware of intersecting triangles. At no time during the simulation can
triangles overlap or intersect. At any location where two surfaces come in contact with
each other in the actual, physical object being modeled, you should prepare the surface
geometry with a minimum separation between these two portions of the surface.

A good example potentially overlapping triangles is the seating of valves in an engine. In


the actual, physical cylinder, the valves close tight against their seats. In the CFD
simulation, the triangles on the valve boundary should never actually contact the triangles
on the seat boundary, since this contact would cause intersecting triangles. There is no
minimum distance required between two triangles. As long as the triangles do not
intersect, the geometry is valid.

CONVERGE 2.4 Manual 85


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

Typically, the reason for bringing two surfaces together is to close off flow between two
regions. Since CONVERGE does not allow triangles to actually overlap or intersect, the
regions up and downstream of this area is never completely separated. Use the events.in
input file to configure events that will allow or discontinue flow between two regions.
3.7.4 Surface Alignment
Boundary motion results in three different types of triangle motion: moving, non-moving,
and intermediate. A triangle's motion type depends on how each vertex in the triangle
moves (or does not move).

Vertices are shared by multiple triangles. If any of the triangles attached to a vertex are
moving, the vertex also moves. Moving triangles consist of vertices that are all moving
along the same vector. Non-moving triangles consist of vertices that are all stationary.

A triangle with intermediate motion is one that is composed of both moving and non-
moving vertices. This type of triangle is flagged to a non-moving boundary, but it shares
one or two vertices with a triangle on a moving boundary.

Inspect these intermediate triangles carefully when preparing the surface. The normal
vector on an intermediate triangle must not change as the boundaries move during the
simulation. To keep the normal vector constant during boundary motion, the moving
vertices of the intermediate triangle must move within the plane of the triangle. That is, the
direction of motion of the moving vertices in an intermediate triangle must be perpendicular
to the normal vector of the triangles.

An example of intermediate triangles are on a cylinder liner in an engine. The piston moves
in the z direction only and the head is stationary. Figure 3.18 in the previous section shows
how the triangles on a cylinder liner deform (stretch and shrink) during the piston motion
(the triangles on the cylinder liner move with intermediate-type motion). To keep the
normal vector constant during the geometry motion, the vertices on the periphery of the
head and the piston (the vertices that make up the intermediate triangles on the cylinder
liner) must be aligned in the x and y directions. Ensuring proper vertex alignment will
prevent the triangles from becoming skewed as the piston moves in the z-direction and
will minimize the potential loss of region volume.

This type of surface defect can result in two problems. First, if the vertex misalignment is
slight, mass may not be perfectly conserved. Second, if the misalignment is severe (i.e., if
new fluid cells will be created due to the non-planar effects of the intermediate triangles), it
could lead to problems initializing the new cells. CONVERGE will check alignment when
the simulation starts and will output a warning if alignment exceeds a predetermined
tolerance.

86 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

3.7.5 Sealing of Boundaries


Use the boundary sealing feature to control/prevent fluid flow within a region. Boundary
sealing is somewhat similar to using OPEN and CLOSE events, but instead of controlling
the flow between regions, you can specify boundary sealing to prevent flow between
different parts of the same region. Another difference between boundary sealing and
OPEN/CLOSE events is that you can specify a very specific location in which to place the
seal, such as around the edges of a port or between the top of the piston and the liner.

One common use for boundary sealing is to prevent flow between the combustion
chamber and the intake or exhaust ports in a two-stroke engine cylinder. In an actual two-
stroke engine cylinder, the body of the piston is positioned tightly against the cylinder wall,
thereby preventing flow through the ports attached to the cylinder wall when the piston
nears top dead center. In CONVERGE, however, intersecting triangles are prohibited and
thus two parts of the geometry cannot touch (refer to the previous Surface Defects Caused
by Motion section for more information).

One way to prevent triangle intersections in a two-stroke engine geometry is to scale down
(i.e., make it smaller) the piston geometry. However, this method will create an unrealistic
crevice volume between the piston and the cylinder liner.

To prevent computational errors associated with an unrealistic crevice volume,


CONVERGE offers a feature called sealing that can disconnect the crevice volume from the
cylinder volume during the simulation. After scaling down the piston geometry (or just the
vertices on the perimeter of the piston), use CONVERGE Studio's Seal tool (or
CONVERGE's make_seals utility) to disconnect the volume (and the flow) from the cylinder
to the crevice between the piston and the liner.

In a two-stroke engine case as shown in Figure 3.21, without using CONVERGE's sealing
feature, significant crevice volumes between the liner (Boundary 2) and the piston skirt
(Boundary 3) will produce computational inaccuracies. The solid lines for the piston
(Boundary 1) and the piston skirt (Boundary 3) represent the piston at Bottom Dead
Center (BDC) in Figure 3.21. The dashed lines represent the piston boundary as it is
compressing the air-fuel mixture. With no seal specified, CONVERGE will include the
unrealistic crevice volume in the flow and volume calculations and will not close the flow
from the cylinder to the exhaust port (Boundary 4).

To prevent inaccuracies associated with an unrealistic crevice volume and/or flow


between the cylinder and the exhaust port, create a seal between the cylinder liner
boundary and the piston boundary. In the two-stroke engine example below, seals must be
created in two different locations in order to separate the cylinder volume from the crevice
volume at different simulation times, as illustrated in Figure 3.21.

CONVERGE 2.4 Manual 87


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

Use one of the two available methods to create seals for your simulation:

1. make_seals utility (run via the command line)


2. Seal tool in the Geometry dock in CONVERGE Studio

Use the seal_tol parameter in inputs.in to specify tolerance for any seals. The value for
seal_tol determines how far the sealing algorithm will search when projecting a seal vertex
onto a boundary. We recommended that this value is at least two times the distance
between the parts to allow for a safety factor. For example, if you create a piston that is
0.1 mm from the liner, it is recommended that you use a seal_tol of at least 0.2 mm.

The two options to create seals are described in the following two sections.

Figure 3.21: A two-dimensional schematic that describes the logic of boundary sealing for a two-
stroke engine geometry.

88 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

Sealed Surface Geometry Format


The sealed surface geometry file has the name surf ace_new.dat and it has information about
the seals in addition to the regular surface geometry file information. The summary of the
new file format is given in Table 3.3.

Table 3.3: Summary of the sealed surface geometry file format.


Sealed Surface Information Description
Geometry File Row Provided
Number

Row 1 numverts_tot numverts_tot: maximum vertex id.


numverts numverts: number of vertices defined below.
numtriangles numtriangles: number of surface triangles.
numseals numseals: number of sealed edges.
Row 2 to vert_id vx vy Unique vertex identification number followed by the x, y, and z
Row (1+numverts) vz coordinates of the vertex.

Row (2+numverts) vert1 vert2 Identifiers of the vertices making up the corners of the surface
to vert3 triangle and the boundary ID corresponding to the surface
Row bound_id triangle.
(1+numverts+numt
riangles)
Row vert1 vert2 vert1: vertex identifier for the sealed edge.
(2+numverts+numt direction vert2: vertex identifier for the sealed edge.
riangles) bound_id direction: Flag for direction of sealing.
to moving 0 = Direction of the seal edge is the average of the normal
Row vectors of the triangles used to define the seal,
(1+numverts+numt 1 = Direction of the seal edge is parallel to the normal vector of
riangles+numseals) the triangle on the bound_id specified in the next column,
2 = Direction of the seal edge is perpendicular to the normal
vector of the triangle on the bound_id specified in the next
column.
bound_id: Boundary ID to which the seal triangle is parallel or
perpendicular. (bound_id is not used if direction = 0)
moving: Motion flag for seal triangles,
0 = The seal edges do not move; the boundary to which it is
sealing is deformed/stretched to create the seal,
1 = The seal edges move as needed toward the boundary to
which it is sealing to create the seal.

One difference between the new sealed surface geometry file (surf ace_new.dat) and the
non-sealed geometry file (see Table 3.2) is that the sealed geometry file has the additional
column numseals in Row 1. This file will also have extra rows (for the seals) appended to
the end of the surface geometry file.

CONVERGE 2.4 Manual 89


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

make_seals Utility
To seal the boundaries of a surface geometry file, change the name of the surface geometry
file to surf ace.dat. When you execute the make_seals utility, CONVERGE creates a new file
called surf ace_new.dat that uses the surf ace.dat file as a seed file. surf ace_new.dat will contain
the original surface geometry and the sealing information.

To initiate the make_seals utility from the terminal, change to the directory containing all
input, data files, and the CONVERGE executable, and type make_seals. CONVERGE will
prompt you for the following information:

1. The boundary IDs of the two boundaries between which the seal will be created.
2. Direction of the seal triangles.
Type 0 to use the average angle of the two normal vectors of the triangles that belong to
the two respective boundaries, specified in (1) as the direction of the plane of the seal
triangles.
Type 1 to make the plane of the seal triangles parallel to the normal vector of the
triangle belonging to a boundary specified in (3).
Type 2 to make the plane of the seal triangles perpendicular to the normal vector of the
triangle belonging to a boundary specified in (3).
3. The boundary ID of the direction triangles that will bet used to determine the direction
(parallel or perpendicular) of the seal.
4. The ID of the boundary to which the seal edges will seal.
5. Seal translation (moving) flag:

Type 0 to make the boundary you assign in the which boundary will it be sealing
up against step (see Figure 3.22 below) stretch as needed to create a seal. The seal
edges will not move with this option, but the boundary it is sealing up against will
deform to create the seal. This option is recommended only when the seal edge and the
boundary it is sealing up against are very close to each other (typically within 1e-6
meters).

Type 1 to move the seal edges to the boundary to create a seal. The boundary to which
these seal edges will be moved is the one you assign in the which boundary will it
be sealing up against step. This option is often useful for specifying a seal edge on a
boundary that is translating.

Figure 3.22 below shows sample input for the make_seals utility scenario shown in Figure
3.21 above.

make_seals

90 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

which boundaries would you like to create a seal between?


boundary 1 : 1
boundary 2 : 3
which direction would you like to seal 0=average 1=parallel 2=perpendicular : 2
parallel or perpendicular to which boundary? : 3
which boundary will it be sealing up against : 2
will seal be moved toward the above boundary : 1

which boundaries would you like to create a seal between?


boundary 1 : 2
boundary 2 : 4
which direction would you like to seal 0=average 1=parallel 2=perpendicular : 2
parallel or perpendicular to which boundary? : 2
which boundary will it be sealing up against : 3
will seal be moved toward the above boundary : 0

Figure 3.22: Sample input for make_seals.

The sample inputs in Figure 3.22 correspond to the creation of seal triangles between the
boundaries as shown in Figure 3.21. For the first seal, moving = 1, so CONVERGE will
move the seal edges (the set of edges between the piston and the piston skirt – Boundaries
1 and 3, respectively) to Boundary 2. These seal edges will move as needed toward
Boundary 2 in the direction specified to created a seal against Boundary 2.

For the second seal in Figure 3.22, the seal between the liner and the port (Boundaries 2
and 4, respectively) is not moving (moving = 0). For this seal, Boundary 3 will be stretched
as needed to create a seal against the seal edges specified between Boundaries 2 and 4.
Seal in CONVERGE Studio
Use the Seal operation available in the Geometry dock of CONVERGE Studio to create a
connection between two boundaries that are not actually connected in the surface
geometry.

The screenshots below show a seal that creates a seal between the outer ring of edges
around a piston and the liner. The steps below summarize the process of creating a seal
(shown in the screenshots from Figures 3.23 - 3.30).

1. Create a new seal row in the Seal section of the Geometry dock by clicking Add Seal.
2. Select the boundary to which the section of edges will be sealed from the To Boundary
pull-down list.
3. Select the section of edges from which the seal will extend. Each edge in this section of
edges must be shared by exactly two triangles, which is the reason the Piston Skirt is
used in the example below.
4. Select the triangles that will define the direction of the seal. One edge on each of these
triangles must be part of the seal edge section. If you select some triangles that do not

CONVERGE 2.4 Manual 91


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

share an edge with the seal edge section, these are simply ignored by CONVERGE
Studio. Only triangles with one edge in the seal edge section will be used to determine
the seal direction.
5. Click Assign at the bottom of the Geometry Dock and the seal edge section, as well as
the triangles that define the direction of the seal, will be highlighted.
6. Choose from the three options for seal direction: Average, Parallel, or Orthogonal.
Double-click on the pull-down menu in the Direction column to select one of these
options. Parallel causes the seal to extend in the direction of the plane created by the
adjacent triangle chosen for seal direction. Orthogonal causes the seal to extend
orthogonal to the direction of the plane created by the adjacent triangle chosen for seal
direction. Average makes the seal direction point halfway between the Parallel and
Orthogonal directions. Check the box in the Move column if the section of edges chosen
for this seal will be move towards the To Boundary in order to create the seal. If you do
not check the Move checkbox, the boundary selected as the To Boundary will stretch or
deform as needed to create the seal. This option is available only when the seal edges
are within a very small seal tolerance.
7. CONVERGE Studio shows light blue arrows indicating the direction the seal.
8. Use the Transf orm > Translate tool to move the boundary (piston boundary in this
example) in its direction of motion to confirm the seal moves with the boundary as
expected.

92 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

Figure 3.23: Creating a SEAL: Step 1 - Click the Seal button in the Geometry dock and then click
Add Seal to begin the seal configuration process. These screenshots hide portions of the Liner
and Piston Skirt boundaries for clarity.

CONVERGE 2.4 Manual 93


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

Figure 3.24: Creating a SEAL: Step 2 - Double-click on the To Boundary drop-down menu and
select the name of the boundary to which the edge section will be sealed. This example creates
a seal between the Piston and the Liner, so Liner is selected from the To Boundary list.

94 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

Figure 3.25: Creating a SEAL: Step 3 - Check the Select seal edges checkbox and, with the By
Boundary Fence selection criterion, click on a fence that is around the edge of the piston. Refer to
the Geometry Dock > Boundary section of the CONVERGE Studio Manual for more details
regarding the use of boundary fences.

CONVERGE 2.4 Manual 95


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

Figure 3.26: Creating a SEAL: Step 4 - Check the Select triangles for defining seal direction
checkbox and, with the By Boundary selection criterion, click on any triangle in the Piston Skirt
boundary.

96 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

Figure 3.27: Creating a SEAL: Step 5 - Click the Assign button at the bottom of the Geometry
Dock and CONVERGE Studio will display light blue arrows where the seal has been created.
CONVERGE Studio also highlights the seal direction triangles. Note that all triangles selected
in the last step that did not share an edge with the seal edge set are simply ignored by
CONVERGE Studio, and not highlighted.

CONVERGE 2.4 Manual 97


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

Figure 3.28: Creating a SEAL: Step 6 - Double-click the pull-down menu in the Direction column
to choose between Average, Parallel, and Orthogonal for the seal direction. You may change this
seal direction at any time.

98 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

Figure 3.29 - Creating a SEAL: Step 7 - CONVERGE Studio will display the light blue seal
arrows after the seal creation process is complete. If you select the row containing the seal
information in the Geometry Dock, CONVERGE Studio highlights either the seal edge section
or the seal direction triangles in the Graphical Window. Check the box in the Move column if
the seal edge section will move during the simulation.

CONVERGE 2.4 Manual 99


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Moving Boundaries

Figure 3.30 - Creating a SEAL: Step 8 - Use the Transform > Translate tool to move the boundary
in its direction of motion to confirm the seal moves with the boundary as expected.

The seal(s) created using CONVERGE Studio will be saved in the main *.cvg file. This
seal information becomes part of the surf ace.dat file when you export all of the input
files prior to executing the simulation in the CONVERGE solver.

Sealing Test Utility


CONVERGE includes a sealing test utility that allows you to quickly identify errors in the
sealing setup.

To run this utility, use the following command:

converge -l

This command runs a simplified version of what CONVERGE runs when


check_grid_motion_f lag = 1 in inputs.in. There is only a single level of cells, and most options
(including AMR, embedding, sources, mapping, events, etc.) are automatically turned off.

This tool must be run in serial. It cannot be run in parallel.

100 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Additional Boundaries for the MRF Approach

3.8 Additional Boundaries for the MRF Approach


Using the multiple reference frame (MRF) approach in CONVERGE requires three steps.
1. Additional geometry preparation (described in this section)
2. Special treatment for the f low_through boundaries and WALL boundaries in the moving
reference frame(s)
3. Configuration of mrf .in

To separate the local reference frame(s) from the inertial frame, you must create additional
boundaries in the geometry. These boundaries must be situated in such a way that the
interface between the local and inertial reference frames is smooth. This way, numerical
discontinuities will not appear at the reference frame interfaces.

Typically, you create two additional boundaries as interfaces between the inertial and local
reference frames. These reference frame boundaries must be a shape such that the cross
product of the rotation vector and the position vector from the rotation origin to a point on
the interface surface is tangential to the interface boundary at that point. For WALL
boundaries within this local reference frame, specify the boundary conditions in the
inertial frame (see Multiple Reference Frame Approach). This way, you can easily convert
a moving geometry case to a case that employs the MRF approach.

You can use CONVERGE Studio to create the additional boundaries that delineate the
local reference frame. In the example shown in Figure 3.31, the first INTERFACE
boundary is situated between the inflow and pump impeller (in solid gray). The second
INTERFACE is a band around the circumference of the impeller (in solid red) that
separates the impeller blades from the volute chamber. In this example, the local reference
frame is the region between the two INTERFACE boundaries.

CONVERGE 2.4 Manual 101


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Additional Boundaries for the MRF Approach

Figure 3.31: The additional INTERFACE boundaries that separate a local


reference frame.

3.9 Post-Processing
You can specify which quantities will be written to the post*.out files by designating them
in the post.in file. CONVERGE contains utilities to assist in post-processing simulation data.
Post Convert, and Proper Orthogonal Decomposition are described below.

Post Convert
To prepare the output files for three-dimensional visualization, use the post_convert utility
to convert the cell-by-cell output data (located in the output directory within the Case
Directory) into an appropriate format for Tecplot, FieldView, EnSight, or GMV. You can
also use this utility to create cell-by-cell data in column format in text files for selected
variables. (Note that CONVERGE Studio contains an analogous Post Convert tool. Refer to
the CONVERGE Studio Manual for more information.)

In the command line, go to the output directory and then type post_convert. CONVERGE
will prompt you to:

1. Specify a case name, which will replace post in the file name for each of the output files
that are written to the output directory. The original post<output number>_<output
time>.out files will remain unchanged.

2. Select the output type from the following options:


§ General Mesh Viewer (GMV) Format

102 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Post-Processing

§ EnSight Format
§ Tecplot for CONVERGE and Tecplot 360 Format
§ Column Format
§ Column Format (Region 0 only)
§ Fieldview Transient Format
§ Fieldview Steady Format
§ Fieldview Version 14 Format
§ CONVERGE-Customized EnSight Format
§ Paraview VTK Inline Binary Format
§ Paraview VTK ASCII Format
§ Average of Selected Post Output Files

Tecplot for CONVERGE and Tecplot 360 Format


§ Select Yes for boundary surface output. For many features, Tecplot's performance is
enhanced with boundary surface output.
§ Note that CONVERGE will add the prefix DP_ to parcel-related parameters to
distinguish them from fluid parameters for Tecplot.
§ Note that older versions of post_convert can only output Tecplot 360-formatted files.
These cannot be opened in Tecplot for CONVERGE. If you are having trouble
opening Tecplot for CONVERGE output files, confirm that you are running the latest
version of post_convert. Tecplot 360 can open Tecplot for CONVERGE-formatted
files.

Average of Selected Post Output Files


§ Use this option to generate averaged values for velocity, pressure, temperature,
vorticity, and other parameters. This option can also produce average values for
a specific portion of the simulation.
§ Before running a simulation, you must include the following parameters in the
post.in file: logic_i, logic_j, logic_k, level, and volume. Otherwise CONVERGE
cannot generate the averaged quantities.
§ The averaged information will be written to post<output number>_<output
time>.avg.out. The time and run number in the averaged file name will match the
first file selected.
§ We recommend averaging data from simulations in which the geometries are the
same. The cells in the averaged file will be based on the cells from the first file
selected, so, if the geometries in the selected files are not the same, you should
verify that the first file selected contains data from the largest geometry.

3. Select which output files to convert. The utility lists all post<output number>_<output
time>.out files in a numbered list, an example of which follows:

[1]: post000061_-6.483057e+01.out

CONVERGE 2.4 Manual 103


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Post-Processing

[2]: post000062_-6.379913e+01.out
[3]: post000063_-6.281712e+01.out
[4]: post000064_-6.191693e+01.out
[5]: post000065_-6.085729e+01.out

The utility will prompt you for the files to convert. To select specific file(s), enter the file
number(s) (e.g., in the example above, enter 1,3-5 to convert all files except [2]). To
select files at a specified frequency, enter the number of the first file in the range, the
selection frequency, and the number of the last file in the range, separated by colons,
(e.g., in the example above, enter 1:2:5 to convert files [1], [3], and [5]). You can also
enter the keywords all, first, or last.

4. Select which variables to convert. The post_convert utility will list all of the variables in
the first file to be converted and prompt you to select the variable(s) to be included in
the converted files. Enter the variable numbers.

5. Select which parcel variables to convert. If the simulation contained parcels, the
post_convert utility will prompt you to select the parcel variable(s) to be included in the
converted files.

The post_convert utility automatically saves a convert.in file in the output directory. This
text file contains the conversion information that you just entered. You can use this file to
expedite your next post_convert process. For example, you may wish to repeatedly
examine the latest output of a simulation that is currently running. Work through the
prompts the first time that you use post_convert (and be sure to select the last file to
convert). Thereafter, simply type post_convert convert.in to repeat the conversion
process.

CONVERGE offers a limited capability to run post_convert in parallel from the command
line. A parallel post-processing computation requires the same memory per core as a serial
computation, but it runs much faster. The speed improvement is dependent on your
network's speed and file system performance. You can expect to see good parallel
post_convert performance on ten to twenty cores.

Like CONVERGE, the parallel implementation of post_convert is built on the Message


Passing Interface (MPI) package. See Chapter 11 - Parallel Processing for more information
on this package. See the Getting Started Guide for information on running CONVERGE
and utilities from the command line.

Heat Transfer Mapping


To run the htc_map utility, CONVERGE requires several files in the Case Directory:
transf er.out, htc_inputs.in, surf ace.dat (surface file geometry for finite element analysis, FEA),
and the htc_map executable.

104 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Post-Processing

The two primary output files for heat transfer mapping are htc_triangles.map and
htc_vertices.map.

For each triangle in the Finite Element Analysis (FEA) surface file, htc_triangles.map lists
the following quantities: Wall Temp [K], Heat Flux [W/m2], HTC [W/m2-K], Fluid Temp [K],
Y+ [-], TimeWithHits [CAD], TotalTime [CAD]. The TimeWithHits will be less than the total
time only when the boundary is not exposed for the entire engine cycle, such as the
cylinder liner. CONVERGE will automatically include additional variables if it finds
additional columns in transf er.out (e.g., pressure).

In multi-cycle simulations, such as for internal combustion engines, CONVERGE calculates


cyclic averages of heat transfer data that are spatially resolved for the FEA surface file.

The htc_vertices.map file lists each of the values listed in the htc_triangles.map file (wall
temp, heat flux, etc.) for each vertex. CONVERGE uses the average of all the values at the
center of each neighboring triangle to calculate the vertex value of each of these
conditions. This file also lists the sum of the angles sharing that vertex. This sum may be
less than 360 degrees if the vertex is located at the edge of a geometry or at one or more
boundaries. This sum may also vary for vertices at contoured intersections of triangles.
CONVERGE provides three-dimensional output for data visualizations in GMV, EnSight,
and FieldView. These output files provides node data for each variable contained in
transf er.out.

You can also use the htc_map utility to transform a surface temperature file between two
coordinate systems. See the htc_inputs.in section for details.

Proper Orthogonal Decomposition


The proper orthogonal decomposition (POD) is a spectral analysis technique used
primarily to separate the large-scale and small-scale elements of turbulent flow (e.g., in a
Large Eddy Simulation). CONVERGE contains a utility that calculates the POD of
arbitrary flow variables over arbitrary post<output number>_<output time>.out files.

In the command line, go to the output directory and then type pod. CONVERGE will
prompt you to:

1. Specify the file type to export.

2. Specify which files you want to include. The utility lists all post<output number>_<output
time>.out files in a numbered list, an example of which follows:

[1]: post000061_-6.483057e+01.out

CONVERGE 2.4 Manual 105


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Post-Processing

[2]: post000062_-6.379913e+01.out
[3]: post000063_-6.281712e+01.out
[4]: post000064_-6.191693e+01.out
[5]: post000065_-6.085729e+01.out

The utility will prompt you for the files to convert. To select specific file(s), enter the file
number(s) (e.g., in the example above, enter 1,3-5 to convert all files except [2]). To
select files at a specified frequency, enter the number of the first file in the range, the
selection frequency, and the number of the last file in the range, separated by colons,
(e.g., in the example above, enter 1:2:5 to convert files [1], [3], and [5]). You can also
enter the keywords all, first, or last.

3. Select which variables to convert. The pod utility will list all of the variables in the first
file to be converted and prompt you to select the variable(s) to be included in the
converted files. Enter the variable numbers. Note that the cell variables logic_i, logic_j,
logic_k, level, and volume are required for the POD calculation.

The pod utility create a pod.in file in the current directory. By default, pod will calculate as
many modes as there are output files, which accounts for the entire spectral content in the
domain. You can optionally output fewer POD modes by changing the value of the pod
modes output parameter. To run the utility with this altered input file, type pod pod.in.
You will not be prompted for additional inputs. See the pod.in section for details.

The utility will perform the necessary calculations in serial and output the results to a new
subdirectory called pod_results (note this will overwrite a previous pod_results directory).
There are several types of output files. There is a single Energy_f raction.out file. This file
contains the fraction of content contained in each mode of each variable selected, except
for the required logic_i, logic_j, logic_k, level, and volume variables. Note that even if you
selected fewer POD modes in pod.in, the utility will calculate and print the energy fraction
over the entire set of possible modes. See the Energy_f raction.out section for details.

The pod_results directory will also contain a set of postPODmod_mode<num>.out mode


output files. These files are formatted identically to the post<output number>_<output
time>.out files input to the pod utility, and you may post-process them with post_convert.
The postPODmod_mode00000.out file is the flow mean.

Optionally, you may direct the pod utility to reconstruct the flow from a set of
postPODmod_mode<num>.out files. Specify the number of modes used in the reconstruction
calculation in pod.in. By default, this pod modes output parameter is set to zero, which
directs the utility to not perform the modal reconstruction. If you set this parameter to a
positive integer, the utility will generate a set of corresponding
postPODmod_recon<num>.out files. These files are formatted identically to the post<output
number>_<output time>.out files, and you may post-process them with post_convert.

106 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 3
Pre-Processing and Post-Processing |Post-Processing

You may perform the POD analysis on slices or volumes, although the volume calculation
may be quite slow. The runtime of the pod utility is approximately linear in the number of
post<output number>_<output time>.out files.

CONVERGE 2.4 Manual 107


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

4
Governing Equations
Chapter 4
Governing Equations |

4 Governing Equations
The dynamics of fluid flow are governed by equations that describe the conservation of
mass, momentum, and energy. Additional equations describe turbulence and the transport
of passive scalars and species. This chapter describes the governing equations used in
CONVERGE and the associated parameters and input files. The inputs.in, species.in, and
solver.in files contain the parameters related to the governing equations.

You can specify which equations CONVERGE will solve in the inputs.in file. Each
conservation equation can be solved independently or in combination with the other
equations. In addition, you can specify if the fluid (liquid or gas) in the simulation is
compressible or incompressible and you can select the phase (gas, liquid, or gas-liquid
[VOF]). CONVERGE will solve for solids if you define one or more solid species.

Table 4.1 below summarizes the CONVERGE solver options and their associated
parameters. Note that there is no inputs.in flag in for the solution of the passive
conservation equation. CONVERGE will solve the passive conservation equation if you
define passives in species.in.

Table 4.1: CONVERGE solver options.


Equation Parameter Name (Input File) Description
Momentum and momentum_solver_f lag (inputs.in) 0 = Do not solve momentum,
Mass 1 = Solve momentum.
Energy energy_solver_f lag (inputs.in) 0 = Do not solve energy,
1 = Solve energy,
2 = Solve total energy.
Species species_solver_f lag (inputs.in) 0 = Do not solve species,
1 = Solve species.

N/A gas_compressible_f lag (inputs.in) 0 = Incompressible gas flow,


1 = Compressible gas flow.
N/A liquid_compressible_f lag (inputs.in) 0 = Incompressible liquid flow,
1 = Compressible liquid flow.
Passives passive (species.in) Number of passives to be solved.

Turbulence turbulence_solver_f lag (inputs.in) 0 = Do not solve turbulence,


1 = Solve turbulence.

110 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 4
Governing Equations |Mass and Momentum Transport

4.1 Mass and Momentum Transport


If momentum_solver_f lag = 1, CONVERGE will solve the momentum and mass
conservation equations. It is necessary to solve the mass and momentum equations
together for the proper calculation of the pressure gradient in the momentum equation.
The interaction between the mass and momentum equations is discussed in more detail in
the PISO Algorithm section in Chapter 5 - Numerics.

The compressible equations for mass transport and momentum transport are given by

  ui
 S (4.1)
t xi

and

 ui  ui uj P  ij
    Si , (4.2)
t x j xi x j

where the viscous stress tensor is given by

 u uj   2   u 
 ij    i
          k  ij . (4.3)
 x xi   3   xk
 j 

In the above equations, u is velocity, ρ is density, S is the source term, P is pressure, μ is


viscosity, μ' is the dilatational viscosity (set to zero), and δij is the Kronecker delta. Note
that if a turbulence model (e.g., k-e ) is activated, the viscosity is replaced by the total
viscosity, which is given by

k2
tot  mol  C  , (4.4)

where μmol is the molecular viscosity, Cμ is a turbulence model constant, k is the turbulent
kinetic energy, and ε is the turbulent dissipation.

CONVERGE 2.4 Manual 111


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 4
Governing Equations |Mass and Momentum Transport

Equations 4.1 and 4.2 both allow for source terms. For the momentum equation, the source
terms can arise from, for example, gravitational acceleration, spray coupling, or mass
sources. For the mass conservation equation, the source term may arise from evaporation
or other submodels.

CONVERGE solves the momentum equation in finite volume form. When solving the
momentum equation, conserved values at the face must be expressed in terms of primitive
values at the cell center. CONVERGE offers two ways to evaluate these face-centered
conserved values. The first method is to project primitive values to the face, and calculate
face-centered conserved values from these face-valued primitives. The second method is to
calculate the cell-centered conserved value from cell-centered primitives, then project this
conserved value to the face.

You can solve the momentum equation using any weighted average of these two
formulations. Equation 4.5 gives the momentum equation as a combination of calculated-
at-face and calculated-at-cell-center terms:

 ui uj 1
x j
   uiunorm A f
V nbrs
(4.5)
cons 1  cons
 
V nbrs
 ui unorm f A f 
V nbrs
  f ui , f unorm, f A f ,

where the cons term represents the fraction of the equation using the form calculated from
face-valued primitives (conserve in solver.in). The form of Equation 4.5 can be derived by
applying conservation of mass (Equation 4.1) to conservation of momentum (Equation
4.2). Solving in face-valued-evaluation form (conserve = 1.0) is always recommended,
although the cell-center-evaluation form may be more stable for some flows.

Note that if you employ the step flux limiter with a first-order accurate spatial
discretization scheme, CONVERGE may automatically adjust the cons term in Equation
4.5.

Table 4.2 below summarizes the inputs.in parameters for the momentum equation.

Table 4.2: Momentum equation parameters in inputs.in.


Parameter Description

momentum_solver_f lag 0 = Do not solve momentum equation,


1 = Solve momentum equation.

gravity_x Gravitational acceleration (m/ s2) in the x direction.

112 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 4
Governing Equations |Mass and Momentum Transport

gravity_y Gravitational acceleration (m/ s2) in the y direction.

gravity_z Gravitational acceleration (m/ s2) in the z direction.

4.1.1 Multiple Reference Frame Approach


Using the multiple reference frame (MRF) approach in CONVERGE requires three steps.
1. Additional geometry preparation
2. Special treatment for the f low_through boundaries and WALL boundaries in the moving
reference frame(s)
3. Configuration of mrf .in

The MRF approach in CONVERGE allows you to simplify a simulation that includes
moving geometry. While CONVERGE can easily simulate moving geometries, the MRF
approach further reduces computational time by eliminating the need to regenerate the
mesh at each time-step to accommodate the moving geometry.

With the MRF approach, the moving geometry is instead modeled as stationary. You
specify a region that encompasses this portion of the geometry and CONVERGE treats this
region as a different (local) reference frame. The local reference frame moves relative to the
stationary (inertial) reference frame, so the geometry does not have to move to represent
the fluid behavior.

For example, consider a pump impeller. With the typical moving geometry approach, the
impeller is designated as a moving boundary and CONVERGE rotates the impeller the
appropriate amount each time-step and regenerates the mesh around the new geometry
configuration. With the MRF approach, CONVERGE considers the region around the
impeller as a local reference frame fixed in the impeller blades. In this way, the geometry
does not have to move in the simulation and instead, the local reference frame moves
relative to the inertial frame to represent the impeller motion.

Within this local reference frame, CONVERGE solves modified continuity and momentum
equations that represent the motion of the stationary geometry. In the continuity equation,
ur is the velocity in the local reference frame. The source term in the momentum equations
includes additional body force terms to account for the velocity in the local frame.
Equation 4.6 below shows the modified continuity and momentum equations.


    u r   0
t
  u r  d (4.6)
     u r u r  pI     2  Ω  u r    Ω  Ω  R    R
t   dt
u  ur  Ω  R

CONVERGE 2.4 Manual 113


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 4
Governing Equations |Mass and Momentum Transport

In the equations above, Ω is the rotation vector and R is the position vector with respect to
the axis about which the reference frame is rotating. The final term in the momentum
equation accounts for a time varying rotational speed and therefore is zero when
rotational speed is constant. If you wish to supply a time varying rotational speed, set
copy_f rom_boundary_f lag = 1 in mrf .in and supply a boundary ID from which to copy
rotation information followed by the keyword boundary_id. Configure this boundary with
a varying rotational speed. CONVERGE copies the rotation information (e.g., in a time
varying profile) from this specified boundary and applies it to the local reference frame.

At the interfaces between the local and the inertial reference frames, CONVERGE
transforms the cell face fluxes such that they are in the appropriate reference frame.

Use this approach for simulations in which you expect a steady-state result. You can use
this approach for transient simulations (i.e., steady_solver_f lag = 0 in inputs.in), but the
results may not be time-accurate. One strategy is to use the MRF approach to calculate a
developed flow field to use as an initial condition for a transient simulation with moving
geometry.

To activate the multiple reference frame approach, set mrf _f lag = 1 in inputs.in and supply
a mrf .in file in the case directory.

Considerations for WALL Boundaries


Currently, only WALL boundary types are allowed within a local reference frame. For
boundaries within a local reference frame, you must supply boundary conditions in the
inertial frame.

For example, for a pump impeller within a local reference frame, the frame is fixed in the
impeller. Thus, the boundary motion type for the impeller WALL boundary should be
moving rotating.

The shroud (the wall surrounding the impeller blades) would appear to move around the
pump impeller because the frame is fixed in the impeller. Again, no geometry actually
needs to move, so specify the shroud as fixed stationary with a rotation speed of Ω.
CONVERGE expects the boundary condition rotation in the inertial frame, which allows
you to easily convert transient, moving geometry simulations to MRF simulations.

Output
Note that the cell-specific output (e.g., velocity, pressure, etc) for all regions (including the
moving local reference frames) is in the inertial reference frame in the post*.out files.

114 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 4
Governing Equations |Equation of State

4.2 Equation of State


Momentum and mass transport can be solved for compressible or incompressible flows.
For compressible flows, an equation of state is required to couple density, pressure, and
temperature.

CONVERGE contains several equation of state options: ideal gas, Redlich-Kwong, Redlich-
Kwong-Soave, and Peng-Robinson.

The ideal gas law is given by

P  R 
  T, (4.7)
 W 

where R is the universal gas constant and W is the molecular weight.

Commonly used cubic equations of state include Redlich-Kwong (RK), Redlich-Kwong-


Soave (RKS), and Peng-Robinson (PR). These equations can be written in a generalized
form:

RT a
P  2 , (4.8)
v  b v  ubv  wb2

and Table 4.3 summarizes the coefficients for the RK, RKW, and RP equations of state.

Table 4.3: Coefficients for the RK, RKS, and PR equations of state.
Equation of u w b a
State
Redlich- 1 0  rk vc p c vc2
Kwong  rk
Tr

Redlich- 1 0  rk vc  rk p c vc2 1 f rk  1 Tr1/2 


2

Kwong-Soave

Peng-Robinson 2 -1  p r vc  p r p c vc2 1 f rk  1 Tr1/2 


2

Equation 4.9 gives several additional definitions needed to understand the coefficients in
Table 4.3:

CONVERGE 2.4 Manual 115


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 4
Governing Equations |Equation of State

RTc
vc  ,
pc
 rk  0.42748,  rk  0.08664; f rk    0.48  1.574  0.176 2 , (4.9)
 pr  0.45724,  pr  0.07780; f pr    0.37464  1.54226  0.26992 , 2

where vc is the critical volume, Tc is the critical temperature, Pc is the critical pressure, a
represents the attractive forces between molecules, b represents the volume of the
molecules, and w is the acentric factor. The subscripts rk and pr represents the RK/RKS
and PR equations of state, respectively.

These equations of state can be generalized to a mixture. In a multi-species simulation, the


cubic equations of state can be written as:

RT am
P  2 , (4.10)
v  b v  ubm v  wbm 2

where the parameters am and bm are calculated for a list of i species with mole fractions xi
as:

am   xi ai1/2  , bm   xi bi .
2
(4.11)
i i

CONVERGE calculates pseudo-critical temperatures, pressures, and acentric factors for


the mixture according to:

 1.25  
2 2/3
  T
  
xi ci  
 i Pci  
   for RK,
 Tci 
 
xi
 i Pci  Tcm
Tcm    Pcm  , m   xii . (4.12)
Tci

  x Tci 
1.25
2
 xi P i

   i ci
i
 i
 Pci 
 for RKS and PR,
 Tci
  x i
Pci
 i

116 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 4
Governing Equations |Equation of State

The Redlich-Kwong equation performs poorly with liquid phase, the Redlich-Kwong-
Soave equation performs well for hydrocarbons, and the Peng-Robinson equation performs
well for the liquid density of many materials.

Table 4.4 below summarizes the input parameters for the equations of state.

Table 4.4: Equation of state parameters in inputs.in.


Parameter Description

eos_f lag 0 = Ideal gas law,


1 = Redlich-Kwong,
2 = Redlich-Kwong Soave,
3 = Peng-Robinson.

real_gas_prop_f lag 0 = Thermodynamic quantities are functions of temperature,


1 = Thermodynamic quantities are functions of temperature and
pressure.

max_reduced_pres The maximum reduced pressure for the departure function tables
(used only when real_gas_prop_f lag = 1). For an engine simulation,
6.0 is a typical value.

crit_temp Gas critical temperature (K). For a simulation with multiple gas
species, you can include species-specific crit_temp values by listing
a file name (e.g., crit_cond.dat) instead of a temperature.

crit_pres Gas critical pressure (Pa). For a simulation with multiple gas
species, you can include species-specific crit_pres values by listing
a file name (e.g., crit_cond.dat) instead of a pressure.

acentric_f actor Acentric factor. Read only when eos_f lag = 2 or 3. For a simulation
with multiple gas species, you can include species-specific
acentric_f actor values by listing a file name (e.g., crit_cond.dat)
instead of an acentric factor.

Note that the pressure is not calculated directly from the equation of state but instead is
used indirectly in the PISO algorithm to ensure that the equation of state is satisfied.

4.3 Energy Transport


CONVERGE solves the energy equation when energy_solver_f lag = 1 in inputs.in. You can
choose to solve the energy equation for incompressible or compressible flows. The energy
equation can be solved independently or together with the momentum and mass
equations. If the energy equation is solved without momentum and mass, convection will
not be included in the energy equation (i.e., the energy transport equation will only contain
the diffusion terms).

The compressible form of the energy equation is given by

CONVERGE 2.4 Manual 117


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 4
Governing Equations |Energy Transport

 e uj  e uj ui   T    Ym 


  P   ij  K    D hm   S, (4.13)
t x j x j x j x j  x j  x
 j

 m x j

where ρ is density, Ym is the mass fraction of species m, D is the mass diffusion coefficient, S
is the source term, P is the pressure, e is the specific internal energy, K is the conductivity,
hm is the species enthalpy, σij is the stress tensor, and T is temperature. Note that, if a
turbulence model is activated, the conductivity is replaced by the turbulent conductivity,
which is given by

t
Kt  K  c p , (4.14)
Prt

where Prt is the turbulent Prandtl number and μt is the turbulent viscosity. In CONVERGE,
the formulation for the turbulent Prandtl number is

c p t
Prt  , (4.15)
kt

where cp is the specific heat, μt is the turbulent viscosity, and kt is the turbulent
conductivity.

In addition to the convection and diffusion terms, the energy equation contains four extra
terms. First, a source term is added to account for user-specified energy sources and
uj
turbulent dissipation. A pressure work term,  P , accounts for compression and
x j
expansion. For incompressible flows this term is always 0 because the field is divergence
ui
free. A viscous dissipation term,  ij x , accounts for kinetic energy viscously dissipating
j

  Ym 
into heat. Finally, a species diffusion term,   D hm  , accounts for energy
x j  m x j 

transport due to species diffusion.

For solids (in conjugate heat transfer applications), the energy transport equation retains
only the transient, diffusion, and source terms:

118 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 4
Governing Equations |Energy Transport

 e   T 
 K   S. (4.16)
t x j  x j 

Simulating high-speed flows that include discontinuities (e.g., shock waves) may prevent
energy conservation if you choose to solve for specific internal energy (given by Equation
4.13). To enforce energy conservation in these simulations, you can set energy_solver_f lag =
2 in inputs.in to solve for total energy instead of specific internal energy. Equation 4.17
below gives the form of the total energy equation used in CONVERGE:

   1 2     1 2 
   e  uk      uj  e  uk   
t   2   x j   2 
(4.17)
    T    Y 
 uj P  ui ij  K    D hm m   S.
x j x j x j  x j  x
 j

 m x j 

There are some important differences between the specific internal equation and the total
energy equation. On the left hand side of Equation 4.17, both the transient term and the
convection term include the total energy. The total energy is the sum of the internal energy
1 2
e and the kinetic energy uk . The right hand side of Equation 4.17 includes the pressure
2
 
work term x uj P  and the viscous dissipation term x ui  ij  written in conservative
j j

form. In the specific internal energy equation, the pressure work term is in non-
conservative form with the pressure P outside of the derivative. For the total energy
equation, the diffusion, species diffusion, and source terms are the same as those in the
specific internal energy equation.

Table 4.5 summarizes the energy equation parameters in inputs.in.

Table 4.5: Energy equation parameters in inputs.in.


Parameter Name Description

energy_solver_f lag 0 = Do not solve energy equation,


1 = Solve specific internal energy equation,
2 = Solve total energy equation.

prandtl_turb Turbulent Prandtl number of 0.5 to 1.0.

CONVERGE 2.4 Manual 119


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 4
Governing Equations |Species Transport

4.4 Species Transport


CONVERGE solves the species transport equation when species_solver_f lag = 1 in inputs.in.
The species transport equation solves for the mass fraction of all the species in the domain.
The species mass fraction is defined as

Mm 
Ym   m , (4.18)
Mtot tot

where Mm is the mass of species m in the cell, Mtot is the total mass in the cell, ρ m is the
density of species m, and ρ tot is the density of the cell. The species equations can be solved
alone or together with any of the other transport equations. If momentum is not solved,
convection will not be considered in the species transport equation (i.e., the species
conservation equation will contain only diffusion terms).

The compressible form of the species conservation equation is given by

 m  muj   Y 
   D m   Sm , (4.19)
t x j 
x j  x j 

where

 m  Ym  (4.20)

and where u is velocity, ρ is density, ρ m is the species density, Ym is mass fraction of species
m, D is the mass diffusion coefficient, and Sm is the source term. The molecular mass
diffusion coefficient is calculated by


D , (4.21)
Sc

where Sc is the Schmidt number. If a turbulence model has been activated, the turbulent
mass diffusion coefficient is given by

t
Dt  , (4.22)
Sct

120 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 4
Governing Equations |Species Transport

where Sct is the turbulent Schmidt number. The source term in the species equation
accounts for evaporation, chemical reactions (combustion), and other submodels.

When species_dif f usion_model = 0 in inputs.in, CONVERGE calculates the diffusion


coefficients independently of the species. We recommend this setting for all cases that do
not include laminar flame applications. In this case, you must include a gas.dat file in the
Case Directory. If your case is a multi-component system that includes a laminar flame
application, we recommend setting species_dif f usion_model = 1 to direct CONVERGE to
calculate the mixture-averaged diffusion coefficients. If species_dif f usion_model = 1, you
must include a transport.dat file instead of a gas.dat file in the Case Directory. For
computational efficiency, CONVERGE will tabulate the binary diffusion coefficients in an
internal reference table prior to running the simulation. CONVERGE calculates the binary
diffusion coefficients, Dmj , as

N
ln Dmj   dn ,mj (ln T )n1 , (4.23)
n 1

where T is temperature and dn,mj are the diffusion parameters taken from the N columns in
transport.dat.

CONVERGE calculates the mixture-averaged diffusion coefficient from the binary


diffusion coefficient as

1  Xm
Dm ,mix  ,
 Xj  (4.24)
  D 

j , j m  mj 

where Xm is the mole fraction of species m.

CONVERGE uses the mixture-average diffusion coefficient to calculate the total diffusion
coefficient as

Di  Dm ,mix  Dt (4.25)
.

In turbulent flows, Dm,mix is very small compared to the turbulent mass diffusion coefficient,
Dt, and thus it is not necessary to set species_dif f usion_model = 1 for turbulent cases. For
laminar flame applications, however, Dm,mix will be significant and we recommend setting
species_dif f usion_model = 1 to achieve accurate results for laminar flame applications.

CONVERGE 2.4 Manual 121


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 4
Governing Equations |Species Transport

For mass conservation, CONVERGE constrains the net diffusion flux to be zero in multi-
component systems as described by Coffee and Heimerl (1980).

Note that, even if the species are not solved, it is still necessary to initialize the species so
that their properties can be evaluated. Also note that if the species are not solved, then the
species must not vary in space. Table 4.6 below summarizes the species equation inputs.

Table 4.6 : Species equation parameters in inputs.in.


Parameter Name Description

species_solver_f lag 0 = Do not solve species equation,


1 = Solve species equation.

schmidt_turb Turbulent or molecular Schmidt number. If the


turbulence model is on, then this parameter gives the
turbulent Schmidt number. Otherwise this parameter
gives the molecular Schmidt number.

species_dif f usion_model 0 = Diffusion calculation is independent of species


(gas.dat file required),
1 = CONVERGE calculates the mixture-averaged
diffusion coefficients (recommended only for multi-
component laminar flame applications, transport.dat
file required).

4.5 Scalar and Passive Scalar Transport


In CONVERGE, a scalar is a calculated quantity that does not directly affect the evaluation
of the temperature or the gas constant of the gas. Scalar quantities may be passive or non-
passive. The only difference between a passive and non-passive scalar is where the
quantity is solved within the PISO algorithm. Passive scalars may be non-transport
passives (e.g., TEMP_SGS, the local subgrid scale temperature) or transport passives (e.g.,
G_EQN).

The transport of passive scalars is computationally less expensive than the transport of
non-passive scalars, and in most cases there is minimal change in the solution. For this
reason, passive scalars are typically preferred. For some cases (e.g., very high CFL
number), the transport of non-passive scalars is more numerically robust.

Scalars and passive scalars have several different uses in CONVERGE. Some passives (e.g.,
G_EQN in the G-Equation combustion model) may indirectly affect the other transport
equations through a parameter in a source term. Some features in CONVERGE (e.g., soot
models) require passives. You can also use completely neutral passives to track fluid flow.
For example, in an engine case, you can add a passive to an intake port to track the fresh
intake charge as it enters the combustion cylinder. Unlike the other transport equations,

122 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 4
Governing Equations |Scalar and Passive Scalar Transport

the solution of the passive transport equation is not controlled by a parameter in inputs.in.
Instead, CONVERGE solves the passive transport equation only when one or more
passives are defined in species.in.

The compressible form of the passive scalar transport equation is given by

  ui    
   D   S, (4.26)
t xi xi  xi 

where u is velocity, ρ is density, D is the diffusion coefficient, S is the source term, and  is
a passive scalar. The diffusion coefficient is given by


D , (4.27)
Sc

where Sc is the Schmidt number, which can be defined for each passive individually in
species.in. If a turbulence model has been activated, the turbulent mass diffusion coefficient
is given by

t
Dt  , (4.28)
Sct

where Sct is the turbulent Schmidt number. The source term in the passive scalar transport
equation accounts for any applicable submodels.

Table 4.7 below summarizes the passive equation parameters in species.in.

Table 4.7: Passive equation parameters in species.in.


Parameter Name Description
passive name and Schmidt Turbulent or molecular Schmidt number. If the turbulence model is on,
number then this parameter gives the turbulent Schmidt number. Otherwise
this parameter gives the molecular Schmidt number.

4.6 Turbulent Transport


CONVERGE solves the turbulence transport equation when turbulence_solver_f lag = 1 in
inputs.in. CONVERGE contains both Reynolds-Averaged Navier-Stokes (RANS) and Large
Eddy Simulation (LES) turbulence models, and you can use the turb_model parameter in

CONVERGE 2.4 Manual 123


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 4
Governing Equations |Turbulent Transport

inputs.in to select the desired model. Chapter 15- Turbulence Modeling describes the
turbulence transport equations and how to set up turbulence modeling in CONVERGE.

124 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

5
Numerics
Chapter 5
Numerics |

5 Numerics
This chapter describes the numerical options available in CONVERGE and explains the
relevant parameters, which are located in the solver.in and inputs.in files. This chapter
describes selected parameters from these files. Chapter 22 - Input File Reference describes
these files in full.

5.1 Finite Volume


Finite volume methods can be used to numerically solve the integral form of the
conservation equations. An advantage of the finite volume method is that it conserves
transported quantities for regularly or irregularly shaped cells. To understand the inputs
for finite volume, consider the simple three cell computational domain shown below in
Figure 5.1.

Figure 5.1: Sample three-cell, one-dimensional spatial domain.

Now consider the simple transport equation

 u
  0. (5.1)
t x

The above equation can be written in integral form as

d
dt V
 dV   u  n dS  0, (5.2)
S

where V is the cell volume, S is the surface area, and n is the surface normal. As discussed
earlier, finite volume methods solve the integral form of the conservation equations instead
of the differential form. The integral form of the equation is solved by summing fluxes on
the faces of the cells. In CONVERGE, all values are colocated and stored at the center of

126 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Finite Volume

the cell as shown in Figure 5.1. Thus, to solve the integral form of the equation, the velocity
and f must be interpolated to the cell surface. There are several options for obtaining the
cell surface value. One option is to average the two adjacent cell values and place them on
the surface, which results in a surface f given as

1 1
i 1/2  i  i 1 , (5.3)
2 2

and

1 1
i1/2  i  i1 . (5.4)
2 2

Another option is to upwind the surface value for f , which results in

i 1/2  i , (5.5)

and

i1/2  i1 . (5.6)

The parameter f v_upwind_f actor_global in solver.in is used to set the interpolation method
for most of the transport equations (f v_upwind_f actor_mom and f v_upwind_f actor_turb are
used for the momentum and turbulence equations, respectively). An f v_upwind_f actor_*
value of 0.5 means that the surface value will be evenly interpolated (i.e., Equations 5.3
and 5.4), while a value of 1.0 means that the value will be entirely upwinded (Equations
5.5 and 5.6). A value between 0.5 and 1.0 will result in a blended scheme.

Setting f v_upwind_f actor_* to 0.5 results in a second-order accurate spatial scheme. Setting
f v_upwind_f actor_* to 1.0 results in a first-order accurate spatial scheme.

CONVERGE 2.4 Manual 127


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Solution Procedure

5.2 Solution Procedure


Understanding the order in which the transport equations are solved is important for
appropriately configuring your simulation parameters. Figure 5.2 below summarizes the
order in which CONVERGE solves the transport equations.

Figure 5.2: Solution order of the transport equations. The turbulence equations are outside of the
PISO loop for efficiency reasons.

At the start of each time-step, the previous values (the time-step minus 1 [tm1 in Figure
5.2]) are stored for all transported quantities. Next, explicit sources are calculated for each
submodel that is currently activated and radiation is solved if energy and radiation are
decoupled. At the beginning of the PISO loop (i.e., the first PISO iteration), CONVERGE
solves for momentum and pressure, which sets the velocity for the other transport

128 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Solution Procedure

equations. After each PISO iteration, it is necessary to check for PISO loop convergence.
For compressible cases, CONVERGE considers the PISO loop to be converged if

  piso _ tol, (5.7)

where Δρ is the density correction error. For incompressible cases, CONVERGE considers
the PISO loop to be converged if

P  piso _ tol, (5.8)

where ΔP is the pressure correction error. Note that, if the PISO iteration has converged
but the PISO iteration number is less than piso_itmin, the PISO iterations will continue
until the minimum number of PISO iterations has been exceeded. If the PISO iteration did
not converge, CONVERGE executes an additional PISO iteration.

After the PISO loop has ended, CONVERGE may perform an additional Jacobi iteration to
enforce strict conservation. If strict_conserve_f lag = 1, CONVERGE will perform this Jacobi
iteration on the energy, density, species, and scalar transport equations. If
strict_conserve_f lag = 2, CONVERGE performs those Jacobi iterations, as well as a Jacobi
iteration on passives. The Jacobi iteration guarantees that the quantity is conserved to
machine zero, rather than to the tolerance set by piso_tol.

In flows in which the temperature or species vary greatly, it may aid convergence to
under-relax the calculation of the pressure ratio (omega_presrat). After updating the
pressure ratio, the PISO convergence is checked again. CONVERGE continues this process
until a PISO iteration converges or until it has completed twice the maximum number of
PISO iterations (piso_itmax). CONVERGE cuts the time-step if piso_itmax is exceeded.
CONVERGE recovers if it reaches twice piso_itmax.

CONVERGE 2.4 Manual 129


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |PISO Algorithm

5.3 PISO Algorithm


The pressure-velocity coupling in CONVERGE is achieved using a modified Pressure
Implicit with Splitting of Operator (PISO) method of Issa (1986). The PISO algorithm as
implemented in CONVERGE starts with a predictor step where the momentum equation is
solved. After the predictor, a pressure equation is derived and solved, which leads to a
correction, which is applied to the momentum equation. This process of correcting the
momentum equation and re-solving can be repeated as many times as necessary to achieve
the desired accuracy. After the momentum predictor and first corrector step have been
completed, the other transport equations are solved in series.

The PISO method was chosen for use in CONVERGE for various reasons. With only minor
variations, this method can be used for solving either compressible or incompressible flows.
In addition, the predictor-corrector concept allows for a semi-implicit treatment of sources
and sinks: the sources and sinks can be updated at each corrector step. PISO has the
advantage of respecting the hyperbolic nature of the transport equations, while using the
elliptic nature of the pressure equation to accelerate the communication of information
through the domain. A detailed summary of the PISO algorithm is given below.

The PISO algorithm starts with a predictor step where the momentum equation is solved
implicitly or semi-implicitly. The momentum equation is written as

 nui*  nuin Pn


   H i* (predictor ), (5.9)
dt dt xi

where H* represents the convection, diffusion, and source terms and * represents the
intermediate most up-to-date field values. Each additional * level denotes a higher level of
temporal accuracy. The superscript n represents the previous field values. The first
corrector momentum equation is written as

 * ui**  nuin P *
   H i* ( f irst corrector ). (5.10)
dt dt xi

Subtracting Equation 5.9 from Equation 5.10 gives

 * ui**  nui* 
  (P *  Pn ). (5.11)
dt dt xi

130 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |PISO Algorithm

Rearranging Equation 5.11 to solve for ρ*ui** gives


 * ui**   dt (P *  Pn )   nui* . (5.12)
xi

Conservation of mass can be written as

*  n  * ui**
  S, (5.13)
dt xi

where S accounts for implicit and explicit sources. Substituting Equation 5.12 into
Equation 5.13 gives the following expression

*  n 2  nui*
 dt (P  P ) 
* n
 S. (5.14)
dt xi xi xi

In order to rewrite the density on the left-hand-side in terms of pressure, an equation of


state is used to relate density to pressure. Density can be rewritten as

 *  P * n , (5.15)

where the pressure ratio term f is defined as

1
n  , (5.16)
Z RnT n
n

where Z is the compressibility factor, R is the ideal gas constant, and T is the cell
temperature. For the ideal gas law the compressibility factor is always 1.0.

Substituting Equation 5.15 into Equation 5.14 and rearranging gives

CONVERGE 2.4 Manual 131


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |PISO Algorithm

2 (P *  Pn ) n   nui*  1
(P *  Pn )    S . (5.17)
xi xi dt 2
 xi  dt

Equation 5.17 is the derived pressure equation. Once the pressure is solved, the velocity
can be updated according to Equation 5.11. After the velocity is updated, the other
transport equations are solved and the pressure ratio is updated accordingly. If necessary,
based on the convergence criteria, the correction processes can be repeated.

If a second correction is required, the process starts by writing the first and second
corrector momentum equations. These two equations are

 * ui**  nuin P *
   H i* ( f irst corrector ) (5.18)
dt dt xi

and

 ** ui***  nuin P **
   H i* (second corrector ). (5.19)
dt dt xi

Subtracting Equation 5.18 from Equation 5.19 gives

 ** ui***  * ui** 
  (P **  P * ). (5.20)
dt dt xi

Rearranging the above equation to solve for ρ**ui*** results in


 ** ui***   dt (P **  P * )   * ui** . (5.21)
xi

The conservation of mass equation for the second corrector is given as

132 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |PISO Algorithm

 **   n  ** ui***
  S. (5.22)
dt xi

Substituting Equation 5.21 into Equation 5.22 results in

 **   n 2  * ui**
 dt (P **  P * )   S. (5.23)
dt xi xi xi

Density is now written as

 **  P ** * , (5.24)

where the pressure ratio is now given as

1
*  . (5.25)
Z R *T *
*

Substituting Equation 5.24 into Equation 5.23 and rearranging gives

2 (P **  P * ) * ( *   n )P * ( *   n )   * u**  1
(P **  P * )      S . (5.26)
xi xi dt 2
dt 2
dt 2
 xi  dt

The above equation is the second corrector pressure equation. After this equation is solved,
the momentum is updated according to Equation 5.21. Again, this process can be
repeated, if necessary, to add another corrector. If another corrector is added, the other
transport equations are re-solved before each corrector.

You can specify a tolerance value for each equation via the *_tol parameters (transient,
steady-state) in solver.in. At each PISO loop, if

CONVERGE 2.4 Manual 133


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |PISO Algorithm

 *   t 1
  _ tol, (5.27)
*

where Y* is the current correction for the Y transport equation and Yt-1 is the previous
value of the correction for that transport equation, then CONVERGE will not resolve that
particular transport equation (with the exception of pressure, which is always solved).

In order to limit the PISO corrections, you can enter the minimum and maximum number
of PISO corrections allowed. If the maximum number of PISO iterations is exceeded and
the solution has not converged, the following time-step will be reduced.

5.4 Rhie-Chow Algorithm


All transported quantities in CONVERGE are colocated at the center of the cell. The use of
colocated quantities can result in a decoupling of the pressure and velocity. This
decoupling can produce fluctuations in the pressure and velocity solution that appear in a
checkerboard pattern. In the past, many CFD codes used a staggered grid approach to
eliminate the checkerboarding (i.e., velocity located at the cell face and pressure at the cell
center). However, the Rhie-Chow interpolation scheme can be used to maintain colocated
variables and eliminate the undesirable checkerboarding.

The Rhie-Chow scheme works by approximating the beneficial effects of the staggered grid
approach but leaving the variables colocated. For a colocated set of variables, a velocity at
a cell face would be written as

ui  ui 1
ui 1/2  , (5.28)
2

where i represents the cell of interest and i+1 represents the cell to the right. A staggered
update to the cell face for pressure would be

dt  Pi 1  Pi 
ui* 1/2  ui 1/2   , (5.29)
  dx 

while a colocated update would be

134 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Rhie-Chow Algorithm

dt  Pi 1  Pi1 
ui*  ui   , (5.30)
  2dx 

where * indicates a velocity that has been updated for pressure. For a face velocity using a
colocated scheme, the update would be

ui dt  Pi 1  Pi1  ui 1 dt  Pi 2  Pi 


ui* 1/2       , (5.31)
2 2   2dx  2 2   2dx 

or, equivalently,

ui  ui 1 dt  Pi 1  Pi1 Pi 2  Pi 


ui* 1/2     . (5.32)
2 2   2dx 2dx 

For the Rhie-Chow scheme, a pressure gradient term is added to cancel the colocated
pressure update (Equation 5.32) and a pressure term is added. This additional pressure
term is equivalent to the staggered pressure update (Equation 5.29). This process results in

ui *  ui* 1 dt  Pi 1  Pi  dt  Pi 1  Pi1 Pi 2  Pi 


ui* 1/2       . (5.33)
2   dx  2   2dx 2dx 

The Rhie-Chow scheme reduces the checkerboarding effect in the pressure and velocity,
but it also adds a small error to the solution, similar to the error introduced in staggered
approach. Although it adds a small error, it is recommended that most simulations be run
with the Rhie-Chow scheme activated. To activate the Rhie-Chow scheme, set the rc_f lag =
1 in solver.in.

5.5 CFL Numbers


The Courant–Friedrichs–Lewy (CFL) numbers estimate the number of cells through which
the related quantity will move in a single time-step. A higher CFL number generally yields
a less computationally expensive simulation. The convective CFL number, the speed of
sound CFL number, and the diffusive CFL number are given respectively as

CONVERGE 2.4 Manual 135


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |CFL Numbers

t
cf lu  u , (5.34)
x

t
cf lmach  c (5.35)
x

and

t
cf lv   , (5.36)
x 2

where Δt is the time-step, Δx is the grid spacing, u is the cell velocity, c is the speed of
sound, and ν is the viscosity. Under-relaxation may be required if cf lu is greater than 1.0 or
if cf lv is greater than 0.5 when CONVERGE is run in an implicit mode. A cf lu greater than
1.0 or a cf lv number greater than 0.5 may not be stable when CONVERGE is run in an
explicit mode.

Each CFL number parameter can be a fixed value or can vary temporally. For a temporally
varying parameter, specify a file name instead of a value in inputs.in and include that file
in the Case Directory.

5.6 Time-Step Control


CONVERGE allows you to specify one of two methods for setting the time-step. You can
specify a fixed time-step or a variable time-step that is calculated internally. For a fixed
time-step, set time_f lag = 0 in inputs.in and set the time-step (dt_f ixed) to the desired value.
For a variable time-step, set time_f lag = 1 and provide additional inputs to guide the
selection of the time-step. When choosing variable time-step control, the first time-step of
the simulation is the value of dt_start in inputs.in. Subsequently, CONVERGE does a
number of checks and calculations to determine the next time-step. These checks and
calculations are described below.

136 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Time-Step Control

CONVERGE will first try to increase the time-step by 25% and then check the other time-
step restrictions to determine if this increase is possible. Next, CONVERGE will check if the
calculations in the previous time-step converged in the specified number of iterations. If
the governing equations did not converge in the specified number of iterations, the time-
step will be reduced. The parameters that control this time-step reduction are *_itmax
(maximum number of iterations for the specified governing equation) and piso_itmax
(maximum number of PISO iterations). When using a variable time-step, it is also
important to consider the maximum CFL numbers, since CONVERGE selects the time-step
so as to not exceed the user-specified maximum CFL numbers. In addition to the above
solver time-step considerations, CONVERGE also considers time-step restrictions from
submodels. If a simulation includes spray modeling, then the maximum time-step for the
spray is calculated by

 x 
dt _ spray  min   * mult _ dt _ spray , (5.37)
 parcel _ velocity 

where mult_dt_spray is a parameter in inputs.in. Thus mult_dt_spray can be used to limit


the number of cells a parcel can travel through in one time-step. For example, if
mult_dt_spray = 1.0, a parcel cannot travel more than one cell in a single time-step.

If a simulation includes combustion modeling, then the time-step will also be controlled by
a chemical time-scale given as

 T 
dt _ chem  dt _ prev * min   * mult _ dt _ chem, (5.38)
 T 

where T is the initial cell temperature, ΔT is the change in temperature due to combustion,
and mult_dt_chem is a parameter in inputs.in. Thus mult_dt_chem can be used to control the
maximum temperature change in a single time-step. For example, if mult_dt_chem = 0.25,
CONVERGE chooses the time-step so that the maximum cell temperature change is 25% of
the cell temperature. Note that some of the other submodels may also restrict the time-step,
but you do not specify time-step control inputs for these submodels.

If the simulation includes sources, use the parameter mult_dt_source to control the time-
step. This parameter limits the increase in magnitude of a source during a single time-step.
For example, mult_dt_source = 0.5 will adjust the time-step so that the source magnitude
cannot increase more than 50% of the cell value in a single time-step.

CONVERGE 2.4 Manual 137


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Time-Step Control

If the simulation includes moving surfaces, these impose a time-step limitation controlled
by the parameter mult_dt_move in inputs.in. This multiplier limits the global time-step
based on a cell size and surface speed calculated at each cell, given as

 0.3 * cell_size 
dt _ move  dt _ prev * min   * mult _ dt _ move , (5.39)
 surf _speed 

where the constant multiplier 0.3 is taken as the cell pairing factor discussed in Chapter 10
- Grid Control.

Finally, if the time-step is not restricted by any of the above, CONVERGE performs a check
to see that it is not above the maximum allowable time-step (dt_max in inputs.in). If it is
reduced by one of the above criteria, CONVERGE performs another check to ensure that it
is not below the minimum allowable time-step dt_min.

5.7 Convective Flux Schemes


CONVERGE includes several different spatial discretization methods for the convective
term. In addition to specifying a desired order of accuracy, the convective flux schemes
allow you to control flux limiters to maintain stability. The following subsections describe
the MUSCL scheme and flux limiters available in CONVERGE.
5.7.1 MUSCL Scheme
The MUSCL (Monotonic Upstream-Centered Scheme for Conservation Laws) scheme of
van Leer (van Leer, 1979) provides second-order spatial accuracy for the convection term.
To do so, MUSCL calculates the value of a scalar f at a cell face using a blend of second-
order upwind and reconstructed central difference spatial discretization schemes.

For a scalar quantity f , CONVERGE approximates the value at a cell face (f f ) with a linear
reconstruction method. This method calculates f f using a Taylor Series expansion from the
center of cell i to its face. Values for f f on either side of the cell face are given as

 f ,i1  i1  i1  di1


, (5.40)
 f ,i  i  i  di

where di is the vector from the center of cell i to the cell face. The first expression
reconstructs f f from the center of cell i-1 while the second expression reconstructs f f from

138 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Convective Flux Schemes

the center of cell i. In this example, the flow moves from cell i-1 to cell i, so cell i-1 is
upwind of cell i. For numerical consistency, each variable is reconstructed to the face
independently.

Next, the reconstructed upwind scheme (denoted by subscript ru) uses upwinding to
represent f f . We can approximate the value of f at a cell face using the reconstructed
quantity from the upwind cell as

 f ,ru   f ,i1 . (5.41)

The other half of the MUSCL scheme is to take a central difference approximation of the
two reconstructions listed in Equation 5.40. This method averages the two adjacent cell
quantities as

1
 f ,rcd   f ,i1   f ,i . (5.42)
2

To reach higher-order accuracy, the MUSCL scheme blends the second-order upwind
discretization (Equation 5.41) and the central difference discretization (Equation 5.42) as

 f ,muscl  (1   ) f , ru   f ,rcd , (5.43)

where β is a blending factor.

Activate the MUSCL scheme for a desired equation or set of equations by choosing 1 for
the corresponding flux scheme (i.e., f lux_scheme_mom = 1, f lux_scheme_global = 1, or
f lux_scheme_turb = 1 in solver.in). You can specify different blending factors for the
momentum equation (muscl_blend_f actor_mom), all transport equations except momentum
and turbulence (muscl_blend_f actor_global), and the turbulence equations
(muscl_blend_f actor_turb). Setting muscle_blend_f actor_<eqn> = 0.0 results in pure second-
order upwind MUSCL for that equation.

Gradient limiter

CONVERGE 2.4 Manual 139


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Convective Flux Schemes

Higher-order methods such as the MUSCL scheme outlined above can introduce
dispersion error into a CONVERGE solution. To prevent this error from polluting results,
CONVERGE employs the gradient (or slope) limiter of Venkatakrishnan
(Venkatakrishnan, 2013). This slope limiter ensures that the gradient f is smooth and
preserves monotonicity by preventing f from creating new local maxima or minima. We
can express f f with the application of a gradient limiter as

 f ,u   f  uu  du , (5.44)

where ηu is the gradient limiter for cell u. To activate the MUSCL scheme with the gradient
limiter outlined above, enter 2 for a particular flux scheme in solver.in (i.e.,
f lux_scheme_mom = 2, f lux_scheme_global = 2, or f lux_scheme_turb = 2). Note that the slope
limiter described in this section imposes a limit on a cell face quantity f f . The next section
describes methods for limiting fluxes.
5.7.2 Flux Limiters
Another method to ensure physically realistic results with the high-resolution schemes in
CONVERGE is to employ a flux limiter. A flux limiter is a function that restricts fluxes
(represented by f ) to meaningful values near discontinuities in the domain. Near these
discontinuities, a flux limiter switches to a first-order spatial discretization to avoid
spurious oscillations in the solution. In the rest of the domain, however, the flux limiter
function employs a higher-order spatial discretization to improve solution accuracy. The
formulation for a flux-limited quantity is

f HO,limited  f 1st ,up  (r ) f HO  f 1st ,up , (5.45)

where f HO,limited is the limited higher-order flux, f 1st,up is the first-order flux, ψ(r) is the limiter
function, and f HO is the higher-order flux. Note that this equation implies if the flux is
already evaluated as first-order upwind (i.e., f v_upwind_f actor_<eqn> = 1.0 or
upwind_all_dir_f lag = 1), the flux is already f 1st,up and limiters have no effect. In Equation
5.45 above, r is the input to the flux limiter and is a function of the gradients on either side
of a cell face. The equation for r is

140 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Convective Flux Schemes

i  i1
r , (5.46)
i 1  i

where f is some scalar quantity.

CONVERGE includes many flux limiter functions listed along with their formulations in
Table 5.1 below. To enable a flux limiter, enter one of the parameter names from column 1
in Table 5.1 followed by either f lux_limiter_mom, f lux_limiter_global, or f lux_limiter_turb in
solver.in to specify the set of equations to which the flux limiter applies.

Note that when you choose the step flux limiter, use monotone_tolerance in solver.in to
control how CONVERGE preserves monotonicity. CONVERGE will switch to a first-order
upwind spatial discretization when the ratio of gradients on either side of a cell face
exceeds the value you specify for monotone_tolerance. CONVERGE can list whether the
solver used the specified numerical scheme or first-order upwind scheme if you include
monotone_upwind and prod_monotone_upwind in post.in. CONVERGE compares the
gradients of density on either either side of a cell face as

 i1  i   i  i1 
Sign    Sign  , (5.47)
 xi  1  x i   xi  x i  1 

where i indicates the cell, i+1 is the cell to the right, i-1 is the cell to the left, ρ is the density,
and x is the spatial location. If either the density or velocity field becomes non-monotonic,
it is likely that there is a discontinuity in the field. In this event, first-order upwind is the
most accurate spatial discretization scheme. If your simulation is free of shocks or other
large discontinuities, a relatively larger value of monotone_tolerance will produce a more
accurate solution with less dissipation.

If you choose the step flux limiter in conjunction with a first-order upwind spatial scheme
(f v_upwind_f actor_global and f v_upwind_f actor_mom are 1.0 in solver.in), adjusting
monotone_tolerance may affect your solution. With this configuration, if CONVERGE
detects non-monotonic behavior in a cell (such that the ratio of gradients exceeds
monotone_tolerance), conserve becomes 0 locally, effectively solving the momentum equation
with cell-center-evaluation form to preserve stability. If the ratio of gradients for the cell is
within the limit given by monotone_tolerance, CONVERGE uses the value of conserve you
supply in solver.in.

CONVERGE 2.4 Manual 141


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Convective Flux Schemes

For guidance on which flux limiter to use, consult the CONVERGE example cases. Your
choice of flux limiter will rarely have a major effect on the solution. More often, the effect
will be subtle and case-dependent. If you have had success with a specific flux limiter on a
specific case setup, we do not make a strong recommendation to change.

Table 5.1: Flux limiters in CONVERGE.


Parameter Name Flux Limiter Formulation

step Step
( i  i1)  ( i1  i )  monotone _ tolerance

charm CHARM (Zhou,  r (3r  1)


1995)  2
r0
 cm (r )   r  1

 0 r0

hcus HCUS (Waterson 1.5 r  r 


and Deconinck,  hc (r ) 
1995) r  2 

hquick HQUICK (Waterson 2 r  r 


and Deconinck,  hq (r ) 
1995) r  3

koren Koren (Koren, 1993)  kn (r )  max 0,min 2r,(2  r ) / 3,2 

minmod minmod (Roe, 1986)  mm (r )  max 0,min 1, r 

mc monotonized central  (r )  max  0,min 2r ,0.5(1 r ),2 


mc   
(van Leer, 1977)

ospre ospre (Waterson 1.5 r 2  r 


and Deconinck,  op (r ) 
r  r  1
2
1995)

smart smart (Gaskell and  sm (r )  max 0,min 2r, 0.25  0.75r ,4 
Lau, 1988)

superbee superbee (Roe, 1986)  (r )  max  0,min 2r ,1 ,min r ,2 


sb     

umist UMIST (Lien and   2r , 0.25  0.75r ,  


Leschziner, 1994)  um (r )  max 0,min  
  0.75  0.25r ,2  
 

vanalbada1 van Albada 1 (van r2  r


Albada et al., 1983)  va1(r ) 
r2 1

142 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Convective Flux Schemes

Parameter Name Flux Limiter Formulation

vanalbada2 van Albada 2 2r


(Kermani, 2003)  va 2 (r ) 
r 1
2

vanleer van Leer (van Leer, r r


1974)  vl (r ) 
1 r

5.8 Iterative Linear Solvers


Before running a CONVERGE simulation, you need to select a linear solver for each
governing equation. CONVERGE contains the point-wise successive over-relaxation (SOR)
algorithm and the biconjugate gradient stabilized (BiCGSTAB) method, although
BiCGSTAB is not available for some of the governing equations. Table 5.2 below
summarizes the options for each governing equation.

In general, you should use the SOR algorithm for simulations in which the number of
pressure iterations per PISO step is, on average, fewer than 15. This algorithm is ideal for
cases with compressible flows and small time-steps, such as engine simulations. You can
use the BiCGSTAB method for volume of fluid (VOF) cases.

CONVERGE 2.4 Manual 143


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Iterative Linear Solvers

Table 5.2: Linear solver options in solver.in.


Governing Equation Parameter Name Description

Momentum mom_solver_type 0 = SOR algorithm,


1 = BiCGSTAB solver.
Pressure pres_solver_type 0 = SOR algorithm,
1 = BiCGSTAB solver.
Density density_solver_type 0 = SOR algorithm,
1 = BiCGSTAB solver.

Energy energy_solver_type 0 = SOR algorithm,


1 = BiCGSTAB solver.
Species species_solver_type 0 = SOR algorithm.

Passive passive_solver_type 0 = SOR algorithm.

Turbulent kinetic tke_solver_type 0 = SOR algorithm.


energy (TKE)
Turbulent dissipation eps_solver_type 0 = SOR algorithm.
rate (epsilon)
Specific dissipation omega_solver_type 0 = SOR algorithm.
rate (omega)
Radiation rad_solver_type 0 = SOR algorithm.

After discretizing the governing equations, we can write each equation as a linear system

Ax  b. (5.48)

The solvers in CONVERGE are iterative, i.e., each solver starts with an initial guess x0 and
finds subsequent values that increasingly approach the given value of x. This process can
be described as the limit given by

lim xn  x. (5.49)
n

After each iteration, CONVERGE checks if

144 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Iterative Linear Solvers

rn  r0 1
 , (5.50)
r0 tol _ scale

where

Axn  b
rn  2
(5.51)
b 2

and tol_scale is a parameter in solver.in. If Equation 5.50 is satisfied or if *_itmax has been
reached, the solver stops. If not, the solver will perform another iteration.

The following subsections (SOR Algorithm and BiCGSTAB Method) contain solver-specific
information.
5.8.1 SOR Algorithm
The SOR algorithm is an iterative scheme with a relaxation factor, ω, for accelerating
convergence. Given a square system of

Ax  b, (5.52)

the system can be rewritten as

 
xik  1  (1   )xik   bi   aij x j  aij x j  ,
k 1 k
(5.53)
aii  j i j i 

where i = 1, 2, ..., n.

When solving systems of equations using iterative techniques, it may be necessary to


under-relax the solution to aid in the convergence. Under-relaxing means that the next
iteration is set to a value based on the previous value and a scaled corrector term, as

CONVERGE 2.4 Manual 145


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Iterative Linear Solvers

 **   *  under _ relaxation ( ), (5.54)

where f ** is the new iteration value, f * is the old iteration value, under _ relaxation is the
under-relaxation parameter (usually less than 1.0), and Df is the calculated change in the
iteration value.

For the SOR algorithm, CONVERGE calculates an optimal under-relaxation parameter


(ωopt) for each transport equation in order to speed up convergence and ensure stability.
The values that you specify for the under-relaxation parameters in solver.in (see Table 5.3)
are the maximum under-relaxation values for the simulation. That is, if the value
CONVERGE calculates for ωopt exceeds ωinput, CONVERGE will use ωinput. If ωopt does not
exceed ωinput, CONVERGE will use ωopt to ensure stability. At each time-step, CONVERGE
determines the optimal value of the under-relaxation parameter for each transport
equation in each cell via

aii
opt  ,
 aij (5.55)
j ,i  j

where aij is the value of entry (i, j) in the coefficient matrix of the discretized transport
equation. The result is a field of ωopt values that CONVERGE uses in conjunction with
Equation 5.54 to determine the new iteration values. Note that Equation 5.55 does not
apply to pressure under-relaxation. In CONVERGE, there is no dynamic relaxation for
pressure, and you can enter a relaxation factor for pressure using pres_omega in solver.in.
Table 5.3 below summarizes the under-relaxation parameters in CONVERGE.

Table 5.3: Under-relaxation parameters in solver.in.


Equation Parameter Typical Value*
Name (steady_solver_f lag = 0)
Momentum mom_omega 1.0

Pressure pres_omega 1.3

Pressure ratio omega_presrat 0.7


Density density_omega 1.0
Energy energy_omega 1.0

146 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Iterative Linear Solvers

Species species_omega 1.0

Passive passive_omega 1.0


TKE tke_omega 0.7

Epsilon eps_omega 0.7

Omega omega_omega 1.0

Radiation rad_omega 1.0

Each under-relaxation parameter can be a fixed value or can vary temporally. For a
temporally varying parameter, specify a file name instead of a value in inputs.in and
include that file in the Case Directory.
5.8.2 BiCGSTAB Method
CONVERGE uses the High Performance Preconditioners (HYPRE) implementation of the
BiCGSTAB method. HYPRE is a linear solver library developed by Lawrence Livermore
National Laboratory. Refer to the HYPRE 2.9 Reference Manual for additional information
on this solver. BiCGSTAB is useful for cases with complex geometry that take a long time
for pressure to converge, such as volume of fluid (VOF) simulations.

Note that the BiCGSTAB solver is not available for a particular governing equation if you
activate the MUSCL scheme for that equation.

Preconditioners
When using the HYPRE BiCGSTAB solver (i.e., when *_solver_type = 1), you can apply a
preconditioner in order to improve the speed of convergence for that particular governing
equation. Preconditioners modify the linear system described in Equation 5.52 above in
order to improve the condition of the system. CONVERGE contains two preconditioners:
Euclid/ILU and algebraic multigrid. Both of these preconditioners are from the HYPRE
library, and you can refer to the HYPRE 2.9 Reference Manual for additional information.

To apply a preconditioner to a particular equation, use the *_preconditioner parameter in


solver.in (replacing * with the desired equation name). Table 5.4 below describes the
parameters that control the preconditioner for each of the governing equations.

CONVERGE 2.4 Manual 147


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Iterative Linear Solvers

Table 5.4: Preconditioner parameters in solver.in.


Governing Parameter Name Description
Equation
Momentum mom_preconditioner 0 = No preconditioner,
1 = Euclid/ILU,
2 = Algebraic multigrid.
Pressure pres_preconditioner 0 = No preconditioner,
1 = Euclid/ILU,
2 = Algebraic multigrid.
Density density_preconditioner 0 = No preconditioner,
1 = Euclid/ILU,
2 = Algebraic multigrid.
Energy energy_preconditioner 0 = No preconditioner,
1 = Euclid/ILU,
2 = Algebraic multigrid.
Species species_preconditioner 0 = No preconditioner,
1 = Euclid/ILU,
2 = Algebraic multigrid.
Passive passive_preconditioner 0 = No preconditioner,
1 = Euclid/ILU,
2 = Algebraic multigrid.
Turbulent kinetic tke_preconditioner Currently must be set to 0. This parameter will be used in a
energy (TKE) future release.
Turbulent eps_preconditioner Currently must be set to 0. This parameter will be used in a
dissipation rate future release.
(Epsilon)
Specific omega_preconditioner Currently must be set to 0. This parameter will be used in a
dissipation rate future release.
(Omega)
Radiation rad_preconditioner Currently must be set to 0. This parameter will be used in a
future release.

5.9 Solver Types: Transient and Steady-State


There are two types of solvers available in CONVERGE: transient and steady-state. The
following subsections describe the different solvers and include recommendations for
parameters in solver.in and inputs.in. CONVERGE Studio can automatically set
recommended parameters for different types of cases (e.g., compressible gas transient case,
incompressible gas steady-state case).

148 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Solver Types: Transient and Steady-State

5.9.1 Transient Solver


In order to solve a transient case, the governing equations described earlier are
approximated using numerical techniques. CONVERGE internally generates a grid, which
is then used to discretize the governing equations. By discretizing the domain via a grid,
the governing equations can be approximated by a system of algebraic equations. If solving
implicitly, an iterative (multi-step) technique will be required for the system of algebraic
equations. If solving explicitly, only a single iteration will be required to solve the algebraic
equations. To activate the transient solver, set steady_solver_f lag = 0 in inputs.in. If
crank_f lag = 1 or 2 in inputs.in, CONVERGE requires steady_solver_f lag = 0.

When solving the equations implicitly, a convergence criterion (or tolerance) is required. A
solution is considered converged when the iteration error in the solution is at or below the
user-specified convergence criterion. In CONVERGE, the iteration error is related to the
change in the solution field from each iteration, Df , which is given by


error  , (5.56)
Norm

where Norm is the normalization. Table 5.5 below summarizes the tolerance parameter
and normalization for each equation.

Table 5.5: Tolerance parameters in solver.in.


Equation Parameter Name Typical Value Normalization
(steady_solver_f lag = 0)
Momentum pres_tol 1.0e-4 Velocity or 1.0, whichever is
larger.

Pressure mom_tol 1.0e-8 Pressure or 1.0, whichever is


larger.
Density density_tol 1.0e-4 Density or 1.0, whichever is
larger.
Energy energy_tol 1.0e-4 Internal energy or 1.0, whichever
is larger.
Species species_tol 1.0e-4 1.0

Passive passive_tol 1.0e-4 Passive or 1.0, whichever is


larger.
TKE tke_tol 1.0e-3 Cell TKE.

EPS eps_tol 1.0e-3 Cell EPS.

CONVERGE 2.4 Manual 149


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Solver Types: Transient and Steady-State

Equation Parameter Name Typical Value Normalization


(steady_solver_f lag = 0)

Omega omega_tol 1.0e-3 Cell omega.

Radiation rad_tol 1.0e-8 Cell intensity.


Each tolerance parameter can be a fixed value or can vary temporally. For a temporally
varying parameter, specify a file name instead of a value in inputs.in and include that file
in the Case Directory.

Table 5.6 below summarizes typical values for the PISO parameters for a transient
simulation.

Table 5.6: PISO parameters (all in solver.in).


Parameter Name Typical Value
(steady_solver_f lag = 0)

strict_conserve_f lag (for engine cases)


1 for transient cases with max_cf l_u > 2.5,
2 for transient cases with max_cf l_u ≤ 2.5.

omega_presrat 0.7 - 1.0

tol_scale 20

piso_itmin 2

piso_itmax 9

pres_itmax 200

piso_tol 1e-3

Table 5.7 below summarizes typical values for the CFL parameters for a transient
simulation.

Table 5.7: CFL number parameters in inputs.in.


Parameter Typical Value
Name (steady_solver_f lag = 0)

max_cf l_u 0.5 - 3.0 (in VOF cases, 0.03 to 0.10).

max_cf l_nu 0.5 - 2.5

max_cf l_mach 0.5 - 100.0

Table 5.8 below summarizes typical values for the time-step control parameters for a
transient simulation.

150 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Solver Types: Transient and Steady-State

Table 5.8: Time-step control parameters in inputs.in.


Parameter Name Typical Value/ Notes
(steady_solver_f lag = 0)

time_f lag 0 = Constant dt,


1 = Variable dt.

dt_start Depends on the type of simulation.

dt_max Depends on the type of simulation.

dt_min Depends on the type of simulation.

dt_f ixed Depends on the type of simulation.

mult_dt_spray 0.5 - 1.5

mult_dt_evap Recommended value is 9999.0, which effectively disables this parameter.


Stability in the code has been improved, thus eliminating the need for
evaporation time-step control.

mut_dt_coll_mesh 0.5 - 1.5 (Similar to mult_dt_spray but the collision mesh is also used to determine
the maximum dt.)

mult_dt_chem 0.1 - 1.0

mult_dt_source 0.1 - 1.0

mult_dt_move 0.5

5.9.2 Steady-State Solver


The steady-state solver in CONVERGE allows faster solutions to steady-state problems in
which an accurate time history of transient behavior is not desired. While it is possible to
solve steady-state problems using the transient solver, this method is not efficient and not
recommended. This section explains notable differences between the steady-state and
transient solvers. To activate the steady-state solver, set steady_solver_f lag = 1 in inputs.in.

Note that in previous versions of CONVERGE, there were multiple steady-state solvers
(both density- and pressure-based). In CONVERGE 2.4, there is a single steady-state
solver.

In a transient case, the general transport equation is

  ui    
   D   S, (5.57)
t xi xi  xi 

CONVERGE 2.4 Manual 151


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Solver Types: Transient and Steady-State

where f is any transported quantity. For a steady-state case, by definition, the solution
does not change with time. Thus the transport equation for a steady-state case contains no
time derivative term, as follows:

 ui    
  D   S. (5.58)
xi xi  xi 

Although the transport equation does not include the time derivative term, CONVERGE
uses a pseudo time-step to aid in numerically solving Equation 5.58. Because the steady-
state solver uses a pseudo time-step, this solver works in a conceptually similar manner to
the transient solver shown in Figure 5.2. The steady-state solver, however, is not required
to be time-accurate while proceeding in pseudo time to a steady solution, so the rate of
convergence is significantly improved when compared to the transient solver. The
maximum convection CFL number (described previously, max_cf l_u in inputs.in) dictates
the size of the pseudo time-step for each cycle. A larger convection CFL number decreases
the number of cycles required by the momentum solver to attain a steady-state value.
Larger local pseudo time-steps permit the momentum information to traverse the domain
much more quickly.

Because the steady solver does not include time terms, specify time-based inputs in cycles
instead of seconds (remember that a cycle is the completion of the algorithm shown in
Figure 5.2). For example, replace the start time (start_time in inputs.in) with the starting
cycle number and end time (end_time in inputs.in) with the ending cycle number.
Parameters that directly control the pseudo time-step (e.g., dtstart, dt_min, dt_max) are still
in seconds. Typically, to reach steady-state convergence, CONVERGE will perform
hundreds of cycles.

Since the steady-state solver employs a pseudo time-step, CONVERGE still needs to solve
each transport equation until the residual falls below the specified solution tolerances at
each cycle.

The steady-state solver is density-based and includes density transport in the solution
algorithm shown previously in Figure 5.2. You can use this solver for all Mach numbers.

Steady-State Solver Procedure


Steady-state CFD simulations typically reach a statistically stationary state after a brief
initial transient phase. Generally, the fidelity of the final steady-state solution is
independent of the initial transients that are present. In CONVERGE 2.4, the steady solver
leverages this idea to improve the speed of the steady-state calculation.

152 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Solver Types: Transient and Steady-State

When steady_auto_tol = 1, the solver works in an automated manner, and the simulation
begins with looser tolerances (steady_piso_tol_init and steady_tol_scale_init in solver.in), a
higher maximum convection CFL number (max_cf l_u in inputs.in), and a coarser grid
(specified in gridscale.in). This configuration allows the fluid flow to quickly propagate
through the domain. During this process, CONVERGE continuously monitors solution
variables that you designate in the steady-state monitor. When the mean and standard
deviation of the solution variables drop to an acceptably steady level, CONVERGE
considers the solution locally converged for the current tolerance, CFL, and grid settings.
CONVERGE progressively refines the grid and tightens the tolerances so that the solution
accuracy improves to the specified target tolerances. The information below describes the
two important stages of this process in more detail.

1. The grid scaling stage begins and CONVERGE refines the mesh until reaching the
target grid scale value specified in gridscale.in (the solution tolerances do not change).
Again, the mean and standard deviation of the solution variables specified in
monitor_steady_state.in must reach an acceptably steady level to move to the next grid
scale value.
2. The tolerance tightening stage begins and CONVERGE tightens only the solver
tolerances (piso_tol and tol_scale). In this stage, if steady_switch_solver_f lag = 1 in
solver.in, CONVERGE will switch the pressure solver between BiCGSTAB and SOR to
determine which method is faster and use the faster solver for the remainder of the
simulation. If there is a recovery within 100 cycles of the pressure solver switch,
CONVERGE will revert the pressure solver to its original setting.

Maximum CFL Number Control


As mentioned above, the steady-state solver can operate at relatively high maximum
convection CFL numbers (as specified for max_cf l_u in inputs.in).

In order to maintain stability, however, CONVERGE begins each "grid stage" (i.e., a
solution at a particular grid scale value) with a maximum convection CFL number of 1
and doubles this value at the frequency you specify (steady_tol_update_f req) until reaching
max_cf l_u. If the PISO algorithm or any transport equations fail to converge, the maximum
CFL number is halved. After the number of cycles given by steady_tol_update_f req pass, the
CFL number doubling procedure resumes. Additionally, CONVERGE attempts to modify
relaxation parameters (omega_presrat, tke_omega, eps_omega, etc.) to ensure a smooth and
stable path toward the steady-state solution.

In the tolerance tightening stage of the simulation, the steady_max_cf l_u_f inal value in
solver.in is used for the maximum convection CFL number. During this stage, decrease the
maximum convection CFL number to between 2 and 5.

AMR

CONVERGE 2.4 Manual 153


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Solver Types: Transient and Steady-State

To control Adaptive Mesh Refinement (AMR) in conjunction with the steady-state solver,
specify GRIDSCALE, PERMANENT, or SEQUENTIAL for the temporal type in amr.in. If
you select GRIDSCALE, CONVERGE activates AMR when the simulation reaches the grid
scale value in gridscale.in specified by amr_vel_start in amr.in. In this case, CONVERGE
ignores the time to end AMR (amr_vel_end) and chooses to deactivate AMR based on other
criteria.

While CONVERGE can activate AMR automatically at any grid scale value, once the
tolerance tightening stage begins, the solver records the number of applications of AMR.
The number of applications of AMR must reach the value specified for
steady_min_num_amr as one of the criteria for considering the simulation converged.

When the number of mesh refinements reaches steady_min_num_amr (specified in


solver.in), the change in cell count between mesh refinements is less than 10% of the total
cell count, and the quantities specified in monitor_steady_state.in reach an acceptably
steady level, CONVERGE considers the simulation converged. If the change in cell count
exceeds 10% of the total cell count, CONVERGE refines the mesh until this criterion is met.
Figure 5.59 provides a sample amr.in file with the GRIDSCALE temporal type.

Note that this grid scale AMR temporal type is available for all AMR types (i.e., velocity,
temperature, etc).

1 amr_vel_flag
4 amr_vel_embed
0.1 amr_vel_sgs_embed
GRIDSCALE
0 amr_vel_start
0.2 amr_vel_end
50 amr_parcel_embed
Figure 5.59: Sample gridscale AMR input file.
Numerical Schemes
When first-order upwinding is used (e.g., when f v_upwind_f actor_mom = 1.0) for the
numerical scheme, it adds numerical viscosity, which tends to help achieve convergence.
In some cases, however, you may wish to use higher-order numerics. In these cases, it may
be best to start with first-order upwinding and run the simulation until it converges. Then
you can initialize the field with the first-order solution (via mapping) and restart the
simulation with higher-order numerics. This process will make the higher-order simulation
more accurately initialized, thus expediting convergence.

Stopping Criteria for the Steady-State Solver


If steady_auto_f lag = 0, the steady-state solver stops when ncyc reaches end_time (in
inputs.in). If steady_auto_f lag = 1, the steady-state solver may stop before end_time if the
simulation meets the following criteria.

154 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Solver Types: Transient and Steady-State

1. The grid scaling stage ends (grid_scale reaches its final value if you specified multiple
values),
2. The tolerance tightening stage ends. That is, the solution reaches a steady-state with
solver tolerances reaching their final (target) values,
3. The maximum convective CFL number equals steady_max_cf l_u_f inal (instead of
max_cf l_u),
4. If AMR is active, CONVERGE has applied AMR at least equal to the value specified for
steady_min_num_amr and the change in total cell count from one AMR application
cycle to the next is less than 10%.

Table 5.9 lists some parameters in solver.in that are relevant for controlling the steady-state
solver.

Table 5.9: Steady-state solver parameters in solver.in.


Parameter Name Typical Value/ Notes

steady_auto_f lag 0 = Run a steady-state simulation without automatic monitoring of solver


settings such as tolerances,
1 = Allow automatic monitoring and control of the steady-state solver
settings via the parameters below (recommended). You must set
monitor_steady_state_f lag = 1 in inputs.in and supply a
monitor_steady_state.in file that lists quantities to monitor and the
monitoring configuration.

Ideally, provide both the initial (relaxed) and final (target) settings for the
CFL number, tolerances, and grid scale settings. Tables 5.10 and 5.11 below
provide recommended values, but settings depend on the problem type and
desired accuracy. If it is difficult to estimate initial (relaxed) settings, set
them to the same values as for the final (target) settings.

steady_switch_solver_f lag 0 = Do not automatically switch the pressure solver type during the
simulation (for cases with combustion),
1 = Switch between BiCGSTAB and SOR pressure solvers to determine the
optimal solver during the tolerance tightening stage (allowed only for cases
in which combustion is deactivated).

steady_tol_update_f req 20. The frequency (in cycles) with which CONVERGE updates settings (e.g.,
doubles the maximum CFL number) and monitors the solution variables to
determine if they have reached a local steady-state.

steady_min_num_amr 10. The minimum number of applications of AMR that CONVERGE


performs during the tolerance tightening stage.

steady_piso_tol_init Usually 10 times piso_tol. The initial value of piso_tol used until the
tolerance tightening stage.

steady_tol_scale_init Usually 0.5 times tol_scale. The initial value of tol_scale used until the
tolerance tightening stage.

CONVERGE 2.4 Manual 155


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Solver Types: Transient and Steady-State

Parameter Name Typical Value/ Notes

steady_max_cf l_u_f inal Greater than 0 and less than max_cf l_u in inputs.in. Usually 2.0 - 5.0. The
maximum convection CFL number used during the tolerance tightening
stage.

Recommended Inputs
No single set of input parameters can be used for all cases, but this section provides some
guidelines that can be used when setting up a new case. Table 5.10 below summarizes
recommended parameter values for steady-state cases and in some cases provides
information that may help you determine how to adjust the parameters for your particular
case.

Table 5.10: Recommended solver-related parameter values for steady-state cases.


Parameter Name File Name Typical Value/ Notes

piso_itmin solver.in 2

piso_itmax solver.in 20

f v_upwind_f actor_global solver.in 0.5 - 0.6: For flows with weak wakes,
0.6 - 0.7: For flows without wakes.

f v_upwind_f actor_mom solver.in 0.5 - 0.6: For flows with weak wakes,
0.6 - 0.7: For flows without wakes.

f v_upwind_f actor_turb solver.in 1.0

strict_conserve_f lag solver.in 0 for non-reacting (combustion_f lag = 0 in inputs.in) cases,


1 for reacting (combustion_f lag = 1 in inputs.in) cases.

dtstart inputs.in The starting pseudo time-step allowed for each cycle. This
value should be set such that the CFL numbers are equal
to or less than the maximum CFL numbers provided in
the input.

dt_max inputs.in The maximum pseudo time-step allowed for each cycle.
Typically this is a large number so that the psuedo time-
step is not limited by dt_max.

dt_min inputs.in The minimum pseudo time-step allowed for each cycle.

max_cf l_u inputs.in The maximum convection CFL number up to the final
tolerance tightening stages. A smaller cf l_u may be more
stable but it may take longer to converge.
20.0 - 40.0: For non-reacting flow,
10.0 - 20.0: For reacting flow.

max_cf l_mach inputs.in 50.0 times max_cf l_u. (A smaller cf l_mach may be more
stable but it may take longer to converge.)

156 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Solver Types: Transient and Steady-State

Parameter Name File Name Typical Value/ Notes

max_cf l_nu inputs.in 5.0 - 10.0 times max_cf l_u. (A smaller cf l_nu may be more
stable but it may take longer to converge.)

min_temp inputs.in 10.0 K (This is the minimum temperature that will be


allowed during a simulation. This parameter must be at
least 10.0 K.)

max_temp inputs.in 4900.0 (This is the maximum temperature that will be


allowed during a simulation. This parameter must be no
greater than 100,000.0 K.)

max_visc inputs.in 10.0 (This is the maximum turbulent viscosity that will be
allowed during a steady simulation.)

grid_scale inputs.in Integer or file name (e.g., gridscale.in). If you specify a file
name (recommended), you must include that file in the
Case Directory. Typically when running a steady-state
simulation, start with a coarse mesh (grid_scale = -2 or -1)
before refining the mesh (grid_scale = 0). Values in
gridscale.in must be integers that increase monotonically
throughout the simulation.

We recommend using automatic grid scaling (via


auto_gridscale_f lag = 1 in monitor_steady_state.in) and the
AUTO flag in gridscale.in.

mult_dt_spray inputs.in 10.0 - 20.0

mult_dt_chem inputs.in 0.1 - 1.0

mult_dt_source inputs.in 0.1 - 1.0

mult_dt_move inputs.in 0.5 - 1.0

Table 5.11 below provides recommended minimum and maximum iteration numbers for
the various transport equations solved during a steady-state simulation.

Table 5.11: Recommended iteration limits (in solver.in) for transport equations solved during a steady-
state simulation.
Transport Equation Minimum Iterations Maximum Iterations
Momentum mom_itmin = 2 mom_itmax = 500
Pressure pres_itmin = 2 pres_itmax = 300
Density density_itmin = 2 density_itmax = 20
Energy energy_itmin = 2 energy_itmax = 20
Species species_itmin = 2 species_itmax = 20

CONVERGE 2.4 Manual 157


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 5
Numerics |Solver Types: Transient and Steady-State

Transport Equation Minimum Iterations Maximum Iterations

Passive passive_itmin = 2 passive_itmax = 20


Turbulent Kinetic tke_itmin = 2 tke_itmax = 50
Energy (tke)
Turbulent Dissipation eps_itmin = 2 eps_itmax = 50
(eps)
Specific Dissipation omega_itmin = 2 omega_itmax = 50
Rate (omega)

158 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

6
Source Modeling Setup
Chapter 6
Source Modeling Setup |

6 Source Modeling Setup


This chapter describes the options in CONVERGE for sources and sinks of energy,
momentum, turbulent kinetic energy, turbulent dissipation rate, specific dissipation rate,
species, passive scalars, or porous media. To activate source/sink modeling, set source_f lag
= 1 in inputs.in and specify the relevant parameters in source.in. The source/sink volumes
are defined by specifying the shape of the source (i.e., box, sphere, cylinder, line, circle, or
region). The source.in file also contains information regarding the strength of the source
and the start and end times of the source. CONVERGE can displace the source from its
original location if you specify velocities, but this displacement is restricted to a maximum
value as specified by max_displace.

Table 6.1 below summarizes the time-, shape-, and displacement-related parameters for all
types of sources. These parameters are described in detail in the sections that follow. The
additional parameters required for porous media sources are discussed in the last section
of this chapter.

Table 6.1: Time, volume, and displacement parameters in source.in for all types of sources.
Parameter Description, Values, and Units
temporal type of source SEQUENTIAL, PERMANENT or CYCLIC. For CYCLIC, the period must
follow. Note CYCLIC is not allowed if you are running steady_solver = 1.

source_start_time Start time (seconds or crank angle degrees) for source/sink.

source_end_time End time (seconds or crank angle degrees) for source/sink.

source_shape Shape of the source: BOX, REGION (i.e., the size and shape of a source is
an entire region), LINE, CIRCLE, CYLINDER, or SPHERE.
BOX x_center Center of box source (x, y, and z
coordinates).

x_size Half of x, y, and z dimensions of the box


(m).
REGION region_id Region ID number (not name).

LINE x1_center Starting point of line source (x, y, and z


coordinates).

x2_center End point of line source(x, y, and z


coordinates).

num_points Number of evenly spaced points on the


line source.
CIRCLE x_center Center of circle source (x, y, and z
coordinates).

160 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 6
Source Modeling Setup |

Parameter Description, Values, and Units

radius_circle Radius of the circle source (m).

normal_vector Normal vector of the circle source (x. y,


and z values of normal vector).

num_points Number of evenly spaced points on the


circle source.
CYLINDER x1_center Center of first circle (x, y, and z
coordinates).

radius1 Radius of the first circle (m).

x2_center Center of second circle (x, y, and z


coordinates).

radius2 Radius of the second circle.

SPHERE x_center Center of sphere source (x, y, and z


coordinates).

radius Radius of sphere source (m).

moving_f lag 0 = Source is not moving,


1 = Source is moving at a specified velocity,
2 = Source is moving with the flow.

velocity Prescribed x, y, and z components of the velocity vector (m/ s). Used only if
moving = 1.

max_displace Maximum distance that the source can move (m).

reset_source_f lag 0 = Do not move source back to original location,


1 = Return source to original location when max_displace is reached,
2 = Return source when any point in LINE or CIRCLE exceeds
max_displace (only for LINE and CIRCLE sources).

mult_dt_source Time-step limiter for the source magnitude.

Note that if source_shape = LINE or CIRCLE, it represents a collection of point sources


along the line or around the circumference of the circle, respectively. For LINE and
CIRCLE sources, the source_type can be specified only by source_value (not by
source_unit_volume). The volume of the cell encompassing the point source determines the
local strength of the source. You do not have to consider the local grid refinements (due to
embedding and AMR) while specifying the magnitude for source_value because the total
strength of the source is equally divided by the number of points in a LINE or CIRCLE
source, which is useful when specifying multiple sources of the same type with the same
values.

CONVERGE 2.4 Manual 161


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 6
Source Modeling Setup |

For a LINE source, the first and the last point sources are located at x1_center and
x2_center respectively, while the remaining point sources are equidistantly spaced between
the first and last points. For a CIRCLE source, the point sources are equidistantly spaced
around the circumference of the circle, with a randomly selected starting point. The
coordinates for each point source on the CIRCLE are not definite.

Note that in the case of moving LINE and CIRCLE sources, with option 2 (moving with the
flow) each point can attain a different velocity due to the spatial variation of fluid velocity.
A point source moving with the flow is useful for simulating the expanding arc of a spark
energy source during engine simulations.

You can reset the source to its original coordinates in one of two ways, depending on the
value of reset_source (1 or 2). When reset_source = 1, if all the points on the line or circle
exceed the max_displace value, CONVERGE resets the whole line or circle to its original
location. When reset_source = 2, if any point on the line or circle exceeds the max_displace
value, CONVERGE resets the whole line or the circle to its original location.

Use the parameter mult_dt_source to control the time-step size. This parameter limits the
increase in magnitude of a source during a single time-step. For example, if mult_dt_source
= 0.5, CONVERGE will adjust the time-step so that the source magnitude cannot increase
more than 50% in a single time-step.

All source types (except for porous media) are limited by a user-specified maximum value
of a monitored flow variable. If the monitored variable is approaching the maximum
allowed value in a cell, CONVERGE will reduce the value of the source term to prevent the
flow variable from substantially exceeding the specified limit.

CONVERGE limits the maximum value of the solution variable by neglecting the
convection and diffusion terms of the appropriate transport equation and evaluating the
local rate of change each time-step,


 S. (6.1)
t

The local value of the source, S, is limited so that the monitored solution variable will reach
the specified maximum after the next time-step. If the monitored solution variable is
already greater than specified maximum, S will take on a negative value, sufficient to
reduce the monitored variable to its specified maximum at the next time-step. The full
transport equation is then solved with the modified source term. Because the source term is

162 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 6
Source Modeling Setup |

modified before convection and diffusion take place, the monitored flow variable will have
a value of approximately the maximum limit, but not precisely.

6.1 Energy Source Modeling


CONVERGE solves for energy sources when energy_solver_f lag = 1 or 2 in inputs.in and the
ENERGY keyword is listed for the source equation in source.in. If energy_solver_f lag = 1,
CONVERGE solves the compressible form of the energy equation is given by

 e uj  e uj ui   T    Ym 


  P   ij  K    D hm   S, (6.2)
t x j x j x j x j  x j  x
 j

 m x j 

where ρ is density, Ym is the mass fraction of species m, D is the mass diffusion coefficient,
P is the pressure, e is the specific internal energy, K is the conductivity, hm is the species
enthalpy, σij is the stress tensor, T is the temperature, and S is the energy source term
(source_value or source_unit_volume, depending on the value of source_type). If
energy_solver_f lag = 2, CONVERGE solves a modified form of the equation, given by

   1 2     1 2 
   e  uk      uj  e  uk   
t   2   x j   2 
(6.3)
    T    Y 
 uj P  ui ij  K    D hm m   S.
x j x j x j  x j  x
 j

 m x j 

Table 6.2 below describes the relevant inputs for energy sources that were not previously
described in Table 6.1.

Table 6.2: Energy source parameters in source.in.


Parameter Description
source equation ENERGY

source_type 0 = Volumetric energy source per time (W/ m3),


1 = Total value of energy source (J or J/ s—see source_value below),
2 = Pressure trace data (in Pa)*,
3 = Heat release rate data (in J/ s or J/ deg)**.

source_unit_volume Energy source value per unit volume per time (W/ m3). Only used when
source_type = 0.

CONVERGE 2.4 Manual 163


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 6
Source Modeling Setup |Energy Source Modeling

Parameter Description

source_value If source_type = 1 and steady_solver = 0 in inputs.in, total energy value (J) .


If source_type = 1 and steady_solver = 1, total energy value per unit time (J/ s).
If source_type = 2, the name of a file that contains pressure trace data.
If source_type = 3, the name of a file that contains heat release data.

max_value Maximum temperature (K) that the solution variable associated with an energy
source can attain. Note that this value must be less than max_temp in inputs.in.

*When source_type = 2, you must include a pressure trace file. The pressure trace
represents the pressure change due to combustion. You can obtain the pressure trace data
from a single cycle of a CONVERGE simulation that includes combustion, experimental
data, or a 1D simulation. The pressure trace file must contain the keyword
PRESSURE_CURVE, and the pressure data must be in Pascals.

**When source_type = 3, you must include a file that contains heat release rate data. You
can obtain these data from a single cycle of a CFD simulation that includes combustion,
experimental data, or a 1D simulation. The heat release data file must contain the keyword
HEAT_RELEASE, and the heat release rate data must be in J/s (if crank_f lag = 0 in inputs.in)
or J/deg (if crank_f lag = 1 or 2). This option allows you to avoid the computationally
expensive chemistry calculations for simulations in which the details of the combustion are
already known.

6.2 Momentum Source Modeling


CONVERGE solves for momentum sources when momentum_solver_f lag = 1 in inputs.in
and the source equation is specified as U-EQ, V-EQ or W-EQ in source.in. The momentum
equation is given by

 ui  ui uj P  ij
    Si . (6.4)
t x j xi x j

In Equation 6.4, ui is velocity, ρ is density, P is pressure, σij is the stress tensor, and Si is the
momentum source term. Depending on the direction of the momentum source, (i.e., x, y,
and z vector components), the momentum source will be U-EQ, V-EQ, or W-EQ,
respectively. Note that the max_value for a momentum source is specified in terms of the
absolute value of velocity (m/s).

Table 6.3 below describes the relevant inputs for momentum sources that were not
previously described in Table 6.1.

164 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 6
Source Modeling Setup |Momentum Source Modeling

Table 6.3: Momentum source parameters in source.in.


Parameter Description

source equation U-EQ, V-EQ, W-EQ components of the momentum source in the x, y, and
z directions, respectively.

source_type 0 = Per volume per time,


1 = Total source.

source_unit_volume Source value per unit volume per time (kg/ s2-m2). Used only when
source_type = 0.

source_value If steady_solver = 0 in inputs.in, total source value (kg-m/ s).


If steady_solver = 1, total source value per unit time (kg-m/ s2).
Used only when source_type = 1.

max_value Maximum (absolute) value of velocity (m/ s) that the source can attain.

6.3 Turbulent Kinetic Energy Source Modeling


You can specify turbulent kinetic energy sources for simulations that use a RANS
turbulence model (k-epsilon or k-omega) or an LES one-equation model. CONVERGE
solves for the turbulent kinetic energy source when turbulence_solver_f lag = 1 in inputs.in
and the source equation is TKE in source.in. The general form of the turbulent kinetic
energy transport equation is given by

 k  ui k
  P  D    S, (6.5)
t xi

where P is the production term, D is the diffusion term, Ε is the dissipation term, and S is
the source term. See Chapter 15 - Turbulence Modeling for details about these terms. Note
that the diffusion and dissipation terms vary depending on the type of turbulence model
(RANS k-epsilon/LES one-equation versus RANS k-omega).

Table 6.4 below describes the relevant inputs for turbulent kinetic energy sources that were
not previously described in Table 6.1.

Table 6.4: Turbulent kinetic energy source parameters in source.in.


Parameter Description
source equation TKE

source_type 0 = Per volume per time,


1 = Total source.

CONVERGE 2.4 Manual 165


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 6
Source Modeling Setup |Turbulent Kinetic Energy Source Modeling

Parameter Description

source_unit_volume Source value per unit volume per time (m2/ s3). Used only when source_type
= 0.

source_value If steady_solver = 0 in inputs.in, total source value (kg-m2/ s2).


If steady_solver = 1, total source value per unit time (kg-m2/ s3).
Used only when source_type = 1.

max_value Maximum value (m2/ s2) that the source can attain.

6.4 Turbulent Dissipation Source Modeling


You can specify turbulent dissipation sources for simulations that use a RANS k-epsilon
turbulence model. CONVERGE solves for the turbulent dissipation source when
turbulence_solver_f lag = 1 in inputs.in and the source equation is EPS in source.in. The
turbulent dissipation transport equation is given by

   ui       ui


     c 3 
t xi x j  Pr x j  xi
 
(6.6)
 u 
  c 1 i  ij  c 2   csSs   S   R ,
 x j k
 

where ε is the turbulent dissipation; cε1, cε2, and cε3 are model constants; ρ is the density; S
is the user-supplied source term; and Ss is the source term that represents interactions with
discrete phase (spray). Note that S and Ss are distinct from one another. In Equation 6.6, R
depends on which k-e model you are using. If you are using the Standard k-e model, R = 0.
If you are using the RNG k-e model, then R is defined by Equation 15.14.

Table 6.5 below describes the relevant inputs for turbulent dissipation sources that were
not previously described in Table 6.1.

Table 6.5: Turbulent dissipation source parameters in source.in.


Parameter Description
source equation EPS

source_type 0 = Per volume per time,


1= Total source.

source_unit_volume Source value per unit volume per time (m2/ s4 ). Used only when source_type
= 0.

166 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 6
Source Modeling Setup |Turbulent Dissipation Source Modeling

Parameter Description

source_value If steady_solver = 0 in inputs.in, total source value (kg-m2/ s3).


If steady_solver = 1, total source value per unit time (kg-m2/ s4 ).
Used only when source_type = 1.

max_value Maximum value (m2/ s3) that the source can attain.

6.5 Specific Dissipation Source Modeling


You can specify specific dissipation sources for simulations that use a RANS k-omega
turbulence model. CONVERGE solves for the specific dissipation source when
turbulence_solver_f lag = 1 in inputs.in and the source equation is OMEGA in source.in. The
specific dissipation transport equation is given by

  uj      
  P   2      t    S, (6.7)
t x j k x j  x j 

where α, β, and μt are model constants; ρ is the density; ω is the specific dissipation, and S
is the user-specified source term.

Table 6.6 below describes the relevant inputs for specific dissipation sources that were not
previously described in Table 6.2.

Table 6.6: Specific dissipation source parameters in source.in.


Parameter Description
source equation OMEGA

source_type 0 = Per volume per time,


1= Total source.

source_unit_volume Source value per unit volume per time (1/ s2). Used only when source_type = 0.

source_value If steady_solver = 0 in inputs.in, total source value (kg/ s).


If steady_solver = 1, total source value per unit time (kg/ s2).
Used only when source_type = 1.

max_value Maximum value (1/ s) that the source can attain.

6.6 Species Source Modeling


CONVERGE solves for species sources when species_solver_f lag = 1 in inputs.in and the
source equation is given by the name of the species (e.g., H2O2) in source.in. The species
transport equation is given by

CONVERGE 2.4 Manual 167


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 6
Source Modeling Setup |Species Source Modeling

 m  muj   Y 
   D m   Sm , (6.8)
t x j x j  x j 

where

 m  Ym  , (6.9)

and where u is velocity, ρ is density, ρ m is the density of the species m, Ym is the mass
fraction of species m, D is the mass diffusion coefficient, and Sm is the species source term of
species m. Table 6.7 below describes the relevant inputs for species sources that were not
previously described in Table 6.2.

Table 6.7: Species source parameters in source.in.


Parameter Description
source name Name of the species (e.g., H2O2).

source_type 0 = Per volume per time,


1 = Total source.

source_unit_volume Source value per unit volume per time (kg/ m3-s). Used only if source_type =
0.

source_value If steady_solver = 0 in inputs.in, total source value (kg).


If steady_solver = 1, total source value per unit time (kg/ s).
Used only when source_type = 1.

max_value Maximum value (mass fraction) that source can attain.

source_temp Temperature (K) of the species being sourced.

source_velocity Absolute velocity (m/ s) of the species being sourced (specify an x, y, z


vector).
*NOTE: This velocity is not relative to the velocity of the source shape that
is specified with the velocity parameter as described in the previous
Source Modeling Setup section.

6.7 Passives Source Modeling


CONVERGE solves for passive sources when passives are specified in species.in and the
source equation is given by the name of the passive in source.in. The passive transport
equation is given by

168 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 6
Source Modeling Setup |Passives Source Modeling

  ui    
   D   S, (6.10)
t xi xi  xi 

where u is velocity, ρ is density, D is the diffusion coefficient,  is a passive scalar, and S is


the passive source term. Table 6.8 below describes the relevant inputs for passive sources
that were not previously described in Table 6.2.

Table 6.8: Passive source parameters in source.in.


Parameter Description
source equation Name of the passive (e.g., hiroy_soot).

source_type 0 = Per volume per time (passive/m3-s),


1 = Total source.

source_unit_volume Source strength per unit volume per time (1/m3-s). Used only if source_type = 0.

source_value If steady_solver = 0 in inputs.in, total source value (passive).


If steady_solver = 1, total source value per unit time (passive/ s).
Used only when source_type = 1.

max_value Maximum passive value (passive)that source can attain.

6.8 User Source Modeling


The user source type is a special case used for data structure initialization in the
SparkCIMM ignition model for the G-Equation combustion model.

6.9 Porous Media Modeling


CONVERGE solves for porous media when the source equation is POROUS in source.in. In
porous media, the flow occurs through a region of fine-scale geometrical structures whose
effects are too small to be numerically resolved within the overall simulation. Porous media
modeling simulates these effects by converting them to distributed momentum or
resistances. Porous media modeling is performed with the assumption that, within the
volume containing the distributed resistance, a local balance between pressure and
resistance forces exists everywhere, such that

p
Ki ui  (no summation on i), (6.11)
 i

CONVERGE 2.4 Manual 169


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 6
Source Modeling Setup |Porous Media Modeling

where ξi (i=1,2,3) represents the mutually orthogonal orthotropic directions, Ki is the


permeability, and ui is the superficial velocity of a fluid in direction ξi. The superficial
velocity at any cross section through the porous medium is defined as the volume flow rate
divided by the total cross-sectional area (i.e., the area occupied by both fluid and solid).
The permeability Ki is assumed to be a quasi-linear function of the superficial velocity
magnitude |vj |of the form

Ki   i v j   i , (6.12)

where αi and β i are user-supplied coefficients. The units of the permeability coefficient α
are kg/m4 and the units of β are kg/m3-s. Depending on the nature of the resistances,
permeability coefficients can be isotropic (i.e., uniform in all three directions) or orthotropic
(i.e., unique in each direction).

CONVERGE includes two options for determining the thermal conductivity of the porous
region. If you set ef f _conductivity_f lag = 0, CONVERGE will assume the thermal
conductivity of the porous region is equal to the thermal conductivity of the fluid in the
porous region. If you set ef f _conductivity_f lag = 1, CONVERGE will calculate the effective
thermal conductivity of the porous region as a function of the fluid and solid thermal
conductivities (Mazumder and Sengupta, 2002), as follows:

1
k  2 kS  ,
 1 (6.13)

2 kS  kF 3kS

in which ε and kS are user-supplied parameters (conductive_porosity and solid_conductivity


in source.in) and kF is the thermal conductivity of the fluid in the porous region.

Table 6.9 below describes the porous media source parameters.

Table 6.9: Porous media source parameters in source.in.


Parameter Description
source equation POROUS

alpha_coef f Permeability coefficient (kg/ m4 ) in the main flow direction (αi in Equation
6.12)

170 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 6
Source Modeling Setup |Porous Media Modeling

Parameter Description

alpha_cross_coef f Permeability coefficient (kg/ m4 ) in the cross-flow direction (αi in Equation


6.12).

beta_coef f Permeability coefficient (kg/ m3-s) in the main flow direction (β i in Equation
6.12).

beta_cross_coef f Permeability coefficient (kg/ m3-s) in the cross-flow direction (β i in Equation


6.12).

is_directional_f lag 0 = Isotropic (only alpha_coef f and beta_coef f are used for calculating
velocity),
1 = Orthrotropic (alpha_coef f , alpha_cross_coef f , beta_coef f , and
beta_cross_coef f are used for calculating velocity).

direction The i, j , k components of the direction vector of the main flow.

ef f _conductivity_f lag 0 = CONVERGE assumes the thermal conductivity of the porous region is
equal to the thermal conductivity of the fluid in the porous region,
1 = CONVERGE calculates the effective thermal conductivity of the porous
region via Equation 6.13.

conductive_porosity The porosity used to calculate effective thermal conductivity (used only
when ef f _conductivity_f lag = 1).

solid_conductivity The solid conductivity used to calculate effective thermal conductivity


(used only when ef f _conductivity_f lag = 1).

CONVERGE 2.4 Manual 171


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

7
Initialization and Regions
Chapter 7
Initialization and Regions |

7 Initialization and Regions


This chapter describes the different methods by which CONVERGE can initialize physical
variables (e.g., velocity, pressure, temperature, and species). This chapter also describes
regions, which are used by CONVERGE both to allow flexibility in initialization and to
connect or disconnect specific parts of the domain. The parameters discussed in this
chapter are located primarily in initialize.in, events.in, and map.in.

7.1 Initialization Methods


There are three ways to initialize values in CONVERGE:

1. Specify uniform values for the entire geometry, or specify different values for different
regions of the domain (assuming you have divided the domain into regions).
2. Map field values from a file, which allows each cell to be initialized individually.
3. Initialize the domain from the values of the field variables in a restart file.

The following subsections discuss each option in detail.


7.1.1 Initialization by initialize.in
The most common initialization method is simply to specify initial values for
thermodynamic quantities (e.g., pressure, temperature, etc.) for the entire domain or for
individual regions (if the domain has been divided into regions) via initialize.in. Two special
cases–configuration of solid regions and velocity initialization in an internal combustion
engine–are described below.

Configuration of Solid Regions


All solid regions must have solid_f lag = 1 in initialize.in. Figure 7.1 below contains an
example initialize.in file that specifies a single solid region.

#!csi_version=2.4
#=======================

1 num_regions

### Solid region###

1 region_id
1 stream_id
1 solid_flag
0.01 vel_init
413.0 temp_init
1.01e5 pres_init
0.5 tke_init
112.6372 eps_init
112.602 omega_init
1 num_species_init

174 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Initialization Methods

metal 1.0
0 num_passive_init

Figure 7.1: A sample initialize.in file that describes a single solid region.

If your simulation has one or more solid regions, you must define one or more species as
SOLID in species.in, as shown below in Figure 7.2.

#!csi_version=2.4
#=======================

SOLID
iron
Figure 7.2 : Sample species.in file that defines a SOLID species.

CONVERGE looks in solid.dat for properties of any species specified as SOLID in species.in.
An excerpt of a solid.dat file is shown below in Figure 7.3. The first uncommented row is
the name of the solid species (in this example, iron), and the next row is the melting point
of the solid (in K). The subsequent rows specify the temperature-specific density, specific
heat capacity and conductivity data, all in SI units.

! solid species name


! melting point (k)
! Temperature density specific heat condiuctivity
! k (N.s/m^2) (j/kg.k) (w/m.k)
iron
690.0
0.0000E+00 7.85E+003 5.61E+002 4.27E+001
1.0000E+01 7.85E+003 5.61E+002 4.27E+001
2.0000E+01 7.85E+003 5.61E+002 4.27E+001
.
.
Figure 7.3: An example solid.dat file.

Also note that only the Dirichlet (di) boundary condition is allowed for the WALL
boundaries that are associated with the SOLID regions (solid_f lag = 1).

Velocity Initialization in an IC Engine


When crank_f lag = 0 in inputs.in, the velocity is initialized to zero throughout the domain.
Note that a non-zero velocity field can be specified by mapping velocity from a file as
described in the Mapping section later in this chapter.

For engine cases, the engine parameters specified in engine.in are used to conveniently
initialize velocity in the cylinder. Except when configuring a multi-cylinder simulation
whose directions of piston motion vary, the cylinder axis must be aligned with the z axis
and there must be piston motion from BDC to TDC in the positive z direction for proper
velocity initialization. The w component of velocity (i.e., velocity in the z direction) is set to

CONVERGE 2.4 Manual 175


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Initialization Methods

the piston speed for all points on the piston face. The remaining cells in the cylinder are
given an initial w velocity consistent with a field whose velocity drops linearly from the
piston speed at the piston face to zero velocity at the head, as given by Equation 7.1:

 zhead  z 
w(z)  wpiston  , (7.1)
z z 
 head piston 

where zhead and zpiston are the z coordinates of the head and piston, respectively, and wpiston
is the speed of the piston.

The u and v components of velocity are set by the swirl_ratio and swirl_prof ile values in the
engine.in file. The swirl_ratio is the ratio of the angular speed of the flow, Ωf low, to the
angular speed of the crankshaft, Ωcrankshaf t, with the direction of swirl consistent with the
right-hand rule. In other words:

 f low
swirl _ ratio  . (7.2)
crankshaf t

The simplest approach to initializing swirl is to assume wheel flow. Assuming the cylinder
axis is aligned with the z axis (as it should be for all single-cylinder simulations), the u and
v components of velocity would be initialized as:

u   f low y v   f low x. (7.3)


and

The wheel-flow assumption is not usually realistic because the velocity should diminish
significantly near the cylinder wall. A Bessel function more accurately represents the
velocity profile in an engine (Amsden et al., 1989). The swirl_prof ile parameter in engine.in
is a dimensionless constant used in the Bessel function calculation. This parameter has a
minimum value of 0.0 for wheel flow and a maximum value of 3.83 for zero velocity at the
wall. A typical value for swirl_prof ile is 3.11.
7.1.2 Mapping
Mapping, i.e., specifying a file that contains three-dimensional location-specific values, is
another way to initialize the domain. The mapping options in CONVERGE are describe
below. For all of the mapping options, restart_f lag in inputs.in must be set to 0. If
restart_f lag = 1, CONVERGE will override the mapping option that you have selected in
favor of restarting the simulation.

176 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Initialization Methods

map_f lag = 1
For the first option, set map_f lag = 1 in inputs.in. CONVERGE allows you to initialize any
number of field variables as well as parcel data via mapping. In addition, CONVERGE
allows you to set up mapping on a region-by-region basis. This mapping option is useful if
you wish to begin a simulation with the output from a different CFD solver, experimental
data (e.g., LDV or PIV data), or spatially varying initial values that cannot be initialized
via initialize.in.

For this mapping option, you must include the map.in file, which describes what and
where to map, and at least one file that contains the data to be mapped (e.g., map.dat). The
variables that are not mapped from map.dat will be initialized by initialize.in. The regions
that are not listed in map.in will be initialized via initialize.in. Note that you must include a
value in initialize.in for each of the variables being mapped, although mapping will take
precedence over these initialize.in values (when map_f lag = 1) for the specified variables in
the specified regions.

All cells in the new grid are initialized with the value of the nearest point of the original
grid. When creating your own region-by-region mapping data files from other codes or
experimental data, you need to be aware of the locations of the points in the mapping data
file. The mapping algorithm interpolates from the nearest neighboring point, regardless of
whether or not that point lies within the same region that is mapped.

You cannot map density values from one grid to the other. Density is determined by the
temperature, pressure, and species mass fractions for compressible flow (i.e., from the
equation of state). For incompressible liquids, the density is determined by the species mass
fractions, i.e., density for incompressible liquids is only a function of the species that is
being transported.

map_f lag = 2
The second type of mapping is restart mapping. To activate this option, set map_f lag = 2 in
inputs.in. CONVERGE will select a restart file in the Case Directory to use as the mapping
data file. CONVERGE first looks for restart.rst. If that file is not present in the Case
Directory, CONVERGE will select the restart####.rst file with the highest number. For this
mapping option you do not need to include the map.in or map.dat files. This option may be
useful if, for example, the base grid size for a simulation was inappropriate (either too
coarse or too fine). You can initialize a new simulation with the data from the restart file
but select a more appropriate grid size.

map_f lag = 3
The third mapping option is restart mapping with transformation (scaling, rotation, etc.)
of the data. To activate this option, set map_f lag = 3 in inputs.in. You must include a map.in

CONVERGE 2.4 Manual 177


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Initialization Methods

file and for map_name in map.in you must specify a restart file. This restart file must be
saved in the Case Directory.

7.1.3 Restart
CONVERGE can restart a simulation from a restart file. This section describes how to
configure CONVERGE to write restart files and how to restart a case using a restart file.
The parameters for writing and restarting are located in inputs.in. Figure 7.4 shows an
excerpt of the restart-related parameters in inputs.in.
#!csi_version=2.4
#=======================

...
1 restart_flag
2 restart_number
...
# output control
5e-05 twrite_post
10.0 twrite_transfer
1e-10 twrite_files
1e-05 twrite_restart
5 num_restart_files
0 write_map_flag
...
Figure 7.4: Excerpt of inputs.in.

Writing Restart Files


CONVERGE writes restart<restart number>.rst files at a frequency specified by
twrite_restart in inputs.in. Another parameter, num_restart_f iles in inputs.in, indicates how
many of these files CONVERGE will store in the Case Directory. It may be useful to set this
parameter greater than one. For example, if CONVERGE writes a restart file after a
simulation has started to diverge, then you can go back to an earlier restart.

These restart files are named restart<restart number>.rst, and CONVERGE creates the
restart files in numerical order. For example, if num_restart_f iles = 3, the restart files found
in the Case Directory might be restart0021.rst, restart0022.rst, and restart0023.rst. After
CONVERGE has written num_restart_f iles restart files, it will remove the lowest numbered
restart file when it writes another restart file. If CONVERGE writes 9,999 restart files, the
next file will be restart0001.rst.

In addition to these restart files, CONVERGE provides the option to save other restart files,
written at specified times, to the Case Directory. These additional files are named
according to the times at which they are written: restart_<simulation time or CAD>.rst.
These additional restart files do not count toward the user-specified number of restart files
to be saved (given by num_restart_f iles), and they will not be overwritten or deleted by
CONVERGE.

178 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Initialization Methods

All of the restart files are in binary format, except for the first line, which is in ASCII
format. The first line contains the simulation time of the restart file (in seconds if crank_f lag
= 0 or in crank angle degrees if crank_f lag = 1 or 2), the value of grid_scale, the cycle number,
and the version number of CONVERGE. To determine the simulation restart time, use one
of the following commands (replace restart0001.rst with the relevant file name) to display
the first row.

Linux: % head -1 restart0001.rst


Windows: set /p first=<restart0001.rst && echo %first%

Restarting From a Restart File


When restarting a simulation, set restart_f lag = 1 in inputs.in and copy the desired restart
file to restart.rst. If you do not copy a file to restart.rst, CONVERGE will use the highest-
numbered restart<restart number>.rst file in the Case Directory.

Upon completion of a restarted simulation, CONVERGE creates a new set of domain- and
region-averaged output files (*.out, *_region#.out). Rather than overwriting the *.out files
created in the original run, the new *.out files will have a number (restart_number in
inputs.in) appended to the name. For example, if restart_number = 2, CONVERGE will
write thermo2.out instead of thermo.out. This process allows you to save output files from a
simulation and subsequent restart(s) in the same directory.

If you edit the post.in file and then restart a simulation, CONVERGE will create a new
output directory, output<restart_number>, to store the post* output files. For example, if
restart_number = 3 and if you edit the post.in file and then restart the simulation,
CONVERGE will write the new post* files to the output3 directory.

When restarting a CONVERGE simulation, the restarted results may not match exactly the
results from a case without a restart. Some of the physical models incorporate random
number elements that are not replicated in a restart case. These variations will be
consistent with using a different random number seed for the same set of inputs. Also,
CONVERGE recreates the AMR embedding at the beginning of a restart. To ensure that
the new AMR embedding matches exactly the AMR embedding from before the restart,
CONVERGE saves the AMR embedding information to the restart file.

Table 7.1 summarizes the restart-related parameters.

Table 7.1: Restart-related parameters in inputs.in.


Parameter Description

restart_f lag 0 = Do not start from a restart file,


1 = Start from a restart file.

CONVERGE 2.4 Manual 179


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Initialization Methods

Parameter Description

restart_number Number that is added to .out files to prevent overwriting the existing
*.out files (e.g., CONVERGE will write thermo2.out instead of thermo.out).

num_restart_f iles Number of restart files to be stored. Once this number of restart files has
been written, CONVERGE will remove the oldest restart file before
writing a new restart file.

twrite_restart How often (in seconds or crank angle degrees) to write restart files.

7.2 Regions
In CONVERGE, a boundary is a collection of surface triangles. A region is a collection of
one or more boundaries. (We recommend using CONVERGE Studio to assign surface
triangles to boundaries and boundaries to regions.) CONVERGE uses regions to initialize
variables (temperature, pressure, turbulent kinetic energy, turbulent dissipation, species,
and passives), control the flow between portions of the geometry, and report simulation
results.

Note that the concept of regions in CONVERGE is slightly different than in other CFD
solvers. In other CFD codes, you must manually create a grid and assign each cell in the
grid to a region before running a simulation. When you create a grid in other CFD codes,
you must shape the cells so that the cell faces align perfectly with the region boundaries.
The region assignment process in CONVERGE is much simpler because CONVERGE
automatically creates the grid (and controls the location and orientation of each cell in the
grid) at runtime.

It is important to remember that CONVERGE requires each boundary to be assigned to a


single region. If you have a portion of the geometry with one set of boundary conditions
but you wish to assign half of that geometry to one region and half to another region, you
must create two boundaries (with identical boundary conditions). Then you can assign one
boundary to each region.

Figure 7.5 below shows an excerpt of a boundary.in file. In this excerpt, which defines a
single boundary, the last row assigns this boundary to Region 2. Each boundary definition
section of boundary.in assigns that boundary to a region. Based on the region assignment of
each boundary, CONVERGE determines where in the interior of the domain to draw
dividing lines for each region.

1
WALL ST
roughness 0.0 0.0
velocity di 0.0 0.0 0.0
pressure ne 0.0
temperature ne 0.0

180 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Regions

species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 2
Figure 7.5: Excerpt of a boundary.in file. The last line assigns this boundary to Region 2.

7.2.1 Undefined/Dependent Region


In a typical simulation, each boundary needs to be assigned to a region. For CONVERGE
simulations that use the sealing feature (e.g., 2-stroke or Wankel engines), however, some
boundaries should not be associated with any single region. Instead CONVERGE will
dynamically vary the region association of these boundaries.

In previous versions of CONVERGE, boundaries not associated with a specific region were
assigned a region value of -1 in boundary.in. Now CONVERGE uses the dependent keyword
to denote a boundary that is not assigned to a specific region.

Figure 7.6 below shows a Wankel engine and identifies the boundaries that are not
assigned to a specific region. Figure 7.7 shows an excerpt of the boundary.in file for this
engine. You can see that the boundaries not assigned to a specific region have a region
keyword of dependent.

Figure 7.6: Sample Wankel engine geometry. The boundaries noted are dependent region boundaries.

CONVERGE 2.4 Manual 181


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Regions

#!csi_version=2.4
#=======================

-
-
#-----------------------------------------------
2 rotor side 2
WALL MOVING AR
roughness 0.0 0.5
velocity la moving_wankel.in
pressure ne 0.0
temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 2
#-----------------------------------------------
3 rotor side 3
WALL MOVING AR
roughness 0.0 0.5
velocity la moving_wankel.in
pressure ne 0.0
temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 3
#-----------------------------------------------
4 rotor top
WALL MOVING AR
roughness 0.0 0.5
velocity la moving_wankel.in
pressure ne 0.0
temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region dependent
#-----------------------------------------------
5 rotor bottom
WALL MOVING AR
roughness 0.0 0.5
velocity la moving_wankel.in
pressure ne 0.0
temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region dependent
#-----------------------------------------------
6 housing sides
WALL FIXED ST
roughness 0.0 0.5
velocity la 0.0 0.0 0.0
pressure ne 0.0

182 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Regions

temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region dependent
#-----------------------------------------------
7 housing top
WALL FIXED ST
roughness 0.0 0.5
velocity la 0.0 0.0 0.0
pressure ne 0.0
temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region dependent
#-----------------------------------------------
8 housing bottom
WALL FIXED ST
roughness 0.0 0.5
velocity la 0.0 0.0 0.0
pressure ne 0.0
temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region dependent
#-----------------------------------------------
9 exhaust port
WALL FIXED ST
roughness 0.0 0.5
velocity la 0.0 0.0 0.0
pressure ne 0.0
temperature la 400.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 6
#-----------------------------------------------
10 exhaust outlet
OUTFLOW
velocity ne 0.0 0.0 0.0
pressure di 108800.0 0.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps ne 0.0
temperature backflow di 925.0
species backflow di 4
O2 0.082
N2 0.736
CO2 0.125
H2O 0.057
passive backflow di 0

CONVERGE 2.4 Manual 183


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Regions

tke backflow in 0.02


eps backflow le 0.003
region 6
-
-
Figure 7.7: Excerpt of a boundary.in file for the Wankel engine shown above. Note that Boundaries 4, 5,
6, 7, and 8 are dependent region boundaries.

7.2.2 Region Connection/Disconnection


At no time during a simulation are the surface triangles allowed to intersect each other.
For example, in an engine, there must always be a minimum lift between a valve and the
corresponding valve seat. Because of this restriction, you cannot cut off the flow between
regions by having one surface come in contact with another. Instead CONVERGE create
disconnect triangles to close the gaps (and thus cut off the flow) between regions. This
section describes the different types of disconnect triangles that CONVERGE creates. The
following section describes how to activate or deactivate the disconnect triangles to control
the flow between regions.

Consider a shock tube as an example. Figures 7.8 and 7.9 below show the geometry, which
is separated into two regions: the red region has a low initial pressure and the blue regions
has a high initial pressure. (The boundaries for this geometry are not shown, but in this
case the red region consists of one or more boundaries and the blue region consists of one
or more (different) boundaries.)

Figure 7.8: Shock tube geometry. The red region has a low initial pressure. The blue region has a
high initial pressure.

184 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Regions

Figure 7.9: Clip plane of the shock tube. From this view you can see that there are no triangles
between the two regions in the triangulated surface.

At the start of a simulation, CONVERGE identifies continuous loops of edges that form
boundaries between regions. For example, to delineate the red and blue regions
CONVERGE identifies the orange loop shown below Figure 7.10.

Figure 7.10: The edges highlighted in orange mark the border between the red and blue regions.

At the beginning of the simulation, CONVERGE will activate disconnect triangles to patch
the orange loop, as shown below in Figure 7.11. When active, these disconnect triangles
prohibit flow between the two regions. Throughout the simulation CONVERGE will
activate or deactivate the disconnect triangles to control the flow between these two
regions. Note that the disconnect triangles are strictly for numerical purposes and they are
not actually a part of the surface geometry.

CONVERGE 2.4 Manual 185


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Regions

Figure 7.11: Clip plane of the shock tube and green disconnect triangles. Note that these triangles are
not part of the surface geometry and will not appear in CONVERGE Studio.

In this shock tube example, CONVERGE creates disconnect triangles within the circular
loop that delineates the two regions. CONVERGE can properly triangulate any planar
loop, even non-convex or ring-shaped loops. CONVERGE can triangulate most non-planar
loops, but success is not guaranteed.

This example illustrates an important point: the surface must be triangulated such that
each boundary (collection of triangles) can be assigned to a single region. In the case of the
shock tube, the same geometry could have been represented as shown below in Figure
7.12. However, it would be impossible to flag separate boundaries, and thus separate
regions, for the left and right sides of the cylinder.

Figure 7.12: The same shock tube geometry but with a surface triangulation that does not allow for
separation into two boundaries (and thus two regions).

The type of disconnection illustrated with the shock tube is called a single loop
disconnection. A second common type of disconnection is a concentric circle
disconnection. For example, in the poppet valves in an engine, there is a concentric circle
disconnection between the valve (a circular loop) and the valve seat (another circular
loop). Figure 7.13 below shows a cross section of a valve and a valve seat in an engine. In
this example, the purple lines represent boundaries assigned to Region 1, while the red
lines represent boundaries assigned to Region 2.

186 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Regions

Figure 7.13: Two-dimensional cross section of a valve and a valve seat.

At the start of the simulation, CONVERGE will detect two circular loops where Regions 1
and 2 meet: one loop around the base of the valve (point A in Figure 7.13) and one loop
around the base of the valve seat (point B). Because there are two loops, CONVERGE will
create a ring of disconnect triangles between the two loops (i.e., between the valve and the
valve seat). You can activate or deactivate these disconnect triangles to control the flow
between regions. Note that in this valve example, the top and bottom of the valve must be
assigned to different boundaries (even if identical boundary conditions will be assigned to
the top and bottom of the valve) so that they can be assigned to different regions.
7.2.3 Events
CONVERGE uses events to active or deactivate the disconnect triangles, which control
when and where flow between regions is allowed. An OPEN event deactivates the
disconnect triangles and thus allow flow between the specified regions. A CLOSE event
activates the disconnect triangles and thus prohibits flow between the specified regions.
When disconnect triangles are activated, they act as a SYMMETRY boundary condition.
You do not need to specify OPEN or CLOSE events for a FLOW_THROUGH boundary
type, because they are always open.

If a case includes at least two adjacent fluid regions, you must set events_f lag = 1 in
inputs.in and include an events.in file in the Case Directory. The events.in file must contain
at least one event for each pair of adjacent regions. If there is a time period for which
events.in does not contain an event for a pair of adjacent fluid regions, CONVERGE
prohibits flow between those regions.

Figure 7.14 below shows an example events.in file. The first line must be CYCLIC,
SEQUENTIAL, PERMANENT, or NO_DIS_TRIANGLES. If CYCLIC, it must be followed by
the period of the cycle. Each subsequent row describes a single event. (Remember that you
must include at least one event for each pair of adjacent fluid regions.) For CYCLIC or

CONVERGE 2.4 Manual 187


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Regions

SEQUENTIAL, list the two region IDs, the event (OPEN or CLOSE), and the time (in
seconds if crank_f lag = 0 or in crank angle degrees if crank_f lag = 1 or 2). For PERMANENT,
list the two regions IDs and the event. After NO_DIS_TRIANGLES, list the number of
events. On the following lines, enter the region ID followed by the keyword region_id.
CONVERGE does not create disconnect triangles between each listed region and the
dependent region for the duration of the simulation. Use this event type in conjunction with
the sealing feature.

#!csi_version=2.4
#=======================

CYCLIC 720.0
0 1 OPEN  -363.0
0 1 CLOSE  -121.0
0 2 OPEN -566.0
0 2 CLOSE  -315.0
Figure 7.14: An example events.in file.

The region IDs can be specified in either order, and the events do not need to be specified
in chronological order.

Initialization of Events
If SEQUENTIAL, you must specify an event at the start_time specified in inputs.in. If
CYCLIC, at the beginning of the simulation CONVERGE disconnects all adjacent regions
and then processes the events for one full cycle and then up until the simulation start time.
This action is necessary because, in a CYCLIC case, the initial region connection status
depends on the region connection status at the end of the previous cycle.

CONVERGE does not alter the time-step to make an event coincide with the start of a
time-step. Instead, at the end of each time-step, CONVERGE executes any events that
occurred during that time-step (i.e., the actual event will occur at the end of the time-step
in which that event is specified to occur). Following an event, the time-step will be reduced
by a factor of ten to more accurately simulate the shock introduced in the domain by
closing off or connecting regions.

Automatic Valve Events


For engine cases involving valves, CONVERGE can automatically create OPEN and
CLOSE events based on specified valve lift profiles. To implement this option, use the
keyword VALVE in place of both the OPEN and CLOSE events and specify the name of
the valve lift profile in quotes after the VALVE keyword. Figure 7.15 below shows an
example events.in file with automatic valve events. This file will use the intake_lif t.in file to
determine the OPEN and CLOSE events between Region 0 (the cylinder) and Region 1 (the
intake ports). It will use the exhaust_lif t.in file to create the OPEN and CLOSE events
between Region 0 and Region 2 (the exhaust ports).

188 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Regions

#!csi_version=2.4
#=======================

CYCLIC 720
0 1 VALVE "intake_lift.in"
0 2 VALVE "exhaust_lift.in"
Figure 7.15: Sample events.in file with automatic valve events.

Refer to the Chapter 20 - Internal Combustion Engine Applications for more information
about valve minimum lift and valve lift profiles.

Contact Resistance Events


For contact resistance modeling, you can use the keyword CONTACT_RESIST instead of
the second region ID. For contact resistance OPEN and CLOSE events (i.e., CONVERGE
allows or prohibits flow through the contact resistance region), you must specify the region
ID of the contact resistance region, the appropriate keyword (OPEN or CLOSE), and the
start time of the event. For VALVE events, you must specify the region ID of the contact
resistance region as described previously and the keyword VALVE. Figure 7.16 below
shows an example events.in file with all three types of contact resistance events.

#!csi_version=2.4
#=======================

CYCLIC 720.0
0 CONTACT_RESIST OPEN -410.7
0 CONTACT_RESIST CLOSE -100.5
1 CONTACT_RESIST VALVE
Figure 7.16: Sample events.in file with contact resistance events.

Moving Triangles
It is important to note that disconnect triangles cannot be activated when the triangles to
which the disconnect triangles are attached are moving. For example, in the case of a valve
and valve seat, the valve must not be moving when the regions above and below the valve
are disconnected. CONVERGE checks all events at the start of the simulation to ensure
that no disconnect triangles are activated (i.e., no CLOSE events are scheduled) while any
portions of the relevant regions are moving.
7.2.4 Region-Specific Output
CONVERGE generates output files containing averages (or sums) of results for the entire
domain and each region. Output file names for the entire domain are formatted as <f ile
name><restart_number>.out. Output file names for a region are formatted as <f ile
name><restart_number>_region<region number>.out.

CONVERGE 2.4 Manual 189


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 7
Initialization and Regions |Regions

If the simulation is not started from a restart, the restart number is not included in the
output file name. For example, for a two-region case with no restart, CONVERGE writes
three thermodynamic output files:
a
thermo.out (thermodynamic output for the entire domain)
thermo_region0.out (thermodynamic output for region 0)
thermo_region1.out (thermodynamic output for region 1).

For the same case started from a restart file with a restart number of 1 (restart_number
specified in inputs.in), CONVERGE writes the three thermodynamic output files:

thermo1.out (thermodynamic output for the entire domain and restart number 1)
thermo1_region0.out (thermodynamic output for region 0 and restart number 1)
thermo1_region1.out (thermodynamic output for region 0 and restart number 1).

CONVERGE constructs all output file names in this manner.

190 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

8
Boundary Conditions
Chapter 8
Boundary Conditions |

8 Boundary Conditions
This chapter describes boundary-related parameters in CONVERGE. CONVERGE requires
you to assign each boundary to one of the boundary types: INFLOW, OUTFLOW, WALL,
PERIODIC, SYMMETRY, TWO_D, INTERFACE, or GT-SUITE. You must also set a
boundary condition for each partial differential conservation equation at each boundary.
Boundary conditions can be Dirichlet (i.e., specified value), given by

f, (8.1)

or Neumann (i.e., specified value of the first-derivative), given by


 f , (8.2)
x

where f is a solved quantity (e.g., pressure, energy, velocity, or species) and f is the
specified value or specified derivative on the boundary. In CONVERGE, f is generally set to
zero. Note that in some cases, you can specify other boundary conditions (e.g., slip or law-
of-the-wall), but each of these boundary conditions is a special case of a Dirichlet or
Neumann boundary condition.

CONVERGE reads boundary-related information from the boundary.in file.

8.1 INFLOW and OUTFLOW Boundaries


This section describes INFLOW and OUTFLOW boundaries and how to configure
boundary conditions for them. INFLOW and OUTFLOW boundaries are similar, but there
are some boundary conditions and options available only for INFLOW or OUTFLOW
boundaries. At OUTFLOW boundaries, you must also set boundary conditions for
backflow (i.e., flow into the domain).

Table 8.1 lists the options for boundary conditions at INFLOW and OUTFLOW
boundaries.

Table 8.1: Boundary conditions for INFLOW and OUTFLOW boundaries.


Parameter Boundary Conditions
Velocity Dirichlet (Dirichlet), Mass Flow (Mass_Flow), Average Velocity
(Average_Velocity), Neumann (Neumann), Normal Neumann
(Normal_Neumann), Pump (Pump)
Pressure Dirichlet, Neumann, Transonic (Transonic)

192 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

Parameter Boundary Conditions

Temperature Dirichlet, Neumann


Species Dirichlet, Neumann
Passive Dirichlet, Neumann
Turbulent kinetic Dirichlet, Neumann, Intensity (Intensity)
energy
Turbulent dissipation Dirichlet, Neumann, Length Scale (Length_Scale)

Specific dissipation rate Dirichlet, Neumann, Length Scale

Certain combinations of boundary conditions may not be stable and should be avoided.
For example, an INFLOW Neumann pressure boundary condition and an OUTFLOW
Neumann pressure boundary condition may result in the drifting of the mean domain
pressure. CONVERGE will warn of potential instabilities at runtime.

Figure 8.1 is an excerpt of a boundary.in file that shows the configuration of an INFLOW
boundary and an OUTFLOW boundary.

CONVERGE 2.4 Manual 193


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

5
INFLOW
velocity Dirichlet 0.0 0.0 10.0
pressure Neumann 0.0
temperature Dirichlet 300.0
species Dirichlet 2
n2 0.77
o2 0.23
passive Dirichlet 1
soot 0.001
tke Intensity 0.01
eps Length_Scale 0.013
region 0

6
OUTFLOW
velocity Mass_Flow 10.0
pressure Neumann 0.0
temperature Neumann 0.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Neumann 0.0
temperature backflow Dirichlet 400.0
species backflow Dirichlet 2
n2 0.77
o2 0.23
passive backflow Dirichlet 0.0
tke backflow Dirichlet 10.0
eps backflow Dirichlet 10000.0
region 0
Figure 8.1: Configuration of INFLOW and OUTFLOW boundaries in boundary.in.

8.1.1 Velocity Boundary Conditions


Dirichlet, mass flow, average velocity, and Neumann velocity boundary conditions are
available to solve the momentum equation at INFLOW and OUTFLOW boundaries. Two
additional boundary conditions—Normal Neumann and pump—are available for
INFLOW boundaries. The fluctuating INFLOW option, which superimposes fluctuations
on the INFLOW velocity profile, is available for all boundary conditions.

Some velocity and pressure boundary condition combinations are not allowed in
CONVERGE. If the boundary conditions you specify are not allowed, CONVERGE will not
run.

Dirichlet
To set up a constant Dirichlet velocity boundary condition, enter the keyword Dirichlet
followed by the three components of the velocity (in m/s) at the boundary. To set up a
spatially and/or temporally varying Dirichlet velocity boundary condition via a file, enter
the keyword Dirichlet followed by the file name (e.g., velocity.in) in quotation marks. To set

194 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

up a non-constant Dirichlet velocity boundary condition via UDF (user_bc.c), enter the
keyword Dirichlet followed by the keyword user.

Note that you can set both the INFLOW and OUTFLOW velocity boundary conditions to
Dirichlet only when the flow is supersonic.

Mass Flow
The mass flow velocity boundary condition is a special case of the Dirichlet velocity
boundary condition. For a mass flow boundary condition, the velocity at the boundary is
calculated from

mass _ f low
ui  ni , (8.3)
 ave A

where mass_f low is the mass flow into or out of the boundary, ρ ave is the average density at
the boundary, A is the total area of the INFLOW or OUTFLOW boundary, and ni is the
velocity normal. By default, CONVERGE uses the outward pointing surface normal as the
velocity normal. For an INFLOW boundary, a positive mass_f low indicates flow into the
domain and a negative mass_f low indicates flow out of the domain. For an OUTFLOW
boundary, a positive mass_f low indicates flow out of the domain and a negative mass_f low
indicates flow into the domain. At an OUTFLOW boundary, CONVERGE uniformly scales
the velocities interior to the domain to achieve a fully developed velocity profile.

For a steady-state simulation, CONVERGE updates the OUTFLOW pressure via a two-step
process, first calculating the pressure differential via the Bernoulli equation

 avg
p  AVcalc  AVspec  (8.4)
2 ,

where AVcalc is the calculated average velocity and AVspec is the target average velocity
(calculated via the specified mass flow rate).

CONVERGE then updates the OUTFLOW pressure as

pnew  pold  p , (8.5)

where a is an under-relaxation factor.

CONVERGE 2.4 Manual 195


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

Note that if reverse flow occurs through an OUTFLOW boundary with a mass flow
boundary condition, CONVERGE sets the reverse flow value to zero (i.e., no backflow can
occur).

To set up a constant mass flow velocity boundary condition, enter the keyword Mass_Flow
followed by the mass flow (in kg/s). To set up a spatially and/or temporally varying mass
flow velocity boundary condition via a file, enter the keyword Mass_Flow followed by the
file name in quotation marks. To set up a non-constant mass flow velocity boundary
condition via UDF (user_bc.c), enter the keyword Mass_Flow followed by the keyword user.

For an INFLOW boundary with the mass flow velocity condition, you may optionally
specify a velocity direction vector. CONVERGE will first calculate the velocity normal to
the boundary necessary to satisfy the specified mass flow rate. It will then calculate the
velocity tangential to the boundary necessary to satisfy the velocity direction you have
specified. You do not need to normalize this direction vector. To specify a velocity vector
for an INFLOW boundary with a mass flow velocity condition in a 3D simulation, provide
the x, y, and z components of the vector after the mass inflow rate. In a 2D simulation,
provide the x and y components, followed by a zero.

The velocity direction vector feature is not available for an OUTFLOW boundary with the
mass flow velocity condition.

Average Velocity
For the average velocity boundary condition, CONVERGE assumes the average velocity is
a scalar normal to the INFLOW or OUTFLOW boundary. The average velocity follows the
same sign convention as mass_f low. CONVERGE scales the velocities at the cell centers
adjacent to the boundary to produce a fully developed profile so that the average velocity
at the boundary is equal to the specified average velocity.

Note that if reverse flow occurs through an OUTFLOW with an average velocity boundary
condition, CONVERGE sets the reverse flow value to zero (i.e., no backflow can occur).

To set up a constant average velocity boundary condition, enter the keyword


Average_Velocity followed by the average velocity (in m/s). To set up a spatially and/or
temporally varying average velocity boundary condition via a file, enter the keyword
Dirichlet followed by the file name in quotation marks.

Neumann
To set up a zero-gradient Neumann velocity boundary condition, enter the keyword
Neumann followed by a value of 0.0 for each velocity component (i.e., 0.0 0.0 0.0).

196 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

Note that if you set a Neumann velocity boundary condition and a Dirichlet pressure
boundary condition, CONVERGE will adjust the magnitude and direction of the velocity
based on the pressure gradient in the vicinity.

Normal Neumann
The Normal Neumann velocity boundary condition constrains the direction of the velocity
to the normal of the INFLOW boundary. This boundary condition is allowed only for
INFLOW boundaries set up with a Dirichlet pressure boundary condition. The Normal
Neumann boundary condition is not available for OUTFLOW boundaries.

To set up a Normal Neumann boundary condition, enter the keyword Normal_Neumann


followed by a value of 0.0 for each velocity component (i.e., 0.0 0.0 0.0).

Pump
For this boundary condition, which is available for INFLOW boundaries only, CONVERGE
reads a file that specifies the mass flows (in kg/s) corresponding to different pressures (in
Pa).

To set up a pump velocity boundary condition, enter the keyword Pump followed by a file
name (e.g., pump_massf low.in) in quotation marks. An example input file for the pump
boundary condition is shown in Figure 8.2.

temporal
sequential
pressure pump_massflow
92220.0 0.11986
92726.0 0.11317
93480.0 0.103326
94830.0 0.08555
96490.0 0.06357
98771.0 0.033416
100403.0 0.011857
101300.0 0.0
Figure 8.2: Example of a file (e.g., pump_massf low.in) for a pump mass flow boundary condition for an
INFLOW boundary.

Fluctuating INFLOW Boundary Option


The fluctuating INFLOW boundary option uses the concept of digital filtering to generate
turbulent fluctuations, which are then superimposed on the INFLOW velocity profile.
These fluctuations are created using a two-point correlation function as described by Klein
rm  0 rm rm  1
et al. (2003). Starting from a white noise signal rm such that and , a filtered
signal is given by

CONVERGE 2.4 Manual 197


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

N
um   bn rm n ,  (8.6)
n  N

where bn are the one-dimensional filter coefficients and N is connected to the support of
rm rn  0
the filter. The autocorrelation function for white noise is for m ≠ n, so

umum k
 bj bj k
j  N  k
 N (8.7)
umum
b 2
j
j  N

gives the autocorrelation function for the filtered signal in terms of the one-dimensional
filter coefficients. Three-dimensional filter coefficients bij k are obtained by convoluting three
one-dimensional filters such that bij k = bi•bj •bk.

For a turbulent signal,

lim Ruu (L )  0, (8.8)


L 

where Ruu is the autocorrelation function and L is the user-specified length scale. The
autocorrelation function for late stage homogenous turbulence takes the form

  r2 
Ruu (r,0,0)  exp   2  , (8.9)
 4L 

L  L (t)  2 (t  t0 )
where . For late stage homogeneous turbulent cases, assuming the
velocity of one eddy is not correlated to the velocity of any other eddy, L approximately
corresponds to the size of a turbulent eddy. Small values for L result in small, high-
frequency eddies. Larger values for L lead to larger, lower-frequency eddies.

To activate the fluctuating INFLOW boundary option, do not enter the boundary type
INFLOW. Instead, enter the keyword inf low_f luctuating followed by the fluctuation
intensity and fluctuation length scale (in m). The fluctuation intensity, which determines
the magnitude of the fluctuations scaled by the velocity, is a dimensionless parameter and
can take values between 0 and 1. Physically realistic values range from 0.02 to 0.1.

198 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

Figure 8.3 shows an excerpt of a boundary.in file with the fluctuating INFLOW option
activated.

#!csi_version=2.4
#=======================
#-----------------------------------------------
inflow_fluctuating 0.07 0.1
velocity Dirichlet 15.0 0.0 0.0
pressure Neumann 0.0
temperature Dirichlet 300.0
species Dirichlet 2
O2 0.23
N2 0.77
passive Dirichlet 0
tke Intensity 0.02
eps Length_scale 0.003
omega Length_scale 0.003
region 0
Figure 8.3: Excerpt of boundary.in that includes the fluctuating INFLOW boundary option.

8.1.2 Pressure Boundary Conditions


Dirichlet and Neumann boundary conditions are available to solve the pressure equation
at INFLOW and OUTFLOW boundaries. An additional boundary condition—transonic—
is available for OUTFLOW boundaries.

Dirichlet
To set up a constant Dirichlet pressure boundary condition, enter the keyword Dirichlet
followed by the pressure (in Pa) at the boundary. To set up a spatially and/or temporally
varying pressure Dirichlet boundary condition via a file, enter the keyword Dirichlet
followed by the file name in quotation marks.

You can specify a static or a total (stagnation) pressure. To specify a total pressure, place
square brackets around the pressure value. For spatially and/or temporally varying
pressure boundary conditions, place a set of square brackets around the file name in
quotation marks (e.g., ["pressure.in"]). You can instead use a CONVERGE UDF to set up a
non-constant Dirichlet pressure boundary condition. To set up this boundary condition via
UDF (user_bc.c), enter the keyword Dirichlet followed by the keyword user. You can use
the UDF pressure boundary condition for inflow or outflow.

If you specify a total pressure, CONVERGE calculates the corresponding static pressure to
set as the boundary condition. For incompressible flows, the static pressure is given by

 ui2
Pstatic  Ptotal  (8.10)
2 .

CONVERGE 2.4 Manual 199


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

For compressible flows, the relationship between the total and static pressures is



   1 ui2   1
Pstatic  Ptotal  1.0   , (8.11)
 2  RT 

where γ is the ratio of specific heats and R is the gas constant.

For subsonic INFLOW boundaries with the Dirichlet pressure boundary condition, we
recommend specifying total pressure and setting a Neumann velocity boundary condition.
For supersonic INFLOW boundaries, we recommend specifying a static Dirichlet pressure
boundary condition and setting a Dirichlet velocity boundary condition.

For subsonic OUTFLOW boundaries with the Dirichlet pressure boundary condition,
transient pressure waves will reflect back into the domain if there is a pressure mismatch
between the cell and the boundary. Depending on your simulation, these may or may not
represent real flow physics. If your OUTFLOW boundary represents a downstream
plenum (e.g., an exhaust manifold), reflected pressure waves are physically appropriate,
although they will be phase-shifted depending on the location of the boundary. If your
OUTFLOW boundary represents free space (e.g., downwind of an airfoil), reflected
pressure waves may not represent the appropriate flow physics. CONVERGE offers two
methods to dissipate these reflected pressure waves.

For OUTFLOW boundaries with the Dirichlet pressure boundary condition, you can
specify the weighting factor presdist. This must be a positive real value. Specifying presdist
dampens reflecting pressure waves in the domain and can improve convergence rates for
steady-state simulations. If you provide presdist, CONVERGE interpolates out of the
domain to get the static pressure at the OUTFLOW boundary as

Pbound  presdist * Pf luid


Pstatic  (8.12)
1  presdist
,

where Pbound is the Dirichlet boundary condition set in boundary.in file and Pf luid is the
boundary cell pressure. This interpolation is normal to the outflow boundary. Numerically,
specifying presdist is equivalent to setting a hybrid Dirichlet/Neumann boundary
condition at the OUTFLOW boundary. To specify presdist, enter its value after the pressure
in boundary.in. Grid embedding, grid scaling, and AMR have no effect on the behavior of
presdist.

200 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

We recommend specifying presdist only if your solution is being polluted by unrealistic


reflected pressure waves. We do not recommend it for general use. Contact the
Applications team for assistance if you seek further guidance on the use of this feature.

Alternately, you may specify a sponge layer for Dirichlet pressure boundary conditions at
OUTFLOW boundaries. The sponge layer, which is based on the formulation of Bodony
(2006), is a zone adjacent to an OUTFLOW boundary with a length that you specify.
Within this zone, CONVERGE attempts to detect and damp pressure waves.

To activate the sponge layer for an OUTFLOW, enter the keyword SPONGE after the
pressure value for a Dirichlet pressure boundary condition in boundary.in. On the same
line, specify the x, y, and z coordinates of the center of the sponge layer. This point must
be in the plane of the OUTFLOW boundary. Then, specify the x, y, and z coordinates of a
direction vector that is orthogonal to the OUTFLOW plane and points into the domain
from the center that you previously specified. Finally, enter a distance (in m). CONVERGE
creates a box-shaped sponge layer from the center point in the direction you specified with
thickness equal to the distance value. Figure 8.4 shows a sample sponge layer
configuration.

7 Exhaust outflow
OUTFLOW
velocity Neumann 0.0 0.0 0.0
pressure Dirichlet 101325 SPONGE -0.1258 -0.0066 0.03813 1.0 0.0 0.0 0.03
Figure 8.4: Example of a sponge layer at an OUTFLOW boundary.

We recommend using a sponge layer only if your solution is being polluted by unrealistic
reflected pressure waves. We do not recommend it for general use. Contact the
Applications team for assistance if you seek further guidance on the use of this feature.

Neumann
To set up a zero-gradient Neumann pressure boundary condition, enter the keyword
Neumann followed by 0.0. For subsonic INFLOW boundaries with the Neumann pressure
boundary condition, we recommend a Dirichlet velocity boundary condition.

To set up a non-zero-gradient Neumann pressure boundary condition, enter the keyword


Neumann followed by the value of the pressure gradient. This option is available for
INFLOW but not OUTFLOW boundaries. By convention, a positive value of the pressure
gradient corresponds to pressure decreasing from the boundary into the domain.

Transonic
The transonic pressure boundary condition is suitable for cases in which the flow
accelerates from subsonic to supersonic at the outlet. The transonic pressure boundary

CONVERGE 2.4 Manual 201


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

condition is a weighted average of the Dirichlet and Neumann pressure boundary


conditions. You can specify the minimum and maximum Mach numbers (Mmin and Mmax in
Equation 8.13 below) between which the flow is considered transonic. Equation 8.13
describes the different formulations for pressure in each regime:

 pstatic M  M min

 M  M   M 
pbound   max  pstatic    pnode M min  M  M max , (8.13)
 M max   M max 
 pnode M  M max

where p static is the calculated Dirichlet pressure and p node is the static pressure at the cell
center of a cell adjacent to the OUTFLOW boundary. CONVERGE calculates p static as
follows:

 1   x 
pstatic    pspecif ied    pnode , (8.14)
 1 x   1 x 

where p specif ied is the static pressure that you enter and x is the distance to the ambient
pressure.

To set up a transonic pressure boundary condition, enter the keyword Transonic followed
by the static pressure (in Pa), the distance to ambient pressure (in m), the minimum Mach
number, and the maximum Mach number. If you do not specify a minimum and
maximum Mach number, CONVERGE will use 0.9 and 1.1, respectively.

202 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

8.1.3 Temperature Boundary Conditions


Dirichlet and Neumann temperature boundary conditions are available to solve the energy
equation at INFLOW and OUTFLOW boundaries. We recommend Dirichlet for INFLOW
boundaries and Neumann for OUTFLOW boundaries.

For OUTFLOW boundaries, CONVERGE Studio allows only a Neumann temperature


boundary condition. CONVERGE, however, will run with a Dirichlet temperature
boundary condition.

For OUTFLOW boundaries, you must also specify a backflow temperature boundary
condition.

Dirichlet
To set up a constant Dirichlet temperature boundary condition, enter the keyword
Dirichlet followed by the temperature (in K) at the boundary. To set up a spatially and/or
temporally varying Dirichlet temperature boundary condition via a file, enter the keyword
Dirichlet followed by the file name in quotation marks. To set up a non-constant Dirichlet
temperature boundary condition via UDF (user_bc.c), enter the keyword Dirichlet followed
by the keyword user.

If you specify a total pressure for the pressure boundary condition, CONVERGE will
assume the specified temperature is the total temperature and calculate the static
temperature as

1
   1 ui2 
Tstatic  Ttotal  1.0   , (8.15)
 2  RT 

where γ is the ratio of specific heats and R is the gas constant.

Neumann
To set up a zero-gradient Neumann temperature boundary condition, enter the keyword
Neumann followed by 0.0.
8.1.4 Species Boundary Conditions
Dirichlet and Neumann boundary conditions are available to solve the species equation at
INFLOW and OUTFLOW boundaries. We recommend Dirichlet for INFLOW boundaries
and Neumann for OUTFLOW boundaries.

CONVERGE 2.4 Manual 203


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

For OUTFLOW boundaries, CONVERGE Studio allows only a Neumann species boundary
condition. CONVERGE, however, will run with a Dirichlet species boundary condition.

For OUTFLOW boundaries, you must also specify a backflow species boundary condition.

Dirichlet
To set up a constant Dirichlet species boundary condition, enter the keyword Dirichlet
followed by the number of species to specify. The following rows should each contain the
name of a species, followed by its mass fraction. The sum of species mass fractions should
be 1.0. Note that if the sum is not 1.0, CONVERGE will not normalize the values at
runtime.

To set up a spatially and/or temporally varying Dirichlet species boundary condition via a
file, enter the keyword Dirichlet followed by the file name in quotation marks. You can
instead use a CONVERGE UDF to up a non-constant Dirichlet species boundary
condition. To set up this boundary condition via UDF (user_bc.c), enter the keyword
Dirichlet followed by the keyword user.

Neumann
To set up a zero-gradient Neumann species boundary condition, enter the keyword
Neumann followed by 0.0.
8.1.5 Passive Boundary Conditions
Dirichlet and Neumann boundary conditions are available to solve the passive equation at
INFLOW and OUTFLOW boundaries. We recommend Dirichlet for INFLOW boundaries
and Neumann for OUTFLOW boundaries.

For OUTFLOW boundaries, CONVERGE Studio allows only a Neumann passive boundary
condition. CONVERGE, however, will run with a Dirichlet passive boundary condition.

For OUTFLOW boundaries, you must also specify a backflow passive boundary condition.

Dirichlet
To set up a constant Dirichlet passive boundary condition, enter the keyword Dirichlet
followed by the number of passives to specify. The following rows should each contain the
name of a passive, followed by its value.

To set up a spatially and/or temporally varying Dirichlet passive boundary condition via a
file, enter the keyword Dirichlet followed by the file name in quotation marks. You can
instead use a CONVERGE UDF to up a non-constant Dirichlet passive boundary
condition. To set up this boundary condition via UDF (user_bc.c), enter the keyword
Dirichlet followed by the keyword user.

204 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

Neumann
To set up a zero-gradient Neumann passive boundary condition, enter the keyword
Neumann followed by 0.0.
8.1.6 Turbulent Kinetic Energy Boundary Conditions
You must specify a boundary condition for the turbulent kinetic energy (tke) equation
when your simulation includes a RANS or 1-Equation LES turbulence model.

Several types of boundary conditions—Dirichlet, Neumann, and intensity—are available to


solve the tke equation at INFLOW and OUTFLOW boundaries.

For OUTFLOW boundaries, you must also specify a backflow turbulent kinetic energy
boundary condition.

If your simulation includes a RANS k-ω model, you can approximate the far field tke at
INFLOW or OUTFLOW boundaries as

105 U2 0.1U2


 k f ar f ield  (8.16)
ReL ReL
.

Dirichlet
To set up a constant Dirichlet tke boundary condition, enter the keyword Dirichlet
followed by the tke value (in m2/s2) at the boundary. To set up a spatially and/or
temporally varying Dirichlet tke boundary condition via a file, enter the keyword Dirichlet
followed by the file name in quotation marks.

Neumann
To set up a zero-gradient Neumann tke boundary condition, enter the keyword Neumann
followed by 0.0.

Intensity
The intensity tke boundary condition is a special case of the Dirichlet tke boundary
condition with the boundary turbulent kinetic energy given by

3 2 2
k ui I , (8.17)
2

where k is the turbulent kinetic energy and I is the turbulence intensity.

CONVERGE 2.4 Manual 205


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

To set up an intensity tke boundary condition, enter the keyword Intensity followed by the
turbulence intensity (usually between 0.01 and 0.1).

You can use a CONVERGE UDF to up a non-constant Dirichlet, Neumann, or Intensity


tke boundary condition. To set up this boundary condition via UDF (user_bc.c), enter the
appropriate keyword (Dirichlet, Neumann, or Intensity) followed by the keyword user.
8.1.7 Turbulent Dissipation Boundary Conditions
You must specify a boundary condition for the turbulent dissipation rate (eps) equation
when your simulation includes a k-ε turbulence model.

Several types of boundary conditions—Dirichlet, Neumann, and length scale—are


available to solve the eps equation at INFLOW and OUTFLOW boundaries. We
recommend Neumann for OUTFLOW boundaries.

For OUTFLOW boundaries, CONVERGE Studio allows only a Neumann eps boundary
condition. CONVERGE, however, will run with a Dirichlet eps boundary condition.

For OUTFLOW boundaries, you must also specify a backflow turbulent dissipation
boundary condition.

Dirichlet
To set up a constant Dirichlet eps boundary condition, enter the keyword Dirichlet
followed by the turbulent dissipation at the boundary (in m2/s3). To set up a spatially
and/or temporally varying Dirichlet eps boundary condition via a file, enter the keyword
Dirichlet followed by the file name in quotation marks.

Neumann
To set up a zero-gradient Neumann eps boundary condition, enter the keyword Neumann
followed by 0.0.

Length Scale
The length scale eps boundary condition is a special case of the Dirichlet eps boundary
condition. For the length scale boundary condition, the turbulent dissipation at the
boundary is given by

c3/4 k 3/2
 , (8.18)
le

where e is the turbulent dissipation, cμ is a model constant, k is the turbulent kinetic


energy, and le is the length scale. The length scale can be estimated from a physical

206 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

dimension in the domain (e.g., you can set the length scale to a fraction of the intake port
diameter).

To set up a length scale eps boundary condition, enter the keyword Length_Scale followed
by the length scale (in m).

You can use a CONVERGE UDF to up a non-constant Dirichlet, Neumann, or Length


Scale eps boundary condition. To set up this boundary condition via UDF (user_bc.c), enter
the appropriate keyword (Dirichlet, Neumann, or Length_Scale) followed by the keyword
user.
8.1.8 Specific Dissipation Rate Boundary Conditions
You must specify a boundary condition for the specific dissipation rate (omega) equation
when your simulation includes a k-ω turbulence model.

Several types of boundary conditions—Dirichlet, Neumann, and length scale—are


available to solve the omega equation at INFLOW and OUTFLOW boundaries.

For OUTFLOW boundaries, you must also specify a backflow specific dissipation rate
boundary condition.

If your simulation includes a RANS k-ω model (turbulence_model = RANS_K_OMEGA_* in


turbulence.in), you can approximate the far field omega at INFLOW or OUTFLOW
boundaries as

U U
  f ar f ield  10  , (8.19)
L L

where L is the approximate length of the domain.

Dirichlet
To set up a constant Dirichlet omega boundary condition, enter the keyword Dirichlet
followed by the turbulent dissipation at the boundary (in m2/s3). To set up a spatially
and/or temporally varying Dirichlet eps boundary condition via a file, enter the keyword
Dirichlet followed by the file name in quotation marks.

Neumann
To set up a zero-gradient Neumann omega boundary condition, enter the keyword
Neumann followed by 0.0.

Length Scale

CONVERGE 2.4 Manual 207


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

To set up a length scale omega boundary condition, enter the keyword Length_Scale
followed by the length scale (in m).

You can use a CONVERGE UDF to up a non-constant Dirichlet, Neumann, or Length


Scale omega boundary condition. To set up this boundary condition via UDF (user_bc.c),
enter the appropriate keyword (Dirichlet, Neumann, or Length_Scale) followed by the
keyword user.
8.1.9 OUTFLOW Backflow Boundary Conditions
For an OUTFLOW boundary, you must define backflow boundary conditions, which will
apply if flow comes into the OUTFLOW boundary. You can define backflow boundary
conditions for the temperature, species, passive, turbulent kinetic energy (tke), turbulent
dissipation (eps), and specific dissipation rate (omega) equations. Specifying realistic
backflow values helps to ensure convergence.

When reverse flow occurs at an OUTFLOW boundary, CONVERGE does not immediately
initiate backflow. For example, suppose O2 is flowing out of an OUTFLOW boundary for
which N2 is specified as the backflow species. If backflow occurs, CONVERGE does not
have a way to ensure that the backflow species is all N2 and thus backflow does not begin
immediately. If reverse flow occurs for longer than 2.5*cell size/f low velocity, CONVERGE
will begin flow of N2 into the OUTFLOW boundary.

To set up backflow boundary conditions, include a block of additional rows (one row for
each parameter that requires a backflow boundary condition) after the non-backflow
OUTFLOW parameters. In each additional row, enter the parameter name (e.g., tke), the
keyword backf low, the boundary condition keyword (e.g., Length_scale) and the boundary
condition value. Note that not all boundary conditions are allowed for backflow. Table 8.2
shows keywords and backflow boundary condition options for each parameter.

Table 8.2: Backflow boundary conditions.


Parameter Keyword Boundary Conditions
Temperature temperature Dirichlet (strongly recommended), Neumann

Species species Dirichlet (strongly recommended), Neumann

Passive passive Dirichlet (strongly recommended), Neumann

Turbulent kinetic energy tke Dirichlet, Intensity

Turbulent dissipation eps (for k-ε turbulence Dirichlet, Length Scale


models)
Specific dissipation rate omega (for k-ω turbulence Dirichlet, Neumann, Length Scale
models)

208 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

Figure 8.5 below shows an excerpt of boundary.in, including backflow boundary


conditions, for an OUTFLOW boundary.

4
OUTFLOW
velocity Neumann 0.0 0.0 0.0
pressure Dirichlet 100000.0
temperature Neumann 0.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Neumann 0.0
temperature backflow Dirichlet 400.0
species backflow Dirichlet 2
n2 0.77
o2 0.23
passive backflow Dirichlet 2
HIROY_SOOT 0.001
NOX 0.001
tke backflow Dirichlet 10.0
eps backflow Dirichlet 10000.0
region 0
Figure 8.5: Excerpt of boundary.in showing the configuration of an OUTFLOW boundary.

8.1.10 Spatially and/or Temporally Varying Boundary Conditions


You can specify spatially and/or temporally varying velocity, pressure, temperature,
species, passive, tke, eps, omega, and backflow boundary conditions at INFLOW and
OUTFLOW boundaries via a file. Note that temporally varying boundary conditions are
available only for transient simulations (i.e., steady_solver = 0 in inputs.in), except for
pressure and temperature, which are available for steady-state calculations. This section
describes the format of spatially and/or temporally varying boundary condition input files.
We recommend creating these files in CONVERGE Studio.

To set up a spatially and/or temporally varying boundary condition, enter the name of the
input file (in quotation marks) after the boundary condition keyword in boundary.in. The
file name should be of the format *.in (e.g., temperature.in).

For a temporally (but not spatially) varying boundary condition input file, enter the
keyword TEMPORAL in the first row of the *.in file. In the second row, enter the keyword
SEQUENTIAL if the data are non-repeating, or the keyword CYCLIC followed by the
period in seconds (if crank_f lag = 0 in inputs.in) or crank angle degrees (if crank_f lag = 1 or 2).

If the data are sequential, CONVERGE uses the first or last value when the simulation time
is outside the range of specified data. For both sequential and cyclic data, CONVERGE
interpolates the data you specify to obtain values of the variables at times between entries.

CONVERGE 2.4 Manual 209


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

In the third row, enter the keyword second (if crank_f lag = 0 in inputs.in) or the keyword
crank (if crank_f lag = 1 or 2), followed by the keyword(s) for the variable (e.g., passive).
Table 8.3 lists the keywords required to set up different variables.

Starting from the fourth row, enter a time followed by the value of the variable (of values
of the components of the variable) at that time. Figure 8.6 shows an excerpt of a
temporally varying boundary condition file.

Table 8.3: Keywords for spatially and/ or temporally varying boundary conditions.
Variable Keyword(s) Notes
Velocity U, V, W
Mass Flow massf low
Pressure pressure Specify either static or total pressure.

Temperature temperature
Species Species name(s) CONVERGE sets the mass flow of
unspecified species to 0.0.
Passives Passive name(s) CONVERGE sets the value of unspecified
passives to 0.0.
Turbulent Kinetic tke
Energy
Turbulent eps
Dissipation Rate
Specific Dissipation omega
Rate

TEMPORAL
CYCLIC 20
crank U V W
0 0.0 1.7 -1.0
0.1 1.0 2.0 -3.0
.
.
10.0 5.5 3.7 -2.2
.
.
20.0 0.2 1.6 -1.1
Figure 8.6: Excerpt of a temporally varying velocity file.

For a steady-state calculation (i.e., steady_solver = 1 in inputs.in), the temporally varying


temperature or pressure boundary condition file is formatted identically, with the keyword
second. However, the temporal unit is the pseudo time-step used by the steady-state solver.
For example, you might use this feature to prescribe a high initial temperature to ignite a

210 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

steady-state flame. The appropriate pseudo time-scale for the variation will be case-
dependent. Note that, if activated with auto_gridscale_f lag = 1, CONVERGE will not
perform automatic grid scaling until after the temperature or pressure boundary condition
has ceased to vary. If you set manual grid scaling or AMR, these will still be applied.
Figure 8.7 shows an excerpt of a pseudo-temporally varying temperature boundary
condition file.

TEMPORAL
SEQUENTIAL
second temperature
0 800.0
0.005 600.0
0.007 500.0
Figure 8.7: Excerpt of a temporally varying temperature condition file.

For a spatially or spatially and temporally varying input file, enter the keyword SPATIAL
in the first line of the *.in file. In the next six rows, enter the scaling value (scale_xyz);
translation values for x (trans_x), y (trans_y), and z (trans_z); and the rotation axis
(rot_axis) and angle (rot_angle). Leave a blank row, then specify a value of time followed
by second (if crank_f lag = 0 in inputs.in) or crank (if crank_f lag = 1 or 2). In the next row,
enter x y z and the keyword(s) of the variables to set up. In each of the following rows,
specify a spatial location and the value of the variable at that location.

If the data are outside the range of simulation, CONVERGE will use the first or last value
specified in the spatially varying boundary condition file. Note that for spatially varying
boundary condition data, CONVERGE will not interpolate values. Instead, the boundary
condition value at any point between entries will be equal to the value at the closest point.

You can specify spatially and temporally varying boundary conditions by entering a new
value of time, as shown in Figure 8.8. Note that for spatially and temporally varying
boundary condition data, CONVERGE will not interpolate values in space or time.
Instead, the boundary condition value at any point between entries, or outside the range of
specified data, will be equal to the value at the nearest point.

CONVERGE 2.4 Manual 211


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

SPATIAL
1.0 scale_xyz
-0.2001 trans_x
0.1001 trans_y
0.0 trans_z
z rot_axis
0.0 rot_angle

0.0 second
x y z pressure
0.0 0.0 0.0 1.01324e5
10.0 10.0 10.0 1.00000e5

0.2 second
x y z pressure
0.0 0.0 0.0 1.11524e5
10.0 10.0 10.0 1.01100e5
Figure 8.8: Excerpt of a spatially and temporally varying pressure file.

To set up a varying boundary condition that repeats in time, enter the keyword
SPATIAL_CYCLIC in the first line of the *.in file. After this keyword, enter the repetition
period, in the same units as the rest of the boundary condition file. The file is otherwise
laid out identically to the SPATIAL varying boundary condition. Figure 8.9 shows an
example of the SPATIAL_CYCLIC boundary condition file.

SPATIAL_CYCLIC 360.0
1.0 scale_xyz
0 trans_x
0.0 trans_y
0.0 trans_z
z rot_axis
0.0 rot_angle

0.0 cycle
x y z temperature
0.0 0.0 0.0 400
10.0 10.0 10.0 500

10 cycle
x y z temperature
0.0 0.0 0.0 500
10.0 10.0 10.0 600
Figure 8.9: Excerpt of a spatially and temporally varying pressure file using the cyclic repetition
feature.

8.1.11 Navier-Stokes Characteristic Boundary Conditions (NSCBC)


CONVERGE features non-reflecting subsonic INFLOW and subsonic OUTFLOW
boundaries derived from an eigenanalysis of the Euler equations. These boundary
conditions are designed to reduce the reflection of acoustic (i.e., pressure) disturbances
from INFLOW and OUTFLOW boundaries, which are important in some applications. The
NSCBC formulation in CONVERGE is based on the works of Thompson (1987), Thompson

212 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

(1990) and Poinsot and Lele (1992), invoking a local associated one-dimensional inviscid
(LODI) relation to neglect viscous and transverse terms. These boundary conditions
consider multi-component and real gas effects, following the approach of Okong'o and
Bellan (2002).

Consider discretizing the Euler equations, in an analogous fashion to that presented in


Chapter 5. The finite volume formulation of the Euler equations in 1D can be written as

U U F
A  0, A  (8.20)
t x U

where U is the vector of conserved variables and F is the flux vector across a face. We
perform an eigenanalysis and diagonalize A as

A  S1S,
 1 0 0

0  ,
(8.21)
 0

2
 0 0 3 

where the columns of S-1 are the eigenvectors of A. It can be shown that in the 1D case, the
eigenvalues of the system are

1  u  c ,
2  u, (8.22)
3  u  c ,

where c is the speed of sound. For a subsonic INFLOW boundary in the positive x
direction, λ1 represents a pressure wave attempting to exit the domain. Similarly, for a
subsonic OUTFLOW boundary in the positive x direction, λ1 represents a pressure wave
attempting to enter from outside the domain of the simulation.

MacCormick (2014) presents the derivation of the general three dimensional analog, with
three eigenvalue matrices of similar form. Taking the x coordinate as being perpendicular
to the boundary, the diagonal eigenvalue matrix takes the values

CONVERGE 2.4 Manual 213


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

1  u  c ,
2  u,
3  u, (8.23)
4  u,
5  u  c ,

with corresponding eigenvector matrices. The NSCBC formulation solves the following set
of equations on boundaries

  v  w
 d1 + +  0
t y z
 u  uv  uw
 ud1  d3 +  0
t y z
 v  vv  vw p
 vd1  d4 +   0 (8.24)
t y z y
 w  vw  ww p
 wd1  d5 +   0
t y z z
 E  p
  E   d1  CpTd2  ud3  vd4  wd5   0,
t  

where

1 1 
d1  L  L5 L1 
2  2
c  2 
L
d2   22
c
(8.25)
1
d3  L5 L1 
2c
d4  L3
d5  L4 ,

and

214 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

 p u 
L1  1   c 
 x x 
  p 
L2  2  c2  
 x x 
v
L3  3 (8.26)
x
w
L4  4
x
 p u 
L5  5    c  .
 x x 

The values L1 through L5 are the amplitudes of the propagating waves associated with the
corresponding eigenvalues. To eliminate reflections at a subsonic INFLOW or OUTFLOW,
setting L1 = 0 would eliminate the spurious reflected pressure waves. However, for a
general multidimensional Navier-Stokes flow, there is no general method to enforce this.

Subsonic INFLOW
For the NSCBC subsonic INFLOW, specify velocity (mass_f low or Dirichlet) and
temperature (Dirichlet or Neumann). Density is solved through the continuity equation, and
from temperature and density, pressure is solved through the equation of state. The
NSCBC subsonic INFLOW is available only with the zero gradient (Neumann) pressure
boundary condition. An example NSCBC subsonic INFLOW boundary condition is shown
in Figure 8.10.

5 Intake boundary
INFLOW NSCBC
velocity Dirichlet 5.0 0.0 0.0
pressure Neumann 0.0
temperature Neumann 0.0
species Dirichlet 2
O2 0.23
N2 0.77
passive Dirichlet 0
tke Intensity 0.05
eps Length_scale 0.00525
omega Length_scale 0.00525
region 0
Figure 8.10: Example of a NSCBC subsonic INFLOW boundary.

Subsonic OUTFLOW
For the NSCBC subsonic OUTFLOW, specify far-field pressure (Dirichlet). CONVERGE
evaluates L1 according to

CONVERGE 2.4 Manual 215


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INFLOW and OUTFLOW Boundaries

L1  K(p  p ),
c (8.27)
K   1  M 2  ,
L

where M is the maximum Mach number in the domain, σ is a tuning parameter, and L is a
length scale in the domain. By default, CONVERGE uses σ = 0.25 and L = -1. The latter
calculates the domain length scale as the maximum extent of the domain in the direction
normal to the OUTFLOW. An example NSCBC subsonic OUTFLOW boundary condition
is shown in Figure 8.11.

1 Outflow boundary
OUTFLOW NSCBC 0.25
velocity Neumann 0.0 0.0 0.0
pressure Dirichlet 100000.0 0.0
temperature Neumann 0.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Neumann 0.0
omega Neumann 0.0
temperature backflow Dirichlet 300.0
species backflow Dirichlet 2
O2 0.23
N2 0.77
passive backflow Dirichlet 0
tke backflow Intensity 0.02
eps backflow Length_scale 0.003
omega backflow Length_scale 0.003
region 2
Figure 8.11: Example of a NSCBC subsonic INFLOW boundary.

8.2 WALL Boundary Type


This section describes WALL boundaries and how to configure boundary conditions for
them. The primary WALL boundaries in CONVERGE are FIXED (i.e., the surface geometry
does not move) or MOVING (i.e., the surface geometry moves). There is also a special
RELOFT boundary for use between moving WALL boundaries.

You can configure a sliding WALL to apply non-zero velocity boundary conditions to the
fluid at WALL boundaries.

Table 8.4 shows the options for boundary conditions at WALL boundaries.

Table 8.4: Boundary conditions for WALL boundaries.


Parameter Boundary Conditions
Velocity No-Slip or Dirichlet (Dirichlet), Law-of-the-Wall (Law_of _wall), Slip (Slip)

216 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

Parameter Boundary Conditions

Pressure Neumann (Neumann)


Temperature Dirichlet, Neumann, Law-of-the-Wall, Convection (Convection), Radiation Convection
(Radiation_Convection), Flux (Flux)
Species Neumann
Passive Neumann
Turbulent Neumann
Kinetic Energy
Turbulent Wall Model (Dirichlet), Neumann
Dissipation
Specific Wall Model (Dirichlet), Neumann
Dissipation
Rate

Figure 8.12 is an excerpt of a boundary.in file that shows the configuration of two WALL
boundaries.

1
WALL FIXED ST
roughness 0.0 0.0
velocity Law_of_wall 0.0 0.0 0.0
pressure Neumann 0.0
temperature Neumann 0.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Dirichlet 0.0
region 0

2
WALL MOVING AR
roughness 0.0 0.0
velocity Slip moving_arb.in
pressure Neumann 0.0
temperature Neumann 0.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Dirichlet 0.0
region 0
Figure 8.12: Configuration of two WALL boundaries in boundary.in.

8.2.1 Sliding WALL Boundary Conditions


CONVERGE allows you to set up a sliding WALL boundary to apply a non-zero velocity
boundary condition to the fluid while keeping the surface geometry FIXED (i.e., the WALL
surface triangles do not move during the simulation). The velocity at a sliding WALL

CONVERGE 2.4 Manual 217


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

boundary is parallel to the boundary. Sliding WALL boundaries may be useful for
simulating rotating drums or conveyor belts.

You can specify a rotating, a translating, or a tangential sliding WALL boundary. A


tangential sliding WALL boundary is a special case of a translating sliding WALL
boundary.

Rotating
A rotating sliding WALL boundary means that the surface triangles themselves will not
move during the simulation, but the fluid adjacent to the boundary will be affected by a
rotating velocity boundary condition. To set up a rotating sliding WALL boundary with a
constant rotation rate for the velocity, enter the keyword FIXED followed by the keyword
Rotating. In the velocity row, enter a velocity boundary condition keyword followed by the
x, y, and z coordinates of the center of rotation; the vector about which the wall will
rotate; and the rate of rotation (in CAD/s). The right-hand rule is used to determine the
direction of rotation about the axis.

To set up a rotating sliding WALL boundary with a temporally varying rotation rate via a
file, enter the keyword FIXED followed by the keyword Rotating. In the velocity row, enter
the file name (e.g., rot_belt.in) in quotation marks. To set a non-constant velocity boundary
condition via UDF (user_bc.c), enter the keyword Dirichlet followed by the keyword user.
The UDF option is allowed only for the Dirichlet boundary condition.

Translating
A translating sliding WALL boundary means that the surface triangles themselves will not
move during the simulation, but the fluid adjacent to the boundary will be affected by a
velocity boundary condition.

Constant Velocity
To set up a translating sliding WALL boundary with a constant translational velocity,
enter the keyword FIXED followed by the keyword Translating. In the velocity row, enter a
velocity boundary condition keyword followed by the x, y, and z coordinates of the
velocity vector (in m/s).

To set up a tangential sliding WALL boundary, enter the keyword FIXED followed by the
keyword STATIONARY. In the velocity row, enter the keyword Translating followed by the
x, y, and z coordinates of the axis of rotation and the velocity magnitude (in m/s).
CONVERGE determines the direction of the axis via the right-hand rule and the direction
of translation by computing the cross product of the boundary normal and the rotation
axis.

Non-Constant Velocity

218 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

To set up a translating sliding WALL boundary with a temporally varying translational


velocity via a file, enter the keyword FIXED followed by the keyword Translating. In the
velocity row, enter the file name (e.g., trans_belt.in) in quotation marks. To set a non-
constant velocity boundary condition via UDF (user_bc.c), enter the keyword Dirichlet
followed by the keyword user. The UDF option is only allowed for Dirichlet boundary
conditions.

Note that non-constant velocity boundary conditions are not allowed for tangential sliding
WALL boundaries.

Figure 8.13 below is an excerpt of boundary.in that shows the configuration of a rotating
sliding WALL, a translating sliding WALL, and a tangential sliding WALL.

1
WALL FIXED Rotating
roughness 0.0 0.0
velocity Law_of_wall 0.0 0.0 0.0 0.0 -1.0 0.0 275.0
pressure Neumann 0.0
temperature Neumann 0.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Dirichlet 0.0
region 0
#
2
WALL FIXED TR
roughness 0.0 0.0
velocity Law_of_wall 0.02 0.0 0.0
pressure Neumann 0.0
temperature Neumann 0.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Dirichlet 0.0
region 0
#
3
WALL FIXED STATIONARY
roughness 0.0 0.5
velocity TRANSLATING -1.0 0.0 0.0 5.0
pressure Neumann 0.0
temperature Dirichlet 300.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Neumann 0.0
omega Neumann 0.0
region 0
Figure 8.13: Configuration of rotating, translating, and tangential sliding WALL boundaries in
boundary.in.

CONVERGE 2.4 Manual 219


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

8.2.2 Moving WALL Boundaries


CONVERGE allows you to set up MOVING WALL boundaries. Several types of WALL
motion—translating, rotating, simultaneous rotating and translating, arbitrary, fluid-
structure interaction (FSI), user-defined, and dependent—are available. Figure 8.14 is an
excerpt of a boundary.in file that shows the configuration of a MOVING WALL with
arbitrary motion. Some motion types (e.g., arbitrary, temporally varying rotating) require
you to include motion files. We recommend creating these files in CONVERGE Studio.

1
WALL MOVING AR
roughness 0.0 0.0
velocity sl moving_arb.in
pressure ne 0.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 0
Figure 8.15: Configuration of a MOVING WALL boundary in boundary.in.

Translating
The translating WALL motion type allows you to specify translating motion with either a
constant or a temporally varying velocity. There are several special cases of temporally
varying translating WALL motion files, including pistons and valves.

For constant velocity translating motion, the surface geometry file (e.g., surf ace.dat) will
represent the wall locations at 0 seconds or 0 crank angle degrees (CAD), depending on the
value of crank_f lag in inputs.in). If the simulation does not start at 0, CONVERGE will
adjust the translating boundaries as though they had moved from 0 seconds or 0 CAD to
the start_time specified in inputs.in. If start_time is negative, CONVERGE will move the
WALL backwards, so that when the simulation time is 0 the boundary returns to the
location specified in the surface file. Because the grid must encompass the entire geometry
throughout the simulation and the grid size is based on the size of the geometry in the
surface file, you must configure the surface file so that each boundary is at its maximum
extent at 0 seconds or 0 CAD. Then you can start the simulation at a negative start_time.

Note that CONVERGE does not allow surfaces to intersect and will terminate the internal
grid generation if they do. You can verify that translating WALL boundaries do not cross
other WALL boundaries with the Translate option in CONVERGE Studio.

To set up a WALL boundary with constant velocity translating motion, enter the keywords
MOVING and Translating. In the velocity row, enter a boundary condition keyword
followed by the u, v, and w components of the velocity vector.

220 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

For translating WALL boundaries with temporally varying velocities, motion involves two
steps. First, CONVERGE applies the velocity as the boundary condition when solving the
flow in the cells on the moving boundary. Next CONVERGE changes the geometry to
account for the WALL motion. Because CONVERGE determines the velocity by
differentiating the distance, the velocity applied as a boundary in the first step and
distance moved in the second step must be consistent to prevent distance errors from
happening. To ensure this consistency, CONVERGE divides the distance the WALL has to
move in the second step by the time-step size and applies the result as the velocity in the
first step.

Pistons are a special case of translating WALL boundaries. Figure 8.16 below shows the
wrist pin offset sign convention for engine applications in CONVERGE. A non-zero wrist
pin offset occurs when the axes of the piston and the crankshaft are different. When the
wrist pin offset is positive, the piston reaches TDC before 0 CAD. When the wrist pin offset
is negative, the piston reaches TDC after 0 CAD.

Figure 8.16: The geometry of the moving piston for engine applications and the sign convention for
wrist pin offset.

Since the connecting rod length, L, remains constant, the piston will reach a lower TDC
when the wrist pin offset is non-zero, as shown below in Figure 8.17.

CONVERGE 2.4 Manual 221


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

Figure 8.17: In-cylinder volume versus crank angle for no offset, positive offset, and negative offset.

You can calculate the piston location in the z direction by

   a sin   wrist _ pin _ offset  


zpiston  2 a  l 1  cos sin 1     a(1  cos ), (8.28)
   l  

where a represents the half stroke length (in m), l is the connecting rod length (in m), and θ
is the crank angle (in radians).

To set up a multi-cylinder engine, enter the keyword ROTATION_AXIS followed by a


vector indicating the crank axis as the first line of boundary.in.

To have CONVERGE generate the position table for the piston in a single-cylinder engine,
enter a boundary condition keyword followed by $. Ensure that the surface geometry file
(e.g., surf ace.dat) is configured with the piston at bottom dead center. CONVERGE
determines the piston position table from the engine parameters specified in engine.in,
using a crank-slider motion with options for the wrist pin offset. CONVERGE calculates
the piston profile every 0.1 CAD. To direct CONVERGE to generate a piston displacement
output file (piston_prof ile#.out, where # is the piston boundary ID), enter $$ in place of $.

222 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

Note that CONVERGE measures piston displacement relative to its original position in
surf ace.dat.

If you have a position table for the piston, enter a boundary condition keyword followed
by the name of a general motion file in quotation marks (e.g., "piston.in") that contains the
position of the piston as function of time or crank angle degree.

For multi-cylinder engines, enter a boundary condition keyword followed by the phase lag
angle (f ) and the inclination angle (q) relative to the crank-axis in each velocity row. Note
that the inclination angle (q) specified follows the right-hand rule of rotation with respect
to the crank axis vector specified in the first row of boundary.in. The phase lag angle in
different cylinders represents the firing order. For example, for a four-cylinder engine with
firing order 1-3-4-2, the phase lag angles would be 0.0 for the first cylinder, +180.0 for the
third cylinder, +360.0 for the fourth cylinder, and +540.0 for the second cylinder.

To have CONVERGE generate the position table for the piston in a non-engine application,
enter a boundary condition keyword followed by the name of a piston motion file (e.g.,
piston_motion.in). Ensure that the surface geometry file (e.g., surf ace.dat) is configured with
the piston at bottom dead center. CONVERGE determines the piston position table from
the parameters specified in the piston motion file. CONVERGE calculates the piston profile
every 0.1 CAD and will generate a piston displacement output file
(bound<ID>_motion_prof ile.out). Note that CONVERGE measures piston displacement
relative to its original position in surf ace.dat.

To set up a non-piston translating WALL boundary, enter a boundary condition keyword


followed by the name of a general motion file in quotation marks (e.g., "intake_lif t.in"). For
a multi-cylinder engine simulation, enter the phase lag angle (f ) and the inclination angle
(q) after the file name.

General motion files allow you to describe the motion of any boundary. To create a general
motion file, enter the keyword TEMPORAL in the first row of the *.in file. In the second
row, enter the keyword SEQUENTIAL if the data are non-repeating, or the keyword
CYCLIC followed by the period in seconds (if crank_f lag = 0 in inputs.in) or crank angle
degrees (if crank_f lag = 1 or 2).

In the third row, enter the keyword second (if crank_f lag = 0 in inputs.in) or the keyword
crank (if crank_f lag = 1 or 2), followed by x, y, and z. The first column specifies the
simulation time and the next three columns specify the boundary displacement in the x, y,
and z directions.

CONVERGE 2.4 Manual 223


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

If the data are sequential, CONVERGE uses the first or last value when the simulation time
is outside the range of specified data. For both sequential and cyclic data, CONVERGE
interpolates the data you specify to obtain values of the variables at times between entries.

Figure 8.18 below gives an excerpt of a sample general motion file. In this example, the
motion is for a piston boundary in a single-cylinder engine model. Therefore, the surface
file has the piston in its BDC location and the piston motion is along the z axis. The z
column values are all positive, indicating upward displacement of the piston towards top
dead center (TDC) position. The values in the x and y columns are zeros because the
piston is moving along the z axis.

TEMPORAL
CYCLIC 720
crank x y z
-360 0 0 0.106040316
-359.5 0 0 0.10602925
-359 0 0 0.106014713
-358.5 0 0 0.105996867
-358 0 0 0.105975426
Figure 8.18: Excerpt of a sample general motion file specifying piston motion along the z axis.

You can specify valve motion via valve lift files. CONVERGE can automatically create
OPEN and CLOSE events between regions separated by valves based on the valve lift
profile you provide.

To set up a valve lift file, enter the keyword TEMPORAL in the first row and the keyword
valve in the second row of the *.in file. In the third row, you can enter direction followed by
a vector to specify the direction of motion of the valve as measured when the cylinder is
aligned to the z axis, or you can enter rotate followed by a vector and a rotation angle to
define the angle of inclination of the valve motion relative to the cylinder axis. Note that
the right-hand rule is used when determining the direction of the rotation about the axis.
In the fourth row, enter the keyword min_lif t followed by the minimum lift (in m).

In the fifth row, enter the keyword SEQUENTIAL if the data are non-repeating, or the
keyword CYCLIC followed by the period in seconds (if crank_f lag = 0 in inputs.in) or crank
angle degrees (if crank_f lag = 1 or 2). In the sixth row, enter the keyword second (if
crank_f lag = 0 in inputs.in) or the keyword crank (if crank_f lag = 1 or 2), followed by lif t. The
first column specifies the simulation time and the second column specifies the vale lift
distance in the direction specified in the third row. Note that the lift values specified in the
valve lift file are relative to the fully seated (i.e., zero-lift) position, not relative to the
minimum lift position. CONVERGE internally reduces the distance it moves the valve by
the minimum lift distance to account for the fact that the valve is already at 0.0002 m lift in

224 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

the surface geometry. Do not correct the lift data to account for the specified minimum lift
value.

If the data are sequential, CONVERGE uses the first or last value when the simulation time
is outside the range of specified data. For both sequential and cyclic data, CONVERGE
interpolates the data you specify to obtain values of the variables at times between entries.

Figure 8.19 is an excerpt of a valve motion file.

TEMPORAL
valve
direction -3.08949E-1 0.0 -9.510785E-1
min_lift 0.0002
CYCLIC 720
crank lift
0 0
350 0
353 0.000036
.
.
605 0.00003
608 0.00002
611 0.00002
614 0
617 0
720 0
Figure 8.19: Excerpt of a sample valve motion file.

Note that when you specify the valve motion direction in V-engines or other simulations in
which the cylinder is inclined relative to the z axis, CONVERGE rotates the valve motion
direction vector (or angle) specified for that piston's velocity boundary condition in
boundary.in. If you have already measured the valve motion direction with the cylinder
aligned with the z axis, you do not need to calculate the new direction vector (or angle) of
the valve in the V-engine configuration.

To change the surface geometry from a straight engine (piston moves along the z axis) to a
V-engine (pistons are inclined relative to the z axis), enter the ROTATION_AXIS keyword
followed by the inclination angle (q) values in boundary.in for each piston.

Rotating
To set up a WALL boundary with constant velocity rotating motion, enter the keyword
Rotating after the keyword MOVING. In the velocity row, enter a boundary condition
keyword followed by the center of rotation (xyz coordinates), the vector about which the
wall rotates (uvw), and the rate of rotation (in CAD/second). Note that the right-hand rule
is used when determining the direction of the rotation about the axis.

CONVERGE 2.4 Manual 225


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

To set up a WALL boundary with temporally varying velocity rotating motion, enter the
keyword Rotating after the keyword MOVING. In the velocity row, enter a boundary
condition keyword followed by the center of rotation (xyz coordinates), the vector about
which the wall rotates (uvw), and the name of a file (e.g., rotate.in) with a rotation profile.
Figure 8.20 shows an excerpt of a rotate.in file.

TEMPORAL
CYCLIC 360
crank angle
0.0 0
0.5 10
1.0 20
1.5 30
2.5 40
2.5 50
3.0 60
3.5 70
4.0 80
4.5 90
5.0 100
Figure 8.20: Excerpt of a rotate.in file.

Rotating and Translating


The rotating and translating WALL motion type allows you to specify simultaneous
rotating and translating motion.

To set up a WALL boundary with rotating and translating motion, specify the keyword
RT_Rotating_Translating after the keyword MOVING. In the velocity row, enter a
boundary condition keyword followed by a velocity vector (uvw) indicating the direction
in and speed with which the boundary moves, the center of rotation (xyz coordinates), the
vector about which the wall rotates (uvw), and rate of rotation (in CAD/second) of the
boundary. Note that the right-hand rule is used when determining the direction of the
rotation about the axis. Figure 8.21 is an excerpt of a boundary.in file that shows the
configuration of a MOVING WALL boundary with rotating and translating motion.

226 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

1
WALL MOVING RT_Rotating_Translating
roughness 0.0 0.0
velocity sl 0.0 1.0 0.6 0.0 -1.0 0.0 0.0 0.0 0.6 275.0
pressure ne 0.0
temperature ne 0.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 0

Figure 8.21: Configuration of a MOVING WALL boundary with rotating and translating motion in
boundary.in.

Arbitrary
The arbitrary WALL motion type allows you to specify the position and orientation of a
MOVING WALL boundary at different times.

To set up a WALL boundary with arbitrary motion, enter the keyword Arbitrary after the
keyword MOVING. In the velocity boundary condition row, enter a boundary condition
keyword followed by the name of an arbitrary motion file in the *.in format (e.g.,
moving_arb.in).

In the *.in file, enter the keyword TEMPORAL in the first row of the *.in file. In the second
row, enter the keyword SEQUENTIAL if the data are non-repeating, or the keyword
CYCLIC followed by the period in seconds (if crank_f lag = 0 in inputs.in) or crank angle
degrees (if crank_f lag = 1 or 2). If the data are sequential, CONVERGE uses the first or last
value when the simulation time is outside the range of specified data.

In the third row, enter the keyword second (if crank_f lag = 0 in inputs.in) or the keyword
crank (if crank_f lag = 1 or 2), followed by x, y, z, v1x, v1y, v1z, v2x, v2y and v2z. Begin the
fourth row with the keyword supplied_position, then specify xyz coordinates that give the
temporally varying origin of the local coordinate system. CONVERGE will use the
coordinate system origin as a reference to move the boundary. After the origin coordinates,
specify two sets of xyz vectors. The first vector (v1x, v1y, v1z) define the initial direction of
the x axis for the local coordinate system; the second vector (v2x, v2y, v2z) defines the
initial direction of the y axis for the local coordinate system. The orientation vectors must
be orthogonal to each other. The location and vectors you specify in the supplied_position
row correspond to the position and orientation of the MOVING WALL with arbitrary
motion in the surface file CONVERGE reads for the simulation.

In each of the following rows, enter a value of time in seconds (if crank_f lag = 0 in inputs.in)
or crank angle degrees (if crank_f lag = 1 or 2), followed by the location of the origin of the

CONVERGE 2.4 Manual 227


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

local coordinate system and two orthogonal vectors to define the orientation of the
boundary at that time. Figure 8.22 shows an excerpt of a moving_arb.in file.

TEMPORAL
CYCLIC 720
crank x y z v1x v1y v1z v2x v2y v2z
supplied_position 0.25 1.40 1.21 1.0 0.0 0.0 0.0 0.7 -0.7
0.0e-05 0.25 1.40 1.20 1.0 0.0 0.0 0.0 0.7 -0.7
2.3e-05 -0.99 0.87 0.00 0.99 -2.9 0.0 2.9 0.99 0.0
4.6e-05 -0.98 1.73 0.00 0.99 -5.81 0.0 5.81 0.99 0.0
6.9e-05 -0.96 2.58 0.00 0.99 -8.71 0.0 8.71 0.99 0.0
Figure 8.22: Excerpt of a sample arbitrary moving wall position file (e.g., moving_arb.in).

Fluid-Structure Interaction
The fluid-structure interaction (FSI) WALL motion type allows you to specify that the
motion of MOVING WALL is determined by fluid-structure interactions. The WALL
boundary must be part of an FSI object in f si.in.

To set up a WALL boundary with FSI-determined motion, enter the keyword FSI after the
keyword MOVING. Note that CONVERGE ignores velocity boundary conditions specified
for WALL boundaries with FSI-determined motion.

User-Defined
The user-defined WALL motion type allows you to specify the motion of a MOVING
WALL via UDF (user_motion.c).

To set up a WALL boundary with user-defined motion, enter the keyword User after the
keyword MOVING. Note that CONVERGE ignores velocity boundary conditions specified
for WALL boundaries with user-defined motion.

Dependent
The dependent WALL motion type allows you to specify the motion of a MOVING WALL
boundary whose motion depends on the motion of an adjacent boundary (e.g., lateral
piston motion). When the adjacent boundary moves, the shared vertices move with it, and
triangles that make up the WALL boundary with dependent motion deform (stretch or
compress). WALL boundaries with dependent motion must not contain internal triangles.
An internal vertex (i.e., one not shared with any other boundary) would remain stationary
and could cause undesirable deformations to the geometry.

Figure 8.23 illustrates dependent WALL motion.

228 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

a) b)
Figure 8.23 The underside of a piston a) before, and b) after lateral movement. The orange boundary
is a WALL boundary with dependent motion. The blue ring of triangles moves with the piston along
the z axis, but does not move laterally. When the piston moves, the inner vertices of the orange
boundary move laterally with the piston, but the outer vertices remain stationary in the xy plane.
The triangles stretch or compress to accommodate the lateral piston movement.

To set up a WALL boundary with dependent motion, enter the keyword Dependent after
the keyword MOVING. Note that CONVERGE ignores velocity boundary conditions
specified for WALL boundaries with dependent motion.
8.2.3 Reloft WALL Boundaries
If a WALL boundary connects two other WALL boundaries that are undergoing relative
motion (e.g., a seal between a rotating shaft and an annular housing), the connecting
boundary's triangulation may become degenerate. The RELOFT boundary will direct
CONVERGE to calculate the quality of the triangulation at each time-step and re-
triangulate the boundary if necessary. If any triangle on the RELOFT surface becomes too
malformed or skewed, CONVERGE will re-triangulate the surface.

If the RELOFT boundary has the STATIONARY motion type, CONVERGE will use the
specified velocity boundary condition. Thus, the velocity boundary condition is not
explicitly linked to the triangle motion (skewing and relofting due to relative motion of the
connected boundaries). This configuration is appropriate only for RELOFT boundaries
whose connected motion does not introduce motion in the direction normal to its triangles
(e.g., a seal between two rotating parts). Otherwise, mass conservation issues could occur.
We recommend instead supplying the DEPEND keyword after RELOFT. In this case,
CONVERGE calculates the velocity boundary condition of the RELOFT surface based on
the actual triangle motion caused by the two connected boundaries, guaranteeing mass
conservation for any case.

CONVERGE 2.4 Manual 229


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

To activate the RELOFT boundary, replace the keyword FIXED with RELOFT in
boundary.in.

1 Upstream Wall
WALL RELOFT DEPEND
roughness 0.0 0.5
velocity Law_of_wall 0.0 0.0 0.0
pressure Neumann 0.0
temperature Law_of_wall 461.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Dirichlet 0.0
omega Dirichlet 0.0
region 0
Figure 8.24: Configuration of a RELOFT WALL boundary in boundary.in.

8.2.4 Velocity Boundary Conditions


Several velocity boundary conditions—Dirichlet (i.e., no-slip), slip, and law-of-the-wall—
are available to solve the momentum equation at WALL boundaries. This section describes
how to set up boundary conditions for FIXED STATIONARY WALL boundaries (i.e., non-
MOVING, non-sliding WALL boundaries).

For WALL boundaries associated with solid regions (solid_f lag = 1), only the Dirichlet
boundary condition is allowed.

Note that if you set a law-of-the-wall temperature boundary condition, you must also set
the velocity boundary condition to law-of-the-wall.

Dirichlet
To set up a Dirichlet velocity boundary condition for a FIXED WALL, enter the keyword
Dirichlet followed by the three components of the velocity set to 0.0 (i.e., 0.0 0.0 0.0). This
boundary condition is also known as a no-slip boundary condition.

The Dirichlet velocity boundary condition is available for sliding and MOVING WALL
boundaries.

Slip
A slip boundary condition is a special case of the Neumann boundary condition. For this
boundary condition, CONVERGE sets the components of the stress tensor that are tangent
to the WALL to 0.0.

To set up a slip velocity boundary condition for a FIXED WALL, enter the keyword Slip
followed by 0.0 0.0 0.0.

230 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

The slip velocity boundary condition is available for sliding and MOVING WALL
boundaries.

Law-of-the-Wall
For high Reynolds number turbulent flows, it may not be possible to resolve the viscous
sub-layer of the flow (Warsi, 1993). The law-of-the-wall boundary condition is suitable for
these cases, in which the turbulent boundary layer resolution is not sufficient (i.e., the
viscous sub-layer is not resolved). The law-of-the-wall is a logarithmic curve fit of a
turbulent boundary layer. In practice, the law-of-the-wall profile is used to determine the
tangential components of the stress tensor at the wall.

For the velocity law-of-the-wall boundary condition, CONVERGE includes two options for
simulations with an LES turbulence model (the standard law-of-the-wall model and the
Werner and Wengle wall model [Werner and Wengle, 1991]) and one option for
simulations with a k-ε turbulence model (the Launder and Spalding [Launder and
Spalding, 1974] wall model). The standard law-of-the-wall model requires iterations. The
Werner and Wengle model is more complicated than the standard law-of-the-wall model,
but it does not require iterations. We recommend using the Werner and Wengle model
when your simulation includes an LES turbulence model.

For the standard law-of-the-wall model, the shear speed is defined as

Ui ,tang
u 
 1   u y   (8.29)
 ln  E 
    

for y + greater than 11.05 and

Ui ,tang
u2  (8.30)
y

for y + less than 11.05. The above equation is solved iteratively. The tangential components
of the wall stress are given as

 U  
 ij    i ,tang
 u  n j 
2
(8.31)
 Ui ,tang  
  .

CONVERGE 2.4 Manual 231


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

For the Werner and Wengle model, if the magnitude of the tangential velocity satisfies

 2
Ui ,tang  A 1 B , (8.32)
2 y

then the shear speed is given as

 Ui ,tang
u  , (8.33)
y

where A is 8.3 and B is 1/7. If the inequality is not satisfied then the shear speed is given
by

2
 1  B 1 B   1 B 1  B    B  1 B
u   A 1 B      Ui ,tang  . (8.34)
 2  y  A  y  

Once the shear speed is calculated, Equation 8.31 is used to determine the stress tensor.

The Launder and Spalding model (Launder and Spalding, 1974) for simulations with a k-ε
turbulence model is given as

1 
  ln Ey  y   11.2

u*   (8.35)
  

y y  11.2,

where E is 9.8,

Ui ,tang  u n j
u*  , (8.36)
 ij

and

232 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

y  u
y  . (8.37)

The shear speed is given as

u  c1/4 k 1/2 , (8.38)

where κ is the Von Karman constant (0.4187), k is the turbulent kinetic energy, and cμ is
the model constant from the k-ε model. The tangential relative velocity is given as

Ui ,tang  Ui  Uj n j ni . (8.39)

Rearranging Equation 8.36, an expression for the law-of-the-wall stress tensor can be
derived as

Ui ,tang u n j
 ij  . (8.40)
ln Ey  

Table 8.5 below summarizes the law-of-the-wall parameters in turbulence.in.

Table 8.5: Law-of-the-wall parameters in turbulence.in.


Parameter Name Description/ Typical Value

law_kappa 0.4187 (Karmen’s constant). This parameter is used for simulations


with a k-e turbulence model.

law_b 5.5, which is the value of u+ when y + is equal to 1.

wall_model 0 = Standard law-of-the-wall,


1 = Werner and Wengle model.
This parameter is used for simulations with an LES turbulence model.

If law-of-the-wall is specified, then you must specify an absolute wall roughness for each
wall boundary. If you specify a wall roughness, the law-of-the-wall is modified to account
for the user-specified roughness as shown in Cebeci and Cousteix (2005). The law-of-the-
wall for mean velocity modified for roughness has the form

1
u*  ln Ey    , (8.41)

CONVERGE 2.4 Manual 233


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

where

1
 ln f r . (8.42)

The roughness function, f r, quantifies the shift of the intercept due to roughness effects,
and β depends on the type (uniform sand, rivets, etc.) and size of the roughness. For
uniform roughness elements, β has been found to be well-correlated with the non-
dimensional roughness height,

  Ks u*
k  , (8.43)

where Ks is the physical roughness height. There are three distinct roughness regimes and
the values of β for each regime are given by the following set of equations.

For the hydrodynamically smooth regime (k+ ≤ 2.25),

  0. (8.44)

For the transitional regime (2.25 < k+ ≤ 90),

1  k   2.25 
 ln   rs k   sin 0.4258 ln k   0.811, (8.45)
  87.75 

where rs is a roughness constant that depends on the type of roughness.

In the fully rough regime (k+ > 90),

1
 ln 1  rs k  . (8.46)

Depending on the regime of roughness, the corresponding Equations 8.44, 8.45, and 8.46
are used for modified law-of-the-wall in Equation 8.41. The results of these equations are
then used to evaluate the shear stress at the wall and the wall functions for the mean
temperature and turbulent quantities.

234 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

To model the wall roughness effects, specify two roughness parameters: the absolute
roughness (i.e., the roughness height, given in meters) and the roughness constant
(unitless). The default value for absolute roughness is zero, which corresponds to a
perfectly smooth wall. If the wall is not smooth, you can use a sand-grain absolute
roughness value. These values are available in many fluid mechanics textbooks. For
example, the absolute roughness is 0.00026 m for cast iron, 0.0009 m for riveted steel, and
0.000045 m for commercial steel. CONVERGE assumes that the absolute roughness is
constant across the entire surface.

Choosing a proper roughness constant depends mainly on the type of roughness. The
default roughness constant is 0.5. When 0.5 is used with k-e turbulence models, it
reproduces Nikuradse’s resistance data for pipes with tightly-packed, uniform sand-grain
roughness. For non-uniform sand-grains, ribs, or wire-mesh roughness, a larger value (0.5
to 1.0) is more appropriate.

Note that wall-adjacent cells that are smaller than the absolute roughness will not improve
the accuracy of the simulation results near the wall.

To specify a law-of-the-wall boundary condition, enter the keyword Law_of _wall followed
by 0.0 0.0 0.0.
8.2.5 Pressure Boundary Conditions
CONVERGE allows a zero-gradient Neumann boundary condition to solve the pressure
equation at WALL boundaries. To set up a Neumann pressure boundary condition, enter
the keyword Neumann followed by 0.0.
8.2.6 Temperature Boundary Conditions
Several temperature boundary conditions—Dirichlet, Neumann, law-of-the-wall,
convection, radiation convection, and flux—are available to solve the energy equation at
WALL boundaries. (An additional temperature boundary condition is available for
INTERFACE boundaries, which are a special type of WALL boundaries). For WALL
boundaries associated with solid regions (solid_f lag = 1), only the Dirichlet boundary
condition is allowed.

The WALL temperature boundary conditions are described below.

Dirichlet

CONVERGE 2.4 Manual 235


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

The Dirichlet boundary condition is suitable for cases in which the viscous sub-layer is
resolved. If the near-wall resolution is inadequate (i.e., if the viscous sub-layer is not
resolved), we recommend law-of-the-wall instead.

For the Dirichlet boundary condition, heat transfer at the wall occurs by conduction and is
given by

T T  Tw 
q  k  k ni . (8.47)
xi x  xw 

To set up a constant temperature Dirichlet boundary condition, enter the keyword


Dirichlet followed by the temperature (in K) at the boundary. To set up a spatially and/or
temporally varying temperature Dirichlet boundary condition via a file, enter the keyword
Dirichlet followed by the file name in quotation marks. To set up a non-constant
temperature Dirichlet boundary condition via UDF (user_bc.c), enter the keyword Dirichlet
followed by the keyword user.

Neumann (Adiabatic)
CONVERGE allows a zero-gradient Neumann boundary condition. For this boundary
condition, there is no heat transfer between the wall and the fluid (i.e., the boundary is
adiabatic).

To set up a Neumann boundary condition, enter the keyword Neumann followed by 0.0.

Law-of-the-Wall
The law-of-the-wall temperature boundary condition is suitable for cases in which the
turbulent boundary layer resolution is not sufficient (i.e., the viscous sub-layer is not
resolved).

To set up a temperature law-of-the-wall boundary condition, enter the keyword


Law_of _wall followed by the temperature (in K) of the boundary. Then configure the heat
transfer model and the wall distance calculation scheme via wall_dist_f lag in turbulence.in.
The available options are described below.

CONVERGE includes heat transfer models for the temperature law-of-the-wall boundary
condition: O'Rourke and Amsden (Amsden, 1997), Han and Reitz (Han and Reitz, 1997),
Angelberger (Angelberger et al., 1997), and GruMo-UniMORE (Berni et al., 1993). The
Han and Reitz model accounts for compressible effects. The Angelberger model accounts
for quasi-isothermal flow (e.g., in intake pipes or compression during engine simulations)
and for non-isothermal wall flow (e.g., in the combustion chamber during combustion or
in exhaust pipes). The Angelberger model consistently predicts lower wall heat fluxes than

236 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

the Han and Reitz model. The GruMo-UniMORE model is recommended for simulating
highly-charged/highly-downsized spark-ignited engines, and it may improve over-
estimation of the wall heat transfer as predicted by the Angelberger and Han and Reitz
models.

For the O'Rourke and Amsden model, the wall heat transfer is given by

T mcp F Tf  Tw 
k  ni , (8.48)
xi Prm y

where






1.0 y   11.05
 (8.49)
F

  y  Prm 
 
  Prt 
 y   11.05,
 1 ln(y  )  B  11.05  Prm  1 
  
  Prt 

 u y
y  , (8.50)
m

k is the molecular conductivity, κ is the Von Karman constant (0.4187), B is given by law_b
in turbulence.in, Prm is the molecular Prandtl number, Prt is the turbulent Prandtl number,
Tf is the fluid temperature, Tw is the wall temperature, and uτ is the shear speed (taken from
the momentum law-of-the-wall).

For the Han and Reitz model, wall heat transfer is given by

CONVERGE 2.4 Manual 237


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type



  cp Tf  Tw ni
 y   11.05
y Prm
dT  (8.51)
k 
dxi 
  c u T ln  f  n
T
p  f   i
  Tw 
 y   11.05.


2.1 ln y   2.513

For the Angelberger model, wall heat transfer is given by

 Tf 
 wcp u Tw ln   ni
k
dT
  Tw  , (8.52)
dxi  

where

Pr y 
 y   13.2
 

 (8.53)
2.075ln(y )  3.9
 y   13.2.

For the GruMo-UniMORE model, wall heat transfer is given by

dT  c p u (Tf  Tw )
k  , (8.54)
dxi 

where

 Pr y  , y +  13.2
    (8.55)
2.075 ln( y )  13.2 Pr  5.34 y  13.2.
+

Different wall distance (y) calculation schemes are available. For the first scheme,
CONVERGE calculates the distance to a moving boundary as

238 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

1/3
y  0.5 Vf ullcellsize  (14.1)
,

where Vf ullcellsize refers to the volume of a full size cell at the same embedding scale. For a
stationary boundary, y is equal to the distance from the effective boundary cell center to
the boundary itself. If the boundary cell is not part of a cell pair, the effective boundary cell
center is the center of the cell adjacent to the boundary. If the boundary cell is part of a cell
pair, the effective boundary cell center is the center of the cell pair.

To set up a heat model with this wall distance calculation scheme, set wall_dist_f lag = 0.

For the second wall distance calculation scheme, CONVERGE calculates the distance to
moving and stationary boundaries as

1/3
y  0.3 Vf ullcellsize  (14.2)
,

where Vf ullcellsize refers to the volume of a full size cell at the same embedding scale and 0.3
is an empirical value.

To set up a heat model with this wall distance calculation scheme, set wall_dist_f lag = 1.

Convection
For the convection boundary condition, heat transfer at the wall occurs by convection and
is given by

T
qconvection  k , (8.56)
x w

where k is the thermal conductivity (in W/m-K). CONVERGE evaluates this expression in
one of two ways.

For solid walls and laminar fluids, CONVERGE discretizes the temperature gradient to
obtain a relation between the wall temperature Tw (in K) and the first wall-normal cell
temperature Ti (in K). The wall heat transfer is then expressed as

Ti  Tw
qconvection  k  h Tw  T  , (8.57)
x

CONVERGE 2.4 Manual 239


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

where T is the ambient temperature (in K), h is heat transfer coefficient (in W/m2-K), and
Tsolid is the temperature at the boundary of the solid (in K). The wall temperature Tw is then
solved as

Tw  f (Ti , T ). (8.58)

For turbulent fluids, CONVERGE uses a wall function to calculate the heat flux at the
wall. A wall temperature is specified, and the wall function is used to calculate the heat
flux at the wall as follows:

qw  f w (Ti , Tw ). (8.59)

From this calculated heat flux, CONVERGE re-calculates the wall temperature.
CONVERGE iterates this solution procedure to calculate the temperature at the wall. For
more details about wall functions, refer to Chapter 15 - Turbulence Models.

To set up a convection boundary condition, enter the keyword Convection, followed by the
ambient temperature (in K) and the heat transfer coefficient (in W/m2-K). You can also
specify spatially and/or temporally varying convection temperature data.

Radiation Convection
For the radiation convection boundary condition, heat transfer at the wall occurs by
radiation and convection and is given by

qrad _ conv  h T  T    Trad


4
 T 4 , (8.60)

where T∞ is the ambient temperature for convection, ε is the emissivity of the surface, σ is
the Stefan-Boltzmann constant, and Trad is the ambient temperature for radiation.

To set up a radiation-convection boundary condition, enter the keyword


Radiation_Convection, followed by the ambient temperature for convection (in K), the heat
transfer coefficient (in W/m2-K), the ambient temperature for radiation (in K), and the
emissivity of the surface. To model a pure radiation case, set the ambient temperature for
convection and the heat transfer coefficient to 0.0. You can also specify spatially and/or
temporally varying convection temperature data.

Flux

240 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

For the flux boundary condition, heat transfer occurs at a user-specified rate.

To set up a flux temperature boundary condition valid across the entire surface area of the
boundary, enter the keyword Flux followed by a heat flux value (in W/m2). A negative flux
value means heat flows into the boundary. You can also specify spatially and/or
temporally varying flux temperature data.

1D Conjugate Heat Transfer


CONVERGE includes a 1D conjugate heat transfer (CHT) boundary condition to model
heat transfer in thin solid layers between a fluid and a solid. When the thermal penetration
depth is small, a 1D model can produce accurate results for heat transfer through the thin
solid layers. CONVERGE uses a flux-forward, temperature-back scheme to couple the fluid
and solid regions. With this scheme, the solid conduction solver uses the solid bulk
temperature (solid_bulk_temp in cht1d.in) and the heat flux from the fluid (computed by
CONVERGE) to determine the temperature in the thin solid layers. Because the scheme
assumes that the problem is one-dimensional, the system of equations to solve is tri-
diagonal and can be solved efficiently with the Thomas algorithm. The 1D CHT model is
available to resolve temperature solutions for solids with either Dirichlet or law_of _wall
boundary conditions.

You can enable the 1D CHT model for WALL boundary type temperature boundary
conditions. Enter the keyword cht1d after the Law_of _wall or Dirichlet keyword to enable
the 1D CHT boundary condition and include the cht1d.in file in the Case Directory.

Nucleate Boiling Model


Nucleate boiling is a boiling regime that occurs when a single-phase liquid contacts a solid
under specific conditions. If the temperature of the solid exceeds the saturation
temperature of the liquid by a certain liquid-specific amount and the heat flux from the
wall is below the critical heat flux, nucleate boiling will occur. Formation of vapor bubbles
at the solid surface and subsequent separation of these vapor bubbles characterizes this
boiling regime. Nucleate boiling is a particularly efficient mode of heat transfer because the
separation of vapor bubbles causes rapid mixing and enhances convective heat transfer.

CONVERGE accounts for the additional heat transfer from nucleate boiling by computing
the heat flux through a wall as the sum of single-phase heat flux and heat flux due to
nucleate boiling:

q  qsingle phase  qbw , (8.61)

where qbw is the additional heat flux due to boiling. To represent the additional heat flux,
CONVERGE uses the Rohsenow correlation (Rohsenow, 1952):

CONVERGE 2.4 Manual 241


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

3
qbw g(l   v )  cpl Tw  Tsat  
 l hlat   , (8.62)
A   C h Pr1 m 
 sf lat l 

where μl is the liquid viscosity, hlat is the latent heat of vaporization, g is gravitational
acceleration, ρ l is the density of the liquid, ρ v is the density of the vapor, σ is the surface
tension, cpl is the specific heat capacity of the liquid, Csf is a constant that varies with the
surface-liquid combination, and Prl is the Prandtl number. The quantity Tw – Tsat is the
difference between the wall temperature and the saturation temperature. The exponent m
is 0.0 when the liquid is water and 0.7 in all other cases. In nucleate_boiling.in, use the
parameter nb_exponent to specify the exponent m. Table 8.6 lists Csf and m values for some
commonly simulated surface-fluid combinations (Incropera, 1990).

To activate the nucleate boiling model in CONVERGE, set nucleate_boiling_f lag = 1 in


inputs.in and include nucleate_boiling.in in the Case Directory.

Table 8.6: Rohsenow correlation parameters for some fluid-surface combinations.


Fluid-Surface Combination Csf m

Water–copper Scored 0.0068 0.0


Polished 0.0130 0.0
Water–stainless steel Chemically etched 0.0130 0.0
Mechanically polished 0.0130 0.0
Ground and polished 0.0060 0.0
Water–brass 0.0060 0.0

Water–nickel 0.006 0.0


Water–platinum 0.0130 0.0
n-Pentane–copper Polished 0.0154 0.7
Lapped 0.0049 0.7
Benzene–chromium 0.101 0.7
Ethyl alcohol–chromium 0.0027 0.7

8.2.7 Species and Passive Boundary Conditions


CONVERGE allows a zero-gradient Neumann boundary condition to solve the species and
passives equations at WALL boundaries. To set up a Neumann species or passive
boundary condition, enter the keyword Neumann followed by 0.0.

242 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

8.2.8 Turbulent Kinetic Energy Boundary Conditions


You must specify a boundary condition for the turbulent kinetic energy (tke) equation
when your simulation includes a RANS or 1-Equation LES turbulence model. CONVERGE
allows a zero-gradient Neumann boundary condition to solve the tke equation at WALL
boundaries. To set up a Neumann tke boundary condition, enter the keyword Neumann
followed by 0.0.
8.2.9 Turbulent Dissipation Boundary Conditions
You must specify a boundary condition for the turbulent dissipation rate (eps) equation
when your simulation includes a k-ε turbulence model.

Wall model (Dirichlet) and Neumann boundary conditions are available to solve the eps
equation at WALL boundaries.

Wall Model (Dirichlet)


CONVERGE calculates the Dirichlet turbulent dissipation boundary condition at the
center of the cell adjacent to the wall via the wall model:

c0.75 k 1.5
 , (8.63)
y

in which e is the turbulent dissipation, k is the turbulent kinetic energy, y is the distance
from the wall to the middle of the cell, cμ is a turbulence model constant, and κ is von
Karman’s constant of 0.4187.

To set up a constant Dirichlet turbulent dissipation boundary condition, enter the keyword
Dirichlet followed by 0.0.

Neumann
To set up a zero-gradient Neumann eps boundary condition, enter the keyword Neumann
followed by 0.0.
8.2.10 Specific Dissipation Rate Boundary Conditions
You must specify a boundary condition for the specific dissipation rate (omega) equation
when your simulation includes a k-ω turbulence model.

Wall model (Dirichlet) and Neumann boundary conditions are available to solve the
omega equation at WALL boundaries.

Wall Model (Dirichlet)

CONVERGE 2.4 Manual 243


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

CONVERGE calculates the Dirichlet turbulent dissipation boundary condition at the


center of the cell adjacent to the wall via the wall model.

To set up a constant Dirichlet turbulent dissipation boundary condition, enter the keyword
Dirichlet followed by 0.0.

Neumann
To set up a zero-gradient Neumann eps boundary condition, enter the keyword Neumann
followed by 0.0.
8.2.11 Spatially and/or Temporally Varying Boundary Conditions
You can specify spatially and/or temporally varying, convection or heat flux temperature
boundary conditions at WALL boundaries via a file. Note that temporally varying
boundary conditions are available only for transient simulations (i.e., steady_solver = 0 in
inputs.in), except for pressure and temperature, which are available for steady-state
calculations. This section describes the format of spatially and/or temporally varying
boundary condition input files. We recommend creating these files in CONVERGE Studio.

To set up a spatially and/or temporally varying boundary condition, enter the name of the
input file (in quotation marks) after the boundary condition keyword in boundary.in. The
file name should be of the format *.in (e.g., temperature.in).

For a temporally (but not spatially) varying boundary condition input file, enter the
keyword TEMPORAL in the first row of the *.in file. In the second row, enter the keyword
SEQUENTIAL if the data are non-repeating, or the keyword CYCLIC followed by the
period in seconds (if crank_f lag = 0 in inputs.in) or crank angle degrees (if crank_f lag = 1 or 2).

If the data are sequential, CONVERGE uses the first or last value when the simulation time
is outside the range of specified data. For both sequential and cyclic data, CONVERGE
interpolates the data you specify to obtain values of the variables at times between entries.

In the third row, enter the keyword second (if crank_f lag = 0 in inputs.in) or the keyword
crank (if crank_f lag = 1 or 2), followed by the keywords ref _temp and conv_htc for the
convection boundary condition or the keyword heat_f lux for the flux boundary condition.

Figure 8.25 shows an excerpt of a temporally varying convection boundary condition file.

TEMPORAL
SEQUENTIAL
second ref_temp conv_htc
0 534.481 -0.000
20.000 534.481 -3.412
Figure 8.25: Excerpt of a temporally varying convection boundary condition file.

244 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

For a steady-state calculation (i.e., steady_solver = 1 in inputs.in), the temporally varying


temperature or pressure boundary condition file is formatted identically, with the keyword
second. However, the temporal unit is the pseudo time-step used by the steady-state solver.
For example, you might use this feature to prescribe a high initial temperature to ignite a
steady-state flame. The appropriate pseudo time-scale for the variation will be case-
dependent. Note that, if activated with auto_gridscale_f lag = 1, CONVERGE will not
perform automatic grid scaling until after the temperature or pressure boundary condition
has ceased to vary. If you set manual grid scaling or AMR, these will still be applied.

For a spatially or spatially and temporally varying input file, enter the keyword SPATIAL
in the first line of the *.in file. In the next six rows, enter the scaling value (scale_xyz);
translation values for x (trans_x), y (trans_y), and z (trans_z); and the rotation axis
(rot_axis) and angle (rot_angle). Leave a blank row, then specify a value of time followed
by second (if crank_f lag = 0 in inputs.in) or crank (if crank_f lag = 1 or 2). In the next row,
enter x y z and the keyword(s) of the variables to set up (conv_htc or heat_f lux). In each of
the following rows, specify a spatial location and the value(s) of the variable(s) at that
location.

If the data are outside the range of simulation, CONVERGE will use the first or last value
specified in the spatially varying boundary condition file. Note that for spatially varying
boundary condition data, CONVERGE will not interpolate values. Instead, the boundary
condition value at any point between entries will be equal to the value at the nearest point.

You can specify spatially and temporally varying boundary conditions by entering a new
value of time, as shown below in Figure 8.26. Note that for spatially and temporally
varying boundary condition data, CONVERGE will not interpolate values in space or time.
Instead, the boundary condition value at any point between entries, or outside the range of
specified data, will be equal to the value at the nearest point.

Note that the coordinates correspond to the surface as it is specified in the surface
geometry file (e.g., surf ace.dat), not its current position.

CONVERGE 2.4 Manual 245


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |WALL Boundary Type

SPATIAL
1.0 scale_xyz
-0.0 trans_x
-0.0 trans_y
-0.0 trans_z
z rot_axis
0.0 rot_angle

0.0 second
x y z heat_flux
0.0 0.0 0.0 0.03
0.1 0.0 0.0 0.06

10.0 second
x y z heat_flux
0.0 0.0 0.0 -0
0.0 0.01 0.0 -0
Figure 8.26: Excerpt of a spatially and temporally varying heat flux boundary condition file.

To set up a varying boundary condition that repeats in time, enter the keyword
SPATIAL_CYCLIC in the first line of the *.in file. After this keyword, enter the repetition
period, in the same units as the rest of the boundary condition file. The file is otherwise
laid out identically to the SPATIAL varying boundary condition. Figure 8.27 shows an
example of the SPATIAL_CYCLIC boundary condition file.

SPATIAL_CYCLIC 360.0
1.0 scale_xyz
0 trans_x
0.0 trans_y
0.0 trans_z
z rot_axis
0.0 rot_angle

0.0 cycle
x y z temperature
0.0 0.0 0.0 400
10.0 10.0 10.0 500

10 cycle
x y z temperature
0.0 0.0 0.0 500
10.0 10.0 10.0 600
Figure 8.27: Excerpt of a spatially and temporally varying pressure file using the cyclic repetition
feature.

8.3 PERIODIC Boundary Type


PERIODIC boundaries allow you to simulate only a portion of a geometry (e.g., an engine
sector) to save computational resources. Sector (pie-shaped) and planar (box-shaped)
PERIODIC boundaries are available in CONVERGE. You must specify PERIODIC
boundaries in pairs.

246 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |PERIODIC Boundary Type

You can specify MOVING PERIODIC boundaries. The only type of motion allowed is
translating. If a PERIODIC boundary is translating, vertices within that boundary will
move according to the velocity you specify. For a stationary PERIODIC boundary, you
must specify a velocity, although CONVERGE will not use this value.

To set up a pair of PERIODIC boundaries, enter the keyword PERIODIC followed by ST


for a stationary boundary or TR for a translating boundary. Next enter the keyword match
followed by the boundary ID of the matching boundary. During the simulation,
CONVERGE reads the match keyword and copies the values of each boundary condition
on the first PERIODIC boundary to its matching boundary. To ensure physical results,
verify that the boundary faces on both PERIODIC boundaries match exactly.

CONVERGE 2.4 Manual 247


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |PERIODIC Boundary Type

Figure 8.28 gives an excerpt of boundary.in that shows the configuration of sector and
planar PERIODIC boundary pairs. Note that you must enter the keywords rotate (for
sector PERIODIC boundaries) or translate (for planar PERIODIC boundaries) only for the
first boundary of each PERIODIC pair. The four values that follow rotate are the angle of
rotation and the vector about which CONVERGE rotates the PERIODIC boundary to
produce its matching boundary. CONVERGE determines the axis vector and the sign of
the angle of rotation from the right-hand rule. The three values that follow translate are the
x, y, and z distances (in m) between the matching PERIODIC boundaries.

# Periodic -Y (sector)
4
PERIODIC ST
velocity 0. 0. 0.
rotate 45.0 0. 0. 1
match 5
region 0

# Periodic +Y (sector)
5
PERIODIC ST
velocity 0. 0. 0.
match 4
region 0

# Periodic -Z (planar)
6
PERIODIC ST
velocity 0. 0. 0.
translate 0.0 0. 0.1
match 7
region 0

# Periodic +Z (planar)
7
PERIODIC ST
velocity 0. 0. 0.
match 6
region 0
Figure 8.28: Configuration of sector and planar PERIODIC boundaries in boundary.in. The sector
boundaries (4 and 5) represent a 45-degree slice. The planar boundaries (6 and 7) are separated by
0.1 meters in the z direction.

8.4 SYMMETRY Boundary Type


At SYMMETRY boundaries, CONVERGE sets the velocity boundary condition to slip and
all other boundary conditions to Neumann. If a spray parcel interacts with a SYMMETRY
boundary, the spray parcel is perfectly reflected (i.e., not affected by friction at the wall) as
if it had entered the domain from the opposite side of the boundary. Figure 8.29 gives an
excerpt of a boundary.in file that shows the configuration of a SYMMETRY boundary.

248 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |SYMMETRY Boundary Type

14
SYMMETRY
region 0
Figure 8.29: Configuration of a SYMMETRY boundary in boundary.in.

8.5 TWO_D Boundary Type


To run a two-dimensional simulation in CONVERGE, use the TWO-D boundary type. The
TWO_D boundary is only available for non-moving, non-spray cases.

To set up a two-dimensional case in CONVERGE, create a three-dimensional surface


including two identical, parallel boundaries and set their boundary type to TWO_D. Note
that the normal vectors of the corresponding TWO_D boundaries must be in the z
direction (positive or negative). Thus, the two-dimensional flow occurs in the xy plane.
Ensure that in the surface geometry, no vertices exist in the thickness between the parallel
TWO_D boundaries.

Figure 8.30 gives an excerpt of a boundary.in file that shows the configuration of
corresponding TWO_D boundaries.

# Front blue face


4
TWO_D
region 0
# Back Face
5
TWO_D
region 0
Figure 8.30: Configuration of corresponding TWO_D boundaries in boundary.in.

8.6 INTERFACE Boundary Type


An INTERFACE boundary allows you to set up a WALL boundary that will separate
regions. CONVERGE creates independent grids for each phase, and the INTERFACE
boundary allows for interaction through interface triangles. To configure an INTERFACE
boundary, you must specify boundary conditions for each side of the INTERFACE in
boundary.in.

In addition to the applications described below, you can use an INTERFACE boundary as
a baffle to separate two fluid regions. If you wish to enforce thermal continuity across the
INTERFACE such that the temperatures and heat fluxes of the regions on either side of the
baffle are the same, use the coupled temperature boundary condition.

Conjugate Heat Transfer

CONVERGE 2.4 Manual 249


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INTERFACE Boundary Type

For conjugate heat transfer (CHT) applications, an INTERFACE boundary separates


regions containing two phases (e.g., solid and fluid phases). Figure 8.31 shows the
boundary conditions on each side of the INTERFACE in boundary.in.

#!csi_version=2.4
#=======================

.
.
# Interface triangles on the piston surface
1
INTERFACE
forward 2
reverse 3
disconnect 0
.
.
# Piston Surface-fluid side
2
WALL MOVING TR
roughness 0 0
velocity law_of_wall $
pressure neumann 0
temperature law_of_wall coupled
species neumann 0
passive neumann 0
tke neumann 0
eps dirichlet 0
region_id 0
.
.
# Piston Metal-solid side
3
WALL MOVING TR
roughness 0 0
velocity dirichlet $
pressure neumann 0
temperature dirichlet coupled
species neumann 0
passive neumann 0
tke neumann 0
eps dirichlet 0
region_id 1
Figure 8.31: Configuration of an INTERFACE boundary in boundary.in. In this example, the
INTERFACE boundary is between two existing boundaries.

As shown in the figure above, the lines after INTERFACE include the keywords f orward
and reverse, which define the direction of interaction between the boundaries on either
side of the interface. The boundary ID following f orward should indicate the boundary that
is in the direction of the normal vectors. The boundary ID following reverse should indicate
the boundary that is in the opposite direction of the normal vectors.

250 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INTERFACE Boundary Type

If you specify existing boundaries as the forward and reverse boundaries, CONVERGE will
use the boundary conditions already assigned for these existing boundaries as the
boundary conditions for the two sides of the INTERFACE boundary. Note that
CONVERGE will not use the actual triangles from the boundaries specified in the surface
geometry file, but it will use the boundary conditions from these existing boundaries.

Alternatively, instead of existing boundaries, the forward and reverse boundaries can be
so-called virtual boundaries. Virtual boundaries are not composed of any triangles in the
surface geometry file, and CONVERGE considers their boundary conditions to be a part of
the INTERFACE boundary. In boundary.in, however, virtual boundaries are set up as
additional boundaries, with their temperature boundary condition set to coupled. The
coupled boundary condition implies a thermal continuity across the INTERFACE, so that
the temperatures and heat fluxes of the solid and fluid phases are the same.

To model thermal contact resistance between two solids or a solid and a fluid, enter the
contact resistance (in K-m2/W) after the keyword coupled. You must enter the same contact
resistance value for both the forward and reverse boundaries. Figure 8.32 below gives an
excerpt of boundary.in with virtual WALL boundaries.

CONVERGE 2.4 Manual 251


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INTERFACE Boundary Type

#!csi_version=2.4
#=======================

.
.
# Interface triangles on the piston surface
1
INTERFACE
forward 2
reverse 3
disconnect 0
.
.
# Piston Surface-fluid side
2
WALL MOVING TR
roughness 0 0
velocity law_of_wall $
pressure neumann 0
temperature law_of_wall coupled
species neumann 0
passive neumann 0
tke neumann 0
eps dirichlet 0
region_id 0
.
.
# Piston Metal-solid side
3
WALL MOVING TR
roughness 0 0
velocity dirichlet $
pressure neumann 0
temperature dirichlet coupled
species neumann 0
passive neumann 0
tke neumann 0
eps dirichlet 0
region_id 1

Figure 8.32: Configuration of a pair of virtual WALL boundaries.

If disconnect = 0, CONVERGE will treat the INTERFACE boundary as if there is a physical


wall between boundaries. Heat transfer is allowed between the boundaries on either side
of the INTERFACE boundary. This setting is the typical configuration for a conjugate heat
transfer simulation that models the heat transfer between the fluid and the solid piston.
When disconnect = 0, you must configure both the forward and reverse virtual boundaries
as WALL boundaries.

If disconnect = 1, CONVERGE will create disconnect triangles at the interface. Configure


OPEN and CLOSE events in events.in to control the flow across the interface. OPEN
events will allow both mass and heat to move across the boundary. CLOSE events will
prohibit mass and heat flow across the boundary. When disconnect = 1, you must configure
both the forward and reverse virtual boundaries as SYMMETRY boundaries.

252 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |INTERFACE Boundary Type

Multiple Reference Frame


For the multiple reference frame (MRF) approach, INTERFACE boundaries separate the
local (moving) reference frame from the inertial reference frame. Each INTERFACE
boundary is associated with two virtual boundaries (as described above).

For MRF simulations, use the FLOW_THROUGH boundary condition for the virtual
boundaries associated with each INTERFACE that delineates the MRF region. These
boundary conditions do not affect the flow in any way, but separate the local reference
frame from the inertial reference frame. Unlike disconnect triangles at interfaces, this
boundary is always OPEN. You do not need to configure OPEN/CLOSE events for this
boundary. Flow always passes through this boundary without a change in behavior. For
example, if you were to perform a channel flow simulation and then place a
FLOW_THROUGH boundary in the channel cross section normal to the axial direction,
the results will not change. Figure 8.33 below gives an excerpt of boundary.in with virtual
FLOW_THROUGH boundaries. After each virtual boundary, specify the region ID
associated with the given side of the INTERFACE.

#!CONVERGE_VERSION=2.4
#=======================
.
.
#-----------------------------------------------
8 mrf_imp_diff_interface
INTERFACE
forward 28
reverse 29
disconnect 0
.
.
#-----------------------------------------------
28 mrf_imp_diff_interface - propeller
FLOW_THROUGH
region 1
#-----------------------------------------------
29 mrf_imp_diff_interface - outflow
FLOW_THROUGH
region 2
.
.
Figure 8.33: Configuration of a pair of FLOW_THROUGH boundaries.

8.7 GT-SUITE Boundary Type


The GT-SUITE boundary allows you to set up CONVERGE + GT-SUITE coupling through
boundary.in. Table 8.7 describes the parameters that you must include in the header of
boundary.in in order to set up coupling with GT-SUITE. You can set end_time (in inputs.in)

CONVERGE 2.4 Manual 253


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |GT-SUITE Boundary Type

to GT to cause CONVERGE to terminate the simulation as dictated by the end time


specified in GT-SUITE.

Table 8.7: CONVERGE + GT-SUITE parameters in boundary.in.


Parameter Description

gti_f lag 0 = No CONVERGE + GT-SUITE coupling,


1 = CONVERGE + GT-SUITE coupling. CONVERGE controls the coupled
simulation. Boundary information is extrapolated.
3 = CONVERGE + GT-SUITE coupling. CONVERGE controls the coupled
simulation. Boundary information is taken from a local sub-region average.
6 = CONVERGE + GT-SUITE coupling. GT-SUITE controls the coupled simulation.
Boundary information is taken at the interface location. You must set gti_f lag = 6 or
13 for GT-SUITE/FSI coupling.
13 = CONVERGE + GT-SUITE coupling. GT-SUITE controls the coupled simulation.
Boundary information is taken from a local sub-region average. You must set gti_f lag
= 6 or 13 for GT-SUITE/FSI coupling.

gti_f ile_name Name of the file that contains the GT-SUITE model parameters. Used only when
gti_f lag is non-zero.

gti_code_name Name of the GT-SUITE executable (e.g., GTPOWER, GTSUITE, or GTSUITEmp) that
couples with CONVERGE. Used only when gti_f lag is non-zero.

gti_version Version number for GT-SUITE that enables CONVERGE to find the server files of GT-
SUITE (GTLINK). Used only when gti_f lag is non-zero. CONVERGE 2.4 is
compatible with GT-SUITE versions 7.3, 7.4, 7.5, 2016, and newer.

You can select four coupling types for CONVERGE + GT-SUITE simulations. Two coupling
types, flow coupling and pressure coupling, are available for any option of gti_f lag. The
other two coupling types, mass flow coupling and mass-pressure coupling, are only
available for gti_f lag = 6 or greater. These latter two coupling types guarantee mass
conservation.

To set up GT-SUITE boundaries in boundary.in, enter the keyword GT-SUITE. The number
that follows the keyword GT-SUITE refers to the part ID in the GT-SUITE file. You must
set boundary conditions for passives, tke, and eps. Note that the passive row specifies the
number of passives you are not coupling with GT-SUITE (e.g., the passives for which you
are specifying values). CONVERGE will automatically couple with GT-SUITE any passives
listed in species.in for which you do not specify a value. Figure 8.34 below is an excerpt of a
boundary.in file that includes a GT-SUITE boundary. In this simulation, all passives are
coupled with GT-SUITE.

254 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 8
Boundary Conditions |GT-SUITE Boundary Type

#!csi_version=2.4
#=======================

16 # Number of boundaries defined


gti_flag 1
gti_file_name EngCylinderCFD_Demo_ds18
gti_code_name GTpower
gti_version v7.3

#####################
# Exhaust Outflow 1
#####################
7
GT-SUITE 2
passive dirichlet 0
tke intensity 0.02
eps length_scale 0.003
region 2
Figure 8.34: Configuration of a GT-SUITE boundary in boundary.in.

CONVERGE 2.4 Manual 255


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

9
Physical Properties and Reaction Mechanisms
Chapter 9
Physical Properties and Reaction Mechanisms |

9 Physical Properties and Reaction Mechanisms


CONVERGE obtains thermodynamic information from the data (*.dat) files, which are
described in this chapter.

CONVERGE generates the gas properties from the polynomial coefficients located in the
thermodynamic data file (e.g., therm.dat and/or tabular_therm.dat). The gas.dat file contains
additional gas properties, and the reaction mechanism file (e.g., mech.dat) contains
information about the chemical reactions that occur in the gaseous phase. The liquid and
solid properties are specified in liquid.dat and solid.dat, respectively. This chapter also
describes the species.in file, in which you can define several different types of species, and
the skip species feature, which can reduce the computational expense of your simulation.

For custom fluid properties, CONVERGE includes an interface utility for calculating fluid
properties using the CoolProp library.

9.1 Gas Properties


Gas properties are specified in gas.dat, as well as in the thermodynamic data (e.g.,
therm.dat and/or tabular_therm.dat) and reaction mechanism (e.g., mech.dat) files.

CONVERGE assumes that ideal gas mixture assumptions are valid when determining the
properties of gas mixtures, and thus CONVERGE evaluates gas mixture properties as

M M M M
e   emYm , h   hmYm , s   smYm , cp   cp , mYm
m 1 m 1 m 1 m 1

(9.1)
M M M
cv   cv , mYm , W   Wm Xm , and    m ,
m 1 m 1 m 1

where the summation is over all M species, h is the enthalpy, s is the entropy, Xm is the
species mole fraction, Ym is the species mass fraction, cp is the specific heat at constant
pressure, cv is the specific heat at constant volume, W is the molecular weight, and r m is the
species density.

258 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

9.1.1 Thermodynamic Data Input Files


Each gas phase species in a CONVERGE simulation must have species-specific
thermodynamic data in a thermodynamic data file (e.g., therm.dat) or a tabular file named
tabular_term.dat. For simplicity, here we will assume that the thermodynamic data file is
named therm.dat.

The therm.dat file can be in either NASA 7 or NASA 9 format, both of which are described
in Chapter 22 - Input File Reference.

Calculation of Thermodynamic Properties


For both the NASA 7 and NASA 9 formats, CONVERGE calculates the Gibbs free energy,
heat capacity at constant volume, and internal energy from

Gmo  H mo  TmSmo , (9.2)

o
Cvm  Cpm
o
 R, (9.3)

and

Umo  H mo  RTm , (9.4)

respectively, where Gom is the specific (per unit mass) Gibbs free energy and Uom is the
specific internal energy.

tabular_therm.dat
CONVERGE supports species-specific thermodynamic data saved in a tabular format. If
both a thermodynamic data file and a tabular thermodynamic data file are saved to the
Case Directory and if both of these files contain data for the same species, CONVERGE
will use the data from the tabular thermodynamic data file. If you have a file that contains
thermodynamic properties in tabular format, name this file tabular_term.dat and save it in
the Case Directory. For a detailed description of this file, consult Chapter 22 - Input File
Reference. The tabular_therm.dat file contains thermodynamic properties in 10 K intervals
from 0 K to 5000 K. Although CONVERGE will extrapolate these physical properties to
max_temp in inputs.in, which may be greater than 5000 K, it it important to note that these
properties are reliable only from 0 K to 5000 K.

Cleaning Utility

CONVERGE 2.4 Manual 259


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

Use the cleantherm utility to condense your thermodynamic data file so that it lists only the
species contained in the reaction mechanism file. To run this utility, go to your Case
Directory and type the following command:

converge cleantherm

CONVERGE will read the thermodynamic data and reaction mechanism files in the Case
Directory and generate a therm_cleaned.dat file that contains only the species listed in the
reaction mechanism file.
9.1.2 gas.dat and transport.dat
For a simulation with gases, CONVERGE requires a gas.dat file (if species_dif f usion_model =
0 in inputs.in) or a transport.dat file (if species_dif f usion_model = 1).

gas.dat
The gas.dat file contains gas viscosity and conductivity data in 10 K increments starting
from 0 K. The gas.dat data must go at least to the max_temp (specified in inputs.in) or to
5000 K, whichever is lower. If the max_temp exceeds 5000 K and if the gas.dat file contains
data only to 5000 K, CONVERGE will perform a zero-order extrapolation to obtain gas
property data up to the maximum temperature.

For a detailed description of this file, consult Chapter 22 - Input File Reference.

transport.dat
The transport.dat file is CHEMKIN-formatted. For a detailed description of this file, consult
Chapter 22 - Input File Reference.
9.1.3 Species-Dependent Critical Properties of Gases
For a simulation with multiple gas species, you can include species-dependent critical
temperatures, critical pressures, and/or acentric factors. These data are used only when
eos_f lag = 1, 2 or 3 in inputs.in. To include species-dependent data, specify a file name (e.g.,
crit_cond.dat) instead of a value for crit_temp, crit_pres, and/or acentric_f actor in inputs.in.
For a simulation that includes composite species, CONVERGE will calculate the critical
properties of the composite from the species-specific critical properties in crit_cond.dat.

Figure 9.1 shows an excerpt of an inputs.in file. In this example, crit_temp, crit_pres, and
acentric_f actor each specify a file name (crit_cond.dat) instead of a value. The crit_cond.dat
f ile will contain the species-dependent gas property data. For a detailed description of
crit_cond.dat, consult Chapter 22 - Input File Reference.

260 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

.
# properties
1 gas_compressible_flag
0 liquid_compressible_flag
0 lhv_flag
0 tabular_fluid_prop_flag
0 eos_flag
0 real_gas_prop_flag
6.0 max_reduced_pres
crit_cond.dat crit_temp
crit_cond.dat crit_pres
crit_cond.dat acentric_factor
.
Figure 9.1: An excerpt of inputs.in in which species-dependent gas properties (crit_temp, crit_pres,
acentric_f actor) are specified via crit_cond.dat.

9.1.4 Reaction Mechanism Input File


The reaction mechanism file (e.g., mech.dat) lists the gas-phase elements and species used in
the simulation. If your simulation invokes the SAGE detailed chemistry solver, mech.dat
must also include reaction data. Note that the species names and information defined in
the reaction mechanism file must be consistent with the species names specified in
initialize.in. For a detailed description of mech.dat, consult Chapter 22 - Input File
Reference.

Each reaction specified in mech.dat lists the pre-exponential factor A i (in centimeters, grams,
or seconds, depending on the reaction), the temperature exponent bi (dimensionless), and
the activation energy Ei (the default units are cal/gm-mole) in the Arrhenius equation

 Ei 
k f i  AiT i exp   (9.5)
 RuT 

for the forward rate constant of the ith reaction kf i. You can change the units for activation
energy Ei to KJ/mole instead of the default cal/gm-mole by including the keyword
KJOULE/MOLE in the same line as the reactions keyword. Only the forward rate constant
is typically defined in mech.dat and CONVERGE will calculate the reverse rate constant kri
as

kfi (9.6)
kri  ,
Kci

where Kci is the equilibrium constant determined from thermodynamic properties. You can
activate other reaction options, including the reverse reaction, as described in the following

CONVERGE 2.4 Manual 261


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

sections. For a sample mech.dat with reaction options activated, refer to Chapter 22 - Input
File Reference.

REV Reaction Option


To specify the reverse rate constant for a reaction in a reaction mechanism file, add a row
after the reaction with the keyword REV and values for A i, bi, and Ei, in that order.

Three Body Reaction Option


Some reactions require a third body for the reaction to proceed. A third body is often
needed in dissociation or recombination reactions such as

H  O2  M  HO2  M . (9.7)

In such a reaction involving K chemical species, the rate of progress for the ith reaction is
given by

 K
 K

K
  
qi     ki Xk   k f i  Xk  ki  kri  Xk  ki  , (9.8)
 k 1  k 1 k 1 

where nki are integers representing stoichiometric coefficients, the superscript ' indicates
f orward stoichiometric coefficients, indicates reverse stoichiometric coefficients, [Xk] is the
molar concentration of the kth species, and kf i and kri are the forward and reverse rate
constants, respectively. If all of the species in the mixture contribute equally as third
bodies, then a ki = 1 for all ki and the first factor in Equation 9.8 is the total concentration of
the mixture:

K
M    Xk . (9.9)
k 1

In reality, some species act more efficiently as third bodies than others, and thus you need
to specify the non-unity values of a ki in the reaction mechanism file. You must specify the
species that enhances the efficiency of the reaction and enhancement factor. CONVERGE
allows a maximum of 30 entries for the enhanced third-body species.
Pressure-Dependent Reaction Option
Under certain conditions, some reaction rate expressions depend on both pressure and
temperature. In low-pressure and high-pressure ranges, different forms of these reaction
rate expressions may apply. During pressure and temperature conditions between the two

262 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

limits (low and high pressure), the rate expressions become complicated. To denote a
reaction that is in this range, write the reaction with (+M), as shown,

CH 3  CH 3  M   C2 H 6  M . (9.10)

In reaction mechanism files, CONVERGE allows the Lindemann, Troe, SRI, P-Log, and
Chebyshev methods to represent rate expressions in this range.

Lindemann Format
For pressure-dependent reactions, Arrhenius rate parameters are required for both the
high- and low-pressure-limiting cases. The Lindemann form (Lindemann et al., 1922) of
the rate coefficient blends these two sets of parameters to produce a single pressure-
dependent rate expression. In Arrhenius form, the the low-pressure limit (k0) and high-
pressure limit (k¥) are as follows:

 E0 
k0  A0T  0 exp   , (9.11)
 RcT 

and

 E 
k  AT  exp   . (9.12)
 RcT 

The rate constant at any pressure is then taken to be

 Pr 
k  k   F, (9.13)
 1  Pr 

where the reduced pressure Pr is given by

k0 M 
Pr  , (9.14)
k

and [M] is the concentration of the mixture, which may include enhanced third-body
efficiencies. In the Lindemann form, F is unity in Equation 9.13.

Troe Format

CONVERGE 2.4 Manual 263


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

In the Troe form (Gilbert et al., 1983), F in Equation 9.13 is given by

1
  log Pr  c  
2

log F  1     log Fcent . (9.15)


 
 n  d log P  c  
 r

The constants in Equation 9.15 are

c  0.4  0.67 log Fcent , (9.16)

n  0.75  1.27 log Fcent , (9.17)

d  0.14, (9.18)

and

Fcent  1   exp T /T ***   exp T /T *  exp T ** /T . (9.19)

SRI Format
The blending function F in Equation 9.-6 in SRI format (Kee et al., 1989) is given by

X
  b   T  
F  d  a exp    exp  e
 T , (9.20)
 T   c 

where

1
X . (9.21)
1  log 2 Pr

P-Log (Pressure-Dependent Arrhenius Rate Expressions) Format


When using the P-Log format (Cantera), you must specify different rate parameters for
discrete pressures within the pressure range of interest. When computing the actual
reaction rate CONVERGE will determine the rate parameters using logarithmic
interpolation of the specified rate constants, at the current pressure from the simulation.
The set of pressure points for which you specify rate parameters must include at least two
different pressures. During a simulation, if the current pressure is within 1% of one of the
pressures for which you provided rate constants, then CONVERGE will use that set of rate

264 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

parameters directly. However, if the current pressure is between the pressure points
provided, then CONVERGE will determine the rate by a linear interpolation of ln k as a
function of ln P (natural logarithms) by the following relation,

ln P  ln Pi
ln k  ln ki  ln ki 1  ln k  (9.22)
ln Pi 1  ln P

To calculate the rate of the reaction for a pressure lower than any of those provided,
CONVERGE uses the rate parameters you specified for the lowest pressure. Likewise, in
calculating the rate of the reaction for a pressure higher than any of those you specified,
CONVERGE will use the rate parameters provided for the highest pressure.

Chebyshev (Polynomial-Based) Reaction Rate Format


For selected reactions, you can use the bivariate Chebyshev polynomial to determine a
phenomenological rate coefficient k(T,P) (Cantera) as follows:

NT N P
  (P ),
log k(T , P)    tpt (T) (9.23)
p
t 1 p  1

where a tp are the constants defining the rate, f n(x) is the Chebyshev polynomial of the
first kind of degree n evaluated at x, and

 2T 1  Tmin
1 1
 Tmax
T 1 1 (9.24)
Tmax  Tmin

2 log P  log Pmin  log Pmax


P  (9.25)
log Pmax  log Pmin

are reduced temperature and reduced pressures which map the ranges (Tmin,Tmax) and
(Pmin,Pmax) to (-1, 1). Note that the Chebyshev polynomials are not defined outside the
interval (-1,1). Therefore, you should not extrapolate rates outside the range of
temperatures and pressures defined for each reaction.
Duplicate Reaction Option
Occasionally two or more reactions use the same set of reactants and products but proceed
through distinctly different processes. To include reactions with the same reactants and

CONVERGE 2.4 Manual 265


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

products but different Arrhenius parameters, include a row with the keyword
DUPLICATE (or DUP) after each line (including the first) that contains the reaction.

Isomer Lumping Reaction Option


CONVERGE can lump together isomer species during the mechanism reduction process.
In the species section of the reaction mechanism file, use the prefix ism- to indicate a
lumped isomer species. In the reactions section of the reaction mechanism file, include the
LUMP keyword in the row below any reaction that includes a lumped isomer species. (The
LUMP keyword is necessary because the presence of a lumped isomer species requires a
change in the calculation of the reaction rate.)

In the following section, cj is the concentration of species j (j represents the X, Y, Z, ismX,


and ismY species in the following equations), a represents the specific constant associated
with a lumped reaction (Lu and Law, 2008), and rest of the symbols and notations have
their usual meaning.

Type 1:
The reaction has a lumped isomeric species ismX and Y as reactants to form Z as
shown in Figure 9.2 below.

ismX + Y =Z
/LUMP/alphaX/
Figure 9.2: An excerpt of a reaction mechanism file showing TYPE 1 lumped reaction.

The reaction rates (q) for the lumped reactions are calculated as given by Equations
9.26, 9.27, 9.28, 9.29.

qf
q f _ lumped  (9.26)
X

qr _ lumped  qr (9.27)

where

 Ea 
q f  cismX cY AT  exp    (9.28)
 RT 

and

266 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

 Ea 
qr  cZ ArevT  exp    (9.29)
 RT 

Type 2:
The reaction has lumped isomeric species ismX and ismY as reactants to form Z as
shown in Figure 9.3 below.

ismX+ismY = Z
/LUMP/alphaX/alphaY
Figure 9.3: An excerpt of a reaction mechanism file showing TYPE 2 lumped reaction.

The reaction rates (q) for the lumped reactions are calculated as given by Equations
9.30, 9.31, 9.32, 9.33.

qf
q f _ lumped  (9.30)
 XY

qr _ lumped  qr (9.31)

where

 Ea 
q f  cismX cismY AT  exp    (9.32)
 RT 

and

 Ea 
qr  cZ ArevT  exp    (9.33)
 RT 

Type 3:
The reaction has X and Y as reactants to form an isomeric species Z as shown in Figure
9.4.

X+Y = ismZ
/LUMP/alphaZ/
Figure 9.4: An excerpt of a reaction mechanism file showing TYPE 3 lumped reaction.

CONVERGE 2.4 Manual 267


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

The reaction rates (q) for the lumped reactions are calculated as given by Equations
9.34, 9.35, 9.36, 9.37.

q f _ lumped  q f (9.34)

qr
qr _ lumped  (9.35)
Z

where

 Ea 
q f  cXcY AT  exp    (9.36)
 RT 

and

 Ea 
qr  cismZ ArevT  exp    (9.37)
 RT 

Type 4:
The reaction has an isomeric species X and Y as reactants to form an isomeric species Z
as shown in Figure 9.5.

ismX+Y = ismZ
/LUMP/alphaX/alphaZ/

Figure 9.5: An excerpt of a reaction mechanism file showing TYPE 4 lumped reaction.

The reaction rates (q) for the lumped reactions are calculated as given by Equations
9.38, 9.39, 9.40, 9.41.

qf
q f _ lumped  (9.38)
X

qr
qr _ lumped  (9.39)
Z

where

268 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

 Ea 
q f  cismX cY AT  exp    (9.40)
 RT 

and

 Ea 
qr  cismZ ArevT  exp    (9.41)
 RT 

Fractional Order (FORD) Reaction Option


The fractional order (FORD) reaction option allows you to modify stoichiometric
coefficients to account for fractional order reactions. The non-integer FORD value
overrides the stoichiometric coefficients in

M M
  
qr  k f r  Xm  m ,r  krr  Xm  m ,r , 9.42
m 1 m 1

where  m ,r and  m ,r are the stoichiometric coefficients for the reactants and products,
respectively, for species m; [Xm] is the molar concentration of species m; kf r and krr are the
forward and reverse rate coefficients, respectively; and qr is the rate of progress for the rth
reaction.
User-Defined Reaction Rate
You can define reaction rates for simulations involving detailed chemistry that have
reaction parameters that are not necessarily in Arrhenius format. For user-defined reaction
rate reactions, you still need to include values for the three Arrhenius rate parameters
immediately following the reaction itself, but CONVERGE will not use these values.
Instead, CONVERGE will reference the user_reaction_rate.c user-defined function.
9.1.5 Ionization Reactions
Ionization occurs during combustion in gasoline and diesel engines. CONVERGE can
simulate gas ionization reactions when you add electron constants to the reaction
mechanism and thermodynamic data files.

In the elements section of the reaction mechanism file, you must include the electron
species name with the electron mass, e/5.447e-4/, in atomic mass units. In the species
section, you must also include the electron species name, e, and in the reactions section,
you must include any ionization reactions. Figure 9.6 below shows a reaction mechanism
file that contains ionization information.

CONVERGE 2.4 Manual 269


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

elements
h c o n e/5.447E-4/
end

specie
c7h16 o2 n2 co2 h2o
co h2
h2o2 ho2 oh
h o
no n ch
e hco+ h3o+
end

reactions
hco+ + h2o = h3o+ + co 1E+16 -0.09 0
h3o+ + e = h2o + h 2.291E+18 -0.5 0
end
Figure 9.6: A sample reaction mechanism file for an ionization reaction.

In the thermodynamic data file, you must list the thermodynamic coefficients for the
electron (e), which is a massless gas, as well as any ionized species (e.g., H3O+) that are
part of a ionization reaction. Figure 9.7 below shows an example thermodynamic data file.

thermo
300.000 1000.000 5000.000
e GAS L 6/88e 1 0 0 0g 200.000
5000.000 1000. 1
0.25000000E+01 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 2
-0.74537500E+03-0.11720813E+02 0.25000000E+01 0.00000000E+00 0.00000000E+00 3
0.00000000E+00 0.00000000E+00-0.74537500E+03-0.11720813E+02 0.00000000E+00 4
h3o+ ATcT Ah 3o 1e -1 0g 298.150
5000.000 1000. 1
2.49647765E+00 5.72844840E-03 -1.83953239E-06 2.73577348E-10 -1.54093917E-14 2
7.16244227E+04 7.45850493E+00 3.79295251E+00 -9.10852723E-04 1.16363521E-05 3
-1.21364865E-08 4.26159624E-12 7.14027518E+04 1.47156927E+00 7.25739701E+04 4
end
Figure 9.7: Sample thermodynamic data file for an ionization reaction.

9.1.6 Mechanism Merge


Because most mechanisms are developed for specific fuels, it can be difficult to find a
mechanism that includes all of the required fuel species. It may be convenient to merge
two reactions or to develop a surrogate fuel and add extra species and reactions to a
mechanism. The mechmerge utility can be used for either of these tasks.

It is important to use the mechmerge utility with care. The reaction path of the resulting
mechanism may deviate from the original, and merging mechanisms can change quantities
such as flamespeed and ignition delay. Due to the complexity of the mechanism merge
utility, we recommend using CONVERGE Studio to run it. Refer to the Chemistry chapter
in the CONVERGE Studio 2.4 Manual.

270 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

Running mechmerge
The mechmerge utility requires two mechanism files (mech1.dat and mech2.dat) and two
thermodynamic files (therm1.dat and therm2.dat), all of which must be saved in the Case
Directory. The mechanism files should be in the format specified in the Reaction
Mechanism Input File section, and both the thermodynamic files should be in the same
format (either NASA 7 or NASA 9, as specified in the Thermodynamic Data Input File
section).

You must follow a three-step process to merge mechanisms via mechmerge. In the first two
steps, CONVERGE searches the mech*.dat and therm*.dat files for conflicts. After you
resolve any conflicts, in the third step CONVERGE writes the final reaction mechanism
and thermodynamic data files.
mechspec
From the Case Directory, enter

converge mechspec

or

converge mechspec2

to prompt CONVERGE to write three output files: mech_check1.dat, mech_check2.dat, and


conf licts1.dat. CONVERGE lists each species and reaction mechanism for the corresponding
mech*.dat file in mech_check1.out and mech_check2.out. The ELEMENTS section of the
conf licts1.dat contains a list of elements that are found in only one of the two mech*.dat
files. The SPECIES section of conf licts1.dat differs based on which command you use. The
mechspec command populates conf licts1.dat with conflicts due to species that contain the
same elements but have different names or species that have the same name but contain
different elements. The mechspec2 command populates conf licts1.dat with species that are
found in only one of the mech*.dat files in addition to the previously listed conflicts.

After running mechspec1 or mechspec2, you should edit conf licts1.dat to resolve conflicts in
the SPECIES section. (You do not need to make any changes to the ELEMENTS section.) If
you do not resolve SPECIES conflicts, CONVERGE will write conflicting species to the final
reaction mechanism file in the third step of mechmerge, which may lead to incorrect
simulation results. Figure 9.8 below shows an example conf licts1.dat file with corrections.
In the SPECIES section of conf licts1.dat, a comment character (!) precedes the conflict
descriptions. After the conflict description, there is a list of each species that is part of the
conflict. A 1/ (for mech1.dat) or a 2/ (for mech2.dat) and a number that matches the
species number found in the corresponding mech_check*.out file precede the species name.
For example, if 1/51/C12H25O2 is the species description, C12H25O2 is the species found

CONVERGE 2.4 Manual 271


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

in mech1.dat and is listed as 51 in mech1_check.out. If two species have the same name, one
species must either be deleted or renamed because the final reaction mechanism file in
CONVERGE cannot have any species with duplicate names.

To delete a species in conf licts1.dat, type /0 without any spaces after the species name, e.g.,
2/175/C12H25/0. To rename a species, type a new name between / symbols, e.g.,
2/16/T-CH2/CH2/.

ELEMENTS
HE
G
END
.
.
.
SPECIES
! mech1 species not found in mech2 and are not conflicting
1/51/C12H25O2
1/52/C12OOH
1/53/O2C12H24OOH
! mech2 species not found in mech1 and are not conflicting
2/14/C
2/15/CH
2/158/C7H13/0
2/180/HE/0
! ELEMENTS are the same between mech1 and mech2 species
1/11/CH2 2/16/T-CH2/CH2/
1/11/CH2 2/23/S-CH2
1/12/CH2* 2/16/T-CH2
1/12/CH2* 2/23/S-CH2/CH2*/
1/26/AC3H5 2/44/S-C3H5
1/26/AC3H5 2/47/A-C3H5/AC3H5/
1/26/AC3H5 2/54/T-C3H5
1/49/S3XC12H25 2/175/C12H25/0
! NAMES are the same between mech1 and mech2 species
END

Figure 9.8: Sample of conflicts and edits in the SPECIES section of conf licts1.dat.

mechreac
Once you have edited the conf licts1.dat file, enter

converge mechreac

or

converge mechreac2

With either command, CONVERGE writes the conf licts2.dat file. If you use mechreac,
conf licts2.dat lists thermodynamic and reaction conflicts based on edits from conf licts1.dat.
If you use mechreac2, conf licts2.dat does not list conflicts because CONVERGE uses

272 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

mech1.dat/therm1.dat information as a default unless mech2.dat has new species and


corresponding reactions. Since no conflicts are listed when using the mechreac2 command,
the remaining information in this section will refer to the conf licts2.dat file generated from
mechreac.

In the THERMO section of conf licts2.dat, CONVERGE writes the thermodynamic conflicts
between duplicate species (i.e., same name and elements) that have different LOW or
HIGH thermodynamic coefficients. In the REACTIONS section, CONVERGE writes the
reaction conflicts due to the species having the same names but have differences in the
reaction coefficients for FORWARD, DUPLICATE, REVERSE, LOW, TROE, PLOG, FORD,
LUMP, and THIRD-BODY reaction types. The conf licts2.dat file groups the reaction
conflicts based on the type of reaction:
· same species but different FORWARD rate coefficients
· same species and forward rate coefficients but different REVERSE rate coefficients
· same species and forward rate coefficients but different LOW rate coefficients
· same species and forward rate coefficients but different TROE coefficients
· same species and forward rate coefficients but different PLOG pressures and rate
coefficients
· same species and forward rate coefficients but different FORD species and
coefficients
· same species and forward rate coefficients but different LUMP rate coefficients
· same species and forward rate coefficients but different THIRD-BODY species and
coefficients
· same species but different FORWARD rate coefficients but where one mech has a
group of DUPLICATE reactions or where one mech has a group of only
nonreversible (forward only, =>) reactions choose the single or group of reactions to
be merged
· same species but different FORWARD rate coefficients and are designated
DUPLICATE
· please delete which DUPLICATE group not wanted, the first reaction of each
group is listed

Figure 9.9 shows an example conflict in the THERMO section. The conflict arises because
the species CO, which has the same elements and number of elements in both
mechanisms, is found to have different LOW and HIGH coefficients. Because the
therm1.dat file lists the species as number 16, and the therm2.dat file lists the species as
number 15, CONVERGE lists the conflicted species as [16][15/] in conf licts2.dat.

CONVERGE 2.4 Manual 273


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

A species requires exactly one set of thermodynamic data. The mechmerge utility
automatically uses therm1.dat data unless the first number in brackets has / added
afterwards, instead of the second number. For example, to choose the thermodynamic
data from therm2.dat, you must edit the species numbers in conf licts2.dat in Figure 9.9 as
[16/][15].

There should be no thermodynamic data conflicts for species with only the same elements.
If there is a conflict listed, the mechmerge utility is not reliable. In this case, please contact
the Convergent Science Applications team for assistance.

THERMO
!
! species with the same NAME and ELEMENTS
!
[16][15/]
CO C 1O 1 G 300.00 5000.00 1000.00 1
3.02507800E+00 1.44268900E-03-5.63082800E-07 1.01858100E-10-6.91095200E-15 2
-1.42683500E+04 6.10821800E+00 3.26245200E+00 1.51194100E-03-3.88175500E-06 3
5.58194400E-09-2.47495100E-12-1.43105400E+04 4.84889700E+00 4
CO C 1O 1 G 200.00 3500.00 1000.00 1
2.71518561E+00 2.06252743E-03-9.98825771E-07 2.30053008E-10-2.03647716E-14 2
-1.41518724E+04 7.81868772E+00 3.57953347E+00-6.10353680E-04 1.01681433E-06 3
9.07005884E-10-9.04424499E-13-1.43440860E+04 3.50840928E+00 4
!
! species with only the same ELEMENTS, ERROR if any are listed
!
END
Figure 9.9: Sample conflict in the THERMO section of conf licts2.dat.

You edit the REACTIONS conflicts, as shown in Figure 9.10, with the same procedure as
the THERMO section. Each reaction conflict has numbers in brackets that correspond to
the reaction number found in the mech_check*.out files. Similar to the THERMO section, the
mechmerge utility automatically uses the rate coefficients from mech1.dat unless the first
number in brackets has / after it. Then, the mechmerge utility uses the mech2.dat rate
coefficients for that particular reaction.

REACTIONS
!
! same species but different FORWARD rate coefficients
!
! same species and forward rate coefficients but different REVERSE rate coefficients
!

[71][112/]
C2H2+OH=CH2CO+H 2.19000E-04 4.500 -
1.00000E+03
REV/ 2.16100E-03 4.500 1.96600E+04 /
C2H2+OH=CH2CO+H 2.19000E-04 4.500 -
1.00000E+03
!
! ...different LOW rate coefficients

274 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

!
! ...different TROE coefficients
!
! ...different PLOG pressures and rate coefficients
!
! ...different FORD species and coefficients
!
! ...different LUMP rate coefficients
!
! ...different THIRD BODY species and coefficients
!

[87][44/]
H+O2(+M)=HO2(+M) 1.47500E+12 0.600
0.00000E+00
LOW/ 6.36600E+20 -1.720 5.24800E+02 /
TROE/ 8.00000E-01 1.00000E-30 1.00000E+30 /
H2/2.00/H2O/11.00/O2/0.78/CO/1.90/CO2/3.80/
H+O2(+M)=HO2(+M) 1.47500E+12 0.600
0.00000E+00
LOW/ 3.50000E+16 -0.410 -1.11600E+03 /
TROE/ 5.00000E-01 1.00000E-30 1.00000E+30 /
H2/2.00/H2O/12.00/CO/1.90/CO2/3.80/
!
! same species but different FORWARD rate coefficients but
! where one mech has a group of DUPLICATE reactions or
! where one mech has a group of only nonreversible (forward only, =>) reactions
! choose the single or group of reactions to be merged
!
[92][51/]
!mech1 [92][93]
HO2+HO2=H2O2+O2 4.20000E+14 0.000
1.19820E+04
DUPLICATE
HO2+HO2=H2O2+O2 1.30000E+11 0.000 -
1.62930E+03
DUPLICATE
HO2+HO2=H2O2+O2 3.00000E+12 0.000
0.00000E+00
!
! same species but different FORWARD rate coefficients and are designated DUPLICATE
! please delete which DUPLICATE group not wanted, the first reaction of each group is
listed
!
END
Figure 9.10: Sample of conflicts in the REACTIONS section of conf licts2.dat.

mechmerge
Finally, enter

converge mechmerge

or

converge mechmerge2

CONVERGE 2.4 Manual 275


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

to merge the two mechanisms. If you used mechreac in the second step, use mechmerge in
the final step. If you used mechreac2 in the second step, use mechmerge2 in the final step.
With either of the mechmerge* commands, CONVERGE reads the mechanism and
thermodynamic files (mech1.dat, therm1.dat, mech2.dat, and therm2.dat) along with the
edited conf licts1.dat and conf lict2.dat files. The mechreac/mechmerge commands join together
all of the original information along with the edits. The mechreac2/mechmerge2 commands
join together all of the duplicate reactions and all of the new reactions with new species
fround in mech2.dat. Both commands yield the final reaction mechanism and
thermodynamic data files that you can use to run a simulation.
9.1.7 Mechanism Tune
The mechanism tune utility modifies the reaction A factors in reaction mechanism files
based on target ignition delays and/or laminar flamespeeds using CONGO genetic
algorithm (GA) optimization. This utility runs the zero-dimensional solver with adjoint
sensitivity analysis (ASENS) and/or the 1D premixed laminar flame speed solver (based on
Newton's method) with sensitivity analysis. Then it combines the zero_d_asens_rank.out
and/or the one_d_sens_rank.out files, respectively, to extract a user-specified number of the
most sensitive reactions in the reaction mechanism file. Finally, it writes out case.in,
merit.in, inputs.in, and a modified reaction mechanism file and copies the mechanism and
CONGO files into the directory_name specified in mechanism_tune.in. Mechanism tune is a
pre-processor for running GA using CONGO as it automates the repetitive tasks associated
with GA setup. After the utility has run, you must run the CONGO executable. Note that
congo.in, execute.in, and all of the secondary CONGO files are required in the Case
Directory.

Mechanism Tune Setup


First, choose to optimize your reaction mechanisms based on ignition delay targets,
laminar flamespeed targets, or both. Choose the appropriate solver for your target, since
you can modify the reactions in the reaction mechanism file based on 0D solver's ASENS,
1D Newton solver's sensitivity analysis, or both. Table 9.1 below shows the different
combinations by which reaction mechanism files can be tuned using the mechanism tune
utility.

Table 9.1: Compatibility of targets with solvers within the mechanism tune utility.
Target/ Sensitivity 0D solver with ASENS 1D Newton solver 0D solver with ASENS
with sensitivity +
analysis 1D solver with
sensitivity analysis

Ignition Delay Targets Yes No No

Laminar Flamespeed No Yes No


Targets

276 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Gas Properties

Target/ Sensitivity 0D solver with ASENS 1D Newton solver 0D solver with ASENS
with sensitivity +
analysis 1D solver with
sensitivity analysis

Both Ignition Delay Yes Yes Yes


Targets and
Laminar Flamespeed
Targets

The required input files are dependent on your choices above. You will need:
· a reaction mechanism file
· a thermodynamic data file
· transport.dat
· CONGO files (congo.in, execute.in, the CONGO executable, and any system files listed in
execute.in)
· mechanism_tune.in
· mechanism_tune_targets.in
· solver files (for the 0D solver, zero_d_cases.in and zero_d_solver.in and for the 1D Newton
solver, one_d_cases.in and one_d_solver.in)

The mechanism_tune.in file specifies the information required to run the utility, while
mechanism_tune_targets.in lists the targets toward which the reaction mechanism will be
tuned. Note that if you use the 0D solver, you must specify ignitiondelay targets in
mechanism_tune_targets.in. If you use the 1D Newton solver, you must specify f lamespeed
targets in mechanism_tune_targets.in.

Please refer to Chapter 22 - Input File Reference for more information on the input files
used here and to Chapter 23 - Output File Reference for more information on
mechanism_tune.out.

Mechanism Tune Execution


To run the mechanism tune utility, go to the Case Directory and type

converge mechtune

When this utility is finished, it will write mechanism_tune.out, which specifies the reaction
numbers of the reactions that will be modified during the GA as well as setup files for a
CONGO run. You must run the CONGO executable. Note that you can open and edit the
generated CONGO input files (case.in and merit.in) in CONVERGE Studio or in an editor
prior to running CONGO if you wish to change target (merit.in) or reaction (case.in)
parameters.

CONVERGE 2.4 Manual 277


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Liquid Properties

9.2 Liquid Properties


The liquid.dat file specifies liquid properties: critical temperature, viscosity, surface tension,
latent heat of vaporization, vapor pressure, conductivity, density, and specific heat, all in
SI units.

The liquid properties are specified in 10-K intervals from 0 K to the critical temperature. If
liquid properties are independent of temperature, simply specify the same properties for
each temperature in the list. For a detailed description of this file, consult Chapter 22 -
Input File Reference. In CONVERGE Studio, you can check the Constant liquid properties
box in the Materials > Liquid simulation dialog box to use only the first row of liquid
property values for all temperatures.

In a multi-component liquid parcel, mass-averaged viscosity, mass-averaged surface


tension, and volume-averaged density are calculated for each parcel.

Convergent Science has created a gasoline surrogate known as CSI_Gasoline_v1. The


composition of this surrogate is 50% isooctane, 35% decane, 10% pentane, and 5%
dodecane. In CONVERGE Studio, go to Materials > Liquid simulation > Predef ined liquids to
load the liquid.dat data for this surrogate. We do not recommend specifying these four
components separately as the spray for an injector.
9.2.1 Compressible Liquid Data
If your simulation includes compressible liquids (i.e., if liquid_compressible_f lag = 1 in
inputs.in), the liquid.dat file must contain compressibility data, namely, a reference pressure
(Pa), reference density (kg/m3), and bulk modulus (Pa). After the liquid name, include a line
with the keyword compressible followed by the reference pressure, reference density, and
bulk modulus. CONVERGE calculates the density of the compressible liquid according to

 P  Pref 
 B 
   ref e  
, (9.43)

where r ref is the reference density, Pref is the reference pressure, and B is the bulk modulus
(all specified in liquid.dat).
9.2.2 Non-Newtonian Liquids
To simulate non-Newtonian liquids in CONVERGE, use the liquid.dat file to configure the
Herschel-Bulkley model or the Carreau model.

Herschel-Bulkley Model

278 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Liquid Properties

The Herschel-Bulkley model assumes that viscosity varies as a function of shear rate and
that the liquid will not flow until it experiences a certain yield stress. (For Newtonian
liquids, CONVERGE assumes that viscosity is a function of temperature.) Equation 9.44
below gives the expression for shear stress used in this model:

   0  K n1 , (9.44)

where τ0 is the yield stress, K is the consistency index, γ is the shear rate, and n is the
power index. If the shear stress applied to the fluid is less than the yield stress,
CONVERGE assigns the fluid a high viscosity equivalent to the solid viscosity.

To specify a non-Newtonian liquid governed by the Herschel-Bulkley model, include the


HERSCHEL_BULKLEY_MODEL keyword and line, as described in liquid.dat. Additionally,
enter the keyword LIQUID_NON_NEWTONIAN in species.in.

Carreau Model
The Carreau model is an empirical relation and assumes that viscosity (μ) is a function of
shear rate (γ). At low shear rates, the fluid behaves with an effectively constant viscosity,
μ0. At intermediate shear rates, the fluid viscosity exhibits power law behavior, controlled
by the power law index n and the time constant λ. At high shear rates, the fluid behaves
again with an effectively constant viscosity, μ∞. Equation 9.45 below gives the expression
for viscosity.

    (0   )[1  ( )2 ](n1)/2 (9.45)

To specify a non-Newtonian liquid governed by the Carreau model, include the


CARREAU_MODEL keyword and line, as described in liquid.dat. Additionally, enter the
keyword LIQUID_NON_NEWTONIAN in species.in.

9.3 Fluid Property Calculator


CONVERGE includes a utility that serves as an interface for the CoolProp fluid property
library. Use this utility to compute custom tabulated properties to use as inputs for a
CONVERGE simulation. Because the interface utility connects to the online CoolProp
library, you must have a working internet connection.

In the f luid_properties.in file specify the fluid name and ranges of temperature (in K) and
pressure (in MPa) for which to calculate fluid properties such as enthalpy, entropy, specific
internal energy, and compressibility. Enter steps for temperature and pressure (temp_step

CONVERGE 2.4 Manual 279


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Fluid Property Calculator

and pres_step, respectively). The CoolProp interface utility will calculate the desired
properties at intervals equal to the value for the step within the specified range.

To run the utility, execute the command coolprop from the directory that contains your
f luid_properties.in file. The utility will access CoolProp, determine the fluid properties for the
range of temperatures and pressures specified in f luid_properties.in, and write the
properties to f luid_properties.dat.

You can use f luid_properties.dat in place of liquid.dat for a liquid simulation or in place of
gas.dat and a thermodynamic data file (e.g., therm.dat) for a gas simulation. Set
tabular_f luid_prop_f lag = 1 in inputs.in and ensure that real_gas_prop_f lag,
species_solver_f lag, and lhv_f lag are all set to 0. CONVERGE will take the fluid properties
from f luid_properties.dat instead of calculating fluid properties via the equation of state.

9.4 Surrogate Blender


A multi-component surrogate fuel is a mixture of simple fuels whose properties (e.g.,
cetane number, flamespeed) approximate those of a complex target fuel. Key components
of the target fuel can be mixed to create a surrogate, and the composition of the mixture
may vary depending on which properties you want to approximate. To help you
determine the optimal mixture composition for your problem, CONVERGE Studio includes
a surrogate blender tool.

The surrogate blender assumes that mixture properties are a function of its components'
properties and mole fractions, that is,

s   i xi , (9.46)
i

where f s is any property of the mixture, f i is the same property of component i, and xi is
the mole fraction of component i. The blender minimizes f , which is defined as

f   w j R 2j , (9.47)
j

where wj is the importance (or weight) of property j and Rj is the error, defined as

R j  Tj   ij xi , (9.48)
j

280 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Surrogate Blender

where Tj is the value of property j for the target fuel T. The problem is subject to two
constraints: xi must be greater than zero and the sum of xi must equal 1. The blender
eliminates the equality constraint via a Lagrange multiplier and solves the optimization
problem through Newton's method.

For instructions on how to run the blender, please refer to the CONVERGE Studio 2.4
Manual. After running, you must convert the resultant mole fractions to mass fractions for
use in a CONVERGE simulation.

The surrogate blender can import and export blender.in files and can export blender.out
files.

9.5 Solid Properties - solid.dat


Specify values for properties of solids in the simulation in the solid.dat data file. This file
includes data for melting point, density, specific heat capacity, and conductivity, all in SI
units. For a detailed description of this file, consult Chapter 22 - Input File Reference.

9.6 Species Definitions - species.in


You can define species that are not already defined in the reaction mechanism file via the
species.in file. The species.in file introduces species of various types and phases by using the
keywords PARCEL, GAS, LIQUID, LIQUID_NON_NEWTONIAN, SOLID, PASSIVE, and
PASSIVE_NT. Typically, species.in is used to specify the spray parcels; gas, liquid, and solid
species; and passives and non-transport passives.

Any gas-phase species that is defined in the reaction mechanism file does not need to be
defined in species.in.

For GAS species, the thermodynamic properties for the corresponding species must be
available in the thermodynamic data file. The transport properties for gas-phase species
are defined in gas.dat. The liquid properties for any PARCEL, LIQUID, and/or
LIQUID_NON_NEWTONIAN species that appear in species.in must be available in
liquid.dat. Likewise, the solid properties for SOLID species in species.in must be available in
solid.dat.

To see how to generate total mass, mass fraction, and other output for each species, refer
to the description of species_output_f lag in Chapter 22 - Input File Reference.

For PASSIVE species, you must also specify the Schmidt number of the species.

Non-Transport Passives

CONVERGE 2.4 Manual 281


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Species Definitions - species.in

Specify non-transport passives by include the name of each non-transport passive after the
keyword PASSIVE_NT in species.in. You can use non-transport passives to numerically
store conserved scalars in the domain. You can create custom names for passives and
manually initialize the values of these passives, or you can include pre-defined names of
passives (including non-transport passives for turbulence statistics) that CONVERGE can
use to track specific quantities related to models.

Some of these pre-defined passives are described in the Non-Transport Passives section of
Chapter 22 - Input File Reference. You can also specify user-defined global variables as
non-transport passives.

Species and Passives Output


To generate output for the mass fraction of species and the value of passives, include
keywords in the form of massf rac(<species name>) and passive(<passive name>) in the post.in
file.

For example, to generate output for the tur_f lamethickness passive, you must include
tur_f lamethickness under PASSIVE_NT in species.in, and you must include the term
passive(tur_f lamethickness) in post.in. Then CONVERGE will write output for this passive in
the post*.out files.

Refer to the post.in section in Chapter 22 - Input File Reference for information about how
generate output for non-transport passives.
9.6.1 Skip Species
The species transport calculations, which CONVERGE performs when species_solver_f lag =
1 in inputs.in, may be computationally expensive. The skip species feature allows
CONVERGE to avoid transporting species that have insignificant mass. By skipping
species that are present only in very small amounts (and by invoking this feature only at
certain times in the simulation), CONVERGE reduces the time required for the species
transport calculations without compromising the accuracy of the simulation results. Skip
species is available only in simulations in which sage_f lag is non-zero. CONVERGE does
not allow the time periods during which skip species is active to overlap with the time
periods during which the combustion model is active.

282 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 9
Physical Properties and Reaction Mechanisms |Species Definitions - species.in

At the skip species start time, CONVERGE sorts the species in descending order by mass.
Beginning at the top of the list, CONVERGE retains species until the cumulative mass
equals or exceeds the user-specified percentage of the total mass. You can force
CONVERGE to keep specific species (e.g., the fuel and oxidizer in an engine simulation)
regardless of mass. In this case, CONVERGE sums the mass of the "keep" species and then
adds species from the mass-ordered list until the sum equals or exceeds the user-specified
percentage of total mass.

CONVERGE converts the discarded hydrocarbons into retained hydrocarbons. There are
two options for the conversion process. You can specify the species and mass fraction(s) to
which the discarded hydrocarbons will be converted. Alternatively, if you do not specify
species and mass fractions, CONVERGE will convert the discarded hydrocarbons into the
retained hydrocarbons according to the mass fractions of the retained hydrocarbons.
Analogous options are available for converting the discarded non-hydrocarbons. It is
important to note that the conversions do not conserve the number of atoms in the
simulation. Also, to avoid changes to total enthalpy due to the conversions, CONVERGE
adjusts the cell temperatures and thus the post-conversion mass may be slightly different.

To activate skip species, set skip_species_f lag = 1 in inputs.in and include the skip_species.in
file in the Case Directory.

CONVERGE 2.4 Manual 283


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

10
Grid Control
Chapter 10
Grid Control |

10 Grid Control
CONVERGE includes several tools for controlling the grid size before and during a
simulation. Grid scaling coarsens or refines the base grid size. Fixed embedding refines the
grid at specified locations and times. Adaptive Mesh Refinement (AMR) automatically
changes the grid based on fluctuating and moving conditions.

The following sections explain CONVERGE's grid control techniques in detail.

10.1 Grid Scaling


Grid scaling refers to changing the base grid size at specified times during a simulation.
Grid scaling can greatly reduce runtimes by coarsening the grid during non-critical
simulation times and can help capture critical flow phenomena by refining the grid at
other times. For example, for an in-cylinder diesel engine simulation that includes spray
and combustion modeling, the grid needs a higher resolution to ensure accurate results
during spray and combustion but lower grid resolution may be sufficient during
compression. Thus you direct CONVERGE to coarsen the grid during compression and
refine the grid when spray begins.

Specify the original base grid size via dx_base, dy_base, and dz_base in inputs.in.
CONVERGE uses the grid_scale parameter in inputs.in to change the base grid size
according to

scaled grid  dx _ base /2 grid _ scale , (10.1)

where grid_scale is the scaling factor (must be an integer) and scaled grid is the new base
grid size. A grid_scale value of 0 will leave the base cells unchanged, a negative value will
coarsen the base grid, and a positive value will refine the base grid. CONVERGE also
scales dy_base and dz_base according to the previous equation.

To determine the grid sensitivity of your case, run multiple simulations with different
values of grid_scale.

You can direct CONVERGE to scale the grid at specified times during a simulation. Specify
a file name (e.g., gridscale.in) instead of an integer for grid_scale.

10.2 Fixed Embedding


Use fixed embedding to refine the grid at specific locations in the domain where a finer
resolution is critical to the accuracy of the solution. For example, when simulating sprays,
you can add an area of fixed embedding by the nozzle to resolve the complex flow

286 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 10
Grid Control |Fixed Embedding

behavior. Fixed embedding allows the rest of the grid to remain coarse to minimize
simulation time. To include fixed embedding in a simulation, set embedded_f lag = 1 in
inputs.in and include an embedded.in file.

For each fixed embedding, you must specify an embedding scale that indicates how
CONVERGE will refine the grid in that location. The embed_scale parameter, which must
be a positive integer, scales the base grid sizes (dx_base, dy_base, and dz_base) according to

dx _ embed  dx _ base /2 embed _ scale. (10.2)

Note that CONVERGE requires two-to-one connectivity between cells, i.e., a cell with an
embed_scale of 2 can be adjacent only to a cell with an embed_scale of 1, 2, or 3. To maintain
the required connectivity, CONVERGE provides cells with intermediate embed_scale values
as necessary. For example, in Figure 10.1 below, the fixed embedding is two levels higher
than the base grid and thus CONVERGE places cells with an embed_scale of 1 between
cells with an embed_scale of 2 (adjacent to the boundary) and cells with an embed_scale of
0.

You can specify a specific time period for each fixed embedding, which can further reduce
your computational time by refining the grid only for a portion of the simulation.

The specific types of fixed embedding are described below. It is important to note that the
shape embedding options (e.g., sphere) may slightly affect the cell count.

Boundary Embedding
Use the BOUND keyword to specify fixed embedding near a boundary. For example,
when simulating flow around a valve, you may want extra resolution near the valve
surface to more accurately model the flow in this section of the domain (see Figure 10.1
below). For a moving surface (e.g., a valve), the embedding will move with the surface
automatically. Identify the boundary by its boundary_id, which must match the value given
in boundary.in. The num_embed parameter, which must be a positive integer, specifies the
number of layers of embedded cells.

CONVERGE 2.4 Manual 287


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 10
Grid Control |Fixed Embedding

Figure 10.1: A visualization of BOUND embedding around a valve.

Sphere Embedding
Use the SPHERE keyword to specify a spherical area of fixed embedding. The sphere is
defined by its center (x_center) and radius.

Cylinder Embedding
Use the CYLINDER keyword to specify a cylindrical or truncated conical area of fixed
embedding. The cylinder is defined by the center (x_center) and radius of one base of the
cylinder, followed by the center and radius of the other base.

Nozzle and Injector Embedding


Use the NOZZLE keyword to specify a conical area of fixed embedding around a nozzle.
Use the INJECTOR keyword to specify a conical area of embedding around all nozzles in
an injector. (If you specify a nozzle or injector embedding in embedded.in and if spray_f lag
= 0 in inputs.in, CONVERGE will give a warning message and ignore the nozzle or injector
embedding.) Use injector_no and nozzle_no to specify the injector and nozzle numbers,
respectively. (Because injectgor embedding applies to all nozzles in the injector, you do not
need to include the nozzle_no for injector embedding.) The first injector listed in spray.in,
and the first nozzle listed for a particular injector, will have injector_no or nozzle_no = 0.
Additional injectors and nozzles will be incremented sequentially by 1. For either nozzle or
injector embedding, you must specify two radii. The first value is the radius of the circular
nozzle opening, which is centered on the nozzle exit and has a normal vector pointing in
the direction of the spray injection. The second value is the radius of the other circular area
of the cone (i.e., the wider base of the cone). The length is the length of the cone.

Figure 10.2 shows a post-processing visualization of the grid generated from a nozzle
embedding.

288 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 10
Grid Control |Fixed Embedding

Figure 10.2: A grid generated using a nozzle embedding (embed_scale


= 2).

Box Embedding
Use the BOX keyword to specify a box of fixed embedding. The box is defined with its
center (x_center) and the half-length of each dimension of the box (x_size).

Region Embedding
Use the REGION keyword to specify fixed embedding for an entire region. For example,
you could use a region embedding to refine the grid in the cylinder of an engine. Identify
the region by its region_id, which must match the value given in initialize.in.

10.3 Adaptive Mesh Refinement


Use Adaptive Mesh Refinement (AMR) to automatically refine the grid based on
fluctuating and moving conditions such as temperature or velocity. This option is useful
for using a highly refined grid to accurately simulate complex phenomena such as flame
propagation or high-velocity flow without unnecessarily slowing the simulation with a
globally refined grid.

Ideally, a good AMR algorithm will add higher grid resolution (embedding) where the
flow field is most under-resolved or where the sub-grid field is the largest (i.e., where the
curvature [gradient] of a specified field variable is the highest). The AMR method in
CONVERGE estimates the magnitude of the sub-grid field to determine where
CONVERGE will add embedding.

To include AMR in a simulation, set amr_f lag = 1 in in inputs.in and include an amr.in file.

AMR Theory
For a scalar, the sub-grid field is defined as the difference between the actual field and the
resolved field or

    , (10.3)

CONVERGE 2.4 Manual 289


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 10
Grid Control |Adaptive Mesh Refinement

where f is the actual scalar field,`f is the resolved scalar field, and f ' is the sub-grid scalar
field. The sub-grid for any scalar can be expressed as an infinite series (Bedford and Yeo
(1993), and Pomraning (2000) given by

2 1  4
   k  kl ,
xk xk 2! xk xk xlxl
(10.4)
1 6
  k  l m  ...
3! xk xk xlxlxmxm

where a [k] is dxk2/24 for a rectangular cell and the brackets, [ ], indicate no summation.
Since it is not possible to evaluate the entire series, only the first term (the second-order
term) in the series is used to approximate the scale of the sub-grid or

 2
   k . (10.5)
xk xk

Note that the above equations can be easily generalized for a vector field, such as velocity.
A cell is embedded if the absolute value of the sub-grid field is above a user-specified value.
Conversely, a cell is released (i.e., the embedding is removed) if the absolute value of the
sub-grid is below 1/5th of the user-specified value.

To limit the number of embedded cells, you can specify a maximum overall number of cells
with the amr_max_cells parameter in amr.in. If the number of cells in the grid reaches the
maximum number, CONVERGE uses the AMR routine to determine where to put the
embedding in a manner that best resolves the flow field and meets the maximum number
of cells. To make optimal use of all of the cells when the cell limit is reached, CONVERGE
will adjust the user-specified sub-grid value criteria as needed. That is, if there are too
many cells, CONVERGE will increase the value of the user-specified sub-grid criteria.

You can also specify a minimum number of cells with the amr_min_cells parameter. If the
pre-AMR cell count is less than the value you specify for amr_min_cells, CONVERGE will
automatically add embedding, based on the sub-grid calculations. That is, CONVERGE
will lower the user-specified sub-grid value until the grid consists of the minimum number
of cells. You can maintain a target range of cells using the amr_max_cells and
amr_min_cells parameters.

To control the cell size, specify a maximum level of embedding with the
amr_<parameter_name>_embed_scale parameter (e.g., amr_vel_embed_scale) for each
condition to which AMR is applied. CONVERGE will apply the maximum embed scale to

290 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 10
Grid Control |Adaptive Mesh Refinement

the base grid af ter applying any grid-scaling specified with the grid_scale inputs.in
parameter or the gridscale.in file.

You can enable AMR for any or as many of the following fields as you wish: velocity,
number of parcels per cell, temperature, void fraction, species, passives, or boundary (y+).
You can specify AMR with a different embedding scale and different sub-grid criterion for
each condition. In addition to the field control, you can specify the time when the AMR
will start and when it will end for each field, similar to fixed and boundary embedding
timing control.

y+ AMR Restriction
In some simulations, the flow conditions may be such that sub-grid scale quantities near
solid walls trigger AMR. The flow features near the wall, however, may not be of interest.
When CONVERGE refines the grid near a wall, the total cell count will increase, which
may prevent additional refinement near relevant flow features. Also, excessive refinement
near the wall may cause the cell count to exceed amr_max_cells, preventing further
refinement. Another problem with AMR refinement near walls is that, if the y+ value of a
cell adjacent to a wall falls outside of the range for the chosen model, law-of-the-wall
models will no longer produce physically realistic results.

To avoid these problems, CONVERGE includes an option for y+ AMR restriction. You can
specify a target value for y+ (on a boundary-by-boundary basis), and CONVERGE will
remove refinement from AMR in an effort to maintain the desired target value. Even if the
new y+ value does not meet the target, CONVERGE will not release more than one level of
AMR refinement at a time. If the y+ value is still below the target value the next time
CONVERGE evaluates AMR, it will again try to release one level of AMR refinement to
achieve the target value. The parameters used to set up y+ AMR restriction are at the end
of the amr.in file.

AMR Example
Figure 10.3 shows post-processing visualizations of a grid generated by AMR for a time-
evolving spray bomb case. In this case, the velocity is allowed to embed three levels while
the temperature is allowed to embed only two levels. The figure shows that cells are only
added when and where they are needed, which significantly reduces the computational
time as compared to a simulation with fixed embedding or with a finer base mesh size.

CONVERGE 2.4 Manual 291


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 10
Grid Control |Adaptive Mesh Refinement

(a)

(b)

(c)
Figure 10.3: Evolution of a combusting spray bomb. This grid was generated by AMR (a) 0.5, (b) 1.0,
and (c) 2.0 milliseconds after the start of the simulation. The left column shows the grid only, while
the right column shows the grid and temperature values (black represents a temperature of
approximately 2800 K) for corresponding times. This case has an ambient temperature of 1000 K, an
ambient density of 14.8 kg/ m3, an orifice diameter of 0.180 mm, and an injection pressure of 136
MPa.

292 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 10
Grid Control |Cell Pairing

10.4 Cell Pairing


CONVERGE uses a modified cut-cell Cartesian grid generation method. The geometry
surface is immersed within a Cartesian block. CONVERGE trims the cells at the
intersecting surface, after which the intersection information (e.g., surface areas, normal
vectors, etc.) is reduced before being stored for each cell. This procedure makes it easier to
represent complex surface intersections. Figure 10.4 shows a post-processing visualization
of the cutting process and what a cut-cell looks like in CONVERGE.

(a) (b)
Figure 10.4: A post-processing visualization of the cut-cell method in
CONVERGE using a sample cut-cell. (a) Geometry showing the general
location of the sample cut-cell. (b) Cutaway view showing the specific
location of the sample cut-cell.

If CONVERGE finds a cut-cell whose volume is less than 30% of the adjacent regular cell,
then the cut-cell and the regular cell are paired together to form a single node. This process
is known as cell pairing. The center of the paired cell is at the volumetric center of the
combined cell. The values of the transport entities (velocity, temperature, pressure) are
shared by the regular cell and the cut-cell. Figure 10.5 is a schematic of cell-pairing.

CONVERGE 2.4 Manual 293


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 10
Grid Control |Cell Pairing

Figure 10.5: Cell pairing.

If you include volume in the cell section of post.in, you will see the combined volume of the
cell-pair as shown below in Figure 10.6.

Figure 10.6: Cell pairing.

Cell pairing is an iterative process, and a set of paired cells need not be a set of two.
Rather, a set might include five or ten cells all paired together. Too much cell pairing along
one direction can lead to the formation of slender cells with a high aspect ratio, which
occurs most frequently along the boundaries. Too many cells with a high aspect ratio can

294 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 10
Grid Control |Cell Pairing

lead to numerical dispersion errors and a less robust simulation. In order to avoid this
problem, you can adopt one of the following strategies:

1. Choose a sufficiently small base grid size.


2. Use fixed embedding in the tight areas of the geometry so that the regular cell size is
comparable with the cut-cell size.

Although the use of smaller cells often increases the cell count, the increased
computational cost may be mitigated by a more well-balanced parallel processing scheme.

There are two non-transport passives that can be used to monitor cell pairing information.
Add NUM_CELLS_IN_PAIR to species.in to track the number of cells that are paired with
one another, which allows you to visualize which cells are paired during the simulation.
Add CELL_PAIR_ID to species.in to give a unique index to cells that are part of the same
cell pair.

CONVERGE 2.4 Manual 295


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

11
Parallel Processing
Chapter 11
Parallel Processing |

11 Parallel Processing
This chapter summarizes the parallel processing capability available in CONVERGE,
which allows simulations to be run on a multi-processor shared memory machine or across
a cluster of distributed memory machines. The parallelization is written using the Message
Passing Interface (MPI) libraries (MPI version 1.2). CONVERGE performs all
parallelization automatically based on parameters in inputs.in.

CONVERGE parallelizes the solution of the mass, momentum, and energy transport
equations independently from the SAGE detailed chemistry solver. The former requires
substantial communication between processors and therefore good load balancing
depends on the specifics of the setup. The detailed chemistry solution does not require
inter-processor communication and parallelizes without regard to these specifics.

Note that you do not explicitly provide the number of processors as an input to
CONVERGE. This information is part of the job submission process that is dependent on
which MPI libraries are being used. CONVERGE performs a function call after starting to
request the number of processes from the MPI libraries.

In parallel CONVERGE simulations, a single processor performs all file read and write
operations. This processor broadcasts and receives data from the rest of the processors
using MPI. The time required for file read and write operations is not affected by the
number of processors used in the simulation.

11.1 Parallelization for Transport Equations


The first step in the parallelization process is to break up the computational domain and
distribute each subsection of it to the processors used for the simulation. CONVERGE first
coarsens the base grid according to the parallel_scale parameter in inputs.in. This parameter
is a negative integer with a default value of -1. If the initial grid consists of 32,768 cells and
you set parallel_scale = -1, the initial grid will be coarsened one level to yield a parallel grid
of 4096 parallel blocks. A parallel_scale value of -2 would result in a parallel grid of 512
blocks. This coarsening is performed because each processor stores the entire geometry and
the entire parallel grid in memory during computation. If you set a non-negative
parallel_scale, CONVERGE will reset it to -1.

After CONVERGE has formed the coarser parallel grid, it partitions this grid into as many
computational regions as there are processors. CONVERGE distributes the parallel blocks
to the processors and then performs a load balance. The load balancing procedure makes
use of the METIS software package (Karypis, 2011).

298 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 11
Parallel Processing |Parallelization for Transport Equations

Once the parallel blocks are distributed, the load balancing procedure (Som et al., 2013)
moves blocks between processors to achieve two goals:

1. Balance the number of parallel blocks so that each processor has the same number
of cells.
2. Minimize the amount of information that will need to be passed between
processors by minimizing the block interface area (i.e., group neighboring parallel
blocks together on the same processor as much as possible).

These two items are evaluated simultaneously, with weighting factors applied to achieve a
suitable balance between them. Placing too much importance on one goal can yield poor
performance for the other. Figure 11.1 below shows an example of a load-balanced four-
processor case modeling flow in a duct.

(a) (b) (c)


Figure 11.1: An example of automatic parallel domain decomposition of a duct: (a) duct surface
geometry; (b) parallel blocks from user-specified parallel_scale, where each blue or red section
represent a single parallel block; (c) assigned domain for four processors, where each color
represents the computational region for a single processor (which is made up of several parallel
blocks).

The load balance algorithm assumes that your computer is homogeneous, and that each
processor used in the simulation has the same speed. As a result, the overall job speed of a
perfectly balanced case will be limited by the speed of the slowest processor.

If you use the grid_scale parameter (in inputs.in) to coarsen the grid at the start of a
simulation, the scaling will force a larger parallel block size and may lead to an initial poor
load balance since the maximum parallel_scale is reduced (i.e., the parallel blocks are

CONVERGE 2.4 Manual 299


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 11
Parallel Processing |Parallelization for Transport Equations

larger). By turning off or reducing the value of grid_scale, CONVERGE will allow smaller
parallel blocks.

The load balancing algorithm in CONVERGE places highest priority on lowering the cell
count on the processors with the highest cell count. If there is a single processor with a cell
count much higher than the average, the load balancing algorithm will not consider the
relative sizes of the remaining computational regions. However, it will still attempt to
make those regions compact (i.e., have a low surface area to volume ratio).

Neglecting communication cost, one processor with a cell count much higher than the
average is much worse than having one processor with a cell count much lower than the
average. For example, let us consider two scenarios with 4 processors and their cell counts
as shown in Table 11.1.

Table 11.1: Cell count in four processors during a load balance cycle.
Processor Number Scenario 1 Scenario 2
Processor 1 10,000 cells 10,000 cells
Processor 2 1,000 cells 2,000 cells
Processor 3 1,000 cells 0 cells
Processor 4 1,000 cells 1,000 cells

Although it appears that Scenario 1 has much better load balance, both will give the same
speed because Processor 1 is the bottleneck in both scenarios.

CONVERGE load balances the parallel grid, not the grid on which it solves the fluid
dynamics. It cannot split a parallel block between two processors, and thus parallel_scale =
-1 will always give the best load balancing. You should only use a different value if you are
running out of memory at the beginning of your simulation. Because the parallel grid
cannot be split, high levels of embedding within those blocks will also tend to result in
poorer load balancing. Because it is case-dependent, here is no strict prescription for how
many levels of embedding you can use before you should reduce the base grid size. Large
regions of embedding may hinder load balancing, but small regions of embedding may not.
For larger regions of embedding, a grid with three levels usually balances acceptably, while
five levels of embedding usually balances poorly.

Cell pairing is not limited by the parallel block setting, and cells can pair across a parallel
block boundary. In some cases, METIS will partition the grid such that a set of paired cells
may be located on different processors. For performance reasons, CONVERGE does not
allow a set of paired cells to be located on more than two processors. If the initial partition
locates a set of paired cells on three or more processors, CONVERGE performs a block

300 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 11
Parallel Processing |Parallelization for Transport Equations

freezing step. For a set of N processors associated with a set of paired cells, the parallel
blocks associated with the first (N-1) processors are frozen together.

Contiguous sets of frozen blocks are termed islands. Islands cannot be split between
multiple processors. After forming islands, CONVERGE re-partitions the grid and checks
again for sets of paired cells on three or more processors. The block freezing and
repartitioning process is performed iteratively until there are no sets of paired cells in the
domain that are located on more than two processors.

Because islands cannot be split between multiple processors, a very large island will tend
to limit load balancing and thus simulation speed, for the same reason that a large region
of embedding will limit load load balancing. You can monitor frozen block islands with
metis_map_f rozen.out.

Simplified Four-Processor Load Balancing Example (in 2D)


Figure 11.2 below graphically describes how reducing the size of the base grid can help to
improve load balancing when running CONVERGE in parallel. This improvement is
especially pronounced in simulations with areas of embedding inside an otherwise coarse
grid.

Here are some key items to note when looking at the load balancing example in the
following figure:

· The smallest allowable block of cells that can be assigned to one processor is double the
dimension of the largest cell. (If the base grid size is 8 mm, the smallest parallel block size
is 16 mm.)
· The criterion that determines the overall runtime of the simulation is the cell count in the
most heavily-loaded processor, not the overall cell count.

CONVERGE 2.4 Manual 301


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 11
Parallel Processing |Parallelization for Transport Equations

(a)

(b)
Figure 11.2: Load balancing for two different base grid sizes. Red lines demarcate parallel blocks,
which can be assigned to different processors. Processor distributions are indicated by heavy
dashed lines. Because the base grid size of (b) is half that of (a), parallel blocks can be more evenly
distributed. In (a), note the bottleneck in Processor I, which has more than three times more cells
than any other processor. Due to the large amount of cells in this processor, (a) has a longer runtime
than (b).

In the example above, even though the total cell count for the configuration on the left (91
cells) is lower than the total cell count for the configuration on the right (103 cells), the
simulation with the smaller base grid [Figure 11.2(b)] will run faster because the most

302 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 11
Parallel Processing |Parallelization for Transport Equations

heavily-loaded processor in Figure 11.2(b) (31 cells) has fewer cells than the most heavily-
loaded processor in Figure 11.1(a) (55 cells).

You can use the metis_map.out file to see how well your simulation is balanced between
processors. This file lists the number of blocks and cells that were assigned to each
processor. If you see a disproportionate number of cells assigned to one processor, consider
decreasing your base grid size. This decrease will likely allow cells to be more evenly
distributed between processors.

Aside from the load balance operation performed at start-up, CONVERGE performs a load
balancing operation based on several other criteria. CONVERGE will load balance when
the grid moves or when embedding is set. It will also perform load balancing operations on
a fixed interval. You can control the frequency of load balancing with the load_cyc
parameter in inputs.in. If you set load_cyc to 100, CONVERGE will load balance every 100
iterations. Note this interval is based on iterations since start-up, not since the last load
balancing operation. Each load balance takes approximately as long as one simulation
time-step.

In order to solve the transport equations in a given cell, CONVERGE needs information
from adjacent cells. In some cases, the adjacent cell will be on another processor, and that
information will need to be communicated across the network. This communication can be
slow relative to a processor clock, and for this reason METIS attempts to minimize the
interface area between computational regions. If you run on more processors, you
inevitably increase this interface area and increase the amount of network traffic. Because
of this increase, the computation time does not scale linearly with the number of
processors, and in fact there is a crossover point at which running on more processors can
actually slow the simulation.

You should run your calculation on enough processors to have some free system memory
on each processor but not so many that your processors are spending all of their time
communicating with each other. The optimal number of processors depends on your
specific system and on the sort of calculation you are performing. For a no-chemistry
simulation, if you have a fast interconnect, approximately 30,000 cells per processor is a
reasonable target. For the same case, if you have a slower interconnect, approximately
100,000 cells per processor is reasonable.

11.2 Parallelization for the SAGE Solver


The METIS load balance used to load balance the transport equations generally would not
evenly divide the detailed chemistry solver's computational load among the processors. If
the SAGE detailed chemistry solver is used, the SAGE portion of the simulation is load
balanced independently of the fluid cells. To reduce the computational expense, SAGE

CONVERGE 2.4 Manual 303


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 11
Parallel Processing |Parallelization for the SAGE Solver

only solves cells that meet fuel and temperature criteria. Frequently, only a portion of the
domain actually needs chemistry to be solved.

For a SAGE simulation that does not include adaptive zoning, CONVERGE uses stiffness-
based load balancing for the SAGE solver (note that you must include the non-transport
passive CHEM_STIFF in species.in). For stiffness-based load balancing, at each time-step the
code calculates the number of SAGE cells on each processor. The processors then
intercommunicate to determine how to best share the load for that time-step. Cells are
weighted by the computational cost of the SAGE calculation on the previous time-step,
and these weighted cell values are distributed evenly. Keep in mind that when solving
chemistry, only relevant node information is passed between processors for the parallel
chemistry (the node itself is not reassigned in the process). The SAGE computations are
local, and the solver does not impose strict communications requirements.

If a SAGE simulation includes adaptive zoning, the chemistry cells are grouped into zones
and CONVERGE solves chemistry once per zone rather than once per cell. For SAGE
simulations that include adaptive zoning, stiffness-based load balancing (described in the
previous paragraph) is optional. This option is invoked by the presence of CHEM_STIFF in
species.in. If you do not invoke stiffness-based load balancing, CONVERGE simply
distributes the combustion zones amongst all available processors.

The SAGE solver is often more computationally expensive than the solution of the
transport equations. However, it scales much better. The cells-per-processor guidelines
given above do not apply if you are running SAGE. You can run efficiently on as many
processors as you have available. CONVERGE has performed detailed chemistry
simulations on over 4,000 processors.

This difference in scaling between non-reacting simulations and simulations using SAGE
means that some cases are best run partly on a small number of processors and partly on a
large number. This split is a good application of the mapping capability described in
Chapter 7 - Initialization and Regions.

11.3 Hardware Considerations


Parallelization inevitably brings potential hardware issues. First and foremost, you should
do everything possible to minimize network bottlenecks. When running over Ethernet
interconnects (regular network cables) it is important to ensure that all machines are
plugged into the same physical switch. Running on multiple switches results in a severe
network bottleneck. Even a single machine on a different switch will be very detrimental to
the overall speed of the calculation. If at all possible, avoid running a parallel computation
over multiple switches.

304 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 11
Parallel Processing |Hardware Considerations

CONVERGE does not use graphical processing units (GPUs) or other heterogeneous
computing architectures. The load balancer assumes that each processor used in the
simulation has the same speed. If a simulation is run on processors of several speeds, the
overall calculation time will be driven by the speed of the slowest machine.

CONVERGE has a limited threading capability. By threading, CONVERGE is able to


dramatically reduce memory overhead and substantially reduce inter-processor
communication. With threading, multiple processor cores on the same compute node share
the local system memory, and they can access it directly. This sharing prevents
unnecessary duplication of simulation data. CONVERGE also does not need to use MPI as
extensively because there is less block interface area between processors that do not share
local memory.

Your exact hardware configuration and the details of your simulation will dictate how
much performance improvement you will see from running CONVERGE with threading
enabled. Generally, systems with many processor cores per node will see larger
performance gains than systems with only a few cores per node. Simulations dominated
by spray or chemistry tend to see the best performance with threading enabled. To
evaluate performance gains, run CONVERGE with threading enabled from the command
line argument -T (see the Getting Started Guide for more information about command line
arguments).

A single transient hardware issue on a single processor can cause an entire job to
terminate. When running a large calculation, it is good practice to increase the frequency
of the restart file writes by reducing twrite_restart in inputs.in.

CONVERGE 2.4 Manual 305


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

12
Discrete Phase Modeling
Chapter 12
Discrete Phase Modeling |

12 Discrete Phase Modeling


This chapter describes the models included in CONVERGE for the discrete phase. The
discrete phase modeling parameters are located in the inputs.in and spray.in files.

To calculate the spray in a simulation, CONVERGE introduces drop parcels into the
domain at the injector location at a user-specified rate. Parcels represent a group of
identical drops (i.e., same radius, velocity, temperature, etc.) and are used to statistically
represent the entire spray field. By using the concept of drop parcels, CONVERGE
significantly reduces the computational time of a simulation involving spray.

Spray droplets are subject to several processes from the time of injection until the time of
vaporization. Table 12.1 below summarizes the main physical droplet processes available
in CONVERGE. The following sections provide a detailed description of each of these
processes.

Table 12.1: Summary of key spray processes available in CONVERGE.


Spray Model Options
Model
Process
Liquid Blob injection model, injection distribution models, variable rate-shape, hollow cone or
injection solid cone, discharge coefficient models
Spray KH, modified RT, modified KH-RT models, KH-ACT, LISA, TAB
breakup
Drop drag Spherical drag, dynamic drag models
Collision O’Rourke model, NTC model
model

Collision O’Rourke, Post


outcomes
model
Drop O’Rourke model, TKE preserving model, LES model
turbulent
dispersion
Drop/wall Rebound/slide model, Wall film model, Vanish model
interaction
Evaporation Multi-component vaporization
model

308 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Liquid Injection

12.1 Liquid Injection


CONVERGE offers two categories of liquid injection mechanisms: injectors and nozzles.
An injector is a group of nozzles that have some of the same characteristics, as described
below. Each injector can have any number of nozzles, each with its own hole size, cone
angle, position, and orientation. The following subsections describe three sets of spray-
related inputs – common inputs for all injectors and nozzles, inputs for injectors, and
inputs for nozzles. This section focuses specifically on liquid injection parameters. Discrete
phase submodels are described in following sections.

Several user inputs apply to all liquid injections defined in a simulation. Choose an option
or specify a value for the following injection details:

· For solid cone sprays, use the cone_dist_f lag to choose to have the parcels (i.e., liquid
mass) more heavily weighted in the center of the cone, or to have them evenly
distributed.
· Initialize drop sizes with inject_distribution_f lag.
· If the Rosin-Rammler injection distribution is selected, you must specify the value of the
distribution parameter q_rr.
· The number of injectors (num_inject) to be included in the simulation.

12.1.1 Injector Inputs


The parameter num_parcelspeciesinit defines the number of liquid species that compose the
spray for the current injector. In the rows below num_parcelspeciesinit, specify the name
and mass fraction for each liquid species. For example, for an injection comprised of 25%
n-heptane and 75% isooctane, use the following inputs in spray.in as shown in Figure 12.1
below.

2 num_parcelspeciesinit
c7h16 0.25
ic8h18 0.75
Figure 12.1: Sample injector inputs for parcel species.

Each liquid species that you specify in spray.in must also be defined as a PARCEL in
species.in and must have data specified in liquid.dat.

Specify values for each of the following parameters, for each injector:
· cone_f lag (defines whether the spray is solid cone or hollow cone),
· start_inject (start of injection timing),
· dur_inject (injection duration),
· tot_parcels (total number of parcels injected per nozzle),
· mass_inject (total mass injected for the injector),
· temp_inject (the temperature of the injected liquid),

CONVERGE 2.4 Manual 309


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Liquid Injection

· rate_shape (the injection rate-shape), and


· num_noz (the number of nozzles).

Specify the start and duration of injection in either seconds or crank angle degrees,
depending on whether a time-based or crank angle-based simulation is specified by the
crank_f lag parameter in inputs.in.

Specify one of two options for injection timing control before the start_inject parameter:
SEQUENTIAL or CYCLIC. To make the injection start at one simulation time and end at
another simulation time, without repeating, enter the keyword SEQUENTIAL followed by
the start_inject and the dur_inject parameters.

To make the injection cycle on and off over a fixed time period, enter the keyword CYCLIC
and the cyclic time period in the same row. Cyclic spray injections greatly reduce the
number of inputs required for multi-cycle spray simulations. Enter the start_inject and
dur_inject parameters in the row below the CYCLIC keyword and cyclic time period. The
cyclic time period must be longer than the injection duration (dur_inject). if a simulation
starts during a CYCLIC injection period, CONVERGE will ignore the amount of fuel that
would have been injected prior to the start time.

Specify the total mass of the injection for one injector with the mass_inject input parameter.
CONVERGE will split this injected mass equally between each nozzle hole for that injector
and subsequently into a number of discrete parcels as specified by tot_parcels. tot_parcels is
the number of parcels injected through each of the injector’s nozzles.

Important Sector Simulation Note: In a sector simulation, the mass_inject parameter


represents the total mass of the injection from the nozzle(s) located in the simulated
sector only. In a sector simulation, the mass_inject parameter does NOT represent the
total injected mass in an entire cylinder.

Specify a rate-shape for each injector via the rate_shape parameter. Enter CONSTANT or a
file name. The specified file (also included in the Case Directory) must contain the velocity
of injection at each time interval. The rate-shape is defined over the injection duration
specified by the dur_inject parameter. Only the shape (and not the magnitudes) of the rate-
shape entries are relevant. CONVERGE normalizes the rate-shape entries so that all of the
liquid mass is injected through the total nozzle area in the specified injection duration. If
the simulation starts in the middle of injection, i.e., start_time in inputs.in is after start_inject
in spray.in, then only the injected mass specified after the start_time is injected.

If the rate-shape for an injector is not constant, specify a file name for the rate_shape
parameter in spray.in, as shown below:

310 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Liquid Injection

"rateshape_inj2.in" rate_shape

The specified file must contain the rate-shape information, as shown below in Figure 12.2.
This file must have two columns. The first column specifies time (seconds or crank) and the
second column specifies the rate_shape, or relative velocity of the spray at the simulation
time indicated. If the simulation time falls between two rate-shape entries, CONVERGE
interpolates the injection velocity to the current time.

Note that the times specified in the crank column of a spray rate-shape input file are
relative to the start of injection time (start_inject). So, in the sample spray_rate.in file shown
in Figure 12.2 below, the crank = 0.0000 entry corresponds to the start_inject time specified
in spray.in. You must specify a spray rate-shape input file as a SEQUENTIAL type of file
(as shown below). If the simulation is a multiple-cycle simulation, the CYCLIC [cycle
period] keywords you specify in spray.in before the injection parameters (as shown in
Figure 12.3 below) will ensure that the entire spray rate process is repeated according to
the cycle period specified.

TEMPORAL
SEQUENTIAL
crank rate_shape
0.0000000 0.00000000
2.0000000 0.19000000
5.0000000 0.36000001
6.3000000 0.50999999
7.1000000 0.63999999
11.000000 0.75000000
11.500000 0.83999997
13.300000 0.91000003
13.700000 0.95999998
14.000000 0.99000001
15.000000 1.00000000
15.800000 0.99000001
16.400000 0.95999998
17.600000 0.91000003
18.100000 0.83999997
19.700000 0.75000000
22.000000 0.63999999
23.100000 0.50999999
26.000000 0.36000001
27.000000 0.19000000
27.300000 0.00000000
Figure 12.2: A sample spray_rate.in file (can be any *.in file name) showing rate-shape inputs at
various simulation times.

You can run engine cases (crank_f lag = 1 in inputs.in) with a variable RPM. For variable
RPM cases with a constant rate-shape, CONVERGE automatically generates a
rateshape_inj<num>.in file for each injector. For variable RPM calculations, you can specify
file names containing tabular profiles for the following three spray injection parameters:
start_inject, dur_inject, and mass_inject.

CONVERGE 2.4 Manual 311


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Liquid Injection

In order to specify profiles for mass_inject and/or dur_inject, you must also specify a profile
for start_inject. The number of entries in the mass_inject and/or dur_inject profiles must
match the number of entries in start_inject.

An excerpt of spray.in specifying profiles for these parameters for a variable RPM engine
case is shown in Figure 12.3 below.

0.0 angle_xy_inj
0.0 angle_xz_inj
0 cone_flag
SEQUENTIAL
start_inject.in start_inject
dur_inject.in dur_inject
50000 tot_parcels
mass_inject.in mass_inject
Figure 12.3: An excerpt of spray.in for variable RPM cases.

A sample input file for the start_inject variable RPM parameter is shown in Figure 12.4
below. You must begin the file with the keyword TABULAR, followed by the keyword
SEQUENTIAL in the next row. The heading of the first column is the keyword value; this
column represents an index of the injection. Each injector would have a different file. The
second column heading is the keyword start_inject, which represents the injection start
time for the injection.

TABULAR
SEQUENTIAL
value start_inject
1 -240
2 480
3 1200
4 1920
5 2640
6 3360
Figure 12.4: A sample start_inject.in file (can be any *.in file name) showing start_inject times for a
variable RPM engine simulation.

If you have specified a profile for the start_inject parameter, you can also specify tabular
profiles for dur_inject and mass_inject, as shown in Figures 12.5 and 12.6 below.

312 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Liquid Injection

TABULAR
SEQUENTIAL
value dur_inject
1 50
2 40
3 30
4 20
5 10
6 60
Figure 12.5: Sample of dur_inject.in for variable RPM cases.

TABULAR
SEQUENTIAL
value mass_inject
1 5.1615507e-5
2 4.1615507e-5
3 3.1615507e-5
4 2.1615507e-5
5 1.1615507e-5
6 6.1615507e-5
Figure 12.6: Sample of mass_inject.in for variable RPM cases.

CONVERGE accounts for the contraction effects of the nozzles in each injector, depending
on the user inputs for discharge_coef f (Cd), nozzle diameter noz_diameter, liquid density,
injection rate-shape, mass_inject and dur_inject.

CONVERGE offers three options for the discharge coefficient model:


· If discharge_coef f _f lag = 0, there is no discharge coefficient model.
· If discharge_coef f _f lag = 1, then CONVERGE dynamically calculates the velocity
coefficient (Cv) based on the injection pressure at that time. CONVERGE then calculates
the contraction coefficient (Ca) from the relationship

Cd
Ca  . (12.1)
Cv

The effective area of the nozzle is reduced and the drop velocity magnitude is
increased proportionally.
· If discharge_coef f _f lag = 2, then the velocity coefficient (Cv) equals 1 and, therefore, the
contraction coefficient (Ca) is equal to the discharge coefficient (Cd) input.

You can configure nozzle locations and orientations using either a polar or a Cartesian
coordinate system. Control this option with the noz_init_f lag parameter as described in
Table 12.2 below. If you choose a polar coordinate system (noz_init_f lag = 0 or 2), you can
also choose to copy the attributes of the first nozzle to all the remaining nozzles

CONVERGE 2.4 Manual 313


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Liquid Injection

(noz_init_f lag = 2). In this case, CONVERGE will evenly space the nozzles around the
injector axis. This nozzle copy option is very convenient for multi-hole injectors.

If you select the polar coordinate system option to specify the nozzle locations, you must
specify the location and orientation of each injector. Use the parameters x_cen, y_cen, and
z_cen to set the x, y and z coordinates of the injector center. In addition, two angles
angle_xy_inj and angle_xz_inj determine the orientation of the injector, as shown below in
Figures 12.7, 12.8, and 12.9. If you select the Cartesian coordinate system option, then
CONVERGE does not use these injector position parameters. Instead, you must specify the
location and orientation of each nozzle hole individually.

Figure 12.7 - Parameters for placement and


Figure 12.8 - Parameters for placement and
orientation of injectors.
orientation of injectors..

Figure 12.9 - Spray plume relative to the injector axis.

Use the swirl_f raction parameter to control how much of the spray will move in a swirling
direction. This parameter can be used for hollow cone sprays only (cone_f lag = 0).
swirl_f raction can vary from -1 to 1. When looking from the top of the nozzle, positive
swirl_f raction leads to clockwise rotational velocity and negative swirl_f raction leads to

314 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Liquid Injection

counter-clockwise velocity. Figure 12.10 and the equations below it show the vectors used
to define swirl_f raction, relative to the injector axis, and how the swirl_f raction is defined in
terms of these vectors.

Figure 12.10 - swirl_f raction schematic.

Vswirl
swirl _ f raction  (12.2)
VFromInjector
2
VFromInjector  VCone
2
 Vswirl
2
(12.3)

VAxial  cos( /2) * VCone (12.4)

VRadial  sin( /2) * VCone (12.5)

tan( /2)  VRadial /VAxial (12.6)


The injector section lists the relevant parameters in the spray.in input file.
12.1.2 Nozzle Inputs
You can specify any number of nozzles for each of the injectors you define. Each nozzle
has an associated geometric diameter (noz_diameter) and Sauter mean diameter (smd_dist)

CONVERGE 2.4 Manual 315


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Liquid Injection

of the injected spray. Each nozzle, whether it has solid cone spray or hollow cone spray,
has a cone angle (cone_noz) that specifies the full angle of the spray. Each nozzle with a
hollow cone spray has a spray thickness (thick_noz).

If noz_init_f lag = 0 or 2, you must define the location and orientation of the nozzles using
the parameters rad_noz, axi_noz, theta_noz, angle_xy_noz, and angle_xz_noz. These
parameters are illustrated in Figures 12.11 and 12.12 below.

The nozzle locations and orientations are relative to the injector center and axis. Figures
12.11 and 12.12 below are drawn with the assumption that the injector center is at the
origin and its axis is lined up with the z axis, with the injector axis in the negative Z
direction.

If you set noz_init_f lag = 1, the nozzle locations are unrelated to each other and not linked
to an injector center or axis. You must then define the location of a nozzle with a
Cartesian coordinate (xx_noz, yy_noz, zz_noz) and define its orientation with a unit vector
(xx_vec, yy_vec, zz_vec).

If the spray is a hollow cone (cone_f lag=0), use the input parameter radius_inject to define a
radius for the circumference of the hollow circle. If the spray is a solid cone (cone_f lag=1),
use the radius_inject parameter to define the circular base of the spray cone (i.e., an injected
parcel is randomly initialized at a point inside of the circle so that if enough parcels are
injected, the circle would appear filled in). Finally, use the parameter amp_distort to set an
initial drop distortion amplitude if you are using the TAB breakup model.

316 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Liquid Injection

Figure 12.12 - Parameters for placement and


Figure 12.11 - Parameters for placement and orientation of nozzles. These parameters are
orientation of nozzles. These parameters are used used only when noz_init_f lag is set to 0 or 2.
only when noz_init_f lag is set to 0 or 2. This figure is This figure is drawn with the assumption
drawn with the assumption that the injector center is that the injector center is at the origin and its
at the origin and its axis is lined up with the z axis, axis is lined up with the z axis, with the
with the injector axis in the negative Z direction. injector axis in the negative Z direction.
Figures 12.11 and 12.12 illustrate how to define the nozzle position and orientation if a
polar coordinate system option is selected. Use the nozzle inputs (axi_noz, rad_noz, and
theta_noz) to define the position and use the parameters angle_xy_noz and angle_yz_noz to
orient the nozzles as if the injector center is located at (0, 0, 0) and its axis is aligned with
the z axis. Positive values of the axi_noz parameter displace nozzle hole locations in the
negative z-direction.
12.1.3 Injection Size Distributions
This section provides details of the four injection size distributions that are currently
available in CONVERGE. These distributions are specified through inject_distribution_f lag
in spray.in. In addition to the three standard options (blob, chi squared, Rosin-Rammler,
and constant injected radius distributions), you can also enter a file name (e.g., injdist.in)
instead of a number to specify an injection profile in an input file. The file name must be in
quotation marks.

Blob Injection Model


If inject_distribution_f lag = 0, injected drop sizes are equal to the nozzle diameter or
effective diameter when the discharge coefficient model is on (discharge_coef f _f lag = 1 or
2).

Chi Squared Distribution


If inject_distribution_f lag = 1, CONVERGE obtains injected drop sizes from the χ2
distribution. This distribution is given by

CONVERGE 2.4 Manual 317


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Liquid Injection

1  r
C(r )  exp    , (12.7)
r  r

where r is the drop radius and r is the number-averaged drop radius given by

1
r r32 , (12.8)
3

where r32 is the Sauter Mean Radius (SMR), defined as

Ntot

 Niri3
r32  i1
Ntot
, (12.9)
N r i i
2

i1

where Ntot is the total number of drops, Ni is the number of drops of size i, and ri is the
radius of size i.

Following the approach of Amsden et al. (1989), to obtain the best resolution of the size
distribution where the most mass is located, the distribution should be proportional to the
mass distribution given by r3C(r). In order to create a probability density function of this
mass distribution, the normalizing constant Nc must be found. This constant can be
determined via:

 
r3  r
Nc   r C(r )dr  
3
exp    dr  6r 3 , (12.10)
0 0
r  r

and the new distribution is given by

r 3C(r ) r 3  r
M r    4
exp    . (12.11)
Nc 6r  r

The cumulative probability function for this distribution is then given by

 1 1 
M r   1   1     2   3  exp   , 0    12 (12.12)
 2 6 

318 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Liquid Injection

where

r
  . (12.13)
r

Once a value of  is selected, the injected drop radius is determined from

1
r  r  r32 , (12.14)
3

where r32 is the Sauter Mean Radius (SMR), which is one-half of the input parameter
smd_dist.

Rosin-Rammler Distribution
Set inject_distribution_f lag = 2 to use the Rosin-Rammler distribution to obtain injected drop
sizes. The cumulative probability function for the Rosin-Rammler distribution is given by

R r   1  exp   q  , 0     max (12.15)

where

r
  , (12.16)
r

q is an empirical constant (q_rr in spray.in), and

r   1  q 1 r32 , (12.17)

where Γ is the gamma function and r32 is the Sauter mean radius (one-half of the input
parameter smd_dist). Once a value of  is selected, the injected drop radius is determined
from

r  r    1  q 1 r32 . (12.18)

Constant Injection Radius Distribution

CONVERGE 2.4 Manual 319


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Liquid Injection

To make the radius of injected drops = 0.5*smd_dist, set the input parameter
inject_distribution_f lag = 3. This setting allows for a constant injected radius that is
independent of the nozzle diameter (noz_diameter).

12.2 Particle Equation of Motion


In CONVERGE, a drop’s velocity, vi , is obtained from its equation of motion:

dvi
 lVd  Fd ,i , (12.19)
dt

where ρ l is the liquid density, Vd is the drop volume, and Fd,i is given by the sum of the drag
force and the gravitational body force as:

 g Ui
Fd ,i  Fdrag ,i  Fg ,i  CD A f Ui  lVd g i . (12.20)
2

In Equation 12.20, A f = πr2 is the drop’s frontal area, ρ g is the gas density, Ui is the drop-gas
relative velocity given by

Ui  ui  ui  vi , (12.21)

where ui and ui' are the local mean and turbulent fluctuating gas velocities, respectively,
and g i is the gravitational acceleration. You can specify gravity_x, gravity_y, and gravity_z
in inputs.in as inputs for g i. Equation 12.19 can be rewritten as:

dvi 3  g U
 CD i Ui  g i , (12.22)
dt 8 l r

which is used in CONVERGE to update drop velocities at any given time-step. Models for
the drag coefficient, CD , are presented in a following section.

320 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop Drag and Liquid/Gas Coupling

12.3 Drop Drag and Liquid/Gas Coupling


Accurate determination of drop drag coefficients is critical for accurate spray modeling.
CONVERGE currently includes two models for drop drag (in addition to the option of no
drag, which is activated by setting the drag_f lag = 0). The first model calculates the drag
coefficient with the assumption that the drops are perfect spheres (drag_f lag = 1). The
second model, called here the dynamic drag model (drag_f lag = 2), determines the droplet
drag coefficient dynamically, accounting for variations in the drop shape through a drop
distortion parameter y. Since values of the drop distortion parameter are determined from
the TAB model, a brief description of that model is given here.

The Taylor Analogy Breakup (TAB) model (O’Rourke and Amsden, 1987) is a classic
method for calculating drop distortion and breakup. This method is based on Taylor’s
analogy between an oscillating and distorting droplet and a spring-mass system. Table
12.2 presents the analogous components.

Table 12.2: Comparison of a spring-mass system and a distorting drop.


Spring-Mass Distorting and Oscillating Drop
System
Restoring Force Surface Tension Forces
of Spring
External Force Drop Drag Force
Damping Force Drop Viscosity Forces

The equation governing a damped, forced oscillator is (O’Rourke and Amsden, 1987):

F  kx  dx  mx
, (12.23)

where x is the displacement of the drop equator from its spherical (undisturbed) position.
The coefficients of this equation are taken from Taylor’s analogy as:

CONVERGE 2.4 Manual 321


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop Drag and Liquid/Gas Coupling

2
F  g Ui
 CF
m lro

k 
 Ck , (12.24)
m  lro3

d 
 Cd l 2
m lro

where ρ l and ρ g are the discrete (liquid) phase and continuous (gas) phase densities, Ui is
the relative velocity of the droplet, r0 is the undisturbed droplet radius, σ is the drop
surface tension, and μl is the drop viscosity. The dimensionless constants Cf , Ck, and Cd are
defined below. Equation 12.23 can be non-dimensionalized by setting y = x/(Cbr0) and
substituting in the relationships in Equation 12.24:

CF  g U2 Ck C  dy
 
y  y  d 2l . (12.25)
Cb l ro2
 lro3
 lro dt

For under-damped drops, the equation governing y can be determined from Equation
12.25 if the relative velocity is assumed to be constant. The result is given by

 
t

1  dy y(0)  Wec 
y(t)  Wec  e y(0)  Wec cos(t)   (0)   sin(t) ,
td
(12.26)
   dt td  

where

 gUrel 2 ro
Weg  , (12.27)

CF
Wec  Weg , (12.28)
CkCb

1 Cd l
 , (12.29)
td 2 lro2

322 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop Drag and Liquid/Gas Coupling

and

 1
 2  Ck  2. (12.30)
 lro td
3

In Equation 12.26, ω is the droplet oscillation frequency. In Equation 12.27, Weg is the drop
Weber number, a dimensionless parameter defined as the ratio of aerodynamic forces to
surface tension forces. Note the aerodynamic forces are calculated with Urel, the parcel's
velocity relative to the local Eulerian flow. Finally, the constants have been chosen to
match experiments and theory (Lamb, 1945):

Ck  8
Cd  5
1
CF  . (12.31)
3
1
Cb 
2

In CONVERGE, csubk, csubd, cf ocbck in spray.in specify the constants from the Equation
above. Equation 12.26 can be solved for each droplet to yield its distortion parameter y.

Many droplet drag models assume that a drop remains spherical throughout its lifetime.
With this assumption, the drag of a spherical object is determined by the following (Liu et
al., 1993):


0.424 Re  1000


CD,sphere  , (12.32)
 24
  1 2/3 
 1  Re  Re  1000
 Re 
 6 

where Re is the drop Reynolds number based on the drop’s spherical diameter, the fluid-
phase density and laminar viscosity, and the relative velocity between the drop and the
gas. However, as an initially spherical droplet moves through a gas, its shape will distort
significantly when the Weber number is large. In the extreme case, the drop shape will
approach that of a disk. The drag on a disk is significantly higher than that of a sphere.
Since the drop drag coefficient is highly dependent on the drop shape, a drag model that

CONVERGE 2.4 Manual 323


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop Drag and Liquid/Gas Coupling

assumes the drop is spherical can under-predict drag. The dynamic drag model accounts
for the effects of drop distortion by linearly varying the drag between that of a sphere,
(Equation 12.32) and a value corresponding to a disk (Liu et al., 1993). The drag coefficient
is given by

CD  CD,sphere 1  2.632 y , (12.33)

where y is the drop distortion, as determined from the TAB model described above. Note
that in the limit of no distortion (y = 0), the drag coefficient of a sphere will be obtained
while at maximum distortion (y = 1) the drag coefficient corresponding to a disk will be
obtained.

CONVERGE uses a nearest node approach to exchange mass, momentum, energy terms of
a parcel (Lagrangian particle) with the fluid-phase (Eulerian field) values of the
computational node that it is closest to. A Taylor series expansion is used to calculate the
gas velocity (Eulerian field) at the point of the parcel (Lagrangian particle). The use of the
Taylor series expansion significantly reduces grid effects on the spray.

12.4 Spray Breakup


CONVERGE includes several spray breakup mechanisms, including models based on the
Kelvin-Helmholtz (KH) and Rayleigh-Taylor (RT) instability mechanisms, the LISA sheet
breakup model, and the Taylor Analogy Breakup (TAB) drop breakup model. It also
includes an Eulerian-Lagrangian Spray Atomization (ELSA) model for predicting primary
spray breakup. This section describes the theory behind the models used to predict liquid
atomization and drop breakup.

All of the spray breakup parameters (with the exception of break_f lag, cf ocbck, csubd, and
csubk) are inputs for each injector, which allows you to run different spray breakup models
and constants for different injector/nozzle configurations. The values of the TAB model
parameters cf ocbck, csubd, and csubk are the same values as those used in the dynamic drag
model.

324 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

12.4.1 Kelvin-Helmholtz Breakup Model


The Kelvin-Helmholtz instability is based on a liquid jet stability analysis that is described
in detail by Reitz and Bracco (1986) and is only briefly described here. The analysis
considers the stability of a cylindrical, viscous, liquid jet of radius r0 issuing from a circular
orifice at a velocity U into a stagnant, incompressible, inviscid gas of density ρ g . The liquid
has a density ρ l and viscosity μl and a cylindrical polar coordinate system is used which
moves with the jet. An arbitrary infinitesimal axisymmetric surface displacement of the
form

   o eikzt , (12.34)

is imposed on the initially steady motion and it is thus desired to find the dispersion
relation ωKH = ωKH(kKH), which relates the real part of the growth rate ωKH to its
wavenumber kKH = 2π / λKH.

In order to determine the dispersion relation, the linearized hydrodynamic equations for
the liquid are solved with wave solutions of the form

l  C1 I o kKH r  eikKH zKH t


(12.35)
 l  C2 rI 1 Lr  eikKH zKH t

where l and  l are the velocity potential and stream function, respectively, C1 and C2
are integration constants, I0 and I1 are modified Bessel functions of the first kind,
L2 = k2KH + ωKH / νl , and νl is the liquid kinematic viscosity (Reitz, 1987). The liquid pressure is
obtained from the inviscid part of the liquid equations. In addition, the inviscid gas
equations can be solved to obtain the fluctuating gas pressure at r = rp :

2
   Ko (kKH rp )
p g    g  U  i KH  kKH , (12.36)
 kKH  K1 kKH rp 

where K0 and K1 are modified Bessel functions of the second kind and U is the relative
velocity between the liquid and the gas. The linearized boundary conditions are


l  , (12.37)
t

CONVERGE 2.4 Manual 325


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

ul vl
 (12.38)
r z

and

vl   2   
2
 pl  2  l     rp   p g  0, (12.39)
r rp2  z2 

which are mathematical statements of the liquid kinematic free surface condition,
continuity of shear stress, and continuity of normal stress, respectively. Note that ul is the
axial perturbation liquid velocity, vl is the radial perturbation liquid velocity, and σ is the
surface tension. Also note that Equation 12.38 was obtained under the assumption that vg
= 0.

As described by Reitz (1987), Equations 12.37 and 12.38 can be used to eliminate the
integration constants C1 and C2 in Equation 12.35. Thus, when the pressure and velocity
solutions are substituted into Equation 12.39, the desired dispersion relation is obtained:

 I 1 kKH rp  2 kKH L I 1 kKH rp  I 1 Lrp 


KH
2
 2 l kKH
2
KH   
 I 0 kKH rp  kKH  L I 0 kKH rp  I 1 Lrp 
2 2
 
 kKH  L2  rp2  I 1 kKH rp 
  KH p  2  
2 2
1 k r (12.40)
lrp2  L  r2 I k r
 p  0  KH p 
 I 1 kKH rp  K0 kKH rp 
2
g  KH   L  rp
2 2

U  i   
l  kKH   L2  rp2 I k r K k r
 0  KH p  1  KH p 

As shown by Reitz (1987), Equation 12.40 predicts that a maximum growth rate (or most
unstable wave) exists for a given set of flow conditions. Curve fits of numerical solutions to
Equation 12.40 were generated for the maximum growth rate, ΩKH, and the corresponding
wavelength, Λ KH, and are given by Reitz (1987) as

326 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

1  0.45Zl 1  0.4T 


0.5 0.7
 KH
 9.02 0.6
, (12.41)
rp 1  0.87We
1.67

g

and

0.5
  lrp3  0.34  0.38Weg 
1.5

 KH    , (12.42)
   1  Zl 1  1.4T 
0.6

where Zl  Wel / Rel is the Ohnesorge number and T  Zl Weg is the Taylor number.
Furthermore, Wel = ρ lU2rp / σ and Weg = ρ g U2rp / σ are the liquid and gas Weber numbers,
respectively, and Rel = Urp / νl is the Reynolds number. Note that U = |ui-vi| where ui is the
fluid-phase velocity and vi is the drop velocity.

In the KH model, the initial parcel diameters are set equal to the nozzle hole diameter d0
and the atomization process of the relatively large injected blobs is modeled using the
stability analysis for liquid jets as described above. The breakup of the parcels and resulting
drops is calculated by assuming that the breakup drop radius rc is proportional to the
wavelength of the fastest growing unstable surface wave given by Equation 12.41. In other
words,

rc  Bo  KH , (12.43)

where B0 is a model constant typically set to 0.61 based on the work of Reitz (1987).
Although B0 in Equation 12.43 is typically set to 0.61, it has been included in the input files
(balpha in spray.in) to allow adjustment if necessary. A smaller value of B0 will result in
smaller drops from breakup, while a larger value will result in larger drops.

The rate of change of drop radius in a parent parcel is given by

drp rp  rc 
 , rc  rp  (12.44)
dt  KH

where the breakup time τKH is given by

CONVERGE 2.4 Manual 327


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

3.726B1rp
 KH  , (12.45)
 KH  KH

and ΛKH and ΩKH are obtained from Equations 12.41 and 12.42, respectively. The breakup
time constant B1 (kh_cnst2 in spray.in) is related to the initial disturbance level on the liquid
jet and has been found to vary from one injector to another (Kong et al., 1995). Note that
CONVERGE represents Equation 12.44 as

n 1
rp n 1  rp n rp  rc 
 . (12.46)
dt  KH

If the drop has existed for at least τKH, CONVERGE allows the drop to grow according to
Equation 12.46 above. You can deactivate this enlargement step (kh_no_enlarge_f lag in
spray.in) if the simulation contains excessively large drops.

You can run the KH model with or without the creation of new child parcels. When
droplet breakup occurs, pieces of the original droplet fragment away. CONVERGE
considers these fragmented masses of liquid to be child parcels when they accumulate a
sufficient amount of mass. The mass of the fragmented liquid is given by

4
 sN n 3 l rp n   rp n 1   ,
3 3

(12.47)
n

where s is the shed_f actor, which represents the fraction of the parent parcel mass that
contributes to the child parcel mass. When the mass of the fragmented liquid exceeds the
value of newparcel_cutof f , CONVERGE creates a child parcel with a drop size of radius rc.
The newparcel_cutof f parameter is typically 3 to 5 percent of the average injected parcel
mass (i.e., the total injected liquid mass divided by the total number of injected parcels).
Note that CONVERGE conserves the liquid mass during the breakup mass accumulation
process as the number of drops in a parent parcel is adjusted to a value N such that
3 3
N n 1 r n 1  N n r n .
p  p 

When breakup occurs and it is determined that child droplets should be added to the
computation, they are given a velocity component normal to the path of the parent drop.
This normal velocity is determined by

 n  C1 KH  KH , (12.48)

328 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

where C1 is a model constant.

Alternatively, a similar model to that of Reitz and Diwakar (1987) can be used if you
choose to not create new parcels from the KH breakup model. In the Reitz and Diwakar
model, Equation 12.44 was used to model the size change of an unstable droplet with the
KH breakup time given by Equation 12.79. As described above, Equation 12.45 reduces to
Equation 12.79 for very high gas Weber numbers Weg and μl = 0. In addition, Reitz and
Diwakar used the so-called stripping regime breakup criterion

g  0.5
Weg /Re0.5 (12.49)

to determine the breakup drop size. Equation 12.49 predicts the breakup size given by

2
rc  . (12.50)
2  g2U3 g

Alternatively, in the limit of very high gas Weber numbers and an inviscid liquid, Equation
12.43 reduces to


rc  9.8Bo , (12.51)
 gU2

which is equivalent to the bag regime breakup criterion

Weg  6.0 (12.52)

for a B0 value of approximately 0.61. It has been noted by Reitz (1987) that very similar
drop sizes are obtained if Equation 12.51 is always used to determine the breakup drop
size. As a result, running the present KH model without the addition of new child parcels
is consistent with the Reitz and Diwakar (1987) model for high-speed, inviscid sprays. It it
important to verify that rt_f lag = 0 if you wish to use the CONVERGE model that is similar
to that of Reitz and Diwakar (1987).

CONVERGE 2.4 Manual 329


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

12.4.2 KH-ACT Model


The KH-ACT model (Som and Aggarwal, 2010) is a modification of the KH model that
includes the effects of aerodynamics, cavitation, and turbulence on primary breakup.
Activate this model by setting kh_f lag=2 in spray.in.

Aerodynamic-Induced Breakup
CONVERGE uses the KH model described previously to calculate the instantaneous length
and time scales for every parcel as follows:

LKH  r  rKH (12.53)

3.276B1r
 KH  (12.54)
KH  KH

CONVERGE calculates the ratio of length and time scales for each process. As seen in
 dr 
Equations 12.53 and 12.56, the rate of decrease in droplet radius   is proportional to
 dt 
 LA 
the ratio of length to time scale   . Thus the largest ratio determines the dominant
A 
breakup process.

LA  L (t) LCAV LT (t) 


 max  KH ; ;  (12.55)
A 
 KH (t )  CAV  T (t ) 

If the aerodynamically induced breakup process is dominant, then the KH model, as


represented by Equation 12.53, is employed for primary atomization. However, if
cavitation or turbulence processes dominate, then the following breakup law is used:

dr L
 CT ,CAV A (12.56)
dt A

CT,CAV is the model constant, specified as c_tcav in spray.in, where its value ranges from 0.1
to 1.0.

Cavitation-Induced Breakup
Cavitation patterns generated inside the injector nozzle can reach the nozzle exit. These
patterns decrease the radius of the injected parcels from the orifice radius, thereby

330 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

enhancing jet atomization. The underlying assumption is that cavitation patterns are
transported to the jet periphery by the turbulence velocity inside the liquid, and either
burst at the periphery or collapse before reaching it. For both of these cases, a
characteristic time-scale is calculated, the smaller one causing breakup. Following Bianchi
and Pelloni (1999) and Arcoumanis and Gavaises (1998), the characteristic cavitation time-
scale (tCAV) is calculated as

 CAV  min  collapse : burst  (12.57)

All of the cavitation bubbles formed inside the orifice that reach the orifice exit are lumped
together into a single artificial bubble that occupies the cumulative area of the smaller
ones:

RCAV  rhole 1  Ca  (12.58)

where RCAV is the effective radius of an equivalent bubble from the nozzle. The area
reduction coefficient (Ca) is calculated from flow simulations inside the injector and rhole is
the exit radius of the nozzle orifice.

Bubble collapse depends on the size of the bubble. This approach of lumping together to
form an effective bubble may marginally effect the breakup process. The bubble collapse
time is calculated from Rayleigh Plesset theory (Brennen, 1995) as

l
 collapse  0.9145RCAV (12.59)
pv

where p v is the fuel vapor pressure and r l the fuel density.

Cavitation bubbles are located along the walls of the orifice; however, the effective bubble
is placed on the center of the liquid spray as it is injected. The average time required for a
cavitation bubble to reach the periphery of the jet can be estimated as

rhole  RCAV
 burst  (12.60)

uturb

CONVERGE 2.4 Manual 331


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

2K(t)
where the turbulent velocity  
uturb is obtained from inner nozzle flow
3
simulations. The length scale for the cavitation-induced breakup is calculated as

LCAV  RCAV (12.61)

CONVERGE will determine the length and time-scales for cavitation-induced breakup in
this manner. Each cavitation bubble influences the breakup only once. In other words,
after the bubble collapses, it does not affect parcels during subsequent time-steps.

Turbulence-Induced Breakup
According to Huh and Gosman (1991), turbulent fluctuations in the liquid jet are
responsible for the initial perturbations on the jet surface. These waves grow according to
KH instabilities until they breakup from the surface. The relevant length and time
scales (LT(t) and tt(t), respectively) for turbulence-induced breakup are calculated as
follows:

C K (t)1.5
LT (t)  , (12.62)
 (t)

and

C K (t)
 T (t)  , (12.63)
 (t)

where K(t) and e (t) are, respectively, the instantaneous turbulent kinetic energy and
dissipation rate, and Cm and Ce are turbulence model constants. Assuming isotropic
turbulence for the liquid phase and neglecting the diffusion, convection, and production
terms in the k-e equation, the decay of K(t) and e (t) for a parcel can be estimated as:

1/ C 1

 K 0 
C


K (t)    , (12.64)
 K 0   0t C  1
 

C
 K (t) 
 (t)   0   , (12.65)
 K0 

332 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

where K0 and e 0 are the initial values at the nozzle exit at start of injection (SOI),
determined from nozzle flow simulations. In the absence of detailed nozzle flow
simulations and measurements, the values of of K0 and e 0 are estimated from a force
balance in a control volume, not accounting for the decay in turbulence levels.

CONVERGE allows two methods for determining the values of turbulent kinetic energy,
turbulent dissipation, and the area reduction factor for use in KH-ACT computations. To
use the first method, where CONVERGE calculates the values of these three values, set
noz_f low_f lag=0. The second method (noz_f low_f lag=1) is to provide a *.in file that specifies
values for these three parameters at different simulation times.

For the control volume along the nozzle downstream length, the turbulent stress and force
on the nozzle orifice are estimated to be of the same order of magnitude, i.e.,

 D2
 u  DL  p noz
2
l l , (12.66)
4

where r l and ul are the liquid and turbulent fluctuation velocity, L, D are length and
diameter of the nozzle orifice, respectively, and Dp noz is the nozzle downstream pressure
drop obtained as follows:

p tot  p noz  p f orm  p acc . (12.67)

The total pressure drop, which is composed of three components, is obtained as follows:

1 lUinj
2

p tot  2 . (12.68)
Cd 2

Form loss pressure drop is estimated as:

lUinj2
p f orm  K c . (12.69)
2

Acceleration of pressure drop is estimated as:

CONVERGE 2.4 Manual 333


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

lUinj2
p acc  1 s 
2
. (12.70)
2

The initial turbulent kinetic energy and turbulent dissipation rate can be readily estimated
from the above equations as follows:

Uinj2  1 2 
K0   2  K c  1 s 
L C (12.71)
8   d 
D

Uinj3  1 2 
 0  K  2  K c  1 s  (12.72)
2L  Cd 

The model constants used in CONVERGE are Kc=0.45, Ke=0.27, s=0.01, based on available
literature. You can change these values by specifying tur_kc, tur_ke and tur_s respectively
in spray.in. Once the initial turbulence levels K0 and e at the nozzle exit are known, the
length and time-scales can be estimated based on the Equations 12.62 and 12.63 for a k-e
turbulence model.
12.4.3 Rayleigh-Taylor Breakup Model
In addition to the KH breakup mechanism, the Rayleigh-Taylor (RT) instability is also
believed to be responsible for droplet breakup. The unstable RT waves are thought to occur
due to the rapid deceleration of the drops from the magnitude of the drag force,
|FD,i|, which is given as

2
3  g Ui
FD,i  M d ai  M d CD , (12.73)
8  lro

where |ai| is the deceleration of the drop, md is the mass of the drop, and CD is the drag
coefficient. Typical implementations of the RT breakup model ignore both gas and liquid
viscosity (Ricart et al., 1997). If viscosity is neglected, the fastest growing wavelength for
the RT instabilities is given by (Xin et al., 1998):

3
 RT  2 , (12.74)
a l   g 

334 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

and the corresponding growth rate is given by

3/2
 
2  a l   g 
 RT  . (12.75)
3 3 l   g

As described by Senecal et al. (2007), the CONVERGE spray models extend the standard
RT model to include viscosity, which can have a large effect for the high decelerations
typical of spray droplets. When viscosity is included, it can be shown (e.g., Joseph et al.,
1999) that the RT growth rate can be written as

2
 l   g   l   g  k3   l   g 
RT   k 2
   kRT   a  RT  kRT
4
  , (12.76)
RT
      l   g   
 l g   l g   l g 

where kRT is the wavenumber.

In CONVERGE, the wavenumber corresponding to the maximum growth rate (KRT = 2π /


ΛRT) is solved for numerically using a bisection method with Equation 12.76. The value of
KRT is then substituted into Equation 12.76 to find the maximum growth rate, ΩRT.

It is straightforward to show that Equation 12.76 reduces to the standard RT model in the
limit of no viscosity. If viscosity is neglected, Equation 12.76 becomes

 l   g  k3 
RT  kRT   a  RT . (12.77)
   l   g
 l g 

It can be shown that the values of kRT and ΩRT corresponding to Equation 12.77 are
equivalent to Equations 12.74 and 12.75. To show this equivalency, set dωRT / dkRT = 0 with
ωRT defined by Equation 12.77 and substitute the resulting expression for kRT into Equation
12.77.

As in the study of Xin et al. (1998), if the scaled wavelength given by CRTΛ RT is calculated
to be smaller than the droplet diameter, RT waves are assumed to be growing on the
surface of the drop. When the RT waves have been growing for a sufficient time (i.e., CI /
ΩRT ) where CI is a constant), the drop is broken up according to the RT mechanism. Note

CONVERGE 2.4 Manual 335


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

that the RT size constant CRT can be increased or decreased to change the size of the
predicted RT breakup radius by changing the value of rt_const3 in spray.in. Similarly, the
RT time constant CI can be increased to delay RT breakup, or decreased to promote faster
RT breakup by changing rt_const2b in spray.in.
12.4.4 KH-RT Breakup Length Model
The previous sections described two breakup models based on fundamental liquid/gas
instability mechanisms. CONVERGE allows you to run these models concurrently, as is
commonly done. One option for running them together is to use the so-called KH-RT
breakup length model. If the KH-RT breakup length model is activated, an intact core or
breakup length Lb (see Fig. 12.13) can be specified as

l
Lb  Cbl d0 . (12.78)
g

As shown in Fig. 12.13, this model assumes that only KH instabilities are responsible for
drop breakup inside of the characteristic breakup distance, Lb, while both KH and RT
mechanisms are activated beyond the breakup length. In this case, CONVERGE first
checks if the RT mechanism can break up the droplet. If not, the KH mechanism is
responsible for breakup.

336 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

Figure 12.13: Schematic of the KH-RT spray


breakup model. Note that liquid blobs are
injected with a diameter equal to that of the
injector nozzle. In addition, the KH breakup
mechanism is applied to a droplet throughout
its lifetime, while the RT mechanism is only
initiated once the drop reaches a characteristic
distance, Lb , from the injector.

As described above, the KH breakup time constant B1 has been found to vary from one
injector to another. Typical values for B1 are in the range of 5 to 100, where small values
result in faster breakup. In addition, the breakup length constant Cbl in Equation 12.78 can
be tuned to increase or decrease spray breakup by changing the parameter distant in
spray.in. A methodology for tuning Cbl has been described by Senecal (2000), which
showed that for very high gas Weber numbers Weg (typical of Diesel sprays) and μl = 0, the
KH model breakup time (i.e., Equation 12.47) reduces to

B1 l
 KH  ro , (12.79)
U g

which results in a breakup length LKH = UτKH of

CONVERGE 2.4 Manual 337


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

l
LKH  B1 r0 . (12.80)
g

If Equation 12.80 is compared with Equation 12.78, it is clear that Cbl must equal B1/2 in
order for Lb and LKH to be consistent. Tuning the two spray constants together as described
above has been shown to result in accurate predictions of vaporizing spray penetration
when compared to experiments (Beale, 1999). The breakup length can be removed from
the model by setting Cbl = 0 in Equation 12.78, which results in both the KH and RT
mechanisms acting on droplets as they exit the nozzle (Patterson, 1997).
12.4.5 Modified KH-RT Model
An alternative to the KH-RT breakup length model allows you to run a simulation with
both breakup mechanisms without the use of an ad hoc breakup length definition. In this
modified KH-RT model, aerodynamic instabilities (i.e., KH waves) are responsible for the
primary breakup of the injected liquid blobs (also known as parents). Child drops are
created during this process, and the secondary breakup of these drops is modeled by
examining the competing effects of the KH and RT mechanisms.

This modified KH-RT model can be used only when the creation of child parcels is
included in the KH breakup model (i.e., new_parcel_f lag = 1).
12.4.6 TAB Breakup Model
The TAB model was previously briefly described in the Drop Drag Models section. That
description is repeated and extended here in the context of drop breakup.

The Taylor Analogy Breakup (TAB) model (O’Rourke and Amsden, 1987) is a classic
method for calculating drop distortion and breakup. This method is based on Taylor’s
analogy between an oscillating and distorting droplet and a spring-mass system.

The equation governing a damped, forced oscillator is (O’Rourke and Amsden, 1987)

F  kx  dx  mx
, (12.81)

where x is the displacement of the drop equator from its spherical (undisturbed) position.
The coefficients of this equation are taken from Taylor’s analogy as

338 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

2
F  g Ui
 CF ,
m lro

k 
 Ck , (12.82)
m lro3

d 
 Cd l 2 ,
m lro

where ρ l and ρ g are the discrete (liquid) phase and continuous (gas) phase densities, U is
the relative velocity of the droplet, r0 is the undisturbed droplet radius, σ is the drop
surface tension, and μl is the drop viscosity. The dimensionless constants CF, CK, and Cd are
defined below. Equation 12.81 can be non-dimensionalized by setting y = x / (Cbr0) and
substituting the relationships in Equation 12.82:

CF  g U2 Ck C  dy
 
y  y  d 2l . (12.83)
Cb l ro2
 lro3
 lro dt

For under-damped drops, the equation governing y can be determined from Equation
12.83 if the relative velocity is assumed to be constant. The result is given by

 
t

1  dy y(0)  Wec 
y(t)  Wec  e (y  Wec )cos(t)   (0)   sin(t)
td
(12.84)
   dt td  

where

 gU2 ro
Weg  , (12.85)

CF
Wec  Weg , (12.86)
CkCb

1 Cd l
 , (12.87)
td 2 lro2

CONVERGE 2.4 Manual 339


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

and

 1
 2  Ck  2. (12.88)
 lro td
3

In Equation 12.84, ω is the droplet oscillation frequency. In Equation 12.85, Weg is the drop
Weber number, which is a dimensionless parameter defined as the ratio of aerodynamic
forces to surface tension forces. Finally, the constants have been chosen to match
experiments and theory (Lamb, 1945):

Ck  8
Cd  5
1
CF  (12.89)
3
1
Cb  .
2

The numerical implementation of the TAB model for breakup calculations follows the
description presented by O’Rourke and Amsden (1987). The drop parameters Weg , td and
ω2 are first calculated. If ω2 is less than or equal to zero (implying that the drop’s
oscillations are negligible), y and y are both set to zero and no further breakup
calculations are performed for the drop during the current time-step. If ω2 is positive, the
amplitude of the undamped oscillation is calculated as

2 2
A  y  Wec   y /  . (12.90)

If A+Wec ≤ 1.0 , breakup does not occur for the drop for the current time-step. In this case,
y and y are updated and no further breakup calculations are performed for the drop
during the current time-step. The distortion parameters are then updated with the
following expressions:

 n 
dt

1  n y n  Wec 
(y  Wec )cos(t)   y   sin(t)
n 1
 Wec  e
td
y (12.91)
  td  

340 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

 1  n y n  Wec 
dt
Wec  y n 1  
yn 1   e d   y   cos(t)  (y  Wec )sin(t)
t n
(12.92)
td   td  

where the superscript n +1 refers to the updated values and the superscript n refers to the
previous values.

Alternatively, if A+Wec > 1.0 , then breakup is possible for the current drop. In this case,
the breakup time is calculated assuming that the drop oscillation is undamped for its first
period (O’Rourke and Amsden, 1987). Breakup is predicted to occur if the computational
time-step is larger than the breakup time or if y ≥ 1. If breakup occurs, y is set to 1, y is set
to that of an undamped oscillation at the breakup time, and a normal drop velocity
component Vn is calculated via

Vn  0.5ro y, (12.93)

where r0 is the drop radius prior to breakup. The direction of Vn is randomly chosen in a
plane normal to the drop’s relative velocity. The normal velocity component is added to
the drop velocity.

The breakup drop radius r is calculated with the following expression derived by O’Rourke
and Amsden (1987):

ro
r ,
8K 2 lro3 2  6K  5  (12.94)
1 y  y  
20   120 

where K = 10/3. If a drop size distribution is not used with the TAB breakup model, the
new radius is set to the value given by Equation 12.94.

If a drop size distribution is used, the radius calculated from Equation 12.94 is the Sauter
Mean Radius (SMR) of the distribution. Once the new radius is calculated, the number of
drops for the parcel is updated to conserve mass. Once the drop’s breakup properties have
been updated, it is assumed that the drop is no longer oscillating and hence both y and y
are set to zero.

If breakup is not predicted to occur for the current time-step, y and y are updated
according to Equations 12.91 and 12.92.

CONVERGE 2.4 Manual 341


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

12.4.7 LISA Breakup Model


The Linearized Instability Sheet Atomization (LISA) model of Senecal et al. (1999) is
included in CONVERGE to model liquid sheet breakup. The model includes two parts – a
general liquid sheet breakup mechanism and a liquid injection methodology specifically for
pressure-swirl atomizers. In this section, the breakup model is first described, followed by a
description of the liquid injection model.

Senecal et al. (1999) derived the following dispersion relation for the sinuous mode for a
two-dimensional, viscous, incompressible liquid sheet of thickness 2h moving with a
velocity U through a quiescent, inviscid, incompressible gas medium:

 2 tanh(kh )  Q   4 l k 2 tanh(kh )  2iQkU  4 l2 k 4 tanh(kh )


 k3 (12.95)
4 l2 k 3L tanh(Lh )  QU2 k 2  0
l

where ω = ωr + i ωi is the complex growth rate, k is the wave number, ρ l is the liquid
density, ρ g is the gas density, νl is the liquid kinematic viscosity, σ is the surface tension, Q
= ρ g / ρ l , and L2 = k2 + ω / νl. The sinuous mode solution was shown to have the property
that its maximum growth rate will always be greater than or equal to the maximum
growth rate of varicose waves for high velocity flows with values of Q significantly less
than one (Senecal et al., 1999).

In order to simplify Equation 12.95 for use in multi-dimensional simulations, Senecal et al.
(1999) performed an order of magnitude analysis using typical values from the inviscid
solutions and showed that the terms of second-order in viscosity can be neglected in
comparison to the other terms. With this simplification, the real part of the growth rate
can be written as

2 l k 2 tanh(kh )
r   
tanh(kh )  Q
(12.96)
4 l2 k 4 tanh 2 (kh )  Q2U2 k 2  tanh(kh )  QQU2 k 2   k 3 / l 
.
tanh(kh )  Q

Furthermore, if short waves are assumed (i.e., tanh(kh) = 1) and Q«1, Equation 12.96
reduces to

r  2 l k 2  4 l2 k 4  QU2 k 2   k 3 /  l . (12.97)

342 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

Senecal et al. analytically derived a critical Weber number of Weg = ρ g U2h / σ = 27/16 ,
below which long waves dominate the breakup process, and above which short waves
dominate breakup. As the Weber number is typically well above 27/16 for sheet breakup
applications of interest here (e.g., pressure-swirl atomizers), it is reasonable to assume that
short waves are responsible for breakup. As a result, Equation 12.97 is used in
CONVERGE to predict the wave growth rate.

In CONVERGE, the physical mechanism of sheet disintegration proposed by Dombrowski


and Johns (1963) is adopted in order to predict the drop sizes produced by the primary
breakup process. In this process, disintegration occurs due to the growth of waves on the
surfaces caused by the aerodynamic forces acting on the sheet. Once the waves reach a
critical amplitude, fragments of the liquid are broken off which contract to form cylindrical
ligaments that are believed to move normal to the ligament axis. As a result, capillary
forces cause the unstable ligaments to break into drops.

In order to determine the onset of ligament formation, Senecal et al. (1999) made an
analogy with the prediction of the breakup length of cylindrical liquid jets (e.g., Reitz and
Bracco, 1986). If the surface disturbance has reached a value of ηb at breakup, a breakup
time τ can be evaluated via

1  b 
b  0 exp s     ln   (12.98)
s  0 

where Ωs is the maximum growth rate obtained from Equation 12.97. Thus, the sheet will
break up at a length given by

V  b 
L  V  ln   (12.99)
s  0 

where the quantity ln(ηb / η0) is typically set to 12 based on the work of Dombrowski and
Hooper (1962). Here, V is the absolute velocity of the liquid sheet, while U in Equation
12.97 is the relative velocity between the liquid and the gas. Note that you can alter the set
value for ln(ηb / η0) by changing the parameter lisa_length_cnst in spray.in.

Once the sheet breakup length predicted by Equation 12.99 is reached, ligaments with a
diameter given by

CONVERGE 2.4 Manual 343


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

2
dL  Clisa (12.100)
Ks

are formed, where Clisa (lisa_size_cnst in spray.in) is a model constant and Ks is the wave
number corresponding to the maximum growth rate Ωs.

As in the work of Senecal et al. (1999), the resulting drop diameter is found from the
expression

1/6
dD  1.88dL 1  3Oh  (12.101)

where Oh = μl / (ρ lσdL) 1/2 is the Ohnesorge number. Equation 12.101 is based on the
analysis of Weber (1931).

In CONVERGE, the parcels representing the liquid sheet do not directly interact with the
gas phase and do not undergo collision, drag, evaporation, or turbulent dispersion. Once
the sheet parcels travel a distance from the injector given by Equation 12.99, the parcels
are given a size predicted by Equation 12.101 and are treated as normal parcels that
undergo collision, drag, evaporation, turbulent dispersion, and are coupled to the gas.

If a drop size distribution is used with the LISA model, Equation 12.101 represents the
Sauter mean diameter of the distribution.

If a drop size distribution is not used, Equation 12.101 is the actual diameter of the drop.
Finally, the TAB model is used to predict secondary drop breakup in the LISA model.

A methodology following the work of Schmidt et al. (1999) is used to initialize the size and
velocity of injected sheet parcels when the LISA model is activated. This model assumes
that the injector exit velocity profile is uniform and that the total velocity is related to the
injection pressure Dp (lisa_pinj in spray.in) by

2p
V  k (12.102)
l

where the velocity coefficient kv is given by

344 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Breakup

 4m  l 
k  max 0.7, . (12.103)
  d  l cos
2
0 2p 

 and  are the measured mass flow rate and spray angle (i.e., half
In Equation 12.103, m
of the cone_noz input), respectively, and d0 is the injector exit parameter given by the
noz_diameter input parameter. Equation 12.102 is used to initialize the velocity of the sheet
parcels.

It can be shown (Schmidt et al., 1999) that the sheet thickness at the nozzle exit h0 is
 and V by conservation of mass:
related to m

   lV cos h0 (d0  h0 ).
m (12.104)

Equation 12.104 is used to calculate the initial sheet thickness (note that h0 is the full
nozzle exit thickness while h is the sheet half-thickness). The sheet parcel’s radius is
assumed to be equal to one-half of the thickness:

r0  0.5h0 . (12.105)

12.5 Collision and Coalescence


This section provides an overview of both the numerical schemes and physical outcomes
included in the collision and coalescence models.

The collision and coalescence input parameters are included in the spray.in file, except for
mult_dt_coll_mesh in inputs.in.

12.5.1 O’Rourke Numerical Scheme


The widely-used O’Rourke (1981) collision and coalescence model is implemented in the
CONVERGE code. The collision and coalescence model is designed to estimate the number
of droplet collisions and their outcomes in a relatively computationally efficient manner,
which is made possible by the parcel concept described in a previous section. It is easy to
see that for N drops, each having N-1 possible collision partners, the number of possible
collision pairs is approximately (1/2)N2. Without the parcel concept this N2-dependence
would render the collision calculation computationally prohibitive for the millions of drops
that may exist in a simulation.

Because a parcel can represent hundreds or thousands of drops, the cost of the collision
calculation is significantly reduced. In order to reduce the computational cost even further,

CONVERGE 2.4 Manual 345


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Collision and Coalescence

the algorithm of O’Rourke (1981) uses a stochastic (randomly determined) estimate of


collisions and assumes that parcels can collide only if they are located in the same fluid-
phase cell.

As described by O’Rourke (1981), CONVERGE performs a collision calculation for a pair


of parcels. The parcel containing drops of larger radius is known as the collector, while the
parcel containing drops of smaller radius is known as the droplet. In the following
description, a subscript of 1 is used for the collector parcel, while a subscript of 2 is used
for the droplet parcel.

The collision frequency of a collector drop with all of the droplets is given by O’Rourke
(1981):

2
N  r1  r2  V12
 coll  2 , (12.106)
V

where N2 is the number of drops in the droplet parcel, V12 = |vi1 - vi2| is the relative
velocity between the collector and droplet parcels, r1 and r2 are the radii of the collector
and droplet, respectively, and V is the volume of the fluid-phase cell that includes the two
parcels. The probability that the collector collides n times with drops is assumed to follow a
Poisson distribution given by

nn
Pn  e n , (12.107)
n!

with a mean value given by

N 2 (r1  r2 )2 V12 dt
n   coll dt  (12.108)
V

where dt is the computational time-step. In Equation 12.108 the quantity π(r1 + r2) 2V12dt is
the collision volume which is simply the collision area π(r1 + r2) 2 multiplied by the distance
traveled by a droplet in one time-step. Since there is a uniform probability that a droplet
will be anywhere in the fluid-phase cell, then the probability of the droplet being in the
collision volume is the ratio of the collision volume to the fluid-phase cell volume.
Generalizing to parcels results in the multiplication of N2 in Equation 12.108.

346 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Collision and Coalescence

The probability of no collisions is given by

P0  e n . (12.109)

In CONVERGE, a random number is chosen between zero and one to determine if


collision occurs. If the value of the random number is less than P0 , no collision takes place.
If the value of the random number is greater than or equal to P0 , collision occurs.

In the event that a collision occurs, the next step is to determine the outcome of the
collision. The model of O’Rourke includes two collision outcomes – coalescence and
grazing collision. In order to determine which outcome takes place, a critical impact
parameter bcrit is calculated with the expression

 2.4 f 
bcrit  r1  r2 min  1.0, , (12.110)
 Wecoll 

where f is given by

3 2
r  r  r 
f   1   2.4  1   2.7  1 , (12.111)
 r2   r2   r2 

and Wecoll is the collision Weber number given by

lV122 r2
Wecoll  . (12.112)

The actual collision impact parameter is given by b  (r1  r2 ) Y , where Y is a random


number between zero and one. If the O’Rourke collision outcomes are used (see below),
the collision outcome is coalescence if b < bcrit, otherwise the outcome is grazing collision. If
the Post collision outcomes are used (these are described in the Post Collision Outcomes

CONVERGE 2.4 Manual 347


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Collision and Coalescence

section below), the collision outcome can be bouncing, stretching separation, reflexive
separation, or coalescence.

12.5.2 NTC Numerical Scheme


An alternative to the O’Rourke numerical collision scheme is the No Time Counter (NTC)
method of Schmidt and Rutland (2000). The NTC method is based on techniques used in
gas dynamics for Direct Simulation Monte Carlo (DSMC) calculations. This model has
been shown to be faster and more accurate than O’Rourke’s model under certain
conditions.

The NTC method involves stochastic (randomly determined) sub-sampling of the parcels
within each cell. This sampling potentially results in much faster collision calculations.
Unlike O'Rourke's method, which incurs an additional computational cost that increases
with the square of the number of parcels, the NTC method has a linear cost. O'Rourke's
method assumes that multiple collisions can occur between parcels and that this process is
governed by a Poisson distribution. However, the Poisson distribution is not correct unless
collision has no consequences for the parcels. Since collisions change parcels’ velocities,
size, and number, the method of repeated sampling used by the NTC method generates
more accurate answers (Schmidt and Rutland, 2000).

The NTC method is derived, without assumptions, from the basic probability model for
stochastic collision. The basic probability model requires that the cell size is sufficiently
small such that spatial variations in spray quantities can be neglected. These assumptions
are a subset of those required for deriving the O’Rourke collision model. For a detailed
derivation, see Schmidt and Rutland (2000). Only a simple description of the actual
implementation will be given here.

The NTC method first sorts the parcels into groups that reside in the same cell. This
procedure requires only 2N operations, where N is the number of droplets in a cell. Next,
the NTC method picks a stochastic subsample from all of the possible pairs in a cell. The
number of picked pairs does not affect the final average answer, as long as the number
meets constraints derived in Schmidt and Rutland (2000). The probabilities for the sub-
sample pairs are multiplied by the reciprocal of this fraction, increasing the probability of
collision. Sampling is done with replacement so that multiple collisions for a pair can be
correctly calculated. The resulting method incurs a cost that is linearly proportional to the
number of parcels, as opposed to the N-squared cost of many existing methods.

If a cell contains N droplets which have a collision cross section given by σi,j = π(ri + rj ) 2,
then the expected number of collisions in the cell over a time interval of Δt is given by
summing the probability of all possible collisions:

348 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Collision and Coalescence

1 N N Vi , j  i , j t
Mcoll   V .
2 i1 j 1
(12.113)

The factor of one-half is a result of symmetry. If we group the individual droplets into
parcels having identical properties, then the double summation becomes:

1 p
N p
Vi , j  i , j t
N

Mcoll   qi  q j , (12.114)
2 i1 j 1 V

where Np is the number of parcels in the cell and q is the number of droplets in a parcel.
Evaluating this summation directly would be as expensive as the O’Rourke method, with
the cost on the order of Np 2. However, this summation can be modified by pulling a
constant factor outside of the summation so that

qV max t
Np Np
q jVi , j  i , j
Mcoll 
2V
 qi  qV max
. (12.115)
i1 j 1

The value of (qVσ)max is used for scaling the selection probability of a collision. The value
chosen must be sufficiently large so that the following restriction holds:

q jVi , j  i , j
 1. (12.116)
qV max

Now it is assumed that a representative sub-sample of parcels may be randomly selected


from the set of parcels in the cell, such that:

aN p Np

 xi  a xi , (12.117)
i1 i1

where a<1 and xi is a characteristic of each parcel. Hence, a subset of parcels is used to
represent the larger population. This statistical approximation allows a constant multiplier

CONVERGE 2.4 Manual 349


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Collision and Coalescence

to reduce the limits of summation. Using this relationship, the limits of the summations in
Equation 12.115 are both reduced:

qV max t qV max t


Np Np
2V 2V q jVi , j  i , j
Mcoll   qi  qV max
, (12.118)
i1 j 1

This equation is written more succinctly by defining the quantity Mcand:

N p2 qV max t
Mcand  . (12.119)
2V

This definition is used in the limits of the summations of Equation 12.118:

Mcand Mcand
q jVi , j  i , j
Mcoll   qi  qV max
. (12.120)
i1 j 1

This equation is the final expression of the NTC method for application to parcels
representing varying numbers of drops. In the limit of constant cross section and constant
q, this equation reduces to the expression of Alexander and Garcia (1997). The overall cost
will be proportional to the product of the limits of the summation, namely Mcand. The value
of Mcand is linearly proportional to Np , because q goes as 1/Np . When using this model, you
must make a sensible choice for (qVσ)max for the algorithm to be efficient. If the spray is so
dense that Mcand >Np 2 / 2, then direct calculation of collisions may be more efficient than the
NTC algorithm for this cell.

The double summation of Equation 12.120 is evaluated using an acceptance-rejection


scheme. The number of candidate pairs given by Mcand is selected with replacement from
the cell population. Because the parcels are selected with replacement, multiple collisions
may occur between parcels. O’Rourke (1981) has observed that the consideration of
multiple collisions is required for accurate results with large time-steps in dense sprays.

After a pair has been selected, a uniform deviate from [0,1) is used to determine if the
candidate pair actually collides. A collision takes place between parcel i and j if the
deviate, r, satisfies

350 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Collision and Coalescence

qgVi , j  i , j
r . (12.121)
qV max

The parameter qg represents the greater number of droplets between qi and qj . If the
collision is accepted, then ql, the lesser number of droplets, actually participate in the
collision. This distinction is important in the case of droplet coalescence, where one parcel
of drops absorbs the other. The differentiation of the parcels by the larger and smaller
values of q does not change the expected outcome of the scheme.
12.5.3 O’Rourke Collision Outcomes
The O'Rourke Collision scheme can result in grazing collisions or in coalescence.

In the case of a grazing collision, the new droplet velocities are calculated based on
conservation of momentum and kinetic energy. It is assumed that some fraction of the
kinetic energy of the drops is lost to viscous dissipation and angular momentum
generation. Using assumed forms for the energy and angular momentum losses, O'Rourke
(1981) derived the following expressions for the new velocities of the collector and droplet:

* m1 vi ,1  m2 vi ,2  m2 vi ,1  vi ,2 
vi ,1  1 f E , (12.122)
m1  m2

* m1 vi ,1  m2 vi ,2  m1 vi ,2  vi ,1 
vi ,2  1 f E , (12.123)
m1  m2

where the * superscript indicates the post-grazing collision velocity values and

2
b  bcrit 
1 f E  2
, (12.124)
r1  r2  bcrit 

where f E is the fraction of energy dissipated in the collision.

In addition, grazing collisions only take place between the smaller number of drops
between parcel 1 and parcel 2. For example, if parcel 1 has fewer drops than parcel 2, the
updated velocities are given by

CONVERGE 2.4 Manual 351


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Collision and Coalescence

vin,1 1  vi*,1 , (12.125)

and

N 1 vi*,2  N 2  N 1  vin,2
vin,2 1  , (12.126)
N2

where the superscript n refers to the previous time-step value and the superscript n+1
refers to the updated value.

In the event that the outcome is coalescence, Equation 12.107 determines the number of
droplets that coalesce with a collector drop. The properties of the coalesced drops are
found using the basic conservation laws.
12.5.4 Post Collision Outcomes
In addition to the grazing collision and coalescence outcomes, Post and Abraham (2002)
included both stretching separation and reflexive separation in their model based on
experimental results of hydrocarbon drops.

In this model, the collision Weber number based on diameter (i.e., 2Wecoll), is first compared
with a bouncing parameter given by

 p 1   2p 4 '  12 
WeBounce  2
, (12.127)
 1 cos(arcsin B)

where

r1
p  , (12.128)
r2

with r2>r1,

352 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Collision and Coalescence

2/3
 '  0'  a /  0  , (12.129)

where 0  3.351,  0  1.16kg / m3 , ρ a is the gas density, and

2
 1  1  0.25 2    1      1.0
, (12.130)
 1  0.25 2 3      1.0

where

1 B
 . (12.131)
1  p

In addition, B in Equations 12.127 and 12.131 is given by

b
B . (12.132)
r1  r2

If 2Wecoll<Webounce, it is assumed that the two drops bounce. As in the work of Hou (2005), it
is assumed that the post bounce velocities are given by Equations 12.122 and 12.123 with
f E=0 :

* m1 vi ,1  m2 vi ,2  m2 vi ,1  vi ,2 
vi ,1  , (12.133)
m1  m2

* m1 vi ,1  m2 vi ,2  m1 vi ,2  vi ,1 
vi ,2  . (12.134)
m1  m2

CONVERGE 2.4 Manual 353


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Collision and Coalescence

If 2Wecoll ≥ Webounce, then either permanent coalescence, stretching separation, or reflexive


separation take place. To determine if a separation has occurred, CONVERGE checks two
other criteria. If b > bcrit, stretching separation may take place. If

2
 p 1   3p 
2Wecoll  3
2/3
2 
 3 7 1   p   4 1   p  , (12.135)
   6  
p 1 2

there is also a possibility of reflexive separation. Equation 12.135 is the reflexive separation
criterion proposed by Ashgriz and Poo (1990), with:

2 1/2
1  2 1    1   2   1, (12.136)

2 1/2
 2  2  p     2p   2    3p , (12.137)

and

  0.5B 1   p , (12.138)

where B = b / (r1 + r2).

If only stretching separation is possible, the post-collision velocities are calculated using
Equations 12.128 and 12.129 with (Hou, 2005)

2
 b  bcrit 
1 f E    . (12.139)
 1  bcrit 

Alternatively, if only reflexive separation is possible, the post-collision velocities are


calculated using Equations 12.129 and 12.130 with

354 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Collision and Coalescence

2
 p 1   3p 
3 7 1   3p   4 1   2p 
2/3

   6p1   2 (12.140)
1 f E  1 ,
2Wecoll

as in the work of Hou (2005). If 2Wecoll ≥ Webounce and neither stretching separation or
reflexive separation are possible, coalescence is assumed to occur.
12.5.5 Adaptive Collision Mesh
It is well known that collision calculations can be highly grid-sensitive when an under-
resolved fluid-phase mesh is used. To help alleviate this issue, an adaptive collision mesh
option has been implemented in CONVERGE, based on the concept of a collision mesh
proposed by Hou (2005).

In a simulation without collision mesh, parcels collide only with parcels in the same grid
cell, which can lead to artifacts in the spray (since parcels do not collide across cell walls)
and can be computationally expensive.

Using a collision mesh can eliminate both these problems. Simulations with collision mesh
can much more accurately represent the spray dispersion by eliminating grid effects.
Figures 12.14 and 12.15 illustrate the spray results from a simulation without collision
mesh and with collision mesh, respectively.

Figure 12.14: Spray parcels from a 4-nozzle spray simulation without collision mesh. Notice the split
in the spray plumes along the X and Y axes in the left-hand image. The right-hand image shows how
this split propagates along the Z axis.

CONVERGE 2.4 Manual 355


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Collision and Coalescence

Figure 12.15: Spray parcels from a 4-nozzle spray simulation with collision mesh. There is NO grid-
effects-induced split along the horizontal and vertical axes in the left-hand image. The right-hand
image shows the spray waves that more accurately mimic a physical spray.

The collision mesh is a uniform grid, used only for parcel collision, that rotates about a
random axis at every time-step. The embed level of the collision mesh (set by the coll_scale
parameter) is the number of levels below the base mesh size, as shown in Equation 12.141
below.

This mesh is completely independent of the fluid-phase mesh and is used only for collision
calculations. The algorithm for creating the collision mesh is based on randomly selecting a
coordinate system and creating a collision mesh at each time-step. The collision mesh cell
size is based on the coll_scale parameter specified in spray.in and is given by

dx _ base
dxcoll  , (12.141)
2coll _ scale

where dx_base is the base cell size specified in inputs.in. Once the mesh is created, the
parcels are placed in the appropriate collision mesh cell and the collision calculation
proceeds as usual.

The cost of calculating the collisions grows proportional to the square of the number of
droplets in a cell, so assigning the typical value of 3 to 5 for coll_scale may significantly
reduce overall computational time of the simulation. Values in this range for coll_scale
results in 512 to 32,768 collision mesh cells for every fluid base mesh cell, and thus
drastically decreases the number of spray parcels per collision mesh cell. For this reason,
using collision mesh is recommended to increase both the accuracy and the computational
efficiency of the spray simulation.

356 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Collision and Coalescence

However, you should use caution when decreasing the collision mesh cell size: parcels can
pass right through a collision mesh cell without having the chance to collide if the collision
mesh to too refined. To alleviate this issue, you can activate the following time-step
constraint:

dxcoll
dtmesh  mult _ dt _ coll _ mesh  . (12.142)
Vdrop ,max

In Equation 12.142, dxcoll is the collision mesh cell size, Vdrop,max is the maximum drop
velocity in the entire domain, and mult_dt_coll_mesh (specified in inputs.in) is a scaling
constant.

12.6 Drop Turbulent Dispersion


CONVERGE models the effects of the turbulent flow on spray drops by adding a
fluctuating velocity ui' to the gas velocity ui. The following sections describe how ui' is
determined when using either a RANS (Reynolds-Averaged Navier-Stokes) or LES (Large
Eddy Simulation) turbulence model.

You can turn on turbulent dispersion input parameters via the turbdis_f lag in spray.in.
Remember that you must set turbulence_solver_f lag = 1 in inputs.in to activate turbulence
modeling, then specify the relevant model parameters (c_s or c_tke_les, and c_ps) in the
turbulence.in input file.
12.6.1 RANS Turbulence Models
The RANS (Reynolds-Averaged Navier-Stokes) turbulence models in CONVERGE include
source terms to account for the depletion of turbulent kinetic energy due to work done by
turbulent eddies to disperse the liquid spray droplets. The source terms Ss include the
fluctuating component of the fluid-phase velocity ui' :

 N p Fdrag
 ,i ui 
p
Ss  
p (12.143)
V

where the summation is over all parcels in the cell, Np is the number of drops in a parcel, V
is the cell volume and

CONVERGE 2.4 Manual 357


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop Turbulent Dispersion

Fdrag ,i
 ,i 
Fdrag ui , (12.144)
ui  ui  vi 

where Fdrag,i is the drag force on a drop. Note that cs is a model constant that appears in
front of Ss in the ε transport equation. You can specify a value for cs through the parameter
c_s in turbulence.in input file. Setting cs to zero in the input files actually deactivates the
source term in both the k and ε equations.

In the O’Rourke turbulent dispersion model, it is assumed that each component of ui'
follows a Gaussian distribution given by

1   u  2

G ui   exp  , (12.145)
2  2 2 
 

with a variance σ2 given by 2/3k where k is the turbulent kinetic energy (Amsden et al.,
1989). It can be shown that the cumulative distribution function for Equation 12.145 is
given by

 u   erf 
G
ui
  erf   0    2, (12.146)
i
 2 
2

where

ui
  . (12.147)
4 /3  k

Equation 12.146 is inverted numerically, using Newton’s method, to obtain values of  for
 . These values are calculated once at the start of the simulation and
specific values of G
stored in a table. When a value of  is needed for a turbulent dispersion calculation, a
random number YY between zero and one is selected which represents the chosen value of
G . The corresponding value of  is found by interpolating in the table. Once a value of
 is selected, ui' is calculated using Equation 12.147. The sign of ui' is determined based on

358 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop Turbulent Dispersion

the parameter XX = 1-2YY . Note that this process is conducted for each of the three
components of ui'.

CONVERGE chooses new values of ui' according to the above procedure once every
turbulence correlation time td , which is the lesser of the eddy breakup time and the time
for a droplet to traverse an eddy. In other words,

k k 3/2 1 
td  min  , cps  , (12.148)
  ui  u  vi 

where cps is an empirical constant and ε is the dissipation of turbulent kinetic energy. You
can set the value for cps via the c_ps parameter in turbulence.in input file. The drop needs to
traverse the eddy length, le, which is given by

c3/4 k 3/2
le  . (12.149)

CONVERGE also includes a TKE preserving dispersion model. This model chooses each
component of ui such that ui  2 k . Three random numbers YYi are first chosen and

normalized such that they sum up to unity. Three additional random numbers XXi are
next chosen to determine the sign of each component. The components of the fluctuating
velocity are then calculated from

ui  sign(1  2XXi ) 2YYk


i (12.150)

where k is the cell turbulent kinetic energy. CONVERGE chooses new values of ui after a
turbulence correlation time as in the O’Rourke model.

CONVERGE 2.4 Manual 359


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop Turbulent Dispersion

12.6.2 LES Model


When LES (Large Eddy Simulation) turbulence is used, the sub-grid velocity is derived
from the first term of a Taylor series expansion given by (see Chapter 15 - Turbulence
Modeling)

dx 2  2 ui
usub ,i  Cles , (12.151)
24 x j x j

where dx is a characteristic cell size given by the cube-root of the cell volume, ūi is the
resolved velocity field, and Cles is a scaling constant. You can specify a value for Cles via the
c_tke_les parameter in the turbulence.in input file. A random number YY between zero and
one is chosen for each of the three components, and the applied sub-grid velocity is given
by

ui  2XXusub ,i , (12.152)

where XX = 1 - 2YY gives the sign of the velocity component. The factor of two is included
in Equation 12.152 so that the applied sub-grid velocity of a given component is can be
either positive or negative.

As in the RANS turbulent dispersion model, new values of ui' are chosen once every
turbulence correlation time td given by

 ksub 3/2
ksub 1 
td  min  , cps  , (12.153)
  sub  sub ui  ui  vi 

where ksub and εsub are derived from the sub-grid velocity field and the grid size. In other
words,

1
ksub  usub ,i usub ,i , (12.154)
2

360 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop Turbulent Dispersion

and

3/2
ksub
 sub  . (12.155)
dx

Note that the form of Equations 12.153 - 12.155 is used so that the time-scales can be
written similarly to those in a RANS case. It can be shown that with the definitions given
by Equations 12.154 and 12.155, the time-scales are proportional to the grid size over a
velocity magnitude. In other words,

ksub dx
 , (12.156)
 sub usub ,i

and

k 3/2 1 dx
cps  . (12.157)
 ui  u  vi ui  u  vi

Thus, the expressions on the right-hand-sides of Equations 12.156 and 12.157 could also be
used to define the two time-scales. Note that cps is specified by the parameter c_ps in the
turbulence.in file.

12.7 Drop/Wall Interaction


CONVERGE offers three options for modeling drop/wall interaction, as described in the
following sections:

· Rebound/Slide Model
· Wall Film Model
· Drop Vanish Model

12.7.1 Rebound/Slide Model


You can use the wall impingement model of Naber and Reitz (1988), which was later
improved by Gonzalez et al., (1991), to model the interaction of the spray droplets with
solid surfaces. This model includes two impingement regimes, rebound and slide, based on
the Weber number,

CONVERGE 2.4 Manual 361


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

1Vn2 d0
Wei  , (12.158)

of the incoming drop at impact, where Vn is the velocity component normal to the surface.
If Wei is less than 80 (rebound regime), the drop rebounds elastically with a normal
velocity given by Gonzalez et al., (1991)

Weo
Vn ,o  Vn ,i , (12.159)
Wei

where the Weber number of the outgoing drop Weo is obtained from the expression

Weo  0.678Wei exp 0.04415Wei . (12.160)

Equation 12.160 is a numerical fit of the experimental observations of Wachters and


Westerling (1966) for water drops impinging on a metal surface.

If Wei is greater than 80, the jet model of Naber and Reitz (1988) is used to update the drop
velocity. In this model, the sheet thickness produced from an impinging liquid jet is
assumed to be given by

H    H exp   1  /  , (12.161)

where Hπ is the sheet height at ψ = π and β is a parameter that can be determined from
mass and momentum conservation. It was shown by Naber and Reitz that β can be
calculated from the expression

 exp   1  1
sin     , (12.162)
 exp   1  1   /  
2

362 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

where α is the jet (or in this case drop) inclination angle. If it is assumed that
[(exp +1)/(exp -1)]  1 , which is true for values of β greater than approximately 3,
Equation 12.162 can be simplified to give

sin 
  . (12.163)
1  sin 

Naber and Reitz also showed that the angle ψ at which an impinging drop leaves the
surface is given by


  ln 1  YY 1  exp   , (12.164)

where YY is a random number between zero and one.


12.7.2 Wall Film Model
CONVERGE offers a particle-based wall film for modeling the interaction of liquid drops
with solid surfaces. The model uses a hybrid approach to film modeling: some calculations
assume individual particle-based quantities, while other calculations assume film-based
quantities. For example, the thickness of the film on wall face α, which is used throughout
the film model, is given by

Vp
p
h  , (12.165)
A ,i

where Vp is the volume of parcel p, A α,i is the area projection vector of face α, and the
summation is over all particles located on face α. Details of the various aspects of the film
model are given in the sections below.
Film Initialization
When init_f ilm_f lag = 1 in spray.in, CONVERGE reads in an input file called f ilm_init.in.
This file defines how the wall film is to be initialized. A wall film can be initialized on an
entire boundary, or in a circular or rectangular shape. Projections of circular or
rectangular shapes are taken on wall boundaries as shown in Figure 12.16 (a) and Figure
12.16 (b). A description of the f ilm_init.in input file can be found in Chapter 22.

CONVERGE 2.4 Manual 363


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

(a) (b)
Figure 12.16: (a) Circular wall-film initialization, (b) Rectangular wall-film initialization.

Film Momentum Equation


The film momentum equation of O’Rourke and Amsden (2000) is used to model liquid film
n 1
transport. Using this equation, solution of the updated film particle velocity up ,i is given
as (O’Rourke and Amsden, 2000)

l h n 2
up ,i   w , t ,i  l uwall ,i  S ,i   n ,i
dt h
upn,i1  , (12.166)
l h 2 l 
  M imp ,
dt h

where

 l h n 
  up ,i  uwall ,i n ,i  S ,i n ,i  M imp , uwall ,i n ,i , (12.167)
dt

where α is the wall face on which the particle is located, ρ l is the liquid density, hα is the
n
film thickness, up ,i is the film particle’s velocity at the previous time-step, τw,α is the shear
stress on the gas-side of the wall film, tα,i is the unit vector in the direction of gas motion, μl

364 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

is the liquid viscosity (calculated at the local mass-averaged film temperature), uwall,i is the
boundary velocity, n is the unit vector normal to the boundary, and M  is the mass
α,i imp ,

impingement source given by

 lVp
 p
imp , 
M , (12.168)
A ,i dt

where the summation is only over particles that stick to the face α in the current time-step.
Finally, the term Sα,i in Equation 12.166 is given by

 p f 
S ,i  Pimp , ,i  h     l h g i , (12.169)
 xs  ,i


where  / xs is used to denote the surface gradient operator, Pimp , ,i is the momentum
impingement source given by:

 lVp upn,i1  upn,i 


Pimp , ,i 
p
, (12.170)
A ,i dt

g i is acceleration due to gravity, and the film pressure gradient is approximated by

 p f  1
    p f m tm,i xm 1,i  xm,i ,
 (12.171)
 xs  ,i A ,i m

where the sum is over the edges of face α, (p f )m is the average of the film pressures on the
two faces on either side of edge m, xm+1,i and xm,i are the vertex locations at the ends of edge
m, and tm,i is the unit tangent to the surface in the direction normal to edge m which is
approximated as:

CONVERGE 2.4 Manual 365


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

 ijk xm 1,i  xm ,i Am , j


tm ,i  , (12.172)
 ijk xm 1,i  xm ,i Am , j

where A m,j is the average of the area projection vectors of the two faces on either side of
edge m (O’Rourke and Amsden, 2000), and:

 0 if any two indices are the same



 ijk  1 if ijk  123, 231 or 312 (12.173)
1 if ijk  132, 213 or 321

Note that the summation in Equation 12.171 is only over particles that impinge on the face
α in the current time-step. The film pressure in Equation 12.172 is given by


p f ,a  M 
imp , uwall ,i n ,i  Pimp , ,i n ,i . (12.174)

Equation 12.166 is used to update velocities of particles that impinged on a solid surface in
a previous time-step. If a particle has just impinged on a wall in the current time-step,
CONVERGE calculates its velocity with the jet model described in the Rebound/Slide
Model section earlier in this chapter.
Drop/ Film Rebounding
Drops with low Weber numbers may rebound off of a solid surface. In the present model,
if

Wei  Werebound , (12.175)

then the drop is assumed to rebound. Werebound is specified in spray.in as the parameter
weber_rebound. In Equation 12.175, Wei is given by

lVn2 d
Wei  , (12.176)

366 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

where ρ l is the liquid density, Vn is the drop velocity component normal to the surface, d is
the drop diameter, and σ is the liquid surface tension.
Drop/ Film Splashing: O'Rourke Model
Activate the O'Rourke film splash model by setting spray_wall_f lag = 1 and
f ilm_splash_model = 0 in spray.in. Within the O'Rourke splash model, there are two options
for determining the criterion for splash:
2
· based on the critical value of Ecrit , according to Equation 12.177 below (set
splash_crit_f lag = 0), or
· based on the critical value of the Weber number, We (set splash_crit_f lag = 1).

When you set splash_crit_f lag = 0, the O'Rourke film splash technique follows the approach
of O’Rourke and Amsden (2000). In this approach, the criterion for splash is given by

Wei
E2   Ecrit
2
,
 h   bl (12.177)
min  , 1  
 d  d

where Wei is given by Equation 12.176, hα is the local film thickness, d is the impinging
drop diameter and the boundary layer thickness is given by

d
 , (12.178)
Red

where

 lVn d
Red  . (12.179)
l

In Equation 12.179, ρ l is the liquid density, μl is the liquid viscosity, and Vn is the drop
velocity component normal to the surface. O’Rourke and Amsden (2000) suggest a value
2
of 3330 for Ecrit , based on the experimental work of Mundo et al., (1995). In CONVERGE,
2
Ecrit is an input value you specify.

CONVERGE 2.4 Manual 367


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

When you set splash_crit_f lag = 1, CONVERGE will employ the second (and simpler)
approach for determining if a drop splashes by comparing the impinging drop Weber
number, given by Equation 12.176, to a critical splash Weber number. In other words, if

Wei  Wesplash , (12.180)

then the drop splashes.

If it is determined that splashing is possible, a fraction of the impinging drop’s mass, given
by f splash (rmspalsh1 in spray.in) is used to create a new parcel that splashes. The remaining
fraction of mass, given by (1 - f splash ), is incorporated into the wall film.

The splashed parcel properties are initialized following the approach of O’Rourke and
Amsden (2000). The drop velocity is calculated with the expression

up ,splash ,i  wni  0.12Vn  v cos et ,i  sin ep ,i  0.8Vt et ,i , (12.181)

where ni is the unit normal to the boundary, et,i is the unit vector tangent to the surface
and in the plane of both ni and the incident drop velocity, and ep,i = εij kniet,j . In addition, Vn
is the normal component of the incident velocity and Vt is the component of the incident
velocity that is tangent to the surface. Furthermore, w' is the normal component of the
secondary droplet velocity which is chosen from the distribution (O’Rourke and Amsden,
2000)

4 (w)2   w  2

P(w)  exp    , (12.182)
 wmax
3
  wmax  

where

wmax  0.2Vn . (12.183)

368 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

The cumulative probability function for the above distribution can be obtained by
integrating Equation 12.182 with respect to w':

2
P w   erf   -  exp  2 , 0  3 (12.184)

where

w
  . (12.185)
wmax

Equation 12.184 is inverted numerically, using Newton’s method, to obtain values of ζ for
specific values of P . These values are calculated once at the start of the simulation and
stored in a table. When a value of ζ is needed for a splashing calculation, a random
number YY between zero and one is selected which represents the chosen value of P . The
corresponding value of ζ is found by interpolating in the table. Once a value of ζ is selected,
w' is calculated using Equation 12.185.

The fluctuating component of the secondary droplet tangential velocity, v', is chosen from
a Gaussian distribution (O’Rourke and Amsden, 2000)

1  v 2 
G(v)  exp   2 
, (12.186)
2 2  2 

where σ2 = 0.01Vn2 is the variance. It can be shown that the cumulative probability
function for Equation 12.186 is given by

 u   erf 
G

v
  erf   0    2, (12.187)
i
 2 
2

where

CONVERGE 2.4 Manual 369


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

v
  . (12.188)
0.02Vn

Equation 12.187 is inverted numerically, using Newton’s method, to obtain values of ζ for
 . These values are calculated once at the start of the simulation and
specific values of G
stored in a table. When a value of ζ is needed for a velocity calculation, a random number
YY between zero and one is selected which represents the chosen value of G  . The
corresponding value of ζ is found by interpolating in the table. Once a value of ζ is selected,
v' is calculated using Equation 12.188. The sign of v' is determined based on the parameter
XX = 1 - 2YY.

The final parameter needed in the splashed drop velocity expression, Equation 12.181, is
the random angle ψ. This angle is calculated in a similar way as in the jet model described
in the Rebound/Slide Model section earlier in this chapter.

Splashed drop radii are obtained from the following distribution (O’Rourke and Amsden,
2000):

4 r2   r  2

F r   exp    . (12.189)
 rmax
3
  rmax  

Following the approach of Amsden et al. (1989), in order to obtain the best resolution of
the size distribution where the most mass is located, the distribution should be
proportional to the mass distribution given by r3F(r). In order to create a probability
density function of this mass distribution, the normalizing constant Nc must be found. This
constant can be determined via:

 
4 r5   r  2
 4 3
Nc   r F r dr  
3
exp     dr  rmax , (12.190)
 rmax 
3
0 0   rmax  

and the new distribution is given by

r5   r 2 
M r   r F r  / Nc  6 exp   
3
 . (12.191)
rmax   rmax  
 

370 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

The cumulative probability function for this distribution is given by

 r   1  1   2  1  4  exp   2  ,
M 0  3 (12.192)
 2   

where

r
  . (12.193)
rmax

Once a value of ζ is obtained, r is calculated from the expression (O’Rourke and Amsden,
2000)

 Ecrit
2
6.4 
r   max  2
, , 0.06  r0, (12.194)
 E Wei 

where r0 is the incident drop radius.

Drop/ Film Splashing: Kuhnke Model


Activate the Kuhnke film splash model (Kuhnke, 2004) by setting spray_wall_f lag = 1 and
f ilm_splash_model = 1 in spray.in. The Kuhnke splash model considers the temperature and
the wetness (wall film thickness) of the wall to determine the extent of drop/film
splashing.

The Kuhnke film splash model operates by comparing the K number of the liquid parcel --
as defined in Equations 12.195 and 12.196 below (to the splash critical K number) as
shown in Figures 12.17, 12.18, and 12.18 later in this section.

3 5
( d) 4 U 4
K 1 1 (12.195)
 2 4

Or,

CONVERGE 2.4 Manual 371


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

5 1
K  We 8 La 8 , (12.196)

where We is the Weber number and La is the Laplace number, defined as:

 L
La  , (12.197)
2

where  is the surface tension,  is the density, L is the diameter of the parcel, and  is
the liquid viscosity. The K number accounts for the effects of both the kinematic condition
and the size of the spray droplets.

When the K number of the liquid parcel is higher than the splash critical K number for the
specific conditions of wall (based on T*, which is the ratio of Twall to Tboil) the drop will
splash, thermally break up, or some combination of the two. Figure 12.17 below offers a
conceptual scheme of the conditions under which the parcel will undergo each type of
drop/wall interaction.

Figure 12.17: A conceptual representation of the four parcel/ wall interaction outcomes for a dry wall
available in the Kuhnke film splashing model.

372 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

The four outcomes conceptually shown above are as follows:


· When the K value of the parcel and wall temperature are both low, wall film will be
created.
· When the K value is low but the wall temperature is high, the parcel will rebound.
· When the K value is high but the wall temperature is low, the parcel will splash.
· When the K value is high and the wall temperature is high, the parcel will thermally
break up.

Dry Wall Splash Criteria


Equation 12.198 below defines the critical K value above which a drop will splash upon
impact with the wall.

Kcrit (T * )  (1   )Kcold   Khot (12.198)

where

2
Kcold (T * ,  a )  Kcold ,0  12.75 ln  a    12.75 ln  a     5, where
 T *  1.0 
*
 1.0)
 54  76e
13(T
Kcold ,0   and (12.199)
130
 1.0  T *  1.1
Kcold ,0  43.6
 ,
25.5

and

Khot (T * )  unif (20, 40) T *  1.16 (12.200)

is a uniform distribution between 20 and 40. e a is the user-specified wall roughness, with a
minimum value of 1.0e-6 m. l is a transition function that connects Kcold and Khot, and is
defined by

  T *  1.13   1
 (T * )  arctan      (12.201)
  0.06   2

CONVERGE 2.4 Manual 373


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

Here, w = 100 is a tuned parameter that yields smooth transition within region
T*Î(1.1,1.16).

Figure 12.18 below shows critical K values versus the ratio of the wall temperature to the
liquid boiling temperature for a dry wall condition, defined by Equation 12.198.

Figure 12.18: Critical K number values used in the Kuhnke film splash model for a dry wall at
different (T wall / T boil) temperature ratios.

As shown in Figure 12.18 above, spray droplets splash/break up easily on dry walls when
wall temperatures are significantly higher than the boiling temperature of the liquid.

Wet Wall Splash Criteria

374 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

Figure 12.19: Data used in the Kuhnke film splashing model: K number values for a wet wall at
different dimensionless wall film thicknesses.

Figure 12.19 above shows critical K values versus the relative thickness of existing wall
film. For wet walls, the critical K value does not depend on the wall temperature, and is
given by

Kcrit ( , La)   ( ,  0 , 125, 58.7, 100)  (408.4 0  283.6)  Weibull( ,  0 , 3) (12.202)

where f is a function defined as

yr  yl  x  x0  y r  y l
 (x , x0 , y l , y r , s)  arctan   s  (12.203)
  yr  yl  2

and d 0 is defined by d 0 =f (La,600,0.85,1.08,0.003); Weibull() is the Weibull (Rosin-Rammler)

distribution PDF function defined as

q
q1 x
x q  x 
Weibull(x , x , q)    e (12.204)
x x

CONVERGE 2.4 Manual 375


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

and is used to model the humps shown in Figure 12.19 above.

Figure 12.19 above shows that in the Kuhnke model, spray droplets will deposit into the
existing film when the wall film is thin and they will splash into secondary droplets when
the wall film thickness, d , is thick (relative to the droplet diameter, d).

Secondary Droplet Properties


The Kuhnke model will automatically determine the properties of secondary droplets
generated from slash/breakup based on experimental data and conservation laws.

The mass fraction of splashed secondary droplets is calculated according to Equation


12.205 below. Note that this model also allows existing wall film to be splashed into
secondary droplets.

  T * 0.8 
min 1, (1  B)  B , B  0.2  0.6p dry
  1.1  0.8 
m   p  rand(0, 1) (12.205)
min 1+ wf , T * 0.8 (1  B)  B , B  0.2  0.9 p wet
m
 
  md 1.1  0.8 

The diameter of the secondary droplets is calculated as follows:


2
 
3.6 
d10 3.3e   We
 0.65
dry
 10   2 (12.206)
d0   
3.6 
 

 2.2 e We0.36 wet

Then CONVERGE can determine the number of secondary droplets based on mass
conservation.

The velocity magnitude, Ua1, is calculated from the Weber number of the secondary
droplets, Wea1. Equation 12.207 below is an estimate of Wea1, and is derived with energy
conservation in consideration.

376 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

  
12
 10  Wea 0 1  0.85sin   12   
2
dry
 32
Wea1  
 
 2

max 51  7.1e3.4  , We  0.378     0.123     0.156  wet
      (12.207)
 a0
     
 
   

 Wea1
 Ua1 
 d10

The directions of the splashed velocity are described using an ejection angle, b, and a
deviation angle, y, which are calculated using Equations 12.208 and 12.210, respectively.
In Equation 12.208, it is assumed that the ejection angle follows a logistic distribution with
a standard deviation of 4 and a mean of  , calculated using Equation 12.209.


  4 log ,   rand(0, 1) (12.208)
1

where
9.3  ln( a )(2.7  0.03 )  0.22 cold, dry


  0.225 e(0.017 0.937)
2
cold, wet (12.209)

 0.96e0.0045 We hot

Deviation angle:


  ln 1  p 1  e  (12.210)
 

where
 1  8.872 cos(1.152 )
   80
 1  cos
 p  rand(0, 1) (12.211)

2


cos   80
 2

Dense Spray Consideration


The discussion above considers only a single drop impinging on a wall. To model the real
spray/wall interaction, multiple drop effects need to be taken into account. It is observed
in experiments that for dense spray the critical K value is much lower than for single drop
interaction. The ejection angles of the secondary droplets in dense spray are generally

CONVERGE 2.4 Manual 377


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

larger than for single drop interaction. The dense spray splashed droplet diameter is more
uniform. Good estimates of the critical K and secondary droplet diameter, g, and ejection
angle, b, for multiple drop interaction are

K MD  25 (12.212)

 0.5 dry
 MD   , (12.213)
1.0 wet

and

 MD  1.5 SD (12.214)

Kuhnke introduces a blending function to allow smooth transition between single and
multiple drop interaction regimes, i.e.,

Kcrit  KSD  MD (K MD  KSD )


   SD  MD ( MD   SD ) (12.215)
  SD  MD ( MD  SD )

where is lMD the blending function. For a dry wall condition,

 Dl*   
MD  max  , 0 ,  1 (12.216)
D 1
*
l 

where Dl  (0.28We  1) . For a wet wall condition,


* 0.39

1

MD  e cmd (12.217)

378 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

In Equations 12.216 and 12.217, κ represents the average distance between spray drops
relative to the drop diameter. κ = 1 means that the drops are next to each other in the
spray; κ = 100 means that the distance between drops is 100x the drop diameter. κ cannot
be calculated exactly, but can be estimated as follows:

1
 Aref dt 2
   (12.218)
  N d 2 
 i i i expi 

where A ref is a reference area upon which the wall film spreads, dt is the time-step, Ni is
the number of drop that impact area A ref within dt, di is the diameter of the impinging
drop, and texpi is the lamella spreading time, which is estimated as

 d3
 exp  0.4 . (12.219)
16

Drop/ Film Splashing: Bai-Gosman Model


Activate the Bai-Gosman film splash model (Bai and Gosman, 1995; Smith et al., 2015) by
setting spray_wall_f lag = 1 and f ilm_splash_model = 2 in spray.in.

As with the Kuhnke model, the Bai-Gosman model considers the wall temperature, the
Weber numbers of the impinging drops, and the wall condition (i.e., wet or dry) to
determine the extent of drop/film splashing. The Bai-Gosman model in CONVERGE has
been customized for simulations that involve urea selective catalytic reduction (i.e.,
urea_f lag is non-zero). This model should be used with caution for non-urea applications.

The Bai-Gosman model operates by comparing the Weber number of an impinging drop to
a set of splash critical Weber numbers. These critical limits are slightly different for dry
wall and wet wall conditions. In addition, the wall temperature and wall condition (i.e.,
wet or dry) will determine the eventual outcome of the impingement event (whether the
drop deposits, splashes, rebounds, or goes through thermal breakup). Figures 12.20 and
12.21 illustrate the different drop-wall interaction regimes, similar to those presented by
Smith et al. (2015).

CONVERGE 2.4 Manual 379


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

Figure 12.20: Bai-Gosman model regime diagram for dry wall conditions.

Figure 12.21: Bai-Gosman model regime diagram for wet wall conditions.

Note the existence of a transition region between the upper and lower halves of the regime
diagrams, reflecting the lack of a sharp demarcation boundary for the deposition
temperature. Tupper and Tlower denote the upper and lower bounds of the transition region,
calculated as

380 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

Tupper  Tboil   Tupper


(12.220)
Tlower  Tboil   Tlower ,

where empirical studies suggest the following temperature offsets,

 Tupper  139
(12.221)
 Tlower  38.

Impinging drops that experience wall temperatures between Tupper and Tlower are shifted to
either the upper or the lower half of the regime, based on the linear probability distribution
shown alongside the regime diagrams.

The outcomes for dry walls are as follows:


· When the Weber number and the wall temperature are both low, the parcel will deposit
on the wall, forming a wall film.
· When the Weber number is low and the wall temperature is high, the parcel will
rebound.
· When the Weber number is high and the wall temperature is low, the parcel will
undergo thermal breakup.
· When the Weber number and the wall temperature are both high, the parcel will splash,
and, under certain conditions, slide just above the wall.

The outcomes for the wet walls are similar to those for dry walls, except that the critical
Weber numbers for the regime boundaries are different, and an additional rebound regime
is observed when both the Weber number and wall temperature are low. The splash
critical Weber number Wea is a function of the Laplace number La and the actual surface
roughness rs (Bai and Gosman, 1995; Smith et al., 2015).

In the rebound regime, the rebound angle of the parcel equals the incident angle, and it
undergoes no other changes in its physical properties. In the splash regime, each incident
parcel breaks up into two outgoing parcels, and the criteria used for determining the mass
ratios, radii, and velocities of the secondary droplets is below. CONVERGE closely follow
the methodology described in Bai and Gosman (1995).

Each incident splashing parcel (of mass mI) breaks into two secondary parcels with equal
mass (ms/2). The secondary-to-incident mass ratios for dry and wet walls are given by

CONVERGE 2.4 Manual 381


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

ms
 0.2  0.6 for dry walls
mI
(12.222)
ms
 0.2  0.9 for wet walls,
mI

where α is a random number distributed uniformly in the interval (0,1). Note that, for wet
walls, the ratio on the left side of Equation 12.222 can be greater than 1, since a part of the
existing wall film might get splashed by the incident parcel.

For the secondary droplet sizes, mass conservation requires

ms 3
N 1d13  N 2 d23  dI , (12.223)
mI

where N1 and N2 are the number of droplets of diameters d1 and d2, respectively. The total
number of secondary droplets per splash (N = N1 + N2) is obtained from

 We 
N  a0   1 (12.224)
 Wecrit 

where a0 is approximately 5, We is the Weber number, and Wecrit is the critical Weber
number. The value of N1 is chosen randomly such that 1 ≤ N1 ≤ N, and thus N2 = N - N1.
The secondary diameters can then be determined from the requirements

ms dI3 ms dI3
N 1d13  and N 2 d23  , (12.225)
mI 2 mI 2

where dI is the diameter of the each droplet in the incident parcel.

The velocity magnitudes (U1 and U2) of the secondary droplets must satisfy the overall
energy conservation equation

382 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

ms 2 m 2  m 
U1  U2   N 1d1  N 2 d2  I VI ,n    s  We dI N I ,
2 2 2 2
(12.226)
4 2 12  mI 

where s is the surface tension and VI, n is the incident normal velocity.

The kinetic energy of the incident parcel should be large enough to overcome the critical
splashing energy (which is the final term in Equation 12.226), and the excess energy is
then used for the creation and motion of the secondary drops. An additional equation for
the two secondary velocity magnitudes is obtained from the size-velocity correlation

U1 ln d1 dI 
 . (12.227)
U2 ln d2 dI 

The ejection angles of the secondary drops are assumed to fall within a cone for both
normal and oblique impingement. The angle for one secondary parcel is randomly selected
in the range from 5 to 50 degrees, and the second angle can then be determined using the
conservation of normal (tangential) momentum and the velocity magnitudes from
equations Equations 12.226 and 12.227.

For the special case in which the drop slides just above the wall (described in #4 in the list
of outcomes above), CONVERGE determines the parcel velocities from the slide regime in
the Rebound/Slide model.
Spray-Wall Heat Transfer: Wruck Model
You can use the Wruck model in conjunction with either the Kuhnke or the Bai-Gosman
film splash model.

The Wruck model accounts for the thermal energy transfer from heated walls to the spray
droplets that rebound or splash off of the walls (Wruck and Renz, 2000). The resultant
heating of the droplets (and cooling of the walls) is an important phenomenon in many
industrial applications (e.g., urea aftertreatment systems). In CONVERGE, the model has
been augmented to allow for the Leidenfrost effect, which effectively shields droplets from
direct contact with the wall (for at least a part of the total duration of contact), thus
reducing the energy exchanged (Birkhold, 2007). Note that the Wruck model is active only
when spray droplets impinge on temperature-coupled boundaries.

The model considers both the wall and the impinging parcel to be semi-infinite bodies with
the exchange of energy taking place across an effective area and over an effective time of

CONVERGE 2.4 Manual 383


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

contact. The droplet deforms during its interaction with the wall (thus affecting the
effective area of contact), which is also taken into account. When a droplet (at temperature
Td) is in direct contact (over a duration of direct contact tdc) with a wall (at temperature
Tw), the model approximates the total heat transfer Qw-d as

2 tdc bw bd
Qw d  Acont Tw  Td  , (12.228)
 bw  bd

where bd and bw are the thermal effusivities of the droplet and the wall, respectively. Each
effusivity is a function of its thermal conductivity λ and heat capacity cp . Equation 12.229
below describes the equation for the effusivities, where i represents either d (droplet) or w
(wall):

bi   cp  . (12.229)
i

The effective area of contact between the droplet and the wall (A cont) is evaluated as

tdc
1  2
Acont 
tdc  4
d (t) dt, (12.230)
0

where d(t) represents the droplet diameter as it deforms during the duration of direct
contact tdc. An assumption for this formulation is that d(t) is sinusoidal in nature, and its
value depends on the kinetics of the impact (i.e., whether the droplet rebounds or splashes,
which is determined by the selected film splash model).

For rebounding droplets, d(t) is

 t 
d(t)  dmax sin   . (12.231)
 tcont 

For splashing droplets, d(t) is

384 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

 t 
d(t)  dmax sin  . (12.232)
 tcont 2 

The variable tcont is the total duration of contact between the droplet and the wall. In
Equations 12.231 and 12.232 above, dmax is the diameter of the droplet at the point of
maximum deformation, which is obtained from the Akao correlation. This correlation is

dmax
 0.61 We0.38 , (12.233)
d

where d is the diameter of the impinging drop. The total duration of contact depends also
on the kinetics of the impact. For rebounding drops, the total duration of contact is

  d3
tcont  . (12.234)
4 

For splashing drops, the total duration of contact is

0.25
   d5 
tcont   2 
, (12.235)
2   un 

where u represents the wall normal component of the impinging drop's velocity.

Note that the action of the Leidenfrost effect can cause the total duration of contact (tcont)
to differ from the duration of direct contact (tdc), since the thin layer of vapor breaks direct
contact between the drop and the wall. Figure 12.22 below offers a schematic of this effect.

CONVERGE 2.4 Manual 385


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

Figure 12.22: Timelapse schematic of a rebounding drop that demonstrates the initiation of the
Leidenfrost effect.

Experimental observations show that drops need to be in direct contact with the wall for a
certain minimum duration (ts) before the Leidenfrost vapor lifts the drop and breaks direct
contact. In the temperature range of 520–670 K, the following expression gives this
minimum duration:

ts  1.687  107 Tw  1.376  104. (12.236)

The duration of direct contact tdc is thus

tdc  min tcont , ts . (12.237)

To activate the Wruck model, first verify that either the Kuhnke or the Bai-Gosman film
splash model has been activated and then set splash_wruck_model_f lag = 1 in spray.in.
Film Separation
Film separation can occur if wall film particles flow over a sharp corner. The separation
criterion of O’Rourke and Amsden (2000) is used to determine if film separation takes
place. The criterion is given as

386 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

2
l up ,i  uwall ,i ti  sin 
csep    p gas , (12.238)
1  cos

where csep is a constant (typically 3, and specified as sep_const in spray.in), p gas is the local
gas pressure, and ti and θ are defined in Figure 12.23.

If Equation 12.238 is satisfied, the film parcels are converted to spray parcels with a
diameter equal to the film thickness.

ti

film

Figure 12.23: Schematic of the film separation criterion.

Film Stripping
CONVERGE accounts for wall film stripping by setting f ilm_strip_f lag = 1 in spray.in. The
mechanism of wall film stripping is the same as the LISA breakup model of liquid sheet
parcels, as discussed in the LISA Breakup Model section earlier in this chapter. Film
stripping takes place due to the growth of waves on the surfaces caused by the
aerodynamic forces acting on the film. Once the waves reach a critical amplitude,
fragments of the liquid are broken off which contract to form cylindrical ligaments that are
believed to move normal to the ligament axis. As a result, capillary forces cause the
unstable ligaments to break into drops.

The maximum growth rate of the waves, Ωs is obtained from the Equation 12.239.

r  2 l k 2  4 l2 k 4  QU2 k 2   k 3 /  l . (12.239)

The film stripping time,  f ilm _ strip is given by Equation 12.240.

CONVERGE 2.4 Manual 387


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

Ctime
 f ilm _ strip  , (12.240)
s

where Ctime is the film strip time constant and is the strip_time_cnst parameter, an input in
spray.in.

The ligaments formed due to film stripping have a diameter given by

2
dL  Csize , (12.241)
Ks

where Csize is the film strip size constant and Ks is the wave number corresponding to the
maximum growth rate Ωs. Csize (the parameter strip_size_cnst) is also an input in spray.in.

Adaptive Film Mesh


Parcel-based wall films are sensitive to grid alignment, and error in wall film height
calculations can concentrate on grid boundaries. CONVERGE includes an adaptive film
mesh model to minimize these grid effects. By introducing randomized grid boundary
motion, film-height error is prevented from accumulating on a static grid face. This
approach is analogous to the Adaptive Collision Mesh discussed above.

The film mesh is completely independent of the fluid-phase mesh and is used only for film
calculations. The algorithm for creating the film mesh is based on randomly selecting a
coordinate system and creating a film mesh at each time-step. To activate the adaptive film
mesh model, set f ilm_mesh_f lag = 1 in spray.in. The film mesh cell size is based on the
f ilm_mesh_scale parameter specified in spray.in and is given by

dx _ base
dx f ilm  f ilm _ mesh _ scale
, (12.242)
2

where dx_base is the base cell size specified in inputs.in. Once the mesh is created, the
parcels are placed in the appropriate film mesh cell and the film calculation proceeds as
usual. There is no runtime difference when using the adaptive film mesh model.

CONVERGE calculates film height using the number of parcels in the near-wall cells.
Thus, grid size and orientation affects the calculated wall film height. By activating the
adaptive film mesh feature, the film mesh is oriented randomly at every time-step, and the

388 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Drop/Wall Interaction

parcels are effectively regrouped in the new mesh. The resulting calculated film height is
more independent of the grid orientation.

You should set a value of f ilm_mesh_scale that will result in film mesh spacing
approximately equal to, or slightly coarser than, the fluid mesh spacing (i.e.,
f ilm_mesh_scale = embed_scale or f ilm_mesh_scale = embed_scale - 1). An overly coarse film
mesh will result in a featureless and unresolved wall film. An overly fine film mesh (i.e.,
dxf ilm < dxlocal) will result in too few parcels being located in each film mesh cell, and
physical film effects will not be resolved. If your case will generate fluid films on multiple
boundaries, you should consider using an identical embedding level on each boundary.
12.7.3 Drop Vanish Model
To use the drop vanish model, set spray_wall_f lag=2 in spray.in. With this model activated
the spray droplets vanish as they impinge on the wall boundary. The mass of drops
disappear from the simulation in such an instance. This process is not the same as drop
vaporization, which is discussed in the Drop Vaporization Model section later in this
chapter.

12.8 Vaporization
You can find a detailed description of how CONVERGE determines drop or film
vaporization in the following sections.
12.8.1 Drop Vaporization Models
CONVERGE contains vaporization models to determine how the radius of a drop changes
over time. The Frossling correlation and the Chiang correlation are described below.

CONVERGE also contains different methods for computing thermal transfer to a drop.
The Uniform Temperature Model and the Discretized Temperature Model are described
below.

1. The droplet temperature is assumed to be uniform and temperature is solved using two
ordinary differential equations.
2. The droplet temperature is assumed to be spherically symmetric and temperature is
solved using a partial differential equation (the 1D spherical heat equation) for the
droplet temperature. This temperature solution is coupled with either the Frossling or
Chiang ODEs for the boundary condition.

For all droplets whose radii are larger than the user-specified model_transition_radius,
CONVERGE will use the droplet thermal transfer using a PDE. For all droplets whose radii
are smaller than or equal to the model_transition_radius, CONVERGE will use an ODE.

CONVERGE 2.4 Manual 389


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Vaporization

If you specify a value larger than any possible droplet for model_transition_radius,
CONVERGE will use only ODEs for determining droplet temperature. Using the heat
equation can be computationally expensive, but is useful for generating accurate spray
temperature results, as the ODE tends to under-predict the temperature and evaporation
rate for large drops.

Values for some of the vaporization model input parameters are functions of the
evaporating species (fuel) used in the simulation. Table 12.3 provides recommended values
of d0_dif f use and n_dif f use for different species, since the corresponding model parameters
D0 and n0 are experimentally determined.

Table 12.3: Recommended values for some spray.in vaporization parameters.


Fuel Name d0_dif f use n_dif f use
C7H16 5.94e-6 1.60
IC8H18 5.44e-6 1.60
C10H22 4.61e-6 1.60
C14H30 3.74e-6 1.60
Gasoline 7.90e-6 1.87
Jet-A 4.16e-6 1.60

Droplet Radius Change - Frossling Correlation


Once the liquid spray is injected into the computational domain, a model is needed to
convert the liquid into gaseous vapor. To use the Frossling correlation to determine the
time rate of change of droplet size, set parcel_evap_model = 1. The Frossling correlation
(Amsden et al., 1989) is

dr0  spray  g D
 BdShd , (12.243)
dt 2 lr0

where is the user-specified scaling factor for the mass transfer coefficient
(scale_mass_trans_coef f _spray), D is the mass diffusivity of liquid vapor in air. We define Bd
as

Y1*  Y1
Bd  , (12.244)
1  Y1*

390 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Vaporization

where Y1* is the vapor mass fraction at the drop’s surface, Y1 is the vapor mass fraction,
and ShD is the Sherwood number given by

1/3 ln(1  Bd )
Shd  2.0  0.6Re1/2
d Sc  , (12.245)
Bd

where

 gas ui  ui  vi d
Red  . (12.246)
 air

In Equation 12.246, d is the drop diameter and μair is the air viscosity which is evaluated at

the temperature T given by (Amsden et al., 1989)

 Tgas  2Td
T , (12.247)
3

where Tgas is the gas temperature and Td is the drop temperature. Furthermore, Sc =
μair/ρ gasD is the Schmidt number of air and D is determined from the correlation:

 n0  1
 gas D  1.293D0 T /273  , (12.248)

where D0 and n0 are experimentally-determined model constants. In addition, Y1* is


determined from the expression:

MCn H 2 m
Y1*  ,
 p gas  (12.249)
MCn H 2 m  M mix   1
 pv 

CONVERGE 2.4 Manual 391


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Vaporization

where Mmix is the molecular weight of the mixture (not including vapor from the liquid
species), p gas is the gas pressure, and p v is the vapor pressure at the current droplet
temperature.
Droplet Radius Change - Chiang Correlation
To use the Chiang correlation (Chiang et al. (1992)) to determine the time rate of change of
droplet size, set parcel_evap_model = 2. This option will use alternative correlations for Nud
and Shd as follows:

0.678
Nud  1.275 1  Bd  Re0.438
d Prd0.619 , (12.250)

and

0.568
Shd  1.224 1  Bd  Re0.365
d Scd0.492 . (12.251)

With this model, the rate of heat conduction is still given by the Ranz-Marshall correlation
(refer to Equation 12.254 below), however the rate of change of droplet radius is given by

dr0  spray  g D
 BdShd Y1*  Y1 , (12.252)
dt 2 lr0

where is the user-specified scaling factor for the mass transfer coefficient
(scale_mass_trans_coef f _spray).
Droplet Boiling Model
To model droplet boiling, CONVERGE includes a model for droplet radius change in the
boiling regime. Equation 12.253 below gives the formula for calculating the time rate of
change of the droplet radius when the droplet temperature exceeds the boiling point:

d(r0 ) kair  cp , Tair  Td 


 1  0.23 Red ln 1   (12.253)
dt  dcp , r0  hfg 

392 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Vaporization

where kair is the thermal conductivity and cp,air is the specific heat capacity. Once the
droplet temperature reaches the boiling temperature, this model considers the droplet
temperature fixed at the boiling temperature.

The boiling temperature for each component of the liquid parcel is determined individually
from liquid.dat. CONVERGE uses pressure of the cell containing the parcel as the vapor
pressure for the purposes of this lookup.

You can use this droplet boiling model in conjunction with either the Frossling or the
Chiang correlation for droplet radius change. CONVERGE models droplet radius change
with the correlation you select until the droplet temperature reaches the boiling point. At
the boiling point, CONVERGE uses Equation 12.253 to model droplet radius change. To
model droplet boiling in conjunction with the Frossling correlation, set parcel_evap_model =
11. To model droplet boiling in conjunction with the Chiang correlation, set
parcel_evap_model = 12.
Uniform Temperature Model
The Uniform Temperature Model, which CONVERGE uses to calculate the droplet
temperature for all droplets whose radii are smaller than the user-specified
evap_big_drop_radius, employs the following energy balance:

dTd dmd
AdQd  clmd*  H vap , (12.254)
dt dt

which states that energy conducted to a drop will either heat up the drop or supply heat
for vaporization (Amsden et al., 1989). In Equation 12.254, cl is the liquid specific heat, Td
is the drop temperature, md is the drop mass, and Hvap is the latent heat of vaporization
evaluated at the drop temperature. In addition, the rate of heat conduction to the drop
surface per unit area is given by the Ranz-Marshall correlation (Faeth, 1977)

 spray Nud kair Tgas  Td 


Qd  , (12.255)
d0

where is the user-specified scaling factor for the heat transfer coefficient
(scale_heat_trans_coef f _spray).

CONVERGE 2.4 Manual 393


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Vaporization

ln(1  Bd )
Nud  2.0  0.6Re1/2
d Prd1/3  , (12.256)
Bd


kair is the conductivity evaluated at T , Tgas is the gas temperature, and Prd is the Prandtl
number. Furthermore, in the above expressions Ad and d0 are the average drop area and
diameter, respectively, and md* is an intermediate value of the drop mass. These quantities
are given by

 r0*2  r02 
Ad 
2
2r  2r0*
d0  0
, (12.257)
2
4
md*  l  r03
3

where r0* is an intermediate value of the drop radius, calculated from Equation 12.244
(when parcel_evap_model = 1) or from Equation 12.253 (when parcel_evap_model = 2).
Once the updated value of Td is obtained, Equation 12.244 or Equation 12.253 is used to
solve for the updated drop radius. This change in radius is used to determine the amount
of vapor to add to the computational cell.
Discretized Temperature Model
CONVERGE uses the Discretized Temperature Model to calculate the droplet temperature
for all droplets whose radii are larger than the user-specified model_transition_radius. This
method, which uses partial differential equations, is summarized below.

Governing Equations
The heat conduction model (Sazhin et al., 2011) for a spherically symmetric, evaporating
droplet with no recirculation is given by Equations 12.258 and 12.259:

T 1   2 T 
 cp   kr  (12.258)
t r 2 r  r 

T dR
k  h Tg  T(R , t)   L , (12.259)
r rR dt

394 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Vaporization

where κ = k/(r cp ) is the thermal diffusivity of the droplet, r is the distance from the center,
h is the convection coefficient between the droplet and the surrounding gas, Tg is the
temperature of the gas, R(t) is the radius of the droplet, cp is the droplet specific heat
capacity, L is the specific heat of evaporation, r is the droplet density, and k is the droplet
thermal conductivity.

Because the pure conduction assumption is generally not accurate, the effects of
recirculation can be simulated by replacing k with kef f (Sazhin, 2006). Equations 12.260 and
12.261 below define kef f and

kef f   (12.260)

where

  1.86  0.86 tanh(2.225 log10 (0.03333Ped )) (12.261)

and where Ped is the droplet Peclet number. These equations are known as the effective
thermal conductivity model (Abramzon and Sirignano, 1989).

Numerical Method: Finite Volume Derivation


Using the divergence theorem, the finite volume formulation for non-constant volumes is
derived by integrating the general heat equation over a spherical shell V = {r|r Î [r1,r2]}
and then applying spherical symmetry as

V  cp  tT  V   (kT)
 S kT  n (12.262)
r  r2
 4 (r 2 k rT ) .
r  r1

Because the volume is changing, the time derivative cannot be passed out of the integral.
We assume that only the outermost boundary can change and apply both the fundamental
theorem of calculus and the chain rule:

CONVERGE 2.4 Manual 395


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Vaporization

V  cp  tT   c p V  tT
r2 (t )
 4  c p   tTr 2 dr
r1

 dr2  (12.263)
 
r2 (t )
 4  c p   t  tTr 2 dr  r22T(r2 , t)

 r1 dt 
1 dr 
 4  c p   t (r23  r13 )T  r22T(r2 , t) 2  .
3 dt 

Averaging, we obtain the full finite volume formulation:

 (r 3  r13 )  k  2 T T  dr2
t  2 T   r2  r12   r2 T(r2 , t)
2
. (12.264)
 3   cp  r r  r2 r r r1  dt

In the present implementation, only the outermost shell, r2 = R, is allowed to vary,


meaning that dr2/dt = 0 for the interior, recovering the more familiar formula.

Numerical Method: Numerical Details


· Currently, density is a constant and c p is computed using cp T  .
· Time discretization is fully implicit and uses the same Δt as the flow solver.
· The droplet domain is discretized into a number of shells of equal volume specified by
the ncells_drop parameter. Numerical instabilities occur when Δt(dr/dt) > δ, where δ is
the width of the outermost shell. These instabilities are resolved by merging all shells
such that r2 < R(t2).
· When a parcel breaks up into two or more parcels, both parcels' temperatures are
uniformly set to those corresponding to the average internal energy of the original
parcel. Similarly, a drop formed from two coagulating parcels is assigned an energy-
averaged temperature.
· You can specify the number of FV cells in the droplet, whether to use kef f (set use_k_ef f =
0 or 1), and a threshold radius (model_transition_radius) below which the evaporation
model will switch to the Uniform Temperature Model.
12.8.2 Film Vaporization Model
Uniform Temperature Model
The film vaporization model in CONVERGE performs an energy balance between four
energy terms: convection to the gas, vaporization of the film mass, conduction from the
wall, and boiling of the film. A schematic of the model is shown in Figure 12.24.

396 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Vaporization

Figure 12.24: Schematic illustrating the film vaporization model in CONVERGE.

The thickness hα of the film on the wall face α is calculated as

Vp
p
h  , (12.265)
A

where Vp is the volume of parcel p and the summation is over all parcels located on face α,
A α is the area of face α.

The modeled film parcel temperature Tf ilm is represented at the film half-height, as seen in
Figure 12.24. It is solved by the following energy balance on the film mass:

n 1 n 1 n 1
m f ilmCp , f ilmTf ilm  m f ilmCp , f ilmTf ilm 
n n n
(12.26
n 1

 qConvection 
 qVaporization 
 qConduction qBoiling ,
A f ilm t t 
n
6)

where the superscript n represents the previous time-step, n+1 represents the current time-
step, and t is the time. Area and heat capacity of the film are denoted by A f ilm and Cp,f ilm,
respectively. Heat fluxes due to convection, vaporization, conduction, and boiling are

CONVERGE 2.4 Manual 397


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Vaporization


denoted by qConvection 
, qVaporization 
, qConduction , and qBoiling , respectively. The film mass mf ilm is
obtained by summing over the masses for each drop in the parcel. Cp,f ilm is calculated by
summing the specific heat capacities for each component in the film multiplied by their
corresponding mass fractions. The functional forms of the heat flux terms are explained in
the following paragraphs.

The convective heat transfer coefficient h is based on the cell and film temperatures and
the thermal conductivity of the gas. The heat flux due to convection is given by


qConvection   f ilm h Tgas  Tf ilm , (12.267)

where is the scaling factor for the heat transfer coefficient (scale_heat_trans_coef f _f ilm),
Tgas is the temperature of the gas and Tf ilm is the film temperature.

The mass flux due to vaporization for component A is given by

 1  YA , 
mA   f ilm  hm ln  , (12.268)
 1  YA ,i 

where is the scaling factor for the mass transfer coefficient


(scale_mass_trans_coef f _f ilm), ρ is the density, hm is the mass transfer coefficient, and YA,∞ is
the mass fraction of component A in the gas above the film. The model assumes
equilibrium conditions at the gas-film interface, so the mass fraction at the interface YA,i is
given by

Psat , A T MWA
YA ,i  f ilm
, (12.269)
P MWmix

where Psat,A is the saturation vapor pressure of component A evaluated at the film
temperature Tf ilm, P is the gas pressure, MWA is the molecular weight of component A, and
MWmix is the molecular weight of the mixture (not including vapor from the liquid species)
at the liquid/gas interface. Equation 12.269 also assumes that vapor A is an ideal gas and

398 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Vaporization

that the liquid mixture is ideal. hm in Equation 12.268 is calculated with the Reynolds-
Colburn analogy of heat and mass transfer. It is given by

2/3
h  Pr 
hm  , (12.270)
Cp  Sc 

where Cp is the specific heat capacity of the fuel mixture, Pr is the Prandtl number and Sc
is the Schmidt number. The heat flux due to vaporization of component A is given by

qA ,Vaporization  h f g , A mA , (12.271)


Tf ilm

where hf g,A is the heat of vaporization of component A at the film temperature Tf ilm. We
sum over all the liquid components to get the total heat flux due to vaporization:


qVaporization   qA ,Vaporization .
(12.272)
components

Heat flux due to conduction in the film vaporization model is given by

Twall  Tf ilm T

qConduction k k ,
h y (12.273)
2

where k is the thermal conductivity of the liquid mixture and Twall is the wall temperature.

Each time-step, CONVERGE compares the boiling points of every component in the liquid
mixture and identifies the lowest boiling point, TBoil,min. If the film temperature Tf ilm is found
to be greater than TBoil,min, then the component associated with that boiling point is
considered to be boiling in that time-step. Only the component with the lowest boiling
point is allowed to boil. If Tf ilm is found to be less than TBoil,min, boiling does not occur and
the associated heat flux term is set to zero in Equation 12.266.

Heat flux due to boiling in this model is given by

CONVERGE 2.4 Manual 399


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Vaporization

3
g  A   gas  Cp , A Twall  Tboil , A 
qA ,Boiling   A h f g , A   , (12.274)
A  0.006h f g , A PrA 
 

where μ A is the viscosity, hf g,A is the heat of vaporization, ρ A is the density, σA is the surface
tension, Cp,A is the specific heat capacity, Tboil,A is the boiling point, PrA is the Prandtl
number for component A, and ρ gas is the density of the gas. The parameters, μ A , hf g,A , ρ A ,
ρ gas, σA , and Cp,A are evaluated at the wall temperature, Twall. qBoiling does not decrease in
the model at increasing excess temperature, (Twall - Tboil,A ) once it reaches the maximum
value, qBoil ,max . qBoil ,max is given by Equation 12.275,

1/4
  A g  A   gas 
qBoil ,max  0.149h f g , A  gas   . (12.275)
  gas
2

 

Discretized Temperature Model


The discretized temperature model improves the accuracy of the temperature calculation
within wall films. This model accounts for temperature gradients within the film during
evaporation and is controlled via parameters in spray.in. Use evap_thick_f ilm_height to
specify a film height (in meters) above which CONVERGE employs the discretized
temperature model. Below this film height, CONVERGE employs the previously described
uniform temperature model. Also, specify the number of finite volume cells in the wall film
for evap_layers_per_f ilm.

Governing Equations
The governing equation for the temperature across the film is

T   T  (12.27
 cp  k ,
t x  x  6)

where x is the wall normal direction, r is the film density, cp is the specific heat of the film,
and k is the film thermal conductivity. CONVERGE enforces the following temperature
boundary conditions at the boundaries of the film. At x = H (i.e., the maximum height of
the film in the direction normal to the wall), the boundary condition is

400 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Vaporization

T dH (12.27
k  h Tgas  Tsurf   L ,
t dt 7)

where Tgas is the gas temperature, Tsurf is the surface temperature of the film, and L is the
latent heat of the film. At the wall (x = 0), the boundary condition is T = Twall. If the boiling
model is active, a boiling flux is added to the conduction flux in a manner similar to that
for the uniform temperature model.

Numerical Method: Finite Volume Derivation


The derivation of the discrete equations follows the method for the drop vaporization
model described in Discretized Temperature Model. As with the drop vaporization
procedure, the derivation for film vaporization integrates the governing equation over the
film volume and applies the divergence theorem to convert the volume integral to a surface
integral. The derivation is, however, performed in Cartesian coordinates instead of
spherical coordinates.

Applying Reynold's transport theorem allows the time derivative to be removed from the
volume integral. The resulting discrete equation is

d 
H (t )
 dH  k T k T (12.27
  T dx   Tx  H    .
dt  x 0   dt   cp x x  H  cp x x 0 8)

Numerical Details
· Currently, density is a constant and c p is computed using cp T  .
· Time discretization is fully implicit and uses the same Δt as the flow solver.

Film Splash Considerations


If a parcel detaches from the film due to splash, CONVERGE initializes the parcel with a
uniform temperature. To maintain conservation of energy, CONVERGE determines the
parcel temperature such that the energy of the splashed mass in the film and spray
remains constant.
12.8.3 Multi-Component and Composite Species Vaporization
CONVERGE can simulate multi-component vaporization. You can have multiple parcel
species evaporate into their corresponding gaseous state, or you can have multiple parcel
species evaporate into a different number of gas species. Alternately, you can have
multiple parcel species evaporate into a single gas species. In the latter two cases, you may

CONVERGE 2.4 Manual 401


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Vaporization

have a simulation that involves liquid species for which you do not have a combustion
mechanism, or you may want to simplify an existing combustion mechanism.
CONVERGE can simulate multi-component vaporization in three different ways:

1. If evap_source_f lag = 0 in spray.in, all of the parcels will evaporate to the species listed as
evap_species in spray.in. You can list only one species as the evap_species. For example, a
parcel consists of two liquid components, C4H8 and C14H30. C14H30 is listed as
evap_species. In this example, both C4H8 and C14H30 will evaporate to C14H30.

2. If evap_source_f lag = 1, all of the multi-component liquid species will evaporate into
composite species if composite species are used. If composite species are not used, the
liquid species will evaporate into the corresponding base gas species.

For example, a parcel consists of two liquid components, C4H8 and C14H30, and these
two components are defined in composite.in as the parcel-phase composite species
named mixture. Another parcel species, C7H16, is defined in species.in. In this example,
the composite named mixture will evaporate into a gas phase species named mixture
and C7H16 will evaporate to C7H16. All three of these parcel species must be present
in liquid.dat, and the two gas species must be present in therm.dat.

The figures below present example composite.in and species.in files, and an excerpt from
spray.in, for this case.

#!csi_version=2.4
#================

1 num_composites
mixture composite_name
PARCEL_PHASE phase
2 num_base_species
C4H8 0.50000
C14H30 0.50000
Figure 12.1: Sample composite.in file.

#!csi_version=2.4
#================

PARCEL
C14H30
C4H8
C7H16

GAS
C7H16
mixture
Figure 12.2: Sample species.in file.

402 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Vaporization

#!csi_version=2.4
#================

...
#=============================================
# Injector 0
#---------------------------------------------
0 spray_inject_bc_flag
4.5e-12 vof_spray_mass_per_parcel
0.4 vof_spray_liq_vof_threshold
2 num_parcelspeciesinit
C7H16 0.7
mixture 0.3
...
Figure 12.3: Sample spray.in file excerpt.

3. If evap_source_f lag = 2, all of the multi-component liquid species and composite species
(if present) will evaporate into the base species.

For example, a parcel consists of two liquid components, C4H8 and C14H30. These two
components are defined in composite.in as a parcel-phase composite named mixture.
Another parcel species, C7H16, is defined in species.in. In this example, the C4H8
portion of mixture will evaporate into C4H8, the C14H30 portion of mixture will
evaporate into C14H30, and C7H16 will evaporate into C7H16. All three of these
parcel species must be present in liquid.dat, and the three gas species must be present in
therm.dat. The figures below show example composite.in and species.in files, and an
excerpt from spray.in, for this case.

#!csi_version=2.4
#================

1 num_composites
mixture composite_name
PARCEL_PHASE phase
2 num_base_species
C4H8 0.50000
C14H30 0.50000
Figure 12.4: Sample composite.in file.

CONVERGE 2.4 Manual 403


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Vaporization

#!csi_version=2.4
#================

PARCEL
C4H8
C14H30
C7H16

GAS
C4H8
C14H30
C7H16

Figure 12.5: Sample species.in file.

#!csi_version=2.4
#================

...
#=============================================
# Injector 0
#---------------------------------------------
0 spray_inject_bc_flag
4.5e-12 vof_spray_mass_per_parcel
0.4 vof_spray_liq_vof_threshold
2 num_parcelspeciesinit
C7H16 0.7
mixture 0.3
...
Figure 12.6: Sample spray.in file excerpt.

If you do have not defined any composite species, evap_source_f lag = 1 and
evap_source_f lag = 2 behave identically.

CONVERGE monitors each component of a multi-component fuel using the discrete multi-
component model and does not operate with the assumption of a continuous blend of
components. The overall composition is represented by the mole fractions of each
component. CONVERGE must assume, however, that all components are well mixed.
CONVERGE uses Raoult's law to correlate between the vapor mass fraction of the
component over the surface and its mole fraction in the condensed phase. Properties (e.g.,
viscosity) of the multi-component are mass-weighted average values. The only exception to
the previous statement is density, which is given as a volume-weighted average value.

For cases with the FGM combustion model, evap_source_f lag must be 0. Species will
evaporate to the mixture fraction and thus CONVERGE ignores the evap_species, but the
species names in evap_species must match names given in mech.dat.

404 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Eulerian-Lagrangian Spray Atomization Model

12.9 Eulerian-Lagrangian Spray Atomization Model


The Eulerian-Lagrangian Spray Atomization (ELSA) model is a spray injection model that
combines Eulerian multi-phase modeling and Lagrangian particle tracking methods. The
Eulerian multi-phase technique is used to model the liquid fuel within the fuel injector.
This approach accounts for the effects of nozzle geometry on the injector flow field.
CONVERGE tracks the density of the injected fluid as it enters the combustion chamber.
When the liquid fuel is sufficiently dilute, it is converted into Lagrangian parcels, which
are then subject to the spray modeling techniques described within this chapter. Figure
12.25 below illustrates the ELSA methodology.

Figure 12.25: Schematic of ELSA modeling.


1. The Eulerian (VOF) simulation of internal nozzle dynamics
2. The Eulerian fluid interface is stretching, and the cell void fraction is increasing
3. The surface area density and cell void fraction are reaching the ELSA transition criteria
4. The injected fuel has been converted to Lagrangian parcels

The Eulerian liquid fuel is transported according to the methods detailed in Chapter 17 -
Volume of Fluid (VOF) modeling. You can use any of the advanced modeling techniques
available for VOF calculations, such as wall adhesion and cavitation modeling.

For ELSA, in the Eulerian calculation, CONVERGE solves an additional transport equation
for liquid surface area density. CONVERGE uses this surface area density to determine the
size of the droplets formed when the fuel is converted to Lagrangian parcels. Transition is
controlled by two criteria. The first criterion is the gas volume fraction in a cell, controlled
using the elsa_transition_alpha parameter in elsa.in. If the gas volume fraction in a cell is
greater than the value of elsa_transition_alpha, this criterion is satisfied. The second
criterion is the fluid surface area in a cell, controlled using the elsa_transition_area_ratio
parameter in elsa.in. If the liquid surface area in a cell is greater than the cell minimum
value times elsa_transition_area_ratio, this criterion is satisfied.

CONVERGE 2.4 Manual 405


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Eulerian-Lagrangian Spray Atomization Model

If both transition criteria in a cell are satisfied, the liquid mass in that cell is converted to
parcels. CONVERGE treats these parcel droplets identically to those generated directly
from an injector nozzle, and you can use all of the advanced physical models described in
this chapter.

The model formulation is taken from Pandal Blanco (2016). The liquid surface area density
is denoted ∑, and the associated transport equation is written




u   
   

j
  D  1 
  C    Sevap  Sinit  0, (12.279)
t x j x j  x j    eq 
 

with the component terms defined as

3Y
 eq  , (12.280)
lreq

2
Sevap  Sevap , (12.281)
3Y


C   1 , (12.282)
k

 )2/15
 3/5 ( Y
req   2 2/5 , (12.283)
  l11/15

T
D  , (12.284)
Sc

D Sevap
where is the diffusion coefficient, Y is the liquid volume fraction, is the
Sinit
evaporation source term, is the initialization value, req is the equilibrium droplet size,
 
and 1 and 2 are tunable parameters. When the fuel is converted to parcels, the
droplets are formed according to

406 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Eulerian-Lagrangian Spray Atomization Model

 2
n D , (12.285)
4

ml 
 n D3 , (12.286)
l 6

where n is the number of droplets and D is the droplet diameter. The model compares the
liquid surface area density to a nominal minimum fluid surface area density ∑min, defined
as

1
 min   (1   )V 3
, (12.287)

where V is the volume of the cell and  is the void fraction in the cell. The initialization
S
value init is calculated from the minimum fluid surface area in the cell,

 min  
Sinit  pos( min   ), (12.288)
t

1 if   0
pos( )   . (12.289)
0 if   0

To activate ELSA, set spray_f lag = 1 and vof _f lag = 1 in inputs.in and include an elsa.in file
in the Case Directory.

12.10 Spray Time-Step Control


As described in a previous chapter, CONVERGE allows you to use a variable time-step.

If the spray model is active, the maximum time-step based on drop motion is given by

 x 
dt _ spray  min   * mult _ dt _ spray , (12.290)
 parcel _ velocity 

CONVERGE 2.4 Manual 407


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Spray Time-Step Control

where mult_dt_spray is a user-specified multiplier given in the inputs.in file, Δx is the local
cell size and parcel_velocity is the drop velocity magnitude (|vi|).

In previous versions of CONVERGE, using the mult_dt_evap multiplier was recommended


to limit the time-step based on drop evaporation. Recent improvements to the stability of
the code have made the use of the mult_dt_evap multiplier unnecessary. Future versions of
the code will have this parameter eliminated from the code.

If the collision mesh option is active, you may want to limit the time-step to prevent drops
from travelling through more than one collision mesh cell in a time-step. The maximum
allowable time-step for the collision mesh is given by

min _ coll _ size


dt _ coll _ mesh  * mult _ dt _ coll _ mesh , (12.291)
max _ parcel _ velocity

where min_coll_size is the smallest collision mesh cell, max_parcel_velocity is the maximum
drop velocity in the domain, and mult_dt_coll_mesh is a multiplier specified in the inputs.in
file.

12.11 Post-Processing Parameters


The liquid and vapor penetration lengths (LPL and VPL) are two of the properties that
characterize a spray. CONVERGE calculates both quantities for each nozzle at each time-
step.

To measure the LPL, CONVERGE first calculates the total mass of the liquid parcels from
the nozzle and then multiplies this mass by the liquid penetration fraction to yield the
penetrated spray mass. Starting from the center of the nozzle hole, CONVERGE sums the
mass of the liquid parcels until it reaches the penetrated spray mass. This distance is the
LPL. CONVERGE reports the LPL for penetration fractions of 0.90, 0.95, 0.97, and 0.99 in
spray_ecn.out. Additionally, you specify a liquid penetration fraction, penet_f rac, in spray.in.
CONVERGE writes the corresponding LPL to spray.out.

Figure 12.26 shows a schematic of the LPL with penet_f rac set to 0.98.

408 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Post-Processing Parameters

Figure 12.26: Schematic of the liquid penetration


length.

To measure the VPL, CONVERGE requires two parameters in spray.in: the vapor
penetration fraction, vapor_penet_f rac, and the penetration bin size, penet_bin_size. For
each cell inside the spray cone, if the mass fraction of fuel vapor in the cell exceeds the
vapor_penet_f rac and if the cell size does not exceed the penet_bin_size, CONVERGE
calculates the distance from the center of the nozzle hole to the center of the cell. The
largest of these distances is the VPL, which CONVERGE writes to spray_ecn.out. We
recommend a penet_bin_size of at least twice the size of the cells in the spray cone.

12.12 Urea Injection


Urea selective catalytic reduction (SCR) is a technique for reducing NOx by mixing
exhaust gases with urea and its products. CONVERGE includes several options for urea
modeling.

Set urea_f lag = 1 in spray.in to activate urea/water injection.

Set urea_f lag = 2 and include the urea.in file in the Case Directory to activate molten solid
urea decomposition.

Set urea_f lag = 3 to activate the detailed deposition of urea model.


12.12.1Urea/Water Injection
Set urea_f lag = 1 in spray.in to have CONVERGE inject a urea/water mixture. If you
choose this option, H2O must be used as parcel in species.in and NH2_2-CO must be
included as a species in the reaction mechanism file. In addition, the properties for NH2_2-

CONVERGE 2.4 Manual 409


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Urea Injection

CO and H2O must be included in the thermodynamic data file and liquid.dat, respectively.
(Urea has the species name NH2_2-CO, representing the chemical symbol (NH2)2CO.)

A chemical mechanism can be used with the SAGE detailed chemistry solver to model the
mechanism of NOx reduction by urea. For example, the sub-mechanism presented in
Golovitchev et al. (2007) includes 17 reactions representing this process.

If urea_f lag = 1, the urea injection model will apply to all injectors and nozzles in the
simulation.
12.12.2Molten Solid Urea Decomposition
CONVERGE includes the molten solid approach to model the decomposition of a urea-
water solution (UWS). The Frossling correlation models the evaporation of the water in the
UWS, while an Arrhenius correlation models the decomposition of the urea in the UWS.
Set urea_f lag = 2 in spray.in to activate this model. After activating the model, supply a
urea.in file containing the prefactor A and the activation energy Ea from the Arrhenius
correlation (Equation 12.293 and the change in enthalpy due to urea decomposition Hdcmp
from the droplet heat transfer equation (Equation 12.294).

In the molten solid approach, urea decomposes to gaseous ammonia and isocyanic acid.
Equation 12.292 below gives the formula for the decomposition:

(NH 2 )2 CO  NH 3  HNCO. (12.292)

The Arrhenius correlation (given in Equation 12.293) models this decomposition by


computing the time rate of change of droplet radius as a function of a prefactor, the
activation energy, the droplet temperature, and the density of urea. The correlation is

dmd  Ea/RTd 
 2 rd A e , (12.293)
dt

Where rd is the droplet radius, A is the prefactor, Ea is the activation energy, Td is the
droplet temperature, and ρ d is the droplet density. For this model, the droplet density is
equivalent to the urea density. Because the urea decomposition is significant when the
droplet temperature exceeds 425 K, most of the water has evaporated and the urea
remains.

410 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Urea Injection

The molten solid approach uses two methods to calculate droplet temperature change. For
large droplets (droplet diameter greater than several hundred micrometers), CONVERGE
uses the spherically symmetric heat equation with the following boundary condition for
heat transfer at the surface:

T drd drd
kd  h Tg  T R , t    d H vap   d H dcmp (12.294)
r rR dt vap dt dcmp

where kd is the thermal conductivity of the droplet, r is the distance from the droplet
centroid, h is the convection coefficient between the droplet and the surrounding gas, and
Hdcmp is the change in enthalpy due to urea decomposition. Refer to the Spherically
Symmetric Heat Equation (PDE) section for more details.

For small droplets (droplet diameter less than several hundred micrometers), Equation
12.295 below gives the formulation for droplet temperature change due to heat transfer:

dTd dmd dmd


Cd md  2 rd k g Nud (Tg  Td )  H vap  H dcmp (12.295)
dt dt vap dt dcmp

Where Cd is specific heat capacity of the droplet and kg is the thermal conductivity of the
gas. In this case, the model assumes that the droplet temperature instantaneously increases
to a uniform temperature. Note that CONVERGE uses the mass change due to urea
decomposition to determine the heat loss from thermal decomposition and mass change
from water evaporation to determine heat exchange from water evaporation.
12.12.3Detailed Decomposition of Urea for Deposition
CONVERGE includes a detailed decomposition of urea for deposition model, which was
implemented jointly by Convergent Science and IFP Energies nouvelles. This model directly
predicts the deposition of solid urea decomposition byproducts based on chemical
reactions in urea-water solution (UWS) droplets and films.

The detailed decomposition model consists of a multi-component evaporation model for


UWS droplets and a thermal decomposition model of urea valid for automotive exhausts
using SCR systems (Ebrahimian et al., 2012).

Because the vapor pressure of urea is low at atmospheric pressures, the UWS evaporation
model is based on the assumption that only water evaporates from the solution. To

CONVERGE 2.4 Manual 411


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Urea Injection

account for the interactions between urea and water in solution, activity coefficients are
calculated via the non-random two-liquid (NRTL) equation. At high urea concentrations,
the effects of these interactions may be significant.

The thermal decomposition model is based on semi-detailed kinetics. It accounts for the
decomposition of urea in both the solid and aqueous phases, and it can predict the
polymerization of urea decomposition byproducts to form solid deposits of biuret,
ammelide, and cyanuric acid (Habchi et al., 2015).

The detailed decomposition model solves the following set of equations:

urea  NH 4  NCO (R1)


NH 4  NH 3 (g )  H  (R2)
NCO  H   HNCO(g ) (R3)
 
(NH 2 )2 CO  NCO  H  biuret (R4)
 
biuret  urea  NCO  H (R5)
 
biuret  NCO  H  cya  NH 3 (g ) (R6)
  (12.296)
cya  3NCO  3H (R7)
cya  NCO  H   ammelide  CO2 (R8)
ammelide  2NCO  2 H   HCN (g )  NH (g ) (R9)
urea (aq)  NH 4  NCO (R10)
 
NCO  H  H 2O (aq)  NH 3  CO2 (g ) (R11)
 
urea (aq)  NCO  H  biuret (R12)
,

where cya is cyanuric acid. Reactions R1 through R9 describe the thermal decomposition
of urea in dry media, while reactions R10 through R12 describe the thermal hydrolysis in
the aqueous phase. CONVERGE solves three clipping equations on R1 through R3, with
altered reaction coefficients. These clipped equations ensure realizability and boundedness
of the detailed decomposition mechanism. We do not recommend altering the clipped
equation reaction parameters.

Activation
To activate this model, set urea_f lag = 3 in spray.in. This model also requires
evap_source_f lag = 1 in spray.in and source_f lag = 1 in inputs.in. We recommend activating
either the Kuhnke or Bai-Gosman splash model (f ilm_splash_model = 1 or 2, respectively, in
spray.in) in conjunction with this model.

412 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 12
Discrete Phase Modeling |Urea Injection

The liquid reactions for the detailed decomposition model are activated by urea_f lag = 3
and do not appear in the reaction mechanism file. The hydrolysis of HNCO is the only gas
phase mechanism that is in the reaction mechanism file. All of the species listed in the
detailed decomposition reactions must be included in the reaction mechanism file or in
species.in. You must include CN in species.in. Some of the urea properties in liquid.dat are
not used in a simulation with the detailed decomposition model. All of the water
properties in liquid.dat are used in a simulation with this model.

Output
CONVERGE will write spray information to spray_urea_f ile.out. If spray_wall_f lag = 1 in
spray.in, CONVERGE will write film composition data to f ilm_urea_f ile.out.

For 3D urea byproduct data (for post-simulation visualization), include the keyword
urea_deposit in the parcel section of post.in. CONVERGE will write the mass fractions of
solid urea (urea_solid), urea in solution (urea_aqueous), biuret, cyanuric acid (cya), ammelide,
water (h2o), cyanate (nco), ammonium (nh4), and hydrogen radicals (hplus) to post*.out.

CONVERGE 2.4 Manual 413


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

13
Chemistry Modeling
Chapter 13
Chemistry Modeling |

13 Chemistry Modeling
This chapter describes the combustion models and chemistry tools available in
CONVERGE.

CONVERGE includes combustion models for both premixed and non-premixed


combustion. Table 13.1 below summarizes the combustion models available in
CONVERGE and their uses.

Table 13.1: Combustion models in CONVERGE.


Model Uses
SAGE detailed chemical kinetics Premixed and non-premixed combustion
solver
CEQ chemical equilibrium solver Premixed and non-premixed combustion
Flamelet Generated Manifold (FGM) Premixed and non-premixed combustion
model
G-Equation model Premixed combustion
Extended Coherent Flamelet Model Premixed combustion
(ECFM)
3-Zone Extended Coherent Flamelet Non-premixed combustion
Model (ECFM3Z)
Shell+Characteristic Time Non-premixed combustion
Combustion (CTC) model
Representative Interactive Flamelet Non-premixed combustion
(RIF) model

This chapter describes the surface chemistry model, adaptive zoning acceleration strategy,
combustion-related output, and combustion time-step control.

Finally, this chapter describes the zero-dimensional chemistry tools, one-dimensional


chemistry tools, and mechanism reduction tool available in CONVERGE.

13.1 Premixed Combustion Models


Premixed combustion requires that the fuel and oxidizer species be completely mixed
before combustion is allowed to take place. This premixing is possible only at sufficiently
low temperatures where the chain-breaking mechanism that drives the reaction chain in
hydrogen and hydrocarbon oxidation is unable to compete with the effect of three-body
chain-breaking reactions.

416 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Premixed Combustion Models

Under such low-temperature conditions, combustion reactions are considered frozen. The
frozen state is metastable because a sufficiently strong heat source, a spark for example,
can raise the temperature above the threshold and initiate combustion. Once the fuel and
oxidizer species have been homogeneously mixed and a heat source is supplied, a flame
front can propagate through the mixture.

Typically, the gas behind the flame front rapidly approaches the burned gas state close to
chemical equilibrium. The mixture in front of the flame typically remains in the unburned
state. Therefore, the combustion system contains two stable states: the unburned (index u)
and the burned gas state (index b) as shown below in Figure 13.1. In premixed
combustion, both states concurrently exist in the system. They are spatially separated by
the flame front, where the transition from one to the other takes place.

Figure 13.1: A schematic illustrating the mean flame front and the turbulent flame brush
superimposed on the computational mesh.

13.2 Non-Premixed Combustion Models


In diesel engines, the fuel-air mixture undergoes chemical reactions that lead to ignition as
shown in Figure 13.<HMFIGURECOUNTER1399+%> below. Ignition may not occur until
several crank angles after the start of injection (SOI). Once ignition occurs, the fuel that
has been injected and mixed with air undergoes the premixed combustion phase. When
the premixed fuel-air mixture has been consumed, mixing-controlled combustion occurs.
As the name suggests, burning in this combustion phase is controlled by the fuel-air mixing
process.

CONVERGE 2.4 Manual 417


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Non-Premixed Combustion Models

Figure 13.2: Schematic of a typical diesel engine heat release rate showing ignition delay, premixed
combustion, and the mixing-controlled combustion phases (Heywood, 1988).

CONVERGE offers two different methods for modeling the ignition and combustion
processes. The first method uses separate models for ignition and combustion. These
models are based on the Shell ignition model and the Characteristic Time Combustion
model, and this method is relatively computationally inexpensive.

The second approach, described in the SAGE Detailed Chemical Kinetics Solver section,
considers much of the chemistry taking place in combustion applications. Although the
runtime using detailed chemistry can be significantly longer than with the first approach,
the accuracy of the simulation may be greatly enhanced with the inclusion of detailed
chemistry. Nonetheless, there is still often a need for the rapid turnaround time that can be
achieved when the simpler models are used. The simpler ignition and combustion models
are described in the following sections.

13.3 SAGE Detailed Chemical Kinetics Solver


CONVERGE contains the SAGE detailed chemical kinetics solver (Senecal et al., 2003),
which models detailed chemical kinetics via a set of CHEMKIN-formatted input files. The
SAGE solver has two options to solve the systems of ordinary differential equations
(ODEs): the CVODE solver, which is a part of the SUNDIALS (SUite of Nonlinear and
DIfferential/ALgebraic equation Solvers) package (SUNDIALS, 2015) and SuperLU
(Sparse Linear Equation Solver) as a preconditioner of GMRES (SuperLu, 2011). The

418 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |SAGE Detailed Chemical Kinetics Solver

necessary routines have been incorporated into CONVERGE, and thus you do not need to
install these packages separately.

A chemical reaction mechanism is a set of elementary reactions that describe an overall


chemical reaction. The combustion of different fuels can be modeled by changing the
mechanism (e.g., there are mechanisms for isooctane, gasoline, n-heptane, natural gas,
etc.). SAGE calculates the reaction rates for each elementary reaction while the CFD solver
solves the transport equations. Given an accurate mechanism, SAGE (in addition to AMR)
can be used for modeling many combustion regimes (ignition, premixed, mixing-
controlled). You can use SAGE to model either constant-volume or constant-pressure
combustion. Note that SAGE consistently uses CGS units for all calculations.

As described by Turns (1996), a multi-step chemical reaction mechanism can be written in


the following form:

M M

 m ,r  m   m ,r  m for r=1,2,....R (13.1)


m 1 m 1

where  m ,r and  m ,r are the stoichiometric coefficients for the reactants and products,
respectively, for species m and reaction r; R is the total number of reactions; and c m is the
chemical symbol for species m. The net production rate of species m is given by

R
m   m ,r qr for m=1,2,....M (13.2)
r 1

where M is the total number of species and

 m ,r   m ,r  m ,r . (13.3)

The rate-of-progress parameter qr for the rth reaction is

M M
  
qr  k f r  Xm  m ,r  krr  Xm  m ,r . (13.4)
m 1 m 1

In Equation 13.4, [Xm] is the molar concentration of species m, and kf r and krr are the
forward and reverse rate coefficients for reaction r. In SAGE, the forward rate coefficient is
expressed by the Arrhenius form as

CONVERGE 2.4 Manual 419


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |SAGE Detailed Chemical Kinetics Solver

 Er RuT 
k f r  ArT br e , (13.5)

where A r is the pre-exponential factor, br is the temperature exponent, Er is the activation


energy, and Ru is the universal gas constant. In addition, the reverse rate coefficient can
either be specified in an analogous fashion as Equation 13.5, or calculated from the
equilibrium coefficient Kcr as

kfr
krr  . (13.6)
Kcr

The equilibrium coefficient Kcr is determined from the thermodynamic properties and is
given by

 m1 mr
M

P 
Kcr  K pr  atm  , (13.7)
 RT 

where Patm is the atmospheric pressure, R is the gas constant, and T is the temperature.
The equilibrium constant Kpr is obtained via

 Sr0 H r0 
K pr  exp   . (13.8)
 R RT 

The Δ refers to the change that occurs in passing completely from reactants to products in
the rth reaction, specifically,

Sr0 M
Sm0
  mr (13.9)
R m 1 R

and

H r0 M
H m0
  mr , (13.10)
RT m 1 RT

where S and H denote entropy and enthalpy, respectively.

420 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |SAGE Detailed Chemical Kinetics Solver

It should also be noted that SAGE allows for third-body reactions with the capability of
specifying different third body efficiencies for different species. SAGE also allows for the
solution of pressure dependent reactions in either the Lindemann, Troe, SRI, or PLOG
form.

With the above information, the governing equations for mass and energy conservation
can be solved for a given computational cell. The governing equation for mass is

d Xm 
 m . (13.11)
dt

The governing equation for energy is

dP
V   hmm 
dT dt m
 (13.12)
dt  Xm cp ,m 
m

for constant-volume combustion and

Q 
dT  V  
  hmm 
 m
(13.13)
dt  Xm cp ,m 
m


for constant-pressure combustion. In the previously equations, Q is the heat release rate,
V is volume, T is temperature, P is pressure, m is determined by Equation 13.7, and hm
and cp ,m are the molar specific enthalpy and molar constant-pressure specific heat of
species m, respectively. The above equations are solved at each computational time-step
and the species are updated appropriately. It is important to note that the temperature
obtained from Equation 13.13 is used to update only the rate coefficients as SAGE is
solving the system of rate equations and is not used to update the CONVERGE cell
temperature. The cell temperature is updated after the detailed chemistry calculation has
converged using the computed species concentrations.

In order to expedite the detailed chemistry calculations, kinetics are not solved in cells that
fall below a minimum cell temperature (Tcut) and a minimum mole fraction (HCmin). The
minimum mole fraction is the total mole fraction of CO, H2, and the hydrocarbon species.

CONVERGE 2.4 Manual 421


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |SAGE Detailed Chemical Kinetics Solver

The minimum mole fraction includes more than just the hydrocarbon species to allow
carbon monoxide chemistry to take place in computational cells that do not include
hydrocarbon species.

Acceleration of the SAGE Detailed Chemistry Solver


In addition to adaptive zoning, CONVERGE contains features to accelerate the SAGE
detailed chemistry solver. The first option is to not solve for the temperature given by
Equation 13.13 unless the change in cell temperature from combustion from the previous
time-step exceeds a specified value. This option allows CONVERGE to avoid recalculating
the rate coefficients given in Equation 13.10, which can result in significant time savings.
This option can be activated by setting the sage_solve_temp = 0 (a value of 1 indicates that
temperature will always be solved). The parameter sage_delta_temp indicates the
magnitude of the temperature change (above which temperature will be re-solved when
the flag sage_solve_temp = 0). Set sage_delta_temp to 2 K or lower (2 K is normally used).
However, for certain mechanisms it may be possible to exceed a value of 2 K. You can run
test cases for your particular application and kinetic mechanism if you want to exceed a
value of 2 K.

A second option, related to the Jacobian matrix calculation, may also speed up the SAGE
chemistry solver. By default, CVODES calculates this matrix numerically. However,
CONVERGE includes the option to pass an analytically calculated Jacobian to the solver
which can potentially speed up the calculation. A case where using the analytically
calculated Jacobian matrix does not speed up the solution has not been found. Therefore, it
is recommended to run with the input parameter sage_analyt_jac = 1.

The tolerance in the detailed chemistry solver can also affect the runtime. Two tolerances
are included in the combust.in input file. The first, sage_abs_tol, is the iteration error for
each species. The second, sage_rel_tol, is the iteration error for each species divided by the
magnitude of the species.

Input Parameters for the SAGE Detailed Chemistry Solver


Mechanisms and thermodynamic data are defined by the reaction mechanism and
thermodynamic data files, respectively. The SAGE parameters are contained in the
combust.in file.

Stiffness-Based Load Balancing


For a SAGE simulation that does not include adaptive zoning, you must include the non-
transport passive CHEM_STIFF in species.in. The inclusion of this non-transport passive
invokes stiffness-based load balancing for the SAGE solver. For a SAGE simulation that
includes adaptive zoning, CHEM_STIFF is optional. If you do not include CHEM_STIFF,
CONVERGE simply distributes the combustion cells amongst all available processors.

422 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Chemical Equilibrium—CEQ

13.4 Chemical Equilibrium—CEQ


If the chemical time-scales are fast relative to the transport time-scales, equilibrium may be
used for the chemistry model. CONVERGE uses the CEQ (Pope, 2003) chemical
equilibrium solver licensed from Ithaca Combustion Enterprise. Unlike many equilibrium
solvers, the CEQ solver is guaranteed to converge for any combination of gas species.

ceq_f lag = 1
Since CEQ uses data provided in the thermodynamic data and reaction mechanism files,
these files must be accurately provided in order for the solver to calculate the correct
equilibrium concentrations. To activate the CEQ equilibrium solver, set ceq_f lag = 1 in
combust.in. To reduce runtime, two additional inputs (in combust.in) are provided:
combust_temp_cutof f and combust_hc_minimum. Use combust_temp_cutof f to specify a
temperature below which the CEQ equilibrium solver will not be used. The input
combust_hc_minimum is used to specify a minimum hydrocarbon mole fraction below
which the CEQ equilibrium solver will not be used. The hydrocarbon mole fraction also
includes the mole fraction of CO. The mole fraction of CO is included to allow carbon
monoxide chemistry to take place in computational cells that do not include hydrocarbon
species.

ceq_f lag = 2
In many cases, the mixing zone between the fuel and oxidizer is not sufficiently resolved.
In this case, you can slow the progress to equilibrium by using a mixing time-scale. Similar
to the Characteristic Time Combustion model, the combustion progress may be slowed
with a mixing time-scale given by

 m m  m*
 (13.14)
t  mix

where m is the species index, r m is the species density, r m* is the instantaneous equilibrium
species density, and the time-scale is given by

k
 mix  C2 (13.15)

where C2 is a constant, k is the turbulent kinetic energy, and e is the turbulent dissipation.
To use the mixing time-scale model, set ceq_f lag = 2 in combust.in.

Species Limitation

CONVERGE 2.4 Manual 423


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Chemical Equilibrium—CEQ

You can reduce the computational time of a CEQ simulation by limiting the number of
species that are solved as part of the CEQ equilibrium solver. Activate this feature by
setting ceq_species_subset_f lag = 1 in combust.in. You must include (in the Case Directory) a
ceq_species.in file that lists a species name followed by ceq_species. Repeat this row as
desired. The species name must match the names in the reaction mechanism and
thermodynamic data files.

Note that if you choose to use the NASA 9 format for the thermodynamic data file with
CEQ solver, the data file must be specified according to the standard equations rather than
the general form of the equations. For more information, please see the NASA 9
thermodynamic data file section.

Input Parameters for the CEQ Chemical Equilibrium Solver


The CEQ model parameters are located in combust.in.

13.5 Flamelet Generated Manifold (FGM)


The Flamelet Generated Manifold (FGM) model (van Oijen and de Goey, 2000) reduces the
reaction mechanism to two scalars in order to reduce computational time compared to
models that use a full chemical mechanism. The FGM model is typically used for systems
not dominated by kinetic phenomena such as local extinction or slow-forming pollutants
(e.g., gas turbines at full power or coal-fired furnaces). This model captures kinetic
phenomena such as ignition, flame extinction, and flame quenching and provides accurate
flame dynamics, fuel effects, and emissions.

By running the FGM utility prior to the start of the simulation, CONVERGE populates a
look-up table with a range of model solutions based on the user-specified flamelet type (0D
ignition, 1D diffusion, or 1D premixed) and other parameters. During the simulation,
CONVERGE accesses the look-up table to quickly retrieve thermochemical information.

Species Parameters
The FGM model simplifies the chemistry to two scalars: the mixture fraction, ZFGM , and the
reaction progress variable, c. The look-up table these scalars in addition to other
thermodynamic data. The normalized ratio of fuel to oxidizer, ZFGM , has a unique value for
each grid cell at each time-step. Unlike Z in Equation 13.-3, ZFGM is normalized by the fuel
stream:

(Z  Zoxidizerstream )
ZFGM  (13.16)
Z f uelstream
.

424 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Flamelet Generated Manifold (FGM)

The ZFGM values range from 0 in the oxidizer stream to 1 in the fuel stream. Note that
when simulating premixed systems, it is computationally optimal to define the system’s
fuel (ZFGM = 1) as the premixed composition of fuel and oxidizer.

The reaction progress variable, c, is defined as the sum of the product mass fractions
normalized by their equilibrium values, as follows:

  kYk
c (13.17)
  kYk
eq
.

In Equation 13.17, Yk denotes species mass fraction and αk is equal to 0 for most reactants.
We recommend that only αCO2 and αCO equal 1 and all other α values equal 0. In the FGM
model, it is important to select αk so that c increases monotonically from unburned (c = 0)
to burned (c = 1) regions.

Flamelet Types
The FGM model in CONVERGE offers three flamelet types: 0D ignition, 1D diffusion, and
1D premixed.

CONVERGE simulates the 0D ignition flamelet using solutions from an experimental 0D


homogeneous reactor over a range of equivalence ratios, initial temperatures, and initial
pressures (Equations 13.-125 and 13.-124). The look-up table contains the calculated
solutions for ZFGM , c, pressure (P), and enthalpy (H) in binary format. The 0D ignition
flamelet type best captures the combustion flame dynamics in internal combustion engines
in which pressure and total enthalpy can change substantially over time.

CONVERGE simulates the 1D diffusion flamelet using solutions from an experimental 1D


opposed-flow diffusion flame setup at constant pressure (Equations 13.-2 and 13.-1).
CONVERGE calculates the pre-ignition regime from unsteady quenching flamelets at the
extinction strain rate and the ignition regime from steady flamelets over a range of
stoichiometric scalar dissipation rates, χ st via

 st f (ZFGM )
 (ZFGM )  (13.18)
f (Zst ,FGM )
.

In 13.18, X(ZFGM ) is the scalar dissipation rate profile, Zst,FGM is the stoichiometric mixture
fraction, and f (ZFGM ) is defined in Equation 13.6. The FGM model assumes that heat loss
does not affect the species composition. CONVERGE calculates the non-adiabatic heat loss

CONVERGE 2.4 Manual 425


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Flamelet Generated Manifold (FGM)

as the adiabatic temperature in ZFGM space multiplied by user-specified upper and lower
bounds. The look-up table contains the calculated solutions for ZFGM , c, H, and the variance
Z FGM 
''2

of ZFGM . The 1D diffusion flamelet type best represents the combustion flame in
constant pressure combustors, such as a coal-fired furnace or a liquid fuel gas turbine
combustor.

CONVERGE simulates the 1D premixed flamelet using solutions developed from an


experimental 1D freely propagating premixed flame setup solved in physical space over
the entire range of equivalence ratios (Equations 13.62, 13.63, and 13.64). CONVERGE
calculates non-adiabatic effects similar to the method described for the 1D diffusion
Z ''2
flamelet. The look-up table contains the calculated solutions for ZFGM , c, H, and FGM . The
1D premixed flamelet type best represents turbulent premixed flames in constant pressure
combustors, such as lean, premixed gas turbines.

Turbulence Closure
RANS and LES turbulence models used in conjunction with the FGM model require
additional equations to solve for the turbulence/flame interaction. The additional closure
equations are presumed shape probability density functions (PDFs). The presumed shape
PDFs are based on the theoretical distribution of each parameter in the look-up table.
The 0D ignition flamelet has a different set of presumed shape PDFs than both of the 1D
flamelets. The 0D ignition flamelet uses delta functions for ZFGM , c, enthalpy, and pressure
PDFs. The 1D diffusion and premixed flamelets use a beta function for the ZFGM PDF and
''2
Z FGM
delta functions for the c, E, and PDFs.

Since the species details are simplified in the FGM model, CONVERGE solves the Favre
Z ''2
mean (mass-averaged) equations of FGM and c. For RANS simulations, CONVERGE
Z ''2
solves the transport equation (Equation 13.3) for FGM , while for LES, CONVERGE
calculates the variance by solving

"2 2
ZFGM  Cvar  2 ZFGM (13.19)
,

in which Cvar is a constant and Δ is the LES sub-grid length scale. The transport equation
of the Favre mean reaction progress variable is given by

   c
( c )  ( u ic )  ( Dt )   c (13.20)
t xi xi xi
,

426 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Flamelet Generated Manifold (FGM)

in which the first term is the time-dependent term, the second term is the convection-
dependent term, the third term is the diffusion term, and the fourth term is the mean
unclosed source term.

CONVERGE evaluates the mean source term,  c , for the reaction progress with either a

kinetic rate model or turbulent flamespeed model. For the 1D diffusion flamelet, the model
calculates the mean source term from the kinetic rate model, in which the c PDF,  (c  c) ,

is multiplied by the presumed shape PDF, P(ZFGM ), as shown in:

1 1
   kk 
 c     P(ZFGM ) (c  c )dcdZFGM (13.21)
  Y eq
0 0 k k  .


In Equation 13.21, k is the net reaction rate of the kth species. For the 1D premixed
flamelet type, CONVERGE calculates the mean source term from the turbulent flamespeed
model,

 c  uSt c (13.22)


,

in which ρ u is the unburned density and St is the turbulent flamespeed. When using the
turbulent flamespeed model, you must specify how to solve for St: set st_model in
combust.in to 1 (solve using the Peters model, as given in Equation 13.-113) or 2 (solve using
the Zimont model). The Zimont model (Zimont et al., 1998) defines the turbulent
flamespeed as

St  Au 'Da1/4 (13.23)

in which A is the user-specified Zimont constant (f gm_zimont_a in combust.in), u’ is the root


mean square of the turbulent fluctuating velocity, and Da is the Damkohler number
defined in Equation 13.-112.

For the 0D ignition flamelet type, CONVERGE evaluates the mean source term with the
kinetic rate model when grad c is a small value; otherwise, CONVERGE solves the
turbulent flamespeed model.

Input Parameters
To activate the FGM model, set f gm_f lag = 1 in combust.in and include the f gm.in file in the
Case Directory. Both of these input files contain FGM-related parameters. For an FGM
simulation, you must set eos_f lag = 1 in inputs.in and evap_source_f lag = 0 in spray.in.

CONVERGE 2.4 Manual 427


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Flamelet Generated Manifold (FGM)

CONVERGE requires all nonsolid regions to list passives in species.in. For the 0D ignition
flamelet, CMEAN and ZMEAN are the required passives. For the 1D diffusion and 1D
premixed, CMEAN, ZMEAN, and ZVAR are the required passives.

When you enable nox_f lag and/or soot_hiroy_f lag in combust.in, you must list the fuel
species, as well as the following additional species, in f gm_num_species_post to obtain NOx
and/or soot information. For nox_f lag = 1, list O2, N2, CO2, H2O, CO, H2, H, OH, and O.
For soot_hiroy_f lag = 1, list O2, N2, CO2, H2O, CO, H2, and C2H2.

Navigate to the Case Directory in the terminal and type the command

converge fgm

to generate the look-up table. You can run this command in parallel only for the 0D
ignition and 1D premixed flamelet types. You only need to generate the f gm-table.dat once
unless the flamelet type, chemical mechanism, fuel/oxidizer compositions, equation of
state, gas transport properties, pressure, or enthalpy change.

After running the FGM simulation, CONVERGE writes all final thermodynamic and
passive information to the thermo*.out and passive.out files, respectively.

13.6 G-Equation Combustion Model


CONVERGE includes the level set G-Equation model (Peters, 2000), which you can use to
simulate premixed combustion. Because the derivation of this model includes several
simplifications, it should be considered a less predictive combustion model.

Ignition Approach for the G-Equation Model


Ignition for the G-Equation model is typically achieved through a source term. To source
G, define G_EQN as a passive in species.in. Set source_f lag = 1 in inputs.in and define a
passive source (G_EQN) in source.in. As shown below in Figure 13.3, the source begins at -
10 CAD (the spark timing) and has a duration of 3.0 CAD. Specify the location of the
source (for a spark) at the electrode. The maximum value (max_value) of the G_EQN
passive allowed is set to 0.35e-3 and is proportional to the grid size (typically, twice the
local grid size).

To use this method for sourcing the G-Equation directly, add embedding around the spark
region such that the cells around the source (spark) are approximately 0.125-0.250 mm.
Rather than sourcing G directly, you can alternatively add energy directly via a energy
source to simulate the spark. In this case, when the temperature exceeds
g_eqn_g_temp_cutof f in a cell, positive G will be initialized in the cell and the G-Equation
model will propagate the flame from the initialized cells.

#!csi_version=2.4

428 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |G-Equation Combustion Model

#=======================

G_EQN  source_equation
0 source_type 
8.0e11  source_unit_volume
20.0e-3 source_value 
SEQUENTIAL
-10.0  source_start_time
-7.0  source_end_time
0.35e-3 max_value 
SPHERE source_shape
-1.99674e-003  -2.178939E-007 0.0068  x_center
2.5e-4  radius
2  moving_flag 
1.0 2.0 3.0 velocity 
0.002  max_displace 
0  reset_source_flag
1.0 mult_dt_source 
Figure 13.3: Sample source.in when sourcing G directly to simulate a spark.

You may optionally model ignition with a modified version of the spark channel ignition
monitoring model (SparkCIMM, Dahms, 2009), which treats the spark kernel as a set of
parcels. In effect, it is a sub-grid spark ignition model. This model deposits spark energy
into a set of parcels arrayed across the spark gap, 100 mJ/s multipled by the specified spark
efficiency factor. The spark kernel parcels are advected. At each parcel location,
CONVERGE evaluates the local Karlovitz number,

2
 
Ka    , (13.24)
 sl 

where η is the Kolmogorov length-scale and sl' is the laminar flamespeed plus a plasma
expansion speed contribution. When the local Karlovitz number is below a specified
critical Karlovitz number, SparkCIMM flags the parcel as combusting, specifies a 0.5 mm
combustion parcel diameter, and allows the parcel to grow and merge with other
combusting parcels. Once the parcel diameter is as large as the local grid spacing,
CONVERGE adds a positive G_EQN passive source according to the above direct-source
method.

Because we recommend using embedding in the spark region down to a cell spacing of
0.125-0.250 mm, SparkCIMM has identical behavior to sourcing G_EQN directly, with
additional computational cost. Combusting parcels are already larger than the local cell
spacing, so G_EQN is sourced immediately. Because the behavior is identical, this kernel-
parcel ignition method is not recommended for general use.

To model ignition with spark kernel parcels, set g_eqn_spark_f lag = 1 in combust.in. This

CONVERGE 2.4 Manual 429


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |G-Equation Combustion Model

method also requires you to set up a box-shaped user-type source at the location of the
spark kernel. This source is used for setting up data structures, and only the source_type
and x_center parameters are used. An example user-type source is shown below.

#!csi_version=2.4
#=======================

USER source equation


0 source_type
800000000000.0 source_unit_volume
0.02 source_value
CYCLIC 720
-15.0 source_start_time
-5.0 source_end_time
0.00025 max_value
BOX source_shape
-0.003 -0.00025 0.0091 x_center
-0.003 0.00025 0.0091 x_size
0 moving_flag
1.0 2.0 3.0 velocity
0.005 max_displace
0 reset_source_flag
1.0 mult_dt_source
Figure 13.4: Sample source.in when simulating ignition with the SparkCIMM kernel parcel method.

Initialization of G
The basic G-Equation model tracks the location of the flame front via the transport of the
G_EQN passive scalar. The parameter G indicates the distance to the flame front. A value
of zero for G indicates that the flame is at that location. A negative value indicates the
region is unburned and a positive value indicates that the region is burned (see Figure 13.5
below). Initialize G via g_eqn_init_value in combust.in. You can specify a single numerical
value or a file name (in quotation marks) to set up region-based initialization.

Figure 13.5: Unburned (G<0), burned (G>0),


and flame (G=0) zones.

Transport of G

430 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |G-Equation Combustion Model

The G-Equation model is based on the assumption that the premixed turbulent combustion
occurs in either the corrugated flamelet or the thin reaction zone regime (Peters, 2000).
With this assumption, the turbulent flame front can be tracked by solving for the mean
(and possibly the variance) of a non-reacting scalar, G (Ewald and Peters, 2005), as


 G G
 u  
G 
G
 i
   Dt'    ust (13.25)
t xi xi xi

and


 G G
 u    ''2   G
G G ''2 
''2 ''2
 i
   Dt   2  Dt

 cs  G , (13.26)
t xi xi  xi  xi xi k

where st is the turbulent flamespeed, r u is the unburned density, k is the turbulent kinetic
energy, e is the turbulent dissipation, and cs is a user-supplied constant. It should be noted
that there are two versions of the G-Equation model. In one version, the variance of G is
solved (see Equation 13.26 above). In the other version, the variance of G is not solved. The
parameter st_model in combust.in allows you to specify whether CONVERGE solves for the
variance of G.

For large-eddy simulations, Equation 13.26 incorporates an additional term,


 G G
 u    ''2   G
G G ''2 
''2 ''2
 i
   Dt   2  Dt

 cs  G ,
 
t xi 
xi  xi   xi xi k
(13.27)
  c s   CS  ,

2
2 l
v''

where the additional term compensates for kinematic restoration (Pitsch, 2002). In this
additional term, sl is the laminar flamespeed, CS is the appropriate Smagorinsky constant,
Δ is the filter width, v''Δ is the subgrid velocity fluctuation, and c2 is a proportionality
factor. The latter is evaluated according to Equation 13.27,

2
c2  , (13.28)
Sc b12

where the coefficient b1 is taken to be 2.0 (Peters, 2000).

CONVERGE 2.4 Manual 431


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |G-Equation Combustion Model

The last term on the right-hand side of Equation 13.26 is attributed to the averaged
turbulent mass burn rate. The first term of Equation 13.26 accounts for the influence of
curvature on the flame front. For this term, the mean flame front curvature can be found
from

  G  
G
   . (13.29)
xi  xi xi 

The turbulent diffusion terms are given by

c k 2
Dt  . (13.30)
Sc 

When the variance of G is solved (i.e., when st_model is non-zero) (Ewald and Peters,
2005),

k c 
Dt'  cs G''2 . (13.31)
2 Sc

When the variance of G is not solved (i.e., when st_model = 0),

c k 2
D '
. (13.32)
Sc 
t

The level set approach is used to solve Equation 13.27. The level set method is a numerical
method designed to track and maintain a sharp interface. The level set method is well-
suited for the G-Equation model (in which the flame front must be maintained and
tracked). With this implementation, the mean flame front position is defined as the
location where G(x,t) = 0.0 in the solution of Equation 13.27. The interface divides the flow
field into two regions: (1) an unburned region (G < 0.0) and a burned region (G > 0.0) (Tan
and Reitz, 2003). Outside the flame surface, the scalar is required to satisfy

G
 1. (13.33)
xi

Transport of Progress Variable

432 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |G-Equation Combustion Model

The CONVERGE implementation of the G-Equation model also transports the


G_EQN_PROGRESS passive scalar. In short, the progress variable C retards the
completion of combustion in some cases, to prevent nonphysical behavior. The flame
thickness divided by the flame speed gives a characteristic flame time τflame. The progress
variable approach allows the flame to progress by a fraction of (dt/τflame) at each time-step.
As such, the progress variable is a local adjustment to G, and the rate of combustion
process is governed according to C, not to G. C varies between zero and one. C = 0
corresponds to no combustion, and C = 1 corresponds to full combustion calculated from
equilibrium chemistry.

The progress variable C is transported by solving


C C
 u    C
    Dt   S,
i
(13.34)
t xi xi  xi 

where S is a source term of the progress variable. The source term S is evaluated according
to the turbulent flamespeed st and the turbulent flame length scale lt:

st 3 t
S , lt  .
 x  Pr  st (13.35)
max  , lt 
 2 

The multiplicative value of 3 is a scaling factor derived from numerical experiment. S is


further restricted in value according to

dt
0  C n 1  S  1. (13.36)

Turbulent Flamespeed Calculations


Tracking the turbulent flame front (Equation 13.30) requires the turbulent flamespeed, st.
For RANS turbulence models, a turbulent burning velocity relationship (Peters, 2000) is
used to calculate the turbulent flamespeed as

   a b2 2
 
1/2
2
 a4 b3  
st  sl  u  Da   4 3 Da   a4 b32 Da  , (13.37)
 2b1  2b1   
 

CONVERGE 2.4 Manual 433


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |G-Equation Combustion Model

where u' is the root mean square of the turbulent fluctuating velocity; sl is the laminar
flamespeed; a4 , b1, and b3 are modeling constants; and Da is the Damkohler number. The
Damkohler number is calculated according to Tan and Reitz (2003) as

sllt
Da  , (13.38)
ulF

where

 /cp o
lF  (13.39)
 sl u

and

k 3/2
lt  c 3/4
 . (13.40)

In Equation 13.39, l is the molecular conductivity, the subscript o indicates a cell value,
and the subscript u indicates the unburned region value. If the variance of G is solved
(Equation 13.31), then the turbulent flamespeed is calculated from

   a b2 2
 
1/2
2
 a4 b3 *  
st  sl  u  l Da   l Da   a4 b3 l Da  ,
4 3 * 2 *
(13.41)
 2b1  2b1   
 

where

lf t
l* 
k 3/2 2c (13.42)
 csSc

and


G''2
lf t  . (13.43)
 x
G i

434 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |G-Equation Combustion Model

For LES turbulence models, the turbulent flamespeed is calculated (Pitsch, 2002) as

 2 
 b32 sl t  b32 tsl  b32 t 
st  sl 1      , (13.44)
 2b1  u  2b1    
 

where sl is the laminar flamespeed, u' is the sub-grid scale velocity, and b1 and b3 are
modeling constants.

Laminar Flamespeed Calculations


The laminar flamespeed can be calculated by one of three different approaches. The first
method is to use the Metghalchi and Keck (1982) correlation, given by

sl _ ref  Bm  B2 (  m )2 , (13.45)

where f is the equivalence ratio and Bm, B2, and f m are user-supplied constants
appropriate for the fuel and oxidizer used in the simulation.

The second method is to use the Gulder (1984) correlation, given by

sl _ ref    exp     1.075   ,


2
  (13.46)

where w, h, and x are user-supplied constants appropriate for the fuel and oxidizer used in
the simulation.

For both the Metghalchi and Gulder methods, once the reference laminar flamespeed is
calculated at the reference pressure and temperature, the laminar flamespeed is adjusted
for the actual pressure and temperature using the following equation:

 
 T   P 
sl  sl _ ref  u    1  2.1Ydil  , (13.47)
T  P 
 u _ ref   ref 

where Tu is the unburned temperature, Tu_ref is the reference unburned temperature, P is


the pressure, Pref is the reference pressure, Ydil is the mass fraction of dilution species.

The temperature and pressure exponents in Equation 13.47 are defined as

CONVERGE 2.4 Manual 435


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |G-Equation Combustion Model

  a  m   1 (13.48)

and

  a  m   1 , (13.49)

respectively. In CONVERGE, you specify the values of a and m in the previous equations
as sl_temp_a , sl_temp_m, sl_pres_a, and sl_pres_m in combust.in.

CONVERGE 2.4.16+ contains an additional option for laminar flamespeed correlation for
gasoline (a reference gasoline with average molecular weight of 107 and H/C ratio of 1.69)
for the Metghalchi and Gulder methods. If you invoke this option, the laminar flamespeed
is correlated by the following equations:

 g  aT  mT 3.51 (13.50)

and

 g  a p  m p  2.77  0.008Patm / 6, (13.51)

where aT  2.18, mT  0.8, a p  0.16, m p  0.22 and Patm is the unburned pressure in
atm. To activate this option for gasoline, set sl_model = 11 (Metghalchi) or 21 (Gulder).

The third method for calculating the laminar flamespeed makes use of user-supplied data
tables. These data tables must have laminar flamespeed tabulated as a function of mixture
fraction, temperature, pressure, and dilution fraction.

Combustion Module
In principle, the G-Equation model does not need a combustion solver to track the flame
front. Hence the G-Equation model typically runs faster than detailed chemistry. However,
SAGE detailed chemistry (used in conjunction with a RANS turbulence model and AMR)
is recommended to obtain products of combustion and predict emissions. The different
options for running the G-Equation model are illustrated below.

If g_eqn_f lag = 1, then the CEQ equilibrium solver is used at the flame front and inside of
the flame (inside the burned region) as shown below in Figure 13.6. This setting is for the
typical G-Equation model, and it runs faster than the subsequent options. The species for

436 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |G-Equation Combustion Model

the CEQ equilibrium solver can be defined either in the reaction mechanism file or in
species.in.

Figure 13.6: G-Equation model when


g_eqn_f lag = 1.

If g_eqn_f lag = 2, then the CEQ equilibrium solver is used at the flame front and inside the
burned region. The SAGE detailed chemistry solver is used outside the flame (in the
unburned portion) as shown below in Figure 13.7. This option requires a reaction
mechanism file. This option helps to accurately predict NOx emissions.

Figure 13.7: G-Equation model when


g_eqn_f lag = 2.

If g_eqn_f lag = 3, then the CEQ equilibrium solver is used at the flame front and the SAGE
detailed chemistry solver is used inside and outside the flame as shown below in Figure
13.8. This option requires a reaction mechanism file. This option helps to predict knock.

CONVERGE 2.4 Manual 437


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |G-Equation Combustion Model

Figure 13.8: G-Equation model when


g_eqn_f lag = 3.

If g_eqn_f lag = 4, then the SAGE detailed chemistry solver is used at the flame front and
inside and outside the flame as shown below in Figure 13.9. This option requires a reaction
mechanism file. Use this option to couple the G-Equation model with the PM and PSM
detailed soot models.

Figure 13.9: G-Equation model when g_eqn_f lag


= 4.

If g_eqn_f lag = 5, then the SAGE detailed chemistry solver is used at the flame front and
inside the flame as shown below in Figure 13.10. This option requires a reaction
mechanism file. Use this option to couple the G-Equation model with the PM and PSM
detailed soot models.

438 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |G-Equation Combustion Model

Figure 13.10: G-Equation model when g_eqn_f lag = 5.

If g_eqn_f lag = 2, 3, 4, or 5, set sage_f lag = 11 in combust.in.

Acceleration Options
If you have activated the G-Equation model, you can invoke adaptive zoning to accelerate
the combustion calculations.
13.6.1 G-Equation Input Parameters
The G-Equation model parameters are located in combust.in. For reference, Table 13.2
below summarizes the G-Equation parameters in combust.in that correspond to equations
in the previous section.

Table 13.2: G-Equation parameters in combust.in and their associated equations.


Parameter Description Equation

sl_model Laminar flamespeed model. Equation 13.47, Equation


0 = Constant, 13.48
1 = Metghalchi,
2 = Gulder,
3 = User-defined tables,
4 = Metghalchi and Keck (primarily for ECFM or
ECFM3Z).

sl_temp_ref Metghalchi or Gulder reference temperature (K). Equation 13.50

sl_pres_ref Metghalchi or Gulder reference pressure (Pa). Equation 13.51

sl_temp_a Temperature exponent for the G-Equation model. Equation 13.50

sl_temp_m Slope (m) for the temperature exponent equation Equation 13.50
(only for the G-Equation model):
  a  m(  1) .

CONVERGE 2.4 Manual 439


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |G-Equation Combustion Model

Parameter Description Equation

sl_pres_a Pressure exponent for the G-Equation model. Equation 13.51

sl_pres_m Slope (m) for the pressure exponent equation Equation 13.51
(only for the G-Equation model):
  a  m(  1) .

sl_dilution Dilution species mass fraction (e.g., EGR). Equation 13.49

sl_metghalchi_bm Metghalchi constant (m). Equation 13.47

sl_metghalchi_b2 Metghalchi constant (m). Equation 13.47

sl_metghalchi_equiv_rati Metghalchi reference equivalence ratio (m). Equation 13.47


o

sl_gulder_omega Gulder coefficient for calculating laminar Equation 13.48


flamespeed.

sl_gulder_eta Gulder coefficient for calculating laminar Equation 13.48


flamespeed.

sl_gulder_xi Gulder coefficient for calculating laminar Equation 13.48


flamespeed.

st_model Turbulent flame-speed calculation model. Equation 13.36,


0 = No turbulent flamespeed model , Equation 13.43, Equation
1 = Peters flamespeed model (G-Eqn and FGM), 13.46
11 = Modified Peters (G-Eqn),
2 = Zimont (FGM),
3 = Pitsch (G-Eqn with LES).

st_peters_a4 Turbulent flamespeed correlation constant. Equation 13.43

st_peters_b1 Turbulent flamespeed correlation constant. A Equation 13.43


larger value increases the turbulent flamespeed
while a smaller value decreases the turbulent
flamespeed. This parameter has the largest
influence on the turbulent flamespeed.

st_peters_b3 Turbulent flamespeed correlation constant. Equation 13.43

st_peters_g_prime_cs Constant used to solve for the variance of G. Equation 13.33

st_pitsch_b1 Turbulent flamespeed correlation constant. A Equation 13.46


larger value increases the turbulent flamespeed
while a smaller value decreases the turbulent
flamespeed. This parameter has the largest
influence on the turbulent flamespeed.

st_pitsch_b3 Turbulent flamespeed correlation constant. Used Equation 13.46


only when sl_model = 3.

440 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM - Extended Coherent Flamelet Model

13.7 ECFM - Extended Coherent Flamelet Model


Another premixed combustion model available in CONVERGE is the Extended Coherent
Flame Model (ECFM), which is an extension of the Coherent Flame Model proposed by
Marble and Broadwell (1977). The ECFM (Colin et al., 2003) can be used to accurately
model the combustion process, especially in spark-ignited engines. ECFM was re-
implemented in CONVERGE 2.4.15, and for CONVERGE 2.4.15+, ECFM is based only on
species. Tracer species are no longer used to close the atomic balances of C, O, N, and H.
This change resolves the mass and atom conservation issues. Tracer species are still
required to define locally the input parameters of TKI and laminar flamespeed tables. This
section describes the theory of the ECFM and optional spark model. The following section
describes how to set up a simulation that includes the ECFM. Note that here we use the
term ECFM-SB to refer to the species-based ECFM.

To determine the flame surface density, the ECFM uses the fuel/air equivalence ratio in
fresh gases, the composition (including residual gases), and the temperature near the
flame. The resulting flame surface density is used to describe large scale burned/unburned
stratification.

Tracking Flame Propagation


The flame surface density (S ) is determined by the following transport equation:

 ui     ( /  )
  ( )  (P1  P2  P3 )  D  Pk , (13.52)
t xi xi Sc xi

where m is the laminar viscosity, Sc is the Schmidt number, P1   Kt  is the flame surface
 2 u i 
production by turbulent stretch, P2    models the effects of the flame thermal
 3 xi 
 2 1  c 
expansion and curvature, P3   sl   is the production by the mean flow dilation,
 3 c 
 2 
D    sl  is a destruction due to consumption, Pk is the source term (such as a spark
 1 c 
plug), sl is the laminar flamespeed, c is the mass progress variable, and c is the volume
progress variable. Specify the values of a in P1 and b in D via ecf m_stretch_alpha and
ecf m_destruct_beta, respectively, in combust.in. In ECFM-SB, the mass progress variable for
the CFD simulation is calulated based on species, which is defined as

CONVERGE 2.4 Manual 441


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM - Extended Coherent Flamelet Model

 Yib
c  i
(13.53)
 Yiu   Yib
i i

u b
where Yi is the unburned species mass fraction and Y i is the species mass fraction in the
burned zone.

The volume progress variable c is defined by


c c , (13.54)
b

where b is the density of the burned gases.

Turbulent Stretch Model


The Intermittent Turbulent Net Flame Stretch (ITNFS) model shows how intermittent
turbulence affects the distribution of stretch along the flame front. The ITNFS model is a
library of the net flame stretch constructed by Meneveau and Poinsot (1991). A curve fit
method is used to implement the library. Turbulent stretch (Kt) is given as

Kt  u' L 
 ITNFS f actor * f  ,  , (13.55)
 /k  sL lF 

where e is turbulent dissipation, k is turbulent kinetic energy, u  2 k /3  is turbulence


RMS velocity, sL is the laminar flamespeed, L is integral length scale, and lF is the laminar
flame thickness calculated as described in Blint (1986). The ITNFSf actor is specified by
cf m_itnf s_f actor in combust.in. We recommend not changing this value from its default of
1.0.

Imposed Stretch Spark Ignition Model


The Imposed Stretch Spark Ignition Model (ISSIM) (Colin and Truffin, 2011) can be
coupled with the ECFM. The ISSIM uses the same electrical circuit description as the
AKTIM spark ignition model from Duclos and Colin (2001). The ISSIM was first developed
for LES and later adapted to RANS. In CONVERGE 2.4, ISSIM can be used only with
RANS.

442 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM - Extended Coherent Flamelet Model

The main purpose of the ISSIM is to simulate the reaction rate due to the flame surface
density (FSD) starting at the moment of ignition. This model simultaneously represents
both the electrical circuit energy deposition and the flame surface and mass deposition.

Electric circuit model: Figure 13.11 below shows a simplified electrical diagram of the
inductive system for a spark plug.

Figure 13.11: The electrical scheme of the inductive system.

The primary circuit includes the battery and the primary inductance. When the switch is
open, the energy is stored in the primary inductance. Approximately 60% of the energy is
transferred to the spark plug (Verhoeven, 1997), while the remaining energy is dissipated
by the secondary inductance. The ISSIM considers only the secondary part of the inductive
ignition system. The amount of energy transferred to the secondary circuit at the beginning
of the simulation is specified by issim_initial_sec_energy in issim.in.

The life of the spark is generally divided into three phases. The breakdown and arc phases,
which last typically less than a microsecond, are taken into account by considering an
instantaneous energy deposit in the gas, Ebd, which is given as (Duclos and Colin, 2001)

Vbd2
Ebd  , (13.56)
Cbd2 die

CONVERGE 2.4 Manual 443


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM - Extended Coherent Flamelet Model

where Vbd is the breakdown voltage (approximated by Paschen’s law [Reinmann, 1998]),
Cbd is a constant (1.5e6), and dis is the inter-electrode distance specified via
issim_electrode_distance in issim.in.

The glow phase, which can last a few milliseconds, is modeled by solving the electrical
circuit ODEs. During this phase, the spark voltage Vie is equal to

Vie (t)  Vcf  Vaf  Vgc , (13.57)

where Vcf is the cathode fall voltage, Vaf is the anode fall voltage, and Vgc is the gas column
voltage. The gas column voltage (Kim and Anderson, 1995) is given by

Vgc  40.46lsp k is0.32 p 0.51, (13.58)

where lspk is the spark length, is is the current, and p is the pressure. Kim and Anderson
suggest that the cathode fall voltage is 7.6 V during the arc phase and the anode fall
voltage is 252 V during the glow phase. The current is given by

2Es
is  , (13.59)
Ls

where the energy Es and the inductance Ls are user-specified parameters. The electrical
energy available on the secondary circuit is given by

E s (t)
  Rs is2 (t)  Vieis (t). (13.60)
t

The glow phase lasts as long as Es(t) is positive.

When the spark voltage reaches the breakdown voltage (i.e., when Vie > Vbd), the gas
breaks down and becomes conductive. At breakdown, the spark length is initially equal to
the user-defined spark gap (issim_electrode_distance), as follows:

lsp k (t  0)  die . (13.61)

444 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM - Extended Coherent Flamelet Model

Then the spark is stretched by convection and turbulent motion of the flow. The total
spark length is given by

lsp k  lspmean
k  sp k , (13.62)

where the mean length is given by

dlspmean
 2uconv ,
k
(13.63)
dt

in which uconv is the mean convection, and the spark wrinkling is given by

d  sp k
 Kt , (13.64)
dt

where Kt considers the turbulence wrinkling effect, which is similar to the ITNFS function
in the flame surface density equation.

The total energy received by the gas, Eign, is the sum of the energy received at breakdown
(Ebd) and the energy received during the glow phase and can be expressed as

t
Eign  0.6Ebd   Vgcis dt. (13.65)
tsp k

If Eign is larger than the critical energy Ecrit, ignition will occur. The critical energy
(Adelman, 1981) is given by


Ecrit  4 lsp k p  L2 , (13.66)
1 

where δL is the local flame thickness and γ is the gas heat capacity ratio.

mign
Initial burned gas kernel phase: When ignition begins, a mass of burning gases, bg , is
deposited near the spark. In the ISSIM implementation in CONVERGE, based on
experimental observation that the initial kernel size does not depend on the mixture
composition but rather scales with the deposited electrical energy, the following
formulation is used:

CONVERGE 2.4 Manual 445


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM - Extended Coherent Flamelet Model

Eign
ign
mbg  Cbg , (13.67)
Cp Tign

where ΔTign is a characteristic temperature of the plasma in the early instants. As this
temperature rapidly decreases after breakdown, it is difficult to define it with accuracy. A
value of 20,000 K is chosen arbitrarily. The user-specified correction factor Cbg
(issim_c_ignition_mass in issim.in) allows to correct this initially deposited mass. The
brackets denote an average in the cells within a sphere of radius of twice the spark gap.

The target burned gas volume fraction is given by

  xx 
2

cign ( x , tign )  c0 exp    ,
sp k
 (13.68)
  0.5die  
   

where x gives the cell coordinates, xspk gives the spark plug location, die is the spark gap
length, and c0 satisfies

 bcign dV  mbg .
ign
(13.69)

In order to impose the volume fraction on the 3D CFD domain, CONVERGE calculates the
reaction rate of the progress variable from

c  max(u S L  c , b (cign  c )dt 1). (13.70)

The ignition flame surface density (FSD) source is introduced at the start of ignition. As
suggested by experiments, the initial flame kernel is assumed to be a sphere and its radius
rbign
can be defined as

1/3
 3 
  cign dV  .
ign
r (13.71)
 4
b

The FSD can be defined as

446 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM - Extended Coherent Flamelet Model

3c
ign  Csurf , (13.72)
rbign

where Csurf is a user-specified value (issim_c_f lame_wrinkling in issim.in) that corresponds to


an initial wrinkling value, allowing to account for the non-perfect sphericity of the flame
kernel.

The ignition FSD source term is defined as

ign max((ign   c )dt 1,0). (13.73)

Unburned Fuel Oxidation


The unburned fuel oxidation is given by a global two-stage reaction as (Colin and
Benkenida, 2004)

  y y 
 (1 rCO ) Cx H y   x   O2  xCO2  H 2O
  4 2 
 x y y 
 rCO Cx H y     O2  xCO  H 2O (13.74)
 2 4 2 
 x y 
(1  ) Cx H y  O2  xCO  H 2 
 2 2 

where rc = 0.01 and the value of α is determined by which is the average equivalence
ratio. The average equivalence ratio is evaluated as follows:

  1:   1
4( x  y / 4)
  2x (13.75)
1   crit :  
2x  y
crit   :   0,

where f crit = (2/x)(x+y/4).

Post-Flame Stage

CONVERGE 2.4 Manual 447


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM - Extended Coherent Flamelet Model

CONVERGE includes two methods for calculating the post-flame kinetics and post-fuel
oxidation. Select one of these two methods via ecf m_post_ceq_f lag (if using the ECFM
model) or ecf m3z_post_ceq_f lag (if using the ECFM3Z model).

The first method follows equilibrium reactions to solve the chemistry as described in Colin
et al., 2003. To use this method, set ecf m_post_ceq_f lag = 0 or ecf m3z_post_ceq_f lag = 0.

The post-flame equilibrium reactions are as follows:

N 2  2N
O2  2O
H 2  2H (13.76)
2OH  O2  H 2
2H 2O  O2  2H 2 ,

and the equation for CO to CO2 oxidation is

CO  OH  CO2  H . (13.77)

The second method is to use the CEQ solver for the post-flame stage. The CEQ solver
solves the equilibrium species after the flame front. To use this method, set
ecf m_post_ceq_f lag = 1 or ecf m3z_post_ceq_f lag = 1.

IFPEN Metghalchi and Keck Laminar Flamespeed Model


Set sl_model = 4 in combust.in to enable the Metghalchi and Keck laminar flamespeed
model. This model is used primarily when running a simulation with the ECFM or
ECFM3Z model. The laminar flamespeed is calculated by

Tu  Pu 
sl  sl 0 ( ) ( ) (1 2.1X EGR ), (13.78)
T0 P0

where

sl 0  Bm  B (  m )2
  2.18  0.8(  1) (13.79)
  0.16  0.22(  1)  0.008Patm / 6,

448 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM - Extended Coherent Flamelet Model

T0 = 298 K, and P0 = 1.0 MPa.

B , B ,and m
The coefficients m  are known only for propane and iso-octane. These values
are summarized below in Table 13.3.

Table 13.3: Coefficients for propane and iso-octane.


Fuel Bm B m

Propane 0.342 -1.387 1.08


Iso-octane 0.263 -0.847 1.13

For a fuel with the formula CxHy, the coefficients are calculated via a linear interpolation:

Cx H y
 0.2  ((8  x ) K  ( x  3) K
C3 H 8 C8 H18
K ), (13.80)

Bm , B ,or m
where K is .

Table 13.4: Laminar flamespeed equations for various values of


.

Range of
 Laminar flamespeed equation

  0.5 6
sl  sl, 0.7   
7
0.5    0.7 20
sl  sl, 0.7    0.35
7
0.7    1.4 The laminar flamespeed is calculated by extrapolating the
correlations linearly to zero for
  0 and   3 .

1.4    2 sl  sl, 1.4  2.2   1.25

  2.0 2.5
sl  sl, 1.4  2.7   
7

13.7.1 ECFM Input Parameters


To simulate premixed combustion with the species-based ECFM, you must set up several
input files: a thermodynamic data file, combust.in, species.in, and initialize.in, all of which
are described below. Additional ECFM-SB-related files may be required depending on
other settings. These additional files are described below as well. It is important to note

CONVERGE 2.4 Manual 449


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM - Extended Coherent Flamelet Model

that, when running a simulation with the ECFM, the reaction mechanism file must be
removed from the Case Directory.

combust.in
The combust.in file is described in Chapter 22 - Input File Reference.

issim.in
If ecf m_spark_f lag = 1, issim.in is required. Table 13.5 below describes the parameters in
issim.in. Figure 13.12 shows an example file.

Table 13.5: Parameters in issim.in.


Parameter Description

issim_correc-mbgign Correction factor for the ignition mass. Must be at least 1. Default is 1.

issim_correc_surf bgign Initial flame surface wrinkling. Set to 1 for laminar spherical ignition. Set
to greater than 1 for turbulent ignition. Default is 2.

issim_nplug Number of spark plugs. If multiple spark plugs, repeat


issim_spark_locate_x through issim_sec_ind for each spark plug.

issim_spark_locate_x The x coordinate of the spark plug (meters).

issim_spark_locate_y The y coordinate of the spark plug (meters).

issim_spark_locate_z The z coordinate of the spark plug (meters).

issim_dintel Inter-electrodes distance (meters).

issim_diaelec Electrode diameter (meters).

issim_sec_res Secondary resistance (ohm).

issim_sec_ind Secondary inductance (Henry).

issim_ncirc Number of ignitions. If multiple ignitions, repeat issim_nplug through


issim_initial_sec_energy for each ignition.

issim_nplug The number of the spark plug associated with the ignition. The spark
plugs are numbered sequentially from 0 to (issim_nplug - 1).
Temporal type of the SEQUENTIAL or CYCLIC. For CYCLIC, the period (in seconds if crank_f lag
ignition = 0 or in crank angle degrees if crank_f lag = 1 or 2) must follow.

issim_spark_tstart Start time (in seconds if crank_f lag = 0 or in crank angle degrees if crank_f lag
= 1 or 2) of the ignition.

issim_initial_sec_energ Initial secondary circuit energy (joules).

#!csi_version=2.4
#=======================

450 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM - Extended Coherent Flamelet Model

1 issim_correc_mbgign
1 issim_correc_surfbgign
2 issim_nplug

0.0 issim_spark_locate_x
0.0 issim_spark_locate_y
-6.9e-3 issim_spark_locate_z
1.e-3 issim_dintel
0.5e-3 issim_diaelec
1.e4 issim_sec_res
30. issim_sec_ind

0.05 issim_spark_locate_x
0.05 issim_spark_locate_y
-6.9e-3 issim_spark_locate_z
1.1e-3 issim_dintel
0.6e-3 issim_diaelec
1.e4 issim_sec_res
30. issim_sec_ind

2 issim_ncirc

0 issim_numplug
SEQUENTIAL
-25. issim_spark_tstart
38.9e-3 issim_initial_sec_energ

1 issim_numplug
SEQUENTIAL
-27. issim_spark_tstart
38.9e-3 issim_initial_sec_energ
Figure 13.12: Example issim.in file.

ecf m3z_reinit.in
If ecf m3z_reinit_f lag = 1, ecf m3z_reinit.in is required. This file allows you to direct
CONVERGE to reinitialize the combustion domain in specific regions at specific times. For
example, for a multi-cycle or multi-cylinder engine case, the combustion regions must be
reinitialized for the next spark or auto-ignition event to occur. Table 13.6 below describes
the parameters in ecf m3z_reinit.in. Figure 13.13 shows an example file.

CONVERGE 2.4 Manual 451


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM - Extended Coherent Flamelet Model

Table 13.6: Parameters in ecf m3z_reinit.in. Repeat these parameters as desired to reinitialize different
regions at different times.
Parameter Description

ecf m3z_num_region Number of regions to be reinitialized at the same time.

ecf m3z_region The region IDs of the region(s) to be reinitialized. There should be
ecf m3z_num_region entries of this line.

ecf m3z_init_time The time in crank angle degrees at which the combustion domain is
reinitialized.

#!csi_version=2.4
#=======================

2 ecfm3z_num_region
0 ecfm3z_region
1 ecfm3z_region
50.0 ecfm3z_init_time

1 ecfm3z_num_region
4 ecfm3z_region
100.0 ecfm3z_init_time
Figure 13.13: An example ecf m3z_reinit.in file.

species.in
Table 13.7 below lists the gases, passives, and non-transport passives that must be included
in species.in for a premixed combustion case. Table 13.8 lists optional non-transport
passives that may be useful for an ECFM simulation. CONVERGE Studio automatically
adds the passives and non-transport passives listed below for a simulation that includes
ECFM-SB.

Table 13.7: Parameters required in species.in when using the ECFM.


Gases

example: C3H8 Fuel in the unburned zone.

O2 Species in the mixed zone.

N2

CO2

H20

H2

452 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM - Extended Coherent Flamelet Model

OH

CO

BF_C3H8 Fuel in the burned zone.

UMF_C3H8 Fuel in the unmixed zone.

U_O2 Species in the mixed zone.

U_N2

U_CO2

U_CO

U_H2

U_H2O

UNMIX_O2 Species in the unmixed zone.

UNMIX_N2

UNMIX_CO2

UNMIX_CO

UNMIX_H2

UNMIX_H2O

AI_N2 N2 in burned gas species (used for auto-ignition progress variable).

Passives

TF_C3H8 Fuel tracer.

T_O2 O2 tracer.

T_CO CO tracer.

FLMTDEN Flame surface density.

UNBURNED_E Unburned enthalpy.


NTH

MEAN_ENTH Sensible enthalpy.

T_CO2 CO2 tracer.

T_N2 N2 tracer.

T_H2O H2O tracer.

T_H2 H2 tracer.

Non-Transport Passives

PROG_VAR Mass progress variable.

CONVERGE 2.4 Manual 453


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM - Extended Coherent Flamelet Model

VOL_PROG_VA Volume progress variable.


R

BURNED_TEMP Temperature in the burned area (to indicate combustion).

UNBURNED_TE Temperature in the unburned area.


MP

PRES_TM2 Pressure at the previous time-step.

WALL_DIST_FU Wall distance function.


NC

WALL_DIST Wall distance.

PROG_VAR_SIG Progress variable for flame surface density propagation.


MA

AI_PROG_VAR Progress variable for auto-ignition.

VOL_PROG_VA Volume progress variable for flame surface density propagation.


R_SIGMA

OMEGA_TKI Reaction rate of auto-ignition.

OMEGA_CFM Reaction rate of the unburned fuel.

OMEGA_BG Reaction rate of the burned fuel.

Table 13.8: Optional non-transport passives that may be useful for ECFM simulations.
P1 Flame surface production by turbulent stretch.

P2 Effects of the flame thermal expansion and curvature.

P3 Production term by the mean flow dilation.

KT Turbulent stretch term in ITNFS.

OMEGA_CFM Reaction rate of unburned fuel.

OMEGA_BG Reaction rate of burned fuel.

FLAME_SPD Laminar flamespeed.

THICKNESS Laminar flame thickness.

TIME_FSD_COR Correction of the FSD turbulent stretch factor to account for the finite
rate chemistry time-scale.

FLAME_SPD_C Flamespeed correlation factor due to the flame-wall interaction.


OR

Thermodynamic data file, initialize.in, and boundary.in

454 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM - Extended Coherent Flamelet Model

In initialize.in and boundary.in, you must initialize the initial gas species or the inflow and
outflow gas species. For species tracers, you must initialize passives (tf _<f uel name>, t_CO,
T_O2, T_CO2, T_n2, T_H2O, and T_H2) with the same names and values as their
corresponding species (mixed fuel, CO, O2, CO2, N2, H2O, and H2, respectively). Do not
list the intermediate species (O, H, N, and OH) in initialize.in and boundary.in.

You need to make two copies of the thermodynamic properties of fuel species in the
thermodynamic data file and rename the fuel species as umf _<f uel name> and bf _<f uel
name>. Also, you need to copy the species properties (O2, N2, CO2, H2, and H2O) and
rename the species as u_<species name> and unmix_<species name>. Finally, copy the N2
properties and rename as AI_N2. Complete this task manually before launching
CONVERGE Studio.

For gasoline internal combustion engine simulations, follow these general setup rules.
· Intake: Set the U_(species) and the fuel species to the unburned gas composition of the
intake. Set all of the (species) to 0. Set all T_X = U_X and TF_(f uel) = (f uel).
· Exhaust: Set the (species) and the BF_(f uel) to the burned gas composition of the mean
engine fuel/air ratio. Set all U_X = 0. Set all T_X = 0 and TF_(f uel) = 0.

13.8 ECFM3Z : Extended Coherent Flame Model 3 Zones


For partially- or non-premixed combustion, the ECFM is coupled with a mixing model and
is known as the ECFM3Z (3-Zone Extended Coherent Flame Model) (Colin and Benkenida,
2004). This method creates a mixed zone between the air (+ exhaust gas recirculation) and
fuel zones.

Mixing Model
The mixing of air and fuel (as shown below in Figure 13.14) forms the mixed zone.

Figure 13.14: Mixing model.

Unmixed fuel and O2 are solved as

CONVERGE 2.4 Manual 455


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM3Z : Extended Coherent Flame Model 3 Zones

 YFuF  uiYFuF   YFuF


  ( )   SFu   EFu
F M
(13.81)
t xi xi Sc xi

and

 YOA2  uiYOA2   YOA2


  ( )   EOA2 M . (13.82)
t xi xi Sc xi

Mixing terms EFu and EO2 are a function of the turbulence time scale, which is given
F M AM

as follows:

1 
 m , (13.83)
m k

where bm is the mixing rate constant. This value is specified by ecf m3z_mix_betam in

combust.in. The evaporation source term SFu in the unmixed fuel of Equation 13.81 is the
gaseous fuel mass production rate already presented for the unburned and burned fuel
equations.

In the species-based ECFM3Z model, multiple fuels are allowed in the simulation. To set
up species.in for the unmixed fuel, unburned fuel, and fuel in the burned zone, following
these steps:
· Unmixed fuel species: UMF_<species name>
· Unburned fuel species: <species name>
· Fuel species in the burned zone: BF_<species name>

If there are multiple species as fuel, repeat names for each fuel species.

Autoignition model
Tabulated Kinetics of Ignition (auto_ignition_f lag = 1)
The tabulated kinetics of ignition (TKI) model was first proposed by Colin et al. (2005). In
this first version autoignition was described in two steps. In the first step, an autoignition
delay was used in the intermediate species transport equation YF_i to reach the autoignition
time. Once the delay was reached, the progress of reaction was advanced in time using the
fuel transport equation and a tabulated progress variable reaction rate.

In the TKI implementation in CONVERGE, the intermediate species is no longer used


following recent developments of the model (Robert et al., 2015) and thus the entire

456 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM3Z : Extended Coherent Flame Model 3 Zones

autoignition process is described by the fuel mass fraction burned by autoignition YF_ai.
This mass fraction corresponds to the passive IG_FT.

In order to tabulate the autoignition, the TKI model solves the 0D constant pressure
reactors at different initial conditions. These initial conditions reproduce the in-cylinder
conditions that occur in the engine. This method uses four parameters: pressure, fresh gas
temperature, equivalence ratio, and dilution rate. For each parameter, you can select a
range and discretization fidelity to match the local sensitivity of chemistry to the
parameter. Table 13.9 shows an example of the TKI parameter variation and
discretization.

Table 13.9: Example of the TKI parameter variation and discretization.


Parameter Range Number of Points
Temperature 500 - 1500 K 50

Pressure 1 - 20 MPa 10

Fuel/air equivalence ratio 0.1 - 3.0 10


EGR fraction to air 0 - 80% 4
Progress ratio 1e-6 - 1 100

During tabulation, CONVERGE extracts the time ti at which the OD calculation reaches
the progress of reaction cai.

The progress variable in the TKI model is an image of the amount of heat released during
fuel oxidation, as follows:

T  Tini
cai  , (13.84)
Tequ  Tini

where Tini is the initial temperature and Teqn is the final temperature of the 0D simulation.
The progress variable reaction rate is defined as

dcai
c,TKI  . (13.85)
dt

This ordinary differential equation is approximated as follows:

CONVERGE 2.4 Manual 457


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM3Z : Extended Coherent Flame Model 3 Zones

c1
0  c  c1 :c,TKI 
t1
(13.86)
c c
c1  c  ci1(for i  1) :c,TKI  i1 i
ti1  ti

Note that t1 can be viewed as the so-called ignition delay of TKI, although the progress of
the reaction at this time, c1, needs to be set as a very small number (typically 1e-6) to
ensure a proper description of the heat release rate during the entire autoignition process,
and thus t1 cannot be compared to a standard autoignition delay, which is typically
chosen at c close to 0.5. In the second approximation in Equation 13.86, the progress
variable reaction rate is constant between ti+1 and ti. This choice was made in Colin et al.
(2005) because it proved to be more accurate than a linear approximation.

Figure 13.15 below shows the real bimodal decomposition for the species-based ECFM3Z
model.

Figure 13.15: Real bimodal decomposition.

With species-based ECFM3Z, the progress variables of auto-ignition and flame


propagation are linked based on two assumptions: that the premixed flame separates fresh
auto-ignition gases and burned gases and that the cell mass fraction of species is given by

Yi  1 c Yi


ai b
 c Yi . (13.87)

458 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM3Z : Extended Coherent Flame Model 3 Zones

ai
The fresh auto-ignition gases Yi is are treated in a bimodal way (in reality, a
homogeneous zone), as follows:

ai u b
Yi  1 cai Yi  cai Yi . (13.88)

Figure 13.16 below shows the model bimodal decomposition.

Figure 13.16: Model bimodal decomposition.

The total progress variable is given by

c  c  1 c cai . (13.89)

Thus

c  cai
c  . (13.90)
1 cai

In order to make the TKI progress variable be coherent with the global progress variable,
AI_N2 is introduced in burned gases. The total N2 is given by

YNtot2  YNu2  YNai2  YN 2 . (13.91)

CONVERGE 2.4 Manual 459


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM3Z : Extended Coherent Flame Model 3 Zones

In the previous equation, YN 2 is the unburned N2 mass fraction.


u

The reaction rate based on auto-ignition can be calculated by

YNu2

Y ai  1 c    ai . (13.92)
N2
1 c Yc

As a result, the progress variable of the premixed flame can be derived as

YN 2
c  c, (13.93)
YN 2  YNai2

and the progress variable of auto-ignition is

c  c
cai  . (13.94)
1 c

The auto-ignition (TKI) table can be generated with Kicgen, a Python tool. This tool
tabulates the ignition delay and reaction rates in HDF5 format. There are two ways to
excute Kicgen: locally or on the cloud (recommended).

If you are running Kicgen locally, follow these three steps to generate a TKI table.

1. Launch SAGE 0D computations: kicgen.py -f tki.input --compute


2. Verify SAGE 0D results to ensure that all cases ignited: kicgen.py -f tki.input --
verify
3. Post-process and write the TKI table in HDF5 format: kicgen.py -f tki.input --
write

Figure 13.17 below shows an example tki.input file.

FUELNAMES=['c7h16'] //Fuel name


DILU='N2‘ // Diluent N2 / CO2 / H2O
FUELCOMPONENTS=[['c7h16']] //Fuel components, multi component
fuel is allowed
XCARBS=[[7.0]], YHYDRS=[[16.0]], ZOXYS=[[0.0]]
RESIDUALS=[0.0,0.1,0.2,0.3] //Residual mole fractions
PHIS=[0.7,0.8,0.9,1.0,1.1,1.2,1.3] //Equivalence ratio
PRESSURES=[1,5,10,20] //Pressure
TEMPERATURES=[500,1000,1500] //Temperature
C=[1.e-6, …,1.0] //Discretized C values
Figure 13.17: An example tki.input file.

460 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |ECFM3Z : Extended Coherent Flame Model 3 Zones

If you are running Kicgen on the cloud, you must create a user account. The following
information is needed to create an account: company name, login name, public IP address.
The cloud computing costs (CPU hours and license costs) are covered by Convergent
Science. The limit on each job is 24 cores and seven days. The data saved and uploaded on
the cloud are fully secured in a private area for each user.
13.8.1 ECFM3Z Input Parameters
To simulate diesel combustion with the ECFM3Z, you must set up several input files: a
thermodynamic data file, combust.in, species.in, initialize.in, spray.in, and liquid.dat, some of
which are described below. (All of these files are described in full in Chapter 22.)
Additional ECFM-related files may be required depending on other settings. These
additional files are described below as well. It is important to note that, when running a
simulation with the ECFM, the reaction mechanism file must be removed from the Case
Directory.

combust.in
The combust.in file is described in Chapter 22 - Input File Reference.

species.in
See ECFM Input Parameters. The species.in file is identical for ECFM-SB and ECFM3Z-SB.

13.9 Shell+CTC Model


Modified Shell Ignition Model
To model diesel ignition delay, a multistep kinetics model based on the Shell model has
been implemented in CONVERGE. The original Shell model (Halstead et al., 1977), which
was developed to predict knock in gasoline engines, uses a simplified reaction mechanism
to simulate autoignition in diesel engines. The eight reactions in this model are given by

1. Cn H 2 m  O2  2 R *
2. R *  R *  P  Heat
3. R *  R *  B
4. R *  R *  Q
(13.95)
5. R *  Q  R *  B
6. B  2 R *
7. R *  Termination
8. 2 R *  Termination,

CONVERGE 2.4 Manual 461


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

where CnH2m is the hydrocarbon fuel, R* is a radical formed from the fuel, B is the
branching agent, Q is a labile intermediate species, and P represents products (CO, H2,
CO2, and H2O).

Schapertons and Lee (1985) noted that the use of the above reaction scheme can violate
mass conservation if used after the local onset of ignition due to the propagation steps R*®
R*+B and R*® R*+Q (steps 3 and 4 in Equation 13.95 above). They modified the reactions
to account for mass conservation. The resulting scheme is given by
1. Cn H 2 m  O2  2 R *
1 
2. R *    1 Cn H 2 m  pO2   qP  f 1B  f 4Q  R *  heat
m 
3. R  Q  R  B
* *

4. B  2 R * (13.96)
W*
5. R *  R N 2 ,
WN2
WR*
6. 2 R *  2 N2
WN2

where L is given by

 f 1 M B  f 4 MQ 
 . (13.97)
MC Hn 2m
m  pMO2 

Furthermore,

n(2   )  m
p (13.98)
2m

and

q  1 n m, (13.99)

where g is a stoichiometric factor set equal to 0.67 (Halstead et al., 1977). The reaction
scheme given in Equation 13.96 is commonly used to model the diesel engine ignition
process (e.g., Kong and Reitz, 1993). In Equation 13.96, the molecular weights associated
with the species R*, B, and Q are given by (Schapertons and Lee, 1985)

462 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

WC H  WO 
WR*  n 2m 2

2
(13.100)
WB  WCn H 2 m  WO2
WQ  WCn H 2 m  WO2 .

In order to accurately interface the ignition model with a combustion model based on
equilibrium (e.g., the CTC model described below), it is critical that the C, H, O, and N
atoms are conserved in the ignition process. In order to modify the reaction scheme in
Equation 13.96 to conserve atoms, R*, B, and Q are assigned atoms based on their
molecular weights given in Equation 13.100 above. For example, R* has n/2 carbon atoms,
m hydrogen atoms, and one oxygen atom. While the second reaction in Equation 13.96 has
been formulated to conserve mass, it must be modified to also conserve atoms. The
resulting reaction is given by

  m  (13.1
R *   f 1  f 4  1Cn H 2 m   f 1  f 4   n   O2  nCO2  mH 2O  f 1B  f 4Q  R .
*

  2   01)

In addition to reaction 2, reactions 5 and 6 also violate atom conservation and lead to a net
production of N2 from the ignition event, which can lead to inaccuracies because this
process removes potentially combustible atoms and converts them to inert nitrogen. One
possible solution is to have R* go to products in the termination reactions. However, this
possible solution would also require additional oxygen for the atoms to conserve. Another
possibility is to keep reactions 5 and 6 as-is in Equation 13.96 and then put the nitrogen
back into R* when the ignition process is complete. In other words,

WR*
R *f  R1*6  N 2 , (13.102)
WN2

where R1*6 is the final value of R* from the reaction scheme and DN2 is the change
(increase) in nitrogen from the termination reactions. This final amount of R*, Rf * is then
patched (along with Bf =B1-6 and Qf =Q1-6) to products with the reaction

 m 
R *f  Bf  Qf  2.5  n   1  O2  2.5n CO2  2.5m  H 2O, (13.103)
 2 

CONVERGE 2.4 Manual 463


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

which was formulated to conserve atoms. The conversion of the radical species to products
requires some additional oxygen from the gas mixture. Also note that Equations 13.102
and 13.103 are applied only once when the ignition process is complete. The final reaction
scheme with the above improvements is shown in Table 13.10. This mechanism conserves
atoms (and mass) between the pre- and post-ignition gas mixture.
Table 13.10: Modified Shell ignition reaction mechanism as implemented in CONVERGE.
Number Modified Shell Ignition Reaction Process Rate

1. Initiation kq
Cn H 2 m  O2  2 R *

2.  m  Propagation kp

R *   f 1  f 4  1Cn H 2 m   f 1  f 4   n   O2 
  2  
nCO2  mH 2O  f 1B  f 4Q  R *

3. Propagation f 2 kp
R*  Q  R*  B

4. B  2 R* Branching kb

5. Linear f 3 kp
M R*
R  *
N2 termination
M N2

6. M R* Quadratic kt
2 R*  2 N2 termination
M N2

7. WR* This step performed only


R *f  R1*6  N 2 once (at the end of the
WN2 ignition process).
Bf  B16
Qf  Q16

 
m
 1 O   2.5n  CO   2.5m  H O
*
R  B  Q  2.5 n 
f f f 2 2 2

The rate constants in the reaction scheme shown in Table 13.11 below are similar to those
used by Halstead et al., 1977 and are given by

464 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

 E f 1 RuT  x1 y1
f 1  A f 01 e O2  Cn H 2 m 
 E f 1 RuT 
f 2  A f 01 e
(13.104)
 E f 3 RuT  x3 y3
f 3  A f 03 e O2  Cn H 2 m 
 E f RuT  x4 y4
f 4  A f 04 e 4
O2  Cn H 2 m  ,

 Eq RuT 
kq  Aq e
 Eb RuT 
kb  Ab e (13.105)
 Et RuT 
kt  At e ,

 Ep 1 RuT 
k p 1  Ap 1 e
 Ep 2 RuT 
k p 2  Ap 2 e (13.106)
 Ep 3 RuT 
k p 3  Ap 3 e ,

and

1
kp  ,
1 1 1 (13.107)
 
kp 1 O2  kp 2 kp 3 Cn H 2 m 

where [O2], for example, denotes the species concentration of O2 in gmol cm-3.

Equations 13.104 through 13.107 include ten pre-exponential factors (A i), ten activation
energies (Ei), and six concentration dependence parameters (xi, y i) for a total of 26 model
constants. Kong and Reitz (1993) found that the formation rate of the labile intermediate
species Q is the rate-limiting step in the kinetic path. In addition, Theobald and Cheng
(1987) found that the total ignition delay is sensitive to the pre-exponential factor A f 04 . As a
result, shell_af 04 has been included in combust.in, while the other 25 parameters have fixed
values in CONVERGE as shown below in Table 13.11. Note that the parameters are given
in CGS units to be consistent with standard chemical reaction conventions.

CONVERGE 2.4 Manual 465


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

Table 13.11: Shell model parameters from Halstead et al. (1977). Units: Ai (cm, mol, s), Ei (cal/ mole), Ru
(cal/ mol K).
Shell Model Value
Parameter

A f 01 7.3e-4

A f 02 180.0

A f 03 1.47

A f 04 Set via af 04 in combust.in.

Aq 1.2e12

Ab 4.4e17

At 3.0e12

A p1 1.0e12

A p2 1.0e11

A p3 1.0e13

Ef 1 / Ru -7.55e03

Ef 2 / Ru -3.53e03

Ef 3 / Ru 5.04e03

Ef 4 / Ru 1.51e04

Eq / Ru 1.76e04

Eb / Ru 2.27e04

Et / Ru 0.0

Ep1 / Ru 0.0

Ep2 / Ru 7.56e03

Ep3 / Ru 428.0

x1 1.0

x3 0.0

x4 -1.0

466 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

Shell Model Value


Parameter

y1 0.0

y3 0.0

y4 0.35

In the present implementation, reaction rates are frozen to their value at 950 K for
temperatures above 950 K as in the model from Schapertons and Lee (1985).

As described by Theobald and Cheng (1987), subcycling is needed in order to accurately


solve the modified Shell model reaction mechanism. Subcycling is based on the net
production rate of B, assuming that the reaction orders of CnH2m and O2 are zero. The time
rate of change of [B] is then given by

d B
  kb B f 1 kp  R *   f 2 kp  R *  Q. (13.108)
dt

A subcycling time-step dtshell can be written from Equation 13.108 above as

B
dtshell  , (13.109)
 kb B f 1 kp  R *   f 2 kp  R *  Q

where the quantity [Xm] represents a molar concentration. The computational time-step dt
is discretized into sub-time-steps, given above by Equation 13.109, to solve the Shell model
equations.

The above Shell model reaction scheme is solved using a reference species approach as
described in Amsden et al. (1989). This approach is valid for the following reaction
scheme:

M M

 m ,r  m   m ,r  m for r = 1,2,....,R (13.110)


m 1 m 1

where  m ,r and  m ,r are the stoichiometric coefficients for the reactants and products,
respectively, for species m and reaction r and c m represents the chemical symbol for species
m.

CONVERGE 2.4 Manual 467


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

As described by Amsden et al. (1989), the reaction rate, r , for this approach is given by

ref ,r  1  2  1
r  , (13.111)
dt Wref ,r  ref ,r  ref ,r 

where

 1   ref ,r  dt Wref ,r  ref


 ,r  f r   ref
 ,r  br , (13.112)

 2   ref ,r  dt Wref ,r  ref


 ,r  f r   ref
 ,r  br , (13.113)

and r ref ,r is the reference species with a molecular weight of Wref ,r. The reference species is
the species whose density has the highest likelihood of going negative. In the above
equations, the quantities W f r and W br are given by

M
m
 ,r
 f r  k f r   m Wm  (13.114)
m 1

and

M
m
 ,r
 br  kbr   m Wm  , (13.115)
m 1

where kf r and kbr are the forward and reverse rate constants, respectively. In addition, m ,r
and m ,r in Equations 13.114 and 13.115 are not necessarily equal to the stoichiometric
coefficients in Equation 13.110 so that empirical reaction orders can be used (Amsden et
al., 1989).

Each of the reactions in the current set only progress in the forward direction. As a result,
kbr (and hence W br) is zero for each of the reactions. With this simplification, it can be
shown that Equation 13.111 reduces to

468 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

ref ,r Wref ,r  f r
r  , (13.116)
ref ,r Wref ,r  ref ,r  f r dt

which is used in CONVERGE to calculate the progress rates for the Shell model.

The reference species is selected for each reaction by comparing the values of
Wm f r ( m ,r  m ,r ) m for each of the species involved in that reaction. The species with
the lowest value of this quantity is called the reference species (Amsden et al., 1989). The
rate coefficients are given in Table 13.10 above for each of the reactions. Once the
reference species ref ,r has been determined, the progress rate r for reaction r is calculated
via Equation 13.116 above. The change in density in species m is then calculated from

R
 m   m ,0  Wm   m ,r  m ,r r dt, (13.117)
r 1

where r m,0 is the species density value before the start of the Shell model calculations for
the current subcycle.

Input Parameters for the Shell Model


The Shell model parameters are located in combust.in.

Characteristic Time Combustion Model


CONVERGE includes the Characteristic Time Combustion (CTC) model (Abraham et al.,
1985, Xin et al., 1997). The CTC model simulates the rate of change of the density of
species m, r m, as

 m m  m*
 , (13.118)
t c

where r *m is the local and instantaneous thermodynamic equilibrium value of the species
density and tc is the characteristic time to achieve equilibrium. Following Kong et al.
(1995), the characteristic time is calculated via

 c   chem  f  turb , (13.119)

CONVERGE 2.4 Manual 469


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

where tchem is the chemical-kinetics time, tturb is the turbulent mixing time, and f is a delay
coefficient which simulates the increasing influence of turbulence on combustion (see
Equation 13.147 below). The chemical timescale is modeled as (Kong et al., 1995)

(E /RuTg )
[C H ]0.75 e chem
 chem  n 2m , (13.120)
2 Achem [O2 ]1.5

where A chem is a user-specified constant (ctc_denomc in combust.in), Echem is the activation


energy given by 18,475 cal/mol (Kong et al., 1995), Ru is the universal gas constant, and Tg
is the gas temperature. In addition, the turbulent timescale is given as

k
 turb  C2 , (13.121)

where C2 is a user-specified constant (ctc_cm2 in combust.in). The turbulent timescale acts


as a sub-grid model that accounts for the non-uniformity of species in a cell. The sub-grid
non-uniformity of species, which cannot be accounted for directly, may act to slow the
combustion process. For this reason, the turbulent timescale is added to slow the
combustion.

If an LES model is used, the characteristic time for the CTC model is calculated as

 c   chem  f  sub , (13.122)

where tsub is based on the sub-grid velocity field given by

dx 2  2 ui
ui  Cles . (13.123)
24 x j x j

In Equation 13.123, dx is a characteristic cell size (given by the cube root of the cell
volume), ui is the resolved velocity field, and Cles is a scaling constant. The sub-grid
timescale is then given by

ksub
 sub  C2 , (13.124)
 sub

where

470 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

1  
ksub  ui ui (13.125)
2

and

3/2
ksub
 sub  . (13.126)
dx

In the case of the single-scale CTC model, solving Equation 13.118 for the updated species
density due to combustion yields

 m   m*   m ,0   m* e dt  c , (13.127)

where r m,0 is the species density value at the beginning of the time-step and dt is the time-
step.

In addition to the single-scale CTC model, the multi-scale model proposed by Xin et al.
(1997) is included in CONVERGE. In this model, the following expressions are used for the
destruction of fuel, CO, and H2:

 f uel  f uel   *f uel


 , (13.128)
t c

CO CO  CO*


 , (13.129)
t xCTC c

and

 H 2  H 2   H* 2
 , (13.130)
t xCTC c

where xCTC is a user-specified fraction between 0 and 1 (ctc_tau_f raction in combust.in). The
above model assumes that the timescale for CO and H2 are a fraction of the fuel
conversion time scale. Note, however, that this assumption represents only the fastest

CONVERGE 2.4 Manual 471


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

possible time-scales for CO and H2. If there is not enough oxygen in a computational cell
to perform this conversion, the time-scales are increased accordingly.

Solving Equations 13.128 through 13.130 yield the following updated species densities:

 f uel   f uel ,0    f uelW f uel   *f uel   f uel ,0   *f uel e dt  c , (13.131)

 dt xCTC c 
CO  CO,0   COWCO  CO
*
 CO,0  CO
*
e , (13.132)

and

 dt xCTC c 
 H 2   H 2 ,0   H 2 WH 2   H* 2   H 2 ,0   H* 2 e . (13.133)

The remaining species densities can be determined from the atom conservation equations
as

CO2  CO2 ,0   CO n   f uelWCO2 , (13.134)

 H 2O   H 2O,0   H 2  m   f uelWH 2O , (13.135)

and

O2  O2 ,0  0.5  CO 0.5  H 2  n  0.5m   f uelWO2 . (13.136)

The equilibrium species density values must be determined in order to solve Equation
13.127 or Equations 13.131 through 13.136. As in Kong et al. (1995), it is assumed that
seven species are involved in the combustion process: fuel (CnH2m), O2, N2, CO2, H2O,
CO, and H2. With these species, the combustion of an arbitrary hydrocarbon can be
written as

NCn H 2 m Cn H 2 m  NO2 O2  N N2 N 2  NCO2 CO2  N H 2O H 2O  NCOCO  N H 2 H 2 


(13.137)
bCO2  cCO  dH 2O  eH 2  f O2  N N2 N 2  gCn H 2 m

where Nm represents the initial number of moles of species m per gram of mixture and the
coefficients b, c, d, e, f , and g are the unknown quantities. For non-rich conditions, it is

472 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

assumed that the equilibrium value of fuel is zero, and hence g = 0. Atom balances for
carbon, hydrogen, and oxygen yield the following expressions:

cartot  nNCn H 2 m  NCO  NCO2  b  c


hydtot  2 mNCn H 2 m  N H 2  N H 2O  2d  2 e (13.138)
oxytot  2 NO2  NCO2  N H 2O  NCO  2b  c  d  2 f .

In order to solve for the five unknowns, two additional equations are needed. Two
equilibrium reactions are used for this purpose. The first, the so-called water-gas shift
reaction, is given by

CO  H 2O  CO2  H 2 , (13.139)

and accounts for the simultaneous presence of CO and H2. The second reaction is

2CO  O2  2CO2 . (13.140)

It can be shown that the equilibrium constants for Equations 13.139 and 13.140 are given
by

 Spo H po  b e
K p  exp    (13.141)
 R RuT  cd
 u 

and

 Sco H co   RuT  b2
Kc  exp     tot  2 , (13.142)
 Ru RuT   patm  c f

respectively. In Equations 13.141 and 13.142 the change in standard state molar entropy
and enthalpy are given by

CONVERGE 2.4 Manual 473


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

SCO  SH  SCO  SH O 
o o o o
Spo

2 2 2

Ru Ru
(13.143)
HCO  H H  HCO  H H O 
o o o o
H po

2 2 2

RuT RuT

for the water-gas shift equilibrium reaction and

2SCO  2SCO  SO 
o o o
Sco

2 2

Ru Ru
(13.144)
2 H  2 HCO  H Oo 2 
o o
H co CO2
 ,
RuT RuT

for Equation 13.140. Furthermore, in Equation 13.142 r tot is the sum of the species densities
for the seven main combustion species (CnH2m, O2, N2, CO2, H2O, CO, and H2).

Equations 13.138, 13.141, and 13.142 include five equations and five unknowns. In order
to solve for the equilibrium coefficients, the above equations were combined to write the
following polynomial for the CO coefficient c:

 hydtot 1  K p  3
1  K p c  1  K p oxytot  3  2K p cartot  2 c 
4

 2 Kc 
 
(13.145)
 hydtot 6  4K p   2  K p  3  
2cartot3
  oxytot  2cartot   tot 
car c    2  car 2 
c   0,
 Kc 
tot
 2 Kc    Kc
  

which is solved in CONVERGE using a Newton-Raphson solver. Once the CO coefficient c


is determined, the other four coefficients can be found through Equations 13.138 and
13.142. These coefficients are then used to determine the equilibrium species densities r *m.

For rich conditions (cartot > oxy tot) it is assumed that only CO, H2, and CnH2m are products
of equilibrium. As a result, b = d = f = 0, and the atom balances yield

474 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

c  oxytot
g  cartot  c  n (13.146)
e  hydtot  2 m g  2

for the remaining coefficient values.

Input Parameters for the CTC Model


The CTC model parameters are located in combust.in. When using the CTC model, you
must activate turbulence modeling (i.e., set turbulence_solver_f lag = 1 in inputs.in).

Shell+CTC Model
A common application of the Shell and CTC models is to implement them concurrently.
The Shell model acts on computational cells that are in the ignition phase and the CTC
model acts on cells that are in the combustion phase. As in Xin et al. (1997), the two
phases are distinguished by the local gas temperature and a delay coefficient f given by
1  e
f  , (13.147)
0.632

where g is a production fraction given by

CO2 ,react   H 2O,react  CO,react   H 2 ,react


  , (13.148)
tot   N2  CO2 ,resid   H 2O,resid

where the subscript react refers to a reactive species, not including any residual or exhaust
gas recirculation (EGR) amounts, and the subscript resid refers to a residual amount. r tot is
the sum of the species densities for the seven active Shell+CTC model species (CnH2m, O2,
N2, CO2, H2O, CO, and H2). Equation 13.148 above represents a ratio of the amount of
products to the amount of reactive species. Note that Equation 13.148 is based on the
assumption that only residual amounts of CO2 and H2O are included in the simulation.

Equation 13.147 represents a measure of combustion completeness and is used in the CTC
model to delay the effect of turbulence on combustion until combustion has proceeded to a
certain point (see Equation 13.119). The f parameter is used in conjunction with a critical
temperature Tchop (ctc_temp_cutof f in combust.in) to determine whether a computational cell
should undergo Shell or CTC calculations. Table 13.12 below presents a definition of both
ignition and combustion phases when the Shell+CTC model is used.

CONVERGE 2.4 Manual 475


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

Table 13.12: Definition of ignition and combustion phases for the Shell+CTC model.
Model Ignition and Combustion Phase Criteria

Shell Tg < Tchop and f £ 0.1

CTC Tg ³ Tchop or f > 0.1

When a cell is in the combustion phase, the radicals R*, B, and Q must be patched to the
products (i.e., CO, CO2, and H2O). This patching happens only once per cell as the radical
species values are set to zero after the patching is complete.

For the non-modified Shell model, the ignition radicals are patched to products in the
proportion proposed by Schapertons and Lee (1985), which yields the following updated
species densities (for CO, CO2, and H2O, respectively):

 n m WCO
CO  rad , (13.149)
 n m WCO  1   n m WCO2  WH 2O

1   n m WCO2
CO2   rad , (13.150)
 n m WCO  1   n m WCO2  WH 2O

and

WH 2O
 H 2O  rad , (13.151)
 n m WCO  1   n m WCO2  WH 2O

where

 rad   R*   Bf  Qf (13.152)


f

is the sum of the radical species densities.

For the modified Shell model, the change in product species as a result of radical patching
can be found from Reaction 7 in Table 13.8 given above. The amount of oxygen O2
needed to convert the radicals to products is given by

476 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

  m  
 2.5  n  2  1  WO2 
O2      rad , (13.153)
 WR*  WB  WQ 
 

where

 rad   R*   Bf  Qf (13.154)


f

is the sum of the final radical species densities (R*f includes the additional N2 formed
during the ignition process  N2 as explained previously). The change in products from
the radical conversion process is given by

2.5n WCO2  rad  O2 


CO2  (13.155)
2.5n WCO2  2.5m WH 2O

and

2.5m WH 2O  rad  O2 


 H 2O  . (13.156)
2.5n WCO2  2.5m WH 2O

The seven species involved in the patching process are modified as follows:

O2  O2  O2


 N2   N2   N2
CO2  CO2  CO2
 H 2O   H 2O   H 2O (13.157)
 R*  0
B  0
Q  0

Input Parameters for the Shell+CTC Model

CONVERGE 2.4 Manual 477


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Shell+CTC Model

The Shell+CTC model parameters are located in combust.in. When using the Shell+CTC
model, you must activate turbulence modeling (i.e., set turbulence_solver_f lag = 1 in
inputs.in).

13.10 RIF Model


Combustion in non-premixed turbulent flow is restricted to relatively thin, molecularly
mixed regions that lie within flammability limits. The interaction of the highly turbulent
flow field with the combustion process is governed by nonlinear chemistry as the
chemistry timescale is much less than the turbulence timescale. The Representative
Interactive Flamelet (RIF) model effectively decouples the solution of the turbulent flow
field and diffusion flamelets.

The RIF concept for non-premixed combustion in CONVERGE is based on a coordinate


transformation that uses the mixture fraction as an independent coordinate. Therefore, it is
possible to transform the balance equations for enthalpy and species into mixture fraction
space, which leads to resolution of the inner structure of the reaction zone in a one-
dimensional calculation.

Flamelet Equations
The mixture fraction (Z) is defined as:

ns
NC _ i WCYi ns N H _ i WHYi
Z  , (13.158)
i1 Wi i1 Wi

where i is the species, ns is the number of species, NC_i, NH_i are the number of Carbon and
Hydrogen atoms respectively in species i, WC, WH are the molecular weights of Carbon and
Hydrogen respectively, Yi is the species mass fraction, and Wi is the molecular weight of
species i.

The first-order flamelet equations have been derived by Peters (1984), where a local
coordinate transformation and boundary layer arguments are used. The resulting
equations for the species mass fraction are:

Yi   2Yi Lei Laminar 


   i , 
 Z2
Le  ˆ ˆ
D/D+Di  Turbulent   1.0
i
t 2Le  (13.159)
i 

and the temperature

478 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |RIF Model

(13.160)
T  T
2
  ns
cpi Yi cp  T 1  p  ns
           i hi 
t 2 Z 2
2cp  i1 Lei Z Z  Z cp  t i1 

are obtained. In the Equations 13.159 and 13.160, ns denotes the number of chemical
species, cp is the heat capacity at constant pressure, Yi is the mass fraction of the chemical
species i, hi is the enthalpy of the chemical species i, i is the net chemical production
 is the Lewis number of
rate, Di is the diffusivity, D̂ is the turbulent diffusivity, and Lei

species i. For simulations that include RIF, CONVERGE sets the Lewis number to 1 for all
species.

A characteristic of Equations 13.159 and 13.160 is that after the transformation into
mixture fraction (Z) space, the convective terms disappear. Since all the scalars are
convected with the same velocity in physical space, no relative convective velocities exist
between the mixture fraction and the other scalars, such as species mass fractions or
temperature. Coupling the equations in phase space to the flow field in physical space
occurs through the pressure and scalar dissipation rate.

(13.161)
1
Yi ( xi ,t)   P (Z ; xi ,t)Yi Z ,t dZ
0

Governing Equations of Mixture Fraction


The RIF model is based on the presumed probability density function (PDF) approach
described later in this section. The RIF model requires knowledge of the Favre mean

mixture fraction Z and its variance Z2 in space and time. The conservation equations for
the mean and the variance of the mixture fraction are given by


  Z (13.162)
 
  uiZ    u
iZ  SRIF
t xi xi

where

Z (13.163)

uiZ  Dt
xi

CONVERGE 2.4 Manual 479


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |RIF Model

and


  Z2 
    
Z
Z 
  i  x  i   i x  

    
    
    . (13.164)
2 2
u u Z 2 u Z
t xi i i

In Equations 13.162 to 13.164,  is the density, xi is the space coordinate, t is time, SRIF is

the source term, Dt is the turbulent diffusivity and  is the scalar dissipation rate and can

be modeled as

 2 (13.165)
  c Z .
k

where  is the turbulent dissipation, k is the turbulent kinetic energy and cc is a time
scale ratio. cc is assumed to be a constant. In CONVERGE the default value for cc is set to
2.0. The scalar dissipation rate  is calculated from the flow solver of CONVERGE and
then is integrated along flamelet surface.

The scalar dissipation rate conditioned on stoichiometric mixture fraction is obtained by


the following expression:

 x , t    f Zst  (13.166)
 st 1
,
 Z; x , t dZ
f Z P
0

where P Z; x , t  is the probability density function and

f Z   exp 2  erf c1 2Z  . (13.167)


2

The surface averaged value for scalar dissipation rate at the stoichiometric mixture fraction
can be derived as follows:

480 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |RIF Model

 
  x  st  Z dV
3/2 (13.168)
x P st

ˆ st  V   1/2   ,
  x   st x  P Zst  dV
V

where Zst is fuel mass fraction at equivalence ratio=1.0 and V is the volume of the entire
computational domain.

Multiple Flamelets Theory


In unsteady flamelet modeling, the history of the scalar dissipation rate and the boundary
conditions determine the solution of a flamelet, with the consequence that different
flamelet histories must be calculated if these parameters vary too much in the physical
domain. The scalar dissipation rate (  ) is not uniform during spray injection and droplet
vaporization process. Therefore, multiple flamelets are used for the spatial inhomogeneity
of c (Barths et al., 1998).

  
 Il x  x  st  Z dV (13.169)
3/2
x P st

ˆ st l   V ,
 x   x   1/2 x P Z dV
 I l st st
V

where,

Zl (13.170)
Il (x , t)  ,
 Zl

here, Zl is the mixture fraction corresponding to each flamelet, l can vary from 0 to number
of flamelets.

For multiple flamelet simulations, the first flamelet is initialized at the start of the spray
(start_inject in spray.in). In engine simulations, additional flamelets are initialized at
intervals of 0.5 degree crank angle.

RIF Model and CFD Solver Interaction


The energy conservation equation is solved to get temperature of CFD cells. Figure 13.18
shows how the flow solver and the flamelet code interact. From the turbulent flow and
mixing field the domain averaged flamelet parameters, scalar dissipation rate conditioned
on stoichiometric mixture cst and the pressure, p, are extracted. They are transferred to the
flamelet code (RIF model) at each CFD time-step (n). The flamelet code computes the

CONVERGE 2.4 Manual 481


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |RIF Model

solution of the flamelet equations for the species mass fractions and the temperature as
given in Equations 13.159 and 13.160 for the next time-step (n+1), resolving the chemical
timescales by subcycling the time-step applied by the CFD code. Weighting this solution
with a presumed probability density function as a function of the mixture fraction and the
the mixture fraction variance leads to turbulent mean values for the species mass fractions
in physical space. Species transport and the energy equation are then solved to get the
updated mass fractions of all the species and the cell temperature.

Figure 13.18 A schematic of the Representative Interactive Flamelet concept by Peters


(2000).

Figure 13.19 shows the coupling of the RIF model with the order of solution of transport
equations (Refer Figure 5.5) in CONVERGE. The species mass fractions from the flamelet
code (RIF model) act as sources for the species equations. The transport equations for mean
mixture fraction and its variance ( Z and Z 2 , respectively) are solved as passives. These
are used to calculate the scalar dissipation rate and the pressure which is fed back to the
flamelet code (RIF model).

To provide the RIF model with values for the Favre mean mixture fraction ( Z ) and its

variance ( Z2 ), you must define passives for both of these values. You must also define a
passive for each flamelet to be included in the RIF model. To define these passives, include

482 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |RIF Model

the following names, followed by a Schmidt number (0.78 is recommended), under the
PASSIVE section in the species.in file:

.
.
PASSIVE
RIF_ZMEAN 0.78
RIF_ZVAR 0.78
RIF_FLMT_ZMEAN# 0.78
Figure 13.19 An excerpt of species.in showing passive inputs for RIF parameters..

Include one instance of RIF_FLMT_ZMEAN# for each flamelet you are including in the RIF
model. Specify the number of flamelets using the num_rif _f lamelets parameter. The # in the
RIF_FLMT_ZMEAN# is a counter for the number of the flamelet.

Figure 13.20 below describes the coupling process between the RIF model and the PISO
loop.

Figure 13.20 A schematic of the CONVERGE PISO Loop coupling with RIF Model.

CONVERGE 2.4 Manual 483


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |RIF Model

Presumed Shape Probability Density Function Approach


Equations 13.164 - 13.170 in the previous sections are used to calculate the mean mixture
fraction and the mixture fraction variance at each point of the turbulent flow field.
Equations for the turbulent flow field, the Reynolds stress equations (or the equation for
the turbulent kinetic energy, k ), and the equation for the dissipation,  , are solved.

In this approach, a suitable two-parameter probability density function (PDF) is presumed


in advance, thereby fixing the functional form of the PDF by relating the two parameters
to known values of Z and Z 2 at each point of the flow field.

Beta Function Probability Density Function Approach


In a two-feed system, the mixture fraction Z varies between Z=0 and Z=1, so the beta
function PDF is commonly used for the Favre PDF in non-premixed turbulent combustion.
The beta function has the form

 1
Z 1 1  Z  (13.171)
P Z; x , t        ,
    

where G is a gamma function. The two parameters a and b are related to the Favre mean

and variance by Z and Z2 by

  Z  (13.172)

  1  Z  ,

where

Z 1  Z  (13.173)
   1  0.

Z2

Using the presumed PDF approach, mean values of any quantity that depends only on the
mixture fraction can be calculated. For instance, the mean value of yi can be obtained from

1
(13.174)
 i (x , t)   i Z, t P Z; x , t dZ.
0

484 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |RIF Model

Clipped Gaussian PDF Approach


In a β-PDF (probability density function), singularity might be met when Z=0 and Z=1 and
therefore the probability is finite only in the allowable range of mixture fraction. Using a
clipped Gaussian PDF can avoid singularity which contains a Gaussian distribution for the
turbulent region 0 < Z < 1 and Dirac delta functions for the intermittent appearance of
unmixed fluids at Z=0 and Z=1. In the Favre form, the clipped Gaussian PDF is given by

G(Z) (13.175)
P(Z)  a1 (Z)  (1  a1  a2 )  a2 (1  Z),
IG

where d (Z-Z0) is the Dirac delta function centered in Z = Z0, whose integral is unity if Z =
Z0 and is zero otherwise. The parameter IG is defined as

1
(13.176)
IG   G(Z)dZ.
0

The unknown free parameters a1 and a2 and the variance of the Gaussian distribution, g,

are a function of the mean value of Z and the variance of the mixture fraction Z2 . These
parameters and variance can be evaluated using the computationally inexpensive method
suggested by Cleary (2004).

Input Parameters for the RIF Model


The RIF model parameters are located in combust.in.

13.11 Surface Chemistry Model


CONVERGE has a surface chemistry model that can simulate heterogeneous reactions
between a solid surface and an adjacent gas (e.g., adsorption or desorption). You can
simulate surface chemistry on two types of surfaces: a non-moving WALL boundary that
is specified in boundary.in or a porous medium that is specified as a region in initialize.in.

The surface chemistry model calculates the gas phase chemistry only with the SAGE
detailed chemistry solver (with or without adaptive zoning to accelerate the SAGE solver).
You cannot use most of the other combustion models or other physical models (e.g.,
radiation modeling or film modeling) in conjunction with surface chemistry modeling,
although you can use CHT with surface chemistry.

CONVERGE uses an empty site convention for surface chemistry in which the empty site
is considered a species. With adsorption, the gas species replaces the empty surface site.
With desorption, the empty site replaces the surface species as it becomes a gas. Since

CONVERGE 2.4 Manual 485


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Surface Chemistry Model

CONVERGE assumes the thermal contribution of surface adsorbents is negligible, it does


not contribute to the energy conservation (Equation 13.29).

To model surface chemistry, CONVERGE uses a segregated two-step calculation process,


which is shown in Figure 13.21. First, CONVERGE calculates the gas phase chemistry,
which yields new gas phase mass fraction and temperature data. These new values, in
addition to the solid phase coverage fraction data, are used as inputs for the solid phase
chemistry calculations. Finally, CONVERGE updates all of the mass fraction, coverage
fraction, and temperature data.

486 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Surface Chemistry Model

13.11.1Theory

Figure 13.21: The two-step surface chemistry process in which Yg is the gas phase mass fraction and
θ is the solid phase species coverage fraction, respectively.

CONVERGE calculates the production rate for the gas species using Equations 13.19 to
13.22 during the gas phase chemistry step.

In the solid phase chemistry step, CONVERGE uses the updated gas mass fractions and
temperature values along with the solid species coverage fractions as input.

CONVERGE 2.4 Manual 487


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Surface Chemistry Model

Note that surface (solid) species are considered to be negligible in the calculation of
enthalpy since surface species thermos are unknown. Thus, the governing equations for
mass and energy remain the same as for the gas phase. Similar to the caveats for while
solving for temperature during general combustion in the SAGE detailed chemistry solver,
it is important to note that the temperature obtained from Equation 13.22 is used to update
only the rate coefficients rather than to update the CONVERGE cell temperature. The cell
temperature is updated after the detailed chemistry calculation has converged using the
computed species concentrations. In order to expedite the detailed chemistry calculations,
kinetics are not solved in cells that fall below a minimum cell temperature (Tcut as specified
as surf chem_temp_cutof f in surf ace_chemistry.in).

Given a gas/solid reaction

A(g )  B(s)  C(s) (13.177)


,

CONVERGE calculates the production rate for the solid species B(s) and C(s) as

d B
B  (13.178)
dt

and

dC
C  (13.179)
dt ,

respectively, in which θ is a unitless coverage fraction. Because θ is a conserved quantity,

 j  1 (13.180)
j 1

for each surface species j. We define the surface coverage of species j as

[X j ] j
j  , (13.181)
s

j
in which [Xj ] is the molar concentration of species j (moles/cm2), is the number of
s
surface sites for species j, and is the surface site density (mol/cm2).

488 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Surface Chemistry Model

For solid phase chemistry, CONVERGE calculates the production rate for the gas in the
cell as

d[X A ]  A
A   rA   F (13.182)
dt V ,

in which rA is the reaction rate defined in Equation 13.183, F is the user-specified washcoat
factor, η is the user-specified effectiveness factor (refer to the Effectiveness Factor section
A
for more information), and V is the area of the catalytic surface divided by the volume of
the gas phase in the cell. For boundary cases, CONVERGE computes A/V with the cell
A
properties, and for porous region cases, you specify V as the effective surface-to-volume
ratio. The reaction rate for the gas species is

rA   k f r [X A ] B , (13.183)

in which kf r is the forward rate coefficient. There are two types of forward reaction rate
calculations for surface chemistry, which are shown below in the Reaction Options
section. The CVODES solver (SUNDIALS, 2015) uses Equations 13.178, 13.179, and 13.182
to calculate the final Yg", θ", and T"values.

CONVERGE considers the production and consumption of gas phase species at the surface
to be a source term, SA , given as

tt
1
SA 
t  A MWA dt (13.184)
t

in which MWA is the molecular weight of species A(g). By subcycling the time-step, Δt,
CONVERGE approximates the source term as

Yg  Yg
SA   g (13.185)
t ,

CONVERGE solves the species transport equation with the resulting SA value.

The surface chemistry reaction rate is a strong function of surface area or cell volume. For
most applications, the chemistry will reach steady state and thus changing the mesh

CONVERGE 2.4 Manual 489


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Surface Chemistry Model

resolution inside a porous region or near the surface chemistry surface during the
simulation will introduce fluctuations to both species and temperature. You can avoid this
problem by using a fixed grid.
13.11.2Reaction Options
When calculating the forward reaction rate in the solid phase, there are two reaction
options available: coverage-dependent or sticking probability. For the coverage-dependent
reaction option, CONVERGE calculates the activation energy to determine the reaction
rate. For the sticking reaction option, CONVERGE calculates the sticking coefficient to
determine the reaction rate. The surf ace_mech.dat section describes the keywords for these
options. Note that surface chemistry supports the FORD and USER options.
Coverage-Dependent (COV) Reaction Option
Gas phase species that adsorb onto the surface can change the behavior of a surface
reaction. CONVERGE computes the forward rate coefficient in a solid phase reaction as
the coverage-dependent Arrhenius expression:

 Er ,i  J   ji [ j (n)]
  10
 ji [ j (n )] 
k f r ,i  AiT i exp   [ j (n)] ji exp    (13.186)
 RT  j 1  RT 
,

 j i ,  j i , and  j i
in which are user-specified parameters. For a surface reaction i to be
coverage dependent on multiple surface species j, you must list the three coverage
parameters for each species. CONVERGE solves for the net pre-exponential factor, A i, via

J
log Ai  log A0    ji [ j (n)] (13.187)
j 1
,

in which A 0 is a user-specified parameter. CONVERGE solves for the activation energy,


Er,i, via

J
Er ,i  E0    ji [ j (n)] (13.188)
j 1

in which E0 is a user-specified parameter.

490 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Surface Chemistry Model

Sticking Reaction (STICK) Option


For the sticking reaction option, CONVERGE computes the forward rate coefficients in

solid phase reactions in terms of sticking coefficients i . Sticking coefficients quantify the
probability that a gas molecule adsorbs when hitting the surface. We define the sticking
coefficients, which are between 0 and 1, as

 ci 
 i  aiT bi exp   , (13.189)
 RT 

in which ai, bi, and ci, are user-specified parameters. The sticking coefficients are
temperature dependent and increase with surface area.

We convert from a unitless sticking coefficient to a forward kinetic rate coefficient:

 j
 'ji

j 1 RT
k f r ,i   i (13.190)
 tot 
y
2 MW j

'
in which j i is the reaction order for that surface species in reaction i and y is the sum of
all the stoichiometric coefficients of surface species reactants.

Motz and Wise (1960) showed that Equation 13.190 becomes less accurate when the
sticking coefficient is close to unity. They proposed the following correction to the forward
rate coefficient:

    j 'ji
 i  j 1 RT
k f r ,i   (13.191)
 y
2 MW j
 1 i  tot 
 2 

You may wish to activate the Motz-Wise correction factor if your simulation has a sticking
coefficient near one. Refer to the surf ace_mech.dat section for details.
Reverse Reaction Rate
Similar to the gas phase reactions described in the Reaction Mechanism Input File section,
you can specify the Arrhenius coefficients for the reverse reaction with the keyword REV.
The forward and reverse rate coefficients are proportional to one another, and their
proportionality constant is equal to the equilibrium coefficient, Kcr. The equilibrium

CONVERGE 2.4 Manual 491


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Surface Chemistry Model

coefficient for surface reactions accounts for both solid and gas phase species with the
following relationship:

M J
  mr
 ji
 P m 1
N J

 (s ) j 1  j
  ji
Kcr   atm  o 
K pr (13.192)
 RT  n 1 j 1

in which Patm is the atmospheric pressure, R is the gas constant, T is the temperature, and
 j i
j
is the user-specified surface site occupancy of surface species j. Equation 13.31
defines the gas equilibrium constant, Kpr. In Equation 13.192, the first summation is over
the gas phase species and the second summation over the surface species j of surface site
type n. CONVERGE updates the surface species concentrations, gas species
concentrations, and temperature.

Note that surface chemistry supports the FORD and USER options.
13.11.3Effectiveness Factor
The effectiveness factor η in Equation 13.182 accounts for diffusion through the washcoat
to the catalyst and can range from 0 to 1. In a thin (i.e., a few mm) washcoat, the gas
species diffusion into the catalyst sites may be fast, and thus you can consider the
effectiveness factor to be one. In a thick washcoat, the gas species diffusion is slower and η
is less than one. The surf ace_chemistry.in section describes how to activate the effectiveness
factor calculation.

CONVERGE solves for the effectiveness factor

tanh 
 (13.193)

using the Thiele modulus (Deutschmann et al., 2014)

j F
 L (13.194)
Dj , ef f c j L
.

In Equation 13.194, F is the user-specified washcoat factor, L is the user-specified washcoat


thickness and Dj ,ef f is the effective diffusion coefficient for the user-specified surface species
j. CONVERGE solves for the effective diffusion coefficient via

492 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Surface Chemistry Model

p
Def f  Dj (13.195)
 ,

in which εp is the user-specified washcoat porosity and τ is the user-specified washcoat


Dj
tortuosity. The mixed diffusion coefficient, , is defined as

1 1 1
  (13.196)
Dj Dmol Dknud , j

To solve for the mixed diffusion coefficient, CONVERGE calculates the Knudsen diffusion
coefficient as

 p dp 8RT
Dknud , j  c (13.197)
 3  MW j

where both c is a constant and D is the molecular diffusion coefficient (specified using the
species_dif f usion_model parameter in inputs.in).

In Equation 13.197, dp is the user-specified pore diameter. CONVERGE calculates the


molecular diffusion coefficient using the CONVERGE-calculated viscosity υ of the cell and
the Schmidt number Sc.

13.12 Adaptive Zoning


CONVERGE includes adaptive zoning (Babajimopoulos et al. (2005), which accelerates the
chemistry calculations by grouping together similar computational cells and then invoking
the chemistry solver once per group rather than once per cell. Adaptive zoning was
implemented jointly by Convergent Science and Lawrence Livermore National
Laboratory.

General Procedure
At any given time t, each cell is at some thermodynamic state. Based on the
thermodynamic states of the cells, CONVERGE groups the cells into zones. The
thermodynamic state of each zone is based on the average temperature and composition of
all of the cells in that zone. CONVERGE invokes the chemistry solver once on each zone.

The chemical kinetic equations for a closed-volume homogeneous reactor of each zone can
be written as

CONVERGE 2.4 Manual 493


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Adaptive Zoning

Yk k Wk
 k  1,..., K  (13.198)
t zone  zone

and

T 1 K

t

 cv
 k Wk ek , (13.199)
zone k 1 zone

where k is the production/consumption rate of species k; Wk and ek are the molecular
weight and the specific internal energy of the species k, respectively; and c is the constant
volume specific heat of the gas mixture. All of these quantities are zone-based values. Each
zone is allowed to react from time t to t+Dt. Once the new zone composition is obtained,
CONVERGE maps the zonal temperatures and mass fractions to the computational cells
such that temperature and composition non-uniformities are preserved. The mapping
strategy, which is described below in the Mapping Strategy section, is critical to ensure the
quality of the solution.

Zoning Strategy
When adaptive zoning is active, CONVERGE groups cells into zones (also known as bins).
Figure 13.22 below shows an example of the zoning process. It is important to note that
the zoning strategy in CONVERGE is similar but not identical to the strategy of
Babajimopoulos et al. (2005).

494 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Adaptive Zoning

Figure 13.22: An example zoning process based on


temperature and progress equivalence ratio.

CONVERGE has a multi-dimensional zoning strategy, which means different variables can
be specified for the zoning process. Temperature and progress equivalence ratio (defined
below) are required. You can select additional variables (pressure, total equivalence ratio,
the cube root of the mass fraction of a specified species) if desired. The number of variables
is the number of dimensions of the zoning strategy. In general a two-dimensional
(temperature and progress equivalence ratio) zoning strategy works well for single fuel
simulations. A higher-dimension strategy may be required for multi-fuel applications.
Specify the zoning strategy variables via the adaptive_zone_bin_* parameters.

Note that cells that belong to different regions are automatically placed in different zones.

The progress equivalence ratio, j , and the total equivalence ratio, j t , are given as

CONVERGE 2.4 Manual 495


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Adaptive Zoning

H #H 2O
2C #
CO2 
 2
#
O CO2  H 2O
(13.200)
H#
2C  #

t  2 ,
#
O

#
where C# is the number of carbon atoms, H# is the number of hydrogen atoms, CCO2 is the
#
number of carbon atoms excluding CO2, and H  H 2O is the number of hydrogen atoms
excluding H2O. Progress equivalence ratio is preferable to total equivalence ratio as the
progress ratio tracks the progress of the reactions.

In CONVERGE, the number of zones is not predetermined. Instead, the number of zones
varies dynamically with the stratification of the flow field parameters. The mass of each
zone is non-uniform as the cells are distributed non-uniformly.

The accuracy of SAGE with adaptive zoning depends on the user-supplied zone sizes.
Accuracy increases as the zone size is reduced, but the computational effort increases.
There are two methods to specify bin sizes. You can have some variables with one bin size
method and other variables with the other bin size method.

The first option is a fixed bin size. For example, you could have a fixed temperature bin
size of 10 K or a fixed progress equivalence ratio bin size of 0.1. The second option is a
variable bin size, where the bin size can vary as a function of the bin variable. You can use
the second option, for example, to refine the zones in the temperature range in which
combustion is most important. When appropriately configured, a variable bin size saves
computational time compared to a fixed (fine) bin size for the entire temperature range.
The bin size options are controlled by adaptive_zone_bin_* in combust.in.

Mapping Strategy
For adaptive zoning, CONVERGE uses the mapping technique outlined by
Babajimopoulos et al. (2005). This mapping is based on the ch value of the individual cells
in the zone. The ch value of an individual cell is defined as

H #H 2O
chcell  2C #
CO2  , (13.201)
2

496 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Adaptive Zoning

# #
where CCO2 is the number of carbon atoms excluding CO2 and H  H 2O is the number of
hydrogen atoms excluding H2O. CONVERGE calculates the ch value for each cell and
each zone before starting the zonal chemical calculations. The sum of all the ch values of
the individual cells (chcell) in a zone will be equal to the ch value of the zone (chzone).

CONVERGE uses the following equation to calculate all the individual species except CO2,
H2O, O2, and N2L:

chcell
mk ,cell  m k , zone . (13.202)
chzone

CONVERGE attempts to conserve the carbon, hydrogen, and oxygen atoms in each cell by
readjusting the mass of CO2, H2O, and O2 as follows:

mk ,cell mCO2 ,cell


 Wk
ck 
WCO2
 Ccell
#
, (13.203)
k

mk ,cell mH O,cell
 Wk
hk  2 2
WH 2O
 H cell
#
, (13.204)
k

and

mk ,cell mO ,cell
 Wk
ok  2 2  Ocell
WO2
#
, (13.205)
k

where mk,cell is the mass of species k in a cell; ck, hk, and ok are the number of carbon,
# # #
hydrogen, and oxygen atoms in species k; and Ccell , H cell , and Ocell are the number of
moles of carbon atoms, hydrogen atoms and oxygen atoms in a given cell. The total mass
in an individual cell is conserved by readjusting the mass of the remaining N2.

For improved NOx predictions, CONVERGE allows mapping based on nitrogen atoms.
The adaptive_zone_nox_f lag parameter in combust.in controls this option.

Input Parameters for Adaptive Zoning


The adaptive zoning parameters are located in combust.in.

CONVERGE 2.4 Manual 497


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Combustion-Related Output

13.13 Combustion-Related Output


Mixture Fraction
CONVERGE will calculate the mixture fraction if mix_f rac_f lag = 1 in combust.in. The
mixture fraction is calculated from

ns
NC _ i WCYi ns N H _ i WH Yi
Z  , (21.1)
i1 Wi i1 Wi

where i is the species; ns is the number of species; NC_i and NH_i are the number of carbon
and hydrogen atoms, respectively, in species i; WC and WH are the molecular weights of
carbon and hydrogen, respectively; Yi is the species mass fraction; and Wi is the molecular
weight of species i.

CONVERGE will calculate the mixture fraction variance if mix_f rac_var_f lag = 1 in
combust.in. The mixture fraction variance is calculated as

2
    t Z2  2 t  Z 
 Z   ui Z      .
2 2
  (21.2)
t xi xi  Sct xi  Sct  xi 

The scalar dissipation, c , is modeled by

 2
  c Z , (21.3)
k

where cc is a model constant (mix_f rac_c_chi) in combust.in. Note that, if you set
mix_f rac_var_f lag = 1, you must include a passive called mix_f rac_var in species.in.

Post-Processing Parameters
CONVERGE will keep track of the hydrocarbon species and CO, H, and H2 if you include
the keyword hc in species.in as a non-transport passive. Figure 13.23 below shows an
example excerpt of species.in.

.
.
PASSIVE
hiroy_soot 0.78 passive name, schmidt number
nox 0.78 passive name, schmidt number
PASSIVE_NT
hc

498 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Combustion-Related Output

Figure 13.23 Excerpt of species.in that includes a non-transport passive for hydrocarbons (hc).

CONVERGE will write all relevant output quantities (mass, mean and standard deviation)
for the hydrocarbons to passive.out. To generate cell-by-cell information related to
hydrocarbons, define hc as passive(<passive name>) in post.in. Figure 13.24 below shows an
excerpt of a post.in file.

.
.
passive(hc)
.
.
Figure 13.24 An excerpt of post.in showing non-transport passive inputs for hydrocarbon.

In G-Equation simulations, you can generate cell-by-cell information related to the value of
G by including the the keyword passive(G_EQN) in the post.in file.

13.14 Combustion Time-Step Control


CONVERGE allows you to specify a variable time-step based on combustion. If the ignition
or combustion model is active, the maximum time-step for combustion is given by

 T 
dt _ chem  dt * min   * mult _ dt _ chem, (13.206)
 T 

where dt is the current time-step, mult_dt_chem is a user-specified multiplier given in


inputs.in, T is the initial cell temperature for the current time-step, and DT is the change in
cell temperature due to combustion.

13.15 Zero-Dimensional Combustion Utilities


CONVERGE offers three zero-dimensional utility tools :

1. Constant volume zero-dimensional (autoignition) simulations


2. Sensitivity analysis and adjoint sensitivity analysis
3. Mechanism reduction

Unlike a typical CONVERGE simulation, these zero-dimensional utility tools do not need
boundary information, surface file geometry, or other model inputs for turbulence, spray,
and combustion.

The format for a serial execution of a zero-dimensional calculation is:

converge <argument>

CONVERGE 2.4 Manual 499


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Zero-Dimensional Combustion Utilities

A sample command for a parallel execution (using 16 processors) of a zero-dimensional


case is:

mpiexec –n 16 converge <argument>

Type the relevant argument for calculation of ignition delay (zerod) or reduction of
reaction mechanisms (reduction) in the command line. These options are discussed in the
following two sections.

Use the Chemistry module in CONVERGE Studio to configure the input and data files that
CONVERGE will use for zero-dimensional combustion utility tools. Access the Chemistry
module by clicking the molecule button ( ) in the lower-left corner of CONVERGE
Studio's main window.
13.15.1Autoignition (Zero-Dimensional Calculations)
In an engine simulation, ignition delay is defined as the time between the start of injection
and the start of combustion, which is indicated in a simulation as a detectable heat
release.

In the autoignition utility, CONVERGE generates ignition delay data for different
combinations of temperature, pressure, and equivalence ratio of fuel mixture. To use this
utility, you must first save input data in two files: zero_d_cases.in and zero_d_solver.in.
CONVERGE will use these files to generate ignition delay data in ignition_delay.dat. In this
autoignition tool, CONVERGE allows the combustible species to react exothermically in a
constant-volume bomb. The time required for the temperature to increase by 400 K from its
initial value is defined in CONVERGE as ignition delay, which is shown below in Figure
13.25.

500 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Zero-Dimensional Combustion Utilities

Figure 13.25: Ignition delay calculation in CONVERGE.

You can use a chemical equilibrium (CEQ) solver with the autoignition utility to predict
species concentrations at equilibrium. The zero-dimensional CEQ solver uses the same
approach as that of the CEQ combustion model in CONVERGE (Pope, 2003). You can
enforce either constant enthalpy and pressure or constant temperature and pressure (via
ceq_constant_enth_pres and ceq_constant_temp_pres, respectively, in zero_d_cases.in). This
utility writes the results of a zero-dimensional CEQ simulation (species concentrations at
equilibrium in mass fraction and mole fraction format) to zero_d_sol_case#.out.

The format for a serial execution of a zero-dimensional ignition delay calculation is:

<converge executable> zerod

where <converge executable> is the name of the CONVERGE executable.

A sample command for a parallel execution (using 16 processors) of a zero-dimensional


autoignition simulation is:

mpiexec –n 16 converge zerod

CONVERGE 2.4 Manual 501


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Zero-Dimensional Combustion Utilities

In the zero_d_cases.in input file, specify the initial conditions of temperature, pressure, and
the species as outlined in Chapter 22. Repeat all of these parameters for each case in
zero_d_cases.in. Separate the groups of parameters for each case with an empty line.

The time for integration you specify via zero_d_end_time may not be the numerical upper
time limit for integration, especially in cases when you have specified a time much greater
than the ignition delay. CONVERGE cuts off this upper time-limit at the moment when the
temperature no longer increases (close to equilibrium). CONVERGE re-normalizes the mole
fractions internally, so you do not need to ensure that the sum of mole fractions of the
reactants be unity.

The controls for the numerics to calculate the ignition delay are set in zero_d_solver.in.
Specify the nature of the solver, the tolerance values, the input and output format (mass or
mole fraction), and more as shown in Chapter 22.
13.15.2Zero-Dimensional Adjoint Sensitivity Analysis
While sensitivity analysis (SENS) writes sensitivity data for all species for all time steps
internal to the CVODES code, adjoint sensitivity analysis (ASENS) provides data at the last
time step or at ignition time for the species specified. Since it captures less data, ASENS is
about an order of magnitude faster than SENS. ASENS is useful when running ignition
delay simulations, but note that ASENS cannot be run with double ignition delay.

To activate ASENS, set the zero_d_sensitivity_f lag = 1 in zero_d_solver.in. List the number of
variables for which you want to perform ASENS using zero_num_asens_variables (in
zero_d_solver.in), then list the variables (species and/or temperature). Note that if you set
zero_num_asens_variables = 0, the solver will automatically perform ASENS for
temperature. You must tune the ASENS tolerance (zero_d_asens_rel_tol and
zero_d_asens_abs_tol in zero_d_solver.in) to avoid a CVODES error. Recommended values
are listed in Chapter 22.

 y (t0 )  y 0
Given that y  f (t, y ) and , let g  g (t, y , p ) be a derived function of the
solution. If we want to evaluate the sensitivity of this function with respect to the
parameters at a given time tf , we must solve

*
 f 
      (13.207)
 y 

with the initial condition

502 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Zero-Dimensional Combustion Utilities

*
 g 
 (t f )    (13.208)
 y t t f
.

Integrating backwards from t = tf to t = 0, we get

tf
dg (t f )
  (t0 )s (t0 )  g p (t f )    * f p dt
*
(13.209)
dx t0

To obtain the sensitivity of temperature with respect to the parameters, the function g
becomes temperature, and Equation (13.209) = {0,0,0,...1}. That is, the derivative of g with
respect to the species concentrations is zero, and with respect to temperature is one. When

tf
dg (t f )
 
*
f p dt (13.210)
dx t0

the sensitivity matrix is a zero matrix at time t = t0 and the derived function g is not a
function of the parameter p.

Adjoint sensitivity analysis will write zero_d_asens.out, zero_d_asens_rank.out and


zero_d_asens_case#.out.
13.15.3Zero-Dimensional Sensitivity Analysis
Given a general chemical reaction

ABC , (13.211)

we can define the total reaction rate, r, as

r  P(K f cA cB  KbcC ) (13.212)


,

in which K and K are the forward and backward reaction rates, respectively; P is the
f b
sensitivity parameter; and c is the concentration of the reaction species. A reaction’s
sensitivity parameter is proportional to the reaction rate. As the concentrations change, the
sensitivity parameter changes. CONVERGE quantifies the rate at which this change occurs
as the sensitivity coefficient, Sij , and calculates it as

CONVERGE 2.4 Manual 503


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Zero-Dimensional Combustion Utilities

dZj
Sij  (13.213)
dPi

in which Zj is a matrix of all concentration and temperature output values from a zero-
dimensional simulation. The zero-dimensional sensitivity analysis utility ranks the
sensitivity coefficients for each case that is listed in zero_d_cases.in. If you know the
sensitivity coefficient for each reaction, you can quantify how each reactions affects the
resulting concentrations and temperature and adjust the reaction rates in the reaction
mechanism file to improve your simulation results.

To set up the sensitivity analysis in CONVERGE, set zero_d_sensitivity_f lag = 2 in


zero_d_solver.in. You can apply the sensitivity analysis option to either none or all of the
zero-dimensional cases and use it along with either constant pressure (CONP) or constant
volume (CONV) cases. When you run the zero-dimensional simulation (refer to the Zero-
Dimensional Combustion Utilities section) with sensitivity analysis, CONVERGE writes the
sensitivity coefficient matrix at each time-step to sens<case>.out in which <case> is the 0D
case number from zero_d_cases.in. The sensitivity analysis runs on all species and the
TEMPERATURE for each reaction in a SENS case. If the reaction mechanism is large, the
sensitivity analysis will be computationally expensive.

To post-process the sens<case>.out files(s), use the sens_convert utility.


Post-Processing Senstivity Output
Sens Convert
Use the sens_convert utility to normalize the sensitivity coefficient matrix values (contained
in the sens<caseID>.out files created by the 0D combustion utility when
zero_d_sensitivity_f lag = 2 in zero_d_solver.in) by the maximum Zj value for the entire
simulation.

The utility creates output# folders, each of which contains three files for each species:
sens<case>_var<num>_<name>.out,
sens<case>_var<num>_<name>_neg.out, and
sens<case>_var<num>_<name>_pos.out,

where # in output# folder and <case> in the file name represents the 0D case number,
while <num> represents the variable number from species_inf o.dat and <name> is the
variable name.

In the command line, go to the output directory and type sens_convert. CONVERGE will
prompt you as follows:

504 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Zero-Dimensional Combustion Utilities

1. Select which output files to convert. The utility lists all sens* files in a numbered list, an
example of which follows:
[1]: sens0.out
[2]: sens1.out
[3]: sens2.out
[4]: sens3.out
[5]: sens4.out
The utility will prompt you for the files to convert. To select specific file(s), enter the file
number(s) (e.g., in the example above, enter 1,3-5 to convert all files except [2]). To
select files at a specified frequency, enter the number of the first file in the range, the
selection frequency, and the number of the last file in the range, separated by colons,
(e.g., in the example above, enter 1:2:5 to convert files [1], [3], and [5]). You can also
enter the keywords all, first, or last.

2. Select which variables to convert. The sens_convert utility will list all of the variables
in the species_inf o.dat file to be converted and prompt you to select the variable(s) to be
included in the converted files. Enter the variable numbers.

13.16 One-Dimensional Combustion Utilities


CONVERGE includes a premixed laminar flamespeed calculation model at constant
pressure. This model calculates the flamespeed of the combustion reaction using a freely
propagating flame. Similar to an ideal case setup to measure flamespeed, CONVERGE
models the 1D flame in a channel with fixed cross-sectional area. You must specify the
unburned fuel/oxidizer composition and temperature along with the channel pressure.
Note that in CONVERGE 2.3, there was only one approach for calculating the flamespeed:
the stand-alone Newton solver. In CONVERGE 2.4, there are three approaches for
calculating the flamespeed.

· Stand-alone steady-state solver (Newton's method)


· PISO solver: calculation using the CONVERGE CFD solver in 1D
· A hybrid of the above approaches

Stand-Alone Steady-State Solver (Newton's Method)


CONVERGE solves for the burned fuel/oxidizer composition and temperature with the
species and energy conservation equations using Newton’s method. The species
conservation equation is

 dYk  d( AYkVk )  S  0


M (13.214)
dx dx

CONVERGE 2.4 Manual 505


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |One-Dimensional Combustion Utilities

in which Yk is the species mass fraction of the kth species, ρ is the density, Vk is the
diffusion velocity of the kth species, A is the constant cross-sectional area of the channel,
 
and S is the source term. We define the mass flow rate, M , as

   uA
M (13.215)

in which u is the flamespeed. The energy conservation equation is

 dT  1 d   A dT   A dT 
M 
dx cp dx 

dx  cp
 YkVk cpk
dx
S  0 (13.216)

in which T is the temperature, λ is the thermal conductivity of the mixture, cpk is the
constant-pressure heat capacity of the kth species, and cp is the constant-pressure heat
capacity of the mixture. We define the flamespeed calculation model to have no heat loss.
CONVERGE iteratively solves Equations 13.214 and 13.216 for values of Yk and T until the
user-defined tolerance is met.

Table 13.13 describes the parameters that control the Newton solver.

PISO Solver: CONVERGE CFD Solver in 1D


This approach uses the CONVERGE CFD solver with special considerations handled
automatically by the 1D utility. That is, you supply the necessary inputs (not as many as
for a full 3D CONVERGE CFD simulation) and the 1D utility runs a one-dimensional
premixed laminar flamespeed case in CONVERGE. This approach is more robust but more
computationally expensive compared to the Newton solver. The procedure monitors
solution variables in f lamespeed.out and thermo.out and when both converge on the current
grid, CONVERGE switches to a stricter criterion for Adaptive Mesh Refinement (AMR) to
improve the solution accuracy.

Many of the parameters that you specify in one_d_solver.in for this approach are proxies
for inputs that you would typically supply in files such as inputs.in, solver.in, or amr.in for a
full 3D CONVERGE CFD simulation. Since the 1D solver is a theoretical model, you need
to specify only certain parameters while the 1D utility determines others from assumptions
about the 1D model. Therefore, the only necessary CONVERGE inputs are in
one_d_solver.in and one_d_cases.in (and the reaction mechanism file, thermodynamic data
file, and transport.dat for reaction mechanism and thermodynamic properties).

Using the PISO solver requires a procedure for anchoring the flame at a fixed location in
the computational domain. Otherwise, the flame would progress through the domain and
the results would not be useful. The flame location is the x location such that the

506 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |One-Dimensional Combustion Utilities

temperature at the flame location is equal to Tanchor (one_d_anchor_temp in one_d_solver.in).


After calculating the flame location, CONVERGE adjusts the inlet velocity U via Equation
13.217 such that the flame is stationary.

n 1
Uinlet  Uinlet
n
1  r   rSl (13.217)

In Equation 13.217, the superscript n indicates the previous time-step, the superscript n+1
indicates the current time-step, r is the velocity relaxation factor (piso_relax_velocity_f actor
in one_d_solver.in), and Sl is the estimated flamespeed. To aid convergence, CONVERGE
adds a source term to the x momentum equation. This source is

srcx    ux   unburnedUinlet
n
, (13.218)

where  is a damping factor (piso_massf lowrate_damp_f actor in one_d_solver.in).

To determine convergence at a particular grid level, CONVERGE uses the steady-state


monitor feature to monitor the flamespeed in one_d_f lamespeed.out and the heat release
rate in thermo.out. You do not have to manually configure the monitor steady-state feature
because the 1D utility automatically activates and controls this procedure. You can,
however, control the number of samples per bin via piso_sample_size, the tolerance on the
difference between the means of two adjacent bins via piso_tol_avg, and the maximum
allowable standard deviation in monitored samples via piso_max_std (all in
one_d_solver.in).

To improve the speed of the PISO solver, it is good practice to begin the 1D simulation on a
coarse grid and specify multiple values for the AMR sub-grid scale criterion. When the
difference between the actual field and the resolved field in some part of the domain
exceeds the sub-grid scale criterion, CONVERGE refines the grid in this location. The 1D
utility monitors convergence via the steady-state monitor feature (as described above) to
determine when to change to the next value of sub-grid scale. Use
piso_num_amr_temp_stages in one_d_solver.in to specify the number of values for the AMR
sub-grid scale criterion. On the lines below, enter monotonically decreasing values for the
temperature sub-grid scale criterion for each stage followed by piso_amr_temp_sgs, with
one entry per line.

You can optionally specify a final stage for the PISO solver. That is, after the number of
AMR sub-grid scale stages prescribed by piso_num_amr_temp_stages have occurred,
CONVERGE will perform one stage of the simulation with tighter tolerances and a lower
CFL number and calculate a converged solution. Set piso_f inal_f lag = 1 in one_d_solver.in to
activate the final simulation stage. In addition to specifying a final set of parameters for the

CONVERGE 2.4 Manual 507


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |One-Dimensional Combustion Utilities

steady-state monitor, you can also specify a maximum CFL number based on viscosity via
piso_f inal_max_cf l_nu in one_d_solver.in. Typically, you decrease this CFL number to
decrease the time-step and thus improve accuracy.

Hybrid Approach
This approach combines the previously-described approaches. The first portion of the
simulation employs the PISO solver on a coarse grid. After the monitored variables
converge for each value of sub-grid scale criterion in the CONVERGE CFD solver, the 1D
utility maps the results to the stand-alone steady-state Newton solver for a faster solution
on a fine mesh. Since the PISO solver approach is more robust, using the hybrid approach
assists in obtaining a stable initial solution and then obtaining a fast solution on a finer
mesh.
13.16.1Inputs for One-Dimensional Combustion Utility
This section describes the inputs for all the approaches for the 1D utility. Similar to the 0D
combustion utility, the 1D flame model does not require geometry, spray, turbulence, or
combustion inputs. Even if you employ the PISO solver or the hybrid approach, the 1D
utility generates any necessary CONVERGE inputs automatically. The 1D flame model
does, however, require the Case Directory to contain a reaction mechanism file for species
and reaction details; a thermodynamic data file for the species’ thermodynamic constants;
transport.dat for a list of diffusion coefficients; one_d_solver.in for the tolerance and
iteration frequency; and one_d_cases.in for the flame type, fuel and oxidizer composition,
and steady-state boundary conditions (link to relevant sections in chapter 21).

Figure 13.26 shows an example of a CHEMKIN-formatted transport.dat file. The columns


from left to right are the species name, the index indicating if the molecular geometry is
monatomic (0), linear (1), or nonlinear (2); the Lennard-Jones potential; the Lennard-Jones
collision diameter; the dipole moment; the polarizability; and the rotational relaxation
collision number.

CO 1 98.100 3.650 0.000 1.950 1.800


H2O 2 572.400 2.605 1.844 0.000 4.000
H2 1 38.000 2.920 0.000 0.790 280.000
CO2 1 244.000 3.763 0.000 2.650 2.100
O2 1 107.400 3.458 0.000 1.600 3.800
H2O2 2 107.400 3.458 0.000 0.000 3.800
OH 1 80.000 2.750 0.000 0.000 0.000
HO2 2 107.400 3.458 0.000 0.000 1.000
H 0 145.000 2.050 0.000 0.000 0.000
O 0 80.000 2.750 0.000 0.000 0.000
AR 0 136.500 3.330 0.000 0.000 0.000
N2 1 97.530 3.621 0.000 1.760 4.000
HE 0 10.200 2.576 0.000 0.000 0.000
Figure 13.26: Sample transport.dat file.

The 1D flame calculation requires the one_d_solver.in and one_d_cases.in files.

508 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |One-Dimensional Combustion Utilities

To start the calculation for a 1D premixed laminar flame, navigate to your Case Directory
and type

converge oned_flame

Output (For All Approaches)


CONVERGE writes several output files related to the flamespeed. The mech_check.out file
contains a list of species and reactions in the simulation. The one_d_f lamespeed.out file
contains the calculated flamespeed. The transport_check.out file lists the coefficients for
diffusion calculation for each species in the same format as the transport.dat file. The
one_d_sol_case#.out file contains domain-specific output (e.g., distance the flame front
traveled, temperature, mass flow, and species mass fraction). For example, the solution
that corresponds to the first case listed in one_d_cases.in would be in the file
one_d_sol_case00001.out.
13.16.2One-Dimensional Sensitivity Analysis
You can run a sensitivity analysis with the one-dimensional flamespeed solver to
determine the flamespeed sensitivity to the pre-exponential factor A (in Equation 13.0)for
various reactions in the reaction mechanism file.

To run a sensitivity analysis, set newton_sensitivity_f lag = 1 in one_d_solver.in. Note that this
feature works with only the stand-alone 1D Newton solver and the hybrid solver
(one_d_solver_type = 1 or 3 in one_d_solver.in). When you run a one-dimensional sensitivity
analysis, the solver first calculates a converged flamespeed and then perturbs the pre-
exponential factor for the reactions in the mechanism to detect the flamespeed sensitivity
to this factor.

When you activate the sensitivity analysis option, the one-dimensional utility writes files
that contain the sensitivity information for each case in the form one_d_sens_case#.out. The
# corresponds to the cases listed in one_d_cases.in based on the order in which the cases
appear.

This output file contains a list of the species in the mechanism and the sensitivity factor of
each, sorted by largest absolute value to smallest absolute value. The case details are
written as comments at the top of the file. Figure 13.27 shows an example
one_d_sens_cases#.out files.

# CONVERGE 2.4
# column 1 2 3 4
# Place Reaction Sensitivity Reaction_Type
# (none) (none) (none) (none)
#

CONVERGE 2.4 Manual 509


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |One-Dimensional Combustion Utilities

# One-D premixed flame at pressure = 1.000000e+00 bar, unburned temperature =


3.000000e+02 K, phi = 1.000000e+00, EGR ratio by volume = 0.000000e+00
# Grid Points: 148 Species: 53 Reactions: 325 Flame Speed: 3.8767397e+01
1 38 5.503337e-01 # H+O2=O+OH
2 52 -1.648043e-01 # H+CH3(+M)=CH4(+M)
3 99 1.191751e-01 # OH+CO=H+CO2
4 97 7.664641e-02 # OH+CH3=CH2(S)+H2O
5 119 7.428686e-02 # HO2+CH3=OH+CH3O
6 35 -7.211104e-02 # H+O2+H2O=HO2+H2O
...
Figure 13.27: Example one_d_sens_case#.out file.

13.17 Mechanism Reduction


Comprehensive kinetic combustion models incorporate hundreds of chemical species and
thousands of reactions. These combustion models are too computationally expensive to use
in most simulations in which the complementary physical processes (such as heat and
mass transfer or gas motion) are also embodied in the simulations. The computational time
taken to obtain a numerical solution is typically  N 2 , where N is the number of species,
or  n , where n is the number of reactions.

To make the mechanism computationally efficient, you must reduce the number of
reaction species and reactions in a way that maintains solution accuracy. Mechanism
reduction is normally performed in a zero-dimensional environment (e.g., a spatially
uniform chemical reactor). You must validate the reduced mechanisms at various stages of
reduction by comparing reduced mechanism output to comprehensive mechanism output.
The precision with which quantitative agreement between the reduced and full models is
established determines the extent of the reduction that can be achieved. This precision is
controlled by tests at different thresholds. The overall target becomes a balance between
computational efficiency and accuracy of the reduced mechanism output.

CONVERGE uses a basic skeletal mechanism reduction in which all species deemed
unimportant (along with their associated reactions) are removed from the original detailed
mechanism. The skeletal mechanism reduction is based on Directed Relation Graph with
Error Propagation and Sensitivity Analysis (DRGEPSA). The sections below describe the
DRGEPSA methodology. You can efficiently generate a reduced mechanism by running it
on multiple machines in parallel.

You can run either stand-alone zero-dimensional cases (described in the previous sections)
or mechanism reduction. For a stand-alone zero-dimensional case, CONVERGE writes the
ignition delay time for all the cases. For a mechanism reduction, CONVERGE writes the
final skeletal mechanism and the ignition delay times for both the original full mechanism
and the final skeletal mechanism.

Mechanism Reduction

510 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Mechanism Reduction

The format for a serial execution of a zero-dimensional mechanism reduction calculation


is:

converge reduction

A sample command for a parallel execution (using 16 processors) of a zero-dimensional


mechanism reduction calculation is:

mpiexec –n 16 converge reduction

CONVERGE looks for three files - zero_d_cases.in, zero_d_solver.in, and drgepsa.in - to


generate the skeletal mechanism in mech_ske.dat. The inputs for zero_d_cases.in and
zero_d_solver.in are described in the Autoignition (Zero-Dimensional Calculations) section
in this chapter. The ignition_det.dat file contains the ignition delay data for the original
mechanism. The ignition_ske.dat file contains the ignition delay data for the skeletal
mechanism.

Dynamic Mechanism Reduction


An alternative to reducing the mechanism prior to executing a SAGE simulation is to
invoke the Dynamic Mechanism Reduction (DMR) option. DMR will reduce the
mechanism during the SAGE simulation based on target weight and error propagation
tolerance values you specify.

To activate the DMR utility, you must first activate the SAGE detailed chemistry solver by
setting sage_f lag = 1 in combust.in. Configure the SAGE-related parameters as needed. Note
that if you activate DMR in conjuction with adaptive zoning, each bin will have its own
reduced mechanism that will vary with time.

Next set sage_dmr_f lag = 1 in combust.in. CONVERGE will look for a file named
sage_dmr.in in the Case Directory. When using DMR, you need to declare two non-
transport passives in species.in, as shown below in Figure 13.28.

PASSIVE_NT
DMR_NUM_SPECIES non-transport passive name
DMR_NUM_REACTIONS non-transport passive name
Figure 13.28: An excerpt of species.in.

The dmr_mech_inf o.out file contains statistical information about the species and reactions
when DMR is active.
13.17.1DRG (Directed Relation Graph)
Lu and Law (2005) devised an automatic mechanism reduction procedure based on the
theory of directed relation graph (DRG). Each vertex in a DRG as shown in Figure 13.29

CONVERGE 2.4 Manual 511


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Mechanism Reduction

represents a species in the detailed mechanism. An edge from vertex A to vertex B exists
only if the removal of species B would directly induce significant error to the production
rate of species A. This effect is measured by the normalized contribution, rAB, defined as:

  A ,ii Bi 1, if the i th reaction involves species B


rAB  i  1, I
 Bi  , (13.219)
  A ,ii 0, otherwise
i  1, I

where nA,i is the stoichiometric coefficient of species A in reaction i and wi is the net rate of
a reversible reaction i. The net rate of a reversible reaction is the difference between the
rates of the forward and the backward reactions.

The DRG starts as a set of species specified in the reaction mechanism file, where each
species is represented by a stand-alone vertex in Figure 13.29 below. Then the DRG uses a
user-defined threshold, e , for the normalized contribution, 0 < e < 1. The DRG uses this
threshold to determine which species are retained in the reduced mechanism. The DRG is
developed by an iterative procedure by maintaining connections and the corresponding
species for which rAB > e .

Figure 13.29 below is a simplified representation of a DRG. In this example, if you set
e =0.15, species G and J from the detailed mechanism depicted in (a) get removed to reduce
the mechanism to the mechanism shown in (b).

(a) (b)

Figure 13.29: (a) Original DRG, (b) DRG reduced (e=0.15).

13.17.2DRGEP (Directed Relation Graph Error Propagation)


You can define a set of primary dependent species for species A, consisting of those species
that appear explicitly in reactions involving A. If species B is not in the primary dependent

512 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Mechanism Reduction

set of A, then rAB=0. However, species C interacting with species A through species B is
necessary for A only if it is necessary for B and B is necessary for A. This indirect coupling
is quantified by a path-dependent coefficient, rAB,i. The path-dependent coefficient rAB,i is
the product of the normalized contributions along path i between species A and B. The
influence of species B on species A is characterized by coefficient RAB, which is the
maximum of the path-dependent coefficients:

rAB,i   rXY ,
XY i
(13.220)
RAB  max rAB,i .
all paths i

In the Directed Relation Graph with Error Propagation (DRGEP) method, the species
selection procedure is based on the RAB values instead of the rAB values used in the DRG
method. A connection is considered significant (and therefore is used in the mechanism) if
the RAB value is larger than the threshold you define as e .

For example, consider the case in Figure 13.30, for the path from species A to D:

RAD  max rAD,i  max (rABrBD ),(rAC rCD ),(rAC rCErED ). (13.221)
all paths i

Figure 13.30: RAD is the path-dependent coefficient.

CONVERGE 2.4 Manual 513


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Mechanism Reduction

The path-dependent coefficients for each species (with respect to A) as seen in Figure 13.29
(from the previous section) are shown below in Figure 13.31.

Species RAi
A  1
B  0.5
C  0.6
D  0.12
E  0.48
F  0.3
G  0.006
H  0.036
I  0.096
J  0.01
Figure 13.31: Sample DRGEP path-dependent coefficient calculations.

If you set e = 0.1, then the species G, H, I, and J are removed from the original mechanism.
13.17.3DRGEPSA (Directed Relation Graph Error Propagation with Sensitivity
Analysis)
The Directed Relation Graph with Error Propagation and Sensitivity Analysis (DRGEPSA)
algorithm (Raju et al., 2012) consists of two phases: (1) DRGEP and (2) Sensitivity Analysis
(SA). Figure 13.32 shows a flow chart of the DRGEPSA algorithm.

514 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Mechanism Reduction

Figure 13.32: A flow chart depicting the


DRGEPSA algorithm.

To begin the DRGEPSA process in CONVERGE, set up several autoignition simulations for
the given range of initial temperature, pressure, and equivalence ratio conditions. For each
case, a set of sample points are selected along the integration curve at 10 K intervals. For
each sample point, the DRGEP coefficients are calculated based on a set of target species.

Once the overall interaction coefficients (OICs) are calculated, different cut-off tolerances
for OICs are chosen and a skeletal mechanism is generated for each cut-off value. For each
of the resulting skeletal mechanisms, autoignition simulations are performed and the
maximum error in the ignition time delay values as compared to the detailed chemistry is
calculated. An optimal mechanism is thus chosen as the smallest mechanism whose error
in the ignition delay is within the user-specified tolerance limit.

Once the optimal mechanism is obtained from the DRGEP step, sensitivity analysis is
performed to further reduce the size of the mechanism. In the sensitivity analysis phase,
the OIC values of the species in the skeletal mechanism are arranged in ascending order
and a fixed fraction of the species from the top of the list is chosen for sensitivity analysis.
These species are the limbo species.

CONVERGE 2.4 Manual 515


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 13
Chemistry Modeling |Mechanism Reduction

The error induced by each of the species is calculated by removing this species from the
DRGEP-generated skeletal mechanism. The error in the ignition delay is then calculated for
the resulting skeletal mechanism. This error is an indication of the sensitivity of the species
to the prediction of ignition delay time.

Now the species are arranged in ascending order based on this error. In the next step, the
optimal skeletal mechanism is determined from the sensitivity analysis, which is
accomplished by removing the species identified from the top of the list one by one from
the DRGEP-generated mechanism until the error generated by the resulting skeletal
mechanism is less than the user-defined tolerance for ignition delay. Thus the optimal
skeletal mechanism is obtained. All the steps in the algorithm are executed sequentially.

In CONVERGE, DRGEPSA can be executed in parallel. You can expect linear scalability as
you increase the number of processors until the number of processors exceeds the number
of zero-dimensional cases defined in zero_d_cases.in.

516 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

14
Emissions Modeling
Chapter 14
Emissions Modeling |

14 Emissions Modeling
CONVERGE contains several models to simulate soot or NOx production. These models
are described in the subsections that follow.

Species of interest such as CO, CO2, and unburned hydrocarbons are always calculated or
interpolated in CONVERGE, provided they are included in the reaction mechanism file
and are a part of the combustion model used by the simulation.

To activate emissions modeling, set emissions_f lag = 1 in combust.in and include an


emissions.in file in the Case Directory.

14.1 NOx Modeling


CONVERGE contains two NOx models: thermal NOx and prompt NOx. You must include
the passive NOX in species.in if your simulation includes either of these models. The
following sections describe the two NOx models in detail.

Another option to calculate NOx is via the SAGE detailed chemistry solver. If the SAGE
detailed chemistry solver is activated (i.e., if sage_f lag = 1 in combust.in), you can specify
reactions in the mechanism data file (e.g., mech.dat) and the thermodynamic data file (e.g.,
therm.dat) to model NO or both NO and NO2. It is important to carefully compare the
results from the detailed chemistry solver to measured values.

Tuning the NOx Models


Refer to Chapter 22 for a complete list of NOx model parameters.

The Schmidt number (schmidt_turb in inputs.in) is sometimes adjusted to tune NOx with
typically only a small effect on the global combustion characteristics. In general, for
diffusion flames, as the Schmidt number increases, the predicted fuel-air mixing decreases,
which yields a lower NOx concentration. For premixed flames, as the Schmidt number
increases, the turbulent diffusivity decreases, which yields a higher NOx concentration.

Additionally, if adaptive zoning is activated (adaptive_zone_f lag = 1 in combust.in), setting


adaptive_zone_nox_f lag = 1 in combust.in improves the prediction of NOx emissions while
simultaneously reducing the accuracy of the prediction of other species.
14.1.1 Thermal NOx Model
The extended Zel’dovich mechanism as presented by Heywood (1988) is used to calculate
NO formation. This mechanism is given by the following set of reactions:

518 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |NOx Modeling

O  N 2  NO  N (R1)
N  O2  NO  O (R2) (14.222)
N  OH  NO  H (R3).

The rate constants for reactions (R1)-(R3) are given by

kR 1, f  7.6  1013 exp 38, 000 T 


kR 1,r  1.6  1013
kR 2, f  6.4  109 T exp 3, 150 T 
(14.223)
kR 2,r  1.5  109 T exp 19, 500 T 
kR 3, f  4.1  1013
kR 3,r  2.0  1014 exp 23, 650 T ,

where the subscript f denotes a forward reaction and the subscript r denotes a reverse
reaction. The units of the rate constants in Equation 14.223 are cm3/mol s.

From the reactions in Equation 14.222, the rate of formation of NO can be written as

d NO
 kR 1, f ON 2  kR 1,r NON  kR 2, f N O2  kR 2,r NOO
dt (14.224)
 kR 3, f N OH  kR 3,r NOH ,

where [NO], for example, denotes the species concentration of NO in mol/cm3. Equation
14.224 can be rewritten by assuming that the steady-state approximation is valid for [N].
The rate of formation of [N] can be written as

d N 
 kR 1, f ON 2  kR 1,r NON  kR 2, f N O2  kR 2,r NOO
dt (14.225)
 kR 3, f N OH  kR 3,r NOH .

If d[N]/dt is set equal to 0 in Equation 14.225, [N] can be eliminated in Equation 14.224. It
can be shown that the formation rate of [NO] then becomes

CONVERGE 2.4 Manual 519


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |NOx Modeling

2
d NO 1  NO K O2 N 2 
 2 kR 1, f ON 2  , (14.226)
dt 1  kR 1,r NO kR 2, f O2  kR 3, f OH 

where

K  kR 1, f kR 1,r kR 2, f kR 2,r . (14.227)

If equilibrium values of [O], [OH], and [H] are assumed (set nox_radical_model = 0 in
emissions.in), Equation 14.226 can be rewritten as

2 R1 1  NO NOe  
2

d NO  
 , (14.228)
dt 1  NO NOe R

where

R1
R  (14.229)
R2  R3

and

R1  kR 1,r NOe N e
R2  kR 2, f N e O2 e (14.230)
R3  kR 3, f N e OH e ,

where the subscript e is used to denote the equilibrium species concentration.

Equations 14.228 through 14.230 require that equilibrium species concentrations are
known. It is assumed that [H2] is in equilibrium at the local conditions. [NO]e can be
calculated from the equilibrium constants KR1 and KR2 for reactions R1 and R2, as follows:

kR 1, f NOe N e
KR 1   (14.231)
kR 1,r Oe N 2 e

520 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |NOx Modeling

and

kR 2, f NOe Oe
KR 2   . (14.232)
kR 2,r N e O2 e

By eliminating [N]e/[O]e in Equations 14.231 and 14.232, it can be shown that

NOe  KR 1KR 2 O2 e N 2 e . (14.233)

Similarly, [N]e can be calculated from reaction R2 via

kR 2,r NOe Oe


N e  , (14.234)
kR 2, f O2 e

which requires [O]e to be known. As described by Heywood (1988), [O]e can be determined
from

KO 12
Oe  12 O2 e , (14.235)
RuT 

which is derived from the reaction

1
O2  O. (14.236)
2

In Equation 14.235, KO is the equilibrium constant given by Heywood (1988) as

 31, 090 
KO  3.6  103 exp  atm 
12
 (14.237)
 T 

and Ru is the universal gas constant in atm cm3/(K mol). Finally, the [OH]e can be calculated
from

12
OH e  KOH O2 e H 2 e  , (14.238)

CONVERGE 2.4 Manual 521


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |NOx Modeling

which is derived from the reaction

O2  H 2  OH  OH . (14.239)

The equilibrium constant, KOH, in Equation 14.238 has been obtained from a curve fit and
is given by

 8567.17 
KOH  23.4936exp  . (14.240)
 T 

With the equilibrium constants calculated, Equation 14.228 can now be solved by
rewriting it as

d 2 R1 1   2 
 , (14.241)
dt NOe 1   R 

where

  NO NOe . (14.242)

Integration of Equation 14.241 yields

 2   1   1   22 , (14.243)

where

2 R1dt
 , (14.244)
NOe 1   R 

and it is assumed that a in the term (1-a 22) on the right side of Equation 14.243 is
evaluated at the end of the computational time-step dt. Recasting Equation 14.243 in the
form of a quadratic equation leads to the following solution for the updated value of a :

522 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |NOx Modeling

1  1  4   1   
2  , (14.245)
2

where b, given by Equation 14.244, is evaluated using a 1, which is the value of a at the
start of the computational time-step. Equation 14.245 is used to calculate the updated
value of a and Equation 14.242 is then used to calculate [NO] at the end of the time-step.
It can be shown that a 2 ® a 1 in the limit of b ® 0. This limit is recovered in the
CONVERGE implementation of Equation 14.245.

Concentration of O and OH Radicals


For modeling NOx, CONVERGE employs several methods for computing the
concentration of O and OH radicals.

In CONVERGE, the equilibrium approach (nox_radical_model = 0) assumes equilibration of


combustion reactions. Such an assumption is possible because the kinetics of the thermal
NOx formation rate are slower than the main hydrocarbon oxidation rate and thus most
of the thermal NOx forms after combustion is complete. Additionally, this assumption is
valid for high temperature (> 2200 K) combustion. For this approach, Equations 14.235
and 14.238 give the formulations for the concentration of O and OH radicals, respectively.

The partial equilibrium approach (nox_radical_model = 1) for computing the concentration


of O radicals accounts for third-body reactions in the O2 dissociation-recombination
process to improve the equilibrium approach described previously. Equation 14.246
describes the third-body reactions and Equations 14.247 to 14.248 describe the equations
for radical concentration (Warnatz, 2001).

O2  M  O  O  M (14.246)

With this approach, the equilibrium O atom concentration is

1/2
O  36.64 T O2 
1/2
e27123/T . (14.247)

To compute the concentration of the OH radical, CONVERGE uses

0.57 4595/T 1/2 1/2


OH   2.129e2 T e O H 2O . (14.248)

The third approach (nox_radical_model = 2) requires a combustion model that invokes the
SAGE detailed chemical kinetics solver (e.g., SAGE by itself, G-Equation, FGM). Based on

CONVERGE 2.4 Manual 523


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |NOx Modeling

reactions in mech.dat, SAGE predicts the O atom concentration and CONVERGE simply
takes the concentration of O radicals as the local O species mass fraction. Likewise,
CONVERGE takes the concentration of OH radicals from the local OH species mass
fraction.

Thermal NOx Model Setup


To activate the thermal NOx (based on the Extended Zel'dovich mechanism) model, set
nox_thermal_f lag = 1 in emissions.in and include the passive NOX in species.in. You can
tweak the model through parameters in emissions.in, including nox_thermal_rate_f lag
(which requires passive_nox_rate.dat) and nox_radical_model, which specifies whether the
equilibrium assumption is made for the O/OH radical model. Refer to the emissions.in
section of Chapter 22 - Input File Reference for a complete list of parameters that you can
tune.

By default, a factor of 1.533 (the ratio of molecular weights of NO2 to NO) is used to
convert the predicted NO to NOx. You must verify that this factor reflects the
experimental measurements for the conversion of NO to NO2 (by mass). If measurements
report only NO or if both NO and NO2 were measured, then this value may change and
you can set nox_scaling_f actor in emissions. in to the appropriate value.
14.1.2 Prompt NOx Model
Fenimore (1971) identifies a rapid transient formation of NO (so-called "prompt NO") in
fuel-rich, low-temperature conditions. This mechanism is most useful for gas turbine,
surface combustion, and staged combustion applications. The prompt NO mechanism is
complex and CONVERGE employs a simplified model to ensure computational feasibility.

To solve the reaction rates, CONVERGE uses the De Soete (1975) global kinetic parameter:

d[NO]
= rNOx - rN2 , (14.249)
dt

where rNOx is the overall prompt NOx formation rate and rN2 is the overall molecular
nitrogen formation rate.

When prompt NOx forms in a fuel-rich environment where the concentration of O is high,
the N radical primarily forms NOx instead of nitrogen. Thus, the rate of prompt NOx
formation is approximately equal to the rate of overall prompt NOx formation (shown in
Equation 14.250). This scenario occurs during initial stages of the flame.

d[NO] a
= k pr O2  N 2  f uel speciese Ea /RT (14.250)
dt

524 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |NOx Modeling

By applying a correction factor to the De Soete model, the performance of the model given
by Equation 14.250 improves for fuels with higher hydrocarbon content and in fuel-rich
conditions. This factor accounts for the effect of fuel type and air-to-fuel ratio. Applying
the correction factor f yields

d[NO]
= f kpr O2  N 2  f uel speciese Ea /RT .
a
(14.251)
dt

The correction factor f is

f  4.75  0.0819 n  23.2  32 2  12.2 3 , (14.252)

where f is the equivalence ratio (nox_prompt_equiv_ratio in emissions.in) and n is the


number of carbon atoms per molecule for hydrocarbon fuel (calculated from the fuel listed
for f uel_name in combust.in). Note that the correction factor f is valid for equivalence ratios
between 0.6 and 1.6 and f is a curve fit to experimental data and thus valid for aliphatic
alkane hydrocarbon fuels (Dupont et al., 1993). For k'pr and E'a, select appropriate values
as described in Dupont et al. (1993). Currently, the prompt NOx model supports only
single-component fuels. If you use this model in a simulation that contains a multi-
component fuel or in a simulation that contains multiple fuels, CONVERGE will calculate
n only based on the f uel_name in combust.in (the single-component fuel) and the results will
be incorrect.

After applying the correction factor to Equation 14.250, the source term due to the prompt
NOx formulation is

d NO
Sprompt ,NO  M w ,NO . (14.253)
dt

The work of De Soete (1975) asserts that the oxygen reaction order depends uniquely on
the oxygen mole fraction in each cell. Equation 14.254 describes the reaction order.

 1.0 XO2  4.1e  3



3.95  0.9 ln XO2 4.1e  3  XO2  1.11e  2
a (14.254)
 0.35  0.1 ln XO2 1.11e  2  XO2  0.03
 0 XO2  0.03

CONVERGE 2.4 Manual 525


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |NOx Modeling

Prompt NOx Model Setup


To activate the prompt NOx model, set nox_prompt_f lag = 1 in emissions.in and include the
passive NOx in species.in. In order to use prompt NOX modeling, we recommend that you
set nox_radical_model = 2 to avoid making an assumptions about the O and OH radicals in
(R1)-(R3) and (R5) above. You must ensure that you include both O and OH reactions in
the reaction mechanism file. You can also set the the global equivalence ratio used for the
flame during prompt NOx calculations via nox_prompt_equiv_ratio in emissions.in.

14.2 Soot Modeling


The soot models outlined in the sections below describe the complex soot formation and
oxidation process using several global steps, including soot inception, surface growth,
coagulation, and oxidation.

· Soot inception is the formation of the smallest solid soot particles from the gas-phase
hydrocarbon molecules (e.g., the PAH [polycyclic aromatic hydrocarbons] species).
Inception serves as the link between gas-phase chemistry and soot particle dynamics and
can be described by the collision of two PAH molecules.
· Soot surface growth is necessary to accomplish two-way coupling with the gas phase.
Soot mass growth and heterogeneous reactions on surfaces as well as loss of soot
particles due to reactions with gas phase species must be included in a detailed
presentation of soot formation.
· Soot coagulation is a physical process of collisions between small soot particles leading to
the formation of larger soot particles.
· Soot condensation indicates the gas phase species (such as PAHs) coagulate together and
form large soot particles.

Figure 14.13 shows a summary of the models used in CONVERGE to describe the various
steps of soot formation. The reaction rates of these global steps are determined by either
empirical expression (you can adjust some parameters to match the experimental results)
or by implementing simplified physical models.

526 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

Figure 14.255: A descriptive overview of soot formation, with the various models used to simulate soot
formation in CONVERGE.
Image source: http:/ / www.ryerson.ca/ ~dworkin/ research/ research.html.

The soot models implemented in CONVERGE typically are solved with detailed PAH
chemistry.

CONVERGE offers the Hiroyasu-NSC model for empirical soot oxidation model.
Phenomenological models describe inception, surface growth, coagulation and oxidation
steps. CONVERGE contains the Gokul, Dalian, and Waseda phenomenological soot
models. CONVERGE contains two detailed soot models: Particulate Mimic (PM) model
and Particulate Size Mimic (PSM) model. Detailed soot models apply comprehensive
mathematical description for the soot particle size distribution function (PSDF) and solve
the complex soot formation and oxidation with detailed chemistry. The detailed soot
models feature good capability over wide ranges of operating conditions. They are the best
option when more comprehensive soot formation analysis is needed. Phenomenological
models are more computationally efficient, but are not as comprehensive as the detailed
soot models. Detailed soot modeling takes into account the various steps of soot formation:
inception, coagulation, surface reactions and condensation.

A summary of the emissions.in parameters used to configure all these soot models can be
found in Chapter 22 - Input File Reference.
14.2.1 Empirical Soot Model: Hiroyasu-NSC
CONVERGE offers one empirical soot model: the Hiroyasu model, which is coupled with
the Nagle and Strickland-Constable model (1962) to simulate soot oxidation.

CONVERGE 2.4 Manual 527


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

The production of soot mass Ms (g) within a computational cell can be determined from a

single-step competition between the soot mass formation rate M sf (g / s) and the soot
mass oxidation rate M  according to Hiroyasu and Kadota (1976):
so

dM s • •
 M sf  M so , (14.256)
dt

where the formation rate is given by


M sf  SF M f orm (14.257)

and

SF  Asf P0.5 exp(Esf / RuT ). (14.258)

In Equations 14.257 and 14.258, Mf orm is the mass of the soot formation species in grams, P
is the cell pressure in bar, Ru is the universal gas constant in cal/(K g mol), T is the cell
temperature in K, Esf is the activation energy in cal/(g mol), and A sf is the Arrhenius pre-
exponential factor with units of 1/(s bar0.5 ).

There are two options for the soot formation species. The first option treats all
hydrocarbon species as soot formation species, and is available for all combustion models.
To use all HC species for soot formation, set hiroy_f orm_f lag = 0 in emissions.in. The second
option uses C2H2 as the soot formation species, and requires that a detailed chemical
mechanism (i.e., mech.dat) is available. This option is compatible with the SAGE and RIF
combustion models, and the G-Equation combustion model for g_eqn_f lag > 1. To use
C2H2 as the soot formation species, set hiroy_f orm_f lag = 1 in emissions.in

To model soot oxidation, CONVERGE uses the Nagle and Strickland-Constable model
(1962) (NSC). This model considers carbon oxidation by two mechanisms. The rates of
these mechanisms depend on surface chemistry involving more reactive A sites and less
reactive B sites. In this model, the net reaction rate Rtotal is given by

 K A PO 
Rtotal    X  KB PO2 (1  X )  mol cm s ,
2 2
 1 K P  (14.259)
 Z O2 

528 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

where X is the proportion of A sites given by

PO2
X . (14.260)
PO2  KT KB 

In the above equations, PO2 is the oxygen partial pressure in atmospheres and the K values
are rate constants for carbon given by

K A  20exp 30, 000 / RuT  mol cm2 s1 atm1 


KB  4.46  103 exp 15, 200 / RuT   mol cm2 s1 atm1 
(14.261)
KT  1.51  105 exp 97, 000 / RuT   mol cm2 s1 
KZ  21.3exp 4, 100 / RuT  1 atm .

If it is assumed that the soot particles are spherical and uniform in size, the surface area S
(cm2) for oxidation can be written as

6Ms
S  N p ,soot Ds2  , (14.262)
 s Ds

where Np,soot is the total number of soot particles, Ds is the nominal soot particle diameter in
cm, Ms is the total soot particle mass (g), and r s is the soot density in g/cm3. The oxidation
 is thus given by
rate M so

• 6Ms
M so  S Rtotal MWc  R total MWc g / s  , (14.263)
 s Ds

where MWc (g/mol) is the molecular weight of carbon. If a scaling factor A so is included, the
following expression for the soot oxidation rate is obtained:

• 6Ms
M so  Aso R total MWc . (14.264)
 s Ds

Equation 14.264 can be rewritten more concisely as

CONVERGE 2.4 Manual 529


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling


M so  SO M s , (14.265)

with

6
SO  Aso R total MWc . (14.266)
 s Ds

Using Equations 14.257 and 14.265, Equation 14.256 can be rewritten as a first-order
linear equation given by

d s
 SO  s  SF  f orm , (14.267)
dt

which has been recast in terms of species densities, where r f orm is the density of the soot
formation species. Equation 14.267 can be integrated analytically with the method of
constant coefficients. The result is the following expression for the soot species density r sn+1
at the end of a computational time-step dt:

SF  f orm
 sn 1   C exp SO dt . (14.268)
SO

The constant of integration C can be determined because the soot species density is equal
to r sn at the start of a computational time-step. Substituting the result for C yields

SF  f orm  SF  f orm 
sn 1     sn   exp SO dt , (14.269)
SO  SO 

which also can be written in terms of the difference in soot density at the start and end of
the computational time-step:

 SF  f orm 
sn 1  sn     sn    1  exp SO dt  . (14.270)
 SO 

Equation 14.270 is used in CONVERGE to update the soot density in each computational
cell for each time-step.

530 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

14.2.2 Phenomenological Soot Models


You can tune many of the parameters of the phenomenological soot models to adjust for
varying operating conditions. CONVERGE solves these phenomenological models using
the SAGE detailed chemistry solver and requires a detailed mechanism to calculate
averaged soot mass and number density. The soot formation is assumed to be one-way
coupled with the gas phase chemistry; that is, soot formation will not affect gas phase
chemistry and system parameters such as temperature and pressure. These models
generally result in a less than 10% increase in computational time compared to an engine
simulation with detailed chemistry only.

In engine simulations, the soot number density and soot mass density are solved as global
transport passives according to Equation 14.271 below:

DM    M  (14.271)
      SM ,
Dt  SC   

where M represents either the soot species density, r YC(s) , or the soot number density, N,
in SI units. m is the cell viscosity, SC is the Schmidt number, and SM represents the source
term one of the models.

Table 14.13 below summarizes the model parameters employed by each of the three
phenomenological soot models. A more detailed formulation of the source terms for each
phenomenological model is included in the subsections that follow.

Table 14.13 Model parameters and typical application of each phenomenological soot model.
Gokul Model Dalian Model Waseda Model

Soot Precursor Pyrene (A4) C50 Acenaphthylene radical


(A2R5)

Soot Inception (R1) Arrhenius Arrhenius Arrhenius

Soot Surface Growth Simplified HACA Arrhenius Simplified HACA


(R2) (Hydrogen-
Abstraction/Carbon-
Addition)

Soot Oxidation (R3) Revised NSC (Nagle and NSC model/OH radical NSC/OH/NO
Strickland-Constable)
model/OH radical

Soot Coagulation (R4 ) Revised Smoluchowski Kazakov-Foster model Revised Smoluchowski


model model

CONVERGE 2.4 Manual 531


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

Gokul Model Dalian Model Waseda Model

Typical Application Low temperature diesel Diesel HCCI Medium-duty diesel


(Homogeneous Charge
Compression Ignition)

The Gokul, Dalian , and Waseda phenomenological soot models can be used only with the
dense solver option (sage_ode_solver = 0) and with the numerical Jacobian matrix solution
option (sage_analyt_jac = 0). However, you can set SAGE with adaptive zoning for these
soot models. Soot-related output—averaged soot number density, soot mass, and the mass
for different soot sub-processes (nucleation, surface growth, oxidation, and coagulation) —
will be written to phenom_soot_model.out file.
Gokul Model
The Gokul phenomenological soot model (Vishwanathan and Reitz, 2010) is best suited for
low temperature diesel engine simulations. Set phenom_soot_f lag = 1 in emissions.in to
activate this model.

You must include the soot precursor for this model, pyrene (A4), in the gas chemistry
mechanism (mech.dat). A brief description of each sub-process is given below.

Soot Inception
A 4   16C(s)  5H 2 (14.272)
R1  k1[A 4]
k1  2000{s1 }

Soot Surface Growth


C(s)  C2 H 2   3C(s)  H 2 R2  k2 C2 H 2  (14.273)
R2  k2 C2 H 2 
 12100 
k2  9.0  104 exp    S
 T 
S   dp2 N
1/3
 6Ycs 
dp   
 c s N 
   
d is the particle size, Y is the soot mass fraction, r is the ambient density, r is the
p c(s) c(s)
-3
density of graphite (2.0 g-cm ).

Soot Oxidation

532 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

Oxidation through O2 : C s   1/2O2   CO; (14.274)


Oxidation through OH : C s   OH   CO  1/2 H 2 ;
R3  RO2  ROH
Oxidation through O2 uses the NSC model (consistent with the Hiroyasu empirical soot
model), while oxidation through OH uses the Neoh model (Neoh et al., 1984).

Soot Coagulation
nC s   C s n (14.275)
1/6 1/2 1/6
 6 Mcs   6K T   Ycs 
R4  2Ca    bc
   N 11/6
 c s   c s   Mc s 
           

-3
Ca is the coagulation coefficient, M is the carbon molecular weight (12 g-cm ), K is
c(s) bc
the Boltzmann constant.

The source terms for the soot species density and number density are calculated as follows:

SM  16R1  2 R2  R3  MCs    f or  species density (14.276)

MCs
SM  16R1  R4  f or  number  density  
M nuci
 3
M nuci  dnuci Cs
6

M is the mass of incipient soot, assumed to have a diameter, d = 1.28 nm


nuci nuci
(approximately equivalent to 100 carbon atoms).
Dalian Model
The Dalian phenomenological soot model (Jia et al., 2009) is best suited for diesel
homogeneous charge compression ignition (HCCI) engine simulations. Set
phenom_soot_f lag = 2 in emissions.in to activate this model.

In addition to the other passives you need to define in order to use any phenomenological
soot model, you must also include the soot precursor for this model, C , as a passive in
50
the species.in file. A brief description of each sub-process is given below:

Soot Inception

CONVERGE 2.4 Manual 533


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

C50   n C s m (14.277)
R1  C50 8.0  1010 exp 61597 / RT 

Soot Surface Growth


C s m  C2 H 2   C s m 2  H 2 (14.278)

R2  1.05  104 exp(6159.7 / RT )[C2 H 2 ]  dp2 N

Soot Oxidation
Oxidation through O2 : C s   1/2O2   CO; (14.279)
Oxidation through OH : C s   OH   CO  1/2 H 2 ;
R3  RO2  ROH
Oxidation through O2 uses the NSC model (consistent with the Hiroyasu empirical soot
model), while oxidation through OH uses the Neoh model (Neoh et al., 1984).

Soot Coagulation
nC s m   C s n*m (14.280)
1
R4     N 2
2
b is the collision coefficient, which is estimated by the Kazakov-Foster model (Kazakov and
Foster, 1998) by considering the particle collision in both the free-molecular and near-
continuum regime, and N is the number density.

The source terms for the soot species density and number density are calculated as follows:

SM  50R1  R2  R3  MCs    f or  species density (14.281)

N
SM  R1 A  R4  f or  number  density  
2

N is Avogadro's number and M is the molecular weight of a carbon atom.


A C(s)
Waseda Model
The Waseda phenomenological soot model (Kaminaga et al., 2008) is best suited for
medium duty diesel engine simulations. Set phenom_soot_f lag = 3 in emissions.in to activate
this model.

534 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

You must include the soot precursor for this model, acenaphthylene radical (A2R5), in the
gas chemistry mechanism (mech.dat). A brief description of each sub-process is given
below:

Soot Inception
A 2 R5  12C s   4 H 2 (14.282)
R1  A 2 R51000exp 5000 / RT 

Soot Surface Growth


Csoot H  H  Csoot*  H 2 (14.283)
Csoot H  OH  Csoot*  H 2
Csoot* H  H  Csoot H
Csoot* H  C2 H 2  Csoot 2 H  H
   8168   * 
R2  ks PC 2 H 2  0.5  tanh   4.57   1 SOOT Asoot f n 
   T   NA 
*
k is the reaction rate coeffcient, P is the partial pressure of C2H2, c is the
s C2H2 SOOT
active surface site density of soot particles, A is the surface area fraction of soot
soot
particles per unit volume, and f is the soot number density. Refer to Kaminaga et al.
n
(2008) for more details of these parameters.

Soot Oxidation
Oxidation through O2 : C s   1/2O2   CO; (14.284)
Oxidation through OH : C s   OH   CO  1/2 H 2 ;
Oxidation through NO : C s   NO  CO  1/2N 2 ;
R3  RO2  ROH  RNO
Oxidation through O2 uses the NSC model (consistent with the Hiroyasu empirical soot
model). Oxidation through OH uses the Neoh model (Neoh et al., 1984). Oxidation
through NO uses the reaction probability concept proposed by Gersum and Roth (1992).

Soot Coagulation
nC s m   C s n*m (14.285)
5
R4    kcoag f v 1/6 f n11/6
6
k is the coagulation coefficient, f is the soot volume fraction, and f is the soot number
coag v n
density.

CONVERGE 2.4 Manual 535


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

The source terms for the soot species density and number density are calculated as follows:

SM  R1  R2  R3  MCs    f or  species density (14.286)

SM  R1 0.12N A  R4  f or  number  density

N is Avogadro's number and M is the molecular weight of a carbon atom.


A C(s)
14.2.3 Particulate Mimic Soot Model
The detailed soot models available in CONVERGE solve the complex soot formation and
oxidation with detailed chemistry. The detailed soot models feature good capability over
wide ranges of operating conditions. The properties of a soot ensemble can be described by
the particle size distribution function (PSDF). The PSDF of soot can be obtained by solving
equations for the number density of all size classes if the physical and chemical processes
changing the PSDF are known. There will, however, be an infinite set of partial differential
equations to be solved.

However, even if an upper limit is set, there will still be hundreds of thousands of
equations, which would be computationally impossible to obtain numerical solutions using
today’s computer power. Therefore, the size of the problem must be reduced using certain
mathematical methods. In practical simulations, most people are interested only in the
integral features of the PSDF, which provide the most important information about the
soot particle ensemble, such as mean particle number density, mean mass or volume, and
mean diameter of the particles.

The method of moments developed by Frenklach and Wang (1991), Kazakov et al. (1995),
and Kazakov and Frenklach (1998) is based on the fact that solving an infinite set of
equations for the statistical moments of the PSDF is equivalent to the direct simulations of
the PSDF. This method can be shown to have sufficient accuracy using only a few
moments for global observables, such as mean number density and soot mass. Usually a set
of equations for the first two to six moments is applied. The accuracy of the approach
increases with the number of moments used.

The main advantages of the method of moments is its computational efficiency and that
the major features of the PSDF, such as mean number density and soot volume fraction,
can be extracted from the moments. The Particulate Mimic (PM) model in CONVERGE is
based on the method of moments introduced above. The different processes leading to the
formation and oxidation of soot particles included in the model are briefly described
below. Detailed discussion of the PM model can be found in Mauss (1998).

536 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

The basic physical and chemical processes assumed to be important for the formation of
soot are: particle inception, coagulation, condensation, and heterogeneous surface
reactions, i.e., surface growth and oxidation by OH and O2. The dynamics of the soot
particle characteristics can be described by a set of equations for the moments of the soot
particle size distribution function:

dM r  M    (14.287)
M r , pi r , con  M r , coag  M r ,sr
dt

   
Where M r , pi , M r , con , M r , coag , and M r ,sr are the rates of particle inception, condensation,
th
coagulation, and surface reactions for the r moment of the PSDF, respectively. The
moments are defined as:


M r   i 1 ir N i (14.288)

Where N is the number density of soot particles of size class i. It can be seen from the
i
th
definition that the zero moment is related to the mean number density, whereas the first
moment is related to the mean mass or mean volume of the soot particles.

Each moment in the particulate mimic model is solved as global transport passive:

 / 
D M   M   (14.289)
r
   r    SMr
 SC
Dt    
SMr  M
 M
r , pi
   
r ,con  M r ,sg  M r , ox  M r ,coag

SC is the Schmidt number, and SMr represents the source term. The moment source term
is coupled with species source term and solved using SAGE solver. It is a two-way
coupling, which means that the soot formation will affect the gas phase and system heat
release.

Soot-related output for a PM simulation is written to soot_pm_model.out.


Stages of the PM Model
Soot Inception
In the PM model, the rate of formation of particle of size i is thus given by the following
equation:

CONVERGE 2.4 Manual 537


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

1 i1 (14.290)
N i , pi   j ,i j P N j P N i j ,
2 j 1

where P N j denotes the number density of a PAH molecule of size j and β the frequency
i,j
of free-molecular coalescence given by

8 KBT 2 (14.291)
i , j   ri  rj  ,
i , j

where μ is the reduced mass and r and r are the radius of particles i and j, respectively,
i,j i j
and ε is the collision enhancement due to inter-particle forces (Balthasar et al., 2002).

The rate of the moments of the soot size distribution can be obtained by multiplying
r
Equation 14.290 by i and summing over all the size classes, leading to

 1   (14.292)

r
 i  j   i , j N i N j .
P P
M r , pi
2 i1 j 1

By assuming constant density of soot particles and the size of two collided PAH molecules
are of similar order, the formulation of soot inception can be simplified. Furthermore, the
P P
sizes i and j are approximated by the mean size <i>, in terms of moments M 1 / M 0 . It
can be shown that the mean size of PAHs does not vary significantly in test simulations. It
was found that a mean size of 24(M /M = 12) carbon atoms is a good approximation
1 0
(Mauss 1998). By setting the mean size of PAHs to a constant value, the rate of particle
inception is in the subroutine calculated as


r , pi  Cpi T ,  M 0 2 i  ,
r
M P (14.293)

where C is a pre-factor depending on the temperature and PAH formation rate.


pi

Soot Surface Reactions


For both the PM and the PSM models, soot mass growth and loss of soot particles due to
reactions with gas phase species on their surface is described by a detailed growth and

538 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

oxidation mechanism, the Hydrogen Abstraction Acetylene Addition Ring Closure


(HACARC) mechanism (Mauss, 1998):

(1.a) Csoot,i H +H 


k
 Csoot,i
*1a
+ H2
(1.b) Csoot,i H + OH 
k
 Csoot,i
*
1b
+ H2 O
*
(2) Csoot,i +H 
k
 Csoot,i
2 *
H
*
(3.a) Csoot,i + C2 H2 
k 3a
 Csoot,i
*
C2 H 2
*
(3.b) Csoot,i C2 H 2 
k
 Csoot,i+1
*3b
H+H
*
(4.a) Csoot,i + O2 
k
 Csoot,i-1
4a *
+ 2CO
*
(4.b) Csoot,i C2 H 2 + O 2 
k
 Csoot,i
*
4b
+ 2CHO
(5) Csoot,i H + OH  C
k5 *
soot,i-1 + CH + CHO.
Figure 14.33 The reaction pathways of the HACARC mechanism.

Csoot,i H is an active site on the surface of a soot particle with terminal H-C bound and
*
Csoot,i is an active radical site on the surface with i and i+1 denoting the size classes.
Reactions 1 through 3 in the HACARC mechanism describe the surface growth
mechanism while (4-5) is for the oxidation. The detailed discussion on HACARC
mechanism can be found in Mauss (1998). The rates of surface reactions can be formulated
as follows:


r 1
r s (14.294)
r , sg   k3 a , f C2 H 2  f 3 a A    M 2 m , r  1, 2,
rk
M
k
k 0  
k
3

 r s
r 1

r , ox   (k4 a O2  k5 OH ) A    M 2 m , r  1, 2,


rk
M
k 0  k 
k 
3

where a is the fraction of surface site ranging from 0 to 1 and ∆m is the change of mass in
one reaction step (i.e., ∆m=1 for surface growth and -1 for oxidation). A is the rate
coefficient factor given by

k1a , f H  k1b , f H  k5 OH  (14.295)


A  
k1a ,b H 2  k1b ,b H 2O k2 H  k3 a , f C2 H 2  f 3 a  k4 O2 
k3 b , f
f 3a  .
k3b , f  k3 a ,b  k4 ,b O2 

Soot Coagulation

CONVERGE 2.4 Manual 539


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

In general (and also in the PM model), coagulation is described by the Smoluchowski


(1917) equation as

 1 i1 
(14.296)
N i ,coag   j ,i j j i j i , j Ni N j .
2 j 1
 N N 
j 1

The frequency factor β depends on the Knudsen number regime. For large Knudsen
numbers, the coagulation rate of moments takes the following form:

 f m  0.5  M 2
M (14.297)
0,coag 0.0 0


0,coag  0
f m
M

 fm   r  
r 1

  k  k ,r  k M 0 .
2
M r , coag
k 1  

The function k ,r  k is evaluated based on a Logarithmic Lagrange interpolation for the


reduced moment, M /M .
r 0

The rate of coagulation in the continuum regime at small Knudsen numbers takes the
following form:

c  2 
0, coag  K  M 0  M 1/3 M 1/3  2.154CS M 1/3 M 0  M 1/3 M 2/3 
M (14.298)

c 
M r , coag  K  2 M k M r  k  M 1 M 1 
k rk
 3 3

 
2.154CS  M 1 M r  k  M k M 1  M k  1/3 M r  k  2/3  M k  2/3 M r  k  1/3   ,
 k 3 rk
3  

1/3
with C =(πρ /6/m ) and K=2k T/3η, where η is the gas viscosity and λ the mean free
s s 1 B
path.

The rate of coagulation valid for the entire regime of Knudsen numbers is then obtained by
forming the harmonic mean of the continuum and free molecular rate as

540 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

M fm M c (14.299)

M 
r ,coag r ,coag
, r  0, 2, 3,
r ,coag  
M r ,coag  M rc,coag
fm

Soot Condensation
In the PM model, soot condensation is modeled as the coagulation of PAH molecules with
soot particles described by the Smoluchowski (1917) equation in the following form:

   
 (14.300)
r , con   i  j   j ,i  j N j N i  i  i , j N j N i .
r P S r P S
M
i1 j 1 i1 j 1

The first term describes the formation of particle of size i, while the second term indicates
the loss of particles of size i due to coagulation with PAHs of all size classes.

By assuming the size of soot particles is much larger than that of PAHs, constant size of
PAHs, the formulation of soot condensation can be simplified to

r 1
 (14.301)
r , con   CLib , con  j
r  k  1/2
M M k  2/3 ,
k 0

where  CLib , con is a prefactor depending on the temperature and PAH formation rate and
M k  2/3 is the broken moment obtained by interpolation of all the moments (Mauss, 1998).

14.2.4 Particulate Size Mimic Soot Model


The PM model is efficient for obtaining detailed soot information such as cell averaged soot
number density and mass, but it does not reveal the particle size distribution function
(PSDF) for each cell. The Particulate Size Mimic model (PSM), based on the discrete
sectional method (Wen et al., 2005; Kumar and Ramkrishna, 1996), can obtain the PSDF
information in addition to the detailed soot information that can also be obtained from the
PM model.

The PSM model is based on the definition of sections containing the particles with the
same volume. The boundary of each section is defined as:

v1,min  vMIN (14.302)


vi ,min  vi1,max , f or  i  1
vi ,min  vi ,max
vi ,mean  ,
2

CONVERGE 2.4 Manual 541


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

where v is the volume of the smallest soot particle considered. In CONVERGE, v


MIN MIN
3
is defined as the volume of the soot precursor (0.4e-27 m for pyrene), while the v is
MAX
defined as the volume of the biggest soot particles (approximately 100 nm in diameter).
Note that you can limit the size of the biggest soot particle by changing the value of the
psm_biggestsoot_diameter parameter in the emissions.in input file. We do not recommend
setting a value above 100 nm. v and v are the boundary soot volume for each
i,min i,max
section.

q (v) is the distribution function of v for each section. The total volume fraction Q for each
i i
section will be

vi ,max
Qi   qi v dv. (14.303)
vi ,min

In CONVERGE the distribution function q (v) for v is presented in the following first-order
i
polynomial:

qi v   qiv  qi (14.304)


 
ki  ki
qi  ,
2

where ki and ki are the slopes of the left and right boundaries of q (v) respectively. These
i
values are calculated so that the soot streams transported through different sections are
conserved. qi is then calculated as

Qi (14.305)
qi   qi vi ,mean .
vi ,min  vi ,max

The maximum boundary is increased using the following non-linear formulation to obtain
high computation efficiency (Netzell, 2007):

v1,max  vMAX  vC 2 (14.306)


i1
 vMAX  imax 1
vi ,max  vMIN  vC 2   .
 vMIN  vC 2 

542 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

Each section in the particulate size mimic model is solved as a global transport passive, as
follows:

 / 
D Q   Q   (14.307)
i
   i    SQi
 SC
Dt    
SQi  Q
  Q
i , pi
   
i ,con  Qi ,sg  Qi , ox  Qi ,coag ,

where SC is the Schmidt number, and SQi represents the source term for each section.
Similar to the PM model, the section source term is coupled with the species source term
and solved using SAGE solver. It is a two-way coupling, which means that the soot
formation will affect the gas phase and system heat release. As with the PM model, in the
PSM model, soot inception, coagulation, condensation and surface reactions are taken into
account.

Soot-related output for the PSM model is written to soot_psm_model.out.


Stages of the PSM Model
Soot Inception
For PSM, the soot inception model is based on the Smoluchowski (1917) equation with
PAH species. By applying the same assumptions as were applied in the PM model, a
simplified formulation was obtained:

  2v  2 (14.308)
Qi , pi PAH f m , pi vPAH  N PAH ,

where v is the volume of the PAH species, β is the collision coefficient for the
PAH f m,pi
PAH species, and N is the number density of the PAH species. Note that nucleation is
PAH
regarded as the first section, while the source term for other sections is zero.

Soot Surface Reactions


CONVERGE applies the HACARC surface reaction model, as described in the PM model
section, in the PSM model. For each section the surface growth rate ∆Q and oxidation
i,sg
rate ∆Q are calculated as (Marchal, 2008):
i,ox

CONVERGE 2.4 Manual 543


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

3 
 3  33 3 
 3   3 
 (14.309)
Qi ,sg   vc 2 3
kd  krev  qi  vi ,max  vi ,min
3
  q  v  v 3
 
 3 
 
i i , max i , min
   
3 
 3  33 3 
 3   3 

Qi ,ox   vc 2 3
kO2  kOH  qi  vi ,max  vi ,min
3
  q  v  v 3
  ,
 3  
i i , max i , min
    

where θ is the fractional dimension of the soot (Marchal, 2008) and k is the reaction rate
coefficient as noted.

Soot Coagulation
In the PSM model, soot coagulation forms in a manner similar to soot condensation. The
formulations for coagulation for each section are given as follows (Marchal, 2008):

Qi ,coag   vk  v j N k N j coag vk , v j   vk N k N i coag vk , vi  (14.310)


vi ,min vk  v j  vi ,max vk  vi  vi ,max

 vi N i  N i coag vi , v j  2 vi N i N i coag vi , vi .


vi  v j  vi ,max

Soot Condensation
In the PSM model, soot condensation will cause the transportation of particles from one
section to the other. Formulations of conserving the concentration and soot mass are
briefly explained as follows. The condensation source term is calculated as

vi ,max
Qi ,cond  vPAH N PAH   f m ,cond vPAH , v n v dv. (14.311)
vi ,min

The concentration of PAHs must be evaluated in order to calculate the above equation.
The PAH volume fraction for the condensation and inception models is calculated as

vi ,max
iMAX (14.312)
RPAH  2  f m , pi vPAH , vPAH N PAH
2
  N PAH   f m ,cond vPAH , v n v dv.
i1 vi ,min

The soot evolution by condensation of the section i results from the difference between the
exit particle before condensation of section i and the entry particle after condensation with
PAH from section i +1:

Qi ,cond  qi,cond  qi,cond , (14.313)

544 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

 
where qi ,cond is the flow of soot particles leaving section i and qi ,cond is the flow of soot
particles entering the section i. The distribution between the sections is then written as

1 (14.314)
qi,cond  Qi ,cond
vi 1,max  vi 1,min ln vi ,max / vi ,min 
1
vi ,max  vi ,min ln vi 1,max / vi 1,min 
1
qi,cond  Qi ,cond .
vi ,max  vi ,min ln vi 1,max / vi 1,min 
1
vi 1,max  vi 1,min ln vi ,max / vi ,min 

The source terms of condensation then become

Q1,cond  qi,cond (14.315)

Qi ,cond  qi,cond  qi,cond , i  2, 3, , i  1



Qimax ,cond  qimax  1,cond .

Note that these expressions are correct when the PAHs only jump from one section to the
next. If the number of sections increases to the point that the section sizes fall below the
size of PAHs, condensation will then be assimilated to the coagulation.
14.2.5 Soot Modeling Case Setup
To activate soot modeling, you must set emissions_f lag = 1 in combust.in and include both a
combust.in and an emissions.in input file. For a complete list of parameters associated with
this file, please refer to Chapter 22.

To set up the Hiroyasu-NSC model in CONVERGE, specify values for the hiroy_* soot
parameters in emissions.in. The Hiroyasu-NSC predicted soot mass is written to the
emissions.out file.

You can use the Hiroyasu-NSC model along with the more detailed soot models. However,
only one detailed or phenomenological soot model may be activated at one time when
coupled with the SAGE solver.

We recommend that you couple the SAGE detailed chemistry solver with all the non-
empirical soot models for the most accurate results. You can simulate detailed soot models
with other combustion models, such as G-Equation (with g_eqn_f lag = 2, 3, 4, or 5 in
combust.in) or RIF. With the detailed soot models, you can activate the iterative solver

CONVERGE 2.4 Manual 545


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

(sage_ode_solver = 1 or 2), the analytical Jacobian (sage_analyt_jac = 1), and adaptive


zoning options (adaptive_zone_bin_dim, et al.)–all activated within combust.in–to speed up
the calculation. Detailed soot modeling is also compatible with dynamic mechanism
reduction (set sage_dmr_f lag = 1 in combust.in).

While the detailed soot models are typically tightly two-way coupled with the SAGE
detailed chemistry solver, you can force detailed soot modeling calculations to run with a
different chemistry solver by setting detailed_soot_f lag = 3 for the PM model and = 4 for the
PSM model.

Phenomenological models provide the soot number density, the soot mass and the soot
mass due to nucleation, surface growth, oxidation and coagulation. You can obtain
averaged soot number density, soot mass, soot size, and the mass for different soot sub-
processes (nucleation, surface growth, oxidation, and coagulation) as output in both the
PM and PSM detailed soot models. When using the PSM model, you can also obtain the
PSDF.

Soot-related output for the phenomenological models is written to phenom_soot_model.out,


for a PM simulation is written to soot_pm_model.out, and output for the PSM model is
written to soot_psm_model.out.
Soot Model Passives
Required Phenomenological Model Passives
The figure below lists the passives that must be included in species.in in order to use the
phenomenological soot models.

546 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

-
-
PASSIVE
soot_num_density 0.78
soot_mass 0.78
c50 0.78 (used for Dalian model only)
nuc_rate 0.78
sg_rate 0.78
ox_rate 0.78
coag_rate 0.78
-
-
Figure 14.34: An excerpt of a sample species.in file that contains passives used by the
phenomenological soot models.

Required PM Model Passives


You must include the passives shown below in Figure 14.35 in species.in in order to use the
PM detailed soot model. Include the number of mr* passives that corresponds to the
number of moments you define via mauss_num_mom in combust.in.

-
-
PASSIVE
mr0 0.78
mr1 0.78
nuc_rate 0.78
sg_rate 0.78
ox_rate 0.78
fr_rate 0.78
con_rate 0.78
coag_rate 0.78
-
-

Figure 14.35: An excerpt of a sample species.in file showing passives used by the PM model.

Required PSM Model Passives


When using the PSM detailed soot model, you must include the passives shown below in
Figure 14.36 in species.in. Include the number of sr* passives that corresponds to the
number of sections you define via num_sootsections in combust.in.

-
-
PASSIVE
sr1 0.78
sr2 0.78
sr3 0.78
sr4 0.78
nuc_rate 0.78

CONVERGE 2.4 Manual 547


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 14
Emissions Modeling |Soot Modeling

sg_rate 0.78
ox_rate 0.78
fr_rate 0.78
con_rate 0.78
coag_rate 0.78
-
-
Figure 14.36: An excerpt of a sample species.in file showing passives used by the PSM model.

Soot Precursors
When using the PM or PSM model, at least one of the following compounds must be
included in the mech.dat file: A4R5, A4 (pyrene), or A3R5- (acephenanphthryl).
CONVERGE searches mech.dat for these compounds (in the order in which they are listed
in the previous sentence) and assigns as the soot precursor the first one of these
compounds that it finds in mech.dat. (For example, A4 will be the soot precursor only if
A4R5 is not included in mech.dat.)

The soot precursor for each phenomenological soot model is hard-coded in CONVERGE.

For the PM, PSM, or phenomenological models, you can add other soot precursors via
custom_soot_precursor_f lag in emissions.in. Set this parameter to 1, specify the number of
additional soot precursors via num_soot_precursor, and then list each additional soot
precursor (on a separate line) with the keyword precursor species. Figure 14.37 below
shows an excerpt of emissions.in.

1 custom_soot_precursor_flag
2 num_soot_precursor
a4 precursor species
c2h2 precursor species
Figure 14.37: Excerpt of an emissions.in file that shows C2H2 as an additional soot precursor.

548 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

15
Turbulence Modeling
Chapter 15
Turbulence Modeling |

15 Turbulence Modeling
Turbulence significantly increases the rate of mixing of momentum, energy, and species.
For a wide variety of applications, it is difficult to attain accurate CFD simulation results
without including a turbulence model.

Turbulence-enhanced mixing is a convective process that results from the presence of


turbulent eddies in the flow. These turbulent eddies occur at many length scales. If a CFD
solver does not contain a discretized domain (grid) that can resolve the smallest eddy
length scales, then the solver cannot entirely account for the enhanced mixing effects of
turbulence in the simulation. Currently it is not practical to resolve all of the length scales
in a typical CFD simulation, and thus turbulence models are used to account for the
additional mixing.

To activate turbulence modeling, set turbulence_solver_f lag = 1 in inputs.in and include the
turbulence.in file in the Case Directory. Table 15.1 below summarizes the turbulence models
available in CONVERGE and their turbulence_model keywords in turbulence.in.

CONVERGE requires turbulence modeling (i.e., you must set turbulence_solver_f lag = 1 and
include the turbulence.in file) when any of the following conditions apply:

· The law-of-the-wall (la) boundary condition for velocity is specified for any boundary in
the surface (refer to Chapter 8 - Boundary Conditions),
· The law-of-the-wall (la) boundary condition for temperature is specified for any
boundary,
· The O'Rourke or TKE-preserving model is specified for turbulent dispersion (i.e.,
turb_dispersion_f lag = 1 or 2 in spray.in), or
· The CTC (Characteristic Time Combustion) model has been enabled (ctc_f lag = 1 in
combust.in).

If you are using CONVERGE Studio to configure the input files, CONVERGE Studio will
automatically activate turbulence modeling when any of the above conditions are true.

Table 15.1: Turbulence models in CONVERGE.


Model Model Name Keyword
Type
RANS Standard k-e RANS_K_EPS_STD

RNG k-e RANS_K_EPS_RNG

Rapid distortion RNG k-e RANS_K_EPS_RNG_RD

Generalized RNG k-e RANS_K_EPS_RNG_GEN

550 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |

Realizable k-e RANS_K_EPS_REAL

RANS_K_EPS_V2F
v2  f

f RANS_K_EPS_ZETAF

Standard k-ω (1998) RANS_K_OMEGA_STD_98

Standard k-ω (2006) RANS_K_OMEGA_STD

k-ω SST RANS_K_OMEGA_SST

LES Upwind LES LES_UPWIND


One-equation viscosity LES_ONE_EQN_VISC

Smagorinsky LES_SMAG

Dynamic Smagorinsky LES_DYN_SMAG

Dynamic structure LES_DYN_STRUCT

Consistent dynamic structure LES_CON_DYN_STRUCT

DES Delayed DES DDES_K_OMEGA_SST

Improved delayed DES IDDES_K_OMEGA_SST

15.1 RANS Models


The following Reynolds-Averaged Navier-Stokes (RANS) turbulence models are available
in CONVERGE: Standard k-e , RNG (Renormalization Group) k-e , Rapid Distortion RNG k-
e (Han and Reitz, 1995), Realizable k-e , Standard k-ω 1998 (Wilcox, 1998), Standard k-ω
2006 (Wilcox, 2006), and k-ω SST. These models are two-equation RANS models in which
the flow variables (e.g., velocity) are decomposed into an ensemble mean and a fluctuating
term as follows:
ui  ui  ui .
   (15.3)
instantaneous velocity ensemble mean f luctuating

To derive the RANS transport equations and averaging, substitute the RANS
decomposition (Equation 15.3) into the Navier-Stokes equations. The compressible RANS
equations for mass and momentum transport are as follows:



u j
 0 (15.4)
t x j

and

CONVERGE 2.4 Manual 551


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models


u
u
u  P    u  u   2 u   
    k  ij     u
i u j ,
 
i j j
i
    i
 (15.5)
t x j xi x j   x j xi  3 xk  x j
   

where the Favre average, ~, is defined for velocity as

   ui .
u (15.6)

i

The ensemble averaging of the equations introduces additional terms called the Reynolds
stresses that represent the effects of turbulence. The Reynolds stress tij is given by


 ij    u 
i uj , (15.7)

which is included in the last term on the right side of Equation 15.5. The turbulence model
must model the Reynolds stress to obtain closure for Equation 15.5.
15.1.1 k-ε Models
Traditionally, RANS models use an effective turbulent viscosity to model the Reynolds
stress term. Thus, additional turbulent diffusion (i.e., diffusive mixing) models the
turbulent convective mixing.

For all two-equation k-e models, the turbulence length scale le is given by

k 3/2
le  C 3/4
 . (15.8)

Standard and RNG k-e Models


The modeled Reynolds stress for the Standard k-e and RNG models is given by

2  
u

 ij    ui u j  2 tSij   ij   k  t i
. (15.9)
3  xi 

The turbulent kinetic energy, k, is defined as half of the trace of the stress tensor:

552 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

1
k ui ui , (15.10)
2

where the turbulent viscosity, mt , is given by

k2
t  C  . (15.11)

In the previous equation, Cm is a model constant that you can tune for a particular flow
and e is the dissipation of turbulent kinetic energy. The mean strain rate tensor Sij is given
by

1  u u 
j
Sij   i . (15.12)
2  x j xi 

The models use turbulent diffusion and turbulent conductivity terms to account for the
presence of turbulence in mass transport and energy transport. The turbulent diffusion
and conductivity terms are

 1 
Dt    t (15.13)
 Sct 

and

 1 
Kt    tCp , (15.14)
Pr
 t

where Sct is the turbulent Schmidt number, Prt is the turbulent Prandtl number, Dt is the
turbulent diffusion, and Kt is the turbulent conductivity.

The standard k-e and RNG k-e models require additional transport equations to obtain the
turbulent viscosity given by Equation 15.11. One equation is needed for the turbulent
kinetic energy, k, and one for the dissipation of turbulent kinetic energy, e . The turbulent
kinetic energy transport equation is given by

CONVERGE 2.4 Manual 553


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

 k  ui k ui    t k Cs
   ij     Ss , (15.15)
t xi x j x j Prk x j 1.5

where the factor of 1.5 is an empirical constant. The transport equation for the dissipation
of turbulent kinetic energy is given by

   ui      t   u
     C 3  i
t xi  
x j  Pr x j  xi
(15.16)
 u 
  C 1 i  ij  C 2   CsSs   S   R ,
 x j k
 

where S is the user-supplied source term and Ss is the source term that represents
interactions with discrete phase (spray). Note that these two terms are distinct. The Cεi
terms are model constants that account for compression and expansion. In the previous
equation, R = 0 for the standard k-e model and

C 3 1   0   2
R (15.17)
1   
3
k

for the RNG k-e model. In Equation 15.17, the expression for η is

k k
 Sij  2Sij Sij . (15.18)
 

To activate the standard k-e , set turbulence_model = RANS_K_EPS_STD in turbulence.in. To


activate the RNG k-e model, set turbulence_model = RANS_K_EPS_RNG.

Rapid Distortion RNG k-e Model


The Rapid Distortion RNG k-e model uses the transport equation for e given by

   ui      t    2 2 k uk  u


      C 1  C 3  C C   i
t xi x j  Pr x j   3 3  xk  xi
(15.19)
 u 
  C 1  C  i  ij *  C 2   CsSs  ,
 x j k
 

554 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

where

 1   /0 
C  (15.20)
1   3

and

1  1 u 
 ij *   ij   ij kk  2 t  S ij   ij k  . (15.21)
3  3 xk 

The source term, Ss, in Equations 15.15, 15.16, and 15.19 is included to account for the
interactions of turbulence with the discrete phase. This term is modeled as

 N p Fdrag
 ,i ui 
p
Ss  
p
, (15.22)
V

where the summation is over all parcels in the cell, Np is the number of drops in a parcel, V
is the cell volume, ui' is the fluctuating component of the gas-phase velocity, and

Fdrag ,i
 ,i 
Fdrag ui , (15.23)
ui  ui  vi 

where Fdrag,i is the drag force on a drop. It is important to note that although the cs model
constant only appears in front of Ss in the e transport equation, setting cs to zero in the
input files actually deactivates the source term in both the k and e equations.

To activate the rapid distortion RNG k-e model, set turbulence_model =


RANS_K_EPS_RNG_RD in turbulence.in.

Generalized RNG k-e Model


The generalized RNG k-e model (Wang et al., 2011) reformulates the closure parameters to
take into account to the dimensionality of the flow strain rate (i.e., unidirectional and
omnidirectional compression have closure terms with different values). These reformulated
closure parameters model the impact of bulk flow compression and expansion. The
transport equation for turbulent dissipation is written as

CONVERGE 2.4 Manual 555


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

D   2 2
  C1 P  C1  t   u  C2 n    R  C3    u  dif f usion, (15.24)
Dt k k k

where the model parameters are calculated according to

 2 
C1  a  1  C1 
 3 

C2 n  b0  b1n  b2 n2 (15.25)

n1 2 2(1  a)
C3    C1  C C (1) ,
n 3 3

where Cη shares the Rapid Distortion RNG definition of Equation 15.20. Coefficients in
these calculations are derived from compressible and incompressible jet flows (Wang et al.,
2013) and take the following values.

Table 15.2: Model Coefficients for the Generalized RNG k-ε Model.
Parameter Value
C1 1.42

Cμ 0.0845

αk 1.39

αε 1.39

η0 4.38

B 0.012

b0 2.0725

b1 -0.3865

b2 0.083

To activate the generalized RNG k-e model, set turbulence_model =


RANS_K_EPS_RNG_GEN in turbulence.in.

Realizable k-e Model

556 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

In some simulations, such as when the mean strain rate is high, standard k-e models can
produce negative values for turbulent kinetic energy. Such a result is non-realizable (non-
physical). The Realizable k-e model in CONVERGE imposes realizability constraints to
ensure the non-negativity of turbulent normal stresses and that the results do not violate
Schwarz’s inequality (Shih et al., 1995). As a result, the turbulent kinetic energy calculated
by the Realizable k-e model is always a physically realistic value. The Realizable k-e model
works well for rotational flows.

An important difference between the Realizable k-e model and the Standard and RNG k-e
models is that while the expressions for turbulent viscosity are the same (see Equation
15.13), the model constant Cμ for the Realizable k-e model varies as a function of k, e , and
U* (friction velocity). Equation 15.26 below defines Cμ for the Realizable k-e model:

1
C  ,
kU* (15.26)
A0  As

where A 0 and A s are model constants and U* is the friction velocity. The friction velocity is
a function of the strain rate Sij and the rotation rate Ωij , which are defined below in
Equation 15.27:

U*  Sij Sij  ij ij (15.27)

The transport equation for turbulent kinetic energy, k, in the Realizable k-e model is the
same as the transport equation for the standard and RNG models (given by Equation
15.17). For turbulent dissipation, however, the transport equation is

   ui    t   
        C1  S
t xi x j     x j 
(15.28)
2 
- C2   C1 C3 Pb  S .
k   k

Equation 15.28 above includes additional model constants C2 and C3e. The production
term, Pb, is the same as that for the standard k-e model. The model constants and auxiliary
functions included in Equations 15.26 and 15.28 are

CONVERGE 2.4 Manual 557


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

1
A0  4.0 As  6 cos   cos1 ( 6W )
3
Sij Sjk Ski (15.29)
W S  Sij Sij
S 3
C2  1.9 C1  1.44 C3  1    1.2

Analysis of experimental results from boundary layer and shear flows reveals that the
constant C1 is a function of the time-scale ratio of the turbulence to the mean strain.
Equation 15.30 below gives the expression for C1:

  
C1  max 0.43,
 5   
(15.30)
Sk
 S  2Sij Sij

where η is the mean strain.

To activate the realizable k-e model, set turbulence_model = RANS_K_EPS_REAL in


turbulence.in.
v2-f Model

The v  f (v2-f) model in CONVERGE is a subset of the previously described k-e models.
2

As with the k-e models, the v2  f model represents the Reynolds stress term tij via an
effective turbulent viscosity. The formulations for the Reynolds stress term and the
production term P in the v  f model are the same as those for the standard k-e models
2

(described in Equation 15.11). In addition to the transport equations for k and e , the
v2  f model solves transport equations for velocity variance normal to the streamline, v2
, and elliptic relaxation function, f . By introducing the velocity variance, the v  f
2
model
accounts for the damping of turbulence transport near walls or other impermeable
boundaries. The elliptic relaxation function f models the anisotropic wall effects.
Additionally, this model represents the near-wall effects of pressure-deformation
fluctuations.

To evaluate the eddy viscosity, this model uses the velocity variance. The formulation for
turbulent viscosity mt is

558 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

t  C  v2T. (15.31)

The transport equation for v2 in compressible form is

 v 2  v 2 v2       v2 
 Uj  k f      t  . (15.32)
t x j k x j   2  x j 

 v 

For the elliptic relaxation function, f , the transport equation is

C1  1  v2 2  P
L2 2 f  f      C2 k . (15.33)

T  k 3  

The turbulence length scale L (from Equation 15.33) is

 k 3/2  3  
1/4

L  CL max  , C    . (15.34)
     

The formulation for the time-scale, T, imposes an upper bound on the traceless portion of
the production term:

 k   1/2 
T  max  , 6    . (15.35)
     

Finally, the model coefficients present in Equations 15.33–15.34 are

C  0.22 C 2  1.9
k  1    1.3
(15.36)
C1  1.4 C2  0.3
CL  0.23 C  70

and

CONVERGE 2.4 Manual 559


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

 1/2

C 1  1.4  1  0.05 k / v2   . (15.37)
 

This model is subject to the stagnation point anomaly – when flow impinges on a surface
(e.g., near the leading edge of an airfoil), over-prediction of turbulent kinetic energy and
eddy viscosity may occur. To avoid this phenomenon, the v  f
2
model in CONVERGE
uses a realizability constraint on the production of turbulent kinetic energy and turbulent
dissipation. The constraint on production is

kS
P (15.38)
6

Note that for this model, you do not have to explicitly supply boundary conditions for v2
and f . Instead, supply boundary conditions for k and e and CONVERGE determines the
appropriate boundary conditions from these inputs.

To activate the v  f
2
model, set turbulence_model = RANS_K_EPS_V2F in turbulence.in.
Additionally, include the passives RANS_V2 and RANS_F under the PASSIVE_NT section
in species.in.
ζ-f Model

As with the v  f model, the   f


2
(zeta-f) model in CONVERGE is a subset of the
previously described k-e models. The main function of the   f model is to improve the
computational performance of the v  f model, specifically with regards to sensitivity to
2

the near-wall grid fidelity. Instead of solving a transport equation for velocity variance
scale ( v2 ), this model solves a transport equation for velocity scales ratio, ζ.
Additionally, this model applies a quasi-linear pressure-strain model in the f equation.

The definition of the velocity scales ratio, ζ, is

v2
  . (15.39)
k

The turbulent viscosity, mt , is

t  C  kT. (15.40)

560 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

The transport equation for ζ is

       
f  P    t  . (15.41)
t xk  
k   xk 

Note that for the   f model, CONVERGE still solves the k and e transport equations.
The e equation, however, is modified to impose the Kolmogorov time- and length-scales as
lower bounds on turbulence dissipation. Equation 15.42 below describes the e equation
and the time- and length scale formulations, respectively.

 C 1P  C 2     t   
     
t  x j     x j 
k  
1/2

T  max  , C    (15.42)
    
 k 3/2 
L  CL max  ,
  

For the elliptic relaxation function, f , the transport equation is

L2 2 f  f 
1  P    2 .
 c1  C2   (15.43)
T   3

Note that for this model, you do not have to explicitly supply boundary conditions for ζ
and f . Instead, supply boundary conditions for k and e and CONVERGE determines the
appropriate boundary conditions from these inputs.

To activate the   f model, set turbulence_model = RANS_K_EPS_ZETAF in turbulence.in.


Additionally, include the passives RANS_ZETA and RANS_F under the PASSIVE_NT
section in species.in.
Buoyancy Effects in k-ε Models
Buoyancy effect modeling is available with k-e turbulence models in CONVERGE. These
effects are modeled by an extra term Pb in the turbulence transport equations,

CONVERGE 2.4 Manual 561


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

 k  kuj ui    k 
   ij  Pb       Ss (15.44)
t x j x j x j  Prk x j 

and

  uj      uk


     C 3 
t x j x j  Pr x j  xk
(15.45)
 ui 
  C 1 ij  C 1C b Pb  C 2   CsSs    R.
 x j k
 

The additional term Pb is calculated according to

t  g i  
Pb   , (15.46)
Prt   xi 

where mt is the turbulent viscosity, Prt is the turbulent Prandtl number, and xi is the gravity
vector.

In Equation 15.45, the coefficient Cεb determines the degree to which ε is affected by
buoyancy, and is calculated based on the local flow condition according to

ut
C b  tanh , (15.47)
un

where ut is the magnitude of the velocity component that is parallel to the gravity direction
and un is the magnitude of the velocity component that is perpendicular to the gravity
direction.

In most flows, buoyancy effects are negligible, and you do not need to direct CONVERGE
to account for buoyancy effects. For cases like natural convection in which buoyancy is
important, you can activate the buoyancy model by setting buoyancy_f lag in turbulence.in.
Since the buoyancy effects on k are well understood but the effects on e are less clear,
CONVERGE provides two options for buoyancy_f lag. For buoyancy_f lag = 1, the Pb term is
applied only to Equation 15.44, the k transport equation. For buoyancy_f lag = 2, the Pb term
is applied to both Equations 15.44 and 15.45, the e transport equation.

562 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

CONVERGE accounts for the buoyancy effects based on the provided gravity_x, gravity_y,
and gravity_z in inputs.in. The buoyancy model is only available for k-e turbulence models.
15.1.2 k-ω Models
As with the RANS k-ε models, each of the k-ω models in CONVERGE uses an effective
turbulent viscosity to model the Reynolds stress term τij . The expression for the Reynolds
stress used in the k-ω models is:

 2 u  2
 ij  t  2Sij   ij k
   k ij . (15.48)
 3 x k  3

Each k-ω model uses a different formulation for the effective turbulent viscosity (μt). To
obtain the turbulent viscosity, CONVERGE must solve two additional transport equations:
one for the transport of turbulent kinetic energy k and one for the transport of specific
dissipation rate ω. All of the k-ω models in CONVERGE use the same definition of
turbulent kinetic energy as the RANS k-ε models (see Equation 15.29). The following
sections list the formulations of ω, the transport equations for k and ω, and the associated
model constants for each k-ω model.

For all two-equation k-ω models, the turbulence length scale le is given by

k 1/2
le  . (15.49)
C3/4

Standard k-ω (1998)


One of the k-ω models available in CONVERGE is the k-ω model of Wilcox (1998). This
model defines the turbulent viscosity as

k
t  . (15.50)

The transport equation for k is

 k  uj k   k 
  P   *  k     k t   (15.51)
t x j x j  x j 

and the transport equation for ω is

CONVERGE 2.4 Manual 563


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

  uj      
  P   2      t  . (15.52)
t x j k x j  x j 

The equations below define the mean strain rate tensor Sij and the production term P:

1  u u 
j
Sij   i 
2  x j xi 
(15.53)

u
P   ij i
.
x j

The model constants included in Equations 15.51 and 15.52 are

13
 k  0.5    0.5  
25
 *   0* f  * 0*  0.09
9
  0 f  0 
125
 1 ( k  0) (15.54)
 1 k 
f *   1  680  k2 k  3
 1  400  2 ( k  0)  x j x j
 k

1  70   ij  jk Ski 1  ui uj 


f     ij    .
1  80   0  
* 3
2  x j xi 

Finally, the equation for the model constant a is

 0   2
  . (15.55)
 0*  0*

Note that this model uses a value of a chosen to yield an appropriate value for the Kármán
constant (κ ≈ 0.41) via the expression in 15.55.

To activate the standard k-ω model (1998), set turbulence_model =


RANS_K_OMEGA_STD_98 in turbulence.in.

564 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

Standard k-ω (2006)


CONVERGE also includes the k-ω model of Wilcox (2006). This model defines turbulent
viscosity as

k
t  , (15.56)
ˆ

where

 2Sij* Sij* 
ˆ  max  , Clim  (15.57)
 * 
 

and

1 uk
Sij*  Sij   ij . (15.58)
3 xk

The transport equation for k is the same as that in the 1998 model (given by Equation
15.51). The transport equation for ω, however, includes an additional term:

  uj      k     d k 
  P   2         , (15.59)
t x j k x j    x j   x j x j

where Equation 15.53 gives the expressions for the mean strain rate tensor and the
production term.

Finally, the model constants and auxiliary functions included in Equations 15.51 and 15.59
are

CONVERGE 2.4 Manual 565


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

13
 k  0.6    0.5  
25
7
 *  0.09 Clim 
8
  0 f   0  0.0708
(15.60)
1  85   ij  jk Sˆ ki 1 um
f    Sˆ ki  Ski   ki
1  100   0  
* 3
2 xm

 0 ( k  0) 1 k 
d   k  3 .
0.125 ( k  0)  x j x j

As with the k-ω (1998) model, the equation for a is

 0   2
 * (15.61)
0  0*

and the a coefficient yields an appropriate value for the Kármán constant (κ ≈ 0.41) via
the expression in Equation 15.61.

To activate the standard k-ω model (1998), set turbulence_model = RANS_K_OMEGA_STD


in turbulence.in.

k-ω SST
The RANS k-ω shear stress transport (SST) model available in CONVERGE combines the
advantages of a standard k-ω model and a standard k-ε model (Menter et al., 2003). In
general, the k-ω SST model performs well when simulating external flows but is not used
for simulations involving combustion.

The k-ω SST model in CONVERGE expresses the turbulent viscosity as

 a1 k
t  , (15.62)
max a1 , SF2 

where

S  2Sij Sij . (15.63)

566 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

Like the k-ω (2006) model, the transport equation for k is the same as that in the 1998
model (given by Equation 15.51). The transport equation for ω is

  uj         2 k 
  P   2      t    2 1  F1  . (15.64)
t x j t x j  x j   x j x j

The expression for the mean strain rate tensor Sij is the same as that in Equation 15.52. The
expression for the production term P, however, differs from that used in the k-ω (1998)
and k-ω (2006) models. Equation 15.65 below defines the production term for the k-ω SST
model:

 ui 
P  min  ij , 10 *  k  . (15.65)
 x j 

Each constant in the transport equations for k and ω (such as σk) is a blend of inner
(denoted by the subscript 1) and outer (denoted by the subscript 2) constants. For some
constant f , Equation 15.66 below defines the blending function:

  F11  (1  F1 )2 . (15.66)

CONVERGE calculates F1 and F2 using the expressions below:

   k 500  4   2 k 
4

F1  tanh  min max  * , 2 , 2 


    d d   CDkw d  

(15.67)
  k 500 
2

F2  tanh  max  2 * ,  ,
    d d2  
 

where

 1 k  
CDk  max  2   2 , 1010  . (15.68)
  x j x j 

Finally, Equation 15.69 below defines the inner and outer model constants used in the k-ω
SST model:

CONVERGE 2.4 Manual 567


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

5
1   2  0.44
9
 k 1  0.85   1  0.500  1  0.075
(15.69)
 k 2  1.00   2  0.856  2  0.0828 .
 *  0.09   0.41  1  0.31

To activate the standard k-ω model (1998), set turbulence_model = RANS_K_OMEGA_SST


in turbulence.in.
15.1.3 RANS Boundary Conditions
When you activate a k-e turbulence model, you must specify boundary conditions for the
turbulent kinetic energy and turbulent dissipation equations. When you activate a k-ω
turbulence model, you must specify boundary conditions for the turbulent kinetic energy
and specific dissipation rate equations. The following sections describe these boundary
conditions.

Note that some RANS models employ the law-of-the-wall model to calculate quantities
within the boundary layer. Refer to Chapter 8 - Boundary Conditions for more
information.
k-ε Boundary Conditions
Turbulent Kinetic Energy Boundary Conditions
There are three types of INFLOW/OUTFLOW boundary conditions available for the
turbulent kinetic energy (TKE) equation: Dirichlet (di), turbulence intensity (in), and
Neumann (ne). The Dirichlet and Neumann boundary conditions are not unique to the
turbulence models and are explained in detail in Chapter 8 - Boundary Conditions.

To use a turbulence intensity boundary condition, specify the keyword in followed by the
turbulence intensity value after the keyword tke for the desired boundary in boundary.in.
The turbulence intensity is a special case of a Dirichlet boundary condition. For the
turbulence intensity condition, the boundary TKE is given as

3 2 2
k ui I , (15.70)
2

where k is the turbulent kinetic energy and I is the turbulence intensity. The turbulence
intensity is usually set to a value between 0.01 and 0.10.

568 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

For a WALL boundary type there is only one valid boundary condition for the turbulent
kinetic energy: Neumann. Thus, the WALL boundary condition for the turbulent kinetic
energy equation is given as

k
 0.0, (15.71)
n

where k is the TKE and n is the wall normal vector.

Turbulent Dissipation Boundary Conditions


There are three types of INFLOW/OUTFLOW boundary conditions available for the
turbulent dissipation (eps) equation: Dirichlet (di), Neumann (ne), and turbulence length
scale (le). The Dirichlet and Neumann boundary conditions are not unique to the
turbulence models and are explained in detail in Chapter 8 - Boundary Conditions.

The turbulence length scale is a special case of a Dirichlet boundary condition. For this
case, the boundary turbulent dissipation is given as

c3 4 k 3 2
 , (15.72)
le

where cm is a model constant (usually 0.09), k is the turbulent kinetic energy, and le is the
turbulent length scale. The length scale can sometimes be estimated from a physical
dimension in the domain. For example, while simulating flow in a duct, the length scale
could be set to a fraction of an intake duct diameter.

For a WALL boundary type, there are two types of boundary conditions available for
turbulent dissipation (Neumann and Dirichlet). The Dirichlet boundary condition is
unique to the turbulent dissipation equation. The e Dirichlet WALL boundary condition is

c0.75 k 1.5
 , (15.73)
y

where e is the turbulent dissipation in the center of the near wall cell (not at the wall
surface), y is the distance from the wall to the middle of the cell, cm is a turbulence model
constant, and k is Karmen’s constant.

Wall Treatments

CONVERGE 2.4 Manual 569


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

In some simulations, the grid density required to resolve the viscous sub-layer may be
prohibitively expensive. CONVERGE can model the under-resolved viscous sub-layer using
one of several wall treatments for the turbulent dissipation e .

The standard wall function (keps_near_wall_treatment = 0) makes use of the law-of-the-


wall assumption for velocity in the log-law region of a turbulent boundary layer. To
calculate the value of specific dissipation rate at the cell centroid (e p ) of a cell adjacent to a
solid wall, CONVERGE solves the equation below:

C3/4 kP3/2
p  , (15.74)
 yP

where y p is the distance from the wall to the cell centroid. Note that the standard wall
function assumes that the cell adjacent to a wall lies in the log-law region of the boundary
layer.

The scalable wall function (keps_near_wall_treatment = 1) relaxes the log-law assumption of


the standard wall function. If the cell adjacent to the wall lies in the buffer region of the
boundary layer (below the log layer), the influence of the wall function is scaled down to
recover the proper boundary layer behavior. CONVERGE solves the same equation for e p ,
but replaces the cell centroid distance y p with a scaled distance,

C3/4 kP3/2
p  ,
 yP* (15.75)
y P  MAX(y P , y P
* lim
),

where yPlim = 11.05. With this formulation, if the first cell centroid distance is within the
log-law region of the boundary layer, the scalable wall function identically reproduces the
behavior of the standard wall function.

The non-equilibrium wall function (keps_near_wall_treatment = 2) of Kim and Choudhury


(1995) is a more complex model that does not assume an equilibrium boundary layer. This
model is suitable for flows that have strong pressure gradients in the neighborhood of the
boundary layer. The model assumes that the wall-neighboring cells have a velocity profile
that is comprised of a viscous sublayer and a log-law turbulent layer. CONVERGE uses
this two-layer approach to compute the turbulent kinetic energy budget in the wall-
neighboring cells. Mean temperature and species mass fraction are solved with the
standard wall function.

570 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

The generalized log-law for mean velocity is written,

 1/4 k 1/2
UC 1  C k y 
1/4 1/2

 ln  E  , (15.76)
w /    

where

  U  1 dp  y v ln  y   y  y v  y v  ,
2
U   (15.77)
2 dx   k  y v   k  

and y v is the thickness of the viscous sublayer, which is calculated from

 y v*
yv  , (15.78)
C1/4 kP1/2

where y v* is equal to 11.05. Model parameters and definitions take the forms,

t   w ,
k  kP ,
(15.79)
k 3/2
ò * ,
Cl y

Cl*   C3/ 4
where .

k-ω Boundary Conditions


Turbulent Kinetic Energy Boundary Conditions
There are three types of INFLOW/OUTFLOW boundary conditions available for the
turbulent kinetic energy (TKE) equation: Dirichlet (di), turbulence intensity (in), and
Neumann (ne). The Dirichlet and Neumann boundary conditions are not unique to the
turbulence models and are explained in detail in Chapter 8 - Boundary Conditions.

To use a turbulence intensity boundary condition, specify the keyword in followed by the
turbulence intensity value after the keyword tke for the desired boundary in boundary.in.
The turbulence intensity is a special case of a Dirichlet boundary condition. For the
turbulence intensity condition, the boundary TKE is given as

CONVERGE 2.4 Manual 571


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

3 2 2
k ui I , (15.80)
2

where k is the turbulent kinetic energy and I is the turbulence intensity. The turbulence
intensity is usually set to a value between 0.01 and 0.10.

For a WALL boundary type there is only one valid boundary condition for the turbulent
kinetic energy: Neumann. Thus, the WALL boundary condition for the turbulent kinetic
energy equation is given as

k
 0.0, (15.81)
n

where k is the TKE and n is the wall normal vector.

Specific Dissipation Rate Boundary Conditions


There are three types of INFLOW/OUTFLOW boundary conditions available for the
specific dissipation rate (omega) equation: Dirichlet (di), Neumann (ne), and turbulence
length scale (le). The Dirichlet and Neumann boundary conditions are not unique to the
turbulence models and are explained in detail in 8 - Boundary Conditions.

The turbulence length scale is a special case of a Dirichlet boundary condition. For this
case, the boundary specific dissipation rate is

k1 2
  1/4 , (15.82)
C le

where cm is a model constant (usually 0.09), k is the turbulent kinetic energy, and le is the
turbulent length scale. The length scale can sometimes be estimated from a physical
dimension in the domain. For example, while simulating flow in a duct, the length scale
could be set to a fraction of an intake duct diameter.

For a WALL boundary type there is only one valid boundary condition for the specific
dissipation rate: Neumann. Thus, the WALL boundary condition for the specific dissipation
rate equation is given as


 0.0, (15.83)
n

572 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

where ω is the specific dissipation rate and n is the wall normal vector.

Wall Treatments
In some simulations, the grid fidelity required to resolve the viscous sub-layer may be
prohibitively expensive. In these cases, use one of the wall treatments for the specific
dissipation rate (ω) in order to model the under-resolved viscous sub-layer.

The standard wall function (komega_near_wall_treatment = 0) makes use of the law-of-the-


wall assumption for velocity in the log-law region of a turbulent boundary layer. Note that
this wall function assumes that the cell adjacent to a wall lies in the log-law region. To
calculate the value of specific dissipation rate at the cell centroid (ωp ) of a cell adjacent to a
solid wall, CONVERGE uses the equation below:

 kp
p   (15.84)
C  y p C1/4 y p

An automatic wall treatment (komega_near_wall_treatment = 1) in CONVERGE uses a


blend of the known solutions for ω in the viscous sub-layer and the log-law region to
calculate the specific dissipation rate at the cell centroid (ωp ) in the cell adjacent to a solid
wall. Therefore, the near wall mesh must be fine enough such that the first cell adjacent to
the wall lies between the viscous sub-layer and the log-law region. Equation 15.85 below
gives the solution for ω in the viscous sub-layer and log-law regions, respectively:

6 kp
visc  log  (15.85)
 y2 C  yp
1/4

where y p is the distance from the wall to the cell centroid. CONVERGE blends the viscous
and log-law solutions with the following equation:

p  vis
2
 log
2
(15.86)

To use the automatic wall treatment (described above) with Wilcox's low Reynolds number
corrections, set komega_near_wall_treatment = 2. This wall treatment calculates ωp via
Equations 15.86 and 15.85, but includes low Reynolds number corrections.

CONVERGE 2.4 Manual 573


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

If you enable the Menter's wall boundary conditions as the wall treatment
(komega_near_wall_treatment = 3), CONVERGE uses the following expressions for k and ω
at a WALL boundary:

kwall  0
6 (15.87)
wall  10 2
.
 1 d1 

15.1.4 RANS Input Parameters


Typical values for the k-e turbulence model constants differ based on which model you
choose. Table 15.3 lists typical values for each of the models.

Table 15.3: RANS k-e parameters and typical values.


Coefficient Parameter Standard k-e RNG k-e / Rapid Distortion Realizable k-e
RNG k-e

Cm keps_cmu 0.09 0.0845 0.09

1/Prk keps_rpr_tke 1.0 1.39 1.0

1/Prt keps_rpr_eps 0.77 1.39 0.833

ce1 keps_ceps1 1.44 1.42 1.44

ce2 keps_ceps2 1.92 1.68 1.9

ce3 keps_ceps3 -1.0 -1.0 -1.0

b keps_beta N/A 0.012 0.012

h0 keps_eta0 N/A 4.38 4.38

cs discrete_c_s 0.0 0.0 0.0

cps discrete_c_ps 0.03 0.03 0.03

Table 15.4 lists typical values for the constants in the v  f and   f model
2

formulations for each of the models.

Table 15.4: RANS v2 -f and ζ-f parameters and typical values.


Coefficient Parameter v2 -f ζ-f
Cm keps_v2f _cmu 0.22 0.22

C1 keps_v2f _c1 1.4 0.4

574 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |RANS Models

Coefficient Parameter v2 -f ζ-f


C2 keps_v2f _c2 0.3 N/A

CL keps_v2f _cl 0.23 0.36

Cη keps_v2f _ceta 70 85

1/ζ keps_zetaf _rpr_ze N/A 1.0


ta

C2' keps_zetaf _c2pri N/A 0.65


me

Select appropriate values for the turbulence model constants based on which k-ω model
you choose. Table 15.5 lists typical values for each of the k-ω models.

Table 15.5: RANS k-ω parameters and typical values.


Coefficient Parameter k-ω (1998) k-ω (2006) k-ω (SST)
Cm komega_cmu 0.09 0.09 0.09

1/Prk komega_rpr_tke 0.5 0.6 0.85

1/Prω komega_rpr_omega 0.5 0.5 0.5

a komega_alpha 13/25 13/25 5/9

β komega_beta 0.0702 0.0708 0.075

Clim komega_clim N/A 0.875 N/A

a1 komega_sst_a1 N/A N/A 0.31

1/Prk,2 komega_rpr_tke_outer N/A N/A 1.0

1/Prω,2 komega_rpr_omega_outer N/A N/A 0.856

a2 komega_alpha_outer N/A N/A 0.44

β2 komega_beta_outer N/A N/A 0.0828

N/A komega_near_wall_treatment 0 = Use standard wall function (log law) for ω,


1 = Use enhanced wall function: low Reynolds
number model,
2 = Use enhanced wall function with Wilcox's
low Reynolds number corrections,
3 = Menter's wall boundary conditions.

CONVERGE 2.4 Manual 575


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |Reynolds Stress Models

15.2 Reynolds Stress Models


The Reynolds stress models (RSM) in CONVERGE solve the model transport equations for
the Reynolds stresses uiuj themselves. In addition, these models solve an equation for a
quantity that provides either a length- or time-scale for the turbulence (usually e or ω
[Hanjalic and Launder, 2011]). This approach is more direct than that employed by the
turbulent viscosity models discussed previously.

Since the RSM approach obviates the use of the isotropic turbulent-viscosity hypothesis,
the RSM approach usually is more suitable for simulating complex turbulent flows
involving strong anisotropy (e.g., flows with mean streamline curvature, strong swirl, or
mean rotation; secondary flows in ducts; and flows with rapid variations in the mean flow
[Pope, 2010]). For a fully three-dimensional flow, CONVERGE solves an independent
equation for each of the six Reynolds stresses and for the dissipation rate.

It is important to note that even though the transport equations for the Reynolds stresses
can be written in exact form, some of the terms in those equations are unknown and need
to be modeled in order to ensure closure of the system. This requirement leads to certain
situations in which the RSM approach might not give results that are superior to the
simpler (and less computationally expensive) turbulent-viscosity models. It is, however,
imperative that flows that involve significant Reynolds-stress anisotropy be solved using
the RSM approach.

We obtain the exact transport equations for the Reynolds stresses from the Navier-Stokes
equations and write the Reynolds stress transport equations as


ui uj 
uk  u      
i uj 
t

x j

xk
 u
kj ui   ik u j 
u u  p 
i j
 k 
xk  xk
 u
i u j 
 

   
DT , ij DM , ij

 (15.88)
  uj  ui   u u  
ui uj
  ui uk  uj uk   P  i
 i
  2  ,
x x  x x  x x

 k k   j j 
 k
k


Pij  ij  ij

where Cij represents the convective term, DT,ij is the turbulent diffusion term, DM,ij is the
molecular diffusion term, Pij is the stress production term, f ij is the pressure-strain term,
and εij is the dissipation term. We must model the turbulent diffusion (DT,ij ), Pressure–Rate-
of-Strain (f ij ), and the dissipation (εij ) terms in order to close the equations, while the rest
of the terms do not require modeling. The following sections discuss the modeling
assumptions used for evaluating DT,ij , f ij , and εij .

576 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |Reynolds Stress Models

Modeling the Turbulent Diffusion Term


Various studies indicate that the turbulent diffusion term is in general smaller compared to
the other terms. Also, within the turbulent diffusion term, the contribution of the pressure-

p  kj ui   ik uj 
velocity correlation, , is small enough to safely neglect [2, 3]. We then

uu u
model the triple velocity correlation, i j k , using the eddy viscosity hypothesis (Lien &
Leschziner, 1996). This approach adopts the same isotropic diffusivity concept as does the
standard k-e model. Equation 14.89 gives the equation for this model:

  
   t  ui uj 
DT , ij  (15.89)
xk   k xk 
 

T   C k 2 /  
where the effective turbulent viscosity , k2 is the turbulent kinetic energy.
Table 14.6 gives the values of the constants σk and Cμ. The EVH model assumes isotropic
stress-diffusion and leads to a more numerically stable implementation compared to other
models for the turbulent diffusion term (Siow, 2003).

Modeling the Pressure–Rate-of-Strain Term


The Pressure–Rate-of-Strain term f ij serves to redistribute energy among the Reynolds
stresses and is generally considered to be the most important in terms of modeling.
CONVERGE uses the SSG model (Speziale, Sarkar, and Gatski, 1991) or the LRR
(Launder-Reece-Rodi, formulation of Gibson and Launder, 1975) model to evaluate f ij .

The SSG model calculates f as


ij

 1 
ij    C1  C1* Pk bij  C2   bik bkj   ij bklbkl    C3  C3*  b kSij *
 3 
, (15.90)
 2 
C4  k  bik S 'jk  bjk S 'ik   ij bklS 'kl   C5  k bik W 'jk  bjk W 'ik 
 3 

where the Reynolds-stress anisotropy tensor, bij , is


u 
i uj  1  ij uk uk 
bij  3 , (15.91)
uu
k k

CONVERGE 2.4 Manual 577


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |Reynolds Stress Models

and the strain rate tensor, Sij *, is

1
Sij *  S 'ij -   ij .
Skk (15.92)
3

The LRR model calculates f as the sum of four terms:


ij

ij  ij 1ij 2 ijw 1 ijw 2 . (15.93)

The first term, known as the slow (return to isotropy) term, is calculated according to the
proposal of Rotta (1951):

 1 
ij 1  C1  ui 'uj '   ij uk 'uk ' . (15.94)
k 3 

The second term, known as the fast term, is the second term of the LRR model:

 1 
ij 2  C2  Pij   ij Pkk  . (15.95)
 3 

The third and fourth terms are wall reflection terms. There is a corresponding wall
reflection term for each of the slow term and the fast term. The wall reflection term f
ijw1
corresponds to the slow term, and is calculated as proposed by Shir (1973):

    C k 
3/4
3/2
3 3
ijw 1  C1w  uk umnk nm ij  ui uj n j nk  uj uk ni nk  
       , (15.96)
k  2 2     dw 

where ni is the unit vector normal to the wall and dw is the distance to the wall.

The wall reflection term associated with the fast term was proposed by Gibson and
Launder and has the form

  C k 
3/4 3/2
 3 3
ijw 2  C2 w  km 2 nk nm ij  ik 2 n j nk   jk 2 ni nk   . (15.97)
 2 2     dw 

578 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |Reynolds Stress Models

Table 15.6 lists the values of the various constants for the SSG model.

Table 15.6: SSG model constants.


Model Constant Value

σk 1.0

Cμ (SSG) 0.0986

C1 3.4

C1* 1.8

C2 4.2

C3 0.80

C3* 1.3

C4 1.25

C5 0.4

Table 15.7 lists the values of the various constants for the LRR model.

To activate the SSG model, set turbulence_model = RANS_RSM_SSG_EPS in turbulence.in.

Table 15.7: LRR model constants.


Model Constant Value

σk 1.0

Cμ 0.0655

C1 1.8

C2 0.6

C1w 0.5

C2w 0.3

To activate the LRR model, set turbulence_model = RANS_RSM_LRR_EPS in turbulence.in.

Modeling the Dissipation Term


For the dissipation rate, we use the following model:

CONVERGE 2.4 Manual 579


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |Reynolds Stress Models

     uk  2  u
    C 1  C 3   i 
t xk 3  xi
(15.98)
  t    
      C 1 Pk  C 2  
x j     x j  k

This form of the dissipation equation accounts for the length-scale changes due to velocity
dilation (Amsden et al., 1989). Table 15.8 lists the values of the constants in this dissipation
equation.

Table 15.8: Dissipation term model constants.


Model Constant Value

Cε1 1.44

Cε2 (SSG) 1.83

Cε2 (LRR) 1.92

Cε3 -1.0

σε 1.3

Boundary Conditions and Initialization


Near the wall, the Reynolds shear stress is corrected according to the Boussinesq
assumption:

 u uj 2 u  2
  ui uj  t  i    ij k
   k ij . (15.99)
 x x 3 x  3
 j i k 

The Reynolds normal stress is set as zero-gradient (i.e., Neumann) without a correction,
which is consistent with the TKE wall boundary condition.

The Reynolds stress and shear stress require initialization values. If information about
these stresses is available (i.e., starting a simulation from a restart file or a map file), the
stresses are initialized to those values. If CONVERGE does not have this information
available, the Reynolds stress is initialized at 2/3 of the local tke, and the shear stress is
initialized at zero.

580 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |LES Models

15.3 LES Models


A key difference between LES and RANS models is how the fields are decomposed for
modeling. For a RANS approach, the field is decomposed into an ensemble mean and a
fluctuating component (see Equation 15.77). In the LES approach, the field is decomposed
into a resolved field and a sub-grid field as follows:

ui  ui  ui ,
   (15.100)
velocity resolved f ield sub grid f ield

where the over-bar indicates the resolved field and the prime indicates the sub-grid field.
The resolved velocity field is defined as a spatial average of the actual velocity field, which
differs from the RANS approach, where the mean velocity field is an ensemble average.
Because of these decomposition differences, the LES filter has properties, unlike RANS,
given by

ui  ui (15.101)

and

ui'  0. (15.102)

If the LES decomposition is applied to the conservation of momentum equation, the


following LES equation can be derived:


 u u
 u  P  ij  ij
i j
i
    (15.103)
t x j xi x j x j

where

   ui ,
u (15.104)

i

and


 ij   u 
i u j  ui u j . (15.105)

CONVERGE 2.4 Manual 581


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |LES Models

Most LES models focus on modeling the expression for the sub-grid stress tensor, tij , given
above. However, it is also possible to allow upwinding (i.e., numerical viscosity) to be used
as the LES model. In this case, no additional term is added for the sub-grid stress tensor.

In CONVERGE, for all LES models the turbulence length scale le is given by

le  3 V , (15.106)

where V is the volume of the cell.

In CONVERGE, there are two classes of LES models: zero-equation and one-equation. For
zero-equation models, CONVERGE does not solve any additional transport equations. For
one-equation models, CONVERGE solves an additional transport equation for sub-grid
kinetic energy.
15.3.1 Zero-Equation LES Models
Upwind LES Model
This model employs a dissipative upwind differencing scheme as an alternative to
modeling the sub-grid tensor. The upwind numerical scheme serves to keep the simulation
stable. Many of the submodels require a sub-grid kinetic energy, k, or a sub-grid
dissipation, e . CONVERGE can compute these values by approximating the unresolved
sub-grid velocity. These values can be used in place of the turbulent kinetic energy and the
turbulent dissipation in the appropriate submodels.

This model expresses the sub-grid velocity as an infinite Taylor series expansion (Bedford
and Yeo (1993), Pomraning (2000)). That is,

 2 ui 1  4 ui
ui  k  kl
xk xk 2! xk xk xlxl
(15.107)
1  6 ui
  k  l m  ...,
3! xk xk xlxlxmxm

where

dxkdxk
k   (15.108)
24

582 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |LES Models

for a cubic cell and the brackets indicate no summation. Since it is not possible to evaluate
all of the terms in the series, the sub-grid velocity is approximated by the first term:

  2 ui 
ui  Cles  k , (15.109)
 xk xk 

where Cles is a model constant. The sub-grid kinetic energy is then approximated as

1
ksubgrid  uiui , (15.110)
2

and the sub-grid dissipation is approximated as

1.5
ksubgrid
 subgrid  , (15.111)

where D is the grid filter which is the cube root of the cell volume.

To activate this model, set turbulence_model = LES_UPWIND in turbulence.in.

Smagorinsky Model
The Smagorinsky model is a zero-equation LES model which relates the turbulent viscosity
to the magnitude of the strain rate tensor and cell size (Deardorff (1970), Lilly (1967),
Smagorinsky (1963), Speziale (1998)). The model for the sub-grid stress tensor is:

 ij  2 tSij , (15.112)

where the turbulent viscosity, nt, is

 t  Cs2  2 Sij Sij . (15.113)

Here, D is the grid filter, which is related to the cell volume by the following expression:

  3 Vol. (15.114)

CONVERGE 2.4 Manual 583


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |LES Models

To tune the Smagorinsky model, adjust the constant Cs in the expression for turbulent
viscosity.

To activate this model, set turbulence_model = LES_SMAG in turbulence.in.

Dynamic Smagorinsky Model


One of the problems with the Smagorinsky model is that the appropriate value of the
coefficient Cs is different in different flow regimes. The dynamic Smagorinsky model
provides a methodology for determining the local value of the Smagorinsky coefficient
((Lilly, 1992), (Germano et al., 1991), (Meneveau, 1994)).

The formulation of a dynamic model requires a second filtering operation designated a test

level filter  . This test filter is typically twice the value of the grid filter,  . The residual
stresses based on single (grid) and double filtering (test) operations are:

 ij  ui uj  ui uj  (15.115)

and

 
Tij  ui uj  ui uj . (15.116)

The Germano identity (Germano et al., 1991) relates the grid level stress tensor and the test
level stress tensor. That is,

  
Lij  Tij   ij  ui uj  ui uj , (15.117)

where Lij is the Leonard stress term. The Smagorinsky model of the deviatoric part of Lij is
given by

1
Lij  Lkk ij  Cs dynamic M ij , (15.118)
3

where

  2  
M ij  2 2 S S  2 S Sij (15.119)
ij

584 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |LES Models

and Cs-dynamic in Equation 15.118 is the dynamic Smagorinsky coefficient. Recall that Sij in
Equation 15.119 is the rate of strain tensor. The sub-grid scale stress tensor is given by:

 ij  2Cs dynamic  2 S Sij . (15.120)

By performing the least squares technique to minimize the error (Lilly, 1992), Cs-dynamic is
specified by:

M ij Lij
Cs dynamic  . (15.121)
M kl M kl

To activate the dynamic Smagorinsky model, set turbulence_model = LES_DYN_SMAG in


turbulence.in.
15.3.2 One-Equation LES Models
One-Equation Viscosity Model
The one-equation viscosity model adds a transport equation for the sub-grid kinetic energy
as formulated by Yoshizawa and Horiuti (1985) and Menon et al. (1996). This model uses
the sub-grid kinetic energy in modeling the turbulent viscosity. The sub-grid kinetic energy
equation is given by

k k ui    t k 
 ui   ij    . (15.122)
t xi x j xi   k xi 

Here the sub-grid kinetic energy is given by

1
k ui ui  ui ui . (15.123)
2

The model for the sub-grid stress tensor is

2
 ij  2 tSij  k ij , (15.124)
3

where the turbulent viscosity, nt, for the one-equation model is given as

CONVERGE 2.4 Manual 585


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |LES Models

 t  Ck k 1/2 . (15.125)

You can tune the turbulent viscosity by adjusting Ck (see previous equation) via
c_tke_visc_les in turbulence.in. The sub-grid dissipation is

C k 3/2
 . (15.126)

You can also tune the sub-grid dissipation by adjusting the constant Ce in the above
expression.

To activate this one-equation model, set turbulence_model = LES_ONE_EQN_VISC in


turbulence.in.

Dynamic Structure Model


The dynamic structure model does not use turbulent viscosity to model the sub-grid stress
tensor (Pomraning, 2000). To enforce a budget on the energy flow between the resolved
and the sub-grid scales, this model adds a transport equation (given by Equation 15.122 for
the sub-grid kinetic energy. To that end, the sub-grid stress tensor models must be a
function of the sub-grid turbulent kinetic energy. The modeled stress tensors are given by:

 ij  cij k
(15.127)
Tij  cij K ,

where the test level kinetic energy is defined by:

1  
2
K ui ui  ui ui . (15.128)

The trace of the Leonard term relates the test and grid level kinetic energies so that an
additional transport equation for K is not required. That is,

 1
K  k  Lii . (15.129)
2

Substituting these models for the two stress tensors into the Germano identity yields the
following:

586 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |LES Models

.
Lij  Kcij  kc (15.130)
ij

Note that the coefficient tensor, cij , is properly left inside the integral as indicated by the
curve over the bar. The result is a set of six (the stress tensor is symmetric) Fredholm
integral equations of the second kind that can be solved via an iterative method.
Alternatively, in an algebraic model, we remove the tensor coefficient from the integral
and then solve for tij . Thus the model for the sub-grid tensor becomes

 Lij 
 ij  2 k  . (15.131)
L
 ii 

To activate the dynamic structure model, set turbulence_model = LES_DYN_STRUCT in


turbulence.in.

Consistent Dynamic Structure Model


An alternate version of the dynamic structure model is the consistent dynamic structure
model. This model is more appropriate for a rotating frame of reference (Lu et al., 2007).

For the consistent dynamic structure model, the sub-grid stress tensor is

 Gij 
 ij  2 k  , (15.132)
 Gii 

where

 ui  uj
Gij  . (15.133)
xk xk

To activate the consistent dynamic structure model, set turbulence_model =


LES_CON_DYN_STRUCT in turbulence.in.
15.3.3 LES Boundary Conditions
Ideally, the grid resolution for an LES simulation is sufficient to resolve the flow into the
viscous sub-layer. In this case, the walls are modeled directly with no-slip boundary
conditions and Dirichlet temperature conditions. In many cases, however, it is not feasible
to add enough resolution to resolve the viscous sub-layer. Thus, you must employ wall
models.

CONVERGE 2.4 Manual 587


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |LES Models

The LES wall models are available for both the momentum equation and the energy
equation. The Werner and Wengle wall model is designed to work with LES models and
thus should be activated when running one of the LES models. The model can be activated
by setting wall_model = 1 in turbulence.in. Refer to the Momentum Law-of-the-Wall and
Thermal law-of-the-wall sections in Chapter 8 - Boundary Conditions for a detailed
description of the LES wall models.

Many of the spray and combustion models require a turbulent kinetic energy term and a
turbulent dissipation term to complete (close) the model. In the one-equation model, the
turbulent kinetic energy term and turbulent dissipation term are simply replaced by the
sub-grid kinetic energy and the sub-grid dissipation given by the expressions above. For
zero-equation models, a sub-grid kinetic energy term is not readily available to close the
model. Thus, for zero-equation models the expression below is used to approximate the
sub-grid kinetic energy:

 2 ui ui
k  Cles . (15.134)
24 x j x j

Tune the above expression by adjusting the constant Cles.

15.3.4 LES Input Parameters


Table 15.9 summarizes the LES model inputs in CONVERGE.

Table 15.9: LES model inputs.


Model Constant turbulence.in Parameter Typical Value

Cs c_tke_visc_les (turbulence_model = 0.1 to 1.0


LES_ONE_EQN_VISC, LES_SMAG,
LES_DYN_STRUCT)

Ck c_tke_visc_les (turbulence_model = 0.05


LES_ONE_EQN_VISC, LES_SMAG,
LES_DYN_STRUCT)

Ce c_eps_les (turbulence_model = 1.0


LES_ONE_EQN_VISC,
LES_DYN_STRUCT,
LES_CON_DYN_STRUCT)

Cles c_tke_les (turbulence_model = LES_UPWIND, 2.0


LES_SMAG, LES_DYN_SMAG)

Cps c_ps (turbulence_model = LES_UPWIND, 0.03


LES_ONE_EQN_VISC, LES_SMAG,

588 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |LES Models

Model Constant turbulence.in Parameter Typical Value

LES_DYN_SMAG, LES_DYN_STRUCT,
LES_CON_DYN_STRUCT)

1/Prk rpr_tke (turbulence_model = 1.0


LES_ONE_EQN_VISC,
LES_DYN_STRUCT,
LES_CON_DYN_STRUCT)

15.4 DES Models


Detached Eddy Simulation (DES) is a hybrid approach designed to combine the strongest
features of the RANS and LES methodologies. Near walls, DES behaves like a RANS
model. Far from a wall, where large-scale unsteady structures are detached from the
boundary layer, the DES model behaves like LES. The same sub-grid scale model functions
as the RANS turbulence model and as the LES sub-grid filter. DES was originally
formulated by Spalart et al. (1997), using the one-equation Spalart-Allmaras RANS model
(1992) as the sub-grid closure. This original formulation uses grid cell metrics to switch
between RANS and LES behavior, limiting its applicability.

The Delayed DES (DDES, Spalart et al., 2006) and Improved Delayed DES (IDDES, Shur
et al., 2008) approaches are improvements on the original DES formulation. Rather than
using only grid metrics, DDES and IDDES switch modes based on several flow-based and
geometry-based blending and shielding functions. These improvements were originally
designed to prevent ("delay") the LES behavior from appearing in near-wall regions with
excess grid density. These formulations also use Spalart-Allmaras as the sub-grid closure.

CONVERGE incorporates variants of the DDES and IDDES models, using the k-ω SST
model described above. Strelets (2001) adapted the DES methodology to k-ω SST, and
Gritskevich et al. (2012) formulated the DDES and IDDES improvements. For exact model
formulation details, refer to this latter source.

To run CONVERGE with the DDES-SST turbulence model, set turbulence_model =


DDES_K_OMEGA_SST in turbulence.in. To run with the IDDES-SST model, set
turbulence_model = IDDES_K_OMEGA_SST in turbulence.in. When running DDES-SST or
IDDES-SST, CONVERGE refers to the same k-ω SST parameters as when running with this
model in RANS mode. The DDES and IDDES formulations also refer to a set of DDES
parameters. Please refer to Chapter 22 - Input File Reference for information on these
parameters, as well as recommended values.

15.5 Turbulence Statistics Output


To generate output of turbulence statistics (mean and RMS quantities for density, pressure,
temperature, etc.) for transient simulations, define these quantities as non-transport

CONVERGE 2.4 Manual 589


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |Turbulence Statistics Output

passives. Refer to Chapter 22 - Input File Reference for a list of predefined turbulence
statistics that you can specify as non-transport passives in species.in.

You must also set several parameters in turbulence.in to use the turbulence statistics option.
Table 15.10 below describes these parameters.

Finally, to include the turbulence statistics in the post*.out files, you must list the turbulence
statistics non-transport passives [in the form passive(<turbulence statistic name>)] in the
<cells> section of the post.in file.

Table 15.10: Turbulence statistics parameters.


Parameter Description

turb_stat_f lag 0 = Do not calculate turbulence statistics,


1 = Calculate turbulence statistics.

turb_stat_start_time The start time in seconds (if crank_f lag = 0 in inputs.in) or crank angle
degrees (if crank_f lag = 1 or 2) for the turbulence statistics calculation.

turb_stat_end_time The end time in seconds (if crank_f lag = 0 in inputs.in) or crank angle
degrees (if crank_f lag = 1 or 2) for the turbulence statistics calculation.

turb_stat_tol Relative tolerance for turbulence statistics convergence =


(abs(delta(mean)/mean)). For monitoring purposes only.

If reread_input = 1 in inputs.in, CONVERGE will reread the turbulence statistics parameters


listed above before each time-step.
· If you change the value of either turb_stat_start_time or turb_stat_end_time, CONVERGE
uses only the revised time range to calculate the updated turbulence statistics.
· Set turb_stat_start_time to a time prior to the current simulation time to have
CONVERGE begin the turbulence statistics calculations immediately.
· If CONVERGE has already calculated turbulence statistics and if you want CONVERGE
to resume turbulence statistics calculations and incorporate both the new and the old
data into the calculations, set turb_stat_end_time to a time beyond the current simulation
time.
· If CONVERGE has already calculated turbulence statistics and if you wish to overwrite
these calculations, set turb_stat_end_time and turb_stat_end_time to times beyond the
current simulation time.

It is important to verify that all of the initial transients (non-physical values of conditions
in the domain) have been eliminated prior to the turb_stat_start_time.

To monitor turbulence statistics, look at the post*.out files after converting them with the
post_convert utility. You can find additional information regarding the convergence of
these statistics in the log file when you set screen_print_level = 2 or higher.

590 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 15
Turbulence Modeling |Turbulence Statistics Output

The turbulence statistics calculated near moving boundaries (e.g., volume swept by moving
valves) may not be accurate. Carefully evaluate these near-moving-object statistics to
gauge their suitability.

You can calculate user-defined turbulence statistics with the user_turbulent_statistics.c user-
defined function.

Turbulence Statistics Theory


For the turbulence statistics, CONVERGE calculates the time average by

1 T2

T2  T1 T
f (x )  f (x , t)dt (15.135)
1

and the fluctuations by

1 T2
 f (x , t)  f (x )  g(x , t)  g(x ) dt
T2  T1 T
f g     
1

1 T2
 f (x , t)g(x , t)  f (x )g(x , t)  f (x , t)g(x )  f (x )g(x ) dt

T2  T1 T
1
  (15.136)

 f (x , t)g(x , t)  f (x )g(x )  g(x ) f (x )  f (x )g(x )


 fg  f g

By calculating f g together with f and g , f g  can be computed simultaneously.

CONVERGE 2.4 Manual 591


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

16
Conjugate Heat Transfer
Chapter 16
Conjugate Heat Transfer |

16 Conjugate Heat Transfer


Conjugate heat transfer (CHT) is when heat transfer occurs simultaneously within and
between fluid and solid regions. The predominant mode of heat transfer in fluids is
convection while the predominant mode of heat transfer in solids is conduction. Use the
CHT model in CONVERGE to solve the flow and heat transfer in both the solid and fluid
regions.

Ideally, a CHT simulation would involve simultaneous CFD calculations for the solid and
fluid phases. This approach is practical for some types of simulations but impractical for
others. For example, the time-scale for the solid phase heat transfer is orders of magnitude
larger than the time-scale for the fluid phase heat transfer. Thus it is not practical to run
the numerical simulation entirely in a coupled transient manner. CONVERGE offers a
novel approach: super-cycling to solve CHT problems in a computationally efficient
manner. Refer to the Time Control Methods for CHT section for more details.

16.1 Conjugate Heat Transfer Setup


The conjugate heat transfer setup requires several additional inputs. Define solid and fluid
materials and their physical properties, specify the regions occupied by solids and fluids,
and specify an INTERFACE boundary to demarcate the solid and fluid regions. You must
also take a few extra steps to prepare the surface geometry. Finally, if you wish to use
super-cycling, set up the parameters for super-cycling procedure for a computationally
efficient CHT simulation. The following sections outline these additional input parameters
and surface geometry preparation steps.
16.1.1 Defining and Specifying Solid Properties - species.in, solid.dat
In species.in, you must define one or more species as SOLID in the conjugate heat transfer
model as shown in Figure 16.1 below.

#!csi_version=2.4
#=======================

LIQUID
ic14h30
SOLID
iron
Figure 16.1: Sample species.in file with SOLID species.

CONVERGE looks in solid.dat for properties of any species specified under the SOLID
keyword. The solid.dat file includes data for the melting point, density, specific heat
capacity, and conductivity for each solid species, all in SI units. Figure 16.2 shows an
excerpt of a solid.dat file. The first (uncommented) row is the name of the solid species, in

594 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 16
Conjugate Heat Transfer |Conjugate Heat Transfer Setup

this case iron. The second row is the melting point of the solid (in K). The following rows
include data as shown in Table 16.1.

Table 16.1: Column data and units in solid.dat.


Column Number Column Data Column units
1 Temperature K
2 Density kg/ m3

3 Specific heat capacity J/ kg-K


4 Conductivity W/ m-K

! solid species name


! melting point (k)
! Temperature density specific heat condiuctivity
! k (N.s/m^2) (j/kg.k) (w/m.k)
iron
690.0
0.0000E+00 7.85E+003 5.61E+002 4.27E+001
1.0000E+01 7.85E+003 5.61E+002 4.27E+001
2.0000E+01 7.85E+003 5.61E+002 4.27E+001
.
.
Figure 16.2: An example solid.dat file.

Note: In CONVERGE, the reaction mechanism, thermodynamic data, species.in, gas.dat,


and liquid.dat files define the fluid materials and specify their properties. Refer to Chapter
9 - Physical Properties and Reaction Mechanisms for details.
16.1.2 Fluid and Solid Regions – initialize.in
In initialize.in, solid_f lag must be 0 for all fluid regions and solid_f lag must be 1 for all solid
regions. Figure 16.3 shows an example initialize.in file specifying one fluid region (region_id
0) and one solid region (region_id 1).

#!csi_version=2.4
#=======================

2 num_regions

### Fluid region###

0 region_id
0 stream_id
0 solid_flag
0.0 0.0 0.0 vel_init
353.0 temp_init
1.01e5 pres_init
0.5 tke_init
112.6372 eps_init

CONVERGE 2.4 Manual 595


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 16
Conjugate Heat Transfer |Conjugate Heat Transfer Setup

101.11 omega_init
2 num_species_init

o2 0.23
n2 0.77
0 num_passive_init

### Solid region###

1 region_id
1 stream_id
1 solid_flag
0.0 0.0 0.0 vel_init
413.0 temp_init
1.01e5 pres_init
0.5 tke_init
112.6372 eps_init
1 num_species_init

metal 1.0
0 num_passive_init
Figure 16.3: A sample initialize.in for a conjugate heat transfer case.

16.1.3 Boundary Conditions for CHT


INTERFACE Boundary
To calculate the heat transfer between a solid region and a fluid region, you must specify
an INTERFACE boundary (see Boundary 2 in Figure 16.4 below) that demarcates the two
materials/phases. The INTERFACE boundary consists of a single layer of triangles. This
boundary type is special in that it has two unique sets of boundary conditions, one for
each side of the INTERFACE. In boundary.in, however, the boundary conditions for the
INTERFACE refer to the IDs for two other boundaries: the f orward boundary and the
reverse boundary.

The f orward and reverse boundaries have no triangles flagged to them in the surface
geometry file, nor do their boundary IDs appear in the exported surf ace.dat file. These
boundaries simply define unique boundary conditions for each side of the INTERFACE.
Additionally, CONVERGE generates independent grids on each side of the INTERFACE
boundary. By convention, the boundary facing the normal vectors of the triangles assigned
to the INTERFACE is the f orward boundary. The boundary facing the opposite direction of
these normal vectors is the reverse boundary.

For the example geometry in Figure 16.5, the boundary conditions for the f orward
boundary (boundary 3 in Figure 16.4) are for the fluid side of the INTERFACE. The
boundary conditions for the reverse boundary (boundary 4 in Figure 16.4) are for the solid
side of the INTERFACE. To allow heat transfer through the INTERFACE, CONVERGE
couples the f orward and reverse boundaries (only available for fluid-solid or solid-solid

596 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 16
Conjugate Heat Transfer |Conjugate Heat Transfer Setup

INTERFACE boundaries). Specify coupled as the temperature boundary condition for the
f orward and reverse boundaries.

CONVERGE imposes thermal continuity across the INTERFACE via the equations

[Tb ]F  [Tb ]S (16.1)

and

Heat f lux F  Heat f lux S , (16.2)

where the subscripts F and S denote f luid and solid, respectively, and T is the temperature.
The temperatures and heat fluxes of the solid and the fluid regions are consistent across
the entire area of the INTERFACE boundary.

When CONVERGE generates the grid, it treats solid-solid and solid-fluid interfaces as if
they were in perfect contact. In reality, at the microscopic level, there are irregularities and
defects in the solid surfaces that prevent perfect thermal contact. As a result, there is a
small air gap between the two solids or the solid and fluid that restricts heat flux. In order
to account for the small gap between solids, CONVERGE includes a thermal contact
resistance model. The equation for the heat flux balance at the interface between two solid
boundaries is a function of the contact resistance:

T2 i  T1i
q1 T1 , T1i   q2 T2 , T2 i   , (16.3)
Rc

where qj is the heat flux at the interface for solid j, Tj is the temperature at the first interior
point near the interface for solid j, Tj i is the interface temperature for solid j, and Rc is the
contact resistance in K-m2/W. To enable the contact resistance model between coupled
f orward and reverse boundaries, enter the contact resistance Rc after the keyword coupled
for a temperature boundary condition.

An INTERFACE boundary represents disconnect triangles similar to those automatically


created to disconnect fluid regions. If you set disconnect = 0 for an INTERFACE boundary,
the INTERFACE triangles cannot be disabled and no fluid flow is allowed between the two
regions. This setup is typical for a CHT simulation of heat transfer between fluid and a
solid piston. If you set disconnect = 1, CONVERGE can disable the INTERFACE triangles at
specific times and allow fluid flow between the two regions. This configuration works only

CONVERGE 2.4 Manual 597


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 16
Conjugate Heat Transfer |Conjugate Heat Transfer Setup

for an INTERFACE between two fluid regions, and no heat transfer occurs through the
interface. Use events.in to control OPEN/CLOSE events between the two regions.

#!csi_version=2.4
#=======================
12 # Number of boundaries defined
#-----------------------------------------------
1 Outer wall
WALL FIXED ST
roughness 0.0 0.0
velocity la 0.0 0.0 0.0
pressure ne 0.0
temperature fl -10000.0
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 1
#-----------------------------------------------
2 Solid fluid interface
INTERFACE
forward 3
reverse 4
disconnect 0
#-----------------------------------------------
3 Virtual boundary - Fluid side
WALL FIXED ST
roughness 0.0 0.0
velocity la 0.0 0.0 0.0
pressure ne 0.0
temperature la coupled
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 0
#-----------------------------------------------
4 Virtual boundary - Solid side
WALL FIXED ST
roughness 0.0 0.0
velocity di 0.0 0.0 0.0
pressure ne 0.0
temperature di coupled
species ne 0.0
passive ne 0.0
tke ne 0.0
eps di 0.0
region 1
#-----------------------------------------------
-
-
Figure 16.4: An excerpt of boundary.in with heat flux into the outer wall, the INTERFACE boundary,
and accompanying virtual boundaries.

598 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 16
Conjugate Heat Transfer |Conjugate Heat Transfer Setup

Figure 16.5: Normal vectors pointing towards the fluid region


(region_id = 0).

WALL Boundary
In a CHT simulation, a WALL boundary contains the portion of the solid that is not in
contact with the secondary material. There are multiple options for the WALL
temperature boundary conditions. For example, to specify a f lux temperature boundary
condition, enter f l followed by the amount of heat per surface area (in W/m2) applied
uniformly to the boundary (see Boundary 1 in Figure 16.4). A negative value indicates
energy entering the solid while a positive value indicates energy exiting the solid.

16.2 Time Control Methods for CHT


CONVERGE offers several time control methods for CHT. If you choose transient,
CONVERGE solves the fluid and solid together with the same time-step for the entire
domain (e.g., to simulate natural convection from a heated box). If you choose steady-state,
CONVERGE solves the fluid and solid for steady values with independent pseudo time-
steps (e.g., to simulate forced convection over a solid box). If you choose super-cycling
(recommended for simulations with combustion), CONVERGE iterates between fully-
coupled transient and steady-state solution methods for the solid only and uses the
transient solver for the fluid.

Transient and Steady-State

CONVERGE 2.4 Manual 599


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 16
Conjugate Heat Transfer |Time Control Methods for CHT

To configure transient or steady-state time control, use steady_solver_f lag in inputs.in to


select a solver. Edit the parameters in inputs.in to control the operation of the desired
solver. Refer to Chapter 5 - Numerics for more information on these two time control
methods.

Super-Cycling
In an engine, the time-scale necessary to resolve solid heat transfer is usually much greater
than that for fluid heat transfer. It takes many engine cycles for the solid temperature to
reach steady-state. Super-cycling in CONVERGE is an acceleration method that solves
time-dependent CHT problems to a steady-state in a solid with fewer engine cycles. Super-
cycling iterates between fully-coupled transient and steady-state solvers via the following
sequence:

1. CONVERGE solves the fluid and solid equations together using the transient solver (but
does not store the solid heat transfer data) from the start of the simulation until the
supercycle_start_time in order to develop the fluid flow field.

2. At supercycle_start_time, CONVERGE begins storing values for a heat transfer


coefficient (HTC) and near-wall temperature for each cell at the solid/fluid interface,
one value for each time-step.

3. CONVERGE continues to solve both the fluid and solid equations and stores HTCs and
near-wall fluid cell temperatures for a time equal to the supercycle_stage_interval.

4. At time = supercycle_start_time + supercycle_stage_interval, CONVERGE freezes the fluid


solver and calculates the time-averaged HTC and temperature for each cell at the
solid/fluid interface based on the values stored in step 3. CONVERGE performs the
solid heat transfer calculation at this time using the time-averaged HTC and near-wall
fluid cell temperatures as boundary conditions at the INTERFACE. There are two solid
heat transfer calculation methods that CONVERGE can use: steady-state or transient.

a. Perform steady-state solid heat transfer calculations by setting supercycle_length to a


negative value. CONVERGE solves the solid heat transfer until the tolerance defined
in supercycle_energy_tol is achieved. This solid energy equation calculation will not
appear to take any time on an output file plot of Solid Temperature vs. Time (e.g.,
the solid temperature will appear to immediately jump).

b. Perform transient solid heat transfer calculations by setting supercycle_length to a


positive value. CONVERGE solves the solid heat transfer for the length of time set by
supercycle_length. Transient solid heat transfer calculations are not commonly used.
Contact Convergent Science to discuss a transient solid solver configuration.

600 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 16
Conjugate Heat Transfer |Time Control Methods for CHT

After performing the solid energy transfer calculations, the temperature of the solid
represents the steady-state solid temperature.

5. CONVERGE starts the fluid solver again after calculating the steady-state solid
temperature, and solves the fluid and solid equations for another period of time equal to
supercycle_stage_interval. The updated solid temperature causes the fluid temperature to
rise dramatically. The fluid temperature rise then levels off when the difference between
the solid and fluid temperatures is no longer great enough to increase the fluid
temperature at the given flow rate. CONVERGE also stores a new heat transfer
coefficient and temperature for each solid/fluid interface cell, at each time-step.
CONVERGE uses HTC and temperature values from only the current super-cycle stage
when averaging these values.

6. At time = supercycle_start_time + (2 * supercycle_stage_interval), CONVERGE again


pauses the fluid solver and recalculates the time-averaged heat transfer coefficient and
temperature for each cell at the solid/fluid interface based on the values stored in step
5. With the fluid solver paused, CONVERGE again performs the solid heat transfer
calculations as described in step 4.

7. CONVERGE repeats this super-cycling process until the end_time of the simulation as
specified in inputs.in.

Contact Resistance with Super-Cycling


In some simulations, there are areas through which fluid flows for only part of the
simulation (e.g., the gap between a valve and a valve seat in an internal combustion
engine). To model solid-solid contact resistance between these temporarily separated
regions, configure a contact region via contact resistance events in events.in. When the two
solids are specified as closed, CONVERGE does not allow fluid flow between the two
regions and performs solid-solid heat transfer calculations. To improve the speed of
temperature convergence in a contact region when super-cycling is active, CONVERGE
copies the temperature and heat transfer coefficient from each solid boundary and applies
these properties as boundary conditions to the solid with which the first solid is in contact.

Treatment of Moving Solid Boundaries During Super-Cycling


In some boundary configurations, a solid boundary slides into and out of a stationary solid
boundary, which results in changing boundary conditions for the stationary surface.
Examples of this phenomenon in an internal combustion engine include a valve sliding
within a valve guide or a solid piston in contact with the solid liner.

For the piston—liner contact scenario, the piston moves up and down within the liner.
Therefore, at different times during the simulation, portions of the liner may be exposed to
the fluid in the cylinder, the solid piston surface, or the air in the crankcase. In

CONVERGE 2.4 Manual 601


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 16
Conjugate Heat Transfer |Time Control Methods for CHT

CONVERGE, the boundary conditions for these scenarios are a fluid-solid interface, a
solid-solid interface, and a solid wall with a convective boundary condition, respectively.
Figure 16.6 below shows these boundary conditions.

Figure 16.6: Boundary condition types for a moving solid piston within
a solid liner.

Discrete portions of the liner (i.e., cells that are adjacent to the combustion chamber)
experience each of these three boundary conditions for a certain amount of time during
the engine cycle. To accurately calculate heat transfer information, CONVERGE weights
each of the three boundary conditions according to the fraction of an engine cycle that a
discrete portion of the liner experiences each boundary condition. Table 16.2 below
provides an example of the weights for a cell on the liner surface.

Table 16.2: Boundary conditions and respective weights.


Boundary condition for a point on the Time percentage that the point is exposed to the
liner surface boundary condition over an entire engine cycle (weight)
Fluid-solid interface 40%
Solid-solid interface 10%
Fixed convection 50%

602 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 16
Conjugate Heat Transfer |Time Control Methods for CHT

At each super-cycle stage, the solid-solid interface (e.g., piston-liner interface) is


temporarily decoupled. At each iteration of the steady-state solid solver, CONVERGE
calculates an effective heat transfer coefficient and temperature for the stationary solid
boundary (e.g., the liner) based on the three boundary conditions and their weights. Then,
CONVERGE computes a new piston contact surface temperature based on these effective
variables. This procedure helps improve the accuracy of the heat transfer calculation and
the speed of convergence.

When super-cycling is active, CONVERGE automatically creates boundary groups for


boundaries attached to stretching fluid-solid interfaces. In the previous example, one
boundary group includes the solid liner interface, the solid piston interface and bottom of
the liner. If there are solid coupled boundaries that are supposed to be included in the
boundary group, you must set the velocity boundary condition as MOVING Translating or
FIXED Translating. Otherwise, CONVERGE cannot find the correct boundaries.

Log File
In the log file, CONVERGE creates a record of the boundary grouping. Figure 16.7 below
shows a sample log file excerpt for the boundary grouping created for the piston—liner
example.

there are 1 bound_group created


boundary ids in bound_group 0
grouped boundary 29
boundary in contact 40
depend boundary 7
Figure 16.7: A sample log file excerpt for moving solid boundaries during super-cycling.

In the above sample, bound_group refers to the number of boundary groups matching the
criteria for this feature. On the next line, the log file lists the number of boundaries in the
group. The boundary ID of the stationary solid follows grouped boundary. The boundary ID
of the solid boundary in contact with the stationary solid boundary follows boundary in
contact. Finally, the boundary ID for depend boundary corresponds to the boundary used to
obtain position information for the grouped boundaries.

Limitations
The overall length of the grouped boundaries must be constant in time. The moving
boundaries (e.g., the piston) must move in the same direction with the same speed.
Additionally, the volume of these boundaries must be constant (they cannot deform).

For an engine case, you must simulate at least an entire engine cycle for correct averaging.
Otherwise, this feature will not produce reasonable results.

CONVERGE 2.4 Manual 603


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 16
Conjugate Heat Transfer |Time Control Methods for CHT

16.2.1 Super-Cycle Stages


To expedite the solution of a conjugate heat transfer simulation, CONVERGE allows you
to update the averaged data in the storage routines with the parameter
supercycle_num_stages.

For example, for a 4-stroke engine running at 2,000 RPM, you could set
supercycle_num_stages = 12. Then you could set supercycle_stage_interval to 60 crank angle
degrees. CONVERGE will average 12 blocks of data, each 60 crank angle degrees long in the
1st super-cycle. In the 2nd super-cycle, CONVERGE discards the earliest stage from the 1st
super-cycle during the averaging process and uses the latest stage generated in the storage
routine of the 2nd super-cycle to update the 12 blocks of 60 crank angle degrees data. Figure
16.8 illustrates the update process of super-cycle stage data.

Figure 16.8: Stages in the super-cycle process.

16.2.2 Super-Cycle Output


You can prescribe monitor points in supercycle.in to obtain temperature data from specific
locations in the solid domain. (If you want to monitor more than just solid temperatures,
use the monitor_points.in option or the UDF monitor point option).

To set up monitor points to obtain solid temperature data, specify the number of monitor
points via supercycle_num_points and then, on each subsequent line, list the x, y, and z
coordinates for a single monitor point. The number of lines of coordinates must correspond
to the value of supercycle_num_points.

CONVERGE writes the solid temperature data to the supercycle_point<ID>.out file(s),


where <ID> represents the ID number of the monitor point.

604 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 16
Conjugate Heat Transfer |Time Control Methods for CHT

16.2.3 Super-Cycle Inputs - supercycle.in


To activate the super-cycling, set cht_supercycle_f lag = 1 in inputs.in and include the
supercycle.in file in the Case Directory.
16.2.4 Heat Transfer Mapping for Multi-Cylinder CHT
In some multi-cylinder conjugate heat transfer (CHT) engine simulations, the goal is to
predict the heat transfer between each of the cylinders and the solid cylinder head.
Modeling combustion in all cylinders with a method like SAGE, however, is often
prohibitively expensive. The heat transfer mapping for multi-cylinder CHT feature offers a
faster alternative. Since the combustion behaves in a similar manner in all cylinders,
CONVERGE models combustion in only one cylinder and then maps the results to the
other cylinders.

With this feature, combustion in a main cylinder is modeled while the other cylinders
(duplicate cylinders) obtain boundary condition information from the main cylinder. This
feature is only available with super-cycling (cht_supercycle_f lag = 1 in inputs.in). At each
super-cycle, CONVERGE cycle-averages the wall temperatures and heat transfer
coefficients (HTC) from relevant boundaries in the main cylinder and maps this
information to the corresponding boundaries in the duplicate cylinders. Thus, the timing of
the mapping for duplicate cylinders is entirely dependent on the super-cycling
configuration for the main cylinder.

CONVERGE can map information on fluid-solid INTERFACE and solid WALL type
boundaries between main and duplicate cylinders. For mapped solid WALL boundaries,
the temperature boundary condition for the duplicate boundary must be Neumann.

One method to approximate combustion in the duplicate cylinders when the full cylinder
geometry exists is to specify a heat release source that mimics the effects of combustion
within the cylinder. In some cases, surface triangles for the cylinder may not exist for
duplicate cylinders. In this case, no attempt is made to model in-cylinder combustion. The
cylinder head boundary is a solid WALL and thus requires a Neumann temperature
boundary condition. This requirement is because CONVERGE cannot map the data from
the main cylinder fluid-solid INTERFACE to the duplicate cylinder solid WALL if the solid
WALL temperature boundary condition is Dirichlet.

Configuration
1. Set up super-cycling as desired. Activate cylinder duplication by setting
map_surf ace_f lag = 1 in supercycle.in.

Settings in supercycle_surf ace_map.in control the multi-cylinder heat transfer mapping.

CONVERGE 2.4 Manual 605


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 16
Conjugate Heat Transfer |Time Control Methods for CHT

2. Specify the total number of main cylinders for tot_num_masters. These are the cylinders
with full combustion from which data will be mapped. Then, specify the total number
of duplicate cylinders (for all of the main cylinders combined) for tot_num_slaves. These
are the cylinders (or solid WALL boundaries used to represent combustion) that do not
use a combustion model and have boundary data mapped from the main cylinder.
3. Enter the total number of main boundaries for tot_num_master_boundaries. Include the
boundaries for all main cylinders.
4. Now, create a section of the input file containing the following parameters for each
main cylinder.

First, specify the number of boundaries that make up the current main cylinder that you
wish to map followed by num_boundaries. List these boundary IDs and the keyword
bound_id on the following lines with one boundary ID per line.

Enter the number of duplicate cylinders that are connected to the current main cylinder
for data mapping followed by num_slaves. Create a section of the input file containing the
following parameters for each duplicate cylinder.

Provide transformation information from the duplicate to the main. That is, enter the
transformation that would move the duplicate cylinder such that it exactly overlaps the
main cylinder. In practice, the cylinders may not overlap perfectly (due to small differences
in the surface geometry), but as long as they match within a tolerance, the mapping will
work successfully. CONVERGE uses the transformation to determine which boundaries
are linked between the main and the duplicate cylinders.

For any of the transformation types below, you can leave all entries as 0 which means the
transformation will not occur. If you specify non-zero values, CONVERGE will perform
the transformation in accordance with your specifications.

If you set the elements of mirror_plane to non-zero values, CONVERGE will use a mirror
transformation. That is, reflecting the duplicate cylinder across the given plane will result
in the duplicate overlapping the main exactly. Enter the a, b, c, and d coefficients of the
equation that describes this mirror plane (ax + by + cz + d = 0).

To specify a translation, enter the x, y, and z translation amounts necessary to translate the
duplicate cylinder onto the main cylinder.

To specify a rotation, enter a value for rot_angle (the angle with which to rotate the
duplicate cylinder in the counter-clockwise direction). Also supply the x, y, and z
coordinates of the rotation origin for orig_xyz. Enter the x, y, and z components of the
direction vector about which to rotate the duplicate cylinder for vector_xyz.

606 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 16
Conjugate Heat Transfer |Time Control Methods for CHT

Forced Pairs
At the end of the file, you can optionally supply forced pairs. Forced pairs are used if
CONVERGE cannot determine the duplicate boundary on which to map the data (possibly
due to imperfect geometries) based on the given transformation information. The two
specified boundary IDs become forced pairs and CONVERGE copies the information from
main to duplicate, regardless of the transformation.

First, enter the number of forced pairs of boundaries for num_f orced_pairs. On each line
below, supply four values: the main boundary ID, the duplicate boundary ID, the main
cylinder index, and the duplicate cylinder index. CONVERGE determines cylinder indices
based on the order in which you list them in supercycle_surf ace_map.in. That is, the first-
listed main cylinder is considered main cylinder 0. If this main cylinder has one duplicate
cylinder, it is duplicate cylinder index 0. The second main cylinder is main cylinder index 1
and any duplicate cylinders would begin with duplicate cylinder index 1 and so on.

Log File Output


When the heat transfer mapping for multi-cylinder CHT feature is active, CONVERGE
provides information about the main-duplicate pairing during the initialization of the
simulation (i.e., before the first time-step). This information will appear either on the screen
or in the log file depending on how you execute CONVERGE. The first section shows how
the area, geometric center, surface normal vector, and moment of inertia of each duplicate
boundary compare to those for the main boundary. The second section lists the boundary
IDs of successful boundary pairings. The third section lists the boundary IDs of any forced
pairs (if present).

CONVERGE 2.4 Manual 607


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

17
Volume of Fluid (VOF) Modeling
Chapter 17
Volume of Fluid (VOF) Modeling |

17 Volume of Fluid (VOF) Modeling


CONVERGE can simulate multi-phase flows with the volume of fluid (VOF) method. The
VOF method locates and tracks the free surface in a liquid-gas flow or the interface in a
liquid-liquid flow. It is an Eulerian method that reconstructs the interface location and
orientation within each fluid cell. CONVERGE incorporates several models for interface
reconstruction, which are suitable for a range of multi-phase flows. Coupled with
Adaptive Mesh Refinement, CONVERGE tracks these interfaces accurately and efficiently.

The VOF method can be used with both compressible and incompressible fluids. In low-
pressure applications, liquids are incompressible and gases are compressible. However,
there are some high-pressure applications for which the compressibility of engineering
fluids is important.

The two fluids share a joint momentum and energy equation. They are coupled through
the interface. As the name implies, the VOF method tracks the volume of fluid within each
cell. The volume of fluid is represented by the void fraction a , which is the fraction of the
cell's volume that does not contain fluid:

 =0 (the cell contains only liquid),


0    1 (the cell contains both liquid and gas), (17.1)
 =1 (the cell contains only gas).

CONVERGE tracks this value throughout the domain. The value of the void fraction
represents one of the following cell compositions, as illustrated below in Figure 17.1.

610 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |

Figure 17.1: Void fraction (a ) values. The blue circle represents a liquid droplet.

CONVERGE can run with the VOF method in two time-stepping modes: a steady-state
solver (steady_solver_f lag = 1 in inputs.in) or a transient solver (steady_solver_f lag = 0).

The local value of the void fraction does not contain any information about the shape or
location of any interface within the cell. These interface details must be reconstructed from
other data. Two interface reconstruction methods are available in CONVERGE.

The Piecewise-Linear Interface Calculation (PLIC) method constructs a fluid interface from
a local planar interface within each cell. This interface is generated with the local void
fraction gradient as the plane normal, and the plane location is computed from the void
fraction.

The High-Resolution Interface Capturing (HRIC) scheme constructs an interpolated


curved interface using information from neighboring cells. HRIC is more stable than PLIC,
but it is more computationally expensive and it cannot resolve an interface as sharply.
HRIC should be used for simulations that meet one or more of the following criteria:
· Energy and/or turbulence equations are solved,
· Complex or moving geometry is used, or

CONVERGE 2.4 Manual 611


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |

· Fluids are compressible or incompressible.

CONVERGE offers two solution methods for a VOF calculation.

The Individual Species Solution (ISS) method is a mass-fraction-based solution method for
VOF simulation. In this scheme, CONVERGE transports total mass, momentum, and
energy, recalculating the void fraction in each cell from the transported species. ISSM
reconstructs the interface with HRIC exclusively. The method is suitable for:
· Compressible or incompressible fluids,
· Miscible fluids,
· High pressures, temperatures, and velocities, and
· Cavitation.
However, the ISS method is not suitable for immiscible fluids, and it is diffusive. If you use
the ISS method for a VOF simulation, your simulation will not be able to capture a sharp
interface between the fluids.

The Void Fraction Solution (VFS) method directly transports the void fraction a , in
addition to the usual mass, momentum, and energy. This additional constraint allows the
VFS method to resolve sharp fluid interfaces. It can also be used for miscible fluids.
However, because volume is not generally a conserved quantity, transportation of volume
implies that the fluids must be incompressible. The VFS method reconstructs the interface
with either PLIC or HRIC.

CONVERGE can also couple a VOF simulation to the Eulerian-Langrangian fluid parcel
simulation method.

We recommend you set up VOF simulations in CONVERGE Studio, which will


automatically generate the necessary input files, including inputs.in and vof .in, based on
the parameters you set.

17.1 Individual Species Solution Method


Governing Equations
In the most fundamental form of the VOF method, the void fraction is solved with a
conservation equation:

 
 ui   0. (17.2)
t xi

The global density is computed as

612 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |Individual Species Solution Method

   g  1     l , (17.3)

where r g represents the gas density in the cell and r l represents the liquid density in the
cell. In the ISS method, CONVERGE follows a modified solution procedure. The void
fraction is not transported directly the same way as in Equation 17.2. CONVERGE first
solves the species using the following species transport equation:

 m  muj   Y 
   D m  , m = 1,, n (17.4)
t x j x j  x j 

where r m = Ymr , r m is the density of species m, Ym is the mass fraction of species m, D is the
diffusion coefficient, and n is the total number of species.

Then CONVERGE computes the void fraction using the species mass fractions in the cell.
The solver sums the mass of gas species in the cell to calculate the total gas mass in a cell.
CONVERGE uses the remainder of the mass in a cell as the liquid mass. In other words,

ng

mg   Ym
m 1 (17.5)
ml  1  mg ,

where mg is the total gas mass fraction, ml is the total liquid mass fraction, and ng is the
total number of gas species.

CONVERGE computes the void fraction with the following equation:

mg
g
 . (17.6)
mg m
 l
 g l

CONVERGE's PISO algorithm allows both compressible and incompressible fluids.

CONVERGE uses the compressible solver to solve the gas and compressible liquids (set
gas_compressible_f lag = 1 and liquid_compressible_f lag = 1 in inputs.in) and it uses the
incompressible solver to solve the liquid phase (set liquid_compressible_f lag = 0 in inputs.in).

CONVERGE 2.4 Manual 613


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |Individual Species Solution Method

High-Resolution Interface Capturing (HRIC) Method with the ISS Method


The fluid interface position cannot be captured without careful discretization of convective
terms. Commonly used schemes such as upwinding and central differencing schemes
introduce effects of artificial diffusion or dispersion, respectively. Other higher-order
schemes cause local oscillations of the void fraction. To avoid these artificial effects,
CONVERGE incorporates a High-Resolution Interface Capturing (HRIC) scheme
(Waclawczyk and Kornowicz, 2006).

Figure 17.2: A schematic showing convective boundedness


criterion. U represents upwind cells, D the donor cells, and
A the acceptor cells.

The HRIC method is based on the convective boundedness criterion, which states that the
variable distribution between the centers of the neighborhood control volumes (for
example, D and A in Figure 17.2 above) should remain smooth when D   f  A . Using
this constraint, as well as information about the value of the variable in the upwind
control volume, U , we define the normalized variables

 f  U
f  (17.7)
A  U

and

 
D  D U . (17.8)
A  U

614 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |Individual Species Solution Method

When using the equations above, the value of the void fraction at the control volume, f f .,
takes the form

 f  1   D  
 ,
A (17.9)

where

f  D
  . (17.10)
1  
D

There are three steps in the application of the HRIC scheme. First, the normalized cell face
value is estimated from a scheme that continuously connects upwind and downwind
schemes:

D : D  0, D  1,



f   2D : 0  D  0.5 (17.11)
 
 1: 0.5  D  1.

Second, since a downwind differencing scheme can cause unphysical alignment of the
interface with the mesh, another scheme must be used to satisfy the convective
boundedness criterion. For this process, CONVERGE uses an upwind differencing scheme.
The blending factor, gf , connected with the angle qf (shown below in Figure 17.3), yields
smooth transitions between schemes:

f*   f f  1   f D , (17.12)

where

 f  cos  f . (17.13)

CONVERGE 2.4 Manual 615


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |Individual Species Solution Method

Figure 17.3:
A schematic showing the definition of the angle
qf . qf is defined as the angle between the vector
normal to the fluid-fluid interface in a cell and
the direction vector from the center of fluid-fluid
interface cell, D, to the center of the neighboring
cell, A.

Dynamic blending of the upwind and downwind differencing schemes accounts for local
distribution of the void fraction. When the CFL condition is not satisfied, the dynamic
nature of this scheme can cause stability problems. Therefore,  is corrected with respect
*
f

to the local Courant number Cf . This correction also forces continuous switching between
schemes in the time domain:


f* : C f  0.3


f**  D : C f  0.7 (17.14)

    *   0.7  C f :0.3  C  0.7
 D
f D f
 0.7  0.3

When using this scheme in multiple dimensions, the local Courant number, Cf , is replaced
by its cell definition.

To run the ISS method with HRIC, perform the following steps:
· In vof .in, set vof _model = 1.
· In inputs.in, set gas_compressible_f lag = 1 and liquid_compressible_f lag = 0 or 1.
· In inputs,in, set max_cf l_u = 0.5.

616 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |Individual Species Solution Method

· In solver.in, set f v_upwind_f actor_mom = 0.5 and f v_upwind_f actor_global = 0.5. If the
simulation recovers frequently, set these factors to 1.
· In solver.in, set the convergence tolerance values shown below in Table 17.1.

Table 17.1: ISS/ HRIC convergence tolerance values in solver.in.


Quantity Parameter Tolerance
Momentum mom_tol 1.0e-6

Energy energy_tol 1.0e-5

Pressure pres_tol 1.0e-6

Density density_tol 1.0e-5

Species species_tol 1.0e-5

The fluid properties specified in liquid.dat apply to the a = 0 fluid. The properties specified
in gas.dat apply to the a = 1 fluid.

17.2 Void Fraction Solution Method


Governing Equations
The continuity equation for the incompressible two-phase system is the requirement that
the vector field be divergence-free:

u  0 (17.15)

In Equations 17.17 - 17.22 below, a represents the void fraction in a cell. The momentum
conservation equation for the VOF PLIC method takes the following form:

 u 
  u  u  p     u   (u)T    s n (17.16)
 t 


 u    0 (17.17)
t

   1   2 (1   ) (17.18)

  1  2 (1   ). (17.19)

The void fraction at any given time is calculated as

CONVERGE 2.4 Manual 617


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |Void Fraction Solution Method

t t
V A V (  u)
 n 1   n   n
u  dA  n
dV, (17.20)
V

where

 n 1   n   fluxes+sources. (17.21)

CONVERGE geometrically calculates the fluxes and sources in Equations 17.20 and 17.21
using either the HRIC scheme described above or the Piecewise-Linear Interface
Calculation scheme.

Piecewise-Linear Interface Calculation (PLIC) Scheme


To simulate incompressible two-phase flow with a void fraction solution method,
CONVERGE incorporates the VOF piecewise-linear interface calculation (VOF PLIC)
method (Aulisa et al, 2007, Gueyffier et al, 1999, Rider and Kothe, 1998, Scardovelli and
Zaleski, 1999, and Tryggvason and Scardovelli, 2011). This method constructs the interface
separating the fluids geometrically, using a planar shape in each cell (see Figure 17.4
below). This approach maintains a sharper interface than the HRIC method.

618 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |Void Fraction Solution Method

Figure 17.4: The red dotted lines represent the planar shapes that the PLIC
method uses to construct the fluid-fluid interface geometrically.

In CONVERGE, the VOF PLIC method follows four steps to geometrically calculate the
fluxes and source terms in Equations 17.20 and 17.21:
· Estimate the normal orientation, m = Ña (see Figure 17.5 below),
· Construct the surface with the plane equation: mx x + my y + mzz + d = 0, where the
normals in the x, y, and z directions are mx, my , and mz,
· Determine d uniquely from the void fraction, a , and the interface normal m, and
· Advect the interface (estimate the fluxes).

CONVERGE 2.4 Manual 619


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |Void Fraction Solution Method

Figure 17.5: Planar shapes used to estimate


the normal vectors for the fluid-fluid
interface in each cell.

To run the Void Fraction Solution with PLIC, perform the following steps:
· In inputs.in,
o Set steady_solver_f lag = 0,
o Set gas_compressible_f lag = 0 and liquid_compressible_f lag = 0, and
o Set species_solver_f lag = 0.
· In vof .in, set vof _model = 2.
· In solver.in, set conserve = 0.
· In solver.in, set the convergence tolerance values shown below in Table 17.2.

Table 17.2: ISS/ HRIC convergence tolerance values in solver.in.


Quantity Parameter Tolerance
Momentum mom_tol 1.0e-6

Energy energy_tol 1.0e-5

Pressure pres_tol 1.0e-6

Density density_tol 1.0e-5

Species species_tol 1.0e-5

· In amr.in, set parameters to automatically refine the grid in order to more accurately
capture the VOF interface:
o Set amr_void_f lag = 1,
o Set amr_void_embed_scale to the integer maximum number of levels you want the grid
to be refined in the fluid-fluid interface area,
o Set amr_void_sgs_embed to be the sub-grid value of a that results in grid refinement,
o Set the timing control term to PERMANENT, CYCLIC (VOF AMR repeats) followed by
the period, or SEQUENTIAL (VOF AMR does not repeat), depending on your
simulation, and

620 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |Void Fraction Solution Method

o Set amr_void_start and amr_void_end for VOF AMR (in seconds if crank_f lag = 0 in
inputs.in or in crank angle degrees if crank_f lag = 1 or 2).

The fluid properties specified in liquid.dat apply to the a = 0 fluid. The properties specified
in gas.dat apply to the a = 1 fluid, even though this fluid must be incompressible.

You may initialize the void fraction by setting udf _f lag = 1 in inputs.in and customizing the
user_initialize.c UDF as needed.

High-Resolution Interface Capturing (HRIC) Scheme


You can use the void fraction solution method with the HRIC scheme to track the fluid-
fluid interface. The HRIC scheme allows CONVERGE to stably iterate with a larger time-
step than the PLIC scheme. However, the HRIC scheme cannot resolve the fluid-fluid
interface with as much sharpness as the PLIC scheme. Refer to the HRIC section for the
details and implementation of the HRIC scheme in CONVERGE.

To run VFSM with HRIC, perform the same steps listed for PLIC above but set vof _model =
1 in vof .in.

17.3 Surface Tension and Wall Adhesion


The VOF model accounts for the effects of surface tension along the interface between the
liquid and gas phases. You may augment the model by specifying the contact angles
between the phases and the walls. The addition of surface tension to the VOF calculation
adds a source term, Fsf i, in the following momentum equation:

 ui  ui uj P  ij
    Fsf i . (17.22)
t x j xi x j

To compute the surface tension, CONVERGE calculates the surface curvature from local
gradients in the surface normal at the interface:


xi
ni  . (17.23)

xi

The curvature, κ, is defined in terms of the divergence of the unit normal, ni as

CONVERGE 2.4 Manual 621


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |Surface Tension and Wall Adhesion

ni
  . (17.24)
xi

In the VOF method, the interface between the liquid and gas phases is not tracked
explicitly. Therefore, CONVERGE models the surface tension with a continuum surface
force (CSF) model (Brackbill et al., 1992), which alleviates the interface topology
constraints. The model interprets surface tension as a continuous, three-dimensional effect
across an interface, rather than as a boundary value condition on the interface.

To formulate the volume force, we define a modified void fraction,  x  , that varies
smoothly over a thickness h across the interface by convolving the characteristic function,
 x  with a Gaussian filter interpolation function,  , as

1
3 
 x    x  x  x d3 x, (17.25)
h v

where  has bounded support

h
 x   0 for x  . (17.26)
2

The interpolation function is defined so that the modified  x  approaches the


characteristic function  x  as the scale length h  0 :

lim  x    x . (17.27)
h 0

CONVERGE computes the external force exerted in the cell by surface tension through a
surface tension coefficient, s:

 (x )
Fsf i (x )   (x ) . (17.28)
xi

You can specify a wall adhesion angle in conjunction with the surface tension model.
Rather than impose this boundary condition at the wall itself, the assumed fluid-wall
contact angle adjusts the normal vectors of the cells near the wall. This dynamic boundary

622 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |Surface Tension and Wall Adhesion

condition adjusts the curvature of the surface near the wall. If θw is the contact angle at the
wall, then the surface normal at the live cell next to the wall is

ni  nw i cos  w   tw i sin  w , (17.29)

where nw i and tw i are the unit vectors normal and tangential to the wall, respectively. The
local curvature of the surface is determined by the combination of this contact angle and
the normally calculated normal vector one cell removed from the wall. This curvature
adjusts the body force term in the surface tension calculation.

17.4 Cavitation Modeling


CONVERGE's cavitation model is based on the flash-boiling hypothesis of Shields et al.,
(2011), with rapid heat transfer between the liquid and vapor phase.

The vaporization process in cavitation is very similar to that of flash-boiling, with a specific
thermodynamic difference. While cavitation represents the vapor formed through a
constant temperature system experiencing a drop in pressure, flash-boiling represents the
same system, with a lower pressure drop and elevated temperatures. A homogenous
relaxation model predicts the mass exchange between the liquid and vapor. This model
describes the rate at which the instantaneous mass (i.e., the mass fraction of vapor in a
two-phase mixture) will approach its equilibrium value. Bilicki and Kestin (1990) proposed
a simple linearized form for this rate, shown in the following equation:

Dx x  x
 . (17.30)
Dt 

In the above equation, x represents the instantaneous mass, x represents the equilibrium
mass and q represents the time scale over which x relaxes to x . For evaporation, the time
scale qE can be represented as follows:

 E   0 0.54 1.76 . (17.31)

For condensation, the time scale qC can be represented as

C  F 0 0.54 1.76 , (17.32)

where F is the time scale factor (condensation_time_f actor in vof .in) by which the
evaporation time scale is factored. A typical value for F is 5000, meaning condensation

CONVERGE 2.4 Manual 623


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |Cavitation Modeling

occurs 5000 times slower than evaporation under similar conditions. The value of the
coefficient q0 is 3.84e-7 s and the non-dimensional pressure ratio (j ) is given by

Psat  P
 , (17.33)
Pc  Psat

where Pc is the critical pressure.

To use the cavitation model in CONVERGE, set vof _f lag = 1 in inputs.in and set
cavitation_f lag = 1 in vof .in. Refer to the vof .in section of Chapter 21 - Input File Reference
for more information about the other cavitation-related parameters in vof .in.

17.5 VOF-Spray One-Way Coupling


CONVERGE features one-way coupling between VOF and Lagrangian spray modeling.
You can initialize a spray simulation with parcel data from a VOF simulation. This option
allows you to combine a high fidelity simulation of a fuel injector and nozzle system with a
computationally inexpensive parcel-based fuel injector spray simulation.

First, run a VOF simulation. In this simulation, set vof _spray_f lag = 1 in vof .in and set
spray_f lag = 0 in inputs.in. In vof _spray.in, identify injectors and nozzles based on the the
region IDs of the regions on either side of each nozzle (see Figures 17.6 and 17.7 below).
After this simulation, CONVERGE generates a vof _spray.out file. This file contains parcel
position, velocity, turbulence, temperature, and cell size information from the VOF
simulation. CONVERGE writes this information for the two layers of cells on either side of
a region interface that defines a nozzle. We recommend that you place this region
interface slightly within the nozzle (as seen for Nozzles 3 and 7 in Figure 17.6) to better
demarcate between the two regions. This information is, at the interval specified for
twrite_vof _map, written out for all injectors with the Injector_ID as specified in vof _spray.in.
Rename this file as vof _spray.dat (CONVERGE requires this exact file name).

624 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |VOF-Spray One-Way Coupling

Figure 17.6: View of the nozzles and chamber regions for the ECN Spray G example case.
Note that not all nozzles are labeled.

# CONVERGE 2.4
#=======================
1e-20 twrite_vof_spray Time interval for writing
vof_map file.
# ------------------------------------------------
0 vof_spray_injector Injector id.
3 2 vof_spray_regions Regions ids.
4 2 vof_spray_regions Regions ids.
5 2 vof_spray_regions Regions ids.
6 2 vof_spray_regions Regions ids.
7 2 vof_spray_regions Regions ids.
8 2 vof_spray_regions Regions ids.
9 2 vof_spray_regions Regions ids.
10 2 vof_spray_regions Regions ids.
Figure 17.7: An excerpt of a vof _spray.in file. Note that the region IDs correspond to those of the
nozzles and the chamber in Figure 17.6 above.

Next, run a Lagrangian simulation with spray modeling enabled (set spray_f lag = 1 in
inputs.in) and VOF modeling disabled (set vof _f lag = 0 in inputs.in). For this simulation,
select the appropriate value of spray_inject_bc_f lag in spray.in (described below). This
simulation uses the data and injector settings (position, orientation, and diameter) in

CONVERGE 2.4 Manual 625


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |VOF-Spray One-Way Coupling

vof _spray.dat to create parcels and represent the spray. CONVERGE reads vof _spray.dat
and the order in which injectors (Injector_ID) appear determines how CONVERGE assigns
the blocks of VOF data to the injectors listed in spray.in. For example, CONVERGE assigns
the VOF data following the Injector_ID 0 line in vof _spray.dat to the first injector in
spray.in, the data following Injector_ID 1 in vof _spray.in to the second injector in spray.in,
etc.

Note that CONVERGE does not verify that corresponding injectors are in the same
location. If the position of the injector in the Lagrangian spray simulation does not match
the position of the corresponding injector in the VOF simulation, CONVERGE will use the
injector position and orientation that appears in vof _spray.dat. If this position happens to
be outside of the domain in the Lagrangian simulation (and you have not specified
transformation options), the simulation will crash.

If the Lagrangian simulation is crank angle degree-based (crank f lag = 1 or 2 in inputs.in),


CONVERGE automatically converts the timing information in vof _spray.dat, which is
always in seconds for VOF simulations, to crank angle degrees. Also, if the start time of the
VOF simulation differs from the start time of the Lagrangian spray simulation,
CONVERGE shifts the timing in vof _spray.dat such that it matches the spray start time of
the Lagrangian simulation (start_inject in spray.in). The spray duration in the Lagrangian
simulation (inject_duration in spray.in) must be less than or equal to the duration given in
vof _spray.dat.

CONVERGE uses the position, velocity, turbulence, and temperature information from the
vof _spray.dat file to initialize the parcels for the spray simulation. For each injector, specify
the maximum mass (in kg) that CONVERGE assigns to each liquid parcel
(vof _spray_mass_per_parcel) and the volume fraction threshold
(vof _spray_liq_f rac_threshold). If a cell has a liquid volume fraction above the threshold you
enter, CONVERGE injects at least one liquid parcel using the data from vof _spray.dat. If a
cell has a liquid volume fraction below the threshold, CONVERGE does not inject liquid
parcels or fuel vapor. CONVERGE adjusts the number of parcels injected to match the
total injected mass from vof _spray.dat, so the liquid mass injected at a given time-step in
the Lagrangian simulation is equal to the liquid mass at the corresponding time in the VOF
simulation. The injection schemes is as follows.

1. At a given time-step, determine the total mass to inject from the corresponding
Total_Mass_Liquid entry in vof _spray.dat,
2. For each data point in vof _spray.dat, sum the liquid volume fraction (Liquid VOF in
vof _spray.dat) of data points for which the liquid volume fraction exceeds the threshold
(vof _spray_liq_f rac_threshold in spray.in),
3. Divide the total mass (determined in step 1) by the sum of the acceptable liquid volume
fractions (determined in step 2). The result is the mass per unit volume fraction,

626 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |VOF-Spray One-Way Coupling

4. For each data point with a liquid volume fraction above the threshold, multiply the
mass per unit volume fraction by the liquid volume fraction of the cell. The result is the
mass to inject per cell,
5. Divide the mass to inject per cell by the maximum parcel mass
(vof _spray_mass_per_parcel in spray.in) and add 1 (shown in Equation 17.34 below).
This process ensures that each cell has at least one parcel.

mass to inject per cell


parcels per cell  1 (17.34)
vof _ sp ray _ mass _ p er _ p arcel

Currently, for cells in which CONVERGE injects multiple parcels, all parcels have the
same radius (a function of the square root of Ca and the Diameter in vof _spray.dat and
shown in Equation 17.35 below). CONVERGE calculates Diameter in vof _spray.dat from
the area of the nozzle (assuming a circular nozzle).

parcel radius  Ca  0.5  Diameter (17.35)

If a data point in vof _spray.dat meets the criteria given by the injection scheme described
above and CONVERGE does inject a parcel, the parcel location is that given by the
corresponding X, Y, and Z data (unless you activate transformation options). To avoid
creating a uniform stream of parcels in a given cell, CONVERGE perturbs the parcel
position via a random number within the bounds of a cube described by dx, dy, and dz in
vof _spray.dat.

Figure 17.8 below provides an excerpt of a sample vof _spray.out file. The header provides
general information about the the nozzle, the two regions between which the data applies,
and liquid parcel data from the VOF simulation. The injector and nozzle IDs correspond to
those specified in vof _spray.in. The column output contains specific data for the liquid
parcels.

# CONVERGE 2.4
# VOF spray data file.
VOF_Liquid_Species IC12H26 VOF_Start_Time 0.0000000e+00 (s)
Time 1.0699517e-07 (s)
Injector_ID 0 Nozzle_ID 0 Region_IDs
2 1
Injector_Center 3.7000386e-05 -9.9976097e-04 4.8516653e-07 Nozzle_Center
3.7000386e-05 -9.9976097e-04 4.8516653e-07
Injector_Axi_Vec 1.1211468e-03 -9.9999936e-01 1.2407590e-04 Nozzle_Axi_Vec
1.1211468e-03 -9.9999936e-01 1.2407590e-04
Mass_Flow_Rate -5.9717491e-04 Mass_Flow_Rate_Liquid -5.9586239e-04
Total_Mass -6.4933024e-11 Total_Mass_Liquid -6.4716588e-11 Ca
9.9401483e-01 Diameter 8.8943495e-05
TKE 5.6575370e+00 EPS 4.3258723e+06 TEMP 3.6255930e+02

CONVERGE 2.4 Manual 627


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |VOF-Spray One-Way Coupling

Cell_Count 160
X Y Z U V
W Liquid VOF
8.6096629e-05 -1.0096207e-03 -4.9915672e-06 -8.9929365e+01 1.3409426e-01
3.3958215e+00 1.1380727e-01
8.1267619e-05 -9.9837326e-04 -2.3201992e-06 2.3183932e+00 -1.1697388e+02
1.4541175e+00 9.9174065e-01

Liquid Mass TKE EPS TEMP


dx dy dz
1.2608065e-14 1.1546628e+01 3.7139282e+06 4.4852778e+02
1.0000000e-05 1.0000000e-05 1.0000000e-05
1.4230230e-14 7.7818276e+00 1.6647836e+06 3.5986321e+02
1.0000000e-05 1.0000000e-05 1.0000000e-05
.
.
.
Figure 17.8: An excerpt of a vof _spray.out file. The columns here are split for readability. In actuality,
the Liquid Mass, TKE, EPS, TEMP, dx, dy, and dz columns follow the Liquid VOF column.

Lagrangian Simulation: Transformation Options


In the Lagrangian simulation, to overwrite the nozzle diameter given in vof _spray.dat, set
spray_inject_bc_f lag = 10 and CONVERGE instead uses the nozzle diameter given by
noz_diameter in spray.in. This feature is useful for nozzles that are not complete circles (e.g.,
for modeling half of a nozzle with a SYMMETRY boundary condition). Note that Equation
17.35 gives the parcel radius, but Diameter is instead noz_diameter.

In some cases, the injector in the Lagrangian spray simulation can have a different location
or orientation than that specified in the VOF simulation. To transform the output data
from the vof _spray.dat f ile such that it is in the correct location for the Lagrangian
simulation, use the spray_inject_bc_f lag to instruct CONVERGE to automatically transform
the data in vof _spray.dat.

If you set spray_inject_bc_f lag = 11, CONVERGE translates the data contained in
vof _spray.dat. To calculate the translation amount, CONVERGE determines the distance
and direction between the location of the injector (given by x_cen_inj, y_cen_inj, and
z_cen_inj in spray.in) and the injector location given in vof _spray.dat (Injector_Center). Then,
CONVERGE applies this translation to each data point in vof _spray.dat to translate the
data to the location of the injector in the Lagrangian spray simulation.

If you set spray_inject_bc_f lag = 12, CONVERGE rotates the data contained in
vof _spray.dat. To calculate the rotation amount, CONVERGE determines the angle
between the normal vector of the injector exit (calculated based on the injector angle given
by angle_xy_inj and angle_xz_inj in spray.in) and the normal vector of the injector given in
vof _spray.dat (Injector_Axi_Vec). Then, CONVERGE applies this rotation to each data point
in vof _spray.dat to rotate the data to the orientation of the injector in the Lagrangian spray
simulation.

628 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |VOF-Spray One-Way Coupling

If you set spray_inject_bc_f lag = 13, CONVERGE applies both translation and rotation as
described above.

If the simulation includes multiple injectors, you can specify values of spray_inject_bc_f lag
on a per-injector basis. If you set spray_inject_bc_f lag = 0 for a particular injector,
CONVERGE ignores the corresponding block of VOF data in vof _spray.dat and instead
uses parameters supplied in spray.in to orient and inject parcels from this injector.

If you want to specify only a single nozzle and have CONVERGE copy the attributes of
this nozzle to the remaining nozzles, set spray_inject_bc_f lag = 14. For this option, only one
nozzle per injector is allowed, and you must also set nozzle_init_f lag = 2 in spray.in.

For an injector embedding in embedded.in, CONVERGE automatically places the


embedding at the injector location (from vof _spray.dat, including any specified
transformation options).

For parcel temperature, TKE, and EPS, you can supply constant values, use the values
directly from vof _spray.dat, or scale and/or offset the values from vof _spray.dat.
CONVERGE uses the values of these turbulence quantities to perturb the initial parcel
velocity in the spray simulation. For the gas phase, use init_cell_turb_f lag to control the
turbulence initialization. If you plan to use the KH-ACT breakup model in the spray
simulation, you must use a k-epsilon turbulence model in the VOF simulation.

Note that for calculation of vapor penetration length (VPL) in the Lagrangian spray
simulation, CONVERGE uses the cone angle given by noz_cone in spray.in.

Refer to the ECN spray A and ECN spray G example case setups included with
CONVERGE Studio for examples of configured VOF and Lagrangian spray simulations.

17.6 Dissolved Gas Modeling


Under certain conditions, a gas may dissolve into a liquid such that the two fluids are in
solution. Likewise, as the pressure changes, the gas in the solution exits the solution and
returns to a free gas phase. In CONVERGE, Henry’s Law governs the mass transfer
between the free gas phase and the dissolved gas/liquid solution. Equations 17.36 and
17.37 below use N2 as an example gas. Henry's Law can be written as

p
cN2 ,liq  , (17.36)
KH T 

CONVERGE 2.4 Manual 629


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 17
Volume of Fluid (VOF) Modeling |Dissolved Gas Modeling

where c is the molar concentration of the gas in solution, p is the pressure, and KH is the
Henry constant. Henry’s Law specifies the amount of a gas that should be in solution at
the given pressure and temperature. By comparing this equilibrium value with the
calculated value of dissolved gas in a computational cell, CONVERGE calculates the
appropriate amount of dissolved gas in solution. Equation 17.37 presents the rate equation
used to calculate mass transfer between the free gas phase and the dissolved gas phase:

dYN2 ,liq YN2 ,liq  YN2 ,liq


 , (17.37)
dt 

where YN2,liq is the mass fraction of dissolved gas in solution (N2 in this example), YN2 ,liq is
the equilibrium mass fraction of dissolved gas in solution, and τ is the time-scale. Note that
in the rate equation above, the time-scale τ is constant.

To activate dissolved gas modeling, set dissolved_gas_f lag = 1 in vof .in and specify the
dissolved gas information beneath that parameter, as described in Chapter 22 - Input File
Reference. For each dissolved gas to be modeled, CONVERGE tracks a passive that
represents the dissolved gas in solution with the liquid. You must include these passives in
both vof .in and species.in. CONVERGE treats the dissolved gas as a liquid in solution.
Supply the species name of this liquid in solution and the gas phase species that
corresponds to the liquid in solution. CONVERGE uses the molecular weight of the
corresponding gas for the molecular weight of the liquid.

630 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

18
Fluid-Structure Interaction (FSI) Modeling
Chapter 18
Fluid-Structure Interaction (FSI) Modeling |

18 Fluid-Structure Interaction (FSI) Modeling


CONVERGE computes external forces, such as aerodynamic and gravitational forces, and
moments on an object to model fluid-structure interaction (FSI). These forces are computed
by numerical integration of pressure and shear stress over the surface of the object. This
technique, combined with the flow solver and Adaptive Mesh Refinement (AMR), can be
readily applied to a variety of useful applications such as the movement of reed valves in
engines or the rotation of a turbine.

18.1 Force and Moment Calculation


The flow solver calculates the force, Ff luid-i, by integrating the stress tensor over the surface
of the FSI object, as

Ff luidi   ( P  ij   ij )n j dS, (18.1)


S

where ni is the normal vector, Pi is the pressure, and sij is the viscous stress tensor. As
described below in the Equations of Motion section, Ff luid-i is used to calculate the
translational motion of the FSI object.

The total moment (Mf luid-i) is calculated from the flow solver by integrating the stress tensor
over the surface of the FSI object, as shown in Equation 18.2:

M f luidi    ijk rj ( P  kl   kl )nl dS , (18.2)


S

where e ij k is the Levi-Civita symbol and rj is the distance of the center of mass from the
surface boundary. As explained in Equation 18.4 in the Equations of Motion section below,
the total moment (Mf luid-i) is used to calculate the angular motion of the FSI object.

18.2 Equations of Motion - Rigid Body Dynamics


CONVERGE solves the governing equation for the translational motion of the center of
mass, which is given by Equation 18.3:

632 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 18
Fluid-Structure Interaction (FSI) Modeling |Equations of Motion - Rigid Body Dynamics

 Fexternal i  Ff luid i  mxi ,


  (18.3)

i is the displacement of the center of mass in the ith direction of


where m is the mass and x
the FSI object. The Fexternal-i forces, which are summed, include the applied forces (specified
in f si.in) and the body forces (gravity as specified in inputs.in or other forces on the FSI
object as specified via user_f si.c) on the FSI object.

The governing equation for the rotational motion of the center of mass in the inertial
coordinate system is given by Equation 18.4:

 M external i  M f luid i  Iij j   ijk j I kll ,


  (18.4)

where w is the angular velocity in the ith direction and I


i ij
is the moment of inertia tensor
of the FSI object. The Mexternal-i moments, which are summed, include the applied moments
(specified in f si.in) and moments due to other external forces on the FSI object. The
rotational position is updated on a quaternion-based modeler where the quaternion (q) is
defined by Equation 18.5:

   
q  cos  i sin  j sin  k sin , (18.5)
2 2 2 2

where q is the angle and (i, j, k) is the axis vector about which the rotation occurs.

18.3 FSI Implementation


To implement FSI modeling in a CONVERGE simulation, you must prepare the surface
geometry in CONVERGE Studio and note the boundary IDs of the boundaries that define
your FSI object(s). In Figure 18.6 below, all of the boundaries that constitute part of the
bird are boundaries used to define the FSI object. There is an additional boundary (not
visible in Figure 18.6) that defines a box around the bird, but that boundary is not part of
the FSI object.

After preparing the geometry, activate FSI modeling by setting f si_f lag = 1 in inputs.in. Next
you need to prepare boundary.in and f si.in as described below.

CONVERGE 2.4 Manual 633


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 18
Fluid-Structure Interaction (FSI) Modeling |FSI Implementation

Figure 18.1: You can use FSI modeling in CONVERGE to visualize the flapping wings of the bird.
All of the example input files in this chapter pertain to this bird.

boundary.in
After preparing the geometry, you need to prepare the boundary.in file for your FSI case.

Figure 18.6 below shows an example boundary.in file for the flying bird shown in Figure
18.5.

Set a wall motion type of FSI for each boundary whose motion will depend solely on the
fluid-structure interaction (i.e., solely on the parameters defined in f si.in). In other words,
include the keywords WALL MOVING FSI in the row below each applicable boundary ID.
In the example below, Boundaries 1, 2, 3 and 4 are in this category. The motion of a WALL
MOVING FSI boundary will be dictated by Equations 18.3 and 18.4. When CONVERGE
reads the FSI keyword, it will ignore any velocity vector or motion file name on the
corresponding velocity boundary condition row in boundary.in. Also, if a boundary has a
wall motion type of FSI, it must be listed within an FSI object in f si.in.

Note that some boundaries may be a part of an FSI object but may not have FSI as their
wall motion type. In the example below in Figure 18.6), Boundaries 5 and 6 (RightWing
and Lef tWing) are specified as WALL MOVING Rotating because these boundaries have a
rotating motion assigned to them by their respective *_motion.in velocity profiles. The
rotation specified for these boundaries will have a moving rotation center, with the initial

634 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 18
Fluid-Structure Interaction (FSI) Modeling |FSI Implementation

rotation center as specified by the first set of coordinates following the Dirichlet keyword
([0.052655 0.099025 -0.034354] for Boundary 5 below). CONVERGE automatically
calculates the current position of the rotation center based on how the boundary position
is affect by the FSI forces. Note that Boundaries 5 and 6 also will be affected by the fluid-
structure interaction parameters defined in f si.in because Boundaries 5 and 6 are included
in the list of boundaries in that file.

You cannot have a FIXED motion type with the FSI wall boundary condition.

#!CONVERGE_VERSION=2.4
#=======================

7 # Number of boundaries defined


#-----------------------------------------------
1 Body
WALL MOVING FSI
roughness 0.0 0.5
velocity Dirichlet
pressure Neumann 0.0
temperature Dirichlet 300.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Dirichlet 0.0
omega Dirichlet 0.0
region 0
#-----------------------------------------------
2 Tail
WALL MOVING FSI
roughness 0.0 0.5
velocity Dirichlet
pressure Neumann 0.0
temperature Dirichlet 300.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Dirichlet 0.0
omega Dirichlet 0.0
region 0
#-----------------------------------------------
3 BirdFace
WALL MOVING FSI
roughness 0.0 0.5
velocity Dirichlet
pressure Neumann 0.0
temperature Dirichlet 300.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Dirichlet 0.0
omega Dirichlet 0.0
region 0
#-----------------------------------------------
4 Talons
WALL MOVING FSI

CONVERGE 2.4 Manual 635


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 18
Fluid-Structure Interaction (FSI) Modeling |FSI Implementation

roughness 0.0 0.5


velocity Dirichlet
pressure Neumann 0.0
temperature Dirichlet 300.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Dirichlet 0.0
omega Dirichlet 0.0
region 0
#-----------------------------------------------
5 RightWing
WALL MOVING Rotating
roughness 0.0 0.5
velocity Dirichlet 0.052655 0.099025 -0.034354 0.0 0.0 1.0
"right_motion.in" 0.0
pressure Neumann 0.0
temperature Dirichlet 300.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Dirichlet 0.0
omega Dirichlet 0.0
region 0
#-----------------------------------------------
6 LeftWing
WALL FIXED Stationary
roughness 0.0 0.5
velocity Dirichlet 0.0 0.0 0.0
pressure Neumann 0.0
temperature Dirichlet 300.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Dirichlet 0.0
omega Dirichlet 0.0
region 0
#-----------------------------------------------
7 DomainLimits
WALL MOVING Rotating
roughness 0.0 0.5
velocity Dirichlet -0.050097 0.099026 -0.034363 0.0 0.0 1.0
"left_motion.in" 0.0
pressure Neumann 0.0
temperature Dirichlet 300.0
species Neumann 0.0
passive Neumann 0.0
tke Neumann 0.0
eps Dirichlet 0.0
omega Dirichlet 0.0
region 0

Figure 18.2: The boundary.in file for the flying bird example. The geometry for this case is shown
above in Figure 18.1.

f si.in
After preparing boundary.in, you need to prepare f si.in. The f si.in file specifies the number
of FSI objects; the boundaries that constitute each FSI object; and information related to

636 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 18
Fluid-Structure Interaction (FSI) Modeling |FSI Implementation

the spatial coordinates, applied moments and forces, and translational and rotational
constraints. The file also sets flags for FSI spring, stiction, and event options.

Figure 18.3 shows an f si.in file for the flying bird case.

#!CONVERGE_VERSION=2.4
#=======================

1 # Number of objects
#---------------------------------------------
# fsiobject_1
#---------------------------------------------
fsiobject_1 object_id Object id that corresponds
to those in boundary.in.
6 num_boundaries Number of boundaries on the
object.
1 boundary_id Boundary ids for boundaries
on the object.
2 boundary_id Boundary ids for boundaries
on the object.
3 boundary_id Boundary ids for boundaries
on the object.
4 boundary_id Boundary ids for boundaries
on the object.
5 boundary_id Boundary ids for boundaries
on the object.
7 boundary_id Boundary ids for boundaries
on the object.
0 gti_fsi_flag 0: do not use GT-SUITE; 1:
solve using GT-SUITE.
0.0 fsi_start_time The start time of fsi
computations.
0 center_of_mass_flag Center of mass flag. 0: use
geometric center (constant density), 1: displacement from geometric center, 2: Center
in space coordinates.
0.0 0.0 0.0 center_of_mass Coordinates for center of
mass.
0 mass_flag 0: use density value; 1:
use mass value.
200.0 object_mass Total mass of object.
10.0 object_density Density (or average
density) of object.
0.0 0.0 0.0 object_vel_init Initial velocity.
0.0 object_rot_vel_init Initial rotational
velocity.
1.0 0.0 0.0 rot_vel_init_axis Initial rotational velocity
axis.
0.0 0.0 0.0 applied_force Constant applied force.
0.0 applied_moment Constant applied moment.
0.0 0.0 0.0 applied_moment_axis Constant applied moment
axis.
0 moment_of_inertia_flag 0: moment of inertia is
computed (constant density assumed); 1: moment inertia tensor given on next three
lines.
1.0 0.0 0.0 moment_of_inertia
0.0 1.0 0.0 moment_of_inertia
0.0 0.0 1.0 moment_of_inertia

CONVERGE 2.4 Manual 637


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 18
Fluid-Structure Interaction (FSI) Modeling |FSI Implementation

0 1dof_constraint_flag 0: No 1 DOF Constraint; 1:


1 DOF Translation; 2: 1 DOF Rotation.
0.0 0.0 0.0 axis_point The first point used to
define the rotational axis. Used if axis_flag=1.
0.0 1.0 0.0 axis The axis used for
constrained rotation. Used if axis_flag=1.
-0.2 min_displacement Minimum angle for
rotationally constrained cases (in degrees).
3.25 max_displacement Maximum angle for
rotationally constrained cases (in degrees).
1.0 constrained_mom_of_inertia Used if
1dof_constraint_flag=1; computed if moment_of_inertia_flag=0, value entered used if
1.

#---------------------------------------------
# forces and events option
#---------------------------------------------
0 spring_flag
0 stiction_flag
0 fsi_events_flag

Figure 18.3: The f si.in file for the flying bird example. The geometry for this case is shown above in
Figure 18.1.

The flying bird example uses zero applied force. You may specify a constant applied force
directly in f si.in, or you may specify the name of tabulated applied force file. The format of
an f si_f orce.in file is described in Chapter 23 - Output File Reference.

f si_object_<name>.out
CONVERGE writes output data for each FSI object to an f si_object_<name>.out file, where
<name> is the object_id of the FSI object. For example, the output file name might be
f si_object_anchor.out or f si_object_3.out (the object_id is a string, not a number). The format
of f si_object_<name>.out is described in Chapter 23 - Output File Reference.
18.3.1 FSI Spring
You can use the CONVERGE FSI spring option to model spring forces between objects.
The model is an approximation of a damped linear coil spring, with specified stiffness,
damping coefficient, length, and preload. You specify the two endpoints of the spring,
which defines the direction of the applied force.

If you are simulating a physical coil spring, you can add fidelity to the model using
subsprings. You specify a radius and azimuthal angle for each subspring. The total
specified stiffness and damping is distributed across the subsprings. A simulation with
many subsprings will approximate an ideal coil spring.

Set spring_f lag = 1 in f si.in to activate the FSI spring model. CONVERGE will refer to the
spring.in input file, which contains spring modeling constants for each FSI spring object.

638 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 18
Fluid-Structure Interaction (FSI) Modeling |FSI Implementation

18.3.2 FSI Stiction


CONVERGE includes a stiction model to approximate the interaction force that must be
overcome to put two static objects into relative motion. To use the stiction model, you
specify a maximum force, a maximum interaction distance, and a unit vector for the
stiction force. CONVERGE treats the stiction force as a linear decay between the maximum
specified force at zero distance, and zero force at the maximum specified distance.

To activate the stiction model, set stiction_f lag = 1. CONVERGE will refer to the stiction.in
file for these parameters.
18.3.3 FSI Events
You can activate FSI events by setting f si_events_f lag = 1. CONVERGE will then look for
event definitions in f si_events.in. These events are implemented in the same way as the
standard events described in Chapter 7 - Initialization and Regions, using OPEN and
CLOSE events to deactivate and activate disconnect triangles. In contrast to regular events,
FSI events are defined by distances rather than times. Note that in case of conflict, FSI
events override standard events.

18.4 GT-SUITE/FSI Coupling


For a CONVERGE + GT-SUITE simulation that includes FSI modeling, set f si_f lag = 1 in
inputs.in and then set gti_f si_f lag = 1 in f si.in. In the boundary.in file, include the FSI
keyword as described previously and set up the GT-SUITE boundaries as described in
Chapter 8 - Boundary Conditions. It is important to verify that the object_id in f si.in
matches the object name given in GT-SUITE.

In a typical CONVERGE + GT-SUITE simulation, CONVERGE runs first and then passes
information to GT-SUITE. In a CONVERGE - GT-SUITE simulation that includes FSI,
however, GT-SUITE runs first and CONVERGE runs second.

CONVERGE 2.4 Manual 639


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

19
Radiation Modeling
Chapter 19
Radiation Modeling |

19 Radiation Modeling
You can model radiation and associated heat transfer in CONVERGE. For systems with
heat transfer due to radiation (not just conduction or convection), this feature will help to
attain accurate results. Radiation modeling may be useful for gas turbine or diffusion flame
simulations, among other applications.

19.1 Discrete Ordinates Method


You can use the Discrete Ordinates (DO) method, which encompasses all optical
thicknesses, to solve problems with participating media. The computational cost depends
on angular discretization and pixelation. This model can be used with either gray
radiation or nongray radiation. For nongray radiation, CONVERGE includes a gray band
model and the Weighted Sum of Gray Gases (WSGG) model.
19.1.1 Discrete Ordinates Governing Equations
The DO model solves the radiative transfer equation (RTE) for a fixed set of discrete solid
angles. Each angle is associated with a fixed Cartesian vector direction si. The RTE for an
absorbing, emitting, and scattering medium at position ri in the direction si is given by

4
(I (ri , si )si )  T4  s
 a   s  I (ri , si )  an   I(ri , si ) sisi d. (19.1)
2

 4
RI
xi 0

In this equation, ri is the position vector (and is a function of x, y, and z), si is the direction
vector, s'i is the scattering direction vector, a is the absorption coefficient, nRI is the
refractive index, ss is the scattering coefficient, s is the Stefan-Boltzmann constant, I is the
radiation intensity, T is the local temperature, F is the scattering phase function, and 
is the solid angle.
19.1.2 Discretization
The spatial discretization to solve the radiative transfer equation (RTE) is two-fold.

1. Finite-volume in Cartesian space (x, y, z) for radiation intensity as given by Equation


19.1 in the Discrete Ordinates Governing Equations section above.
2. Discrete solid angles for each direction vector (si) of intensity I.

Angular Discretization
There are two possible schemes for angular discretization.

642 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 19
Radiation Modeling |Discrete Ordinates Method

You can set radiation_model = 0 in radiation.in to implement the standard finite volume
method (FVM). In this model the polar and azimuthal angles are subdivided uniformly in
N and N directions, respectively, with a total number of N N control angles per
octant. This scheme is shown below in Figure 19.1.

Alternatively, you can set radiation_model = 1 in radiation.in to use a variation of the finite
volume method called FTnFVM. In this model the polar angle in an octant is subdivided
uniformly into a pair number N, and the azimuthal angle is divided uniformly in an octant
in the following sequence 1, 2, ..., N in each level of the polar angle. You can control the
angular refinement for spherical discretization by num_theta and num_phi in the
radiation.in file. This scheme is shown below in Figure 19.1.

Figure 19.1: Angular discretization for the DO method. The image at left pertains to the FVM, while
the image at right pertains to the FTnFVM.

Pixelation
Because CONVERGE uses a Cartesian mesh, the angular discretization aligns with the
control volume face. However, control volume faces do not always align with the angular
discretization at boundaries in CONVERGE, leading to the problem of control angle
overhang. As shown below in Figure 19.2, this problem results in control angles that are
split by the boundary.

N N
CONVERGE adds resolution by discretizing each control angle into  p  p pixels. You
can set the pixel resolution by num_theta_pix and num_phi_pix in radiation.in file.

CONVERGE 2.4 Manual 643


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 19
Radiation Modeling |Discrete Ordinates Method

Figure 19.2: Control angle overhang.

19.1.3 Scattering Phase Function


There are five options for the scattering phase function (F ) for the DO method. These
options are controlled by the scatter_f unction parameter in radiation.in as follows:
· scatter_f unction = 0: No scattering
· scatter_f unction = 1: Isotropic phase function
· scatter_f unction = 2: Linear anisotropic phase function
· scatter_f unction = 3: A Delta-Eddington phase function
· scatter_f unction = 4: Use the user_scattering_phase_f unction user-defined function to define
the scattering phase function

For isotropic scattering (i.e., scattering that is equally likely in all directions), set
scatter_f unction = 1.

The linear anisotropic phase function (scatter_f unction = 2) is given by Equation 19.2 below,
in which si and si' are the two direction vectors.

 si si   1  Canisosisi (19.2)

The Delta-Eddington function (scatter_f unction = 3) is given by Equation 19.3 below.

 si s j  2 f DE (1  sisi )  1  f DE (1  Canisosisi ) (19.3)

644 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 19
Radiation Modeling |Discrete Ordinates Method

19.1.4 Nongray Gas Radiation Models


If you set nongray_model = 1 or 2 in radiation.in, then CONVERGE will perform a nongray
gas simulation. The two options (Weighted Sum of Gray Gases model, band model) are
described below. If you set nongray_model = 0, then CONVERGE will perform a gray gas
simulation.

Weighted Sum of Gray Gases Model


CONVERGE will use the Weighted Sum of Gray Gases (WSGG) model if nongray_model =
1. Specify the number of gray gases using the num_gray_gases parameter. The total
emissivity over the distance s in the WSGG model is given by

I
   a ,i T 1  e i ps , (19.4)
i0

where a ,i are the weighting factors for the fictitious gray gases,  i is the absorption
coefficient of the i-th gray gas, p, is the sum of the partial pressures of all of the absorbing
gases, and s is the path length.

The absorption coefficient for i = 0 is assigned a value of zero to account for windows in
 i 1 a ,i  1 ),
I
the spectrum between spectral regions of high absorption (  and the
weighting factor for i = 0 is given by (Smith et al., 1982) as

I
a ,i  1   a ,i . (19.5)
i1

The temperature dependence of a ,i is approximated by

J
a ,i   b ,i , j T j 1 , (19.6)
j 1

where b ,i , j are the emissivity gas temperature polynomial coefficients. The polynomial
coefficients b ,i , j and  i are nearly constant with respect to ps (the pressure-path length
product) and T. CONVERGE calculates initial polynomial coefficients and absorption
coefficients assuming they are constant-valued. These coefficients are calculated for

CONVERGE 2.4 Manual 645


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 19
Radiation Modeling |Discrete Ordinates Method

different relative pressures of the CO2 and H2O vapor, assuming that the total pressure is
1 atm. At 1 atm, these constant-valued coefficients are considered valid for
0.001  ps  10.0 atm-m and 600K  T  2400K (Smith et al.,1982).

For pressures higher than 1.1 atm or lower than 0.9 atm, CONVERGE locally scales the
absorption coefficients in each cell. This scaling (Edwards and Matavosian, 1984) reduces
the error associated with the constant-value assumption. The absorption coefficients are
scaled according to

 i   i p atmm , (19.7)

where p atm is the pressure in atm and the pressure exponent m is a non-dimensional term
that is a function of species partial pressures, total pressure, and temperature.

Band Model
If you set nongray_model = 1, CONVERGE will use a band model. For band models, you
must provide the spectral band bounds and the absorption and scattering coefficients. The
number of spectral bands is specified by num_spectral_bands. For each spectral band,
specify the lower spectral bound, the upper spectral bound, the absorption coefficient, and
the scattering coefficient in band_properties. Refer to the table in the Radiation-Related
Inputs section.

19.2 Spray/Radiation Coupling


You can include coupling of spray and radiation by setting rad_spray_coupling = 1 in
radiation.in. This option captures the effect of spray parcels on radiation. The contribution
is given by Equation 19.8, as follows:

(Isi )  T4 p 4
 a  ap   p I (ri , si )  anRI  Ep   I(ri , si ) sis j ninj d, (19.8)
2

xi  4 0

where ap is the absorption coefficient due to the presence of particulates and is given by
Equation 19.9, as follows:

646 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 19
Radiation Modeling |Spray/Radiation Coupling

N Apn
ap    pn . (19.9)
n 1 V

The emission due to particulates, Ep , is given by

N  Tpn4
Ep    pn Apn , (19.10)
n 1 V

where sp is the particle scattering factor, as follows:

N Apn
 p   1   pn  , (19.11)
n 1 V

where e pn, A pn, Tpn are the emissivity, projected area, and temperature, respectively, of
parcel n. In the above equations the summation is over N parcels in volume V. Specify the
parcel emissivity (e pn) via parcel_emissivity in radiation.in.

19.3 Radiation-Related Inputs


To activate the radiation model in CONVERGE, set radiation_f lag = 1 in inputs.in and
include the radiation.in file in the Case Directory. You can set the numerical constraints
such as under-relaxation and tolerance values for the Discrete Ordinates method by
configuring omega_rad and tol_rad in solver.in.

You must define two non-transport passives–RADIATION and RADIATION_SRC–in


species.in for any simulation that includes radiation modeling.

In addition to including the RADIATION non-transport passive, you must also include the
radiation variable in post.in. The combination of this non-transport passive and post.in
variable will prompt CONVERGE to write out the cell-by-cell values that you need to post-
process the data from a radiation simulation. The RADIATION non-transport passive is
the incident radiation, which is calculated by the integral of intensity of radiation over a
spherical surface:

CONVERGE 2.4 Manual 647


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 19
Radiation Modeling |Radiation-Related Inputs

4

 I(ri , si )d. (19.12)


0

If you want CONVERGE to write the radiative heat flux, you must include the
RAD_BOUND_FLUX non-transport passive in species.in and the variable bound_f lux in
post.in. The radiative heat flux at CONVERGE boundaries is given by

2

 I(ri , si )si d. (19.13)


0

648 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

20
Internal Combustion Engine Applications
Chapter 20
Internal Combustion Engine Applications |

20 Internal Combustion Engine Applications


This chapter describes topics related to modeling internal combustion (IC) engines in
CONVERGE. To run an engine simulation, set crank_f lag = 1 in inputs.in. When crank_f lag
= 1, the unit of time is crank angle degrees. Also, when crank_f lag = 1, you must include the
engine.in file in the Case Directory. You must verify that your surface geometry file (e.g.,
surf ace.dat) is prepared with the piston at bottom dead center (BDC) position to ensure that
the simulation domain is meshed accurately.

20.1 Velocity Initialization in IC Engines


CONVERGE initializes velocities for all regions via initilize.in. For engine cases,
CONVERGE uses the engine parameters specified in engine.in to overwrite the velocity in
the cylinder. For a multi-cylinder case, only one cylinder will be initialized using the
velocity initialization technique described below for the Piston and the Cylinder (Non-
Piston).

20.1.1 Velocity Initialization in the Piston


The boundaries defined by pist_id, head_id, and liner_id in engine.in must all be associated
with the same region. CONVERGE sets the w component (z direction) of velocity to the
piston velocity for all points in the piston face. You can specify piston velocity in one of
three ways:
· Piston motion: Specify engine parameters (including rpm and stroke) in engine.in.
CONVERGE will use the crank-slider mechanism to determine the piston velocity
throughout the simulation. We recommend this option for engine applications.
· u, v, w velocities: Specify the values of the u, v, w velocities (in m/s) of the piston in
boundary.in.
· Piston position: Specify temporally varying position data from which CONVERGE will
calculate piston velocity. Note that this file specifies only position (not velocity) data.

Piston Motion
If you specify piston motion as the velocity boundary condition for the piston boundary,
CONVERGE will internally generate the position tables for the piston boundary using the
crank-slider equation. If you use this option, you must verify that the surface file (e.g.,
surf ace.dat) is prepared with the piston at bottom dead center (BDC) position. (Even if you
do not use this option, you must verify that the piston is at BDC prior to running a
simulation.)

To use piston motion as the velocity boundary condition, simply enter a $ on the velocity
boundary condition row in place of the three numbers representing components of velocity
for piston in boundary.in. CONVERGE will use the engine geometry parameters you specify

650 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Velocity Initialization in IC Engines

in engine.in to determine the piston position table, using a crank-slider motion with options
for the crank and wrist pin offset. This option is recommended for most typical engine
cases. The piston position is calculated at every time-step, based on a piston profile
calculated with a resolution of 0.1 crank angle degrees.

To create a piston position output file: Instead of using a $ in the piston boundary's velocity
boundary condition row, enter $$ instead. This piston position output option will still use
engine.in inputs to calculate the piston position throughout the simulation, but it will also
cause CONVERGE to generate an output file named piston_prof ile<ID>. This output file
will contain piston position information calculated every 0.1 crank angle degrees. The # in
the piston_prof ile#.out file name represents the piston boundary number.

Piston Position
You can enter your own piston position table by specifying a file name (e.g.,
piston_position.in) in the piston boundary's velocity boundary condition row in boundary.in.
Then create a temporally varying position file consistent with the format shown in Figure
20.1 below. Save this file with the file name specified for the piston's velocity boundary
condition (e.g., piston_position.in) in the Case Directory, which is the directory in which all
other input and data files are saved for a simulation. Note that CONVERGE will
interpolate position values for crank angle degrees that are not specified in this file.

TEMPORAL
CYCLIC 720
crank x y z
0 0 0 0
180 0 0 .085
360 0 0 0
540 0 0 .085
720 0 0 0
Figure 20.1: An example of a piston position profile (e.g., piston_position.in).

20.1.2 Velocity Initialization in the Cylinder


CONVERGE gives the remaining grid cells in the cylinder region an initial w velocity (z
direction) consistent with a field that linearly drops from the piston speed at the piston
face to zero at the head, as follows:

 zhead  z 
w(z)  wpiston  , (20.1)
z z 
 head piston 

where zhead and zpiston are the z coordinates of the head and piston, respectively, and wpiston
is the speed of the piston.

CONVERGE 2.4 Manual 651


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Velocity Initialization in IC Engines

CONVERGE begins velocity initialization at zero for the location specified for zhead in
engine.in. The crank-slider mechanism uses both stroke and squish values to calculate zpiston
in Equation 20.1. Figure 20.2 below shows that the values for squish will be different for
flat and non-flat cylinder heads, which results in different velocity profiles during the
initialization process. Note that CONVERGE uses the squish parameter in engine.in only for
velocity initialization. The cells in the piston bowl have the same velocity as the piston
boundary.

Figure 20.2: Initialization of w velocity for flat and non-flat cylinder heads.

CONVERGE uses swirl_ratio and swirl_prof ile in engine.in to set the u (x direction) and v (y
direction) components of the velocity in the cylinder region. The swirl_ratio is the ratio of
the angular velocity of the flow, W f low(radians/second), to the angular velocity of the
crankshaft, W crankshaf t(radians/second). The direction of swirl consistent with the right-hand
rule. In other words,

 f low
swirl _ ratio  . (20.2)
crankshaf t

652 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Velocity Initialization in IC Engines

The simplest approach to initializing swirl is to assume wheel flow. Assuming the cylinder
axis is aligned with the z axis, the u (x direction) and v (y direction) components of velocity
are initialized as

u   f low y and v   f low x. (20.3)

The wheel-flow assumption is not usually realistic since the velocity should diminish
significantly near the cylinder wall. It has been observed that a Bessel function more
accurately represents the velocity profile in an engine (Amsden et al., 1989). The
swirl_prof ile is a dimensionless constant used in the Bessel function calculation with a
minimum value of 0.0 for wheel flow and a maximum value of 3.83 for zero velocity at the
wall. For IC engines, typically swirl_prof ile = 3.11. To specify swirl for a V engine, use
dynamic.in, which is described later in the chapter.
20.1.3 Swirl, Tumble, and Angular Momentum
CONVERGE can calculate the swirl and tumble based on the piston’s direction of motion
or any user-specified orientation.

To define swirl, tumble, and inter-region angular momentum-related parameters, you


must set dynamic_f lag = 1 in inputs.in and include the dynamic.in file in the Case Directory.
Use this dynamic output option when the cylinders are inclined with respect to the z axis
in the surface geometry file (as in a V engine) or if you use multiple cylinders. Note that
CONVERGE calculates and can write out the positive and negative components of swirl
and tumble.

In general, if the piston motion vector is the z axis, the calculations for swirl ratio, tumble
ratio, and angular momentum are straightforward. For cylinders aligned with the z axis,
you do not need to use these dynamic input parameters. CONVERGE always calculates
the swirl and tumble ratio about the center of mass, except for sector cases where (0,0) is
used for the x and y center.

If the piston motion is not along the z axis, CONVERGE can calculate the swirl based on
either of these two options:
· The piston’s direction of motion (bound_or_vector = 0) or
· Any user-specified xyz orientation (bound_or_vector = 1).

CONVERGE will calculate the tumble internally in manner consistent with the option
chosen.

CONVERGE 2.4 Manual 653


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Compression Ratio Calculations

20.2 Compression Ratio Calculations


The surface geometry for an engine cylinder is often drawn and exported with the piston
at the bottom dead center (BDC) location. But to ensure the most accurate simulation
results, you may need to translate the piston slightly, depending on the results of the
compression ratio verification.

CONVERGE Studio 2.4 contains a compression ratio calculator that, in addition to


calculating the compression ratio, can move the piston to a location that yields the desired
compression ratio. Access this tool via Case Setup > Applications > Engine application. Refer
to the CONVERGE Studio 2.4 Manual for more information.

20.3 Finite Element Analysis


You can use the heat transfer coefficient mapping utility, htc_map, to map heat transfer
data from transf er.out to a triangulated surface file and to provide cycle-averaged results
for finite element analysis (FEA). Refer to the Heat Transfer Mapping section of Chapter 3
- Pre- and Post-Processing for a detailed explanation for setting up and running the
htc_map utility.

Mapping CONVERGE Data to the FEA Solver


Typically the triangulation of a surface for finite element analysis (FEA) is different from
the surface triangulation used in CONVERGE. The FEA surface will have higher resolution
(i.e., more triangles) in areas most relevant to the heat transfer analysis.

CONVERGE uses a search algorithm (direct hits, grown points, neighbors) to map the
triangles in the transf er.out file to the FEA surface file. Direct hits indicate a CONVERGE
grid point mapped directly to a FEA surface triangle. If the grid resolution in CONVERGE
is fine, there may be multiple surface triangles mapped to a single FEA surface triangle. In
this case, CONVERGE will use area-weighted averaging of the grid triangles to map onto
the FEA triangle. If small FEA triangles have no corresponding grid points, CONVERGE
initializes them by neighbors (neighboring cells). CONVERGE uses the grown points
algorithm to initialize triangles that are not initialized by direct points or neighbors. These
triangles are initialized with values that grow from neighbor triangles.

Note that the boundary IDs between the original surface triangle and the mapped FEA
triangle must be consistent. CONVERGE will not map FEA triangles with inconsistent
boundary IDs. Although it is not recommended, you can disable this requirement by
setting enf orce_boundID_match = 0 in htc_inputs.in.

After mapping, there may be triangles in the FEA surface file that are not initialized with
CONVERGE boundary data. Uninitialized triangles may be the result of mistakes (e.g., if
the FEA surface is not aligned with the CONVERGE surface or if boundary IDs do not

654 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Finite Element Analysis

match). Alternatively, uninitialized triangles may be a normal result due to moving


surfaces. For example, a moving piston will block portions of the liner, which will then
remain uninitialized.

At any time-step when the number of uninitialized triangles is greater than zero,
CONVERGE creates a uninit_triangles_complete.dat file. You can import both the FEA
surface file and uninit_triangles_complete.dat into CONVERGE Studio, where the
uninitialized triangles will have as red vertices.

Cyclic Averaging of Heat Transfer Data


In multi-cycle simulations, such as for internal combustion engines, CONVERGE calculates
cyclic averages of heat transfer data that are spatially resolved for the FEA surface file.

The transf er.out file includes data at the interval specified by twrite_transf er in inputs.in. The
data from one engine cycle (except the first set of data) are averaged to yield a single file
with heat transfer data spatially resolved for the FEA surface file. For a four-stroke engine,
the cycle is 720 crank angle degrees.

CONVERGE calculates the cycle-averaged heat transfer coefficient, h , and the fluid
temperature, Tg , using the following equations:

CA
h   hi / CA (20.4)
i

and

CA

 hi  Tg i / CA
Tg  i
CA
. (20.5)
 hi / CA
i

In these equations, hi and Tg i are the cycle-averaged heat transfer coefficient and fluid
temperature for each point at each twrite_transf er time interval (DCA), where CA is the
crank angle degree.

CONVERGE averages these values in this manner to ensure that the calculated heat
transfer is the same as the integration of the instantaneous values over the cycle. Note that
the average fluid temperature calculated with this method is biased toward the times
when the heat transfer coefficient is high, but, when multiplied by average heat transfer

CONVERGE 2.4 Manual 655


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Finite Element Analysis

coefficient, it gives the calculated heat transfer. In the situation in which a triangle is not
initialized during a crank angle interval (for instance, when the liner is blocked by the
piston), the heat transfer coefficient is zero.

20.4 Energy Sources in Engine Models


The purpose of using energy sources in engine applications is to represent fundamental
physical processes at the appropriate point in the engine cycle. There are three common
instances where you specify energy sources in engine applications:
· Applying specified measurements or simulation data for heat release rate,
· Adding spark energy sources directly to represent the energy discharge from a spark
plug, and
· Using a measured or simulated cylinder pressure trace to represent the mean pressure of
the cylinder during an engine cycle.

For general information about sources, refer to Chapter 6 - Source Modeling Setup.
20.4.1 Heat Release Data
Use the heat release rate option (source_type = 3) to apply a known heat release rate over
an entire region (or shape). The heat release rate option can help you avoid some of the
computationally expensive chemistry calculations for engine simulations in CONVERGE.
Note that this approach should only be used when the details of the combustion are not of
interest. The specified heat release rate can be obtained from CONVERGE (i.e., single
cylinder results), from experimental data, or from 1-dimensional simulations.

To approximate combustion using heat release rate, specify a file (e.g., heat_release.in) that
contains the heat release data as the source_value in source.in. The heat release file must
have the keyword HEAT_RELEASE as shown in Figure 20.3. The units for heat release
data are in J/s if crank_f lag = 0 and in J/CAD if crank_f lag = 1 or 2.

TEMPORAL
CYCLIC
crank HEAT_RELEASE

-204.98 2.150E-03
-204.82 4.760E-03
-204.33 1.100E-02
.
.
.
119.72 1.040E+04
120.21 0.000E+00
515.02 2.150E-03
Figure 20.3: An excerpt of a heat release data file.

656 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Energy Sources in Engine Models

20.4.2 Spark Energy


In a typical spark discharge, voltage rises between the two electrodes until there is an
electrical breakdown in the spark gap. In this first stage of the electrical discharge (called
the breakdown phase), the mixture between the electrodes is ionized into plasma, which
propagates from one electrode to another.

The breakdown phase is followed by the arc phase, in which the thin cylindrical plasma
expands largely due to heat conduction and diffusion. The arc phase is followed by a glow
discharge phase, in which, depending on the details of the ignition system, the energy
storage device will dump its energy into the discharge circuit. With inflammable mixtures,
the exothermic reactions in the arc phase lead to a self-sustaining propagating flame
during the glow discharge phase.

Time scales in the breakdown phase are significantly smaller than the arc/glow phase.
Since the discharge times of the arc and glow discharge phases are similar, this energy is
often combined together as one energy source. In a CONVERGE simulation, you will
therefore specify two energy sources that briefly overlap. You must ensure that the
breakdown phase occurs earlier and is of shorter duration than arc/glow phase by
correctly specifying start_source and end_source values for the two sources, with
consideration for the engine speed. Note that the two overlapping spark sources cause a
step change with respect to time in the energy release. For a spark plug, specify the
source_shape as SPHERE, BOX, CYLINDER, or LINE centered at the midpoint between the
two electrodes. Typically, a SPHERE source_shape is used to simulate the spark. For an
example of a SPHERE source to simulation the spark, consult the SI8 engine SAGE PFI or
SAGE premixed example cases.

Modeling Spark Energy with a LINE Source


Fluid motion in the spark region is quite significant. You can expect both mean and
fluctuating velocities to be in the range of 1 to 10 m/s in this region, as described by
Heywood (1988). On the time scale of the breakdown phase, this fluid motion is not
important. But in the arc/glow phase, the arc between the electrodes will be advected
with the flow and stretches out in length.

To more accurately simulate the arc/glow phase advection, specify the source as moving
with the flow by setting moving = 2 in source.in. This option will displace the source with
the velocity of the flow in the arc/glow phase. A LINE source may more accurately
represent an advected arc/glow phase because it is a collection of point sources, and each
point in the LINE can attain different velocities due to the spatial variation of fluid
velocities. Points close to the electrode will be affected by the boundary layer of the fluid
motion while points in between will be advected by the bulk motion of the flow. Hence, a
LINE source can closely resemble the stretched out arc.

CONVERGE 2.4 Manual 657


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Energy Sources in Engine Models

A typical source.in file to use a LINE source_shape to represent spark energy is shown in
Figure 20.4 below. In this example, the source_value is 25 mJ for the breakdown phase for
0.5 crank angle degrees (700.0 to 700.5) and the source_value is 25 mJ for the arc/glow phase
for 10 crank angle degrees (700.0 to 710.0). For multiple-cycle simulations of four-stroke
engines, the spark discharge repeats after 720 crank angle degrees, which is specified by the
CYCLIC 720 row. Note that the source_type can be either 0 or 1 for specifying spark energy.

#!csi_version=2.4
#=======================

#--------------breakdown phase------------------------------------- 
ENERGY source eqn 
1  source_type
8.0e11  source_unit_volume
25.e-3  source_value 
CYCLIC 720 
700.0  start_source 
700.5  end_source 
50000  max_value 
LINE  source_shape 
-0.000355  0.00555  0.0522  x1_center
-0.000355  0.00555  0.0516  x2_center
10  num_points 
0  moving 
1.0 2.0 3.0 velocity 
0.005  max_displace
0  reset_source 
#----------------arc/glow phase------------------------------------ 
ENERGY  source eqn
1  source_type 
8.0e11  source_unit_volume
25.e-3  source_value 
CYCLIC 720 
700.0  start_source 
710.0  end_source 
50000  max_value 
LINE  source_shape 
-0.000355  0.00555  0.0522  x1_center 
-0.000355  0.00555  0.0516  x2_center 
10  num_points 
2  moving 
1.0 2.0 3.0 velocity 
0.005  max_displace 
2  reset_source 

Figure 20.4: An example source.in for spark energy input.

20.4.3 Pressure Trace Data


Similar to the specification of the heat release rate, you can provide cylinder pressure trace
data. CONVERGE will use this pressure trace data to provide an energy source that
represents the heat release due to combustion. Note that source_type must be set to 2 in

658 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Energy Sources in Engine Models

source.in file. You can obtain the pressure trace data by running one cycle of combustion
calculations in CONVERGE, from experimental data, or from 1-dimensional simulations.

To approximate combustion using pressure trace data, specify a file (e.g., pressure.in) that
contains the pressure trace data as the source_value in source.in. This data file must contain
the keyword PRESSURE_CURVE as shown below in Figure 20.6. Note that the pressure
trace data has units of Pa.

TEMPORAL
CYCLIC
crank PRESSURE_CURVE
-204.98 96823.79
-204.82 96866.36
-204.33 97002.27
.
.
118.76 92645.65
120.21 91368.29
515.2 96823.79

Figure 20.5: An example of a pressure trace data file.

20.5 Synchronizing Valve Motion


When modeling valve motion in CONVERGE, the valves are never completely closed in the
surface geometry. Completely closing the valves would require the valve surfaces to come
into contact with the corresponding valve seat surfaces on the head, which would result in
intersecting triangles. Since the surfaces are never allowed to intersect in a CONVERGE
simulation, a minimum valve lift must be maintained in the valve motion, referred to as the
minimum lift position (Lmin). Without a CLOSE event, flow can occur through the valve
even at its minimum lift position.

CONVERGE can automatically calculate and implement OPEN and CLOSE events
between regions that are separated by valves. To use this feature, simply specify the
keyword VALVE, followed by the name of the valve list profile (used to specify the motion
of the valve) that is referenced in boundary.in, in the events.in file where you would
normally specify the OPEN or CLOSE keyword. Refer to the Automatic Valve Events
section in Chapter 7 - Initialization and Regions for more details.

You can still choose to manually specify the OPEN and CLOSE events for valves. This
process is described in the remainder of this section. The automatic valve event procedure
follows the logic outlined below.

Activate disconnect triangles to disconnect flow between regions by following the events.in
configuration steps outlined in the Events section of Chapter 7 - Initialization and Regions.
These disconnect triangles are additional triangles created or removed by CONVERGE

CONVERGE 2.4 Manual 659


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Synchronizing Valve Motion

between adjacent regions to effectively allow or stop flow, based on the OPEN/CLOSE
events specified in events.in. The boundaries between which disconnect triangles are
created must not be moving when the two regions are disconnected.

Be sure to prescribe OPEN or CLOSE events that correspond with the valve motion. The
valve must not be moving when regions are disconnected, so specify an OPEN event before
the minimum lift (Lmin) has been reached when the valve is opening. Similarly, specify a
CLOSE event after the valve reaches a lift distance lower than the minimum lift (Lmin),
when the valve is closing. The timing of the OPEN and CLOSE events should be such that
the real flow area is reasonably approximated as shown in Figure 20.6. This approach
assumes the lift profile to be nearly linear at the opening and closing ends of the valve lift
profile.

Figure 20.6: Different flow areas will be evaluated for different choice of crank angle degree for
OPEN event in events.in.

The crank angle when the valve lift is half the minimum lift is recommended for the OPEN
event timing (point 2 in Figure 20.6). This process will capture the flow area between the
points 2-3-6-5-2 which approximates the real mass flow in magnitude, (i.e., the area
enclosed by the points 1-6-3-2-1).

660 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Synchronizing Valve Motion

If the crank angle where the valve actually starts moving (point 1 in Figure 20.6) is chosen
as the OPEN event time, the flow area will be too large (area enclosed by the points 1-2-3-
6-5-4-1), since the valve is at a non-zero minimum lift. This area is larger than the real flow
area, which is the area enclosed by the points 1-2-3-6-1 and for this reason this approach is
not recommended.

If the crank angle where the actual valve lift reaches the minimum lift (point 3 in Figure
20.6) is chosen as the event time and all the flow area between the seated position (1) and
minimum lift (3) is neglected (area enclosed by the points 1-2-3-6-1) therefore this
approach is also not recommended.

Similarly, choose the CLOSE event timing to correspond with the time at which the valve
lift is approximately half of the minimum lift distance.

20.6 Multiple Cylinder Simulations


For all multi-cylinder cases, insert the following line at the beginning of the boundary.in file:

ROTATION_AXIS 1.0 0.0 0.0

This line specifies the vector of the engine's crank shaft axis. For both V engines and flat
cylinder engines, this vector is also the vector about which each cylinder is rotated
following the right-hand rule. Figure 20.7 shows the positioning of the rotation axis for a V
engine, where the x axis is pointing into the plane of the figure.

For Cylinder 1 in Figure 20.7, the rotation angle is -45° and for Cylinder 2 the rotation
angle is +45°. The crank shaft axis vector and the cylinder rotation angle are used to
correct both piston and valve motions from a vertical or inline orientation to the actual V-
angle of the cylinder. This process allows the use of CONVERGE’s default crank-slider
motion option ($) without having to construct complex piston motion files. It also enables
you to use valve lift profiles for vertically inclined cylinders without any modification of
the valve lift profile itself. Note that for vertical in-line engines, the rotational angle is 0° for
all cylinders.

CONVERGE 2.4 Manual 661


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Multiple Cylinder Simulations

Figure 20.7: Diagram of rotational axis for V engine.

CONVERGE enables you to specify the crank angle offset (phase lag angle, f ) and the
cylinder rotation angle (q). Depending on the method you use to define a boundary's
motion (piston or valves), the input in the boundary.in file will be as follows:

velocity la $ -360.0 45.0

velocity la intake_lift.in -360.0 45.0

In the above instance, -360° represents the phase lag angle (f ) and 45° represents the
cylinder rotation angle (q), as shown above in Figure 20.7. If you do not specify the
rotation angle, then CONVERGE assumes a value of 0. The phase lag angle accounts for
the crank angle offset applied to the motion file listed (or $). This phase lag (or crank angle
offset) depends on the firing order in multi-cylinder engine cases. For example, in a four-
cylinder engine, if the firing order is 1-3-4-2, then the phase lag angle (f ) for the first, third,
fourth, and second cylinders will be 0°, +180°, +360°, and +540°, respectively. It is
important to note that the phase lag angles are with respect to the first cylinder.
20.6.1 Valve Lift Profile
Specify the valve motion through a file (e.g., intake_lif t.in). You must list the name of this
valve motion file in the boundary.in. This file must contain the intake lift profile information
in the format shown in the Moving WALLS - Valve Lift Files section of Chapter 8 -
Boundary Conditions.

662 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Multiple Cylinder Simulations

As described in Chapter 7 - Initialization and Regions, CONVERGE can automatically


create OPEN and CLOSE events between regions separated by valves based on the valve
lift profile you specify.

Since you can specify the phase angles and the rotation angles for each cylinder, you can
use the same valve lift profile for multiple cylinders. In this case, enter the direction vector
for the valve lift profiles as if the cylinder was in a vertical or in-line orientation.
CONVERGE will automatically adjust the valve motion direction vector using the cylinder
rotation angle for the corresponding cylinder. CONVERGE will calculate the actual motion
for each valve based on the supplied phase angle and the valve’s motion vector.

CONVERGE will also adjust the timing of this valve motion according to the supplied
phase angle. Lift profiles must include the full period of the engine, i.e., 720 crank angle
degrees for a four-stroke engine. Thus the difference between the starting and ending times
in a four-stroke engine valve lift profile file must be 720 crank angle degrees.
20.6.2 Swirl, Tumble for Inclined Cylinders
Use the dynamic.in file to specify the axes for swirl and tumble calculations when cylinders
are inclined relative to the z axis. Designate the number of cylinders in the simulation with
the num_piston_or_vector parameter and repeat the remaining parameters for each
cylinder. Details of the relevant inputs for this file are described in the Swirl, Tumble and
Angular Momentum Calculations section earlier in this chapter. Note that in multi-
cylinder cases where the cylinders are all aligned with the z axis (i.e., vertical inline
engines), dynamic.in is not required because CONVERGE will calculate the swirl, tumble,
and angular momentum about the global coordinate system for all cylinders.
20.6.3 Region-Dependent Model Options
For a multiple-cylinder simulation, assign each cylinder to a unique region. Refer to
Chapter 7 - Initialization and Regions for more information regarding regions. When each
cylinder is a different region, you can activate or deactivate a model or feature for a
particular cylinder. Region-dependent features include Adaptive Mesh Refinement (AMR),
the SAGE detailed chemical kinetics solver, temporally varying CFL number control,
source terms, initialization, and output customization. Table 20.1 contains notes to keep in
mind while setting up a multi-cylinder simulation.

Table 20.1: Setup considerations for a multiple-cylinder simulation.


Input File Notes

events.in You must specify an event between each pair of adjacent regions. For adjacent regions
in which no valves are present, you need specify only an OPEN event, which will
allow flow at all times between these regions. Remember to add the phase lag while
specifying OPEN and CLOSE events for adjacent regions containing valves.

CONVERGE 2.4 Manual 663


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Multiple Cylinder Simulations

Input File Notes

source.in Specify a source to the transport equations of energy, momentum, turbulence, species,
and passives.
· Use an energy source to model spark events by defining the source as a geometric
space (e.g., BOX, SPHERE, CYLINDER, or REGION).
· The heat release in a cylinder can be modeled using either a cylinder pressure or
heat release rate if you do not directly model combustion. A REGION type of source
works well.
· You can distribute sources within a region.
· The source start and end times and the coordinates will differ for each cylinder in a
multi-cylinder case, to be consistent with the phase angle and rotation angle for that
cylinder.

spray.in Specify injection start times (start_inj ect, dur_inj ect) and injector locations (x_cen, y_cen,
z_cen) that are consistent with the phase angle and location of each cylinder.

combust.in Simulate combustion in one or more cylinders and use energy sources for the rest.
· Activate adaptive zoning to reduce the computational time.
· If you use the SAGE detailed chemistry solver, you can activate region-dependent
SAGE (set sage_region_f lag = 1 in combust.in and include sage_region.in in the Case
Directory). For example, you can turn off the SAGE solver in the intake and exhaust
ports to save computational time. The start and end times for SAGE for each region
(sage_tstart, sage_tend) must correspond to the phase lag angle for each cylinder.
· If you use the CTC model, invoke region-specific reset times and periods by
specifying ctc_init_time.in for the parameter ctc_init_time in combust.in and include
the ctc_init_time.in file in the Case Directory.
· If you use the G-Equation model, invoke region-specific reinitialization times by
specifying g_eqn_init_time.in for the parameter g_eqn_init_value in combust.in and
include the g_eqn_init_time.in file in the Case Directory.

initialize.in If you do not specify an initial value for a passive scalar or a mass fraction of a species
in initialize.in, CONVERGE will assign it a value of 0.

embedded.in Specify the start and end times (embed_start_time, embed_end_time) to be consistent with
the corresponding cylinder phase lag angles for injector and spark plug embedding.
Since each cylinder is in a unique location, you must ensure each embedding location
(x_center) corresponds to the location of the associated cylinder.

amr.in Activate Adaptive Mesh Refinement (AMR) on a region-by-region basis.


· You can specify the regions and/or boundaries in/on which you will activate
AMR.
· Ensure that the amr_<parameter_name>_start and amr_<parameter_name>_end for
each parameter in amr.in is consistent with the phase lag angle for each cylinder.
· Always specify AMR region blocks (indicated by the keyword amr_num_regions)
before specifying AMR for boundaries (indicated by the keyword amr_num_bounds).
CONVERGE will not process any region blocks that appear in amr.in after the
keyword amr_num_bounds.

664 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Multiple Cylinder Simulations

Input File Notes

· For each AMR region block, specify the number of regions in the amr_num_regions
row and list the region ID numbers in the following amr_active_region rows, one row
for each region.

max_cf l_u.in Specify maximum CFL criteria on a region-by-region basis with the max_cf l_u.in file.
For example, when the exhaust valve opens, the gas velocity in the exhaust port is very
high. The time-step calculated based on the maximum CFL number may be very small,
resulting in significantly longer runtimes. If the accuracy of the results in the exhaust
port is less important, increase the maximum CFL criteria for the exhaust ports region
to reduce runtimes.

20.7 Multiple Cycle Simulations


For multiple cycle simulations, it is important to set the temporal type to be PERMANENT
or, for periodic events, CYCLIC. If the temporal type is CYCLIC, this keyword must be
followed by the cyclic period to ensure that the events (e.g., embedding, combustion using
the SAGE detailed chemistry solver) repeat each cycle.

· Set the AMR temporal type as PERMANENT or CYCLIC to ensure that AMR is active
for each subsequent cycle. If several regions use the same AMR settings, specify these
parameters for multiple regions with a single block of AMR settings consisting of all
keywords from amr_num_regions to amr_passive_end. CONVERGE allows multiple blocks
of AMR settings to facilitate various AMR strategies to be active for different sets of
regions simultaneously.
· Reset the CTC combustion model using the parameter ctc_init_time in combust.in. The
reset times (in crank angle degrees) and the periods can be different for different regions in
the domain. In such an instance, supply the file name ctc_init_time.in for the parameter
ctc_init_time. Similarly, the G-Equation combustion model can be reinitialized for
multiple cycle and multiple engine simulations at g_eqn_init_time after a cyclic period of
g_eqn_init_period. Refer to Chapter 13 - Chemistry Modeling for more information
regarding CTC combustion and the G-Equation combustion models.
· Specify the temporal type of events in events.in as CYCLIC, followed by the cyclic period
(e.g., 720 crank angle degrees) to ensure that the events (such as opening and closing of
valves) repeat cycle after cycle.
· When you use detailed chemistry, there are typically many species. The initial mass
fractions of many radical and product species are zero. You are not required to specify
the species that have zero mass fractions as CONVERGE will assign them a zero value
by default. Similarly, if there is no initial value for a passive scalar in the initialize.in file,
CONVERGE will assign it a zero value.

If you run a simulation with a coarse mesh for one cycle, you can then map the solution
from this coarse-mesh simulation onto a finer mesh to reduce overall computational time.

CONVERGE 2.4 Manual 665


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Multiple Cycle Simulations

To specify the initial values of the main simulation conditions such as pressure, velocity,
temperature, turbulence, and species mass fractions on a region-by-region basis, use the
file initialize.in. Although the initial conditions will not be representative of the actual
condition after the simulation has run for multiple cycles, more accurate initial values can
save computational time. You can also use grid scaling to increase the mesh resolution
with each cycle.

20.8 Crevice Model


A crevice model can simulate the flow between the piston, piston rings, and cylinder. This
model is an alternative to resolving the crevice regions in the CFD grid directly, which can
result in smaller cells and, therefore, smaller time-steps. To use the crevice model, the
cylinder axis must be aligned with the z axis. You can apply this model to a single cylinder
of a multi-cylinder case. Note that if you activate the crevice model, the cylinder adjacent
to the crevice must be assigned to Region 0. The crevice model requires the crevice.in file.

The crevice model in CONVERGE is based on the model of Namazian and Heywood
(1982). This model includes the gas flow passages as illustrated in Figure 20.8 below. As
shown in the figure, the model includes two rings and five crevice regions. Region 1 is at
the cylinder pressure, while region 5, which is just above the oil ring, is at the crankcase
pressure. The crevice model will calculate the pressures in regions 2, 3 and 4. Namazian
and Heywood (1982) show that the continuity equations for regions 2, 3 and 4 can be
written as

mo 2 dP2
 12  m
m  23 , (20.6)
Po 2 dt

mo 3 dP3
 13  m
m  23  m
 34  m
 35 , (20.7)
Po 3 dt

and

mo 4 dP4
 34  m
m  45 , (20.8)
Po 4 dt

where Pi is the pressure in region i, Poi is the initial static pressure in region i, and moi is the
 ij is the mass flow rate between regions i and j through
initial mass in region i. Finally, m
the ring gap or ring side clearances. Namazian and Heywood show that the flow rate
through the ring side clearances can be written as

666 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Crevice Model

A h2 1
 ij 
m Pi  Pj ,
2 2
(20.9)
24 Wr  RT

where Wr is the channel length (which is the width of the ring of interest), h is the channel
width (which is either the height below or above the ring, depending on the mass flow rate
of interest), A is the area normal to the flow (approximated as 2p (bore/2)h), T is the crevice
region temperature, R is the gas constant, m is the viscosity evaluated at the crevice region
temperature, and Pi and Pj are the upstream and downstream pressures, respectively.
 12 , m
Equation 20.9 above is used to approximate the mass flow rates m  23 , m
 34 , and m
 45 .

Combustion Chamber

Rings 3

Figure 20.8: Illustration of gas flow


passages, rings and regions for the
crevice model.

As in Namazian and Heywood (1982), the mass flow rates through the ring gaps are
calculated by the orifice flow equation:

 ij  Cd Aij  c ,
m (20.10)

where Cd is the discharge coefficient, A ij is the ring end-gap area between regions i and j, r
is the gas density, c is the speed of sound, and h is the compressibility factor given by

CONVERGE 2.4 Manual 667


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Crevice Model

2   1 
2  Pj   Pj  Pj
     ,  0.52 (20.11)
  1  Pi   Pi  Pi

or

 1
 2  2 1 Pj
   ,  0.52 (20.12)
  1 Pi

where Pi is the upstream pressure, Pj is the downstream pressure, and g is assumed to be


 13 and m
1.4. Equation 20.10 is used to estimate m  35 . Equations 20.6 - 20.8 are solved
using a fourth-order Runge-Kutta method. Once values for P2, P3, and P4 are obtained,
 12 and m
m  13 are re-calculated from Equations 20.9 and 20.10, respectively. CONVERGE
uses these mass flow rates to determine the amount of mass entering and leaving the
cylinder.

You can include the motion of the rings in the crevice model calculation. If ring motion is
included, CONVERGE must determine the forces on the rings. Similar to Namazian and
Heywood (1982), the equation of motion for a ring is given by

d2 h
Mr  Fp  Ff  Fi , (20.13)
dt2

where h is the top ring side-clearance, Fp is pressure force, Ff is friction force, Fi is inertial
force. We do not include the resistance of the squeezed oil. In Equation 20.13 above, Fp , the
pressure force on the ring given by

P1  P3
Fp  A1 (20.14)
2

for ring 1. In Equation 20.14 above, A 1 is the surface area of the top (or bottom) of ring 1.

In Equation 20.13, Ff is the friction force on the ring given by

Ff  P2 drTr f (20.15)

668 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Crevice Model

for ring 1, where dr is the diameter of ring 1 and Tr is the thickness of ring 1. f is the friction
coefficient given by

f  4.8 oilUp P2Tr  (20.16)

for ring 1 (Reitz and Kuo, 1989). In Equation 20.16 above, Up is the instantaneous piston
velocity and moil is the viscosity of the oil given by (Namazian and Heywood, 1982),

 1036  
oil  exp    9.84  , Ns / m2 (20.17)
 T  178  

where T is the crevice region temperature.

In Equation 20.13, Fi is the inertia force given by

Fi   M r ap , (20.18)

where Mr is the mass of the ring and ap is the piston acceleration (Reitz and Kuo, 1989).

Equation 20.13 is solved using a fourth-order Runge-Kutta method. Note that if you
choose not have the ring motion calculated (ring_motion_f lag = 0), the initial ring positions
are used throughout the simulation.

After calculating the ring motion and crevice region pressures, CONVERGE can link the
solution to the cylinder by writing an expression in the form of Equations 20.6 - 20.8 for
first zone of the crevice:

mo1 dP1
 01  m
m  12  m
 13 , (20.19)
Po1 dt

 01 is the mass flow rate from the cylinder region (region 0) to first zone of the
where m
crevice (1 in Figure 8). Equation 20.19 can be rewritten as

n 1
mo1 Pcyl  Pcyl
n

 01 
m  12  m
m  13 , (20.20)
Po1 dt

CONVERGE 2.4 Manual 669


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Crevice Model

n 1 n
where Pcyl is the cylinder pressure at the new time-step and Pcyl is the cylinder pressure
at the previous time-step. CONVERGE uses Equation 20.20 above to calculate the relevant
source terms for mass, momentum, and energy in the crevice cells.

Table 20.1 below compares the crevice model parameters (in the equations above) and the
corresponding parameters in crevice.in. This file is described in full in Chapter 22 - Input
File Reference.

Table 20.1: Comparison of model and crevice.in parameters.


Crevice Model Parameter crevice.in Parameter

Cd cdis_crev

Wr1 ring_width1

Tr1 ring_thick1

Mr1 ring_mass1

Wr2 ring_width2

Tr2 ring_thick2

Mr2 ring_mass2

A 13 area13

A 35 area35

Po2 po2

Po3 po3

Po4 po4

P5 pcrank

T temp_crev

20.9 Sealing of Boundaries for Engine Applications


The Sealing feature is useful for accurately simulating piston ported engines (e.g., z-
strokes) where the intake and/or exhaust ports are closed off from the combustion
chamber by the motion of the piston, as shown in Figure 20.9 below. Refer to the Sealing of
Boundaries section in Chapter 3 - Pre-Processing and Post-Processing for a detailed
description of how to use the sealing feature.

670 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 20
Internal Combustion Engine Applications |Sealing of Boundaries for Engine Applications

Figure 20.9: A two-dimensional schematic that describes the logic of boundary


sealing for a two-stroke engine geometry.

CONVERGE 2.4 Manual 671


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

21
CONGO - Optimization and Model Interrogation
Utility
Chapter 21
CONGO - Optimization and Model Interrogation Utility |

21 CONGO - Optimization and Model Interrogation Utility


The CONVERGE Genetic Optimization (CONGO) utility allows you to run a genetic
algorithm (GA) optimization or a design of experiments (DoE) model interrogation study
for a CONVERGE simulation on the LINUX platform. This utility sets up CONVERGE case
directories, starts the CONVERGE simulation for each case, collects results, and calculates
a merit based on criteria you specify.

CONGO will run the GA for the number of generations you define. For a DoE, it will run it
for the number of runs you specify. The workflow required to set up a CONGO GA or DoE
case is described in the Using CONGO section.

You can use CONGO also for non-CONVERGE optimization and model interrogation
studies, provided that the analysis tool coupled with CONGO generates output consistent
with the format required by CONGO.

After you start a CONGO GA, it runs successive (or concurrent) generations without
requiring action on your part. CONGO automatically parses parameter values into
CONVERGE input files in run directories. Additionally, CONGO can automatically run
design of experiments (DOE) using the same setup method as running a GA. Using the
gatdoe.in file, you can also have CONGO set up a few selected cases from a GA to run as a
DOE automatically.

You can modify a routine for CONGO to allow you to define parameterized features, such
as piston bowl shape or fuel injection rate-shape. You can also implement complex merit
function formulations via a user-defined function (written in C).

21.1 Genetic Algorithm (GA)


A micro genetic algorithm (GA) can be used to optimize a model for a given set of input
parameters and a defined model output. For the purposes of this chapter, a model is
defined as a combination of surface geometry parameters (e.g., piston bowl shape or stroke
distance) and other CONVERGE input parameters (e.g., injection rate or valve lift position
files). The model variations generated by the GA are controlled by a merit function, which
includes the parameters to optimize, such as engine fuel consumption, and can include
parameters to impose constraints upon, such as engine emissions.

A GA takes a "survival of the fittest" approach to optimize a design.

A set of input parameters comprises an individual. A set of individuals comprises a


population. You will define the size of the population. Each generation consists of a
population, which consists of the best (or fittest) individual from the previous generation

674 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 21
CONGO - Optimization and Model Interrogation Utility |Genetic Algorithm (GA)

and new individuals (children) created from individuals in the previous generation
(parents).

Figure 21.1 illustrates this process. Individuals (A) comprise a population for each
generation. Individuals are created for subsequent generations from the parents using a
tournament methodology. The tournament shuffles the individuals into pairs (B), selects
individuals from the pairs by comparing the merit values (C), and pairs the winners of the
tournaments into new parents (D). Children (E) are created from the parents. The
tournament continues until enough children are created for the next generation (F). The
individual in the generation with the highest merit (best-so-far) is automatically passed to
the next generation.

Figure 21.1: Micro genetic algorithm.

As the GA proceeds through generations, the individuals become more and more similar to
the fittest individual. The GA applies a convergence test to determine when the parameters
of the individuals in the population have converged within a user-defined criteria. Once a
population has converged, the individual with the highest merit is retained, and a new set

CONVERGE 2.4 Manual 675


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 21
CONGO - Optimization and Model Interrogation Utility |Genetic Algorithm (GA)

of individuals is generated with randomly assigned parameters. Generating a new


population randomly after a population converges enables the GA to evaluate the entire
parameter space instead of identifying a local maxima as an overall optimum.

Depending on characteristics of the model and the number of parameters being optimized,
the GA will converge on the optimum model configuration within a certain number of
generations.

For example, in a typical diesel engine case, where fuel consumption and emissions will be
optimized, the GA may converge in approximately 50-100 generations for typical input
parameters (e.g., start of injection). This number depends on the complexity of the model
response to the range of the input parameters and the number of generations that the GA
uses to converge on the optimum input parameters.

Parameter Representation and Crossover Evaluation


Parameters in the GA are represented by an n-bit binary number (typically n = 30). Each
individual consists of the binary parameters in sequence This parameter sequence is the
DNA of the individual.

For instance, if three parameters are represented with eight bits each, the DNA of an
individual would be as follows:

Param1 Param2 Param3


01110101 01011011 11001000

The spaces between parameters are added for clarity.

The CONVERGE GA can use real number convergence checks (recommended) or a DNA
convergence check (binary evaluation). A real number convergence check means that the
DNA is converted to real parameter values before checking for parameter convergence.
The conversion from DNA to real numbers is carried out by converting the binary value
back to a decimal number. Define a convergence criteria fraction via p_conv in congo.in. A
typical value for p_conv is 0.97.

A crossover algorithm creates individuals for the next generation from parents from the
previous generation. A child inherits matching DNA from the parents and differences in
the two parents' DNA cause a random bit to be evaluated for the child. For example, two
parents with only three differing bits would create a child as shown below, where a, b, c
will be determined randomly as 1 or 0. Note that the middle parameter (Param 2) is
converged for these parents. Although there are only 6 possibilities for the DNA makeup
of the child, the real number values of the child's parameters will be significantly different
among the 6 possibilities.

676 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 21
CONGO - Optimization and Model Interrogation Utility |Genetic Algorithm (GA)

Param1 Param2 Param3


parent 1: 01110101 01011011 11001000
parent 2: 01100101 01011011 11001011
child: 011a0101 01011011 110010bc

As the GA progresses through generations and the population approaches a local


maximum optimization, individuals in the population will become similar. If the GA is
allowed to continue generating new populations, the individuals in the population will
become identical.

The GA has some pre-defined optimization parameters based on commonly adjusted


model inputs. You can also create user-defined optimization parameters based on more
complex inputs in CONVERGE, such as a geometry object (e.g., a piston bowl shape) or a
temporally or spatially varying parameter, such as a fuel injection rate or valve lift profile.

21.2 Design of Experiments (DoE)


A design of experiments (DoE) is a model interrogation technique, different than a genetic
algorithm, which is an optimization technique. For a DoE, you generate a table containing a
pre-determined number of models, or runs. Each run consists of a combination of different
values of selected model parameters.

In a DoE, there are no generations, parents, children, DNA, or a tournament structure as


in a GA. A DoE simply runs different combinations of model parameters and compares the
resulting merit. The merit function CONGO uses for a DoE is the same as for a GA, but is
calculated only for reference and is not used by CONGO. CONGO generates the merit
function results simply as an output.

You can use CONGO to specify which individual values for each model parameter in the
DoE, as opposed to a range of values in a GA. CONGO allows you to specify the total
numbers of runs in a DoE and each of these runs can be run concurrently, provided you
have the hardware and licenses to accommodate this number of runs.

Do not mistake a DoE for an optimization technique; it simply interrogates the specific
models and evaluates the merit of each. After the CONGO DoE is complete, you can refer
to the output.out and perf orm.out for the merit calculated for each model.

A DoE may be a good option if you have limited time, computing resources, and you have
a reasonably good understanding of how the variance of different model parameters (and
the interplay thereof) will affect the performance of the model.

CONVERGE 2.4 Manual 677


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 21
CONGO - Optimization and Model Interrogation Utility |Using CONGO

21.3 Using CONGO


CONGO is a utility for use by advanced CONVERGE users who are comfortable setting up
CONVERGE simulations with a user-defined function (UDF). Refer to the CONVERGE
User-Defined Function Manual for more information regarding running CONVERGE with
a UDF.

CONVERGE Studio v2.4 now has a module that allows you to set up the CONGO Input
Files required to configure a GA or DoE case, but you should still be comfortable with
running CONVERGE with a UDF prior to attempting a GA or DoE with CONGO.

The following sub-sections the overall organization/content of a CONGO case directory, a


description of each subsection of the CONGO case directory, and an overview of how each
of these subsections interact with CONGO to produce meaningful GA or DoE conclusions.
21.3.1 Map of CONGO Inputs, Outputs, Tools, Executables

Figure 21.2: Map of CONGO communication structure. Click on any portion of the map to jump
directly to the relevant section of this chapter.

21.3.2 Merit Function


A properly defined merit function is vital to the efficiency and success of a GA. By
definition, the GA works to maximize the merit through progressive generations. A poorly
defined merit function will cause an undesirable optimization.

678 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 21
CONGO - Optimization and Model Interrogation Utility |Using CONGO

When defining the merit function, you can define response variables. Response variables
can be performance terms (maximizing, minimizing, or error) and constraint terms
(maximum and minimum). Performance terms are weighted and multiplied by 100 in the
default merit calculation. Constraint and error terms are then subtracted to decrease the
merit score. It is recommended to formulate the merit function so that an optimized design
would have a merit of 100 and the merit score of a baseline design (or starting point)
would be near 0. Negative merit scores are permissible as are scores greater than 100.

Default Merit Function


You can use the default merit function in CONGO by defining response variables in
merit.in. Response variables consist of perf ormance variables (PV), error of performance
variables, and constraint variables (CV). The format of the default merit function is as
follows:

Merit 
(21.1)
100  [(MinimizePV  MaximizePV)  (Error of PV) (MinimumCV  MaximumCV)],

where

Valuetarget
MinimizePV  weight  , (21.2)
Valuecalculated

Valuecalculated
MaximizePV  weight  , (21.3)
Valuetarget

Error of PV  1  abs(Valuecalculated   Valuetarget ), (21.4)

 Valuetarget  power 
MinimumCV  weight     1 , and (21.5)
 Valuecalculated  

 Value 
power

MaximumCV  weight   calculated
  1 . (21.6)
 Value 
 target  

MinimizePV and MaximizePV are performance variables of the type minimize and
maximize, respectively. You may define multiple minimize and maximize performance
variables. As the name suggests, the lower the calculated value of the minimize

CONVERGE 2.4 Manual 679


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 21
CONGO - Optimization and Model Interrogation Utility |Using CONGO

performance variable, the more it contributes to a higher merit score. Likewise, the higher
the calculated maximize performance variable, the more it contributes to merit. You must
assign a weight to each minimize and maximize PV. CONGO uses this weight to increase or
decrease the contribution of this performance variable relative to other response variables.

You can use the Error of PV term to penalize maximize and/or minimize performance
variables for being too far from the target value you define.

MinimumCV and MaximumCV are constraint variables of the type minimum and maximum,
respectively. You can use constraint variables to control the negative impact on merit
when specified variables exceed (maximum) or fall short of (minimum) the target value you
specify. The weight CONGO uses in these subtractions from the merit score is as follows:

if (Valuecalculated  Valuetarget ), weight  weighting _ greater ,


(21.7)
if (Valuecalculated  Valuetarget ), weight  weighting _ lessthan.

The weighting_greater value applies to maximum constraint variables and the


weighting_lessthan applies to minimum constraint variables.

Simple Example Merit Function


The result of interest -- or level of optimization -- of any one individual model is defined by
a merit function. The GA uses this merit function to determine which individual model
iteration is the fittest of its generation. The merit function should be normalized at a value,
typically 1 or 100, and should be a continuous function.

A simple example of a merit function for a Diesel engine is one that gives a model high
merit for lower levels of Indicated Specific Fuel Consumption (ISFC). The merit function
could then be defined with a target value as

ISFCtarget
merit  . (21.8)
ISFCcalculated

As the ISFC calculated for the model is reduced below the target level, the merit function
becomes greater than 1.

Similarly, a more complicated merit function could include penalties when emission levels
(such as NOx and particulate matter) exceed a constraint value. This merit function could
be written as

680 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 21
CONGO - Optimization and Model Interrogation Utility |Using CONGO

ISFCtarget  NOxcalculated - NOxconstraint   PM calculated - PM constraint 


merit  -  -  , (21.9)
ISFCcalculated  NOxconstraint   PM constraint 

where a or b is set to 1 when the value of NOx or PM emissions, respectively, exceeds the
constraint. Either a or b is set to 0 when the value of NOx or PM emissions, respectively, is
less than the constraint. This function is identical to the ISFC merit function above when
these emission values are less than the constraints, but the merit score is penalized when
the emissions exceed constraints. This function is written to be continuous when the
emissions levels exceed the constraints.

Multi-Mode Merit Function


You can optimize or interrogate possible designs based on each possible model's
performance at multiple operating conditions, or modes. For instance, you can make
CONGO evaluate an engine design based on the results at idle, power, and speed load
conditions, which you could set up as a three-mode CONGO case. Using the inputs in
case.in, you can define the number of modes to evaluate, as well as the directories
containing the CONVERGE input files needed to simulate the model at different operating
conditions.

The performance of the model at a particular mode is called f itness. Using case.in, you can
specify the weight of each mode fitness. CONGO will use these f itness calculations and
weights to generate an overall merit for the multi-mode GA or DoE as follows:

1
merit  .
1 1 1 (21.10)
  ... 
weight1  f itness1 weight2  f itness2 weightn  f itnessn

User-Defined Merit Function


If you need a merit function to more specifically address the needs of your case, you can
create a user library to calculate the merit function (written in C coding language). This
user library (libcongo.so) works with CONGO the same way a UDF work with
CONVERGE.

21.3.3 CONGO Input Files


The congo.in, case.in, execute.in, and merit.in files are mandatory for a GA simulation. These
files are described in full in CONGO Input Files. The congo.in file defines the parameters for
the GA. The case.in file defines the parameter ranges for the experiment model inputs and
parsing for the CONVERGE input files. The execute.in file defines how CONVERGE will be

CONVERGE 2.4 Manual 681


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 21
CONGO - Optimization and Model Interrogation Utility |Using CONGO

executed for a GA simulation. The merit.in file defines the merit function in terms of
CONVERGE performance parameters.

You can use the CONGO module in CONVERGE Studio v2.4 to import, configure, and
export input files for a CONGO run with CONVERGE. The CONGO module tracks and
coordinates all of your genetic algorithm input files so you can easily design a genetic
algorithm case.

The udi.in and gatdoe.in files are optional for GA simulations. These files are described in
full in Chapter 22 - Input File Reference. The udi.in file allows you to enter a user-defined
individual (UDI) into the GA experiment at any generation. The gatdoe.in file can be used
to automatically set up a set of cases from the GA experiment.
21.3.4 CONGO <--> CONVERGE Communication
Within the CONGO root directory, you must save a CONVERGE "seed" directory. The
name of this directory must be consistent with that specified as the dir_name in case.in. You
must create the CONVERGE seed directory the same way you would a normal
CONVERGE case directory. Then, in the appropriate input file (e.g., spray.in, as shown
below) in the CONVERGE Seed Directory, you must replace the value of each model
parameter (e.g., start_inject) to be manipulated by CONGO with the appropriate marker
(e.g., GA_START_INJ). These markers you place in the CONVERGE input files must be
consistent with the marker names you specify in case.in.

CONGO automatically parses CONVERGE input files. You must set up the input files
correctly with markers in order to facilitate the search-and-replace for variables of interest.
CONGO parses these files by finding and replacing markers in the input files. For example,
you need to redefine the start_inject variable in spray.in:

-25.0 start_inject initial time of injection

as

GA_START_INJ start_inject initial time of injection.

in spray.in in the seed directory.

You must create a unique name for each marker. Verify that the name of one marker does
not appear within the name of another marker. For instance, if you name two markers
GA_START_INJ and GA_START_INJ_EMBEDDING, CONGO will identify the string
GA_START_INJ and parse in a value in the GA_START_INJ_EMBEDDING marker. This process
would lead to the undesirable result of a value that resembles -25_EMBEDDING, which will
cause an error.

682 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 21
CONGO - Optimization and Model Interrogation Utility |Using CONGO

Additionally, you must also define two markers in inputs.in to identify the individual and
generation for CONVERGE. Prepare the inputs.in file as shown in Figure 21.3 below.

.
.
0 map_flag
1 ga_flag
GA_INDIVIDUAL ga_individual
GA_GENERATION ga_generation
.
.
Figure 21.3: An excerpt of inputs.in with relevant file parsing parameters.

Place the CONVERGE input files in a directory (input_files) for use by CONGO during
the GA. CONGO copies all files from this directory into each run directory before parsing.
This input file directory should also contain an appropriate CONVERGE executable, or a
link to the correct path thereto. Refer to the CONVERGE Getting Started Guide
(https://convergecfd.com/support/getting-started-guide) for more information.
CONVERGE Output for GA
Configure the CONVERGE simulations to create a file containing performance variables
for the GA using a user-defined function (UDF). Designate one consistent output file name
for both CONVERGE and CONGO, such as ga_output.#-#.

Customize the user_ga_merit_f lag.c file in the UDF directory to create the variable outputs
of interest. Compile the UDF and save the library (libconverge_udf .so) in the directory with
CONVERGE. Compile the udf with the header files corresponding to the version of
CONVERGE you are using.

You need to enable several flags in the CONVERGE input files inputs.in and udf .in in order
to run a GA or DoE that uses a UDF. These flags are shown in Figures 21.4 and 21.5
below.

.
.
0 map_flag
1 ga_flag
GA_INDIVIDUAL ga_individual
GA_GENERATION ga_generation
.
.
0 wallvalue_flag
1 udf_flag
0 cht_supercycle_flag
.

CONVERGE 2.4 Manual 683


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 21
CONGO - Optimization and Model Interrogation Utility |Using CONGO

Figure 21.4: An excerpt of inputs.in with relevant GA flags.

.
.
0 user_event_flag
1 user_ga_merit_flag
0 user_piston_position_flag
.
.
Figure 21.5: An excerpt of udf .in with relevant GA flags.

CONGO Output Files


CONGO generates output in two places: in the individual run directories of the
CONVERGE simulations, and in the main CONGO folder. CONGO uses the data written
to the individual run directories to create the output files in the main CONGO folder.

Both types of output files are described in more detail in the CONGO Output Files section
in Chapter 23.
Running CONVERGE with a UDF
We recommend that you become familiar with running CONVERGE with a user-defined
function (UDF) before attempting to run CONGO. Refer to the CONVERGE UDF Manual
for more information.

To run CONVERGE with a UDF, set udf _f lag = 1 in inputs.in and activate the relevant
flag(s) in udf .in. Additionally, you need to set the LD_LIBRARY_PATH environment
variable to point to the UDF directory, which contains the libconverge_udf.so library.
This library path should be relative to the run directories for the GA, since CONVERGE is
executed from within the individual run directories. For example, the udf directory should
be in the base directory of the GA and you should set $LD_LIBRARY_PATH = ../udf

To set the library environment variable using the bash shell command-line interpreter,
type:
export LD_LIBRARY_PATH=../udf

To set this variable using the c shell command line interpreter, type:
setenv LD_LIBRARY_PATH ../udf

libcongo.so
You can configure a libcongo.so to work with CONGO as a library for generating
parameterized geometry (such as a piston bowl profile) or a rate-shape (such as a fuel
injection profile). You can also use libcongo.so to program complex merit functions.
CONGO looks for libcongo.so file in the working directory.

684 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 21
CONGO - Optimization and Model Interrogation Utility |Using CONGO

21.3.5 Run Directories


CONGO uses the CONVERGE seed directory to create individual run directories for a GA
or DoE. The input files in these individual run directories will contain all of the input files
in the seed directory, but instead of the markers designated for the model parameters
CONGO will vary, CONGO has populated the values for each run (for a DoE) of the first
generation (for a GA) according to the value (DoE) and min and max (ranges in GA) you
specify for these parameters in case.in.

Before running the full CONGO case, first perform a test run. A test run is useful for
ensuring CONGO is properly configured before expending significant computational
resources on the actual CONGO run. To perform test run, setup CONGO as you normally
would, but set the test_run_f lag = 1 in execute.in. Then run CONGO as described in the
Running and Restarting CONGO. This test run will create run folders for each run (of the
first generation, for a GA), containing the input files with model parameters populated by
CONGO. These folders will contain sample, unpopulated CONGO output files,
ga_output.<run#>-<gen#> and param.<run#>-<gen#>.

When you are satisfied with the CONGO setup, you can then execute the full CONGO
run, which will create CONVERGE input files and launch the runs in each directory. For a
GA, it will create these output files for each generation of each run. CONGO uses the
output from the CONVERGE output files in the individual run directories to calculate the
merit of each run, which it then uses to create the CONGO written to the CONGO root
directory (e.g., congo_max.out, congo_micro.out, output.out).
21.3.6 CONGO Scripts
CONGO has several utilities, which are described below.

· clean.sh will remove all files from a previous CONGO run. Use clean.sh if a run has
been stopped and you want to start the GA from the beginning. You must remove
several files before restarting CONGO, so this utility can speed up the process of starting
a new run of CONGO.

· clean_restart.sh will remove files to allow a restart of the GA, but it also preserves the
results of generations that are already complete.

· all_kill.sh will kill all CONVERGE runs currently in progress using the mkill and
pykill commands. Contact Convergent Science, Inc. to determine the availability and
compatibility of the all_kill.sh script. You will need to edit this script based on the
details of your CONVERGE installation.

· status.sh will display the current status of all of the GA runs in progress.

CONVERGE 2.4 Manual 685


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 21
CONGO - Optimization and Model Interrogation Utility |Using CONGO

· monitor_runs.sh will automatically monitor CONVERGE runs for crashes. If a crashed


run is detected, this script will create an output file for the crashed case. You must
supply a template for the output file (named replace.outdata) in the GA directory. A
flag will appear on the first line to indicate that the run crashed, followed by
performance variables that will produce a very low merit score for this individual. See a
list of runs that crashed by viewing the replace.log file. The replace.log is updated
every time a crashed run is detected. You can view the very low merit given to crashed
runs by opening the perform.out file in a text editor.
21.3.7 Running and Restarting CONGO
Starting CONGO
After defining the experiment in case.in and configuring the other required input files, you
can start a CONGO GA by typing the following into the command line:

./congo

To start CONGO in the background and record the log in a file, type:

./congo > logfile &

Stopping CONGO
To end a CONGO run, kill the CONGO process. You must also manually kill any
CONVERGE runs in progress and any scripts that are being run by CONGO (i.e.,
monitor_runs.sh).

Restarting CONGO
After a GA simulation has started, CONGO automatically creates the restart file restart.in.
CONGO updates this file automatically after each generation. If CONGO is stopped before
results are collected for the current generation of CONVERGE simulations, a recollect
option is available. Set recollect_data_f lag in execute.in to 1 before this initial CONGO run.

Once the CONVERGE simulations are complete, you can re-run CONGO with the data
recollection option activated. With the data recollection option activated, CONGO will
collect the results of the current generation, create the next generation, and update the
restart.in file. When the data recollection option is on, CONGO will not start the
simulations for the next generation; use this option only to collect information from the last
generation of previously executed simulations. After the data recollection step is complete,
you can restart CONGO with recollect_data_f lag = 0 in execute.in and with restart_f lag = 1
in congo.in.

While a GA is in progress, you may decide to alter the merit function slightly. To do so, kill
the CONGO process, alter the merit function as needed (either in merit.in or in the user

686 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 21
CONGO - Optimization and Model Interrogation Utility |Using CONGO

library used to calculate the merit function), and then restart CONGO. Because the
formulation of the merit function has changed, the merit of the best-so-far individual will
be different and you must update it in the restart.in file. You can change the elite (best-so-
far) merit in restart.in file to correspond to the new merit function before a restart. Then,
the GA will continue with a different calculation, and CONGO will assess the best-so-far
individual based on the new merit value. Note that the merit in the max (congo_max.out)
and merit (congo_micro.out) and bestcases (bestcases.out) files will not be changed, so
evaluate the merit listed in these files accordingly.

The restart.in file contains all the DNA of every individual in the current generation of the
GA, followed by the merit and DNA of the best-so-far individual. To find and modify the
merit of the best-so-far individual, search the restart.in file for the best-so-far merit and
change it as needed.

CONGO updates the restart.in file every generation and therefore always contains data for
only a single generation. The congo_dna.out file also contains the restart information for
every generation of a GA, which allows the GA to be restarted at any generation if
necessary. For instance, you may find during a GA that the definition of the merit was not
ideal initially and the best-so-far individual at an earlier point in the GA was actually
deemed to be stronger after you correct the merit function. You can use the congo_dna.out
file to restart the GA at the earlier generation with a modified merit function. To do so,
find the generation containing the desired best-so-far individual in congo_dna.out and copy
the contents from this generation to the restart.in file. Update the best-so-far merit in
restart.in according to the revised merit function before restarting.

The format of the restart information (contained for each generation in the congo_dna.out
file) is:

generation#
best individual #
dna of each individual in the population preceded by the individual number
merit of best-so-far individual
dna of best-so-far individual
eight numbers defining the current random number sequence

CONVERGE 2.4 Manual 687


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

22
Input and Data File Reference
Chapter 22
Input and Data File Reference |

22 Input and Data File Reference


This chapter describes the CONVERGE input (*.in) and data (*.dat) files. The order in
which these files are described in this chapter mirrors the order in CONVERGE Studio's
Case Setup dock. The final portion of this chapter describes the input files associated with
the CONVERGE Studio Chemistry module, which contains zero- and one-dimensional
chemistry tools.

Although you can edit input files directly, we recommend that you set up your case and
export the input files in CONVERGE Studio. Using CONVERGE Studio helps to ensure
that all files are formatted correctly. In addition, CONVERGE Studio can provide
recommended values for many different types of cases.

CONVERGE allows blank rows in all files and ignores all rows starting with #.
CONVERGE Studio may look for some information in rows beginning with # when
importing files.

22.1 Temporally Varying Parameters


CONVERGE allows many parameters to be either a fixed value or to vary temporally. This
section describes how to set up a spatially varying parameter.

(Some boundary-related parameters can very spatially or spatially and temporally. See
Chapter 8 - Boundary Conditions for more information.)

For a temporally varying parameter, specify a file name instead of a number for the
appropriate parameter. For example, in inputs.in, you can define twrite_post as follows:

2.0 twrite_post (twrite_post is a constant value throughout the


simulation)

or

"twrite_post.in" twrite_post (twrite_post varies as specified in twrite_post.in,


which is an arbitrary file name)

If you use the second option, you must include the corresponding file (e.g., twrite_post.in)
in the Case Directory. Figure 22.1 below shows an example twrite_post.in file. The first row
must contain the keyword TEMPORAL. The second row must specify the repetition type
(SEQUENTIAL [i.e., non-repeating] or CYCLIC). If CYCLIC, you must include the cyclic
period (in seconds if crank_f lag = 0 or in CAD if crank_f lag = 1 or 2). The third row contains
the word second (if crank_f lag = 0) or crank (if crank_f lag = 1 or 2), the name(s) of the

690 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Temporally Varying Parameters

temporally varying parameters (e.g., twrite_post), and the tag column. Note that
CONVERGE automatically sets unspecified species and passives to 0.0 at the boundaries. If
the input is SEQUENTIAL, the fourth and following rows contain the time (in seconds if
crank_f lag = 0 or in CAD if crank_f lag = 1 or 2) followed by the value at that time and the
tag value. Set tag to 1 to instruct CONVERGE to write and save a post file at the specified
simulation time. Set tag to 0 if you do not want CONVERGE to write and save another
post file at that simulation time. For the SEQUENTIAL case, CONVERGE will use the first
or last value if the simulation time does not fit into the range given in the file (e.g., if the
last data point in twrite_post.in is for 60 CAD, and your simulation runs until 80 CAD,
CONVERGE will use the 60 CAD value through the end of the simulation). If the input is
CYCLIC, the quantity will cycle according to the period. For both SEQUENTIAL and
CYCLIC profiles, the value at times between time entries in the file will be the same as the
value of the previous entry. The heading of the second column (twrite_post in the example
below) must have the same name as the parameter of interest.

TEMPORAL
CYCLIC 720
crank twrite_post tag
-360.0 10.0 0
-20.0 2.0 1
+150.0 10.0 1
+360.0 10.0 0
Figure 22.1: An example twrite_post.in.

Table 22.1 lists the parameters that can vary temporally.

CONVERGE 2.4 Manual 691


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Temporally Varying Parameters

Table 22.1: Parameters that can vary temporally.


File Name Parameters

amr.in amr_cycle_steady, amr_max_cells, amr_min_cells

boundary.in pressure, temperature, species, passives, tke, eps, U, V, W, massf low

combust.in adaptive_zone_bin_temp, adaptive_zone_bin_react_ratio,


adaptive_zone_bin_equiv_ratio, adaptive_zone_bin_pres,
adpative_zone_bin_<species name>, g_eqn_init_value, ctc_init_time ,
sage_reac_mult

engine.in rpm

gridscale.in gridscale_time

inputs.in twrite_post, twrite_transf er, twrite_restart, twrite_f iles, dt_max, dt_min, max_cf l_u,
max_cf l_nu, max_cf l_mach, schmidt_turb, crit_pres, crit_temp, acentric_f actor,
grid_scale

solver.in tol_scale, piso_itmin, piso_itmax, piso_tol, f v_upwind_mom,


f v_upwind_f actor_global, monotone_tolerance, impl, conserve, strict_conserve_f lag,
rc_f lag, omega_presrat, omega_p_steady, mom_*, pres_*, density_*, energy_*,
species_*, passive_*, tke_*, eps_*, omega_*, rad_*

spray.in inj ect_start_time, inj ect_duration, inj ect_mass

Restart File Specification


The twrite_restart parameter in inputs.in controls the frequency with which CONVERGE
writes restart files, and num_restart_f iles in inputs.in determines how many of these restart
files CONVERGE will save (the oldest restart file will be the first to be overwritten). These
restart files are named restart<restart number>.rst (e.g., restart0001.rst).

In addition to these restart files, CONVERGE provides the option to save other restart files,
written at specified times, to the Case Directory. These additional files are named
according to the times at which they are written: restart_<simulation time or CAD>.rst.
These additional restart files do not count toward the user-specified number of restart files
to be saved (given by num_restart_f iles), and they will not be overwritten or deleted by
CONVERGE. To invoke the option for additional restart files, specify a file name (e.g.,
twrite_restart.in) for twrite_restart. The file format of twrite_restart.in is as described above
with one addition: a final column with a header of tag. Set tag to 1 to instruct CONVERGE
to write and save a restart file at the specified simulation time. Set tag to 0 if you do not
want CONVERGE to write and save another restart file at that simulation time. Figure
22.2 shows an example twrite_restart.in file.

TEMPORAL
CYCLIC 720.0
crank twrite_restart tag

692 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Temporally Varying Parameters

-147 1.0 1
-130 2.0 0
0 1.0 1
10 5.0 1
100 10.0 0
Figure 22.2: An example twrite_restart.in. CONVERGE will write and overwrite restart files
(restart<restart number>.rst) according to the frequency specified in the twrite_restart column.
CONVERGE will write and save restart file at -147 CAD (restart_-1.470000e+02.rst), 0 CAD
(restart_0.000000e+00.rst), and 10 CAD (restart_1.000000e+01.rst).

22.2 Applications Input Files


This section describes the applications-related input files.

22.2.1 Engine Applications - engine.in


For an engine simulation, set crank_f lag = 1 in inputs.in and define your engine-related
parameters in the engine.in file. Table 22.2 below lists the parameters in engine.in. Figure
22.3 shows an example engine.in file.

Table 22.2: Parameters in engine.in.


Parameter Description

bore Engine cylinder bore (m).

stroke Engine cylinder stroke (m). Twice the crank radius.

connecting_rod Engine connecting rod length (m).

crank_of f set Engine crank offset (m).

rpm Engine speed (rev/ min). Specify a file name (in quotation marks) for a case with
variable RPM.

swirl Initial swirl ratio. Typically 0.0 when the gas exchange is simulated.

swirl_prof ile Swirl profile parameter. Typically 3.11. Minimum value is 0.0 (for wheel flow).
Maximum value is 3.83 (for zero velocity at the wall).

zhead Cylinder head position (z coordinate, in m). Used for velocity initialization.
Typically 0.0.

piston_id Boundary ID of piston (from boundary.in).

liner_id Boundary ID of cylinder liner (from boundary.in).

head_id Boundary ID of head (from boundary.in).

crevice_f lag 0 = No crevice model,


1 = Crevice model (requires crevice.in).

#!csi_version=2.4
#=======================

CONVERGE 2.4 Manual 693


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Applications Input Files

0.13716 bore
0.1651 stroke
0.263 connecting_rod
0.0 crank_offset
1600.0 rpm
0.98 swirl
3.11 swirl_profile
0 zhead
1 piston_id
4 liner_id
5 head_id
1 crevice_flag
Figure 22.3: An example engine.in file.

22.2.2 Crevice Model - crevice.in


crevice.in
If crevice_f lag = 1 in engine.in, you must include the crevice.in file in the Case Directory.
Table 22.3 below describes the parameters in crevice.in. Figure 22.4 below shows an
example file. Figure 22.5 illustrates the geometric and thermodynamic inputs for the
crevice model. Figure 22.6 illustrates the definition of crevice cells.

Note that the location of the crevice region is determined by the parameters boundary_id1
and boundary_id2. These values identify the two boundaries whose common cells are used
as crevice cells (i.e., the cells to which the crevice source and sink terms are applied), as
shown below in Figure 22.6. These boundary IDs must correspond to those IDs specified
for the piston and cylinder liner in boundary.in. In the example shown below in Figure
22.6, the piston is Boundary 1 and the cylinder liner is Boundary 4. In this example, set
boundary_id1 = 1 and boundary_id2 = 4.

Table 22.3: Parameters in crevice.in.


Parameter Description

boundary_id1 Piston boundary ID (must match boundary.in).

boundary_id2 Cylinder liner boundary ID (must match boundary.in).

sector_angle Sector angle (degrees) for an engine sector simulation. Set to 360 for a non-sector
simulation.

ring_motion_f lag 0 = Do not include ring motion,


1 = Include ring motion.

cdis_crev Orifice flow discharge coefficient. Typically 0.86.

top_height Distance (m) between the top of the piston and the top of the top ring. For this
parameter and subsequent parameters, see Figure 22.5 below.

top_width Distance (m) between the top of the piston and the cylinder liner.

ring_width1 Width (m) of the top ring (ring 1).

694 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Applications Input Files

Parameter Description

ring_thick1 Thickness (m) of the top ring.

ring_mass1 Mass (kg) of the top ring.

ring_gap1 Distance (m) between the top and bottom of the top ring gap.

h1b_init Initial position (m) of the top ring with respect to the bottom of the top ring gap.
Typically 0.0.

ring_width2 Width (m) of the bottom ring (ring 2).

ring_thick2 Thickness (m) of the bottom ring.

ring_mass2 Mass (kg) of the bottom ring.

ring_gap2 Distance (m) between the top and bottom of the of bottom ring gap.

h2b_init Initial position (m) of bottom ring with respect to the bottom of the bottom ring
gap. Typically 0.0.

area13 Flow area (m2) between regions 1 and 3.

area35 Flow area (m2) between regions 3 and 5.

vol2 Region 2 volume (m3).

vol3 Region 3 volume (m3).

vol4 Region 4 volume (m3).

po2 Region 2 initial pressure (Pa). Typically set to the intake valve closing (IVC)
pressure.

po3 Region 3 initial pressure (Pa). Typically set to the IVC pressure.

po4 Region 4 initial pressure (Pa). Typically set to the IVC pressure.

pcrank Crankcase pressure (Pa). Typically set to 101325.0 Pa.

temp_crev Temperature (K) of the crevice region. Typically set to the cylinder liner
boundary temperature.

#!csi_version=2.4
#=======================

1 boundary_id1
4 boundary_id2
60.0 sector_angle
1 ring_motion_flag
0.86 cdis_crev
5.196e-4 top_height
1.55e-4 top_width
5.44e-3 ring_width1
3.175e-3 ring_thick1
5.05e-3 ring_mass1
8.2611e-4 ring_gap1

CONVERGE 2.4 Manual 695


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Applications Input Files

0.0 h1b_init
5.44e-3 ring_width2
2.359e-3 ring_thick2
34.51e-3 ring_mass2
8.2611e-4 ring_gap2
0.0 h2b_init
9.05e-8 area13
1.2253e-8 area35
1.8166e-8 vol2
5.0850e-8 vol3
1.2253e-8 vol4
1.9700e5 po2
1.9700e5 po3
1.9700e5 po4
101325.0 pcrank
433.0 temp_crev
Figure 22.4: An example crevice.in file.

Figure22.5: Crevice model geometric and thermodynamic inputs.

696 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Applications Input Files

Figure 22.6: The definition of crevice


cells.

22.2.3 Variable RPM - var_rpm.in


For an engine case with a variable RPM, specify a file name (in quotation marks) for rpm in
engine.in, as shown below in Figure 22.10.

.
.
0.0 crank_offset
"var_rpm.in" rpm
0.98 swirl
.
.
Figure 22.10: An excerpt of engine.in that includes activation of the variable RPM option.

For a non-engine case with a variable RPM, specify a file name (in quotation marks) for
rpm in rpm.in, as shown below in Figure 22.11.

#!csi_version=2.4
#=======================

"var_rpm.in" rpm

Figure 22.11: An example rpm.in file that includes activation of the variable RPM option.

For both engine and non-engine cases, if you specify a file name for rpm, you must include
a file with that name in the Case Directory. Figure 22.12 shows an example of a file you
can use to specify different rpm values for different simulation times. The first row contains
the keyword TEMPORAL, and the second row contains the keyword SEQUENTIAL or
CYCLIC. If CYCLIC, the period must follow, also on the second row. The third row
contains two column headings: crank and rpm. Subsequent rows should contain RPM
values at various times. You can specify RPM values for multiple cycles if desired.

TEMPORAL
SEQUENTIAL
crank rpm
-720.0 800.0
-360.0 1000.0
-180.0 1100.0

CONVERGE 2.4 Manual 697


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Applications Input Files

0.0 1200.0
90.0 1300.0
180.0 1400.0
270.0 1500.0
. .
. .
Figure 22.12: An example of a variable RPM file (e.g., var_rpm.in).

22.2.4 Non-Engine Applications - rpm.in


For a crank angle degree-based simulation that is not an engine simulation, set crank_f lag = 2
in inputs.in and include an rpm.in file. Table 22.4 below lists the parameters in rpm.in.
Figure 22.7 shows an example rpm.in file.

Table 22.4 : Parameters in rpm.in.


Parameter Description

rpm Piston speed (rev/ min). Specify a file name (in quotation marks) for a case
with variable RPM.

#!csi_version=2.4
#=======================

3600 rpm
Figure 22.7: An example rpm.in file.

22.2.5 Piston Motion in Non-Engine Applications - piston_motion.in


Piston Motion Files
To have CONVERGE generate the piston position table for a non-engine application,
include a piston motion file (e.g., piston_motion.in) and specify its file name in boundary.in.
Table 22.5 describes the parameters in the piston motion file for non-engine application,
and Figure 22.4 below shows an example piston motion file.

Table 22.5: Parameters in piston motion files for non-engine applications (e.g., piston_motion.in).
Parameter Description

slider_axis The vector along which the piston slides.

crank_radius Half the length of the cylinder stroke (m).

connecting_rod Connecting rod length (m).

crank_of f set Piston wrist pin offset (m).

speed_ratio RPM multiplier.

CRANK_SLIDER

0.0 0.0 1.0 slider_axis


0.08255 crank_radius

698 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Applications Input Files

0.263 connecting_rod
0.0 crank_offset
1.0 speed_ratio
Figure 22.8: An example piston motion file (e.g., piston_motion.in) file.

22.3 Materials Input Files


This section describes the input and data files that contain properties for the various
species in your CONVERGE simulation. Chapter 9 - Physical Properties and Reaction
Mechanism contains more information about these files.
22.3.1 Gas Properties - gas.dat
Specify gas viscosity and conductivity for a single gas species in the gas.dat file. This file
must contain three columns: temperature in K, viscosity (N-s/m2), and conductivity
(W/m2K).

This file contains gas viscosity and conductivity data in 10 K increments starting from 0 K.
The gas.dat data must go at least to the max_temp (specified in inputs.in) or to 5000 K,
whichever is lower. If the max_temp exceeds 5000 K and if the gas.dat file contains data
only to 5000 K, CONVERGE will perform a zero-order extrapolation to obtain gas
property data up to the maximum temperature.

A sample gas.dat is shown below in Figure 22.9.

# temperature viscosity conductivity


0.0000E+00 7.0600E-06 9.2000E-3
1.0000E+01 7.0600E-06 9.2000E-3
.
.
5.0000E+03 1.5240E-04 7.1800E-01

Figure 22.9: An example gas.dat file.

22.3.2 Gas Properties - transport.dat


For a simulation with gases, CONVERGE requires a gas.dat file (if species_dif f usion_model =
0 in inputs.in) or a transport.dat file (if species_dif f usion_model = 1). The transport.dat file is
CHEMKIN-formatted. For a detailed description of this file, consult Chapter 22 - Input File
Reference. Table 22.1 describes the format of transport.dat, and Figure 22.1 below shows an
excerpt of a transport.dat file.

CO 1 98.100 3.650 0.000 1.950 1.800


H2O 2 572.400 2.605 1.844 0.000 4.000
H2 1 38.000 2.920 0.000 0.790 280.000
CO2 1 244.000 3.763 0.000 2.650 2.100
O2 1 107.400 3.458 0.000 1.600 3.800
H2O2 2 107.400 3.458 0.000 0.000 3.800
OH 1 80.000 2.750 0.000 0.000 0.000
HO2 2 107.400 3.458 0.000 0.000 1.000

CONVERGE 2.4 Manual 699


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

H 0 145.000 2.050 0.000 0.000 0.000


O 0 80.000 2.750 0.000 0.000 0.000
AR 0 136.500 3.330 0.000 0.000 0.000
N2 1 97.530 3.621 0.000 1.760 4.000
HE 0 10.200 2.576 0.000 0.000 0.000
Figure 22.1: Sample transport.dat file.

Table 22.1: Format of transport.dat.


Column Quantity
Number

1 Species name.
2 0 = Molecular geometry is monatomic,
1 = Molecular geometry is linear,
2 = Molecular geometry is nonlinear.
3 Lennard-Jones potential.
4 Lennard-Jones collision diameter.
5 Dipole moment.
6 Polarizability.
7 Rotational relaxation collision number.

22.3.3 Species-Dependent Critical Properties of Gases - crit_cond.dat


For a simulation with multiple gas species, you can include species-dependent critical
temperatures, critical pressures, and acentric factors. These data are used only when
eos_f lag = 1, 2 or 3 in inputs.in. To include species-dependent data, specify a file name (e.g.,
crit_cond.dat) instead of a value for crit_temp, crit_pres, and/or acentric_f actor in inputs.in.
For a simulation that includes composite species, CONVERGE will calculate the critical
properties of the composite from the species-specific critical properties in crit_cond.dat.

Figure 22.10 shows an excerpt of an inputs.in file. Note that crit_temp, crit_pres, and
acentric_f actor each specify a file name instead of a value. The crit_cond.dat file will contain
the species-dependent gas property data.

700 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

.
.
#properties
1 gas_compressible_flag
0 liquid_compressible_flag
1 eos_flag
0 real_gas_prop_flag
6.0 max_reduced_pres
crit_cond.dat crit_temp
crit_cond.dat crit_pres
crit_cond.dat acentric_factor
.
.
Figure 22.10: An excerpt of an inputs.in file where a file name (crit_cond.dat) is listed instead of a
value for three parameters. This file will contain species-dependent values for critical temperature,
pressure, and acentric factors.

Table 22.6 summarizes the format of the species-dependent gas property data file (e.g.,
crit_cond.dat), and Figure 22.11 shows an example crit_cond.dat file. The first
(uncommented) row of this file contains the keyword DEFAULT followed by a critical
temperature, critical pressure, and acentric factor. Any gas not listed by name in this file
will be assigned these default properties.

CONVERGE 2.4 Manual 701


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

# species crit_temp crit_pres acentric_factor


DEFAULT 133.0 3.77e+6 0.035
AR 150.8 4.87e+6 0.001
HE 5.19 2.27e+5 -0.365
H2 33.18 1.3e+6 -0.216
N2 126.19 3.3978e+6 0.039
O2 154.58 5.043e+6 0.025
CH4 190.6 4.61e+6 0.011
CH2O 408 6.59e+6 0.253
C2H2 308.3 6.138e+6 0.19
C2H3 308.3 6.138e+6 0.19
C2H4 282.5 5.06e+6 0.089
C3H4 402.4 5.63e+6 0.215
C6H12 504.03 3.14e+6 0.28
C6H6 562.1 4.89e+6 0.212
C7H16 540.2 2.74e+6 0.349
C10H22 617.8 2.11e+6 0.489
NC10H22 617.8 2.11e+6 0.489
NC12H26 658.2 1.80e+6 0.562
CO 134.45 3.49875e+6 0.066
CO2 304.18 7.38e+6 0.2373
HO2 728.0 22.0e+6 0.0
H2O 647.0 22.064e+6 0.344
H2O2 728.0 22.0e+6 0.0
NO 180.0 6.48e+6 0.588
Figure 22.11: A sample species-dependent gas property data file (e.g., crit_cond.dat).

Table 22.6: Format of the species-dependent gas property data file (e.g., crit_cond.dat).
Column Number Parameter Units
1 species name N/A
2 crit_temp K
3 crit_pres N/ m2
4 acentric_f actor N/A

22.3.4 Liquid Properties - liquid.dat


When simulating one or more liquids in CONVERGE, you must specify liquid properties in
a data file called liquid.dat. Table 22.7 lists the required column format and units for each
quantity.

Figure 22.12 below shows the first several rows of a liquid.dat file. The first row contains
the name of the liquid species (H2O_L). After the liquid name, there are three sections,
which are separated by the keywords non_newtonian, compressible, and critical_temp.

The non-Newtonian (HERSCHEL_BULKLEY_MODEL or CARREAU_MODEL) section is


not required if the liquid is compressible (not non-Newtonian, i.e., if there is no
LIQUID_NON_NEWTONIAN in species.in). The non-Newtonian section consists of one
line. For the Herschel-Bulkley model: the keyword HERSCHEL_BULKLEY_MODEL, the

702 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

power index, the consistency index, the yield stress (N/m2), and the solid viscosity (m2/s).
For the Carreau model: the keyword CARREAU_MODEL, the low shear rate viscosity
(m2/s), the high shear rate viscosity (m2/s), the power index, and the time constant (s).

The compressible section is not required if the liquid is not compressible (i.e., if
liquid_compressible_f lag = 0). The compressible section consists of one line: the keyword
compressible, the reference pressure (Pa), the reference density (kg/m3), and the bulk
modulus (Pa).

The critical_temp section is always required. The first line of this section consists of the
keyword and the critical temperature of the liquid (in K). Each row thereafter consists of
the temperature and the corresponding viscosity, surface tension, latent heat of
vaporization, vapor pressure, conductivity, density, and specific heat. The number of
entries in this section is based on the critical temperature, Tcrit, that is specified on the
second row. The number of entries must equal int(Tcrit/10) + 2. In our example, Tcrit =
540.30 K, so CONVERGE requires 56 entries, from 0 to 550 K, in 10 K intervals. You can
specify multiple liquids in the same liquid.dat file to generate a database of liquids. Specify
all data for one liquid before specifying data for the next liquid.

H2O_L
HERSCHEL_BULKLEY_MODEL 1.0 1.0 5.0 100.0
compressible 101325 843 1.9e09
critical_temp 540.30
0.000000E+000 1.000 7.550000E-009 3.148000E+006 0.000000E+000 5.690000E-001
1.000000E+003 4.740000E+003
1.000000E+001 1.000 7.550000E-009 3.124300E+006 0.000000E+000 5.690000E-001
1.000000E+003 4.740000E+003
.
.
Figure 22.12: An excerpt of a liquid.dat file.

Table 22.7: Format of liquid.dat.


Column Quantity Units
Number
1 Temperature K
2 Viscosity N×s/ m2
3 Surface tension N/ m
4 Latent heat of vaporization J/ kg
5 Vapor Pressure Pa
6 Conductivity W/ m-K
7 Density kg/ m3

CONVERGE 2.4 Manual 703


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

Column Quantity Units


Number

8 Specific heat capacity J/ kg-K

22.3.5 Custom Fluid Properties - fluid_properties.in


CONVERGE includes a utility that serves as an interface for the CoolProp fluid property
library. This utility requires the f luid_properties.in file. Table 22.8 below describes the
parameters in f luid_properties.in. Figure 22.13 below shows an example f luid_properties.in
file.

Table 22.8: Parameters in f luid_properties.in.


Parameter Description

f luid_name Name of the fluid for which to calculate properties.

temp_min Minimum temperature (K) of the temperature range.

temp_max Maximum temperature (K) of the temperature range.

temp_step Temperature interval (K) for the steps between temp_min and temp_max.

pres_min Minimum pressure (MPa) of the pressure range.

pres_max Maximum pressure (MPa) of the pressure range.

pres_step Pressure interval (MPa) for the steps between pres_min and pres_max.

R245fa fluid_name
200.0 temp_min
500.0 temp_max
2.0 temp_step
0.0 pres_min
10.0 pres_max
0.02 pres_step
Figure 22.13: Example f luid_properties.in file.

The utility writes out the f luid_properties.dat file, which is described below in Table 22.9.
Figure 22.14 below shows an example f luid_properties.dat file. The header information in
f luid_properties.dat includes the species name and molecular weight, the number of
temperature and pressure intervals, and the number of output columns.

Table 22.9: Format of f luid_properties.dat.


Column Quantity Units
Number
1 Temperature K
2 Pressure Pa

704 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

Column Quantity Units


Number

3 Density kg/ m3
4 Specific Volume m3/ kg
5 Internal Energy J/ kg
6 Enthalpy J/ kg

7 Entropy J/ kg-K
8 Specific Heat at Constant J/ kg-K
Volume
9 Specific Heat at Constant J/ kg-K
Pressure
10 Speed of Sound m/ s
11 Viscosity N×s/ m2
12 Conductivity W/ m-K
13 Compressibility Ndim

tabular_fluid_properties
# species_name molar_mass [kg/mol]
R134a 1.0203200e-01
# num_temp num_pres num_column
128 500 13
# temperature pressure density specific_vol intern_energy
enthalpy entropy
# [K] [Pa] [kg/m3] [m3/kg] [J/kg]
[J/kg] [J/kg/K]
2.00000e+02 2.00000e+04 1.51048e+03 6.62026e-04 1.07380e+05
1.07404e+05 6.07305e+02
2.02000e+02 2.00000e+04 1.50582e+03 6.64496e-04 1.09864e+05
1.81393e+05 6.11669e+02

Cv Cp sound_speed viscosity conductivity


compressibility
[J/kg/K] [J/kg/K] [m/s] [Pa*s] [W/m/K] []
8.56083e+02 1.57345e+03 9.67633e+02 8.67423e-04 1.27949e-01
8.42674e-04
8.03106e+02 1.20815e+03 9.54749e+02 8.22352e-04 1.26650e-01
8.07615e-04
.
.
Figure 22.14: An excerpt of a f luid_properties.dat file.

CONVERGE 2.4 Manual 705


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

22.3.6 Surrogate Blender - blender.in


The surrogate blender can import and export blender.in files. A blender.in file contains a
table with information about component and target fuel properties and the weight given
to each property.

Table 22.10 below describes the format of blender.in, and Figure 22.15 shows a sample
blender.in file.

Table 22.10: Format of blender.in.


TABLE Property j Property j +1

Fuel i Property j for fuel i. Property j +1 for fuel i.

Fuel Property j for fuel i+1. Property j +1 for fuel i+1.


i+1
(add rows for additional fuels) (add columns for additional properties)
Targets Property j for target fuel. Property j +1 for target
fuel.

Weight Weight of property j . Weight of property j +1.


s Must be a number no Must be a number no
greater than 1.0. greater than 1.0.

TABLE DCN TSI HC MW


FUEL1 78 7 2.16 170.3
FUEL2 17 6.8 2.25 114.2
FUEL3 21.8 62 1.33 120.2
FUEL4 28.2 53.0 1.33 120.2
TARGETS 47.1 21.4 1.96 142.0
WEIGHTS 1.0 1.0 1.0 1.0

Figure 22.15: An example blender.in file.

22.3.7 Solid Properties - solid.dat


Specify solid properties - melting point, density, specific heat capacity, and conductivity -
in the solid.dat file. Table 22.11 lists the required column format and units for each
quantity.

Table 22.11: Column format and units for solid.dat. Configure this file in CONVERGE Studio via Case
Setup > Materials > Solid simulation.
solid.dat Quantity Units
Column
Number
1 Temperature K

706 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

solid.dat Quantity Units


Column
Number
2 Density kg/ m3
3 Specific heat capacity J/ kg-K
4 Conductivity W/ m-K

Figure 22.16 shows an example solid.dat file. Note that the first row is the name of the solid
species (in this case, metal). The second row is the melting point, in K, of the solid.

! solid species name


! melting point (k)
! Temperature density specific heat condiuctivity
! k (Kg/m^3) (j/kg.k) (w/m.k)
metal
690.0
0.0000E+00 7.85E+003 5.61E+002 4.27E+001
1.0000E+01 7.85E+003 5.61E+002 4.27E+001
2.0000E+01 7.85E+003 5.61E+002 4.27E+001
3.0000E+01 7.85E+003 5.61E+002 4.27E+001
4.0000E+01 7.85E+003 5.61E+002 4.27E+001
.
.
Figure 22.16: An example solid.dat file.

22.3.8 Species Data and Reaction Mechanism - mech.dat


The mech.dat file lists the elements and species used in the simulation, and, if your
simulation invokes the SAGE detailed chemistry solver, mech.dat also must include reaction
data. Figure 22.17 shows an excerpt of a mech.dat file.

Elements
h c o n
end

specie
c7h16 o2 n2 co2 h2o
co h2 ch4 c2h2 c2h4
.
.
end

reactions
c7h16 + h = c7h15-1 + h2 5.600e+07 2.0 7667.0
c7h16 + h = c7h15-2 + h2 4.380e+07 2.0 4750.0
.
.
End
Figure 22.17: An excerpt of a mech.dat file. Note that the species names must NOT be preceded by #.

CONVERGE 2.4 Manual 707


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

If your simulation does not use the SAGE detailed chemistry model, CONVERGE does not
require the reaction data (listed after the reactions statement). If you do not use SAGE,
insert an end statement after the reactions statement. CONVERGE will read the end
statement and ignore everything that follows (so you do not need to delete the reaction
data). It is important to note that the species names and information defined in mech.dat
must be consistent with the species names specified in initialize.in.

The three numbers that follow a reaction define (in this order) the pre-exponential factor
A i (in centimeters, grams, or seconds, depending on the reaction), the temperature exponent
bi (dimensionless), and the activation energy Ei (the default units are cal/gm-mole) in the
Arrhenius equation for the forward rate constant of the ith reaction. If the reactions
statement is followed by the keyword KJOULE/MOLE in the same line, then the units for
activation energy Ei is in KJ/mole instead of the default cal/gm-mole.

Although the = symbol in the reactions in Figure 22.17 indicates that the reactions are
reversible, only the forward rate constant is defined in the example mech.dat. CONVERGE
will calculate the reverse rate constant. For details, refer to Chapter 9 - Physical Properties
and Reaction Mechanisms.

Alternatively, you can specify different options - reversible, pressure-dependent, etc. - for
reactions. To specify these reaction options, add a row after the reaction you wish to
modify with the appropriate keyword and format, as listed in Table 22.12 below. Note the
required slash symbols delimiting values of the parameters following the reaction option
keywords. Figure 22.18 shows an excerpt of a mech.dat file containing examples for all the
reaction options. For more information the calculations underlying the reaction options,
consult Chapter 9 - Physical Properties and Reaction Mechanisms.

Table 22.12: Reaction Options for mech.dat.


Reaction Option Description
Reverse After the reaction row, add a row beginning with the keyword REV followed
by values for Ai, β i, and Ei.

Three body After the reaction row, add a row specifying the species acting as a third
body, followed by the efficiency factor. You can enter up to 30 enhanced
third-bodies.
Pressure-dependent After the reaction row, add a row beginning with the keyword LOW, followed
(Lindermann) by values of A0, β 0, and E0, or the keyword HIGH, followed by values of A∞,
β ∞, and E∞.

Pressure-dependent Add a Lindermann format row. Begin the next row with the keyword TROE,
(Troe) followed by values for the parameters a, T***, T*, and T**.

708 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

Reaction Option Description

Pressure-dependent Add a Lindermann format row. Begin the next row with the keyword TROE,
(SRI) followed by values for the parameters a, b, c, d, and e. If you do not specify
values for d and e, CONVERGE will use d=1 and e=0.
Pressure-Dependent After the reaction row, add a row beginning with the keyword PLOG,
Arrhenius Rate followed by the pressure value (in bar) and the three Arrhenius reaction rate
Expressions (P-LOG) parameters.
Polynomial-Based After the reaction row, add a row with the keywords TCHEB and PCHEB,
(Chebyshev) Reaction followed by values for Tmin and Tmax and Pmin and Pmax, respectively.
Rate Begin the next row with the keyword CHEB, followed by the number of
columns and rows, respectively, in the coefficient matrix a.
Duplicate After the reaction row, add a row with the keyword DUPLICATE for each line
(including the first) that contains the reaction.
Isomer lumping After the reaction row, add a row with the keyword LUMP followed by a for
each lumped isomer species, in the order that it appears in the reaction row.
Note that you can apply other reaction options to these reactions, as the
LUMP keyword is necessary because the presence of a lumped isomer species
requires a change in the calculation of the reaction rate.
Fractional Order After the reaction row, for each species with fractional order, add a row
(FORD) beginning with the keyword FORD, followed by the species and its fractional
order.
User-Defined After the reaction row, add a row with the keyword USER/ <index>/ .
CONVERGE will reference the <index>th reaction rate definition in the
user_reaction_rate.c user-defined function. Note that you must include
values for the three Arrhenius rate parameters immediately
following the reaction itself, but CONVERGE will not use these
values.

Elements
h c o n
end

specie
c7h16 o2 n2 co2 h2o
co h2 ch4 c2h2 c2h4
.
.
end

reactions
c7h16 + h = c7h15-2 + h2 4.380e+07 2.0 4750.0

c7h16 + h = c7h15-1 + h2 5.600e+07 2.0 7667.0


REV / 4.80e+12 0 1.143e+04/

CONVERGE 2.4 Manual 709


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

h +oh +M = h2o + M 0.160e+23 -2.00 0.0


h2o/5/

o + co(+M) = co2 (+M) 1.800e+10 0.0 2385.00


LOW / 6.020E+14 .000 3000.00

h + ch2o(+M)= ch3o (+M) 5.400e+11 0.454 2600.0


LOW / 2.200E+30 -4.800 5560.00/
TROE / .7580 94.00 1555.00 4200.00 /

ch3 +ch3(+M) = h + c2h5(+M) 4.989e+12 0.099 10600.0


HIGH/ 3.80E-7 4.838 7710. /
SRI / 1.641 4334 2725 /

h + h2o2=oh+h2o 1.000E+13 .000 3600.00


PLOG / 1.00000e-1 1.000E+13 .000 3600.00/
PLOG / 1.00000e+0 1.000E+13 .000 3600.00/
PLOG / 1.00000e+1 1.000E+13 .000 3600.00/

h + h2o2=oh+h2o 1.000E+13 .000 3600.00


TCHEB/ 300 2000/ PCHEB/ 0.132 132./
CHEB/ 8 4 1.2451E+01 7.3554E-01 -1.7244E-02 -8.1648E-04 -3.5023E+00/
CHEB/ 7.9339E-01 1.6780E-02 -7.1629E-04 -1.8341E+00 2.3633E-01 1.7728E-02/
CHEB/ 5.2831E-04 -7.3236E-01 3.8689E-03 4.4442E-03 2.8688E-04 -2.5432E-01/
CHEB/ 6.8284E-03 -3.9174E-03 -9.5956E-04 -1.3544E-01 1.2097E-02 1.7585E-03/
CHEB/-4.1806E-04 2.8834E-02 3.8520E-03 1.3198E-03 4.6928E-04 -8.9989E-02/
CHEB/-1.0474E-03 -3.0340E-04 1.0396E-04/

h2 + o2= 2oh 1.700e+13 0.0 47780.0


DUPLICATE
h2 + o2= 2oh 1.000e+13 0.0 47000.0
DUPLICATE

AC5H10+H=ism001+H2 3.37600E+05 2.36000E+00 2.07000E+02


LUMP/ 6.61365E-01 / 6.61365E-01 /
REV / 4.35200E+06 2.10000E+00 2.03300E+04/

IC8H18 + OH =>C8H17 + H2O 2.000E+13 0.00


3000.0
FORD / IC8H18 0.9 /
FORD / C8H17 0.8 /

c7h16=>3c2h4+ch3+h 0 0.0 0.0


user/1/
.
.
End
Figure 22.18: An excerpt of a mech.dat file containing various reaction options.

22.3.9 Species Definition - species.in


Use the species.in file to define species that are not included in mech.dat. The species.in file
can contain spray parcels; gas, liquid, non-newtonian liquid, and solid species; scalars;
passive scalars; and non-transport passive scalars. Table 22.13 summarizes the keywords
used to specify the species type of each entity.

710 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

Table 22.13: Description of species.in.


Category Keyword/ Name

Species type PARCEL, GAS, LIQUID, LIQUID_NON_NEWTONIAN, SOLID,


SCALAR, PASSIVE, PASSIVE_NT.
Species name Parcel name, gas species name, liquid species name, non-Newtonian liquid
species name, solid species name, scalar name, passive scalar name, non-
transport passive scalar name.

For GAS species, the thermodynamic properties for the corresponding species must be
included in therm.dat and the transport properties for gas species must be included in
gas.dat. For PARCEL, LIQUID, or LIQUID_NON_NEWTONIAN species, the liquid
properties must be included in liquid.dat. For SOLID species, the solid properties must be
available in solid.dat.

For SCALAR and PASSIVE species, you must specify the Schmidt number of the species.

The non-transport passives (PASSIVE_NT) are used to numerically store conserved scalars
in the domain. For example, if you want to keep track of turbulence statistics (mean or
RMS quantities for velocity, species, temperature, etc.) or sum up all of the hydrocarbons
(with keyword hc) in a constantly changing CONVERGE grid (embedding and release of
AMR cells in every time-step) you would define a PASSIVE_NT quantity.

Typically, species.in includes the PASSIVE, PARCEL, and LIQUID species. Figure 22.19
below shows an example species.in file.

#!csi_version=2.4
#=======================

PARCEL
ic8h18
PASSIVE
nox 0.78
LIQUID
c7h16
SOLID
metal
PASSIVE_NT
hc
u_rms
Figure 22.19: An example species.in file.

Refer to the description of species_output_f lag for information on how to generate total
mass, mass fraction, and other output for each species.

CONVERGE 2.4 Manual 711


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

Non-Transport Passives
Specify non-transport passives by include the name of each non-transport passive after the
keyword PASSIVE_NT in species.in. You can use non-transport passives to numerically
store conserved scalars in the domain. You can create custom names for passives and
manually initialize the values of these passives, or you can include pre-defined names of
passives that CONVERGE can use to track specific quantities related to models. Table
22.14 summarizes some of the pre-defined non-transport passives. You must include these
terms under the PASSIVE_NT keyword.

Table 22.14: Description of pre-defined passives specified under the keyword PASSIVE_NT in
species.in.
Pre-Defined Term Description

HC Hydrocarbons (for gas-phase-only hydrocarbons).

HC_LIQUIDFUEL Hydrocarbons (for combined liquid- and gas-phase


hydrocarbons).

TUR_FLAMETHICKNESS Turbulent flame thickness.

CHEM_SRC Chemical source energy (in J/ s-m3).

G_EQN Required to use the G-Equation combustion model.

TEMP_SGS and VEL_SGS The temperature and velocity sub-grid scales


parameters (temp_sgs and vel_sgs). These values will be
calculated if the non-transport passives are included,
even if you are not using temperature-based or velocity-
based AMR.

CHEM_STIFF Invokes stiffness-based load balancing for a simulation


that includes the SAGE detailed chemical kinetics
solver.

NUM_CELLS_IN_PAIR Tracks the number of cells that are paired with one
another, which allows you to visualize which cells are
paired during the simulation.

CELL_PAIR_ID Tracks the unique index for cells that are part of the
same cell pair.

LSR_PARAM The Length Scale Resolution parameter (Piscagila 2013)


monitors the quality of a Large Eddy Simulation (LES)
mesh, or is used in AMR control. LSR_PARAM is
defined in terms of grid spacing Δ and Kolmogorov
length-scale η

LSR 
60

712 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

You can also keep track of turbulence statistics for transient simulations using non-
transport passives. Refer to the Non-Transport Passives for Turbulence Statistics section
below for more information.

User-Defined Global Variables as Non-Transport Passives


You can use the user-defined function (UDF) named user_post.c to define global variables.
The list of definitions will refer to the list of PASSIVE_NT's named in species.in. User-
defined global variables can be arbitrarily named.

If you will be using both pre-defined and user-defined non-transport passives, we


recommend that you list the user-defined non-transport passives first, which will make it
easier to define them using the list in the user_post.c UDF. Refer to the UDF Categories >
Input/Output-Based User-Def ined Functions > user_post.c section in the User-Defined
Function (UDF) Manual for more information about using user-defined non-transport
passives as global variables.

Refer to the Species and Passive Output section in Chapter 9 - Physical Properties and
Reaction Mechanisms and the post.in section in Chapter 22 - Input File Reference for
information about how generate output for non-transport passives.
Non-Transport Passives for Turbulence Statistics
CONVERGE contains predefined non-transport passives that you can use to track
turbulence-related statistics in a transient simulation. To activate turbulence statistics, set
turb_stat_f lag = 1 in turbulence.in. Table 22.15 below lists the predefined non-transport
passives. Specify any of these terms after PASSIVE_NT in species.in.

Table 22.15: Non-transport passives available for tracking turbulence statistics.


Turbulence Statistics Description
Passive Name

bar_Y.<speciesname> Mean mass fraction of <speciesname> (e.g., bar_Y.CH4).*

rms_Y.<speciesname> Fluctuations (root-mean-square (RMS) mass fraction statistics) of


<speciesname> (e.g., rms_Y.CH4).*

bar_X.<speciesname> Mean mole fraction of <speciesname> (e.g., bar_X.CH4).*

rms_X.<speciesname> Fluctuations (RMS mole fraction statistics) of <speciesname> (e.g.,


rms_X.CH4).*

bar_passive.<passivename> Mean passive quantity of <passivename> (e.g., bar_passive.f low_tracer).*

rms_passive.<passivename> Fluctuations (RMS statistics of the passive quantity) of <passivename>


(e.g., rms_passive.f low_tracer).*

bar_rho Mean density.

CONVERGE 2.4 Manual 713


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

Turbulence Statistics Description


Passive Name

rms_rho or bar_rhop_rhop RMS density. You can specify either rms_rho or bar_rhop_rhop.

rms _ rho  bar _ rhop _ rhop    

bar_p Mean pressure.

rms_p or bar_pp_pp RMS pressure. You can specify either rms_p or bar_pp_pp.

rms _ p  bar _ pp _ pp  pp

bar_T Mean temperature.

rms_T or bar_Tp_Tp RMS temperature. You can specify either rms_T or bar_Tp_Tp.

rms _ T  bar _ Tp _ Tp  TT

bar_u Mean velocity in the X-direction.

bar_v Mean velocity in the Y-direction.

bar_w Mean velocity in the Z-direction.

rms_u or bar_up_up RMS velocity (Reynolds stress) in the X-direction. You can specify
either rms_u or bar_up_up.

rms _ u  bar _ up _ up  uu

rms_v or bar_vp_vp RMS velocity (Reynolds stress) in the Y-direction. You can specify
either rms_v or bar_vp_vp.

rms _ v  bar _ vp _ vp  vv

rms_w or bar_wp_wp RMS velocity (Reynolds stress) in the Z-direction. You can specify
either rms_w or bar_wp_wp.

rms _ w  bar _ wp _ wp  ww

bar_up_vp Mean u'v' (Reynolds stress).

bar_up_wp Mean u'w' (Reynolds stress).

bar_vp_wp Mean v'w' (Reynolds stress).

vol_f rac Spray parcel volume fraction.

user_<udf statistic keyword> Statistic as defined in a user-def ined f unction. The keyword must not
conflict with any existing predefined keywords.

* Note that all species and passive names must match those specified in the reaction
mechanism file or species.in.

714 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

22.3.10Composite Species - composite.in


In some simulations, you may wish to create composite species, which are composed of
multiple base species. By creating a composite species, you can reduce the number of
species that need to be solved. For example, you could define air as a composite of
nitrogen, oxygen, water, and carbon dioxide, which would reduce the number of species
from four to one.

To activate composite species, set composite_f lag = 1 in inputs.in and include a composite.in
file in the Case Directory.

You can have composites for gas, liquid, and parcel phases. Note that you must include
the name of the composite species in the reaction mechanism file or in species.in. Table
22.16 below describes the parameters in composite.in, and Figure 22.20 shows an example
file.

Table 22.16: Parameters in composite.in.


Parameter Description Typical Value

num_composites Number of composite species to be defined. The following Must be greater than
rows are repeated for each composite species. or equal to 1.

composite_name A unique name of a composite species. You must also N/A


include this name in mech.dat or species.in. Repeat this line
for each composite species defined -- after listing the
phase, num_base_species, and bases_species as described
below.

phase Name of the phase (parcel_phase, liquid_phase or N/A


gas_phase) of the composite species listed directly above.

num_base_species Number of base species that constitute the composite. Must be greater than
or equal to 1.

base_species The name of a base species followed by the mass fraction N/A
of that base species. Repeat this row for each base species,
for each composite species. You must include
thermodynamic data for each base species in therm.dat.

#!csi_version=2.4
#=======================

2 num_composites
fuel composite_name
liquid_phase phase
2 num_base_species
ic8h18 0.75 base_species
c7h16 0.25 base_species
air composite_name
gas_phase phase

CONVERGE 2.4 Manual 715


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

4 num_base_species
o2 0.225 base_species
n2 0.77 base_species
h2o 0.004 base_species
co2 0.001 base_species
Figure 22.20: An example composite.in file.

For a simulation that includes composite species, CONVERGE will calculate the critical
properties of the composite from the species-specific critical properties in crit_cond.dat.
22.3.11Skip Species - skip_species.in
To use the skip species feature, set skip_species_f lag = 1 in inputs.in and include a
skip_species.in file in the Case Directory. Table 22.17 below summarizes the format of
skip_species.in. Figure 22.21 shows an example skip_species.in file.

716 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

Table 22.17: Parameters in skip_species.in.


Parameter Description

Temporal type Specify whether skip species is SEQUENTIAL or CYCLIC. If CYCLIC,


specify the period in crank angle degrees.

skip_species_start_time Skip species start time.

skip_species_end_time Skip species end time.

percent_mass_not_skipped The percentage of total mass that will not be converted into mass of other
species (see below).

num_keep_species This parameter, followed by num_keep_species species names, allows you


to force CONVERGE to keep certain species. In addition to the species
listed here, skip species automatically keeps species in boundary
conditions (specified in boundary.in) and region initialization
(initialize.in). For an engine simulation, we recommend keeping the fuel,
oxidizer, and some intermediate species.

num_convert_hc_species This parameter, followed by num_convert_hc_species names and mass


fractions, specifies the hydrocarbon species to which skipped
hydrocarbon species will be converted. CONVERGE will normalize the
mass fractions if they do not sum to 1. If num_convert_hc_species = 0,
CONVERGE will convert the skipped hydrocarbon species to all of the
non-skipped hydrocarbon species based on the mass fractions of the
non-skipped species.

num_convert_non_hc_species This parameter, followed by num_convert_non_hc_species names and


mass fractions, specifies the non-hydrocarbon species to which skipped
non-hydrocarbon species will be converted. CONVERGE will normalize
the mass fractions if they do not sum to 1. If num_convert_non_hc_species =
0, CONVERGE will convert the skipped non-hydrocarbon species to all
of the non-skipped non-hydrocarbon species based on the mass fractions
of the non-skipped species.

CONVERGE 2.4 Manual 717


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

#!csi_version=2.4
#=======================

CYCLIC 720.0
856.1 skip_species_start_time
890.0 skip_species_end_time
99.9 percent_mass_not_skipped
1 num_keep_species
c2h5
2 num_convert_hc_species
CH4 0.4
C2H4 0.6
3 num_convert_non_hc_species
CO2 0.2
H2O 0.4
N2 0.4
Figure 22.21: Example skip_species.in file.

You can have multiple skip species sessions in a simulation. Repeat the set of parameters
from start_time through num_convert_non_hc_species as many times as desired. Figure
22.22 shows an example file that includes more than one skip species session.

#!csi_version=2.4
#=======================

CYCLIC 720
122.0 skip_species_start_time
200.0 skip_species_end_time
99.9 percent_mass_not_skipped
4 num_keep_species
OH
CH2O
CO
H
1 num_convert_hc_species
IC8H18 1.000
1 num_convert_non_hc_species
N2 1.000
300.0 skip_species_start_time
400.0 skip_species_end_time
99.9 percent_mass_not_skipped
4 num_keep_species
OH
CH2O
CO
H
1 num_convert_hc_species
IC8H18 1.000
1 num_convert_non_hc_species
N2 1.000

Figure 22.22: Example skip_species.in file that includes two skip species sessions.

718 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

22.3.12Thermodynamic Properties - therm.dat


Each gas phase species in a CONVERGE simulation must have species-specific
thermodynamic data in a thermodynamic data file (e.g., therm.dat) or a tabular file named
tabular_therm.dat. For simplicity, here we will assume that the thermodynamic data file is
named therm.dat.

If both therm.dat and tabular_therm.dat are saved to the Case Directory and if both of these
files contain thermodynamic data for the same species, CONVERGE will use the data from
tabular_therm.dat.

For each gas phase species in the file, therm.dat must contain the species name, the
elemental composition of the species, the phase of the species, and temperature ranges
over which a polynomial is fit to thermodynamic data. It is important to note that all
columns and numbers in this file must be separated by spaces. Tabs cannot be used.

CONVERGE supports both the NASA 7 and NASA 9 formats for the thermodynamic data
file. These two formats are described below.

NASA 7 Format
Figure 22.22 below shows an example of a NASA 7 therm.dat file.

thermo
300.000 1000.000 5000.000
h 120186 h 1 g 300.00 5000.00 1000.00 1
0.02500000e+02 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 2
0.02547163e+06 -0.04601176e+01 0.02500000e+02 0.00000000e+00 0.00000000e+00 3
0.00000000e+00 0.00000000e+00 0.02547163e+06 -0.04601176e+01 4
.
.
end

Figure 22.23: An excerpt of a NASA 7 thermodynamic data file. Note that the species names must
NOT be preceded by #.

The first row contains the keyword thermo. The second row specifies three temperatures: a
low temperature, a common temperature, and a high temperature. These temperatures
define the two ranges over which a polynomial is fit to thermodynamic data, as follows:

Cpo ,m
 a1m  a2 mTm  a3mTm2  a4 mTm3  a5mTm4 (22.4)
R

CONVERGE 2.4 Manual 719


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

H mo a a a a a
 a1m  2 m Tm  3m Tm2  4 m Tm3  5m Tm4  6m (22.5)
RTm 2 3 4 5 Tm

Smo a a a
 a1m ln Tm  a2 mTm  3m Tm2  4 m Tm3  5m Tm4  a7 m (22.6)
R 2 3 4

Note that the heat of formation is calculated by evaluating Equation 22.5 at 298.15 K.
Therefore, the sensible enthalpy, Hsm, is given by

 a2 m a a a a 
H mS Tm    a1m  Tm  3m Tm2  4 m Tm3  5m Tm4  6m  RTm  H mo 298.15 . (22.7)
 2 3 4 5 Tm 

The third row specifies the species name (h in this example), followed by a date (120186),
the atomic symbols and number of each atom type (h 1), the phase of the species (g for
gas), three temperatures (low, high, and common), and the integer 1. This integer is not
required by CONVERGE but is included to help distinguish the thermodynamic data for
different species. The three temperatures in this row are optional. If species-specific
temperatures are not listed in this row, the temperatures specified on row 2 of the
therm.dat file will be used for the species. The next three rows contain coefficient values for
the polynomial fits for the standard state molar heat capacity at constant pressure Cop,m,
the standard state molar enthalpy Hom, and the standard state molar entropy Som,
respectively, for the mth species.

The fourth row specifies the coefficients a1 through a5 for the upper temperature interval,
followed by the integer 2. The fifth row contains the coefficients a6 and a7 for the upper
temperature interval and a1, a2, and a3 for the lower temperature interval, followed by the
integer 3. The sixth row contains the coefficients a4 through a7 for the lower temperature
interval, followed by the integer 4. Repeat rows three through six for each species,
followed by an end statement.

NASA 9 Format

720 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

Figure 22.23 below shows an example of a NASA 9 therm.dat file. This format is specified
in McBride and Gordon, 1996.

THERMO NASA9
300.000 1000.000 5000.000 20000.000
O2
2 O 2.00 0.00 0.00 0.00 0.00 0 1.00000 0.000
300.000 1000.000 7 -2.0 -1.0 0.0 1.0 2.0 3.0 4.0 0.0 100.000
0.00000000E+00 0.00000000E+00 3.21293600e+00 1.12748600e-03 -5.75615000e-07
1.31387700e-09 -8.76855400e-13 0.00000000E+00 -1.00524900e+03 6.03473800e+00
1000.000 5000.000 7 -2.0 -1.0 0.0 1.0 2.0 3.0 4.0 0.0 100.000
0.00000000E+00 0.00000000E+00 3.69757800e+00 6.13519700e-04 -1.25884200e-07
1.77528100e-11 -1.13643500e-15 0.00000000E+00 -1.23393000e+03 3.18916600e+00
.
.
END
Figure 9.11: An excerpt of a NASA 9 thermodynamic data file. Note that the species names must NOT
be preceded by #.

The first row contains the keyword thermo nasa9. The second row specifies the
temperature ranges over which a polynomial is fit to the thermodynamic data. Each
adjacent pair of temperatures specify a range for which CONVERGE will accept data. Not
all species must have data for each range. (Note that the NASA 7 format has only three
temperatures on this line, so if CONVERGE reads a fourth temperature, it will expect the
NASA 9 format.) The next set of rows repeat for each species until the end of the file is
indicated by the keyword end.

The first row for each species specifies the species name (o2 in this example), followed by
optional information. The second line specifies the number of temperature ranges for
which data will be provided (in this example, two), the atomic symbols and number of
each atom type (o 2.00), and then an integer: 1 for a gas or 0 for a condensed phase. The
line ends with 0.000 or the heat of formation at 298.15 K in J/mol. The third row begins
with the first temperatures range and is followed by the number of coefficients for the
polynomial fits for the standard state molar heat capacity at constant pressure Cop,m, the
exponents for temperature in the empirical equation for Cop,m, the standard state molar
enthalpy Hom.

Equations 22.8 through 22.10 (from Gordon and McBride, 1994) specify how the standard
state molar heat capacity at constant pressure (Cop,m), standard state molar enthalpy (Hom),
and standard state molar entropy (Som), are calculated:

Cpo ,m
 a1mTm2  a2 mTm1  a3m  a4 mTm  a5mTm2  a6mTm3  a7 mTm4 (22.8)
R

CONVERGE 2.4 Manual 721


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

H mo a a a a b
  a1mTm2  a2 mTm1 ln(Tm )  a3m  4 m Tm  5m Tm2  6m Tm3  7 m Tm4  1m (22.9)
RTm 2 3 4 5 Tm

Smo a a a a
  1m Tm2  a2 mTm1  a3m ln(Tm )  a4 mTm  5m Tm2  6m Tm3  7 m Tm4  b2 m . (22.10)
R 2 2 3 4

The second row for each temperature range for each species specifies the coefficients a1
though a5 while the third row contains the coefficients a6 and a7. as well as the integration
constants b1 and b2, for the standard state molar heat capacity at constant pressure. The
last row can contain the integration constants for enthalpy and entropy (this information
is optional). The third, fourth and fifth rows are repeated for each temperature range, and
the entire block is repeated for each species.

CONVERGE also accepts coefficients for the general form of the equations for the NASA 9
format if you do not have composite species or if you do not intend to use the CEQ solver.
In the general form, Equations 22.8 through 22.10 become Equations 22.11 through 22.13:

Cpo ,m n 8
  ai ,mT
ci
(9.49)
R i1

n 8 T
H mo 1 b
   ai ,mT i dt  1m
c

RTm i1 T 0 Tm
where
T T (9.50)
1 a 1 a
T0 ai ,mTci dt  i ,m ln(T ) if ci  1 else  ai ,mTci dt  i ,m Tci
T T0 ci  1

T
Smo n8
   ai ,mT i dt  b2,m
c 1

R i1 0
where
T T (9.51)
a
 ai ,mT dt  ai ,m ln(T ) if ci  0 else  ai ,mT
ci  1 ci  1
dt  i ,m Tci
0 0
ci

722 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

22.3.13Thermodynamic Properties - tabular_therm.dat


Each of the gas-phase species in a CONVERGE simulation must have species-specific
thermodynamic data in therm.dat or tabular_therm.dat. If both therm.dat and
tabular_therm.dat are saved in the Case Directory and if both files contain thermodynamic
data for the same species, CONVERGE will use the data from tabular_therm.dat.

If you have a file that contains thermodynamic properties in tabular format, name this file
tabular_therm.dat and save it in the Case Directory. Figure 22.24 below shows an example
file, and the text below the figure explains the format of this file.

thermo_tabular @ T_ref = 298.15 K

# name phase t_low t_high t_common


<species> C7H16 G 300.000000 5000.000000 1391.000000
# elements
C 7 H 16
# temperature enthalpy csubp entropy
0.000000 -3.5291068e+06 1.0354070e+02 2.7878508e+03
10.000000 -3.5291068e+06 1.0354070e+02 2.7878508e+03
20.000000 -3.5291068e+06 1.0354070e+02 2.7878508e+03
30.000000 -3.5291068e+06 1.0354070e+02 2.7878508e+03
.
.
4890.000000 1.7783302e+07 5.2057476e+03 1.5029023e+04
4900.000000 1.7835364e+07 5.2064243e+03 1.5039659e+04
4910.000000 1.7887430e+07 5.2070986e+03 1.5050274e+04

# name phase t_low t_high t_common


<species> O2 G 300.000000 5000.000000 1000.000000
# elements
O 2
# temperature enthalpy csubp entropy
0.000000 -2.6120177e+05 8.3484247e+02 1.5680535e+03
10.000000 -2.5283873e+05 8.3775745e+02 3.4932715e+03
20.000000 -2.4444670e+05 8.4064459e+02 4.0748481e+03
.
.
end
Figure 22.24: An example tabular_therm.dat file.

As shown above in Figure 22.24, the first line of tabular_therm.dat contains the keyword
thermo_tabular and the reference temperature T_ref , which is the temperature (in K) at
which the sensible enthalpy equals 0. The next line that is read by CONVERGE must list
the keyword <species>, the chemical formula of the species, and the phase (G for gas). The
G can be capitalized or lower case. The three temperatures (t_low, t_high, and t_common),
which are described in the therm.dat section, are optional. If not included, CONVERGE
will use the default values of t_low = 300 K, t_high = 5000 K, and t_common = 1000 K. The
next line read by CONVERGE breaks down the species into its elemental components (e.g.,
for C7H16, there are 7 carbon atoms for every 16 hydrogen atoms).

CONVERGE 2.4 Manual 723


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Materials Input Files

The next lines include the species-specific thermodynamic data in ten-degree increments.
Each line lists a temperature and the corresponding enthalpy (in J/kg), specific heat at
constant pressure (J/(kg K)), and entropy (J/(kg K)) values. This list does not have to start at
0 K (e.g., the list could start at 20 K instead).

Thermodynamic data for subsequent species are formatted in a similar manner starting
with the keyword <species>.
22.3.14Lower Heating Value - lhv.in
If lhv_f lag = 0 in inputs.in, CONVERGE calculates the lower heating value (LHV) from
species data in the thermodynamic data file. If lhv_f lag = 1, CONVERGE will read user-
specified LHVs for individual species from lhv.in.

Table 22.18 below describes the format of lhv.in, and Figure 22.25 shows a sample lhv.in
file.

Table 22.18: Parameters in lhv.in.


Parameter Description

lhv Lower heating value (J/ kg).

lhv_num_species Number of species for which the LHV above applies.

Species name(s) and mass Species name(s) of the species to which the LHV applies. The species
fraction(s) must be included in the reaction mechanism file. There must be
lhv_num_species species names (and each species should be listed on its
own line).

4.351879e7 lhv
2 lhv_num_species
c7h16 0.5
ic8h18 0.5

5e7 lhv
1 lhv_num_species
ch4 1.0
Figure 22.25: An example lhv.in file.

CONVERGE will write the values used for LHV corrector calculations to lhv_inf o.out.

22.4 General Simulation Input Files


This section describes the surface geometry file, the main input file (inputs.in), the solver.in
file, and some other general input files.

724 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

22.4.1 Surface Geometry File


CONVERGE needs the surface geometry information to be contained in a *.dat file (e.g.,
surf ace.dat). CONVERGE Studio generates this file when you export the simulation-ready
geometry. Table 22.19 describes the required format of the surface geometry file. Chapter 3
- Pre-Processing and Post-Processing contains more information about the surface
geometry.

Table 22.19: Surface geometry file format.


Row Number Information Description
Provided
Row 1 numverts_tot numverts_tot: maximum vertex
numverts identification number.
numtriangles numverts: number of vertices defined below.
numtriangles: number of surface triangles.
Row 2 to vert_id vx vy vz Unique vertex identification number
Row (1+numverts) followed by the x, y, and z coordinates of
the vertex.
Row (2+numverts) to vert1 vert2 vert3 Identifiers of the vertices making up the
Row (1+numverts+numtriangles) bound_id corners of the surface triangle and the
boundary ID corresponding to the surface
triangle.

22.4.2 Inputs File - inputs.in


The inputs.in file, which is required for all simulations, includes parameters that activate
models and features, control the grid, and set up output-related options. Some parameters
can be either a fixed value or a temporally varying quantity. Table 22.20 below describes
the parameters in inputs.in. Figure 22.26 contains an example inputs.in file.

Table 22.20: Parameters in inputs.in.


Parameter Description Recommended Value

surf ace_f ilename The name of the surface data file, e.g., N/A
surf ace.dat.

mechanism_f ilename The name of the chemical mechanism file, e.g., N/A
mech.dat.

thermodynamic_f ilename The name of the file that contains gas phase
species-specific thermodynamic data, e.g.,
therm.dat.

crank_f lag 0 = Time-based simulation (seconds), N/A


1 = Crank angle degree-based simulation for
engine applications (requires engine.in).

CONVERGE 2.4 Manual 725


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value

2 = Crank angle degree-based simulation for


non-engine applications (requires rpm.in).

start_time Simulation start time (seconds or crank angle N/A


degrees).

end_time Simulation end time (seconds or crank angle N/A


degrees).
If gti_f lag in boundary.in is non-zero, you can
use the keyword GT to set the CONVERGE
end time to that of GT-SUITE.

restart_f lag 0 = Do not start from a restart file, N/A


1 = Start from a restart file (restart.rst, or the
highest-numbered restart****.rst file if restart.rst
does not exist).

restart_number Number that is appended to the names of the N/A


.out files to prevent overwriting the existing
*.out files (e.g., CONVERGE will write
thermo2.out instead of thermo.out).

map_f lag 0 = No mapping, N/A


1 = CONVERGE will initialize the simulation
via mapping (map.in and a map data file are
required),
2 = CONVERGE will initialize the simulation
via restart mapping (restart file required).
3 = CONVERGE will initialize the simulation
via restart mapping after transforming the
data as specified via map.in (map.in and a
restart file are required).
Note that restart_f lag = 1 will override the
mapping options.

check_grid_motion_f lag 0 = Solve the spray, combustion, and transport 0


equations,
1 =Do not solve the spray, combustion, and
transport equations. Set to check surface
motion and grid creation.

parallel_scale Number of levels to coarsen the parallel grid -2


from the base grid (e.g., -2 means the parallel
blocks will be two levels coarser than the base
grid). This parameter must be a non-positive
number. If 0, CONVERGE will automatically
change it to -1 at the beginning of the
simulation. Note that the definition of this

726 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value

parameter has changed from previous


versions of CONVERGE.

load_cyc The maximum number of cycles between 100


parallel load balances.

reread_input 0 = Do not reread parameters at each time- 1


step,
1 = Reread some parameters at each-time step.

random_seed Seed for random number generator. Used for N/A


sprays. Must be a non-negative integer.
#grid

dx_base Base grid size along the x axis (meters). N/A

dy_base Base grid size along the y axis (meters). N/A

dz_base Base grid size along the z axis (meters). N/A

grid_scale Grid scaling factor applied to the dx, dy, and Typical range: -3 to 3.
dz base grid sizes.
scaled dx grid = dx_base/2grid_scale
scaled dy grid = dy_base/2grid_scale
scaled dz grid = dz_base/2grid_scale
A negative number will coarsen the grid,
while a positive number will refine the grid.
This parameter must be an integer or a file
name (e.g., gridscale.in).

amr_f lag 0 = No Automatic Mesh Refinement (AMR), N/A


1 = Enable AMR. Requires amr.in.

embedded_f lag 0 = No fixed embedding, N/A


1 = Enable fixed embedding (requires
embedded.in).

events_f lag 0 = No OPEN/CLOSE events, N/A


1 = Enable OPEN/CLOSE events (requires
events.in).

seal_tol Sealing tolerance (m). 0.0005

#output control

screen_print_level The detail level of the screen output. Must be 0


an integer between 0 and 3. Enter a higher
value for more detail.

twrite_post Time interval (in seconds if crank_f lag = 0 or in N/A


crank angle degrees if crank_f lag = 1 or 2) for
writing post*.out files. Specify a file name (e.g.,

CONVERGE 2.4 Manual 727


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value

twrite_post.in) to temporally vary this


parameter.

twrite_transf er Time interval (in seconds if crank_f lag = 0 or in N/A


crank angle degrees if crank_f lag = 1 or 2) for
writing heat transfer output. Specify a file
name (e.g., twrite_trasnf er.in) to temporally vary
this parameter.

twrite_f iles Time interval (in seconds if crank_f lag = 0 or in N/A


crank angle degrees if crank_f lag = 1 or 2) for
writing *.out files. Specify a file name (e.g.,
twrite_f iles.in) to temporally vary this
parameter.

twrite_restart Time interval (in seconds if crank_f lag = 0 or in N/A


crank angle degrees if crank_f lag = 1 or 2) for
writing restart<restart number>.rst files. Specify
a file name (e.g., twrite_restart.in) to temporally
vary this parameter. If you specify a file name,
you will also have the option to specify
specific times at which to write and save
additional restart files (restart_<simulation time
or CAD>.rst).

num_restart_f iles Maximum number of restart files N/A


(restart<restart number>.rst) to be stored. When
this number of restart files is saved to the Case
Directory, CONVERGE will remove the
lowest-numbered restart file before writing a
new one. This number does not include
restart_<simulation time or CAD>.rst files,
which are written at specified simulation
times.

write_map_f lag 0 = Do not write map_<time>.out or N/A


spray_map_<time>.out during the simulation,
1 = Write map_<time>.out (and
spray_map_<time>.out, if spray_f lag = 1) at
specified times during the simulation
(requires write_map.in).

wall_output_f lag 0 = Do not write wall output, N/A


1 = Write wall output (stress, force, and
pressure on wall boundaries) to
wall_stress<outputnumber>_<output time>.out
and average near-wall quantities and heat
transfer data to bound<ID>-wall.out.

728 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value

Alternatively, specify a file name in quotation


marks (e.g., "wall_output.in") to direct
CONVERGE to write wall output for specific
boundaries.

transf er_f lag 0 = Do not write finite element analysis (FEA) N/A
heat transfer output,
1 = Write FEA heat transfer output to
transf er.out.
Specify a file name (e.g., transf er.in) to write
FEA heat transfer output for specific
boundaries.

mixing_output_f lag 0 = Do not write mixing output, N/A


1 = Write mixing output to mixing.out.

species_output_f lag 0 = Do not write species mass information; N/A


1 = Write total mass for all species to
species_mass.out,
2 = Write total mass and mass fractions for all
species to species_mass.out and
species_mass_f rac.out, respectively;
3 = Write total mass, mass fractions, and
standard deviations of mass fractions for all
species to species_mass.out,
species_mass_f rac.out, and
species_std_masf rac.out, respectively;
4 = Write total mass, mass fractions, standard
deviations of mass fractions, and mole
fractions for all species to species_mass.out,
species_mass_f rac.out, species_std_masf rac.out,
and species_mole_f rac.out, respectively.

To control the type of output for individual


species, specify species_output.in instead of an
integer for this parameter.

region_f low_f lag 0 = Do not write inter-region flow output, N/A


1 = Write regions_f low.out (data between
adjacent regions) for all inter-region
connections,
2 = Write regions_f low.out for the region pairs
listed in regions_f low.in.

If 1 or 2 and if there is only one region,


CONVERGE writes flow data between
adjacent boundaries.

CONVERGE 2.4 Manual 729


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value

dynamic_f lag 0 = CONVERGE assumes all cylinders are N/A


aligned with the z axis (i.e., if cylinders are not
aligned with the z axis, the swirl, tumble, and
angular momentum flux data in dynamic.out
will be incorrect),
1 = CONVERGE uses the information in
dynamic.in to calculate swirl, tumble, and
angular momentum flux for all cylinders.
Requires dynamic.in.

mpi_write_f lag 0 = CONVERGE uses a serial write function to 1 for Linux, 0 for
write the output files, Windows
1 = CONVERGE uses a parallel write function
to write the output files.

The parallel write function, which is faster


than the serial option, is available only if your
file system supports MPI I/O. Do not set
mpi_write_f lag = 1 if your file system does not
support parallel I/O.

monitor_points_f lag 0 = No monitor points via monitor_points.in,


1 = Monitor points enabled (requires
monitor_points.in).
#output control

time_f lag 0 = Constant time-step, 1


1 = Variable time-step.

dt_start Initial time-step size (always in seconds, even N/A


when crank_f lag = 1 or 2). Used only when
time_f lag = 1.

dt_max Maximum time-step size (always in seconds, N/A


even when crank_f lag = 1 or 2). Specify a file
name (e.g., dt_max.in) for a temporally varying
maximum time-step size. Used only when
time_f lag = 1.

dt_min Minimum time-step size (always in seconds, N/A


even when crank_f lag = 1 or 2). Specify a file
name (e.g., dt_min.in) for a temporally varying
minimum time-step size. Used only when
time_f lag = 1.

dt_f ixed Time-step size (always in seconds, even when N/A


crank_f lag = 1 or 2). Used only when time_f lag
= 0.

730 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value

mult_dt_spray Time-step limiter based on spray penetration. 0.1 - 1.5


This parameter limits the number of cells a
spray drop can travel in a single time-step. For
example, mult_dt_spray = 1.5 means a spray
drop can travel through a maximum of 1.5
cells in a single time-step. Used only when
time_f lag = 1.

mult_dt_evap Time-step limiter based on evaporation. 9999.0


Stability in the code has been improved,
eliminating the need for evaporation time-step
control. The recommended value essentially
disables this parameter. Used only when
time_f lag = 1.

mult_dt_chem Time-step limiter based on cell temperature. 0.1 - 1.0


This parameter limits the temperature rise of a
cell after combustion has occurred in the
present time-step. For example, mult_dt_chem
= 0.5 will limit the temperature rise to 50% of
the cell temperature in a single time-step. Used
only when time_f lag = 1.

mult_dt_coll_mesh Collision mesh multiplier used in calculating 0.1 - 1.0


the next time-step.

mult_dt_move Time-step limiter based on surface motion. 1.0


This multiplicative parameter prevents a
moving surface from moving too far through a
cell. For example, mult_dt_move = 1.0 will limit
surface motion to 1.0*30% = 30% of the
limiting cell's length in a single time-step.
Used only when time_f lag = 1.

max_cf l_u Maximum convective CFL number (cf lu) 0.5 - 3.0. (0.03 - 0.10 for a
allowed by CONVERGE. Specify a file name VOF case).
(e.g., max_cf l_u.in) to vary this parameter
temporally and/or on a region-by-region
basis. Used only when time_f lag = 1.

max_cf l_nu Maximum diffusive CFL number (cf lv ) allowed 0.5 - 2.5
by CONVERGE. Specify a file name (e.g.,
max_cf l_nu.in) to vary this parameter
temporally and/or on a region-by-region
basis. Used only when time_f lag = 1.

max_cf l_mach Maximum Mach CFL number (cf lmach ) allowed 0.5 - 100.0
by CONVERGE. Specify a file name (e.g.,
max_cf l_mach.in) to vary this parameter

CONVERGE 2.4 Manual 731


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value

temporally and/or on a region-by-region


basis. Used only when time_f lag = 1.
#solver flags

momentum_solver_f lag 0 = Do not solve momentum equation, N/A


1 = Solve momentum equation.

energy_solver_f lag 0 = Do not solve energy equation, N/A


1 = Solve energy equation,
2 = Solve total energy equation.

species_solver_f lag 0 = Do not solve species equation, N/A


1 = Solve species equation.

turbulence_solver_f lag 0 = No turbulence modeling, N/A


1 = Include turbulence modeling. Requires
turbulence.in.

steady_solver_f lag 0 = Transient solver, N/A


1 = Steady-state solver.

monitor_steady_state_f lag 0 = Do not activate the steady-state monitor, N/A


1 = Activate the steady-state monitor (requires
monitor_steady_state.in).
#properties

gas_compressible_f lag 0 = Incompressible gas flow, N/A


1 = Compressible gas flow.

liquid_compressible_f lag 0 = Incompressible liquid flow, N/A


1 = Compressible liquid flow.

lhv_f lag 0 = CONVERGE calculates LHV from species


data in therm.dat,
1 = Manually specify LHV (requires lhv.in).

tabular_f luid_prop_f lag 0 = CONVERGE calculates fluid properties


via the equation of state,
1 = CONVERGE reads fluid properties from
f luid_properties.dat.

eos_f lag 0 = Ideal gas law, N/A


1 = Redlich-Kwong,
2 = Redlich-Kwong Soave,
3 = Peng-Robinson.
Not used when tabular_f luid_prop_f lag = 1.

732 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value

real_gas_prop_f lag 0 = Thermodynamic quantities are functions N/A


of temperature,
1 = Thermodynamic quantities are functions
of temperature and pressure.
Used only when eos_f lag is non-zero.

max_reduced_pres The maximum reduced pressure for the 6.0 is a typical value in
departure function tables (used only when an engine simulation
real_gas_prop_f lag = 1).

crit_temp Critical temperature (K) for real gas equations 133K for air
of state. Used only when eos_f lag is non-zero.
For a simulation with multiple gas species,
specify a file name (e.g., crit_cond.dat) to
include species-specific critical temperatures.

crit_pres Critical pressure (Pa) for real gas equations of 3.77e06 Pa for air
state. Used only when eos_f lag is non-zero. For
a simulation with multiple gas species,
specify a file name (e.g., crit_cond.dat) to
include species-specific critical pressures.

acentric_f actor Acentric factor. For a simulation with multiple N/A


gas species, specify a file name (e.g.,
crit_cond.dat) to include species-specific
acentric factors. Used only when eos_f lag = 2
or 3.

species_dif f usion_model 0 = Diffusion calculation is independent of 0


species,
1 = CONVERGE calculates mixture-averaged
diffusion coefficients (requires transport.dat).

prandtl_turb Turbulent Prandtl number. Specify a file 0.5 - 1.0


name (e.g., prandtl_turb.in) in quotation marks
to set up region-specific and/or temporally
varying values.

schmidt_turb If turbulence_solver_f lag = 0, molecular Schmidt 0.5 - 1.0


number.
If turbulence_solver_f lag = 1, turbulent Schmidt
number.

Specify a file name (e.g., schmidt_turb.in) in


quotation marks to set up region-specific
and/or temporally varying Schmidt number
values. The file name option is available only
when turbulence_solver_f lag = 1.

CONVERGE 2.4 Manual 733


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value

min_temp Minimum temperature (K) allowed during a 10.0 K or greater


simulation.

max_temp Maximum temperature (K) allowed during a Up to 100,000 K


simulation.

max_visc Maximum turbulence viscosity (N-s/ m2) 10.0


allowed during a simulation.

gravity_x Gravitational acceleration (m/ s2) in the x N/A


direction.

gravity_y Gravitational acceleration (m/ s2) in the y N/A


direction.

gravity_z Gravitational acceleration (m/ s2) in the z N/A


direction.
#features flags

spray_f lag 0 = No Lagrangian spray modeling, N/A


1 = Lagrangian spray modeling enabled
(requires spray.in). If combined with vof _f lag =
1, ELSA model enabled (requires elsa.in).

combustion_f lag 0 = No combustion, N/A


1 = Combustion modeling enabled (requires
combust.in).

surf ace_chemistry_f lag 0 = No surface chemistry, N/A


1 = Surface chemistry enabled (requires
surf ace_chemistry.in).

surf ace_mechanism_f ilename The name of the surface chemical mechanism N/A
file.

surf ace_thermodynamic_f ilena The name of the surface thermodynamic N/A


me properties file.

source_f lag 0 = No source modeling, N/A


1 = Source modeling enabled (requires
source.in).

composite_f lag 0 = No composite species, N/A


1 = Composite species modeling enabled
(requires composite.in).

wallvalue_f lag 0 = No user-defined wall boundary N/A


quantities,
1 = User-defined wall boundary quantities
(requires wall_value.in).

734 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value

udf _f lag 0 = No user-defined functions (UDFs), N/A


1 = Enable UDFs (requires udf .in).

cht_supercycle_f lag 0 = No supercycling in conjugate heat transfer N/A


calculations,
1 = Enable supercycling in conjugate heat
transfer calculations (requires supercycle.in).

vof _f lag 0 = No volume of fluid calculations for N/A


cavitation,
1 = Volume of fluid calculations enabled
(requires vof .in). If combined with spray_f lag =
1, ELSA model enabled (requires elsa.in).

f si_f lag 0 = No fluid-structure interaction, N/A


1 = Fluid-structure interaction enabled
(requires f si.in).

radiation_f lag 0 = No radiation, N/A


1 = Radiation modeling enabled (requires
radiation.in).

nucleate_boiling_f lag 0 = No nucleate boiling, N/A


1= Enable nucleate boiling model (requires
nucleate_boiling.in).

skip_species_f lag 0 = CONVERGE will not remove species N/A


during chemistry computations,
1 = CONVERGE will reduce the number of
species for chemistry computations (requires
skip_species.in).

mrf _f lag 0 = No multiple reference frame approach,


1 = Multiple reference frame approach (mrf .in
required).
#genetic algorithm inputs

ga_f lag 0 = This simulation is not part of a genetic N/A


algorithm or design of experiments,
1 = This simulation is part of a CONGO
genetic algorithm (GA) or design of
experiments (DoE).

ga_individual For GA or DoE cases, in the CONVERGE Seed N/A


Case Directory, set to GA_INDIVIDUAL.
CONGO will automatically set this value in
the individual run directories for a CONGO
case.

ga_generation For GA or DoE cases, in the CONVERGE Seed N/A


Case Directory, set to GA_GENERATION.

CONVERGE 2.4 Manual 735


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value

CONGO will automatically set this value in


the individual run directories for a CONGO
case.

736 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

#!csi_version=2.4
#=======================

"surface.dat" surface_filename
"mech.dat" mechanism_filename
"therm.dat" thermodynamic_filename
0 crank_flag
0.0 start_time
0.002 end_time
0 restart_flag
1 restart_number
0 map_flag
0 check_grid_motion_flag
-2 parallel_scale
100 load_cyc
1 reread_input
0 random_seed

# grid
4e-05 dx_base
4e-05 dy_base
4e-05 dz_base
0 grid_scale
1 amr_flag
1 embedded_flag
0 events_flag
0.001 seal_tol

# output control
2 screen_print_level
5e-05 twrite_post
10.0 twrite_transfer
1e-10 twrite_files
1e-05 twrite_restart
5 num_restart_files
0 write_map_flag
0 wall_output_flag
0 transfer_flag
0 mixing_output_flag
1 species_output_flag
0 region_flow_flag
0 dynamic_flag
1 mpi_write_flag
0 monitor_points_flag

# timestep control
1 time_flag
1e-07 dt_start
0.01 dt_max
1e-10 dt_min
1e-08 dt_fixed
1.5 mult_dt_spray
9999.0 mult_dt_evap
0.5 mult_dt_chem
1.0 mult_dt_coll_mesh
0.5 mult_dt_move
0.5 max_cfl_u
5.0 max_cfl_nu
50.0 max_cfl_mach

CONVERGE 2.4 Manual 737


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

# solver flags
1 momentum_solver_flag
1 energy_solver_flag
1 species_solver_flag
1 turbulence_solver_flag
0 steady_solver_flag
100 min_cycles_steady
0 monitor_steady_state_flag

# properties
1 gas_compressible_flag
0 liquid_compressible_flag
0 lhv_flag
0 tabular_fluid_prop_flag
0 eos_flag
0 real_gas_prop_flag
6.0 max_reduced_pres
100.0 crit_temp
3000000.0 crit_pres
0.035 acentric_factor
0 species_diffusion_model
0.74075 prandtl_turb
0.71429 schmidt_turb
10.0 min_temp
5000.0 max_temp
10.0 max_visc
0.0 gravity_x
0.0 gravity_y
0.0 gravity_z

# features flag
0 spray_flag
0 combustion_flag
0 surface_chemistry_flag
"surface_mech.dat" surface_mechanism_filename
"surface_therm.dat" surface_thermodynamic_filename
0 source_flag
0 composite_flag
0 wallvalue_flag
0 udf_flag
0 cht_supercycle_flag
1 vof_flag
0 fsi_flag
0 radiation_flag
0 nucleate_boiling_flag
0 skip_species_flag
0 mrf_flag

# Genetic algorithm inputs


0 ga_flag
0 ga_individual
0 ga_generation

Figure 22.26: An example inputs.in file.

738 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Reread Inputs
When reread_input = 1 in inputs.in, CONVERGE reads certain parameters at each time-
step. If a parameter has changed from the previous time-step, CONVERGE will update the
value of that parameter and write a message to the log file. It is important to change values
carefully, as CONVERGE does not do any error checking of the new value (i.e.,
CONVERGE assumes that the new value is valid).

If reread_input = 1 and a file is removed from the Case Directory while the simulation is in
progress, CONVERGE will simply ignore the parameters that would be reread from that
file.

The following table lists the parameters that can be changed when reread_input = 1.

Table 22.21: Parameters that can be changed when reread_input = 1.


inputs.in

end_time load_cyc screen_print_level

twrite_post twrite_transf er twrite_f iles

twrite_restart num_restart_f iles dt

dt_max+ dt_min+ mult_dt_spray

mult_dt_evap mult_dt_chem mult_dt_coll_mesh

max_cf l_u+ max_cf l_nu+ max_cf l_mach +

prandtl_turb schmidt_turb+ min_temp

max_temp max_visc gravity_x

gravity_y gravity_z

solver.in

tol_scale+ piso_itmin+ piso_itmax+

piso_tol+ monotone_tolerance+ upwind_all_dir_f lag +

impl+ conserve+ strict_conserve_f lag +

rc_f lag + omega_presrat+ omega_p_steady +

mom_* + pres_* + density_* +

energy_* + species_* + passive_* +

tke_* + eos_* + omega_* +

rad_* +

amr.in

CONVERGE 2.4 Manual 739


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

inputs.in

amr_cycle_steady + amr_max_cells+ amr_min_cells+

turbulence.in

turb_stat_start_time turb_stat_end_time turb_stat_vol


+If you initially specify a numerical value, you can change to another numerical value but
not to a file name. If you initially specify a file name, you cannot change to a different file
name or to a numerical value.
*CONVERGE will reread and update all parameters that begin with the given prefix (e.g.,
"mom_*" indicates that CONVERGE will reread mom_solver_type, mom_tol, etc.).
Schmidt Number - schmidt_turb.in
To set up region-by-region and/or temporally varying turbulent Schmidt number values,
specify a file name (e.g., schmidt_turb.in) in quotation marks for schmidt_turb in inputs.in
and include that file in the Case Directory. Note that turbulence modeling must be active
(i.e., turbulence_solver_f lag = 1 in inputs.in) to invoke region-by-region and/or temporally
varying Schmidt number values. The region-by-region option is available only when the
SAGE detailed chemistry solver is active (i.e., sage_f lag is non-zero in combust.in).

Figure 22.27 shows an example schmidt_turb.in file.

Use the first row of the file to specify a temporally varying type (TEMPORAL). The next
row specifies the temporal type (SEQUENTIAL or CYCLIC). If you specify CYCLIC, you
must also include the cyclic period (in seconds, if crank_f lag = 0 or in CAD, if crank_f lag = 1
or 2). The data in the CYCLIC input file will cycle according to the period you provide.
The third row contains the headings for the two columns of data. The first heading must
be second (if crank_f lag = 0) or crank (if crank_f lag = 1 or 2). The heading of the second
column must be schmidt_turb to indicate that the turbulent Schmidt number varies.

As shown in the example below, the turbulent Schmidt number specified below the
headings row (crank in this example) applies to all regions that are not specifically listed
under the num_regions and region_id keywords. After listing these default values for all of
the other regions, list the region-specific turbulent Schmidt number under rows containing
the keywords num_regions and region_id and values for these keywords as show in the
example below. After the default temporally turbulent Schmidt numbers, this example has
two other sets of temporally varying turbulent Schmidt numbers: one set for regions 1 and
2 and one set for regions 3, 4, and 5. Your file can contain as many data sets for different
regions as needed.

740 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

#!csi_version=2.4
#=======================

TEMPORAL
CYCLIC 720
crank schmidt_turb
0.0 0.9
720 0.9

2 num_regions
1 region_id
2 region_id
0.0 0.78
720 0.78

3 num_regions
3 region_id
4 region_id
5 region_id
0.0 0.3
720 0.3
Figure 22.27: An example schmidt_turb.in file.

Prandtl Number - prandtl_turb.in


To set up region-by-region and/or temporally varying turbulent Prandtl number values,
specify a file name (e.g., prandtl_turb.in) in quotation marks for prandtl_turb in inputs.in
and include that file in the Case Directory.

Figure 22.28 shows an example file.

Use the first row of the file to specify a temporally varying type (TEMPORAL). The next
row specifies the temporal type (SEQUENTIAL or CYCLIC). If you specify CYCLIC, you
must also include the cyclic period (in seconds, if crank_f lag = 0 or in CAD, if crank_f lag = 1
or 2). The data in the CYCLIC input file will cycle according to the period you provide. The
third row contains the headings for the two columns of data. The first heading must be
second (if crank_f lag = 0) or crank (if crank_f lag = 1 or 2). The heading of the second column
must be prandtl_turb to indicate that the turbulent Prandtl number varies.

As shown in the example below, the turbulent Prandtl number specified below the
headings row (crank in this example) applies to all regions that are not specifically listed
under the num_regions and region_id keywords. After listing these default values for all of
the other regions, list the region-specific turbulent Prandtl number under rows containing
the keywords num_regions and region_id and values for these keywords as show in the
example below. After the default temporally turbulent Prandtl numbers, this example has
three other sets of temporally varying turbulent Prandtl numbers: one set for region 1, one
set for region 2, and one set for regions 3 and 4. Your file can contain as many data sets for
different regions as needed.

CONVERGE 2.4 Manual 741


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

#!csi_version=2.4
#=======================

TEMPORAL
CYCLIC 720
crank prandtl_turb
0.0 0.9
720 0.9

1 num_regions
1 region_id
0.0 0.2
720 0.2

1 num_regions
2 region_id
0.0 0.78
720 0.78

2 num_regions
3 region_id
4 region_id
0.0 0.3
720 0.3
Figure 22.28: An example prandtl_turb.in file.

Wall Output - wall_output.in


To control for which boundaries CONVERGE writes wall output and/or wall stress data,
specify a file name in quotation marks (e.g., "wall_output.in") for wall_output_f lag in
inputs.in and include that file in the Case Directory. To control condensed power and
torque wall output, specify rotation objects below the keyword
WRITE_WALL_POWER_TORQUE. First, enter the number of rotation objects followed by
num_rotation_objects. For each rotation object, list the number of boundaries that compose
the object followed by num_bounds. List the boundary ID followed by boundary_id for each
boundary in the rotation object. CONVERGE writes the sum of the power and torque
values on the boundaries that compose each rotation object.

Figure 22.29 shows an example file. In this example, CONVERGE will write boundary
information for boundaries 1, 3, and 5; stress information for boundaries 4 and 6; both
boundary and stress information for boundaries 2 and 10; and power and torque only for
a rotation object composed of boundaries 7 and 8 and a rotation object composed of
boundary 9.

742 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

#!csi_version=2.4
#=======================

WRITE_WALL_BOUNDARY
#boundary_id
1
3
5
WRITE_WALL_STRESS
#boundary_id
4
6
WRITE_WALL_ALL
#boundary_id
2
10

WRITE_WALL_POWER_TORQUE
2 num_rotation_objects
#object_1
2 num_bounds
7 boundary_id
8 boundary_id
#object_2
1 num_bounds
9 boundary_id
Figure 22.29: An example wall_output.in file.

22.4.3 Region-Dependent CFL Number


You can have a simulation with temporally varying maximum CFL numbers that vary on
a region-by-region basis. For example, in regions with high velocity, the time-step
calculated based on the maximum CFL number may be very small, resulting in
significantly longer runtimes. If the flow in one region is less important than the flow in
another, you can increase the maximum CFL number for the less-important region to
reduce runtimes.

In the example shown in Figure 22.30 below, there are three groups of regions. Each group
has different maximum CFL numbers.

Use the first row of the file to specify a temporally varying boundary condition
(TEMPORAL). The next row specifies the type of temporally varying boundary condition
(SEQUENTIAL or CYCLIC). If you specify CYCLIC, you must also include the cyclic period
(in seconds, if crank_f lag = 0 or in CAD, if crank_f lag = 1 or 2). The data in the CYCLIC
input file will cycle according to the period you provide. The third row contains the
headings for the two columns of data. The first heading must be second (if crank_f lag = 0)
or crank (if crank_f lag = 1 or 2). The heading of the second column must be the parameter
associated with the CFL number. Note that all three of the CFL parameters (max_cf l_u,
max_cf l_nu, and max_cf l_mach) can be specified in a region-dependent manner.

CONVERGE 2.4 Manual 743


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

As shown in the example below, you must specify the maximum CFL numbers for all of
the regions that are not specifically listed under the num_regions and region_id keywords.
After listing these default values for all of the other regions, list the region-specific
maximum CFL numbers under rows containing the keywords num_regions and region_id
and values for these keywords as show in the example below. After the default temporally
varying maximum CFL numbers, this example has two other sets of temporally varying
maximum CFL numbers: one set for regions 2 and 5 and one set for regions 8 and 11. Your
file can contain as many data sets for different regions as needed.

TEMPORAL
CYCLIC 720
crank MAX_CFL_U
### For regions 0, 1, 3, 4, 6, 7, 9, and 10###
-20  1.1
50  1.3
350  1.7
700  1.1

### For regions 2 and 5###


2 num_regions
2 region_id
5 region_id
-20  2.0
50  2.2
100  2.8
700  2.0

### For regions 8 and 11###


2 num_regions
8 region_id
11 region_id
-10  1.8
30  1.5
150  1.3
520  1.8
Figure 22.30: An example max_cf l_u.in file with region-by-region temporally varying maximum CFL
numbers. The ### rows are comments for clarification purposes only and are not read by
CONVERGE.

22.4.4 Solver Parameters - solver.in


The solver.in file contains parameters to control the numerical schemes and convergence
criteria for each governing equation in the simulation. Table 22.22 below describes the
parameters in solver.in and includes the recommended values for a transient, compressible
gas case. Figure 22.31 shows an example solver.in file.

For each equation (e.g., the momentum transport equation denoted by the prefix mom),
you choose the solver type (either SOR or BiCGSTAB), the convergence tolerance, a
minimum and maximum number of iterations for CONVERGE to perform, and an under-
relaxation factor and a preconditioner to apply to the equation. You can also specify

744 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

parameters to control the flux schemes and flux limiters for the various governing
equations.

We recommend setting up the solver.in parameters in CONVERGE Studio (Case Setup >
Simulation Parameters > Solver parameters), which can provide recommended parameters
for a wide variety of cases.

Table 22.22: Parameters in solver.in.


Parameter Description Recommended Value
for a Transient,
Compressible Gas Case

tol_scale Multiplication factor for the PISO algorithm. 20


This parameter must be at least 2.

piso_itmin Minimum number of iterations for the PISO 2


algorithm.

piso_itmax Maximum number of iterations for the PISO 9


algorithm.

piso_tol Convergence criterion for the PISO algorithm. 1e-3

f lux_scheme_mom Choose a flux scheme for the momentum 0


equation.
0 = Lower-order scheme,
1 = MUSCL scheme,
2 = MUSCL scheme with a gradient limiter.

f v_upwind_f actor_mom Upwinding used in the momentum finite 0.5


volume solver (0.5 is central, 1.0 is first-order
upwind).

muscl_blend_f actor_mom Blending factor used for the MUSCL scheme 1.0
(1.0 is completely reconstructed central
difference, 0.0 is completely second-order
upwind). This factor applies to the momentum
equation.

f lux_limiter_mom Flux limiter to apply to the momentum step


equation. Refer to the Flux Limiters section to
see all available options.

f lux_scheme_global Choose a flux scheme for all transport 0


equations except momentum and turbulence.
0 = Lower-order scheme,
1 = MUSCL scheme,
2 = MUSCL scheme with a gradient limiter.

f v_upwind_f actor_global Upwinding used in the finite volume solver (0.5 0.5
is central, 1.0 is first-order upwind). This value

CONVERGE 2.4 Manual 745


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value


for a Transient,
Compressible Gas Case
is used for all transport equations except
momentum and turbulence.

muscl_blend_f actor_global Blending factor used for the MUSCL scheme 1.0
(1.0 is completely reconstructed central
difference, 0.0 is completely second-order
upwind). This factor applies to all transport
equations except momentum and turbulence.

f lux_limiter_global Flux limiter to apply to all transport equations step


except momentum and turbulence. Refer to the
Flux Limiters section to see all available
options.

f lux_scheme_turb Choose a flux scheme for the turbulence 0


equations.
0 = Lower-order scheme,
1 = MUSCL scheme,
2 = MUSCL scheme with a gradient limiter.

f v_upwind_f actor_turb Upwinding used in the turbulence finite 1.0


volume solver (0.5 is central, 1.0 is first-order
upwind).

muscl_blend_f actor_turb Blending factor used for the MUSCL scheme 1.0
(1.0 is completely reconstructed central
difference, 0.0 is completely second-order
upwind). This factor applies to the turbulence
equations.

f lux_limiter_turb Flux limiter to apply to the turbulence step


equations. Refer to the Flux Limiters section to
see all available options.

monotone_tolerance Tolerance for the step flux limiter above which 1e-5
CONVERGE switches to a lower-order spatial
discretization to preserve stability.

upwind_all_dir_f lag 0 = Switch to lower-order spatial discretization 0


only for the direction (e.g., x, y, or z) in which
non-monotonicity is detected.
1 = Switch to lower-order spatial discretization
for all directions (e.g., x, y, and z) when non-
monotonicity is detected in just one direction
(e.g., x).

impl Fraction of implicitness used in solving the 1.0


governing equations.

746 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value


for a Transient,
Compressible Gas Case

conserve Fraction of momentum that CONVERGE will 1.0


solve in conservative form. See Chapter 4 -
Governing Equations for more information.

strict_conserve_f lag 0 = No strict conservation (no Jacobi iteration), 1 if max_cf l_u > 2.5, 2 if
1 = Strict conservation (Jacobi iteration) for sie, max_cf l_u ≤ 2.5.
enthalpy, density, scalars, and species,
2 = 1 + Strict conservation (Jacobi iteration) for
passives.

Note that strict_conserve_f lag = 1 in


CONVERGE 2.3 is equivalent to a value of 2 in
CONVERGE 2.4.

A value of 2 is not allowed if steady_solver = 1.

rc_f lag 0 = No Rhie-Chow, 1


1 = CONVERGE will use the Rhie-Chow
scheme.

omega_presrat Under-relaxation factor for density (pressure 0.7


ratio)
in PISO algorithm. Under-relax if density
gradients
are large. You can use a file (e.g.,
omega_presrat.in)
for temporally varying under-relaxation values.

mom_solver_type Specify the type of solver for momentum. 0


0 = SOR,
1 = BiCGSTAB (not available when
steady_solver = 1 in inputs.in).

mom_tol Convergence criterion for momentum. 1e-5

mom_itmin Minimum number of iterations for momentum. 0

mom_itmax Maximum number of iterations for momentum. 50

mom_omega Under-relaxation factor for momentum. 1.0

mom_preconditioner Specify a preconditioner for momentum. Used 0


only when mom_solver_type = 1.
0 = No preconditioner,
1 = Euclid/ILU preconditioner,
2 = Multigrid preconditioner.

CONVERGE 2.4 Manual 747


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value


for a Transient,
Compressible Gas Case

pres_solver_type Specify the type of solver for pressure. 0


0 = SOR,
1 = BiCGSTAB.

pres_tol Convergence criterion for pressure. 1e-8

pres_itmin Minimum number of iterations for pressure. 2

pres_itmax Maximum number of iterations for pressure. 500

pres_omega Under-relaxation factor for pressure. 1.1

pres_preconditioner Specify a preconditioner for pressure. Used 0


only when pres_solver_type = 1.
0 = No preconditioner,
1 = Euclid/ILU preconditioner,
2 = Multigrid preconditioner.

density_solver_type Specify the type of solver for density. 0


0 = SOR,
1 = BiCGSTAB.

density_tol Convergence criterion for density. 1e-4

density_itmin Minimum number of iterations for density. 0

density_itmax Maximum number of iterations for density. 2

density_omega Under-relaxation factor for density. 1.0

density_preconditioner Specify a preconditioner for density. Used only 0


when density_solver_type = 1.
0 = No preconditioner,
1 = Euclid/ILU preconditioner,
2 = Multigrid preconditioner.

energy_solver_type Specify the type of solver for specific internal 0


energy.
0 = SOR,
1 = BiCGSTAB.

energy_tol Convergence criterion for specific internal 1e-4


energy.

energy_itmin Minimum number of iterations for specific 0


internal energy.

748 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value


for a Transient,
Compressible Gas Case

energy_itmax Maximum number of iterations for specific 2


internal energy.

energy_omega Under-relaxation factor for specific internal 1.0


energy.

energy_preconditioner Specify a preconditioner for momentum. Used 0


only when energy_solver_type = 1.
0 = No preconditioner,
1 = Euclid/ILU preconditioner,
2 = Multigrid preconditioner.

species_solver_type Specify the type of solver for species. 0


0 = SOR.

species_tol Convergence criterion for species. 1e-4

species_itmin Minimum number of iterations for species. 0

species_itmax Maximum number of iterations for species 2

species_omega Under-relaxation factor for species. 1.0

species_preconditioner To be used in a future release. 0

passive_solver_type Specify the type of solver for passives. 0


0 = SOR.

passive_tol Convergence criterion for passives. 1e-5

passive_itmin Minimum number of iterations for passives. 0

passive_itmax Maximum number of iterations for passives. 50

passive_omega Under-relaxation factor for passives. 1.0

passive_preconditioner To be used in a future release. 0

tke_solver_type Specify the type of solver for turbulent kinetic 0


energy.
0 = SOR.

tke_tol Convergence criterion for turbulent kinetic 1e-3


energy.

tke_itmin Minimum number of iterations for turbulent 2


kinetic energy.

CONVERGE 2.4 Manual 749


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value


for a Transient,
Compressible Gas Case

tke_itmax Maximum number of iterations for turbulent 50


kinetic energy.

tke_omega Under-relaxation factor for turbulent kinetic 0.7


energy.

tke_preconditioner To be used in a future release. 0

eps_solver_type Specify the type of solver for turbulent 0


dissipation.
0 = SOR.

eps_tol Convergence criterion for turbulent dissipation. 1e-3

eps_itmin Minimum number of iterations for turbulent 2


dissipation.

eps_itmax Maximum number of iterations for turbulent 50


dissipation.

eps_omega Under-relaxation factor for turbulent 0.7


dissipation.

eps_preconditioner To be used in a future release. 0

omega_solver_type Specify the type of solver for specific 0


dissipation rate.
0 = SOR.

omega_tol Convergence criterion for specific dissipation 1e-3


rate.

omega_itmin Minimum number of iterations for specific 2


dissipation rate.

omega_itmax Maximum number of iterations for specific 50


dissipation rate.

omega_omega Under-relaxation factor for specific dissipation 0.7


rate.

omega_preconditioner To be used in a future release. 0

rad_solver_type Specify the type of solver for radiation. 0


0 = SOR.

rad_tol Convergence criterion for radiation. 1e-8

750 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Parameter Description Recommended Value


for a Transient,
Compressible Gas Case

rad_itmin Minimum number of iterations for radiation. 0

rad_itmax Maximum number of iterations for radiation. 2500

rad_omega Under-relaxation factor for radiation. 1.0

rad_preconditioner To be used in a future release. 0

steady_auto_f lag 0 = Run a steady-state simulation without 0


automatic monitoring of solver settings such as
tolerances,
1 = Allow automatic monitoring and control of
the steady-state solver settings via the
parameters below (recommended). You must
set monitor_steady_state_f lag = 1 in inputs.in and
supply a monitor_steady_state.in file that lists
quantities to monitor and the monitoring
configuration.

steady_switch_solver_f lag 0 = Use the specified pressure solver for the N/A
duration of the simulation (for cases with
combustion),
1 = Switch between BiCGSTAB and SOR
pressure solvers to determine the optimal solver
during the tolerance tightening stage (only for
cases without combustion).

steady_tol_update_f req The frequency (in cycles) with which N/A


CONVERGE updates settings (e.g., doubles the
maximum CFL number) and monitors the
solution variables to determine if they have
reached a local steady-state.

steady_min_num_amr The minimum number of applications of AMR N/A


that CONVERGE performs during the tolerance
tightening stage.

steady_piso_tol_init The initial value of piso_tol used until the N/A


tolerance tightening stage

steady_tol_scale_init The initial value of tol_scale used until the N/A


tolerance tightening stage.

steady_max_cf l_u_f inal The maximum convection CFL number used N/A
during the tolerance tightening stage.

CONVERGE 2.4 Manual 751


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

#!csi_version=2.4
#=======================

20 tol_scale
2 piso_itmin
9 piso_itmax
1e-07 piso_tol
0 flux_scheme_mom
0.5 fv_upwind_factor_mom
1.0 muscl_blend_factor_mom
minmod flux_limiter_mom
0 flux_scheme_global
0.5 fv_upwind_factor_global
1.0 muscl_blend_factor_global
koren flux_limiter_global
0 flux_scheme_turb
1.0 fv_upwind_factor_turb
1.0 muscl_blend_factor_turb
original flux_limiter_turb
1e-05 monotone_tolerance
0 upwind_all_dir_flag
1.0 impl
1.0 conserve
2 strict_conserve_flag
1 rc_flag
0.7 omega_presrat
#---------------------------
0 mom_solver_type
0.0001 mom_tol
0 mom_itmin
30 mom_itmax
1.0 mom_omega
0 mom_preconditioner
#---------------------------
0 pres_solver_type
1e-08 pres_tol
2 pres_itmin
500 pres_itmax
1.3 pres_omega
0 pres_preconditioner
#---------------------------
0 density_solver_type
0.0001 density_tol
0 density_itmin
2 density_itmax
1.0 density_omega
0 density_preconditioner
#---------------------------
0 energy_solver_type
0.0001 energy_tol
0 energy_itmin
2 energy_itmax
1.0 energy_omega
0 energy_preconditioner
#---------------------------
0 species_solver_type
0.0001 species_tol
0 species_itmin
2 species_itmax

752 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

1.0 species_omega
0 species_preconditioner
#---------------------------
0 passive_solver_type
0.0001 passive_tol
0 passive_itmin
30 passive_itmax
1.0 passive_omega
0 passive_preconditioner
#---------------------------
0 tke_solver_type
0.001 tke_tol
0 tke_itmin
30 tke_itmax
0.7 tke_omega
0 tke_preconditioner
#---------------------------
0 eps_solver_type
0.001 eps_tol
0 eps_itmin
30 eps_itmax
0.7 eps_omega
0 eps_preconditioner
#---------------------------
0 omega_solver_type
0.001 omega_tol
0 omega_itmin
30 omega_itmax
0.7 omega_omega
0 omega_preconditioner
#---------------------------
0 rad_solver_type
0.0001 rad_tol
0 rad_itmin
30 rad_itmax
1.0 rad_omega
0 rad_preconditioner
Figure 22.31: An example solver.in file.

22.4.5 Steady-State Monitor - monitor_steady_state.in


The steady-state monitor can track solution progress for steady-state or transient
simulations. Set monitor_steady_state_f lag = 1 in inputs.in and include a
monitor_steady_state.in file in the Case Directory to activate this feature. Specify any
number of simulation variables present in the *.out files for CONVERGE to monitor. At
each time-step, CONVERGE will read the variables that you specify and determine
whether the quantity is at a steady-state according to the tolerance type (tol_type) and
tolerance value (tol_avg) you enter. When the quantity reaches steady-state, CONVERGE
will either stop the simulation or begin grid scaling (if auto_gridscale_f lag = 1). If
auto_gridscale_f lag = 1, you must provide a gridscale.in file. If you use
monitor_steady_state.in to monitor multiple quantities, CONVERGE will stop the simulation
when all quantities reach steady-state. Figure 22.32 shows an example
monitor_steady_state.in file.

CONVERGE 2.4 Manual 753


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

If you run a steady-state simulation (steady_solver = 1 in inputs.in) and enable automatic


solution monitoring (steady_auto_f lag = 1 in solver.in), you must activate the steady-state
monitor and supply a monitor_steady_state.in file.

When you run with the steady-state monitor and you write restart files, CONVERGE will
write the monitored variables and grid scaling information (if auto_gridscale_f lag = 1) to
the restart files. You can restart from these files with the steady-state monitor activated,
and CONVERGE will automatically retain the monitored variable information and adopt
the previous grid scaling.

When monitoring for steady-state, CONVERGE evaluates the difference between two
successive samples sets of data (with a sample size of sample_size). If you choose relative for
the tolerance type, the difference is evaluated according to Equation 22.11 below:

M2  M1
dif f 
 M1  M2  (22.11)
 
 2 

where M1 and M2 are the means of two successive sample sets. If you choose absolute for
the tolerance type, CONVERGE calculates the difference between two successive sample
sets with Equation 22.12 below:

dif f  M 2  M 1 (22.12)

If the difference in Equation 22.12 is no greater than tol_avg and if the standard deviation
of the second sample set is no greater than max_std, then CONVERGE considers that
particular quantity to be at steady-state.

When there is a chance that a solution may be periodic, set check_periodicity_f lag = 1.
CONVERGE will compare the standard deviations of two successive sample sets using
either Equation 22.11 or Equation 22.11 above, depending on whether you specified
relative or absolute for tol_type. CONVERGE will use the same formula, but with σ1 instead
of M1 and σ2 instead of M2. If the difference between the standard deviations falls within
the value you specify for tol_std, CONVERGE will end the simulation.

You can monitor as many variables as you like, so for each variable of interest, repeat the
rows from variable_name to tol_std in Table 22.23 below. You can (but are not required to)
separate each variable with the comment character # followed by comments of your
choice.

754 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Note that when the steady-state monitor is enabled, CONVERGE writes text output to the
*.out files at each time-step regardless of the interval specified for twrite_f iles in inputs.in.

CONVERGE 2.4 Manual 755


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Table 22.23: Parameters in monitor_steady_state.in.


Parameter Description

auto_gridscale_f lag Choose whether CONVERGE automatically scales the grid when a
particular variable reaches steady-state.
0 = Do not scale the grid at steady-state,
1 = Automatically scale the grid at steady-state (requires grid_scale.in).

variable_name Name for the variable that you wish to monitor. You can specify the
variable name manually in monitor_steady_state.in or via the Steady-state
monitor dialog box in CONVERGE Studio. We strongly recommend using
CONVERGE Studio because it automatically lists the available options
for this parameter (described below in Available variable_name Options).

f ilename Name of the *.out file in which CONVERGE writes the variable to
monitor.

column_num Column number of the *.out file in which CONVERGE writes the desired
variable.

monitor_delay Start-up delay after which CONVERGE will begin monitoring the
quantities of interest. After the parameter, optionally specify the keyword
s to use units of pseudo-time, or c to use units of cycles (default). The units
for monitor_delay and sample_size must be the same for all monitored
variables.

sample_size The size of the sample that CONVERGE uses to determine if a quantity
has reached steady-state. After the parameter, optionally specify the
keyword s to use units of pseudo-time, or c to use units of cycles (default).
The units for monitor_delay and sample_size must be the same for all
monitored variables.

duration_size The minimum time (or pseudo-time) over which to determine if the
specified variable has reached steady-state.

tol_type Type of tolerance (either absolute or relative).

tol_avg Magnitude of the tolerance.

max_std Maximum standard deviation for the quantity.

check_periodicity_f lag If 1, CONVERGE compares the difference in the standard deviation of the
mean for two adjacent sample windows. If this difference is within
tol_std, the variable is periodic.
0 = Do not check for periodicity,
1 = Check for periodicity.

tol_std Tolerance for the difference between standard deviations when


CONVERGE checks for periodicity.

Available variable_name Options


The following variable_name types do not require boundary, region, or monitor point input.
The name does not have to match the output variable name used by CONVERGE.

756 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

· Default: Monitors the net mass flow rate through the domain (i.e., the summation of
mass flow rates through all INFLOW and OUTFLOW boundaries) via the
MASS_FLOW_RATE_NET keyword. You do not need to specify the f ilename or
column_num,
· Custom: Monitors a custom quantity. The variable_name does not have to match a
CONVERGE output variable name. You must supply the f ilename and column_num from
which to obtain this quantity.

The following variable_name types are of the form <VARIABLE>@<DOMAIN> and do not
require f ilename or column_num. The <VARIABLE> keyword, however, must match the
CONVERGE output variable name.
· General: Monitors general quantities (e.g., AVG_TEMP, TOTAL_PRES, etc.) on
boundaries or over regions via the following @<DOMAIN> strings, respectively:
@BOUND_ID_<boundary_id> and @REGION_ID_<region_id>,
· Inter-region: Monitors the flow of a quantity between two regions via the @<DOMAIN>
string @REGIONS_<region_id_f rom>_TO_<region_id_to>. (e.g.,
VELOCITY@REGIONS_3_TO_2, where the region IDs match those in boundary.in). In
some cases CONVERGE will switch the region IDs and write the opposite quantity to
steady_state.out (e.g., if you specify FLOW@REGIONS_1_TO_2 for variable_name,
CONVERGE may change it to FLOW@REGIONS_2_TO_1 in steady_state.out). The
column header in steady_state.out will match the data written to that column,
· Species: Monitors species concentration. Specify on a boundary, over a region, or
between two regions using the methods described above. You can also monitor this
quantity at a user-defined monitor point via @POINT_ID_<monitor_point_num>,
· Passive: Monitors passive concentration. Specify on a boundary, over a region, between
two regions, or at a user-defined monitor point using the methods described above.

#!CONVERGE_VERSION=2.4
#=====================

1 auto_gridscale_flag
# ------ var1 ------ #
mass_flow_rate_net variable_name
"mass_avg_flow1.out" filename
10 column_num
0.0 s monitor_delay
40 s sample_size
0.000001 duration_size
absolute tol_type
0.0001 tol_avg
0.0001 max_std
0 check_periodicity_flag
0.001 tol_std
# ------ var2 ------ #
pressure variable_name
"area_avg_flow.out" filename
4 column_num
0 monitor_delay

CONVERGE 2.4 Manual 757


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

100 sample_size
0.0001 duration_size
relative tol_type
1e-3 tol_avg
1e-3 max_std
0 check_periodicity_flag
1e-3 tol_std
Figure 22.32: An example monitor_steady_state.in file.

When the steady-state monitor has been activated, CONVERGE writes data to the
steady_state.out file.
22.4.6 Multiple Reference Frame Approach - mrf.in
To use the multiple reference frame (MRF) approach, set mrf _f lag = 1 in inputs.in. Table
22.24 below describes the parameters in mrf .in. Figure 22.13 below shows an example
mrf .in file.

For each moving reference frame, supply the region ID and the details of the rotation with
respect to the local reference frame.

758 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |General Simulation Input Files

Table 22.24: Parameters in mrf .in.


Parameter Description

num_mrf _regions Number of local reference frames in the simulation.

region_id Region ID (from initialize.in) for the local reference frame.

copy_f rom_boundary_f lag 0 = Do not copy boundary rotation information,


1 = Copy rotation information from another boundary. On
the following line, enter the boundary ID from which to
copy rotation information followed by the keyword
boundary_id. CONVERGE ignores any rotation information
specified below boundary_id.

If you wish to supply a varying rotational speed for the local


reference frame, choose a boundary_id corresponding to a
boundary configured with the desired rotation properties.
CONVERGE copies these properties and applies them to the
local reference frame.

rotation_axis The x, y, and z components of the vector that describes the


rotation of the local reference frame.

rotation_point The x, y, and z coordinates (in meters) of the point about


which the local reference frame rotates.

rotation_speed Rotation speed (in RPM) of the local reference frame with
respect to the inertial reference frame.

#!csi_version=2.4
#=======================
1 num_mrf_regions Total number of MRF regions

# =====================================
# Start defining MRF region properties
# =====================================
1 region_id
0 copy_from_boundary_flag
1 boundary_id
0.0 0.0 -1.0 rotation_axis
0.0 0.0 0.0 rotation_point
27000.0 rotation_speed
Figure 22.13: An example mrf .in file.

22.5 Boundary Conditions Input Files


This section describes the input files that contain boundary information for your
CONVERGE simulation.

CONVERGE 2.4 Manual 759


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Boundary Conditions Input Files

22.5.1 Boundary Conditions - boundary.in


The boundary.in file contains information about conditions for each boundary. Table 22.25
describes the general structure of boundary.in. Table 22.26 summarizes the choices for each
category.

As shown below in Figure 22.33, the information for each boundary consists of a
boundary ID followed by boundary conditions for velocity, pressure, temperature, species
mass fractions, passive values, turbulent kinetic energy, and turbulent dissipation, as well
as a region identification number. For a description of the various boundary conditions
included in CONVERGE (Neumann, Dirichlet, law-of-the-wall, slip), refer to Chapter 8 -
Boundary Conditions.

Table 22.25: Description of boundary.in.


Category Description
Vector of crank shaft (optional) ROTATION_AXIS, followed by a vector for the direction of the
crank shaft. Used only in engine cases in which there are
multiple cylinders with different axes of rotation.
Number of boundaries An integer.

gti_f lag (optional) 0 = No CONVERGE + GT-SUITE coupling,


1 = CONVERGE + GT-SUITE coupling*,
3 = CONVERGE + GT-SUITE coupling*,
6 = CONVERGE + GT-SUITE coupling*. You must set gti_f lag = 6
or 13 for GT-SUITE/FSI coupling,
13 = CONVERGE + GT-SUITE coupling*. You must set gti_f lag =
6 or 13 for GT-SUITE/FSI coupling.

gti_f ile_name (optional) Name of the file that contains the GT-SUITE model parameters.
Used only when gti_f lag is non-zero.

gti_code_name (optional) Name of the GT-SUITE executable (e.g., GTPOWER, GTSUITE, or


GTSUITEmp) that couples with CONVERGE. Used only when
gti_f lag is non-zero.

gti_version (optional) Version number for GT-SUITE that enables CONVERGE to find
the server files of GT-SUITE (GTLINK). Used only when gti_f lag
is non-zero. CONVERGE 2.4 is compatible with GT-SUITE
versions 7.3, 7.4, 7.5, 2016, and newer.
Boundary ID An integer that represents bound_id.
Available boundary types INFLOW, OUTFLOW, WALL, PERIODIC, SYMMETRY, TWO_D,
GT-SUITE, INTERFACE.

760 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Boundary Conditions Input Files

Category Description

Motion type of WALL boundary FIXED or MOVING. If MOVING, include any of the following
motion type keywords:
ST (stationary),
TA (tangential),
TR (translating),
RO (rotating),
RT (rotating and translating),
AR (arbitrary),
US (user),
DE (dependent), or
FSI (fluid-structure interaction)
Required conservation equation velocity, pressure, temperature, species, passive, tke (turbulent kinetic
boundary conditions energy), epsilon (turbulent dissipation).
Available boundary conditions ne (Neumann), no (Normal Neumann only for INFLOW velocity),
di (Dirichlet), la (law-of-the-wall), co (convection), f l (flux), sl
(slip), ma (mass_flow), coupled (same heat flux and temperature
across interface boundary), le (turbulent length scale), in
(turbulence intensity), pu (Pump). The selected boundary type
will determine which of these boundary conditions are available.
Region identification number An integer representing the region_id of the region to which the
(region) boundary is assigned.

Table 22.26: Available boundary conditions for each of the boundary parameters.
Parameter Available Boundary Available Boundary Conditions Available Boundary
Conditions for WALL for PERIODIC Conditions for
INFLOW/ OUTFLOW

roughness 2 values are required: N/A N/A


absolute roughness
(meters) and roughness
constant
(dimensionless).

velocity No-slip or Dirichlet x, y, z components of motion Dirichlet (di), Neumann


(di), law-of-the-wall vector or $. (ne), mass flow (ma), pump
(la), slip (sl), piston (pu).
motion ($ for engine
applications, the name
of a piston motion file
for non-engine
applications).

pressure Neumann (ne). N/A Dirichlet (di), Neumann


(ne).

CONVERGE 2.4 Manual 761


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Boundary Conditions Input Files

Parameter Available Boundary Available Boundary Conditions Available Boundary


Conditions for WALL for PERIODIC Conditions for
INFLOW/ OUTFLOW

temperature Dirichlet (di), N/A Dirichlet (di), Neumann


Neumann (ne), law-of- (ne).
the-wall (la),
convection (co), flux (f l).

species Neumann (ne). N/A Dirichlet (di), Neumann


(ne).

passive Neumann (ne). N/A Dirichlet (di), Neumann


(ne).

tke Neumann (ne). N/A Dirichlet (di), Neumann


(ne), intensity (in).

eps Dirichlet (di), N/A Dirichlet (di), Neumann


Neumann (ne). (ne), length scale (le).

omega Dirichlet (di), N/A Dirichlet (di), Neumann


Neumann (ne). (ne), length scale (le).

match N/A Matching periodic boundary ID. N/A

rotate N/A 4 inputs: angle of rotation, x, y, N/A


and z vector components of axis
of rotation for matching to
another periodic face.

translate N/A 3 inputs: distance to matching N/A


periodic boundary Dx, Dy, Dz.

region Region identification Region identification number. Region identification


number to which number.
boundary is assigned.

#!csi_version=2.4
#=======================

####Number of boundaries
6
###########
1
WALL  FIXED ST
roughness  0.0  0.0
velocity  sl  0.0  0.0  0.0
pressure  ne  0.0
temperature  ne 0.0
species  ne  0.0
passive  ne  0.0
tke  ne  0.0
eps  di  0.0
omega di 0.0

762 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Boundary Conditions Input Files

region  0

2
WALL  MOVING TR
roughness  0.0  0.0
velocity sl piston.in
pressure  ne  0.0
temperature  ne 0.0
species  ne  0.0
passive  ne 0.0
tke  ne  0.0
eps  di 0.0
omega di 0.0
region  0

3
PERIODIC  TR
velocity  la $
rotate  60.0  0.0  0.0  1.0
match  4
region  0

4
PERIODIC  TR
velocity  la $
match  3
region  0

5
OUTFLOW
velocity  ne  0.0  0.0  0.0
pressure  ne  0.0
temperature  ne  0.0
species  ne  0.0
passive  ne  0.0
tke  ne  0.0
eps  ne  0.0
temperature  backflow  di  400.0
species  backflow  di  2
n2  0.77
o2  0.23
passive  backflow  di  0.0
tke  backflow  di  10.0
eps  backflow  di  10000.0
omega backflow  di  10000.0
region  0

6
inflow_fluctuating 0.02 0.1
velocity di 15.0 0.0 0.0
pressure ne 0.0
temperature di 300.0
species di 2
O2 0.23
N2 0.77
passive di 0
tke in 0.02
eps le 0.003
omega le 0.003

CONVERGE 2.4 Manual 763


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Boundary Conditions Input Files

region 0
Figure 22.33: An example boundary.in file.

The first non-commented row in Figure 22.33 above indicates the number of unique
boundaries for which boundary conditions will be specified. You can use this file to specify
a moving boundary with a constant velocity vector or prescribe its motion with a separate
file. In the example shown in Figure 22.33 above, the wall with an ID of 2 has a slip
velocity boundary condition and its velocity is determined from the motion file piston.in.
The file name is arbitrary, but there must be a file with this name in the Case Directory.
The motion file includes four columns: time (in seconds if crank_f lag = 0 or in CAD if
crank_f lag = 1 or 2) and the x, y, z components of position (not velocity) of the boundary at
each time-step. The position components are given in meters and are relative to a starting
point at (0, 0, 0).

Alternatively, you can specify $ in place of the motion file name. If you enter $,
CONVERGE will generate a piston motion file using data from the engine.in file. Note that
you must set crank_f lag = 1 in inputs.in to activate this engine option.

If you specify a SYMMETRY boundary, CONVERGE automatically sets the velocity


boundary condition to slip and all other boundary conditions to Neumann.

In a 2D simulation, you must designate a pair of boundaries as boundary type TWO_D.


The TWO_D boundary has the same boundary conditions as a SYMMETRY boundary
type.

As mentioned in Table 22.25, if you have a multi-cylinder engine case, the first row of
boundary.in must include the keyword ROTATION_AXIS, followed by a vector that
specifies the direction of the crank shaft. You can find more information regarding the use
of a ROTATION_AXIS in Chapter 17 - Internal Combustion Engine Applications.

The GT-SUITE-related parameters in boundary.in are optional. To couple a specific


boundary with a GT-SUITE model, set gti_f lag = 1 in boundary.in and include the
subsequent GT-SUITE-related parameters. Refer to Chapter 8 - Boundary Conditions for
more information regarding GT-SUITE coupling with CONVERGE.

You can generate temporally or spatially varying boundary conditions by creating a file
with these data. Refer to the Moving WALLS - Temporally-Varying (Translating) and
Spatially-Varying (Temperature) WALL Boundary Conditions sections in Chapter 8 -
Boundary Conditions for detailed information regarding these special boundary
conditions.

764 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Boundary Conditions Input Files

You can use the fluctuating INFLOW boundary option to generate turbulent fluctuations
and superimpose them on the INFLOW velocity profile, as shown in boundary 6 in Figure
2233. Refer to the Fluctuating INFLOW section of Chapter 8 - Boundary Conditions
Chapter 8 - Boundary Conditions for more information on this boundary option.
22.5.2 Wall Values - wall_value.in
The wall_value.in file defines custom quantities related to wall boundaries. Table 22.27
below describes the parameters in wall_value.in, and Figure 22.34 shows an example file.

Table 22.27: Parameters in wall_value.in.


Parameter Description

num_walls Number of wall boundaries for which custom values will be specified in the
following rows.

num_wallvalues Number of values that will be specified for the wall boundaries.

wall_value_name Parameter for which a value will be specified.

boundary_id Corresponding wall boundary as defined in boundary.in.


value and name of The value of the wall_value_name parameter, followed by the name of the
the wall_value_name parameter. Repeat this row for each wall_value_name for each
wall_value_name boundary specified.
parameter

#!csi_version=2.4
#=======================

2 num_walls
2 num_wallvalues
thickness wall_value_name
radius wall_value_name

1 bound_id
1.0e-5 thickness
1.0e-4 radius

2 bound_id
wall_thick.in thickness
3.0e-4 radius
Figure 22.34: An example wall_value.in file.

You can specify spatially or temporally varying data for wall boundary values. In the
sample shown in Figure 22.34 above, a file name is specified for the thickness for Boundary
2 (bound_id = 2). This wall_thick.in file, which contains wall thickness data versus time or
space, must be saved in the Case Directory.

CONVERGE 2.4 Manual 765


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Initial Conditions Input Files

22.6 Initial Conditions Input Files


This section describes the input and data files related to initial conditions for your
CONVERGE simulation.
22.6.1 Mapping variables - map.in and map.dat
The mapping capability in CONVERGE allow you to initialize the domain with spatially
varying parameters. (CONVERGE will initialize all other parameters via the information in
initialize.in.) To activate mapping, set map_f lag in inputs.in. The map.in file defines the
parameters to be mapped, the name of the file containing the spatially varying data, a data
rotation angle, data scaling factors, and data translation distances. Table 22.28 below
describes the parameters in the map.in file, and Figure 22.35 shows an example file.

Note that the species and passive keywords in map.in include the species or passive name.
Any number of species can be supplied in the mapping data. If at least one species is
mapped, CONVERGE assumes that all non-zero species are included in the mapping (i.e.,
all species values not specified in map.in will be set to zero). CONVERGE normalizes the
species mass fractions if they do not add up to 1.0.

Table 22.28: Parameters in map.in.


Parameter Description

map_all_region_f lag 0 = Map on a region-by-region basis,


1 = Map all regions with the same set of mapping parameters.

map_num_regions Number of regions to which the mapping strategy described immediately


below applies. Used only when map_allregion_f lag = 0.

region_id The ID number(s) of the region(s) to be mapped by the mapping strategy


described immediately below. Used only when map_allregion_f lag = 0.
There should be map_num_regions entries of this parameter. (Although
CONVERGE does not use this parameter or map_num_regions when
map_allregion_f lag = 1, map_num_regions and region_id still must be
consistent to avoid file read errors. If you set map_num_regions to 0 or a
negative integer, then you must remove the region_id line from this file. If
you set map_num_regions to a positive integer, then there must be
map_num_regions rows of region_id.)

scale_xyz Scaling to be applied to the x, y, and z coordinates of the mapped data.


This parameter can be used to change the length units.

trans_x, trans_y, trans_z Amount to translate the x, y, or z coordinates, respectively, of the mapped
data. Scaling is done before translating, so the trans_x, trans_y, and trans_z
units should be consistent with the scaled units.

rot_axis Axis about which the coordinates and velocity will be rotated. The
rotation is applied after scaling and translating.

766 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Initial Conditions Input Files

Parameter Description

rot_angle Rotation angle about the specified axis. The right hand rule is used to
determine the direction of rotation. Also, note that the rotation for velocity
is applied before the scaling and offset on velocity.

map_f ilename Name of the data file containing the mapping data, e.g., map.dat.

mapall_f lag 0 = CONVERGE will map (and scale, offset, or rotate, if applicable) only
the variables that follow this flag. Any variables that are in the map
data file but not listed below will be recalculated from initialize.in,
1 = CONVERGE will map (and scale, offset, or rotate, if applicable) all of
the variables in the map data file,
2 = CONVERGE will scale, offset, or rotate only the variables that follow
this flag. Any variables that are in the map data file but not listed
below will be read in directly from the map data file.

Required field variables (e.g., pressure, temperature, TKE, epsilon) that are
not included in the mapping data file will be initialized using values
specified in initialize.in. Variables that are not relevant to the simulation
will be ignored (e.g., if TKE is included in the data file but there is no
turbulence model, then CONVERGE will ignore TKE).

temp Label for temperature mapping.


pres Label for pressure mapping.
tke Label for turbulent kinetic energy mapping.
eps Label for turbulent dissipation mapping.
u_vel Label for x component of velocity mapping.
v_vel Label for y component of velocity mapping.
Label for z component of velocity mapping.
w_vel
Label for species mapping. Specified as sp (species name), "species name"
species_name
is replaced with the name of the species.
passive_name
Label for passive mapping. Specified as pa (passive name), "passive
name" is replaced with the name of the passive.

temp_scale Temperature scaling.


pres_scale Pressure scaling.
tke_scale Turbulent kinetic energy scaling.
eps_scale Turbulent dissipation scaling.
u_scale x component of velocity scaling.
v_scale y component of velocity scaling.
z component of velocity scaling.
w_scale
Species scaling.
species_scale
Passive scaling.
passive_scale

temp_of f set Temperature offset.


pres_of f set Pressure offset.
tke_of f set Turbulent kinetic energy offset.
eps_of f set Turbulent dissipation offset.
u_of f set x component of velocity offset.
y component of velocity offset.

CONVERGE 2.4 Manual 767


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Initial Conditions Input Files

Parameter Description

v_of f set z component of velocity offset.


w_of f set Species offset.
species_of f set Passive offset.
passive_of f set

Spray-Related Parameter Description

spray_map_all_region_f lag 0 = Map region by region,


1 = Map all regions.

match_parcels_region_f lag 0 = Do not map the parcels into the same region,
1 = Map the parcels into the same region.
Only used when spray_map_allregion_f lag = 1.

match_parcels_bound_f lag 0 = Do not map the parcels on the boundary,


1 = Map the parcels on the boundary.
Only used when spray_map_allregion_f lag = 1.

map_parcels_all_f lag 0 = Do not move the parcels into the domain if the parcels are outside the
domain,
1 = Move the parcels into the domain if the parcels are outside the
domain.
Only used when spray_map_allregion_f lag = 1.

map_num_regions Number of regions to which the spray mapping strategy described


immediately below applies. Used only when spray_map_all_region_f lag =
0.

region_id The ID number of the region where the spray is to be mapped.


Only used when spray_map_allregion_f lag = 0.

scale_xyz Scaling to be applied to the x, y, and z coordinates of the mapped spray


data. This parameter can be used to change the length units.

trans_x, trans_y, trans_z The trans_x, trans_y, and trans_z parameters are used to translate the x, y,
and z coordinates, respectively, of the mapped spray data. Note that
scaling is done before translating so the units of trans_x, trans_y, and
trans_z should be consistent with the scaled units.

rot_axis Axis about which the coordinates and velocity of the mapped spray data
will be rotated. The rotation is applied after scaling and translating.

rot_angle Rotation angle about the specified axis for the mapped spray data. Note
that the right hand rule is used to determine the direction of rotation.
Also, note that the rotation for velocity is applied before the scaling and
offset on velocity.

spray_map_f ilename Name of data file containing the spray mapping data, e.g., spray_map.dat.
For information about spray_map.dat, see below.

spray_mapall_f lag 0 = CONVERGE will map (and scale, offset, or rotate, if applicable) only
the spray variables that follow this flag. Any spray variables that are

768 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Initial Conditions Input Files

Parameter Description

in the map data file but not listed below will be recalculated from
initialize.in,
1 = CONVERGE will map (and scale, offset, or rotate, if applicable) all of
the spray variables in the map data file,
2 = CONVERGE will scale, offset, or rotate only the spray variables that
follow this flag. Any variables that are in the spray map data file but
not listed below will be read in directly from the spray map data file.

spray_temp Label for mapping the spray temperature.


spray_num Label for mapping the number of drops in parcels.
spray_radius Label for mapping the radius of the drops in the parcels.
spray_u_vel Label for mapping the x component of spray velocity.
spray_v_vel Label for mapping the y component of spray velocity.
spray_w_vel Label for mapping the z component of spray velocity.
Label for mapping the film flag of parcel (1 if it is a film, 0 if it is not).
spray_f ilm
Label for mapping the parcel species, "species name" is replaced with the
spray_sp(species name)
name of the species.

temp_scale Spray temperature scaling.


num_scale Number of drops scaling.
radius_scale Spray radius scaling.
u_scale X component of velocity scaling.
v_scale Y component of velocity scaling.
w_scale Z component of velocity scaling.
Film flag scaling.
f ilm_scale
Species scaling.
species_scale

temp_of f set Temperature offset.


num_of f set Number of drops offset.
radius_of f set Spray radius offset.
u_of f set X component of velocity offset.
v_of f set Y component of velocity offset.
w_of f set Z component of velocity offset.
Film flag offset.
f ilm_of f set
Species offset.
species_of f set

#!csi_version=2.4
#=======================

1  map_all_region_flag
1 map_num_regions
-1 region_id
1.0  scale_xyz
0.0  trans_x
0.0  trans_y
0.0  trans_z
Z  rot_axis
0.0 rot_angle
map.dat map_filename

CONVERGE 2.4 Manual 769


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Initial Conditions Input Files

0  mapall_flag
temp
1.2  temp_scale
100.0  temp_offset
pres
1.00  pres_scale
0.0  pres_offset
tke
2.0  tke_scale
0.0  tke_offset
eps
1.0  eps_scale
0.0  eps_offset
u_vel
1.0  u_scale
0.0  u_offset
v_vel
1.0  v_scale
0.0  v_offset
w_vel
1.0  w_scale
0.0  w_offset
1  spray_map_all_region_flag
1 match_parcels_region_flag
1 match_parcels_bound_flag
1 map_parcels_all_flag
0  region_id
1.0  scale_xyz
0.0  trans_x
0.0  trans_y
0.0  trans_z
Z  rot_axis
0.0 rot_angle
spray_map.dat spray_map_name
0  spray_mapall_flag
spray_temp
1.0  temp_scale
0.0  temp_offset
spray_num
1.0  num_scale
0.0  num_offset
spray_radius
1.0  radius_scale
0.0  radius_offset
spray_u_vel
1.0  u_scale
0.0  u_offset
spray_v_vel
1.0  v_scale
0.0  v_offset
spray_w_vel
1.0  w_scale
0.0  w_offset
spray_film
1.0  film_scale
0.0  film_offset
spray_sp(ic8h18)
1.0  species_scale
0.0  species_offset

770 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Initial Conditions Input Files

Figure 22.35: An example map.in file.

0 map_all_region_flag
########################################################################
1 map_num_regions
3 region_id
1.0 scale_xyz
...
########################################################################
2 map_num_regions
4 region_id
5 region_id
1.1 scale_xyz
...
Figure 22.36: Excerpt of a map.in file for region-by-region mapping. In this case, there is one mapping
procedure for Region 3 and a different mapping procedure for Regions 4 and 5.

To initialize parameters via mapping, you must include a mapping data file in the Case
Directory. You can manually create this data file or change the name of a map_<time>.out
file (from a previous simulation) to map.dat.

The first row of the map.dat file must contain a keyword for each column (i.e., the name of
each parameter). Table 22.29 below summarizes the keyword options. Each row thereafter
must contain the x, y, and z coordinates, followed by the values of each parameter. The
parameters can be in any order. Remember that CONVERGE will translate and/or rotate
the x, y, and z coordinates based on the scale_xyz, trans_x, trans_y, trans_z, rot_axis, and
rot_angle parameters in the map.in file.

For spray mapping, spray_map.dat has the same format as map.dat (i.e., the first three
columns must be x, y, and z, and each subsequent column must correspond to one of the
spray variables to be mapped). Table 22.30 below summarizes the variables that can be
mapped via spray_map.dat. Note that the locations of the velocity values will be translated
by the rotation angle, which is given by rot_angle in map.in.

After reading the mapped data, CONVERGE interpolates from the nearest data point to
initialize each cell.

Figure 22.37 below shows an excerpt of an example map.dat file.

Table 22.29: Variables that can be mapped via map.dat.


Quantity to be Mapped First Row Keyword Units
Coordinates x, y, z m
x component of velocity u_vel m/ s
y component of velocity v_vel m/ s

CONVERGE 2.4 Manual 771


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Initial Conditions Input Files

Quantity to be Mapped First Row Keyword Units

z component of velocity w_vel m/ s


Temperature temp K
Pressure pres Pa
Species mass fraction species name N/A
(e.g., h2o)
Passive passive name N/A
(e.g., soot)
Turbulent kinetic energy tke m2/ s2
Turbulent dissipation eps m2/ s3
Specific dissipation rate Omega (1/ s)
value in the cell.

Table 22.30: Variables that can be mapped via spray_map.dat.


Quantity to be Mapped First Row Keyword Units
Coordinates. x, y, z m
x component of velocity. u_vel m/ s
y component of velocity. v_vel m/ s
z component of velocity. w_vel m/ s
Temperature. temp K
Number of drops. num N/A

Radius of drops. radius m


Region ID of the parcel. region_id N/A

Boundary ID of the parcel. bound_id N/A

Species mass fraction. species name N/A


(e.g., IC8H18)
Film flag. f ilm 0 = The parcel is not in a film,
1 = The parcel is in a film.
Injector from which the parcel f rom_inj ector N/A
originated.
Nozzle from which the parcel f rom_nozzle N/A
originated.

x y z tke eps temp pres h2o soot passive1 u_vel  v_vel  w_vel
1.1 1.2 0.0 22.1 101.0 300.1 2.0e6 0.1 1.0e-6 22.0 1.5  -3.2  -5.3

772 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Initial Conditions Input Files

.
.

Figure 22.37: An excerpt of an example mapping data file (e.g., map.dat ).

22.6.2 Region Connection/Disconnection - events.in


CONVERGE controls the flow between regions by activating or deactivating disconnect
triangles. Chapter 7 - Regions and Initialization describes disconnect triangles in more
detail. Use the events.in file to describe OPEN events (to connect regions and thus allow
flow) and CLOSE events (to disconnect regions and thus prohibit flow).

If no events.in file is included in the Case Directory, CONVERGE will consider all
regions to be disconnected at all times.

To set up events, set events_f lag = 1 in inputs.in and include an events.in file in the Case
Directory.

When disconnect triangles are activated (i.e., regions are not connected), they act as a
SYMMETRY boundary condition.

A sample events.in file is shown below in Figure 22.38. The first line in the file must be a
keyword: CYCLIC, SEQUENTIAL, or PERMANENT. Note that CYCLIC must be followed
by a number to denote the period of the cycle. Each subsequent line describes one event, as
described below in Table 22.31.

#!csi_version=2.4
#=======================

CYCLIC 720.0
0 1 OPEN  -363.0
0 1 CLOSE  -121.0
0 2 OPEN -566.0
0 2 CLOSE  -315.0
Figure 22.38: Sample events.in file.

Table 22.31: Description of an event line in events.in.


Column 1 Column 2 Column 3 Column 4
region ID region ID OPEN or CLOSE time of event

CONVERGE 2.4 Manual 773


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Initial Conditions Input Files

22.6.3 Domain Initialization - initialize.in


Use the initialize.in file to uniformly initialize the domain at the beginning of a CONVERGE
simulation. Table 22.32 below describes of the parameters in initialize.in. Figure 22.39
below shows an example initialize.in file for a case with two regions.

Table 22.32: Parameters in initialize.in.


Parameter Description

num_regions Number of regions in the domain. All of the parameters below are repeated for
each region.

region_id A unique integer (no greater than 61) to identify the region. All of the boundaries
in this region must have the same region_id, and each region_id in initialize.in
must match the corresponding region_id in boundary.in. CONVERGE will write
region-specific output files so that you can visualize results on a region-by-region
basis.

stream_id A unique integer identifier for a stream, which is a collection of regions. All
regions with the same stream_id must be the same phase (i.e., fluid or solid).

solid_f lag 0 = Regions in this stream_id are associated with the fluid phase,
1 = Regions in this stream_id are associated with the solid phase (conjugate heat-
transfer applications).
Regions with the same stream_id must have identical values of solid_f lag.

vel_init Initial velocity (m/ s).

temp_init Initial temperature (K).

pres_init Initial pressure (Pa).

tke_init* Initial turbulent kinetic energy (m2/ s2).

eps_init* Initial turbulent dissipation (m2/s3).

omega_init* Initial specific dissipation (1/ s).

tke_init_visc_ratio** Viscosity ratio used to initialize the turbulence quantities.

eps_init_length** Length scale used to initialize the turbulence quantities.

omega_init_length** Length scale used to initialize the turbulence quantities.

tke_init_length*** Length scale used to initialize the turbulence quantities.

eps_init_visc_ratio** Viscosity ratio used to initialize the turbulence quantities.


*

omega_init_visc_rati Viscosity ratio used to initialize the turbulence quantities.


o***

num_species_init Number of species to be initialized.


All non-initialized species will be given an initial mass fraction of 0.0.

774 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Initial Conditions Input Files

Parameter Description

species name and Each line should consist of the name of a species and its initial mass fraction. The
mass fraction number of lines should equal numspeciesinit.

num_passive_init Number of passives to be initialized.


All non-initialized passives will be given an initial value of 0.0.
passive name and Each line should consist of a name of a passive and its initial value. The number
value of lines should equal numpassiveinit.
* Specify tke_init, eps_init, and omega_init to initialize the turbulence quantities directly. All three
parameters must be included although only two of them (either tke_init and eps_init or tke_init and
omega_init, depending on your choice of turbulence model) will be used. If you specify these parameters,
then the parameters noted with ** or *** should not appear in initialize.in.
** Specify tke_init_visc_ratio, eps_init_length, and omega_init_length to specify the viscosity ratio and
length scale that will be used to initialize the turbulence quantities. All three parameters must be
included although either eps_init_length or omega_init_length will not be used. If you specify these
parameters, then the parameters noted with * or *** should not appear in initialize.in.
*** Specify tke_init_length, eps_init_visc_ratio, and omega_init_visc_ratio to specify the viscosity ratio and
length scale that will be used to initialize the turbulence quantities. All three parameters must be
included although either eps_init_visc_ratio or omega_init_visc_ratio will not be used. If you specify these
parameters, then the parameters noted with * or ** should not appear in initialize.in.

CONVERGE 2.4 Manual 775


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Initial Conditions Input Files

#!csi_version=2.4
#=======================

2 num_regions
# fluid region
0 region_id
0 stream_id
0 solid_flag
0.01 vel_init
300.0 temp_init
101325.0 pres_init
10.0 tke_init
1000.0 eps_init
100.0 omega_init
2 num_species_init
o2 0.23 name
n2 0.77 name
0 num_passive_init
# solid pipe
1 region_id
1 stream_id
1 solid_flag
300.0 temp_init
101325.0 pres_init
60 tke_init_visc_ratio
20000 eps_init_length
1000 omega_init_length
1 num_species_init
metal 1.0 name
0 num_passive_init
Figure 22.39: An example initialize.in file for a case with two regions.

When specifying region-specific initial values, you do not have to list the region-by-region
blocks of information in any specific order. For example, Region 6 can be defined before
Region 4, and Region 5 does not need to exist.

If you initialize species or passives in initialize.in, the names in initialize.in must also appear
in the chemical reaction mechanism file (e.g., mech.dat) or in species.in. CONVERGE will
normalize the species mass fractions to ensure that the mass fractions add up to one.

Finally, note that you must include one set of tke_, eps_, and omega_ parameters (see the
notes after the table) even if your simulation does not include a turbulence model.

22.7 Physical Models Input Files


This section describes the input files that contain information about the physical models for
your CONVERGE simulation.

776 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

22.7.1 Liquid Spray - spray.in


The spray.in file contains spray modeling parameters and information about the injectors
and nozzles in your simulation. Table 22.33 describes the parameters in spray.in, and
Figure 22.40 provides an example spray.in file.

Table 22.33: Parameters in spray.in.


Parameter Description Typical Value

cone_distribution_f lag Parcel clustering flag for solid cone sprays. N/A
0 = Cluster injected parcels (liquid mass) near the center of
the cone,
1 = Distribute injected parcels evenly throughout the cone.

penet_f rac Liquid fuel mass fraction for calculating spray penetration 0.95
during post-processing.

penet_bin_size Penetration bin size (m). 1e-3

vapor_penet_f rac Fuel vapor mass fraction for calculating vapor penetration. 1e-3

breakup_f lag Breakup model flag. N/A


0 = No breakup,
1 = Breakup.

init_f ilm_f lag Initialization of wall film. N/A


0 = No initialization,
1 = Initialization (requires f ilm_init.in).

spray_wall_f lag Spray/wall interaction model flag. N/A


0 = Rebound/slide model,
1 = Wall film model, with the updated evaporation model,
2 = Drops vanish when they impinge on a solid boundary.

f ilm_splash_model 0 = O'Rourke splash model, N/A


1 = Kuhnke splash model (dependent on wall temperature
and wetness).
This parameter is used only if spray_wall_f lag = 1.

weber_rebound Weber rebound number. This parameter is used only for the 5
O'Rourke splash model (i.e., when spray_wall_f lag = 1 and
wall_splash_model = 0).

splash_criterion_f lag Wall film model splash criterion flag. N/A


0 = Determine splashing based on a parameter defined by
Weber number, film thickness and liquid viscosity,
1 = Determine splashing based on Weber number only.
This parameter is used only for the O'Rourke splash model
(i.e., when spray_wall_f lag = 1 and wall_splash_model = 0).

CONVERGE 2.4 Manual 777


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

splash_critical_value Critical value for splashing. The meaning of this value 3330.0 for
depends on the value of splash_crit_f lag (see right). This E2
crit
parameter is used only for the O'Rourke splash model (i.e.,
(splash_crit_f la
when spray_wall_f lag = 1 and wall_splash_model = 0).
g = 0), case
dependent for
Wesplash
(splash_crit_f la
g = 1)

splash_f raction Fraction of drop mass splashed. This parameter is used only 0.5 - 1.0
for the O'Rourke splash model (i.e., when spray_wall_f lag = 1
and wall_splash_model = 0).

splash_tstar_critical Critical value of the non-dimensionalized wall temperature 1.1


T* used in the Kuhnke film splash model.

splash_wruck_model_f lag Wruck spray-wall heat transfer model flag. N/A


0 = Wruck model deactivated.
1 = Wruck model activated.

separation_const Separation constant. This parameter is used only for the 3.0
O'Rourke splash model (i.e., when spray_wall_f lag = 1 and
wall_splash_model = 0).

f ilm_strip_f lag Film stripping flag. N/A


0 = No film stripping,
1 = Film stripping.

f ilm_strip_time_cnst Film stripping time constant. Used only when N/A


spray_wall_f lag = 1 and f ilm_strip_f lag = 1.

f ilm_strip_size_cnst Film stripping size constant. Used only when N/A


spray_wall_f lag = 1 and f ilm_strip_f lag = 1.

collision_f lag Collision model flag. N/A


0 = No collision model,
1 = O’Rourke collision model,
2 = NTC collision model.

collision_outcome_f lag Collision outcomes flag. N/A


0 = O’Rourke outcomes,
1 = Post outcomes.

collison_mesh_f lag Collision mesh model flag. N/A


0 = No collision mesh,
1 = Collision mesh.

collision_scale The embed level used to create the collision mesh. For N/A
example, a value of 2 will yield a collision mesh size that is
1/4 of the base grid size.

778 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

f ilm_mesh_f lag Adaptive film mesh flag. N/A


0 = No adaptive film mesh.
1 = Adaptive film mesh.

f ilm_mesh_scale The embed level used to create the adaptive film mesh. For Case
example, a value of 2 will yield a film mesh size that is 1/4 dependent.
of the base grid size. Film mesh
spacing
should be
approximatel
y equal to
local fluid
mesh spacing

drag_f lag Drop drag flag. N/A


0 = No drop drag,
1 = Spherical drop drag,
2 = Dynamic drop drag.

tab_cf ocbck TAB/dynamic drag model constant. 0.08333

tab_csubd TAB/dynamic drag model constant. 5 - 10

tab_csubk TAB/dynamic drag model constant. 8.0

turb_dispersion_f lag Turbulent dispersion flag. N/A


0 = No turbulent dispersion,
1 = O’Rourke turbulent dispersion,
2 = TKE-preserving turbulent dispersion.

parcel_evap_model Evaporation model flag. N/A


0 = No drop evaporation,
1 = Frossling drop evaporation,
2 = Chiang drop evaporation,
11 = Frossling drop evaporation with droplet boiling model,
12 = Chiang drop evaporation with droplet boiling model.

evap_source_f lag Evaporation source flag. N/A


0 = All species will evaporate to evap_species (see next row),
1 = Single-component species will evaporate to their
respective species and multi-component liquid species will
evaporate to a composite species (if composites are used),
2 = Single-component species will evaporate to their
respective species and multi-component liquid species will
evaporate to their base species.

evap_species Name of the species that will be sourced when evaporation N/A
occurs. Used only when evap_source_f lag = 0.

evap_d0_dif f use Liquid species mass diffusivity variable. The parameter Value based
d0_dif f use equals D0 in the following equation: on
evaporating
 gas D  1.293D0 (Tgas /273)n0 1 . species.

CONVERGE 2.4 Manual 779


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

evap_n_dif f use Liquid species mass diffusivity variable. The parameter Value based
n_dif f use equals n0 in the following equation: on
evaporating
 gas D  1.293D0 (Tgas /273)n0 1 . species.

evap_big_drop_radius If droplet radius (µm) is less than this threshold, 1e-5 to 1e-4
CONVERGE will use the Uniform Temperature Model to
compute droplet thermal transfer. If droplet radius exceeds
this threshold, CONVERGE invokes the Discretized
Temperature Model. The default setting for this parameter
ensures that the Spherically Symmetric Heat Equation is
disabled.

evap_layers_per_drop Number of equal-volume parts into which the droplet 10 - 20


domain will be discretized when using the spherically
symmetric heat equation.

evap_recirculation_f lag Flag to activate the effective thermal conductivity model. 1


0 = CONVERGE does not use the effective thermal
conductivity model,
1 = CONVERGE uses the effective thermal conductivity
model, which simulates the effect of recirculation in the
spherically symmetric heat equation.

evap_thick_f ilm_height If the film height (m) is greater than this threshold, 1000
CONVERGE will use the Discretized Temperature Model.

evap_layers_per_f ilm Number of finite volume cells into which the film will be 10-20
discretized when using the Discretized Temperature Model.

urea_f lag Urea injection flag. N/A


0 = No urea injection model,
1 = Urea injection model activated.
2 = Urea-water solution depletion calculation with the
molten solid approach (urea.in required).
3 = Urea-water solution depletion calculation with the
detailed decomposition approach (urea.in required).

scale_heat_trans_coef f _sp Scaling applied to the droplet heat transfer coefficient. 1


ray

scale_mass_trans_coef f _sp Scaling applied to the droplet mass transfer coefficient. 1


ray

scale_heat_trans_coef f _f il Scaling applied to the film heat transfer coefficient. 1


m

scale_mass_trans_coef f _f il Scaling applied to the film mass transfer coefficient. 1


m

num_inj ectors Number of injectors in the simulation. Repeat the following N/A
parameters (from num_parcel_species to num_nozzles) for each
injector in the simulation.

780 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

#injector#

spray_inj ect_bc_f lag 0 = Regular spray injection; N/A


1 = Map liquid parcels for injectors using data from a VOF
simulation (vof _spray.dat required);
2 = ELSA model;
10 = Map liquid parcels for injectors using data from a VOF
simulation (vof _spray.dat required) and use the nozzle
diameter specified by noz_diameter (use 10 when the nozzle
is not a full circle);
11 = Map liquid parcels for injectors using data from a VOF
simulation (vof _spray.dat required) but first translate the
position data in vof _spray.dat according to the difference in
position between the Lagrangian simulation injector (given
by x_cen_inj , y_cen_inj , and z_cen_inj ) and the VOF
simulation injector (given by Inj ector_Center in vof _spray.dat);
12 = Map liquid parcels for injectors using data from a VOF
simulation (vof _spray.dat required) but first rotate the data in
vof _spray.dat according to the difference in orientation
between the Lagrangian simulation injector (given by
angle_xy_inj and angle_xz_inj ) and the VOF simulation
injector (given by Inj ector_Axi_Vec in (vof _spray.dat);
13 = Map liquid parcels for injectors using data from a VOF
simulation (vof _spray.dat required) but first translate and
then rotate the data (as described for 11 and 12);
14 = Map liquid parcels for injectors using data from a VOF
simulation (vof _spray.dat required) but first copy the
attributes of the specified nozzle to the remaining nozzles
(only one nozzle per injector is allowed with this option,
and you must set nozzle_init_f lag = 2).

vof _spray_f ilename Must be set to vof _spray.dat. Reserved for future use. vof _spray.dat

vof _spray_mass_per_parc Maximum mass (in kg) that CONVERGE assigns to each N/A
el liquid parcel. Not used when spray_inj ect_bc_f lag = 0 or 2.

vof _spray_liq_f rac_thresh If a cell has a liquid volume fraction equal to or greater than N/A
old the specified threshold, CONVERGE injects liquid parcels
according to the data from vof _spray.dat. (If the volume
fraction is less than the threshold, CONVERGE does not
inject liquid parcels. Not used when spray_inj ect_bc_f lag = 0
or 2.

num_parcel_species Number of parcel species for the current injector. N/A

name and mass fraction Parcel species name and mass fraction. There should be N/A
num_parcel_species rows of names and mass fractions.

CONVERGE 2.4 Manual 781


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

nozzle_init_f lag Nozzle location/orientation flag. N/A


0 = Nozzle locations and orientations to be set using a polar
coordinate system,
1 = Nozzle locations and orientations to be set using a
Cartesian coordinate system (required for VOF-spray
coupling where spray_inj ect_bc_f lag = 1, 10, 11, 12, or 13),
2 = Only the first nozzle is specified and the remaining
nozzles’ attributes are copied from the first nozzle, with the
exception of theta_noz and angle_xy_noz, which are defined
automatically. Option 2 uses a polar coordinate system.

x_cen_inj The x coordinate of the injector. Used only when N/A


noz_init_f lag = 0 or 2. For illustrations, refer to Chapter 12 -
Discrete Phase Modeling.

y_cen_inj The y coordinate of the injector. Used only when N/A


noz_init_f lag = 0 or 2. For illustrations, refer to Chapter 12 -
Discrete Phase Modeling.

z_cen_inj The z coordinate of the injector. Used only when N/A


noz_init_f lag = 0 or 2. For illustrations, refer to Chapter 12 -
Discrete Phase Modeling.

angle_xy_inj Injector rotation angle in the xy plane. Used only when N/A
noz_init_f lag = 0 or 2. For illustrations, refer to Chapter 12 -
Discrete Phase Modeling.

angle_xz_inj Injector rotation angle in the xz plane. Used only when N/A
noz_init_f lag = 0 or 2. For illustrations, refer to Chapter 12 -
Discrete Phase Modeling.

cone_f lag Spray cone flag. N/A


0 = Hollow cone,
1 = Solid cone.
Temporal type and Specify whether the injection is SEQUENTIAL or CYCLIC. If N/A
period CYCLIC, the period (in seconds if crank_f lag = 0 or in crank
angle degrees if crank_f lag = 1 or 2) must follow the keyword
CYCLIC.

inj ect_start_time Start of injection (seconds or crank angle degrees). This N/A
parameter can be a tabular profile (inj ect_start_time.in) for
variable RPM cases. See Chapter 12 - Discrete Phase
Modeling.

inj ect_duration Duration of injection (seconds or crank angle degrees). This N/A
parameter can be a tabular profile (inj ect_duration.in) for
variable RPM cases. See Chapter 12 - Discrete Phase
Modeling.

num_parcels_per_nozzle Total number of computational parcels to be injected for N/A


each nozzle of the injector.

782 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

inj ect_mass Total spray mass (kg) injected in the computational domain N/A
for the current injector. This parameter can be a tabular
profile (inj ect_mass.in) for variable RPM cases. See Chapter
12 - Discrete Phase Modeling. For sector simulations,
inj ect_mass is only for the simulated nozzles.

When the steady-state solver is active (steady_solver_f lag = 1


in inputs.in), this parameter corresponds to mass injected per
unit time (kg/ s).

temp_f lag 0 = Constant temperature (as specified by inj ect_temp [see N/A
below]),
1 = Read temperature values from vof _spray.dat and apply
scale_temp and of f set_temp [see below].

inj ect_temp Liquid spray temperature (K) at the time of injection. N/A

scale_temp Temperature scale factor. Must be between 0 and 1, N/A


inclusive. Only used when temp_f lag = 1.

of f set_temp Temperature offset (K). Only used when temp_f lag = 1. N/A

tke_f lag 0 = Constant TKE (as specified by inj ect_tke [see below]), N/A
1 = Read TKE values from vof _spray.dat and apply scale_tke
and of f set_tke [see below].

inj ect_tke TKE (m2/ s2) at the time of injection. N/A

scale_tke TKE scale factor. Must be between 0 and 1, inclusive. Only N/A
used when tke_f lag = 1.

of f set_tke TKE offset (K). Only used when tke_f lag = 1. N/A

eps_f lag 0 = Constant EPS (as specified by inj ect_eps [see below]), N/A
1 = Read EPS values from vof _spray.dat and apply scale_eps
and of f set_eps [see below].

inj ect_eps EPS (m2/ s3) at the time of injection. N/A

scale_eps EPS scale factor. Must be between 0 and 1, inclusive. Only N/A
used when eps_f lag = 1.

of f set_eps EPS offset (K). Only used when eps_f lag = 1. N/A

init_cell_turb_f lag 0 = At the beginning of the simulation, initialize the gas cell N/A
TKE and EPS based on values in initialize.in,
1 = Set the gas cell TKE and EPS according to the values in
vof _spray.dat.

CONVERGE 2.4 Manual 783


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

inj ect_distribution_f lag Injection drop distribution flag. N/A


0 = No distribution,
1 = Chi-squared distribution,
2 = Rosin-Rammler distribution,
3 = Injected parcel radius is set to 0.5*smd_dist. This option
allows for a constant injected radius that is independent of
the nozzle diamter (noz_diameter).
Enter a file name (e.g., inj dist.in) instead of a number to
specify an injection profile in a input file. The file name must
be in quotation marks.

q_rr Rosin-Rammler distribution parameter (used for any model 3.5


in which you have activated the Rosin-Rammler size
distribution).

kh_f lag KH breakup model flag. N/A


0 = No KH model,
1 = KH model,
2 = KH-ACT model.

kh_new_parcel_f lag New child parcel flag. N/A


0 = No child parcels,
1 = Child parcels.

kh_newparcel_cutof f Fraction of injected mass per parcel used for determining 0.03 - 0.10
when to create a new parcel. Only used when
new_parcel_f lag = 1.

kh_shed_f actor Fraction of parent parcel mass that goes into child parcels. 0.1 - 1.0

kh_balpha KH model size constant. 0.61

kh_const1 KH model velocity constant. 0.188

kh_const2 KH model time constant. 5 - 100

kh_no_enlarge_f lag KH enlargement flag. 0


0 = Activate drop enlargement for the KH model,
1 = Deactivate drop enlargement for the KH model.

khact_nozzle_f low_f lag 0 = Tke, eps, and nozzle contraction coefficients are N/A
calculated by CONVERGE,
1 = Tke, eps, and nozzle contraction coefficients are
provided in a separate input file (see next row).

khact_nozzle_f low_f ilena The name of the file that contains nozzle flow data. Only N/A
me needed when noz_f low_f lag = 1.

khact_turb_kc KH-ACT model constant for turbulence-induced breakup. 0.45

khact_turb_ke KH-ACT model constant for turbulence-induced breakup. 0.27

khact_turb_s KH-ACT model constant for turbulence-induced breakup. 0.01

784 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

khact_c_tcav KH-ACT model constant for turbulence- or cavitation- 0.1 - 1.0


induced breakup.

rt_f lag RT breakup model flag. N/A


0 = No RT breakup,
1 = RT breakup activated (if kh_f lag = 1 and rt_f lag = 1,
CONVERGE will use the KH-RT model),
2 = RT breakup activated (if new_parcel_f lag = 1, kh_f lag = 1,
and rt_f lag = 2, CONVERGE will use the modified KH-RT
model).

rt_distribution_f lag 0 = No drop size distribution with RT breakup, N/A


1 = χ 2 distribution with RT breakup,
2 = Rosin-Rammler distribution with RT breakup. If 2,
CONVERGE uses the Rosin-Rammler distribution
parameter q_rr.

rt_const2b RT model time constant. 1.0

rt_const3 RT model size constant. 0.1 - 1.0

rt_length_const RT model breakup length constant. 0 - 50

tab_f lag TAB breakup model flag. N/A


0 = No TAB breakup,
1 = TAB breakup activated.

tab_distribution_f lag TAB drop size distribution flag. N/A


0 = No drop size distribution with TAB breakup,
1 = Chi-squared distribution with TAB breakup,
2 = Rosin-Rammler distribution with TAB breakup. If 2,
CONVERGE uses the Rosin-Rammler distribution
parameter q_rr.

lisa_f lag LISA breakup model flag. N/A


0 = No LISA breakup,
1 = LISA breakup activated.

lisa_length_const LISA model breakup length constant. 12.0

lisa_size_const LISA model breakup size constant. 0.5

lisa_distribution_f lag LISA drop size distribution flag. N/A


0 = No drop size distribution with LISA breakup,
1 = Chi-squared distribution with LISA breakup,
2 = Rosin-Rammler distribution with LISA breakup. If 2,
CONVERGE uses the Rosin-Rammler distribution
parameter q_rr.

lisa_inj ection_pres Injection pressure (used for LISA model parcel N/A
initialization).

CONVERGE 2.4 Manual 785


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

discharge_coef f _f lag Nozzle discharge coefficient model flag. N/A


0 = No discharge coefficient model,
1 = Discharge coefficient model with varying nozzle velocity
coefficient,
2 = Discharge coefficient model with nozzle velocity
coefficient equal to one.

discharge_coef f Profile of discharge coefficient rate-shape for current injector: 0.4 - 1.0
either a constant value or a file name (e.g.,
discharge_coef f _inj <num>.in) in quotation marks.

swirl_f raction The fraction of the spray that is in the azimuthal direction in 0 for a non-
a cylindrical coordinate system. Must be between -1 and 1, swirling
inclusive. Only works for a hollow cone (cone_f lag = 0). Refer spray.
to the Injector Inputs section of the Discrete Phase Modeling
chapter for a more detailed definition of swirl_f raction.

rate_shape Profile of rate-shape for current injector: either CONSTANT N/A


or a file name (e.g., rateshape_inj <num>.in) in quotation
marks.

num_nozzles Number of nozzles for current injector. For each nozzle, N/A
repeat the parameters from noz_diameter to zz_vec.
#nozzle#

noz_diameter Nozzle diameter (m).: either a constant value or a file name N/A
(e.g., noz_diameter_inj <num>.in) in quotation marks.

noz_length Nozzle length (m). Used only when the KH-ACT model is N/A
active (i.e., when kh_f lag = 2).

smd_distribution Sauter mean diameter (m) when a distribution is used (i.e.,


inj ect_distribution_f lag = 1, 2, or 3).

amp_distort Initial drop distortion amplitude for TAB breakup model. N/A

radius_inj ect Circular injection radius (m). For a hollow cone spray, N/A
parcels are injected on the circumference of the circle. For a
solid cone spray, parcels are injected inside of the circle.
Specify a file name (e.g., inj _radius_inj <num>.in) to set up a
cone angle profile.

noz_cone Spray cone angle (degrees). Specify a file name (e.g., N/A
cone_angle_inj <num>.in) to set up a cone angle profile.

noz_thickness Spray thickness (deg.). Only used for hollow cone sprays N/A
(cone_f lag = 0).

noz_radial_dist Nozzle radial position (m). Used only when noz_init_f lag = 0 N/A
or 2. For illustrations, refer to Chapter 12 - Discrete Phase
Modeling.

786 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

noz_axial_dist Nozzle axial position (m). Used only when noz_init_f lag = 0 N/A
or 2. For illustrations, refer to Chapter 12 - Discrete Phase
Modeling.

noz_theta Nozzle azimuthal position (m). Used only when N/A


noz_init_f lag = 0 or 2. For illustrations, refer to Chapter 12 -
Discrete Phase Modeling.

noz_angle_xy Nozzle tilt angle in the xy plane position (degrees). Used only N/A
when noz_init_f lag = 0 or 2. For illustrations, refer to Chapter
12 - Discrete Phase Modeling and note that this figure is
drawn with the assumption that the injector center is at the
origin, the axis of the injector is aligned with the z axis, and
injection is in the negative z direction.

noz_angle_xz Nozzle tilt angle in the xz plane position (degrees). Used only N/A
when noz_init_f lag = 0 or 2. For illustrations, refer to Chapter
12 - Discrete Phase Modeling and note that this figure is
drawn with the assumption that the injector center is at the
origin, the axis of the injector is aligned with the z axis, and
injection is in the negative z direction.

noz_xx The x coordinate of nozzle (m). Used only when noz_init_f lag N/A
= 1.

noz_yy The y coordinate of nozzle (m). Used only when noz_init_f lag N/A
= 1.

noz_zz The z coordinate of nozzle (m). Used only when noz_init_f lag N/A
= 1.

noz_xx_vec The x component of the spray orientation unit vector. Used N/A
only when noz_init_f lag = 1.

noz_yy_vec The y component of the spray orientation unit vector. Used N/A
only when noz_init_f lag = 1.

noz_zz_vec The z component of the spray orientation unit vector. Used N/A
only when noz_init_f lag = 1.

CONVERGE 2.4 Manual 787


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

#!csi_version=2.4
#================

0 cone_distribution_flag
0.97 penet_frac
0.001 penet_bin_size
0.001 vapor_penet_frac
1 breakup_flag
0 init_film_flag
0 spray_wall_flag
0 film_splash_model
5.0 weber_rebound
0 splash_criterion_flag
3330.0 splash_critical_value
1.0 splash_fraction
1.1 splash_tstar_critical
0 splash_wruck_model_flag
3.0 separation_const
0 film_strip_flag
12.0 film_strip_time_const
0.5 film_strip_size_const
2 collision_flag
1 collision_outcome_flag
0 collision_mesh_flag
2 collision_scale
0 film_mesh_flag
0 film_mesh_scale
2 drag_flag
0.08333 tab_cfocbck
10.0 tab_csubd
8.0 tab_csubk
1 turb_dispersion_flag
1 parcel_evap_model
0 evap_source_flag
c7h16 evap_species
4.16e-06 evap_d0_diffuse
1.6 evap_n_diffuse
1000.0 evap_big_drop_radius
15 evap_layers_per_drop
0 evap_recirculation_flag
1000 evap_thick_film_height
10 evap_layers_per_film
0 urea_flag
1 scale_heat_trans_coeff_spray
1 scale_mass_trans_coeff_spray
1 scale_heat_trans_coeff_film
1 scale_mass_trans_coeff_film
1 num_injectors
#=============================================
# Injector 0
#---------------------------------------------
0 spray_inject_bc_flag
vof_spray.dat vof_spray_filename
1e-16 vof_spray_mass_per_parcel
0.0 vof_spray_liq_frac_threshold
1 num_parcel_species
DIESEL2 1.0
0 nozzle_init_flag
0.0 x_cen_inj

788 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

0.0 y_cen_inj
-0.0032208 z_cen_inj
0.0 angle_xy_inj
0.0 angle_xz_inj
1 cone_flag
CYCLIC 720
-9.0 inject_start_time
21.0 inject_duration
50000 num_parcels_per_nozzle
2.70167e-05 inject_mass
1 temp_flag
341.0 inject_temp
1.0 scale_temp
0.0 offset_temp
1 tke_flag
3000.0 inject_tke
1.0 scale_tke
0.0 offset_tke
1 eps_flag
300.0 inject_eps
1.0 scale_eps
0.0 offset_eps
0 init_cell_turb_flag
0 inject_distribution_flag
3.5 q_rr
1 kh_flag
1 kh_new_parcel_flag
0.05 kh_new_parcel_cutoff
1.0 kh_shed_factor
0.6 kh_balpha
0.188 kh_const1
7.0 kh_const2
0 kh_no_enlarge_flag
0 khact_nozzle_flow_flag
noz_flow.in khact_nozzle_flow_filename
0.45 khact_turb_kc
0.27 khact_turb_ke
0.01 khact_turb_s
0.1 khact_c_tcav
2 rt_flag
0 rt_distribution_flag
1.0 rt_const2b
0.1 rt_const3
99999.9 rt_length_const
0 tab_flag
0 tab_distribution_flag
0 lisa_flag
12.0 lisa_length_const
0.5 lisa_size_const
0 lisa_distribution_flag
5000000.0 lisa_injection_pres
1 discharge_coeff_flag
0.7 discharge_coeff
0.0 swirl_fraction
"rateshape_inj1.in" rate_shape
1 num_nozzles
#=============================================
# Nozzle 0@Injector 0
#---------------------------------------------

CONVERGE 2.4 Manual 789


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

0.000259 noz_diameter
2e-05 noz_length
0.000259 smd_distribution
0.0 amp_distort
0.0001295 radius_inject
9.0 noz_cone
9.0 noz_thickness
0.00097 noz_radial_dist
0.0 noz_axial_dist
0.0 noz_theta
0.0 noz_angle_xy
62.5 noz_angle_xz
0.0 noz_xx
0.0 noz_yy
0.0 noz_zz
0.0 noz_xx_vec
0.0 noz_yy_vec
0.0 noz_zz_vec
Figure 22.40: An example spray.in file.

Initialization of Wall Film - film_init.in


If init_f ilm_f lag = 1 in spray.in, you must include the f ilm_init.in file. This file defines how to
initialize the wall film. A wall film can be initialized on an entire boundary or in a circular
or rectangular shape. Table 22.34 below describes the parameters in f ilm_init.in. Figures
22.41, 22.42, and 22.43 show example files for the initialization of a wall film in a circle, in
a rectangle, and as an entire boundary, respectively.

Table 22.34: Description of f ilm_init.in parameters.


Keyword Parameter Description

CIRCLE x_center Center of the wall film circle.

normal vector Normal vector to the wall film.

radius Radius of the wall film circle.

f ilm_mass_type 0 = Film mass is specified,


1 = Film thickness is specified.

f ilm_mass Mass (kg). Used only when f ilm_mass_type = 0.

thickness Film thickness (m). Used only when f ilm_mass_type = 1.

f ilm_temp Initial wall film temperature (K).

num_parcels Number of parcels that comprise the initial wall film.

drop_size Wall film parcel radius (m).

num_speciesinit Number of liquid wall film species.

species names There should be num_speciesinit lines, each of which lists a


and mass species name and the corresponding mass fraction.
fractions

790 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Keyword Parameter Description

RECTANGLE x_center Center of the wall film rectangle.

normal vector Normal vector to the wall film.

tangential_vector Tangential vector to one side of the rectangle.

x_size Two numbers that specify the side lengths of the rectangle. The
first side length should be for the side in the direction of the
tangential vector.

f ilm_mass_type 0 = Film mass is specified,


1 = Film thickness is specified.

f ilm_mass Mass (kg). Used only when f ilm_mass_type = 0.

thickness Film thickness (m). Used only when f ilm_mass_type = 1.

f ilm_temp Initial wall film temperature (K).

num_parcels Number of parcels that comprise the initial wall film.

drop_size Wall film parcel radius (m).

num_speciesinit Number of liquid wall film species.

species names There should be num_speciesinit lines, each of which lists a


and mass species name and the corresponding mass fraction.
fractions
BOUNDARY boundary_id Boundary ID of the boundary of interest.

x_center Center of the wall film.

normal vector Normal vector to the wall film.

f ilm_mass_type 0 = Film mass is specified,


1 = Film thickness is specified.

f ilm_mass Mass (kg). Used only when f ilm_mass_type = 0.

thickness Film thickness (m). Used only when f ilm_mass_type = 1.

f ilm_temp Initial wall film temperature (K).

num_parcels Number of parcels that comprise the initial wall film.

drop_size Wall film parcel radius (m).

num_speciesinit Number of liquid wall film species.

species names There should be num_speciesinit lines, each of which lists a


and mass species name and the corresponding mass fraction.
fractions

CONVERGE 2.4 Manual 791


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

#!csi_version=2.4
#=======================

CIRCLE
-0.1 0.0 -0.02 x_center
0.05 radius
0.0 0.0 -1.0 normal_vector
1 film_mass_type
1.0 film_mass
100e-6 thickness
298.0 film_temp
10000 num_parcels
2.5e-5 drop_size
1 num_speciesinit
ic8h18 1.0
Figure 22.41: An example f ilm_init.in file for a circular wall film.

#!csi_version=2.4
#=======================

RECTANGLE
-0.001 0.0 0.002 x_center
0.015 0.01 x_size
0.0 1.0 0.0 tangential_vector
0.0 0.0 -1.0 normal_vector
0 film_mass_type
1.0e-5 film_mass
2.0e-5 thickness
335.0 film_temp
5000 num_parcels
2.5e-5 drop_size
2 num_speciesinit
ic8h18 0.23
c7h16 0.77
Figure 22.42: An example f ilm_init.in file for a rectangular wall film.

#!csi_version=2.4
#=======================

BOUNDARY
1 boundary_id
0 film_mass_type
1.0e-5 film_mass
2.0e-5 thickness
335.0 film_temp
5000 num_parcels
2.5e-5 drop_size
2 num_speciesinit
ic8h18 0.23
c7h16 0.77
Figure 22.43: An example f ilm_init.in file for a wall film on an entire boundary.

792 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Urea-Water Depletion - urea.in


To use the molten solid approach for urea decomposition, set urea_f lag = 2 in spray.in and
include a urea.in file. Table 22.35 below describes the urea.in parameters, and Figure 22.14
shows a sample urea.in file for the molten solid approach. Refer to Chapter 12 - Discrete
Phase Modeling for a description of the molten solid approach for urea decomposition.

Table 22.35: Description of urea.in.


Parameter Description Typical Value

urea_a Prefactor for the Arrhenius correlation (kg/ (m-s)). 0.42

urea_ea Activation energy for the Arrhenius correlation 6.9e7


(J/ kmol).

urea_hdcmp Enthalpy change due to urea decomposition (J/ kg). 3.088e6

urea_A_E Arrhenius prefactor (kg/ (m-s)) and activation 8.5e6, 8.4e4


energy (J/ kmol) for reaction R1.

urea_A_E Arrhenius prefactor (kg/ (m-s)) and activation 1.5e2, 4.0e4


energy (J/ kmol) for reaction R2.

urea_A_E Arrhenius prefactor (kg/ (m-s)) and activation 6.2e11, 1.0e4


energy (J/ kmol) for reaction R3.

urea_A_E Arrhenius prefactor (kg/ (m-s)) and activation 7.0e32, 1.15e5


energy (J/ kmol) for reaction R4.

urea_A_E Arrhenius prefactor (kg/ (m-s)) and activation 1.5e24, 2.5e5


energy (J/ kmol) for reaction R5.

urea_A_E Arrhenius prefactor (kg/ (m-s)) and activation 2.5e36, 1.5e5


energy (J/ kmol) for reaction R6.

urea_A_E Arrhenius prefactor (kg/ (m-s)) and activation 3.0e18, 2.6e5


energy (J/ kmol) for reaction R7.

urea_A_E Arrhenius prefactor (kg/ (m-s)) and activation 3.0e23, 3.5e4


energy (J/ kmol) for reaction R8.

urea_A_E Arrhenius prefactor (kg/ (m-s)) and activation 6.0e14, 2.2e5


energy (J/ kmol) for reaction R9.

urea_A_E Arrhenius prefactor (kg/ (m-s)) and activation 1.8e10, 8.4e4


energy (J/ kmol) for reaction R10.

urea_A_E Arrhenius prefactor (kg/ (m-s)) and activation 5.0e27, 5.9e4


energy (J/ kmol) for reaction R11.

urea_A_E Arrhenius prefactor (kg/ (m-s)) and activation 3.5e32, 1.15e5


energy (J/ kmol) for reaction R12.

CONVERGE 2.4 Manual 793


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

urea_A_E Arrhenius prefactor (kg/ (m-s)) and activation 1.16e46, 4.89e5


energy (J/ kmol) for the clipped R1 reaction.

urea_A_E Arrhenius prefactor (kg/ (m-s)) and activation 4.0e35, 3.86e5


energy (J/ kmol) for the clipped R2 reaction.

urea_A_E Arrhenius prefactor (kg/ (m-s)) and activation 6.35e34, 2.48e5


energy (J/ kmol) for the clipped R3 reaction.

SCALING_FACTOR_A Global Arrhenius prefactor scaling factor. 2.0

SCALING_FACTOR_E Global Arrhenius activation energy scaling factor. 0.95

#!csi_version=2.4
#=======================

# Molten solid urea coefficients


0.42 urea_a
6.9e+7 urea_ea
3.088e+6 urea_hdcmp

Figure 22.44: An example urea.in file for the molten solid approach.

To use the detailed decomposition approach for urea decomposition, set urea_f lag = 3 in
spray.in and include a urea.in file. Figure 22.14 shows a sample urea.in file for detailed
decomposition. Refer to Chapter 12 - Discrete Phase Modeling for a description of the this
approach.

#!csi_version=2.4
#=======================u
#urea_flag==2
0.42 urea_a urea_a.
69000000.0 urea_ea urea_ea.
3088000.0 urea_hdcmp urea_hdcmp.
# urea_flag=3: Detailed Decomposition 15 reactions
8.50E+006 8.40E+004 urea_A_E #(R1 ) urea-> NH+ + NCO-
1.50E+002 4.00E+004 urea_A_E #(R2 ) NH+ -> NH3(g) + H+
6.20E+011 1.00E+004 urea_A_E #(R3 ) NCO- + H+ -> HNCO(g)
7.00E+032 1.15E+005 urea_A_E #(R4 ) urea + NCO- + H+ -> biuret
1.50E+024 2.50E+005 urea_A_E #(R5 ) biuret -> urea + NCO- + H+
2.50E+036 1.50E+005 urea_A_E #(R6 ) biuret + NCO- + H+ -> cya + NH3(g)
3.00E+018 2.60E+005 urea_A_E #(R7 ) cya -> 3NCO- + 3H+
3.10E+023 3.50E+004 urea_A_E #(R8 ) cya + NCO- + H+ -> ammelide + CO2
6.00E+014 2.20E+005 urea_A_E #(R9 ) ammelide -> 2NCO- + 2H+ + HCN(g) + NH(g)
1.80E+010 8.40E+004 urea_A_E #(R10) urea(aq) -> NH+ + NCO-
5.00E+027 5.90E+004 urea_A_E #(R11) NCO- + H+ + H2O(aq) -> NH3 + CO2(g)
3.50E+032 1.15E+005 urea_A_E #(R12) urea (aq) + NCO- + H+ -> biuret
1.16E+046 4.89E+005 urea_A_E #(R1 clip)
4.00E+035 3.86E+005 urea_A_E #(R2 clip)
6.35E+034 2.48E+005 urea_A_E #(R3 clip)
2.0 SCALING_FACTOR_A
0.95 SCALING_FACTOR_E

Figure 22.45: An example urea.in file for detailed decomposition. Note that urea_A_E is required on
each line that contains reaction coefficients.

794 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Injection Distribution - injdist.in


CONVERGE includes several options for the injection drop distribution
(inject_distribution_f lag in spray.in). To specify your own injection drop distribution, specify
a file name (e.g., injdist.in) for inject_distribution_f lag and include that file in the Case
Directory. Table 22.36 below describes the required format of injdist.in (except for the
header). Figure 22.14 shows a sample injdist.in file.

Table 22.36: Parameters in injdist.in.


Column Column Description
Header
1 value 1, 2, 3, etc.
2 vol_frac Cumulative volume fraction. Must be a cumulative distribution function (i.e.,
the first value must be for a volume fraction of 0.0, and the last value must be
for a volume fraction of 1.0).
3 diameter Diameter (m).

tabular
sequential
value vol_frac diameter
1 0.0 0.0e-06
2 1.08681E-05 10.0e-06
3 0.000141233 20.0e-06
.
.
49 0.999999986 480.0e-06
50 0.999999997 490.0e-06
51 1.0 500.0e-06

Figure 22.46: An example injdist.in file.

Injector Rate-Shape Files - rateshape_inj<num>.in


For each injector, the mass flow rate, discharge coefficient, nozzle diameter, injection
radius, and spray cone angle can vary in time. This variation is controlled in each case by a
corresponding rate-shape file.

Unless you have specified CONSTANT for the injector mass flow rate, you must provide a
rateshape_inj<num>.in file. Table 22.37 below describes the required format of
rateshape_inj<num>.in (except for the header). Figure 22.14 shows a sample
rateshape_inj<num>.in file.

CONVERGE 2.4 Manual 795


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

The first line of the file must be TEMPORAL. The second line indicates the temporal type:
CYCLIC (must be followed by the period) or SEQUENTIAL.

Table 22.37: Parameters in rateshape_inj<num>.in.


Column Column Description
Header
1 crank or time Time in seconds if crank_f lag = 0 or in crank angle degree if crank_f lag = 1 or 2.

2 rate_shape Rate-shape value at this crank angle degree or time. Note that CONVERGE
normalizes the entire rate-shape to match the specified total injection mass.

#!csi_version=2.4
#=======================

TEMPORAL
SEQUENTIAL
CRANK rate_shape
1 1057.2
2 1141.0
3 3713.2
4 12518.0
5 22231.0
6 30167.0
7 36601.0
8 39283.0
9 41372.0
10 39233.0
11 37451.0
12 38671.0
13 39180.0
14 42454.0
15 42291.0
16 41575.0
17 41254.0
18 39946.0
19 40217.0
20 40845.0
21 41472.0
22 40716.0
23 40475.0
24 40944.0
25 40662.0

Figure 22.47: An example rateshape_inj<num>.in file.

If you did not specify a constant value for the discharge coefficient, you must provide a
discharge_coef f _inj<num>.in file. Table 22.38 below describes the required format of
discharge_coef f _inj<num>.in (except for the header). Figure 22.14 shows a sample
discharge_coef f _inj<num>.in file.

The first line of the file must be TEMPORAL. The second line indicates the temporal type:
CYCLIC (must be followed by the period) or SEQUENTIAL.

796 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Table 22.38: Parameters in discharge_coef f _inj<num>.in.


Column Column Description
Header
1 crank or time Time in seconds if crank_f lag = 0 or in crank angle degree if crank_f lag = 1 or 2.

2 discharge_co Discharge coefficient value at this crank angle degree or time. Note that this
eff coefficient may be modified depending on your setting of
discharge_coef f _f lag.

#!csi_version=2.4
#=======================

TEMPORAL
CYCLIC 0.0005
SECOND discharge_coeff
0 1e-1
0.00025 2e-1
0.00050 1e-1

Figure 22.48: An example discharge_coef f _inj<num>.in file.

If you did not specify a constant value for the nozzle diameter, you must provide a
noz_diameter_inj<num>.in file. Table 22.39 below describes the required format of
noz_diameter_inj<num>.in (except for the header). Figure 22.14 shows a sample
noz_diameter_inj<num>.in file.

The first line of the file must be TEMPORAL. The second line indicates the temporal type:
CYCLIC (must be followed by the period) or SEQUENTIAL.

Table 22.39: Parameters in noz_diameter_inj<num>.in.


Column Column Description
Header
1 crank or time Time in seconds if crank_f lag = 0 or in crank angle degree if crank_f lag = 1 or 2.

2 noz_diameter Nozzle diameter value (in m) at this crank angle degree or time.

#!csi_version=2.4
#=======================

TEMPORAL
CYCLIC 0.0005
SECOND noz_diameter
0 1e-1
0.00025 2e-1
0.00050 1e-1

Figure 22.49: An example noz_diameter_inj<num>.in file.

CONVERGE 2.4 Manual 797


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

If you did not specify a constant value for the injection radius, you must provide a
inj_radius_inj<num>.in file. Table 22.40 below describes the required format of
inj_radius_inj<num>.in (except for the header). Figure 22.14 shows a sample
inj_radius_inj<num>.in file.

The first line of the file must be TEMPORAL. The second line indicates the temporal type:
CYCLIC (must be followed by the period) or SEQUENTIAL.

Table 22.40: Parameters in inj_radius_inj<num>.in.


Column Column Description
Header
1 crank or time Time in seconds if crank_f lag = 0 or in crank angle degree if crank_f lag = 1 or 2.

2 inj_radius Injection radius value (in m) at this crank angle degree or time.

#!csi_version=2.4
#=======================

TEMPORAL
CYCLIC 0.0005
SECOND inj_radius
0 1e-1
0.00025 2e-1
0.00050 1e-1

Figure 22.50: An example inj_radius_inj<num>.in file.

If you did not specify a constant value for the injection radius, you must provide a
cone_angle_inj<num>.in file. Table 22.41 below describes the required format of
cone_angle_inj<num>.in (except for the header). Figure 22.14 shows a sample
cone_angle_inj<num>.in file.

The first line of the file must be TEMPORAL. The second line indicates the temporal type:
CYCLIC (must be followed by the period) or SEQUENTIAL.

Table 22.41: Parameters in cone_angle_inj<num>.in.


Column Column Description
Header
1 crank or time Time in seconds if crank_f lag = 0 or in crank angle degree if crank_f lag = 1 or 2.

2 cone_angle Spray cone angle value (in deg) at this crank angle degree or time.

#!csi_version=2.4
#=======================

TEMPORAL
CYCLIC 720

798 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

crank cone_angle
101.1 10
250 20
400 30
550 40
600 50
700 40

Figure 22.51: An example cone_angle_inj<num>.in file.

Eulerian-Lagrangian Spray Atomization - elsa.in


To activate ELSA, set spray_f lag = 1 and vof _f lag = 1 in inputs.in and include an elsa.in file
in the Case Directory. Table 22.42 below describes the parameters in elsa.in, and Figure
22.52 provides an example file.

Table 22.42: Description of elsa.in.


Parameter Description Typical Value

elsa_transition_f Flag to turn on ELSA transition. N/A


lag 0 = No ELSA parcel transition.
1 = ELSA parcel transition
activated.

elsa_transition_ Maximum gas volume fraction 0.8


alpha in a cell before Eulerian fluid is
converted to Lagrangian
parcels. Transition occurs only
if both criteria are satisfied.

elsa_transition_ Maximum ratio between fluid 1.2


area_ratio surface area and the minimum
fluid surface area in the cell.
Transition occurs only if both
criteria are satisfied.

elsa_min_diamet Minimum diameter of parcels 2e-8


er generated during Lagrangian
conversion (m).

elsa_mass_per_p Maximum mass per parcel 3e-8


arcel generated during Lagrangian
conversion (kg).

elsa_evap_f lag Flag to turn on Eulerian fluid N/A


evaporation.
0 = No Eulerian fluid
evaporation.
1 = Eulerian fluid evaporation
activated.

elsa_num_inj Number of injectors for the N/A


ELSA model. This number must

CONVERGE 2.4 Manual 799


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

match the number of injectors


for which spray_inj ect_bc_f lag =
2 in spray.in.

elsa_inj _id Injector ID number. N/A

elsa_sigma_cons First fluid surface area equation 4.0


t_1 tuning constant.

elsa_sigma_cons Second fluid surface area 1.0


t_2 equation tuning constant.

elsa_noz_id Nozzle ID number. N/A

elsa_region_id_ First region for this nozzle. N/A


1

elsa_region_id_ Second region for this nozzle. N/A


2

elsa_num_transi Number of regions in which N/A


tion_regions this nozzle can transition.

elsa_passive_liq Liquid species to use for this N/A


uid nozzle.

#!csi_version=2.4
#================

1 elsa_transition_flag
0.80 elsa_transition_alpha
1.2 elsa_transition_area_ratio
2e-08 elsa_min_diameter
3e-8 elsa_mass_per_parcel
0 elsa_evap_flag
1 elsa_num_inj
0 elsa_inj_id
4.0 elsa_sigma_const_1
1.0 elsa_sigma_const_2
0 elsa_noz_id
0 elsa_region_id_1
1 elsa_region_id_2
1 elsa_num_transition_regions
1 elsa_transition_region_id
liquid1 elsa_passive_liquid

Figure 22.52: An example elsa.in file.

22.7.2 Combustion Modeling - combust.in


To model combustion, set combustion_f lag = 1 in inputs.in and include a combust.in file in
the Case Directory. Table 22.43 below describes the parameters in combust.in. Figure 22.53
shows an example file. Chapter 13 - Chemistry Modeling describes the combustion models
and chemistry tools in detail.

800 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Table 22.43: Parameters in combust.in.


Parameter Description Typical Value

combust_region_f lag 0 = Combustion is not region N/A


dependent,
1 = Combustion (SAGE, G_EQN, or
ECFM3Z) is region dependent
(requires combust_region.in).
Temporal type and period The temporal type can be N/A
PERMANENT, SEQUENTIAL or
CYCLIC. If CYCLIC, it must be
followed by the period in seconds (if
crank_f lag = 0 in inputs.in) or crank
angle degrees (if crank_f lag = 1 or 2).

combust_start_time Combustion start time in seconds (if N/A


crank_f lag = 0 in inputs.in) or crank
angle degrees (if crank_f lag = 1 or 2).

combust_end_time Combustion end time in seconds (if N/A


crank_f lag = 0 in inputs.in) or crank
angle degrees (if crank_f lag = 1 or 2).

combust_temp_cutof f Minimum cell temperature (K) for 600


combustion modeling.

combust_hc_minimum Minimum cell HC+CO species mole 1.0e-14–1.0e-18


fraction for combustion modeling.
#Emissions

emissions_f lag 0 = No emissions modeling, N/A


1 = Emissions modeling enabled
(requires emissions.in).

# SAGE

sage_f lag 0 = No SAGE detailed chemical N/A


kinetics solver,
1 = SAGE detailed chemical kinetics
solver,
11 = SAGE detailed chemical kinetics
solver (select this option when
g_eqn_f lag = 2, 3, 4, or 5).

sage_option Solve SAGE for constant volume CONSTANT_VOLUME


(CONSTANT_VOLUME) or constant
pressure (CONSTANT_PRESSURE).

CONVERGE 2.4 Manual 801


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description Typical Value

sage_ode_solver 0 = CVODE dense solver N/A


(recommended when total number of
species is no greater than 100),
1 = CVODE preconditioned iterative
solver,
2 = SuperLU as a preconditioner of
GMRES (recommended for
mechanisms with more than 500
species).

sage_solve_temp SAGE temperature solution flag. 0


0 = Do not re-solve temperature
unless the temperature change
exceeds sage_delta_temp,
1 = Always re-solve temperature.

sage_delta_temp Magnitude of the temperature change 1.0–2.0


above which the temperature will be
re-solved (K).

sage_analytic_j ac 0 = Solve Jacobian matrix 1


numerically,
1 = Solve Jacobian matrix
analytically.

sage_rel_tol Relative iteration error for each 1e-4


species.

sage_abs_tol Absolute iteration error for each 1e-14


species.

sage_reaction_multiplier Scaling factor of reaction rates. 1.0

sage_dmr_f lag 0 = No dynamic mechanism N/A


reduction,
1 = Dynamic mechanism reduction
enabled (requires sage_dmr.in).
#CEQ

ceq_f lag 0 = No CEQ equilibrium solver, N/A


1 = CEQ equilibrium solver,
2 = CEQ with mixing time scale.

ceq_species_subset_f lag 0 = CEQ species subset not defined, N/A


1 = CEQ species subset defined
(requires ceq_species.in).

ceq_cm2 Turbulent time scale constant for the N/A


CEQ model.
#Adaptive zoning

802 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description Typical Value

adaptive_zone_f lag 0 = No adaptive zoning, N/A


1 = Adaptive zoning enabled.

adaptive_zone_bin_dim Dimension of adaptive zoning bins. N/A


Must be at least 2.

adaptive_zone_bin_<variable_of Two variables are required: A tolerance of 1e-4 in cube root


_interest> · adaptive_zone_bin_temp for space will lead to a bin size of
temperature 1e-12 in the species mass
· adaptive_zone_bin_react_ratio for fraction. CONVERGE requires
progress equivalence ratio a tolerance of at least 1e-4 for
species mass fraction.
Other variables are optional:
· adaptive_zone_bin_equiv_ratio for
total equivalence ratio
· adaptive_zone_bin_pres for pressure
· adaptive_zone_bin_<species name>
(e.g., adaptive_zone_bin_c7h16) for
cube root of species mass fraction

For each adaptive_zone_bin_*


parameter, specify a numerical
tolerance or a file name (e.g.,
adaptive_zone_bin_temp.in) in
quotation marks. Smaller values will
improve the accuracy but increase the
computational cost.

There must be adaptive_zone_bin_dim


entries of adaptive_zone_bin_*.

adaptive_zone_nox_f lag 0 = Default adaptive zoning setting, 1


1 = Improves the accuracy of the NOx
emissions prediction (but decreases
the accuracy of other species
predictions) in adaptive zoning.

adaptive_zone_output_f lag 0 = No output for adaptive zoning, N/A


1 = Write output for adaptive zoning.

adaptive_zone_hr_map_f lag Use heat release for mapping. N/A

#Fuel name (applies to all combustion models below)

f uel_name Species name of the fuel. It must be N/A


included in the reaction mechanism
and thermodynamic data files as
well. Used by the CTC/Shell, NOx,
and soot models. Not used in cases
with multi-component fuels.

CONVERGE 2.4 Manual 803


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description Typical Value

#CTC

ctc_f lag 0 = No Characteristic Time N/A


Combustion (CTC) model,
1 = CTC model enabled.

ctc_init_time Time (in seconds if crank_f lag = 0 or in N/A


crank angle degrees if crank_f lag = 1 or
2) at which the CTC model will be
reinitialized. You can specify a file
name (e.g., ctc_init_time.in) for
reinitializing different regions at
different times.

ctc_mult_scale_f lag 0 = Single scale CTC model, N/A


1 = Multi-scale CTC model.

ctc_tau_f raction Time scale function for the multi- 0.05–1.0


scale CTC model.

ctc_cm2 Turbulent time scale constant for the 0.1–1.0


CTC model.

ctc_denomc Chemical time scale constant for the 7.68e9


CTC model.

ctc_temp_cutof f Shell/CTC transition temperature (K). 1000–1300


#Shell

shell_f lag 0 = No Shell ignition model, N/A


1 = Modified Shell ignition model
enabled,
2 = Original Shell model
(recommended).

shell_af 04 Ignition delay parameter for the Shell 1.0e5–5.0e5


model.
#FGM

f gm_f lag 0 = No Flamelet Generated Manifold N/A


(FGM) model,
1 = FGM model enabled.
#ECFM (premixed)

ecf m_f lag 0 = No Extended Coherent Flame N/A


Model (ECFM),
1 = ECFM enabled.

ecf m_stretch_alpha Constant for the turbulent stretch N/A


introduced by the surfaxe density
production term.

804 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description Typical Value

ecf m_destruct_beta Constant for the surface density N/A


destruction term.

ecf m_spark_f lag Laminar ignition (LI) spark model. N/A


0 = No spark model,
1 = ISSIM spark model (issim.in
required).

ecf m_auto_ignition_f lag 0 = No autoignition, 3 for diesel fuel cases.


1 = Tabulated kinetic ignition (TKI)
model.

ecf m_tki_table_f ilename The name of the file in H5 format (e.g., N/A
tki.h5) that provides two stages of
ignition delay at different
temperatures, pressures, equivalence
ratios, and EGR ratios. Required by
the TKI model.

ecf m_auto_ignition_tc Fuel consumption characteristic time 2.0e-5 for diesel fuel cases.
in the ignition model.

ecf m_post_ceq_f lag 0 = The burned zone is solved by the N/A


method of Colin et al. (2003),
1 = The burned zone is solved by the
CEQ method.

ecf m_reinit_f lag 0 = CONVERGE will not reinitialize N/A


the combustion domain (appropriate
for a single-cycle engine case),
1 = CONVERGE will reinitialize the
combustion domain (requires
ecf m3z_reinit.in).
2 = CONVERGE will automatically
reinitialize the combustion domain
one crank angle degree before the
combustion start time (does not
require ecf m3z_reinit.in).
#G-Equation

g_eqn_f lag 0 = No G-Equation model, 1


1 = Use the CEQ equilibrium model
inside the flame,
2 = Use the CEQ equilibrium model
inside the flame and the SAGE solver
outside the flame,
3 = Use the CEQ equilibrium model at
the flame front and the SAGE solver
inside and outside the flame,

CONVERGE 2.4 Manual 805


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description Typical Value

4 = Use the SAGE solver at the flame


front and inside and outside the
flame,
5 = Use the SAGE solver at the flame
front and inside the flame.

When g_eqn_f lag = 2, 3, 4, or 5, set


sage_f lag = 11.

g_eqn_init_value Initialization of G. Specify a -0.1


numerical value or a file name (e.g.,
g_eqn_init.in)

g_eqn_grad_g_f lag Method to reinitialize the gradient of 1


G.
0 = Explicit method,
1 = Sussman (implicit) method,
which is slower but more accurate.

g_eqn_g_temp_cutof f Temperature (K) above which G is N/A


initialized. Th G equation is always
solved at the flame front regardless of
temperature. Use this feature when
transitioning from one model (e.g.,
SAGE) to the G-Equation model.
Deactivate this feature by setting it to
a very large value (e.g., 5000 K).

g_eqn_spark_f lag 0 = Initialize G in source.in 0


(recommended),
1 = Use kernel model for ignition.

g_eqn_spark_ef f iciency G-Equation spark efficiency. Used N/A


when g_eqn_spark_f lag = 1.

g_eqn_num_kernel_init Number of spark kernels initialized 100


for the kernel model.

g_eqn_karlovitz_ignition Karlovitz ignition number. Ignition 80.0


will occur below this value.

g_eqn_c_chi G-Equation scalar dissipation N/A


constant.
#ECFM3Z (non-premixed)

ecf m3z_f lag 0 = No 3-Zone Extended Coherent N/A


Flame Model (ECFM3Z),
1 = ECFM3Z.

ecf m3z_mix_betam Mixing constant. N/A

806 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description Typical Value

ecf m3z_stretch_alpha Constant for the turbulent stretch N/A


introduced by the surface density
production term.

ecf m3z_destruct_beta Constant for the surface density N/A


destruction term.

ecf m3z_auto_ignition_f lag 0 = No autoignition, 3 for diesel fuel cases


1 = Tabulated kinetic ignition (TKI)
model enabled.

ecf m3z_tki_table_f ilename The name of the file (e.g., N/A


ignition_delay.dat) that provides two
stages of ignition delay at different
temperatures, pressures, equivalence
ratios, and EGR ratios. Required by
the tabulated kinetic ignition (TKI)
model.

ecf m3z_auto_ignition_tc Fuel consumption characteristic time 2.0e-5 for diesel fuel cases.
in the ignition model.

ecf m3z_post_ceq_f lag 0 = The burned zone is solved by the N/A


method of Colin et al. (2003),
1 = The burned zone is solved by the
CEQ method.

ecf m3z_reinit_f lag 0 = CONVERGE will not reinitialize N/A


the combustion domain (appropriate
for a single-cycle engine case),
1 = CONVERGE will reinitialize the
combustion domain (requires
ecf m3z_reinit.in).
2 = CONVERGE will automatically
reinitialize the combustion domain
one crank angle degree before the
combustion start time (does NOT
require ecf m3z_reinit.in).
#RIF

rif _f lag 0 = No Representative Interactive N/A


Flamelet (RIF) model,
1 = RIF model.

rif _nproc_f lamelet Number of processors for each 1


flamelet. Enter 1 to solve RIF in serial
or an integer greater than 1 to solve
RIF in parallel.

CONVERGE 2.4 Manual 807


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description Typical Value

rif _init_zmin Minimum value of Z (mixture 1e-5 for a diesel case


fraction) to initialize flamelet.

rif _unburned_temp_of f set Unburned temperature offset (K). 0.0

rif _f lamelet_c_chi Flamelet scalar dissipation constant. 2.0

rif _cf d_c_chi CFD scalar dissipation constant. 2.0

rif _chi_clip Maximum value of the scalar 1000.0


dissipation rate.

rif _num_f lamelets Number of flamelets in the RIF model. 1

rif _grid_type The nature of the grid in the z 4


coordinate.
1 = Equidistant grid,
2 = Equidistant grid with refinement
from Z_min (minimum fuel mass
fraction) to 2xZst (Z_st = fuel mass
fraction at equivalence ratio = 1),
3 = User-specified grid (this option is
currently not available),
4 = Hyperbolic grid (recommended).

rif _num_zgrids Number of grid points on the Z 101


coordinate.

rif _pdf _f lag 0 = Integration based on β probability 0


density function (PDF),
1 = Integration based on clipped
Gaussian PDF.

rif _transport_species_f lag 0 = CONVERGE will transport all 1


species,
1 = CONVERGE will transport only
the species listed as
rif _transport_species.

rif _num_transport_species Number of species that will be 7–10


transported by CONVERGE. Used
only when rif _transport_species_f lag =
1.
Species name(s) Name(s) of the species that will be Typical transport species: fuel,
transported by the CONVERGE flow O2, N2, CO, CO2, H2O, H2.
solver. Used only when Use NO for NOx emissions.
rif _transport_species_f lag = 1. Use C2H2 for soot emissions.

rif _num_bc0 Number of species for the oxidizer. 2

808 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description Typical Value

rif _num_bc1 Number of species for the fuel. 1


Currently only single-component
fuels are supported.

rif _f uel_temp Gaseous phase fuel temperature (K). 700

#Laminar Flamespeed and Table Options

sl_model Laminar flamespeed model. 2


0 = Constant,
1 = Metghalchi,
2 = Gulder,
3 = User-defined tables,
4 = Metghalchi and Keck (primarily
for ECFM or ECFM3Z),
11 = Metghalchi with different
correlation for gasoline,
21 = Gulder with different correlation
for gasoline.

sl_constant_laminar_f lamespeed Laminar flamespeed (m/ s). Used N/A


when sl_model = 0.

sl_temp_ref Reference temperature (K). Used 298


when sl_model = 1 or 2.

sl_pres_ref Reference pressure (Pa). Used when 101325


sl_model = 1 or 2.

sl_temp_a Constant (a) for the temperature See below.


exponent equation (only for the G-
Equation model):
  a  m(  1) .

sl_temp_m Slope (m) for the temperature Metghalchi: -0.8


exponent equation (only for the G- Gulder: 0

Equation model):
  a  m(  1) .

sl_pres_a Constant (a) for the pressure See below.


exponent equation (only for the G-
Equation model):
  a  m(  1) .

sl_pres_m Slope (m) for the pressure exponent Metghalchi: 0.22


equation (only for the G-Equation Gulder: 0

model):
  a  m(  1) .

sl_dilution Dilution species mass fraction (e.g., N/A


EGR).

sl_metghalchi_bm Metghalchi constant (m). Used only See below.


when sl_model = 1.

CONVERGE 2.4 Manual 809


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description Typical Value

sl_metghalchi_b2 Metghalchi constant (m). Used only See below.


when sl_model = 1.

sl_metghalchi_equiv_ratio Metghalchi reference equivalence See below.


ratio. Used only when sl_model = 1.

sl_gulder_omega Gulder coefficient for calculating See below.


laminar flamespeed. Used only when
sl_model = 2.

sl_gulder_eta Gulder coefficient for calculating See below.


laminar flamespeed. Used only when
sl_model = 2.

sl_gulder_xi Gulder coefficient for calculating See below.


laminar flamespeed. Used only when
sl_model = 2.
#Turbulence Flamespeed

st_model Turbulent flame-speed calculation N/A


model.
0 = No turbulent flamespeed model ,
1 = Peters flamespeed model (G-Eqn
and FGM),
11 = Modified Peters (G-Eqn),
2 = Zimont (FGM),
3 = Pitsch (G-Eqn with LES).

st_peters_a4 Turbulent flamespeed correlation 0.78


constant. Used only when st_model =
1 or 11.

st_peters_b1 Turbulent flamespeed correlation 2.0


constant. A larger value increases the
turbulent flamespeed while a smaller
value decreases the turbulent
flamespeed. This parameter has the
largest influence on the turbulent
flamespeed. Used only when st_model
= 1 or 11.

st_peters_b3 Turbulent flamespeed correlation 1.0


constant. Used only when st_model =
1 or 11.

st_peters_g_prime_cs Constant used to solve for the 2.0


variance of G.

st_zimont_a Turbulent flamespeed constant for N/A


the Zimont model. Used only when
st_model = 2.

810 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description Typical Value

st_pitsch_b1 Turbulent flamespeed correlation 2.0


constant. A larger value increases the
turbulent flamespeed while a smaller
value decreases the turbulent
flamespeed. This parameter has the
largest influence on the turbulent
flamespeed. Used only when sl_model
= 3.

st_pitsch_b3 Turbulent flamespeed correlation 1.0


constant. Used only when sl_model =
3.
#Output

mix_f rac_f lag 0 = No mixture fraction calculation, N/A


1 = Mixture fraction calculation
enabled.

mix_f rac_var_f lag 0 = No mixture fraction variance N/A


calculation,
1 = Mixture fraction variance
calculation enabled.

mix_f rac_c_chi Constant used in modeling the scalar 2.0


dissipation in the mixture fraction
variance calculation.

#!csi_version=2.4
#=======================

#Combust Start and End


0 combust_region_flag

-10.0 combust_start_time
135.0 combust_end_time
600.0 combust_temp_cutoff
1e-08 combust_hc_minimum

#Emissions
1 emissions_flag

#SAGE
1 sage_flag
constant_volume sage_option
0 sage_ode_solver
0 sage_solve_temp
2.0 sage_delta_temp
1 sage_analyt_jac
0.0001 sage_rel_tol
1e-14 sage_abs_tol
1.0 sage_reaction_multiplier
0 sage_dmr_flag

CONVERGE 2.4 Manual 811


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

#CEQ
0 ceq_flag
0 ceq_species_subset_flag
0.1 ceq_cm2

#Adaptive Zoning
1 adaptive_zone_flag
2 adaptive_zone_bin_dim
5.0 adaptive_zone_bin_temp
0.05 adaptive_zone_bin_react_ratio
1 adaptive_zone_nox_flag
0 adaptive_zone_output_flag
0 adaptive_zone_hr_map_flag

#
c7h16 fuel_name

#CTC
0 ctc_flag
-999999.0 ctc_init_time
1 ctc_mult_scale_flag
0.2 ctc_tau_fraction
0.1 ctc_cm2
7680000000.0 ctc_denomc
1000.0 ctc_temp_cutoff

#Shell
0 shell_flag
150000.0 shell_af04

#FGM
0 fgm_flag

#ECFM (premixed)
0 ecfm_flag
1.6 ecfm_stretch_alpha
1.0 ecfm_destruct_beta
0 ecfm_spark_flag
2 ecfm_auto_ignition_flag
"ignition_delay.dat" ecfm_tki_table_filename
2e-05 ecfm_auto_ignition_tc
1 ecfm_post_ceq_flag
0 ecfm_reinit_flag

#G_EQN
0 g_eqn_flag
-0.1 g_eqn_init_value
0 g_eqn_grad_g_flag
3500.0 g_eqn_g_temp_cutoff
0 g_eqn_spark_flag
0.3 g_eqn_spark_efficiency
100 g_eqn_num_kernel_init
80.0 g_eqn_karlovitz_ignition
2.0 g_eqn_c_chi

#ECFM3Z (nonpremixed)
0 ecfm3z_flag
2.0 ecfm3z_mix_betam

812 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

1.6 ecfm3z_stretch_alpha
1.0 ecfm3z_destruct_beta
2 ecfm3z_auto_ignition_flag
"ignition_delay.dat" ecfm3z_tki_table_filename
2e-05 ecfm3z_auto_ignition_tc
1 ecfm3z_post_ceq_flag
0 ecfm3z_reinit_flag

#RIF
0 rif_flag
1 rif_nproc_flamelet
1e-05 rif_init_zmin
0.0 rif_unburned_temp_offset
2.0 rif_flamelet_c_chi
2.0 rif_cfd_c_chi
1000.0 rif_chi_clip
1 rif_num_flamelets
4 rif_grid_type
100 rif_num_zgrids
0 rif_pdf_flag
0 rif_transport_species_flag
0 rif_num_transport_species
0 rif_num_bc0
0 rif_num_bc1
700.0 rif_fuel_temp

#Laminar Flame Speed and Table Option


2 sl_model
0.0 sl_constant_laminar_flamespeed
298.0 sl_temp_ref
101325.0 sl_pres_ref
1.8 sl_temp_a
-0.8 sl_temp_m
-0.24 sl_pres_a
0.22 sl_pres_m
0.0 sl_dilution
0.2632 sl_metghalchi_bm
-0.8472 sl_metghalchi_b2
1.13 sl_metghalchi_equiv_ratio
0.4658 sl_gulder_omega
-0.326 sl_gulder_eta
4.48 sl_gulder_xi

#Turbulent Flame Speed


0 st_model
0.78 st_peters_a4
2.0 st_peters_b1
1.0 st_peters_b3
2.0 st_peters_g_prime_cs
2.0 st_zimont_a
2.0 st_pitsch_b1
1.0 st_pitsch_b3

#Output
0 mix_frac_flag
0 mix_frac_var_flag
2.0 mix_frac_c_chi
2.0 mix_frac_c_chi
Figure 22.53: An example combust.in file.

CONVERGE 2.4 Manual 813


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Table 22.44 provides recommended values of the Metghalchi constants for several fuels
(Metghalchi and Keck, 1982).

Table 22.44: Fuel-specific values of the Metghalchi constants.


FUEL sl_metghalchi_bm sl_metghalchi_b2 sl_metghalchi_ sl_temp_a sl_pres_a
(m/ s) (m/ s) equiv_ratio
Methanol 0.3692 -1.4051 1.11 2.11 -0.13

Propane 0.3422 -1.3865 1.08 2.13 -0.17


Isooctane 0.2632 -0.8472 1.13 2.26 -0.18

Values for some of the G-Equation parameters are functions of the fuel used in the
simulation. Table 22.45 provides recommended values of the Gulder constants for various
fuels (Gulder, 1984).

Table 22.45: Fuel-specific values of the Gulder constants.


FUEL sl_gulder_omega sl_gulder_eta sl_gulder_xi sl_temp_a sl_pres_a

Methane 0.4220 0.150 5.18 2.00 -0.50


Propane 0.4460 0.120 4.95 1.77 -0.20
Methanol 0.4920 0.250 5.11 1.75 -0.2
-0.5
,  1
-0.2 ,  > 1

Ethanol 0.4650 0.250 6.34 1.75 0.5


0.17 ,  1
,  1
0.5
0.17

Isooctane 0.4658 -0.326 4.48 1.56 -0.22

Isooctane/ 0.4658 1-0.53V  -0.326 4.48 1.55 -0.22


Methanol*
Isooctane/ 0.4658 1 0.07V0.35  -0.326 4.48 1.56  0.23V
0.46 -0.22
Ethanol*

*For isooctane/alcohol mixtures, V is the volume fraction of alcohol. These correlations are valid for 0 ≤
V ≤ 0.2.

Region-Based Combustion - combust_region.in


To activate region-based combustion modeling, set combust_region_f lag = 1 in combust.in
and include the combust_region.in file in the Case Directory. Table 22.46 describes the
parameters in this file. Repeat this block of parameters for as many regions as desired.
Figure 22.54 shows an example combust_region.in file.

814 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Table 22.46: Parameters in combust_region.in.


Parameter Description

region_id The region in which combustion calculations will be performed


according to the information given in the next three lines. The value given
here must also be a region_id in initialize.in.
temporal type SEQUENTIAL, PERMANENT or CYCLIC. For CYCLIC, the period must
follow.

combust_tstart Start time (in seconds if crank_f lag = 0 or in


crank angle degrees if crank_f lag = 1 or 2) for combustion modeling.

combust_tend End time (in seconds if crank_f lag = 0 or in


crank angle degrees if crank_f lag = 1 or 2) for combustion modeling.

#!csi_version=2.4
#=======================

3 region_id
cyclic 720
176.00 combust_tstart
300 combust_tend

9 region_id
sequential
-4.00 combust_tstart
120 combust_tend

Figure 22.54: An example combust_region.in file.

CTC Initialization - ctc_init_time.in


In multi-cycle or multi-cylinder engine simulations, reset the Characteristic Time
Combustion (CTC) model via ctc_init_time in combust.in. To specify reset times (in crank
angle degrees) and periods that vary on a region-by-region basis, specify the name of an
input file (e.g., ctc_init_time.in) as the value of ctc_init_time. Table 22.47 below describes the
parameters in the CTC initialization file. Repeat this entire block of parameters as needed.
Figure 22.55 shows an example file.

Table 22.47: Parameters in the CTC initialization file (e.g., ctc_init_time.in).


Parameter Description

ctc_num_region Number of region(s) in which CONVERGE will reset the CTC model
according to the next three parameters.

ctc_active_region The region ID value(s) of the regions in which the CTC model will be
reset. There should be ctc_num_region values. These values must be
consistent with the region_id values in initialize.in.

ctc_init_time The time (crank angle degrees) at which the CTC model will be reset.

CONVERGE 2.4 Manual 815


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

ctc_init_period The time period (crank angle degrees) after which the CTC model will be
reset.

#!csi_version=2.4
#=======================

2 ctc_num_region
0 ctc_active_region
1 ctc_active_region
120.0 ctc_init_time
720.0 ctc_init_period
1 ctc_num_region
2 ctc_active_region
240.0 ctc_init_time
360.0 ctc_init_period
Figure 22.56: An example ctc_init_time.in file. In this example, CTC is reinitialized in Regions 0 and 1
at 120 CAD and has a period of 720 CAD. CTC is reinitialized in Region 2 at 240 CAD and has a period
of 360 CAD.

Region-Based G-Equation Initialization - g_eqn_init.in


The G-Equation model (g_eqn_f lag is non-zero in combust.in) requires initialization of G. To
activate region-based initialization, specify a file name (e.g., g_eqn_init.in) in quotation
marks for g_eqn_init_value in combust.in and then include that file in the Case Directory.
Table 22.48 describes the parameters in g_eqn_init.in. Figure 22.57 shows an example file.

In g_eqn_init.in, you must specify a value of G for each region, even if combustion does not
occur in all regions in the domain. CONVERGE will ignore the information related to
regions in which combustion does not occur.

Table 22.48: Parameters in g_eqn_init.in.


Parameter Description

g_eqn_num_region Number of regions in which G will be initialized according to the


information on the next few lines.

g_eqn_region Region ID of the region in which G will be initialized with the value that
follows. There must be g_eqn_num_region entries of this parameter.

g_eqn_init_value The initial value of G for the previously specified region(s).

g_eqn_init_time The time (in seconds if crank_f lag = 0 or in crank angle degrees if crank_f lag =
1 or 2) at which G is initialized or reset.

g_eqn_init_period The period after which G will be reinitialized.

2 g_eqn_num_region
0 g_eqn_region
1 g_eqn_region
-1.0 g_eqn_init_value
-1.5 g_eqn_init_time

816 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

720.0 g_eqn_init_period

1 g_eqn_num_region
2 g_eqn_region
-2.0 g_eqn_init_value
20.0 g_eqn_init_time
720.0 g_eqn_init_period
Figure 22.57: An example g_eqn_init.in file.

ISSIM - issim.in
If ecf m_spark_f lag = 2, issim.in is required. Table 22.49 below describes the parameters in
issim.in. Figure 22.1 shows an example file.

Table 22.49: Parameters in issim.in.


Parameter Description

issim_c_ignition_mass Correction factor for the ignition mass. Must be at least 1. Default is 1.

issim_c_f lame_wrinkling Initial flame surface wrinkling. Set to 1 for laminar spherical ignition. Set
to greater than 1 for turbulent ignition. Default is 2.

issim_num_plugs Number of spark plugs. If multiple spark plugs, repeat


issim_spark_locate_x through issim_sec_ind for each spark plug.

issim_spark_locate_x The x coordinate of the spark plug (meters).

issim_spark_locate_y The y coordinate of the spark plug (meters).

issim_spark_locate_z The z coordinate of the spark plug (meters).

issim_electrode_distance Inter-electrodes distance (meters).

issim_electrode_diameter Electrode diameter (meters).

issim_secondary_resistance Secondary resistance (ohm).

issim_seccondary_inductance Secondary inductance (Henry).

issim_num_ignitions Number of ignitions. If multiple ignitions, repeat issim_nplug through


issim_initial_sec_energy for each ignition.

issim_plug_id The number of the spark plug associated with the ignition. The spark
plugs are numbered sequentially from 0 to (issim_nplug - 1).
Temporal type of the SEQUENTIAL or CYCLIC. For CYCLIC, the period (in seconds if crank_f lag
ignition = 0 or in crank angle degrees if crank_f lag = 1 or 2) must follow.

issim_spark_start_time Start time (in seconds if crank_f lag = 0 or in crank angle degrees if crank_f lag
= 1 or 2) of the ignition.

issim_initial_sec_energy Initial secondary circuit energy (joules).

#!csi_version=2.4
#=======================

CONVERGE 2.4 Manual 817


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

1 issim_c_ignition_mass
1 issim_c_flame_wrinkling
2 issim_num_plugs

0.0 issim_spark_locate_x
0.0 issim_spark_locate_y
-6.9e-3 issim_spark_locate_z
1.e-3 issim_electrode_distance
0.5e-3 issim_electrode_diameter
1.e4 issim_secondary_resistance
30. issim_secondary_inductance

0.05 issim_spark_locate_x
0.05 issim_spark_locate_y
-6.9e-3 issim_spark_locate_z
1.1e-3 issim_electrode_distance
0.6e-3 issim_electrode_diameter
1.e4 issim_secondary_resistance
30. issim_secondary_inductance

2 issim_num_ignitions

0 issim_plug_id
SEQUENTIAL
-25. issim_spark_start_time
38.9e-3 issim_initial_sec_energy

1 issim_plug_id
SEQUENTIAL
-27. issim_spark_start_time
38.9e-3 issim_initial_sec_energy
Figure 22.14: Example issim.in file.

ECFM3Z Reinitialization - ecfm3z_reinit.in


If ecf m3z_reinit_f lag = 1, ecf m3z_reinit.in is required. This file allows you to direct
CONVERGE to reinitialize the combustion domain in specific regions at specific times.
Table22.50 below describes the parameters in ecf m3z_reinit.in. Figure 22.58 shows an
example file.

Table 22.50: Parameters in ecf m3z_reinit.in. Repeat these parameters as desired to reinitialize
different regions at different times.
Parameter Description

ecf m3z_num_region Number of regions to be reinitialized at the same time.

ecf m3z_region The region IDs of the region(s) to be reinitialized. There should be
ecf m3z_num_region entries of this line.

ecf m3z_init_time The time in crank angle degrees at which the combustion domain is
reinitialized.

#!csi_version=2.4

818 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

#=======================

2 ecfm3z_num_region
0 ecfm3z_region
1 ecfm3z_region
50.0 ecfm3z_init_time

1 ecfm3z_num_region
4 ecfm3z_region
100.0 ecfm3z_init_time

Figure 22.58: An example ecf m3z_reinit.in file.

CEQ Species - ceq_species.in


When ceq_subsp_f lag = 1 in combust.in, the CEQ solver uses a subset of species as part of
the equilibrium solver. The ceq_species.in file lists the subset of species to be used by the
CEQ solver. Table 22.51 below describes the format of this file. Figure 22.59 shows an
example file.

Table 22.51: Parameter in ceq_species.in.


Parameter Description

ceq_species Species name to be solved as part of the CEQ equilibrium solver. Repeat
this row as many times as necessary.

H2
O2
H2O
CO
CO2
N2
CH4
C2H6
C3H8
end

Figure 22.59: An example ceq_species.in file.

FGM Lookup Table - fgm.in


When f gm_f lag = 1 in combust.in, CONVERGE looks for the f gm-table.dat file for solutions to
the Flamelet Generated Manifold (FGM) model. To create the f gm-table.dat file, first fill the
f gm.in file with the parameters in Table 22.52. Then, navigate to the Case Directory in the
terminal and type the command
converge fgm
to generate the lookup table.You can run this command in parallel only for the 0D ignition
and 1D premixed flamelet types. You only need to generate the f gm-table.dat once unless
the flamelet type, chemical mechanism, fuel/oxidizer compositions, equation of state, gas
transport properties, pressure, or enthalpy change.

Table 22.52: Parameters in f gm.in.

CONVERGE 2.4 Manual 819


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description Typical Value for a Diesel


Internal Combustion Engine

f gm_f lamelet_type Flamelet type. 1


1 = 0D ignition,
2 = 1D diffusion,
3 = 1D premixed.

f gm_num_zmean Number of grid points in mean 40


mixture fraction.

f gm_num_prog_var Number of grid points in 40


reaction progress variable.

f gm_num_enthalpy Number of grid points in 40


enthalpy.

f gm_num_zvar Number of grid points in mixture 10


fraction variance for 1D FGM.

f gm_num_pres Number of grid points in 5


pressure for 0D FGM.

f gm_pres_low Low pressure for 0D FGM (bar). 1

f gm_pres_high High pressure for 0D FGM (bar). 120

f gm_pres Pressure for 1D FGM (bar). 1

f gm_oxid_temp Temperature of oxidizer for 1D 300.0


FGM (K).

f gm_f uel_temp Temperature of fuel for 1D FGM 300.0


(K).

f gm_num_species_bc0 Number of species in the Case dependent


oxidizer (Z = 0 boundary
FGM
condition).

Oxidizer species name Oxidizer species name and mass Case dependent
fraction.

f gm_num_species_bc1 Number of species in the fuel Case dependent


(Z = 1 boundary condition).
FGM
Fuel species name Fuel species name and mass Case dependent
fraction.

f gm_num_species_post Number of species for which Case dependent


species-specific output data will
be written. To be more
computationally efficient,
species-specific data are not
included in the simulation
output unless specified here.

820 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Species name Name of species for which Case dependent


species-specific output data will
be written.

f gm_nox_f lag FGM NOx model. Case dependent


0 = Default,
1 = Improves the accuracy of
NOx emission prediction in the
FGM model but is more
computationally expensive.

f gm_num_species_alpha Number of species in reaction 2


progress definition. We
recommend not changing this
parameter or the species listed.
Species name Species name and alpha value. CO 1
CO2 1

f gm_temp_loss Temp (Z ) multiplier for 0.333


FGM
lower heat loss bound.

f gm_temp_gain Temp (Z ) multiplier for 2


FGM
upper heat gain bound.

f gm_0d_atol Absolute tolerance for the 0D 1e-20


ignition flamelet.

f gm_dif f _atol Absolute tolerance for the 1D 1e-20


diffusion flamelet.

f gm_premix_atol Absolute tolerance for the 1D 1e-20


premixed flamelet.

f gm_0d_rtol Relative tolerance for the 0D 1e-8


ignition flamelet.

f gm_dif f _rtol Relative tolerance for the 1D 1e-8


diffusion flamelet.

f gm_premix_rtol Relative tolerance for the 1D 1e-8


premixed flamelet.

When you enable nox_f lag and/or soot_hiroy_f lag in combust.in, you must list the fuel
species, as well as the following additional species, in f gm_num_species_post to obtain NOx
and/or soot information. For nox_f lag = 1, list O2, N2, CO2, H2O, CO, H2, H, OH, and O.
For soot_hiroy_f lag = 1, list O2, N2, CO2, H2O, CO, H2, and C2H2.

CONVERGE 2.4 Manual 821


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

1 fgm_flamelet_type
40 fgm_num_zmean
40 fgm_num_prog_var
40 fgm_num_enthalpy
10 fgm_num_zvar
5 fgm_num_pres
1.0 fgm_pres_low
120.0 fgm_pres_high
1.0 fgm_pres
291.0 fgm_oxid_temp
294.0 fgm_fuel_temp
1 fgm_num_species_bc0
O2 0.00000
0 fgm_num_species_bc1
2 fgm_num_species_post
CO
NO
0 fgm_nox_flag
2 fgm_num_species_alpha
CO 1.00000
CO2 1.00000
0.333 fgm_temp_loss
2.0 fgm_temp_gain
1e-08 fgm_0d_rtol
1e-20 fgm_0d_atol
1e-05 fgm_diff_rtol
1e-12 fgm_diff_atol
1e-06 fgm_premix_rtol
1e-10 fgm_premix_atol
Figure 22.60: Example f gm.in file for a diesel engine.

Adaptive Zoning Bin Size - adaptive_zone_bin_*.in


Adaptive zoning can have variable bin size(s). When appropriately configured, a variable
bin size saves computational time compared to using a fixed fine bin size throughout the
entire range of the variable. For example, you can use variable bin size to refine the zones
only in the temperature range where combustion is most important.

To set up this option, specify a *.in file name (e.g., adaptive_zone_bin_temp.in) in quotation
marks for a adaptive_zone_bin_* parameter. You can use the variable bin size option for as
many of the binning variables as desired.

The variable bin size files must be tabular and sequential, and these two words must be the
first and second lines, respectively, of the file. The third line must list the column headings:
first the variable (temperature, phi, phit, pressure, or <species name>) and then the
corresponding adaptive_zone_bin_* parameter. For a species file, the species name (e.g.,
c7h16) must match the species name given in combust.in. If these two names do not match,
CONVERGE will give an error.

Figure 13.38 below shows an example variable bin size file for temperature. This file
specifies a bin size of 10 K for all of the cells in the temperature range of 0 to 1000 K, 5 K

822 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

for cells with temperatures between 1000 and 2000 K, 20 K for cells with temperatures
from 2000 to 3000 K, and 50 K for cells with temperatures greater than 3000 K.

tabular
SEQUENTIAL
temperature  adaptive_zone_tol_temp
0.0  10.0
1000.0  5.0
2000.0  20.0
3000.0  50.0

Figure 22.61: A sample input file (e.g., adaptive_zone_bin_temp.in) showing variable temperature bin
sizes for adaptive zoning.

22.7.3 Emissions Modeling - emissions.in


To model emissions, combustion must be activated (combustion_f lag = 1 in inputs.in) and
you must include both a combust.in file and an emissions.in file. Table 22.53 below describes
the parameters in emissions.in. Figure 22.62 shows an example file. Chapter 13 - Emissions
Modeling describes the emissions-related models and parameters in detail.

Table 22.53: Parameters in emissions.in.


Parameter Description Default / Typical Value

nox_thermal_f lag 0 = No Extended Zel'dovich (thermal) N/A


NOx model,
1 = Extended Zel'dovich NOx model.

nox_thermal_rate_f lag 0=Default NOx rate coefficient, N/A


1=User specified NOx rate coefficient
(passive_nox_rate.dat required).

nox_radical_model Assumption made for O/OH model: N/A


0=Default Equilibrium,
1=Partial Equilibirium,
2=No assumptions, calculate O/OH.
(Requires O and OH in the mech.dat.
Rrecommended for Tmax < 2000K).

nox_prompt_f lag 0=No prompt NOx model, N/A


1=Prompt NOx model (passive 'NOX'
required).

nox_prompt_equiv_ratio Global equivalence ratio used in the 1.2


prompt NOx model.

nox_scaling_f actor Mass scaling factor to convert NO to 1.533


NOX.

hiroy_soot_f lag 0 = No Hiroyasu/NSC soot model, N/A


1 = Hiroyasu/NSC soot model.

CONVERGE 2.4 Manual 823


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description Default / Typical Value

hiroy_asf Soot formation pre-exponential factor (1/ 1e2 - 6e2


(s bar0.5 )).

hiroy_esf Soot formation activation energy 1.25e4


parameter (cal/ g-mol).

hiroy_diam Soot particle diameter (cm). 2.5e-6

hiroy_oxid_f ac Soot oxidation model factor. 1-5

hiroy_density Soot density (g/ cm3). 2.0

hiroy_f orm_f lag This flag is used only when a detailed N/A
chemical mechanism (i.e., mech.dat) is
available
0 = Use the sum of the hydrocarbon
species as soot formation species,
1 = Use C2H2 as the soot formation
species.

phenom_soot_f lag 0=No phenomenological soot model, 0


1=Gokul soot model,
2=Dalian soot model,
3=Waseda soot model. Soot related
passives are required.

phenom_inception_f actor Soot inception pre-exponential factor. A Gokul: 2e3,


larger value results in higher soot level. Dalian: 1e11,
Waseda: 1e3.

phenom_coagulation_f actor Soot coagulation factor. A larger value Gokul: 9,


results in higher soot level. Dalian: 2,
Waseda: 4.299.

phenom_oh_collision_f actor Soot oxidation of OH collision factor. A 1.3e-1


larger value results in lower soot level.

phenom_no_oxidation_f actor Soot oxidation of NO factor. A larger 1.82


value results in lower soot level. Only
used for Waseda model
(phenom_soot_f lag=3).

phenom_surf ace_growth_value Soot surface growth factor. A larger value Gokul: 9e4,
results in higher soot level Dalian:1.05e4,
Waseda: 3e-1.

detailed_soot_f lag 0 = No detailed soot model, N/A


1 = Particle Mimic (PM) Model (soot and
chemistry are coupled),
2 = Particle Size Mimic (PSM) Model (soot
and chemistry are coupled),

824 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description Default / Typical Value

3 = passive PM Model (soot is calculated


using a user-specified detailed chemistry
solver),
4 = passive PSM model (soot is calculated
using a user-specified detailed chemistry
solver).

detailed_soot_condensation_f lag 0 = No detailed soot condensation N/A


submodel,
1 = Activate detailed soot condensation
submodel (required if detailed_soot_f lag is
non-zero).

detailed_soot_alpha_corrector_f l 0 = Use alpha corrector values specified N/A


ag in emissions.in (pm_alpha_corrector for the
PM models and psm_alpha_corrector1 and
psm_alpha_corrector2 for the PSM models),
1 = Calculate alpha corrector
dynamically based on local information
(non transport passive
ALPHA_FACTOR_D is required).

pm_num_mom Number of moments for PM model. N/A

pm_surf ace_growth_f actor Soot dependence for the PM model 2.25 for diesel fuel cases
surface reactions.
-1=No surface reactions,
0=Function of number density,
2=Function of surface area,
3=Function of soot volume.

pm_alpha_corrector Fraction of sites on soot surface available 3e-1 for diesel fuel cases
for surface reactions in the PM model.

psm_num_sections Number of sections (soot volume fraction) N/A


in the PSM model.

psm_num_subsections Number of subsections for each section in N/A


the PSM model.

psm_surf ace_growth_f actor1 Describes the soot dependence from 2.0


precursor size to 40 nm for the PSM model
surface reactions.

psm_surf ace_growth_f actor2 Describes the soot dependence from 40 2.25


nm to psm_biggestsoot_diameter for the
PSM model surface reactions.

psm_alpha_corrector1 Fraction of sites on the soot surface 9.5e-1


available for PSM model surface reactions
in the range of precursor size to 40 nm.

CONVERGE 2.4 Manual 825


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description Default / Typical Value

psm_alpha_corrector2 Fraction of sites on the soot surface 3e-1


available for PSM model surface reactions
in the range of 40 nm to
psm_biggestsoot_diameter.

psm_biggestsoot_diameter Biggest soot size for PSM model (m). 1e-7

custom_soot_precursor_f lag Soot precursor used to initialize the N/A


phenomenological, PM or PSM models.
0 = Default soot precursor (PAH),
1 = Use user-specified soot precursor
(listed below) to initialize the selected
soot model

num_soot_precursor Number of user-specified soot precursors. <10


List one species per line with
composition ratio(s) below this
parameter. Note that species listed here
must exist in the mechanism data file
(e.g., mech.dat).

#!csi_version=2.4
#================

1 nox_thermal_flag
0 nox_thermal_rate_flag
0 nox_radical_model
0 nox_prompt_flag
1.2 nox_prompt_equiv_ratio
1.533 nox_scaling_factor
######################################################
1 hiroy_soot_flag
500 hiroy_asf
12500 hiroy_esf
2.5e-6 hiroy_diam
3.0 hiroy_oxid_factor
2.0 hiroy_density
0 hiroy_form_flag
#######################################################
1 phenom_soot_flag
2000 phenom_inception_factor
9 phenom_coagulation_factor
0.13 phenom_oh_collision_factor
1.82 phenom_no_oxidation_factor
9e4 phenom_surface_growth_value
#######################################################
# Detailed Two-Way Coupled Soot Models
0 detailed_soot_flag
0 detailed_soot_condensation_flag
0 detailed_soot_alpha_corrector_flag
#######################################################
2 pm_num_moments
2.25 pm_surface_growth_factor
0.3 pm_alpha_corrector

826 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

#######################################################
20 psm_num_sections
5 psm_num_subsections
2.0 psm_surface_growth_factor1
2.25 psm_surface_growth_factor2
0.95 psm_alpha_corrector1
0.3 psm_alpha_corrector2
1e-7 psm_biggestsoot_diameter
#######################################################
1 custom_soot_precursor_flag
1 num_soot_precursor
a4 precursor species
c2h2 precursor species

Figure 22.62: An example emissions.in file.

Passive NOx rate - passive_nox_rate.dat


CONVERGE automatically assigns a default reaction rate for NOx formation. However,
you can specify the reaction rates by setting nox_thermal_rate_f lag = 1 in emissions.in and
including a passive_nox_rate.dat file in the Case Directory. Figure 22.63 shows an example
passive_nox_rate.dat file.

# 1. o + n2 <-> no + n (rate_1_for, rate_1_rev)


FOR1 7.6e13 0.0 38000.0
REV1 1.6e13 0.0 0.0

# 2. n + o2 <-> no + o (rate_2_for, rate_2_rev)


FOR2 6.4e9 1 3150.0
REV2 1.5e9 1 19500.0

# 3. n + oh <-> no + h (rate_3_for, rate_3_rev)


FOR3 4.1e13 0 0
REV3 2e14 0 23650.0

Figure 22.63: An example passive_nox_rate.dat file.

22.7.4 Turbulence Modeling - turbulence.in


To model turbulence, set turbulence_solver_f lag = 1 in inputs.in and include a turbulence.in
file in the Case Directory. Table 22.54 below describes the parameters in turbulence.in.
Tables 22.55 and 22.56 list typical values for some parameters in k-ε and k-ω models,
respectively. Figure 22.64 shows an example file. Chapter 15 - Turbulence Modeling
describes the turbulence-related models and parameters in detail.

Table 22.54: Parameters in turbulence.in.


Parameter Name Description

turbulence_model RANS_K_EPS_STD = k-eps,


RANS_K_EPS_RNG = RNG k-eps,
RANS_K_EPS_RNG_RD = Rapid distortion RNG k-eps,
RANS_K_EPS_REAL = Realizable k-eps,
RANS_K_EPS_V2F = v2 -f model,

CONVERGE 2.4 Manual 827


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Name Description

RANS_K_EPS_ZETAF = ζ-f model,


RANS_K_OMEGA_STD_98 = Standard k-omega 1998,
RANS_K_OMEGA_STD = Standard k-omega 2006,
RANS_K_OMEGA_SST = k-omega SST,
RANS_RSM_SSG_EPS = RSM SSG,
RANS_RSM_LRR_EPS = RSM LRR,
DDES_K_OMEGA_SST = Delayed detached eddy simulation,
IDDES_K_OMEGA_SST = Delayed detached eddy simulation with
improved wall-modeling capabilities,
LES_UPWIND = Upwind LES,
LES_ONE_EQN_VISC = One-equation eddy viscosity LES,
LES_SMAG = Smagorinsky model,
LES_DYN_SMAG = Dynamic Smagorinsky model,
LES_DYN_STRUCT = Dynamic structure model,
LES_CON_DYN_STRUCT = Consistent dynamic structure model.
#k-eps RANS model constants

keps_cmu Turbulent viscosity coefficient for k-ε models.

keps_rpr_tke Reciprocal tke Prandtl number for k-ε models.

keps_ceps1 ε equation coefficient for k-ε models.

keps_ceps2 ε equation coefficient for k-ε models.

keps_ceps3 ε equation coefficient for k-ε models. Typically -1.0 to 1.0. CONVERGE
ignores this parameter if turbulence_model = RANS_K_EPS_RNG_RD.

keps_rpr_eps Reciprocal eps Prandlt number for k-ε models.

keps_rng_beta ε equation coefficient for k-ε models. Typically 0.012.

keps_rng_eta0 ε equation coefficient for k-ε models. Typically 4.38.

keps_near_wall_treatment 0 = Standard wall function,


1 = Scalable wall function,
2 = Non-equilibrium wall function.
#v2-f and zeta-f RANS model constants

keps_v2f _cmu v2 -f model equation coefficient. Typically 0.22.

keps_v2f _c1 Equation coefficient for v2 -f and ζ-f models.

keps_v2f _c2 v2 -f model equation coefficient. Typically 0.3.

keps_v2f _cl Equation coefficient for v2 -f and ζ-f models.

keps_v2f _ceta Equation coefficient for v2 -f and ζ-f models.

keps_zetaf _rpr_zeta ζ-f model equation coefficient. Typically 1.0/1.2 (i.e., 0.83333).
keps_zetaf _c2prime ζ-f model equation coefficient. Typically 0.65.

828 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Name Description

#k-omega RANS model constants

komega_cmu Turbulent viscosity coefficient for k-ω models. Typically 0.9.

komega_rpr_tke Reciprocal tke Prandtl number for k-ω models.

komega_rpr_omega Reciprocal omega Prandtl number for k-ω models. Typically 0.5.

komega_alpha Equation coefficient for k-ω models.

komega_beta ε equation coefficient for k-ω models

komega_clim Eddy viscosity constant limit for standard k-ω 2006. Typically 0.875.

komega_sst_a1 Equation coefficient for k-ω SST models. Typically 0.31.

komega_rpr_tke_outer Outer reciprocal tke Prandtl number for k-ω SST models. Typically 1.0.

komega_rpr_omega_outer Outer reciprocal omega Prandtl number for k-ω SST models. Typically
0.856.

komega_alpha_outer Outer equation coefficient for k-ω SST models. Typically 0.44.

komega_beta_outer Outer equation coefficient for k-ω SST models. Typically 0.0828.

komega_near_wall_treatme 0 = Standard wall function,


nt 1 = Automatic wall function,
2 = Automatic wall function with Wilcox's low-Re corrections,
3 = Menter's wall boundary conditions.
#DES model constants (k-omega SST based)

ddes_komegasst_cdes Model constant for DDES and IDDES models. Typically 0.78.

ddes_komegasst_cdes_oute Model constant for DDES and IDDES models. Typically 0.61.
r

ddes_komegasst_cd1 Model constant for DDES and IDDES models. Typically 20.0.

ddes_komegasst_cd2 Model constant for DDES and IDDES models. Typically 3.0.

iddes_komegasst_cw Model constant for the IDDES model. Typically 0.15.

iddes_komegasst_cl Model constant for the IDDES model. Typically 5.0.

iddes_komegasst_ct Model constant for the IDDES model. Typically 1.87.

#LES model constants

les_rpr_tke Reciprocal tke Prandtl number for one-equation LES models. Typically 1.0.

les_c_tke Constant used in estimating sub-grid values. Typically 1.0 to 5.0.

les_c_tke_visc LES turbulent viscosity model constant. Typically 0.05 for the one-equation
eddy viscosity and consistent dynamic structure models, 0.5 for the
dynamic structure model, and 0.1 to 0.2 for the Smagorinsky model.

CONVERGE 2.4 Manual 829


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Name Description

les_c_eps LES dissipation rate model constant. Used for one-equation LES models.
Typically 1.0.

les_wall_model 0 = Standard law-of-the-wall,


1 = Werner and Wengle wall model.
#Wall modeling

wall_dist_f lag Wall distance calculation scheme.


0 = Use 0.5 times the cell size,
1 = Use 0.3 times the cell size.

heat_model 0 = Amsden,
1 = Han and Reitz,
2 = Angelberger,
3 = GruMo-UniMORE.

law_kappa Karman's constant. Typically 0.42.

law_c Law-of-the-wall parameter. Typically 5.5.

#Other physics effects

discrete_c_s ε equation coefficient (a value of 0.0 turns off the spray/turbulence


modulation term in both the k and ε equations). Typically 0.0–1.5.

discrete_c_ps Drop turbulent dispersion constant. Typically 0.0–0.16.

buoyancy_f lag 0 = No buoyancy effects,


1 = Buoyancy effects enabled for k transport equation. Requires gravity_x,
gravity_y, and gravity_z values in inputs.in.
2 = Buoyancy effects enabled for k and ε transport equations. Requires
gravity_x, gravity_y, and gravity_z values in inputs.in.
CONVERGE ignores this parameter for non-RANS models.
#Turbulence statistics

turb_stat_f lag Activate the turbulence statistics calculation feature.


0 = Do not calculate turbulence statistics,
1 = Calculate mean turbulence values and fluctuations.

turb_stat_start_time The start time (seconds if crank_f lag = 0, crank angle degrees if crank_f lag = 1 or
2) for the mean statistics and fluctuation calculations.

turb_stat_end_time The end time (seconds if crank_f lag = 0, crank angle degrees if crank_f lag = 1 or
2) for the mean statistics and fluctuation calculations.

turb_stat_tol Relative tolerance for turbulence statistics convergence =


abs(delta(mean)/mean).
For monitoring purposes only.

Table 22.55: Typical values of RANS k-ε parameters in turbulence.in.

830 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Typical Value for Typical Value for Typical Value for Typical Value for
Name k-ε Models RNG k-ε Models 2 ζ-f
v -f

keps_cmu 0.09 0.0845 0.09 0.09

keps_rpr_tke 1.0 1.39 1.0 1.0

keps_ceps1 1.44 1.42 1.4 1.4

keps_ceps2 1.92 1.68 1.9 1.9

keps_v2f _c1 N/A N/A 1.4 0.4

keps_v2f _cl N/A N/A 0.23 0.36

keps_v2f _ceta N/A N/A 70 85

Table 22.56: Typical values of RANS k-ω parameters in turbulence.in.


Parameter Name Typical Value for Typical Value for Standard Typical Value for k-ω
Standard k-ω 1998 k-ω 2006 SST

komega_rpr_tke 0.5 0.6 0.85

komega_alpha 13/25 13/25 5/9

komega_beta 0.072 0.0708 0.075

#!csi_version=2.4
#=======================

RANS_K_EPS_REAL turbulence_model

# k-eps RANS model constants


0.0845 keps_cmu
1.39 keps_rpr_tke
1.42 keps_ceps1
1.68 keps_ceps2
-1.0 keps_ceps3
1.39 keps_rpr_eps
0.012 keps_rng_beta
4.38 keps_rng_eta0
0 keps_near_wall_treatment

# v2f/zetaf RANS model constants


0.22 keps_v2f_cmu
0.4 keps_v2f_c1
0.3 keps_v2f_c2
0.36 keps_v2f_cl
85.0 keps_v2f_ceta
0.8333 keps_zetaf_rpr_zeta
0.65 keps_zetaf_c2prime

# k-omega RANS model constants


0.09 komega_cmu
0.85 komega_rpr_tke
0.5 komega_rpr_omega
0.556 komega_alpha

CONVERGE 2.4 Manual 831


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

0.075 komega_beta
0.875 komega_clim
0.31 komega_sst_a1
1.0 komega_rpr_tke_outer
0.856 komega_rpr_omega_outer
0.44 komega_alpha_outer
0.0828 komega_beta_outer
0 komega_near_wall_treatment

# DES model contants (k-omega SST based)


0.78 ddes_komegasst_cdes
0.61 ddes_komegasst_cdes_outer
20.0 ddes_komegasst_cd1
3.0 ddes_komegasst_cd2
0.15 iddes_komegasst_cw
5.0 iddes_komegasst_cl
1.87 iddes_komegasst_ct

# LES model constants


1.0 les_rpr_tke
2.0 les_c_tke
0.05 les_c_tke_visc
2.0 les_c_eps
1 les_wall_model

# Wall modeling
0 wall_dist_flag
0 heat_model
0.42 law_kappa
5.5 law_c

# Other physics effects


0.0 discrete_c_s
0.03 discrete_c_ps
0 buoyancy_flag

# Turbulence Statistics
0 turb_stat_flag
-999999 turb_stat_start_time
-999999 turb_stat_end_time
0.0001 turb_stat_tol

Figure 22.64: An example turbulence.in file.

832 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

22.7.5 Source/Sink Modeling - source.in


In CONVERGE, you can have sources and sinks for energy, momentum, turbulent kinetic
energy, dissipation, species, passive scalars, and porous media. To model sources, set
source_f lag = 1 in inputs.in and include a source.in file. Table 22.57 describes below describes
the parameters in source.in. Figure 22.65 shows an example file. Chapter 6 - Source
Modeling describes the source modeling-related process in detail.

Table 22.57: Parameters in source.in.


Parameter Description

source equation ENERGY (thermal source); U-EQ, V-EQ, W-EQ (momentum source); TKE
(turbulent kinetic energy source); EPS (turbulent dissipation source);
species name (species source); passive name (passive source); user (special
case); POROUS (porous media source).

source_type 0 = Per unit volume per time,


1 = Total source,
2 = Pressure trace,
3 = Heat release data.
Options 2 and 3 are valid only for ENERGY sources.
Not used when source equation is POROUS.

source_unit_volume Source value per unit volume per time. Used only when source_type = 0. Not
used for POROUS sources. Units: W/ m3 (ENERGY), kg/ s2-m2 (U-EQ, V- EQ,
W-EQ), m2/ s3 (TKE), m2/ s4 (EPS), 1/ s2 (OMEGA), kg/m3-s (species), source
value/m3-s (user), source value/m3-s (passive).

source_value Total source value (when steady_solver = 0 in inputs.in) or total source value
per unit time (when steady_solver = 1). For all non-ENERGY sources, used
only when source_type = 1. Not used for POROUS sources.

Total source value units: J (ENERGY), kg-m/ s (U-EQ, V-EQ, W-EQ), kg-m2/ s2
(TKE), kg-m2/ s3 (EPS), kg (species), source value (user), source value
(passive).
Total source value per unit time units: J/ s (ENERGY), kg-m/ s2 (U-EQ, V-EQ,
W-EQ), kg-m2/ s3 (TKE), kg-m2/ s4 (EPS), kg/ s (species), source value/s (user),
source value/s (passive).

For ENERGY sources, when source_type = 2 the source_value parameter gives


the name of the file that contains pressure trace data. For ENERGY sources,
when source_type = 3 the source_value parameter gives the name of the file
that contains heat release data.
Temporal type SEQUENTIAL, PERMANENT or CYCLIC. For CYCLIC, the period must
follow.

source_start_time Start time for source/sink (s or CAD).

CONVERGE 2.4 Manual 833


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description

source_end_time End time for source/sink (s or CAD).

max_value Maximum value that solution variable associated with a source can attain.
Not used when source equation is POROUS. Units: temperature K (ENERGY),
absolute value of velocity m/ s (U-EQ, V- EQ, W-EQ), m2/ s2 (TKE), m2/ s3 (EPS) ,
mass fraction (species), maximum passive value (passive).

source_shape Shape of the source: BOX, REGION (i.e., the size and shape of a source is an
entire region), LINE, CIRCLE, CYLINDER, or SPHERE.

BOX x_center Center of box source (x, y, and z


coordinates).

x_size Half of x, y, and z dimensions of the box


(m).
REGION region_id Region ID number (not name).

LINE x1_center Starting point of line source (x, y, and z


coordinates).

x2_center End point of line source(x, y, and z


coordinates).

num_points Number of evenly spaced points on the


line source.
CIRCLE x_center Center of circle source (x, y, and z
coordinates).

radius_circle Radius of the circle source (m).

normal_vector Normal vector of the circle source (x. y,


and z values of normal vector).

num_points Number of evenly spaced points on the


circle source.

CYLINDER x1_center Center of first circle (x, y, and z


coordinates).

radius1 Radius of the first circle (m).

x2_center Center of second circle (x, y, and z


coordinates).

radius2 Radius of the second circle.

SPHERE x_center Center of sphere source (x, y, and z


coordinates).

radius Radius of sphere source (m).

834 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description

moving_f lag 0 = Source is not moving,


1 = Source is moving at a specified velocity,
2 = Source is moving with the flow.

velocity Prescribed velocity. Used only when moving_f lag = 1.

max_displace Maximum distance that the source can move. Used only when moving_f lag
= 1.

reset_source_f lag 0 = Do not move source back to original location,


1 = Return source to original location when max_displace is reached,
2 = Return source when any point in LINE or CIRCLE exceeds max_displace
(only for LINE and CIRCLE sources).

mult_dt_source Time-step limiter for source magnitude.

source_temp Temperature (K) for the species source. Used only for species sources.

source_velocity Absolute velocity (m/ s) (specify an x, y, z vector) of the species being


sourced. Used only for species sources.
NOTE: This velocity is not relative to the velocity of the source shape that is
specified with the velocity parameter as described in the previous Source
Modeling Setup section.

alpha_coef f Permeability coefficient (kg/ m4 ) in the flow direction. Used only for
POROUS sources.

alpha_cross_coef f Permeability coefficient (kg/ m4 ) in the cross-flow direction. Used only for
POROUS sources.

beta_coef f Permeability coefficient (kg/ m3-s) in the flow direction. Used only for
POROUS sources.

beta_cross_coef f Permeability coefficient (kg/ m3-s) in the cross-flow direction. Used only for
POROUS sources.

is_directional_f lag 0 = Isotropic (only alpha_coef f and beta_coef f are used for calculating
velocity),
1 = Orthrotropic (alpha_coef f , alpha_cross_coef f , beta_coef f , and beta_cross_coef f
are used for calculating velocity).
Used only for POROUS sources.

direction Direction vector in i, j , k. Used only for POROUS sources.

ef f _conductivity_f lag 0 = CONVERGE assumes the thermal conductivity of the porous region is
equal to the thermal conductivity of the fluid in the porous region,
1 = CONVERGE calculates the effective thermal conductivity of the porous
region (see Chapter 6 - Source Modeling).

conductive_porosity The porosity used to calculate effective thermal conductivity (used only
when ef f _conductivity_f lag = 1).

CONVERGE 2.4 Manual 835


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description

solid_conductivity The solid conductivity used to calculate effective thermal conductivity


(used only when ef f _conductivity_f lag = 1).

836 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

#!csi_version=2.4
#=======================

#######################
###Energy-Box Source###
#######################
ENERGY
1
8.0e11
20.e-3
CYCLIC 720
-15.0
-14.5
50000
BOX
-0.0038 0.0 0.0079
0.0005 0.0005 0.0012
0
1.0 2.0 3.0
0.005
0
0.5
##########################
###Energy-Region Source###
##########################
ENERGY
2
8.0e11
pressure.in
CYCLIC 720
-50.0
120.0
50000
REGION
0

########################
###Energy-Line Source###
########################
ENERGY
1
8.0e11
20.e-3
CYCLIC 720
-15.0
-5.0
50000.0
LINE
-0.00388 0.0 0.008449
-0.00388 0.0 0.007386
10
2
0.0 0.0 0.0
0.0007
2
0.5
##########################
###Energy-Circle Source###
##########################

CONVERGE 2.4 Manual 837


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

ENERGY
1
8.0e11
20.e-3
CYCLIC 720
-15.0
-5.0
50000.0
CIRCLE
-0.00 0.0 -0.001
0.0025
0.0 0.0 -1.0
10
2
1.0 2.0 3.0
0.0007
2
0.5
#############################
###Species-Cylinder Source###
#############################
H2O2
1
8.0e11
20.e-4
CYCLIC 720
-250.0
-245.5
1.0
CYLINDER
-0.0038 0.0 0.0079
0.0005
-0.0038 0.0 0.0074
0.0007
0
1.0 2.0 3.0
0.005
0
0.5
###################################
#Source in X-Momentum (Cylinder)###
###################################
U-EQ
1
8.0e11
20.e-3
CYCLIC 720
-250.0
-245.5
50000
CYLINDER
-0.0038 0.0 0.0079
0.0005
-0.0038 0.0 0.0074
0.0007
0
1.0 2.0 3.0
0.005
0

838 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

0.5
###########################
###TKE Source-(Cylinder)###
###########################
TKE
1
8.0e11
20.e-3
CYCLIC 720
-250.0
-245.5
50000
CYLINDER
-0.0038 0.0 0.0079
0.0005
-0.0038 0.0 0.0074
0.0007
0
1.0 2.0 3.0
0.005
0
0.5
####################################
#Source in Porous Media(Cylinder)###
####################################
POROUS
300.0
10000.0
300.0
10000.0
1
1.0 0.0 0.0
0
0.7
20.0

CYCLIC 720
-250.0
-245.5
CYLINDER
-0.0038 0.0 0.0079
0.0005
-0.0038 0.0 0.0074
0.0007
1
1.0 2.0 3.0
0.005
0
0.5
Figure 6.1: An example source.in file.

CONVERGE 2.4 Manual 839


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

22.7.6 Volume of Fluid Modeling - vof.in and vof_spray.in


To activate the volume of fluid (VOF) method, set vof _f lag = 1 in inputs.in and include a
vof .in file. Table 22.58 describes below describes the parameters in vof .in. Figure 22.65
shows an example file. Chapter 16 - Volume of Fluid Modeling describes the VOF-related
parameters in detail.

Table 22.58: Parameters in vof .in.


Parameter Description Typical value

vof _model 0 = No front tracking, N/A


1 = HRIC scheme is used to prevent smearing and
numerical diffusion of the interface due to the
prevalent upwinding scheme,
2 = PLIC method is used to calculate a sharper fluid-fluid
interface.

ref _temp Reference temperature (K) used in the equation of state to 300
calculate gas and incompressible liquid density.

ref _pres Reference pressure (Pa) used in the equation of state to 100000
calculate gas and compressible liquid density.

wall_adhesion_f lag 0 = Do not use the wall adhesion model, N/A


1 = Use the wall adhesion model.

contact_angle The contact angle (in degrees) that the fluid is assumed to 100
make with the wall. Used to adjust the normal vectors of
the cells near the wall.

cavitation_f lag 0 = Do not use cavitation model, N/A


1 = Use the cavitation model.

theta_0 Time scale coefficient as described previously. 3.87e-7

condensation_time_f act Condensation time factor, F, as described previously. 5000.0


or Used to lower the condensation rate.

psi_vof _min Minimum value allowed for j as described previously. 1e-5

power_alpha Power index of a as described previously. -0.54

power_phi Power index of j as described previously. -1.76

cav_liquid Name of the liquid species (must be available in liquid.dat N/A


and defined in species.in).

cav_gas Name of the gas (vapor) species (must be available in N/A


therm.dat).

vof _spray_f lag 0 = Do not write out the vof _spray.out file, N/A
1 = Write out the vof _spray.out file (used for VOF-spray
one-way coupling). If 1, vof _spray.in is required.

840 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

dissolved_gas_f lag 0 = No dissolved gas modeling, N/A


1 = Dissolved gas modeling.

num_dissolved_gas Number of gases in which to model dissolution. N/A

dissolved gas Name of gas species, dissolved gas passive name, Henry N/A
information constant, and time-scale (all on one line). On the line
below, supply the liquid species name that represents the
dissolved gas in solution and a corresponding gas
species name (CONVERGE uses the gas species to obtain
the molecular weight of the liquid). Repeat this
information num_dissolved_gas times (two lines per
species).

#!csi_version=2.4
#=======================

0 vof_model
300 ref_temp
100000 ref_pres
1 wall_adhesion_flag
100 contact_angle
1 cavitation_flag
3.87e-7 theta_0
5000 condensation_time_factor
1.0e-5 psi_vof_min
-0.54 power_alpha
-1.76 power_phi
ic8h18 cav_liquid
c8h18 cav_gas
0 vof_spray_flag
1 dissolved_gas_flag
N2 PASSIVE_1 0.001 0.1
H20_L N2

Figure 22.1: An example vof .in file that includes cavitation and wall adhesion modeling.

If vof _spray_f lag = 1, you must include vof _spray.in. This file specifies how CONVERGE
will write the vof _spray.out file, which can be used for VOF-spray one-way coupling.

Table 22.59: Parameters in vof _spray.in.


Parameter Description Typical value

twrite_vof _spray Frequency (in seconds if crank_f lag = 0 in inputs.in or in N/A


crank angle degrees if crank_f lag = 1 or 2) with which
CONVERGE will write data to vof _spray.out.

vof _spray_regions A pair of adjacent regions (identified by ID numbers). N/A


CONVERGE will write data from the interface between
these regions to vof _spray.out. Repeat this line as needed.

#!csi_version=2.4

CONVERGE 2.4 Manual 841


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

#=======================

1e-09 twrite_vof_spray
0 1 vof_spray_regions
0 2 vof_spray_regions

Figure 22.2: An example vof _spray.in file.

22.7.7 Conjugate Heat Transfer Modeling - supercycle.in


To activate conjugate heat transfer modeling, set cht_supercycle_f lag = 1 in inputs.in and
include a supercycle.in file. Table 22.60 below describes the parameters in supercycle.in.
Figure 22.65 shows an example file.

Table 22.60: Parameters in supercycle.in.


Parameter Description Typical Value

supercycle_start_time The start time (in seconds if crank_f lag = 0 or in N/A


crank angle degrees if crank_f lag = 1 or 2) for the super-
cycle model.

supercycle_stage_interval The time interval (in seconds if crank_f lag = 0 or in 60 seconds


crank angle degrees if crank_f lag = 1 or 2) of a super-
cycle stage. During this interval, CONVERGE
calculates and stores heat transfer coefficient and
near-wall temperature data. At the end of a
supercycle_stage_interval, CONVERGE averages these
values for each cell at the solid/fluid interface.

supercycle_num_stages Total number of stages over which CONVERGE will 12


average data. Refer to the Super-Cycle Stages section
in this chapter for more information.

supercycle_cf lk CFL number for solid sensible internal energy (sie) 100.0
solver.

supercycle_energy_tol Sensible internal energy tolerance for the solver in the 1.0e-07
solid region. This parameter dictates the convergence
criterion for a steady-state solid heat transfer
calculation.

supercycle_energy_omega Sensible internal energy under-relaxation factor for 1.4


the solver in the solid region.

supercycle_steady_coef f Not currently used. N/A

supercycle_length If negative, CONVERGE uses a steady-state solver to -1.0


solve the heat transfer in the solid.
If positive, CONVERGE uses a transient solver and
the magnitude of this parameter represents the length
of time (seconds or crank angle degrees) for the transient
calculation. Use the transient approach to obtain a
time-accurate solution.

842 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description Typical Value

supercycle_surf ace_map_f lag 0 = No cylinder duplication, N/A


1 = Cylinder duplication (supercycle_surf ace_map.in
required).

supercycle_num_points The number of monitor points used to monitor N/A


temperature data in the solid region. This row is
followed by rows that list the (x ,y, z) coordinates of
each monitor point. Use the supercycle_num_points
parameter to output temperature only during the
super-cycle sequence.
x, y, z coordinates Output point locations. The number of output point N/A
coordinate entries must correspond to the number
specified in supercycle_num_points. CONVERGE
writes monitor point data to supercycle_point<ID>.out.

#!csi_version=2.4
#=======================

0.0275 supercycle_start_time
0.0025 supercycle_stage_interval
1 supercycle_num_stages
100.0 supercycle_cflk
1.0e-7 supercycle_energy_tol
1.4 supercycle_energy_omega
-1.0 supercycle_length
11 supercycle_num_points
0.0 0.0 0.5e-3
3.0e-3 0.0 0.5e-3
6.0e-3 0.0 0.5e-3
9.0e-3 0.0 0.5e-3
12.0e-3 0.0 0.5e-3
15.0e-3 0.0 0.5e-3
21.0e-3 0.0 0.5e-3
27.0e-3 0.0 0.5e-3
33.0e-3 0.0 0.5e-3
39.0e-3 0.0 0.5e-3
45.0e-3 0.0 0.5e-3
Figure 22.65: An example supercycle.in file.

Surface Duplication for CHT - supercycle_surface_map.in


To activate surface duplication for heat transfer mapping (e.g., cylinder duplication for a
multi-cylinder CHT case), set supercycle_map_surf ace_f lag = 1 in supercycle.in and include a
supercycle_surf ace_map.in file in the Case Directory. Table 22.61 describes below describes
the parameters in supercycle_surf ace_map.in. Figure 22.66 shows an example file. Chapter
15 - Conjugate Heat Transfer Modeling describes the CHT-related parameters in detail.

Table 22.61: Parameters in supercycle_surf ace_map.in.


Parameter Description

CONVERGE 2.4 Manual 843


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

tot_num_masters Total number of main cylinders with full combustion from which
data will be mapped.

tot_num_slaves Total number of duplicate cylinders (for all of the main cylinders
combined). These are the cylinders (or solid WALL boundaries
used to represent combustion) that do not use a combustion
model and have boundary data mapped from the main cylinder.

tot_num_master_boundaries Total number of main boundaries (for all main cylinders).

num_boundaries Number of boundaries that make up the current main cylinder


that you wish to map.

bound_id The boundary IDs of the boundaries making up the current main
cylinder.

num_slaves Number of duplicate cylinders mapped from the current main


cylinder.

mirror_plane Equation for the mirror plane that reflecting the duplicate cylinder
across results in the duplicate overlapping the main exactly. Enter
the a, b, c, and d coefficients of the equation that describes this
mirror plane (ax + by + cz + d = 0).

trans_x The x translation amount necessary to translate the duplicate


cylinder onto the main cylinder.

trans_y The y translation amount necessary to translate the duplicate


cylinder onto the main cylinder.

trans_z The z translation amount necessary to translate the duplicate


cylinder onto the main cylinder.

rot_angle Angle with which to rotate the duplicate cylinder in the counter-
clockwise direction.

orig_xyz The x, y, and z coordinates of the rotation origin.

vector_xyz The x, y, and z components of the direction vector about which to


rotate the duplicate cylinder.

num_f orced_pairs Number of forced pairs. Forced pairs are used if CONVERGE
cannot determine the duplicate boundary on which to map the
data (possibly due to imperfect geometries) based on the given
transformation information. The two specified boundary IDs
become forced pairs and CONVERGE copies the information from
main to duplicate, regardless of the transformation.

f orced_pairs The main boundary ID, the duplicate boundary ID, the main
cylinder index, and the duplicate cylinder index. CONVERGE
determines cylinder indices based on the order in which you list
them in supercycle_surf ace_map.in.

#!csi_version=2.4

844 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

#================

# map the htc and temp for the surfaces of the slave cylinders to the master cylinder
1 tot_num_masters
1 tot_num_slaves
1 tot_num_master_boundaries
#####master cylinder 1#########################
1 num_boundaries
6 bound_id #Head #51
#####slave cylinder 1############################
1 num_slaves

#slave 1

0.0, 0.0, 0.0, 0.0 mirror_plane

0.0 trans_x
-2.0 trans_y
0.0 trans_z

0.0 rot_angle
0.0 0.0 0.0 orig_xyz
0.0 0.0 0.0 vector_xyz

#slave 2

#0.0, -1.0, 0.0, -0.06 mirror_plane

#0.0 trans_x
#-2.0 trans_y
#0.0 trans_z

#0.0 rot_angle
#0.0 0.0 0.0 orig_xyx
#0.0 0.0 0.0 vector_xyz

0 num_forced_pairs

#9 303 0 0 forced_pairs
#109 209 0 0 forced_pairs
#111 210 0 0 forced_pairs
#15 305 0 0 forced_pairs
Figure 22.66: An example supercycle_surf ace_map.in file.

22.7.8 1D Conjugate Heat Transfer - cht1d.in


CONVERGE requires you to configure the cht1d.in file when you set up a WALL boundary
type with the 1D CHT model in conjunction with the temperature boundary condition.
Note that you can use 1D CHT only with a law-of-the-wall or Dirichlet temperature
boundary condition. Table 22.62 describes the parameters in cht1d.in. Figure 22.15 below
shows a sample cht1d.in file. Repeat the entire set of parameters in cht1d.in for any
additional boundaries configured with the 1D CHT boundary condition.

Table 22.62: Parameters in cht1d.in.

CONVERGE 2.4 Manual 845


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description

boundary_id The boundary ID of the boundary on which CONVERGE will model 1D CHT.

htc_scale_f actor Heat transfer coefficient scaling factor. The recommended value is 1.0.

num_solid_layers Number of solid layers between the fluid and the bulk solid. There should be
num_solid_layer blocks of the next four parameters (solid_layer_species through
contact_resistance).

solid_layer_species Species name of the solid layer between the fluid and the bulk solid. The
specified solid must be defined in species.in. See note in num_solid_layers.

solid_layer_thickness Thickness (in m) of the solid layer between the fluid and the bulk solid. See note
in num_solid_layers.

num_sub_layers Number of sub-layers into which CONVERGE divides the solid layer.
CONVERGE treats each sub-layer as a computational cell. See note in
num_solid_layers.

contact_resistance Thermal contact resistance (in m2K/ W) between the solid layer and the solid
bulk temperature. See note in num_solid_layers.

solid_bulk_temp Solid bulk temperature. This entry can be a constant temperature (in K) or, for
spatially varying quantities, a file name in quotation marks (e.g.
"solid_bulk_temp.in").

846 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

#!csi_version=2.4
#================

8 boundary_id
1.0 htc_scale_factor
2 num_solid_layers
metal solid_layer_species
5.0e-3 solid_layer_thickness
5 num_sub_layers
0.0 contact_resistance
metal2 solid_layer_species
5.5e-3 solid_layer_thickness
5 num_sub_layers
0.0 contact_resistance
525.0 solid_bulk_temp

9 boundary_id
1.0 htc_scale_factor
1 num_solid_layers
metal solid_layer_species
5.0e-3 solid_layer_thickness
3 num_sub_layers
0.0 contact_resistance
525.0 solid_bulk_temp

10 boundary_id
1.0 htc_scale_factor
1 num_solid_layers
metal solid_layer_species
5.0e-3 solid_layer_thickness
5 num_sub_layers
0.0 contact_resistance
"solid_bulk_temp.in" solid_bulk_temp

Figure 22.67: An example cht1d.in file.

Solid Bulk Temperature Profile - solid_bulk_temp.in


To set up a spatially varying 1D CHT temperature boundary condition, specify a file name
(e.g., solid_bulk_temp.in) in quotation marks for solid_bulk_temp in cht1d.in and include that
file in the Case Directory. Table 22.63 describes the parameters in solid_bulk_temp.in.
Figure 22.68 shows an example file.

Table 22.63: Parameters in solid_bulk_temp.in.


Parameter Description
SPATIAL A keyword.

scale_xyz Scaling to be applied to the x, y, and z coordinates of the solid bulk temperature
profile (see below).

trans_x Translation to be applied to x coordinates. CONVERGE scales the solid bulk


temperature profile before translating it, so the trans_x units should be
consistent with the scaled units.

CONVERGE 2.4 Manual 847


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

trans_y Translation to be applied to y coordinates. CONVERGE scales the solid bulk


temperature profile before translating it, so the trans_y units should be
consistent with the scaled units.

trans_z Translation to be applied to z coordinates. CONVERGE scales the solid bulk


temperature profile before translating it, so the trans_z units should be
consistent with the scaled units.

rot_axis Axis about which the coordinates and velocity of the data below will be rotated.

rot_angle Rotation angle (in degrees) about the rot_axis. Use the right hand rule to
determine the direction of rotation about rot_axis.

second Include for file formatting reasons. Set to 0.0.

bulk_solid_temp Specify x y z for this entry. Each subsequent line should contain a location (x, y,
z coordinates) followed by the solid bulk temperature (in K) at that location.

#!csi_version=2.4
#================

SPATIAL
1.0 scale_xyz
-0.0 trans_x
-0.0 trans_y
-0.0 trans_z
z rot_axis
0.0 rot_angle
0.0 second
x y z bulk_solid_temp
-2e-2 0.0 1e-2 341.54
0.0 1.0 1e-2 400.00
2e-2 1.0 1e-2 598.71

Figure 22.68: An example of a file (e.g., solid_bulk_temp.in) that contains a spatially varying solid
bulk temperature profile.

22.7.9 Fluid-Structure Interaction Modeling - fsi.in


To use the fluid-structure interaction (FSI) model in CONVERGE, set f si_f lag = 1 in
inputs.in and include an f si.in file in the Case Directory. Table 22.64 below describes the
parameters in f si.in. Note that most of the parameters in this file are repeated for each FSI
object. Figure 22.69 shows an example f si.in file.

Table 22.64: Parameters in f si.in.


Parameter Description

number of FSI obj ects Number of FSI objects.

obj ect_id A string used to identify an FSI object. For GT-SUITE/FSI coupling,
the obj ect_id must match the name given in GT-SUITE.

848 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

num_boundaries Number of boundaries that belong to the FSI object identified above by
the obj ect_id.

boundary_id The boundary ID (from boundary.in) of a boundary in the FSI object


identified by the obj ect_id above. Repeat this row for each boundary in
the FSI object.

gti_f si_f lag Flag for simulating FSI in a coupled GT-SUITE/CONVERGE


simulation.
0 = CONVERGE will not model FSI,
1 = CONVERGE will model FSI.

f si_start_time The start time of FSI computations (in seconds if crank_f lag = 0 or in
CAD if crank_f lag = 1 or 2).

center_of _mass_f lag 0 = CONVERGE will use the geometric center of the FSI object as the
center of mass. Use for uniform density FSI objects. CONVERGE will
ignore the center_of _mass parameter if center_of _mass_f lag = 0.
1 = CONVERGE will offset the geometric center of the FSI object by the
distance and amount specified by center_of _mass (see below) to
determine the center of mass. Use for FSI objects with non-uniform
density.
2 = CONVERGE will set the center of mass to be the location specified
by center_of _mass (see below). Use for FSI objects with non-uniform
density.

center_of _mass The x, y, z coordinates for center of mass. Used if center_of _mass_f lag =
1 or 2 (see above).

mass_f lag Flag for calculation of mass of the FSI object.


0 = CONVERGE will calculate the mass of the object after reading the
average density from obj ect_density (see below),
1 = CONVERGE will calculate the density of the object after reading
the total mass from obj ect_mass (see below).

obj ect_mass Mass (kg) of the FSI object. Used when mass_f lag = 1.

obj ect_density Uniform density (kg/ m3) of the FSI object. Used when mass_f lag = 0.

obj ect_vel_init Initial velocity (u, v, w) of the FSI object. Units are m/ sec.

obj ect_rot_vel_init Initial angular velocity (rad/ sec) about the axis given by
rot_vel_init_axis (see below).

rot_vel_init_axis Initial axis vector (x, y, z) for rotation for the FSI object.

applied_f orce Constant applied force vector (x, y, z). Units are N.

To set up temporally varying force vectors, specify a file name in


quotation marks (e.g., "f si_f orce.in").

applied_moment Constant applied moment (N-m).

CONVERGE 2.4 Manual 849


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

applied_moment_axis The axis (x, y, z) about which the applied_moment (see above) is
applied.

moment_of _inertia_f lag 0 = CONVERGE will compute the moment of inertia (constant density
assumed).
1 = CONVERGE will read the moment of inertia tensor from the next
three lines, or, if 1dof _constraint_f lag = 2 (see below), CONVERGE will
use the value specified by constrained_mom_of _inertia (see below).

moment_of _inertia User-supplied input for the first row of moment of inertia tensor. Used
when moment_of _inertia_f lag = 1. Units are kg-m2.

moment_of _inertia User-supplied input for the second row of moment of inertia tensor.
Used when moment_of _inertia_f lag = 1. Units are kg-m2.

moment_of _inertia User-supplied input for the third row of moment of inertia tensor.
Used when moment_of _inertia_f lag = 1. Units are kg-m2.

1dof _constraint_f lag 0 = The FSI object will have six degrees of freedom (three for
translation and three for rotation),
1 = The FSI object will be constrained to one translational degree of
freedom; and the direction and minimum and maximum distances of
translation will be defined by axis, min_displacement, and
max_displacement (see below),
2 = The FSI object will be constrained to one rotational degree of
freedom; the rotation will be about the axis defined by axis_point and
axis; and the minimum and maximum angles of rotation will be
defined by min_displacement and max_displacement.

axis_point The x, y, z coordinates for the origin that defines the rotational axis.
Used when 1dof _constraint_f lag = 2.

axis The axis vector (x, y, z) for defining the rotational axis. Used when
1dof _constraint_f lag = 1 or 2.

min_displacement The minimum displacement for translationally or rotationally


constrained cases.
If 1dof _constraint_f lag = 1, units are m. If 1dof _constraint_f lag = 2, units
are degrees.

max_displacement The maximum displacement for translationally or rotationally


constrained cases.
If 1dof _constraint_f lag = 1, units are m. If 1dof _constraint_f lag = 2, units
are degrees.

constrained_mom_of _inertia Used only if 1dof _constraint_f lag = 2.


If moment_of _inertia_f lag = 0, CONVERGE will compute the moment of
inertia.
if moment_of _inertia_f lag = 1, CONVERGE will use the value (in kg-m2)
entered here.

spring_f lag Flag for FSI spring model.

850 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

0 = Do not use FSI spring model.


1 = Use FSI spring model.

stiction_f lag Flag for FSI stiction model.


0 = Do not use FSI stiction model.
1 = Use FSI stiction model.

f si_events_f lag Flag for FSI events.


0 = Do not use FSI events.
1 = Use FSI events.

#!CONVERGE_VERSION=2.4
#=====================

1 # Number of objects
#---------------------------------------------
# fsiobject3
#---------------------------------------------
fsiobject3 object_id
2 num_boundaries
2 boundary_id
1 boundary_id
0 gti_fsi_flag
-999999.0 fsi_start_time
0 center_of_mass_flag
0.0 0.0 0.0 center_of_mass
0 mass_flag
0.0 object_mass
8000.0 object_density
0.0 0.0 -1.0 object_vel_init
0.0 object_rot_vel_init
0.0 0.0 0.0 rot_vel_init_axis
0.0 0.0 0.0 applied_force
0.0 applied_moment
0.0 0.0 0.0 applied_moment_axis
0 moment_of_inertia_flag
0.0 0.0 0.0 moment_of_inertia
0.0 0.0 0.0 moment_of_inertia
0.0 0.0 0.0 moment_of_inertia
0 1dof_constraint_flag
0.0 0.0 0.0 axis_point
0.0 0.0 0.0 axis
-1e+38.0 min_displacement
1e+38.0 max_displacement
1.0 constrained_mom_of_inertia
#---------------------------------------------
# forces and events options
#---------------------------------------------
1 spring_flag
1 stiction_flag
1 fsi_events_flag

Figure 22.69: An example f si.in file.

CONVERGE 2.4 Manual 851


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

FSI Forces - fsi_force.in


To set up temporally varying applied forces, specify "f si_f orce.in" for applied_f orce in f si.in
and include that file in the Case Directory.

Figure 22.70 shows an excerpt of an example f si_f orce.in file. Note you may alternately
specify CYCLIC instead of SEQUENTIAL, or crank instead of second.

#!csi_version=2.4
#=======================

TEMPORAL
SEQUENTIAL
second fx fy fz
0 0.0 0.0 0
0.000001 0.0 0.0 0
0.000002 0.0 0.0 0
0.000003 0.0 0.0 0
0.000004 0.0 0.0 0
0.000005 0.0 0.0 0
0.000006 0.0 0.0 0
0.000007 0.0 0.0 0
0.000008 0.0 0.0 0
0.000009 0.0 0.0 0
0.00001 0.0 0.0 0
0.000011 0.0 0.0 0.000982848
0.000012 0.0 0.0 0.001281136
0.000013 0.0 0.0 0.001618892
0.000014 0.0 0.0 0.001996108
0.000015 0.0 0.0 0.002412784
.
.
.
Figure 22.70: An excerpt of an example f si_f orce.in file.

FSI Spring Model - spring.in


To activate the FSI spring model, set spring_f lag = 1 in f si.in and include a spring.in file in
the Case Directory. Table 22.65 below describes the parameters in spring.in. Figure 22.71
shows an example spring.in file.

Table 22.65: Parameters in spring.in.


Parameter Description

num_spring_obj ects Number of FSI spring objects, followed by a block of data for each.

f si_obj ect_name A string used to identify an FSI spring object, corresponding to FSI
object name in f si.in.

spring_constant Spring constant of the spring object (N/ m), defined greater than zero.
Specify a file name (in quotation marks) for a case with a variable
spring constant.

852 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

damping_constant Damping constant of the spring object (N-s/ m), defined greater than
zero.

initial_def ormation Initial preload deformation of the spring object (m).

detached_f lag Flag for spring attachment.


0 = Spring attached at both ends.
1 = Spring attached from one end.

detachment_distance Distance from detached end of spring to FSI object (only used if
detached_f lag = 1).

end_position_f si Coordinates of spring end position on FSI object.

end_position_f ixed Coordinates of spring end position on fixed object.

num_sub_springs Number of sub-spring objects used to represent the fact that the
physical spring has a finite coil diameter.

zero_angle_direction Unit vector pointing along zero axis for sub-spring coordinate system.

radius_angle Sub-spring radius (m) and radial angle (deg) of sub-spring (repeats for
num_sub_springs).

#!CONVERGE_VERSION=2.4
#=====================

1 num_spring_objects
#---------------------------------------------
# Spring_force_1
#---------------------------------------------
fsiobject3 fsi_object_name
1.0 spring_constant
1.0 damping_constant
1.0 initial_deformation
0 detached_flag
0.0 detachment_distance
0.0 0.0 0.0 end_position_fsi
0.0 0.0 0.0 end_position_fixed
2 num_sub_springs
0.0 0.0 0.0 zero_angle_direction
0.0 0.0 radius_angle
0.0 0.0 radius_angle

Figure 22.71: An example spring.in file.

FSI Stiction Model - stiction.in


To activate the FSI stiction model, set stiction_f lag = 1 in f si.in and include a stiction.in file in
the Case Directory. Table 22.66 below describes the parameters in stiction.in. Figure 22.72
shows an example stiction.in file.

Table 22.66: Parameters in stiction.in.


Parameter Description

CONVERGE 2.4 Manual 853


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

num_stiction_f orces Number of FSI spring objects, followed by a block of data for each.

f si_obj ect_name A string used to identify an FSI object subject to this stiction force,
corresponding to FSI object name in f si.in.

stiction_model_f lag Reserved for future use.

stiction_f orce Maximum magnitude of stiction force (N), defined positive.

stiction_distance Maximum distance over which stiction force acts (m), defined
positive.

stiction_direction Unit vector along which stiction force acts.

#!CONVERGE_VERSION=2.4
#=====================

1 num_stiction_forces
#---------------------------------------------
# Stiction_force_1
#---------------------------------------------
fsiobject3 fsi_object_name
1 stiction_model
1.0 stiction_force
1e-05 stiction_distance
1.0 0.0 0.0 stiction_direction

Figure 22.72: An example stiction.in file.

FSI Events - fsi_events.in


To activate the FSI events option, set f si_events_f lag = 1 in f si.in and include a f si_events.in
file in the Case Directory. Table 22.67 below describes the parameters in f si_events.in.in.
Figure 22.73 shows an example f si_events.in.in file.

Table 22.67: Parameters in f si_events.in.


Parameter Description

num_f si_events Number of FSI events, followed by a block of data for each.

f si_obj ect_name A string used to identify the FSI object subject to this event,
corresponding to FSI object name in f si.in.

region_id_A Region ID of the first region of this event.

region_id_B Region ID of the second region of this event.

displacement_open FSI object displacement at which to OPEN regions A and B.

displacement_closed FSI object displacement at which to CLOSE regions A and B

direction Unit vector along which motion takes place during the FSI event.

#!CONVERGE_VERSION=2.4
#=====================

854 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

1 num_fsi_events
#---------------------------------------------
# FSI_event_1
#---------------------------------------------
fsiobject3 fsi_object_name
0 region_id_a
0 region_id_b
1e-06 displacement_open
1e-06 displacement_close
1.0 0.0 0.0 direction

Figure 22.73: An example f si_events.in file.

Variable Spring Constant - spring_constant.in


For an FSI simulation that includes a spring with variable spring constant, specify a file
name (in quotation marks) for spring_constant in spring.in.

If you specify a file name for spring_constant, you must include a file with that name in the
Case Directory. Figure 22.13 shows an example file you can use to specify different
spring_constant values for different displacements. The first row contains two columns
headings: displacement and f orce. Subsequent rows should contain spring constant values
(in N) as a function of displacement (m). The displacement column must contain
monotonically increasing displacement values.

displacement force
-0.00511 2.51E+00
-0.00501 2.42E+00
-0.00494 2.12E+00
-0.00478 1.71E+00
-0.00461 1.28E+00
-0.00428 1.01E+00
-0.00410 9.33E-01
-0.00372 6.55E-01
-0.00218 5.10E-01
-0.00146 3.48E-01
0 0.00E+00
. .
. .
Figure 22.13: An example of a variable spring constant file (e.g., spring_constant.in).

22.7.10Surface Chemistry - surface_chemistry.in


To activate CONVERGE's surface chemistry model, set surf ace_chemistry_f lag = 1 in
inputs.in and include a surf ace_chemistry.in file in the Case Directory. Table 22.68 describes
the parameters in surf ace_chemistry.in. You can simulate surface chemistry on one of two
types of surfaces: a non-moving WALL boundary that is specified in boundary.in or a
porous medium that is specified as a region in initialize.in. Note that, for each boundary or
porous region on which surface chemistry modeling will occur, surf ace_chemistry.in must
contain a block of parameters. Figure 22.74 shows an example surf ace_chemistry.in file.

CONVERGE 2.4 Manual 855


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Surface chemistry on a porous surface can only be performed by region and not by
boundary. For each porous region on which you wish to activate surface chemistry
modeling, you need to specify several region-specific parameters in surf ace_chemistry.in
and you must set source_f lag = 1 and source_shape as REGION in source.in.

Table 22.68: Parameters in surf ace_chemistry.in.


Parameter Description Typical Value

surf chem_region 0 = Surface chemistry model is not N/A


_f lag region dependent and uses temporal
type, surf chem_start_time and
surf chem_end_time to start and stop
the surface chemistry calculations in
the specified regions,
1 = Surface chemistry model is region
dependent and
surf ace_chemistry_region.in must be
saved in the Case Directory.
temporal type SEQUENTIAL, PERMANENT or N/A
CYCLIC. For CYCLIC, the period must
follow.

surf chem_start_ti Surface chemistry modeling start N/A


me time. Only used if Temporal type is
not PERMANENT.

surf chem_end_ti Surface chemistry modeling end time. N/A


me Only used if Temporal type is not
PERMANENT.

surf chem_temp_c Minimum cell or boundary 300


utof f temperature (K) for surface chemistry
activation.

surf chem_rel_tol Relative iteration error for each 1e-4


species in the surface chemistry
solver.

surf chem_abs_tol Absolute iteration error for each 1e-14


species in the surface chemistry
solver.

surf chem_reactio Reaction rate multiplier for each Default: 1


n_multiplier surface (site) species.

surf chem_porous Switch units from area (default, = 0) Default: 0


_vol_units_f lag to volume based (= 1), porous surface
chemistry only.

856 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

num_surf chem_b Number of boundaries at which N/A


oundaries surface chemistry modeling will
occur.

boundary_id Boundary ID for a boundary included N/A


in the surface chemistry model. This
information is required if
num_surf chem_boundaries is greater
than 0. This parameter is followed by
the block of parameters starting with
num_catalytic_species. Repeat for each
boundary on which surface
chemistry modeling will occur.

num_porous_reg Number of porous regions. N/A


ions

region_id Region ID for a region included in the N/A


surface chemistry model. This
information is required if
num_porous_regions is greater than 0.
This parameter is followed by the
block of parameters starting with
num_catalytic_species. Repeat for each
porous region on which surface
chemistry modeling will occur.

num_catalytic_s Number of species included in solver N/A


pecies followed by species name(s) and
composition ratio(s). The species
listed here must be included in
surf ace_mech.dat. Note that the
composition ratios must sum to one.
CONVERGE will not normalize the
ratios.

surf ace_area_to_ Geometric surface area per unit Default: 1.0


volume_ratio volume (m-1). This value is used only
in porous media.

catalytic_geometr Ratio of active catalytic surface area


ic_area_ratio to geometric surface area.

ef f ectiveness_f act 0 = Off (Do not use washcoat Default: 0


or_f lag parameters),
1 = Constant (specify
constant_ef f ectiveness_f actor).
2 = Use Thiele modulus approach.
When the ef f ectiveness_f lag = 2,
CONVERGE only calculates the

CONVERGE 2.4 Manual 857


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

effectiveness factor for cells in a


particular region or boundary in that
region or boundary, and all washcoat
parameters must be greater than zero.

constant_ef f ective A constant between 0 and 1. Note Default: 1


ness_f actor that if =1, the same as setting
ef f ectiveness_f actor_f lag=0.

dif f usion_model 0 = Knudsen diffusion model,


1 = Molecular diffusion model,
2 = Mixed diffusion model. When
dif f usion_model = 1 or 2, you must
include transport.dat and set
species_diffusion_model = 1 in
inputs.in.

knudsen_constan Knudsen diffusion constant. 4.0


t

washcoat_species The single gas phase species that Default: O2


reacts with the catalyst and
determines diffusion into the
washcoat used in Thiele Modulus
calculation. The gas phase species
listed here must be listed in mech.dat.

washcoat_porosit Fractional volume of voids in Default: 0


y washcoat used in Thiele Modulus
calculation.

washcoat_tortuos Quantitative deviation of the Default: 0


ity washcoat topology from a flat surface
used in Thiele Modulus calculation.

washcoat_thickne Thickness of washcoat (m) used in Default: 1e-3


ss Thiele Modulus calculation.

washcoat_pore_d Pore diameter of washcoat (m) used Default: 1e-9


iameter in Thiele Modulus calculation.

858 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

#!csi_version=2.4
#====================

0 surfchem_region_flag
SEQUENTIAL
0.0 surfchem_start_time
999.0 surfchem_end_time
300 surfchem_temp_cutoff
1e-8 surfchem_rel_tol
1e-20 surfchem_abs_tol
1.0 surfchem_reaction_multiplier
0 surfchem_porous_vol_units_flag

1 num_surfchem_boundaries

5 boundary_id
1 num_catalytic_species
RH_S1 1.0
1.0 surface_area_to_volume_ratio
70.0 catalytic_geometric_area_ratio
2 effectiveness_factor_flag
1.0 constant_effectiveness_factor
0 diffusion_model
4.0 knudsen_constant
CO washcoat_species
0.279 washcoat_porosity
3.0 washcoat_tortuosity
1e-4 washcoat_thickness
1.2e-8 washcoat_pore_diameter
Figure 22.74: An example surf ace_chemistry.in file.

Region-Dependent Surface Chemistry - surface_chemistry_region.in


The surf ace_chemistry_region.in file designates the start and end time that CONVERGE uses
when the surface chemistry model is region-dependent. CONVERGE reads this file when
the surf chem_region_f lag = 1 in surf ace_chemistry.in. Figure 22.75 shows an example of
surf ace_chemistry_region.in.

#!csi_version=2.4
#===================

1 region_id
SEQUENTIAL period for cyclic type
0 surfchem_tstart SURFCHEM start time
1.0 surfchem_tend SURFCHEM end time

3 region_id
SEQUENTIAL period for cyclic type
0.05 surfchem_tstart SURFCHEM start time
1.0 surfchem_tend SURFCHEM end time

Figure 22.75: Sample of a surf ace_chemistry_region.in file.

CONVERGE 2.4 Manual 859


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Surface Species Themodynamic Information - surface_therm.dat


The surf ace_therm.dat file contains thermodynamic information for surface species and
place holders for empty sites. The file format is similar to that described in the therm.dat
Input File section in Chapter 9 – Physical Properties and Reaction Mechanisms. Figure
13.38 shows an excerpt of a surf ace_therm.dat file.

THERMO
300.0 1000.0 3000.0
OH_S 92491O 1H 1Pt 1 I 300.00 3000.00 1000.00
0.18249973E+01 0.32501565E-02-0.31197541E-06-0.34603206E-09 0.79171472E-13
-0.26685492E+05-0.12280891E+02-0.20340881E+01 0.93662683E-02 0.66275214E-06
-0.52074887E-08 0.17088735E-11-0.25319949E+05 0.89863186E+01
Pt Pt 1 S 300.0 3000.0 1000.0
0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00
.
.
.
END

Figure 13.38: Excerpt of a surf ace_therm.dat file.

Note that surf ace_therm.dat must be in NASA 7 format. In Figure 13.38, the gas species is
OH_S and the open site species is Pt. List the number of sites each empty site occupies on
the surface in place of an element for that species. Use “I” to denote a gas species and “S”
to denote an empty site.
Surface Species Reaction Information -surface_mech.dat
The surf ace_mech.dat file contains surface species reaction information in the CHEMKIN
format. Note that the names in surf ace_mech.dat must be consistent with the names in
surf ace_therm.dat. CONVERGE does not list elements in surf ace_mech.dat. List all species
related to surface chemistry, such as the empty site species, in mech.dat.

860 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

!MATERIAL CATALYST
SITE/1/SDEN/2.7063E-9/
C3H6_S/2/ PT_S/1/ H_S/1/ O_S/1/ OH_S/1/
H2O_S/1/ CH3_S/1/ CH2_S/1/ CH_S/1/
C_S/1/ CO_S/1/ CO2_S/1/
END

REACTIONS JOULES/MOLE
H2 + 2PT_S => 2H_S 4.4579E+10 0.5 0.0
FORD/PT_S 1/
2H_S => H2 + 2PT_S 3.70E+21 0.00 67400.0
COV/H_S 0.0 0.0 -6000.0/
O2 + 2PT_S => 2O_S 1.80E+21 -0.5 0.0
DUPLICATE
O2 + 2PT_S => 2O_S 0.023 0.00 0.00
MOTZ-WISE-STICK
DUPLICATE
H2O + PT_S => H2O_S 1.00 0.0 0.0
STICK
END
Figure 13.39: Excerpt of a surf ace_mech.dat file.

As shown in Figure 13.39 above, surf ace_mech.dat lists the surface density and species
before the reactions. In the first row, SITE/1/SDEN/2.7063E-9/, the last number is the
surface site density (mol/cm2). Note the format of this line, including the / symbols. This
line cannot contain spaces. Below the first row, list the surface species. The surface species
names cannot contain symbols [e.g., # or ( )], as described in Chapter 9 – Physical
Properties and Reaction Mechanisms.

By default, the site occupancy for each surface species listed in surf ace_mech.dat is one. If
the species has a site occupancy of two or more, include / after the name of the species,
followed by the site occupancy for that species and then /. Figure 13.39 above shows an
example, C3H6_S/2/, of a species with a site occupancy of two. Specify the end of the list
of species at the site by using the keyword END.

The next section specifies the reactions at the surface sites. The first line contains the
keyword REACTIONS followed by the units (here J/mol). You can activate surface
chemistry options by including optional keywords after the units on this line. The keyword
SURF_SP_UNIT will force the rate calculation to use coverage (a percentage, unitless)
rather than surface density (mol/cm2). The keyword SURF_GAS_UNIT tells CONVERGE to
expect SI units for the gaseous species (otherwise, it conforms to the CHEMKIN format).

In surf ace_mech.dat, you can specify several reaction option keywords: COV for coverage
dependent, STICK for sticking probability, and MOTZ-WISE for the Motz-Wise correction,
as well as REV, FORD, USER and DUP, which are described in Chapter 9 – Physical
Properties and Reaction Mechanisms.

CONVERGE 2.4 Manual 861


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Specify the coverage-dependent parameter after the reaction by adding a row with the
keyword COV/, such as COV/H_S 0.0 0.0 -6000.0/ in Figure 13.39 above. After
COV/, you must list the species name (e.g., H_S); the three coverage parameters -
 j i ,  j i , and  j i
- in order; and then close the statement with /.

To use the sticking parameter, add a row with the keyword STICK after the reaction, as
shown in Figure 13.39. To use the MOTZ-WISE correction with the sticking reaction
option, use the keyword MOTZ-WISE-STICK instead of STICK. STICK or MOTZ-WISE-
STICK can be used with the COV reaction option, but each keyword needs to be on a new
row.

Note that you can include only one surf ace_mech.dat file per simulation.
22.7.11Radiation Modeling Setup - radiation.in
To activate the radiation model in CONVERGE, set radiation_f lag = 1 in inputs.in and
include a radiation.in file in the Case Directory. In addition, you must define two non-
transport passives–RADIATION and RADIATION_SRC–in species.in for any simulation
that includes radiation modeling.

Table 22.69 below describes the parameters in radiation.in. Figure 22.76 shows an example
file. Chapter 18 - Radiation Modeling describes the radiation-related parameters in detail.

Table 22.69: Parameters in radiation.in.


Parameter Description

radiation_model 0 = Discrete Ordinates method - FVM,


1 = Discrete Ordinates method - FTnFVM (works well with
anisotropic cases).

num_theta Number of polar divisions per octant. Typical range 1 - 4.

num_phi Number of azimuthal divisions per octant. Typical range 1 - 4.

num_theta_pix Number of polar pixels per ordinate. Typical range 1 - 10.

num_phi_pix Number of azimuthal pixels per ordinate. Typical range 1 - 10.

rad_spray_coupling_f lag Radiation/spray interaction.


0 = decoupled,
1 = coupled.

parcel_emissivity Parcel surface emissivity.

rad_energy_coupling_f lag 0 = Decoupled, i.e., radiation and energy equations are solved in a
sequential manner. This option may be good for optically thinner
cases.
1 = Radiation and energy equations are solver in a coupled manner.

862 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description

rad_solve_f requency CONVERGE solves radiation every rad_solve_f requency time-steps. For
a transient case, 10 may be appropriate. For a steady-state case, 50
may be appropriate.

scatter_f unction Scattering function.


0 = No scattering,
1 = Isotropic scattering,
2 = Linear anisotropic scattering,
3 = Delta-Eddington model,
4 = UDF.

aniso_constant Asymmetry constant. Used if scatter_f unction = 2 or 3.


This parameter varies from -1 to 1.

de_constant Delta-Eddington constant. Used if scatter_f unction = 3.

scatter_coef f Gray gas scattering coefficient.

absorption_coef f Gray gas absorption coefficient.

ref ractive_index Refractive index.

nongray_model Nongray gas model.


0 = Gray gas,
1 = Weighted Sum of Gray Gases,
2 = Band model of gray gas.

num_gray_gases Number of gray gases. Only used when nongray_model = 1.

num_spectral_bands Number of spectral bands for gray gases. Only used when
nongray_model = 2.

band_properties Band properties. Four numbers that represent:


1. the lower spectral bound,
2. the upper spectral bound,
3. the absorption coefficient, and
4. the scattering coefficient.

num_rad_boundaries Number of boundaries for which you will specify bound_id through
irradiance (see below). The remaining (unspecified) CONVERGE
boundaries will have emissivity and diffuse fraction values equal to 1,
and the remaining CONVERGE boundaries will have bc_type of
temperature (if energy_solver_f lag = 1 or 2) or irradiance (if
energy_solver_f lag = 0).

boundary_id Boundary ID.

emissivity Emissivity in the boundary specified by bound_id.

dif f use_f raction Diffuse fraction in the boundary specified by bound_id.

bc_type The keyword temperature or irradiance. Use irradiance to model non-


thermal radiation.

CONVERGE 2.4 Manual 863


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

Parameter Description

irradiance Irradiance (in W/ m2) on the boundary specified by bound_id. Only


read if bc_type = irradiance.

num_rad_regions Number of CONVERGE regions in which you want to solve radiation.


If 0, CONVERGE will calculate radiation for all regions in the
domain. If this parameter is set to a non-zero value, then you must
give num_rad_region entries of region_id.

region_id If num_rad_regions is non-zero, then you must provide the region


number followed by the keyword region_id for each region to receive
radiation calculations. There should be num_rad_regions entries of
region_id.

#!csi_version=2.4
#================

0 radiation_model
3 num_theta
3 num_phi
5 num_theta_pix
5 num_phi_pix
0 rad_spray_coupling_flag
1.0 parcel_emissivity
0 rad_energy_coupling_flag
10 rad_solve_frequency
0 scatter_function
1.0 aniso_constant
1.0 de_constant
0.0 scatter_coef
0.5 absorption_coef
1.0 refractive_index
0 nongray_model
1 num_gray_gases
1 num_spectral_bands
0.000001e-6 5.0e-6 0.15 0.35 band_properties

# Boundary info
3 num_rad_boundaries

1 boundary_id
0.0 emissivity
1.0 diffuse_fraction
temperature bc_type
0.0 irradiance

2 boundary_id
1.0 emissivity
1.0 diffuse_fraction
temperature bc_type
0.0 irradiance

3 boundary_id
1.0 emissivity
1.0 diffuse_fraction

864 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Physical Models Input Files

temperature bc_type
0.0 irradiance

# Region info
1 num_rad_regions
0 region_id

Figure 22.76: An example radiation.in file.

22.7.12Nucleate Boiling Model - nucleate_boiling.in


Use the nucleate_boiling.in file to specify parameters for the Rohsenow correlation used in
the nucleate boiling model.

Enter the saturation temperature (in K) of the liquid that will experience nucleate boiling.
Enter the vapor density of the same liquid when it transforms to the vapor phase. Next,
specify the constant Csf . This constant depends on the surface-fluid combination at which
nucleate boiling will occur. Finally, enter the nucleate boiling exponent (given by m in the
Rohsenow correlation (Rohsenow, 1952)).

Table 22.70 below describes the nucleate_boiling.in file. Figure 22.15 shows an example
nucleate_boiling.in file.

Table 22.70: Parameters in nucleate_boiling.in.


Parameter Description

saturation_temp Saturation temperature (K) of the liquid that experiences nucleate boiling.

vapor_density Density of the vapor phase of the liquid that experiences nucleate boiling.

c_sf Constant that depends on the surface-fluid interface.

nb_exponent Nucleate boiling exponent given by m in the Rohsenow correlation.

#!csi_version=2.4
#================

381.15 saturation_temp
0.804 vapor_density
0.013 C_sf
0 nb_exponent

Figure 22.77: An example nucleate_boiling.in file.

22.8 Grid Control Input Files


This section describes the input files that contain information about controlling the grid for
your CONVERGE simulation.

CONVERGE 2.4 Manual 865


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

22.8.1 Grid Scaling - gridscale.in


To direct CONVERGE to adjust the base grid size (dx_base, dy_base, and dz_base in
inputs.in) as a function of time, specify a file name (e.g., gridscale.in) for grid_scale in
inputs.in. This procedure is known as grid scaling.

Table 22.71 describes the format of a grid scale file, and Figure 22.78 shows an example
file.

Table 22.71: Parameters in a grid scale file (e.g., gridscale.in).


Parameter Name Description Typical Value

num_gridscale Number of grid scaling events listed in the file. The N/A
parameters below must occur num_gridscale times.

gridscale_time Time (in seconds if crank_f lag = 0 or in crank angle degrees if N/A
crank_f lag = 1 or 2) at which the gridscale_value will be
applied.

gridscale_value An integer that coarsens or refines the grid via the -3 to +3.
following equation:
scaled grid = dx_base / 2gridscale_value. For example, if
gridscale_value = -1, CONVERGE will coarsen the base grid
by a factor or two. Values of gridscale_value must be
integers that increase monotonically as the simulation
progresses.

#!csi_version=2.4
#=======================

3 num_gridscale
-147.1 gridscale_time
-2 gridscale_value
-15 .1 gridscale_time
-1 gridscale_value
-9.6 gridscale_time
0 gridscale_value
Figure 22.78: An example gridscale.in file.

22.8.2 Adaptive Mesh Refinement - amr.in


Adaptive Mesh Refinement (AMR) automatically refines the grid based on fluctuating and
moving conditions such as temperature and velocity. To enable AMR, set amr_f lag = 1 in
inputs.in and include the amr.in file in the Case Directory. Table 22.72 describes the
parameters in amr.in. Figure 22.79 shows an example file.

You can repeat the AMR settings (the entire block of parameters from amr_num_regions
through amr_passive_end_time) as many times as desired. After the last instance of

866 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

amr_passive_end_time, you must include the boundary AMR parameters. If you are not
using the boundary AMR feature, the last line of the file can be as follows:

0 amr_num_bounds

In this case, you do not need to include the parameters that follow amr_num_bounds.

Table 22.72: Parameters in amr.in.


Parameter Description Typical Value

amr_cycle_steady Number of cycles between AMR 50 - 200


calculations for embedding or
releasing cells for steady-state
simulations. A small number may
result in poor convergence. You can
use a file for temporally varying cycles
(e.g., amr_cycle_steady.in).

amr_max_cells Maximum number of cells in the N/A


domain. This number should be larger
than the base number of cells when
AMR is not enabled. You may use a file
for a temporally-varying maximum
number of cells (e.g., amr_max_cells.in).

amr_min_cells Minimum number of cells in the N/A


domain. You may use a file for
temporally varying minimum number
of cells (e.g., amr_min_cells.in).
#AMRGroup

amr_num_regions Number of active AMR regions. Must be at least 1.

amr_active_region Region(s) in which AMR is active. N/A


Each region identifier must be entered
on a single row, and there must be
amr_num_regions rows.
#####Velocity#####

amr_vel_f lag 0 = No velocity AMR, N/A


1 = Velocity AMR enabled.

amr_vel_embed_scale Maximum embedding scale for velocity N/A


AMR.

amr_vel_sgs_embed Sub-grid velocity above which a cell 0.1% to 10% of the


will be embedded. characteristic velocity in
domain.

CONVERGE 2.4 Manual 867


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

Parameter Description Typical Value

Temporal type and period Specify whether the velocity AMR is N/A
PERMANENT, SEQUENTIAL, CYCLIC,
or GRIDSCALE. If CYCLIC, the period
(in seconds if crank_f lag = 0 in inputs.in
or in crank angle degrees if crank_f lag = 1
or 2) must follow the keyword CYCLIC.

amr_vel_start Start time (in seconds if crank_f lag = 0 in N/A


inputs.in or in crank angle degrees if
crank_f lag = 1 or 2) for velocity AMR.
CONVERGE ignores this parameter if
the temporal type is PERMANENT.

amr_vel_end End time (in seconds if crank_f lag = 0 in N/A


inputs.in or in crank angle degrees if
crank_f lag = 1 or 2) for velocity AMR.
For steady-state simulations,
CONVERGE will freeze AMR at this
time. CONVERGE ignores this
parameter if the temporal type is
PERMANENT.

amr_parcel_embed Maximum number of parcels in a cell N/A


before CONVERGE will embed a cell
via AMR.
#####Temperature#####

amr_temp_f lag 0 = No temperature AMR, N/A


1 = Temperature AMR enabled.

amr_temp_embed_scale Maximum embedding scale for N/A


temperature AMR.

amr_temp_sgs_embed Sub-grid temperature above which a 0.1% to 10% of characteristic


cell will be embedded. temperature in the domain.
Temporal type and period Specify whether the velocity AMR is N/A
PERMANENT, SEQUENTIAL, CYCLIC,
or GRIDSCALE. If CYCLIC, the period
(in seconds if crank_f lag = 0 in inputs.in
or in crank angle degrees if crank_f lag = 1
or 2) must follow the keyword CYCLIC.

868 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

Parameter Description Typical Value

amr_temp_start Start time (in seconds if crank_f lag = 0 in N/A


inputs.in or in crank angle degrees if
crank_f lag = 1 or 2) for temperature
AMR. CONVERGE ignores this
parameter if the temporal type is
PERMANENT.

amr_temp_end End time (in seconds if crank_f lag = 0 in N/A


inputs.in or in crank angle degrees if
crank_f lag = 1 or 2) for temperature
AMR. For steady-state simulations,
CONVERGE will freeze AMR at this
time. CONVERGE ignores this
parameter if the temporal type is
PERMANENT.
#####Void fraction#####

amr_void_f lag 0 = No void fraction AMR, N/A


1 = Void fraction AMR enabled.

amr_void_embed_scale Maximum embedding scale for void N/A


fraction AMR.

amr_void_sgs_embed Sub-grid void fraction above which a N/A


cell will be embedded.
Temporal type and period Specify whether the velocity AMR is N/A
PERMANENT, SEQUENTIAL, CYCLIC,
or GRIDSCALE. If CYCLIC, the period
(in seconds if crank_f lag = 0 in inputs.in
or in crank angle degrees if crank_f lag = 1
or 2) must follow the keyword CYCLIC.

amr_void_start Start time (in seconds if crank_f lag = 0 in N/A


inputs.in or in crank angle degrees if
crank_f lag = 1 or 2) for void fraction
AMR. CONVERGE ignores this
parameter if the temporal type is
PERMANENT.

amr_void_end End time (in seconds if crank_f lag = 0 in N/A


inputs.in or in crank angle degrees if
crank_f lag = 1 or 2) for void fraction
AMR. For steady-state simulations,
CONVERGE will freeze AMR at this
time. CONVERGE ignores this
parameter if the temporal type is
PERMANENT.

CONVERGE 2.4 Manual 869


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

Parameter Description Typical Value

#####Species data#####

amr_species_f lag 0 = No species AMR, N/A


1 = Species AMR enabled.

amr_species_embed_scale Maximum embedding scale for species N/A


AMR.

amr_num_species Number of species that will trigger N/A


AMR. If amr_num_species is greater
than 1, repeat the parameters
species_name through
amr_species_end_time for each species
that will trigger AMR.

species_name Species name. If amr_species_f lag = 0, N/A


you can use the placeholder
NOT_USED.

amr_species_sgs_embed Sub-grid species mass fraction above 0.1% to 10% of characteristic


which a cell will be embedded. species mass fraction in the
domain.
Temporal type and period Specify whether the velocity AMR is N/A
PERMANENT, SEQUENTIAL, CYCLIC,
or GRIDSCALE. If CYCLIC, the period
(in seconds if crank_f lag = 0 in inputs.in
or in crank angle degrees if crank_f lag = 1
or 2) must follow the keyword CYCLIC.

amr_species_start Start time (in seconds if crank_f lag = 0 in N/A


inputs.in or in crank angle degrees if
crank_f lag = 1 or 2) for species AMR.
CONVERGE ignores this parameter if
the temporal type is PERMANENT.

amr_species_end End time (in seconds if crank_f lag = 0 in N/A


inputs.in or in crank angle degrees if
crank_f lag = 1 or 2) for species AMR.
For steady-state simulations,
CONVERGE will freeze AMR at this
time. CONVERGE ignores this
parameter if the temporal type is
PERMANENT.
#####Passive data#####

amr_passive_f lag 0 = No passive AMR, N/A


1 = Passive AMR enabled.

870 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

Parameter Description Typical Value

amr_passive_embed_scale Maximum embedding scale for passive N/A


AMR.

amr_num_passive Number of passives that will trigger N/A


AMR. If amr_num_passive is greater
than 1, repeat the parameters
passive_name through
amr_passive_end_time for each passive
that will trigger AMR.

passive_name Passive name. If amr_passive_f lag = 0, N/A


you can use the placeholder
NOT_USED.

amr_passive_sgs_embed Sub-grid passive value above which a 0.1% to 10% of characteristic


cell will be embedded. passive value in the domain.
Temporal type and period Specify whether the velocity AMR is N/A
PERMANENT, SEQUENTIAL, CYCLIC,
or GRIDSCALE. If CYCLIC, the period
(in seconds if crank_f lag = 0 in inputs.in
or in crank angle degrees if crank_f lag = 1
or 2) must follow the keyword CYCLIC.

amr_passive_start Start time (in seconds if crank_f lag = 0 in N/A


inputs.in or in crank angle degrees if
crank_f lag = 1 or 2) for passive AMR.
CONVERGE ignores this parameter if
the temporal type is PERMANENT.

amr_passive_end End time (in seconds if crank_f lag = 0 in N/A


inputs.in or in crank angle degrees if
crank_f lag = 1 or 2) for passive AMR.
For steady-state simulations,
CONVERGE will freeze AMR at this
time. CONVERGE ignores this
parameter if the temporal type is
PERMANENT.
#####Boundary data#####

CONVERGE 2.4 Manual 871


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

Parameter Description Typical Value

amr_num_bounds Number of boundaries on which N/A


CONVERGE will use y+ AMR. If 0, you
do not need to include the subsequent
parameters through
amr_boundary_end_time. If greater than
1, repeat the parameters from
amr_boundary_number through
amr_boundary_end_time for each
boundary on which you wish to use y+
AMR.

amr_boundary_number Boundary (ID from boundary.in) on N/A


which CONVERGE will use y+ AMR.

amr_boundary_embed_scale Maximum embedding scale for y+ N/A


AMR.

amr_boundary_yplus y+ value above which CONVERGE N/A


will activate y+ AMR.
Temporal type and period Specify whether the velocity AMR is
PERMANENT, SEQUENTIAL, or
CYCLIC. If CYCLIC, the period (in
seconds if crank_f lag = 0 in inputs.in or in
crank angle degrees if crank_f lag = 1 or 2)
must follow the keyword CYCLIC.

amr_boundary_start Start time (in seconds if crank_f lag = 0 in N/A


inputs.in or in crank angle degrees if
crank_f lag = 1 or 2) for the y+ AMR.
CONVERGE ignores this parameter if
the temporal type is PERMANENT.

amr_boundary_end End time (in seconds if crank_f lag = 0 in N/A


inputs.in or in crank angle degrees if
crank_f lag = 1 or 2) for the y+ AMR. For
steady-state simulations, CONVERGE
will freeze the y+ AMR at this time.
CONVERGE ignores this parameter if
the temporal type is PERMANENT.
#####No Boundary AMR data#####

872 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

Parameter Description Typical Value

amr_yplus_restrict_num_bounda Number of boundaries on which


ries CONVERGE will impose y+ AMR
restriction (if restriction criteria are
met). If 0, you do not need to include
the subsequent parameters through
amr_yplus_restrict_end. If greater than 1,
repeat the parameters from
amr_yplus_restrict_boundary_id through
amr_yplus_restrict_end_time for each
boundary on which you wish to use y+
AMR restriction.

amr_yplus_restrict_boundary_id Boundary (ID from boundary.in) on


which CONVERGE will activate y+
AMR restriction.

amr_yplus_restrict_yplus_target Target y+ value. If the y+ value in a cell For k-ε models: 30 - 300
near the specified boundary is less For k-ω models with:
than this value, the AMR on that cell near_wall_treatment_f lag = 0:
will be removed. 30 - 300
near_wall_treatment_f lag = 1:
3 - 300
near_wall_treatment_f lag = 2
or 3: ~1

amr_yplus_restrict_yplus_ratio Specified y+ ratio. If the y+ value in a


cell near the specified boundary is less
than the product of the target y+ value
and this ratio, the AMR on that cell
and the AMR on the neighboring cells
will be removed.
Temporal type and period Specify whether the y+ AMR restriction
is PERMANENT, SEQUENTIAL, or
CYCLIC. If CYCLIC, the period (in
seconds if crank_f lag = 0 in inputs.in or in
crank angle degrees if crank_f lag = 1 or 2)
must follow the keyword CYCLIC.

amr_yplus_restrict_start Start time (in seconds if crank_f lag = 0 in


inputs.in or in crank angle degrees if
crank_f lag = 1 or 2) for y+ AMR
restriction. CONVERGE ignores this
parameter if the temporal type is
PERMANENT.

CONVERGE 2.4 Manual 873


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

Parameter Description Typical Value

amr_yplus_restrict_end End time (in seconds if crank_f lag = 0 in


inputs.in or in crank angle degrees if
crank_f lag = 1 or 2) for y+ AMR
restriction. For steady-state
simulations, CONVERGE will freeze
the y+ AMR restriction at this time.
CONVERGE ignores this parameter if
the temporal type is PERMANENT.

874 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

#!CONVERGE_VERSION=2.4
#=======================

100 amr_cycle_steady
1.5e+06 amr_max_cells
1 amr_min_cells
#=============================================
# AmrGroup 1
#---------------------------------------------
2 amr_num_regions
0 amr_active_region
3 amr_active_region
##### Velocity #####
1 amr_vel_flag
3 amr_vel_embed_scale
1.0 amr_vel_sgs_embed
PERMANENT
-999999.0 amr_vel_start
-999999.0 amr_vel_end
50 amr_parcel_embed
##### Temperature #####
1 amr_temp_flag
3 amr_temp_embed_scale
2.5 amr_temp_sgs_embed
CYCLIC 720
-17.0 amr_temp_start
131.0 amr_temp_end
##### Void fraction #####
0 amr_void_flag
3 amr_void_embed_scale
0.001 amr_void_sgs_embed
PERMANENT
-999999.0 amr_void_start
-999999.0 amr_void_end
############# Species data #############
1 amr_species_flag
2 amr_species_embed_scale
1 amr_num_species
N2 species_name
1.0e-6 amr_species_sgs_embed
PERMANENT
0.0 amr_species_start
10.0 amr_species_end
############# Passive data #############
1 amr_passive_flag
2 amr_passive_embed_scale
1 amr_num_passive
INTAKE passive_name
1.0e-6 amr_passive_sgs_embed
SEQUENTIAL
0.0 amr_passive_start
10.0 amr_passive_end
#=============================================
# Boundary data
#---------------------------------------------
1 amr_num_bounds
##### Amr Boundary 1 #####
0 amr_boundary_number
3 amr_boundary_embed_scale

CONVERGE 2.4 Manual 875


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

30.0 amr_boundary_yplus
SEQUENTIAL
-999999.0 amr_boundary_start
-999999.0 amr_boundary_end
#=============================================
# No Boundary AMR data
#---------------------------------------------
1 amr_yplus_restrict_num_boundaries
##### Release Boundary 1 #####
0 amr_yplus_restrict_boundary_id
30 amr_yplus_restrict_yplus_target
0.33333 amr_yplus_restrict_yplus_ratio
SEQUENTIAL
-999999.0 amr_yplus_restrict_start
-999999.0 amr_yplus_restrict_end

Figure 22.79: An example amr.in file.

22.8.3 Embedded Grids - embedded.in


To include fixed embedding in a simulation, set embedded_f lag = 1 in inputs.in and include
an embedded.in file in the Case Directory. Table 22.73 and Figure 22.80 below describe the
embedded.in file.

Table 22.73: Parameters and keywords in embedded.in.


Fixed Parameter Parameter Description
Embe
dding
Type
BOUN embed_type Embedding type.
D
boundary_id Boundary ID specified in boundary.in.

embed_scale Embedding scale for boundary embedding.

num_embed Number of layers of embedding to be added to the boundary. For example, if


num_embed = 2, CONVERGE will refine the specified boundary plus two
additional layers of cells.
Temporal Specify whether the boundary embedding is PERMANENT, SEQUENTIAL, or
type and CYCLIC. If CYCLIC, the period (in seconds if crank_f lag = 0 in inputs.in or in crank
period angle degrees if crank_f lag = 1 or 2) must follow the keyword CYCLIC.

embed_start Start time of boundary embedding. CONVERGE ignores this parameter if the
_time temporal type is PERMANENT.

embed_end_t End time of boundary embedding. CONVERGE ignores this parameter if the
ime temporal type is PERMANENT.

REGI embed_type Embedding type.


ON region_id Region identifier where embedding will be applied.

876 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

Fixed Parameter Parameter Description


Embe
dding
Type

embed_scale Embedding scale for region embedding.

Temporal Specify whether the region embedding is PERMANENT, SEQUENTIAL, or


type and CYCLIC. If CYCLIC, the period (in seconds if crank_f lag = 0 in inputs.in or in crank
period angle degrees if crank_f lag = 1 or 2) must follow the keyword CYCLIC.

embed_start Start time of region embedding. CONVERGE ignores this parameter if the
_time temporal type is PERMANENT.

embed_end_t End time of region embedding. CONVERGE ignores this parameter if the
ime temporal type is PERMANENT.

BOX embed_type Embedding type.

x_center (Three values) x, y, and z coordinates for the center of the box.

x_size (Three values) Half of the box length in the x, y and z directions.

embed_scale Embedding scale for box embedding.

Temporal Specify whether the box embedding is PERMANENT, SEQUENTIAL, or CYCLIC.


type and If CYCLIC, the period (in seconds if crank_f lag = 0 in inputs.in or in crank angle
period degrees if crank_f lag = 1 or 2) must follow the keyword CYCLIC.

embed_start Start time of box embedding. CONVERGE ignores this parameter if the temporal
_time type is PERMANENT.

embed_end_t End time of box embedding. CONVERGE ignores this parameter if the temporal
ime type is PERMANENT.

CYLIN embed_type Embedding type.


DER
x_center Center of the first end of the embedding cylinder or truncated cone.

radius Radius of the first end of the embedding cylinder or truncated cone.

x_center Center of the second end of the embedding cylinder or truncated cone.

radius Radius of the second end of the embedding cylinder or truncated cone.

embed_scale Embedding scale for cylinder embedding.

Temporal Specify whether the cylinder embedding is PERMANENT, SEQUENTIAL, or


type and CYCLIC. If CYCLIC, the period (in seconds if crank_f lag = 0 in inputs.in or in crank
period angle degrees if crank_f lag = 1 or 2) must follow the keyword CYCLIC.

embed_start Start time of cylinder embedding. CONVERGE ignores this parameter if the
_time temporal type is PERMANENT.

embed_end_t End time of cylinder embedding. CONVERGE ignores this parameter if the
ime temporal type is PERMANENT.

CONVERGE 2.4 Manual 877


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

Fixed Parameter Parameter Description


Embe
dding
Type
SPHE embed_type Embedding type.
RE
x_center Center of the sphere.

radius Radius of the sphere.

embed_scale Embedding scale for sphere embedding.

Temporal Specify whether the sphere embedding is PERMANENT, SEQUENTIAL, or


type and CYCLIC. If CYCLIC, the period (in seconds if crank_f lag = 0 in inputs.in or in crank
period angle degrees if crank_f lag = 1 or 2) must follow the keyword CYCLIC.

embed_start Start time of sphere embedding. CONVERGE ignores this parameter if the
_time temporal type is PERMANENT.

embed_end_t End time of sphere embedding. CONVERGE ignores this parameter if the
ime temporal type is PERMANENT.

INJEC embed_type Embedding type.


TOR
inj ector_no Injector number.

radius Radius of the first end at the nozzle (circle).

radius Radius of the second end at the nozzle (circle).

length Length of the embedding.

embed_scale Embedding scale for injector embedding.

Temporal Specify whether the injector embedding is PERMANENT, SEQUENTIAL, or


type and CYCLIC. If CYCLIC, the period (in seconds if crank_f lag = 0 in inputs.in or in crank
period angle degrees if crank_f lag = 1 or 2) must follow the keyword CYCLIC.

embed_start Start time of injector embedding. CONVERGE ignores this parameter if the
_time temporal type is PERMANENT.

embed_end_t End time of injector embedding. CONVERGE ignores this parameter if the
ime temporal type is PERMANENT.

NOZZ embed_type Embedding type.


LE
inj ector_no Injector number.

nozzle_no Nozzle number.

radius Radius of the first end at the nozzle (circle).

radius Radius of the second end at the nozzle (circle).

length Length of the embedding.

878 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

Fixed Parameter Parameter Description


Embe
dding
Type

embed_scale Embedding scale for nozzle embedding.

Temporal Specify whether the nozzle embedding is PERMANENT, SEQUENTIAL, or


type and CYCLIC. If CYCLIC, the period (in seconds if crank_f lag = 0 in inputs.in or in crank
period angle degrees if crank_f lag = 1 or 2) must follow the keyword CYCLIC.

embed_start Start time of nozzle embedding. CONVERGE ignores this parameter if the
_time temporal type is PERMANENT.

embed_end_t End time of nozzle embedding. CONVERGE ignores this parameter if the
ime temporal type is PERMANENT.

CONVERGE 2.4 Manual 879


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

#!CONVERGE_VERSION=2.4
#=======================

#---------------------------------------------
# Embedding 1
#---------------------------------------------
BOUND embed_type
15 boundary_id
3 embed_scale
2 num_embed
PERMANENT
-999999.0 embed_start_time
-999999.0 embed_end_time
#---------------------------------------------
# Embedding 2
#---------------------------------------------
REGION embed_type
9 region_id
2 embed_scale
PERMANENT
-999999.0 embed_start_time
-999999.0 embed_end_time
#---------------------------------------------
# Embedding 3
#---------------------------------------------
BOX embed_type
0.0 0.0 0.1 x_center
0.06 0.1 0.1 x_size
2 embed_scale
PERMANENT
-999999.0 embed_start_time
-999999.0 embed_end_time
#---------------------------------------------
# Embedding 4
#---------------------------------------------
CYLINDER embed_type
0.0 0.0 0.1 x_center
0.06 radius
0.0 0.0 -0.2 x_center
0.06 radius
2 embed_scale
PERMANENT
-999999.0 embed_start_time
-999999.0 embed_end_time
#---------------------------------------------
# Embedding 4
#---------------------------------------------
SPHERE embed_type
-0.0034 0.0 0.0091 x_center
0.003 radius
4 embed_scale
CYCLIC 720
-16.0 embed_start_time
0.0 embed_end_time
#---------------------------------------------
# Embedding 5
#---------------------------------------------
INJECTOR embed_type
0 injector_no

880 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Grid Control Input Files

0.001 radius
0.002 radius
0.015 length
5 embed_scale
CYCLIC 720
-16.0 embed_start_time
0.0 embed_end_time
#---------------------------------------------
# Embedding 6
#---------------------------------------------
NOZZLE embed_type
0 injector_no
0 nozzle_no
0.002 radius
0.004 radius
0.015 length
4 embed_scale
CYCLIC 720
-485.0 embed_start_time
-265.0 embed_end_time
Figure 22.80: An example embedded.in file.

22.9 Output/Post-Processing Input Files


This section describes the input files that contain output and post-processing parameters
for your CONVERGE simulation.
22.9.1 Post-Processing - post.in
The post.in file, which is required for all simulations, specifies which quantities
CONVERGE writes to the binary output files for post-processing and visualization. The
post.in file contains the keywords <cells> and <parcels>, each followed by a list of variables.
Tables 22.74 through 22.83 below list the parameters that you can include in post.in. Note
that these parameters must be spelled exactly as shown in the tables.

CONVERGE frequently updates the list of acceptable variables in post.in (for more
information on version-to-version changes, consult the Release Notes). To ensure that you
can use all the variables listed in this section, please install the latest version of
CONVERGE.

CONVERGE saves the binary output files (post*.out) to a directory named output, which is
within the Case Directory. After the simulation is complete, use the post_convert utility to
convert the data in the post*.out files to a format that can be used by a visualization
program.

If you change the post.in file prior to restarting a simulation, CONVERGE will create a new
output directory for the restart post files. The new directory will be named output<number>
(e.g., output1), where <number> is restart_number from inputs.in.

CONVERGE 2.4 Manual 881


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

To generate averaged quantities from post*.out files, you must include the following
parameters in the post.in file before starting a simulation: logic_i, logic_j, logic_k, level, and
volume.

Table 22.74: Cell property parameters in post.in. These parameters must be preceded by the keyword
<cells>.
Parameter Name Description

alpha Cell void fraction. Volume of fluid modeling must be active (vof _f lag = 1 in
inputs.in).

cav_rate Cell cavitation rate (kg/ m3s). Must have vof _f lag = 1 in inputs.in and
cav_cond_f lag = 1 in vof .in.

cp Specific heat capacity at constant pressure in the cell (J/ K).

cv Specific heat capacity at constant volume in the cell (J/ K).

density Cell density (kg/ m3)

dif f _pres Cell pressure minus the average region pressure (N/ m2).

div ui
Divergence in the cell, i.e., .
xi

f lux_limiter_mom The sum of the flux limiter values for the momentum equation in the x, y, and
z directions. Ranges from 0-3, where 3 indicates that flux is not limited in any
direction.

f lux_limiter_global The sum of the flux limiter values for the global equation in the x, y, and z
directions. Ranges from 0-3, where 3 indicates that flux is not limited in any
direction.

gamma Ratio of specific heats at constant pressure and constant volume in the cell.

grad_p[<i>] Gradient of pressure in the cell in the i-th direction. 1 represents x, 2


represents y, and 3 represents z.

local_dt Value of cell dt (time-step).

mach Cell Mach number.

mass Cell mass (kg).

mol_cond Cell molecular conductivity (W/ m-K).

mol_visc Cell molecular viscosity (N-s/ m2).

monotone_upwind Indicates the numerical scheme used in the cell in all three directions
(typically based on monotone_tolerance specified in solver.in), where the solver
used the
0 = First-order upwind scheme,
1 = Numerical scheme specified in solver.in.

882 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

Parameter Name Description

prod_monotone_upwind Identifies scheme used in boundary cells (which may be Cartesian cut cells)
by calculating the product of monotone_upwind in the x, y, and z directions.
Always 0 or 1.

pair_volume Cell pair volume (m3) (if a cell is paired with another cell).

presrat Density-to-pressure ratio in cell.

pressure Cell pressure (N/ m2).

sensible_sie Cell specific sensible value for internal energy (J/ kg)

sie Cell specific internal energy (J/ kg).

temp Cell temperature (K).

vap_pres Cell vapor pressure (N/ m2).

velocity All three components of cell velocity (m/ s).

vol_f rac Liquid parcel volume divided by cell volume.

volume Cell volume (m3).

vorticity Vorticity (generates three separate scalar components).

Table 22.75: Cell geometry and cell location parameters in post.in. These parameters must be
preceded by the keyword <cells>.
Parameter Name Description

area[i] Area of the cell side (m2), where side is any integer, i. For i, integers 0 through 5
correspond to left, right, front, back, bottom, or top, respectively.

center_f lag Cell center located outside of cell.

idreg Cell region identification number.

level Cell embed level (0 is for base grid size, positive integers reflect finer resolution,
negative values reflect coarse resolution of the grid).

logic_i Cell node in i-th direction.

logic_j Cell node in i-th direction.

logic_k Cell node in k-th direction.

rank Processor identifier for the cell.

xcen[direction] Cell center, where direction is any integer 0, 1, or 2 corresponding to the x, y, or z


direction respectively.

CONVERGE 2.4 Manual 883


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

Table 22.76: Combustion parameters in post.in. These parameters must be preceded by the keyword
<cells>.
Parameter Name Description

cmean Progress variable for the ECFM, ECFM3Z, and FGM models. This value ranges
from 0 to 1.

damkohler Cell Damkohler number. Combustion modeling must be active (combustion_f lag =
1 in inputs.in).

equiv_ratio Cell equivalence ratio.

lam_f lamespeed Cell laminar flamespeed. Combustion modeling must be active (combustion_f lag =
1 in inputs.in).

lambda Cell relative air-fuel ratio.

mix_f rac Cell mixture fraction.

az_id Identifier for adaptive zoning.

overall_equiv_ratio Overall equivalence ratio (both gas and liquid phase) in the cell.

radiation Monochromatic incident radiation in the cell (W/ m3)

react_lambda Cell lambda value for the combustion reaction excluding CO2 and H2O.

react_ratio Cell equivalence ratio that does not include CO2 and H2O in the calculation.

reaction_progress Normalized progress variable in the cell for the FGM model. Always 0 if FGM
model is not activated (f gm_f lag ≠ 1 in combust.in).

tur_f lamespeed Turbulent flamespeed in the cell. Combustion modeling must be active
(combustion_f lag = 1 in inputs.in).

zmean Mixture fraction in the cell for the ECFM, ECFM3Z, and FGM models.

zvar Mixture fraction variance in the cell for the ECFM, ECFM3Z, and FGM models.

Table 22.77: Turbulence parameters in post.in. These parameters must be preceded by the keyword
<cells>.
Parameter Name Description

cond Cell thermal conductivity, including the turbulent component (W/ m-K).

eps Cell turbulence dissipation rate (m2/ s3).

omega Cell specific turbulence dissipation rate (s-1)

les_mode If a DES model is activated (turbulence_model = DDES_K_OMEGA_SST or


IDDES_K_OMEGA_SST in turbulence.in), this parameter specifies the regime that
the cell is under.
0 = Cell has RANS behavior,
1 = Cell has LES behavior.

884 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

Parameter Name Description

s11, s12, s13, Components of the strain rate tensor for turbulence in the cell (s-1).
s22, s23, s33

tke Cell turbulent kinetic energy (m2/ s2).

tur_length Turbulent length scale in the cell (m).

tur_velocity Magnitude of turbulent velocity in the cell (m/ s).

visc Cell viscosity (dynamic), including the turbulent component (N/ m2/ s).

visc_rat Ratio of turbulent viscosity and molecular viscosity.

yplus Dimensionless wall distance.

q_criterion Second invariant of the velocity gradient tensor.

Table 22.78: Species/ passive parameters in post.in. These parameters must be preceded by the
keyword <cells>.
Parameter Name Description

massf rac(<species name>) Mass fraction of the species. The species name must match the
name specified in initialize.in, mech.dat, and/or species.in. When
using the RIF model, you can specify in post.in any species included
in the mechanism, regardless of whether it is a rif _transport_species,
and CONVERGE will provide mass fraction data for that species.

molef rac(<species name>) Mole fraction of species. The species name must match the species
name given in mech.dat or species.in.

passive(<passive name>) The value of the passive. The passive name contained in the
parentheses must match the name specified in initialize.in and
species.in. Refer to Chapter 9 - Physical Properties and Non-
Transport Passives for details regarding specific non-transport
passives that can be written to the post*.out files.

spd(<species name>) Cell species density (m-3).

surf cov(<species name>) Surface coverage fraction of the surface species. The species name
must match the name specified in surf ace_mech.dat.

Table 22.79: Boundary/ film parameters in post.in. These parameters must be preceded by the
keyword <cells>.
Parameter Name Description

attach Number of boundaries attached to the cell.

bound Indicates if a boundary is attached to the cell.


0 = No boundaries are attached to the cell,
1 = At least one boundary is attached to the cell.

CONVERGE 2.4 Manual 885


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

Parameter Name Description

bound_f lux Heat flux at wall boundary (J/ s).

bound_htc Heat transfer coefficient (W/ m2K) for convection boundaries. This value should
be equal to that specified in boundary.in.

bound_t_ref Boundary reference temperature for convection boundaries.

bound_temp Temperature at wall boundary (K).

cell_htc Heat transfer coefficient at a wall boundary, given by the heat flux divided by the
temperature difference (W/ m2K2) . CONVERGE writes 0 for solid boundaries.

conv_htc Convective heat transfer coefficient (W/ m2K) at the fluid wall boundary of the
cell.

f ilm_ht Cell liquid film thickness (m).

f ilm_mass Cell liquid film mass (kg).

f ilm_mf rac(<species Mass fraction of the species. The species name matches mech.dat or species.in.
name>)

f ilm_temp Cell liquid film temperature (K).

mag_wall_stress Magnitude of the wall stress at the specified boundary.

moving Indicates if a moving boundary is attached to the cell.


0 = No moving boundaries are attached to the cell,
1 = At least one moving boundary is attached to the cell.

sc_avg_temp Time-averaged temperature (K) used as the boundary condition for super-
cycling.

sc_avg_htc Time-averaged heat transfer coefficient (W/ m2K) used as the boundary condition
for super-cycling.

sc_wall_temp Super-cycling surface temperature (K).

wall_stress_x Wall stress (N/ m2) in the x direction (at the specified boundary).

wall_stress_y Wall stress (N/ m2) in the y direction (at the specified boundary).

wall_stress_z Wall stress (N/ m2) in the z direction (at the specified boundary).

Table 22.80: Detailed soot model parameters in post.in. These parameters must be preceded by the
keyword <cells>.
Parameter Name Description

pm_mom0 Zeroth soot moment (mole of soot per kg of gas) in each cell.

pm_mom1 First soot moment (mole of soot per kg of gas) in each cell.

soot_coag Soot mass density (kg/ m3) due to coagulation in each cell (PM and PSM models).

886 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

Parameter Name Description

soot_con Soot mass density (kg/ m3) due to condensation in each cell (PM and PSM
models).

soot_f r Soot mass density (kg/ m3) due to fragmentation in each cell (PM and PSM
models).

soot_mass Soot mass density (kg/ m3) in each cell (PM and PSM models).

soot_mf Soot mass fraction in each cell (PM and PSM models).

soot_num_density Soot number density (1/m3) in each cell.

soot_ox Soot mass density (kg/ m3) due to oxidation in each cell (PM and PSM models).

soot_pi Soot mass density (kg/ m3) due to particle inception (nucleation) (kg) in each cell
(PM and PSM models).

soot_size Diameter of the soot particle (m), which is assumed to be a sphere.

soot_sg Soot mass (kg/ m3) density due to surface growth in each cell (PM and PSM
models).

soot_vf Soot volume fraction in each cell (PM and PSM models).

sootsect_mass PSM soot mass (kg) in each section and each cell.

sootsect_mf PSM soot mass fraction in each section and each cell.

sootsecf _vf PSM soot volume fraction in each section and each cell.

Table 22.81: Physical properties of parcels parameters in post.in. These parameters must be preceded
by the keyword <parcels>.
Parameter Name Description

density Parcel density (kg/ m3).

f ilm_area Mass weighted area of the film associated with the parcel.

f ilm_f lag 0 = Parcel is not in wall film,


1 = Parcel is in wall film,
2 = Rebounded parcels,
3 = Splashed parcels,
4 = Separated parcels,
5 = Stripped parcels.

f ilm_thickness Thickness of the film associated with the parcel (m).

f rom_inj ector Identifies the injector number from which the parcel originates.

f rom_nozzle Identifies the nozzle number from which the parcel originates.

mass Parcel mass (kg).

num_drop Number of drops per parcel.

CONVERGE 2.4 Manual 887


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

Parameter Name Description

parent If the parcel is a parent drop (close to the injector inlet).

radius Parcel radius (m).

surf _temp Surface temperature of the film associated with the parcel (K).

temp Parcel temperature (K).

triangle Identifies the surface triangle(s) that the parcel is associated with.

urea_deposit Lists the mass fraction of solid urea (urea_solid), aqueous urea
(urea_aqueous), biuret, ammelide, the ammonium cation (NH4), water (H2O),
the cyanate anion (NCO), the hydrogen radical (hplus), and cyanuric acid
(cya) in the parcel. Requires the detailed decomposition of urea model
(urea_f lag = 3 in spray.in).

velocity All three components of parcel velocity (m/ s).

Table 22.82: Model properties of parcels parameters in post.in.These parameters must be preceded
by the keyword <parcels>.
Parameter Name Description

distant Unitless RT model constant.

distort Cell drop distortion from TAB model.

distort_dot Time-rate of drop distortion in the cell from TAB model.

f ilm_shed Accumulated parcel mass (kg) for stripped drop calculation.

pid Unique parcel identifier.

shed_mass Accumulated parcel mass (kg) for child drop calculation.

shed_num_drop Number of drops used in shed_mass calculation.

t_turb Turbulent time-scale for fluctuating velocity (s).

tbreak_kh Drop breakup time (s) for the KH model.

tbreak_rt Drop breakup time (s) for the RT model.

time_turb_accum Accumulated turbulent time (s) for the parcel.

uprime Turbulent x component of parcel velocity (m/ s).

vprime Turbulent y component of parcel velocity (m/ s).

wprime Turbulent z component of parcel velocity (m/ s).

weber Weber number of parcels.

888 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

Table 22.83: Species/ user properties of parcels parameters in post.in. These parameters must be
preceded by the keyword <parcels>.
Parameter Name Description

massf rac(<species>) Mass fraction of species. Note that the species name match species.in. Spray
modeling must be active (spray_f lag = 1 in inputs.in).

user<index> The user-defined parcel parameter parcel->user<index>. You can define any
number of these parcel parameters in the UDF user_post.c. Note that, in
udf .in, you must first specify the number of parcel->user<index> parameters
that you intend to define in the user_num_parcel row. The <index> number
is a zero-based index number. Refer to the user-defined functions - udf.in
section in this chapter for more details.

Figure 22.81 below shows an example post.in file.

#!csi_version=2.4
#================

<cells>
density
mass
massfrac(o2)
passive(CHEM_SRC)
grad_p[0]
velocity
level
logic_i
logic_j
logic_k
volume
rank
xcen[0]
react_ratio
lambda
tur_flamespeed
film_ht
user1
<parcels>
num_drop
radius
temp
velocity
film_flag
pid
parent
weber
user1
Figure 22.81: An example post.in file. Note that the keyword <cells> is followed by a list of variables
and then the keyword <parcels> is followed by another list of variables.

CONVERGE 2.4 Manual 889


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

22.9.2 Flow Between Regions - regions_flow.in


The regions_f low.in file specifies the inter-region flow parameters when region_f low_f lag = 2
in inputs.in. This file also controls the species and passive output for all INFLOW and
OUTFLOW boundaries in a simulation.

Use the parameters in this file to customize the output for the mass flow of different
species and passives between regions and across INFLOW and OUTFLOW boundaries.
Table 22.84 below describes the parameters in regions_f low.in, and Figure 22.82 below
provides an example regions_f low.in file.

Table 22.84: Parameters in regions_f low.in.


Parameter Description

output_allregions_f lag 0 = Output of mass flows for the adjacent regions specified below as
region1 and region2,
1 = Output of mass flows for all adjacent regions in the domain.

output_allspecies_f lag 0 = Output of mass flow and other information for the species specified
below,
1 = Output of mass flow and other information for all of the species in the
domain.

region1_region2 The region identifiers for which the adjacent region mass flows are
written in regions_f low.out file. Repeat this set as needed, depending on
the number of adjacent region pairs you want to specify. CONVERGE
reads this parameter only when output_allregions_f lag = 0.

species name Name of the species for which the mass flows are written in
regions_f low.out. Only read when output_allspecies_f lag = 0.

passive name Name of the passive for which the mass flows are written in
regions_f low.out.

#!csi_version=2.4
#================

0 output_allregions_flag
0 1 region1 region2
0 2 region1 region2
0 output_allspecies_flag
co2 species
h2o species
n2 species
o2 species
soot passive
nox passive
Figure 22.82: An example regions_f low.in file.

890 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

22.9.3 Swirl, Tumble, and Angular Momentum Calculations - dynamic.in


To define swirl, tumble, and inter-region angular momentum-related parameters, set
dynamic_f lag = 1 in inputs.in and include the dynamic.in file in the Case Directory. Table
22.85 below describes the parameters in dynamic.in. Figure 22.83 contains an example
dynamic.in file that defines two swirl and tumble regions and two angular momentum
sections.

Table 22.85: Parameters in dynamic.in.


Parameter Description

num_piston_or_vector The number of sections that follow. Each section describes a direction
vector (or piston) used to calculate dynamic information for the
specified region.

region_id ID of the region (must match region_id in initialize.in) in which swirl


and tumble ratio will be calculated.

bound_or_vector 0 = The tumble is calculated along a boundary motion vector,


1 = The tumble is calculated along a user-specified vector.

boundary_id ID of the boundary (must match boundary_id in boundary.in) whose


motion vector is used to calculate tumble. Used only when
bound_or_vector = 0.

vector_x The x component of the tumble calculation vector. Used only when
bound_or_vector = 1.

vector_y The y component of the tumble calculation vector. Used only when
bound_or_vector = 1.

vector_z The z component of the tumble calculation vector. Used only when
bound_or_vector = 1.

num_ang_mom_f lux Number of regions between which angular momentum flux


calculations will be performed.

ang_mom_f lux_region_f rom ID of the region (must match region_id in initialize.in) from which
CONVERGE will calculate the angular momentum. There should be
num_ang_mom_f lux pairs of ant_mom_f lux_region_f rom and
ang_mom_f lux_region_to.

ang_mom_f lux_region_to ID of the region (must match region_id in initialize.in) to which


CONVERGE will calculate the angular momentum.

#!csi_version=2.4
#================

2 num_piston_or_vector
0 region_id
1 bound_or_vector
0 boundary_index
1.0 0.0 0.0 vector_x

CONVERGE 2.4 Manual 891


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

0.0 1.0 0.0 vector_y


0.0 0.0 1.0 vector_z
2 region_id
0 bound_or_vector
8 boundary_index
1.0 0.0 0.0 vector_x
0.0 1.0 0.0 vector_y
0.0 0.0 1.0 vector_z
2 num_ang_mom_flux
1 ang_mom_flux_region_from
2 ang_mom_flux_region_to
3 ang_mom_flux_region_from
4 ang_mom_flux_region_to
Figure 22.83: An example dynamic.in file.

22.9.4 Monitor Points - monitor_points.in


Monitor points are locations in the domain at which CONVERGE collects data during the
simulation. There are three geometry options available: point, line, and cube. You specify
the location of a point, the location of the endpoints of a line, or the location and size of a
cube. If the monitor point is a cube, CONVERGE will report the average value of each
monitored quantity within the cube. You can specify whether the values will be mass- or
volume-averaged. For a monitor line, CONVERGE will report the average value of each
monitored quantity within a cube, repeated for num_mon_lines_points for each line. A line
may start and end on different streams.

To activate this feature, set monitor_points_f lag = 1 in inputs.in and include a


monitor_points.in file. Table 22.86 below describes the parameters in monitor_points.in, and
Table 22.87 lists the keywords for the variables that can be monitored. Figure 22.84
contains an example monitor_points.in file.

Table 22.86: Parameters in monitor_points.in.


Parameter Description

num_mon_points Number of monitor points and/or monitor cubes. For each monitor point,
include a row specifying its x, y, and z coordinates; bounding cube
length (in m); stream ID; and, for points located on a moving boundary,
boundary ID (the point will move with the boundary). If you only want to
collect monitor lines, set num_mon_points = 0.

num_mon_lines Number of monitor lines. If you only want to collect monitor points, you
may optionally set num_mon_lines = 0.

num_mon_lines_points Number of monitor points on each monitor line. After this line, for the
first monitor line, include a row specifying the x, y, and z coordinates of
its starting point, the bounding cube length (in m) of each point, and the
stream ID. Include another row specifying the first monitor line's
endpoint. Repeat these paired rows for each monitor line. For endpoints
located on a moving boundary, include the boundary ID (the line will
move with the boundary).

892 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

Variable(s) to monitor Variables that CONVERGE will monitor and their statistical types
(MASS_AVG for mass-averaged values or VOL_AVG for volume-
averaged values).

When calculating points along monitor lines, some points along the line may lie outside the
domain. CONVERGE will display a warning message if one or more points are outside the
domain, and the interior points may be redistributed along the line so that they lie inside
the domain. If you see this warning, check the output files to confirm the exact location of
each point along the monitor line.

Monitor lines can have different bounding cube sizes. The bounding cube size will be
linearly interpolated along the length of the monitor line.

Table 22.87: Variables that can be monitored via monitor_points.in.


Variable (units) Keyword

Pressure (Pa) pressure

Volume (m3) volume

Mass (kg) mass

Density (kg/ m3) density

Heat capacity at constant pressure (J/ kg-K) cp

Heat capacity at constant volume (J/ kg-K) cv


Ratio of specific heats gamma
Mach number mach

Specific internal energy (J/ kg) sie


Equivalence ratio equiv_ratio
React ratio reac_ratio

Temperature (K) temperature

Turbulent kinetic energy (m2/ s2) tke

Turbulence dissipation rate (m2/ s3) eps

Specific dissipation rate (1/ s) omega

U velocity component (m/ s) u

V velocity component (m/ s) v

W velocity component (m/ s) w


Mixture fraction mix_f rac

CONVERGE 2.4 Manual 893


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

Variable (units) Keyword

Conductivity (W/ m-K) cond

Viscosity (N-s/ m2) visc

Dimensionless wall distance yplus


Mass fraction massf rac(species_name)
Passive passive(passive_name)

Void fraction alpha

#!csi_version=2.4
#================

4 num_mon_points
0.0618 0.06115300 -0.109856 0.002 0
-0.00090924 0.00068804 -0.176000 0.002 1 27
-0.04546193 -0.0086544 -0.183000 0.002 1 27
0.0801515 0.016419 0.045338 0.0 0

2 num_mon_lines
4 num_mon_line_points
#Line 1
0.0 0.1 0.0 0.002 0
0.0 0.0 0.1 0.002 0
#Line 2
0.0 0.1 0.0 0.002 0
0.1 0.0 0.0 0.002 0

pressure MASS_AVG
pressure VOL_AVG
volume VOL_AVG
mass VOL_AVG
massfrac(O2) VOL_AVG
massfrac(CO2) VOL_AVG
massfrac(CH4) MASS_AVG

Figure 22.84: An example monitor_points.in file.

Note that CONVERGE contains two other monitor point options: a UDF monitor point
option and a super-cycle monitor point option. Unlike monitor points defined via
monitor_points.in, UDF and super-cycle monitor points do not allow you to select which
variables to monitor.
22.9.5 Custom Species Output - species_output.in
To direct CONVERGE to generate customized output files containing results for species
total mass, mass fraction, standard deviation of mass fraction, and mole fraction, specify
the file name species_output.in as the value of species_output_f lag in inputs.in. Next save a
species_output.in file to the Case Directory. The species_output.in file can include any of the
following keywords:

894 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

· <total_mass>
· <mass_f raction>
· <mass_f raction_std>
· <mole_f raction>
After a keyword, list the name(s) of the species for which you would like CONVERGE to
record this quantity or type the word all to include output for all of the species listed in
species.in and the reaction mechanism file.

If you do not include a keyword, or if you specify the term none after a bracketed keyword,
CONVERGE will not write output for this quantity.

An example species_output.in file is shown below in Figure 22.85. This file will generate
total_mass data for N2, standard deviation of the mass fraction for O2, and mole fraction
data for all of the species in species.in and the reaction mechanism file. No output for
mass_f raction will be generated because this keyword does not appear in the
species_output.in file.

<total_mass>
N2
<mass_fraction_std>
O2
<mole_fraction>
all
Figure 22.85: An example species_output.in file.

CONVERGE will write the total mass, mass fraction, standard deviation of mass average,
and mole fraction data, respectively, to the following output files:
· species_mass.out
· species_mass_f rac.out
· species_std_masf rac.out
· species_mole_f rac.out

A customized volume output option is available for a VOF simulations. If (vof _f lag = 1 in
inputs.in), CONVERGE will write species_vol.out if the species_output.in file contains the
<total_vol> keyword followed by all or the name(s) of one or more species.
22.9.6 Mapping File Frequency - write_map.in
When write_map_f lag = 1 in inputs.in, CONVERGE writes map_<time>.out file(s) at the
simulation time(s) specified in write_map.in. You can use these output files to initialize a
new simulation. If a simulation has spray modeling (i.e., if spray_f lag = 1 in inputs.in),
CONVERGE also writes spray_map_<time>.out file(s) at the simulation time(s) specified in
write_map.in. For example, if you direct CONVERGE to write file(s) at 100 crank angle
degrees, CONVERGE will write map_1.000000e+02.out and (for a simulation with spray
modeling) spray_map_1.000000e+02.out.

CONVERGE 2.4 Manual 895


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

When write_map_f lag = 1, CONVERGE also writes map_bound<ID>_<time>.out files (e.g.,


map_bound2_1.000000e+02.out) for each INFLOW and OUTFLOW boundary.

Table 22.88 summarizes the parameters in write_map.in. Figure 22.86 shows an example
file.

Table 22.88: Parameters in write_map.in.


Parameter Description

num_map_ Number of map_write_time value(s) to be listed below.


f iles
Temporal SEQUENTIAL or CYCLIC. If CYCLIC, the keyword must be followed by the period.
type

map_write_ Time(s) at which CONVERGE will write a map file. There should be num_map_f iles entries
time of this parameter.

#!csi_version=2.4
#=======================

3 num_map_files
SEQUENTIAL
100.5 map_write_time
150 map_write_time
200 map_write_time
Figure 22.87: Sample write_map.in file.

22.9.7 Proper Orthogonal Decomposition - pod.in


When you perform a proper orthogonal decomposition (POD) with the pod utility, the
utility automatically generates a pod.in file. You may alter this file for subsequent utility
runs.

Table 22.89 summarizes the parameters in pod.in. Figure 22.88 shows an example file.

896 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Output/Post-Processing Input Files

Table 22.89: Parameters in pod.in.


Parameter Description

input type Input type pod to perform the POD calculation. Other values reserved for future use.

pod domain Coordinate X, Y, and Z of the center of the domain for the POD calculation. By
center default, this is the origin.

pod domain size Domain extent in X, Y, and Z for the POD calculation. The calculation domain is a
box of these dimensions. By default, these extents are 1e25.

pod modes The number of modes to calculate. By default, this is equal to the number of files
output provided. You may reduce this number, but not increase it.

pod modes The number of modes to use to reconstruct the flowfield. The default value is zero,
reconstruct which will not perform the reconstruction.

cell variables Cell variables requested for the POD calculation.

f iles List of post<output number>_<output time>.out files on which to perform the POD
calculation.

<input type>
pod
<pod domain center>
0
0
0
<pod domain size>
1e+25
1e+25
1e+25
<pod modes output>
6
<pod modes reconstruct>
0
<cell variables>
logic_i
logic_j
logic_k
level
pressure
temp
<files>
post000765_+8.88257e+00.out
post000766_+8.88302e+00.out
post000767_+8.88359e+00.out
post000768_+8.88401e+00.out
post000769_+8.88454e+00.out
post000770_+8.88507e+00.out
Figure 22.88: Sample pod.in file.

CONVERGE 2.4 Manual 897


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |User-Defined Functions Input Files

22.10 User-Defined Functions Input Files


This section describes the input files that contain information about user-defined functions
(UDFs) for your CONVERGE simulation.
22.10.1User-Defined Functions - udf.in
This section describes how to prepare the udf .in file. Before running a simulation with a
UDF, consult the CONVERGE UDF Manual, which describes how to execute a simulation
that includes a UDF.

You can use UDFs to add models or features to CONVERGE. To enable UDFs, set user_f lag
= 1 in inputs.in and include the udf .in file in the Case Directory. To activate most UDFs, set
the appropriate flag to 1 in udf .in. Note that some flags activate the same UDF (e.g., several
film-related flags activate the user_f ilm.c UDF).

Note that some UDFs are not activated via a flag in udf .in. For these UDFs, add the
keyword USER in the appropriate file.

user_bc.c
The user_bc.c UDF allows you to set spatially and temporally varying velocity and
temperature boundary conditions. Activate user_bc.c by entering USER in the
applicable velocity and/or temperature boundary condition row(s) in boundary.in.

user_reaction_rate.c
The user_reaction_rate.c UDF allows you to define your own chemical reaction rate
function. Activate user_reaction_rate.c by entering USER in the row below any reaction
row in mech.dat.

user_motion.c
The user_motion.c UDF allows you to specify the motion of a boundary. This UDF may
be especially useful for cases in which the motion of the boundary depends on
conditions such as temperature or pressure that are calculated during the simulation.
Refer to the Moving WALLS - (User) section in Chapter 8 - Boundary Conditions for
more information about user-defined boundary motion.

Table 22.90 below lists the udf .in flags and the associated UDF subroutines. Figure 22.89
below shows an example udf .in file.

Table 22.90: Parameters in udf .in.


Parameter UDF Subroutine Description

user_dissolved_gas_f lag user_vof _dissolved_gas.c Model dissolved gas for multiphase


cases.

898 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |User-Defined Functions Input Files

Parameter UDF Subroutine Description

user_spray_main_f lag user_spray_main.c Spray modeling main driver routine.

user_nozzle_f lag user_nozzle.c Customizing injection velocity


magnitude, nozzle diameter, and cone
angle.

user_inj ect_f lag user_inj ect_custom.c Injector velocity components, injected


drop spatial position, and drop radius.

user_rateshape_f lag user_inj ect_prof ile.c Injection rate-shape.

user_break_f lag user_break_custom.c, Breakup models for spray.


user_spray_main.c

user_parcel_f lag user_parcel_prop.c, Custom parcel properties in spray.


user_f ilm_splash.c,
user_f ilm_strip.c

user_distort_f lag user_drop_distort.c, Distortion of drops in spray.


user_spray_main.c

user_evap_f lag user_spray_evap.c, Evaporation of drops in spray.


user_spray_main.c

user_coalesce_f lag user_spray_colide.c, Drop coalescence.


user_spray_main.c

user_collide_f lag user_spray_colide.c, Drop collision.


user_spray_main.c

user_gas_couple_f lag user_spray_gas_couple.c, Coupling the spray and gas phase.


user_spray_main.c

user_combust_main_f lag user_combust_main.c Combustion modeling main driver


routine.

user_combust_f lag user_combust_model.c, Custom combustion model.


user_combust_main.c

user_combust_sage_f lag user_combust_sage.c, Enable an exact copy of SAGE


user_combust_sage_setup.c, configured for use with the soot models
user_combust_main.c available with user_soot_model_f lag (see
previous row).

user_combust_ctc_f lag user_combust_ctc.c, Characteristic Time Combustion (CTC)


user_combust_main.c model.

user_combust_shell_f lag user_combust_shell.c, Shell ignition model.


user_combust_main.c

user_combust_rif _f lag user_combust_rif .c, Custom RIF combustion model.


user_combust_main.c

CONVERGE 2.4 Manual 899


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |User-Defined Functions Input Files

Parameter UDF Subroutine Description

user_combust_adaptive_zone_f lag user_combust_adaptive_zoni Adaptive zoning chemistry in


ng.c combustion.

user_mech_rate_f lag user_mech_rate.c, Reaction rates using custom external


user_combust_sage_setup.c routines to speed up chemistry
calculations. Often used for
simulations not using detailed
chemistry.

user_reaction_multiplier_f lag user_reac_mult.c, Reaction rates for every reaction at


user_combust_sage.c every time-step. Often used for
simulations not using detailed
chemistry. (Only for advanced users.)

user_reaction_rate_f lag user_reaction_rate.c User-defined reaction rate. USER


keyword in mech.dat required.

user_surf ace_reac_rate_f lag user_reaction_rate.c User-defined inhibition function.

user_nox_f lag user_combust_nox.c, NOx emissions.


user_combust_main.c

user_soot_f lag user_combust_soot.c, Soot emissions.


user_combust_sage.c,
user_combust_sage_setup.c,
user_combust_main.c,
user_outputs.c,
user_soot_outputs.c

user_soot_model_f lag user_soot_model.c, Choose from three soot models to use


user_combust_sage.c, with the SAGE detailed chemistry
user_combust_sage_setup.c, model with adaptive zoning.
user_outputs.c 1 = Gokul
2 = Dalian
4 = Waseda

user_passive_sor_f lag user_passive_sor.c Successive Over-Relaxation (SOR)


solver for passive species.

user_g_eqn_f lag user_calc_g_eqn_src.c, G-Equation combustion model.


user_combust_main.c

user_laminar_f lamespeed_f lag user_laminar_f lamespeed.c User-specified subroutine for laminar


flame speed.

user_equiv_ratio_f lag user_calc_equiv_ratio.c Equivalence ratio definition for fuel-air


mixture.
user_mixing_output.c Mixing output data. To activate
user_mixing_output.c, you must set
user_equiv_ratio_f lag = 1 and
mixing_output_f lag = 1 in inputs.in.

900 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |User-Defined Functions Input Files

Parameter UDF Subroutine Description

user_rebound_f lag user_f ilm.c, Rebounding of drops in the wall film


user_f ilm_splash.c model.

user_f ilm_j et_f lag user_f ilm.c Film jets in the wall film model.

user_f ilm_strip_f lag user_f ilm_strip.c Film stripping in the wall film model.

user_f ilm_sources_f lag user_f ilm_sources.c Film sources in the wall film model.

user_f ilm_gradp_f lag user_f ilm_gradp.c Pressure gradient of films in the wall
film model.

user_f ilm_splash_f lag user_f ilm_splash.c, User-specified film splash routine.


user_f ilm_splash_velocity.c

user_splash_crit_f lag user_f ilm.c, Determine when an impinging drop


user_f ilm_splash.c splashes and when it is incorporated
into the wall film.

user_splash_mass_f lag user_f ilm.c, Mass of drops splashed in the wall


user_f ilm_splash.c film model.

user_splash_radius_f lag user_f ilm.c, Radius of splashed drops in the wall


user_f ilm_splash.c film model.

user_splash_vel_f lag user_f ilm.c, Velocity of splashed drops in the wall


user_f ilm_splash.c film model.

user_f ilm_prop_f lag user_f ilm_prop.c Properties of films in the wall film
model.

user_f ilm_evap_f lag user_f ilm_evap.c Wall film evaporation.

user_dt_f lag user_dt.c Custom time-step limiters.

user_source_f lag user_source_main.c Sources.

user_source_transport_f lag user_source_transport.c Source terms in the transport


equations.

user_event_f lag user_event.c Events based on customized


occurrences (e.g., pressure gradients
between regions).

user_ga_merit_f lag user_ga_merit_f unction.c Merit function subroutine for the


genetic algorithm or design of
experiments.

user_piston_position_f lag user_piston_position.c, Custom piston position table.


user_bound.c

user_wallvalue_f lag user_wallvalue.c Custom wall values.

CONVERGE 2.4 Manual 901


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |User-Defined Functions Input Files

Parameter UDF Subroutine Description

user_input_f lag user_inputs.c Create an additional input file named


user.in that specifies customized
parameters.

user_post_f lag user_post.c Output of custom post-processing


variables.

user_out_f lag user_outputs.c, Output of column-formatted output


user_soot_outputs.c, data.
user_spray_evap.c

user_transf er_f lag user_write_transf er.c Customized output files of heat


transfer data.

user_heat_transf er_f lag user_heat_transf er.c Customized heat transfer model.

user_set_properties_f lag user_set_properties.c User-defined thermodynamic


properties based on updated
temperature or species densities.

user_regions_f low_f lag user_regions_f low.c Mass flow or parcel flow from one
region to another.

user_turb_stat_f lag user_turbulent_statistics.c Define custom turbulence statistics.

user_turb_model_f lag user_turbulence_model.c, Specify a turbulence model.


user_set_properties.c

user_f si_f lag user_f si_dynamics.c Applied forces, moments, and


constraints for fluid-structure
interaction (FSI) simulations.

user_restart_f lag user_restart.c Position of boundaries is stored in the


restart file. This UDF allows you to
read and write your own restart file,
which is useful when you specify
boundaries with user-defined motion
or fluid-structure interaction.

user_scatter_f unction_f lag user_scattering_phase_f uncti Define a scattering phase function for
on.c the radiation transport equation.

user_initialize_f lag user_initialize.c Set a spatially-varying profile for any


quantity as an initial condition. When
you activate this UDF, CONVERGE
will first read the initial conditions
defined in user_initialize.c and then
read the rest of the initial conditions
from initialize.in. Any conditions
defined in user_initialize.c will
supersede conditions in initialize.in.

902 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |User-Defined Functions Input Files

Parameter UDF Subroutine Description

user_bc_f lag user_bc.c User defined boundary condition for


velocity.

user_motion_f lag user_motion.c Customized motion of moving


boundaries.

user_num_parcel user_post.c Number of custom parcel-related


properties (parcel->user[<index>]) to be
defined in user_post.c. You can include
output for the parcel-related properties
defined in user_post.c by including the
user<index> keyword in the <parcels>
section of post.in.

user_load_balance_f lag user_load_balance.c Define custom weights for each


parallel block for load balancing.

user_post_process_f lag user_post_process.c Call external codes or functions


immediately before CONVERGE
terminates.

user_f lux_limiter_f lag user_f lux_limiter.c User-defined subroutine for custom


flux limiters for the convection term.

user_contact_resistance_f lag user_set_prop_contact_resista User-defined subroutine for modeling


nce.c the effect of contact resistance on heat
transfer between small gaps.

user_heat_trans_coef f _spray_f lag user_heat_trans_coef f _spray.c Custom heat transfer coefficient for
spray.

user_mass_trans_coef f _spray_f lag user_mass_trans_coef f _spray. Custom heat transfer coefficient for
c spray.

user_heat_trans_coef f _f ilm_f lag user_heat_trans_coef f _f ilm.c Custom heat transfer coefficient for
films.

user_mass_trans_coef f _f ilm_f lag user_mass_trans_coef f _f ilm.c Custom heat transfer coefficient for
films.

user_point_f lag user_points.c, Customized output at particular


user_points_data.c monitor points in the domain. See UDF
Monitor Points below.

num_points See user_point_f lag See UDF Monitor Points below.


(previous row).

CONVERGE 2.4 Manual 903


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |User-Defined Functions Input Files

#!CONVERGE_VERSION=2.4
#=====================

0 user_dissolved_gas_flag User specified subroutine


to model gas dissolving into liquid.
0 user_spray_main_flag User specified subroutine
for the spray modeling main driver routine.
0 user_nozzle_flag User specified subroutine
for customizing injection velocity magnitude, nozzle diameter, and cone angle.
0 user_inject_flag User specified subroutine
for the injector velocity components, injected drop spatial position, and drop
radius.
0 user_rateshape_flag User specified subroutine
for injection rate shape.
0 user_break_flag User specified subroutine
for breakup models for spray.
0 user_parcel_flag User specified subroutine
for custom parcel properties in spray.
0 user_distort_flag User specified subroutine
for the distortion of drops in spray.
0 user_evap_flag User specified subroutine
for evaporation of drops in spray.
0 user_coalesce_flag User specified subroutine
for drop coalescence.
0 user_collide_flag User specified subroutine
for drop collision.
0 user_gas_couple_flag User specified subroutine
for coupling the spray and gas phase.
0 user_combust_main_flag User specified subroutine
for the combustion modeling main driver routine.
0 user_combust_flag User specified subroutine
for custom combustion model.
0 user_combust_sage_flag User specified subroutine
for customized SAGE cumbustion model.
0 user_combust_ctc_flag User specified subroutine
for Characteristic Time Combustion (CTC) model.
0 user_combust_shell_flag User specified subroutine
for Shell ignition model.
0 user_combust_rif_flag User specified subroutine
for customized RIF cumbustion model.
0 user_combust_adaptive_zone_flag User specified subroutine
for multi-zone chemistry in combustion.
0 user_mech_rate_flag User specified subroutine
for reaction rates using external routine.
0 _multiplier_flag User specified subroutine
for modifying reaction rate coefficients for every reaction at every time-step.
0 user_reaction_rate_flag User defined reaction rate.
USER keyword in mech.dat required.
0 user_surface_reac_rate_flag Flag to switch user-defined
inhibition function.
0 user_nox_flag User specified subroutine
for NOX emissions.
0 user_soot_flag User specified subroutine
for soot emissions.
0 user_soot_model_flag User specified subroutine
for SAGE soot model (2-Gokul, 3-Dalian, 4-Waseda).
0 user_passive_sor_flag User specified subroutine
for SOR solver for passive species.

904 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |User-Defined Functions Input Files

0 user_g_eqn_flag User specified subroutine


for the G-equation combustion model.
0 user_laminar_flamespeed_flag User specified subroutine
for laminar flamespeed.
0 user_equiv_ratio_flag User specified subroutine
for equivalence ratio definition for fuel-air mixture.
0 user_rebound_flag User specified subroutine
for rebounding of drops in the wall film model.
0 user_film_jet_flag User specified subroutine
for film jets in the wall film model.
0 user_film_strip_flag User specified subroutine
for film stripping in the wall film model.
0 user_film_sources_flag User specified subroutine
for film sources in the wall film model.
0 user_film_gradp_flag User specified subroutine
for pressure gradient of films in the wall film model.
0 user_film_splash_flag User specified subroutine
for film splashing.
0 user_splash_crit_flag User specified subroutine
to determine when an impinging drop splashes and when it is incorporated into the
wall film.
0 user_splash_mass_flag User specified subroutine
for mass of drops splashed in the wall film model.
0 user_splash_radius_flag User specified subroutine
for radius of splashed drops in the wall film model.
0 user_splash_vel_flag User specified subroutine
for velocity of splashed drops in the wall film model.
0 user_film_prop_flag User specified subroutine
for properties of films in the wall film model.
0 user_film_evap_flag User specified subroutine
for wall film evaporation.
0 user_dt_flag User specified subroutine
for custom time-step limiters.
0 user_source_flag User specified subroutine
for sources.
0 user_source_transport_flag User specified subroutine
for source terms in the transport equations.
0 user_event_flag User specified subroutine
for events, which can be based on customized occurrences (e.g., pressure gradients
between regions).
0 user_ga_merit_flag User specified merit
function subroutine for the genetic algorithm.
0 user_piston_position_flag User specified subroutine
for a custom piston position table.
0 user_wallvalue_flag User specified subroutine
for custom wall values.
0 user_input_flag User specified subroutine
for input, with customized parameters in "user.in".
0 user_post_flag User specified subroutine
for output of custom post-processing variables.
0 user_out_flag User specified subroutine
for output of column formatted output data.
0 user_transfer_flag User specified subroutine
for output of heat transfer data.
0 user_heat_transfer_flag User specified subroutine
for heat transfer.
0 user_set_properties_flag User specified subroutine
for properties of solids, liquids and gases.

CONVERGE 2.4 Manual 905


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |User-Defined Functions Input Files

0 user_regions_flow_flag User specified subroutine


for calculation of gas and parcel flow-rates between regions.
0 user_turb_stat_flag User specified subroutine
for customized turbulent statistics.
0 user_turb_model_flag User defined turbulence
model.
0 user_fsi_flag User specified subroutine
for applied forces, moments, and constraints for fsi problems.
0 user_restart_flag Custom restart file.
0 user_scatter_function_flag User specified scattering
phase function for the radiation transport equation.
0 user_initialize_flag User specified subroutine
for the initialization of flow variables.
0 user_bc_flag User defined boundary
condition for velocity.
0 user_motion_flag Customized motion of moving
boundaries.
0 user_num_parcel Number of custom parcel-
related properties.
0 user_load_balance_flag User specified subroutine
to define custom weights for each parallel block for load balancing.
0 user_post_process_flag User specified subroutine
for calling external functions immediately before the simulation ends.
0 user_flux_limiter_flag User specified subroutine
for custom flux limiters for the convection term.
0 user_contact_resistance_flag User specified subroutine
for modeling the effect of contact resistance on heat transfer between small gaps.
0 user_heat_trans_coeff_spray_flag Flag to activate
user_heat_trans_coeff_spray.
0 user_mass_trans_coeff_spray_flag Flag to activate
user_mass_trans_coeff_spray.
0 user_heat_trans_coeff_film_flag Flag to activate
user_heat_trans_coeff_film.
0 user_mass_trans_coeff_film_flag Flag to activate
user_mass_trans_coeff_film.
0 user_point_flag User specified subroutine
for customized output at particular point(s) in the domain.

# User defined monitor points table begin:


1.00.0 2.5
0.5 0.5 0.5 0.75

Figure 22.89: An example udf .in file.


UDF Monitor Points
Monitor points are locations in the domain at which CONVERGE collects customized
output values, such as pressure, temperature, tke, eps, velocity, and equivalence ratio,
during the simulation. A monitor point can be a single point or a sphere of specified
location and radius. If the monitor point is a sphere, CONVERGE will report the average
value of each quantity within the sphere.

CONVERGE includes a non-UDF monitor point option via monitor_points.in. With this
option, you can direct CONVERGE to monitor specific variables of interest.

CONVERGE also includes a super-cycle monitor point option. With this option,
CONVERGE monitors the solid temperature in a CHT simulation.

906 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |User-Defined Functions Input Files

In addition to monitor points you specify in CONVERGE, you can set up monitor points
through the Probe option in Tecplot after you run a simulation. Please refer to the Tecplot
User Manual for instructions on how to set up a probe.

22.11 Chemistry Input Files


22.11.1Zero-Dimensional Chemistry Tools
Zero-Dimensional Solver Setup - zero_d_solver.in
The controls for the numerics to calculate the ignition delay are set in the file
zero_d_solver.in. You have to specify the nature of solver and the tolerance values as
shown in Table 22.91. An example input is shown in Figure 22.90.

Table 22.91: Parameters in zero_d_solver.in.


Parameter Description

zero_d_ode_solver Options for different ordinary differential equation (ODE) solvers:


0 = CVODE with dense solver. Recommended for mechanisms
with no more than 100 species,
1 = CVODE with preconditioned iterative solver. Recommended
for mechanisms with more than 100 species.

zero_d_analyt_j ac Flag to specify if Jacobian matrix is solved analytically or


numerically in the SAGE solver.
0 = Calculate the derivatives in the Jacobian matrix numerically,
1 = Calculate the derivatives in the Jacobian matrix analytically.
Option 1 is recommended because it typically runs faster.

zero_d_rel_tol Relative iteration error for each species. Recommended value is


1e-8.

zero_d_abs_tol Absolute iteration error for each species. Recommended value is


1e-20.

zero_d_reaction_multiplier Scaling factor for reaction rates.

zero_d_output_f ile_f lag 0 = Write only ignition_det.dat,


1 = Write all 0D *.out files.

zero_d_mole_f rac_input_f lag 0 = Input is in mass fraction format,


1 = Input is in mole fraction format.

zero_d_mole_f rac_output_f lag 0 = Output is in mass fraction format,


1 = Output is in mole fraction format,
2 = Write output in both mass and mole fraction format.

zero_d_egr_ceq_species_subset_f lag 0 = Do not limit the number of species used in the CEQ
calculations of the EGR mixture,
1 = Enable a limit on the number of species used in the CEQ
calculations of the EGR mixture.

CONVERGE 2.4 Manual 907


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Chemistry Input Files

zero_d_num_egr_ceq_species Number of species used in the CEQ calculation of the EGR


mixture.

zero_d_end_time_f lag 0 = Halt the 0D simulation after ignition,


1 = Halt the 0D simulation at zero_d_end_time in zero_d_cases.in.

zero_d_double_ignition_delay_f lag 0 = Do not write double ignition delay information,


1 = Enable output of double ignition delay information.

zero_d_sensitivity_f lag 0 = Do not perform a sensitivity analysis,


1 = Perform an adjoint sensitivity analysis,
2 = Perform a sensitivity analysis.

zero_d_asens_rel_tol Backward relative iteration error for each species for adjoint
sensitivity analysis. Recommended value is 1e-6.

zero_d_asens_abs_tol Backward absolute iteration error for each species for adjoint
sensitivity analysis. Recommended value is 1e-18

zero_d_asens_variables Number of variables for which adjoint sensitivity analysis will be


performed. List each variable (species names and/or
TEMPERATURE) on a separate line following this parameter.

zero_d_ga_f lag 0 = Do not write output for a genetic algorithm simulation,


1 = Write output for a genetic algorithm simulation.

zero_d_kicgen_output_f lag 0 = Do not write output in a format readable by the kicgen script,
1 = Enable output in a format readable by the kicgen script.

0 zero_d_ode_solver
1 zero_d_analyt_jac
1e-08 zero_d_rel_tol
1e-20 zero_d_abs_tol
1.0 zero_d_reaction_multiplier

0 zero_d_output_file_flag
1 zero_d_mole_frac_input_flag
0 zero_d_mole_frac_output_flag
0 zero_d_egr_ceq_species_subset_flag
0 zero_d_num_egr_ceq_species

1 zero_d_end_time_flag
0 zero_d_double_ignition_delay_flag

1 zero_d_sensitivity_flag
1e-6 zero_d_asens_rel_tol
1e-18 zero_d_asens_abs_tol
0 zero_d_num_asens_variables
0 zero_d_ga_flag
0 zero_d_kicgen_output_flag
Figure 22.91: Sample input for zero_d_solver.in.

Zero-Dimensional Simulation Setup - zero_d_cases.in


CONVERGE generates ignition delay data for different conditions of temperature, pressure
and equivalence ratio of fuel mixture and it needs the file zero_d_cases.in. The inputs in the

908 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Chemistry Input Files

file, zero_d_cases.in are described in Table 22.92. An example zero_d_cases.in file is shown
in Figure 22.92.

Table 22.92: Parameters in zero_d_cases.in.


Parameter Description

zero_d_case_type ceq_constant_enth_pres = Constant enthalpy and pressure 0D simulation


with CEQ,
ceq_constant_temp_pres = Constant temperature and pressure 0D
simulation with CEQ,
constant_volume = Constant volume 0D simulation,
constant_pressure = Constant pressure 0D simulation,
constant_temperature = Constant temperature 0D simulation.

zero_d_temperature Initial temperature (K).

zero_d_pressure Initial pressure (Pa).

zero_d_end_time Final time for integration (seconds). The solver will only integrate up to the
point at which the reactants reach equilibrium.

custom_species_f lag 0 = Do not allow specification of custom species,


1 = Allow the specification of custom species.

num_custom_species Number of custom species.

f uel_oxidizer_equiv_ratio The fuel-oxidizer equivalence ratio.

num_f uel_species Number of fuel species. Enter the species and their mass or mole fractions
on the following lines, with one species per line.

num_oxidizer_species Number of oxidizer species. Enter the species and their mass or mole
fractions on the following lines, with one species per line.

egr_ratio The EGR ratio.

egr_ratio_def inition_f lag 0 = Do not include the fuel charge term in the EGR calculation,
1 = Include the fuel charge term in the EGR calculation.

egr_ceq_f lag 0 = Provide a custom EGR mixture,


1 = CONVERGE uses CEQ to compute EGR.

num_egr_species Number of species in the custom EGR mixture. Enter the species and their
mass or mole fractions on the following lines, with one species per line.

constant_volume zero_d_case_type
800 zero_d_temperature
20e5 zero_d_pressure
1 zero_d_end_time

0 custom_species_flag
0 num_custom_species

1.0 fuel_oxidizer_equiv_ratio
1 num_fuel_species

CONVERGE 2.4 Manual 909


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Chemistry Input Files

IC8H18 1
2 num_oxidizer_species
O2 0.21
N2 0.79
0.1 egr_ratio
1 egr_ratio_definition_flag
0 egr_ceq_flag
1 num_egr_species
N2 1.0
Figure 22.92: Sample input for zero_d_cases.in.

22.11.2One-Dimensional Chemistry Tools


One-Dimensional Solver Setup - one_d_solver.in
To run the 1D premixed laminar flamespeed model utility, CONVERGE needs two files:
one_d_cases.in and one_d_solver.in. The one_d_solver.in file contains the required solver
inputs, as shown in Table 22.93. Figure 22.93 shows an example input file.

Table 22.93: Description of one_d_solver.in parameters.


Parameter Description

one_d_solver_type One-dimensional solver type.


1 = Stand-alone 1D steady-state solver,
2 = PISO solver (CONVERGE transient solver),
3 = Hybrid: begin with the PISO solver (CONVERGE
transient solver) on a coarse mesh and end with the
stand-alone Newton solver on a finer mesh.

one_d_anchor_temp Premixed flame anchoring temperature (Kelvin).

one_d_domain_length Length of the 1D domain (meters).

one_d_reaction_multiplier Scaling factor for reaction rates.

one_d_output_f ile_f lag 0 = Write only one_d_f lamespeed*.out (and thermo.out and
f lamespeed.out if one_d_solver_type > 1),
1 = Write the files listed above and any output files that
scale with the number of cases (i.e.,
one_d_newton_restart_case#.rst and one_d_sol_case#.out).

one_d_init_f rom_restart_f lag 0 = Begin a new 1D simulation,


1 = Initialize the 1D simulation from a restart file.

one_d_mole_f rac_input_f lag 0 = Input is in mass fraction format,


1 = Input is in mole fraction format.

one_d_mole_f rac_output_f lag 0 = Output is in mass fraction format,


1 = Output is in mole fraction format,
2 = Write output in both mass and mole fraction format.

one_d_egr_ceq_species_subset_f lag 0 = Do not limit the number of species used in the CEQ
calculations of the EGR mixture,

910 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Chemistry Input Files

1 = Enable a limit on the number of species used in the


CEQ calculations of the EGR mixture.

one_d_num_egr_ceq_species Number of species used in the CEQ calculation of the


EGR mixture.

newton_log_f ile_f lag 0 = Do not write log files,


1 = Write a log file (one_d_case<case number>.log) for
each case.
Only used when one_d_solver_type = 1 or 3.

newton_impl_species_dif f usion_f lag 0 = Do not evaluate species diffusion within the


Newton-Raphson loop,
1 = Evaluate species diffusion within the Newton-
Raphson loop.

newton_central_dif f erence_f lag Specify the spatial discretization scheme:


0 = Upwind scheme,
1 = Central difference scheme after the upwind scheme
converges.

newton_init_num_gridpoints Initial number of grid points.

newton_init_ramp_f raction The fraction of the domain in which the initial


temperature profile increases linearly to the equilibrium
value.

newton_sensitivity_f lag 0 = Do not perform a sensitivity analysis,


1 = Perform a sensitivity analysis.

newton_j ac_iteration_ss Number of iterations between Jacobian evaluation for


the steady-state solver.

newton_rel_tol_ss Relative tolerance for the steady-state solver.

newton_abs_tol_ss Absolute tolerance for the steady-state solver.

newton_j ac_iterations_pts Number of iterations between Jacobian evaluations for


the pseudo time-step solver.

newton_rel_tol_pts Relative tolerance for the pseudo time-step solver.

newton_abs_tol_pts Absolute tolerance for the pseudo time-step solver.

newton_dt_start_pts Initial time-step for the pseudo time-step solver


(seconds).

newton_num_time_steps_pts Number of time-steps for the pseudo time-step solver.

newton_grid_max_slope Normalized slope criterion for refinement.

newton_grid_min_slope Normalized slope criterion for coarsening.

newton_grid_max_curve Normalized curvature criterion for refinement.

newton_grid_min_curve Normalized curvature criterion for coarsening.

CONVERGE 2.4 Manual 911


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Chemistry Input Files

newton_grid_max_ratio Maximum ratio of allowed adjacent grid sizes.

newton_ga_f lag 0 = Do not write output for a genetic algorithm


simulation,
1 = Write output for a genetic algorithm simulation.

piso_screen_print_level Screen print level.

piso_post_f ile_f lag 0 = Do not write post files,


1 = Write post files at the end of the simulation.

piso_sponge_length Length of the sponge layer (meters) to dampen acoustic


fluctuation.

piso_dx_base Maximum cell size (meters) in the axial direction.

piso_end_time End time (seconds).

piso_species_dif f usion_model Species diffusion model.


0 = Apply single species diffusion coefficient,
1 = Apply mixture-averaged diffusion coefficient when
solving species and energy transport equations.

piso_massf lowrate_damp_f actor Controls the forcing term in the momentum equation to
anchor the premixed flame.

piso_relax_velocity_f actor Under-relaxation factor for the update of inlet velocity


to anchor the premixed flame.

piso_num_prog_variables Number of progress variable species.

piso_sage_ode_solver Options for different ordinary differential equation


(ODE) solvers:
0 = CVODE with dense solver (recommended for
mechanisms with no more than 100 species),
1 = CVODE with preconditioned iterative solver
(recommended for mechanisms with 100-500 species),
2 = SuperLU as a preconditioner of GMRES
(recommended for mechanisms with more than 500
species).

piso_sage_rel_tol Relative iteration error for each species in the SAGE


solver.

piso_sage_abs_tol Absolute iteration error for each species in the SAGE


solver.

piso_sample_size Number of samples used to determine if the specified


variable has reached a steady-state.

piso_tol_avg Tolerance for the difference between the mean of two


monitored samples.

piso_max_std Maximum allowed standard deviation in monitored


samples.

912 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Chemistry Input Files

piso_num_amr_temp_stages Number of temperature AMR stages. On the lines


below, enter a temperature sub-grid scale value and the
piso_amr_temp_sgs keyword for each stage with one
stage per line.

piso_amr_temp_sgs Enter the temperature sub-grid scale criterion for AMR


followed by this keyword.

piso_f inal_f lag 0 = Do not activate a final AMR stage with tighter
settings,
1 = Activate a final AMR stage with tighter solver
settings.

piso_f inal_max_cf l_nu Maximum CFL number based on viscosity for the final
AMR stage.

piso_f inal_sample_size Number of samples used to determine if the specified


variable has reached a steady-state for the final AMR
stage.

piso_f inal_tol_avg Tolerance for the difference between the mean of two
monitored samples in the final AMR stage.

piso_f inal_max_std Maximum allowed standard deviation in monitored


samples in the final AMR stage.

# GENERAL SOLVER SETTINGS


1 one_d_solver_type
1300 one_d_anchor_temp
0.1 one_d_domain_length
1 one_d_reaction_multiplier
0 one_d_output_file_flag
0 one_d_init_from_restart_flag
0 one_d_mole_frac_input_flag
0 one_d_mole_frac_output_flag
0 one_d_egr_ceq_species_subset_flag
0 one_d_num_egr_ceq_species

# NEWTON SOLVER SETTINGS


0 newton_log_file_flag
0 newton_impl_species_diffusion_flag
0 newton_central_difference_flag

# NEWTON SOLVER INITIALIZATION SETTINGS


12 newton_init_num_gridpoints
0.1 newton_init_ramp_fraction
0 newton_sensitivity_flag

20 newton_jac_iterations_ss
1e-08 newton_rel_tol_ss
1e-20 newton_abs_tol_ss

20 newton_jac_iterations_pts
1e-08 newton_rel_tol_pts
1e-20 newton_abs_tol_pts
0.0002 newton_dt_start_pts

CONVERGE 2.4 Manual 913


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Chemistry Input Files

10 newton_num_time_steps_pts

0.1 newton_grid_max_slope
0.001 newton_grid_min_slope
0.1 newton_grid_max_curve
0.001 newton_grid_min_curve
1e+07 newton_grid_max_ratio

0 newton_ga_flag

# PISO SOLVER SETTINGS


0 piso_screen_print_level
0 piso_post_file_flag

0.1 piso_end_time
1 piso_species_diffusion_model
0.01 piso_sponge_length
0.001 piso_dx_base

0.1 piso_massflowrate_damp_factor
0.5 piso_relax_velocity_factor
2 piso_num_prog_variables
CO
CO2

0 piso_sage_ode_solver
0.0001 piso_sage_rel_tol
1e-14 piso_sage_abs_tol

50 piso_sample_size
0.001 piso_tol_avg
0.01 piso_max_std

3 piso_num_amr_temp_stages
5 piso_amr_temp_sgs
1.0 piso_amr_temp_sgs
0.1 piso_amr_temp_sgs

1 piso_final_flag
5 piso_final_max_cfl_nu
500 piso_final_sample_size
0.0001 piso_final_tol_avg
0.01 piso_final_max_std
Figure 22.93: Sample input for one_d_solver.in.

One-Dimensional Solver Simulation Setup - one_d_cases.in


To run the 1D premixed laminar flamespeed model utility, CONVERGE needs two files:
one_d_cases.in and one_d_solver.in. Specify the initial conditions of temperature, pressure,
and species for the 1D flamespeed utility in one_d_cases.in, as shown in Table 22.94. Figure
22.94 shows an example one_d_cases.in file.

Table 22.94: Description of one_d_cases.in parameters.


Parameter Description

one_d_unburned_temp Unburned temperature (K).

914 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Chemistry Input Files

one_d_unburned_pressure Unburned pressure (Pa).

one_d_init_velocity Initial velocity (m/ s).

one_d_cutof f _temp Minimum cell temperature (K).

custom_species_f lag 0 = Do not allow specification of custom species,


1 = Allow the specification of custom species.

num_custom_species Number of custom species. Enter the species and their mass of
mole fractions on the following lines, with one species per line.

f uel_oxidizer_equiv_ratio The fuel-oxidizer equivalence ratio.

num_f uel_species Number of fuel species. Enter the species and their mass of mole
fractions on the following lines, with one species per line.

num_oxidizer_species Number of oxidizer species. Enter the species and their mass of
mole fractions on the following lines, with one species per line.

egr_ratio The EGR ratio.

egr_ratio_def inition_f lag 0 = Do not include the fuel charge term in the EGR calculation,
1 = Include the fuel charge term in the EGR calculation.

egr_ceq_f lag 0 = Provide a custom EGR mixture,


1 = CONVERGE uses CEQ to compute EGR.

num_egr_species Number of species in the custom EGR mixture. Enter the species
and their mass or mole fractions on the following lines, with one
species per line.

300.0 one_d_unburned_temp
1.0e5 one_d_unburned_pres
0.3 one_d_init_velocity
0.0 one_d_cutoff_temp
0 custom_species_flag
0 num_custom_species
1.100 fuel_oxidizer_equiv_ratio
1 num_fuel_species
IC8H18 1.0
2 num_oxidizer_species
O2 0.2329175
N2 0.7670825
0.2 egr_ratio
1 egr_ratio_definition_flag
0 egr_ceq_flag
2 num_egr_species
N2 0.8
CO2 0.2

300.0 unburned_temperature
1.0e5 unburned_pressure
0.3 initial_velocity
0.0 cutoff_temperature
0 custom_species_flag
0 num_custom_species

CONVERGE 2.4 Manual 915


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Chemistry Input Files

1.200 fuel_oxidizer_equiv_ratio
1 num_fuel_species
IC8H18 1.0
2 num_oxidizer_species
O2 0.2329175
N2 0.7670825
0.2 egr_ratio
1 egr_ratio_definition_flag
0 egr_ceq_flag
2 num_egr_species
N2 0.8
CO2 0.2

Figure 22.94: Example one_d_cases.in file.

22.11.3Mechanism Reduction Input and Data Files


Mechanism Reduction Setup - drgepsa.in
CONVERGE needs three files - zero_d_cases.in, zero_d_solver.in, and drgepsa.in - to
generate the reduced reaction mechanism, which it writes to mech_ske.dat.

CONVERGE looks for three files zero_d_cases.in, zero_d_solver.in, and drgepsa.in to


generate the reduced mechanism of chemical reactions in mech_ske.dat. The inputs for the
files zero_d_cases.in, and zero_d_solver.in are described in previous sections. The inputs for
the file drgespa.in are shown in Table 22.95. An example drgepsa.in is shown in Figure
22.95. Note that you can specify temperature as a target (with an associated error
tolerance) for reduction, where the impact of the species on HRR is used to determine if
the species is important and should be retained in the skeletal mechanism.

Table 22.95: Parameters in drgepsa.in.


Parameter Description Typical
value

drgep_f lag Activates the drgep_ignition_delay_error parameter.

drgep_ignition_delay_error Ignition delay error for DRGEP. 0.5

drgep_search_iter Search iterations tuning parameter. 10

sensitivity_analysis_f lag Activates the sensitivity_f raction parameter.

sensitivity_f raction Fraction of species from the skeletal mechanism that 0.5
undergoes sensitivity analysis.

isomer_lumping_f lag 0 = Automatic isomer lumping is OFF,


1 = Automatic isomer lumping is ON.
See the Isomer Lumping Reaction Option section for more
information about isomer lumping.

isomer_ignition_delay_error Error tolerance for automatic isomer lumping. A larger 0.2 - 0.3.
value will lead to a smaller mechanism (i.e., more
lumping).

916 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Chemistry Input Files

num_targets Number of target species specified below.

target_species Name of the target species, followed by the weight. Use


weight 1.00 for all target species. Use a value between 0
and 1 (e.g., 0.05) for species that are not target species but
should be retained in the final skeletal mechanism.

Add a negative sign in front of the weight to direct


CONVERGE to include only this species (not its
connected species as well) in the reduced mechanism.

1 drgep_flag
0.2 drgep_ignition_delay_error
2 drgep_search_iter
1 sensitivity_analysis_flag
0.2 sensitivity_fraction
1 isomer_lumping_flag
0.5 isomer_ignition_delay_error
9 num_targets
c7h16 1.0 target_species
ic8h18 1.0 target_species
n2 1.0 target_species
o2 1.0 target_species
temp 1e-5 target_species
oh 0.01 target_species
ho2 0.01 target_species
co 0.01 target_species
co2 0.01 target_species
Figure 22.95: Sample input for drgepsa.in.

Dynamic Mechanism Reduction - sage_dmr.in


The DMR option will reduce the mechanism during the SAGE simulation, based on target
weight and error propagation tolerance values you specify. To activate the Dynamic
Mechanism Reduction utility, you must first activate the SAGE detailed chemistry solver
by setting sage_f lag = 1 in combust.in. Configure the SAGE-related parameters as needed.
DMR may be used in conjunction with the SAGE adaptive zoning option.

Then, set sage_dmr_f lag = 1 in combust.in. CONVERGE will look for a file named
sage_dmr.in in the Case Directory. The inputs for the file are shown in Table 22.96. Since
DMR automatically removes species based on local thermo-chemical conditions, you may
lose species that are important to your simulation, such as soot precursors for emission
modeling. You can save species information by setting sage_dmr_species_f lag = 1 for no-
target species, as shown in the example sage_dmr.in in Figure 22.40 below.

Target Temperature Accuracy


In some cases, species that are important for heat release rate can be lost. You can specify
TEMP as a target along with the error tolerance. The change in heat release rate due to the
loss of the species and its reactions is calculated and normalized. Species that have errors

CONVERGE 2.4 Manual 917


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Chemistry Input Files

above the tolerance (and therefore are important for accurate calculation of HRR) are
retained in the skeletal mechanism. Note that these HRR-relevant species may already be
listed in the target list or identified by CONVERGE by its typical species-based approach.
In such cases, you may require a tighter tolerance to see an appreciable difference in the
reduced mechanism or corresponding calculations.

Table 22.96: Parameters in sage_dmr.in.


Parameter Description

num_target_species List the number of target species that must be preserved during DMR. List each
target species and its weight in a separate line following this parameter. The
weight is a value from 0 to 1.0. Target species typically have a weight of 1.0.
When TEMP is specified as a species, the associated number is the error
tolerance, not a weight. Typical value 1e-3.

drgep_tol Error propagation tolerance for the Directed Relation Graph.

sage_dmr_species_f lag Flag to save non-target species from being lost due to DMR. If = 1, list species in
the following line.

8 num_target_species
nc7h16 1.0
temp 1e-5
o2 1.0
n2 1.0
co2 1.0
h2o 1.0
co 1.0
h2 1.0
ch3 1.0
0.005 drgep_tol
1 sage_dmr_species_flag
h o oh
end
Figure 22.40: A sample sage_dmr.in file.

Mechanism Reduction Data Files


The mechanism reduction utility writes the ignition_det.dat, ignition_ske.dat, mech_ske.dat
and species_inf o.dat files, and uses some of them to perform mechanism reduction.

ignition_det.dat
The mechanism reduction utility writes out an ignition_det.dat file containing the ignition
delay data for the original mechanism. Table 22.1 describes the columns of this file.

Table 22.1: Columns in ignition_det. dat.


Column Number Column Header Description
1 #NUM Case Number.
2 Pressure Pressure (Pa).

918 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Chemistry Input Files

3 Temperature Temperature (K).

4 Phi_fuel_oxid Equivalence ratio.


5 EGR_ratio EGR ratio.
6 Phi_elem Elemental equivalence ratio.
7 Time Ignition delay time (s).

ignition_ske.dat
The mechanism reduction utility writes out the ignition_ske.dat file after it generates the
skeletal mechanisms for each case. This file contains the ignition delay data for the skeletal
mechanisms. The first column contains the case number, while the second column
contains the ignition delay times for each skeletal mechanism. The utility does not use this
file. Note that if lumping is activated, the utility will also write out ignition_lump.dat. The
ignition_lump.dat file has the same structure as the ignition_ske.dat.

mech_ske.dat
The mechanism reduction tool extracts the relevant species and reaction information for
the skeletal mechanism from the original reaction mechanism file (e.g., mech.dat) and
writes this information into the mech_ske.dat file. The structure of the mech_ske.dat file is
identical to the mech.dat file. The 0D utility uses this file to calculate the ignition delay
times for the skeletal mechanism.

species_inf o.dat
The species_inf o.dat f ile contains a numbered list of all the species in the reaction
mechanism file (e.g., mech.dat). The mechanism reduction utility parses the mech.dat file
before reducing the mechanism.
22.11.4Mechanism Tune Input Files
Mechanism Tune Setup - mechanism_tune.in
The mechanism_tune.in input file specifies information required to run the Mechanism Tune
utility, which includes the number of reactions to modify in mech.dat; the directory name
where the genetic algorithm optimizations files are located; flags to indicate if the utility
will be run with the 0D solver, 1D premixed laminar flamespeed solver, or both; and
required parameters for setting up case.in and merit.in. Table 22.2 describes the parameters
used in mechanism_tune.in, while a sample mechanism_tune.in file is shown below in Figure
22.12.

CONVERGE 2.4 Manual 919


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Chemistry Input Files

Table 22.2: Parameters in mechanism_tune.in.


Parameter Description Default value

directory_name Directory name where CONGO will be run.

zero_d_num_to_modif y Number of 0D sensitive reactions in which the A- 10


factor will be modified.

zero_d_run_sens_cases_f lag 0 = Do not run 0D adjoint sensitivity, 0


1 = Run 0D adjoint sensitivity.

zero_d_read_sens_f lag 0 = Do not read the zero_d_sens_cases* files, 0


1 = Read the zero_d_sens_cases* files.

one_d_num_to_modif y Number of 1D sensitive reactions where the A- 10


factor will be modified

one_d_read_sens_cases_f lag 0 = Do not read the one_d_sens_cases* files 1


1 = Read the one_d_sens_cases* files

one_d_run_sens_f lag 0 = Do not run 1D sensitivity analysis, 1


1 = Run 1D sensitivity.

merit_lib_f lag 0 = Do not use user defined merit function 0


1 = Use user defined merit function (the
libcongo_merit folder is required in Case
Directory).

perf ormance_var_type Specify performance type for all variables in error


merit.in. Accepts error, maximize, or minimize.

constraint_var_type Specify constraint type for all variables in merit.in. maximum


Accepts maximum or minimum.

power_f actor Specify the constraint power factor all variables 1


in merit.in.

dir_name Directory name where case input files will be


copied (inside CONGO directory).

case_type Specify marker type for GA. Accepts log_variation


real_variation, log_variation, or 1.0 ordersof mag
real_plus_minus.
In the next line, specify a factor followed by either
the variation or ordersof mag keyword.

gafolder directory_name
10 zero_d_num_to_modify
0 zero_d_read_sens_cases_flag
1 zero_d_run_sens_flag
10 one_d_num_to_modify
0 one_d_read_sens_cases_flag
0 one_d_run_sens_flag

# merit.in

920 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Chemistry Input Files

0 merit_lib_flag
error merit_performancetype
maximum merit_constrainttype
1.0 merit_constraintpowerfactor

# case.in
log_variation case_type
1.0 ordersofmag
Figure 9.12: An example mechanism_tune.in file.

Targets for Mechanism Tune - mechanism_tune_targets.in


The mechanism tune utility requires mechanism_tune.in and mechanism_tune_targets.in.

For this input file, first specify the number of targets (numtargets) to tune against. The
number of targets must match the total number of ignition delay and laminar flame speed
targets. Then specify the targets according to the column format listed in Table 22.3 below.
A sample mechanism_tune_targets.in file is shown in Figure 9.13 follows. Note that you
must list the ignition delay targets before the laminar flame speed targets. For more
information, please consult Chapter 21: Genetic Algorithm.

Table 22.97: Columns in mechanism_tune_targets.in.


Column Description Default
value

target values Specify the target value. N/A

perf ormance weight Assign a performance weight to the target. 1.0

constraint weight Assign a constraint weight to the target. 0

type Specify the target type. Must list either ignitiondelay


optionally followed by a number or f lamespeed
optionally followed by a number.

8 numtargets
9.8792105e-02 1.0 0 ignitiondelay1
4.4829933e-02 1.0 0 ignitiondelay2
2.1610038e-02 1.0 0 ignitiondelay3
1.1022426e-02 1.0 0 ignitiondelay4
12.685 1.0 0 flamespeed1
42.420 1.0 0 flamespeed2
79.410 1.0 0 flamespeed3
113.662 1.0 0 flamespeed4
Figure 9.13: An extract from mechanism_tune_targets.in file.

22.12 Heat Transfer Mapping Input Files


This section describes the input file for the heat transfer mapping utility.

CONVERGE 2.4 Manual 921


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Heat Transfer Mapping Input Files

22.12.1Heat Transfer Mapping - htc_inputs.in


The htc_inputs.in file is required to run the htc_map utility. Table 22.98 below describes the
parameters in htc_inputs.in. Figure 22.96 contains an example htc_inputs.in file.

Table 22.98: Parameters in htc_inputs.in.


Parameter Description Typical
Value

tolerance Distance (m) used by search algorithm to initialize triangles 2.00e-3


from the corresponding transf er.out data point.

grow_mult Internal grid projection growth multiplier. Do not change. 1.0

scale_xyz Scaling factor to be applied to the x, y, and z coordinates to 1.00


align the FEA surface with the CONVERGE surface. This
factor also can be used to change the length units.

rot_angle_x, rot_angle_y, Rotation values (in degrees) used to rotate about the x, y, 0
rot_angle_z and z axes of the FEA surface.

trans_x, trans_y, trans_z Translation values (in meters) used to translate the x, y, and 0
z coordinates of the FEA surface.

orderof operations Order of scale, rotation, and translation operations, sc-rx-ry-rz-


delimited with dashes. tx-ty-tz

read_abaqus Flag to read an Abaqus surface file. 0


0 = Do not read,
1 = Read Abaqus surface file (add another row providing
file name),
2 = Same as 1, but CONVERGE will also write a
htc_surf ace.dat.

max_htc Maximum allowed heat transfer coefficient. Larger values 1e10


of heat transfer coefficient will be capped to this value.

time_avg_option 0 = Average heat transfer coefficient over all simulation 0


time,
1 = Average heat transfer coefficient over only the time the
triangle was in contact with the fluid.

enf orce_boundID_match 0 = Do not enforce consistent boundary ID between CFD 1


surface file and FEA surface file,
1 = Enforce consistent boundary ID between CFD surface
file and FEA surface file,
2 = Enforce consistent boundary ID only for the piston
boundary ID (add another row providing piston ID).

hit_location_outputf iles Create detailed *.dat files showing locations of data points 0
used to initialize triangles (can be loaded into CONVERGE
Studio for viewing) in the directory detailedoutput.
There are four different detailed files: one file listing the

922 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Heat Transfer Mapping Input Files

Parameter Description Typical


Value

uninitialized triangles, and separate files listing the


triangles initialized by each algorithm (Direct Hits,
Neighbors and Grown Points). You can load these files in
CONVERGE Studio for diagnostic purposes to monitor the
nature of FEA triangles.

map_additional_variables Map additional variables from transf er.out, if present. 0

use_convective_ht Use convective heat transfer and heat flux rather than total 0
heat transfer (requires map_additional_variables = 1).

ensight_outputf iles 0 = Do not create output files for geometry and variables 1
that can be loaded into Ensight,
1 = Create output files for geometery and variables that can
be loaded into Ensight (*.case, *.geo, *.htc, etc.).

gmv_outputf iles 0 = Do not create output files that can be loaded to General 1
Mesh Viewer (GMV),
1 = Create output files that can be loaded to GMV.

f ieldview_outputf iles 0 = Do not create output files that can be loaded into 1
Fieldview,
1 = Create output files that can be loaded into FieldView.

dedicatedboundaryoutputf iles 0 = Do not create dedicated boundary output files, 0


N = Create N dedicated boundary output files. For each file,
add another row with the file name, then a row with the
number of boundaries for that file, then a row for each
boundary number.

start_time Start time for averaging of data. Start time of


an engine
cycle.

end_time End time for averaging of data. End time of


an engine
cycle.

startoption 0 = Neglect first data dump in transf er.out and use the 0
second data dump for initialization,
1 = Use the first data dump for initialization.

num_valve_entries Number of entries needed to account for the mapping of N/A


moving valves.

<boundary ID 1> <boundary Boundary 1 is typically the valve stem and Boundary 2 is N/A
ID 2> typically the moving part of the valve. The number of
entries for this pair depends on the value in
num_valve_entries.

CONVERGE 2.4 Manual 923


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Heat Transfer Mapping Input Files

#!CONVERGE_VERSION=2.4
#=====================

2.000000e-03 tolerance #distance (m) used by search algorithm


to initialize triangles from transfer.out datapoints
1.0 grow_mult
1.0 scale_xyz #global distance scaling factor
0.0 rot_angle_x
0.0 rot_angle_y
0.0 rot_angle_z
0.0 trans_x
0.0 trans_y
0.0 trans_z
sc-rx-ry-rz-tx-ty-tz orderofoperations
0 read_abaqus
1e10 max_htc
1 time_avg_option
2 enforce_boundID_match #only allow cells with matching
boundary ID to initialize triangles
1 piston_boundID
0 hit_location_output_files #create detailed .dat files showing
locations of data points used to initialize triangles (can be loaded into CONVERGE UI
for viewing)
1 map_additional_variables #map additional variables in
transfer.out (additional columns of data)
0 use_convective_ht # use convective htc and flux instead
of total htc and flux
1 ensight_outputfiles #create output files for geometery and
variables that can be loaded into Ensight (.case, .geo, .htc, etc)
1 gmv_outputfiles
1 fieldview_outputfiles
1 dedicatedboundaryoutputfiles
Piston name
4 numboundaries
1 boundary
2 boundary
3 boundary
8 boundary
-440.0 start_time #start time for averaging window (CA or sec)
280.0 end_time #end time for averaging window (CA or sec)
0 startoption # 0: throw out first set of data (typical),
1: use first set of data for increment from crank_angle - start_time
2 num_valve_entries #boundary entry information
16 13
17 8
Figure 22.96: Sample htc_inputs.in file.

You can use the htc_map utility to transform a surface temperature file between coordinate
systems. Prepend the transformation parameters from the htc_inputs.in to the surface
temperature file, and run the htc_map utility with the transform keyword, as htc_map
transform inputfilename.dat outputfilename.dat. Figure 22.97 shows a sample
surf ace_temperature.dat file with the transformation information included.

1.0 scale_xyz #global distance scaling factor


0.0 rot_angle_x

924 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Heat Transfer Mapping Input Files

0.0 rot_angle_y
0.0 rot_angle_z
0.0 trans_x
0.0 trans_y
0.0 trans_z
sc-rx-ry-rz-tx-ty-tz orderofoperations
x y z T
0.000 0.000 0.000 300.0
0.100 0.000 0.000 310.0
0.100 0.100 0.000 320.0
0.000 0.100 0.000 310.0

Figure 22.97: Sample surface temperature file with transformation information.

22.12.2Heat Transfer Output Control - transfer.in


The transf er.in file specifies the fluid WALL boundaries for which CONVERGE writes wall
heat transfer data. Enter this file name (typically transf er.in) for transf er_f lag in inputs.in.
You can also supply keywords to append extra output variables related to heat transfer to
transf er.out. Table 22.99 below describes the parameters in transf er.in. Figure 22.98 below
shows an example transf er.in file.

Table 22.99 below describes the parameters in transf er.in. Figure 22.98 below shows an
example transf er.in file.

Table 22.99: Parameters in transf er.in.


Parameter Description

transf er_num_bounds The number of boundaries for which CONVERGE writes wall heat
transfer information to transf er.out. Enter the boundary ID of each
boundary for which you would like wall heat transfer output.

boundary_id Boundary ID for which CONVERGE writes wall heat transfer


information.

sie Include cell specific internal energy (J/ kg) in transf er.out. This variable
includes the formation energy of species.

velocity Include all three components of cell velocity (m/ s) in transf er.out.

eps Include cell turbulence dissipation rate (m2/ s3) in transf er.out.

cond Include cell thermal conductivity (W/ m-K) in transf er.out. This variable
includes the turbulent component of thermal conductivity.

tke Include cell turbulent kinetic energy (m2/ s3) in transf er.out.

CONVERGE 2.4 Manual 925


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |Heat Transfer Mapping Input Files

#!CONVERGE_VERSION=2.4
#=====================

#----------------------------------
# Boundary ID used for transfer.out
#----------------------------------
2 transfer_num_bounds
12 boundary_id
17 boundary_id
#----------------------------------
# Extra variables to add to transfer.out
#----------------------------------
sie Cell specific internal energy (J/Kg). Includes formation energy of
species.
velocity All three components of cell velocity (m/s).
eps Cell turbulence dissipation rate (m^2/s^3).
cond Cell thermal conductivity, including the turbulent component (W/m-
K).
tke Cell turbulent kinetic energy (m^2/s^2).
Figure 22.98: Example transf er.in file.

22.13 CONGO (Optimization and Model Interrogation Utility) Input


Files
This section describes the input files for CONVERGE's optimization and model
interrogation utility.
22.13.1CONGO - congo.in
The congo.in file, which is mandatory for all CONGO cases, defines the parameters for the
genetic algorithm (GA) or design of experiments (DoE). Table 22.100 below describes the
parameters in congo.in. Figure 22.99 shows an example congo.in file.

Table 22.100: Parameters in congo.in.


Parameter Description Recommended
Value

restart_f lag Restart the CONGO case from restart.in. 0 or 1

run_individual Only used to study a GA (ignore). N/A

run_generation Only used to study a GA (ignore). N/A

delay_between_runs Seconds to pause between CONGO runs to allow 0


the randomseed value to change.

pause_to_check_f or_results Seconds for which CONGO pauses between 60 s for


checking for the results file in the run directories. CONVERGE
simulations,
4 s for mechanism
tuning simulations

926 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |CONGO (Optimization and Model Interrogation Utility) Input Files

Parameter Description Recommended


Value

gen_timeout_minutes Minutes after which CONGO will move to the next Examples:
case. This value should be greater than the For cases with a 30-
expected runtime for any case. second runtime, set
gen_timeout_minutes
to 5 minutes.
For cases with a 16-
hour runtime, set
gen_timeout_minutes
to 20 hours.

monitor_runs_lib_f lag Provides the option to add a user-defined routine 0


to check for crashed cases. Set to 0 to disable this
feature. Contact the Applications team for
assistance if you wish to enable this feature.

new_dir_f lag 0 = Re-use run directories, 0


1 = Make new directories each generation.

num_copy_templates Number of file copy templates on the following 2


lines (CONGO invokes the cp command). CONGO
uses the copy templates to determine which files
and folders it will copy for each individual in a
CONGO case. The two copy templates listed below
should copy all of the files in the CONVERGE Case
Directory. This Case Directory is designated in the
dir_name line in case.in, usually named "input_f iles".
Change these templates only if you do not want to
copy all of the files into each individual's folder.

copy_template Template 1. (Repeat this row corresponding to the *


value you enter in num_copy_templates. Use two
rows, as shown here, if you're copying all of the
input files in a normal case directory.)

copy_template Template 2. *.*

input_f iles Number of input files on following lines. 1

f ile_name Enter the keyword def ault to automatically include def ault
all of the standard CONVERGE input file names.
Otherwise, enter the name of the CONVERGE
input file name to be included in the CONGO case.
Repeat this row as needed to correspond with the
number you specify in the input_f iles row above.

max_gen Maximum generations created by the GA. 100

random_seed_f lag 0 = Seed the random number generator with a fixed 0


value,

CONVERGE 2.4 Manual 927


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |CONGO (Optimization and Model Interrogation Utility) Input Files

Parameter Description Recommended


Value

1 = Use the system time as the seed for the random


number.

mutation_f rac GA mutation fraction. This parameter provides a 0


way to add more randomness to the optimization,
but this option typically is not used for micro GA
runs.

p_conv GA convergence criteria fraction. 0.97

convergence_f lag 0 = Convergence calculated relative to the merit 0


score of the elite (fittest individual or best-so-far),
1 = Convergence calculated relative to the mean
merit score.

elite_ind_f lag 0 = The elite individual may be any individual, 1


1 = The elite individual is always individual 0.
Assigning the elite individual to the 0 position will
ensure that the elite individual is not modified
during the current generation. It is also convenient
to keep the elite individual in the 0 position when
analyzing the results of the GA.

dna_length Number of bits for parameter DNA. 30

exp_type Experiment type. 1


0 = Design of experiments,
1 = Genetic algorithm,
2 = Design of experiments of the genetic algorithm.

0 restart_flag
0 run_individual
0 run_generation
0 delay_between_runs
5 pause_to_check_for_results
20 gen_timeout_minutes
0 monitor_runs_lib_flag
0 new_dir_flag
2 num_copy_templates
* copy_template
*.* copy_template
1 input_files
inputs.in file_name
100 max_gen
1 random_seed_flag
0.00 mutation_frac
0.97 p_conv
0 convergence_flag
1 elite_ind_flag
30 dna_length
1 exp_type
Figure 22.99: A sample congo.in file.

928 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |CONGO (Optimization and Model Interrogation Utility) Input Files

22.13.2CONGO - case.in
The case.in file, which is mandatory for all CONGO cases, defines the parameter ranges for
the experiment model inputs and parsing for the CONVERGE input files. The name of this
file is defined by the f ile_name parameter in congo.in. Table 22.101 below describes the
parameters in case.in. Figure 22.100 shows an example case.in file.

Table 22.101: Parameters in case.in.


Parameter Description Recommended
Value

num_modes Number of modes (idle, power, 1


speed load, etc.) in the
simulation. A single mode
simulation is the simplest and
most common.

weight Weighting factor for each mode 1.0


(sum of weights must add to 1).
Repeat this weight row as
needed to correspond with
nummodes value. The order in
which you specify the weight
of each mode must correspond
to the order of the mode
directories you specify in the
dirname rows below. Used only
for Genetic Algorithm (GA)
CONGO cases. Not used for
Design of Experiments (DoE)
cases.

dir_name Name of the directory for each input_f iles


mode. Include 1 dir_name row
for each mode. Create one
directory for each mode in the
main directory in which all GA
or DoE sub-directories will be
stored. For a single-mode
simulation, create just one
directory called input_f iles and
specify this name in one
dir_name row.

pop_size Population size. GA cases N/A


only.

num_runs Number of runs. Used only for N/A


Design of Experiments (DoE)

CONVERGE 2.4 Manual 929


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |CONGO (Optimization and Model Interrogation Utility) Input Files

Parameter Description Recommended


Value

CONGO cases. Not used for


Genetic Algorithm (GA) cases.

num_param Number of defined parameters. N/A

num_common_param Number of common N/A


parameters. Static parameters
are always common and must
be included. GA cases only.

num_dependent_param Number of parameters defined N/A


with a gain and offset from a
defined or dynamic parameter.
For example, you can
automatically modify the
embedding around the spark
plug by making this parameter
dependent on the spark timing.

num_dependent_f ile_names Number of dependent file N/A


names.

num_dyn_params Number of dynamic N/A


parameters that will be
calculated by the user routine.
For example, you can use a
dynamic parameter to create
and modify the piston bowl
shape.

num_dyn_prof iles Number of dynamic profiles N/A


(e.g., an injection rate-shape)
that will be modified by the
user routine.
Use a user dynamic library for N/A
dyn_lib_f lag dynamic parameters. For
example, you can specify
lib.congo.so, which is a UDF
library in CONVERGE, to
generate the values of the
dynamic parameters.

param_number Zero-based index of parameters N/A


(i.e., the first parameter name
Repeat each of these rows for always will be 0).
each independent or common
name Parameter name. Enter any N/A
parameter.
string. This string will appear
in the param.[run#]-[gen#]

930 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |CONGO (Optimization and Model Interrogation Utility) Input Files

Parameter Description Recommended


Value

output files generated by


CONGO, so a descriptive string
is helpful.

type Parameter type. Options are N/A


real, integer, static, list, and
real_variation.

common_param Parameter type for multiple N/A


modes.
0 = Independent,
1 = Common.
GA cases only.
The string of text that you N/A
designate as the value of any
independent or common
parameter (in any of the
CONVERGE input files) to be
optimized by the GA for the
marker independent or common
parameters. The name of the
marker specified here must
match the name you specify in
the relevant input file. Refer to
File Parsing for more
information.
Enter one row and number for N/A
each value in the "design
space" for the parameter
value designated by the name above.
DoE cases only. Refer to
"Example DoE Design Space"
for more information.
Minimum value in the range to N/A
be considered in the GA for the
min parameter designated by the
name above.
GA cases only.
Maximum value in the range to N/A
be considered in the GA for the
max parameter designated by the
name above.
GA cases only.

CONVERGE 2.4 Manual 931


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |CONGO (Optimization and Model Interrogation Utility) Input Files

Parameter Description Recommended


Value

dyn_param_num Zero-based index of dynamic N/A


parameter.

name Dynamic parameter name. N/A


Enter any string. This string
will appear in the dyn_param.
[run#]-[gen#] output files
generated by CONGO, so a
descriptive string is helpful.
Repeat each of these rows for marker The string of text that you N/A
each dynamic parameter. designate as the value of any
dynamic parameter (in any of
the CONVERGE input files) to
be optimized by the GA for the
dynamic parameters. The name
of the marker specified here
must match the name you
specify in the relevant input
file. Refer to File Parsing for
more information.
Zero-based index of dependent N/A
dependent_param_num parameters.

name Dependent parameter name. N/A


Enter any string. This string
will appear in the param.[run#]-
[gen#] output files generated by
CONGO, so a descriptive string
is helpful.

dependency_name Name of the base parameter N/A


(either defined or dynamic) on
which dependent parameter is
Repeat each of these rows for
based.
each dependent parameter.
Dependent Parameter Value =
(Gain * Value of Base
Parameter) + Offset.

marker The string of text that you N/A


designate as the value of any
dependent parameter (in any of
the CONVERGE input files) to
be optimized by the GA for the
dependent parameters. The
name of the marker specified
here must match the name you
specify in the relevant input

932 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |CONGO (Optimization and Model Interrogation Utility) Input Files

Parameter Description Recommended


Value

file. Refer to File Parsing for


more information.

gain Gain value. See 1


dependency_name entry above.

of f set Offset value. See N/A


dependency_name entry above.

#!CONVERGE_VERSION=2.4
#=======================

1 num_modes
1 weight
input_files dir_name
9 pop_size
2 num_param
1 num_common_param
0 num_dependent_param
0 num_dependent_file_names
3 num_dyn_params
0 num_dyn_profiles
1 dyn_lib_flag
0 param_number
NozzleScaling name
real type
1 common_param
none marker
0.8 min
1.2 max
1 param_number
SOI name
real type
0 common_param
GA_INJECTION_START marker
-12.0 min
-8.0 max
0 dyn_param_num
nozzledia name
GA_NOZZLEDIA marker
1 dyn_param_num
nozzleRadius name
GA_NOZZLERAD marker
2 dyn_param_num
duration name
GA_DURATION marker
Figure 22.100: A sample case.in file for a GA case.

#!CONVERGE_VERSION=2.4
#=======================

1 num_modes
input_files dir_name

CONVERGE 2.4 Manual 933


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |CONGO (Optimization and Model Interrogation Utility) Input Files

4 num_runs
2 num_param
0 num_dependent_param
0 num_dependent_file_names
3 num_dyn_params
0 num_dyn_profiles
1 dyn_lib_flag
0 param_number
NozzleScaling@ name
real type
none marker
0.8 value
1 value
1.2 value
1 value
1 param_number
SOI@ name
real type
DOE_INJECTION_START marker
-12 value
-12 value
-12 value
-9 value
0 dyn_param_num
nozzledia name
GA_NOZZLEDIA marker
1 dyn_param_num
nozzleRadius name
GA_NOZZLERAD marker
2 dyn_param_num
duration name
GA_DURATION marker

Figure 22.101: A sample case.in file for a DoE case.

22.13.3CONGO - execute.in
The execute.in file, which is mandatory for all CONGO cases, defines how CONVERGE
will be executed for a GA or DoE simulation. Table 22.102 below describes the parameters
in execute.in. Figure 22.102 shows an example execute.in file.

Table 22.102: Parameters in execute.in.


Parameter Description Recommended
Value

test_run_f lag 0 = Start CONVERGE simulation after preparing the 0 or 1


input files,
1 = Prepare input files only (does not start
CONVERGE).

recollect_data_f lag 0 = Do not recollect data, 0 or 1


1 = Recollect data in the event of a crash,

script_ssh_f lag 0 = Do not run scripts on a remote machine, 0 or 1


1 = Run scripts on a remote machine.

934 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |CONGO (Optimization and Model Interrogation Utility) Input Files

Parameter Description Recommended


Value

script_machine Specify the machine name on which to run scripts. <machine name>

start_script Number of scripts to run at the start of CONGO run. <number of scripts>
For each start script, the script name and
run_background_f lag must follow.

script_name Name of script to run at the start of CONGO run. <name of script>

run_background_f lag 0 = Do not run in the background, N/A


1 = Run in the background.

bef ore_script Number of scripts to run before CONGO runs. <number of scripts>

script_name Name of script to run before CONGO runs. <name of script>

run_background_f lag 0 = Do not run in the background, N/A


1 = Run in the background.

af ter_script Number of scripts to run after CONGO runs. <number of scripts>

script_name Name of script to run after CONGO runs. <name of script>

run_background_f lag 0 = Do not run in the background, N/A


1 = Run in the background.

end_script Number of scripts to run at the end of CONGO run. <number of scripts>

script_name Name of script to run at the end of the CONGO run. <name of script>

run_background_f lag 0 = Do not run in the background, 0 or 1


1 = Run in the background.

num_concurrent_cases Number of CONGO cases to run concurrently. <number of cases>


Typically equal to (pop_size - 1) for a GA.

ssh_f lag 0 = Do not run CONGO cases on a remote machine. 0 or 1


1 = Run CONGO cases on a remote machine,

machine_names File that lists all of the machine names on which to run mpd.hosts
CONGO.

machines_per_run Number of machines used per run folder for parallel N/A
execution (mpd.host files created in each run
directory).

create_batch_f ile_f lag 0 = Do not create a batch file with execute commands 0
1 = Create a batch file with execute commands,

batch_f ile_name Batch file name. N/A

run_batch_f ile_f lag 0 = Do not run batch file, N/A


1 = Run batch file.

batch_command Batch command. N/A

CONVERGE 2.4 Manual 935


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |CONGO (Optimization and Model Interrogation Utility) Input Files

Parameter Description Recommended


Value

num_execute_commands Number of the following rows containing execution N/A


commands.
execution commands Execution commands (one per line). N/A

0 test_run_flag
0 recollect_data_flag
1 script_ssh_flag
duo1 script_machine
1 start_script
example script_name
0 run_background_flag
0 before_script
0 after_script
0 end_script
8 run_concurrent_cases
0 ssh_flag
mpd.hosts machine_names
1 machines_per_run
0 create_batch_file_flag
example batch_file_name
1 run_batch_file_flag
exe batch_command
1 num_execute_commands
$path$/stalagmite </dev/null > logfile-$rundir$-$generation$ &
Figure 22.102: A sample execute.in file.

22.13.4CONGO - merit.in
The merit.in file, which is mandatory for all CONGO cases, defines the merit function in
terms of CONVERGE performance parameters. An explanation of the default merit
function is given in Equations 21.<%HMFIGURECOUNTER20-6% - 21.10. Table 22.103
below describes the parameters in merit.in. Figure 22.103 shows an example merit.in file.

Table 22.103: Parameters in merit.in.


Parameter Description Recommende
d Value

output_f ile_name The CONVERGE output file name containing the ga_output
performance variables. In CONVERGE, you can
specify this file name by customizing the
user_ga_merit_f lag.c user-defined function file.
This parameter will tell CONGO what files to
search for to find the GA performance variables.

num_output_vars The number of GA or DoE variables CONVERGE N/A


writes to the output file (e.g., ga_output.#-#). This
value must match the number of rows of
output_var_name immediately below this row.

936 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |CONGO (Optimization and Model Interrogation Utility) Input Files

Parameter Description Recommende


d Value

output_var_name Name of a GA or DoE variable that CONVERGE N/A


writes to the output file (e.g., ga_output.#-#). This
name must match the name in CONVERGE
output file. Include the name of each variable in
the CONVERGE GA or DoE output file (followed
by the keyword output_var_name) on a separate
row below the num_output_vars parameter. Many
of these variables you list here will also be
performance or constraint parameters, but not
necessarily all of them.

merit_lib_f lag 0 = CONGO will use the default merit function N/A
as defined by the parameters below,
1 = Use a user defined library for merit
calculation. (Variables below this line are then
ignored.)
The number of performance variables used in N/A
num_perf ormance_vars merit calculation. These variables are used to
add to the GA or DoE merit score. In the rows
(Used only when merit_lib_f lag = 0.) below, include rows for the
perf ormance_var_name, type, value, and weight of
the performance variable.
The name of a GA or DoE variable that CONGO will use to add
to the merit score. This name must match the name in
CONVERGE output file. Include the name of each performance
perf ormance_var_name
variable in the CONVERGE GA or DoE output file (followed by
the keyword name) on a separate row below the
num_perf ormance_vars line.

type The type of performance variable for the perf ormance_var_name


listed above. Choose from maximize, minimize, or error.
For a maximize type of performance variable, CONGO will divide
Repeat these the value of the variable from the CONVERGE run by the target
rows for each value (listed as value in the row below). CONGO will use this
performance ratio in the merit calculation.
variable. Conversely, for a minimize type of performance variable, the target
value will be divided by the variable value in the merit function.
(Used only
An error type of performance variable uses the absolute difference
when
between the value of the variable and the target value in the merit
merit_lib_f lag = function.
0.) An explanation of the default merit function is given in Equation
21.10.

value The target value for the performance parameter listed above. For
multi-mode CONGO simulations, include a value row for each
mode being evaluated.

CONVERGE 2.4 Manual 937


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |CONGO (Optimization and Model Interrogation Utility) Input Files

Parameter Description Recommende


d Value

weight The weight assigned to the performance parameter listed above.


Use the weight to assign relative importance to each performance
parameter.
The number of constraint variables used in merit N/A
calculation (default formula). These variables are
num_contraint_vars used to subtract from the GA or DoE merit score.
In the rows below, include rows for the
constraint_var_name, type, weighting_greater,
(Used only when merit_lib_f lag = 0.)
weighting_less, power_f actor, and value of the
constraint variable.
The name of a GA or DoE variable that CONGO will use to
subtract from the merit score. This name must match the name in
constraint_var_name
CONVERGE output file. Include the name of each constraint
variable in the CONVERGE GA or DoE output file (followed by
(Used only when merit_lib_f lag = 0.) the keyword constraint_var_name) on a separate row below the
num_constraint_vars line.

type The type of constraint variable for the constraint_var_name listed


above. Choose from maximum or minimum.
For a maximum type of performance variable, CONGO will
subtract from the merit calculation if the calculated value is
above the value specified below.
Conversely, for a minimum type of performance variable, CONGO
will subtract from the merit calculation if the calculated
Repeat these value is below the value specified below.
rows for each An explanation of the default merit function is given in Equation
constraint 21.10.
variable.
If the calculated value of a maximum constraint variable is greater
(Used only weighting_greater than the target value (specified in the value row below), CONGO
when will use the value you specify here for the weight of this maximum
constraint variable contribution to merit.
merit_lib_f lag =
0.) weighting_less If the calculated value of a minimum constraint variable is less
than the target value (specified in the value row below), CONGO
will use the value you specify here for the weight of this minimum
constraint variable contribution to merit.

power_f actor The power to which the constraint variable performance is taken
in the default merit function. Use this option to make one
constraint variable exponentially more important than others.

value The target value for the constraint parameter listed above. For
multi-mode CONGO simulations, include a value row for each
mode being evaluated.

938 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |CONGO (Optimization and Model Interrogation Utility) Input Files

#!CONVERGE_VERSION=2.4
#=======================

ga_output output_file_name
4 num_output_vars
GISFC output_var_name
NOX output_var_name
PM output_var_name
PCP output_var_name
0 merit_lib_flag
1 num_performance_vars
GISFC performance_var_name
minimize type
120 value
1 weight
3 num_constraint_vars
NOX constraint_var_name
maximum type
0 weighting_greater
0 weighting_less
1 power_factor
5 value
PM constraint_var_name
maximum type
1 weighting_greater
0 weighting_less
1 power_factor
1 value
PCP constraint_var_name
maximum type
5 weighting_greater
0 weighting_less
1 power_factor
15 value

Figure 22.103: A sample merit.in file.

22.13.5CONGO - udi.in
The udi.in file, which is optional for CONGO cases, allows you to enter a user-defined
individual (UDI) into the genetic algorithm experiment at any generation. You could use
this UDI as a baseline case, for example. You can load more than one individual from a
single file if required. Table 22.104 below describes the parameters in udi.in. Figure 22.104
shows an example udi.in file.

Table 22.104: Parameters in udi.in.


Parameter Description Recommended
Value

loadindividual 0 = Do not load the user-defined individual, 0 or 1


1 = Load individual in next generation
(automatically changed to 0 once loaded).

CONVERGE 2.4 Manual 939


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |CONGO (Optimization and Model Interrogation Utility) Input Files

Parameter Description Recommended


Value

number Number of individuals to define (listed in subsequent N/A


rows).

<parameter name> The first of these rows must be the name (not the marker) of N/A
the first parameter (as it appears in the experiment.in file) of
the first individual. In Figure 22.104 below, x is the name of
first parameter; y is the second parameter. Both of these
parameters are repeated according to the number of
individuals specified in the number row. In the example
below, 2 parameters are specified for 8 individuals,
resulting in 16 <parameter name> rows.

0 loadindividual
8 number
0.170000 x
1.170000 y
0.170000 x
2.170000 y
0.170000 x
3.170000 y
1.170000 x
4.170000 y
0.170000 x
5.170000 y
2.170000 x
6.170000 y
2.170000 x
7.170000 y
3.170000 x
8.170000 y
Figure 22.105: A sample udi.in file that specifies eight unique individuals, with two parameters being
varied: one parameter named x and one parameter named y.

22.13.6CONGO - gatdoe.in
The gatdoe.in file, which is optional for CONGO cases, allows you to automatically set up a
set of cases -- on which you can then run a design of experiments -- from the genetic
algorithm experiment. Typically, cases with high merit in the GA may be re-run to obtain
detailed output files or re-run for validation with higher accuracy (higher grid resolution).
Table 22.105 below describes the parameters in gatdoe.in.

Table 22.105: Parameters in gatdoe.in.


Parameter Description Recommended
Value

gainputf ile Name of the GA input file to read. N/A

f iletocreate Name of the DoE input file to create. N/A

940 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 22
Input and Data File Reference |CONGO (Optimization and Model Interrogation Utility) Input Files

Parameter Description Recommended


Value

number of cases Number of parameter files assembled in current directory to N/A


read for case definition.

f ilename Parameter file name from GA run directories. param.#-#

CONVERGE 2.4 Manual 941


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

23
Output File Reference
Chapter 23
Output File Reference |

23 Output File Reference


During a simulation, CONVERGE generates ASCII-formatted output files that contain
average values (or sums) for the entire domain as well as for individual regions. Output file
names with data for the entire domain are formatted as <f ile name>.out (e.g., thermo.out).
Region-specific output file names are formatted as <f ile name>_region<region number>.out
(e.g., thermo_region0.out).

If your simulation is from a restart, CONVERGE includes the restart number (i.e., the value
of rstrtnum in inputs.in) in the output file names. File names for the entire domain are
formatted as <f ile name><restart number>.out. Region-specific output file names are
formatted as <f ile name><restart number>_region<region number>.out.

For a periodic engine sector case, CONVERGE automatically calculates the parameter
mult_out, which is defined as

360
mult _ out  , (23.1)
angle of rotation

where the angle of rotation in degrees is specified after the rotate keyword in boundary.in.
CONVERGE multiplies extensive variables (e.g., total system mass), which are listed below
in Table 23.3, by mult_out to provide the value of the quantity as if the entire cylinder had
been simulated.

Table 23.3: Variables multiplied by mult_out.


File Variable(s)

bound<ID>-wall.out Wall_Area, Tot_Ht_Xf er, Pres_Force_X _Y _Z, Visc_Force_X _Y _Z,


Pres_Torque_X _Y_Z, Visc_Torque_X _Y _Z

emissions.out hiroy_soot, NOx, HC, CO, CO2

f ilm.out, f ilm_accum.out, f ilm_mass, total_hit


f ilm_accum_net.out

soot_hiroy.out hiroy_soot, hiroy_f orm, hiroy_oxid

species.out Species mass

passive.out Passive amount

spray.out liq_spray_mass, fuel species mass, inj _mass

thermo.out volume, mass, integrated_HR, HR_rate

944 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |amr.out

23.1 amr.out
To perform AMR, CONVERGE calculates sub-grid variables and compares them to user-
specified values. The amr.out file lists these computed sub-grid values requested by the
user. Data are written for each AMR region at the frequency prescribed by twrite_f iles in
inputs.in. CONVERGE only writes sub-grid values if they are actively being used by the
AMR calculation.

Table 23.4 describes the format of amr.out. This file includes a header that indicates the
region and variable contained in each column.

Table 23.4 : Description of amr.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.

2 Temperature sub-grid Sub-grid value of temperature (if used).


scale (K)

3 Velocity sub-grid scale Sub-grid value of velocity (if used).


(m/ s)

4 <species name> (e.g., CO2) Sub-grid value of species mass fraction (if used).
sub-grid scale

5 <passive name> (e.g., soot) Sub-grid value of passive mass fraction (if used).
sub-grid scale

23.2 area_avg_flow.out
The area_avg_f low.out file tabulates mass flow and area-weighted average thermodynamic
data at INFLOW and OUTFLOW boundaries. Table 23.5 describes the format of
area_avg_f low.out.

If there is more than one INFLOW or OUTFLOW boundary, CONVERGE tabulates mass
flow and thermodynamic data for the other INFLOW/OUTFLOW boundaries in
additional columns. The area_avg_f low.out file includes a header that indicates the region
and variable contained in each column.

Table 23.5 : Example area_avg_f low.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 Cycle_Number or Simulation cycle number (i.e., number of time-steps) if
Pseudo_Time steady_solver_f lag = 0. The pseudo time-step if steady_solver_f lag =

CONVERGE 2.4 Manual 945


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |area_avg_flow.out

Column Header (units) Description

1.
3* Mass_Flow_Rate (kg/ s) Mass flow rate normal to the INFLOW/OUTFLOW boundary
plane. A positive value indicates flow out of the domain while a
negative value indicates flow into the domain.
4* Total_Pres (Pa) Area-weighted average total pressure.

5* Static_Pres (Pa) Area-weighted average static pressure.

6* Avg_Temp (K) Area-weighted average temperature.

7* Avg_Velocity (m/ s) Area-weighted average velocity normal to the


INFLOW/OUTFLOW boundary plane. A positive value indicates
flow out of the domain while a negative value indicates flow into
the domain.
8* Avg_Density (kg/ m3) Area-weighted average density.

9* Avg_Mach Area-weighted average mach number.


(dimensionless)
10* Tot_Parcel_In Total number of parcels that have entered the domain through
(dimensionless) this boundary since the beginning of the simulation.
11* Tot_Parcel_Out Total number of parcels that have exited the domain through this
(dimensionless) boundary since the beginning of the simulation.
12* Spray_Rate (kg/ s) Area-weighted time-averaged mass flow rate of the spray.

13* Total_Spray (kg) Area-weighted time-integrated total mass flux of the spray.
* This column is repeated for each INFLOW/OUTFLOW boundary in the simulation.

23.3 az_info<dump_number>_<dump_time>.out
The az_inf o<dump_number>_<dump_time>.out file provides adaptive zoning chemistry
information. This file is generated when adaptive zoning chemistry is activated
(adaptive_zone_f lag = 1 in combust.in) and adaptive_zone_output_f lag is set to 1 in combust.in.
Table 23.6 below describes the format of this file.

Because the dump number appears first in the file name, an alphabetical listing of the
directory contents is chronologically consistent. Since many files may be generated in this
process, the files are stored in a sub-directory of the main execution directory called output.
This directory is automatically created when the simulation is started; CONVERGE will
exit and alert you if it is unable to create this directory.

Table 23.6: Description of az_inf o<dump_number>_<dump_time>.out.


Column Header (units) Description
1 zone_id Zone identification number.

946 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |az_info<dump_number>_<dump_time>.out

Column Header (units) Description

2 num_cells Number of cells in the corresponding zone.


3 Tbin_size (K) Interval length in temperature of the corresponding zone.

4 Tavg (K) Mid-value in temperature of the bin interval.

5 pbin_size Interval length in equivalence ratio of the corresponding zone.


6 phi_avg Mid-value in equivalence ratio of the bin interval.

23.4 blender.out
The surrogate blender writes the optimal mixture composition, target fuel properties, and
surrogate fuel properties to a dialog box in CONVERGE Studio. From there, you can
export these data to blender.out. Table 23.7 below describes the format of this file. Figure
23.2 shows a sample blender.out file.

Remember that you must convert the mole fractions in blender.out to mass fractions for use
in a CONVERGE CFD simulation.

Table 23.7: Description of blender.out. The two types of rows (fuel and property/ target/ surrogate) are
repeated as necessary.
#Composition mole_fraction

Fuel i Mole fraction of fuel i in optimal surrogate mixture.


#Properties Target Surrogate

Property j Property j for the target fuel. Property j for the surrogate mixture.

# Composition mole_fraction
FUEL1 4.665115e-01
FUEL2 2.620310e-01
FUEL3 2.183703e-01
FUEL4 5.308723e-02

# Properties Target Surrogate


DCN 4.710000e+01 4.709996e+01
TSI 2.140000e+01 2.139997e+01
HC 1.960000e+00 1.958273e+00
MW 1.420000e+02 1.420000e+02

Figure 23.2: Sample blender.out file.

23.5 bound<ID>_motion_profile.out
CONVERGE generates the bound<ID>_motion_prof ile.out file when you specify a piston
motion file (e.g., piston_motion.in) for non-engine applications (i.e., crank_f lag = 2 in
inputs.in). The <ID> represents the boundary ID as specified in boundary.in. This file will

CONVERGE 2.4 Manual 947


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |bound<ID>_motion_profile.out

contain piston displacement information calculated every 0.1 crank angle degrees. Table
23.8 describes the format of this file. Note that CONVERGE measures the piston
displacement relative to the original location in surf ace.dat.

Table 23.8 : Description of piston_prof ile<ID>.out.


Column Header (units) Description
1 Time (crank angle degrees) Time in crank angle degrees.
2 X (m) X coordinate of the piston position.

3 Y (m) Y coordinate of the piston position.

4 Z (m) Z coordinate of the piston position.

23.6 bound<ID>-wall.out
The bound<ID>-wall.out file contains average near-wall quantities and heat transfer data
for WALL boundaries. CONVERGE writes this file when you set wall_output_f lag = 1 in
inputs.in. The <ID> represents the WALL boundary ID as specified in boundary.in. Table
23.9 below describes the format of this file.

Table 23.9: Description of bound<ID>-wall.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 Avg_Vel_Mag (m/ s) The average velocity magnitude in the cells adjacent to this
boundary.
3 TKE (m2/ s2) The average turbulent kinetic energy in the cells adjacent to this
boundary.
4 EPS (m2/ s3) The average turbulent dissipation in the cells adjacent to this
boundary.

5 OMEGA (1/ s) The average specific dissipation rate in the cells adjacent to this
boundary.
6 Turb_Visc (m2/ s) The average turbulent viscosity in the cells adjacent to this
boundary.
7 Near_Wall_Avg_T (K) The average temperature in the cells adjacent to this boundary.

8 Near_Wall_Max_T (K) The maximum temperature in the cells adjacent to this


boundary.
9 Near_Wall_Min_T (K) The minimum temperature in the cells adjacent to this boundary.

10 Wall_Avg_T (K) The average temperature of the WALL boundary.

11 Wall_Max_T (K) The maximum temperature of the WALL boundary.

948 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |bound<ID>-wall.out

Column Header (units) Description

12 Wall_Min_T (K) The minimum temperature of the WALL boundary.

13 Avg_Pres (N/ m2) The average pressure in the cells adjacent to this boundary.

14 Avg_HTC (W/ m2 K) The average heat transfer coefficient in the cells adjacent to this
boundary. Avg_HTC is 0 for solid cells, the value defined in
boundary.in for cells subject to the convection boundary
condition, and given by the heat flux divided by the temperature
difference in all other cases.

15 HT_xfer_Rate (J/ s) The integrated heat transfer rate in the cells adjacent to this
boundary. A positive value indicates energy flow out of the
domain into the boundary, while a negative value indicates
energy flow into the domain from the boundary.
16* Wall_Area (m2) The total area for the WALL boundary.

17* Tot_HT_xfer (J) The total heat transfer to the boundary. The total heat transfer is
the time-integrated heat transfer rate (column 15).
18* Pres_Force_X (N) Total pressure force (x component) exerted on the WALL
boundary.
19* Pres_Force_Y (N) Total pressure force (y component) exerted on the WALL
boundary.
20* Pres_Force_Z (N) Total pressure force (z component) exerted on the WALL
boundary.
21* Visc_Force_X (N) Total shear force (x component) exerted on the WALL boundary.

22* Visc_Force_Y (N) Total shear force (y component) exerted on the WALL boundary.

23* Visc_Force_Z (N) Total shear force (z component) exerted on the WALL boundary.

24* Pres_Torque_X (N-m) Total pressure torque about x axis exerted on the WALL
boundary.
25* Pres_Torque_Y (N-m) Total pressure torque about y axis exerted on the WALL
boundary.
26* Pres_Torque_Z (N-m) Total pressure torque about z axis exerted on the WALL
boundary.
27* Visc_Torque_X (N-m) Total viscous torque about x axis exerted on the WALL
boundary.
28* Visc_Torque_Y (N-m) Total viscous torque about y axis exerted on the WALL
boundary.
29* Visc_Torque_Z (N-m) Total viscous torque about z axis exerted on the WALL
boundary.
30 Yplus_avg The average y+ value on the WALL boundary.

CONVERGE 2.4 Manual 949


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |bound<ID>-wall.out

Column Header (units) Description

31 Yplus_max The maximum y+ value on the WALL boundary.


32 Yplus_min The minimum y+ value on the WALL boundary.
* Sector simulation note: CONVERGE multiplies this quantity calculated in a sector
domain by mult_out. The resulting quantity is listed in this column.

23.7 cell_count_ranks.out
The cell_count_ranks.out file lists the number of cells in the domain. The cell count is written
out as a function of time.

Table 23.10 below describes the format of this file. The cells-per-processor data should be
used to check load balancing. If the load balancing is poor, parallel_scale in inputs.in should
be adjusted.

Table 23.10: Description of cell_count.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 Total_Cells The total number of cells in the entire domain.
3 and Rank<i> The total number of cells on rank (processor) i. One column will
above be added per rank.

23.8 cell_count_regions.out
The cell_count_regions.out file writes out information on the number of cells in each region
in the domain. The cell count data is written out as a function of time. Table 23.11 below
describes the format of this file.

Table 23.11: Description of cell_count_regions.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 Total_Cells The total number of cells in the entire domain.
3 and Region<i> The total number of cells in region_id = i. One column will be
above added per region.

23.9 CONGO Output Files


CONGO generates output in two places: in the individual run directories of the
CONVERGE simulations, and in the main CONGO folder. CONGO uses the data written

950 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |CONGO Output Files

to the individual run directories to create the output files in the main CONGO folder.
23.9.1 Individual Run Directory Output Files
The output files CONGO generates in the individual run directories contain information
regarding the values of the parameters selected by the GA or the DoE, as well as the
performance (fitness and merit) of the individuals.

param.<run#>-<generation#>
This file contains the parameter values CONGO selects for each run. You can specify the
parameters that will be varied by CONGO in the case.in file.

ga_output.<run#>-<generation#>
This file contains the values of the response variables (both perf ormance and constraint) for
each run. CONGO uses a UDF to generate this file. The name of this file will be consistent
with output_f ile_name in merit.in. We recommend that you enter ga_output for consistency.

<output f ile name>-<run#>-<generation#>.out


CONGO creates a uniquely named instance of all CONVERGE output files (e.g., spray_ecn-
6-47.out) for each run in each case directory.
23.9.2 Main CONGO Folder Output Files
In the main CONGO folder, CONGO writes ASCII output files that summarize the results
of the CONGO GA or DoE, based in information it reads from the ga_output and param
output files it writes to the individual run directories.

Output files from CONGO record the results of the GA or DoE. These output files are
saved in the main CONGO directory and serve to indicate the progress and eventual
conclusions of the CONGO run. Some of these files include information regarding the
parameter values chosen by CONGO (bestcases.out, convergance.out, output.out,
output_converged.out, bestcases.out), while others contain information on response
(performance and constraint) variable results for individual runs (perf orm.out,
bestcases_perf orm.out). Many of these files also contain the fitness and merit calculated for
each individual. Other contain only the fitness and merit of select individual runs
(congo_max.out, congo_micro.out).

Most of these files apply only to GA cases. output.out, perf orm.out, and
output_converged.out are written for both GA and DoE cases.

· congo_max.out lists the maximum merit (merit for the best-so-far individual) of each
generation.

CONVERGE 2.4 Manual 951


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |CONGO Output Files

· congo_micro.out lists the generations in which the population achieved micro-


convergence, and the best-so-far merit at those generations.

You can plot the congo_max.out and congo_micro.out files together to show the maximum
merit vs. the generation number, with markers indicating micro-convergence events. Here
is an example plot of congo_max.out and congo_micro.out:

Figure 23.1: congo_max.out and congo_micro.out results.

· output.out lists model parameters selected by CONGO for all individuals in all
generations in the GA or DoE. This file also lists the merit (and fitness, for multi-mode
CONGO cases) for each individual.

· perf orm.out lists the values CONGO calculated for the response variables (performance
and constraint) for all individuals in all generations in the GA or DoE. This file also lists
the merit (and fitness, for multi-mode CONGO cases) for each individual.

· bestcases.out lists model parameters selected by CONGO for each best-so-far run in the
GA. This file also lists the merit (and fitness, for multi-mode CONGO cases) for each
best-so-far individual.

· bestcases_perf orm.out lists the values CONGO calculated for the response variables
(performance and constraint) for each best-so-far run in the GA. This file also lists the
merit (and fitness, for multi-mode CONGO cases) for each best-so-far individual.

· convergance.out lists the convergence criteria for each of the model parameters for each
generation in the GA. These are not the actual values for the model parameters selected
by CONGO, they are simply indicators of how close a generation came to a micro
convergence event. The last column in this file also indicates if the generation reached a

952 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |CONGO Output Files

micro convergence event. The generations marked as "1" in the Converged column are
the generations included in the congo_micro.out file.

· output_converged.out lists the actual values of the model parameters selected by


CONGO for each individual of each generation that reached micro-convergence.

· congo_dna.out lists the binary string of each individual's DNA (for every generation),
typically 30 bits for each parameter. The DNA of each individual is followed by the merit
and DNA of the best-so-far individual. The end of this file contains sequencing
information to define the random number generator used by CONGO. You can use this
file to restart the GA any any generation. Alternatively, you may use the restart.in file
generated automatically by CONGO. restart.in contains information for only the most
recent generation.

· genetics.out lists detailed information about the GA. It shows the process of the
tournament and the shuffling of parents and children.

23.10 crevice.out
The crevice.out file will be written if the crevice model has been activated (i.e., if crevice_f lag
= 1 in engine.in). The file contains the predicted pressures in the various crevice volumes in
addition to the total mass in the crevice. Table 23.12 below describes the format of this file.

Table 23.12: Description of crevice.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.

2 P2 (ring 1) (MPa) Pressure in section 2 of the crevice region.

3 P3 (gap) (MPa) Pressure in section 3 of the crevice region.

4 P4 (ring2) (MPa) Pressure in section 4 of the crevice region.

5 Mass (kg) Mass in the crevice region.

6 and Species name (e.g., O2) Mass fraction of named species in the crevice region. Columns
above increment with the number of species in the simulation.

23.11 crevice_rings.out
The crevice_rings.out file will be written if the crevice model has been activated (i.e., if
crevice_f lag = 1 in engine.in). The file contains information about the motion of the two
rings. Table 23.13 below describes the format of this file.

CONVERGE 2.4 Manual 953


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |crevice_rings.out

Table 23.13: Description of crevice_rings.out.


Column Header (units) Description

1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 hb (ring 1) (m) Ring 1 position relative to the bottom of the ring region.

3 dhb/dt (ring 1) (m/ s) Ring 1 velocity.

4 hb (ring 2) (m) Ring 2 position relative to the bottom of the ring region.

5 dhb/dt (ring 2) (m/ s) Ring 2 velocity.

23.12 dmr_mech_info.out
The dmr_mech_inf o.out file records the species and reaction statistics (average, minimum,
and maximum values) as the simulation progresses. CONVERGE writes this file when
SAGE detailed chemistry (sage_f lag = 1) and Dynamic Mechanism Reduction
(sage_dmr_f lag = 1) are activated. Table 23.14 lists the quantities recorded in
dmr_mech_inf o.out.

Table 23.14: Description of dmr_mech_inf o.out.


Column Header (units) Description

1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle degrees
(crank angle degrees) if crank_f lag = 1 or 2.
2 Avg_Species Average number of species per cell in the region.
3 Max_Species Number of species in the cell with the most species.
4 Min_Species Number of species in the cell with the least species.
5 Avg_Reactions Average number of reactions per cell in the region.
6 Max_Reactions Number of reactions in the cell with the most reactions.
7 Min_Reactions Number of reactions in the cell with the least reactions.

23.13 dynamic.out, dynamic_region<ID>.out


The dynamic.out and dynamic_region<ID>.out files contain swirl ratio, tumble ratio, angular
momentum, and vorticity data. The data in dynamic.out apply to the entire domain, while
the data in dynamic_region<ID>.out apply to a specific region.

Table 23.15 summarizes the format of dynamic.out and dynamic_region<ID>.out. The


output frequency is controlled by twrite_f iles in inputs.in.

954 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |dynamic.out, dynamic_region<ID>.out

Table 23.15: Description of dynamic.out and dynamic_region<ID>.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
- 2* Tumble_Ratio_X Average tumble ratio about the x axis.
- 3* Tumble_Ratio_X+ Positive tumble ratio about the x axis.

- 4* Tumble_Ratio_X- Negative tumble ratio about the x axis.


- 5* Tumble_Ratio_Y Average tumble ratio about the y axis.
- 6* Tumble_Ratio_Y+ Positive tumble ratio about the y axis.
- 7* Tumble_Ratio_Y- Negative tumble ratio about the y axis.
- 8* Swirl_Ratio Swirl ratio.

2† - Angular_Vel_X (rad/ s) Average angular velocity in the x direction.

3† - Angular_Vel_X+ (rad/ s) Positive angular velocity in the x direction.

4† - Angular_Vel_X- (rad/ s) Negative angular velocity in the x direction.

5† - Angular_Vel_Y (rad/ s) Average angular velocity in y direction.

6† - Angular_Vel_Y+ (rad/ s) Positive angular velocity in the y direction.

7† - Angular_Vel_Y- (rad/ s) Negative angular velocity in the y direction.

8† - Angular_Vel_Z (rad/ s) Angular velocity in the z direction.


9 Ang_Mom_X (kg m2/ s) Angular momentum about the x axis.

10 Ang_Mom_Y (kg m2/ s) Angular momentum about the y axis.

11 Ang_Mom_Z (kg m2/ s) Angular momentum about the z axis.

12 Mag_Vorticity (1/ s) Magnitude of vorticity.

13 Ang_Mom_Flux_X (kg Angular momentum flux in the x direction between two specified
m2/ s2) regions.

14 Ang_Mom_Flux_Y (kg Angular momentum flux in the y direction between two specified
m2/ s2) regions.

15 Ang_Mom_Flux_Z (kg Angular momentum flux in the z direction between two specified
m2/ s2) regions.

16 Mass_Center_X (m) X component of the center of mass that is used in swirl and
tumble calculations.
17 Mass_Center_Y (m) Y component of the center of mass that is used in swirl and
tumble calculations.

CONVERGE 2.4 Manual 955


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |dynamic.out, dynamic_region<ID>.out

Column Header (units) Description

18 Mass_Center_Z (m) Z component of the center of mass that is used in swirl and
tumble calculations.
*crank_f lag is 1 in inputs.in.
†crank_f lag is 0 in inputs.in.

The swirl ratio is defined as the ratio of the angular speed of the flow about the center of
mass in the z direction, w3, to the angular speed of the crankshaft, wcrankshaf t, as shown in
Equation 23.3,

3
swirl _ ratio  . (23.3)
crankshaf t

The tumble ratio in x direction is defined as the ratio of the angular speed of the flow
about the center of mass in the x direction, w1, to the angular speed of the crankshaft,
wcrankshaf t, as shown in Equation 23.4,

1
tumble _ ratiox  . (23.4)
crankshaf t

Similarly, the tumble ratio in the y direction is calculated by evaluating the ratio of the
angular speed of the flow about the center of mass in the y direction, w1, to the angular
speed of the crankshaft, wcrankshaf t.

The components of wi are calculated from the angular momentum, Li, and the moment of
inertia, Ii, as

Li
i  . (23.5)
Ii

The angular momentum, Lk, for a Cartesian system can be expressed as

Lk  xi uj  ijk , (23.6)

where uj represents the velocity fields and xi represents the coordinate system with the axis
of rotation at xi=0 and the Levi-Civita symbol εij k, expressed as

956 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |dynamic.out, dynamic_region<ID>.out

0 if any two indices are the same



 ijk  1 if ijk  123, 231, or 312 (23.7)
1 if ijk  132, 213, or 321.

For a discrete system of cells, the angular momentum about the x, y, and z axis, L1, L2, and
L3, respectively, can be calculated as

numcells
L1   mn ((y n  ycm )wn  (zn  zcm )vn )
n 1
numcells
L2   mn ((zn  zcm )un  (xn  xcm )wn ) (23.8)
n 1
numcells
L3   mn ((xn  xcm )vn  (y n  ycm )un ),
n 1

where mn is the mass of each cell; xn, y n, and zn are the coordinates of each cell; un, vn, and
wn are components of velocity for each cell; and xcm, y cm, and zcm are the center of mass.
CONVERGE uses the center of mass as the rotation center when calculating rotational
quantities such as swirl and tumble. For sector cases, xcm = 0 and y cm = 0 (i.e., the z axis is
the axis of rotation).

The moment of inertia about the x, y and z axis, I1, I2, and I3, respectively, for a system of
cells can be expressed as

numcells
I1   mn (y n  ycm )2  (zn  zcm )2 
n 0
numcells
I2   mn (zn  zcm )2  (xn  xcm )2  (23.9)
n 0
numcells
I3   mn (xn  xcm )2  (y n  ycm )2 .
n 0

The vorticity magnitude quantifies the rotating motion of the fluid in a particular region.
Mathematically, the curl of the velocity vector yields the vorticity. Equation 23.10 below
expresses the calculation of vorticity in tensor notation as

CONVERGE 2.4 Manual 957


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |dynamic.out, dynamic_region<ID>.out

i j k
    u uj   u u    uj ui 
  u   k   i   k  i  j     k , (23.10)
xi x j xk  x j xk 
  xi xk   i x j
x 

ui uj uk

where ui, uj, and uk represent the x, y, and z components of velocity, respectively.
CONVERGE calculates the magnitude of the vorticity as

2 2 2
 u uj   u u   uj ui 
   k   k  i     . (23.11)
 x   
 j xk   xi xk   xi x j 

23.14 ecfm.out
CONVERGE writes the ecf m.out file when ecf m_f lag = 1 in combust.in. The ecf m.out file
contains information about combustion progress for the ECFM. Table 23.2 below describes
the format of this file.

Table 23.16 : Description of ecf m.out.


Column Header (units) Description

1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 mbg (Ampere) Mass of burned gas.

3 mbgign_done (Volt) Mass of burned gas generated by ISSIM. This value should be
close to mbgign_targ.
4 mbgign_targ (Volt) Target mass of burned gases generated by ISSIM.

5 flamesurf (Volt) Flame surface.

6 surfbgign_done (J) Flame surface generated by ISSIM. This value should be close to
surf bgign_targ.
7 surfbgign_targ (J) Target flame surface generated by ISSIM.

8 volbg (J) Volume of burned gas.

958 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |ecfm.out

Column Header (units) Description

9 radbg (m) Radius of a sphere with a radius of volbg.


10 surfbg Surface of a sphere with a radius of volbg.
11 flspeed (m) Laminar flamespeed averaged over the flame surface.

12 flthick Laminar flame thickness averaged over the flame surface.


13 flspeed_cor Flamespeed correction factor due to wall heat losses,

hlos 
 hlos dV
 dV .
14 fuelair_eqratio (J) Fuel/air equivalence ratio averaged over the flame surface,
dV
 
 dV .
15 tempfg (kg) Fresh gas temperature averaged over the flame surface,

u 
T
 Tu dV
 dV .
16 ctilde_max (kg) 
Maximum value of global progress variable c . Can be used to
monitor combustion progress.
17 p1 (kg) Turbulent strain term in flame surface density equation,
p 1   p 1dV   aT dV
.
18 p2 (kg) Dilation source term in flame surface density equation,
2
p 2     u dV
3 .
19 p3 (m2) Curvature source term in flame surface density equation,
2 
p 3   Sl 1 c   dV
3 
c .
20 destrflsurf (m2) Destruction term in flame surface density equation,

  Sl dV
1 c 
.
21 time_stretch_cor (m2) Time-scale stretch correction, Ct, averaged over the flame surface,

 Ct  p 1  p 3 dV
p1  p 3
.

CONVERGE 2.4 Manual 959


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |ecfm.out

Column Header (units) Description

22 wall_stretch_cor Wall stretch correction, Cw , averaged over the flame surface,

 Cw  p 1  p 3 dV
p1  p 3
.
23 It Integral length scale averaged over the flame surface.
24 uprime
2
k
Turbulent velocity fluctuation, 3 , averaged over the flame
surface.
25 lt_over_flthick Ratio of integral scale to laminar flame thickness averaged over
the flame surface.
26 uprim_over_flsp Ratio of turbulent velocity fluctuation to laminar flamespeed
averaged over the flame surface.
27 reynolds Turbulent Reynolds number based on the density of unburned
ult
Ret 
vu
gases, , averaged over the flame surface.
28 karlovitz u  l
Ka 
 Sl
Karlovitz number, , averaged over the flame surface.
29 damkohler
Ret
Damköhler number, Ka , averaged over the flame surface.
30 resolv_flamesurf
Sres   cdV
Resolved flame surface, .

31 ki_eq Equilibrium flame wrinkling obtained via KPP analysis,


2 3vt at
 eq  1
Sl
, averaged over the flame surface,

 eq 
  eq c dV
Sres
.
32 ki_eff Effective wrinkling, defined as the ratio of the total flame surface
to the resolved flame surface. Because the resolved flame surface
does not correctly represent the mean flame surface of the flame
kernel during ignition, ki_eff is not correctly defined during
ignition. The maximum of Sres and surfbg_sigma is used to avoid

960 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |ecfm.out

Column Header (units) Description

unphysical values of ki_eff during ignition,


Stot
 ef f 
max(Sres , surf bg _ sigma)
.

23.15 ecfm3z.out
CONVERGE writes the ecf m3z.out file when ecf m3z_f lag = 1 in combust.in. The ecf m3z.out
file contains information about combustion progress of the ECFM3Z. Table 23.2 below
describes the format of this file.

Table 23.17 : Description of ecf m3z.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 mbg (Ampere) Mass of burned gas.

3 mbgign_done (Volt) Mass of burned gas generated by ISSIM. This value should be
close to mbgign_targ.
4 mbgign_targ (Volt) Target mass of burned gases generated by ISSIM.

5 flamesurf (Volt) Flame surface.

6 surfbgign_done (J) Flame surface generated by ISSIM. This value should be close to
surf bgign_targ.

7 surfbgign_targ (J) Target flame surface generated by ISSIM.

8 volbg (J) Volume of burned gas.

9 radbg (m) Radius of a sphere with a radius of volbg.


10 surfbg Surface of a sphere with a radius of volbg.
11 flspeed (m) Laminar flamespeed averaged over the flame surface.

12 flthick Laminar flame thickness averaged over the flame surface.


13 flspeed_cor Flamespeed correction factor due to wall heat losses,

hlos 
 hlos dV
 dV .
14 fuelair_eqratio (J) Fuel/air equivalence ratio averaged over the flame surface,
dV
 
 dV .

CONVERGE 2.4 Manual 961


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |ecfm3z.out

Column Header (units) Description

15 tempfg (kg) Fresh gas temperature averaged over the flame surface,

u 
T
 Tu dV
 dV .
16 ctilde_max (kg) 
Maximum value of global progress variable c . Can be used to
monitor combustion progress.

17 p1 (kg) Turbulent strain term in flame surface density equation,


p 1   p 1dV   aT dV
.
18 p2 (kg) Dilation source term in flame surface density equation,
2
p 2     u dV
3 .
19 p3 (m2) Curvature source term in flame surface density equation,
2 
p 3   Sl 1 c   dV
3 
c .
20 destrflsurf (m2) Destruction term in flame surface density equation,

  Sl dV
1 c 
.
21 time_stretch_cor (m2) Time-scale stretch correction, Ct, averaged over the flame surface,

 Ct  p 1  p 3 dV
p1  p 3
.

22 wall_stretch_cor Wall stretch correction, Cw , averaged over the flame surface,

 Cw  p 1  p 3 dV
p1  p 3
.
23 It Integral length scale averaged over the flame surface.
24 uprime
2
k
Turbulent velocity fluctuation, 3 , averaged over the flame
surface.
25 lt_over_flthick Ratio of integral scale to laminar flame thickness averaged over
the flame surface.
26 uprim_over_flsp Ratio of turbulent velocity fluctuation to laminar flamespeed
averaged over the flame surface.

962 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |ecfm3z.out

Column Header (units) Description

27 reynolds Turbulent Reynolds number based on the density of unburned


ult
Ret 
vu
gases, , averaged over the flame surface.
28 karlovitz u  l
Ka 
 Sl
Karlovitz number, , averaged over the flame surface.

29 damkohler
Ret
Damköhler number, Ka , averaged over the flame surface.
30 resolv_flamesurf
Sres   cdV
Resolved flame surface, .
31 ki_eq Equilibrium flame wrinkling obtained via KPP analysis,
2 3vt at
 eq  1
Sl
, averaged over the flame surface,

 eq 
  eq c dV
Sres
.
32 ki_eff Effective wrinkling, defined as the ratio of the total flame surface
to the resolved flame surface. Because the resolved flame surface
does not correctly represent the mean flame surface of the flame
kernel during ignition, ki_eff is not correctly defined during
ignition. The maximum of Sres and surfbg_sigma is used to avoid
unphysical values of ki_eff during ignition,
Stot
 ef f 
max(Sres , surf bg _ sigma)
.

23.16 emissions.out
The emisions.out file contains emissions-related masses. The output frequency is controlled
by twrite_f iles in inputs.in. This file is written if emissions_f lag = 1 in combust.in. Table 23.18
below describes the format of this file.

Table 23.18: Description of emissions.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2* Hiroy_Soot (kg) Predicted soot in region from the Hiroyasu soot model.

CONVERGE 2.4 Manual 963


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |emissions.out

Column Header (units) Description

3* NOx (kg) Total mass of NOx in the region (from the Zel'dovich model).

4 Molefrac_NOx (%) Mole fraction of NOx in the region.

5* HC (kg) Total mass of hydrocarbon species in the region.

6 Molefrac_HC (%) Mole fraction of hydrocarbon species in the region.

7* CO (kg) Total mass of CO in region.

8 Molefrac_CO (%) Mole fraction of CO in the region.

9* CO2 (kg) Total mass of CO2 in region.

12 Molefrac_CO2 (%) Mole fraction of CO2 in the region.

* Sector simulation note: CONVERGE multiplies this quantity calculated in a sector


domain by mult_out. The resulting quantity is listed in this column.

23.17 Energy_fraction.out
When you perform a proper orthogonal decomposition (POD) with the pod utility, the
utility generates an Energy_f raction.out file. This file lists the fraction of each variable
accounted for by each POD mode. Table 23.19 below describes the format of this file.

Table 23.19: Description of Energy_f raction.out.


Column Header (units) Description
1 Mode POD mode of this row.
2 and up <Variable Name> Fraction of this cell variable's content accounted for by this mode.

23.18 equiv_ratio_bin.out
The mass within the domain is binned by equivalence ratio into twenty intervals, starting
at 0.0-0.1 and ending at 1.9-2.0. The equiv_ratio_bin.out file summarizes the fraction of the
total mass which has an equivalence ratio value within the specified range of each bin. The
first column lists the simulation time. The remaining columns give the mass fraction within
each of the bins as shown below in Table 23.20 below. The output frequency is controlled
by twrite_f iles in inputs.in.

The equiv_ratio_bin_region<ID>.out files contain analogous data for each region and are
formatted in the same manner.

Table 23.20: Description of equiv_ratio_bin.out.


Column Header (units) Description

964 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |equiv_ratio_bin.out

1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.

2 0.0 - 0.1 Mass fraction which has a equivalence ratio in the range 0.0 to
0.1.
3 0.1 - 0.2 Mass fraction which has a equivalence ratio in the range 0.1 to
0.2.
4 0.2 - 0.3 Mass fraction which has a equivalence ratio in the range 0.2 to
0.3.

5 0.3 - 0.4 Mass fraction which has a equivalence ratio in the range 0.3 to
0.4.
6 0.4 - 0.5 Mass fraction which has a equivalence ratio in the range 0.4 to
0.5.
7 0.5 - 0.6 Mass fraction which has a equivalence ratio in the range 0.5 to
0.6.
8 0.6 - 0.7 Mass fraction which has a equivalence ratio in the range 0.6 to
0.7.
9 0.7 - 0.8 Mass fraction which has a equivalence ratio in the range 0.7 to
0.8.
10 0.8 - 0.9 Mass fraction which has a equivalence ratio in the range 0.8 to
0.9.
11 0.9 - 1.0 Mass fraction which has a equivalence ratio in the range 0.9 to
1.0.
12 1.0 - 1.1 Mass fraction which has a equivalence ratio in the range 1.0 to
1.1.
13 1.1 - 1.2 Mass fraction which has a equivalence ratio in the range 1.1 to
1.2.

14 1.2 - 1.3 Mass fraction which has a equivalence ratio in the range 1.2 to
1.3.
15 1.3 - 1.4 Mass fraction which has a equivalence ratio in the range 1.3 to
1.4.
16 1.4 - 1.5 Mass fraction which has a equivalence ratio in the range 1.4 to
1.5.
17 1.5 - 1.6 Mass fraction which has a equivalence ratio in the range 1.5 to
1.6.
18 1.6 - 1.7 Mass fraction which has a equivalence ratio in the range 1.6 to
1.7.
19 1.7 - 1.8 Mass fraction which has a equivalence ratio in the range 1.7 to
1.8.

CONVERGE 2.4 Manual 965


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |equiv_ratio_bin.out

20 1.8 - 1.9 Mass fraction which has a equivalence ratio in the range 1.8 to
1.9.

21 1.9 - 2.0 Mass fraction which has a equivalence ratio in the range 1.9 to
2.0.

23.19 film.out, film_scrape.out, film_accum.out, film_accum_net.out


The f ilm.out file summarizes the wall film data. The output frequency of data in this file is
controlled by twrite_f iles in inputs.in. The f ilm.out file is written only when the wall film
model is activated (i.e., when spray_wall_f lag = 1 in spray.in). Table 23.21 summarizes the
format of f ilm.out. Note that the film data is not written out in a region-by-region manner
(i.e., the output corresponds to the entire domain).

Table 23.21: Description of f ilm.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 film_parcels Number of film parcels in the domain.
3* film_mass (kg) Total liquid film mass on all walls.

4 and bound_id_<ID> Mass of the liquid film on the specified boundary. The number of
above* columns will depend on the number of wall boundaries in the
simulation.
* Sector simulation note: CONVERGE multiplies this quantity calculated in a sector
domain by mult_out. The resulting quantity is listed in this column.

Similar output files present data on parcel interactions with boundaries. The
f ilm_scrape.out file indicates the parcel mass that has been scraped from the boundary. The
f ilm_accum.out file lists the parcel mass that has made contact with a boundary. The
f ilm_accum_net.out file gives the parcel mass that has reached a boundary and remained on
it (i.e., mass that has not splashed or rebounded). Tables 23.22 and 23.22 summarize the
format the accumulated film and the scraped film output files.

Table 23.22: Description of f ilm_accum.out and f ilm_accum_net.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2* total_hit (kg) Total liquid film mass that has interacted with the boundary
since the beginning of the simulation.

966 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |film.out, film_scrape.out, film_accum.out, film_accum_net.out

Column Header (units) Description

3 and bound_id_<ID> Mass of the liquid film on the specified boundary. The number of
above* columns will depend on the number of wall boundaries in the
simulation.
* Sector simulation note: CONVERGE multiplies this quantity calculated in a sector
domain by mult_out. The resulting quantity is listed in this column.

Table 23.23: Description of f ilm_scrape.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2* total_scrape (kg) Total liquid film mass that has been scraped by the boundary
since the beginning of the simulation.
3 and bound_id_<ID> Mass of the liquid film on the specified boundary. The number of
above* columns will depend on the number of wall boundaries in the
simulation.
* Sector simulation note: CONVERGE multiplies this quantity calculated in a sector
domain by mult_out. The resulting quantity is listed in this column.

23.20 film_urea_file.out
CONVERGE writes f ilm_urea_f ile.out, which contains film composition data, when
urea_f lag = 3 and spray_wall_f lag = 1 in spray.in. Table 23.24 describes the format of
f ilm_urea_f ile.out.

Table 23.24 : Description of f ilm_urea_f ile.out.


Column Header (units) Description

1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.

2 Water (kg) Mass of water in film.

3 Urea_tot (kg) Total mass of urea in film.

4 Urea_sol (kg) Mass of solid urea in film.

5 Urea_aq (kg) Mass of aqueous urea in film.

6 Biuret (kg) Mass of biuret in film.

7 CYA (kg) Mass of cyanuric acid in film.

8 Ammelide (kg) Mass of ammelide in film.

9 NH4plus (kg) Mass of NH4+ in film.

CONVERGE 2.4 Manual 967


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |film_urea_file.out

Column Header (units) Description

10 NCOminus (kg) Mass of NCO- in film.

11 Hplus (kg) Mass of H+ in film.

23.21 fsi_object_<name>.out
CONVERGE writes output data for each FSI object to an f si_object_<name>.out file, where
<name> is the object_id of the FSI object. For example, the output file might be
f si_object_anchor.out or f si_object_3.out (the object_id is a string, not a number).

The format of f si_object_<name>.out depends on the value of 1dof _constraint_f lag in f si.in.
Tables 23.25 through 23.27 describe the possible formats of f si_object_<name>.out.

Table 23.25: Format of f si_object_<name>.out when 1dof _constraint_f lag = 0.


Column Column Header Quantity (Units)
1 time Time (seconds).
2 Pos_x Position in the x direction (meters).
3 Pos_y Position in the y direction (meters).
4 Pos_z Position in the z direction (meters).
5 Vel_x Velocity in the x direction (m/ s).
6 Vel_y Velocity in the y direction (m/ s).

7 Vel_z Velocity in the z direction (m/ s).


8 Acc_x Acceleration in the x direction (m/ s2).
9 Acc_y Acceleration in the y direction (m/ s2).
10 Acc_z Acceleration in the z direction (m/ s2).
11 Rot_Vel_x Rotational velocity in the x direction (rad/ s).
12 Rot_Vel_y Rotational velocity in the y direction (rad/ s).
13 Rot_Vel_z Rotational velocity in the z direction (rad/ s).
14 Force_x Force in the x direction (N).
15 Force_y Force in the y direction (N).
16 Force_z Force in the z direction (N).
17 Moment_x Moment in the x direction (N-m).
18 Moment_y Moment in the y direction (N-m).
19 Moment_z Moment in the z direction (N-m).

968 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |fsi_object_<name>.out

Table 23.26: Format of f si_object_<name>.out when 1dof _constraint_f lag = 1.


Column Column Header Quantity (Units)
1 time Time (seconds).
2 Position Position (meters).
4 Vel Velocity (m/ s).
5 Acc Acceleration (m/ s2).

6 Force Force (N).

Table 23.27: Format of f si_object_<name>.out when 1dof _constraint_f lag = 2.


Column Column Header Quantity (Units)
1 time Time (seconds).
2 Angle Angle (degrees).
3 Angle Angle (radians).
4 Rot_Vel Rotational velocity (rad/ s).
5 Rot_Acc Rotational acceleration (rad/ s2).
6 Moment Moment (N-m).

23.22 gti_interface.out
The gti_interf ace.out file lists the averaged data for each coupling interface between
CONVERGE and GT-SUITE. The output frequency is controlled by twrite_transf er in
inputs.in. Table 23.2 summarizes the format of gti_interf ace.out.

CONVERGE 2.4 Manual 969


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |gti_interface.out

Table 23.28 : Description of gti_interf ace.out.


Column Header (units) Description

1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 Cycle_Number Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
degrees if crank_f lag = 1 or 2.
3* Pressure (Pa) Area-weighted average static pressure.

4* Temperature (K) Area-weighted average temperature.

5* Avg_Density (kg/ m3 ) Area-weighted average density.

6* Avg_Velocity (m/ s) Area-weighted average velocity normal to the wall boundary.

7* Mass_Flow (kg/ s) Mass flow rate normal to the boundary plane.


* Note: if more than one WALL boundary is coupled with GT-SUITE, these columns will
repeat for each such boundary.

23.23 ignition_delay.dat
This is one of the output files generated by the zero-dimensional combustion utility and
contains ignition delay data for each simulation. Figure 23.2 shows an example file.

#NUM Pressure Temperature Equiv_Ratio EGR_Ratio Time1


Time2
0 1.0000000e+01 6.0000000e+02 3.0000000e-01 0.0000000e+00
3.6471860e-01 6.1250823e-01
1 1.0000000e+01 6.0000000e+02 3.0000000e-01 3.0000000e-01
3.8939745e-01 2.3749731e+00
2 1.0000000e+01 6.0000000e+02 3.0000000e-01 6.0000000e-01
4.2369846e-01 1.0000000e+04
3 1.0000000e+01 6.0000000e+02 3.0000000e-01 8.0000000e-01
4.0479476e-01 1.0000000e+04

Figure 23.2: An example ignition_delay.dat file.

23.24 issim_ignition_<num>.out
When ecf m_spark_f lag = 2 in combust.in, CONVERGE writes an issim_ignition_<num>.out
file for each ignition event (e.g., issim_ignition_0.out for ignition 0). These files contain data
related to the ISSIM, including voltages, the spark ignition state, and the critical energy.
Table 23.29 below describes the format of issim_ignition_<num>.out.

970 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |issim_ignition_<num>.out

Table 23.29: Description of issim_ignition_<num>.out.


Column Header (units) Description

1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle degrees
(crank angle degrees) if crank_f lag = 1 or 2.
2 Ampere (Ampere) Electric current from secondary circuit.

3 volt_spark (V) Spark voltage.

4 volt_gas (V) Gas column voltage.

5 volt_bd (V) Breakdown voltage.

6 sec_energ (J) Secondary circuit energy.

7 joule_energ (J) Energy loss in the secondary circuit.

8 ign_energ (J) Energy transferred to the gas phase.

9 length_spk (m) Spark kernel length.

10 xi_spk Spark length factor.


11 length_spk_total (m) Total spark length.

12 ibrkdwn Spark ignition state:


-1 = Between ignition events (for spark plugs with cyclical
ignition),
0 = No spark ignition,
1 = Pre-discharge,
2 = Breakdown,
3 = Arc/glow.
13 ign_fraction Ignition fraction for each ignition event. For single ignition,
ign_fraction = 1.
14 critical_energ (J) Critical energy.

15 mbgign_targ (kg) Total burned gas to deposit on the spark plug.

16 dmbgign (kg) Burned gas to deposit on the spark plug.

17 dmbgign_done (kg) Total burned gas that has been deposited on the spark plug.

18 mbgign_done (m2) Integrated burned gas that been deposited on the spark plug for
this ignition event.
19 surfbgign_targ (m2) Flame surface density that has been deposited on the spark plug.

20 dsurfbgign_done (m2) Integrated flame surface density that has been deposited on the
spark plug.
21 surfbgign Progress variable.
22 coeff_mbign Mass progress variable coefficient.

CONVERGE 2.4 Manual 971


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |lhv_info.out

23.25 lhv_info.out
The lhv_inf o.out file lists the calculated lower heating value (LHV) corrector (a6) values
used by CONVERGE if lhv_f lag = 1 in inputs.in. Table 23.2 describes the format of
lhv_inf o.out. Note that for each listed LHV in lhv.in, all the columns are repeated and
followed by three rows: the LHV specified by the user and read from lhv.in, the LHV
calculated by CONVERGE for that species, and resultant LHV fractional correction. Figure
23.41 below shows an example lhv_inf o.out output file.

Table 23.30 : Description of lhv_inf o.out.


Column Header (units) Description
1 LHV_species LHV species listed in lhv.in.
2 ori_low_a6 Original value of a6, the LHV corrector, before applying values
from lhv.in.
3 new_low_a6 Calculated value of a6:
a 6 = x1W1 /R u
where
x1 is required change in enthalpy per kilogram such that the
effective heating value is as specified in lhv.in, W1 is the
molecular weight, and Ru is the gas constant.

4 fractional_change Fractional change between original and specified a6.

lhv_species ori_low_a6 new_low_a6 fractional_change


ch4 -1.0246648e+04 -1.0295906e+04 4.8072750e-03
lhv specified by user = 5.000000e+07
lhv calculated by cvg = 5.002553e+07
lhv fractional correction = -5.102849e-04

lhv_species ori_low_a6 new_low_a6 fractional_change


c7h16 -2.5658657e+04 -4.2478211e+04 6.5551190e-01
lhv specified by user = 4.351879e+07
lhv calculated by cvg = 4.491430e+07
lhv fractional correction = -3.107048e-02
Figure 23.2: A lhv_inf o.out output file.

23.26 map_<time>.out
CONVERGE writes a map_<time>.out file (e.g., map_1.000000e+02.out at 100 crank angle
degrees or seconds) at the end of each simulation. Table 23.31 below describes the format of
the map_<time>.out files. CONVERGE writes additional map_<time>.out file(s) as specified
in write_map.in.

972 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |map_<time>.out

Table 23.31 : Description of map_<time>.out.


Column Header (units) Description

1 X (m) X coordinate of the cell center.

2 Y (m) Y coordinate of the cell center.

3 Z (m) Z coordinate of the cell center.

4 U (m/ s) U velocity component of the cell.

5 V (m/ s) V velocity component of the cell.

6 W (m/ s) W velocity component of the cell.

7 TEMP (K) Temperature information in the cell.

8 PRES (Pa) Pressure information in the cell.

9 Species name (e.g., Species mass fractions in the cell.


C7H16)
10 Passive name (e.g., soot) Passive value in the cell.

11 TKE (m2/ s2) Turbulent kinetic energy value in the cell.

12 EPS (m2/ s3) Turbulent dissipation value in the cell.

13 OMEGA (1/ s) Specific dissipation rate value in the cell.

14 REGION ID Region ID.


15 STREAM ID Stream ID.

You can use a map_<time>.out file to initialize variables in a new simulation via mapping.

23.27 map_bound<ID>_<time>.out
At the end of a simulation, CONVERGE writes one map_bound<ID>.out file for each
INFLOW or OUTFLOW boundary. CONVERGE writes additional map_bound<ID>.out files
throughout the simulation as specified in write_map.in. You can use a map_bound<ID>.out
file to specify boundary conditions in another simulation.

Tables 23.32 and 23.33 describe the format of the map_bound<ID>_<time>.out (e.g.,
map_bound2_1.000000e+02.out) files. The <ID> represents the boundary ID as specified in
boundary.in. The top of each map_bound<ID>.out file contains a block of information for
geometry and coordinate manipulation, which is described below in Table 23.32.

Table 23.32: Description of the header in map_bound<ID>_<time>.out.


Parameter Description

spatial A keyword.

CONVERGE 2.4 Manual 973


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |map_bound<ID>_<time>.out

Parameter Description

scale_xyz Scaling to be applied to the x, y, and z coordinates.

trans_x Translation to be applied to x coordinates.

trans_y Translation to be applied to y coordinates.

trans_z Translation to be applied to z coordinates.

rot_axis Axis about which the coordinates and velocity of the data below will
be rotated. Typically the rotation is applied after scaling and
translating. For velocity, however, the rotation is applied before
scaling and translating.

rot_angle Rotation angle (in degrees) about the rot_axis of the data below. Use
the right hand rule to determine the direction of rotation about the
rot_axis.

0.000 second Present for file formatting reasons. Note that this row does not specify
the time at which this file was written.

Following the header, the map_bound<ID>.out files contain several columns of data. Table
23.33 below describes these columns.

Table 23.33 : Description of map_bound<ID>_<time>.out (after the header).


Column Header (units) Description
1 X (m) X coordinate of the cell center.

2 Y (m) Y coordinate of the cell center.

3 Z (m) Z coordinate of the cell center.

4 U (m/ s) U velocity component of the cell.

5 V (m/ s) V velocity component of the cell.

6 W (m/ s) W velocity component of the cell.

7 TEMPERATURE (K) Temperature information in the cell.

8 PRESSURE (Pa) Pressure information in the cell.

9 Species name (e.g., Species mass fraction in the cell.


C7H16)
10 Passive name (e.g., soot) Passive value in the cell.

11 TKE (m2/ s2) Turbulent kinetic energy value in the cell.

12 EPS (m2/ s3) Turbulent dissipation value in the cell.

13 OMEGA (1/ s) Specific dissipation rate value in the cell.

14 REGION ID Region ID.

974 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |map_bound<ID>_<time>.out

Column Header (units) Description

15 STREAM ID Stream ID.

23.28 mass_avg_flow.out
The mass_avg_f low.out file provides mass flow and mass flow-weighted average data at
each INFLOW and OUTFLOW boundary.

Table 23.34 below describes the format of this file. The first two columns list the cycle
number and time, respectively. The next set of columns (Mass_Flow_Rate through
Tot_Spray) tabulate the boundary mass flow and thermodynamic data, and CONVERGE
repeats these columns for each INFLOW or OUTFLOW boundary. CONVERGE includes
the boundary ID in each column heading for easy identification of the data. If
region_f low_f lag = 1 in inputs.in, then CONVERGE writes two additional columns
(Flow_Rate and Tot_Flowed_in) for each pair of adjacent regions.

Table 23.34: Description of mass_avg_f low.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 Cycle_Number or Simulation cycle number (i.e., number of time-steps) if
Pseudo_Time steady_solver_f lag = 0. The pseudo time-step if steady_solver_f lag =
1.
3 Mass_Flow_Rate (kg/ s) Mass flow rate normal to the INFLOW/OUTFLOW boundary
plane. A positive value indicates flow out of the domain while a
negative value indicates flow into the domain.
4 Total_Pres (Pa) Mass flow-weighted average total pressure.

5 Static_Pres (Pa) Mass flow-weighted average static pressure.

6 Avg_Temp (K) Mass flow-weighted average temperature.

7 Avg_Velocity (m/ s) Mass flow-weighted average velocity normal to the


INFLOW/OUTFLOW boundary plane.
8 Avg_Density (kg/ m3 ) Mass flow-weighted average density.

9 Avg_Mach Mass flow-weighted average mach number.


10 Tot_Parcel_In Total number of parcels that entered this particular boundary up
through the current time-step.
11 Tot_Parcel_Out Total number of parcels that exited this particular boundary up
through the current time-step.
12 Spray_Rate (kg/ s) Mass flow-weighted species mass flow rate. CONVERGE repeats
this column for each species.

CONVERGE 2.4 Manual 975


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |mass_avg_flow.out

Column Header (units) Description

13 Tot_Spray (kg) Mass flow-weighted time-integrated species mass flow.


CONVERGE repeats this column for each species.
14 Flow_Rate (kg/ s) Flow rate from region i to region j . CONVERGE repeats this
column and the next for each pair of adjacent regions.
15 Tot_Flowed_in (kg) Integrated flow in the simulation from region i to region j .

23.29 mech_check.out
The mech_check.out file is generated after CONVERGE checks the mechanism data file for
errors. This file is in two parts. The first portion describes the species in the reaction
mechanism data file. Table 23.35 summarizes the format of this portion of mech_check.out.

Table 23.35: Description of the first part of mech_check.out.


Column Header (units) Description
1 # Species number.
2 SPECIES Species listed in the reaction mechanism file.
3 PHASE Phase of the species listed in the reaction. Typically G for gas
phase.
4 MW Molecular weight of the species.
5 LOW Low temperature limit.
6+ MID Intermediate temperature limit. This column is repeated for as
many MID temperatures as listed for the NASA 9 themodynamic
data file format, if the species listed above is specified in the
NASA 9 format.

7 HIGH High temperature limit.


8+ <ELEMENT> Number of <ELEMENT> atoms in the species. This column is
repeated for each element listed in the mechanism data file.

The second part of mech_check.out lists all the reactions read by CONVERGE in the
reaction mechanism file. Each reaction is assigned a three-digit reaction number, which is
followed by the reaction coefficients. Special conditions for the reaction (such as
enhancements) are printed offset below the reaction. Table 23.36 summarizes the format of
this portion of mech_check.out.

Table 23.36: Description of the second part of mech_check.out.


Column Header (units) Description
1 # Reaction number.

976 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |mech_check.out

Column Header (units) Description

2 REACTION Reaction listed in the reaction mechanism file.


3 A Pre-exponential factor for the reaction.
4 b Temperature dependence of exponential factor for the reaction.
5 E (cal/ mole) Activation energy for the reaction.

23.30 mechanism_tune.out
The mechanism tune utility outputs the mechanism_tune.out file for your reference. A
sample mechanism_tune.out file is shown below in Figure 9.14.

# column 1 2
# Order Reaction
# (none) (none)
#
1 67
2 52
3 78
4 76
5 103
6 99
7 77
8 64
9 98
10 91
11 59
12 60
13 107
14 13
15 95
16 66
17 20
18 23
19 24
20 33
21 34
22 63
23 79
24 65
25 84
Figure 9.14: An example mechanism_tune.out file.

23.31 memory_usage.out
The memory_usage.out file reports the total memory usage and memory usage per
processor (or rank) at each time-step for a CONVERGE simulation. CONVERGE writes
memory usage information at the frequency specified by twrite_f iles in inputs.in. The
memory_usage.out file records all memory usage data in megabytes (MB). Table 23.37
presents the format of the memory_usage.out file. Starting with column 3, CONVERGE
writes the memory usage of each processor used in the simulation. For example, if you run

CONVERGE 2.4 Manual 977


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |memory_usage.out

a simulation on three processors, CONVERGE will label columns 3 to 5 as Rank0 (MB),


Rank1 (MB), and Rank2 (MB), respectively.

If you restart a simulation, CONVERGE will add a number to the file name (e.g.,
memory_usage1.out) to avoid overwriting any memory usage files.

Table 23.37: Description of memory_usage.out.


Column Header (units) Description

1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle degrees
(crank angle degrees) if crank_f lag = 1 or 2.
2 Total_MEM (MB) Total memory used by all processors.

3 Rank<i> (MB) Memory used by CONVERGE on rank (processor) i.

23.32 metis_map.out
After each load balancing operation, CONVERGE writes information about the numbers
of parallel blocks and cells in processors to the metis_map.out file. Table 23.38 below
describes the format of this file.

Table 23.38: Description of metis_map.out.


Column Header Description
1 ncyc Simulation cycle number (i.e., number of iterations) after load
balancing.

2 total blocks The total number of parallel blocks in the domain. This number is
a function of parallel_scale in inputs.in and of the geometry.
3 frozen blocks The total number of frozen parallel blocks in the domain.
4 processor id Unique integer identifier for each processor.
5 blocks Number of parallel blocks assigned to this processor.
6 cells Number of cells assigned to this processor.

23.33 metis_map_frozen.out
The metis_map_f rozen.out file provides information for the number of frozen parallel blocks
and frozen block islands in the domain. After each iteration, CONVERGE writes the
iteration number followed by a block of text, which is described below in Table 23.39.
CONVERGE writes one line for each frozen block in the simulation.

Table 23.39: Description of metis_map.out.


Column Header Description
1 island_index Index of this island (repeats for each block).

978 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |metis_map_frozen.out

Column Header Description

2 rank Processor on which this island is solved (repeats for each block).
3 num_solved_island The total number of cells solved in this island (repeats for each
block).
3 num_solved_block The total number of cells solved in this frozen block.
4 block_ii This frozen block's global i index.
5 block_jj This frozen block's global j index.

6 block_kk This frozen block's global k index.

23.34 mixing.out
The mixing.out file will be written when the input parameter mixing_output_f lag = 1 in
inputs.in. This file contains information on the equivalence ratio, relative air-fuel ratio and
reaction ratio. The equivalence ratio is given as

1
2 N iC ,i   NiH ,i
2 i
 i
, (23.12)
 NiO,i
i

where Ni is the number of moles of species i and hC,i, hH,i and hO,i are the number of carbon
(C), hydrogen (H) and oxygen (O) atoms, respectively, for species i. The standard deviation
for equivalence ratio is given by

 mcell cell  mean 


2

STD  cell
, (23.13)
mtotal

where the subscript cell indicates the cell value, mean represents the mean value, total
indicates the total value, STD indicates the standard deviation and the parameter m is the
mass. The mean value is calculated by the following expression:

1
 2 NiC ,i  2  NiH ,i

j i i
, (23.14)
 NiO,i
j i

where j is the total number of cells in the domain.

CONVERGE 2.4 Manual 979


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |mixing.out

The relative fuel-air ratio is given as

   1 . (23.15)

The standard deviation for fuel-air ratio is given by

 mcell cell  mean 


2

STD  cell
. (23.16)
mtotal

The reaction equivalence ratio is given as

1
2 N iC ,i   NiH ,i
2 i
R  i
, (23.17)
 NiO,i
i

where i is all species except H2O and CO2. The standard deviation for reaction
equivalence ratio is given by

 mcell R cell  R mean 


2

R STD  cell
. (23.18)
mtotal

The reaction relative fuel-air ratio is given as

R  R 1 . (23.19)

The standard deviation for reaction fuel-air ratio is given by

 mcell R cell  R mean 


2

R STD  cell
. (23.20)
mtotal

Note that f , l , and l are calculated by summing over all the cells as
mean mean R mean
shown in Equation 23.14.

980 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |mixing.out

Table 23.40 describes the format of mixing.out.

Table 23.40: Description of mixing.out.


Column Header Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 Lambda_Mean The average lambda (relative fuel-air ratio) value for the domain.

3 Lambda_StdDev The standard deviation of lambda for the domain.


4 Phi_Mean The average equivalence ratio value for the domain. Note that this
quantity includes only gases.
5 Phi_StdDev The standard deviation of equivalence ratio for the domain.
6 Rct_Lmda_Mean The average lambda (relative air fuel ratio) value for the domain,
which does not include CO2 and H2O in the calculation.

7 Rct_Lmda_StdDev The standard deviation of lambda for the domain, which does not
include CO2 and H2O in the calculation.

8 Rct_Phi_Mean The average equivalence ratio value for the domain, which does
not include CO2 and H2O in the calculation.

9 Rct_Phi_StdDev The standard deviation of equivalence ratio for the domain,


which does not include CO2 and H2O in the calculation.

10 Overall_Phi The overall equivalence ratio for the domain. This quantity
includes liquids (fuel, spray parcels, etc.) as well as gases.
11 Overall_Phi_StdDev The standard deviation of the equivalence ratio for the domain.
This quantity includes liquids (fuel, spray parcels, etc.) as well as
gases.

23.35 monitor_point_<num>_mass_avg.out,
monitor_point_<num>_volume_avg.out
When monitor_points_f lag = 1 in inputs.in and you specify monitor points, CONVERGE
writes a monitor_point_<num>_mass_avg.out file for each monitor point that is designed as
MASS_AVG in monitor_points.in.

When monitor_points_f lag = 1 in inputs.in and you specify monitor points, CONVERGE
writes a monitor_point_<num>_volume_avg.out file for each monitor point that is designed
as VOL_AVG in monitor_points.in.

Table 23.41 describes the format of monitor_point_<num>_<avg type>_avg.out.

CONVERGE 2.4 Manual 981


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |monitor_point_<num>_mass_avg.out, monitor_point_<num>_volume_avg.out

Table 23.41: Description of monitor_point_<num>_<avg type>_avg.out.


Column Header (units) Description

1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle degrees
(crank angle degrees) if crank_f lag = 1 or 2.
2+ Monitored variable In monitor_point_<num>_mass_avg.out, the mass-averaged value of
the monitored variable at the monitor point.
In monitor_point_<num>_volume_avg.out, the volume-averaged
value of the monitored variable at the monitor point.

23.36 monitor_line_<num>_coordinates.out,
monitor_line_<num>_mass_avg.out,
monitor_line_<num>_vol_avg.out
When monitor_points_f lag = 1 in inputs.in and you specify monitor lines, CONVERGE
writes a monitor_line_<num>_coordinates.out file for each monitor line.

Table 23.42 describes the format of monitor_line_<num>_coordinates.out.

Table 23.42: Description of monitor_point_<num>_<avg type>_avg.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle degrees
(crank angle degrees) if crank_f lag = 1 or 2.
2 Point Point number.
3-5 Point X, y, and z coordinate of this point on the monitor line.

When monitor_points_f lag = 1 in inputs.in and you specify monitor lines, CONVERGE
writes a monitor_point_<num>_mass_avg.out file for each monitor line that is designed as
MASS_AVG in monitor_points.in.

When monitor_points_f lag = 1 in inputs.in and you specify monitor lines, CONVERGE
writes a monitor_point_<num>_volume_avg.out file for each monitor line that is designed as
VOL_AVG in monitor_points.in.

Table 23.43: Description of monitor_line_<num>_<avg type>_avg.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle degrees
(crank angle degrees) if crank_f lag = 1 or 2.
2+ Monitored variable In monitor_line_<num>_mass_avg.out, the mass-averaged value of
the monitored variable at the monitor point.

982 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |monitor_line_<num>_coordinates.out, monitor_line_<num>_mass_avg.out, monitor_line_<num>_vol_

In monitor_line_<num>_volume_avg.out, the volume-averaged value


of the monitored variable at the monitor point.
These lines repeat for each point on the monitor line.

23.37 one_d_flamespeed.out
The one_d_f lamespeed.out file contains the initial conditions for each 1D premixed laminar
flamespeed case along with the resultant flamespeed. Table 23.44 describes the format of
this file.

Table 23.44: Description of one_d_f lamespeed.out.


Column Header (units) Description
1 Case Number Case number of simulation.
2 Temperature (K) The initial temperature specified in one_d_cases.in.
3 Pressure (Pa) The initial pressure specified in one_d_cases.in.
4 Phi The equivalence ratio specified in one_d_cases.in.
5 EGR_Ratio The exhaust gas recirculation ratio specified in one_d_cases.in.
6 Flamespeed (cm/ s) Calculated flamespeed.

23.38 one_d_sens.out, one_d_sens_rank.out,


one_d_sens_case<ID>.out
To run a one-dimensional sensitivity analysis, set newton_sensitivity_f lag = 1 in
one_d_solver.in. Note that this feature works with only the stand-alone 1D Newton solver
or the hybrid solver (one_d_solver_type = 1 or 3 in one_d_solver.in).

CONVERGE writes three files related to 1D sensitivity analysis:

one_d_sens.out,
one_d_asens_rank.out, and
one_d_asens_case<ID>.out,

which are described below.

one_d_sens.out
The one_d_sens.out file consolidates information from the one_d_sens_case<ID>.out files. It
contains the reactions from the reaction mechanism file sorted in decreasing order of
sensitivity, as shown below in Figure 23.3. The rank of the reaction is the first column, and
the subsequent columns list the reaction number from each case. Table 23.45 summarizes
the format of one_d_asens.out.

CONVERGE 2.4 Manual 983


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |one_d_sens.out, one_d_sens_rank.out, one_d_sens_case<ID>.out

# column 1 2 3 4
# Place Case_0_Reac_Num Case_1_Reac_Num Case_2_Reac_Num
# (none) (none) (none) (none)
#
1 16 16 16
2 -15 -27 -27
3 -27 -15 -13
Figure 23.3: Excerpt of one_d_sens.out.

Table 23.45: Description of one_d_sens.out.


Column Header (units) Description

1 Place (none) The order of sensitivity for reactions from the reaction mechanism
file.
2* Case_<ID>_Reac_Num The reaction number for this reaction in case number <ID>.
(none) This column is repeated for each case.

one_d_sens_rank.out
The one_d_sens_rank.out file lists the combined ranking from all the 1D cases into one file,
and ranks the reactions in decreasing order of sensitivity from all the 1D cases. Table 23.46
summarizes the format of one_d_asens_rank.out.

Table 23.46: Description of one_d_asens_rank.out.


Column Header (units) Description
1 Place (none) Sensitivity rank of the reaction.

2 Reac_Num (none) Reaction number in the new reaction mechanism file.

one_d_sens_case<ID>.out
In the one_d_sens_case<ID>.out files, a header records the pressure, unburned temperature,
equivalence ratio, and EGR ratio by volume. Table 23.47 describes the rest of the data in
the file. The <ID> signifier in the file name corresponds to the case ID in one_d_cases.in.

Table 23.47: Description of one_d_sens_case<ID>.out.


Column Header (units) Description
1 Place (none) Sensitivity ranking for the reaction in this row based on the
absolute value of the sensitivity coefficient.
2 Reaction (none) Reaction number.

3 Sensitivity (none) Maximum sensitivity coefficient value (positive or negative).

4 Reaction_Type (none) The chemical equation of the reaction.

984 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |one_d_sol_case<ID>.out

23.39 one_d_sol_case<ID>.out
When modeling a 1D premixed laminar flame, the temperature and mass flow vary
throughout the domain. CONVERGE records the resulting domain-specific values in the
one_d_sol_case<ID>.out file. This file contains a header with the initial pressure,
temperature, and equivalence ratio. Table 23.48 below describes the format of the rest of
the file.

Table 23.48: Description of one_d_sol_case#.out.


Column Header (units) Description

1 Distance (cm) The distance the flame front traveled.

2 Temperature (K) The temperature at the specified location.

3 Mass_Flow (g/ s/ cm2) The mass flow at the specified location.

4+ <Species Name> The species mass fraction at the specified location. Repeated for
each species.

23.40 passive.out
The passive.out file specifies the mass, mean, and standard deviation of each passive and
non-transport passive. The first column in the output file gives the simulation time while
the remaining columns (except for the last column) give the statistics of each passive and
non-transport passive defined in species.in. The final column lists the total mass in the
region. The output frequency is controlled by twrite_f iles in inputs.in. Table 23.49 below
summarizes the format of passive.out.

Table 23.49: Description of passive.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle degrees
(crank angle degrees) if crank_f lag = 1 or 2.
2+* <passive name> (kg) Total mass of the passive.
3+ <passive name>_Mean Mean passive value in the domain.
(kg/ m3)
4+* <passive name>_StdDev Standard deviation of the passive value in the domain.
(kg/ m3)
Final Total Mass (kg) Total mass in the region.
* Sector simulation note: CONVERGE multiplies this quantity calculated in a sector
domain by mult_out. The resulting quantity is listed in this column.

CONVERGE 2.4 Manual 985


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |phenom_soot_model.out

23.41 phenom_soot_model.out
The output file phenom_soot_model.out will be written if any of the phenomenological soot
models (Gokul, Dalian, or Waseda) is activated by setting phenom_soot_f lag to 1, 2, or 3 in
emissions.in. The file contains soot output data that is averaged over the computational
domain for the time indicated from the selected model. Table 23.50 below summarizes the
format of phenom_soot_model.out.

Table 23.50: Description of phenom_soot_model.out.


Column Header (units) Description

1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 Soot_Mass (kg) Predicted soot in region from the phenomenological soot model.

3 NumDensity (parts/m3) Soot number density, averaged in the computational domain.

4 Incept_Mass (kg) Soot mass due to inception, averaged in the computational


domain.
5 SurfaGrowth_Mass (kg) Soot mass due to surface growth, averaged in the computational
domain.
6 Oxid_Mass (kg) Soot mass due to oxidation, averaged in the computational
domain.
7 Coag_Mass (kg) Soot mass due to coagulation, averaged in the computational
domain.

23.42 piston_profile<ID>.out
If you specify $$ in the piston boundary's velocity boundary condition row, CONVERGE
will generate a piston_prof ile<ID>.out file. The <ID> represents the boundary ID that is
specified in boundary.in. This file contains piston displacement information at every 0.1
crank angle degrees. Table 23.51 describes the format of this file. Note that CONVERGE
measures the piston displacement relative to the original location in surf ace.dat.

Table 23.51 : Description of piston_prof ile<ID>.out.


Column Header (units) Description
1 Time (crank angle degrees) Time in crank angle degrees.
2 X (m) X coordinate of the piston position.

3 Y (m) Y coordinate of the piston position.

4 Z (m) Z coordinate of the piston position.

986 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |point_num<ID>.out

23.43 point_num<ID>.out
CONVERGE writes an output file point_num<ID>.out for each monitor point defined via
UDF. By default, point_num<ID>.out contains temperature, pressure, tke, eps, velocity, and
equivalence ratio data. If the monitor location is a single point, these data are written at
that point. If the monitor location is a sphere, the written data are the average value
within that sphere. You can remove default variables and add additional variables by
editing the user_points_data.c file. See the CONVERGE UDF Manual for more information.

Table 23.52 below describes the format of point_num<ID>.out.

Table 23.52: Description of point_num<ID>.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle degrees
(crank angle degrees) if crank_f lag = 1 or 2.
2 Pressure (Pa) Pressure at the monitor point.

3 Temperature (K) Temperature at the monitor point.

4 TKE (m2/ s2) Turbulent kinetic energy at the monitor point.

5 EPS (m2/ s3) Turbulent dissipation at the monitor point.

6 OMEGA (1/ s) Mass-average specific dissipation rate at the monitor point.

7 u (m/ s) X component of the velocity (u) at the monitor point.

8 v (m/ s) Y component of the velocity (v) at the monitor point.


9 w (m/ s) Z component of the velocity (w) at the monitor point.
10 EQUIV_RATIO Equivalence ratio at the monitor point.

23.44 react_ratio_bin.out
The mass within the domain is binned by reaction ratio into twenty intervals, starting at
0.0-0.1 and ending at 1.9-2.0. The react_ratio_bin.out file summarizes the fraction of the
total mass which has a reaction ratio value within the specified range of each bin. Table
23.53 below describes the format of this file. The output frequency is controlled by
twrite_f iles in inputs.in.

Table 23.53: Description of react_ratio_bin.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle degrees
(crank angle degrees) if crank_f lag = 1 or 2.
2 0.0 - 0.1 Mass fraction which has a reaction ratio in the range 0.0 to 0.1.

CONVERGE 2.4 Manual 987


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |react_ratio_bin.out

3 0.1 - 0.2 Mass fraction which has a reaction ratio in the range 0.1 to 0.2.

4 0.2 - 0.3 Mass fraction which has a reaction ratio in the range 0.2 to 0.3.
5 0.3 - 0.4 Mass fraction which has a reaction ratio in the range 0.3 to 0.4.
6 0.4 - 0.5 Mass fraction which has a reaction ratio in the range 0.4 to 0.5.
7 0.5 - 0.6 Mass fraction which has a reaction ratio in the range 0.5 to 0.6.
8 0.6 - 0.7 Mass fraction which has a reaction ratio in the range 0.6 to 0.7.

9 0.7 - 0.8 Mass fraction which has a reaction ratio in the range 0.7 to 0.8.
10 0.8 - 0.9 Mass fraction which has a reaction ratio in the range 0.8 to 0.9.
11 0.9 - 1.0 Mass fraction which has a reaction ratio in the range 0.9 to 1.0.
12 1.0 - 1.1 Mass fraction which has a reaction ratio in the range 1.0 to 1.1.
13 1.1 - 1.2 Mass fraction which has a reaction ratio in the range 1.1 to 1.2.
14 1.2 - 1.3 Mass fraction which has a reaction ratio in the range 1.2 to 1.3.
15 1.3 - 1.4 Mass fraction which has a reaction ratio in the range 1.3 to 1.4.
16 1.4 - 1.5 Mass fraction which has a reaction ratio in the range 1.4 to 1.5.
17 1.5 - 1.6 Mass fraction which has a reaction ratio in the range 1.5 to 1.6.
18 1.6 - 1.7 Mass fraction which has a reaction ratio in the range 1.6 to 1.7.
19 1.7 - 1.8 Mass fraction which has a reaction ratio in the range 1.7 to 1.8.
20 1.8 - 1.9 Mass fraction which has a reaction ratio in the range 1.8 to 1.9.
21 1.9 - 2.0 Mass fraction which has a reaction ratio in the range 1.9 to 2.0.

23.45 regions_flow.out
The regions_f low.out file provides mass flow data: region-to-region mass flow and/or mass
flow across INFLOW and OUTFLOW boundaries. CONVERGE writes this file only when
region_f low_f lag in inputs.in is non-zero. For region_f low_f lag = 1, CONVERGE writes data
(columns 3 to 22 in Table 23.54) for all adjacent region pairs. For region_f low_f lag = 2,
CONVERGE writes data for only the region pairs specified in regions_f low.in. When
region_f low_f lag = 1 or 2, CONVERGE writes data for all FLOW_THROUGH boundaries
that are not region interfaces.

Some of the columns in regions_f low.out are further dependent on the information in
regions_f low.in.

Table 23.54: Description of regions_f low.out.


Colu Header When Description
mn (units) CONVERGE

988 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |regions_flow.out

Includes This
Column

1 Time (seconds) or Crank Always Time in seconds if crank_f lag = 0 in inputs.in or in


(crank angle degrees) crank angle degrees if crank_f lag = 1 or 2.
2 Cycle_Number or Always Simulation cycle number (i.e., number of time-steps)
Pseudo_Time if steady_solver_f lag = 0. The pseudo time-step if
steady_solver_f lag = 1.

3 Flow_Rate (kg/ s) Always Mass flow rate from region i to region j .


Regions_<i>_to_<j >
4 Tot_Mass (kg) Always Integrated mass flow rate from region i to region j .
Regions_<i>_to_<j >
5 Velocity (m/ s) Always Fluid velocity between regions i and j .
Regions_<i>_to_<j >
6 Tot_Pres (Pa) Always Total pressure at the interface of regions i and j .
Regions_<i>_to_<j >
7 Static_Pres (Pa) Always Static pressure at the interface of regions i and j .
Regions_<i>_to_<j >
8 Avg_Temp (K) Always Average temperature at the interface of the regions i
Regions_<i>_to_<j > and j .
9 Spray_Rate (kg/ s) When spray_f lag Spray rate between regions i and j . Columns 9 and
Regions_<i>_to_<j > = 1 in inputs.in 10 are also written for each INFLOW or OUTFLOW
boundary.
10 Tot_Spray (kg) When spray_f lag Integrated spray rate from region i to region j .
Regions_<i>_to_<j > = 1 in inputs.in
11 Tot_Parcels When spray_f lag Total number of parcels passing from region i to
Regions_<i>_to_<j > = 1 in inputs.in region j .

12 Rate_<species name> When Mass flow rate for the specified species. Columns 12
(kg/ s) output_allspecies and 13 are repeated for each species specified in
Regions_<i>_to_<j > _f lag = 0 in regions_f low.in. Columns 12 and 13 are also written
regions_f low.in for each INFLOW or OUTFLOW boundary.
13 Tot_<species name> When Total species mass passing through the interface of
(kg) output_allspecies regions i and j .
Regions_<i>_to_<j > _f lag = 0 in
regions_f low.in
14 Xfrac-<species name> Always Mole fraction for the specified gas species. This
Bound_id_<ID> information is written only for each INFLOW
and/or OUTFLOW boundary.
15 Rate_<passive name> When Mass flow rate for the specified passive from region
(kg/ s) output_allspecies i to region j . Columns 14 and 15 are repeated for

CONVERGE 2.4 Manual 989


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |regions_flow.out

Regions_<i>_to_<j > _f lag = 0 in each passive specified in regions_f low.in. Columns


regions_f low.in 14 and 15 are also written for each INFLOW or
OUTFLOW boundary.
16 Tot_<passive name> When Total passive mass passing through the interface of
(kg) output_allspecies regions i and j .
Regions_<i>_to_<j > _f lag = 0 in
regions_f low.in
17 Rate_<species name> When Mass flow rate for the spray species from region i to
(kg/ s) output_allspecies region j . Columns 16 and 17 are repeated for each
_f lag = 0 in species specified in regions_f low.in. Columns 16 and
regions_f low.in 17 are also written for each INFLOW or OUTFLOW
boundary.
18 Tot_<species name> When Total spray species mass passing through the
(kg) output_allspecies interface of regions i and j .
_f lag = 0 in
regions_f low.in
19 TKE (m2/ s2) When Turbulent kinetic energy at the interface of regions i
output_tke_f lag = and j .
1 in
regions_f low.in
20 EPS (m2/ s3) When Turbulent dissipation at the interface of regions i
output_eps_f lag and j .
= 1 in
regions_f low.in
21 OMEGA (1/s) When Specific dissipation rate at the interface of regions i
output_omega_f la and j .
g = 1 in
regions_f low.in

22 Ca When Liquid volume fraction at the interface of regions i


output_ca_f lag = and j . Specify this parameter only when volume of
1 in fluid modeling is active.
regions_f low.in

23.46 residuals.out, residuals_region<ID>.out


When steady_solver = 1 in inputs.in, CONVERGE writes residuals.out, which contains
residual error information for transported equations and pressure. Table 23.55 below
describes the format of this file. The <Species or Passive name> columns are repeated for
the transported species and passives.

990 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |residuals.out, residuals_region<ID>.out

Table 23.55: Description of residuals.out.


Column Header (units) Description

1 Cycle number Simulation cycle number (i.e., number of time-steps).


2 Mass (kg) Continuity residual error.

3 X-Momentum (kg/ m2-s) X-momentum residual error.

4 Y-Momentum (kg/ m2-s) Y-momentum residual error.

5 Z-Momentum (kg/ m2-s) Z-momentum residual error.

6 Energy (J) Energy residual error.

7 and <Species or Passive The residual error for the transported species and passives.
up name>

If there is more than one region with residual data, then CONVERGE will generate
residuals_region<ID>.out, numbered by region ID. The residuals_region<ID>.out files will
contain the residual output for each region in the same format as that described above.

23.47 rot_object<ID>-wall_power_torque.out
CONVERGE writes a rot_object<ID>-wall_power_torque.out file for each rotation object
specified after the WRITE_WALL_POWER_TORQUE keyword in wall_output.in. The <ID>
corresponds to the rotation object's position in the list of rotation objects in wall_output.in.
Table 23.56 describes the format of rot_object<ID>-wall_power_torque.out.

Table 23.56: Description of rot_object<ID>-wall_power_torque.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 Pres_Torque_X (N-m) Total pressure torque about x axis exerted on the rotation object.
Torque is always calculated from the origin (0,0,0).
3 Pres_Torque_Y (N-m) Total pressure torque about y axis exerted on the rotation object.
Torque is always calculated from the origin (0,0,0).
4 Pres_Torque_Z (N-m) Total pressure torque about z axis exerted on the rotation object.
Torque is always calculated from the origin (0,0,0).
5 Visc_Torque_X (N-m) Total viscous torque about x axis exerted on the rotation object.
Torque is always calculated from the origin (0,0,0).
6 Visc_Torque_Y (N-m) Total viscous torque about y axis exerted on the rotation object.
Torque is always calculated from the origin (0,0,0).
7 Visc_Torque_Z (N-m) Total viscous torque about z axis exerted on the rotation object.
Torque is always calculated from the origin (0,0,0).

CONVERGE 2.4 Manual 991


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |rot_object<ID>-wall_power_torque.out

Column Header (units) Description

8 Pres_Rot_Power (W) Rotational power due to pressure torque. Calculated as the dot
product of the angular velocity (identical direction to the
boundary rotation axis) and torque.
9 Visc_Rot_Power (W) Rotational power due to viscous torque. Calculated as the dot
product of the angular velocity (identical direction to the
boundary rotation axis) and torque.

23.48 scalar_diss_rate.out
CONVERGE writes the scalar_diss_rate.out file when the RIF model has been activated (i.e.,
if rif _f lag = 1 in combust.in). The file contains the scalar dissipation rate for each flamelet.
The output frequency is controlled by twrite_f iles in inputs.in. Table 23.57 describes the
format of scalar_diss_rate.out.

Table 23.57: Description of scalar_diss_rate.out.


Column Header (units) Description
1 Time (seconds or crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
angle degrees) degrees if crank_f lag = 1 or 2.
2+ Flamelet<ID> (1/s) Scalar dissipation rate (1/s). This column is repeated for
each flamelet.

23.49 sens<case>.out
CONVERGE writes the sensitivity coefficient matrix at each time-step to the sens<case>.out
file when you include sensitivity analysis in a zero-dimensional simulation (set
zero_d_sensitivity_f lag = 2 in zero_d_solver.in). You can post-process this file with the
sens_convert utility to create a folder containing three additional output files
(sens<case>_var<num>_<name>.out, sens<case>_var<num>_<name>_neg.out, and
sens<case>_var<num>_<name>_pos.out), which contain sensitivity coefficients for only the
variables (species and temperature) in which you are interested.

23.50 sens<case>_var<num>_<name>.out,
sens<case>_var<num>_<name>_neg.out,
sens<case>_var<num>_<name>_pos.out
CONVERGE writes the sens<case>.out file when you include sensitivity analysis in a zero-
dimensional simulation (set zero_d_sensitivity_f lag = 2 in zero_d_solver.in). By post-
processing this file with the sens_convert utility, you can create a folder for each case
(named output<case>, where <case> is the 0D case number) containing three files:

sens<case>_var<num>_<name>.out,
sens<case>_var<num>_<name>_neg.out, and

992 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |sens<case>_var<num>_<name>.out, sens<case>_var<num>_<name>_neg.out, sens<case>_var<num>

sens<case>_var<num>_<name>_pos.out.

The files are parametrically named by the 0D case number (<case>), the variable number
from species_inf o.dat (<num>), and the variable name(<name>). For sens0_var38_TEMP.out
in Figure 23.4 below, the case number is 0, the variable number is 38, and the variable
name is TEMP (for temperature).

The sens<case>_var<num>_<name>.out file contains columns for the time (in seconds), the
variable quantity (either species concentration or temperature), and the sensitivity
coefficient for each reaction (listed by the reaction numbers in mech_check.out) at each
time-step. The sensitivity coefficient columns lists the reaction number, maximum
sensitivity coefficient value (positive or negative), the ranking based on the absolute value
of the previous number (positive coefficient values have positive rankings and negative
coefficient values have negative rankings), and the sensitivity coefficients for the reaction,
in this order. CONVERGE finds the maximum absolute value of the sensitivity coefficient
for each reaction and ranks them. CONVERGE lists the value and ranking after the
reaction number in the second and third row, respectively, in
sens<case>_var<num>_<name>.out. Table 23.58 summarizes the format of
sens<case>_var<num>_<name>.out.

Table 23.58: Description of sens#_var$_<variable name>.out.


Column Header (units) Description
1 Time (seconds) Time during zero-dimensional simulation.

2 Variable Quantity The variable quantity from from the Zj matrix. It is either a species
(concentration in mole concentration or temperature and is designated in the output file
f raction or temperature in name.
K)
3+ Reaction Sensitivity The column lists the reaction number, maximum sensitivity
Coefficients coefficient value (positive or negative), the ranking based on the
absolute value of the previous number (positive coefficient values
have positive rankings and negative coefficient values have
negative rankings), and the sensitivity coefficients for the
reaction, in this order.

# Time Temp Reaction Reaction Reaction


# sec K 1 2 3
# 6.136757e+00 -1.838705e-01 1.912526e-02
# 3 -15 19
2.030059e-17 1.268100e+03 1.569349e-14 -4.749065e-23 2.042330e-33
2.030262e-13 1.268100e+03 1.569554e-10 -4.749540e-15 2.043835e-21
... ... ... ... ...
Figure 23.4: Excerpt of sens0_var38_TEMP.out.

CONVERGE 2.4 Manual 993


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |sens<case>_var<num>_<name>.out, sens<case>_var<num>_<name>_neg.out, sens<case>_var<num>

The sens<case>_var<num>_<name>_pos.out and sens<case>_var<num>_<name>_neg.out


files have a column for time-step (in seconds) and a column of all of the positive or negative
sensitivity coefficients, respectively. CONVERGE ranks each reaction in a case according to
the maximum absolute value of the sensitivity coefficient of each reaction. The output files
list the columns of sensitivity coefficients in ascending order by rank, as shown in Figure
23.5.

# Total Neg Place Place Place Place


# 28 1 2 3 4
# Time Reaction Reaction Reaction Reaction
# sec 1 35 6 37
2.030059e-17 -5.742926e-13 -5.563760e-53 -1.189573e-27 1.787541e-46
2.030262e-13 -5.743501e-09 -6.759515e-33 -1.189663e-19 1.781131e-30
... ... ... ... ...
Figure 23.5: Excerpt of sens0_var1_IC8H18_neg.out.

23.51 skip_species.out
CONVERGE writes skip_species.out, which contains information about each iteration of the
skip species process, when skip_species_f lag = 1 in inputs.in. The first line contains the
simulation time and the skip species start and end times. This information comes directly
from the skip_species.in file and is included so that you can verify the skip species start and
end times. On the next line, CONVERGE writes the number of gas and liquid species that
are included in the chemistry computations (i.e., the number of species that were not
skipped) and the total number of fluid species in the simulation. The final line lists the
species that were not skipped.

After the above information, CONVERGE prints a block of text when the skip species
process ends. The first line of this block contains the simulation time and repeats the skip
species species start and end times. The next line contains a message that the skip species
computations are ending and that CONVERGE will return to solving all fluid species.

If skip species is CYCLIC, you will see multiple blocks of information. Figure 23.3 below
provides an example skip_species.out file.

Simulation Time: -4.0999100e+02; Skip species start time: 1.3500000e+02, end


time 7.0000000e+02 (DEG)
Starting skip species session. Computing 5 gas species, and
0 liquid species out of total 48 fluid species
Here is the list of the species:
IC8H18 O2 N2 CO2 H2O

Simulation Time: -1.9566372e+01; Skip species reduction start time:


1.3500000e+02, end time 7.0000000e+02 (DEG)
Ending skip species session. Computing all species, i.e. 48 total fluid
species

994 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |skip_species.out

.
Figure 23.15: An example skip_species.out file.

23.52 soot_hiroy.out
CONVERGE will write the soot_hiroy.out output file if you activate the Hiroyasu-NSC soot
model by setting the flag hiroy_soot_f lag = 1 in emissions.in. The file contains the Hiroyasu-
NSC soot as a function of time as well as the formation and oxidation terms. Table 23.59
below summarizes the format of soot_hiroy.out.

Table 23.59: Description of soot_hiroy.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2* Hiroy_Soot (kg) Predicted soot in region from the Hiroyasu soot model.

3* Hiroy_Form (kg) Predicted time-integrated formation of soot in region from the


Hiroyasu soot model.
4* Hiroy_Oxid (kg) Predicted time-integrated oxidation of soot in region from the
Hiroyasu soot model.
* Sector simulation note: CONVERGE multiplies this quantity calculated in a sector
domain by mult_out. The resulting quantity is listed in this column.

23.53 soot_pm_model.out
CONVERGE writes soot_pm_model.out if when detailed_soot_f lag = 1 or 3 in emissions.in.
The file contains PM model soot data that is averaged over the computational domain.
Table 23.60 below summarizes the format of soot_pm_model.out.

Table 23.60: Description of soot_pm_model.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2* Soot_Mass (kg) Predicted soot in region from the PSM soot model.

3* NumDensity (parts/m3) Soot number density, averaged in the computational domain.

4* VolFrac The fraction of the volume occupied by soot (m3) in the gas (m3)
(m3[soot]/m3[gas])
5* TotSurf Soot surface area per unit gas volume, averaged in the
(m2[soot]/m3[gas]) computational domain.

6* Ave_Dia (m) Mean soot diameter in the computational domain.

CONVERGE 2.4 Manual 995


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |soot_pm_model.out

Column Header (units) Description

7* Dispersion (m/m) Width of the soot particle size distribution, averaged in the
computational domain. (Available only when the second moment
is calculated.)
8* Variance Variance of the soot particle size distribution function, averaged
in the computational domain. (Available only when the second
moment is calculated.)
9* PiMass (kg) Soot mass due to particle inception (nucleation), averaged in the
computational domain.
10* SgMass (kg) Soot mass due to surface growth, averaged in the computational
domain.
11* FrMass (kg) Soot mass due to fragmentation, averaged in the computational
domain.
12* OxMass (kg) Soot mass due to oxidation, averaged in the computational
domain.
13* ConMass (kg) Soot mass due to condensation, averaged in the computational
domain.
14* CoagMass (kg) Soot mass due to coagulation, averaged in the computational
domain.
15 MSoot0 (mole/ kg) Zeroth soot moment (mole of soot per kg of gas), averaged in the
computational domain.
16* MSoot1 (mole/ kg) First soot moment (mole of soot per kg of gas), averaged in the
computational domain.
* The column numbers shown in this table are based on two moments (mauss_num_mom =
2). The column numbers will vary with the value of this parameter.

23.54 soot_psm_model.out
CONVERGE writes soot_psm_model.out when detailed_soot_f lag = 2 or 4 in emissions.in. The
file contains PSM model soot data that is averaged over the computational domain. Table
23.61 below summarizes the format of soot_psm_model.out.

Table 23.61: Description of soot_psm_model.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle degrees
(crank angle degrees) if crank_f lag = 1 or 2.
2 Soot_Mass (kg) Predicted soot in region from the PSM soot model.

3 NumDensity (parts/m3) Soot number density, averaged in the computational domain.

996 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |soot_psm_model.out

Column Header (units) Description

4 VolFrac Soot volume fraction, averaged in the computational domain.


(m3[soot]/m3[gas])
5* SectRate_Mass (kg) Soot mass, averaged in the computational domain.

6* PiMass (kg) Soot mass due to particle inception (nucleation), averaged in the
computational domain.
7* SgMass (kg) Soot mass due to surface growth, averaged in the computational
domain.
8* FrMass (kg) Soot mass due to fragmentation, averaged in the computational
domain.
9* OxMass (kg) Soot mass due to oxidation, averaged in the computational
domain.
10* ConMass (kg) Soot mass due to condensation, averaged in the computational
domain.
11* CoagMass (kg) Soot mass due to coagulation, averaged in the computational
domain.

12† YSoot# Soot mass fraction, averaged in each section (#) the
computational domain.

13† PSDF# Soot particle size distribution function in each section (#) of the
computational domain.

14 † SSize# (nm) Soot particle diameter in each section (#) of the computational
domain.
* Sector simulation note: CONVERGE multiplies this quantity calculated in a sector
domain by mult_out. The resulting quantity is listed in this column.
† The column numbers will vary with the section number.

CONVERGE 2.4 Manual 997


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |species_mass.out

23.55 species_mass.out
The species_mass.out file summarizes the total mass of each species specified via
species_output_f lag in inputs.in. Table 23.62 below summarizes the format of
species_mass.out. The output frequency is controlled by twrite_f iles in inputs.in.

The order of columns 2+ is the same as the order in the species section of mech.dat,
species.in, and species_output.in.

Table 23.62: Description of species_mass.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle degrees
(crank angle degrees) if crank_f lag = 1 or 2.
2* Species name (kg) Total species mass. This column is repeated for every species as
defined by species_output_f lag in inputs.in.
* Sector simulation note: CONVERGE multiplies this quantity calculated in a sector
domain by mult_out. The resulting quantity is listed in this column.

23.56 species_mass_frac.out
The species_mass_f rac.out file summarizes the mass fraction of each species specified via
species_output_f lag in inputs.in. Table 23.63 below summarizes the format of
species_mass_f rac.out. The output frequency is controlled by twrite_f iles in inputs.in.

The order of columns 2+ is the same as the order in the species section of mech.dat,
species.in, and species_output.in.

Table 23.63: Description of species_mass_f rac.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle degrees
(crank angle degrees) if crank_f lag = 1 or 2.
2* Species name Mass fraction of the species. This column is repeated for every
(dimensionless: kg of species as defined by species_output_f lag in inputs.in.
this species per kg of all
species)
* Sector simulation note: CONVERGE multiplies this quantity calculated in a sector
domain by mult_out. The resulting quantity is listed in this column.

998 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |species_std_masfrac.out

23.57 species_std_masfrac.out
The species_std_masf rac.out file summarizes the standard deviation of the mass fraction of
each species specified via species_output_f lag in inputs.in. Table 23.64 below summarizes
the format of species_std_masf rac.out. The output frequency is controlled by twrite_f iles in
inputs.in.

The order of columns 2+ is the same as the order in the species section of mech.dat,
species.in, and species_output.in.

Table 23.64: Description of species_std_masf rac.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2* Species name Standard deviation of the mass fraction of the species. This
column is repeated for every species as defined by
species_output_f lag in inputs.in.
* Sector simulation note: CONVERGE multiplies this quantity calculated in a sector
domain by mult_out. The resulting quantity is listed in this column.

23.58 species_mole_frac.out
The species_mole_f rac.out file summarizes the mole fraction of each species specified via
species_output_f lag in inputs.in. Table 23.65 below summarizes the format of
species_mole_f rac.out. The output frequency is controlled by twrite_f iles in inputs.in.

The order of columns 2+ is the same as the order in the species section of mech.dat,
species.in, and species_output.in.

Table 23.65: Description of species_mole_f rac.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2* Species name Mole fraction of the species. This column is repeated for every
(dimensionless: mole of species as defined by species_output_f lag in inputs.in.
this species per mole of
all species)
* Sector simulation note: CONVERGE multiplies this quantity calculated in a sector
domain by mult_out. The resulting quantity is listed in this column.

CONVERGE 2.4 Manual 999


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |species_vol.out

23.59 species_vol.out
The species_vol.out file contains species volume data for a VOF simulation. The
species_vol_region<region ID>.out files contain region-specific species volume data for a
VOF simulation. CONVERGE generates species_vol.out and species_vol_region<region
ID>.out files when vof _f lag = 1 in inputs.in and either
· species_output_f lag is set to one of the non-zero numerical options or
· species_output_f lag is set to species_output.in and the species_output.in file includes
<total_vol>.

The output frequency is controlled by twrite_f iles in inputs.in.

Table 23.66 summarizes the format of these files.

Table 23.66: Description of species_vol.out and species_vol_region<region ID>.out.


Column Header (units) Description

1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.

2 Total Volume (m3) Total volume of fluid.

3+ <Species name> (m3) Total volume of the specified species.

23.60 spray.out
The spray.out file summarizes the injection results and the spray penetration for each
nozzle. The output frequency is controlled by twrite_f iles in inputs.in.

Table 23.67 below describes the format of spray.out. Note that the column numbers listed
in the table are representative of output from a simulation with only one injector and one
nozzle. If a simulation includes more injectors or nozzles, this file will contain additional
columns.

Table 23.67 : Description of spray.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 tot_parcels (drop+f ilm) Total number of spray parcels, including parcels in the wall
film.
3 spray_parcels (drop) Number of spray parcels, excluding those in the wall film.

4* liq_spray_mass (kg) Total liquid spray mass in the domain (not including mass in
the wall film).

1000 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |spray.out

Column Header (units) Description

5 Fuel species name, (e.g., Mass of the fuel species. If there is more than one fuel species in
C7H16 (kg)) the simulation, there will be one column per species.

6 smd (m) Sauter mean diameter of spray (not including parcels in the wall
film).
7 DV10 (m) The spray parcel diameter representing the tenth percentile by
volume (not including parcels in the wall film).

8 DV50 (m) The volume median particle size (not including parcels in the
wall film).
9 DV90 (m) The spray parcel diameter representing the ninetieth percentile
by volume (not including parcels in the wall film).
10 Inj_No Number of the current injector.
11* Inj_Mass (kg) Amount of injected mass for the current injector.

- 12‡ Inj_Vel (m/ s) Injection velocity of the current injector.

12† - Inj_Vel_Old (m/ s) Injection velocity for the current injector before the contraction
coefficient is applied.

13† - Inj_Vel_New (m/ s) Injection velocity for the current injector after the contraction
coefficient is applied.

14 † - C_a Contraction coefficient for the current injector.

15† 13‡ Inj_Press (MPa) Injection pressure for the current injector.

16† 14 ‡ Noz_No Number of the current nozzle.

17† 15‡ Spray_Penet (m) Liquid penetration length for the current nozzle.

* Sector simulation note: CONVERGE multiplies this quantity calculated in a sector


domain by mult_out. The resulting quantity is listed in this column.
† discharge_coef f _f lag = 1 or 2 in spray.in
‡ discharge_coef f _f lag = 0 in spray.in

The injection pressure written to the spray.out file is given by

2
1 V
Pinj  l   , (23.21)
2  Cd 

where r l is the liquid density, Cd is the discharge coefficient and V is the liquid velocity
based on the geometric hole diameter (i.e., the velocity before a contraction coefficient is
applied).

CONVERGE 2.4 Manual 1001


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |spray.out

CONVERGE calculates the Sauter mean diameter, d32, of the spray as follows:

Ntot

 Ni di3
d32  i1
Ntot
, (23.22)
N d 2
i i
i1

where Ntot is the total number of parcels, Ni is the number of drops of parcel i, and di is the
diameter of parcel i.

23.61 spray_map_<time>.out
For a simulation that includes spray modeling, CONVERGE writes a
spray_map_<time>.out file (e.g., spray_map_1.000000e+02.out at 100 crank angle degrees or
seconds) at the end of each simulation. CONVERGE writes additional
spray_map_<time>.out file(s) as designated in write_map.in. Table 23.68 below describes the
format of these files.

Table 23.68 : Description of spray_map_<time>.out.


Column Header (units) Description

1 X (m) X coordinate of the parcel.

2 Y (m) Y coordinate of the parcel.

3 Z (m) Z coordinate of the parcel.

4 U_VEL (m/ s) X component of velocity of the parcel.

5 V_VEL (m/ s) Y component of velocity of the parcel.

6 W_VEL (m/ s) Z component of velocity of the parcel.

7 TEMP (K) Temperature of the parcel.

8 NUM Number of drops in the parcel.


9 RADIUS (m) Radius of the drops in the parcel.

10 REGION_ID Region ID of the parcel.


11 BOUND_ID Boundary ID of the parcel.
12+ <species name> Liquid mass fraction of <species name> in each drop in the
parcel. This file will contain one column per species in the parcel.
13 (or FILM The value of f ilm_f lag for the parcel.
higher) 0 = The parcel is not in the wall film,
1 = The parcel is in the wall film.

1002 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |spray_map_<time>.out

Column Header (units) Description

14 (or FROM_INJECTOR Injector from which the parcel originated.


higher)
15 (or FROM_NOZZLE Nozzle from which the parcel originated.
higher)

You can use a spray_map_<time>.out file to initialize variables in a new simulation via
mapping.

23.62 spray_rate_inj<ID>.out
At the start of a simulation, CONVERGE writes spray_rate_inj<ID>.out for each injector.
You can use this file to verify the rate-shape information. Table 23.69 below describes the
format of spray_rate_inj<ID>.out.

Table 23.69: Description of spray_rate_inj<ID>.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 Index Index corresponds to rate-shape entries defined in spray.in.
3 Mass_Inject (kg) Amount of mass injected through the injector.

- 4† Inj_Vel (m/ s) Injection velocity for the current injector.

- 5† Inj_Pres (MPa) Injection pressure for current injector.

4* - Inj_Vel_Old (m/ s) Injection velocity for the current injector before the contraction
coefficient is applied.
5* - Inj_Vel_New (m/ s) Injection velocity for the current injector after the contraction
coefficient is applied.
6* - Inj_Pres (MPa) Injection pressure for current injector.

7* - C_a Contraction coefficient for current injector.


* discharge_coef f _f lag = 1 or 2 in spray.in
† discharge_coef f _f lag = 0 in spray.in

The total area of the nozzles for an injector is given by the product of the number of
nozzles (num_noz in spray.in) and the area of each nozzle, as follows:

CONVERGE 2.4 Manual 1003


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |spray_rate_inj<ID>.out


Anozzles  num _ noz * diam _ noz2 , (23.23)
4

where noz_diameter in spray.in gives the diameter of each nozzle.

If the rate-shape entries are given by  i


rateshap e
at each interval, then the mass of injection
rateshap e
during each interval ( dmi ) is given by

  irateshape   irateshape 
dm rateshape
i  1 rateshape
 * dti * Anozzles * l , (23.24)
 2 

is the time interval between two rate-shape entries and r l is the density of
rateshape
where dti
the liquid spray.

Note that this calcaultion assumes that the units of  i


rateshap e
are velocity (m/s). However,
only the shape of the input rate-shape (not the magnitude of each entry) is important. To
convert them to true velocities, CONVERGE calculates the scaling factor velscale_rateshape for
the rate-shape entries:

mass _ inject
velscale _ rateshape  numvel _ inject
,
(23.25)

rateshape
dm
i
i1

where the total mass of injection is given by mass_inject in spray.in. The velocity in
spray_rate_inj<inj_ID>.out is represented by inj_vel_old. CONVERGE converts the old
velocities to true velocities, as follows:

1004 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |spray_rate_inj<ID>.out

inj _ vel _ old  velscale _ rateshape * irateshape . (23.26)

CONVERGE calculates the injection pressure (inj_pres) as

2
1  inj _ vel _ old 
inj _ pres  l   , (23.27)
2  Cd 

where Cd is the discharge coefficient. CONVERGE evaluates the new injection velocity
(inj_vel_new) as

inj _ vel _ old


inj _ vel _ new  , (23.28)
Ca

where Ca is the contraction coefficient.

23.63 spray_region<ID>.out
The spray_region<ID>.out file summarizes the injection results and the spray penetration
within a region. The output frequency is controlled by twrite_f iles in inputs.in. Table 23.70
below describes the format of spray_region<ID>.out.

Table 23.70 : Description of spray_region<ID>.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 liq_spray (drops) Number of spray parcels in the region, excluding parcels in the
wall film.
3* liq_spray_mass (kg) Total liquid spray mass in the region (not including mass in the
wall film).
4 Fuel species name, (e.g., Mass of the fuel species. If there is more than one fuel species in
C7H16 (kg)) the simulation, there will be one column per species.

CONVERGE 2.4 Manual 1005


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |spray_region<ID>.out

Column Header (units) Description

6 smd (m) Sauter mean diameter of spray (not including parcels in the wall
film).
7 DV10 (m) The spray parcel diameter representing the tenth percentile by
volume (not including parcels in the wall film).
8 DV50 (m) The volume median particle size (not including parcels in the
wall film).

9 DV90 (m) The spray parcel diameter representing the ninetieth percentile by
volume (not including parcels in the wall film).
* Sector simulation note: CONVERGE multiplies this quantity calculated in a sector
domain by mult_out. The resulting quantity is listed in this column.

23.64 spray_ecn.out
The spray_ecn.out file lists the liquid penetration based on various percentages of the liquid
mass. This file also includes vapor penetration information based on the ECN (Engine
Combustion Network) definition. The output frequency for this file is controlled by
twrite_f iles in inputs.in. Table 23.71 below describes the format of spray_ecn.out. Columns 2-
9 are repeated for each nozzle on each injector.

Table 23.71: Description of spray_ecn.out.


Column Header (units) Description

1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 Inj_No Number of the current injector.
3 Noz_No Number of the current nozzle.
5 Spray_Penet90 (m) Penetration distance from the nozzle exit for the current nozzle
based on 90% of the liquid mass.
6 Spray_Penet95 (m) Penetration distance from the nozzle exit for the current nozzle
based on 95% of the liquid mass.
7 Spray_Penet97 (m) Penetration distance from the nozzle exit for the current nozzle
based on 97% of the liquid mass.
8 Spray_Penet99 (m) Penetration distance from the nozzle exit for the current nozzle
based on 99% of the liquid mass.
9 Vapor_Penet (m) Penetration distance from the nozzle exit for the current nozzle
based on 0.10% vapor mass fraction.

1006 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |spray_urea_file.out

23.65 spray_urea_file.out
CONVERGE writes spray_urea_f ile.out when urea_f lag = 3 in spray.in. Table 23.72 describes
the format of this file.

Table 23.72 : Description of spray_urea_f ile.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.

2 Water (kg) Mass of water in spray.

3 Urea_tot (kg) Total mass of urea in spray.

4 Urea_sol (kg) Mass of solid urea in spray.

5 Urea_aq (kg) Mass of aqueous urea in spray.

6 Biuret (kg) Mass of biuret in spray.

7 CYA (kg) Mass of cyanuric acid in spray.

8 Ammelide (kg) Mass of ammelide in spray.

9 NH4plus (kg) Mass of NH4+ in spray.

10 NCOminus (kg) Mass of NCO- in spray.

11 Hplus (kg) Mass of H+ in spray.

23.66 steady_state.out
CONVERGE writes steady_state.out when the steady-state monitor has been activated (i.e.,
when monitor_steady_state_f lag = 1 in inputs.in and the monitor_steady_state.in file is in the
Case Directory). Table 23.73 describes the format of steady_state.out. Columns 3 through 5
are repeated for each variable specified in monitor_steady_state.in. Note that CONVERGE
writes the last six rows of steady_state.out only if you are using automatic solution
monitoring (steady_auto_f lag = 1 in solver.in).

Table 23.73 : Description of steady_state.out.


Column Header Description
1 Time or Cycles Time (in seconds if crank_f lag = 0 in inputs.in or in crank angle
degrees if crank_f lag = 1 or 2) if steady_solver_f lag = 0,
Cycle number if steady_solver_f lag = 1.
2 Cycle Number or Simulation cycle number (i.e., number of time-steps) if
Pseudo_Time steady_solver_f lag = 0. The pseudo-time elapsed if
steady_solver_f lag = 1.

CONVERGE 2.4 Manual 1007


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |steady_state.out

Column Header Description

3+ Current Value <variable Value of the specified variable at this time-step.


name specified in
monitor_steady_state.in>
4+ Mean <variable name Mean of the second sample set. CONVERGE writes 0 until
specified in the first and second sample sets have been populated with
monitor_steady_state.in> data.

5+ Std <variable name Standard deviation of the second sample set. CONVERGE
specified in writes 0 until the first and second sample sets have been
monitor_steady_state.in> populated with data.

6+ Diff_mean <variable Difference between the means of the first and second sample
name specified in set.
monitor_steady_state.in>
7+ Std_dev <variable name Difference between the standard deviations of the first and
specified in second sample set.
monitor_steady_state.in>
N+1 grid_scale Current value of grid scale.
N+2 piso_tol Current value of the PISO tolerance.
N+3 tol_scale Current value of tol_scale.
N+4 max_cfl_u Current value of the convective CFL number.
N+5 omega_presrat Current value of the pressure over-relaxation ratio.
N+6 pres_solver_type Current value of the pressure solver type.

23.67 supercycle_point<ID>.out
CONVERGE writes solid temperature data for each monitor point to
supercycle_point<ID>.out, where <ID> is the monitor point ID number. Table 23.74 below
summarizes the format of supercycle_point<ID>.out.

Table 23.74: Description of supercycle_point<ID>.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 Temperature (K) Solid temperature at monitor point.

23.68 supercycle_stream<stream_num>_balance.out
When running a case that includes super-cycling, at the conclusion of each super-cycle
CONVERGE writes energy balance data to supercycle_stream<stream_num>_balance.out.
CONVERGE creates one file for each solid stream. Table 23.75 below summarizes the

1008 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |supercycle_stream<stream_num>_balance.out

format of this file. The first and last columns are always time and the sum of the fluxes,
respectively. The other columns will vary depending on the system.

Table 23.75: Description of supercycle_stream<stream_num>_balance.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle degrees
(crank angle degrees) if crank_f lag = 1 or 2.
for a WALL boundary or a solid-solid INTERFACE boundary

- bound_id Boundary ID (of a WALL boundary).


- flux (J/ s) Flux (J/ s).
for a fluid-solid INTERFACE boundary
- bound_id Boundary ID (of an INTERFACE boundary).
- flux (J/ s) Flux (J/ s).
- surf_temp_inner (K) Surface temperature (K) of the boundary assigned to the specified
stream (one side of the INTERFACE).
- surf_temp_outer (K) Surface temperature (K) of the boundary on the other side of the
INTERFACE.

last total (J/ s) Sum of all fluxes (J/ s).

23.69 surface_species_cov.out,
surface_species_cov_region<ID>.out
CONVERGE writes surf ace_species_cov.out when surf ace_chemistry_f lag = 1 in inputs.in.
This file summarizes the species coverages of each surface species listed in surf ace_mech.dat.
Table 23.76 below summarizes the format of surf ace_species.out.

Table 23.76 : Description of surf ace_species.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2+ Surface species name Coverage of the surface species. This column is repeated for every
2 surface species and lists the species in the same order as in the
(dimensionless: mole/ cm
SITE section of surf ace_mech.dat.
of this species per
2
mole/ cm of all species)

If the number of regions is greater than 1 (i.e., if num_porous_regions in surf ace_chemistry.in


is greater than 1), CONVERGE will instead write a separate

CONVERGE 2.4 Manual 1009


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |surface_species_cov.out, surface_species_cov_region<ID>.out

surf ace_species_cov_region<ID>.out file for each specified region number. CONVERGE will
not generate an averaged surf ace_species.out if multiple regions exist.

23.70 temperature.out, temperature_region<ID>.out


The temperature.out file summarizes the fraction of the domain above a specified
temperature. The temperature_region<ID>.out files present analogous temperature data for
a specific region. There are four fixed temperatures used as criterion for these files: 2500 K,
2600 K, 2700 K, and 2800 K. The output frequency is controlled by twrite_f iles in inputs.in.
Table 23.77 below summarizes the format of these files.

Table 23.77: Description of temperature.out and temperature_region<ID>.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 Mass_Frac > 2500 K Mass fraction of the region above 2500 K.
3 Mass_Frac > 2600 K Mass fraction of the region above 2600 K.
4 Mass_Frac > 2700 K Mass fraction of the region above 2700 K.
5 Mass_Frac > 2800 K Mass fraction of the region above 2800 K.

23.71 thermo.out
The thermo.out file contains thermodynamic and combustion data. The output frequency is
controlled by twrite_f iles in inputs.in. Table 23.78 summarizes the format of thermo.out.

Table 23.78: Description of thermo.out.


Column Header (units) Description

1 Time (seconds), Crank Time in seconds if crank_f lag = 0 in inputs.in, in crank angle degrees
(crank angle degrees), or if crank_f lag = 1 or 2, or the simulation cycle number (i.e., number
Cycles of time-steps).
2 Pressure (MPa) Volume-averaged pressure.

3 Max_Pres (MPa) Maximum pressure.

4 Min_Pres (MPa) Minimum pressure.

5 Mean_Temp (K) Mass-averaged temperature.

6 Max_Temp (K) Maximum temperature.

7 Min_Temp (K) Minimum temperature.

8* Volume (m3) Summation of all cell volumes.

9* Mass (kg) Summation of all cell masses.

1010 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |thermo.out

Column Header (units) Description

10 Density (kg/ m3) Total mass divided by total volume.

11* Integrated_HR (J) Total heat release (summed over time) due to chemical heat
release and any added energy sources.
12* HR_Rate (J/ time) Heat release rate due to chemical heat release and any added
energy sources.
13 C_p (J/ kg K) Specific heat at constant pressure.

14 C_v (J/ kg K) Specific heat at constant volume.

15 Gamma (Cp / Cv ) Ratio of specific heats.

16 Kin_Visc (m2/ s) Molecular kinematic viscosity.

17 Dyn_Visc (N-s/ m2) Molecular dynamic viscosity.

* Sector simulation note: CONVERGE multiplies this quantity calculated in a sector


domain by mult_out. The resulting quantity is listed in this column.

23.72 time.out
The time.out file contains some of the time-related information that is also written to the log
file. CONVERGE writes information to time.out at each time-step (i.e., the value of
twrite_f iles has no effect on time.out). Table 23.79 describes the format of time.out. The
time.out file is written for every simulation.

Table 23.79: Description of time.out.


Column Header (units) Description
1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 Cycle_Number or Simulation cycle number (i.e., number of time-steps) if
Pseudo_Time steady_solver_f lag = 0. The pseudo time-step if steady_solver_f lag =
1.
3 dt (seconds) Time-step size (in seconds).
4 Max_CFL Maximum convective CFL number for this time-step.
5 Max_Visc_CFL Maximum viscous CFL number for this time-step.
6 Max_Cond_CFL Maximum conductive CFL number for this time-step.
7 Max_Diff_CFL Maximum diffusive CFL number for this time-step.
8 Max_Mach_CFL Maximum Mach CFL number for this time-step.
9 WallTime (seconds) Computational time (in seconds) to solve this time-step.
10 Num_Recovers The number of recoveries for this time-step.

CONVERGE 2.4 Manual 1011


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |time.out

Column Header (units) Description

11 dt_limiter The parameter that limited the size of this time-step. If


CONVERGE writes dt_grow, then the previous time-step was
small enough to resolve the relevant physics and preserve
stability, and thus CONVERGE will increase the time-step size.

If a time-step had one or more recoveries (see previous column),


then the limiter will be followed by the parameter(s) that caused
the recoveries.

This column is blank for the first time-step because the first time-
step is determined by dt_start in inputs.in.

23.73 transfer.out
The transf er.out file contains wall heat transfer data for each cell adjacent to a wall
boundary. This file is used for coupling with finite element analysis. To direct CONVERGE
to write data to transf er.out, set transf er_f lag = 1 in inputs.in. Set transf er_f lag to a file name
(e.g., transf er.in) and supply the corresponding file to specify boundaries for which
CONVERGE will write data.

The output frequency is controlled by twrite_transf er in inputs.in. At each write time,


CONVERGE appends summary information (data write time, average gas temperature
and pressure, total wall surface area, and surface average heat flux and heat transfer
coefficient) and then wall heat transfer data to transf er.out. Table 23.80 below describes the
format of transf er.out.

Table 23.80: Description of transf er.out.


Column Header (units) Description
1 Number Data point number.
2 Bound_id Wall boundary ID.
3 X (m) Current X coordinate of the boundary cell.

4 Y (m) Current Y coordinate of the boundary cell.

5 Z (m) Current Z coordinate of the boundary cell.

6 F_TEMP (K) Temperature of the fluid in the boundary cell.

7 FLUX (W/ m2) Heat flux at the boundary cell.

8 AREA (m2) Area of the boundary cell.

1012 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |transfer.out

Column Header (units) Description

9 HTC (W/ m2/ K) Heat transfer coefficient at the boundary cell. HTC is 0 for solid
cells, the value defined in boundary.in for cells subject to the
convection boundary condition, and given by the heat flux
divided by the temperature difference in all other cases.
10 B_TEMP (K) Temperature of the boundary adjacent to the cell.

11 Y_PLUS Dimensionless wall distance at the boundary cell.

12 X_ORIG (m) Original X coordinate of the boundary cell that comes from the
surface file (e.g., surf ace.dat).
13 Y_ORIG (m) Original Y coordinate of the boundary cell that comes from the
surface file (e.g., surf ace.dat).
14 Z_ORIG (m) Original Z coordinate of the boundary cell that comes from the
surface file (e.g., surf ace.dat).
15 PRES (Pa) Pressure at the boundary cell.

16 FLUX_CONV (W/ m2) Convective heat flux at the boundary cell.

17 HTC_CONV (W/ m2/ K) Convective heat transfer at the boundary cell.

18 VEL_MAG (m/ s) Magnitude of velocity at the boundary cell.

19 MAG_WALL_STRESS Magnitude of shear stress at the wall.


(N/ m2)

Optional output that is included if listed in transf er.in.


20 SIE (J/ kg) Cell specific internal energy including the formation energy of
species.
21 VEL_X (m/ s) Cell velocity in the x-direction.

22 VEL_Y (m/ s) Cell velocity in the y-direction.

23 VEL_Z (m/ s) Cell velocity in the z-direction.

24 EPS (m2/ s3) Cell turbulence dissipation rate.

25 COND (W/ m-K) Cell thermal conductivity including the turbulent component of
thermal conductivity.
26 TKE (m2/ s3) Cell turbulent kinetic energy.

23.74 transport_check.out
The transport_check.out file lists the diffusion coefficients (as listed in transport.dat) for the
species in the 1D premixed laminar flamespeed simulation. Table 23.81 summarizes the
format of this file.

Table 23.81: Description of transport_check.out.

CONVERGE 2.4 Manual 1013


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |transport_check.out

Column Header (units) Description

1 N/A The species name.


2 N/A Index indicating the molecular geometry.
0 = Monatomic,
1 = Linear,
2 = Nonlinear.
3 N/A The Lennard-Jones potential.

4 N/A The Lennard-Jones collision diameter.


5 N/A The dipole moment.
6 N/A The polarizability.
7 N/A The rotational relaxation collision number.

23.75 turbulence.out
The turbulence.out output file summarizes the turbulence quantities. CONVERGE generates
this file only when turbulence_solver_f lag = 1 in inputs.in. The first column lists the
simulation time while the remaining columns give the mass-averaged turbulence data at
that time. The output frequency is controlled by twrite_f iles in inputs.in. Table 23.82
summarizes the format of turbulence.out.

Table 23.82: Description of turbulence.out.


Column Header (units) Description

1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.
2 TKE (m2/ s2) Mass-averaged turbulent kinetic energy (tke).

3 TKE_StdDev (m2/ s2) Standard deviation of turbulent kinetic energy.

4 EPS (m2/ s3) Mass-averaged turbulent dissipation (eps).

5 EPS_StdDev (m2/ s3) Standard deviation of turbulent dissipation (eps).

6 OMEGA (1/ s) Mass-average specific dissipation rate (omega).

7 OMEGA_StdDev (1/ s) Standard deviation of specific dissipation rate.

8 Turb_Kin_Visc (m2/ s) Mass-averaged turbulent viscosity.

9 Kin_Visc_StdDev(m2/ s) Standard deviation of turbulent viscosity.

10 Lengthscale (m) Mass-averaged turbulent length scale.

11 Lengthscale_StdDev (m) Standard deviation of turbulent length scale.

12 UPrime (m/ s) Mass-averaged turbulent velocity.

1014 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |turbulence.out

Column Header (units) Description

13 UPrime_StdDev (m/ s) Standard deviation of turbulent velocity.

14 Visc_Ratio (none) Ratio of molecular and turbulent viscosity.

15 Visc_RatStdDev (none) Standard deviation of ratio of molecular and turbulent viscosity.

16 Turb_Dyn_Visc (N s/ m2) Dynamic turbulent viscosity.

17 Dyn_Visc_StdDev (N Standard deviation of turbulent dynamic viscosity.


s/ m2)
18 V2 (m2/ s2) Velocity variance normal to the streamline.

19 V2_StdDev (m2/ s2) Standard deviation of velocity variance normal to the streamline.

20 ZETA (none) Velocity scales ratio.

21 ZETA_StdDev (none) Standard deviation of velocity scales ratio.

22 F (1/ s) Elliptic relaxation function.

23 F_StdDev (1/ s) Standard deviation of elliptic relaxation function.

24 R11 (m2/ s2) Component 11 of the Reynolds stress tensor.

25 R11_StdDev (m2/ s2) Standard deviation of component 11 of the Reynolds stress


tensor.
26 R22 (m2/ s2) Component 22 of the Reynolds stress tensor.

27 R22_StdDev (m2/ s2) Standard deviation of component 22 of the Reynolds stress


tensor.
28 R33 (m2/ s2) Component 33 of the Reynolds stress tensor.

29 R33_StdDev (m2/ s2) Standard deviation of component 33 of the Reynolds stress


tensor.

30 R12 (m2/ s2) Component 12 of the Reynolds stress tensor.

31 R12_StdDev (m2/ s2) Standard deviation of component 12 of the Reynolds stress


tensor.
32 R13 (m2/ s2) Component 13 of the Reynolds stress tensor.

33 R13_StdDev (m2/ s2) Standard deviation of component 13 of the Reynolds stress


tensor.
34 R23 (m2/ s2) Component 23 of the Reynolds stress tensor.

35 R23_StdDev (m2/ s2) Standard deviation of component 23 of the Reynolds stress


tensor.

CONVERGE 2.4 Manual 1015


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |turbulence.out

k2
Recall that the dynamic viscosity is the absolute viscosity, given by t   c , and that

the kinematic viscosity (m2/s) is the dynamic viscosity divided by density. The parameter cm
is a turbulence model constant, k is the turbulent kinetic energy, and e is the turbulent
dissipation. For simulations using a RANS turbulence model, the turbulent length scale is
given by

k3 2
le  c 34
 , (23.29)

while for LES calculations the turbulent length scale is equal to the grid filter width (the
cube root of the cell volume). The turbulent velocity is given by

2
u  k. (23.30)
3

The standard deviations for turbulent kinetic energy, turbulent dissipation rate, turbulent
kinematic viscosity, length scale, turbulent velocity, viscosity ratios, and turbulent dynamic
viscosity are evaluated as

 mcell  cell  mean 


2

 STD  cell
, (23.31)
mtotal

where y represents any of these turbulence variables and m is the mass. The subscripts are
as follows: cell indicates the cell value, mean represents the mean value, total indicates the
total value, and STD indicates the standard deviation.

23.76 vof_spray.out
To use VOF-spray one-way coupling, first run a simulation with vof _spray_f lag = 1 in
vof .in. This flag directs CONVERGE to write a vof _spray.out file, which contains position,
velocity, turbulence, temperature, and cell size information for the liquid parcels in the
VOF simulation. CONVERGE writes this data to vof _spray.out at the interval specified for
twrite_vof _spray in spray.in. Each block of data (for a particular time-step) begins with a
header containing the simulation time. Table 23.83 below summarizes the format of
vof _spray.out.

1016 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |vof_spray.out

Table 23.83: Description of vof _spray.out.


Column Header (units) Description

1 X (m) Current x coordinate (m).


2 Y (m) Current y coordinate (m).
3 Z (m) Current z coordinate (m).
4 U (m/ s) The x component of velocity (m/ s).

5 V (m/ s) The y component of velocity (m/ s).


6 W (m/ s) The z component of velocity (m/ s).
7 Liquid VOF Volume fraction of liquid at the given position.
8 Liquid Mass (kg) Mass of liquid at the given position.

9 TKE (m2/ s2) Mass-averaged turbulent kinetic energy (tke).

10 EPS (m2/ s3) Mass-averaged turbulent dissipation (eps).

11 TEMP (K) Temperature at the given position.

12 dx (m) Cell size in the x direction (m).


13 dy (m) Cell size in the y direction (m).
14 dz (m) Cell size in the z direction (m).

23.77 volumes.out
The volumes.out file contains liquid and gas volume data for a VOF simulation. The
volumes_region<region ID>.out files contain region-specific liquid and gas volume data for a
VOF simulation. CONVERGE generates volumes_region<region ID>.out and
volumes_region<region ID>.out when vof _f lag = 1 in inputs.in. The output frequency is
controlled by twrite_f iles in inputs.in.

Table 23.84 summarizes the format of the volumes.out and volume_region<region ID>.out
files.

Table 23.84: Description of volumes.out and volumes_region<region ID>.out.


Column Header (units) Description

1 Time (seconds) or Crank Time in seconds if crank_f lag = 0 in inputs.in or in crank angle
(crank angle degrees) degrees if crank_f lag = 1 or 2.

2 Total Volume (m3) Total volume of fluid.

3 Gas Volume (m3) Total gas volume.

4 Liquid Volume (m3) Total liquid volume.

CONVERGE 2.4 Manual 1017


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |wall_stress<number>_<time>.out

23.78 wall_stress<number>_<time>.out
If wall_output_f lag = 1 in inputs.in, CONVERGE writes the wall_stress<number>_<time>.out
files, which contain the force, stress, and pressure acting on WALL boundaries. The file
name includes the output number and output time. Table 23.85 below summarizes the
format of these files.

Table 23.85: Description of wall_stress<number>_<time>.out.


Column Header (units) Description
1 Bound_id Wall boundary ID.

2 X (m) Wall coordinate in the x direction.

3 Y (m) Wall coordinate in the y direction.

4 Z (m) Wall coordinate in the z direction.

5 Mag Wall_Stress (N/ m2) Vector sum of the wall stresses in the x, y, and z directions.

6 Wall_Stress_X (N/ m2) Wall stress in the x direction.

7 Wall_Stress_Y (N/ m2) Wall stress in the y direction.

8 Wall_Stress_Z (N/ m2) Wall stress in the z direction.

9 Force_X (N) Force on the wall in x direction.

10 Force_Y (N) Force on the wall in y direction.

11 Force_Z (N) Force on the wall in z direction.

12 Pres (N/ m2) Pressure at the wall.

23.79 zero_d_asens.out, zero_d_asens_rank.out,


zero_d_asens_case<ID>.out
For a zero-dimensional simulation with adjoint sensitivity analysis, CONVERGE writes
three files:

zero_d_asens.out,
zero_d_asens_rank.out, and
zero_d_asens_case<ID>.out.

The zero_d_asens_case<ID>.out files are named by the 0D case number (<ID>). Table 23.86
summarizes the format of zero_d_asens_case<ID>.out. Note that the header of the second
column is the name of the variable for which you chose to perform adjoint sensitivity
analysis. For each such variable, a column will be generated after the second.

Table 23.86: Description of zero_d_asens_case<ID>.out.

1018 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |zero_d_asens.out, zero_d_asens_rank.out, zero_d_asens_case<ID>.out

Column Header (units) Description

1 Reaction (none) Reaction number. The valence of the reaction number (+ or -)


specifies if the normalized sensitivity coefficient was positive or
negative. This value will be the same as the reaction number
specified in mech_check.out.
2* <Variable name> (none) Sensitivity coefficient normalized by the specified variable at the
ignition delay or at end time. ASENS is typically performed for
Temperature.

The zero_d_asens.out file consolidates information from the zero_d_asens_case<ID>.out files.


It contains the reactions from the reaction mechanism file sorted in decreasing order of
sensitivity, as shown in Figure 23.6. The rank of the reaction is the first column, and the
subsequent columns list the reaction number from each case. Table 23.87 summarizes the
format of zero_d_asens.out.

# column 1 2 3 4
# Place Case_0_Reac_Num Case_1_Reac_Num Case_2_Reac_Num
# (none) (none) (none) (none)
#
1 16 16 16
2 -15 -27 -27
3 -27 -15 -13
Figure 23.6: Excerpt of zero_d_asens.out.

Table 23.87: Description of zero_d_asens.out.


Column Header (units) Description

1 Place (none) The order of sensitivity for reactions from the reaction mechanism
file.
2* Case_<ID>_Reac_Num The reaction number for this reaction in case number <ID>.
(none) This column is repeated for each case.

The zero_d_asens_rank.out file lists the combined ranking from all the 0D cases into one file,
and ranks the reactions in decreasing order of sensitivity from all the cases. Table 23.88
summarizes the format of zero_d_asens_rank.out.

Table 23.88: Description of zero_d_asens_rank.out.


Column Header (units) Description
1 Place (none) Sensitivity rank of the reaction.

2 Reac_Num (none) Reaction number in the new reaction mechanism file.

CONVERGE 2.4 Manual 1019


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |zero_d_sol_case<ID>.out

23.80 zero_d_sol_case<ID>.out
When modeling zero-dimensional combustion, CONVERGE writes the temperature,
pressure, and species concentrations at each time-step to zero_d_sol_case<ID>.out. A
header records the initial pressure, temperature, and equivalence ratio. Table 23.89
describes the format of the rest of the file. For species concentrations, CONVERGE writes
one column for each species in the simulation.

Table 23.89: Description of zero_d_sol_case<ID>.out.


Column Header (units) Description

1 Time (sec) The distance the flame front traveled.

2 Temperature (K) The temperature at the specified location.

3 Pressure (Pa) The mass flow at the specified location.

4 and <Species Name> The species mass or mole fraction (based on the value of
up zero_d_mole_f rac_output_f lag in zero_d_solver.in) at the specified
time.

When you run the autoignition utility for a zero-dimensional case with CEQ
(zero_d_case_type = ceq_constant_enth_pres or ceq_constant_temp_pres in zero_d_solver.in),
CONVERGE writes the zero_d_sol_case<ID>.out file in a different format. A header records
initial enthalpy or temperature and pressure, as well as the equivalence ratio. Table 23.90
describes format of the file for cases with CEQ. Note that CONVERGE writes the species
concentrations in mass and mole fraction.

Table 23.90: Description of zero_d_sol_case_<ID>.out for cases with CEQ.


Column Header (units) Description

1 Variable The first line is either Temperature (K) or Enthalpy. The second
line is pressure (Pa). The third and following lines are the species
in the simulation.
2 Unit The units of the variable.
3 Initial The value of the variable at the beginning of the simulation.
4 Equilibrium The equilibrium value of the variable.

23.81 Screen Output


During a simulation, CONVERGE writes information to the screen (unless you redirect this
information to a file such as log.out). This section describes the screen output and how to
vary the amount of detail in the screen output.

1020 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |Screen Output

Figure 23.7 below shows the header portion of the screen output, which includes the
CONVERGE version number.

********************************************************************************
* This software is Proprietary to Convergent Science Inc. (2008) *
* CONVERGE Official Release 2.4 *
* Feb 03, 2017 *
* *
* CEQ equilibrium solver is included under license agreement with *
* Ithaca Combustion Enterprise LLC. *
* *
* Adaptive zoning solver is included under license agreement with *
* Lawrence Livermore National Security, LLC. All rights reserved *
********************************************************************************
Figure 23.7: Header information in the screen output.

CONVERGE writes screen output information about the input and data files as they are
read. Figure 23.8 below provides an example. In addition to listing the input files as they
are being read in, the screen output provides additional information such as the number of
reactions in the chemical mechanism that is specified in mech.dat. You can use this
information to verify that the simulation is using the intended input files and reaction
mechanism.

reading inputs.in data from file inputs.in


turbulence_solver = 1 in inputs.in, reading in turbulence.in
reading turbulence.in data from file turbulence.in
reading mech.dat data from file mech.dat
Species name is O2,
Species name is N2,
Species name is CO2,
reading in thermo data from an external file
reading therm.dat data from file therm.dat
there are 0 reactions
reading initialize.in data from file initialize.in
reading gas.dat data from file gas.dat
reading boundary.in data from file boundary.in
reading post.in data from file post.in
reading surface.dat data from file surface.dat
Figure 23.8: Input and data file information in the screen output.

CONVERGE writes screen output information about the activation or deactivation of


disconnect triangles. Figure 23.9 below shows an example.

creating disconnect triangles for concentric circles between regions 0 and 1


creating disconnect triangles for concentric circles between regions 0 and 1
creating disconnect triangles for concentric circles between regions 0 and 2
creating disconnect triangles for concentric circles between regions 0 and 2
CLOSING EVENT: activating triangles in a disconnect group between regions 0 and 1
CLOSING EVENT: activating triangles in a disconnect group between regions 0 and 1
CLOSING EVENT: activating triangles in a disconnect group between regions 0 and 2

CONVERGE 2.4 Manual 1021


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |Screen Output

CLOSING EVENT: activating triangles in a disconnect group between regions 0 and 2


OPENING EVENT: deactivating triangles in a disconnect group between regions 0 and 2
OPENING EVENT: deactivating triangles in a disconnect group between regions 0 and 2
Figure 23.9: Disconnect triangles information in the screen output.

Level of Detail in Screen Output


You can specify the level of detail in the screen output with the screen_print_level
parameter in inputs.in. A higher number indicates more detailed output. Figures 23.12
through 23.15 show examples for screen_print_level = 0, 1, 2, or 3, respectively.

Before the first cycle, CONVERGE writes the cell count for each rank (i.e., each processor),
to the screen (or log file). Use this information to examine the load balancing, i.e., the
distribution of cells to the various ranks. In Figure 23.14 below, CONVERGE writes
cell_count in rank 3 is: 6309 indicating that CONVERGE assigned 6309 cells to rank
3. In an ideal case, each rank would have the same number of cells. In practice, if the
number of cells distributed to each rank is similar, the load balancing is sufficient. The
overall speed of the simulation will tend to be limited by the largest cell count on any rank,
not the average cell count per rank.

If the max_cf l_u, max_cf l_nu, and max_cf l_mach values change during a cycle, CONVERGE
records the new values for that cycle from each region in the screen output. If the values
do not change during a cycle, these values are not printed.

At the beginning of each cycle, CONVERGE writes the keyword ncyc followed by the
current cycle number. The solution information written on the next lines (PISO iterations,
species and turbulence solutions, etc.) are for that cycle number. When the solution
recovers due to non-convergence, CONVERGE goes back to the previous time-step but
cycle number continues incrementing. Thus, ncyc may exceed the number of time-steps.

After the cycle number, CONVERGE writes the keyword time followed by the simulation
time. Then CONVERGE prints the keyword crank and the current crank angle. If you
entered simulation times in seconds, CONVERGE converts them to crank angle degrees using
the engine geometry and speed (in RPM). If you entered simulation times in crank angle
degrees, CONVERGE converts them to seconds. This way, the screen output (or log file)
contains both seconds and crank angle degrees.

After crank, CONVERGE writes the keyword dt and the current time-step size. The final
entry on this line, time-step limit, displays which particular limiter restricted the time-
step.

1022 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |Screen Output

If CONVERGE detects local instability for a component (x, y, or z) of density, velocity, or


pressure, it reduces the spatial accuracy for that component from second-order to first-
order upwind. The parameters upwind_count_density, upwind_count_velocity, and
upwind_count_temperature display the number of components for which CONVERGE
reduced the spatial accuracy for the density, velocity, or temperature equations,
respectively. If CONVERGE solves the majority of the components with first-order
upwind, the results likely will be less accurate and it is advisable to check your simulation
parameters. If f lux_limiter_global is step in solver.in, CONVERGE writes the upwind counts
for the density and temperature equations. If f lux_limiter_mom is step, CONVERGE writes
the upwind count for the momentum equation.

During the case setup process, you specify a tolerance (tol_u in inputs.in) for the
momentum equation. During the simulation, CONVERGE uses the keyword Ustar
iterations to display the current momentum equation iteration number and the
convergence error associated with each iteration.

Ustar iterations= 1 error= 1.7238e-01


Ustar iterations= 2 error= 1.3770e-04
Ustar iterations= 3 error= 2.0436e-08
Figure 23.10: An example of screen output for momentum equation iterations when screen_print_level
= 2 in inputs.in.

In the log file excerpt in Figure 23.10 above, you can see that CONVERGE needed three
iterations to solve the momentum equation within the tolerance (1e-04) specified by tol_u.

As with the momentum equation, you must specify a tolerance (tol_p in inputs.in) for the
pressure correction equation when you set up the case. CONVERGE writes the keyword
pstar iterations followed by the number of iterations necessary to solve the pressure
correction equation and the convergence error associated with each iteration.

The Pressure Implicit with Splitting of Operator (PISO) procedure uses a guessed pressure
to solve for velocity and then a corrected velocity to solve for pressure. After comparing
the guessed and solved pressures, the PISO loop may or may not continue based on the
tolerance (tol_scale) and the values of min_piso and max_piso. If the solution does not
converge before reaching max_piso iterations, CONVERGE will continue the PISO
procedure. If the solution converges in a number of iterations between max_piso and twice
max_piso, CONVERGE writes dt_piso for the time-step limiter and reduces the time-step
size. If the solution does not converge within twice the number of max_piso iterations,
CONVERGE recovers (re-solves the iteration) using a smaller and more stable time-step.

After the PISO iterations, CONVERGE solves the turbulence and species transport
equations until the iteration error is within the tolerances (tol_species, tol_tke, tol_eps)
specified in inputs.in.

CONVERGE 2.4 Manual 1023


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |Screen Output

CONVERGE limits the movement of the spray during each time-step by testing if the spray
penetrates more cells than the specified value (mult_dt_spray) in a given time-step. If so,
CONVERGE reduces the time-step, allowing it to resolve the relevant physics.

In addition to spray penetration, CONVERGE restricts the percentage of a droplet’s mass


that can evaporate in a given time-step. If the droplet mass that evaporates exceeds the
value specified for mult_dt_evap in inputs.in, CONVERGE reduces the time-step. Use the
parameter mult_dt_chem in inputs.in to control the maximum amount that a cell’s
temperature can rise during combustion. If the cell temperature increase exceeds the
specified amount, CONVERGE reduces the time-step.

If CONVERGE writes that the time-step limit is dt_grow, the previous time-step was small
enough to resolve the relevant physics and preserve stability. In the interest of running the
simulation as quickly as possible, CONVERGE will increase the time-step. Also, time-steps
are limited by dt_grow at the beginning of the simulation because CONVERGE is
increasing (growing) the time-step by 25% each time-step, after an initial time-step of 5.0e-
07. The initial time-step is controlled by the dt_start parameter in inputs.in. The dt_grow
parameter will serve as the limiter until the time-step becomes large enough for another
limiter to restrict the time-step.

If the log file entry for a particular cycle states that the time-step limit was dt_cfl, one of
the CFL criteria limited the time-step. CONVERGE checks the following CFL criteria in
each cell at each time-step:

dt_cfl: Convection CFL number (sometimes simply known as CFL Number), based
on the value of max_cf l_u

dt_cfld: Diffusion CFL number, based on the value of max_cf l_nu

dt_cflk: Conduction CFL number, also based on the value of max_cf l_nu

dt_mach: Speed of sound CFL number, based on the value of max_cf l_mach

You can specify the values of max_cf l_u, max_cf l_nu, and max_cf l_mach in inputs.in.

If CONVERGE writes that dt_iter was the limiter for a particular time-step, it means that
the number of iterations from the previous PISO loops limited the time-step. Consider an
example in which CONVERGE solves the maximum number of pstar iterations
(specified by itmax_pres in inputs.in) without converging. Instead of continuing this
expensive calculation, CONVERGE will reduce the time-step by 10% and recover (re-solve
the iteration) in an attempt to minimize the number of PISO loops required to reach
convergence.

1024 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |Screen Output

Three additional time-step limiters are dt_move, max_iteration_turbulence, and


dt_piso. If a boundary moves more than half of a cell dimension, the time-step is limited
by dt_move. The keyword max_iteration_turbulence indicates that the turbulence
solution did not converge in the number of iterations specified by itmax, so CONVERGE
reduced the time-step. A time-step limit of dt_piso means the PISO iterations did not
converge within the maximum specified number of PISO iterations (max_piso).

If you are running with the steady-state monitor feature, after the time-step limiter,
CONVERGE will provide information about the variables you are monitoring. For each
variable, the convergence status (CONVERGED or NOT CONVERGED) is followed by the
current and target mean difference and standard deviation difference. Note that the
steady-state monitor feature is also available for a transient simulation.

CONVERGE writes zoning time: followed by a time (in seconds) that represents the time
required to distribute cells to various bins for adaptive zoning. On the line following the
zoning time, CONVERGE writes sagetime and rank= 0. After the rank, CONVERGE
writes the instantaneous time required for SAGE calculations (i.e., the amount of time
SAGE calculations take for the current time-step) for rank 0. SAGE calculations are
distributed evenly across all ranks, so this output (or log file entry) only includes rank 0.
After the instantaneous sagetime, CONVERGE writes the accumulated time devoted to
SAGE calculations up through the current time-step. The final two entries on this line
display the number of cells in which SAGE is solving the chemical reactions and the total
number of active cells in the domain.

sagetime: rank= 0 0.3548 10.8342 seconds; total= 17


1800
Figure 23.11: An example of screen output (or log file content, e.g., log.out) for SAGE calculations
when screen_print_level = 0 in inputs.in.

The excerpt in Figure 23.11 above indicates that the current time-step took 0.3548 seconds
and that the simulation through this time-step used 10.8342 seconds for SAGE calculations.
Also, CONVERGE performed SAGE chemistry calculations in 17 of the 1800 active cells.

If you use adaptive zoning, CONVERGE will write the keyword adaptive zone gain on
the next line. The numbers following the adaptive zone gain keyword represent the
instantaneous speed up due to adaptive zoning (i.e., the speed up for the current time-
step) and the accumulated speed up through the current time-step due to adaptive zoning.

reading regions_flow.in data from file regions_flow.in


The parallel block size (dx, dy, dz) is 1.600000e-02 1.600000e-02 1.600000e-02.
reading combust.in data from file combust.in
reading sage_region.in data from file sage_region.in
reading source.in data from file source.in

CONVERGE 2.4 Manual 1025


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |Screen Output

warning in inputs.in, mult_dt_spray is greater than 1.0. this may lead to large
errors in spray calculations
warning in inputs.in, omega_u is equal to 1.0 and max_cfl_nu is greater than 0.5
warning in inputs.in, omega_sie is equal to 1.0 and max_cfl_nu is greater than 0.5
warning in inputs.in, omega_species is equal to 1.0 and max_cfl_nu is greater than
0.5
warning in inputs.in, omega_passive is equal to 1.0 and max_cfl_nu is greater than
0.5
creating pathname output
THE SPECIES BEING SOURCED ARE: IC8H18

TEMPORAL max_cfl for each region


Regions: 0 1 2 3 4 5
max_cfl_u: 1 2 4 1 1 1
max_cfl_nu: 0.01 2 4 0.01 0.01 0.01
max_cfl_mach: 50 50 50 50 50 50

ncyc= 1, time= -2.033283333e-02, crank= -3.659910000e+02, dt=


5.000000000e-07

ncyc= 2, time= -2.033220833e-02, crank= -3.659797500e+02, dt=


6.250000000e-07, time-step limit =dt_grow

ncyc= 3, time= -2.033142708e-02, crank= -3.659656875e+02, dt=


7.812500000e-07, time-step limit =dt_grow


Figure 23.12: An example of screen output when screen_print_level = 0.

reading regions_flow.in data from file regions_flow.in


The parallel block size (dx, dy, dz) is 1.600000e-02 1.600000e-02 1.600000e-02.
reading combust.in data from file combust.in
reading sage_region.in data from file sage_region.in
reading source.in data from file source.in
warning in inputs.in, mult_dt_spray is greater than 1.0. this may lead to large
errors in spray calculations
warning in inputs.in, omega_u is equal to 1.0 and max_cfl_nu is greater than 0.5
warning in inputs.in, omega_sie is equal to 1.0 and max_cfl_nu is greater than 0.5
warning in inputs.in, omega_species is equal to 1.0 and max_cfl_nu is greater than
0.5
warning in inputs.in, omega_passive is equal to 1.0 and max_cfl_nu is greater than
0.5
Vapor Penetration dx level = 7
Writing post file output/post000001_-3.66000e+02.out .........

Writing restart file restart0001.rst .........


The parallel block size (dx, dy, dz) is 1.600000e-02 1.600000e-02 1.600000e-02.
THE SPECIES BEING SOURCED ARE: IC8H18

TEMPORAL max_cfl for each region


Regions: 0 1 2 3 4 5
max_cfl_u: 1 2 4 1 1 1
max_cfl_nu: 0.01 2 4 0.01 0.01 0.01
max_cfl_mach: 50 50 50 50 50 50

ncyc= 1, time= -2.033283333e-02, crank= -3.659910000e+02, dt=


5.000000000e-07

1026 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |Screen Output

Ustar converged: iterations= 2 error= 1.1379e-07


***************************************starting piso loop
1*************************
pstar converged: iterations= 9 error= 1.4196e-04
***************************************starting piso loop
2*************************
density converged: iterations= 2 error= 1.0454e-06 jac= 0
sie converged: iterations= 2 error= 6.1248e-07 jac= 0
pstar converged: iterations= 8 error= 5.6776e-05
***************************************starting piso loop
3*************************
density converged: iterations= 2 error= 8.6049e-08 jac= 0
sie converged: iterations= 2 error= 4.8857e-08 jac= 0
pstar converged: iterations= 8 error= 3.0016e-06
***************************************starting piso loop
4*************************
density converged: iterations= 1 error= 3.0209e-05 jac= 1
sie converged: iterations= 1 error= 5.1131e-05 jac= 1
pstar converged: iterations= 9 error= 5.1550e-07

TEMPORAL max_cfl for each region


Regions: 0 1 2 3 4 5
max_cfl_u: 1 2 4 1 1 1
max_cfl_nu: 0.01 2 4 0.01 0.01 0.01
max_cfl_mach: 50 50 50 50 50 50

MAX CFL= 7.2566e-04, MAX VISCOSITY CFL= 9.5812e-04, MAX CONDUCTION CFL= 2.1537e-
03, MAX MASS DIFFUSION CFL= 1.2284e-03, MAX MACH CFL = 1.2907e+00

ncyc= 2, time= -2.033220833e-02, crank= -3.659797500e+02, dt=


6.250000000e-07, time-step limit =dt_grow


Figure 23.13: An example of screen output when screen_print_level = 1.

reading regions_flow.in data from file regions_flow.in


The parallel block size (dx, dy, dz) is 1.600000e-02 1.600000e-02 1.600000e-02.
rank = 0 num_level_active[6]=676, num_level_total[6]=676
rank = 2 num_level_active[6]=695, num_level_total[6]=695
rank = 0 num_level_active[7]=607, num_level_total[7]=607
rank = 3 num_level_active[6]=1314, num_level_total[6]=1314
rank = 1 num_level_active[6]=1326, num_level_total[6]=1326
rank = 2 num_level_active[7]=661, num_level_total[7]=661
rank = 0 num_level_active[8]=1089, num_level_total[8]=1089
rank = 3 num_level_active[7]=636, num_level_total[7]=636
rank = 1 num_level_active[7]=631, num_level_total[7]=631
rank = 2 num_level_active[8]=1208, num_level_total[8]=1208
rank = 0 num_level_active[9]=737, num_level_total[9]=737
rank = 2 num_level_active[9]=821, num_level_total[9]=821
rank = 3 num_level_active[8]=901, num_level_total[8]=901
rank = 1 num_level_active[8]=987, num_level_total[8]=987
rank = 3 num_level_active[9]=608, num_level_total[9]=608
rank = 1 num_level_active[9]=694, num_level_total[9]=694
There are 27700 active cells in the domain
rank 0 sees there are 70 blocks in processor 0
rank 2 sees there are 70 blocks in processor 0
rank 3 sees there are 70 blocks in processor 0

CONVERGE 2.4 Manual 1027


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |Screen Output

rank 1 sees there are 70 blocks in processor 0


rank 2 sees there are 199 blocks in processor 1
rank 0 sees there are 199 blocks in processor 1
rank 1 sees there are 199 blocks in processor 1
rank 3 sees there are 199 blocks in processor 1
reading combust.in data from file combust.in
reading sage_region.in data from file sage_region.in
reading source.in data from file source.in
warning in inputs.in, mult_dt_spray is greater than 1.0. this may lead to large
errors in spray calculations
warning in inputs.in, omega_u is equal to 1.0 and max_cfl_nu is greater than 0.5
warning in inputs.in, omega_sie is equal to 1.0 and max_cfl_nu is greater than 0.5
warning in inputs.in, omega_species is equal to 1.0 and max_cfl_nu is greater than
0.5
warning in inputs.in, omega_passive is equal to 1.0 and max_cfl_nu is greater than
0.5
Vapor Penetration dx level = 7
cell_count in rank 0 is: 6870
cell_count in rank 2 is: 7511
cell_count in rank 3 is: 6309
cell_count in rank 1 is: 7010
Writing post file output/post000001_-3.66000e+02.out .........

Writing restart file restart0001.rst .........


for rank 3, tot_num_inputs[0]=70
for rank 3, tot_num_inputs[1]=199
for rank 0, tot_num_inputs[0]=70
for rank 3, count = 209
for rank 2, tot_num_inputs[0]=70
for rank 1, tot_num_inputs[0]=70
for rank 2, tot_num_inputs[1]=199
for rank 1, tot_num_inputs[1]=199
for rank 0, tot_num_inputs[1]=199
for rank 2, count = 60
for rank 1, count = 199
count = 199, tot_num_inputs[1]=199
count = 60, tot_num_inputs[1]=199
count = 209, tot_num_inputs[1]=199

Number of vertices, constraint, and CPUs


538 1 4

starting METIS ..... ..

Updated parallel map by METIS is ready


The parallel block size (dx, dy, dz) is 1.600000e-02 1.600000e-02 1.600000e-02.
There are 27700 active cells in the domain
THE SPECIES BEING SOURCED ARE: IC8H18

TEMPORAL max_cfl for each region


Regions: 0 1 2 3 4 5
max_cfl_u: 1 2 4 1 1 1
max_cfl_nu: 0.01 2 4 0.01 0.01 0.01
max_cfl_mach: 50 50 50 50 50 50

ncyc= 1, time= -2.033283333e-02, crank= -3.659910000e+02, dt=


5.000000000e-07
0 up_count_density, 811 up_count_velocity

1028 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |Screen Output

Ustar iterations= 1 error= 5.5537e-04


Ustar iterations= 2 error= 1.1379e-07
***************************************starting piso loop
1*************************
pstar error is 3.786259e-03
pstar error is 2.473747e-03
pstar error is 1.573802e-03
pstar error is 9.763257e-04
pstar error is 6.607497e-04
pstar error is 4.527939e-04
pstar error is 3.094644e-04
pstar error is 2.103629e-04
pstar error is 1.419578e-04
Piso 1, Pstar iterations= 9 Pstar error= 1.4195776469807806e-04


Piso 4, Pstar iterations= 9 Pstar error= 5.1549524290090178e-07
There are 27698 active cells in the domain
MAX CFL= 7.2566e-04, MAX VISCOSITY CFL= 9.5812e-04, MAX CONDUCTION CFL= 2.1537e-
03, MAX MASS DIFFUSION CFL= 1.2284e-03, MAX MACH CFL = 1.2907e+00
time-step limit =dt_grow
time-step limit =dt_grow
time-step limit =dt_grow
time-step limit =dt_grow

ncyc= 2, time= -2.033220833e-02, crank= -3.659797500e+02, dt=


6.250000000e-07, time-step limit =dt_grow
0 up_count_density, 6367 up_count_velocity


Figure 23.14: An example of screen output when screen_print_level = 2.

If screen_print_level = 3, CONVERGE writes all of the information written for


screen_print_level = 2 and includes a summary of the computational time for each cycle.
The timing information includes the total computational time for the cycle and the time
taken by other major parts of the solution process such as load balancing and solving the
transport equations. The times are listed in absolute (seconds) and relative (percentage of
the computational time for the cycle) terms. At the end of the simulation, CONVERGE
writes a summary of the computational time for the entire simulation in the same format
as that for the timing information after each cycle.

Time for ncyc 41 = 0.29 seconds


load balance = 0.00 seconds ( 0.00%)
solving transport equations = 0.28 seconds (96.70%)
move surface and update grid = 0.00 seconds ( 0.55%)
combustion = 0.00 seconds ( 0.00%)
spray = 0.00 seconds ( 0.00%)
writing output files = 0.00 seconds ( 1.71%)

Summary of total time for:


load balance = 0.00 seconds ( 0.00%)

CONVERGE 2.4 Manual 1029


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 23
Output File Reference |Screen Output

solving transport equations = 4.61 seconds (83.50%)


move surface and update grid = 0.08 seconds ( 1.53%)
combustion = 0.00 seconds ( 0.00%)
spray = 0.00 seconds ( 0.00%)
writing output files = 0.32 seconds ( 5.84%)
Figure 23.15: An example of timing information when screen_print_level = 3.

1030 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter

24
References
Chapter 24
References |

24 References
Abraham, J., Bracco, F.V., and Reitz, R.D., "Comparisons of Computed and Measured
Premixed Charge Engine Combustion," Combustion and Flame, 60(3), 309-322, 1985. DOI:
10.1016/0010-2180(85)90036-7

Abramzon, B. and Sirignano, W.A., "Droplet Vaporization Model for Spray Combustion
Calculations," International Journal of Heat and Mass Transf er, 32(9), 1605-1618, 1989. DOI:
10.1016/0017-9310(89)90043-4

Adelman, H.G., "A Time Dependent Theory of Spark Ignition," Symposium (International)
on Combustion, 18(1), 1333-1342, 1981. DOI: 10.1016/S0082-0784(81)80137-3

Alexander, F.J. and Garcia, A.J., "The Direct Simulation Monte Carlo Method," Computers
in Physics, 11(6), 588-593, 1997. DOI: 10.1063/1.168619

Amsden, A.A., O’Rourke, P.J., and Butler, T.D., "KIVA-II: A Computer Program for
Chemically Reactive Flows with Sprays," Los Alamos National Laboratory Technical
Report LA-11560-MS, 1989.

Amsden, A.A., "KIVA-3V: A Block Structured KIVA Program for Engines with Vertical or
Canted Valves," Los Alamos National Laboratory Technical Report LA-13313-MS, 1997.

Angelberger, C., Poinsot, T., and Delhaye, B., "Improving Near-Wall Combustion and Wall
Heat Transfer Modeling in SI Engines Computations," SAE Paper 972881, 1997. DOI:
10.4271/972881

Arcoumanis, C. and Gavaises, M., "Linking Nozzle Flow with Spray Characteristics in a
Diesel Fuel Injection System," Atomization and Sprays, 8(3), 307-347, 1998. DOI:
10.1615/AtomizSpr.v8.i3.50

Ashgriz, N. and Poo, J.Y., "Coalescence and Separation in Binary Collisions of Liquid
Drops," Journal of Fluid Mechanics, 221, 183-204, 1990. DOI: 10.1017/S0022112090003536

Aulisa, E., Manservisi, R., Scardovelli, R., and Zaleski, S., "Interface Reconstruction with
Least-Squares Fit and Split Advection in Three-Dimensional Cartesian Geometry," Journal
of Computational Physics, 225(2), 2301-2319, 2007. DOI: 10.1016/j.jcp.2007.03.015

1032 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Babajimopoulos, A., Assanis, D.N., Flowers, D.L., Aceves, S.M., and Hessel, R.P., "A Fully
Coupled Computational Fluid Dynamics and Multi-Zone Model with Detailed Chemical
Kinetics for the Simulation of Premixed Charge Compression Ignition Engines,"
International Journal of Engine Research, 6(5), 497-512, 2005. DOI:
10.1243/146808705X30503

Bai, C. and Gosman, A. "Development of Methodology for Spray Impingement


Simulation," SAE Paper 950283, 1995. DOI: 10.4271/950283

Balthasar, M., Mauss, F., and Wang, H., "A Computational Study of the Thermal
Ionization of Soot Particles and its Effect on their Growth in Laminar Premixed Flames,"
Combustion and Flame, 129(1-2), 204-216, 2002. DOI: 10.1016/S0010-2180(02)00344-9

Barths, H., Antoni, C., and Peters, N., "Three-Dimensional Simulation of Pollutant
Formation in a DI Diesel Engine Using Multiple Interactive Flamelets," SAE Paper 982459,
1998. DOI: 10.4271/982459

Beale, J.C., "Modeling Fuel Injection using the Kelvin-Helmholtz/Rayleigh-Taylor Hybrid


Atomization Model in KIVA-3V," M.S. Thesis, University of Wisconsin-Madison, Madison,
WI, United States, 1999.

Bedford, K.W. and Yeo, W.K., "Conjunctive Filtering Procedures in Surface Water Flow
and Transport," Large Eddy Simulation of Complex Engineering and Geophysical Flows, eds.
Galperin, B., and Orszag, S., Cambridge University Press, 1993.

Berni, F., Cicalese, G., Fontanesi, S., "A Modified Thermal Wall Function for the Estimation
of Gas-to-Wall Heat Fluxes in CFD In-Cylinder Simulations of High Performance Spark-
Ignition Engines," Applied Thermal Engineering, 115, 1045-1062, 2017. DOI:
10.1016/j.applthermaleng.2017.01.055

Bianchi, G.M. and Pelloni, P., "A Cavitation-Induced Atomization Model for High-
Pressure Diesel Spray Simulations," 32nd International Symposium on Automotive Technology
and Automation, Vienna, Austria, 1999.

Bilicki, Z. and Kestin, J., "Physical Aspects of the Relaxation Model in Two-Phase Flow,"
Proceedings of the Royal Society of London A, 428(1875), 379-397, 1990. DOI:
10.1098/rspa.1990.0040

Birkhold, F., "Selektive Katalytische Reduktion von Stickoxiden in Kraftfahrzeugen:


Untersuchung der Einspritzung von Harnstoffwasserlösung," Ph.D. Thesis, University of
Karlsruhe, Karlsruhe, Baden-Württemberg, Germany, 2007.

CONVERGE 2.4 Manual 1033


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Blint, R.J., "The Relationship of the Laminar Flame Width to Flame Speed", Combustion
Science and Technology, 49(1-2), 79-92, 1986. DOI: 10.1080/00102208608923903

Bodony, D.J., "Analysis of Sponge Zones for Computational Fluid Mechanics", Journal of
Computational Physics, 212(2), 681-702, 2006. DOI: 10.1016/j.jcp.2005.07.014

Brackbill, J.U., Kothe, D.B., and Zemach, C., "A Continuum Method for Modeling Surface
Tension", Journal of Computational Physics, 100(2), 335-354, 1992. DOI: 10.1016/0021-
9991(92)90240-Y

Brennen, C.E., Cavitation and Bubble Dynamics, Oxford University Press, 1995.

Briggs, W.L., Henson, V.E., and McCormick, S.F., A Multigrid Tutorial, Society for
Industrial and Applied Mathematics, 2000.

Cebeci, T. and Cousteix, J., Modeling and Computation of Boundary-Layer Flows, Horizons
Publishing Inc., 2005.

Chatterjee, D., "Detaillierte Modellierung von Abgaskatalysatoren," Ph.D. Thesis,


Ruprecht-Karls-Universitat Heidelberg, Heidelberg, Germany, 2001.

Chen, H., Reuss, D.L., Hung, D.L.S., Sick, V., "A Practical Guide for Using Proper
Orthogonal Decomposition in Engine Research," International Journal of Engine Research,
14(4), 307-319, 2013. DOI: 10.1177/1468087412455748

Chiang, C.H., Raju, M.S., and Sirignano, W.A., "Numerical Analysis of a Convecting,
Vaporizing Fuel Droplet with Variable Properties," International Journal of Heat and Mass
Transf er, 35(5), 1307-1324, 1992. DOI: 10.1016/0017-9310(92)90186-V

Cleary, M.J., "CMC (Conditional Moment Closure) Modelling of Enclosure Fires," Ph.D.
thesis, The University of Sydney, Sydney, Australia, 2004.

Coffee, T.P. and Heimerl, J.M., "Transport Algorithms for Premixed, Laminar Steady-State
Flames," Combustion and Flame, 43, p. 273-289, 1981. DOI: 10.1016/0010-2180(81)90027-4

Colin, O. and Benkenida, A., "The 3-Zones Extended Coherent Flame Model (ECFM3Z) for
Computing Premixed/Diffusion Combustion," Oil & Gas Science and Technology - Revue
d'IFP Energies Nouvelles, 59(6), 593-609, 2004. DOI: 10.2516/ogst:2004043

Colin, O., Benkenida, A., and Angelberger, C., "3D Modeling of Mixing, Ignition and
Combustion Phenomena in Highly Stratified Gasoline Engines," Oil & Gas Science and
Technology - Revue d'IFP Energies Nouvelles, 58(1), 47-62, 2003. DOI: 10.2516/ogst:2003004

1034 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Colin, O. and Truffin, K. "A Spark Ignition Model for Large Eddy Simulation Based on an
FSD Transport Equation (ISSIM-LES)," Proceedings of the Combustion Institute, 33(2), 3097-
3104, 2011. DOI: 10.1016/j.proci.2010.07.023

Dahms, R., Fansler, T.D., Drake, M.C., Kuo, T.-W., Lippert, A.M., and Peters, N.,
"Modeling Ignition Phenomena in a Spray-Guided Spark-Ignited Engine," Proceedings of
the Combustion Institute, 32(2), 2743-2750, 2009. DOI: 10.1016/j.proci.2008.05.052

De Soete, G.G., "Overall Reaction Rates of NO and N2 Formation from Fuel Nitrogen,"
Symposium (International) on Combustion, 15(1), 1093-1102, 1975. DOI: 10.1016/S0082-
0784(75)80374-2

Deardorff, J.W., "A Numerical Study of Three-Dimensional Turbulent Flow Channel Flow
at Large Reynolds Numbers," Journal of Fluid Mechanics, 41(2), 453-480, 1970. DOI:
10.1017/S0022112070000691.

Deutschmann, O., Tischer, S., Correa, C., Chatterjee, D., Kleditzsch, S., Janardhanan, V.,
Mladenov, N., Minh, H.D., Karadeniz, H., Hettel, M., “DETCHEM User Manual (Version
2.5),” http://www.detchem.com, 2014.

Dombrowski, N. and Hooper, P.C., "The Effect of Ambient Density on Drop Formation in
Sprays," Chemical Engineering Science, 17(4), 291-305, 1962. DOI: 10.1016/0009-2509(62)
85008-8

Dombrowski, N. and Johns, W.R., "The Aerodynamic Instability and Disintegration of


Viscous Liquid Sheets," Chemical Engineering Science, 18(3), 203-214, 1963. DOI:
10.1016/0009-2509(63)85005-8

Duclos, J.-M. and Colin, O., "Arc and Kernel Tracking Ignition Model for 3D Spark-
Ignition Engine Calculations," Fif th Internal Symposium on Diagnostics and Modeling of
Combustion in Internal Combustion Engines, Nagoya, Japan, 2001.

Dupont, V., Porkashanian, M., Williams, A., and Woolley, R., "Reduction of NOx
Formation in Natural Gas Burner Flames", Fuel, 72(4), 497-503, 1993.

Ebrahimian, V., Nicolle, A., and Habchi, C., "Detailed Modeling of the Evaporation and
Thermal Decomposition of Urea-Water Solution in SCR Systems," AIChE Journal, 58(7),
1998-2009, 2012. DOI: 10.1002/aic.12736

Edwards, D.K. and Matavosian, R., "Scaling Rules for Total Absorptivity and Emissivity of
Gases," Journal of Heat Transf er, 106(4), 684-689, 1984. DOI: 10.1115/1.3246739

CONVERGE 2.4 Manual 1035


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Ewald, J. and Peters, N., "A Level Set Based Flamelet Model for the Prediction of
Combustion in Spark Ignition Engines,” 15th International Multidimensional Engine Modeling
Users Group Meeting, Detroit, MI, United States, 2005.

Faeth, G.M., "Current Status of Droplet and Liquid Combustion," Progress in Energy and
Combustion Science, 3(4), 191-224, 1977. DOI: 10.1016/0360-1285(77)90012-0

Fenimore, C.P., "Formation of Nitric Oxide in Premixed Hydrocarbon Flames," Symposium


(International) on Combustion Proceedings, 13(1), 373-380, 1971. DOI:10.1016/S0082-
0784(71)80040-1

Frenklach, M. and Wang, H., "Detailed Modeling of Soot Particle Nucleation and Growth,"
Proceedings of the Combustion Institute, 23(1), 1559-1566, 1991, DOI: 10.1016/S0082-
0784(06)80426-1

Gaskell, P.H. and Lau, A.K.C., "Curvature-Compensated Convective Transport: SMART, a


New Boundedness-Preserving Transport Algorithm," International Journal f or Numerical
Methods in Fluids, 8(6), 617-641, 1988. DOI: 10.1002/fld.1650080602

Germano, M., Piomelli, U., Moin, P., and Cabot, W.H., "A Dynamic Subgrid-Scale Eddy
Viscosity Model," Physics of Fluids A, 3(7), 1760-1765, 1991. DOI: 10.1063/1.857955

Gersum, S.V. and Roth, P., "Soot Oxidation in High Temperature N2O/Ar and NO/Ar,"
Symposium (International) on Combustion, 24(1), 999-1006, 1992. DOI: 10.1016/S0082-
0784(06)80118-9

Gibson, M.M. and Launder, B.E., "Ground effects on pressure fluctuations in the
atmospheric boundary layer," Journal of Fluid Mechanics, 86, 491-511, 1975.

Gilbert, R.G., Luther, K., and Troe, J., "Theory of Thermal Unimolecular Reactions in the
Fall-Off Range. II. Weak Collision Rate Constants," Berichte der Bunsengesellschaf t f ur
Physikalische Chemie, 87(2), 169-177, 1983. DOI: 10.1002/bbpc.19830870218

Golovitchev, V.I., Montorsi, L., Denbratt, I., Corcione, F.E., and Coppola, S., "Numerical
Evaluation of Direct Injection of Urea as NOx Reduction Method for Heavy Duty Diesel
Engines," SAE Paper 2007-01-0909, 2007. DOI: 10.4271/2007-01-0909

Gonzalez D., M.A., Borman, G., and Reitz, R., "A Study of Diesel Cold Starting using both
Cycle Analysis and Multidimensional Calculations," SAE Paper 910180, 1991. DOI:
10.4271/910180

1036 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Gordon, S., and McBride, B.J., "Computer Program for Calculation of Complex Chemical
Equilibrium Compositions and Applications: I. Analysis", NASA Ref erence Publication 1311,
October 1994.

Goodwin, D.G., Moffat, H.K., and Speth, R.L., "Cantera: An Object-Oriented Software
Toolkit for Chemical Kinetics, Thermodynamics and Transport Processes, v2.0.1.",
http://cantera.github.com/docs/sphinx/html/cti/reactions.html, 2012.

Gritskevich, M.S., Garbaruk, A.V., Schütze, J., and Menter, F.R., "Developement of DDES
and IDDES Formulations for the k-ω Shear Stress Transport Model," Flow, Turbulence and
Combustion, 88(3): 431-449, 2012. doi:10.1007/s10494-011-9378-4

Gueyffier, D., Li, J., Nadim, A., Scardovelli, R., and Zaleski, S., "Volume-of-Fluid Interface
Tracking with Smoothed Surface Stress Methods for Three-Dimensional Flows," Journal of
Computational Physics, 152(2), 423-456, 1999. DOI: 10.1006/jcph.1998.6168

Gulder, O.L., "Correlations of Laminar Combustion Data for Alternative S.I. Engine Fuels,"
SAE Paper 841000, 1984. DOI: 10.4271/841000

Habchi, C., Nicolle, A., and Gillet, N., "Numerical Study of Urea-Water Solution Injection
and Deposits Formation in an SCR System," ICLASS 2015, 13th Triennial International
Conf erence on Liquid Atomization and Spray Systems, Tainian, Taiwan, August 23-27, 2015.

Halstead, M.P., Kirsh, L.J., and Quinn, C.P., "The Autoignition of Hydrocarbon Fuels at
High Temperatures and Pressures – Fitting of a Mathematical Model," Combustion and
Flame, 30, 45-60, 1977. DOI: 10.1016/0010-2180(77)90050-5

Han, Z. and Reitz, R.D., "Turbulence Modeling of Internal Combustion Engines Using
RNG k-ε Models," Combustion Science and Technology, 106(4-6), 267-295, 1995. DOI:
10.1080/00102209508907782

Han, Z. and Reitz, R.D., "A Temperature Wall Function Formulation for Variable Density
Turbulence Flow with Application to Engine Convective Heat Transfer Modeling,"
International Journal of Heat and Mass Transf er, 40(3), 613-625, 1997. DOI: 10.1016/0017-
9310(96)00117-2

Hanjalic, K. and Launder, B., Modelling Turbulence in Engineering and the Environment,
Cambridge University Press, 2011.

Heywood, J.B., Internal Combustion Engine Fundamentals, McGraw Hill, Inc., 1988.

CONVERGE 2.4 Manual 1037


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Hiroyasu, H. and Kadota, T., "Models for Combustion and Formation of Nitric Oxide and
Soot in DI Diesel Engines," SAE Paper 760129, 1976. DOI: 10.4271/760129

Hou, S., "Investigation of the Interaction Mechanisms Between Closely Spaced Sprays
From Micro-Hole Nozzles," Ph.D. Thesis, Dept. of Mechanical and Industrial Engineering,
University of Massachusetts Amherst, Amherst, MA, United States, 2005.

Huh, K.Y. and Gosman, A.D., "A Phenomenological Model of Diesel Spray Atomization,"
Proceedings of the International Conf erence of Multiphase Flows, Sep. 24-27, Tsukuba, Japan,
1991.

Incropera, F.P. and De Witt, D.P., Introduction to Heat Transf er, Second Edition, John Wiley
& Sons, Inc., 1990.

Issa, R.I., "Solution of the Implicitly Discretised Fluid Flow Equations by Operator-
Splitting," Journal of Computational Physics, 62(1), 40-65, 1986. DOI: 10.1016/0021-9991(86)
90099-9.

Jia, M., Peng, Z., and Xie, M., "Numerical Investigation of Soot Reduction Potentials with
Diesel Homogeneous Charge Compression Ignition Combustion by an Improved
Phenomenological Soot Model," Journal of Automobile Engineering, 223(3), 395-412, 2009.
DOI: 10.1243/09544070JAUTO993

Joseph, D.D., Belanger J., and Beavers G.S., "Breakup of a Liquid Drop Suddenly Exposed
to a High-Speed Airstream," International Journal of Multiphase Flow, 25(6-7), 1263-1303,
1999. DOI: 10.1016/S0301-9322(99)00043-9

Kaminaga, T., Kusaka, and J., Ishii, Y., "A Three-dimensional Numerical Study on
Exhaust Gas Emissions from a Medium-duty Diesel Engine using a Phenomenological Soot
Particle Formation Model Combined with Detailed Chemistry," International Journal of
Engine Research, 9(4), 283-295, 2008. DOI: 10.1243/14680874JER00908

Karypis, G., "METIS: A Software Package for Partitioning Unstructured Graphs,


Partitioning Meshes, and Computing Fill-Reducing Orderings of Sparse Matrices, Version
5.0", http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/manual.pdf, 2011.

Kazakov, A. and Foster, D., "Modeling of Soot Formation during DI Diesel Combustion
using a Multi-Step Phenomenological Model,” SAE Paper 982463, 1998. DOI:
10.4271/982463.

1038 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Kazakov, A. and Frenklach, M., "Dynamic Modeling of Soot Particle Coagulation and
Aggregation: Implementation With the Method of Moments and Application to High-
Pressure Laminar Premixed Flames," Combustion and Flame, 114(3-4), 484-501, 1998. DOI:
10.1016/S0010-2180(97)00322-2

Kazakov, A., Wang, H., and Frenklach, M., "Detailed Modeling of Soot Formation in
Laminar Premixed Ethylene Flames at a Pressure of 10 Bar," Combustion and Flame, 100(1-
2), 111-120, 1995. DOI: 10.1016/0010-2180(94)00086-8

Kee, R.J., Rupley, F.M., and Miller, J.A., "Chemkin-II: A Fortran Chemical Kinetics
Package for the Analysis of Gas-Phase Chemical Kinetics," Sandia National Laboratories
Technical Report SAND89-8009, 1989.

Kermani, M.J., Gerber, A.G., and Stockie, J.M., "Thermodynamically Based Moisture
Prediction Using Roe's Scheme," The 4th Conf erence of Iranian AeroSpace Society, Tehran,
Iran, 2003.

Kim, J. and Anderson, R.W., "Spark Anemometry of Bulk Gas Velocity at the Plug Gap of
Firing Engine," SAE Paper 952459, 1995. DOI: 10.4271/952459

Kim, S.-E., and Choudhury, D., "A Near-Wall Treatment Using Wall Functions Sensitized
to Pressure Gradient," Separated and Complex Flows, 217, 273-280, 1995.

Klein, M., Sadiki, A., and Janicka, J., "A Digital Filter Based Generation of Inflow Data for
Spatially Developing Direct Numerical or Large Eddy Simulations," Journal of
Computational Physics, 186(2), 652-665, 2003. DOI: 10.1016/S0021-9991(03)00090-1

Kong, S.-C. and Reitz, R.D., "Multidimensional Modeling of Diesel Ignition and
Combustion using a Multistep Kinetics Model," Journal of Engineering f or Gas Turbines and
Power, 115(4), 781-789, 1993. DOI: 10.1115/1.2906775

Kong, S.-C., Han, Z., and Reitz, R.D., "The Development and Application of a Diesel
Ignition and Combustion Model for Multidimensional Engine Simulation," SAE Paper
950278, 1995. DOI: 10.4271/950278

Koren, B., "A Robust Upwind Discretisation Method for Advection, Diffusion and Source
Terms," Numerical Methods f or Advection - Dif f usion Problems, eds. Vreugdenhil, C.B., and
Koren, B., Friedrich Vieweg & Sohn, 1993.

Kuhnke, D., "Spray/Wall-interaction Modelling by Dimensionless Data Analysis," Ph.D.


Thesis, Shaker Verlag, 2004, ISBN 3-8322-3539.

CONVERGE 2.4 Manual 1039


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Kumar, S. and Ramkrishna, D., "On the Solution of Population Balance Equations by
Discretization—II. A Moving Pivot Technique," Chemical Engineering Science, 51(8), 1333-
1342, 1996. DOI: 10.1016/0009-2509(95)00355-X

Lamb, H., Hydrodynamics, Sixth Edition, Dover Publications, New York, 1945.

Launder, B. and Spalding, D., "The Numerical Computation of Turbulent Flows,"


Computer Methods in Applied Mechanics and Engineering, 3(2), 269-289, 1974. DOI:
10.1016/0045-7825(74)90029-2

Lawrence Livermore National Laboratory, HYPRE (2.9.0b Reference Manual),


https://computation-rnd.llnl.gov/linear_solvers/download/hypre-
2.9.0b_ref_manual.pdf, 2012.

Lawrence Livermore National Laboratory, SUNDIALS,


https://computation.llnl.gov/casc/sundials/main.html, accessed July 2015.

Lawrence Livermore National Laboratory, SuperLU Users' Guide,


http://crd.lbl.gov/~xiaoye/SuperLU/, accessed April 2017.

Lien, F.S. and Leschziner, M.A., "Upstream Monotonic Interpolation for Scalar Transport
with Application to Complex Turbulent Flows," International Journal f or Numerical Methods
in Fluids, 19(6), 527–548, 1994. DOI: 10.1002/fld.1650190606

Lien, F.S. and Leschziner, M.A., "Low-Reynolds-Number Eddy-Viscosity Modelling Based


on Non-Linear Stress-Strain/Vorticity Relations," Proceedings of the 3rd Symposium on
Engineering Turbulence Modelling and Measurements, Crete, Greece, 1996.

Lilly, D.K., "The Representation of Small-Scale Turbulence in Numerical Simulation


Experiments," Proceedings of the IBM Scientif ic Computing Symposium on Environmental
Sciences, IBM, 1967.

Lilly, D.K., "A Proposed Modification of the Germano Subgrid-Scale Closure Method,"
Physics of Fluids A, 4(3), 633-635, 1992. DOI: 10.1063/1.858280

Lindemann, F.A., Arrhenius, S., Langmuir, I., Dhar, N.R., Perrin, J., and Lewis,
W.C.McC., "Discussion on 'The Radiation Theory of Chemical Action'," Transactions of the
Faraday Society, 17, 598-606, 1922. DOI: 10.1039/TF9221700598

Liu, A.B., Mather, D.K., and Reitz, R.D., "Modeling the Effects of Drop Drag and Breakup
on Fuel Sprays," SAE Paper 930072, 1993. DOI: 10.4271/930072.

1040 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Lu, H., Rutland C.J., and Smith L.M., "A Priori Tests of One-Equation LES Modeling of
Rotating Turbulence," Journal of Turbulence, 8, N37, 2007. DOI:
10.1080/14685240701493947

Lu, T.F. and Law, C.K., "A Directed Relation Graph Method for Mechanism Reduction,"
Proceedings of the Combustion Institute, 30(1), 1333-1341, 2005. DOI:
10.1016/j.proci.2004.08.145

Lu, T.F. and Law, C.K., "Strategies for Mechanism Reduction for Large Hydrocarbons: n-
Heptane," Combustion and Flame, 154(1-2), 153-163, 2008. DOI:
10.1016/j.combustflame.2007.11.013

Lutz, A.E., Kee, R.J., and Miller, J.A., "SENKIN: A Fortran Program for Predicting
Homogeneous Gas Phase Chemical Kinetics with Sensitivity Analysis," Sandia National
Laboratories Technical Report SAND87-8248, 1995.

MacCormack, R.W., Numerical Computation of Compressible and Viscous Flow, American


Institute of Aeronautics and Astronautics, 2014.

Marble, F.E., and Broadwell, J.E., "The Coherent Flame Model for Turbulent Chemical
Reactions," Project SQUID Technical Report TRW-9-PU, , 1977.

Marchal, C., "Modelisation de la Formation et de l’Oxydation des Suies dans un Moteur


Automobile," Ph.D. thesis, Universite d’Orleans, Orleans, France 2008.

Mauss, F., "Entwicklung eines Kinetischen Modells der Russbildung mit Schneller
Polymerisation," Ph.D. thesis, RWTH Aachen, Aachen, Germany, 1998.

Mazumder, S. and Sengupta, D. "Sub-Grid Scale Modeling of Heterogeneous Chemical


Reactions and Transport in Full-Scale Catalytic Converters," Combustion and Flame, 131(1-
2), 85-97, 2002. DOI: 10.1016/S0010-2180(02)00392-9

McBride, B.J., and Gordon, S., "Computer Program for Calculation of Complex Chemical
Equilibrium Compositions and Applications: II. Users Manual and Program Description,"
NASA Reference Publication 1311, 1996.

Meneveau, C., "Statistics of Turbulence Subgrid-Scale Stresses: Necessary Conditions and


Experimental Tests," Physics of Fluids, 6(2), 815-833, 1994. DOI: 10.1063/1.868320

Meneveau, C. and Poinsot, T. "Stretching and Quenching of Flamelets in Premixed


Turbulent Combustion," Combustion and Flame, 86(4), 311-332, 1991. DOI: 10.1016/0010-
2180(91)90126-V

CONVERGE 2.4 Manual 1041


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Menon, S., Yeung, P.K., and Kim, W.V., "Effect of Subgrid Models on the Computed
Interscale Energy Transfer in Isotropic Turbulence," Computer and Fluids, 25(2), 165-180,
1996. DOI: 10.1016/0045-7930(95)00036-4

Menter, F.R., Kuntz, M., and Langtry, R., "Ten Years of Industrial Experience with the SST
Turbulence Model," Turbulence, Heat and Mass Transf er 4, eds: Hanjalic, K., Nagano, Y.,
and Tummers, M., Begell House, Inc., 2003.

Metghalchi, M. and Keck, J.C., "Burning Velocities of Mixtures of Air and Methanol,
Isooctane and Indolene at High Pressures and Temperatures," Combustion and Flame, 48,
191-210, 1982. DOI: 10.1016/0010-2180(82)90127-4

Motz, H. and Wise, H., "Diffusion and Heterogeneous Reaction. III. Atom Recombination
at Catalytic Boundary," Journal of Chemical Physics, 32(6), 1893-1894, 1960. DOI:
10.1063/1.1731060

Mundo, Chr., Sommerfeld, M., and Tropea, C., "Droplet-Wall Collisions: Experimental
Studies of the Deformation and Breakup Process," International Journal of Multiphase Flow,
21(2), 151-173, 1995. DOI: 10.1016/0301-9322(94)00069-V

Naber, J. and Reitz, R.D., “Modeling Engine Spray/Wall Impingement,” SAE Paper
880107, 1988. DOI: 10.4271/880107

Nagle, J. and Strickland-Constable, R.F., "Oxidation of Carbon Between 1000-2000 C,"


Proceedings of the Fif th Carbon Conf erence, Volume 1, Pergammon Press, 1962.

Namazian, M. and Heywood, J.B., "Flow in the Piston-Cylinder-Ring Crevices of a Spark-


Ignition Engine: Effect on Hydrocarbon Emissions, Efficiency and Power," SAE Paper
820088, 1982. DOI: 10.4271/820088

Neoh, K.G., Howard, J.B., and Sarofim, A.F., "Effect of Oxidation on the Physical Structure
of Soot," Symposium (International) on Combustion, 20(1), 951-957, 1985. DOI:
10.1016/S0082-0784(85)80584-1

Okong'o, N., and Bellan, J., "Consistent Boundary Conditions for Multicomponent Real
Gas Mixtures Based on Characteristic Waves," Journal of Computational Physics, 176, 330-
344, 2002. DOI: 10.1006/jcph.2002.6990

Netzell, K., "Development and Application of Detailed Kinetic Models for the Soot Particle
Size Distribution Function," Ph.D. thesis, Lund University, Lund, Sweden, 2007.

1042 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

O’Rourke, P.J., "Collective Drop Effects on Vaporizing Liquid Sprays," Ph.D. Thesis,
Princeton University, Princeton, NJ, United States, 1981.

O’Rourke, P.J. and Amsden, A.A., "The TAB Method for Numerical Calculation of Spray
Droplet Breakup," SAE Paper 872089, 1987. DOI: 10.4271/872089.

O’Rourke, P.J. and Amsden, A.A., "A Spray/Wall Interaction Submodel for the KIVA-3
Wall Film Model," SAE Paper 2000-01-0271, 2000. DOI: 10.4271/2000-01-0271

Pandal Blanco, A., "Implementation and Development of an Eulerian Spray Model for
CFD Simulations of Diesel Sprays," Ph.D. Thesis, Universitat Politècnica de València,
València, Spain, 2016.

Patterson, M.A., "Modeling the Effects of Fuel Injection Characteristics on Diesel


Combustion and Emissions," Ph.D. Thesis, University of Wisconsin-Madison, Madison, WI,
1997.

Peters, N., "Laminar Diffusion Flamelet Models in Non-Premixed Turbulent Combustion,"


Progress in Energy and Combustion Science, 10(3), 319-339 1984. DOI: 10.1016/0360-
1285(84)90114-X

Peters, N., Turbulent Combustion, Cambridge University Press, 2000.

Piscagila, F., Montorfano, A., and Onorati, A., "Towards the LES Simulation of IC Engines
with Parallel Topologically Changing Meshes," SAE Int. J. Engines, 6(2), 926-940, 2013.
DOI: 10.4271/2013-01-1096

Pitsch, H., "A G-equation Formulation for Large-Eddy Simulation of Premixed Turbulent
Combustion," Center f or Turbulence Research Annual Research Brief s, Stanford University
Center for Turbulence Research, 2002.

Pitsch, H., and Duchamp de Lageneste, L., "Large-Eddy Simulation of Premixed Turbulent
Combustion Using a Level-Set Approach", Proceedings of the Combustion Institute, 29,
2001-2008, 2002.

Poinsot, T.J., and Lele, S.K., "Boundary Conditions for Direct Simulations of Compressible
Turbulent Flows," Journal of Computational Physics, 101(1), 103-129 (1992). DOI:
10.1016/0021-9991(92)90046-2

Pomraning, E., "Development of Large Eddy Simulation Turbulence Models," Ph.D. Thesis,
University of Wisconsin-Madison, Madison, WI, 2000.

CONVERGE 2.4 Manual 1043


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Pope, S.B., Turbulent Flows, Cambridge University Press, 2000.

Pope, S.B., "The Computation of Constrained and Unconstrained Equilibrium


Compositions of Ideal Gas Mixtures using Gibbs Function Continuation," Cornell
University Report FDA 03-02, 2003.

Pope, S.B., "CEQ: A Fortran Library to Compute Equilibrium Compositions using Gibbs
Function Continuation," http://eccentric.mae.cornell.edu/~pope/CEQ/, 2003, accessed
on 12 Oct 2016.

Post, S.L. and Abraham, J., "Modeling the Outcome of Drop-Drop Collisions in Diesel
Sprays," International Journal of Multiphase Flow, 28(6), 997-1019, 2002. DOI:
10.1016/S0301-9322(02)00007-1

Ra, Y. and Reitz, R.D, "A Vaporization Model for Discrete Multi-Component Fuel Sprays,"
International Journal of Multiphase Flow, 35(2),101-117, 2009. DOI:
10.1016/j.ijmultiphaseflow.2008.10.006

Raju, M., Wang, M., Dai, M., Piggot, W., Flowers, D., "Acceleration of Detailed Chemical
Kinetics Using Multi-zone Modeling for CFD in Internal Combustion Engine Simulations,"
SAE Paper 2012-01-0135, 2012. DOI: 10.4271/2012-01-0135

Raju, M., Wang, M., Senecal, P.K., Som, S., and Longman, D.E., "A Reduced Diesel
Surrogate Mechanism for Compression Ignition Engine Applications," ASME 2012 Internal
Combustion Engine Division Fall Technical Conf erence, Vancouver, Canada, 2012. DOI:
10.1115/ICEF2012-92045

Reinmann, R., "Theoretical and Experimental Studies of the Formation of Ionized Gases in
Spark Ignition Engines," Ph.D. Thesis, Lund Institute of Technology, Lund, Sweden, 1998.

Reitz, R.D. and Bracco, F.V., "Mechanisms of Breakup of Round Liquid Jets," Encyclopedia
of Fluid Mechanics, Gulf Publishing Company, 1986.

Reitz, R.D. and Kuo, T., "Modeling of HC Emissions Due to Crevice Flows in Premixed-
Charge Engines," SAE Paper 892085, 1989. DOI: 10.4271/892085

Reitz, R.D., "Modeling Atomization Processes in High-Pressure Vaporizing Sprays,"


Atomisation and Spray Technology, 3(4), 309-337, 1987.

Reitz, R.D. and Diwakar, R., "Structure of High-Pressure Fuel Sprays," SAE Paper 870598,
1987. DOI: 10.4271/870598

1044 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Rhie, C.M., and Chow, W.L., "Numerical Study of the Turbulent Flow Past an Airfoil with
Trailing Edge Separation," AIAA Journal, 21(11), 1525-1532, 1983. DOI: 10.2514/3.8284

Ricart, L.M., Xin, J., Bower, G.R., and Reitz, R.D., "In-Cylinder Measurement and
Modeling of Liquid Fuel Spray Penetration in a Heavy-Duty Diesel Engine," SAE Paper
971591, 1997. DOI: 10.4271/971591

Ricart, L.M., "An Experimental and Computational Study of Fuel Injection, Mixing and
Combustion in Diesel Engines," Ph.D. Thesis, University of Wisconsin-Madison, Madison,
WI, United States, 1998.

Richards, K.J., "Multidimensional Intake Flow Modeling of HSDI Diesel Engines," M.S.
Thesis, University of Wisconsin-Madison, Madison, WI, 1999.

Rider, W.J. and Kothe, D.B., "Reconstructing Volume Tracking," Journal of Computational
Physics, 141(2), 112-152, 1998. DOI: 10.1006/jcph.1998.5906

Robert, A., Richard, S., Colin, O., Martinez, L., and De Francqueville, L., "LES Prediction
and Analysis of Knocking Combustion in a Spark Ignition Engine," Proceedings of the
Combustion Institute, 35(3), 2941-2948, 2015. DOI: 10.1016/j.proci.2014.05.154

Roe, P.L., "Characteristic-Based Schemes for the Euler Equations," Annual Review of Fluid
Mechanics, 18, 337-365, 1986. DOI: 10.1146/annurev.fl.18.010186.002005

Rohsenow, W.M., "A Method of Correlating Heat Transfer Data for Surface Boiling of
Liquids," Transactions of ASME, 74, 969-976, 1952.

Rotta, J., "Statistische Theorie nichthomogener Turbulenz," Zeitschrif t f ür Physik, 129(6),


547-572, 1951.

Sazhin, S.S., "Advanced Models of Fuel Droplet Heating and Evaporation," Progress in
Energy and Combustion Science, 32(2), 162-214, 2006. DOI: 10.1016/j.pecs.2005.11.001

Sazhin, S.S., Krutitskii, P.A., Gusev, I.G., Heikal, M.R., "Transient Heating of an
Evaporating Droplet with Presumed Time Evolution of its Radius," International Journal of
Heat and Mass Transf er, 54(5-6), 1278-1288, 2011. DOI:
10.1016/j.ijheatmasstransfer.2010.10.018

Scardovelli, R. and Zaleski, S., "Direct Numerical Simulation of Free-Surface and


Interfacial Flow," Annual Review of Fluid Mechanics, 31, 567-603, 1999. DOI:
10.1146/annurev.fluid.31.1.567

CONVERGE 2.4 Manual 1045


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Schapertons, H. and Lee, W., "Multidimensional Modeling of Knocking Combustion in SI


Engines," SAE Paper 850502, 1985. DOI: 10.4271/850502

Schmidt, D.P., Nouar, I., Senecal, P.K., Hoffman, J., Rutland, C.J., Martin, J., and Reitz,
R.D., "Pressure-Swirl Atomization in the Near Field," SAE Paper 1999-01-0496, 1999. DOI:
10.4271/1999-01-0496

Schmidt, D.P. and Rutland, C.J., "A New Droplet Collision Algorithm," Journal of
Computational Physics, 164(1), 62-80, 2000. DOI: 10.1006/jcph.2000.6568

Senecal, P.K., Schmidt, D.P., Nouar, I., Rutland, C.J., Reitz, R.D., and Corradini, M.L.,
"Modeling High-Speed Viscous Liquid Sheet Atomization," International Journal of
Multiphase Flow, 25(6-7), 1073-1097, 1999. DOI: 10.1016/S0301-9322(99)00057-9

Senecal, P.K., "Development of a Methodology for Internal Combustion Engine Design


Using Multi-Dimensional Modeling with Validation Through Experiments," Ph.D. Thesis,
University of Wisconsin-Madison, Madison, WI, 2000.

Senecal, P.K., Pomraning, E., and Richards, K.J., "Multi-Dimensional Modeling of Direct-
Injection Diesel Spray Liquid Length and Flame Lift-off Length using CFD and Parallel
Detailed Chemistry," SAE Paper 2003-01-1043, 2003. DOI: 10.4271/2003-01-1043.

Senecal, P.K., Richards, K.J., Pomraning, E., Yang, T., Dai, M.Z., McDavid, R.M.,
Patterson, M.A., Hou, S., and Shethaji, T., "A New Parallel Cut-Cell Cartesian CFD Code
for Rapid Grid Generation Applied to In-Cylinder Diesel Engine Simulations," SAE Paper
2007-01-0159, 2007. DOI: 10.4271/2007-01-0159

Shields, B., Neroorkar, K., and Schmidt, D.P., "Cavitation as Rapid Flash Boiling," ILASS-
Americas 23rd Annual Conf erence on Liquid Atomization and Spray Systems, Ventura, CA,
United States, 2011.

Shih, T.-H., Liou, W.W., Shabbir, A., Yang, Z., and Zhu, J., "A New k-ε Eddy Viscosity
Model for High Reynolds Number Turbulent Flows—Model Development and Validation,"
Computers & Fluids, 24(3), 227-238, 1995. DOI: 10.1016/0045-7930(94)00032-T

Siow, Y.-K., "Reynolds-stress turbulence model in the KIVA code f or engine simulation," M.S.
thesis, Michigan Technological University, Houghton, MI, 2003.

Shir, C.C., "A Preliminary Numerical Study of Atmospheric Turbulent Flows in the
Idealized Planetary Boundary Layer," Journal of the Atmospheric Sciences, 30, 1327-1339,
1973.

1046 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Shur, M.L., Spalart, P.R., Strelets, M.Kh., and Travin, A.K., "A Hybrid RANS-LES
Approach with Delayed-DES and Wall-Modeled LES Capabilities," International Journal
of Heat and Fluid Flow, 26(6):1638-1649, 2008. DOI: 10.1016/j.ijheatfluidflow.2008.07.001

Smagorinsky, J., "General Circulation Experiments with the Primitive Equations," Monthly
Weather Review, 91(3), 99-164, 1963. DOI: 10.1175/1520-0493(1963)
091<0099:GCEWTP>2.3.CO;2

Smith, H., Zochbauer, M., and Lauer, T. "Advanced Spray Impingement Modelling for an
Improved Prediction Accuracy of the Ammonia Homogenisation in SCR Systems," SAE
Paper 2015-01-1054, 2015. DOI: 10.4271/2015-01-1054

Smith, T.F., Shen, Z.F., and Friedman, J.N., "Evaluation of Coefficients for the Weighted
Sum of Gray Gases Model," Journal of Heat Transf er, 104(4), 602-608, 1982. DOI:
10.1115/1.3245174

Smoluchowski, M.V., "Versuch einer Mathematischen Theorie der Koagulationskinetik


Kolloider Losungen," Zeitschrif t f ur Physikalische Chemie, 92, p. 129-168, 1917.

Som, S. and Aggarwal, S.K., "Effects of Primary Breakup Modeling on Spray and
Combustion Characteristics of Compression Ignition Engines," Combustion and Flame,
157(6), 1179-1193, 2010. DOI: 10.1016/j.combustflame.2010.02.018

Som, S., Longman, D.E., Aithal, S.M., Bair, R., Garcia, M., Quan, S., Richards, K.J.,
Senecal, P.K., Shethaji, T., and Weber, M., "A Numerical Investigation on Scalability and
Grid Convergence of Internal Combustion Engine Simulations," SAE Paper 2013-01-1095,
2013. DOI: 10.4271/2013-01-1095

Spalart, P.R., and Allmaras, S.R., "A One-Equation Turbulence Model For Aerodynamic
Flows," AIAA Paper 1992-0439, 1992. DOI: 10.2514/6.1992-439

Spalart, P.R., Jou, W-H., Strelets, M., and Allmaras, S.R., "Comments on the Feasibility of
LES for Wings and on a Hybrid RANS/LES Approach," Advances in DNS/LES, 1st
AFOSR International Conference on DNS/LES, Ruston, LA, USA, Aug 04-08, 1997.

Spalart, P.R., Deck, S., Shur, M.L., Squires, K.D., Strelets, M.Kh., and Travin, A.K., "A
New Version of Detached-Eddy Simulation, Resistant to Ambiguous Grid Densities,"
Theoretical and Computational Fluid Dynamics, 20:181-195, 2006. DOI: 10.1007/s00162-006-
0015-0

Speziale, C.G., "Turbulence Modeling for Time-Dependent RANS and VLES: A Review,"
AIAA Journal, 36(2), 173-184, 1998. DOI: 10.2514/2.7499

CONVERGE 2.4 Manual 1047


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Speziale, C.G., Sarkar, S., and Gatski, T.B., "Modelling the pressure-strain correlation of
turbulence: an invariant dynamical systems approach," Journal of Fluid Mechanics, 227,
245-272, 1991. DOI:
10.1017/S0022112091000101

Strelets, M., "Detached Eddy Simulation of Massively Separated Flows," AIAA Paper
2001-0879, 2001. DOI: 10.2514/6.2001-879

Tan, Z. and Reitz, R., "Modeling Ignition and Combustion in Spark Ignition Engines Using
a Level Set Method," SAE Paper 2003-01-0722, 2003. DOI: 10.4271/2003-01-0722

Taylor, G.I., The Scientif ic Papers of Sir Geof f rey Ingram Taylor, Volume 3, ed. Batchelor, G.K.,
Cambridge University Press, 1963.

Theobald, M.A., and Cheng, W.K., "A Numerical Study of Diesel Ignition," ASME Energy-
Source Technology Conf erence and Exhibition, Dallas, TX, United States, 1987.

Thompson, K.W., "Time Dependent Boundary Conditions for Hyperbolic Systems". Journal
of Computational Physics, 68, 1-24, 1987. DOI: 10.1016/0021-9991(87)90041-6

Thompson, K.W., "Time Dependent Boundary Conditions for Hyperbolic Systems II".
Journal of Computational Physics, 89, 439-461, 1990. DOI: 10.1016/0021-9991(90)90152-Q

Tryggvason, G. and Scardovelli, R., Direct Numerical Simulations of Gas-Liquid Multiphase


Flows, Cambridge University Press, 2011.

Turns, S.R., An Introduction to Combustion, McGraw-Hill, Inc., 1996.

van Leer, B., "Towards the Ultimate Conservative Difference Scheme II. Monotonicity and
Conservation Combined in a Second Order Scheme," Journal of Computational Physics,
14(4), 361-370, 1974. DOI: 10.1016/0021-9991(74)90019-9

van Leer, B., "Towards the Ultimate Conservative Difference Scheme III. Upstream-
Centered Finite-Difference Schemes for Ideal Compressible Flow," Journal of Computational
Physics, 23(3), 263-275, 1977. DOI: 10.1016/0021-9991(77)90094-8

van Albada, G.D., van Leer, B., and Roberts, W.W., "A Comparative Study of
Computational Methods in Cosmic Gas Dynamics," Astronomy and Astrophysics, 108(1),
76-84, 1982.

1048 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

van Oijen, J.A. and de Goey, L.P.H., "Modelling of Premixed Laminar Flames using
Flamelet-Generated Manifolds," Combustion Science and Technology, 161(1), 113-173, 2000.
DOI: 10.1080/00102200008935814

Venkatakrishnan, V., "On the Accuracy of Limiters and Convergence to Steady State
Solutions," 31st Aerospace Sciences Meeting, Reno, NV, United States, 1993. DOI:
10.2514/6.1993-880

Verhoeven, D., "Spark Heat Transfer Measurements in Flowing Gases," Oil & Gas Science
and Technology - Revue de l'Institut Français du Petrole, 52(4), 453-464, 1997. DOI:
10.2516/ogst:1997053

Vishwanathan, G. and Reitz, R.D., "Development of a Practical Soot Modeling Approach


and its Application to Low-Temperature Diesel Combustion," Combustion Science and
Technology, 182(8), 1050-1082, 2010. DOI: 10.1080/00102200903548124

Wachters, L.H.J. and Westerling, N.A., "The Heat Transfer from a Hot Wall to Impinging
Water Drops in a Spheroidal State," Chemical Engineering Science, 21(11), 1047-1056, 1966.
DOI: 10.1016/0009-2509(66)85100-X

Waclawczyk, T. and Koronowicz, T., "Modeling of the Wave Breaking with CICSAM and
HRIC High-Resolution Scheme," ECCOMAS CFD, Egmond an Zee, The Netherlands, 2006.

Wang, B., Miles, P., Reitz, R., and Han, Z., "Assessment of RNG Turbulence Modeling and
the Development of a Generalized RNG Closure Model," SAE Paper 2011-01-0829, 2011.
DOI: 10.4271/2011-01-0829

Wang, F., Reitz, R., Pera, C., Wang, Z., and Wang, J., "Application of Generalized RNG
Turbulence Model to Flow in Motored Single-Cylinder PFI Engine," Engineering
Applications of Computational Fluid Mechanics, 7(4), 486-495, 2013. DOI:
10.1080/19942060.2013.11015487

Warnatz, J., "NOX formation in High Temperature Processes," University of Stuttgart,


Stuttgart, Germany, 2001.

Warsi, Z.U.A., Fluid Dynamics: Theoretical and Computational Approaches, CRC Press, Inc.,
1993.

Waterson, N.P. and Deconinck, H., "A Unified Approach to the Design and Application of
Bounded Higher-Order Convection Schemes," Numerical Methods in Laminar and Turbulent
Flow, Volume 9, eds. Taylor, C. and Durbetaki, P., Pineridge Press, 1995.

CONVERGE 2.4 Manual 1049


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Chapter 24
References |

Weber, C., "Zum Zerfall eines Flussigkeitsstrahles," ZAMM-Zeitschrif t f ur Angewandte


Mathematik und Mechanik, 11(2), 136-154, 1931. DOI: 10.1002/zamm.19310110207

Wen, J.Z., Park, M.J.S.H., Rogak, S.N., and Lightstone, M.F., "Study of Soot Growth in a
Plug Flow Reactor using a Moving Sectional Model," Proceedings of the Combustion Institute,
30(1), 1477-1484, 2005.

Werner, H. and Wengle, H., "Large Eddy Simulation of Turbulent Flow Over and Around
a Cube in a Plane Channel," Proceedings of the Eighth Symposium on Turbulent Shear Flows,
Volume 2, 1991.

Wilcox, D.C., Turbulence Modeling f or CFD, Second Edition, DCW Industries, Inc., 1998.

Wilcox, D.C., Turbulence Modeling f or CFD, Third Edition, DCW Industries, Inc., 2006.

Wilcox, D.C., "Formulation of the k-w Turbulence Model Revisited," AIAA Journal, 46(11),
2823-2838, 2008. DOI: 10.2514/1.36541

Wruck, N.M. and Renz, U., "Transient Phase-Change of Droplets Impacting on a Hot
Wall," Wiley-VCH Verlag GmbH, ISBN 978-3-527-27149-8.

Xin, J., Montgomery, D.T., Han, Z., and Reitz, R.D., "Multidimensional Modeling of
Combustion for a Six-Mode Emissions Test Cycle on a DI Diesel Engine," Journal of
Engineering f or Gas Turbines and Power, 119(3), 683-691, 1997. DOI: 10.1115/1.2817041

Xin, J., Ricart, L., and Reitz, R.D., "Computer Modeling of Diesel Spray Atomization and
Combustion," Combustion Science and Technology, 137(1-6), 171-194, 1998. DOI:
10.1080/00102209808952050

Yoshizawa, A. and Horiuti, K., "A Statistically-Derived Subgrid-Scale Kinetic Energy


Model for Large Eddy Simulation of Turbulent Flows," Journal of the Physical Society of
Japan, 54(8), 2834-2839, 1985. DOI: 10.1143/JPSJ.54.2834

Zhou, G., "Numerical Simulations of Physical Discontinuities in Single and Multi-Fluid


Flows for Arbitrary Mach Numbers," Ph.D. Thesis, Chalmers University of Technology,
Goteborg, Sweden, 1995.

Zimont, V., Polifke, W., Bettelini, M., Weisenstein, W., "An Efficient Computational Model
for Premixed Turbulent Combustion at High Reynolds Numbers Based on a Turbulent
Flame Speed Closure," Journal of Engineering f or Gas Turbine and Powers, 120(3), 526-532,
1998. DOI: 10.1115/1.2818178

1050 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.
boundary_id 653

Index bowl_profile 73

-C-
- <- Case Setup 528
<file name><restart number>.out 189 case.in 929
<file name><restart number>_region<region cavitation 623
number>.out 189 cell pairing 293
cell_count_ranks.out 950
cell_count_regions.out 950
-A- ceq_species.in 819
CFL numbers 135
Adaptive Collision Mesh 355
Chemical Equilibrium - CEQ 423
Adaptive Mesh Refinement 289
chemistry tools 416
Adaptive zoning 493
CHEMKIN manual 265
adaptive_zone_bin_*.in 822
Chiang 392
alpha_coeff 169
child cells 298
alpha_cross_coeff 169
cht1d.in 845
amr.in 866
CLOSE 187, 659
amr.out 945
Coalescence 345
Amsden et al., 1989 650
Collision 345
ang_mom_flux_region_from 653
combust.in 800
ang_mom_flux_region_to 653
combust_region.in 814
area_avg_flow.out 945
combustion modeling 416
Arrhenius 262
Combustion Time-Step Control 499
Arrhenius expression 261
composite species 715
Arrhenius parameters 262, 265
composite.in 715
Automatic Domain Decomposition 298
compressible_flag 110
az_info<dump_number>_<dump_time>.out 946
compression ratio 654
CONGO 674
-B- CONGO Input Files 678
congo.in 926
Bai-Gosman 379 conjugate heat transfer 594
BDC 654 conserve 111
beta_coeff 169 continuum surface force (CSF) model 621
beta_cross_coeff 169 convert.in 102
BiCGSTAB 143 crank angle offset 661
blender.in 706 crank shaft axis 661
blender.out 947 crank_flag 187, 650
bottom dead center 654 crevice model 666, 694
bound_<ID>_motion_profile.out 947 crevice.in 694
bound_id 64 crevice.out 953
bound_or_vector 653 crevice_rings.out 953
bound<ID>-wall.out 948 crit_cond.dat 700
Boundary Conditions 192 crit_pres 111
Boundary Identification 80 crit_temp 111
boundary.in 220, 661, 662, 760 ctc_init_time.in 815
CONVERGE 2.4 Manual 1051
© 2018 Convergent Science Published on Wednesday, May 30, 2018.
CYCLIC 187 Empirical 528
cylinder rotation angle 661 empirical soot model 527
end_source 160
Energy (Temperature) Boundary Conditions 203,
-D- 235
energy equation 117
Dalian soot model 533
Energy Source Modeling 163
dependent 181
energy sources 656
Design of Experiments 674
Energy Transport 117
Diesel Combustion Models 417
energy_solver 110, 117, 163
direction 169
engine applications 693
disconnect triangles 659
engine simulations 650
disconnecting regions 659
engine.in 650, 693
discrete phase modeling 308
EnSight 102
discrete phase simulations 278
eos_flag 111
dmr 917
eps 166, 176
dmr_mech_info.out 954
eps_init 174
DoE 674
eps_offset 176
domain initialization 774
eps_scale 176
drgepsa 917
equiv_ratio_bin.out 964
drgepsa.in 916
Eulerian-Lagrangian Spray Atomization 405
drop drag 321
Events 187
Drop Turbulent Dispersion 357
events.in 187, 659, 773
Drop Vanish Model 389
execute.in 934
drop velocities 320
Extended Coherent Flamelet Model 441
Drop/Film Rebounding 366
Extended Coherent Flamelet Model 3 Zones 455
Drop/Wall Interaction 361
DUPLICATE 265
Duplicate Reaction Option 265
Dynamic Mechanism Reduction 510
-F-
dynamic.in 653, 663, 891 fgm.in 819
dynamic.out 653, 954 Fieldview 102
dynamic_flag 653 File Overview 56
dynamic_region<ID>.out 954 Film Initialization 363
Film Separation 386
Film Vaporization Model 396
-E- film.out 966
film_accum.out 966
ECFM Input Parameters 449
film_accum_net.out 966
ecfm.out 958
film_init.in 790
ECFM3Z Input Parameters 461
film_offset 176
ecfm3z.out 961
film_scale 176
ecfm3z_reinit.in 818
film_scrape.out 966
elsa.in 799
film_urea_file.out 967
embedded.in 876
Finite difference 126
Emissions 528
Finite volume 126
emissions modeling 518, 1036
fixed embedding 286
emissions.in 823
Flamelet Generated Manifold Model 424
emissions.out 963
fluctuating gas velocities 320
1052 CONVERGE 2.4 Manual
© 2018 Convergent Science Published on Wednesday, May 30, 2018.
fluid_properties.in 704 htc_inputs.in 922
fluid-structure interaction 632 htc_map 654
Flux limiters 140 HYPRE 143
Frossling 390
FSI 632
fsi.in 848 -I-
fsi_events.in 854
Improper Orientation 72
fsi_force.in 852
Inclined Cylinders 663
fsi_object_<name>.out 968
INFLOW Boundary 192
Initialization and Regions 174
-G- Initialization Methods 174
initialize.in 174, 774
g_eqn_init.in 816 injdist.in 795
GA 674 injection size distribution 317
GAS 281 injector 309, 781
Gas Properties 258 inputs.in 178, 725
gas.dat 260, 699 intake_lift.in 662
gas-phase properties 699 INTERFACE Boundary Type 249
gas-phase species 259 Internal Combustion Engine Applications 650
gatdoe.in 940 Introduction 20
Genetic Algorithm 674 is_directional 169
G-Equation Combustion Model 428 issim.in 817
G-Equation Input Parameters 439 issim_ignition<num>.out 970
GMV 102
Gokul soot model 532
Governing Equations 110 -K-
gravity_x 111
Kee et al., 1989 265
gravity_y 111
Kelvin-Helmholtz Breakup Model 325
gravity_z 111
KH-ACT Breakup Model 330
Grid Manipulation 286
KH-RT Breakup Length Model 336
grid scaling 286
Kuhnke 371
Gridding Methods 62
gridscale.in 866
gti_interface.out 969
GT-SUITE Boundary Type 253
-L-
LES Models 581
lhv.in 724
-H- lhv_info.out 972
Lift Profile 662
Handling Energy Sources in Engine models 656
Lindeman Format 262
Hardware Considerations 304
liner_id 650
hardware memory errors 304
LIQUID 281
head_id 650
liquid injection 309
head_profile 73
liquid properties 278, 702
Hiroyasu 528
liquid.dat 278, 702
Hiroyasu-NSC 528
liquid/gas coupling 321
Hiroyasu-NSC soot model 527
LISA Breakup Model 342
hrr 917
low temperature combustion 1036
CONVERGE 2.4 Manual 1053
© 2018 Convergent Science Published on Wednesday, May 30, 2018.
lower heating value 724 Moving Boundaries 81
Moving Periodic Faces 82
Moving WALL Boundary Conditions 220
-M- MPI 298
mrf.in 758
Make Surface Utility 73
Multiple Cycle Simulations 665
make_surface 73
Multiple Cylinder Simulations 661
map.dat 176, 766
multiple reference frame approach 758
map.in 176, 766
MUSCL 138
map_<time>.out 972
map_allregion_flag 176
map_bound<ID>_<time>.out 973
map_name 176
-N-
mapall_flag 176 nohydro 654
mapflag 176 Non-Manifold Edges 66
mapping 176, 766 non-transport passives 712
Mass and Momentum Transport 111 NOx modeling 518
mass transport 111 nozzle 315, 786
mass_avg_flow.out 975 NSC 528
max_displace 160 NTC Numerical Scheme 348
max_value 163, 164, 165, 166, 167, 168 nucleate_boiling.in 865
mech.dat 261, 262, 265, 707 num 176
mech_check.out 976 num_ang_mom_flux 653
mechanism_tune.in 919 num_offset 176
mechanism_tune.out 977 num_piston_or_vector 653
mechanism_tune_targets.in 921 num_restart_files 178
memory_usage.out 977 num_scale 176
merit.in 936 Numerics 126
metis_map.out 978 numpassiveinit 174
metis_map_frozen.out 978 numregions 174
minimum lift position 659 numspeciesinit 174
minimum valve lift 659 numtriangles 64
minimum_lift 659 numverts 64
mixing.out 979 numverts_tot 64
Model Interrogation 674
Modified KH-RT Model 338
Momentum (Velocity) Boundary Conditions 194, -O-
230
O’Rourke Collision Outcomes 351
Momentum Source Modeling 164
O’Rourke Numerical Scheme 345
momentum transport 111
one_d_cases.in 914
momentum_solver 110, 111, 164
one_d_flamespeed.out 983
monitor_line_<num>_coordinates.out 982
one_d_sens.out 983
monitor_line_<num>_mass_avg.out 982
one_d_sens_case<ID>.out 983
monitor_line_<num>_volume_avg.out 982
one_d_sens_rank.out 983
monitor_point_<num>_mass_avg.out 981
one_d_sol_case<ID>.out 985
monitor_point_<num>_volume_avg.out 981
one_d_solver.in 910
monitor_points.in 892
OPEN 187, 659
monitor_steady_state.in 753
Open Edges 66
moving 160
1054 CONVERGE 2.4 Manual
© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Optimization 674 prandtl_turb.in 741
O'Rourke 367 premixed combustion 1036
OUTFLOW Boundary 192 Premixed Combustion Models 416
Output file 189 Pre-Processing and Post-Processing 62
pres 176
pres_init 174
-P- press_offset 176
press_scale 176
pa(passive name) 176
Pressure Boundary Conditions 199, 235
pa_offset 176
Pressure Dependent Reaction Option 262
pa_scale 176
Pressure Implicit with Splitting of Operator 130
Parallel Processing 298
prompt nox 1036
parallel_scale 298
prompt NOx model 524
parallelization 298, 304
PSM soot model 541
Parallelization for the SAGE Solver 303
parameters 781, 786
PARCEL 281
parent cell 298
-R-
particle equation of motion 320 radiation.in 862
PASSIVE 110, 281 radius 176
Passive Boundary Conditions 204 radius_offset 176
Passive Transport 122 radius_scale 176
passive.out 985 RANS Boundary Conditions 568
passive_nox_rate.dat 827 rateshape_inj<num>.in 795
Passives Source Modeling 168 Rayleigh-Taylor Breakup Model 334
Periodic Boundary Type 246 react_ratio_bin.out 987
Periodic faces 82 reaction mechanism 707
Periodic Surfaces 73 reduction 917
phase angle 662 region 181
phase_flag 110 region connection/disconnection 184, 773
phase-lag angle 661 Region Specific Output 189
phenom_soot_model.out 986 region_id 174, 176, 653
Physical Properties and Reaction Mechanisms 258 region-dependent CFL number 743
PISO algorithm 130 Region-Dependent Model Options 663
pist_id 650 Regions 180
piston motion 698 regions_flow.in 890
piston_motion.in 698 regions_flow.out 988
piston_profile<ID>.out 986 reread_input 739
PLOG Format 262 reset_source 160
PM soot model 536 residuals.out 990
point_num<ID>.out 987 residuals_region<ID>.out 990
polynomial fits to thermodynamic data 259 Restart 178
POROUS 169 REV Reaction Option 262
Porous Media Modeling 169 Reynolds-Averaged Navier-Stokes 551
Post Collision Outcomes 352 Rhie-Chow algorithm 134
post.in 881 RIF Model 478
post_convert 102 rot_angle 176
Post-Processing 102 rot_axis 176
prandtl 117 rot_object<ID>-wall_power_torque.out 991
CONVERGE 2.4 Manual 1055
© 2018 Convergent Science Published on Wednesday, May 30, 2018.
rotating (RO) 220 Species and Passive Boundary Conditions 242
ROTATION_AXIS 661 Species Boundary Conditions 203
rpm.in 698 Species Definitions 281
rstrtflg 178 Species Source Modeling 167
rstrtnum 178 Species Transport 120
RT 220 species.in 710
species_mass.out 998
species_mass_frac.out 998
-S- species_mole_frac.out 999
species_output.in 894
SAGE Detailed Chemical Kinetics Model 418
species_solver 110, 120, 167
sage_dmr 917
species_std_masfrac.out 999
sage_dmr.in 917
species_vol.out 1000
scalar_diss_rate.out 992
Specified Initial Values 174
scale_xyz 176
spray 781, 786
schmidt 120
Spray Breakup 324
schmidt_turb.in 740
spray modeling 308
Screen output 1020
Spray Time-Step Control 407
sens<case>.out 992
spray.in 777
sens<case>_var<num>_<name>.out 992
spray.out 1000
sens<case>_var<num>_<name>_neg.out 992
spray_ecn.out 1006
sens<case>_var<num>_<name>_pos.out 992
spray_film 176
Shell+CTC Model 461
spray_map.dat 176
skip species 716
spray_map_<time>.out 1002
skip_species.in 716
spray_map_allregion_flag 176
skip_species.out 994
spray_num 176
sliding wall 220
spray_radius 176
Sliver Cells 69
spray_rate_inj<ID>.out 1003
solid.dat 706
spray_region<ID>.out 1005
solid_bulk_temp.in 847
spray_sp (species name) 176
solid_flag 174
spray_temp 176
Solution procedure 128
spray_u_vel 176
solver.in 744
spray_urea_file.out 1007
soot modeling 526
spray_v_vel 176
soot_hiroy.out 995
spray_w_vel 176
soot_pm_model.out 995
spring.in 852
soot_psm_model.out 996
SRI Format 262
SOR 143
start_source 160
Source Modeling Setup 160
steady_state.out 1007
source.in 160, 833
steady-state monitor 753
source_flag 160
Steady-state solver 151
source_shape 160
stiction.in 853
source_type 163, 164, 165, 166, 167, 168
Successive over-relaxation 143
source_unit_volume 163, 164, 165, 166, 167, 168
supercycle.in 842
source_value 163, 164, 165, 166, 167, 168
supercycle_point<ID>.out 1008
sp(species name) 176
supercycle_stream<stream_num>_balance.out 1008
sp_offset 176
supercycle_surface_map.in 843
sp_scale 176
Surface Alignment 86
spark energy sources 656
1056 CONVERGE 2.4 Manual
© 2018 Convergent Science Published on Wednesday, May 30, 2018.
Surface Chemistry Model 485 tke_init 174
surface curvature 621 tke_offset 176
Surface Defects Caused by Motion 83 tke_scale 176
surface geometry file 725 top dead center 654
Surface Geometry File Format 64 trans_x 176
Surface Intersection 68 trans_y 176
Surface Position 81 trans_z 176
Surface Preparation 65 transfer.in 925
surface tension 621 transfer.out 1012
surface.dat 725 Transient solver 149
surface_chemistry.in 855 translating (TR) 220
surface_chemistry_region.in 859 transport.dat 699
surface_mech.dat 860 transport_check.out 1013
surface_species_cov.out 1009 Triangle Overlap/Folding and Sliver Triangles 69
surface_species_cov_region<ID>.out 1009 TROE Format 262
surface_therm.dat 860 tumble ratio 653
surrogate blender 706 turb_flag 110, 165, 166
swirl ratio 653 Turbulence Boundary Conditions 205, 243
Swirl Tumble And Angular Momentum Calculations Turbulence Modeling 550
653 turbulence statistics 589, 713
Swirl, Tumble Calculations for Inclined Cylinders turbulence.in 550, 827
663 turbulence.out 1014
Symmetry Boundary Type 248 Turbulent Dissipation Source Modeling 166
Synchronizing valve motion with OPEN/CLOSE Turbulent Kinetic Energy Source Modeling 165
events 659 Turbulent Transport 123
TWO_D Boundary Type 249

-T- twrite_post 690


twrite_post.in 690
TAB Breakup Model 338 twrite_restart 178
tabular_therm.dat 723
target hrr 917
Taylor Analogy Breakup (TAB) 338
-U-
TDC 654 u_offset 176
Tecplot 102 u_scale 176
temp 176 u_vel 176
temp_init 174 udf.in 898
temp_offset 176 udi.in 939
temp_scale 176 U-EQ 164
temperature.out 1010 Units 22
therm.dat 259, 719 urea injection 409
thermal NOx model 518 urea.in 793
thermo.out 1010
thermodynamic properties 719
Three Body Reaction Option 262 -V-
time.out 1011
v_offset 176
Time-step control 136
v_scale 176
time-varying inputs 690
v_vel 176
tke 165, 176
CONVERGE 2.4 Manual 1057
© 2018 Convergent Science Published on Wednesday, May 30, 2018.
valve lift files 661 zero_d_asens_rank.out 1018
valve motion 659 zero_d_cases.in 908
valve motion direction vector 662 zero_d_sol_case<ID>.out 1020
Vaporization 389 zero_d_solver.in 907
var_rpm.in 697
variable RPM 697
vector_x 653
vector_y 653
vector_z 653
velocity 160
Velocity Initialization in IC Engines 650
V-engine 653, 661
V-EQ 164
vert_id 64
vert1 64
vert2 64
vert3 64
VOF 610
vof.in 610, 840
vof_spray.in 840
vof_spray.out 1016
Volume of Fluid 610
volumes.out 1017
vx 64
vy 64
vz 64

-W-
w_offset 176
w_scale 176
w_vel 176
wall adhesion angle 621
Wall Boundary Type 216
Wall Film Model 363
wall_output.in 742
wall_stress<number>_<time>.out 1018
wall_value.in 765
Waseda soot model 534
W-EQ 164
wheel flow 650
write_map.in 895

-Z-
zero_d_asens.out 1018
zero_d_asens_case<ID>.out 1018

1058 CONVERGE 2.4 Manual


© 2018 Convergent Science Published on Wednesday, May 30, 2018.

You might also like