cfd-ace v2008.2 user manual

554
CFD-ACE+ V2008.2 User Manual ESI CFD Inc. 6767 Old Madison Pike, Ste. 600 Huntsville, AL 35806 Phone: (256) 713-4700 Fax: (256) 713-4799 Software Support: [email protected] Software Sales: [email protected]

Upload: hityou

Post on 02-Jan-2016

673 views

Category:

Documents


35 download

DESCRIPTION

Cfd-Ace v2008.2 User Manual

TRANSCRIPT

Page 1: Cfd-Ace v2008.2 User Manual

CFD-ACE+ V2008.2 User Manual

ESI CFD Inc. 6767 Old Madison Pike, Ste. 600

Huntsville, AL 35806 Phone: (256) 713-4700 Fax: (256) 713-4799

Software Support: [email protected] Software Sales: [email protected]

Page 2: Cfd-Ace v2008.2 User Manual
Page 3: Cfd-Ace v2008.2 User Manual

iii

Table Of Contents

1. Introduction _________________________________________________________________________________ 1 About CFD-ACE+ 1 About ESI GROUP 3

Copyright Information 4 Getting Started 5 How to Report Problems 6 Using Help 7

2. CFD-ACE-GUI Overview _______________________________________________________________________ 9 User Manual Starting CFD-ACE+ 9 User Manual Window Layout 9 User Manual Title Bar 10 User Manual Status Line 10 Graphics Area 10

Graphics Area Introduction 10 Graphics Area Working With the Viewer Window 10 Graphics Area Mouse Operations 11 Graphics Area Viewing Operations 11 Graphics Area Picking Operations 12

Menu Bar 14 Menu Bar Introduction 14 Menu Bar-File Menu 15 Menu Bar-Edit Menu 19 Menu Bar View Menu 27 Menu Bar Models Menu 28 Menu Bar-Tools Menu 29 Menu Bar Window Menu 35 Menu Bar Help Menu 35

Tool Bar 35 Tool Bar Introduction 35 Tool Bar File Open, Save, Save As 36 Tool Bar Undo 36 Tool Bar Projection 36 Tool Bar Viewpoint 36 Tool Bar Colors 37 Tool Bar Solver Control 37 Tool Bar Launch CFD Software 37 Tool Bar About CFD-ACE+ 38

Control Panel 38 Control Panel Overview 38 Control Panel-Problem Type (PT) 38 Control Panel-Model Options (MO) 40 Control Panel-Volume Conditions (VC) 44 Control Panel-Boundary Conditions (BC) 50 Control Panel-Initial Conditions (IC) 57 Control Panel-Solver Controls (SC) 61 Control Panel-Output (OUT) 67 Control Panel-Run Controls (RUN) 72

Entity Bar 77 Entity Bar Introduction 77 Entity Bar Set Grid Scale Tab 77 Entity Bar Set XYZ Visual Scale Tab 78 Entity Bar Set XYZ Rotation Tab 78

Page 4: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

iv

Entity Bar BC or VC Blanking Tab 79 Model Explorer 80

Model Explorer Introduction 80 Model Explorer Operation 80 Model Explorer-Volume Condition (VC) Explorer 82 Model Explorer-Boundary Condition (BC) Explorer 84 Model Explorer-Initial Condition (IC) Explorer 86

User Manual Frequently Asked Questions 87

3. Database Manager __________________________________________________________________________ 89 Database Manager Introduction 89 Database Manager-Window 89

Database Manager Window Introduction 89 Database Manager Mode Selector 91 Database Manager Data Organizer 92 Database Manager Data Panel 94

Database Manager-Material Properties 94 Database Manager Material Properties Introduction 94 Database Manager Material Properties-Gases 94 Database Manager Material Properties-Liquids 95 Database Manager Material Properties-Solids 95

Database Manager-Chemistry 95 Database Manager Chemistry Introduction 95 Database Manager Chemistry-Elements 96 Database Manager Chemistry-Species 96 Database Manager Chemistry-Mixtures 96 Database Manager Chemistry-Gas Mixing Rules 96 Database Manager Chemistry-Liquid Mixing Rules 97 Database Manager-Chemistry-Volume Reactions 97 Database Manager-Chemistry-Surface Reactions 104

Database Manager-Biochemistry 105 Database Manager Biochemistry Introduction 105 Database Manager Biochemistry-Analytes 106 Database Manager Biochemistry-Buffers 106 Database Manager Biochemistry-Receptors 106 Database Manager Biochemistry-Receptor Groups 106 Database Manager Biochemistry-Mixing Rules 106 Database Manager Biochemistry-Volume Reactions 107 Database Manager Biochemistry-Surface Reactions 107

Database Manager Examples 107 Database Manager Frequently Asked Questions 107

4. Arbitrary Interface Boundary Conditions _______________________________________________________ 109 Arbitrary Interface BC Introduction 109 Applications 109

Arbitrary Interface BC Applications Introduction 109 Arbitrary Interface BC Applications-Hybrid Grid Systems 109 Arbitrary Interface BC Applications-Component Libraries 110 Arbitrary Interface BC Applications-Parametric Part Studies 111 Arbitrary Interface BC Applications-Sliding Grids 112

Arbitrary Interface BC Features 112 No Need for Point-To-Point Matching 112 Automatic Face Projection 112 Other Features 113

Arbitrary Interface BC Theory 113 Arbitrary Interface BC Limitations 114

Page 5: Cfd-Ace v2008.2 User Manual

Table Of Contents

v

Not Supported for 2D Grid Systems 114 Multiple Structured Directions 114 Not Supported For Various Modules 114 Conjugate Interfaces 115 Monte-Carlo Radiation 115 Avoid T-Junctions 115

Implementation 115 Arbitrary Interface BC Implementation Introduction 115 Grid Generation 116 Model Setup and Solution 117 Arbitrary Interface BC Implementation-Post Processing 118

Arbitrary Interface BC Frequently Asked Questions 118

5. Thin Wall Boundary Conditions ______________________________________________________________ 121 Thin Wall BC Introduction 121 Thin Wall BC Applications 121 Thin Wall BC-Theory 121

Thin Wall BC Theory Introduction 121 Thin Wall BC Theory-Thermal Gap Model 123 Thin Wall BC Theory-Gaseous Heat Transfer Coefficient 124 Thin Wall BC Theory-Direct-Contact Heat Transfer Coefficient 124 Thin Wall BC Theory-Radiative Heat Transfer Coefficient 125

Thin Wall BC Limitations 126 Thin Wall BC-Implementation 126

Thin Wall BC Implementation Introduction 126 Thin Wall BC Implementation-Grid Generation 126 Thin Wall BC-Implementation-Model Setup and Solution 126 Thin Wall BC Implementation-Post Processing 127

Thin Wall BC References 128

6. Cyclic Boundary Conditions _________________________________________________________________ 129 Cyclic BC Introduction 129 Cyclic BC Theory 129 Cyclic BC Features 130 Cyclic BC Limitations 130 Cyclic BC-Implementation 130

Cyclic BC Implementation Introduction 130 Cyclic BC Implementation-Grid Generation 130 Cyclic BC-Implementation-Model Setup and Solution 131 Cyclic BC Implementation-Post Processing 131

7. Periodic Boundary Conditions _______________________________________________________________ 133 Periodic BC Introduction 133

Flow Module Periodic BC 133 Electric Module Periodic BC 133

Periodic BC Theory 133 Flow Module Periodic BC 133 Electric Module Periodic BC 134

Periodic BC Features and Limitations 134 Features 134 Limitations 134

Periodic BC Implementation and Grid Generation 135 Periodic BC Model Setup 135

Flow Module Periodic BC 135 Electric Module Periodic BC 136

Page 6: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

vi

8. Fan Model ________________________________________________________________________________ 137 Fan Model Introduction 137 Fan Model Features 137 Fan Model Theory 137 Fan Model Limitations 139 Fan Model-Implementation 139

Fan Model Implementation Introduction 139 Fan Model Implementation-Grid Generation 139 Fan Model-Implementation-Model Setup and Solution 139 Fan Model Implementation-Post Processing 142 Fan Model References 142

9. Momentum Resistance or Source _____________________________________________________________ 143 Momentum Resistance Introduction 143 Momentum Resistance Features 143 Momentum Resistance Theory 143 Momentum Resistance Limitations 145 Momentum Resistance-Implementation 145

Momentum Resistance Implementation Introduction 145 Momentum Resistance Implementation-Grid Generation 145 Momentum Resistance-Implementation-Model Setup and Solution 145 Momentum Resistance Implementation-Post Processing 146

10. Porous Media _____________________________________________________________________________ 147 Porous Media Introduction 147 Porous Media Features 147 Theory 148

Porous Media Theory-Introduction 148 Mass Conservation 148 Momentum Conservation 148 Energy Conservation 148 Species Conservation 149

Limitations 154 Implementation 154

Implementation Introduction 154 Grid Generation 154 Model Setup and Solution 154 Post Processing 160

References 160

11. Rotating Systems __________________________________________________________________________ 161 Rotating Systems Introduction 161

Multiple Reference Frames 161 Rotating Systems Features 161

Multiple Reference Frame 161 Rotating Systems Theory 161

Multiple Reference Frames 162 Rotating Systems Limitations 163

Multiple Reference Frame 163 Rotating Systems-Implementation 163

Rotating Systems Implementation Introduction 163 Rotating Systems Implementation-Grid Generation 163 Rotating Systems-Implementation-Model Setup and Solution 163 Rotating Systems Implementation-Post Processing 168

Page 7: Cfd-Ace v2008.2 User Manual

Table Of Contents

vii

12. Parallel Processing _________________________________________________________________________ 169 Parallel Processing Introduction 169 Parallel Processing Applications 169 Parallel Processing Features and Limitations 169 Features 169 Limitations 170 Parallel Processing Theory 171 Parallel Processing Setup 171

Parallel Processing Implementation and Grid Generation 171 Parallel Processing Decomposition Options 171 Parallel Processing Executing a Parallel Run 173 Parallel Processing User ID Requirements for Parallel Processing 175 Parallel Processing Post Processing 175

Parallel Processing Frequently Asked Questions 175 Parallel Processing Examples-Demo Instructions 178

13. Chimera Grid Methodology __________________________________________________________________ 181 Chimera Introduction 181 Chimera Features and Limitations 181

Features 181 Limitations 181

Chimera Applications 182 Chimera Theory 182 Chimera Model Setup 187

Chimera Implementation and Grid Generation 187 Chimera Volume Conditions 187 Chimera Boundary Conditions 188

Chimera Example 188 Activating the Chimera Feature 189 Hole Cutting Priority 190 Chimera Boundaries 191

14. User Subroutines __________________________________________________________________________ 193 User Subroutines Introduction to User Subroutines 193

Activating User Subroutines 193 User Subroutines User Subroutine Applications 194 User Subroutines Introduction to User Subroutine Features 194 Accessible Variables 194

User Subroutines Introduction to Accessible Variables 194 User Subroutines Features-Access Variables 194 User Subroutines Features-Utility Variables 212

User Access Routines 214 User Subroutines Introduction to User Access Routines 214 User Subroutines General Purpose Routines 214 User Subroutines DTF Read/Write Routines 227 User Subroutines Boundary Condition Routines 230 User Subroutines Volume Condition Routines 240 User Subroutines Porous Media Volume Condition Routines 247 User Subroutines Unsteady Problem Routines 248 User Subroutines Grid Deformation Routines 251 User Subroutines Moving Grid Routines 253 User Subroutines Radiation Routines 257 User Subroutines Spray Routines 260 User Subroutines Grid Connectivity Routines 271

Implementation of User Subroutines 284 User Subroutines Implementation-Introduction 284

Page 8: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

viii

User Subroutines User Defined Output Routines (UOUT, UREAD_DTF, UWRITE_DTF) 284 User Subroutines User Defined Boundary Condition Values (UBOUND) 287 User Subroutines User Defined Boundary Condition Values (UBOUND_PATCH) 288 User Subroutines User Defined Boundary Condition Values (UMODAL_SHAPES) 289 User Subroutines User Defined Grid Deformation Boundary Condition Values (UDEFORM_BC) 291 User Subroutines User Defined Emissivity Boundary Condition Values (UEMISSIVITY_BC) 293 User Subroutines User Defined Parameter (UPARAMETER) 294 User Subroutines User Defined Source Terms 294 User Subroutines User Defined Reaction Rate Factor 295 User Subroutines User Defined Properties 296 User Subroutines User Defined Time Step (UDT) 299 User Subroutines User Defined Gravity (UGRAVITY) 300 User Subroutines User Defined Initial Conditions (UINIT) 300 User Subroutines User Defined Grid Deformation (UGRID) 301 User Subroutines User Defined Moving Solid Motion 302 User Subroutines URADIATION 302 User Subroutines Spray Subroutines 303

User Shared Library/DLL 314 User Subroutines Building a User Shared Library/DLL 314 User Shared Library-UNIX 315 User Shared Library-Windows 319

User Subroutines FAQ 320

15. Numerical Methods _________________________________________________________________________ 321 Numerical Methods Introduction 321 Numerical Methods-Discretization 321

Numerical Methods Discretization Introduction 321 Numerical Methods Discretization-Finite Volume Method 321 Numerical Methods Discretization-Transient Term 322 Numerical Methods-Discretization-Convection Term 323 Numerical Methods Discretization-Diffusion Terms 326 Numerical Methods-Discretization-Source Term Linearization 327 Numerical Methods Discretization-Finite Difference Equations 329

Numerical Methods-Velocity-Pressure Coupling 329 Numerical Methods Velocity-Pressure Coupling Introduction 329 Numerical MEthods Velocity-Pressure Coupling-Continuity and Mass Evaluation 330 Numerical Methods Velocity-Pressure Coupling-Pressure Correction and SIMPLEC Algorithm 330

Numerical Methods Boundary Conditions 335 Fixed Value Boundary Condition 336 Zero-Flux Boundary Conditions 336

Numerical Methods-Solution Methods 337 Numerical Methods Solution Methods Introduction 337 Numerical Methods Solution Methods-Solution Procedure 337 Numerical Methods Solution Methods-Under Relaxation 338 Numerical Methods-Solution Methods-Linear Equation Solvers 339

Numerical Methods References 341

16. Mixing Plane ______________________________________________________________________________ 343 Mixing Plane Introduction 343 Mixing Plane Applications 343 Mixing Plane Theory 343 Mixing Plane Limitations 343 Mixing Plane Implementation 343

Model Setup and Solution 344 Frame rotation specification 344 Boundary Condition Specification 344

Page 9: Cfd-Ace v2008.2 User Manual

Table Of Contents

ix

Additional Input 344 Description of the Parameters in Each Line 344 Special Instructions 345

Mixing Plane References 345

17. Filament Model ____________________________________________________________________________ 347 Filament Model Introduction 347 Filament Model Applications 347 Filament Model Limitations 350 Filament Model Implementation 351

Model Setup and Solution 351 Filament Model Input File Format 351 Filament Model Frequently Asked Questions 352

18. Applications: Electrokinetics ________________________________________________________________ 355 Electrokinetics Introduction 355

Electroosmotic Flow 355 Electrophoresis 355

Electrokinetics Features 355 Electrokinetics Limitations 356 Electrokinetics Theory 356 Electrokinetics Implementation 358

Electroosmosis 358 Electrophoresis 360

Electrokinetics Future Work 360 Electrokinetics Frequently Asked Questions 361 Electrokinetics References 362

19. Applications: Ionization _____________________________________________________________________ 363 Ionization Introduction 363 Ionization Features 363 Ionization Limitations 363 Ionization Theory 364 Ionization Implementation 366 Ionization Example 367 Ionization Comments 369 Ionization Frequently Asked Questions 370 Ionization References 372

20. Applications: Dielectrophoresis (DEP) _________________________________________________________ 375 Dielectrophoresis Introduction 375 Dielectrophoresis Features 375 Dielectrophoresis Limitations 375 Dielectrophoresis Theory 376 Dielectrophoresis Implementation 377

Grid Generation 377 Model Setup and Solution 377

Dielectrophoresis DC Electric with Sinusoidal Wave 381 Dielectrophoresis Additional Output 381 Dielectrophoresis Frequently Asked Questions 381 Dielectrophoresis-Examples 381

Dielectrophoresis Examples-Case 1 381 Dielectrophoresis Examples-Case 2 383 Dielectrophoresis Examples-Case 3 385

Dielectrophoresis References 387

Page 10: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

x

21. Applications: Solidification __________________________________________________________________ 389 Solidification Introduction 389 Solidification Applications 389 Solidification-Theory 389

Solidification Theory Introduction 389 Solidification Definition of Source Terms 390 Solidification Theory-Implementation in CFD-ACE-Solver 391 Solidification Theory-Initialization 391 Solidification Theory-Non-Source Term Methods 392

Solidification Limitations 393 Solidification Model Setup and Solution 393

Problem Type 393 Available Modules 394 Model Options 394 Shared 394 Heat 394 Volume Conditions 394 Graphic Output 394

Solidification Frequently Asked Questions 394 Soldification-Examples 395

Solidification Examples 395 Solidification Case 1: Pure heat conduction, multi-zone, and isothermal case 395 Soldification Case 2:Natural convection + heat conduction, single-zone, and isothermal/mush-zone cases 397 Solidification Case 3: Heat conduction, single-zone, piece-wise linear Cp, and isothermal/mush-zone cases 399 Solidification Case 4: Heat conduction, single-zone, constant Cp, and isothermal case 402

Solidification References 405

22. Applications: Fuel Cell Modeling _____________________________________________________________ 407 Fuel Cell Modeling Introduction 407 Fuel Cell Modeling Where Can CFD Help? 409 Fuel Cell Modeling Examples 409 Fuel Cell Modeling Reformer Modeling Examples 410 Fuel Cell Modeling Fuel Cell Simulation Features 410 Fuel Cell Modeling Fuel Reformer Simulation Features 411 Fuel Cell Modeling-Theory 411

Fuel Cell Modeling Theory Introduction 411 Fuel Cell Modeling Theory-Electrochemical Reactions in Porous Media 411 Fuel Cell Modeling Theory-Membrane Electrical Conductivity 413 Fuel Cell Modeling Theory-Springer Model 413

Fuel Cell Modeling Limitations 415 Fuel Cell Modeling Implementation 415

Problem Type 415 Model Options 415 Volume Conditions 415 Boundary Conditions 416 Initial Conditions 416 Solver Controls 416

Fuel Cell Modeling References 416 Fuel Cell Modeling FAQ 417

23. Applications: Biochemistry __________________________________________________________________ 419 Biochemistry Introduction 419 Biochemistry Applications 419 Biochemistry Features 419

Chemistry 419 Coupling of Spray and Biochemistry 420

Page 11: Cfd-Ace v2008.2 User Manual

Table Of Contents

xi

Coupling of VOF and Biochemistry 420 Echem Applications 420

Biochemistry Limitations 420 Biochemistry-Theory 420

Biochemistry Theory Introduction 420 Biochemistry Theory-Convective/Diffusive Transport Equations 420 Biochemistry Theory-Surface and Volume Chemistry Rates 421 Biochemistry Theory-Capabilities 422 Biochemistry Theory-Surface Reaction Data Output 426 Biochemistry Theory-Graphical Output for Post Processing 426

Biochemistry-Implementation 426 Biochemistry Implementation Introduction 426 Biochemistry Implementation-Grid Generation 427 Implementation-Model Setup and Solution 427 Biochemistry Implementation-Post Processing 437

Biochemistry Frequently Asked Questions 437 Biochemistry References 448

24. Applications: Electroplating _________________________________________________________________ 449 Electroplating Introduction 449 Electroplating Applications 449

Where Can Modeling Help? 450 Electroplating Features 450 Electroplating Theory 451

Surface Reactions 452 Electroplating Limitations 454 Electroplating-Implementation 454

Electroplating Implementation-Introduction 454 Electroplating Implementation-Grid Generation 454 Implementation-Model Setup and Solution 454 Electroplating Implementation-Post Processing 456

Electroplating Examples 456 Electroplating References 457

25. Appendix A CFD-ACE+ Files _________________________________________________________________ 459 Appendix A CFD-ACE+ Files Introduction 459 Appendix A DTF File 460 Appendix A Output File 460 Appendix A MOD File 461

MOD File Explanation: 461 MOD File Usage 461

Appendix A Profile BC File 467 Appendix A Boundary Condition Integral File 468

BC Integral File Usage 468 General Format 469 Explanation 469 List of Variables 470

Appendix A Monitor Point File 471 Appendix A CVD File 477

26. Appendix B DTF Utility ______________________________________________________________________ 479 Appendix B DTF-Utility-Introduction 479 Appendix B Applications 479 Appendix B Features 479 Appendix B Limitations 480 Appendix B Implementation 480

Page 12: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

xii

Getting the basics from a DTF file: -i 480 Viewing DTF Data 481 Printing a data array: -ph 481 Viewing and Updating General Simulation Data 481 Testing File 481 Testing Structured Grid Patch Data for Overlaps: -tp 482 Testing Connectivity: -tc 482 Tagging Bad Boundary Faces: -tag_bad_bc 482 Deleting a Simulation from the File: -[f]del_sim 482 Deleting a Zone from the File: -[f]del_zone 482 Deleting Particular Simulation Data Arrays: -[f]del_sd 482 Deleting Particular Zonal Data Arrays: -[f]del_zd 482 Deleting ALL Simulation Data Arrays: -[f]del_all_sd 483 Deleting ALL Zonal Data Arrays: -[f]del_all_zd 483 Updating Data Compression: -rle 483 Unlocking a Locked DTF File: -unlock 483 Setting the Scaling Factor: -set_scaling 483

Appendix B Frequently Asked Questions 483

27. Appendix C CFD-ACE Python Scripting ________________________________________________________ 485 Appendix C Python Scripting Introduction 485 Appendix C Usage 485 Appendix C GuiFILE 488 Appendix C GuiML (GUI Models) 490

Radiation Model Operations 490 DOM Model 491 STS Model 492 Examples 493 Fan Model 494 Examples 495 Momentum Resistance Model 495 Active Mixtures and Species 496

Appendix C GuiPT (Problem Type) 497 Appendix C GuiMO (Module Options) 498 Appendix C GuiVC (Volume Conditions) 498 Appendix C GuiBC (Boundary Conditions) 501 Appendix C GuiIC (Initial Conditions) 504 Appendix C GuiPC (Point Conditions) 505 Appendix C GuiOut (Output Controls) 506 Appendix C GuiSC (Solver Controls) 506 Appendix C GuiRun (Run Controls) 507

28. Index ____________________________________________________________________________________ 509

Page 13: Cfd-Ace v2008.2 User Manual

1

Introduction About CFD-ACE+ CFD-ACE+ is a set of computer applications for multi-physics computational analysis. The programs provide an integrated geometry and grid generation software, a graphical user interface for preparing the model, a computational solver for performing the simulation, and an interactive visualization software for examining and analyzing the simulation results.

The standard CFD-ACE+ package includes the following applications:

• CFD-GEOM - geometry and grid generation

• CFD-VisCART -

• CFD-ACE-GUI - graphical user interface to the CFD-ACE-SOLVER

• CFD-ACE-SOLVER - advanced, multiphysics solver

• CFD-VIEW - interactive post processor

The information contained within specifically addresses the CFD-ACE-SOLVER and its interaction with CFD-ACE-GUI. A schematic representation of the applications is shown below.

Page 14: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

2

Schematic Representation of CFD-ACE+

CFD-ACE+ provides an interactive tool kit for building the input required for the CFD-ACE-Solver. You can use it in conjunction with other ESI CFD products to form a complete solution analysis package. Other ESI CFD products include:

• CFD-VisCART - provides Cartesian and viscous Cartesian grid generation capabilities.

Page 15: Cfd-Ace v2008.2 User Manual

Introduction

3

• CADalyzer - works with native CAD geometries and provides automatic grid generation for CFD calculations

• CFD-TOPO - predicts the transport, chemistry, etch and deposition of semiconductor materials on the microscopic scales

• SimManager - uses the CFD-ACE+ package to perform parametric and optimization studies using various parameters (e.g. geometrical parameters, boundary values, etc.)

About ESI GROUP ESI CFD is a technology leader in the field of advanced computational fluid dynamics simulation software backed by more than 20 years of research based knowledge throughout a wide range of industries. ESI CFD’s broad range of products and services provide all of the necessary tools for advanced multiphysics analysis in a virtual prototype environment, significantly reducing time and expense through comprehensive up-front modeling and simulation. Key focus areas include microfluidics, biomedical, plasma, MEMS, fuel cells, semiconductor, automotive and aerospace.

ESI CFD’s product portfolio represents a unique collaborative, virtual engineering solution, known as the Virtual Try-Out Space (VTOS), enabling a continuous improvement on the virtual prototype. By drastically reducing costs and development lead times, VTOS solutions offer major competitive advantages by progressively eliminating the need for physical prototypes.

Page 16: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

4

Copyright Information

™©1997-2008 by ESI-Group

All rights reserved. Published 2008.

This information is the confidential and proprietary product of ESI-Group. Any unauthorized use, reproduction, or transfer of this manual is strictly prohibited. Subject to limited distribution and restricted disclosure only.

CFD-ACE™, CFD-ACE+™, CFD-CADalyzer™, CFD-VIEW™, CFD-GEOM™, SimManager™, CFD-VisCART™, CFD-TOPOTM and CFD-FASTRAN™ are registered trademarks of ESI-Group.

Portions of this software are owned by Spatial Corp.

Copyright© 1989-2008 All rights reserved.

Page 17: Cfd-Ace v2008.2 User Manual

Introduction

5

Getting Started How to execute the software:

To execute the graphical software (once the environment and path has been set according to the installation instructions that can be found on the CFD Portal) from the command line, enter one of the following commands in a DOS window on Windows Systems or in a shell on Linux/UNIX systems:

• CFD-GEOM

• CFD-CADA

• CFD-VisCART

• CFD-ACE-GUI

• CFD-FASTRAN-GUI

• CFD-TOPO-GUI

• CFD-VIEW

• SimManager

The appropriate solver can be executed from CFD-ACE-GUI, CFD-FASTRAN-GUI, CFD-TOPO-GUI, or SimManger. They can also be submitted from the command line using:

• CFD-ACE-SOLVER –dtf model.DTF

• CFD-FASTRAN-SOLVER –dtf model.DTF

• CFD-TOPO-SOLVER –dtf model.DTF

If multiple versions of the software have been correctly installed, then the old version can be executed using: CFD-GEOM –runver 2006 (which will run version 2006 of GEOM).

Note your license file will dictate which applications you can execute.

How to add shortcuts to the Start Menu:

Windows users that installed via CD will have short cuts under Start -> Programs -> ESI-Software. If your software was received via ftp or the CFD portal, then you can create your own short cuts. To do so:

1. Create an ESI_Software folder typically under C:\Documents and Settings\All Users\Start Menu\Programs

2. Copy the desired icons from the latest UTILS_20xx.x\icons directory in the ESI_Software folder

3. In Windows Explorer, right click on the icon and select: Create Shortcut

4. Right click on the just created shortcut and select: Properties

5. Change the target to the desired application in the UTILS_20xx.x\bin directory (for instance: CFD-VIEW.exe)

6. Change the Start in directory to your desired starting location

7. Select the Change Icon button and browse back to the originally icon in the UTILS_20xx.x\icons directory and select the appropriate icon.

8. Delete the icon that is setting Start Menu\Programs directory

9. Repeat as needed

Page 18: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

6

Note the target string can contain at the end the –runver option (ie. –runver 2006) so that a specific version of the software can be executed. If this option is not specified, by default the latest version found will be executed.

Where to request a license file:

The following table gives the email address where to request a license key:

Country/Region Contact

North America [email protected]

South America [email protected]

France

Rest of Europe [email protected]

Japan [email protected]

Korea [email protected]

China [email protected]

India [email protected]

Rest of Asia [email protected]

Australia/New Zealand [email protected]

Africa [email protected]

Or contact your local ESI Sales Representative.

How to Report Problems If you experience problems while using CFD-ACE-GUI/SOLVER, you can report your problem by:

• E-mail: [email protected]

• Telephone: 256-713-4750 (United States country code is 01)

When reporting a problem it is important to have the following information:

• CFD-ACE-GUI version number

• CFD-ACE-Solver version number

• Modules you were using

• Type of problem you were trying to solve

• Any error messages you may have received in the modelname.out file or screen

To find the CFD-ACE-GUI version number or the DTF version number: 1. Open the CFD-ACE+ application.

2. Click on the Help menu.

3. Select the About CFD-ACE-GUI option.

4. Make a note of the version number.

-OR-

1. Open a command prompt.

Page 19: Cfd-Ace v2008.2 User Manual

Introduction

7

2. On the command line, enter CFD-ACE-GUI -v and press Enter. (Note that the command is CFD-ACE-GUI(space)-v and the command is case sensitive in most environments) A file is created (CFD-ACE-GUI.version) which contains the build date and version information. The file will be created in the current working directory.

To find the CFD-ACE-Solver version number: 1. Note the version number at the top of the CFD-ACE-GUI modelname.out file.

-OR-

1. Open a command prompt.

2. On the command line, enter CFD-ACE-SOLVER -v and press Enter. (Note that the command is CFD-ACE-SOLVER(space)-v and the command is case sensitive in most environments) A file is created (CFD-ACE-SOLVER.version) which contains the build date and version information. The file will be created in the current working directory.

Using Help This help system is arranged in two volumes:

Volume I - User Manual describes the CFD-ACE+ operations and features of the CFD-ACE-Solver which are module independent:

Volume II - Modules contains a section for each of the CFD-ACE+ modules that appear in the Problem Type (PT) Panel:

• User Manual Overview

• Database Manager

• Arbitrary Interface Boundary Conditions

• Thin Wall Boundary Conditions

• Cyclic Boundary Conditions • Periodic Boundary Conditions

• Fan Model

• Momentum Resistance

• Porous Media

• Rotating Systems

• Parallel Processing

• User Subroutines

• Numerical Methods

• Mixing Plane • Filament Model

• Electrokinetics

• Ionization

• Electroplating

• Dielectrophoresis (DEP)

• Solidification

• Fuel Cell Modeling

• Biochemistry • Appendix A - CFD-ACE+ Files

• Flow

• Heat Transfer

• Turbulence

• Chemistry

• User Scalar

• Radiation

• Cavitation

• Grid Deformation • Stress

• Electric

• Magnetic

• Spray

• Macro Particle

• Free Surface (VOF)

• Plasma

• Two-Fluid

• Kinetic • Semi Device

Page 20: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

8

• Appendix B - DTF Utility • Appendix C - GUI Scripting

We recommend that you first read the User Manual Overview to learn the basics of how the CFD-ACE+ application works. Then review the remaining information in the User Manual and Modules that apply to your application of interest for details on using each module or feature.

It is also worthwhile to review the Introduction, Applications, and Features sections of each module to determine if they can help you to model your systems.

Page 21: Cfd-Ace v2008.2 User Manual

9

CFD-ACE-GUI Overview User Manual Starting CFD-ACE+ You can start CFD-ACE+ from three different operating systems:

• Windows - Select Start--> Programs--> ESI CFD--> CFD-ACE-GUI. This starts CFD-ACE+ in the proper mode for the CFD-ACE-Solver.

• MS-DOS - Enter CFD-ACE-GUI on the command line.

• UNIX - Enter CFD-ACE-GUI at the UNIX prompt.

User Manual Window Layout The CFD-ACE+ interface consists of:

• Title Bar • Status Line

• Graphics Area

• Menu Bar

• Tool Bar

• Control Panel

• Model Explorer

• Entity Bar

These elements are described in the corresponding online help sections. The window layout is shown below.

Page 22: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

10

CFD-ACE+ Layout

User Manual Title Bar The Title Bar shows the application name and the full file path for the currently active model. Note that a "*" symbol can be placed after the filename as an indication that the current model has been changed since it was last saved.

User Manual Status Line The Status Line is located at the bottom of the main window. The Status Line displays informative messages and prompts you through multi-step operations. The Status Line will also show a progress bar when reading or saving files. Additionally, when you place the cursor over a button, menu, or other control on the user interface, the Status Line displays a brief description of the purpose of that item.

Graphics Area

Graphics Area Introduction

The Graphics Area fills the largest portion of CFD-ACE+ and displays the current model in a viewer window. The display consists of a wire-frame representation of the model outline, the boundary condition locations, and the volume condition locations.

For structured grids, boundary conditions are displayed as lines or curves in 2D and cross-hairs centered on the boundary patch in 3D. Structured volume conditions are displayed as cross-hairs in 2D and three-dimensional cross-hairs in 3D.

For unstructured grids, boundary conditions are displayed as lines and curves in 2D and as the bounding elements of each surface in 3D. For both structured and unstructured grids, the boundary and volume conditions are colored to correspond to the boundary or volume condition type. Note that volume conditions are displayed by fringe cells. The Graphics Area section includes:

• Working with the Viewer Window

• Mouse Operations

• Viewing Operations

• Picking Operations

Graphics Area Working With the Viewer Window

The viewer window is a Multiple Document Interface (MDI) Window, which means that the application can open more than one model at a time.

Opening Multiple Viewer Windows

You can have more than one viewer window open at a time by opening several different models. You can also view an open file in several windows by selecting New Viewer from the Windows menu.

Arranging Multiple Open Viewer Windows

The Windows menu contains three selections that arrange multiple open image windows: cascade, tile horizontally and tile vertically. These commands only affect the non-minimized windows.

Page 23: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

11

Selecting a Viewer Window

Only one viewer window can be active at a time. The active viewer window receives all picking commands. You can select any viewer window by clicking on it. When a viewer window is selected it appears on top of any other viewer windows, the title bar is highlighted, and the filename appears in the main window’s title bar. If the file has been modified then the filename will appear with an “*” beside it.

See Also

Mouse Operations

Viewing Operations

Picking Operations

Graphics Area Mouse Operations

The mouse has two functions in the viewer window, manipulating the on-screen image (viewing operations) and selecting on-screen objects (picking operations). The general procedure for manipulating the on-screen image is to simultaneously hold down one of the three mouse buttons as you move the mouse. Manipulation of an image includes rotation, zooming, or translation. To select or pick an object on the screen, move the cursor to the applicable object, hold the mouse steady and click with the left mouse button.

To facilitate your understanding of the mouse operations, the following definitions are provided:

• Click: press a mouse button and quickly release it

• Clicking: the action of pressing a mouse button and quickly releasing it

• Point and click: use the mouse to position the cursor (point) and then click a mouse button

• Double-click: press a mouse button twice in rapid succession

• Control-click: hold down the control key on the keyboard as you click a mouse button • Shift-click: hold down the shift key on the keyboard as you click a mouse button

• Drag: hold down a mouse key as you move the mouse (click but do not release the button until you have finished moving)

• Dragging: interactive technique for repositioning an image on the screen

See Also

Working with the Viewer Window

Viewing Operations

Picking Operations

Graphics Area Viewing Operations

Use viewing operations to manipulate the position and orientation of your model in the viewing window.

Rotation: Left Button

Use the left mouse button to rotate the image about the desired axis. To rotate your image, drag the mouse while holding down the left mouse button. The cursor changes shape to reflect the mode of operation.

Page 24: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

12

To rotate the model approximately about the screen X-axis:

• Place the cursor in the center of the screen.

• While holding down the left mouse button, drag the mouse up or down.

To rotate the model approximately about the screen Y-axis:

• Place the cursor in the center of the screen.

• While holding down the left mouse button, drag the mouse left or right.

To rotate the model approximately about the screen Z-axis (perpendicular to the screen):

• Place the cursor near the edge of the screen.

• While holding down the left mouse button, drag the mouse about the edge of the screen.

Zoom: Middle Button

To zoom (enlarge or reduce) a model, drag the mouse using the middle button. To enlarge the model, drag the mouse toward yourself. To reduce, drag the mouse away. Unlike rotation, however, the cursor location where you first press the mouse button on the screen is not important for zooming.

Translate: Right Button

To translate a model, using the right mouse button, drag the mouse. The model movement is proportional to the movement of the cursor. As in the zooming operation, the initial location of the cursor on the screen is unimportant.

See Also

Working with the Viewer Window

Mouse Operations

Picking Operations

Graphics Area Picking Operations

Picking Operations

While performing certain tasks, namely, assignment of volume condition and boundary condition settings, you can use the mouse to select one or more entities in the viewer window. The active entity is defined as the entity which is under the mouse cursor at the moment the mouse button is pressed. Picking operations are described below.

Page 25: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

13

Left Mouse Button

Use the left mouse button to select the active entity. To de-select all entities, press the left mouse button while the cursor is not hovering over any entity. You may perform a window pick operation by holding down the Shift-key and dragging a window with the left mouse button.

Ctrl or Shift-Left Mouse Button

Use the Ctrl or Shift-Left mouse button combination to add the active entity to the current set of entities. To select multiple entities simultaneously, hold down the Shift - Left mouse buttons and then drag the mouse over the area that contains the entities you want to select.

Right Mouse Button

Clicking the right mouse button while hovering over an entity blanks the active entity or to view the entity’s properties. Clicking the right mouse button while the cursor is not over any entity (on empty space in the background) accesses the general viewer window menu.

New Viewer

The New Viewer option creates a new viewer window for the current model. It is the same as the operation described in the section Window Menu.

The viewpoint orientation, Fit to Window, and Reset View options are the same as described in the section View Menu.

The Show All Domains and Hide All Domains options unblank or blank all of the entities from the viewer window.

The Simulation Properties... option opens a dialog box that gives details about the current simulation and the ability to scale the geometry of the model. See the FAQ section for more details on how to scale your geometry in CFD-ACE-GUI.

Page 26: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

14

See Also

Working with the Viewer Window

Mouse Operations

Viewing Operations

Menu Bar

Menu Bar Introduction The Menu Bar contains menus. Each menu lists a grouping of selections, and each selection performs a specific action.

You open a menu by clicking on it, or by pressing <Alt> plus the letter that is underlined in the menu’s title. For example, to open the File Menu, you press Alt+F. You choose a menu selection by clicking on it, by pressing its underlined letter, or by using the cursor arrow keys to highlight it and then pressing <Enter>. Menu selections that appear in grey are not currently available.

Many of the menu options contain shortcuts. These shortcuts will be shown on the menus (for example, Ctrl+o for File -> Open). This means that if you hold down the Control key and press the letter o (always lowercase), you will be able to perform the same function as selecting File from the Menu Bar and selecting the Open option.

See Also

File Menu

Edit Menu

View Menu

Models Menu

Tools Menu

Window Menu

Help Menu

Page 27: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

15

Menu Bar-File Menu

Menu Bar File Menu Introduction

The File menu enables you to open, import, close, and save existing models. It also displays a list of recently used files for opening a previously saved simulation. You can clear the most recently used files list from the File Preferences area located in the Edit Menu (see Recently Used Files). The File Menu includes:

• Open

• Import

• Close

• Close All

• Save

• Save As

• Save Journal File As • Quit

File Menu

Menu Bar File Menu-Open

The Open option loads ESI CFD Data Transfer Facility (DTF) files that have been previously created by a grid generator such as CFD-GEOM, or DTF files that have already been setup by the CFD-ACE-GUI. The File Open dialog box is shown below.

Page 28: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

16

File Open Dialog Box

You can navigate through the file directory structure by using the Directory pull-down menu and directory Up buttons. The default file filter is *.DTF so that only DTF files will be shown. This can be changed to show all files if desired. The file list can be set to display the files as a list, icons, or with details.

To Open a file, double-click on the filename in the file list; or, select the file from the file list, and click the Accept button. The Open option is also available from the Tool Bar (see File I/O).

Menu Bar File Menu-Import

The Import option opens geometries that have been created in one of the formats listed under the Source section. When selected, the Open Data File window appears:

Page 29: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

17

Open Data File Window

You can navigate through the file directory structure by using the Directory menu and directory up buttons. There are twelve options available from the file filter menu including an All Files Filter. If you select one of the radio buttons or check boxes at the top of the dialog, the file filter will update automatically. Similarly, if a selection is made from the file filter menu that option under Source corresponding to the selection is also selected.

CFD-ACE-GUI reads the following file types:

• Plot3D

• FAST

• MeSH

• NASTRAN

Page 30: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

18

• PATRAN

• ANSYS

• MFG

• AGRD

• CGNS

To read in a particular file type, activate the corresponding radio button in the Source section for the Open Data File dialog. The following file types require that additional information is provided:

• Plot3D

• FAST • NASTRAN

• PATRAN Menu Bar File Menu-Close

The Close option closes the active simulation. If modifications have been made to this simulation during the current CFD-ACE-GUI session, then a dialog box will appear to ask if you want to save the current simulation before closing.

Menu Bar File Menu-Close All

The Close All option closes all simulations loaded in the CFD-ACE-GUI.

Menu Bar File Menu-Save

The Save option saves the simulation into the original DTF file. Any changes that have been made during the current CFD-ACE-GUI session will be written to the DTF file. The Save option updates the original DTF file with the new information. If you want to preserve the original DTF file then you should use the Save As option. The Save option is also available in the Tool Bar.

Menu Bar File Menu-Save As

The Save As option works the same as the Save file option, except that it allows you to specify a directory and filename. The options for specifying the directory and filename are the same as for the Open File menu option. The Save As option is also available from the Tool Bar.

Menu Bar File Menu-Save Journal File

The Save Journal File option writes the current contents of the journal file to disk. In order for this option to work you must have enabled Journaling under the Tools menu.

Menu Bar File Menu-Quit

The Quit option closes all simulations and terminates the application. If there are any simulations with unsaved data then a dialog box appears asking if you want the simulation saved before closing.

Page 31: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

19

Unsaved Changes Dialog Box

Menu Bar-Edit Menu

Menu Bar Edit Menu Introduction

The Edit menu enables you to undo operations for blanking, picking, and de-selecting entities, and provides Preferences. The Edit Menu contains the following options:

• Undo

• Select All

• Deselect All

• Blanking

• Preferences

Edit Menu

Menu Bar Edit Menu-Undo

The Undo option enables you to undo blanking and unblanking operations. The Undo option is also available from the Tool Bar (see Undo).

Menu Bar Edit Menu-Select All

The Select All option picks every available entity in the model. Its behavior is different depending on whether you are in volume condition mode or boundary condition mode. If you are in volume condition mode then Select All will pick all of the volume conditions in the model, and likewise, when in boundary condition mode Select All will pick all of the boundary conditions in the model.

Menu Bar Edit Menu-Deselect All

The Deselect All option clears the pick buffer so that no entity is picked.

Page 32: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

20

Edit Menu-Blanking Functions

Menu Bar Edit Menu-Blanking Introduction

The Blanking option opens a sub-menu that provides four options:

• Edit Menu-Blank • Edit Menu-Unblank

• Edit Menu-Blank Remaining

• Edit Menu-Toggle Blanking

Menu Bar Edit Menu-Blank

The Blank option blanks or hides an entity from display. Boundary conditions or volume conditions can be blanked so that they are not visible in the viewer window. Blanked entities are still part of the model and can be picked from the Model Explorer. The blank column in the Model Explorer will show an indication for blanked entities.

To blank an entity, click the right mouse button on the entity in the Viewer Window or right click the entity name in the Model Explorer. Menu Bar Edit Menu-Unblank

The Unblank option displays an entity that has been hidden or blanked. Since the entity cannot be seen or picked from the viewer window, you must pick the entity from the Model Explorer and then select Unblank to make the entity visible. Menu Bar Edit Menu-Blank Remaining

The Blank Remaining option blanks everything that is not currently picked. This enables you to pick the entities that you want to work with and then use Blank Remaining to remove everything else from view. Menu Bar Edit Menu-Toggle Blanking

The Toggle option reverses the state of the blank flag for each entity. When selected, all unblanked entities are blanked and all blanked entities are made visible.

Edit Menu-Preferences

Menu Bar Edit Menu-Preferences Introduction

The Preferences options enables you to set global settings for CFD-ACE+. These preferences will be remembered the next time you start the CFD-ACE+ software. You can set the following preferences:

• Preferences-Files

• Preferences-Display

• Preferences-Colors

• Preferences-Tools

• Preferences-Script

Page 33: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

21

Edit Menu-Preferences-Files

Menu Bar Edit Menu-Preferences-Files Click the Files tab to gain access to the File Preferences settings. There are three sections in the File Preferences area:

• Recently Used Files

• Backups

• User Files

File Preferences

Menu Bar Edit Menu-Preferences-Recently Used Files

Under Recently Used Files, click the Clear button to clear the most recently used files that appear in the File menu. Menu Bar Edit Menu-Preferences-Backups

In Backups you can choose three levels of backup file protection:

Page 34: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

22

• Backup Copy Before Save copies the original DTF file to model.backup.DTF before the CFD-ACE-GUI saves the current file. This enables you to keep a fresh version of the DTF file for later use. The Backup File will not contain any CFD-ACE-GUI settings.

• Archive File copies the current file to model.archive.DTF when the solver is launched. The Archive File will have all of the CFD-ACE-GUI settings stored as it is essentially a copy of the model.DTF. This file can be retained as an archive since it has all of the settings needed to run the simulation yet does not contain the results of the simulation. The Archive File recovers the CFD-ACE-GUI settings in the rare event that the solver corrupts the original DTF file.

Menu Bar Edit Menu-Preferences-User Files

User Files enables you to specify the location of the user defined Property, Reaction, Surface Reaction, and Material database files. These files are used by their respective database managers and enable you to maintain a database of often used properties or reactions. If the full path to the files are not given then the CFD-ACE-GUI will look in the current working directory to find these files.

The Browse button, located next to the file field, launches a file browser that browses the file system to find a file. Edit Menu-Preferences-Display

Menu Bar Edit Menu-Preferences-Display Introduction

Press the Display tab to gain access to the Display preference settings. There are four sections in the Display Preferences area:

• Display-Boundary Conditions (3D Models Only)

• Display-Volume Conditions (2D Models Only)

• Display-Lines

• Display-Miscellaneous

Page 35: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

23

Display Preferences

Menu Bar Edit Menu-Preferences-Display-Boundary Conditions

Boundary Conditions enables you to choose to display the boundary conditions as a wireframe or solid-shaded surface. Wireframe drawing is much faster and allows you to see through the model while solid-shaded surfaces shade the model. This option only affects 3D models as boundary conditions for 2D models are always drawn in wireframe.

See Also

Preferences-Display-Volume Conditions (2D Models Only)

Preferences-Display-Lines

Preferences-Display-Miscellaneous Menu Bar Edit Menu-Preferences-Display-Volume Conditions

You may choose how you want to display unstructured volume conditions. If you check Draw fringe cells in 2D unstructured cell groups, the unstructured grid will be drawn and will be pickable. If the option is off, the unstructured volume conditions are represented by normal vectors along the boundaries of the volume condition.

Page 36: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

24

The Draw Arrow Pointers on 3D Unstructured Cell Groups option shows normal vector arrows at the boundaries of the 3D unstructured volume conditions. This display mimics the type of display that you see in CFD-GEOM.

See Also

Preferences-Display-Boundary Conditions (3D Models Only)

Preferences-Display-Lines

Preferences-Display-Miscellaneous Menu Bar Edit Menu-Preferences-Display-Lines

The Draw Model Outlines options enables you to see the wireframe outline of the current model. You may also select the line thickness to be used when the CFD-ACE-GUI draws thick lines (as when picking a boundary or volume condition). The default value is 2 pixels.

See Also

Preferences-Display-Boundary Conditions (3D Models Only)

Preferences-Display-Volume Conditions (2D Models Only)

Preferences-Display-Miscellaneous Menu Bar Edit Menu-Preferences-Display-Miscellaneous

You can choose whether or not to use your graphics card's hardware acceleration for OpenGL drawing. In most instances you want to use this acceleration as it will speedup the graphics manipulation in the viewer window. If you experience unsatisfactory performance with the viewer window, you may want to disable this feature. This change will not take affect until the CFD-ACE-GUI is restarted.

You can select the Picking Tolerance in pixels. This lets you set the sensitivity of picking by allowing the application to recognize that an entity has been picked when you get within the specified tolerance. Smaller numbers will be more sensitive than larger numbers. The default value is three pixels.

See Also

Preferences-Display-Boundary Conditions (3D Models Only)

Preferences-Display-Volume Conditions (2D Models Only)

Preferences-Display-Lines Menu Bar Edit Menu-Preferences-Colors

The Preferences Colors tab enables you to change the colors for drawing boundary conditions, volume conditions, and other miscellaneous entities.

Page 37: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

25

Color Preferences

To change any color, double-click on the color well located next to the item’s label. The Color Dialog window appears.

Page 38: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

26

Color Dialog Panel

You can change the color by adjusting the slider bars or typing in the appropriate value for the color attribute. There are four different ways to specify colors and the method is switchable by using the tabs located near the top of the panel. The four methods are: 1) Red-Green-Blue, 2) Hue-Saturation-Value, 3) Cyan-Magenta-Yellow, and 4) by Name.

You can also quick-pick a color from any of the color wells that line the bottom of the panel, or drag and drop colors from any color well to any other color well. Menu Bar Edit Menu-Preferences-Tools

The Tools enables you to specify which applications to launch for certain operations. It allows you to pick a customized solver when using the user subroutine. If no path is given, then the system’s path will be searched to find the application. To browse the file structure, click the Browse button.

Tool Preferences

Menu Bar Edit Menu-Preferences-Script

The Script tab enables you to turn on the journaling feature and specifies the python script directory. When the Journaling feature is activated, CFD-ACE-GUI records all user interactions to a python script file. This file can later be read back into the CFD-ACE-GUI program to reproduce the steps. The Journaling feature may be turned on and off during the recording session to allow only certain parts of the interaction to be recorded. Because the results are written into an ASCII python file, you may edit the commands in the file to achieve different affects when processing the file.

To produce the final journal file, select File -> Save Journal File to save the resulting python script file (model.py).

Page 39: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

27

In the Python Script Directory area, you can specify the location of the Python Script files. If the full path to the files is not provided, then CFD-ACE-GUI looks in the current working directory to find these files.

The Browse button launches a file browser to enable you to browse the file system to find a file.

Script Preferences

Menu Bar View Menu

The View menu controls the appearance of the CFD-ACE+ layout and the model orientation and size within the viewer window. The View menu has three sections. The top section enables you to pick one of six viewpoints.

• Front - Looks at the X-Y plane from the positive Z direction

• Back - Looks at the X-Y plane from the negative Z direction

• Left - Looks at the Y-Z plane from the negative X direction

• Right - Looks at the Y-Z plane from the positive X direction

• Top - Looks at the X-Z plane from the positive Y direction

• Bottom - Looks at the X-Z plane from the negative Y direction

Page 40: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

28

View Menu

It controls which parts of CFD-ACE+ are visible in the applications window. The Graphics Area and Menu Bar are always visible. You have control over the visibility of the Toolbar, Control Panel, Status Bar, and Model Explorer. These settings are saved to the registry and will be remembered the next time that the program is started.

The next section enables you to Fit the current model to the Viewer Window size by automatically zooming to fit. The Reset option will reset the viewpoint back to Front view with the model fit to the Viewer Window size. These options are also accessible from the Tool Bar (see Viewpoint).

Projection controls the projection option for the viewing window. The default projection method is Orthogonal (or parallel). You may choose a Perspective projection to give more depth information. When Perspective projection is selected, you may change the field-of-view angle by holding down the Ctrl key and dragging up or down with the middle mouse button. These options are also accessible from the Tool Bar (see Projection).

The last section contains one option, Turbo. Turbo blanks the model during in the viewer window during its motion. This proves to be very useful when working with large models. The model outline is not blanked. Only the boundary conditions and volume conditions are blanked.

Menu Bar Models Menu

Active Mixtures & Species

When you select the Active Mixtures & Species option from the Models Menu, the Active Mixtures & Species window appears with a Mixtures tab and a Species tab.

Active Mixtures & Species Window - Mixtures Tab

Page 41: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

29

Active Mixtures & Species Window - Species Tab

These options enable you to view, add, or delete mixtures and species to those that you created in the Database Manager that reside in the Modelname.DTF folder. The Data Transfer Facility (DTF) will not save any mixtures or species data that are not used or are not activated in the Active Mixtures & Species window. As the name implies, DTF only saves the active mixtures and species. For example, if you run a solution with ALCL3 species selected, DTF saves the species with the solution. HOWEVER, if you restart from a previous solution and ALCL3 has not been activated, DTF will not save the species with the solution.

Menu Bar-Tools Menu

Menu Bar Tools Menu Introduction

The Tools menu enables you to set database options, enter parametric information, and edit python scripts. The options include:

• Tools Menu-Database

• Tools Menu-Parametric Input

• Tools Menu-View DTF Content

• Tools Menu-Edit Python Script

• Tools Menu-Run Script

Page 42: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

30

Tools Menu

Menu Bar Tools Menu-Database

The Database option opens the database manager for Properties and Chemical Reactions. The tools menu also allows you access to the parametric input functionality.

The Database managers (Property Manager, Reaction Manager, Surface Reaction Manager, Material Manager, and the Chemkin Interface) are described in the Database Manager.

Menu Bar Tools Menu-Parameter/Expression Input

Parameter Input

In V2007, CFD-ACE+ supports parametric runs through CFD-ACE-GUI. Parameters can be used for almost all value input through CFD-ACE-GUI. This eliminates the need to use SimManager to run some parametric analyses. However, SimManager should be used for parametric runs which use both geometric and solver parameters or optimization studies. Creating a Parameter

To create a Parameter, open the Parametric/Expression dialogue in Tools −> Parametric Input and shown in Figure 1. Click the Insert or Append button to create a new Parameter

Page 43: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

31

Figure 1. Parameter/Expression input window

Once the Parameter has been created, input the values or expressions to be used. You can now use this parameter for BC, VC, or other values. You will need to click the drop down box available for GUI inputs and select the parameter. To add the parameter to the parametric study, click the check box located in the Add to Parametric Study column. This will make the parameter active when you provide the parametric values on the Run tab. Submitting a Parametric Study

To create and submit the parametric study, go to the Run tab. Select the Parametric Study option. You will then need to click insert or append button to insert a case. Click insert or append to add a new case to be run, as shown in Figure 2.

Page 44: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

32

Figure 2. Parametric study window.

Once you have entered all the case studies, click the submit button to submit all of the cases to the solver. Note that, you must click the submit button on the Parametric Study Dialogue to submit the parametric study (the cases will be submitted sequentially to the solver). If you submit the run by clicking the submit button on the Run panel, only one case will be run (Case 1 in the parametric study list).

Note: The Insert button will create a new Parameter in the current location in the list, while the Append button will create a new Parameter at the end of the list.

Expression Input

When you select Parametric Input, the Parameter/Expression panel appears. You can also access the panel in CFD-ACE-GUI where parameter's input is needed.

The Parameter/Expression Input Panel allows you to enter values for parameters which are later used in several inputs for specification of variables. Expression values can be used to set a time step size, boundary condition values for flow, heat, turbulence, etc. The expression value is evaluated at the beginning of each time step. You can specify the expression value to be user_defined and use a user subroutine to calculate the value of the expression. See User Subroutines for details.

Parameter Description

SIN(a) Returns the sine of the argument (the argument should be given in radians)

Page 45: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

33

COS(a) Returns the cosine of the argument (the argument should be given in radians)

TAN(a) Returns the tangent of the argument (the argument should be given in radians)

ASIN(a) Returns the arcsine of the argument (in radians)

ACOS(a) Returns the arccosine of the argument (in radians)

ATAN(a) Returns the arctangent of the argument (in radians)

SQRT(a) Returns the square root of the argument

ABS(a) Returns the absolute value of the argument

EXP(a) Returns exponential of the argument

PI Returns the value 3.1415927

STEP(a) Returns 0 if a<0 and 1 if a >= 0

DELT(a) Returns 0 if a <0, 1 if a=0, 0 if a>0

TIME or T Returns the current time (in seconds)

TSTP Returns the current timestep number

ITER Returns the current iteration

INT(a) Returns the integer remainder of the argument

X Returns the boundary face X coordinate (in meters)

Y Returns the boundary face Y coordinate (in meters)

Z Returns the boundary face Z coordinate (in meters)

XO Returns the boundary nodal X coordinate for the previous timestep (in meters)

Page 46: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

34

YO Returns the boundary nodal Y coordinate for the previous timestep (in meters)

ZO Returns the boundary nodal Z coordinate for the previous timestep (in meters)

XOO Returns the original (beginning of simulation) boundary nodal X coordinate (in meters)

YOO Returns the original (beginning of simulation) boundary nodal X coordinate (in meters)

ZOO Returns the original (beginning of simulation) boundary nodal X coordinate (in meters)

user_defined Returns value as coded in user subroutine.

To use expressions, click the Add button, give the expression a name, and specify how it should be evaluated. Expressions can be used later during the evaluation of other expression. You can use these expressoin later in CFD-ACE-GUI setup for any boundary or volume condition that has an evaluation mode of Parametric.

Some examples of expression input include:

V_1 = 4.23*SIN(32.6*PI*T)

V_2 = user_defined

V_3 = V_1*100.0

Menu Bar Tools Menu-Special DTF Update

The Special DTF Update option is available to activate certain features which may not be available in CFD-ACE-GUI. These features may be new features that have not been implemented in CFD-ACE-GUI. This tool offers a shortcut to the DTF -ud command. All variables which can be updated with the DTF -ud command can be updated using this Special DTF Update tool (i.e. all simulation data [max iterations, convergence criterion, etc.]).

Menu Bar Tools Menu-View DTF Content

The View DTF Content options opens the DTF viewer where the current DTF file is displayed in the tree list.

Menu Bar Tools Menu-Edit Python Script

The Edit Python Script options opens the script editor window for CFD-ACE-GUI scripting.

Menu Bar Tools Menu-Run Script

The Run Script option runs a script that you have created.

Page 47: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

35

Menu Bar Window Menu

The Window menu controls what is seen in the Graphics Area. New Viewer makes a copy of the current viewer window and contains the current model. This is a second viewer of the same model and you can pick in either viewer. It allows you to view the model from two or more orientations to facilitate picking operations.

The Tile Horizontally, Tile Vertically, and Cascade options control the placement of the viewer windows in the Graphics Area.

The final options of the Window menu lists the viewer windows that are currently under management. The filename of the model contained in each viewer window is given followed by a colon and the viewer sequence number. If the same model is shown in multiple viewer windows, then the sequence number will be incremented. A check mark appears next to the active window and the active window can be changed by picking from this list.

Window Menu

Menu Bar Help Menu

The Help menu opens the CFD-ACE+ help system and provides access to ESI Group’s corporate website. It also provides information about the version of CFD-ACE+ that you are using.

The ESI CFD on the Web option launches a web browser that specified in the Preferences -> Tools area, or associated with web pages for Windows platforms, and automatically load ESI CFD’s homepage.

The About CFD-ACE+ option shows a dialog box that contains version information about the CFD-ACE+ application, libraries, platform, and the date the application was compiled. Information about how to contact ESI CFD is also available.

Help Menu

Tool Bar

Tool Bar Introduction

The Tool Bar contains buttons that are used as shortcuts to several of the same items accessible from the Menu Bar. It includes:

Page 48: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

36

• Tool Bar-Files Open, Save, Save As

• Tool Bar-Undo

• Tool Bar-Viewpoint

• Tool Bar-Projection

• Tool Bar-Colors • Tool Bar-Solver Control

• Launch CFD Software

• About CFD-ACE-GUI

Tool Bar Layout

Tool Bar File Open, Save, Save As

The File buttons provide quick access to the same functions listed in the File Menu. The buttons represent the Open, Save, and Save As commands.

Tool Bar Undo

The Undo button blanks and unblanks operations. It is also available in the Edit Menu-Undo.

Undo Button

Tool Bar Projection

The Projection buttons control whether the viewer window is drawing the image with a parallel or perspective projection. These options are also available in the View Menu.

Projection Buttons

Tool Bar Viewpoint

The Viewpoint buttons orient the viewpoint to one of the six views. These options are also available in the View Menu.

Page 49: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

37

Viewpoint Buttons

Tool Bar Colors

The Colors button launches the Color window and changes the viewer window’s background color. Select any color in the Color window with the left mouse button and drag that color into the background of the viewer window. Release the left mouse button to drop the color onto the background. See Edit Menu-Preferences-Color for more information on the Color window.

Colors Button

Tool Bar Solver Control

The Solver Control button access the same functions listed on the Run Controls page of the Control Panel.

Tool Bar Launch CFD Software

The Launch CFD software buttons launch CFD-GEOM and CFD-VIEW. The location of these executables is set to $CFDRCDIR/bin. You can change the executables in the Preference panel. If a DTF file is selected in the CFD-ACE-GUI, CFD-VIEW will be launched with the DTF file opened.

The DTF Tree View, Launch Python Script Editor and Run Script buttons are also available in the Tools Menu.

Page 50: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

38

Launch CFD Software Buttons

Tool Bar About CFD-ACE+

The About CFD-ACE+ button provides access to the CFD-ACE+ functions found in the Help Menu.

Control Panel

Control Panel Overview

The Control Panel is the center of CFD-ACE+. All of a model's physical and numerical settings are made through this panel. There are eight distinct panels within the Control Panel.

• Problem Types (PT)

• Model Options (MO)

• Volume Conditions (VC)

• Boundary Conditions (BC) • Initial Conditions (IC)

• Solver Controls (SC)

• Output Options (OUT)

• Run Controls

The Control Panel tabs determine which of these pages is active and provide access to different areas of each page. In most cases the tabs signify module-specific information.

The Control Panel is designed to provide an environment for problem setup and will only show information that is pertinent to the current simulation. For this reason, the figures in the rest of this help section may or may not match exactly what you see in your CFD-ACE+ session. The Module-specific settings are discussed in the Module section of online help.

Control Panel-Problem Type (PT)

Control Panel Problem Type

The Problem Type panel displays a list of solver Modules. The Modules are described in detail in the Modules section of this online help. The standard CFD-ACE+ package includes the following:

• Flow

• Heat Transfer • Turbulence

• Chemistry

• User Scalar

• Radiation

• Spray

• Free Surfaces (VOF)

• Two-Fluid

• Cavitation

• Grid Deformation

Page 51: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

39

• Kinetics

• Semi Device

The following modules are available as add-ons. Visit the ESI Group web site for additional information or to contact a sales representative:

• Stress

• Plasma

• Electric

• Magnetic

• Macro Particle

The Problem Type setting mode allows you to pick the Modules to be used for the simulation. The window below shows the Problem Types.

Page 52: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

40

Problem Type Page in Module Selection Mode

Control Panel-Model Options (MO)

Control Panel Model Options Introduction

The Model Options panel enables you to set Shared and Module-specific options. Depending on the modules you have selected in the PT panel, other tabs may be displayed. If so, they are described in the Modules section. The following sections appear on the Model Options Shared tab:

• Simulation Description

• Polar/Axisymmetric

• Transient Conditions

• Body Forces

• Rotation

Page 53: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

41

Model Options Panel

Since the settings in the Model Options page are Module-specific, except the Shared tab, information pertaining to them is in the Modules section. Shared Tab

The Shared tab of the Model Options panel controls parameters that affect all Modules and all grid regions in the simulation. They include the polar nature of a 2D problem, time dependence, body forces and rotation reference are controlled through this panel. The Model Options figure shows the Model Options page in the Shared settings mode.

Control Panel Model Options-Simulation Description

The Simulation Description section enables you to enter a name for your simulation.

Control Panel Model Options-Polar/Axisymmetric

The Polar/Axisymmetric option is valid for any 2D grid systems. Selecting the axisymmetric option indicates that the complete geometry is defined by an angular rotation of the model one radian about the x-axis. The x-y coordinate system is recast as a x-r coordinate system.

Page 54: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

42

Control Panel Model Options-Transient Conditions

The Transient Conditions (or time dependence) section of the Model Options panel contains time dependence, transient time step, and time accuracy. Time Dependence

You can set the Time Dependence of the problem by selecting one of the following options from the pull-down menu:

• Steady - for steady-state simulations

• Transient - for time-accurate or unsteady simulations Transient Time Step

When you select the Transient option in the Time Dependence section, the Transient Time Step panel appears and enables you to pick an evaluation method for calculating the time step. There are four evaluation methods to choose from:

• Standard - allows you to pick the number of time steps and each time step size (the time step size will remain constant throughout the simulation).

• Parametric Input - allows you to set the time step size based on a parameter defined in the Tools->Parametric Input section. See Tools Menu for more information regarding input of parameters.

• User Sub (udt) - allows you to program your own user subroutine (udt) to control the timestep size based on your coding in the subroutine.

• Auto Time Step - is available for any problem except those in which the Stress Module has been activated. This evaluation method enables you to specify the start and end time of the simulation an Error Criterion (values in the range of 1e-4 to 1e-3 are usually suitable) and an initial time step size. When the VOF Module is selected you must a target CFL number instead of an Error Criterion. When this time step evaluation method is employed, the solver will automatically adjust the timestep size in order to try to match either the Error Criterion or the Target CFL number (in the VOF context, the target CFL number represents the percent of a cell over which the VOF front can traverse). You will also be able to set minimum and maximum timestep sizes to constrain the automatic timestep calculation.

where:

ε represents error criteria

d represents weighted RMS Norm for all the variables solved and calculated as

Page 55: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

43

where:

u and v are two components of velocity

N is the total number of cells (vector length)

umax = max|(u)| and similarly for other variables

o represents values for old time step

Time Accuracy

The Time Accuracy (temporal differencing) section provides a pull-down menu with the following options:

• Euler(1st Order) The default is backward Euler. The differencing is performed in the following manner

where n is the timestep and i is the current cell in which the computation is being performed for variable f. k corresponds to the diffusion coefficient.

• Crank-Nicolson (2nd Order) - Enables you to enter a blending factor. A blending factor of 0.5 produces pure Crank-Nicolson differencing and a blending factor (β) of 1.0 produces pure backward Euler. The default value is 0.6. The differencing is performed in the following manner

where n is the timestep and i is the current cell in which the computation is being performed for variable f. k corresponds to the diffusion coefficient.

Control Panel Model Options-Body Forces

Activating Body Forces (or gravity) can be done in one of two ways:

• Non-Boussinesq Approximation - relies on a change in fluid density to provide gravitational source terms,

• Boussinesq Approximation - can be used with constant density fluids.

For either case, you must enter the gravity vector to determine the direction and strength of the gravity field.

The Non-Boussinesq Approximation produces a source term to the momentum equations of the form:

Si = gi(ρ -ρref)Vol (1-1)

The ρref value can be input by the user or calculated automatically by the code in some situations. ρref should be chosen so as to remove the need to specify a hydrostatic pressure variation at the exit boundaries (i.e., if ρref = density at the exits then the source term at the exits goes to zero and you can apply a constant pressure at the exit boundaries rather than a hydrostatic variation.) In effect you are acknowledging that the hydrostatic variation is a constant in the solution and subtracting this variation from the solution.

Page 56: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

44

For the Non-Boussinesq approximation to work, density must vary (otherwise the source term is a constant). So you must ensure that density is a function of temperature or use ideal gas law.

The Boussinesq approximation also adds a source term to the momentum equations, but the source term is independent of the density variation. The source term is a function of the temperature variation as follows:

Si = giρVol( T-Tref)Beta (1-2)

where Beta is the thermal expansion and is normally set to 1/Tref. As you can see, the source term is dependent on the density, but density does not have to vary to cause an effect. This approach can be used for (almost) incompressible liquids.

Control Panel Model Options-Rotation Reference

Rotation is a body force term and its use and implementation is defined in Rotating Systems.

Control Panel-Volume Conditions (VC)

Control Panel Volume Conditions Introduction

The Volume Condition (VC) panel enables you to set material properties and source terms on a volume-by-volume basis. For 3D grid systems (in CFD-GEOM terms), every structured or unstructured domain is a separate volume condition. In 2D grid systems, every structured face or unstructured loop is a separate volume condition. Before you can set volume conditions, you must activate Volume Conditions by one of the following methods:

• Viewer Window - To pick from the viewer window, place the mouse cursor over a Volume Condition handle (usually cross-hairs or normal vectors) and click the left mouse button. To select more than one volume condition at the same time, hold down the Ctrl key while picking with the left mouse button.

• Model Explorer -To pick from the Model Explorer, use the left mouse button to select a Volume Condition. To select more than one volume condition at the same time, hold down the Ctrl key while picking with the left mouse button. A continuous multiple pick can be made by picking one item from the Model Explorer and then holding down the Shift-key and picking another item. In this case every item between the first and second items will be picked. See Graphics Area-Picking Operations for more details on picking from the viewer window or Model Explorer.

When you have selected one or more volume conditions, you must select the Volume Condition Setting mode to set parameters for the currently selected volume conditions. Change the Setting Mode by selecting from the Setting Mode pull-down menu. There are several options available:

• Properties - set solid and fluid material properties

• Biochem - set bio-chemistry sources (see Bio-Chemistry Module)

• E-Plate - set electroplating sources (see Electroplating Module) • Momentum Resistance - Set an isotropic momentum resistance to be applied over

the volume condition (see Momentum Resistance and Enhancement chapter)

• Porous Media - Set the properties for porous media calculation (see Porous Media)

• Flow - set flow equation source terms (see Flow Module)

• Heat - set energy equation source terms and moving solid parameters (see Heat Transfer Module)

Page 57: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

45

• Scalar - set user scalar equation source terms (see User Scalar Module)

• Species - activate user defined source term for all species equations (see Chemistry Module)

• Stress - activate stress solution, set some stress options (see Stress Module)

• Magnet - simulate electromagnetic coils (see Electromagnetics Module)

In most cases only the Properties mode will be used. The other modes are only accessible if their parent modules are activated. These modes are only for special circumstances and are discussed in each Module’s chapter. After you pick a volume condition and the select Volume Condition Properties mode, the Volume Condition setting panel appears (shown below).

The Volume Condition section includes:

• Volume Condition-VC Setting Mode Menu

• Volume Condition-Properties Menu

• Volume Condition-Fluid Subtype Menu

• Volume Condition-Property Sources Menu

• Volume Condition-Material Name

• Volume Condition-Phys-Density

• Volume Condition Reset, Apply, and OK Buttons

Page 58: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

46

Volume Conditions Panel

Control Panel Volume Conditions-VC Setting Mode Menu

The VC Setting Mode menu enables you to set the volume condition mode to Properties, Flow, Porous Media, Momentum Resistance, Heat, or Species. Based on your selection, the remaining portion of the Volume Condition panel will display differently and enable you to specify specific parameters.

Page 59: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

47

VC Setting Mode Menu

Heat Option

When the VC Setting Mode is set to Heat you can specify energy sources in one or more volumes of your model. There are several different ways in which the sources can be set. They are:

• Fixed Source (Volumetric) - This option should be used when you know the heat generation rate per unit volume. This quantity is the only input required. This heat source will be added uniformly over each volume selected. The total source will be equal to the heat generation rate multiplied by the total volume of the volumes selected.

• Fixed Source (Total) - This option should be used when you know the total heat generation rate that occurs within a particular volume. This heat source will be applied uniformly over each volume selected. If you specify a 5 watt heat source and select two volumes then each volume will have a 5 watt source applied for a total source of 10 watts.

• Fixed Temperature - Use this option to fix the temperature over an entire volume to the specified value. The only input required is the desired temperature. You should use caution in applying this option to a chemically reacting flow as this type of specification applied to a gas volume will most likely be inconsistent with the chemistry solution.

• General Source (Volumetric) and General Source (Total) - These options can be used when you want to provide a source term that is dependent upon the enthalpy level within each cell of the volume. For details, see Numerical Methods-Discretization-Direct Specification of Source Terms. The only difference between the two options is that the first is multiplied by the cell volume and the second is not.

• User Defined (usource) - If you select this option you can use the user subroutine facility to provide your own programming to specify the source term.

Control Panel Volume Conditions-Properties Menu

The Properties menu enables you to set volume conditions to:

• Fluid - Use the Fluid option for flow and heat transfer problems.

• Solid - Use the Solid option for problems that have no flow.

Page 60: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

48

• Block - Use the Block option for no flow and no heat transfer and for regions of the model that contain mesh but are not intended to be solved. These types of regions may result from the grid generation process, for example, extrusion, or from desired visualization. When the simulation is started, block cells are not included into the active list of cells to be solved and therefore do not add memory overhead to the model.

If you have activated the Free Surfaces (VOF) or Two-Fluid modules, you can also activate a second fluid for the volume condition.

Properties Menu

Control Panel Volume Conditions-Fluid Subtype Menu

The Fluid Subtype menu appears if you have selected the Fluid option from the Properties menu above it. It enables you to specify the fluid subtype as gas or liquid.

Fluid Subtype Menu

Control Panel Volume Conditions-Property Sources Menu

The Property Sources Menu enables you to choose one of the following options:

• User Input - enables you to add your own property source name to the material

• Import From Database - provides a navigation button and enables you to select a predefined property source.

Page 61: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

49

Property Sources Menu

Control Panel Volume Condition-Material Name

Based on what you have selected from the Properties menu (Fluid, Solid, or Block), the Material Name field will appear differently. For example, if you have chosen Fluid from the Properties menu, the Material Name field will appear as:

Gas Material Name

If you have chosen Solid from the Properties menu, the Material Name field will appear as:

Solid Material Name

Enter a material name in the field.

Control Panel Volume Conditions-Phys-Density

The Phys tab, Density section enables you to assign a volume condition name and the methods for calculating various material properties. The Properties section will appear differently based on whether you have selected fluid or solid volume conditions and which modules are active. To learn more about properties, see the Properties section for that specific module. For example, under the Heat tab you will see the property Specific Heat. To learn more, go to the Heat Transfer Module, Properties section.

Each property has a region on the Volume Conditions page that contains several elements. Shown below is a typical volume condition property region (this one is for density).

Page 62: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

50

Phys Tab - Density

All of the property regions have a title that describes the property being represented in this region. The Evaluation Method pull-down menu enables you to select the method for calculating the property. Further information on the types of evaluation methods available for each property are discussed in the Module sections.

If the evaluation method selected requires additional information, it will appear within the region. A variable name is the same name used for graphical output. An additional field enables you to enter values for the variable name.

Control Panel Volume Conditions-Reset, Apply, OK

The Reset and Apply buttons control the settings for the volume conditions.

• Reset - restores the settings back to the values that the Volume Condition had when it was first selected (effectively undoing any setting operations).

• Apply - saves all of the initial value settings that have been made during the current setting operation. It is important to click Apply, otherwise the settings will not be saved. If you leave this section of the CFD-ACE-GUI with unsaved changes you will receive a warning to remind you to apply the settings.

• OK - saves all of the initial value settings and de-selects the active Volume Conditions.

Control Panel-Boundary Conditions (BC)

Control Panel Boundary Conditions Introduction

The Boundary Condition (BC) panel enables you to set the computational boundary conditions for each boundary condition patch. For 3D grid systems (in CFD-GEOM terms), every structured face or unstructured loop is a separate boundary condition. In 2D grid systems, every structured edge or loop creation entity (lines, curves, or edges used to create the loop) is a separate boundary condition. Before you can set boundary conditions, you must activate Boundary Conditions by one of two methods:

• Viewer Window - To pick from the viewer window, place the mouse cursor over a Volume Condition handle (usually cross-hairs or normal vectors) and click the left mouse button. To select more than one volume condition at the same time, hold down the Ctrl-key while picking with the left mouse button.

Page 63: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

51

• Model Explorer -To pick from the Model Explorer, use the left mouse button to select a Volume Condition. To select more than one volume condition at the same time, hold down the Ctrl-key while picking with the left mouse button. A continuous multiple pick can be made by picking one item from the Model Explorer and then holding down the Shift-key and picking another item. In this case every item between the first and second items will be picked. See Graphics Area-Picking Operations for more details on picking from the viewer window or model explorer.

When you have selected a Boundary Condition and BC setting mode, the Boundary Condition panel appears. It contains:

• BC Setting Mode

• BC Type

• BC Settings

• Reset, Apply, and OK Buttons

Page 64: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

52

Boundary Conditions Panel

Control Panel Boundary Conditions-BC Setting Mode

When you have selected one or more boundary conditions, you must select a BC Setting mode from the Setting Mode pull-down menu. The menu options are:

• General - set computational boundary conditions

• Thin Wall - convert domain/domain interfaces to thin walls

• Cyclic - set up cyclic boundary condition pairs • Arbitrary Interface - set up arbitrary interface pairs

Page 65: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

53

In most cases, you will use the General mode. The other modes are only for special circumstances and are discussed in the Module's section. Since the available boundary conditions are a function of the Modules that have been selected, see the Boundary Condition section of each Module’s section for detailed information about how the boundary condition settings are used by the Module.

Control Panel Boundary Conditions-BC Type

The BC Type section determines the type of boundary condition to be applied. The following choices are available:

• Inlet

• Outlet • Wall

• Rotating Wall

• Symmetry

• Interface

• Thin Wall

• Cyclic

Boundary Conditions-Settings

Control Panel Boundary Conditions-Settings Introduction

The boundary condition setting area has a tab for each of the active Modules which require boundary values. Because the boundary condition information is different for each Module, see the Boundary Conditions section of each Module for details on implementation. Each boundary value region has several elements, as shown below (this one is for velocity).

Page 66: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

54

Boundary Value Region

All of the boundary value regions contain a title that describes the boundary value. An Evaluation Method pull-down menu enables you to select the method for specifying this value. The standard evaluation methods, which may not be available for all boundary values, are:

• Constant

• Profile in X • Profile in Y

• Profile in Z

• Profile in Time

• Profile from File

• Parametric

• User Sub(ubound) Control Panel Boundary Conditions-Settings-Constant

The Constant option ensures that every boundary face on the boundary condition patch will have the same constant value specified. Control Panel Boundary Conditions Settings-Profile X

The Profile X evaluation method enables you to specify how the boundary value changes as a function of the x-location of each boundary condition face. The profile evaluation method requires input of the number of data points to be used to construct the profile, and the data pairs (x-location, boundary value) for each profile point. The boundary value specification region will appear as:

Page 67: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

55

Boundary Value Specification for Profile X

To specify the number of points (data pairs) that make up your profile data: 1. Click the Specify Profile button. The Profile X dialog appears.

Profile X Window

2. In the Total Points field, enter the number of points (data pairs) that make up your profile data.

3. Click OK to accept this value.

4. For each point you must enter the profile data pair. The data pair consists of an x-location and the boundary value desired at that x-location. The CFD-ACE-SOLVER will perform a piecewise linear fit to determine what the boundary values should be for each boundary face on the boundary condition patch.

Control Panel Boundary Conditions-Settings-Profile Y

Profile Y functions the same as described in Profile X, except that the profile will determine how the boundary condition values vary with the y-location. Control Panel Boundary Conditions-Settings-Profile Z

Profile Z functions the same as described in Profile X, except that the profile will determine how the boundary condition values vary with the z-location. This method is available only for 3D models. Control Panel Boundary Conditions-Settings-Profile in Time

This functions the same as described in Profile X, except that the profile will determine how the boundary condition values vary with time. This method is available only for unsteady (transient) simulations.

Page 68: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

56

Control Panel Boundary Conditions-Settings-Profile from File

Profile from File functions the same as described in Profile X, except that the profile data pairs are read from a user-specified file. You will be prompted for a filename, from which the profile data will be read. The format of the profile data file is a two-column (space delimited) text file with each data pair listed on a separate line.

The first line must have a “#” symbol as the first character, followed by the number of pairs to be specified (n), the profile type (PROFILE_X, PROFILE_Y, PROFILE_Z, or PROFILE_T), the variable being specified (U, V, W, T, etc.), and the fit option (SPLINE or LINEAR).

Lines 2 through n+1 must have the independent value (location or time) followed by the dependent value (boundary value). An example of the file format is shown.

# 5 PROFILE_T U SPLINE

0.000 0.000

0.001 0.100

0.002 0.200

0.003 0.400

0.004 0.800

Sample Input File for Profile from File

Control Panel Boundary Conditions-Settings-Parametric

The Parametric method enables you to define or use previously defined parametric input to compute the boundary condition values. For more information about defining parametric input, see Tools Menu-Parametric Input.

Control Panel Boundary Conditions-Settings-User Sub(ubound)

The User Sub(ubound) option enables you to change the evaluation method to instruct CFD-ACE-SOLVER to look to the ubound user subroutine for instructions on setting the boundary values for the selected variable and boundary condition patch. This gives you total control over the boundary condition values. See User Subroutines UBOUND for more details.

Control Panel Boundary Conditions-Reset, Apply, OK

The BC Reset, Apply, and OK buttons control the settings for the boundary conditions.

• Reset - restores the settings back to the values that the Boundary Condition had when it was first selected (effectively undoing any setting operations).

• Apply - saves all of the initial value settings that have been made during the current setting operation. It is important to click Apply, otherwise the settings will not be saved. If you leave this section of the CFD-ACE-GUI with unsaved changes you will receive a warning to remind you to apply the settings.

• OK - saves all of the initial value settings and de-selects the active Boundary Conditions.

Page 69: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

57

Control Panel-Initial Conditions (IC)

Control Panel Initial Conditions Introduction

The Initial Condition panel enables you to set the initial values required for the computation. The following methods available: For All Volumes, Mixed, and Volume by Volume. Select the method from the pull-down menu labeled Initial Condition.

• IC Option Menu o Initial Conditions-Constant o Initial Conditions-Previous Solution o Initial Conditions-Previous Solution + Constant

• IC Applied Menu o Initial Conditions-For All Volumes o Initial Conditions-Volume by Volume Mode

• Reset, Apply, and OK Buttons

Although the Initial Conditions selected should not affect the final solution, they can affect the path to convergence. Therefore, we recommend that you use realistic values. For more information on initial conditions, see the Module section.

Control Panel Initial Conditions-Constant

The Constant option enables you to set a constant value as an initial condition for every cell in the computational domain or to indicate that values will be provided by a user subroutine (uinit). The Initial Conditions panel is shown in the For All Volumes mode ready to accept Constant Values.

Page 70: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

58

Initial Conditions Panel - Constant Option

A tabbed list is shown for each Module that has been activated. Under each tab is a list of variables that require initialization. These will be listed in a separate section and each section has several elements. Shown in the figure below is a typical Initial Condition value section (this one is for X-Direction Velocity).

All of the value sections contain a title that describes the value represented in the section. An Evaluation Method pull-down menu displays the Constant and User Sub(uinit) options. The Variable Name is the same name used for graphical output. A field enables you to add user-supplied values.

Page 71: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

59

Initial Condition Values Section

Control Panel Initial Conditions-Previous Solution

The Previous Solution option enables you to use the results from a previously run simulation as the initial condition for the current simulation.

Initial Conditions Panel - Previous Solution Option

A field requests the filename of a previously run solution. The solver reads the initial fields from the specified file.

When you are performing a steady-state simulation, and you click the Continuation Run button, the solver begins the run with the iteration count set to one more than the last iteration from the previous solution. The solver appends the new residual values to the old residual data sets so that you can see a continuous residual history, uninterrupted by the restart.

When you are performing a transient calculation, and you click the Continuation Run button, the solver sets the start time of the transient run equal to the time in the restart file. Additionally, the solver appends residuals and monitor point data to existing files rather than writing to new files.

When starting from a previous solution, also called a restart run, CFD-ACE-GUI imposes the following restrictions:

• The grid size must be the same in the current model and in the previous solution data set. This does not mean that the physical domains must be identical, but that the number of grid blocks must be the same and the number of cells in each block must be the same.

Page 72: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

60

• The variables solved, as dictated by the Modules selected in the Problem Type settings and Model Options, should be the same. Otherwise, a smooth restart may not be possible.

Control Panel Initial Conditions-Previous Solution + Constant

The Previous Solution + Constant option enables you to use constant values, a user subroutine, or specify that results of a previous solution be used for initial values. You can specify this for each variable.

Initial Conditions Panel - Previous Solution + Constant Option

In this mode the option of taking initial values as constants is pushed down to the level of the individual variables. This option is useful for models in which you have added one or more dependent variables to a previous simulation and wish to take all dependent variables, except the new ones, from the previous solution.

The Continuation Run option is still allowed in this mode but should not be selected for cases in which the number of dependent variables changes. For these cases, the residual and monitor value plotters will not behave properly.

Control Panel Initial Conditions-For All Volumes

The For All Volumes option has two additional ways to define the initial conditions (listed under the IC Source pull-down menu).

Control Panel Initial Conditions-Volume By Volume

The Volume by Volume option enables you to set different initial conditions on each individual volume condition region. When you switch the IC setting mode to Volume By Volume, you can set different initial conditions on each of the available volume conditions. The Model Explorer switches to an IC Explorer view and lists all of the available volume conditions. Recall that (in CFD-GEOM terms) for 3D grid systems, every structured or unstructured domain is a separate volume condition. In 2D grid systems every structured face or unstructured loop is a separate volume condition.

Before any initial condition settings can be made, you need to pick a volume conditions to make it active. This can be done through several methods. The most common are picking from the viewer window and picking from the Model Explorer.

Picking from the viewer window is done by placing the mouse cursor over a Volume Condition handle (usually cross-hairs or normal vectors) and pressing the left mouse button. To select more than one volume condition at the same time, hold down the Ctrl key while picking with the left mouse button.

Page 73: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

61

Picking from the Model Explorer can be done by selecting a Volume Condition entry from the Model Explorer list with the left mouse button. Discrete multiple picking can be done by holding down the Ctrl key while picking multiple entries with the left mouse button. A continuous multiple pick can be made by picking one item from the Model Explorer and then holding down the Shift-key and picking another item. In this case every item between the first and second items will be picked. See Graphics Area-Picking Operations for more details on picking.

If several volume conditions have been selected, you may make them part of a permanent group by pressing the Group button located on the lower toolbar.

After one or more volume conditions have been selected, you may set the initial conditions using the methods as described above in the section Constant Values.

Control Panel Initial Conditions-Reset, Apply, OK

The IC Reset, Apply, and OK buttons control the settings for the initial conditions.

• Reset - restores the settings back to the values that the Initial Condition had when it was first selected (effectively undoing any setting operations).

• Apply - saves all of the initial value settings that have been made during the current setting operation. It is important to click Apply, otherwise the settings will not be saved. If you leave this section of the CFD-ACE-GUI with unsaved changes you will receive a warning to remind you to apply the settings.

• OK - saves all of the initial value settings and de-selects the active Initial Conditions.

It is important to click Apply or OK, otherwise the settings will not be saved.

Control Panel-Solver Controls (SC)

Control Panel Solver Controls Introduction

The Solver Control panel enables you to specify the numerical aspects of the solution and to select the solver output options. Depending on the modules you have selected in the PT panel, other tabs may be displayed. If so, they are described in the Modules section. The following are the common tabs for Solver Controls:

• Iterations

• Spatial

• Solvers

• Relax

• Limits

• Adv

Page 74: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

62

Solver Control Panel

Control Panel Solver Controls-Iterations

The Iterations tab enables you set criteria to control the iterative solution process.

• Maximum Iterations - Total number of iterations to be performed by the solver. • Convergence Criteria - The minimum reduction in residuals for each variable. Default

value is 0.0001 (four orders of magnitude).Min. Residual: Value of the residual below which the second criteria is not applied.

The solver quits the iterative procedure if any of the two criteria is satisfied. If you need to run a specific number of iterations, set the Convergence Criteria to a very small number (1.0E-10) but larger than the Minimum Residual value.

Solver Controls - Iterations Tab

Control Panel Solver Controls-Spatial

The Spatial tab represents the spatial differencing scheme and controls the spatial accuracy of the simulation. The options provide several differencing schemes to calculate the convective term in the transport equations.

Page 75: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

63

Solver Controls - Spatial Tab

The panel contains three columns; the first defines the variable, the second defines the type of spatial differencing to be used for that variable, and the third determines the amount of upwind blending to be used (if any).

The variable list will include any variables that are solved for (as determined by the active Modules) as well as any auxiliary variables which may also be used in the transport equations.

Several differencing schemes are available and they are discussed further in the Numerics chapter. The default scheme is the first-order Upwind Differencing scheme. If selecting higher-order schemes, you can also enter a blending factor to blend the higher-order scheme with the Upwind Differencing scheme for added stability.

For some of the higher-order schemes, especially the Central Differencing scheme, obtaining a converged solution may be impossible due to numerical instabilities. In these cases, the blending factor can be used in conjunction with the higher-order scheme to provide a solution which is of greater accuracy than a first-order Upwind Differencing scheme. The blending factor default value of 0.1 results in a differencing scheme that is 10% upwind and 90% higher order.

Control Panel Solver Controls-Solvers

The Solvers tab enables you to select the linear equation solver used to solve the algebraic equations for each dependent variable and the controlling parameters for that solver.

Page 76: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

64

Solver Controls - Solvers Tab

The panel contains four columns: the first defines the variable, the second defines the linear equation solver to be used for that variable, the third determines the maximum number of solver sweeps (iterations) allowed, and the fourth determines the convergence criteria to be used.

The variable list includes any variables that are solved for (as determined by the active Modules).

For most variables, the default solver selection is the CGS+Pre (conjugate-gradient-squared plus preconditioning) solver. An Algebraic Multigrid Solver (AMG) is also available. Some variables may shown additional solver selections. Recommended solver selections are discussed in the individual Module section of the CFD-ACE+ Modules manual.

For either the CGS + Pre or the AMG solver, you can set the maximum number of sweeps, or iterations, and the convergence criteria. Because these solvers detect their own convergence, you can control the amount of residual drop that you require for the linear equation solver to terminate. The residual drop for the CGS solver is equal to the square of the Criterion given CFD-ACE+. If the solver reaches the maximum number of sweeps before the convergence criteria is met, then the solver will terminate and a warning message will be printed to the output file.

In most cases, you can use the default selections of the CGS+Pre solver with a maximum of 50 or 500 sweeps (depending on variable).

Control Panel Solver Controls-Relax

The Relax tab sets the under relaxation factors for each of the solved variables and for the auxiliary variables. Under relaxation is a constraint on the change of a dependent or auxiliary variable from one solution iteration to the next. It is required to maintain the stability of the coupled, non-linear system of equations.

Page 77: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

65

Solver Controls - Relax Tab

The panel contains four columns: the first defines the variable, the second contains a slider bar which can be used to adjust the value, the third contains up/down buttons to adjust the order of magnitude of the value, and the fourth is a field for the under relaxation value itself.

The variable list includes any variables that are solved for (as determined by the active Modules) and any auxiliary variables that are used in active equations. The solved variables are listed in the group at the upper side of the panel and the auxiliary variables are grouped at the lower side of the panel.

To increase the under-relaxation, or constraint, on any of the dependent (solved) variables, increase the value. (The default value for most dependent variables is 0.2.) Values greater than one are allowed but not recommended in most cases. To increase the under-relaxation on an auxiliary variable, decrease the value. (The default value for most auxiliary variables is 1.0.) The auxiliary variable under relaxation values are bound between 0 and 1. See the Numerics section for more details on how under relaxation is applied to the equations. See each Module’s section for guidelines on setting under relaxation values.

Page 78: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

66

Control Panel Solver Controls-Limits

The Limits tab enables you set minimum and maximum values for certain dependent and auxiliary variables.

Solver Controls - Limits Tab

The panel contains three areas: the first defines the variable, the second is an entry field for the minimum allowed value, and the third is an entry field for the maximum allowed value. The variable list includes any variables that are solved for (as determined by the active Modules) and any auxiliary variables that are used in active equations.

The default Variable Limits are generous and should only be changed in special situations. Be aware that any time the solver enforces these limits, (with the exception of Mixture or Species Fractions), it is artificially constraining the solution. This can cause convergence problems or produce a non-physical solution. The results should always be checked to make sure that no variable is hitting a limit. See each Module’s section for advice on setting limits.

Control Panel Solver Controls-Advanced Settings

The Adv tab (Advanced Settings) provides options for advanced users.

Buffered Output

This option changes program output so that it is written only when internal buffers are full. Default mode is to flush RSL and out file every iteration once at the end of iteration. This is normally the way users want the program to operate as it ensures that, for example, residual records appear in the model.RSL file at the completion of each iteration. For small problems that run for a long time (due to either a large number of iterations or time steps) the default output mode can cause a significant portion of the elapsed time to be devoted just to output with resulting poor CPU utilization. For these cases, selecting the Buffered Output option can result in a noticeable savings in turnaround time for the simulation.

Higher Accuracy

This option activates an alternative numerical discretization scheme in the program that results in a higher accuracy result for a given grid. This capability is added in an experimental form at release of Version 2004. As implemented in that release it is relatively inefficient and can cause significantly longer run times than the default discretization scheme. It has also shown some robustness problems which have not yet been resolved. It may be best to use a solution with the default discretization scheme as initial conditions for a simulation with this option.

Page 79: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

67

The other options displayed depend upon the modules being used in the simulation. For more information on Advanced Settings, see the Modules section.

Control Panel-Output (OUT)

Control Panel Output Introduction

The Output panel enables you to control output generated by the CFD-ACE-Solver. These settings control the frequency of output and the contents:

• Output Options

• Printed Output

• Graphical Output

• Monitor Points Output-Output Options

Control Panel Output-Output Introduction

The Output panel enables you to select the frequency with which the solver output is written. Solver output includes graphical output data for visualization purposes, and model restart data to allow the simulation to be restarted at a later time. The Output panel contains:

• Steady State Simulation

• Unsteady Simulations • User Defined Output - These activate the corresponding user subroutines: User

Sub(uout), User Sub(uread_dtf), and User Sub(uwrite_dtf). See the User Manual-User Subroutines for more details.

Page 80: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

68

Output Panel

The output options behave slightly differently depending on whether the simulation is steady or unsteady (transient). Control Panel Output-Output Options-Steady State Simulations

The pull-down menu next to Output Results enables you to output the results at the end of the run or at specified intervals. If you select specified intervals, you can enter the iteration frequency (results will be output after every iteration frequency interval).

The unique file option, if activated, will cause the solution output to be written to separate DTF files named modelname.####.DTF where #### is the iteration number. The last solution output dataset will be written to the original DTF file. Control Panel Output-Output Options-Unsteady Simulations

The Output Location pull-down menu outputs the results in one of three modes: Unique Filename, Unique Simulation, or Replace Simulation. If you are using the instant time-step option, then specify the frequency (in timesteps) to save the solution output. If you are using the automatic timestep option, then specify the time frequency to save the solution output. Unique Filename

The Unique Filename option writes the solution output to separate DTF files. The files will be named as modelname.#####.DTF, where ##### is a timestep sequence number. Unique Simulation

Page 81: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

69

The Unique Simulation option writes the solution output to separate simulations in the same DTF file. You will only have one solution output file (modelname.DTF) but contained therein will be separate simulations for each timestep saved. Upon opening the DTF file in CFD-VIEW you can specify which simulation to load. Replace Simulation

The Replace Simulation option writes the solution output to the DTF file by simply overwriting the last saved simulation. Use this method if you are running a transient problem to steady-state, or you do not care to retain the time history of your transient simulation.

Output-Printed Output

Control Panel Output-Printed Output Introduction

The Printed Output panel enables you to activate boundary condition integral output, diagnostic output, and select one or more summary reports. It contains the following:

• BC Integral Output

• Diagnostics

• Residual Frequency

• Summary Reports

Output Panel - Print Tab

Control Panel Output-Printed Output-BC Integral Output

The BC Integral Output option allows the solver to integrate engineering quantities over selected boundary condition patches. For transient simulations, the time history of these integrated quantities will be written to the output file. Upon selecting the BC Integral Output option, the solver will look for a modelname.fmt file for instructions on which variables to integrate and on which boundary conditions they should be integrated over. See Appendix A for more information on the format of this file.

Page 82: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

70

Control Panel Output-Printed Output-Diagnostics

Diagnostics provides information about the performance of the solver. When you activate Diagnostics, you will be prompted to select the basic or advanced level of output. The basic level instructs the solver to write information to the output file on the performance of the linear equation solvers. By default, this information will be written every iteration but you can enter an Iteration Frequency greater than 1 to reduce the amount of output generated. The advanced level contains everything in the basic level and adds trace information to the output file so that the solver subroutine entry and exit points can be monitored.

The basic level of diagnostics allows you to monitor the performance of the linear equation solvers. The advanced level is not very useful on its own and should only be activated at the request of the ESI CFD Technical Support Staff.

Diagnostic Output

Control Panel Output-Printed Output-Residual Frequency

For transient problems, you can reduce the amount of residual output by entering a residual frequency greater than 1. A value of 2 will cause the residuals to be printed every other time step resulting in one-half of the default amount of output.

Residual Frequency

Control Panel Output-Printed Output-Summary Reports

Some of the modules have the capability to produce a summary report for certain data. These summaries are usually integrations of some parameter over each valid boundary condition, as well as a summation of all of the data for the whole model. The table below contains the available printed summary reports and the modules that control them. See the referenced Module for more details.

Printed Summary Reports

Summary Report Controlling Module

Mass Flow Summary Flow

Pressure and Viscous Force Summary Flow

Page 83: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

71

Heat Transfer Summary Heat Transfer

Species Summary Chemistry

Scalar Flux Summary User Scalar

Reaction Force Summary Stress

Control Panel Output-Graphical Output

The Graphic tab enables you to choose the variables you want to save to the results file (modelname.DTF). All of these variables will be interpolated to the computational nodes and be available for post-processing with CFD-VIEW. The number of variables is too large to list here. See each module’s section for details on what variables are available when that module has been activated.

Control Panel Output-Monitor Points

The Monitor Point panel enables you to monitor one or more variables at one or more locations in the computational model. The Monitor Point feature will report the value of any variable at the center of the cell which contains the monitor point’s specified xyz location. The last column input is for moving mesh computations. In these cases, the monitor point can be fixed to it's nearest cell center and the monitor will move as the mesh moves. To fix a monitor point to a cell, the value should be set to 1 in the Fixed Cell column. The coordinates are in the units of the model (as of version 2008.0).

The Monitor Point output can be graphically plotted using the CFD-ACE+ built-in Monitor Point plotter (see Control Panel-Run-Plot Monitor Points). For steady-state simulations the variable value will be plotted versus iteration and for transient simulations the variables will be plotted versus time.

There are two ways to define the Monitor Point locations and variables: user input (through the CFD-ACE+) and file input (see Appendix A-Monitor Point File). There is no limit to the number of points that you can have. If the variable that you want is not in the list, then use the user input option to manually define the monitor point locations and variables.

Page 84: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

72

Monitor Points Window

Control Panel-Run Controls (RUN)

Control Panel Run Introduction

The Run panel enables you to control the CFD-ACE-Solver and monitor the simulation while it is running. The Run panel is shown below.

Page 85: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

73

Run Panel

See Also

Run-Parallel Run

Run-Submit to Solver

Run-Parametric Run with SimManager

Run-Optimization Run with SimManager

Run-View Residuals

Run-View Output

Run-Plot Monitor Points

Run-Save and Stop

Run-Stop

Control Panel Run-Parallel Run

The Parallel Run option activates parallel processing of the simulation from CFD-ACE-GUI. For more information, see Parallel Processing.

Page 86: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

74

Control Panel Run-Submit to Solver

The Submit to Solver function launches the CFD-ACE-Solver for the current simulation. If no changes have been made to the simulation settings, then the solver will start immediately. If changes have been made to the settings, the Submit window appears.

Submit Window

Because the simulation data has been modified, the DTF file must be updated before it is passed to the CFD-ACE-Solver. Press the Submit Job Under Current Name button to save the data to the current DTF file and launch the solver. Press Submit Job Under a Different Name to save all of the simulation data to a new DTF file and then launch the solver. The Cancel button cancels the operation and the job will not be submitted.

Control Panel Run-Parametric Run with SimManager

The Parametric Run with SimManager button saves the DTF file and launches the SimManager program in the Parametric Wizard mode. The appropriate file settings will be made so that setup of a parametric SimManager run can be quickly made for the simulation.

Control Panel Run-Optimization Run with SimManager

The Optimization Run with SimManager button saves the DTF file and launches the SimManager program in the Optimization Wizard mode. The appropriate file settings will be made so that setup of an optimization SimManager run can be quickly made for this simulation.

Run-View Residuals

Control Panel Run-View Residuals Introduction

Once the CFD-ACE-SOLVER job has been submitted and the solver starts to write the residual history file (modelname.RSL), the View Residuals function becomes active. The function will also be active if a modelname.RSL file exists in the current working directory. The View Residuals function creates a line plot of the residual history for the current simulation. The Residual Plotter appears in a separate window.

Page 87: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

75

There are several ways to customize the Residual Plotter. When you click the right mouse button on the Residual Plotter, a menu appears with the following items:

• Modify Axes

• Update Frequency

• Hide All Lines

• Normalize Residuals

• Export to Text File Control Panel Run-View Residuals-Modify Axes

The Modify Axes option lets you change the axes of the plots. To reset the original axes, click the restore button on the panel. Control Panel Run-View Residuals-Update Frequency

The Update Frequency option enables you to modify the frequency in which the residual plotter is updated. The default update frequency is set to 100 ms. Control Panel Run-View Residuals-Hide All Lines

The Hide All Lines option urns off all lines from being plotted. Control Panel Run-View Residuals-Normalize Residuals

Normalizes the residuals so that the maximum residual plotted is one and all others are scaled appropriately so that they show the magnitude drop from the maximum residual. Control Panel Run-View Residuals-Export to Text File

The Export To Text File option enables you export the residual file to a format that can be used by Excel. If, upon pressing View Residuals you get a message that says no residual file available or you get a blank Residual Plotter window, it may be that the solver has not yet written any information to the residual history file. Close the Residual Plotter and reopen it after the residual history file has been created.

Page 88: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

76

Residual Plotter Window

The buttons in the upper left-hand corner activate or deactivate the plotting for that particular variable. The Color Palette buttons open the Color Dialog panel to enable you to change the line color of the residual plot for that particular selected variable.

The Minor Grid lines checkbox draw more grid lines for the y-axis (logscale) of the plot.

If the simulation is unsteady (transient) then there are residual histories for each time step in the residual file. You can cycle through the time steps by using the slider at the bottom of the residual plotter window.

Control Panel Run-View Output

Once the CFD-ACE-SOLVER job has been submitted and the solver starts to write the output file (modelname.out), the View Output function becomes active. The function will also be active if a modelname.out file exists in the current working directory. View Output creates a text viewer of the output for the current simulation. The Output Viewer will periodically update to show you the output file information in near real time.

Page 89: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

77

If you press View Output and get a message that says no output file available or you get a blank Output Viewer window, it may be that the solver has not yet written any information to the output file. Close the Output Viewer and reopen it after the output file has been created.

Control Panel Run-Plot Monitor Points

The Monitor Point plotter can be invoked if the simulation has started running and you have requested that monitor point data be written as output (see Graphical Output ). The behavior of the Monitor Point plotter is very similar to that of the residual plotter.

Control Panel Run-Save and Stop

The Save and Stop option sends a signal to the CFD-ACE-Solver to immediately save the simulation data (restart and graphical data) and terminate the solver job. This allows you to safely terminate a CFD-ACE-Solver run if you determine that you do not want to run any further iterations.

Control Panel Run-Stop

The Stop option terminates the CFD-ACE-Solver immediately and does not save any data. This function should be used carefully since it does not save the results of the simulation. The DTF file will contain the results as of the last restart save operation, determined by the Output settings. See Output Options.

Entity Bar

Entity Bar Introduction

The Entity Bar is located above the Model Explorer and has four tabs:

• Set Grid Scale Tab

• Set XYZ Visual Scale Tab

• Set XYZ Rotation Tab

• VC or BC Blanking Tab

Entity Bar Set Grid Scale Tab

The Scale tab enables you to scale the geometry of the model by a constant factor. You can also scale the geometry by clicking the right mouse button on the background of the viewer window (see Frequently Asked Questions. The current scale factor and current minimum and maximum dimensions of the model are displayed.

Page 90: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

78

Entity Bar - Set Grid Scale Tab

See Also

Set XYZ Visual Scale Tab

Set XYZ Rotation Tab

VC or BC Blanking Tab

Entity Bar Set XYZ Visual Scale Tab

The Set XYZ Visual Scale tab enables you to visually change the scale of a geometry. To scale the model unequally, adjust the scale using the dials or type in a number corresponding text field. To reset the geometry to its original scale, click the reset button. Scaling geometry in this way is for visual purposes only and does not reflect the grid coordinates.

Entity Bar - Set XYZ Visual Scale Tab

See Also

Set Grid Scale Tab

Set XYZ Rotation Tab

VC or BC Blanking Tab

Entity Bar Set XYZ Rotation Tab

The Set XYZ Rotation tab enables you to rotate a model on its X, Y, or Z axis.

To rotate an image about the desired axis:

Page 91: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

79

1. Choose one of the following methods to rotate the image:

• Place the cursor on the X, Y, or Z dial. Click and hold the left mouse button and move the dial left or right.

• Enter the rotation degrees in the X, Y, or Z field. This rotates the model about the standard euler angles (roll, pitch, yaw).

2. Click Reset to return the model to its original orientation.

Entity Bar- Set XYZ Rotation Tab

See Also

Set Grid Scale Tab

Set XYZ Visual Scale Tab

VC or BC Blanking Tab

Entity Bar BC or VC Blanking Tab

The BC or VC Blanking tab enables you to blank (hide) boundary or volume conditions. It consists of two sections that enable you to toggle boundary and volume conditions blanking in the current simulation.

Entity Bar - VC or BC Blanking Tab

See Also

Set Grid Scale Tab

Set XYZ Visual Scale Tab

Set XYZ Rotation Tab

Page 92: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

80

Model Explorer

Model Explorer Introduction

The Model Explorer is located at the bottom of the CFD-ACE+ window and provides information about the current simulation. You can use it as a picking mechanism for volume or boundary conditions. All of the explorers behave in a similar manner, but the information displayed may be different. The Model Explorer appears in one of three modes, VC, BC, or IC, depending on the state of the Control Panel. The Model Explorer section describes:

• Model Explorer Operation

• Volume Condition (VC) Explorer

• Boundary Condition (BC) Explorer

• Initial Condition (IC) Explorer

Model Explorer Operation

Model Explorer Operation Introduction

The Model Explorer information appears in a row-column format so that every volume condition (VC) or boundary condition (BC) entity in the simulation is listed on a separate row. Information about each entity is displayed in the columns. The common elements of the explorers are:

Common Elements of the Model Explorers

See Also

Model Explorer-Operation-Display

Model Explorer-Operation-Picking

Model Explorer-Operation-Grouping

Page 93: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

81

Model Explorer Operation-Display

You can change the order in which the rows are displayed (sort order) by clicking on a column heading. The first click sorts the rows based on that column’s contents in descending order and a second click sorts in ascending order. A triangle in the sort column indicates which column is being used to sort the data, and the direction of the sort. You can change the width of a column by clicking the border between two column headings with the left mouse button, and dragging it to the desired width.

See Also

Model Explorer-Operation-Picking

Model Explorer-Operation-Grouping

Model Explorer Operation-Picking

For any operation that requires you to select (pick) a volume condition, you may do so by picking from the viewer window or the Explorer. This added flexibility makes it easy to select the desired entities. Picking from the viewer window is described in Picking Operations. You can pick objects in the Explorer by clicking on any row in the Explorer list with the left mouse button. The selected entity will be displayed in reverse video. You can pick multiple entries two different ways:

• After picking a single entity (from either the Explorer list or viewer window), hold down the Ctrl key and pick another entity. Both entities will be selected. This is called discrete multiple picking.

• After picking a single entity (from either the Explorer list or viewer window), hold down the Shift-key and pick another row in the Explorer list. All of the entities listed in the Explorer between the first and second picked will be selected. This is called continuous multiple picking.

When multiple items are picked, the Control Panel displays the settings for the active item. The active item is delineated by drawing a small marker ball at the far left of the row. You can specify the active item by holding down the Ctrl key and selecting the desired entity.

The Select All and De-select All buttons (located in the lower right side of the Explorer) select all of the entities or clear the selection list respectively.

See Also

Model Explorer-Operation-Display

Model Explorer-Operation-Grouping

Model Explorer Operation-Grouping

You may, at times, want to group properties or boundary values for multiple volume conditions or boundary conditions. Using the Grouping features, you can create a temporary group any time multiple entities have been selected. Any changes saved from the Control Panel will apply to all of the selected entities. The temporary group is destroyed when the entities become deselected.

To make a temporary group permanent, click the Group button located on the lower left side of the Explorer. This causes a permanent group to be created for the currently active category. The active category is the same as the Setting Mode in the Control Panel and is also indicated by the red diamond in the column heading. Once a group has been made permanent it will be assigned a unique group name.

Page 94: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

82

To destroy a permanent group, select any entity in the group and click the Ungroup button. You may remove a single entity from a group by right-mouse clicking on the item (from the Viewer Window or Explorer list) and selecting Remove From Group.

The difference between a permanent group and a temporary group is that whenever any entity in the permanent group is selected, all of the entities in that group will be selected. This enables you to ensure that the settings for these entities are always consistent. Entities can belong to multiple groups as long as each group is a for a different category.

See Also

Model Explorer-Operation-Display

Model Explorer-Operation-Picking

Model Explorer-Volume Condition (VC) Explorer

Model Explorer VC Explorer Introduction

The VC Explorer is activated anytime the Control Panel is in the Volume Condition setting mode or when you pick a VC from the graphics window (see Volume Conditions). The main elements of the VC Explorer are shown and discussed below.

Volume Condition Explorer Elements

See Also

Model Explorer-VC Explorer-Volume ID, Name, Type

Model Explorer-VC Explorer-Blanking, Grouping, Entity Tags

Model Explorer VC Explorer-Volume ID, Name, Type

Volume ID

The first three columns of the VC Explorer give identity information about the volume condition. All of these settings can be made in CFD-GEOM and can be changed from within CFD-ACE-GUI.

Page 95: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

83

Volume Name

The Volume Name enables you to give a unique name to each volume condition. This often helps when trying to locate a certain volume condition. To change the name, right-click on the entity and select Properties from the menu. The original name is what was given to the volume condition during the grid generation process. The Volume Name is not used directly by the solver so the value will not affect the solution results. However, it is referenced in the summary report outputs. Volume Type

The Volume Condition Type (VC Type) tells the solver whether the volume condition is of Fluid, Solid, or Blocked (excluded from solution) type. The VC Type can be changed from the Control Panel (see Control Panel-VC Type). The original type is that which was given to the volume condition during the grid generation process.

Model Explorer VC Explorer-Blanking, Grouping, Entity Tags

Blanking

The Blanking column displays the blank state of the entity. If the entity is unblanked or visible, the column will be empty. If the entity has been blanked (or hidden so that it does not appear in the viewer window), an asterisk (*) appears in the column. The blank state of an entity can be changed two ways: pick a group of entities and select Blank from the Edit menu (see Blank), or right-click on the entity and select Blank or Unblank. Grouping

Though grouping may not all be available depending on which Modules are active, there are several Grouping modes available for volume conditions:

• Properties

• Flow • Heat

• Scalar

• Stress

• Coil

• Eplate

• Bio-Chem

• Momentum Resistance

• Species Entity Tags

The Entity Tag columns provide identification information about the volume conditions such as the Zone (domain) that the volume condition is contained in and the Key (which is a unique identifier assigned to the entity during the grid generation process). There is no way to change this information and it is provided for sorting and debugging purposes.

Page 96: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

84

Model Explorer-Boundary Condition (BC) Explorer

Model Explorer BC Explorer Introduction

The BC Explorer is activated anytime the Control Panel is in the Boundary Condition setting mode or when you pick a BC from the graphics window (see Boundary Conditions). The main elements of the BC Explorer are:

Boundary Condition Explorer Elements

See Also

Model Explorer-BC Explorer-Boundary ID, Name, Type

Model Explorer-BC Explorer-Blanking, Grouping, Entity Tags, Subtype

Model Explorer BC Explorer-Boundary ID, Name, Type

Boundary ID

The first column of the BC Explorer gives identity information about the boundary condition. All of these settings can be made in CFD-GEOM or can be changed from within CFD-ACE-GUI. Boundary Name

The Boundary Name enables you to give unique names to each boundary condition. This often helps when trying to locate a certain boundary condition. The name can be changed by right-clicking on the entity and selecting Properties from the menu. The original name is that which was given to the boundary condition during the grid generation process. The Boundary Name is not used directly by the solver so the value will not affect the solution results. However, the name is used in the summary report outputs. Boundary Condition Type

The Boundary Condition Type (BC Type) tells the solver the type of boundary condition to apply. There are eight available choices:

• Inlet

• Outlet

• Wall • Rotating Wall

Page 97: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

85

• Symmetry

• Interface

• Thin Wall

• Cyclic

The BC Type can be changed from the Control Panel. The original type is that which was given to the boundary condition during the grid generation process.

Model Explorer BC Explorer-Blanking, Grouping, Entity Tags, Subtype

Blanking

The Blanking column displays the blank state of the entity. If the entity is unblanked or visible, the column will be empty. If the entity has been blanked (or hidden so that it does not appear in the viewer window), an asterisk (*) appears in the column. The blank state of an entity can be changed two ways: pick a group of entities and select Blank from the Edit menu (see Blank), or right-click on the entity and select Blank or Unblank. Grouping

There are several Grouping modes available for boundary conditions:

• General

• Cyclic

• Thin Wall

• Arbitrary Interface Entity Tags

The Entity Tag columns provide information about the boundary conditions such as the Zone (domain) that the boundary condition is contained in and the Key (a unique identifier assigned to the entity during the grid generation process). There is no way to change this information and it is provided for sorting and debugging purposes. Subtype

You can sort on the sub-type of boundary condition specified. These are available for several modules including flow, heat, chemistry, electric, magnetic, stress etc. Split Interfaces

The Split Interfaces option allows zonal interfaces to be split into two different/independent boundary types. For example, a zonal interface could be split into an inlet and wall, an outlet and wall, etc. Steps to Split Interfaces

1. Go to the BC tab --> BC Setting Mode

2. Select one or more zonal interfaces and select the "Split Selected Interfaces" button

3. Two distinct boundaries with the same key number will be created in the BC Explorer window. The default boundary condition for each of these boundaries is "Wall".

4. If these split interfaces need to be reset, select the interfaces and select the "Reset Selected to Interfaces" button.

Limitations

• Only zonal interfaces are allowed to be split.

Page 98: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

86

• Composite cell groups are not allowed to be split. The "Split Selected Interfaces" button does not appear in the model panel for interfaces that are not allowed to be split.

• Currently, this feature is not supported for parallel simulations. This limitation could be removed in future versions.

• Once split, these boundaries cannot be used in forming "Thin Walls" or "Arbitrary Interfaces".

• The split interfaces option cannot be used with the Grid Deformation option. This limitation may be removed in future versions.

Model Explorer-Initial Condition (IC) Explorer

UM-Model Explorer-IC Explorer Introduction

The IC Explorer is activated anytime the Control Panel is in the Initial Condition setting mode (see Initial Conditions). If the IC setting mode is set to For All Volumes then the explorer will show that everything is selected. If the setting mode is set to Volume By Volume then the IC Explorer will allow you to pick individual volume conditions to independently set their initial conditions. The main elements of the IC Explorer are:

Initial Condition Explorer Elements

See Also

Model Explorer-IC Explorer-Volume ID, Name, Type

Model Explorer-IC Explorer, Blanking, Grouping, Entity Type

Model Explorer IC Explorer-Volume ID, Name, Type

Volume ID

The first column of the IC Explorer gives identity information about the initial condition. All of these settings can be made in CFD-GEOM or can be changed from within CFD-ACE-GUI.

Page 99: Cfd-Ace v2008.2 User Manual

CFD-ACE-GUI Overview

87

Volume Name

The Volume Name enables you to give unique names to each initial condition. This often helps when trying to locate a certain volume condition. To change the name, right-click on the entity and select Properties from the menu. The original name is what was given to the volume condition during the grid generation process. The Volume Name is not used directly by the solver so its value will not affect the solution results. Volume Type

The Volume Condition Type (VC Type) tells the solver whether the volume condition is of Fluid, Solid, or Blocked (excluded from solution) type. The VC Type can be changed from the Control Panel (see Control Panel-VC Type). The original type is what was given to the volume condition during the grid generation process.

Model Explorer IC Explorer-Blanking, Grouping, Entity Tags

Blanking

The Blanking column displays the blank state of the entity. If the entity is unblanked or visible, the column will be empty. If the entity has been blanked (or hidden so that it does not appear in the viewer window), an asterisk (*) appears in the column. The blank state of an entity can be changed two ways: pick a group of entities and select Blank from the Edit menu (see Edit Menu-Blank), or right-click on the entity and select Blank or Unblank. Grouping

There is one Grouping mode available for initial conditions:

• ICGroup Entity Tags

The Entity Tag columns provide identification information about the volume conditions such as the Zone (domain) that the volume condition is contained in, and the Key (a unique identifier assigned to the entity during the grid generation process). There is no way to change this information and it is provided for sorting and debugging purposes.

User Manual Frequently Asked Questions How do I apply scaling to the geometry?

To scale the geometry of a model by a constant factor, right-click on the background of the viewer window and select the Simulation Properties option from the menu. The GuiSimulation Properties window appears. Click the Scaling tab to see the scaling information. The current minimum and maximum dimensions of the model and the current scale factor will appear. If you enter a new scale factor, all of the geometry information for the model will be multiplied by that scaling factor.

Page 100: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

88

GuiSimulation Properties Window - Scaling Tab

Page 101: Cfd-Ace v2008.2 User Manual

89

Database Manager Database Manager Introduction The Database Manager makes the tedious task of setting up chemical reactions or volume condition properties as simple as drag-and-drop. The database manger comes with ESI CFD supplied data, but you can build and maintain your own local database and setup and store commonly used data (property values, chemical reactions, species, etc.) for rapid re-use in any simulation.

The database manager is the only way to enter (bio)chemical mixing and reacting information and an optional way to enter material property information. The Database Manager includes the following sections:

• Database Manager-Window

• Database Manager-Material Properties

• Database Manager-Chemistry

• Database Manager-Biochemistry

• Database Manager-Examples

• Database Manager-Frequently Asked Questions

Database Manager-Window

Database Manager Window Introduction

To launch the Database Manager window, select Database from the Tools menu. The Database Manager window appears:

Page 102: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

90

Database Manager Window

From top to bottom, the Database Manager Window is comprised of:

• Title Bar - Displays the mode you are working in (e.g. Solid Materials, Mixtures, etc.). The window control buttons allow you to minimize, maximize, or close the window.

• Menu Bar - Two menu options are available from the menu bar. o File Menu - The File menu allows you to make new entries in the database,

import external data files, and close the window. The New option creates a new database entry. You must have a folder or

subfolder selected in the database tree before you can add a new folder or database entry.

The Import/Export options can be used to import and export various database items using .sdb format. You must have an item selected in order to export it.

The Import option also imports pre-V2007 database files. Mixture and species data can be imported from older .DMD files. General chemistry volume and surface reactions can be imported from older .RMD files.

Page 103: Cfd-Ace v2008.2 User Manual

Database Manager

91

The Import Chemkin option imports CHEMKIN-III (Sandia Format) general chemical reaction files. Once these files have been imported, all data will appear in the Local section of each database (Species, Volume Reactions, Surface Reactions). Importing Chemkin files is an optional feature and requires a CHEMKIN-TRANS license. Contact your sales engineer to request a quote for this feature.

The Close option closes the window. o Edit Menu - The Edit menu has functions to copy, paste, and delete database

entries. The Copy option can be selected whenever you have picked a data entry

from the database tree. The Paste option pastes a copied entry into any database folder. The Delete option deletes the entry from the database. Mode Selector - Enables you to choose Material Properties, Chemistry, and

Biochemistry modes. In the example above, we selected Solid. Units - Enables you to choose desired units for the properties

• Tool Bar - The toolbar gives quick access to some of the same functions as described in the menu bar. You can create new folders or entries, and copy, paste, and delete entries.

From left to right, the Database Manager window is comprised of two separate work areas:

• Data Organizer - Displays and enables you to select pre-defined ESI CFD properties and/or any Local properties that you have previously created based on the mode you have chosen from the Mode Selector. In the example above, we opened the ESI CFD properties folder and selected Aluminum_Alloy for our Solid.

• Data Panel - Displays information tabs representing the physics discipline you have chosen from the Data Organizer. In the example above, the data panel displays all relevant physics data for a Solid with Aluminum_Alloy properties.

Database Manager Mode Selector

The menu and the toolbar of the Database Manager window contain the Mode Selector. It determines the type of data being used and displayed in the database manager. It is segmented into three distinct areas:

• Material Properties - Although it is not required, you can define property data for gas, liquid, and solid materials.

• Chemistry - Information for chemical mixing (elements, species, mixtures, gas mixing rules, liquid mixing rules) and reacting simulations (volumes and surfaces) must be entered using the database manager.

• Biochemistry - Information for biochemistry simulations (buffers, analytes, mixing rules, receptors, receptor groups, volume reactions, and surface reactions) must be entered using the database manager.

When you select one of these modes, its corresponding properties appear in the next section of the window known as the Data Organizer.

Page 104: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

92

Mode Selector Section of the Database Manager Window

Database Manager Data Organizer

The left side of the Database Manager window contains the Data Organizer. It is a tool to help you logically organize your data. When you select one of the modes in the Mode Selector, its corresponding properties appear in the Database Tree.

For every mode you select, there is a Database subfolder and Model subfolders (modelname.DTF).

Items in the Database subfolder marked with '@' sign are user defined. They are stored in a local database. Other items in the Database subfolder are stored in the ESI-CFD database. They are automatically copied in the Local database if modified.

Any place within CFD-ACE+ where the data can be used (e.g., selecting a surface reaction at a wall), you will be able to see and pick from entries in the folders for that particular type of data.

In the example below, we have selected Solid from the Mode Selector. The Solid data appears in the Data Organizer with its related properties folders. The Data Organizer is hierarchical in nature, with the properties from the mode level being applied first. If we had predefined properties for our model stored in the Model .DTF folder and we selected these properties, they would be applied to our model before any of the properties we may select from the Database folder (local or ESI).

Page 105: Cfd-Ace v2008.2 User Manual

Database Manager

93

ESI-CFD Database

The ESI CFD database file contains entries that are shipped with your software installation and you cannot change them. It includes entries such as materials, reactions, etc. This file (esi-ace.sdb or esi-fastran.sdb) is stored in your installation directory in the database folder ($ESIDB/database) (%ESIDB%\database). This data has been provided as a convenience, but its use and contents should be verified to ensure that the data is accurate and usable for your simulation.

Local Database

When you start CFD-ACE+ GUI, it automatically creates a directory on your system named ESIDB. In UNIX, this directory is created in your home directory (under your user account). In Windows NT, this directory is created on your C: drive. In Windows 2000 and newer, this directory is created in your home directory, usually under My Documents. The ESIDB directory contains your Local database files (user-ace.sdb or user-fastran.sdb). ESIDB is the default name for your Local database manager directory but you can change the name and path of the directory by selecting Edit->Preferences->Files Tab , and changing the Database Manager Directory path. Application must be restarted after this change. Note: Version 2007 automatically converts all existing .DMD and .RMD files in your Local folder into .sdb format.

Page 106: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

94

Model (modelname.DTF) Folder

The Model folder has the name of the currently loaded DTF file. The data shown in this folder is required to run the simulation and will be written to the DTF file. If you want to permanently store this data (for re-use in other simulations) then you sho uld copy the data from the Model folder to the Database folder. You can also add or delete mixtures and species to the modelname.DTF file by selecting Models Menu-Active Mixtures & Species.

See Also

Database Manager-Mode Selector

Database Manager-Data Panel

Database Manager Data Panel

The right side of the Database Manager Window contains the Data Panel that is divided into a tabbed layout. Each tab represents a physics discipline. The Data Panel is where all of the property-related data is stored. Information that you do not know about should be left as Undefined. The Notes field located next to the name panel located near the top of the Database Manager is available for any additional information about the material or specie (e.g. reference).

When you import a model into CFD-ACE+, only the data elements required by the model will be imported. For example, if you are running only flow and heat transfer, then no structural information is required and will not be transferred from the database manager. On the other hand, if you have a material with structural properties set as Undefined and you import that material into CFD-ACE+, you will receive a warning that the structural properties are not yet defined and you must set valid properties.

See Also

Database Manager-Mode Selector

Database Manager-Data Organizer

Database Manager-Material Properties

Database Manager Material Properties Introduction

The Material Properties section of the database manager enables you to:

• Define property data for gases, liquids, and solids • Setup and save all of the single-component properties as utilized by the solver

This data is used by the Flow, Heat Transfer, Spray, Cavitation, Stress, Electric, Magnetic, and Semi Device modules. You can use the material properties stored in the database to define the primary fluid for the Free Surface (VOF), and Two-Fluid modules. The material properties are not used for Chemistry module cases (see the Chemistry or Biochemistry sections for information on Mixing Rules). The Material Properties section includes:

• Database Manager-Material Properties-Gases • Database Manager-Material Properties-Liquids

• Database Manager-Material Properties-Solids

Database Manager Material Properties-Gases

You can use gases to simulate flow, heat transfer, free surface, two fluid, and electromagnetic solutions. For chemistry simulations, use a gas mixing rule rather than a single component gas definition.

Page 107: Cfd-Ace v2008.2 User Manual

Database Manager

95

Below are the tabs and material properties that you can use for gases. You can find details on these properties in the Volume Condition section of each Module.

• Physical - Density

• Fluid - Viscosity

• Thermal - Specific heat, thermal conductivity

• Electric/Magnetic - Electrical conductivity, relative permittivity, relative permeability

Database Manager Material Properties-Liquids

You can use liquids to simulate flow, heat transfer, free surface, two fluid, cavitation, and electromagnetic solutions. For chemistry simulations, use a liquid mixing rule rather than a single component liquid definition. You can also use liquids with spray injectors to track the motion and interaction of fluid particles with the flow field.

Below are the tabs and material properties that you can use with liquids. You can find details on these properties in the Volume Condition section of each Module.

• Physical - Density, surface tension

• Fluid - Viscosity

• Thermal - Specific heat, thermal conductivity, solidification

• Electric/Magnetic - Electrical conductivity, relative permittivity, relative permeability

• Spray - Heat of vaporization, saturation pressure, evaporating species

Database Manager Material Properties-Solids

You can use solids in any volume condition region of a model. A solid volume condition will not allow any flow, but will allow heat transfer, stress, and electromagnetic solutions to be solved within the solid region. You can use solids with spray injectors to track the motion and interaction of solid particles with the flow field.

Below are the tabs and material properties that you can use with solids. You can find details on these properties in the Volume Condition section of each Module.

• Physical - Density

• Thermal - Specific heat, thermal conductivity, melting, ice melting

• Structural - Material type, anisotropy directions, Young’s Modulus, Shear Modulus, Poisson's Ratio, thermal expansion coefficient, initial yield stress, hardening parameter

• Electric/Magnetic - Electrical conductivity, relative permittivity, relative permeability, Seebeck coefficient

• Piezoelectric - Constitutive form, dielectric matrix, piezoelectric coupling matrix

• Semiconductor - Semi device, lifetime property, Si property

Database Manager-Chemistry

Database Manager Chemistry Introduction

The Chemistry section of the database manager enables you to:

• Setup data for chemical mixing and reacting simulations including elements, species, mixtures, gas mixing rules, liquid mixing rules, volume reactions, and surface reactions

Page 108: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

96

• Setup and save information needed when running the chemistry module of CFD-ACE+.

Chemistry data is used when the gas phase chemistry media option has been chosen (both for species mass fraction and mixture mass fraction approach) or when the liquid phase option has been chosen with the general liquid chemistry approach. See the Biochemistry Data section for cases where the liquid phase option is selected with biochemistry approach. Chemistry Data selections include:

• Database Manager-Chemistry-Elements

• Database Manager-Chemistry-Species

• Database Manager-Chemistry-Mixtures • Database Manager-Chemistry-Gas Mixing Rules

• Database Manager-Chemistry-Liquid Mixing Rules

• Database Manager-Chemistry-Volume Reactions

• Database Manager-Chemistry-Surface Reactions

Database Manager Chemistry-Elements

You can store element data and use it to define the molecular weight of chemical species.

• Physical-Chemical - Atomic Weight

Database Manager Chemistry-Species

The species data defines the properties of each individual species and gives several choices for how the properties could be calculated. When simulating chemistry cases, this species data will define the effective fluid properties through the use of mixing rules (these define the property options that will be used).

• Molecular - Elemental composition, molecular weight, characteristic energy (Lennard-Jones Parameter), collision data (Lennard-Jones Parameter), polarizability, charge exchange cross section

• Physical - Density • Fluid - Accommodate coefficient, dynamic viscosity

• Thermal - Thermal accommodation coefficient, specific heat, thermal conductivity

• Chemical - Mass diffusivity, mobility

• Editing Species Attributes

Database Manager Chemistry-Mixtures

Mixtures define the composition of the fluid at boundary conditions or for initial conditions. A mixture is simply a collection of species defined by some fractional approach.

• Mixture Definition - Mixture name, mixture definition

• Editing Mixture Attributes

Database Manager Chemistry-Gas Mixing Rules

Gas mixing rules define how the local (cell) properties will be calculated. The mixing rules will state the method, and then CFD-ACE-Solver will evaluate the species properties using that method and in conjunction with the local species composition determine the computational cell properties.

• Physical - Density

Page 109: Cfd-Ace v2008.2 User Manual

Database Manager

97

• Fluid - Viscosity

• Thermal - Specific heat, thermal conductivity

• Electric/Magnetic - Electrical conductivity, relative permittivity, relative permeability

• Plasma - Electron collision frequency, electron diffusion coefficient, ion diffusion

• Kinetic - Diffusion coefficient, convective velocities

Database Manager Chemistry-Liquid Mixing Rules

Liquid mixing rules define how the local (cell) properties will be calculated. The mixing rules will simply state the method, and then the solver will evaluate the species properties in conjunction with the local species composition to determine the computational cell properties.

• Physical - Density

• Fluid - Viscosity

• Thermal - Specific heat, thermal conductivity

• Electric/Magnetic - Electrical conductivity, relative permittivity, relative permeability

• Chemical - Mass diffusivity, mobility

Database Manager-Chemistry-Volume Reactions

Database Manager Volume Reactions Introduction

You can define volume reactions to model chemical species production/consumption in either gas phase or liquid phase. As the name indicates, volume reactions occur within the fluid volumes of your model. Mechanism Definition

Once you add a reaction mechanism, or if a reaction mechanism exists in the currently loaded information, you may edit the entry by selecting it from the list on the left side of the Reaction Manager. Each mechanism has a section for a name and notes. These have no inherent use inside the code other than to refer to the reaction. Constants for each mechanism can either be input in SI units or cgs units. The units for E/R are in Kelvin for both the sets of units. You will be reminded of the units wherever appropriate. Each type of reaction mechanism requires different inputs as de scribed below. The symbol --> represents an irreversible reaction while <-> represents a reversible reaction. Reaction mechanisms and reaction mechanism steps can be deleted by selecting the appropriate button. Mechanism definition includes the following:

• Volume Reactions-Equilibrium (Mixture Fraction Approach)

• Volume Reactions-Instantaneous (Mixture Fraction Approach)

• Volume Reactions-Finite-Rate (Mixture Fraction Approach in Gas or Liquid Phase)

• Volume Reactions-Finite-Rate (Species Fraction Approach)

Page 110: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

98

Database Manager Chemistry-Volume Reaction-Equilibrium (Mixture Fraction Approach)

The Equilibrium Reaction Model requires that you specify all of the chemical species that might exist in a reacted mixture. This mechanism can only be used if the Mixture Fraction Approach has been selected under the Chemistry Model Options page. When you select the Equilibrium Model, the only information the Reaction Manager requires is what species might be present in the reaction. Type your reaction in the Equation field, for example:

2H2+O2->2H2O

The reaction does not have to be balanced for the Equilibrium Model. The CFD-ACE-Solver uses the species listed in this reaction mechanism to determine the mixture concentrations based on a Gibbs free energy approach. The a7 coefficient in the JANAF tab calculates the Gibbs Energy for equilibrium rates. For more details on this reaction type, see the Chemistry Module-Theory-Mixture Fractions.

See Also

Volume Reactions-Instantaneous (Mixture Fraction Approach)

Volume Reactions-Finite-Rate (Mixture Fraction Approach in Gas or Liquid Phase)

Volume Reactions-Finite-Rate (Species Fraction Approach)

Database Manager Instantaneous (Mixture Fraction Approach)

The Instantaneous Reaction Model assumes that a single chemical reaction occurs and that it proceeds instantaneously to completion. This mechanism can only be used if the Mixture Fraction Approach has been selected under the Chemistry Model Options panel. The form of the reaction is:

Fuel + Oxidant -> Products

When the instantaneous Reaction Model is selected the Reaction Manager window appears:

Page 111: Cfd-Ace v2008.2 User Manual

Database Manager

99

Instantaneous Reaction Mechanism Specification

Enter your reaction in the Reaction field, for example:

C3H8+5O2->3CO2+4H2O

The chemical reaction specified for an instantaneous reaction mechanism must be balanced. A reaction is considered balanced if the sum of the molecular weights, as determined from the species database, are equal on the left- and right-hand sides of the reaction. For more details on this reaction type, see the Chemistry Module-Theory-Mixture Fractions.

See Also

Volume Reactions-Equilibrium (Mixture Fraction Approach)

Volume Reactions-Finite-Rate (Mixture Fraction Approach in Gas or Liquid Phase)

Volume Reactions-Finite-Rate (Species Fraction Approach)

Database Manager Chemistry-Volume Reactions-Finite-Rate (Mixture Fraction Approach)

The Finite-Rate (Mixture Fraction Approach) Model allows you to define a single step irreversible chemical reaction which proceeds at a finite-rate to completion. This mechanism can only be used if the Mixture Fraction Approach has been selected under the Chemistry Model Options page. The form of the reaction is:

Fuel + Oxidant -> Products

Page 112: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

100

When the Finite-Rate (Mixture Fraction Approach) Reaction Model is selected the Reaction Manager dialog box appears:

Finite-Rate (Mixture Fraction Approach) Reaction Mechanism Specification

Input for the Finite-Rate (Mixture Fraction Approach) Reaction Mechanism requires the reaction specification as well as the rate information. Enter your reaction in the Equation field, for example:

C3H8+5O2->3CO2+4H2O

The chemical reaction specified for a finite rate reaction mechanism must be balanced. A reaction is considered balanced if the sum of the molecular weights, as determined from the species database, are equal on the left- and right-hand sides of the reaction.

Also fill in the information for the following rate expression:

(2-1)

by filling in the boxes for the A, n, m, and E/R terms. The overall reaction rate is then given as:

(2-2)

Page 113: Cfd-Ace v2008.2 User Manual

Database Manager

101

You must also specify the concentration exponents a’ and b’ in the above expression by entering them in the concentration exponents fields. Default values for the concentration exponents should be the stoichiometric coefficients of the chemical reaction. For more details on this reaction type, see the Chemistry Module-Theory-Mixture Fractions.

See Also

Volume Reactions-Equilibrium (Mixture Fraction Approach)

Volume Reactions-Instantaneous (Mixture Fraction Approach)

Volume Reactions-Finite-Rate (Species Fraction Approach)

Database Manager Chemistry-Volume Reactions-Finite-Rate (Species Fraction Approach)

The Finite-Rate (Species Fraction Approach) Model allows you to specify a single- or multi-step irreversible or reversible chemical reaction which proceeds at a finite-rate to completion. This mechanism can only be used if the Species Fraction Approach has been selected under the Chemistry Model Options page. The form of the reaction is:

Reactants <-> Products

When the Finite-Rate (Species Fraction Approach) Reaction Model is selected the Reaction Manager window appears:

Page 114: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

102

Finite-Rate (Species Fraction Approach) Reaction Mechanism Specification

Input for the Finite-Rate (Species Fraction Approach) Reaction Mechanism requires the reaction specification as well as the rate information for each reaction step (chosen by incrementing or decrementing the No. Steps value.) Type your reaction in the Equation field, for example:

SIH4<->SIH2+H2

There are two options available for the Finite-Rate (Species Fraction Approach) reaction mechanisms, general rate or mass action. For the general rate option αij need not be equal to νij. For the mass action option αij = νij.

The chemical reaction specified for a finite-rate reaction mechanism must be balanced. A reaction is considered balanced if the sum of the molecular weights, as determined from the species database, are equal on the left- and right-hand sides of the reaction. A general representation of the multi-step reaction mechanism is:

(2-3)

where:

= number of moles of species on the left-hand side of the jth reaction step

= number of moles of species on the right-hand side of the

jth reaction step

NSPCS = total number of species considered

NSTEP = total number of reaction steps.

Each step is reversible and the reaction rate for the jth step can be expressed in its most general form as:

(2-4)

with the forward and reverse reaction rate coefficients and given by:

Page 115: Cfd-Ace v2008.2 User Manual

Database Manager

103

(2-5)

All terms in the rate coefficients are defined by filling in the type-in boxes for each variable.

If a reaction step obeys the law of mass action (check the box Backward Rate by Equilibrium), then:

(2-6)

where:

(2-7)

and

po = one atmosphere

gi = Gibbs energy.

If the law of mass action does not apply to the reaction step then you should specify the backward rate explicitly just as the forward rate is specified.

The multi-step reaction model also supports the presence of third-body terms. When third-body

terms are present, the reaction rate is multiplied by the following term:

(2-8)

Page 116: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

104

Third-body terms are automatically activated when you add a species by the name M. On adding a species named M, the reaction manager will activate the field associated with Third body Efficiencies input. Although the constants cij and βij can be arbitrary, they are assumed to be one. For more details on this reaction type, see the Chemistry Module-Theory-Mixture Fractions.

Each reaction step is provided with a name and a notes section. The name of the reaction step is used to identify the reaction step uniquely for inputting user specified reaction rate. This input is useful where you do not have a Arrhenius type reaction rate.

To specify a user defined reaction rate, check the User Defined Factor check box for the reaction step and provide the reaction step with a unique name. The solver will expect a user subroutine which provides the user defined factor and multiplies the existing factor (from the Arrhenius rate input). See User Subroutines for more details.

The Input for Energy loss is activated when you input a species called e on the left hand side of the reaction. The e species is assumed to be an electron. The assumption being that reaction is an electron induced reaction if there is an electron on the left hand side of the reaction.

See Also

Volume Reactions-Equilibrium (Mixture Fraction Approach)

Volume Reactions-Instantaneous (Mixture Fraction Approach)

Volume Reactions-Finite-Rate (Mixture Fraction Approach in Gas or Liquid Phase)

Database Manager-Chemistry-Surface Reactions

Database Manager Chemistry-Surface Reactions Introduction

You can define surface reactions to model chemical species production/consumption on a wall boundary or a fluid/solid interface. As the name indicates, surface reactions occur on the boundaries of fluid volumes in your model. Mechanism Definition

The symbol --> represents an irreversible reaction while <-> represents a reversible reaction. Reaction mechanisms and reaction mechanism steps can be deleted by selecting the appropriate button on the toolbar. Mechanism definition includes the following:

• Finite-Rate (Species Approach in Gas Phase) • Finite-Rate (Species Approach in Liquid Phase)

Database Manager Chemistry-Surface Reactions-Edit Surface Reaction Mechanism

Once a surface reaction mechanism has been added, or if a surface reaction mechanism exists in the currently loaded information, then you may edit the entry by selecting it from the list on the left side of the Surface Reaction Manager. The Surface Reaction Manager dialog box will appear as shown.

Each mechanism has fields for a name, and notes. You can use these type-in fields to provide information about the reaction mechanism.

Constants for each mechanism can either be input in SI units or cgs units using the radio button at the top right hand corner.

SI units are in kmol, m, s, kg, and CGS units are inn mol, cm, s, and gram. The units for E/R are in Kelvin for both the sets of units. You will be reminded of the units wherever appropriate.

For information on the surface coverage modification option, please go to the Surface Reactions theory page in the Chemistry Module.

Page 117: Cfd-Ace v2008.2 User Manual

Database Manager

105

Surface Reaction Mechanism Specification

Database Manager-Biochemistry

Database Manager Biochemistry Introduction

The Biochemistry section of the database manager enables you to:

• Setup data for analytes, buffers, receptors, receptor groups, mixing rules, volume reactions, and surface reactions

• Setup and save information needed when running biochemistry in chemistry module

You have to select liquid phase option to set up biochemistry problems. Biochemistry selections include:

• Biochemistry-Analytes • Biochemistry-Buffers

• Biochemistry-Receptors

• Biochemistry-Receptor Groups

• Biochemistry-Mixing Rules

• Biochemistry-Volume Reactions

• Biochemistry-Surface Reactions

Page 118: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

106

Database Manager Biochemistry-Analytes

Analytes are defined as species that exist in the fluid volume and are quantified by a concentration expressed in moles/liter. Analytes are analogous to species in the regular chemistry module with more types available for simulation cases of biochemical interest. The analyte types that are available are protein, ampholyte, DNA/RNA, ion, acid-conjugate, and base-conjugate. Properties entered into the database for an analyte should be representative properties for that analyte (diffusion coefficient, mobility, etc). Below are the tabs and material properties that you can use biochemistry:

• Type - Proteins, ampholytes, DNA/RNA, ions, acid-conjugate (Ionization), base-conjugate (Ionization), other

• Molecular - Molecular weight, size (Radius of Gyration), valence

• Chemical - pl, pKa, pKb

Database Manager Biochemistry-Buffers

You can use buffers in any fluid volume condition region in the model. A buffer volume condition can be used to simulate flow, heat transfer, free surface, and electromagnetic solutions. When simulating biochemistry cases, buffer data is used to define the effective fluid properties through the use of mixing rules (that define the property options that will be used). You can use buffers with spray injectors to track the motion and interaction of fluid particles with the flow field. Below are the tabs and material properties that you can use biochemistry:

• Physical - Density, surface tension, pH

• Fluid - Viscosity

• Thermal - Specific heat, thermal conductivity

• Electric/Magnetic - Electrical conductivity, relative permittivity, relative permeability

Database Manager Biochemistry-Receptors

Receptors are species that exist exclusively on the surface and are quantified by a concentration expressed in moles/m2. You can select the receptor type (e.g., passive binding site, reversible complex, irreversible complex etc) from the available list. Below are the tabs and material properties that you can use biochemistry:

• Type - Reversible complex, receptor, passive binding site, irreversible complex, irreversible species

Database Manager Biochemistry-Receptor Groups

Receptor groups define surface density and composition of receptors on a surface. A receptor group is simply a collection of receptors defined by some fractional approach. Below are the tabs and material properties that you can use biochemistry:

• Group Definition - Group name, surface density, group definition

Database Manager Biochemistry-Mixing Rules

You can use mixing rules to define the binary properties of systems such as analyte diffusivity and mobility in a given buffer. The mixing rules will state the method, and the solver will evaluate the analyte properties in conjunction with the local species composition to determine the computational cell properties. Below are the tabs and material properties that you can use biochemistry:

• Mixing Rule Definition - Rule name, buffer name

• Analyte Composition - Diffusivity, mobility

Page 119: Cfd-Ace v2008.2 User Manual

Database Manager

107

Database Manager Biochemistry-Volume Reactions

You can define volume reactions for model biochemical species production/consumption in a liquid phase. Volume reactions occur within the fluid volumes of your model. Below are the tabs and material properties that you can use biochemistry:

• Mechanism Definition - Stoichiometric, stoichiometric (Arrhenius), Michaelis Menten

Database Manager Biochemistry-Surface Reactions

You can define surface reactions for model biochemical species production/consumption on a wall boundary or a fluid/solid interface. Surface reactions occur on the boundaries of fluid volumes in your model. Biochemical surface reaction also includes multi-step reaction mechanisms containing mixed stoichiometric and MM (Michaelis Menten), enzyme-catalyzed reaction kinetics along with Arrhenius terms. Below are the tabs and material properties that you can use biochemistry:

• Mechanism Definition - Stoichiometric, stoichiometric (Arrhenius), Michaelis Menten

Database Manager Examples See the CFD-ACE+ Tutorials for instructions on how to setup and run each case. The following tutorials use the Property Manager:

• Turbulent Mixing of Propane and Air (with and without reactions)

• Multi-step Reaction in a Gas Turbine Combustor

• Surface Reaction in a 2D Axisymmetric Reactor

• Sematech Benchmark Case #5

• Sematech Benchmark Case #9

• Sample Stacking by Electrophoresis • Evaporative Spray

The following tutorials use the Reaction Manager:

• Turbulent Mixing of Propane and Air (with and without reactions)

• Multi-step Reaction in a Gas Turbine Combustor

The following tutorials use the Surface Reaction Manager:

• Surface Reaction in a 2D Reactor

• Sematech Benchmark Case #5

• Sematech Benchmark Case #9

Database Manager Frequently Asked Questions Can I read species information into the Property Manager from a JANNAF database file (THERM.DAT)?

The Property Manager can import old THERM.DAT files to create species entries in the database. Open the Property Manager and select File -> Import Properties from PMD File. Change the file type filter to *.DAT files and read a THERM.DAT file.

Page 120: Cfd-Ace v2008.2 User Manual
Page 121: Cfd-Ace v2008.2 User Manual

109

Arbitrary Interface Boundary Conditions Arbitrary Interface BC Introduction The Arbitrary Interface Boundary Condition enables separate grid blocks to communicate flow, heat, and any other transported information. Although similar to point-to-point matched (contiguous) interfaces, arbitrary interfaces do not require point-to-point matching grids at the interface. Arbitrary interfaces allow you to create grid blocks independently of one another. This powerful capability allows you to build the most appropriate grid system for a given geometry/problem. Arbitrary Interface BC includes the following sections:

• Arbitrary Interface BC-Applications

• Arbitrary Interface BC-Features

• Arbitrary Interface BC-Theory • Arbitrary Interface BC-Limitations

• Arbitrary Interface BC-Implementation

• Arbitrary Interface BC-Frequently Asked Questions

Applications

Arbitrary Interface BC Applications Introduction

Arbitrary Interface BC applications include:

• Arbitrary Interface BC-Applications-Hybrid Grid Systems

• Arbitrary Interface BC-Applications-Component Libraries

• Arbitrary Interface BC-Applications-Parametric Part Studies

• Arbitrary Interface BC-Applications-Sliding Grids

Arbitrary Interface BC Applications-Hybrid Grid Systems

Besides using arbitrary interfaces for homogeneous grid systems (e.g., hexahedral / hexahedral), you can also use arbitrary interfaces to mix and match any type of grid system combination (hexahedral / tetrahedral / prism / polyhedral / etc.) Arbitrary interfaces are required any time a cell face does not exactly match to another cell face. This can happen in several situations.

For example, you could create a hexahedral domain and have a tetrahedral domain that interfaces with a totally arbitrary interface set (as shown on the left). You can also have the situation where the hexahedral domain and tetrahedral domain share a common boundary face. In this case the hexahedral side will be constructed of quad faces and the tetrahedral side will use the same quad faces but each will be split into two triangles so that two tetrahedrals can be generated. This in effect is a two-to-one cell match (one hexahedral cell matching to two tetrahedral cells) and also requires that an arbitrary interface be used. An example of the second situation is shown below.

Page 122: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

110

Example of a Hex-Tet Grid System

Example of a Hex-Hex and Hex-Prism Grid System

See Also

Arbitrary Interface BC-Applications-Component Libraries

Arbitrary Interface BC-Applications-Parametric Part Studies

Arbitrary Interface BC-Applications-Sliding Grids

Arbitrary Interface BC Applications-Component Libraries

Arbitrary interfaces enable you to grid components separately with minimal concern over how the components will be joined. This helps you to build component libraries (i.e., component.GGD files in CFD-GEOM terms). You can then copy all of the necessary components into a single CFD-GEOM model. Once you have positioned the parts at the correct locations, you can save the DTF file, setup the arbitrary interface pairs in CFD-ACE+, and run the simulation.

Page 123: Cfd-Ace v2008.2 User Manual

Arbitrary Interface Boundary Conditions

111

Example of the Use of Component Libraries

See Also

Arbitrary Interface BC-Applications-Hybrid Grid Systems

Arbitrary Interface BC-Applications-Parametric Part Studies

Arbitrary Interface BC-Applications-Sliding Grids

Arbitrary Interface BC Applications-Parametric Part Studies

Because you can grid components separately, it is easy to perform parametric geometry studies. You can easily change the position of a component or even its shape. There is no need to re-grid the entire system. All that is required is the modification of the component’s grid shape or position.

Example of a Parametric Part Study

See Also

Arbitrary Interface BC-Applications-Hybrid Grid Systems

Arbitrary Interface BC-Applications-Component Libraries

Arbitrary Interface BC-Applications-Sliding Grids

Page 124: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

112

Arbitrary Interface BC Applications-Sliding Grids

Because point-to-point matching is not required with arbitrary interfaces, it makes sliding grid simulations possible. A sliding grid case will often translate or rotate a whole grid block with or without deformation. The sliding grid will communicate with a stationary grid through an arbitrary interface set.

Example of Sliding Grids

Sliding grid simulations are discussed in the Grid Deformation Module.

See Also

Arbitrary Interface BC-Applications-Hybrid Grid Systems

Arbitrary Interface BC-Applications-Component Libraries

Arbitrary Interface BC-Applications-Parametric Part Studies

Arbitrary Interface BC Features The two most useful features of arbitrary interfaces are the fact that you no longer have to build point-to-point matching grid systems and the ability for arbitrary interfaces to perform automatic face projection.

No Need for Point-To-Point Matching

When you pick two groups of boundaries as an arbitrary interface set, the CFD-ACE-Solver will compute the intersections of every face on each boundary group. The intersection will then be an interface through which flow/heat/etc. will be allowed to communicate. The faces which do not intersect will revert back to the residual boundary condition of the patch.

Automatic Face Projection

The intersecting faces of an arbitrary interface pair will be projected to ensure that they lie on a common surface. This means that the two grid blocks do not have to touch. The second boundary group picked will be projected to the first boundary group. Care should be taken to make the gap small because only the last cell is stretched. Therefore, it is recommended that the gap spacing be on the order of 10% of the last cell’s length. Currently the projected grid is not written back to the DTF file so you will see the original un-projected grid when post-processing the solution.

Page 125: Cfd-Ace v2008.2 User Manual

Arbitrary Interface Boundary Conditions

113

Automatic Face Projection Example

Other Features

• VOF simulations can be run with arbitrary interfaces (V2007). It is best if the free surface does not cross the arbitrary interface, but if it does, the code with drop to the SLIC method for those cells adjacent to the arbitrary interface boundaries.

• Cases involving arbitrary interfaces can now be run in parallel. The dtf_decompose utility will ensure that each arbitrary pair is used in a single parallel zone.

Arbitrary Interface BC Theory The arbitrary interface capability is possible because the CFD-ACE-Solver is a polyhedral cell solver. This means that the solver can handle n-sided cells. When you create an arbitrary interface set you are telling the solver which boundaries should be subdivided to create a lowest common denominator set of cell faces. Let’s look at the simple example of one tetrahedral (4 sided) cell arbitrary interfacing to four hexahedral (6 sided) cells.

Page 126: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

114

Arbitrary Interface Process

All of the cells that are involved in the arbitrary interface process are transformed into polyhedral cells. In the above example each of the original hexahedral cells are no longer six sided hexes, but rather seven sided polyhedra (each of the interfacing faces have been split into two faces). The single tetrahedral cell has been converted to a polyhedra as well and now has seven sides (the interfacing face of the cell has been split into four faces). The process of subdivision of the cell faces allows for an exact match of the total face areas and is therefore a strictly conservative scheme. In addition to the cell subdivision, one of the face sets is always projected to the other to account for any gaps between the two grid systems.

Solver information (flow/heat/etc.) is allowed to communicate only through the newly created common cell faces. All other cell faces revert to the underlying or residual boundary condition that was specified for that boundary face. The use of arbitrary interfaces automatically converts structured grids to unstructured ones.

Arbitrary Interface BC Limitations There are a few limitations in the current implementation of arbitrary interfaces.

Not Supported for 2D Grid Systems

Arbitrary Interfaces are only supported for 3D grid systems. 2D grid systems must have point-to-point matching interfaces. One way to work around this limitation is to extrude or revolve your 2D grid system to make it one to five cells thick (and therefore 3D). You can then use arbitrary interfaces.

Multiple Structured Directions

An unstructured arbitrary interface set cannot be matched up to a structured set that has multiple directions. The structured set has to be entirely in the i, j, or k direction.

Not Supported For Various Modules

Arbitrary Interfaces are not yet supported for the following modules/options:

• Stress Module (not supported in stress solved volume conditions)

• Electroplating Module

• Thin-Wall Feature - you cannot have an arbitrary interface at a thin-wall boundary condition

• Degenerate Grids - the procedure is to convert the sim to all polyzones with either the dtf_make_sim_poly utility or dtf_make_sim_poly ( ) API in the DTFOL_ ACE+ library

Page 127: Cfd-Ace v2008.2 User Manual

Arbitrary Interface Boundary Conditions

115

• Cyclic Boundary Conditions - if a cyclic boundary condition touches an arbitrary interface, results may be incorrect.

Conjugate Interfaces

The use of an arbitrary interface at a conjugate interface (any solid-fluid, solid-solid) may lead to inaccurate results

Monte-Carlo Radiation

You may use arbitrary interfaces in Monte-Carlo radiation simulations if the arbitrary interface set does not produce any residual boundary condition faces. (i.e., the arbitrary interface groups should represent the same surface with no parts left over).

Avoid T-Junctions

There have been some problems encountered when two or more arbitrary interface sets have been used in a T-Junction. A T-Junction is an area where two or more arbitrary interface sets come together. Because the arbitrary interface groups are always projected, we have found some problems at T-Junctions because some of the cell nodes could be trying to project in two directions.

Arbitrary Interface T-junction Example

Implementation

Arbitrary Interface BC Implementation Introduction

The Implementation section describes how to set up a model for simulation using the CFD-ACE+ Arbitrary Interface Boundary Condition feature. It contains the following sections:

• Grid Generation - Describes the types of grids that are allowed and general gridding guidelines

• Model Setup and Solution - Describes the Arbitrary Interface related inputs to the CFD-ACE-Solver

• Post Processing - Provides tips on what to look for in the solution output

Page 128: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

116

Grid Generation

Arbitrary Interface BC Implementation-Grid Generation Introduction

The arbitrary interface boundary condition feature can be applied only to 3D geometric systems. All 3D grid cell types are supported (hexahedral, tetrahedral, prism, and polyhedral). One way to work around the 3D limitation is to extrude or revolve your 2D grid system to make it one to five cells thick (and therefore 3D). This section includes:

• Grid Resolution at Arbitrary Interface

• Automatic Arbitrary Interface Sets

• Grid Systems for Parametric Studies Arbitrary Interface BC Implementation-Grid Generation-Grid Resolution at Arbitrary Interface

While building grid systems for arbitrary interface cases, ensure that there is similar grid resolution on both sides of the arbitrary interface. You do not want a face with 100 cells interfacing with one large cell. It would be best if the cell volumes were the same although a 2:1 match is acceptable. Anything greater than a 10:1 match of cell face areas or volumes will probably degrade the solution accuracy.

Arbitrary Interface Grid Resolution

Arbitrary Interface BC Implementation-Grid Generation-Automatic Arbitrary Interface Sets

CFD-GEOM automatically sets up the arbitrary interface sets for hybrid grid systems if the following two conditions are true:

• There is a single structured grid face interfacing to a single unstructured grid face. • The trimming loop used for the unstructured grid face is constructed from the same

entities (lines, curves, or edges) that are used in the construction of the structured grid face.

CFD-GEOM has the ability to use pyramid cells to connect hexahedral grid systems to tetrahedral grid systems. The quadrilateral cell face of the hexahedral cell system forms the base of a five sided pyramid cell. The four triangular sides of the pyramid cell are used as boundaries for the tetrahedral grid system. If this feature is used then the interface between the hexahedral and tetrahedral grid system is a true interface and the arbitrary interface feature is not needed.

Page 129: Cfd-Ace v2008.2 User Manual

Arbitrary Interface Boundary Conditions

117

Arbitrary Interface BC Implementation-Grid Generation-Grid Systems for Parametric Studies

To facilitate parametric studies, it is often desirable to leave a small gap between the two domains that will be communicating through an arbitrary interface. This is because CFD-GEOM performs point filtering that could cause the two domains to share a geometric point. Once this happens, if you try to translate one of the domains, it will deform the second because they are topologically connected.

Model Setup and Solution

Arbitrary Interface BC Implementation-Model Setup and Solution-Introduction

CFD-ACE+ provides the inputs required for the arbitrary interface boundary condition. Model setup and solution requires data for the following panels:

• Arbitrary Interface Groups

• Arbitrary Interface Sets

If CFD-GEOM could not automatically setup the arbitrary interface pair (see Automatic Arbitrary Interface Sets), then you will have to set it up in CFD-ACE+. All of the arbitrary interface setting operations can be accessed under the Boundary Conditions [BC] page of the Control Panel.

To activate the boundary conditions: 1. Import a DTF file.

2. Click the [BC] tab. Change the boundary condition setting mode to Arbitrary Interface. The Arbitrary Interface column in the BC explorer will have a highlight marker to let you know that you are in arbitrary interface grouping mode.

Arbitrary Interface BC Implementation-Model Setup and Solution-Arbitrary Interface Groups

Create Arbitrary Interface groups by selecting one or more boundary condition patches from either the viewer window or the BC explorer and pressing the Group button. An arbitrary interface group name will be given to the selected boundary patches. At least two groups are required to create an arbitrary interface set. Each group contains all of the boundary condition patches that will be used as a single side of an arbitrary interface set.

Page 130: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

118

Arbitrary Interface Groups

Arbitrary Interface BC Implementation-Model Setup and Solution-Arbitrary Interface Sets

Once you have two arbitrary interface groups defined, you can create an arbitrary interface set. This is done by picking any boundary condition patch from the first desired group (all patches in that group will be highlighted) and then picking any boundary condition patch from a second group. After the two groups have been selected, press the Set button to create an arbitrary interface set. The boundary condition patches will always be projected to the first group that was selected. The group names change to show the direction of projection.

For example, if you pick group A2 first, and then pick group A5 and create an arbitrary interface set, the group names will change as follows:

• Group A5 now becomes A5->A2 (indicating that this boundary condition patch is part of group A5 and group A5 will be projected to group A2)

• Group A2 now becomes A2<-A5 (indicating that this is boundary condition patch is part of group A2 and group A5 is being projected to group A2)

Press the Set button again to toggle the projection direction. Any cell faces on the boundary patch which do not overlap to form the arbitrary interface will use the residual boundary condition type and values specified as normal.

Arbitrary Interface BC Implementation-Post Processing

Use XYZ cuts to visualize the flow field in the region of your arbitrary interface sets. If the grid resolution is similar on each side of the arbitrary interface set, then the flow field results should look fairly smooth and continuous across the set. For visualization, the cell centered solution has been interpolated to the nodes so you will almost never see an exact match of contour lines.

Arbitrary Interface BC Frequently Asked Questions Why do I see a gap between some arbitrary interfacing domains?

Currently, the code performs the projection internally and uses a projected grid to perform all of the calculations. The projected grid is not written back to the DTF file because this could cause problems for subsequent runs. You should only see a gap if the original grid system had a gap. Do I have to setup the entire problem again after making a parametric change?

If you made a minor change, like translating a part, and the arbitrary interface groups and sets are still valid, then you should update the DTF file from CFD-GEOM. When you load the model into CFD-ACE-GUI the arbitrary interface settings will be maintained. I made sure that both groups of my arbitrary interface set lie on the same geometric surface. Do I need to be concerned about the projection direction?

Page 131: Cfd-Ace v2008.2 User Manual

Arbitrary Interface Boundary Conditions

119

Even though both groups lie on the same geometric surface the discretization of that surface (due to gridding) will be slightly different. It is generally best to project coarser patches to finer patches because the finer patch will have a better discretization of the surface. Does the use of arbitrary interfaces slow the solution process?

Arbitrary interface processing is somewhat computational intensive, but it only needs to be done at the beginning of the simulation. Keep in mind that for transient moving grid (deformation) problems that arbitrary interface processing is performed at the beginning of every timestep. What do I do if arbitrary interface processing fails?

Arbitrary interface processing should work in most cases. If you have problems there are a few things you can try. First reverse the projection direction by selecting the arbitrary interface set and pressing the Set button. Sometimes the projection algorithm fails in one direction but can perform in the other direction. Second, make sure that the arbitrary interface sets are as simple as possible. (i.e., do not project 10 boundaries in one group to 20 boundaries). The simplest arbitrary interface sets project a single boundary to another single boundary.

If neither of these suggestions resolve the problem, then contact ESI CFD Customer Support.

Page 132: Cfd-Ace v2008.2 User Manual
Page 133: Cfd-Ace v2008.2 User Manual

121

Thin Wall Boundary Conditions Thin Wall BC Introduction The Thin Wall Boundary Condition simulates physical features such as baffles, plates, and heat resistances whose thickness is so thin as to be essentially ignorable from a grid generation perspective, but not from a momentum, heat transfer, and/or scalar transport standpoint.

For the flow field, a thin wall acts simply as a wall boundary dividing the flow on its two sides. In other words, there is no momentum transport across a thin-wall.

For the thermal field, it may be used to model: (a.) Contact resistance brought about by poor contact at a material interface (solid-solid, or fluid-solid interface), and (b.) Lead which is a thin layer of metal with much higher values of conductivity than the materials on either side of it. For the scalar field, it is used to model only the contact resistance.

A higher fidelity contact resistance calculation may be made with the addition of thermal gap modeling. The thermal gap model is used to calculate the heat transfer between solid bodies separated by a gap. The thermal gap model accounts for a) the gaseous conduction within the gap, b) the effects of direct-contact conduction (solid-solid conduction), and, c) radiation across the gap.

Applications of thin wall boundary condition are often found in semi-conductor and electronics/thermal packaging industries. This section includes:

• Thin Wall BC-Applications

• Thin Wall BC-Theory

• Thin Wall BC-Limitations

• Thin Wall BC-Implementation

• Thin Wall BC-References

Thin Wall BC Applications In CFD-ACE+ the thin-wall boundary condition has been implemented in flow, heat turbulence, chemistry and scalar modules. Effects of leads, contact resistance, and thermal gap can be considered in the heat module. In the scalar module only contact resistance can be modeled. There is no need for you to use any extra grid points to model a thin-walls.

Thin Wall BC-Theory

Thin Wall BC Theory Introduction

The Thin Wall Theory section describes the mathematical formulation of the thin wall feature. The figure shows two neighboring cells separated by a thin wall.

Page 134: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

122

Thin Wall Separation Schematic

Here K1, K2 and K represents the conductivities of cell-1, cell-2 and the thin-wall, respectively, σ1, σ2 and σ indicates the cell-center to face-center distance at cell-1, cell-2 and the thickness of the thin-wall, respectively. T1, T2 is the cell-center temperature at cell-1 and cell-2, respectively. Tw1 is the face temperature of the thin-wall on the cell-1 side and Tw2, the cell-2 side. For illustration purposes only, we assume the grid is orthogonal.

In modeling contact resistance, it is assumed that the heat flux across the thin-wall is continuous, for example:

(4-1)

From the above equations, we have:

(4-2)

(4-3)

Page 135: Cfd-Ace v2008.2 User Manual

Thin Wall Boundary Conditions

123

By introducing an effective conductivity, Keff, as follows:

(4-4)

We have then, from Equations 1 and 2:

(4-5)

With the above effective conductivity relating heat flux directly with cell-center temperatures, the contact resistance boundary is treated as an interior cell face and thus greatly improves numerical stability.

While contact resistances reduce heat fluxes in the direction across thin-walls, leads act to promote heat transfer in the direction along the thin-walls. This effect is modeled by increasing the cell-face conductivities at faces which have direct contact with the thin-wall (excluding the thin-wall itself). For example, effective conductivities for the top face of cell-1 and cell-2 in the figure above are calculated as:

(4-6)

(4-7)

where K1n and K2n are conductivities at the two faces with areas of A1 and A2, respectively. The Thin Wall Theory section includes:

• Thin Wall BC-Thermal Gap Model

• Thin Wall BC-Gaseous Heat Transfer Coefficient

• Thin Wall BC-Direct-Contact Heat Transfer Coefficient

• Thin Wall BC-Radiative Heat Transfer Coefficient

Thin Wall BC Theory-Thermal Gap Model

By viewing the gaseous conduction, solid-solid conduction, and radiation within the gap as parallel modes of heat transfer, the effective heat transfer coefficient across the gap, heff can be expressed as:

Page 136: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

124

(4-8)

where hgas, hsolid, and hradiation are the heat transfer coefficients for the gaseous conduction, solid-solid conduction and radiation.

Thin Wall BC Theory-Gaseous Heat Transfer Coefficient

If only the gaseous conduction is considered in the gap model, hgas is expressed as:

(4-9)

where hgas and δc are the gaseous thermal conductivity and the gap distance defined by the user. In CFD-ACE+, hgas is estimated based on the Smoluchowski model [1], i.e.:

(4-10)

where a is the accommodation coefficient and lmfp is the mean free path of the gas in the gap. lmfp is calculated based on the kinetic theory [2], i.e.:

(4-11)

where μ is the gas viscosity, ρ the gas density, M the gas molecular weight, R the gas universal constant, and T the average gap temperature. The viscosity, μ is obtained from the user specified conductivity kc and a prandtl number of 0.7. The density, ρ, is calculated based on a user defined reference pressure P, user defined molecular weight M, and average gap temperature using the ideal gas law.

The Smoluchowski model reverts back to equation 4-9 if the accommodation coefficient is set to 2.0.

See Also

Thin Wall BC-Thermal Gap Model

Thin Wall BC-Direct-Contact Heat Transfer Coefficient

Thin Wall BC-Radiative Heat Transfer Coefficient

Thin Wall BC Theory-Direct-Contact Heat Transfer Coefficient

The direct-contact heat transfer coefficient hsolid is evaluated using the following equation:

Page 137: Cfd-Ace v2008.2 User Manual

Thin Wall Boundary Conditions

125

(4-12)

where hsolid is the heat transfer coefficient evaluated without considering the gap model, and λ the fraction of direct-contact area. You enter the value λ directly. The calculation of hno-gap can be further explained using the figure below

Based on the above figure, hno-gap can be expressed as:

(4-13)

where k1 and k2 are the thermal conductivities at the centers of cells 1 and 2 respectively. hsolid can be reset to zero by setting λ to zero.

See Also

Thin Wall BC-Thermal Gap Model

Thin Wall BC-Gaseous Heat Transfer Coefficient

Thin Wall BC-Radiative Heat Transfer Coefficient

Thin Wall BC Theory-Radiative Heat Transfer Coefficient

The radiative heat transfer coefficient hrad is evaluated based on the following approximation:

(4-14)

where ε represents the emissivity of the solid surfaces, σ the Stefan-Boltzman constant, Tw1 and Tw2 refers to the temperatures at the solid-gap interface, and T1 and T2 the temperature at the solid-cell centers. From the above equation, the radiative heat transfer coefficient is expressed as:

Page 138: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

126

(4-15)

hradiation is accounted for only when the radiation module is in use.

See Also

Thin Wall BC-Thermal Gap Model

Thin Wall BC-Gaseous Heat Transfer Coefficient

Thin Wall BC-Direct-Contact Heat Transfer Coefficient

Thin Wall BC Limitations Thin wall boundaries can only be implemented at true domain-domain interfaces. It cannot be used at an arbitrary interface. The thin wall boundary condition is not supported by the following modules and features:

• Magnetic Module • Electroplating Module

• Electrokinetic Module

• Biochemistry Module

• Parallel Processing

Thin Wall BC-Implementation

Thin Wall BC Implementation Introduction

The Implementation section describes how to setup a model for simulation using the CFD-ACE+ Thin Wall Boundary Condition feature. The Thin Wall Boundary Condition Implementation section includes:

• Grid Generation - Describes the types of grids that are allowed and general gridding guidelines

• Model Setup and Solution - Describes the Thin Wall BC related inputs to the CFD-ACE-Solver.

• Post Processing - Provides tips on what to look for in the solution output

Thin Wall BC Implementation-Grid Generation

The thin-wall boundary condition feature can be applied to any geometric system (3D, 2D planar, or 2D axisymmetric). All grid cell types are supported (quad, tri, hex, tet, prism, poly). Thin-wall boundary conditions can be applied only on domain-domain interfaces. This constraint requires careful planning in building the grid system.

Thin Wall BC-Implementation-Model Setup and Solution

Thin Wall BC Implementation-Model Setup and Solution-Introduction

CFD-ACE+ provides the inputs required for the thin-wall boundary condition feature. Model setup and solution requires data for the following panels:

• Thin Wall Boundary Condition

Page 139: Cfd-Ace v2008.2 User Manual

Thin Wall Boundary Conditions

127

• Thin Wall BC Settings Thin Wall BC Implementation-Model Setup and Solution-Thin Wall Boundary Condition

To activate a thin-wall boundary condition: 1. Press the Boundary Condition [BC] button to put the CFD-ACE+ Control Panel into boundary condition setting

mode.

2. Change the boundary condition setting mode to Thin-Wall. An indicator in the heading of the BC Explorer shows that you are in the thin-wall setting mode.

3. Pick an domain-domain interface boundary condition from either the Viewer Window or the BC Explorer.

4. Press the Set button to convert the Interface to a Thin-Wall boundary condition. (Press the Unset button to revert the boundary condition back to an Interface.)

Once a domain-to-domain interface has been converted to a thin wall, you will notice that the boundary condition type changes from Interface to Thin Wall. Also, an entry has been made in the Thin Wall column of the BC explorer to indicate which indicates which thin walls are grouped together. The color of the interface BC also changes indicating that it is a thin wall BC.

Thin Wall BC Implementation-Model Setup and Solution-Thin Wall BC Settings

Each CFD-ACE+ Module allows different boundary condition settings for any Thin-Wall type.

The Flow, Turbulence, and Chemistry Modules treat a thin-wall the same as a normal wall. See the Boundary Conditions section of each module’s chapter for instructions on wall settings for these modules.

The Heat Transfer Module uses the thin-wall boundary condition to impart a thermal resistance using the contact resistance or thermal-gap model as described in the Theory section. The inputs required for contact resistance are:

• Effective thickness (m) • Effective conductivity (W/m-K)

If the thermal-gap model is activated then the following inputs are also required:

For hgas computation (see equation 4-10 and 4-11):

• Accommodation coefficient (unitless) • Reference pressure (N/m^2)

• Molecular weight (g)

• Dynamic viscosity (kg/m-s)

For hsolid computation (see equation 4-12):

• Direct area contact fraction (unitless)

For hradiation computation (see equation 4-15):

• Emissivity (unitless)

Thin Wall BC Implementation-Post Processing

Significant aspects of results for a model with thin wall BCs are: 1. Velocity profiles: You should see separate boundary layers on either side of the thin-wall BC that have been

applied at a fluid-fluid interface. This is evidence that there is no momentum transport across the thin-wall BC.

2. If you use this type of BC for modeling contact resistance and/or thermal gap, then notice a jump (mismatch) in the temperature on each side of the interface.

Page 140: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

128

Thin Wall BC References Kersch, Alfred, "Specification of the gap model from Siemens." 1998. Hirschfelder, J.O., Curtiss, C.F., and Bird, R.B., “Molecular Theory of Gases and Liquids.” John

Wiley and Sons, New York, 1954.

Page 141: Cfd-Ace v2008.2 User Manual

129

Cyclic Boundary Conditions Cyclic BC Introduction Cyclic Boundary Conditions (BCs), also called periodic BCs, are used in systems where rotating mechanical components produce rotationally (circumferentially) symmetric flow and heat transfer fields. This type of rotational symmetry can be exploited from a computational standpoint by computing a repeating unit of the field. Cyclic BCs are then used on the boundaries of this repeating unit. Cyclic BCs greatly reduce the demand for computing resources in regards to storage and CPU time and also contribute to numerical stability, particularly in three-dimensional calculations. Cyclic Boundary Conditions include:

• Cyclic BC-Theory • Cyclic BC-Features

• Cyclic BC-Limitations

• Cyclic BC-Implementation

Cyclic BC Theory Cyclic boundary conditions are applied at a pair of boundaries in which one boundary is reproduced geometrically by revolving or translating the other boundary. This geometric periodicity alone is not sufficient to allow for the application of cyclic boundary conditions. In addition, all dependent variables should also exhibit periodicity. In CFD-ACE+, the following conditions are applied (by definition) at a pair of cyclic boundary faces:

• For any scalar variables such as temperature, pressure, or species mass fraction, we

have • For any vector quantities such as velocity, divergence of a scalar, or magnetic vector

potential, we have

where:

= Magnitude of velocity vector V

= the angle between the vector V and local normal vector

Page 142: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

130

Cyclic Boundary Faces

Cyclic BC Features Cyclic boundaries can be applied for both two-dimensional and three-dimensional cases. They are available in almost all the modules.

Cyclic BC Limitations • Cyclic boundary conditions cannot be applied at a fluid/solid interface.

• Cyclic boundary condition cannot be used with the surface to surface radiation model (see Surface-to-Surface Method).

• Cyclic boundary condition pairs must be an exact match by either rotation or translation (arbitrary pairs not allowed).

• Cyclic boundary conditions cannot be combined with Grid Deformation.

• An Arbitrary Interface that is adjacent to a Cyclic boundary condition might not work.

• Cyclic boundary conditions can not be defined on a degenerate face.

Cyclic BC-Implementation

Cyclic BC Implementation Introduction

The Implementation section describes how to setup a model for simulation using the CFD-ACE+ Cyclic Boundary Condition feature. The Cyclic Boundary Condition Implementation section includes:

• Grid Generation - Describes the types of grids that are allowed and general gridding guidelines

• Model Setup and Solution - Describes the Cyclic Boundary Condition related inputs to the CFD-ACE-SOLVER

• Post Processing - Provides tips on what to look for in the solution output

Cyclic BC Implementation-Grid Generation

The cyclic boundary condition feature can be applied to any geometric system (3D, 2D planar, or 2D axisymmetric). All grid cell types are supported (quad, tri, hex, tet, prism, poly).

The grid system must be built such that the boundaries which will be defined as cyclic are identical in every respect except for their location. In other words, they must be revolved or translated copies of each other.

Page 143: Cfd-Ace v2008.2 User Manual

Cyclic Boundary Conditions

131

Cyclic BC-Implementation-Model Setup and Solution

Cyclic BC Implementation-Model Setup and Solution Introduction

CFD-ACE+ provides the inputs required for the cyclic boundary condition feature. Model setup and solution requires data for the following panels:

• Cyclic Pair Boundary Conditions: Defining Cyclic BC Implementation-Model Setup and Solution-Cyclic Pair Boundary Conditions

Cyclic boundary conditions must be assigned to two opposing boundary patches in CFD-ACE+. The steps required to produce a cyclic boundary condition pair are given below:

1. Press the Boundary Condition [BC] tab and change the BC Setting Mode to Cyclic/Periodic.

2. Change the boundary condition setting mode to Cyclic (You will see an indication in the heading of the BC Explorer that shows that you are in the cyclic setting mode.)

3. Pick a single or multiple boundary conditions from either the Viewer Window or the BC Explorer and select the Group button. This will create the first cyclic group. Repeat this procedure for the second cyclic group.

4. Select both of the cyclic groups by pressing the Ctrl. button and selecting the viewer window or the BC Explorer list. Once the two groups are selected, press the Set button that appears below the BC Explorer window. (Pressing the Unset button reverts the boundary conditions back to their original type.)

Once a pair of boundary conditions have been converted to a cyclic condition, you will notice that the boundary condition type changes from the original type to Cyclic. Also, an entry has been made in the Cyclic column of the BC explorer to indicate the cyclic boundary condition pairs. To reverse the direction of the cyclic pairs, click the Set button. You will see the arrows between the two cyclic groups change directions in the BC Explorer list. To delete a cyclic group, select the Expand option.

In v2006, the BC Setting Mode for Cyclic BC's has changed to Cyclic/Periodic. When the cyclic pairs are created, there will be an option to specify the pressure drop or mass flow rate, but no settings are required for cyclic boundaries. This option is for periodic boundaries.

Cyclic BC Implementation-Post Processing

In the output, you will notice that the scalar results on the cyclic boundary pairs are identical. The vector quantities will be direct rotations or translations across each of the cyclic pairs.

Page 144: Cfd-Ace v2008.2 User Manual
Page 145: Cfd-Ace v2008.2 User Manual

133

Periodic Boundary Conditions Periodic BC Introduction

Flow Module Periodic BC

Periodic flow occurs when the physical geometry of interest and the expected pattern of the flow solution have a periodically repeating nature. Two types of periodic flow can be modeled in CFD-ACE+:

• No pressure drop occurs across the periodic planes, which is referred as a “cyclic” boundary;

• A pressure drop occurs across translationally periodic boundaries, resulting in “fully-developed” or “streamwise-periodic” flow, which is referred as a “periodic” boundary.

This section discusses the periodic boundary option in CFD-ACE+. A description of no-pressure-drop, periodic flow can be found in User Manual-Cyclic BC Conditions.

Electric Module Periodic BC

A periodic electric field occurs when the physical geometry of interest and the expected pattern of the electric field solution have a periodically repeating nature. Two types of periodic electric potential can be modeled in CFD-ACE+:

• No electric potential drop occurs across the periodic planes, which is referred as a “cyclic” boundary

• An electric potential drop occurs across translationally periodic boundaries

Periodic BC Theory

Flow Module Periodic BC

Periodic flow conditions exist when the flow pattern repeats over some length L, with a constant pressure drop across each repeating module along the streamwise direction, which implies

It can be found that cyclic boundary condition is a special case in periodical boundary condition with .

CFD-ACE+ provides two options for periodic flow boundary conditions: fixed pressure drop and specified mass flow rate. However, numerically both conditions are handled using some variant of the pressure-drop approach. That is, if a mass flow rate is specified, a pressure drop is guessed ( ) and then systematically varied until the mass flow rate reaches the desired value to within some numerical tolerance. The mass flow rate is calculated using the following equation

and a corrected pressure drop is calculated from

Page 146: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

134

With the corrected pressure drop, an updated flow filed can be obtained. This solution process is repeated until the specified convergence criterion is achieved.

Electric Module Periodic BC

Periodic electric field exists when the electric field repeats over some length L, with a constant electric potential drop across each repeating module along the streamwise direction, which implies:

It can be found that cyclic boundary condition is a special case in periodic boundary condition with .

CFD-ACE+ provides two options for periodic electric boundary conditions: fixed electric potential drop and specified current. However, numerically both conditions are handled using some variant of the electric potential drop approach. That is, if an electric current is specified, an electric potential is guessed and then systematically varied until the electric current reached the desired value to within some numerical tolerance.

For specified electric current condition ( is the specified total electric current), an electric field is solved with a guessed electric potential drop , the calculated total electric current is then

and a corrected electric potential drop is calculated from

With the corrected electric potential drop, an updated electric field can be obtained. This solution process is repeated until the specified convergence criterion is achieved.

Periodic BC Features and Limitations

Features Periodic boundaries can be applied for both two-dimensional and three-dimensional cases. Periodic BC's are available in the Flow and Electric Modules.

Limitations

The following limitations and constraints apply when using periodic boundary conditions:

• The flow must be incompressible (when using periodic BC's in the flow module)

• The geometry must be translationally periodic, i.e. the grid must match perfectly for periodic boundary pairs

• No mass addition at inlets/outlets or source terms is allowed (when using periodic BC's in the flow module)

• No current addition at inlets/outlets or source terms is allowed (when using periodic BC's in the electric module)

• Periodic boundary conditions cannot be combined with Grid Deformation

• An Arbitrary Interface that is adjacent to a periodic boundary condition will not work

Page 147: Cfd-Ace v2008.2 User Manual

Periodic Boundary Conditions

135

Periodic BC Implementation and Grid Generation The periodic boundary condition feature can be applied to any geometric system (3D, 2D planar, and 2D axisymmetric). All grid cell types are supported (quad, tri, hex, tet, prism, poly).

The grid system must be built such that the boundaries which will be defined as periodic are identical in every respect except for their location. In other words, they must be translated copies of each other or care taken such that the nodal locations are only different by the translational distance.

Periodic BC Model Setup

Flow Module Periodic BC

Periodic boundary conditions must be assigned to two opposing boundary patches in CFD-ACE+. The steps required to produce a periodic boundary condition pair are given below:

1. Go to the BC tab, change the BC Setting Mode to Cyclic/Periodic

2. Periodic BC's are setup as pairs. Select one or more boundary condition patches and click Group. In Figure 1, the yellow and blue BC patches on the left side of the geometry would be selected and grouped. Repeat this procedure for the second group. In Figure 1, the yellow and blue BC patches on the right side would be selected and grouped.

3. Once the two groups have been created, select both of the groups by holding down the Control button and click the Set button. The Set button creates the periodic pair.

4. Now that the pair is created, you may specify the pressure drop or mass flow rate.

Figure 1. Schematic of periodic BC's.

Note: Since Periodic BC's are setup as pairs, the direction of the pressure drop or mass flow rate could be in either direction. When the pair is created by clicking the Set button, the direction is indicated in the Model Explorer by an arrow. To reverse this direction, simply click the Set button a second time.

Page 148: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

136

Electric Module Periodic BC

Periodic boundary conditions in the Electric Module are setup in the same way as periodic boundary conditions in the Flow Module. The only difference is that a potential drop or total current is specified.

Page 149: Cfd-Ace v2008.2 User Manual

137

Fan Model Fan Model Introduction The Fan Model, or fan-like devices, has many practical applications such as in under-hood cooling of vehicles, electronic enclosure cooling fans, helicopter rotors, and stirrer-blades in mixing chambers. The performance of fans can greatly affect momentum and heat exchanges and ultimately, system efficiency. However, the complex geometry and rotation of fan blades make it impractical to simulate fans in detail. It is therefore necessary to provide a modeling approach in which fan forces exerted on the fluid are estimated on the basis of a simplified model that uses geometrical parameters and rotation speed to capture their essence.

In addition to the Fan Model above, another option is available, which is the Fan Model based on a Fan Curve. This model assigns a volumetric axial and tangential body force to the momentum equations for required rise and swirl, respectively, as a function of fan flow rate [1]. Most often, fan curves with pressure head vs. flow rate or torque vs. flow rate date is supplied by the fan manufacturer. Since this is provided, no geometrical details of the fan are needed, only the position and of the fan in the geometry.

The Fan Model section includes:

• Fan Model-Features

• Fan Model-Theory

• Fan Model-Limitations

• Fan Model-Implementation

Fan Model Features The application of the fan model has been generalized so that the rotational axis can be aligned in any direction in a 3D Cartesian coordinate. Also, multiple numbers of fans can be considered in one simulation. If a fan curve from the manufacturer is readily available, the fan curve option may be used.

Fan Model Theory In CFD-ACE+, the fan is assumed to have flat blades which extend radially from a central hub and have a constant orientation or blade angle, as shown below. Under these geometrical simplifications, the forces exerted by the fan on the fluid are two-dimensional in a polar coordinate system (in axial and circumferential directions only). Therefore, a two-dimensional axisymmetric modeling of the fan with a prescribed rotational speed is considered.

Page 150: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

138

Fan Model Geometric Parameters

To facilitate discussion of the model implemented in CFD-ACE+, geometrical parameters used in the fan model are illustrated in figure 6-1 (top view of a blade). Here, is the blade angle, is the unit vector of blade-normal, is the length of the blade, is the width of the blade, and , , and are fan forces in the axial, circumferential and blade-normal directions, respectively.

The normal force exerted by the blade on the fluid can be calculated as:

(6-1)

where is the mass displaced by the blade in the blade-normal direction, and and are the blade and fluid velocities in the blade-normal directions, respectively. is calculated as:

(6-2)

where is the angular rotational speed of the fan and is the radius. is calculated as:

(6-3)

where is the local blade area. With the normal force thus obtained, one can readily calculate the directional forces and as:

(6-4)

(6-5)

These forces are added as source terms to the axial and circumferential momentum equations, respectively.

Page 151: Cfd-Ace v2008.2 User Manual

Fan Model

139

In a three-dimensional Cartesian coordinate system, the forces in the three coordinate directions can also be obtained by projecting into x, y, and z-direction.

The above approach ignores the flow that enters and leaves the fan radially through the tip. The resistance due to blockage of fan blades is not well understood and there exist geometrical differences between the modeled and the actual fan geometry. The ambiguity introduced due to these factors therefore necessitates the use of a correction factor for fan forces. This correction factor should be specified by the user in the course of setting up the model.

In the fan curve approach, the volumetric flow rate is calculated through the fan and corresponding volumetric axial and tangential body forces are obtained from the specified fan curve. Theses forces are then add as source to the momentum equations.

Fan Model Limitations There are no inherent limitations to the Fan Model implementation in CFD-ACE+. However, it should be realized that the Fan Model is simply a model. It is given as a way to impose the effects of a fan without having to build a complicated grid system to simulate the moving parts of a fan. When using the Blade model, the thickness of the fan should be larger than that of the cell. For the fan curve based approach, the radial distribution of the flow rate is ignored and the pressure head is applied uniformly to all cells. Also, the area calculated by the intersection algorithm might be less than the actual fan area. This may be alleviated by refining the mesh.

Fan Model-Implementation

Fan Model Implementation Introduction

The Implementation section describes how to setup a model for simulation using the CFD-ACE+ Fan Model feature. The Fan Model Implementation section contains:

• Grid Generation - Describes the types of grids that are allowed and general gridding guidelines

• Model Setup and Solution - Describes the Fan Model related inputs to the CFD-ACE-Solver

• Post-Processing - Provides tips on what to look for in the solution output

Fan Model Implementation-Grid Generation

The Fan Model can only be applied to a 3D geometric system. All 3D grid cell types are supported (hex, tet, prism, poly).

Fan Model-Implementation-Model Setup and Solution

Fan Model Implementation-Model Setup and Solution Introduction

CFD-ACE+ provides the inputs required for the Fan Model. Model setup and solution requires data for the following panels:

• Adding a Fan

• Fan Model Input Parameters Fan Model Implementation-Model Setup and Solution-Adding a Fan

To add a fan: 1. Go to Model Options --> Flow Tab and check the Fan Model option.

2. Go to the Fan tab shown in Figure 1.

Page 152: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

140

Figure 1. Fan Model Tab

3. Select Add to add a Fan, as shown in Figure 2.

Figure 2. Adding a Fan to the model

Fan Model Implementation-Model Solution and Setup-Fan Model Input Parameters

There are several inputs required for the Fan Model. These are each described below. Fan Blade Model

Location

This parameter refers to the center of the fan, and requires three inputs corresponding to the X, Y, and Z coordinates of the center point of the fan. (2D-axisymmetric fans will require two inputs for X and Y coordinates. The Y coordinate should always be zero for a 2D-axisymmetric problem.) Normal Vector

This refers to the unit vector direction of the axis of rotation (normal vector of the fan plane). This input determines the axis and direction of rotation of the fan. For example, a direction of (1, 0, 0) indicates that the fan rotation axis points in the positive X direction. The tip-velocity of the blades is calculated consistent with the right-hand rule, for example as .

Page 153: Cfd-Ace v2008.2 User Manual

Fan Model

141

Fan Specification

This refers to the type of model. There are two models available, the Blade model and the Fan Curve model. Radius

This parameter refers to the outer radius of the fan. Speed

This refers to the rotational speed of the fan in revolutions per minute (rpm). This input is only required when running the Blade model. Hub Radius

Hub radius is the radius of the hub. This input is required to determine the effective radial length of the blade which will be the difference between the hub radius and the outer radius. Thickness

This input refers to the parameter and refers to the lateral (orthogonal) width of the blade. The fan-blades are considered to be massless, and therefore without any real thickness, but the parameter called Thickness actually refers to the orthogonal blade-width W, and is essential to correctly calculating the inertial source term to be added to the momentum conservation equations. The thickness will be divided evenly on both sides of the center point specified earlier. Blade-Angle

This refers to the angle q that the blade-normal makes with the fan’s axis of rotation, counted counterclockwise from the axis. Blade angle q=0 implies that the blade is perpendicular to the axis, q=90 implies that it is parallel to the axis. This input is only required when running the Blade Model. Fan-Factor

The fan-factor is a correction factor for the Fan Model. A fan-factor of 1.0 will apply no corrections. This input is given to allow the user to tune the Fan Model to reproduce experimentally observed results. This input is only required when running the Blade model. Swirl

Select this option if swirl needs to be solved. When solving for swirl, an additional input is required, the torque on the fan.. Fan Curve Model

Location

This parameter refers to the center of the fan, and requires three inputs corresponding to the X, Y, and Z coordinates of the center point of the fan. (2D-axisymmetric fans will require two inputs for X and Y coordinates. The Y coordinate should always be zero for a 2D-axisymmetric problem.) Normal Vector

This refers to the unit vector direction of the axis of rotation (normal vector of the fan plane). This input determines the axis and direction of rotation of the fan. For example, a direction of (1, 0, 0) indicates that the fan rotation axis points in the positive X direction. The tip-velocity of the blades is calculated consistent with the right-hand rule, for example as . Radius

This parameter refers to the outer radius of the fan. Hub Radius

Page 154: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

142

Hub radius is the radius of the hub. This input is required to determine the effective radial length of the blade which will be the difference between the hub radius and the outer radius. Curve Input

When using the Fan Curve, there are two methods for specifying a curve; (1) via input file or (2) specifying a profile in CFD-ACE-GUI. Pressure Head vs. Flow Rate data are required. When solving for Swirl, the torque generated by the fan must also be provided. The file format for the fan curve input file is:

First Line = # of Points <Integer Value>

Second through n number of lines = FlowRate PressureHead Torque <Real Values>

Note that the third column (Torque) only needs to be provided when the swirl option is activated. An example file would be: 3

10 10 10

20 20 20

30 30 30

Fan Model Implementation-Post Processing

No special post-processing needs to be applied while viewing results of the fan model. Viewing vector plots and velocity profiles should reveal the effect (and therefore existence) of the fan.

Fan Model References Modeling fan induced flow distortion in a push-type telecom shelf, 2004 Inter Society Conference on Thermal Phenomena.

Page 155: Cfd-Ace v2008.2 User Manual

143

Momentum Resistance or Source Momentum Resistance Introduction Momentum Resistance is used to model the effects of physical obstructions within the calculation domain that have dimensions smaller than the grid resolution. Examples of such elements that can be simulated with momentum resistances are porous media, tube banks, perforated plates, and screens. Discussion of the Momentum Resistance feature consists of:

• Momentum Resistance-Introduction • Momentum Resistance-Features

• Momentum Resistance-Theory

• Momentum Resistance-Limitations

• Momentum Resistance-Implementation

Momentum Resistance Features With the Momentum Resistance model, you can specify flow resistances that are either linearly or quadratically proportional to the fluid velocity. These sources can be specified over grid volumes (Volume Condition based) or specified to act over user-defined volumes (geometrically based). Geometrically based resistances allow different resistance coefficients in different directions and thus model anisotropic effects. The model can be applied to both two and three-dimensional geometries.

Momentum Resistance Theory Momentum resistances are applied in user-specified regions of the flow domain and are characterized by relating the pressure gradient with velocity through the following formulation:

(7-1)

where [Kl] amd [Kq] are the coefficient matrices for the linear and quadratic terms. β is the porosity factor equal to the free volume divided by the total volume. For geometrically based resistances, the region in which the above equation is applied can be specified by a bounding volume, as shown below.

Page 156: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

144

Bounding Volumes Example

In the figure above, denotes the primary direction of the bounding volume, while and

are the two directions which are on the plane normal to and are also normal to each other. To allow for some degree of anisotropy, the two coefficient matrices are constructed as follows:

(7-2)

(7-3)

Page 157: Cfd-Ace v2008.2 User Manual

Momentum Resistance or Source

145

In many cases these K terms must be empirically determined. Some guidance may be available from handbooks for certain types of resistive devices. Note that in most cases an isotropic treatment in which the three coefficients are equal will be adequate. One instance in which an anisotropic resistance would be appropriate would be flow across a tube bundle in a shell and tube heat exchanger. Flow parallel to the tube axes would be subject to one resistance while flow normal to the tubes would be subject to a second resistance.

Momentum Resistance Limitations Neither the velocity nor the volume are scaled. The primary impact of this practice is that the residence time of the fluid within the volume over which the resistance acts will be under-predicted. If it is important that the residence time be predicted properly you can use the Porous Media feature which does scale the volume. (see Porous Media).

The volume condition based momentum resistance supports isotropic resistances only.

The geometrically based momentum resistance is applied to all cells whose center lies within the specified volume. If the grid has not been constructed so that grid lines conform exactly to the boundary of the specified volume the volume over which the resistance acts can change when the grid is changed.

When the polyhedral bounding volume option is used the bounding polygon must be convex.

Momentum Resistance-Implementation

Momentum Resistance Implementation Introduction

The Implementation section describes how to setup a model for simulation using the CFD-ACE+ Momentum Resistance feature. The Momentum Resistance Implementation section includes:

• Grid Generation - Describes the types of grids that are allowed and general gridding guidelines

• Model Setup and Solution - Describes the Momentum Resistance related inputs to the CFD-ACE-Solver

• Post Processing -Provides tips on what to look for in the solution output

Momentum Resistance Implementation-Grid Generation

The Momentum Resistance feature can be applied to any geometric system (3D, 2D planar, or 2D axisymmetric). All grid cell types are supported (quad, tri, hex, tet, prism, poly).

Momentum Resistance-Implementation-Model Setup and Solution

Momentum Resistance Implementation-Model Setup and Solution Introduction

CFD-ACE+ provides the inputs required for the Momentum Resistance feature. Model setup and solution for the Volume Condition based model requires data input for the following Control Panel tab: • Volume Conditions (VC)

Model setup and solution for the geometrically based model requires data input for the following Control Panel tabs: • Model Options (MO)

• Momentum Resistance (MR)

Page 158: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

146

Momentum Resistance Implementation-Post Processing

The most significant aspect of the results for a model with momentum resistances or sources will be in pressure drop and velocity profiles. These aspects should be considered when post-processing results. Velocities will not be affected.

Page 159: Cfd-Ace v2008.2 User Manual

147

Porous Media Porous Media Introduction The Porous Media feature enables you to model fluid flow in a volume representing a material consisting of a rigid solid matrix with interconnected void. The interconnectedness of the void (the pores) allows the flow of one or more fluids through the material. In the simplest situation (single-phase flow) the void is saturated by a single fluid. In two-phase flow, a liquid and a gas can share the void space.

In most porous media, the distribution of pores with respect to shape and size is irregular. On the pore scale (the microscopic scale) the flow quantities (velocity, pressure, etc.) will clearly be irregular. But for most applications, the quantities of interest are space-averaged (macroscopic) in nature (measured over areas that cross many pores). Experiments have shown that such macroscopic quantities change in a regular manner with respect to space and time and are therefore amenable to numerical modeling.

Flow through porous media plays an increasingly important role in a multitude of engineering applications and the porous media model in CFD-ACE+ can be applied to many such problems. Some typical example applications where you can apply the porous media model include:

• Filtration products (using media, membrane and high efficiency barriers)

• Packed beds, Fluidized beds

• Micro-perforated plates for sound absorption

• Diffusion based processes in bio-physics and bio-medical applications (eg., drug delivery)

Modeling Porous Media using CFD-ACE+ is described in the following sections:

• Assumptions

• Features

• Theory

• Limitations • Implementation

• References

• Definitions

Porous Media Features The porous media model in CFD-ACE+ takes into account a wide range of physics related to porous media and can therefore be used in calculations with several CFD-ACE+ modules.

In addition to the obvious effect of porous media on the flow equations, you can use porous media to model surface reactions inside a porous bed. You can also use electrochemical reactions inside a porous media. These two features are often used to solve for reactions inside catalytic combustors and electrochemical reactions inside fuel-cell devices.

Page 160: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

148

Theory

Porous Media Theory-Introduction

Transport through porous media is governed by the conservation equations of mass, momentum, energy and species. The pore dimensions may often be in the sub-micron range, and their overall effect is represented through volume-averaged quantities. The volume averaged conservation equations for mass and momentum are as follows (Wang and Cheng, 1997; Wang et. al., 1999).

The following sections describe the conservation equations and their treatment in the Porous Media model:

• Mass Conservation

• Momentum Conservation

• Energy Conservation

• Species Conservation

Mass Conservation

Mass conservation is given by the equation:

(8-1)

Momentum Conservation

The conservation equation for momentum within the porous regions may be written as:

(8-2)

where ρ is the fluid density, p is the pressure, μ is the viscosity of the fluid, CF is a quadratic drag factor, τ is the shear stress tensor, B is the body force vector, and U is the fluid velocity. ε is the porosity of the medium, and represents the volume occupied by the pores to the total volume of the porous solid, while the permeability κ is a quantity representing the surface area to volume ratio of the porous matrix. The last two terms in the equation represent an additional drag force imposed by the pore walls on the fluid within the pores, and usually results in a significant pressure drop across the porous solid. In a purely fluid region, and , and the standard Navier-Stokes equation is recovered. In terms of boundary conditions, no special treatment to the momentum and pressure correction equations is required at fluid-porous solid interfaces.

Energy Conservation

The conservation equation for energy within the porous regions may be written as:

Page 161: Cfd-Ace v2008.2 User Manual

Porous Media

149

(8-3)

where h is the total enthalpy of the fluid. The heat flux, q, is comprised of contributions due to thermal conduction, thermal radiation and species diffusion, and is written as:

(8-4)

where Ng is the total number of gas phase species in the system, hi are their enthalpies, and Ji are their diffusion fluxes. T is the bulk temperature and qR is the radiative heat flux. The thermal conductivity, λ, of the porous medium is an effective thermal conductivity of the pores and solid regions in combination and may be written as (Gurau et al., 1998):

(8-5)

where λS and λF are the thermal conductivities of the solid (matrix) and fluid regions (pores), respectively.

Species Conservation

Porous Media Theory-Species Conservation Introduction

The mass conservation equations for the individual gas phase species (i.e., for i = 1,…,Ng) may be written as:

(8-6)

where Yi are the mass-fractions of the i-th species, and are the production rates of the i-th species in the gas phase. When heterogeneous surface reactions are treated within the porous solid, this production rate term will be modified so that species are produced in a volumetric sense, but the basic physics governing their production is interfacial (interface between fluid and solid parts within the porous regions) surface phenomenon. This is discussed in further detail in the next section.

The species diffusion flux may be written as (Bird et al., 1960):

Page 162: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

150

(8-7)

where M is the mixture molecular weight. The first term represents Fickian diffusion due to concentration gradients, and the second term represents Soret (or thermo) diffusion. The last four terms are correction terms necessary to satisfy the Stefan-Maxwell equations for multi-component species systems. In this case, Di,eff and DT

i,eff are the effective mass diffusion and Soret diffusion coefficients of species i within the porous medium, respectively, and depend on the porosity of the medium. Gurau (1998) has provided the following expression for the effective diffusion coefficient through porous media:

(8-8)

which is identified by the original source as the Daggan model. An alternate correction is the Bruggeman type:

(8-9)

where τ is the tortuosity of the porous media. Tortuosity is the degree of interconnection resulting in paths through the solid which are some percentage longer than a direct path. The recommended value (based on measurements)for tortuosity is 1.5.

See Also

Heterogeneous Reactions In Porous Media

Electrochemical Reactions

Heterogeneous Reactions

The cell sizes used in performing CFD analysis are typically much larger than the characteristic pore dimensions in a porous media. This makes it impossible to grid individual surfaces adjoining the pores. Therefore, modeling the heterogeneous chemical reactions occurring within catalyst-lined pores requires a volume-averaged implementation of the net effect of heterogeneous reactions occurring on the catalyst surfaces.

Surface reaction within porous media is treated by performing a reaction-diffusion balance at the surfaces of the catalysts. The balance equation is given by:

(8-10)

where is the production-destruction rate per unit area of the i-th specie due to chemical reactions. In discrete form, this equation may be re-written as:

Page 163: Cfd-Ace v2008.2 User Manual

Porous Media

151

(8-11)

where YP,i denotes the species mass-fraction in the pore fluid, while Yi denotes the mass-fraction at the pore-fluid/catalyst interface. The diffusion length scale is denoted by δ. When considering surface reactions on a well-defined flat substrate, such as in chemical vapor deposition applications, this length scale is extracted from the computational grid. For the case of porous media, this length scale cannot be obtained from the grid since the region under consideration is already much smaller than the size of a typical control volume. This length scale can be computed using various correlations available in the literature. The simplest approach is to assume that this length scale is equal to the volume to surface ratio of the porous media in question.

The volumetric production/destruction rate, (in kmol.m-3.s-1) of a specie, i, due to heterogeneous surface reaction, can be obtained from the surface flux in equation:

(8-12)

where [A/V]eff is the effective surface to volume ratio of the catalyst.

Page 164: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

152

Schematic of a Catalytic Converter: (a) Side view illustrates porous solid matrix, (b) cross-sectional view across A-B, and (c) magnified view of the porous medium showing details of catalyst clusters embedded in the solid support matrix. The diffusion length scale, d, and the surface normal, n, are also shown.

Electrochemical Reactions

In the case of electrochemical reactions, the volumetric production rate of a given species is

expressed by the ratio of the transfer current, , and the Faraday constant, F:

(8-13)

where and are the stoichiometric coefficients of the products and reactants, respectively.

The transfer current, , is obtained from the Butler-Volmer condition, and may be written in its most general form as:

(8-14)

Page 165: Cfd-Ace v2008.2 User Manual

Porous Media

153

where is the reference current at a known open circuit voltage. and are kinetic constants determined from experimental generated Tafel plots. [Λ] represents the near-wall molar concentration of the reacting species, N is the total number of reacting species, and are the concentration exponents. Substitution of equation 8-13 and 8-14 into 8-12 yields a set of non-linear equations for the mass-fractions at the pore-catalyst interface. This equation set is solved numerically to obtain Yi for all species. Once this is known the species sources in each cell can be computed. The electrode overpotential, η, is the potential difference between the solid (ΦS) and pore (or fluid) phase (ΦF) of the electrode, and may be explained as follows.

Schematic of Electrochemical Reactions and the Transfer of Current Within a Porous Catalyst Containing Electrode

The continuity of current in a conducting material leads to:

(8-15)

When the material is a porous electrode, the current may be split into two parts: one flowing through the pores and the other flowing through the solid parts of the porous matrix. If these

components are denoted by and , respectively, the equation 8-15 can be rewritten as:

(8-16)

During electrochemical reactions within a porous solid, electrons are either transferred (expressed by the transfer current) from the pores to the solid matrix or vice versa. This results in a source in one of the phases and a sink in the other phase. Thus, equation 8-16 may be written as:

(8-17)

where the transfer current, , has units of A/m3. Application of Ohm’s law to equation 8-17, yields:

Page 166: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

154

(8-18)

where and are the electric potentials of the fluid (or pore) and solid phases, respectively. Equation 8-18 is solved in a strongly coupled implicit solver. Such a formulation is more advanced than ones used in previous research where the solid parts of the electrodes are assumed as perfect electrical conductors. The above formulation clearly establishes the strong coupling between fluid flow, species transport and the electric field in both the pore and solid phase, and the numerical solution of this problem is quite challenging.

Limitations • The porous media must be applied on a volume condition region (it cannot be

defined geometrically). • Porous media material parameters are considered to be isotropic.

• Effect of surface tension on transport is neglected. (The effect of surface tension transport can be studied using microscopic simulations with the volume-of-fluid (VOF) model of CFD-ACE+.)

• Porous media is not supported with turbulence.

• Porous media does not work with the Plasma module.

Implementation

Implementation Introduction

The Implementation section describes how to setup a model for simulation using the CFD-ACE+ Porous Media feature. The Porous Media Implementation section includes:

• Grid Generation - Describes the types of grids that are allowed and general gridding guidelines

• Model Setup and Solution - Describes the Porous Media related inputs to the CFD-ACE-Solver

• Post Processing - Provides tips on what to look for in the solution output

Grid Generation

The Porous Media feature can be applied to any geometric system (3D, 2D planar, or 2D axisymmetric).

All grid cell types are supported (quad, tri, hex, tet, prism, poly).

Because the porous media is defined on volume condition regions, it is important that this is considered during the grid generation phase so that the appropriate volume condition regions can be meshed to physically match the region of the porous media.

Model Setup and Solution

Model Setup and Solution Introduction

CFD-ACE+ provides the inputs required for the Porous Media feature. Model setup and solution requires data for the following panels:

• Add Porous Media Region

• Flow Module Settings

Page 167: Cfd-Ace v2008.2 User Manual

Porous Media

155

• Heat Transfer Module Settings

• Chemistry Module Settings

• Electric Module Settings Add Porous Media Region

You can add a porous media region by activating the porous media feature on any fluid volume condition. This can be done by changing the volume condition setting mode to Porous Media and then selecting one or more fluid volume conditions from either the viewer window or the VC Explorer list. Once this is done, you must activate the Porous Media checkbox.

Porous Media Specification

Flow Module Settings

The Flow Module requires knowledge of the porosity and permeability of the porous media region. These specifications can be made under the Flow tab when the volume condition setting mode is Porous Media.

Porous media inputs can be specified for either an isotropic or anisotropic resistance. The settings for an isotropic resistance are shown.

Page 168: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

156

Flow Settings for Isotropic Resistance

You may select either a Linear Resistance model or Quadratic Resistance model for an isotropic resistance. In both cases you must specify the porosity (the fraction of total volume of the region that is occupied by void space), and permeability. Porosity and permeability are the terms e and k as shown in equation 8-1 and equation 8-2. Note that porosity also affects the heat transfer and species equations as well.

If the quadratic resistance model was chosen then a drag factor can be input as well. This is the term CF as shown in equation 8-2.

The porous media inputs for an anisotropic resistance are shown in figure 8-5. This option allows the user to specify a normal direction, a tangential direction (in 3D), linear and quadratic resistance coefficients in the normal and tangential directions, and the porosity. The linear resistance coefficients correspond to the inverse of the permeability for the normal and tangential direction, and the quadratic resistance coefficients are the drag factors for the normal and tangential directions.

Page 169: Cfd-Ace v2008.2 User Manual

Porous Media

157

Page 170: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

158

Flow Settings for Anisotropic Resistance

Heat Transfer Module Settings

The Heat Transfer Module requires knowledge of the porosity (as given under the Flow settings, solid conductivity, and for transient cases solid specific heat and density.

Heat Transfer Settings for Porous Media Region

These quantities are for the solid material in the porous region and are used with the fluid properties and in the porous region to calculate effective properties.

Chemistry Module Settings

The Chemistry Module requires knowledge of the porosity (as given under the Flow settings), surface reaction mechanism to be applied (if any), surface to volume ratio, and diffusivity model.

Page 171: Cfd-Ace v2008.2 User Manual

Porous Media

159

Chemistry Settings for Porous Media Region

You must specify whether the surface reaction is of neutral chemistry or electrochemistry. If you set the surface reaction to None, then no surface reaction will be applied in the porous media.

The surface to volume ratio determines the effective surface area for which the surface chemistry sources will be calculated. This is the [A/V]eff term used in equation 8-12.

The Daggan model makes diffusivity close to zero if the porosity is less than 0.33. If porosity < 0.33 and diffusion is important use the Bruggeman model. The recommended value (based on measurements)for tortuosity is 1.5.

Electric Module Settings

The Electric Module requires knowledge of the porosity (as given under the Flow settings), and solid electrical conductivity.

Page 172: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

160

Electric Settings for Porous Media Region

These quantities are for the solid material in the porous region. Sigma (solid) is the term σs as used in equation 8-18.

Post Processing

CFD-VIEW can post-process the results of porous media calculations. All variables that are the results of various module’s output will be shown as normal. You will want to check pressure drops and heat transfer through the porous media. If surface chemistry is included in the porous media then you should also see species sources/sinks as a result of that reaction. If electro-chemistry is included in the porous media then you will get new variables written to the DTF file for post processing in CFD-VIEW, namely:

• epot_S - electric potential in the solids of a porous media

• overP - electric overpotential at the solid/fluid interfaces of a porous media • Jsolid_x - electric current in the x-direction for the solids in a porous media.

• Jsolid_y - electric current in the y-direction for the solids in a porous media.

• Jsolid_z - electric current in the z-direction for the solids in a porous media.

Because all of the above only apply in a porous media, the results that you see in CFD-VIEW will only be useful in the porous media regions. Results shown for these variables in non porous media regions will usually be zero.

References Bird, R.B., Stewart, W. and Lightfoot, E.N.; Transport Phenomena. Wiley, New York; 1960. Gurau, V., Liu, H. and Kakac, S.; “Two-Dimensional Model for Proton Exchange Membrane Fuel

Cells.” AiChE Journal; Vol. 44, No. 11, pp. 2410-2422, 1998. Wang, C.Y., Cheng, P.; “Multiphase Flow and Heat Transfer in Porous Media Advances in Heat

Transfer." Vol. 30, pp. 93-196, 1997. Wang, C.Y., Gu, W.B., and Liaw, B.Y.; “Micro-Macroscopic Coupled Modeling of Batteries and

Fuel Cells Part 1. Model Development.” Journal of The Electrochemical Society, in press, 1999.

Page 173: Cfd-Ace v2008.2 User Manual

161

Rotating Systems Rotating Systems Introduction The conservation equations for mass, momentum, and heat presented in the module chapters are for the stationary frames of reference. In many applications, such as turbo-machinery problems or flows around propellers, fans, etc., it is more convenient to deal with a rotating system. One advantage of doing so is that a very complex transient problem may be reduced to a simpler steady-state problem.

Multiple Reference Frames

The Multiple Reference Frame (MRF) feature allows the analysis of situations involving domains that are rotating relative to one another. This feature focuses on the investigation of rotor/stator interaction for rotating machinery. It uses a steady-state approximation in which individual cell zones move at different rotational speeds. This approach is appropriate when the flow at the boundary between these zones is nearly uniform.

The Multiple Reference Frame feature is similar to the Mixing Plane feature. The difference is that MRF uses a continuous flow boundary condition at the boundary between rotor/stator zones whereas the Mixing Plane feature introduces circumferential averaging of flow properties at the boundary.

Rotating Systems includes the following sections:

• Rotating Systems-Features

• Rotating Systems-Theory

• Rotating Systems-Limitations

• Rotating Systems-Implementation

Rotating Systems Features The Rotating Systems feature can be applied to 3D and 2D geometries.

Multiple Reference Frame

Multiple Reference Frame is used in modeling/analysis of various turbo machinery devices. This feature reduces an inherently transient system to a series of steady state units by separating the entire computational domain into several zones. It reduces modeling/analysis time dramatically. Various uses of multiple reference frame include:

• Modeling flow mixing in tanks driven by impellers

• Study of rotor/stator interaction in multiple row turbine/compressor sections

Rotating Systems Theory Conservation equations for a rotating frame of reference will be presented in this section. Assuming that the system rotates at a constant angular speed, and defining ui as the i-th component of the velocity vector relative to the rotating frame, and wi as the i-th component of the

frame velocity vector ( ), we have for the absolute velocity component, vi:

(9-1)

Page 174: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

162

Since the frame velocity does not contribute to the mass balance, the continuity equation for mass remains unchanged.

Regarding the momentum equation, it is well known that observers in two systems of reference will not see the same changes when passing from one system to the other. Under a steadily rotating system, the momentum equation for the i-th component of the relative velocity is:

(9-2)

where ε ipj is the alternating tensor. The additional terms are known as the Coriolis force and the centrifugal force, respectively.

Under a constantly rotating frame of reference, the transport equation for total enthalpy, H, as presented in the Heat Module, is no longer valid. A new equation has been derived:

(9-3)

where the quantity I is defined as:

(9-4)

Clearly, the RHS of equation 9-3 is identical to that of the original H-equation, as presented in the Heat Module. Because of this, the quantity, I, is called rothalpy and it measures the total energy content in a rotating frame of reference. In CFD-ACE+, the rothalpy equation is solved if you specify a rotating frame.

Multiple Reference Frames

The equations of motion can be solved in both stationary frame and rotating frame. In the stationary frame, the Navier-Stokes equation can be written as follows:

(9-5)

This equation can be transformed for a pure rotating frame by using the relation

(9-6)

Page 175: Cfd-Ace v2008.2 User Manual

Rotating Systems

163

where a constant rotating velocity is assumed. For multiple reference frames, either the first equation is solved for absolute velocity or the second equation for velocity in the rotating reference frame.

Rotating Systems Limitations

Multiple Reference Frame

• The multiple reference frame has been tested for only flow and heat modules

• Two non-zero rotating domains should have at least four cells separated the domains

Rotating Systems-Implementation

Rotating Systems Implementation Introduction

The Implementation section describes how to setup a model for simulation using the CFD-ACE+ Rotating System feature. The Rotating Systems Implementation section includes:

• Grid Generation - Describes the types of grids that are allowed and general gridding guidelines

• Model Setup and Solution - Describes the Rotating Systems related inputs to the CFD-ACE-Solver

• Post Processing -Provides tips on what to look for in the solution output

Rotating Systems Implementation-Grid Generation

The grid generation feature can be applied to 3D or 2D-planar geometry systems. All grid cell types are supported (quad, tri, hex, tet, prism, poly).

Rotating Systems-Implementation-Model Setup and Solution

Rotating Systems Implementation-Model Setup and Solution Introduction

CFD-ACE+ provides the inputs required for the Rotating Systems feature. Model setup and solution requires data for the following panels:

• Model Options

• Boundary Conditions Rotating Systems Implementation-Model Setup and Solution-Model Options

Press the Model Options [MO] button to see the Model Options Panel. Shared

Under the Shared tab, select the Rotation feature. A pull down menu appears. Select a mode: Frame (Global), Multiple Frame (VC Based), or Multiple Frame (Geometry Based). Frame (Global)

Choose the Frame (Global) mode if you want your system to be calculated in a rotating frame of reference. This option results in relative velocity solutions. All velocity simulation data will be presented relative to the rotating body. Therefore if you have rotating blades, the flow field between the blades will appear not to be moving fast, since the fluid will move at approximately the same velocity as the blades. Imaging yourself sitting on the rotating blades - everything happens relative to you.

Page 176: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

164

To rotate a frame globally:

1. In the first field, enter the x, y, and z coordinates of any point through which the rotation vector of frame passes.

2. Enter values of Wx, Wy, and Wz for the three components of the rotational speed vector for frame. This mode also enables you to specify rotating wall boundary condition types.

Multiple Frame (VC Based)

Choose this option if you have more than one rotating frame of reference. The Frame (VC Based) option is used for mixing planes and multiple reference frames (impellers and fans). Multiple Frame (Geometry Based)

The geometry based option is for cases where the rotating domains are not defined as separate volume conditions. With this option, a virtual cylinder is created to define the rotating region. Two levels of cells adjacent to this region are used as the rotating frame boundaries.

To rotate a frame: 1. Select the rotation option located in the VC panel.

2. Select the volume condition from the VC Explorer

3. From the VC Setting Mode section of the VC tab, select the Rotation from the menu and select the Rotating Frame option

4. From the Shared tab of the VC panel, enter the coordinates for the point on axis of rotation and the coordinates for the angular rotation vector for the volume condition (domain).

Rotating Systems Model Setup and Solution-Volume Conditions

For multiple rotating frames, the different rotating regions need to be specified. The two different options for specifying the rotating regions are VC Based and Geometry Based. Multiple Fames (VC Based)

For the VC based method, the different rotating frames are specified on the VC tab under VC Setting Mode −−> Rotation.

Rotation VC Setting Mode under the VC tab.

Once the Rotation setting mode is selected, select the VC which should be specified in a rotating frame of reference. For each rotating frame, the coordinates of a point on the axis of rotation and the angular rotation vector in rad/s (angle is positive for counter-clockwise rotation and negative for clockwise rotation) need to specified.

Page 177: Cfd-Ace v2008.2 User Manual

Rotating Systems

165

Axis and rotation vector specification for VC based rotating frames.

Multiple Frames (Geometry Based)

For the Geometry based method, a new MRF tab will appear in the control panel to the left of the BC tab.

Page 178: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

166

MRF tab for Geometry based rotating frames.

For this option, a virtual cylinder will be created for the region that will be solved in the rotating frame of reference. Two layers of cells around this virtual cylinder will be used as the rotating frame boundaries.

On the MRF tab, click the Add button located below the Explorer window to add a new virtual cylinder, as shown in the figure below.

Page 179: Cfd-Ace v2008.2 User Manual

Rotating Systems

167

Add virtual cylinder to define the rotating frame.

Once the new rotating frame has been created, specify the parameters to define the rotating frame region. Again, rotation speed positive for counter-clockwise rotation and negative for clockwise rotation. After the parameters for the rotating frame have been specified, click Apply to see the graphic of the rotating frame (virtual cylinder).

This option should be used when the different rotating frames are not separated by different domains (i.e. volumes).

Page 180: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

168

Rotating Systems Implementation-Model Setup and Solution-Boundary Conditions

Press the Boundary Conditions [BC] button to see the Boundary Condition Panel. See Control Panel-Boundary Conditions for details. Before any boundary values can be assigned, one or more boundary condition entities must be made active by picking valid entities from either the viewer window or the BC Explorer.

Although the computations in a rotating frame are performed using the relative velocities, all of the boundary condition values must be specified in the absolute frame of reference. This applies to all boundary condition types but care needs to be taken for all conditions requiring external velocity inputs: Walls, Inlet, and Outlet conditions.

For setting up wall boundaries, any wall that is stationary in the absolute frame should be specified as a stationary wall (with zero velocity), and any wall that appears rotating in the absolute frame (for example, blade surfaces) must be specified as a rotating wall. The inputs needed for a rotating wall have been outlined Rotating Walls.

The flow solver automatically converts all velocity specifications (inlet/outlets and walls) from the absolute frame to the rotating frame using the frame information provided in the problem type setting. The solver also will convert any other related quantities (enthalpy to rothalpy) as appropriate.

Rotating Systems Implementation-Post Processing

If the computation is performed in the rotational frame, the graphical output will show velocities in the relative coordinates.

Page 181: Cfd-Ace v2008.2 User Manual

169

Parallel Processing Parallel Processing Introduction The Parallel Processing feature enables greater computing power through the aggregation of CPUs and memory. The basic concept is simple: if one machine takes T hours, N machines should take T/N hours. Similarly, if one machine requires X MB of RAM, each of the N machines should need only X/N MB of RAM. (Naturally, this is an idealization making these the asymptotic limits.) Since each individual machine has such modest requirements compared to super computers, they cost less. This means calculating simulations with millions of cells to convergence overnight is possible on relatively inexpensive hardware.

Parallel Processing includes the following sections:

• Applications

• Features

• Theory

• Limitations

• Implementation

• Frequently Asked Questions • Examples

Parallel Processing Applications Large problems benefit most from parallel processing. Large can refer to just the number of cells (hundreds of thousands to millions to tens of millions) and/or the computational complexity (detailed finite rate chemical kinetics and LES). Either way, spreading the computational load across multiple processors improves the turn-around time. This also decreases the pre-processor memory requirements thereby making more machines eligible since you are more likely to have many small memory machines than large memory ones. Parallel processing of small problems usually creates too much communication relative to the computational loads.

The communication path between processes in a parallel job is also important. A multiple processor machine with shared memory will have the fastest communications. Distributed processors need a fast network (100 Megabit/sec or faster) to achieve practical speedup in turn-around time.

Parallel Processing Features and Limitations

Features Many, but not all, of the physical models and code features are supported by the parallel processing in CFD-ACE+. Only the following have been proven to run in parallel:

Modules

• Flow Module

• Heat Transfer Module

• Turbulence Module

• Chemistry Module

• User Scalar Module

• Radiation Module (DOM and Surface to Surface)

Page 182: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

170

• Spray Module

• Free Surfaces (VOF)

• Cavitation Module

• Electric Module

• Magnetic Module • Plasma Module (see Limitations below)

• Features • CGS+Pre and AMG solvers

• Fan Model Feature

• Momentum Resistance Feature

• Stationary grids

• Steady state & transient flows

• FSI (see Limitations below.) • Cyclic Boundaries (see Limitations below)

Limitations The following physical models and code features are not yet supported in parallel processing:

• Two Fluid Module

• Kinetic Module

• Semi Device Module

• Arbitrary Interface Boundary Conditions • Cyclic Boundaries Separated by a Zonal Interface

• Thin Wall Boundary Conditions

• Total Heat Source (unless the heat source is in one zone)

• Fixed Mass Flow Inlet (unless the inlet is in one zone)

• Monte Carlo Radiation

• Electroplating

The following limitations apply to running a job with parallel processing:

• A common file system must be used so that each process can read the DTF file. A multiple CPU workstation normally has a common file system for all of the processors. A set of distributed processors such as in a cluster of workstations will require NFS, SMB, or other network file system to fulfill this requirement.

• You can change the number of zones you are solving while restarting from a different number of zones, but that can change the convergence of the solution and can cause a blip in the solution. This feature is available only for steady-state runs. In the new version of DTF decompose 3.0, which will be released in version 2004, this limitation will be overcome.

• Small cases will process slower than large cases. Small cases are those that are comprised of 1,000-45,000 cells. For example, if you are running a 1,500 cell VOF case on eight machines and your case is eight times slower than serial, it is because of added ghost cells and data transfer overhead. We recommend that cases contain 50,000-100,000 cells to run efficiently in parallel processing.

Page 183: Cfd-Ace v2008.2 User Manual

Parallel Processing

171

• For FSI cases, dtf_decompose will combine the volume conditions solving for stress into one zone and the other volume conditions will be decomposed into n-1 zones.

• Plasma Module: • ICP Plasma: Absorbed Power option is not supported in parallel

• CCP Plasma: Ion Momentum option is not supported in parallel

Parallel Processing Theory The CFD-ACE+ code was paralleled using domain decomposition whereby you divide up the data among multiple processors1. To simplify the coding, we chose to equate the number of zones and processes. In other words, each processor would solve for a single zone of the overall mesh.

The choice to parallel along zonal boundaries required that multi-zone features be added to the code. Specifically, ghost cells had to be added along the zonal interfaces to provide boundary information representing the neighboring zone. For parallel processing, these ghost cells are filled with data values from cells in the neighboring zones. Processor 1 sends data from its cells along the zonal interface boundary to processor 2 and vice versa. Each processor receives the data and stores it in its own ghost cell locations.

This data exchange happens on every iteration and includes only those variables deemed necessary for the simulation, e.g., turbulence quantities are not transferred for laminar calculations. Thus, the numeric solver has all of the information it needs to solve each equation of the simulation. Unfortunately, the scope of the solver has been reduced to the smaller zone. The Conjugate Gradient Solver (CGS) and Algebraic Mult-Grid (AMG) used by CFD-ACE+ are thereby limited to an implicit solution of the zone. In order to maintain implicitness across the entire problem, the CGS, CGS+Preconditioning, and AMG numeric solvers were modified to transfer extra data between neighboring zones on each sweep. Thus, the final accuracy of a parallel run matches that of a serial one.

Parallel Processing Setup

Parallel Processing Implementation and Grid Generation

CFD-ACE+ provides the inputs required for the Parallel Run. Model setup and solution requires data for the following:

• Execution

• User ID

• Output

A parallel run in CFD-ACE+ is setup in the normal fashion with just a few caveats. You can execute a parallel run from CFD-ACE+ or you can save the DTF file from CFD-ACE+ and then execute from the command line. To execute a parallel processing run, you must run the cfdaceu_mpi command line utility. Under Unix, this is a python script. If you do not have Python installed, you can use the obsolete cfdaceu_mpi.sh script. Avoid using moving grids and arbitrary interfaces. These are currently not supported by parallel processing. All other geometric features are fully supported.

Parallel Processing Decomposition Options

The CFD-ACE+ solver can be run in parallel mode by using domain decomposition, whereby you divide up the data among multiple processors. The number of zones is equated to the number of processes or in other words, each processor would solve for a single zone of the overall mesh.

Page 184: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

172

The parallel feature of CFD-ACE+ provides several methods and options for decomposition of the domain. In this tip we will talk about these methods and options and their usage. In many cases, the manner of decomposition influences the parallel efficiency and speed-up. For better speed-ups it is important that the workload is balanced between processors, in other words, all the processors gets nearly equal number of cells. The user has to use his own intuition as to which decomposition would be most appropriate for his/her simulation before attempting to do the domain decomposition. Syntax:

The domain decomposition in CFD-ACE+ is done by executing the dtf_decompose script. When you type dtf_decompose at the command prompt, you can get its full usage.

The syntax for the command is:

dtf_decompose [-version] [-metis | -cell_groups | -orig_topo | -x | -y | -z | -material | -wavefront] [-even] [-combine] [-keepFF] [-file_out outFile.DTF] [-restart] inFile.DTF sim# num_procs Method 1 # -metis

This is the default method for dtf_decompose. So if the user does not provide any other method, -metis option is used. METIS is multi-level graph partitioning scheme used for partitioning unstructured meshes. It provides high quality partitions with less CPU time. This decomposition method does workload balancing. Depending on the number of partitions, METIS uses two different ways of partitions.

-- K-way Partitioning for N > 8

-- Recursive Bisection for N < 8

For more details on these partitioning schemes, the user can refer to the following web site. http://www-users.cs.umn.edu/~karypis/metis/

The syntax is:

$ dtf_decompose -metis model.DTF sim# num_procs

where, sim# is the simulation number and, num_procs refer to the number of processors, which is equal to number of decomposed zones.

For example,

$ dtf_decompose -metis test_metis.DTF 1 4

This indicates that simulation # 1 would be decomposed into 4 zones. The decomposed domain is stored in simulation # 2, which is stored in the same DTF file. When you open the file in CFD-ACE-GUI or CFD-VIEW, it prompts the user select the appropriate simulation number in the DTF file. Method 2 # -cell_groups

This method can be used to decompose the domain along cell groups. So if a simulation has 4 cell groups, it will decompose the simulation into 4 zones. Decomposing by cell groups may be useful for special cases such as materials grouping. Note that since this is done by cell groups, there is no attempt to load balance the zones. Method 3 # -orig_topo

This method allows the user to partition the domains along the original topology as it was created in CFD-GEOM. If the user has taken care of load balancing in GEOM, this method can be used. Note that since the decomposition is done along the original zones, there is no attempt to load balance the zones. Method 4 # -x, -y, -z decomposition

Page 185: Cfd-Ace v2008.2 User Manual

Parallel Processing

173

This method allows the user to decompose the domain along the X, Y or Z-axis. In this case, the decomposition is workload balanced. In other words, the decomposition will be done in such a way that the number of cells for each processor is nearly equal. Method 5 # -material

In this method, the decomposition will take place along the material interfaces. So if your simulation domain contains fluid and solid zones, then this method would allow you to group all the fluid zones into one decomposed zone and all the solid zones into another decomposed zones. Note that since the decomposition is done along the material zones, there is no attempt to load balance the zones. Method 6 # -wavefront

This method is based on the Wavefront Element Reordering scheme, which can be used to improve the efficiency of the global matrix decomposition process performed during an analysis. It minimizes the number of operations needed to decompose the assembled global matrices during an analysis. This method is used rarely. This decomposition method provides workload balancing.

There are some other options, which are described below, that can be used with the above methods. Option 1 # -even

This option allows the user to do an even x, y or z decomposition, which means it will be spatially balanced (not workload balanced). In other words, the decomposition will be done in such a way that the number of cells for each processor is nearly equal. Note that this option is only used with x, y or z decomposition. Option 2 # -combined

This option will allow the user to combine the Volume and Boundary Conditions with identical properties to be decomposed into one zone. This option reduces the number of volume and boundary conditions after decomposition and can be used with any method described above. Option 3 # -keepFF

This option allows the user to keep the original Fluid-Fluid interfaces inside of a zone. This becomes useful if the user would like to retain the Fluid-Fluid interface to output Mass Flow Summary or the Heat Flow Summary at the interface. This option can be used with any method described above. Option 4 # -restart

This option can be used with other methods, when the user would like to do a restart from the serial solution. It provides mapping of face data from a simulation to the decomposed simulation, which is needed for restarts.

Parallel Processing Executing a Parallel Run

A parallel processing run requires a DTF file, a set of hosts to run on, a file system common to all of the hosts, and the cfd-ace-mpi utility. The syntax is:

cfd-ace-mpi -model <modelName> -num <num> -wd <path> [-local] [-hosts <file>] [-sim <sim_num>] [-decomp <option>] [-nodecomp] [-cleave] [-out <file>] [-job][-T][-solver <solver>] [-mpich|-nativempi] [-array <arrayname>] [-h|-help|-usage]

-model <modelName>

The basename of the DTF file. -num <num>

Page 186: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

174

The number of processors to use. -wd <path>

The working directory containing the DTF file, etc. -local

Run in the current directory on the local host only. Optional;-wd is not needed if this option is used.

-hosts <file>

The name of the hostfile to use. Optional; modelName.hst is the default. -sim <sim_num>

The sim number to be used. Optional; 1 by default. -decomp <option>

Pass <option> to dtf_decompose to specify the partitioning method, e.g.,

-x partitions along the X axis

-y partitions along the Y axis

-z partitions along the Z axis

-cell_groups partitions along cell groups

-orig_topo partitions with the existing topology

Partitioning along an axis minimizes the number of neighbor zones which is beneficial with large numbers of processors. Decomposing by cell groups may be useful for special cases such as materials grouping. In rare instances, you may need to run with exactly the zonal topology you created. The user is responsible for load balancing with the cell group and original topology partitioning methods. Optional; a multilevel graph partitioning method is used by default.

-nodecomp

Do not decompose the simulation. This assumes that the given simulation is the result of a previous decomposition. Useful for restarting a run. Optional; assumes that the given sim needs to be decomposed.

-cleave

Cleave the simulation into temporary DTF files for concurrent file access. This speeds up the problem setup and solution dump phases for large numbers (>12) of processors. The resulting individual solutions are automatically merged back into the original DTF file. Optional; the default is for all processes to access a single DTF file.

-out <file>

The file for catching output produced by the utility. Optional; output goes to stdout by default.

-job

Equivalent to -out modelName.job -mpich|-nativempi

Use MPICH or a native version of MPI for message passing. Optional; the default is to use the native version of MPI if it is available and to fail safely to the MPICH version if it is not.

-solver <solver>

Use the given solver. Optional; the default is to use $ESI_Home/UTILS_2004/bin/CFD-ACE-SOLVER

Page 187: Cfd-Ace v2008.2 User Manual

Parallel Processing

175

-array <arrayname>

For SGI only, the name of the Array Services array to use for the run. Optional; the default array is used by default.

-h|-help|-usage

Prints out the usage syntax.

So what does the cfd-ace-mpi utility do? First, it checks that the minimum arguments (what to run, where to run it, and how many processes to run it on) are given. Then it verifies that the hostfile (specified or assumed) exists and that remote access to the listed hosts is allowed. The next step checks that the DTF file can be accessed from all hosts. (Under MS-Windows, the utility does not currently verify remote execution capability nor remote access to the DTF file.) Domain decomposition occurs (unless specified otherwise) creating a new simulation in the DTF file. Finally, it runs the simulation.

The syntax for the hostfile is simple: one hostname per line. The number of hosts can be different than the number of zones in the decomposed simulation. MPI will assign processes to the machines listed in a round-robin fashion. If the list is ‘too long’, the first <num> machines will be used. If the list is too short, some machines will be given more than one process to execute. Note that multiple CPU machines can support multiple CFD-ACE+ processes, but the operating system is responsible for assigning the processes to different CPUs for execution. If you are using a multiple CPU machine with other hosts, you should list the multi-processor machine multiple times (once for each CPU).

Parallel runs can also be executed from CFD-ACE-GUI. The inputs are located on the Run tab in CFD-ACE-GUI. Each of the command line inputs discussed above are applicable to the required GUI input. You must provide the decomposition method, MPI version (MPICH or Native MPI), and the host information. To launch the parallel job, click the "Run the Solver" button. This will launch the cfd-ace-mpi script that is specified under the Edit/Preferences/Tools tab in CFD-ACE-GUI.

Parallel Processing User ID Requirements for Parallel Processing

Under Unix, Parallel CFD-ACE+ assumes that all processes (local and remote) will be run under a common user with identical user ID numbers on all machines. If errors are reported, see the man pages for rhosts and hosts.equiv regarding setting up remote access.

The working directory <path> for the simulation must be common to all of the machines listed in the machines file. For just one multi-processor host, any directory will suffice. Distributed machines, however, must use an NFS mounted directory (Unix) or UNC path (MS-Windows) so that processes running remotely from the host used to start the parallel processing can change directory to where the DTF file is.

Parallel Processing Post Processing

If you did not override the automatic decomposition of the mesh, your solution will be in the last simulation of the DTF file. For example, if you created a new test case which is simulation 1 in the DTF file, you must read in simulation 2 which contains the decomposed mesh and solution variables. Alternatively, decomposing the third sim of a five sim DTF file would deposit the decomposed sim in the sixth sim. This new sim will be used for parallel processing and will contain your results; therefore, you would access the sixth sim (not the third sim) in CFD-VIEW for displaying the data. If you restarted a simulation or had already decomposed the sim for another reason, the solution will be in the sim specified when you ran the job.

Parallel Processing Frequently Asked Questions Under Unix, I get errors about permission denied. What causes them, and how do I get rid of them?

Page 188: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

176

The execution of a command on a remote machine is failing because the local machine has not been given permission to do so. This is most commonly due to the local machine not being listed in the $HOME/.rhosts file on the remote machine. Also, make sure that the $HOME/.rhosts file on the remote machine is readable only by the user. I get errors about failed common directory/file test. What causes this and how do I get rid of them?

The run tested each remote machine for access to the DTF file. A common problem is not using a common file system (for example, -wd /home/cierrah/tmp instead of -wd /net/cranberries/home/cierrah/tmp). Why does the parallel processing create a new simulation instead of solving the one I made?

The decomposition creates an entirely new (unstructured) mesh with the cells distributed among the new number of zones. Since you may want to keep the original mesh, a new simulation is created instead of overwriting the original one. Something killed my parallel processing job, but not all of the processes died. How do I make sure they all get killed?

Unix: In case something goes horribly wrong during the execution of a parallel run and there are some processes left hanging, you can kill these with a special installed script. The syntax is:

kill-ace-mpi [-d] <Model.RUN>

This script executes a remote ‘kill’ on the processes listed in the <Model.RUN> file. The ‘-d’ option deletes the RUN file after sending the kill signal to each process listed in the file. Use this as a last resort ONLY. Try the standard methods of shutting down a job first since this kill script may leave your DTF file corrupted.

MS-Windows: Go to each machine in the cluster and use the Task Manager to kill each CFD-ACE+ process via the End Process function. Again, use this only as a last resort. Is there any way to run a problem with cyclic boundaries in parallel?

Yes, but you have to be careful. The cyclic boundaries must match up within the partitioned zones. This means you cannot use the default partitioning method. You must supply an appropriate partitioning method option to dtf_decompose via the -decomp argument to cfdaceu_mpi. For example, if you have a wedge section of a cylinder with the sides of the wedge set as cyclic boundaries, you could partition the domain along the axis of the cylinder for a parallel run. Can I run in parallel under MS-Windows?

Yes, with a few caveats:

CFD-ACE+ can run in parallel only under MS-Windows NT, 2000, or XP Professional. MS-Windows 95, 98, and ME are not suitable for parallel processing. The CFD-ACE+ package must be installed on all machines in identical locations. Also, MPICH.NT.1.2.5 must be installed on all machines in your cluster. MPICHDIR should be defined as the full path to the MPICH.NT installation. For a default installation of MPICH.NT, MPICHDIR would be C:\Program Files\Argonne National Lab\MPICH.NT.1.2.5. The cfd-aceu-mpi.exe utility must be run from a command window.

The DTF file must reside in a directory shared with full read-write permission to all machines in the cluster. When specifying the working directory, use the complete UNC path (e.g., \\krypton\testdir) for cluster computing; a path with a drive letter (e.g., e:\testdir) will work for a multi-processor machine. The cfd-ace-mpi.exe utility does not verify that the given working directory is valid for all hosts before launching the remote processes.

The user launching the parallel run must be in the Administrative group under MS-Windows NT or a Power User under MS-Windows 2000, but the user processing the job on the remaining machines does not. Run the User Manager tool after logging in as Administrator to modify the user account that will be launching the parallel runs or run all parallel jobs from the Administrator account.

Page 189: Cfd-Ace v2008.2 User Manual

Parallel Processing

177

You must register a user and password that is common to all machines in the cluster. This does not have to be the same account that is launching the parallel run. You can run the mpiregister.exe utility from a command line to store the username and (encrypted) password in the Windows Registry. The cfd-ace-mpi.exe utility does not verify that the given account can execute the remote processes on the given machines before launching them. Can I run user subroutines while running in parallel?

Yes: Each process loads the dll into its memory space. Inside the user–subroutine, access routines like get_num_processes and get_process_id can be used to obtain parallel info like number of processes and the current process rank/id. Care must be taken while writing to a text file. Each process might attempt to open/write to the same unit at the same time resulting in access violations. To avoid this, either each processor should open up its own output file where the name of the file which can be appended with the process id to distinguish between the files or only the first processor opens the file in the replace mode while rest of them just append to it as shown below.

! get the number of processors used in this run

call get_num_processes(num_procs, error)

! get the current processor number

call get_process_id(proc_id, error)

! open the current summary file (as replace for first processor, append for others

if (proc_id.eq.1) then

open(99,file=’write.dat',status='replace')

else

open(99,file='write.dat',status='unknown',position='append')

endif

Do you support SSH?

We only support SSH on Red Hat Enterprise edition. For other platforms, parallel processing uses RSH. How do I use PBS for parallel? The purpose of a PBS (Portable Batch System) system is to provide controls over initiating or scheduling execution of batch jobs. The batch system allows the system administrator to define policies for use of resources by different jobs and users of the system. The cfd-ace-mpi script supports the PBS option and can be used by typing

cfd-ace-mpi -model modelname.DTF -pbs

There is no need to specify a hostfile or working directory, since PBS will do this for you.

(Disclaimer: PBS software is a third party software and is not supported by ESI-CFD, Inc. ESI-CFD recommends the professional version of PBS, which will come with support from the software provider. For more information on PBSPro, please visit http://www.pbspro.com/. There is an open source PBS option available, but will not come with support. For more information on OpenPBS, please visit http://www.openpbs.org/.)

What are RSH and SSH? Secure Shell (SSH) is a program to log into another computer over a network, to execute commands in a remote machine, and to move files from one machine to another. It provides strong authentication and secure communications over insecure channels.

RSH stands for remote shell and allows you to execute non-interactive programs on another system. On some systems, this command is sometimes called remsh or rcmd. It executes the command on the other system and returns the program's standard output and standard error output.

Which platforms support MPICH and which ones support NATIVE MPI?

The following table show which platforms support MPICH and which ones support NATIVE MPI.

Page 190: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

178

Platform MPICH NATIVE MPI

Windows 2000/XP X

Linux Red Hat 8+ X

Linux Red Hat Enterprise X

SuSE Linux 8.0+ X

HP-UX 11.0+ on PA-RISC X

HP-UX 11.22+ on Itanium2 X

SGI IRIX 6.5+ on MIPS X X

SUN Solaris 8+ X

SGI Altix on Itanium2 X X

HP Linux on Itanium2 X X

How to use sources with the -combined option in dtf_decompose?

If you use the dtf_decompose -combined option, you must take care that your added sources (flow, heat, etc.) are added appropriately. For instance, if you have two volumes and you add a total heat source of 15W to two volume conditions named heat_source, then run the dtf_decompose -combined option, your total source will be 15W and not 30W. This is due to the grouping of the -combined option. The two volumes will be collapsed into one volume condition since they have the same name, volume condition settings and values. To avoid this problem, you can give the two volumes different names, e.g. heat_source1 and heat_source2, and they will not be merged.

Parallel Processing Examples-Demo Instructions 1. Given a DTF file WarrenZevon.DTF with 1 sim on a multi-processor machine with at least 5 CPUs, you would

run: cfd-ace-mpi -model WarrenZevon -local -num 5

If you believe the above DTF file is best partitioned along the X axis, you would change the command line as follows:

cfd-ace-mpi -model WarrenZevon -local -num 5 -decomp -x

2. If you decided that the above run did not converge enough, you would change sim 2 (the result of decomposing sim 1 above) to be a restart or continuation run and execute:

cfd-ace-mpi -model WarrenZevon -local -num 5 -sim 2 -nodecomp

3. Given the DTF file PinkFloyd.DTF and three uni-processor machines (thewall, darkside, & thunder) in a network cluster with NFS mounting the working directory under /net/thewall/home/gilmour, you would create the hostfile PinkFloyd.hst:

thewall

darkside

thunder

and then solve the fifth sim by running:

cfd-ace-mpi -model PinkFloyd -wd /net/thewall/home/gilmour -num 3 -sim 5

4. Given a multi-processor SGI with at least 4 processors in the Array Services array godzilla, you would run: cfdaceu_mpi -model BOC -local -num 4 -array godzilla

Page 191: Cfd-Ace v2008.2 User Manual

Parallel Processing

179

5. Given a cluster of MS-Windows NT machines, (for example, billy, stevey and jimmy), and the DTF file offices.DTF under the shared directory \\billy\monopoly, you would create the hostfile offices.hst with Notepad:

billy

stevey

jimmy

and then solve the first sim by running: cfd-ace-mpi.exe -model offices -num 3 -wd \\billy\monopoly

Page 192: Cfd-Ace v2008.2 User Manual
Page 193: Cfd-Ace v2008.2 User Manual

181

Chimera Grid Methodology Chimera Introduction The Chimera-overset-grid method offers the most flexibility and computational efficiency in representing flows bounded by complexly shaped bodies. A Chimera grid is a set of overlapped unstructured or structured grids that are generated independently and fitted to the body or bodies of interest. The ability to create separate, body-fitted grids for each component in a system makes the grid generation process much easier for complex geometric systems.

The Chimera grid methodology has been implemented in CFD-ACE+ for the purpose of reducing the requirements/efforts of the user in placing a grid around a complex configuration. The Chimera scheme of grid generation uses a system of relatively simple grids. The grids each define a particular component of the overall geometry, making the initial grid generation much simpler. The individual grids overlap and, once combined, cover the entire computational domain. Changes in geometry or configuration force modifications to one or a small number of individual grids, leaving the other individual grids untouched.

The Chimera section includes:

• Features and Limitations

• Grid Generation

• Applications

• Theory

• Implementation and Grid Generation

• Hole Cutting

• Chimera Boundaries

• Chimera Example

Chimera Features and Limitations

Features Chimera grids can be used to model complex geometric systems, where creating a multi-zonal grid is next to impossible. In these cases, chimera grids can be used to individually grid certain components of the system and overlap with the major grid.

Limitations

The current Chimera Grid methodology employed in CFD-ACE+ has the following limitations:

• Can only used for stationary grids. In other words, there cannot be any relative movement between the overlapping grids.

• The Chimera method implemented in CFD-ACE+ is not fully conservative, i.e. the fluxes across in cells are not fully conserved. This can cause a small discrepancy between a Chimera case and a fully connected grid case, but the results should be very similar.

• Cannot be run in parallel. This limitation may be removed in a future release.

Currently, this methodology can only be used with the following modules

• Flow

Page 194: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

182

• Heat Transfer

• Turbulence

• Chemistry

• User Scalar

Chimera Applications Chimera grids can be used to model complex geometric systems, where creating a multi-zonal grid in next to impossible. Examples where chimera grids can be used are

• Flow over an Airfoil, Cylinder etc.

• Helicopter Rotor Blades

• Compressor & Turbine Blades

Chimera Theory In the Chimera grid system, intergrid communication is accomplished through data interpolation. Therefore a hole needs to be cut in each grid in the regions that overlap with solid bodies or any other non-flow regions which belong to the other grids of the overset grid system. Then interpolation stencils have to be established for cells that lie along the hole boundaries as well as other interpolation boundaries identified in each grid. In the present method, in order to allow flexible grid interactions, the overset grids are permitted to overlap each other in an arbitrary manner (Zhang, 2005a). Before discussing the Chimera grid method further, some terms need to defined:

• Chimera Grid: A grid system containing several overlapped component grids, also called an overset grid.

• Bounding Box: The smallest rectangular or cubic box that encloses the boundary of an object.

• Wall Boundary (WB): The solid boundary of an object in a flow field. A WB of an object may consist of several connected surfaces, the surfaces are called WB faces.

• Intergrid Communication: When we consider a grid system containing several overlapped component grids, it is often needed to interpolate solutions at the cells in one component grid to obtain the solutions at the cells in other component grids at the overlapped regions. The interpolation between component grids is referred as intergrid communication in the overlapped grid system.

Hole-cutting and identification of the intergrid boundary is completely automatic. This procedure is quite complicated and several steps are required and outlined as follows with the help of an illustrative case shown in Figure 1.

Page 195: Cfd-Ace v2008.2 User Manual

Chimera Grid Methodology

183

(a)

(b)

Figure 1. (a) Example Chimera Grid system

(b) Closeup view of the two overlapping grids

Hole cutting is done through the following steps:

1. Determine the bounding boxes of all component grids and WB faces

2. If the bounding box of a component grid, say A, overlaps with that of a WB face in another component grid, say B, build an Alternating Digital Tree (ADT) to accommodate the coordinates of A’s cells that are located on the bounding box of the overlapped WB face; repeat this step for each face in the WB face list in grid B and identify all such cells.

3. Find out if one ore more edges of the cells (identified in step 2) intersect with any WB face in grid B; if so, determine the intersection points. The cells which contain such intersecting-edge(s) are called as cut-cells.

4. Inspect each edge of the cut-cells and classify the status of its two end points as either IN (if this point is inside WB) or OUT (if this point is outside WB). For example, if an edge intersects the WB odd number of times, one of its end points is IN and the other is OUT, as illustrated in Fig. 2;

5. Once the status of the end points of all edges that intersect the WB faces is checked, as shown in Fig. 3, propagate the status checking to other edges of the cut-cells and then to the adjacent cells until all the grid points that are IN are identified, as shown in Fig. 4;

6. Blank out the cells that contain IN points, as shown in Fig.5, thus the hole is generated. The limiting boundary of the hole is constituted by the cut-cells. The cells that lie outside the WB, adjacent to the hole are identified as fringe boundary cells, as shown in Fig. 6.

7. Steps 2-6 are repeated until all the component grids in the Chimera grid system are processed.

(a)

Page 196: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

184

(b)

Figure 2. Classifying the status of end of an edge which intersects the WB as either IN or OUT

(a) Edge with an odd number of intersections (b) Edge with an even number of intersections

Each grid in an overset grid system may contain interpolation boundary cells and/or fringe boundary cells. They represent the linkage between the grids in an overset mesh. Intergrid communication occurs by virtue of interpolating data to them in each grid from the respective donors in another grid. A donor is a cell that overlaps with given interpolation boundary cell or fringe boundary cell and provides an interpolation stencil. If the user does not specify the candidate grids that could contain a donor, the algorithm searches all the grids of the overset mesh to find the best donor. The following algorithm is used to find a donor for a given interpolation boundary cell or fringe boundary cell.

1. Search all the other grids and identify the cells whose bounding boxes overlap with that of the interpolation boundary or fringe boundary.

2. Using these candidates, identify the cell that contains the centroid of the interpolation boundary cell or fringe boundary cell; this cell is a donor.

3. Once a donor cell is identified, values on the point in this cell are reconstructed by a weighted averaging procedure. In this work two methods have been implemented, one is inverse-distance weighting, the other is least-square. If more than one valid donors are found, select the donor with the smallest control volume (best grid resolution).

(a)

(b)

Figure 3. (a) Assignment of IN/OUT status to end points

(b) Cut-cells of the grid blanketing all grid points

Page 197: Cfd-Ace v2008.2 User Manual

Chimera Grid Methodology

185

(a)

(b)

Figure 4. (a) A hole cut in the grid with respect to the given WB

(b) Fringe boundary cells adjacent to the cut hole

(a)

(b)

Figure 5. (a) Fringe cells and their donor cells

(b) Interpolation cells and their donor cells

The values of cells along interpolation boundary or fringe boundary are determined from their donor cell as well as its neighboring cells by weighted average (Zhang 2005b).

(1-1)

The inverse-distance-weighting factor is expressed as:

Page 198: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

186

(1-2)

where

(1-3)

This weighting has been used quite successfully for computing the flow over a number of complex configurations. However, its accuracy is known to be less than second-order. A full second-order accurate averaging method is least square. With least square, the weights are determined by defining (Zhang 2005b)

(1-4)

where

(1-5)

(1-6)

(1-7)

(1-8)

(1-9)

(1-10)

(1-11)

Page 199: Cfd-Ace v2008.2 User Manual

Chimera Grid Methodology

187

(1-12)

(1-13)

(1-14)

(1-15)

(1-16)

(1-17)

(1-18)

Chimera Model Setup

Chimera Implementation and Grid Generation

The Implementation section describes how to setup a model for simulation using Chimera in CFD-ACE+. For grid generation, the Chimera grid option can be applied to any geometric system (3D, 2D, or 2D axisymmetric). All grid cell types are supported.

In some cases, the parts of the different grid systems could lie on top of each other, which would cause CFD-GEOM to filter the overlapping entities. To prevent this, the different parts could be created and saved into different DTF files. The different DTF files can then be merged together using the dtf_merge utility. This will merge the two DTF files into one DTF file. For more information on the dtf_merge utility, please send an email to [email protected].

Chimera Volume Conditions

On the VC tab, you must specify the Chimera cutting priority for the overlapping grids. To define the hole cutting priority, you must change the VC Setting Mode to Chimera. CFD-ACE-GUI will automatically group separate grids in the VC Explorer list. These will show up as, Chi_1, Chi_2,....,Chi_N in the list, depending on the number of separate grids in the model. You then need to specify the hole cutting priority for the separate grids. There are two options available for specifying the hole cutting priority:

• User Defined: With this method, you must specify the cutting priority for each zone.

• Automatic: If no priority is specified, i.e. the automatic option is used, then the Zone number is used to define the priority. The highest zone number will have the highest priority and the lowest zone number will have the lowest priority.

Page 200: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

188

Figure 1. Defining the Chimera cutting priority.

Chimera Boundary Conditions

On the BC tab, you must specify the Chimera boundaries, i.e. the wall boundaries for the overlapping zones. To specify a Chimera boundary, pick a wall boundary and check the Chimera Boundary box on the Chimera tab, as shown in Figure 1.

Figure 1. Defining Chimera boundaries

Chimera Example The following example is meant to provide a brief demonstration on setting up a simulation that uses the Chimera feature. You will learn the following:

• Where to activate the Chimera feature

• Specifying the hole cutting priority for the overlapping grids

• Specifying the Chimera boundaries

The example used will be a 2D, flow over a cylinder case.

Page 201: Cfd-Ace v2008.2 User Manual

Chimera Grid Methodology

189

Figure 1. Schematic of 2D, flow over a cylinder case

In this example, we will have a fine mesh around the cylinder and a coarser mesh for the "tunnel".

Figure 2. Coarse mesh for the tunnel, and a fine mesh around the cylinder.

Activating the Chimera Feature

The Chimera feature should be activated on the MO -> Shared Tab in CFD-ACE-GUI (as shown in Figure 1).

Page 202: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

190

Figure 3. Activating Chimera

Hole Cutting Priority

Since Chimera uses overlapping grids, you must specify a hole cutting priority for each of the zones. To define the hole cutting priority, go to the VC tab and select the Chimera option under the VC Setting Mode.

Figure 4. VC Setting mode for Chimera

There are two options for specifying the hole cutting priority:

• User Defined

• Automatic

Page 203: Cfd-Ace v2008.2 User Manual

Chimera Grid Methodology

191

For this example, you can define the hole cutting priority for the zones around the cylinder as 1, and the hole cutting priority for the tunnel as 2. This will mean that the hole cutting for the tunnel will have a higher priority. If the Automatic option is used, then the hole cutting priority will be defined by the zone number. In this case, we have 4 zones, which will give Zone 4 the highest priority and Zone 1 the lowest priority.

Chimera Boundaries

A Chimera boundary defines the boundary where the two meshes overlap, i.e. the solid boundary of an object in a flow field.. For this example, the outer boundary for the zones consisting of the cylinder are Chimera boundaries, shown in Figure 5.

Figure 5. Yellow boundaries indicate Chimera boundaries, i.e. where the two meshes overlap.

Page 204: Cfd-Ace v2008.2 User Manual
Page 205: Cfd-Ace v2008.2 User Manual

193

User Subroutines User Subroutines Introduction to User Subroutines The User Subroutines feature enables you to create and modify the CFD-ACE-Solver. Though CFD-ACE+ is a multi-purpose solver with a rich set of physical models and features, the User Subroutines enable you to write your own subroutines. This enables you to get information from and to the solver at critical locations in the solution process. User Subroutines include the following sections:

• User Subroutines-Applications

• User Subroutines-Features

• User Subroutines-Implementation

• User Subroutines-Building a User Shared Library/DLL

Activating User Subroutines

Here are the following steps for choosing the appropriate user subroutine and activating the subroutine in CFD-ACE-GUI.

1. Decide which kind of user subroutine you want to write, e.g. UBOUND, USOURCE, UOUT, etc. If you know where to activate the use of a user subroutine in CFD-ACE-GUI, then this will provide a hint about which user subroutine you want to write. For example, if you click the 'evaluation method' for the U velocity component for a Fixed Velocity inlet BC, you will see one option is 'UBOUND'. This is a hint that you need to write a UBOUND user subroutine. If you do not know a priori where to activate the use of a particular user subroutine, e.g. a user-specified source term, then see the descriptions of each user subroutine in the User Subroutine Implementation section.

Note: In any event, the first documentation you should read is for the user subroutine of interest, e.g. USOURCE for a user-specified source term.

2. Write your user subroutine. Start by copying the template file 'libUserAce.f' from your ESI_Software/ACE_SOLVER_2006/usersub directory to a local working directory. Edit this file using any text or programming editor. Make use of the examples provided on the Support web site to figure out what to do. Generally, you will delete all the contents of this template file except the 1 or 2 user subroutines of interest, and the MODULE cfdrc_user at the top of the template file.

3. In CFD-ACE-GUI, set the 'evaluation method' to 'User-Specified' for the parameter or variable or source of interest. You must perform this step, else CFD-ACE-SOLVER will not use your user subroutine.

4. Compile your user subroutine using the 'build-userlib' script provided. You MUST use this script to compile your user subroutine because it links the appropriate libraries. If you do not have a compiler, you can use the online compiler provided on the support website.

Page 206: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

194

5. Keep the compiled user subroutine (*.dll (Windows), *.so (Unix/Linux), or *.sl (Sun) file) with your DTF file (in the same directory)

6. In CFD-ACE-GUI, on the Run panel, indicate the name of the user subroutine.

User Subroutines User Subroutine Applications The User Subroutines option enables you to modify the solver in such a general way that the possibilities are almost unlimited. The most often used capabilities are user defined output, boundary conditions, source terms, and properties. You can also modify the time step during transient simulations, setup initial conditions, and obtain total control of grid deformation.

User Subroutines Introduction to User Subroutine Features In addition to existing user subroutines, there are numerous user access routines that enable you to communicate with the solver. There is an extensive list of variables which are accessible from the solver. The Features section includes:

• Accessible Variables

• Access Routines

Accessible Variables

User Subroutines Introduction to Accessible Variables

Each variable or entity (cell, volume condition, boundary condition) is referred to by an index. The index can be retrieved by calling the appropriate access routine using the corresponding token name. Along with the solved variables, user subroutines also provide access to many other useful variables such as cell coordinates and volume. For many variables there are long and short token names and these are case insensitive. A complete list of variables, their description, and availability is included in the User Subroutines Accessible Variables section:

• Auxiliary Variables

• Utility Variables

User Subroutines Features-Access Variables

Token Name Description Availability1

FLOW

U, V W X, Y, W component of velocity. Available when solving for flow.

G(C,B), S(C4,B)

P or Pressure Static Pressure. Available when solving for flow.

G(C,B), S(C4,B)

Vis or Viscosity Total or Effective Viscosity. Available when solving for flow.

G(C)

VISL or Laminar_Viscosity Laminar Dynamic Viscosity. Available when solving for flow.

G(C5), S(C)

Page 207: Cfd-Ace v2008.2 User Manual

User Subroutines

195

DENS or RHO or DENSITY Density.

(set is available only for inlet/exit boundaries which are part of the volume condition for which density is user defined.)

G(C5,B), S(C,B)

DRHODP Derivative of density with respect to pressure Available only for non constant densities (compressible flows). Need to be set whenever density is user defined.

G(C), S(C)

MASS_FLUX Convective mass flux at boundary face. Available when solving for flow. At a reacting boundary the value is how much mass is deposited or etched. The sign convention for mass flux : flux entering the system is positive sign(+) and flux leaving the system is negative sign(-). Unit = Kg/s

G(B)

WALL_SHEAR_STRESS_<X, Y, Z> X, Y, Z direction walls shear stress. Available when solving for Flow.

G(B)

STRAIN_RATE Strain rate. Available when solving for Flow.

G(C)

HEAT

H0 or Enthalpy Enthalpy. Available when solving for heat transfer.

G(C,B), S(C3,B)

T or Temperature Temperature. Available when solving for stress, flow, heat transfer.

G(C,B), S(C2,B)

COND or THERMAL_CONDUCTIVITY Laminar Thermal Conductivity. Available when solving for heat transfer.

G(C5), S(C)

CP or SPECIFIC_HEAT Specific Heat. Available when solving for heat transfer.

G(C5), S(C)

WALL_HEAT_SOURCE Heat source in W/m^2. Available when solving for heat transfer.

S(B)

HEAT_THINWALL_K Thinwall thermal conductivity. Available when solving for heat transfer.

S(B)

Page 208: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

196

HEAT_THINWALL_D Thinwall thickness, used for heat transfer. Available when solving for heat transfer.

S(B)

Q or HEAT_FLUX Heat flux. Available when solving for heat transfer.

G(B),S(B)

HC or HEAT_TRANSFER_COEFFICIENT Heat transfer coefficient. Available when solving for heat transfer.

S(B)

TINF Temperature of air or ambient air temperature defined for external heat bc (rad + convection). Available when solving for heat transfer.

S(B)

HEAT_FLUX_COND or Q_COND Heat Flux Conduction. Available when solving for Heat.

G(B)

HEAT_FLUX_CONV or Q_CONV Heat Flux Convection. Available when solving for Heat.

G(B)

RADIATION_FLUX or Q_RAD Heat Flux Radiation. Available when solving for Heat.

G(B)

LIQ_FRACTION_SOLIDIFICATION Liquid Fraction. Available when solving for Heat solidification.

G(B)

TURBULANCE

K or Turbulent_ke Turbulent Kinetic Energy. Available when solving for turbulence.

G(C,B), S(C2,B)

D or Turbulent_Dissipation Turbulent Dissipation Rate. Available when solving for turbulence.

G(C,B), S(C2,B)

VIST or TURBULENT_VISCOSITY Turbulent Viscosity. Available when solving for turbulence.

G(C5), S(C)

RH or ROUGHNESS_HEIGHT Wall roughness height. Available when solving for turbulence. Unit = m.

S(B)

CHEMISTRY

Page 209: Cfd-Ace v2008.2 User Manual

User Subroutines

197

<species name> /

<mixture name>

Mixture fraction. Available when solving for Mixture Fractions. You can access the mixture fraction value (at cells) by using the mixture name. You can only get the value of mixture fractions. You are not allowed to set the values for mixture fractions.

OR

Species mass fraction or concentration. Available when solving for Species Mass Fractions or Liquid Chemistry. You can access the species mass fraction or concentration using the species name.

G(C,B), S(C4,B)

BIO_<analyte name> Analyte concentrations. Available when solving for Biochemistry. You can access the analyte concentration by using the analyte names.

G(C,B), S(C4,B)

EPLATE_ELECTROLYTE Electrolyte concentration. Available when solving for electro plating.

G(C), S(C3)

DIF_<species name> Chemical species diffusivity. Available when solving for chemistry.

G(C), S(C)

MOBILITY_<species name> Chemical species mobility, used in calculating drift flux. Available when solving for chemistry and plasma or electric modules (Electrochemistry related problems. You need to be solving for liquid chemistry).

G(C), S(C)

FLUX_<species name> Chemical species total flux.(For gas phase chemistry, Units = Kg/m^2-sec. For liquid chemistry or Biochemistry Units = kmol/m^2-sec) Total flux include diffusive flux, cross diffusion terms, convective flux, and drift flux. Some of the terms are zero, depending on bc and problem type. Available when solving for chemistry.

G(B)

TOTAL_DEP_THICKNES Total deposition thickness or thickness of etching boundary. Available when solving for Chemistry with surface reactions and at lease one species is either getting deposited or etched. The sign convention for thickness : deposition is negative(-) and etching is positive(+). Unit = m/s

G(B)

Page 210: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

198

PH PH, used determine the hydrogen concentration in the system. Available when solving for liquid chemistry with auto ionization switched on.

G(C)

ELECTRO_OSMOTIC_MOBILITY or EOS_MOBILITY

Electro osmotic mobility. Available when solving for both chemistry and electric problems together.

S(B)

ECD_SURF_CURRENT_DENSITY Surface current density. Available when solving for electro-chemistry case.

G(B)

ECD_SURF_OVER_POTENTIAL Surface over potential. Available when solving for electro-chemistry case.

G(B)

ECD_SURF_DEP_THICKNESS Surface deposition thickness. Available when solving for electro-chemistry case.

G(B)

ECD_GROWTH_RATE Growth rate. Available when solving for electro-chemistry case.

G(B)

USER SCALAR

<scalar name> Scalar Fraction. Available when solving for User Scalar. You can access scalar fraction by using the scalar name.

G(C,B), S(C4,B)

SKEW_<scalar name> Cross diffusive face fluxes on boundaries. Available when solving for user defined scalar.

G(B)

DIF_<scalar name> User scalar diffusivity values. Available when solving for user defined scalar.

S(C)

K_THINWALL_<scalar name> Thinwall Conductivity of user defined scalar. Available when solving for user defined scalars.

S(B)

D_THINWALL_<scalar name> Thinwall thickness of user defined scalars. Available when solving for user defined scalars.

S(B)

Page 211: Cfd-Ace v2008.2 User Manual

User Subroutines

199

RADIATION

RADIATION_FLUX Radiative flux at boundary face. Available when solving for radiation. The sign convention for radiation flux : flux entering the system is positive sign(+) and flux leaving the system is negative sign(-).

G(B)

EMISSIVITY Emissivity coefficient at boundary. Available when solving for radiation.

Note: You need to use special user access routines to get and set emissivity. Refer to user access routines related to radiation quantities.

G(B), S(B)

ABSORBTIVITY Absorbtivity coefficient. Available when solving for radiation.

Note: You need to use special user access routines to get and set absorbtivity. Refer user access routines related to radiation quantities.

G(C), S(C)

FREE SURFACE

VOF_VOLUME_FRACTION Liquid volume fraction. Available when solving for VOF.

G(B,C)

'VOF_LAMINAR_VISCOSITY1' Laminar Dynamic Viscosity of primary or first fluid. Available when solving for VOF.

G(C)

'VOF_LAMINAR_VISCOSITY2' Laminar Dynamic Viscosity of second fluid. Available when solving for VOF.

G(C), S(C)

'VOF_THERMAL_CONDUCTIVITY1' Laminar Thermal Conductivity of primary or first fluid. Available when solving for heat transfer and VOF.

G(C)

'VOF_THERMAL_CONDUCTIVITY2' Laminar Thermal Conductivity of second fluid. Available when solving for heat transfer and VOF.

G(C), S(C)

VOF_DENSITY1 Density of primary or first fluid. Available when solving for VOF.

G(C)

Page 212: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

200

VOF_DENSITY2 Density of second fluid. Available when solving for VOF.

(set is available only for inlet/exit boundaries which are part of the volume condition for which density is user defined.)

G(C,B), S(C,B)

VOF_SPECIFIC_HEAT1 Specific Heat of primary or first fluid.

Available when solving for VOF and heat transfer.

G(C)

VOF_SPECIFIC_HEAT2 Specific Heat of second fluid.

Available when solving for VOF and heat transfer.

G(C)

VOF_VOLUME_FRACTION_GRAD_X The x-component of the gradient vector of the VOF function, Grad(F). Available only when solving for VOF.

G(C)

VOF_VOLUME_FRACTION_GRAD_Y The y-component of the gradient vector of the VOF function, Grad(F). Available only when solving for VOF.

G(C)

VOF_VOLUME_FRACTION_GRAD_Z The z-component of the gradient vector of the VOF function, Grad(F). Available only when solving for VOF.

G(C)

VOF_SURFACE_TENSION Surface tension. Available when solving for VOF.

G(C), S(C)

VOF_CONTACT_ANGLE Contact Angle (With Respect to Secondary Fluid). Available when solving for VOF.

S(B), G(B)

FREE_SURFACE_AREA VOF interface area. Available when solving for VOF.

G(C)

VOF_FLUID1 Mass Source for primary fluid. (Index for USOURCE). Available when solving for VOF.

S(C)

VOF_FLUID2 Mass Source for secondary fluid. (Index for USOURCE). Available when solving for VOF.

S(C)

TWO FLUID

Page 213: Cfd-Ace v2008.2 User Manual

User Subroutines

201

TWOF_VOLUME_FRACTION Fluid two - volume fraction. Available when solving for Two Fluids.

G(C), S(C)

TWOF_U or U2 X-direction velocity for Fluid 2. Available when solving for Two Fluids.

S(C)*

TWOF_V or V2 Y-direction velocity for Fluid 2. Available when solving for Two Fluids.

S(C)*

TWOF_W or W2 Z-direction velocity for Fluid 2. Available when solving for Two Fluids.

S(C)*

TWOF_T or T2 Temperature of fluid 2. Available when solving for Two Fluids.

S(C)

CAVITATION

VAPOUR_MASS_FRACTION Vapour Mass Fraction. Available when solving for cavitation.

G(C)

VAPOUR_VOLUME_FRACTION Vapour volume fraction. Available when solving for Cavitation.

G(C)

CAV_TOTAL_VOLUME_FRACTION Total volume fraction, including vapour volume fraction. Available when solving for Cavitation.

G(C)

STRESS

FEM_DISPLACEMENT_X X-direction Displacement. Available when solving for Stress

S(BN), G(N)

FEM_DISPLACEMENT_Y Y-direction Displacement. Available when solving for Stress

S(BN), G(N)

FEM_DISPLACEMENT_Z Z-direction Displacement. Available when solving for Stress

S(BN), G(N)

FEM_FIX_PRESSURE or FEM_PRESSURE or FEM_FIX_LOAD

Load. Available when solving for Stress.

S(B)

S(BN) for point load

Page 214: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

202

PIEZOELECTRIC_POTENTIAL or FEM_VOLTAGE or

FEM_PIEZOELECTRIC_POTENTIAL

Piezoelectric potential. Available when solving for Stress and electric case.

G(N), S(BN)

FEM_YOUNGS_MODULUS Youngs modulus. Available when solving for Stress.

G(C), S(C)

FEM_YOUNGS_MODULUS_1 Youngs modulus coefficient 1 (E1) for Anisotropy Material. Available when solving for Stress.

G(C), S(C)

FEM_YOUNGS_MODULUS_2 Youngs modulus coefficient 2 (E2) for Anisotropy Material. Available when solving for Stress.

G(C), S(C)

FEM_YOUNGS_MODULUS_3 Youngs modulus coefficient 3 (E3) for Anisotropy Material. Available when solving for Stress (3D case only).

G(C), S(C)

FEM_POISSONS_RATIO Poissons ratio. Available when solving for Stress.

G(C), S(C)

FEM_POISSONS_RATIO_12 Poissons ratio coefficient 12 (nu12) for Anisotropy Material. Available when solving for Stress.

G(C), S(C)

FEM_POISSONS_RATIO_13 Poissons ratio coefficient 13 (nu13) for Anisotropy Material. Available when solving for Stress.

G(C), S(C)

FEM_POISSONS_RATIO_23 Poissons ratio coefficient 23 (nu23) for Anisotropy Material. Available when solving for Stress.

G(C), S(C)

FEM_POISSONS_RATIO_21 Poissons ratio coefficient 21 (nu21) for Anisotropy Material. Available when solving for Stress (3D cases only).

G(C), S(C)

FEM_POISSONS_RATIO_31 Poissons ratio coefficient 31 (nu31) for Anisotropy Material. Available when solving for Stress (3D cases only).

G(C), S(C)

FEM_POISSONS_RATIO_32 Poissons ratio coefficient 32(nu32) for Anisotropy Material. Available when solving for Stress (3D cases only).

G(C), S(C)

FEM_EXPANSION_COEF Thermal Expansion Coefficient. Available when solving for Stress.

G(C), S(C)

Page 215: Cfd-Ace v2008.2 User Manual

User Subroutines

203

FEM_EXPANSION_COEF_1 Thermal Expansion Coefficient 1 (Alpha 1) for Anisotropy Material. Available when solving for Stress.

G(C), S(C)

FEM_EXPANSION_COEF_2 Thermal Expansion Coefficient 2 (Alpha 2) for Anisotropy Material. Available when solving for Stress.

G(C), S(C)

FEM_EXPANSION_COEF_3 Thermal Expansion Coefficient 3 (Alpha 3) for Anisotropy Material. Available when solving for Stress.

G(C), S(C)

FEM_STRESS_XX or FEM_STRESS_11 Stress on X plane. Available when solving for Stress.

G(N)

FEM_STRESS_YY or FEM_STRESS_22 Stress on Y plane. Available when solving for Stress.

G(N)

FEM_STRESS_ZZ or FEM_STRESS_33 Stress on Z plane. Available when solving for Stress.

G(N)

FEM_STRESS_XY or FEM_STRESS_12 Stress on XY plane. Available when solving for Stress.

G(N)

FEM_STRESS_XZ or FEM_STRESS_13 Stress on XZ plane. Available when solving for Stress.

G(N)

FEM_STRESS_YZ or FEM_STRESS_23 Stress on YZ plane. Available when solving for Stress.

G(N)

FEM_STRAIN_XX or FEM_STRAIN_11 Strain on X plane. Available when solving for Stress.

G(N)

FEM_STRAIN_YY or FEM_STRAIN_22 Strain on Y plane. Available when solving for Stress.

G(N)

FEM_STRAIN_ZZ or FEM_STRAIN_33 Strain on Z plane. Available when solving for Stress.

G(N)

FEM_STRAIN_XY or FEM_STRAIN_12 Strain on XY plane. Available when solving for Stress.

G(N)

FEM_STRAIN_XZ or FEM_STRAIN_13 Strain on XZ plane. Available when solving for Stress.

G(N)

FEM_STRAIN_YZ or FEM_STRAIN_23 Strain on YZ plane. Available when solving for Stress.

G(N)

Page 216: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

204

FEM_REACTION_FORCE_X Reaction Force X Component. Available when solving for Stress.

G(N)

FEM_REACTION_FORCE_Y Reaction Force Y Component. Available when solving for Stress.

G(N)

FEM_REACTION_FORCE_Z Reaction Force Z Component. Available when solving for Stress.

G(N)

PLASMA

T_E or ELECTRON_TEMPERATURE Electron Temperature. Available when solving for plasma.

G(C)

N_E or ELECTRON_NUMBER_DENSITY Electron Number Density. Available when solving for plasma.

G(C)

'COLLISION_FREQUENCY' Electron collision frequency. Available when solving for plasma.

G(C), S(C)

ELECTRON_MOBILITY Electron Mobility. Available when solving for Plasma.

G(C)

ELECTRIC/MAGNETIC

EPLATE_POTENTIAL Electric Potential. Available when solving for electro plating.

G(C), S(C3)

ESTAT_POTENTIAL or

ELECTRIC_POTENTIAL or

EL_POT

Electric Potential(real part). Available when solving for electric module.

G(C,B), S(B)

ESTAT_POTENTIAL_I or

ELECTRIC_POTENTIAL_I or

EL_POT_I

Electric Potential(Imaginary part). Available when solving for electric with A.C. conduction or time domain settings.

G(C,B), S(B)

ZETA_POTENTIAL or ZETA_POT Zeta Potential. Available when solving for both chemistry and electric problems together.

G(B), S(B)

ECOND or ELECTRICAL_CONDUCTIVITY Electrical Conductivity. Available when solving for electric or magnetic

G(C), S(C)

Page 217: Cfd-Ace v2008.2 User Manual

User Subroutines

205

problems.

EL_EPSR or ELECTRICAL_PERMITTIVITY Electrical relative permittivity. Available when solving for electric or magnetic problems.

G(C), S(C)

ELECTRIC_FIELD_NORMAL or ESTAT_FIELD_N

Normal electric field. Available when solving for electric problems.

G(B)

ELECTRIC_FIELD_X or ESTAT_FIELD_X Electric field in X-direction (Real). Available when solving for electric problems.

G(C)

ELECTRIC_FIELD_X_I or ESTAT_FIELD_X_I

Electric field in X-direction (Imaginary). Available when solving for electric problems.

(AC conduction or time domain)

G(C)

ELECTRIC_FIELD_Y or ESTAT_FIELD_Y Electric field in Y-direction (Real). Available when solving for electric problems.

G(C)

ELECTRIC_FIELD_Y_I or ESTAT_FIELD_Y_I

Electric field in Y-direction (Imaginary). Available when solving for electric problems.

(AC conduction or time domain)

G(C)

ELECTRIC_FIELD_Z or ESTAT_FIELD_Z Electric field in Z-direction (Real). Available when solving for electric problems and 3-D geometry.

G(C)

ELECTRIC_FIELD_Z_I or ESTAT_FIELD_Z_I

Electric field in Z-direction (Imaginary). Available when solving for electric problems and 3D geometry.

(AC conduction or time domain)

G(C)

SURFACE_CHARGE_DENSITY Surface electric charge density. Available when solving for electrostatics. Unit = C/m2

G(B), S(B)

CURRENT Electric current. Available when solving for electric conduction or time domain. Unit = A

G(B)

CURRENT_DENSITY Electric current density. Available when solving for electric conduction or time domain. Unit = A/m2

G(B), S(B)

Page 218: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

206

TOTAL_CURRENT Total electric current, includes current generated due to electric field and magnetic field. Available when solving for electric conduction or time domain and lorentz forces. If lorentz forces are not calculated then this will have the same value as CURRENT. Unit = A

G(B)

TOTAL_CURRENT_DENSITY Total electric current density, includes current generated due to electric field and magnetic field. Available when solving for electric conduction or time domain and lorentz forces. If lorentz forces are not calculated then this will have the same value as CURRENT_DENSITY. Unit = A/m2

G(B)

CURRENT_SOLID Electric current in Solid. Available when solving for electric conduction or time domain. Unit = A

G(B)

CURRENT_DENSITY_I

Electric current density (Imaginary). Available when solving for electric problems.

(AC conduction or time domain)

G(B), S(B)

CURRENT_DENSITY_X X-component of electric current density. Available when solving for electric conduction.

G(C)

CURRENT_DENSITY_Y Y-component of electric current density. Available when solving for electric conduction.

G(C)

CURRENT_DENSITY_Z Z-component of electric current density. Available when solving for electric conduction.

G(C)

CURRENT_DENSITY_X_I X-component (imaginary) of electric current density. Available when solving for electric conduction.

G(C)

CURRENT_DENSITY_Y_I Y-component (imaginary) of electric current density. Available when solving for electric conduction.

G(C)

CURRENT_DENSITY_Z_I Z-component (imaginary) of electric current density. Available when solving for electric conduction.

G(C)

POWER_DISSIPATION Power Dissipation. Available when solving for Electro-magnetic case.

G(C)

Page 219: Cfd-Ace v2008.2 User Manual

User Subroutines

207

MU_R or RELATIVE_PERMEABILITY Relative Permeability. Available when solving for Electro-magnetic case.

G(C), S(C) `

SPACE_CHARGE_DENSITY Space charge density. Available when solving for electric cases.

G(C)

MAGNETIC_FIELD_REAL_X Magnetic field in X-direction (Real). Available when solving for magnetic or electro-magnetic cases.

G(C)

MAGNETIC_FIELD_REAL_Y Magnetic field in Y-direction (Real). Available when solving for magnetic or electro-magnetic cases.

G(C)

MAGNETIC_FIELD_REAL_Z Magnetic field in Z-direction (Real). Available when solving for magnetic or electro-magnetic cases.

G(C)

MAGNETIC_FIELD_IMAG_X Magnetic field in X-direction (Imaginary). Available when solving for electro-magnetic cases. (AC conduction or time domain)

G(C)

MAGNETIC_FIELD_IMAG_Y Magnetic field in Y-direction (Imaginary). Available when solving for electro-magnetic cases. (AC conduction or time domain)

G(C)

MAGNETIC_FIELD_IMAG_Z Magnetic field in Z-direction (Imaginary). Available when solving for electro-magnetic cases. (AC conduction or time domain)

G(C)

MAGNETIC_FIELD_STATIC_X Magnetic field in X-direction (Static). Available when solving for electro-magnetic cases. (AC +DC Single Frequency)

G(C)

MAGNETIC_FIELD_STATIC_Y Magnetic field in Y-direction (Static). Available when solving for electro-magnetic cases. (AC +DC Single Frequency)

G(C)

MAGNETIC_FIELD_STATIC_Z Magnetic field in Z-direction (Static). Available when solving for electro-magnetic cases. (AC +DC Single Frequency)

G(C)

MAGNETIC_POTENTIAL_REAL_X Magnetic potential in X-direction (Real). Available when solving for magnetic or electro-magnetic cases.

G(C)

Page 220: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

208

MAGNETIC_POTENTIAL_REAL_Y Magnetic potential in Y-direction (Real). Available when solving for magnetic or electro-magnetic cases.

G(C)

MAGNETIC_POTENTIAL_REAL_Z Magnetic potential in Z-direction (Real). Available when solving for magnetic or electro-magnetic cases.

G(C)

MAGNETIC_POTENTIAL_IMAG_X Magnetic potential in X-direction (Imaginary). Available when solving for electro-magnetic cases. (AC conduction or time domain)

G(C)

MAGNETIC_POTENTIAL_IMAG_Y Magnetic potential in Y-direction (Imaginary). Available when solving for electro-magnetic cases. (AC conduction or time domain)

G(C)

MAGNETIC_POTENTIAL_IMAG_Z Magnetic potential in Z-direction (Imaginary). Available when solving for electro-magnetic cases. (AC conduction or time domain)

G(C)

MAGNETIC_POTENTIAL_STATIC_X Magnetic potential in X-direction (Static). Available when solving for electro-magnetic cases. (AC +DC Single Frequency)

G(C)

MAGNETIC_POTENTIAL_STATIC_Y Magnetic potential in Y-direction (Static). Available when solving for electro-magnetic cases. (AC +DC Single Frequency)

G(C)

MAGNETIC_POTENTIAL_STATIC_Z Magnetic potential in Z-direction (Static). Available when solving for electro-magnetic cases. (AC +DC Single Frequency)

G(C)

Ax_r Real component of the magnetic vector potential in the X-direction

G(B), S(B)

Ay_r Real component of the magnetic vector potential in the Y-direction

G(B), S(B)

Az_r Real component of the magnetic vector potential in the Z-direction

G(B), S(B)

Ax_i Imaginary component of the magnetic vector potential in the X-direction

G(B), S(B)

Ay_i Imaginary component of the magnetic vector potential in the Y-direction

G(B), S(B)

Page 221: Cfd-Ace v2008.2 User Manual

User Subroutines

209

Az_i Imaginary component of the magnetic vector potential in the Z-direction

G(B), S(B)

Ax_s Static component of the magnetic vector potential in the X-direction (when using DC+AC for magnetic field options)

G(B), S(B)

Ay_s Static component of the magnetic vector potential in the Y-direction (when using DC+AC for magnetic field options)

G(B), S(B)

Az_s Static component of the magnetic vector potential in the Z-direction (when using DC+AC for magnetic field options)

G(B), S(B)

KINETIC

DIFFUSION_COEF_U_KINETIC Kinetic diffusion coefficient in U space. Available when solving for Kinetic.

S(C)

DIFFUSION_COEF_R_KINETIC Kinetic diffusion coefficient in R space. Available when solving for Kinetic.

S(C)

DRIFT_COEF_U_KINETIC Kinetic drift coefficient in U space. Available when solving for Kinetic.

S(C)

DRIFT_COEF_R_KINETIC Kinetic drift coefficient in R space. Available when solving for Kinetic.

S(C)

POROUS MEDIA

POROSITY Porosity factor. Available when solving for flow and at least one domain is defined as porous media. The value of porosity should be between 0.0 and 1.0

G(C), S(C)

TORTUOSITY Tortuosity. Available when solving for Porous Media.

G(C), S(C)

Page 222: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

210

S_OVER_V Surface to volume ration. Available when solving for Porous Media.

G(C), S(C)

PORE_SIZE Pore Size. Available when solving for Porous Media.

G(C), S(C)

ELECTRICAL_CONDUCTIVITY_SOLID or ECOND_SOLID

Electrical Conductivity in Solid. Available when solving for porous media with electric problems (electro-chemistry in porous media)

G(C)

ELECTRIC_POTENTIAL_SOLID or EL_POT_SOLID or ESTAT_POTENTIAL_SOLID

Electrical Potential in Solid. Available when solving for porous media with electric problems (electro-chemistry in porous media)

G(C)

ELECTRIC_FIELD_X_SOLID or ESTAT_FIELD_X_SOLID

Electrical Field in X-direction (real) in Solid. Available when solving for porous media with electric problems (electro-chemistry in porous media)

G(C)

ELECTRIC_FIELD_Y_SOLID or ESTAT_FIELD_Y_SOLID

Electrical Field in Y-direction (real) in Solid. Available when solving for porous media with electric problems (electro-chemistry in porous media)

G(C)

ELECTRIC_FIELD_Z_SOLID or ESTAT_FIELD_Z_SOLID

Electrical Field in Z-direction (real) in Solid. Available when solving for porous media with electric problems (electro-chemistry in porous media)

G(C)

POROUS_LIN_RESIST_NORMAL Linear Resistance Coefficient (Normal) for Permeability. Available when solving for Porous Media.

G(C), S(C)

POROUS_LIN_RESIST_TANGENTIAL_1 Linear Resistance Coefficient (Tau1) for Permeability. Available when solving for Porous Media.

G(C), S(C)

POROUS_LIN_RESIST_TANGENTIAL_2 Linear Resistance Coefficient (Tau2) for Permeability. Available when solving for Porous Media (3D cases).

G(C), S(C)

POROUS_QUAD_RESIST_NORMAL Quadratic Resistance Coefficient (Normal) for Permeability. Available when solving for Porous Media.

G(C), S(C)

POROUS_QUAD_RESIST_TANGENTIAL_1 Quadratic Resistance Coefficient (Tau1) for Permeability. Available when solving for Porous Media.

G(C), S(C)

Page 223: Cfd-Ace v2008.2 User Manual

User Subroutines

211

POROUS_QUAD_RESIST_TANGENTIAL_2 Quadratic Resistance Coefficient (Tau2) for Permeability. Available when solving for Porous Media (3D cases).

G(C), S(C)

WATER_SATURATION Water saturation. Available when solving for porous media with electro-chemistry.

G(C)

OTHERS

GRAVITY_X Gravity in x-direction. Available when solving for flow. You can set only single value in problem domain.

S(single)

GRAVITY_Y Gravity in y-direction. Available when solving for flow. You can set only single value in problem domain

S(single)

GRAVITY_Z Gravity in z-direction (only for 3D). Available when solving for flow. You can set only single value in problem domain

S(single)

OMG_X Omega X direction component. Available when solving for rotating wall BC.

S(B)

OMG_Y Omega Y direction component. Available when solving for rotating wall BC.

S(B)

OMG_Z Omega Z direction component. Available when solving for rotating wall BC.

S(B)

* User have to use set_vc_array routine for this variable, he cannot use set_value_one_cell for this.

1 C = Cell value, F = Face value, B = Boundary Face value, N = Node value, BN = Boundary Node value, S = Available for setting the value, G = Available for getting the value, single = A single constant value for whole domain.

2 Only for initial conditions

3 Only for source terms

4 Both initial conditions and source terms

Page 224: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

212

5 For transport properties (viscosity, thermal conductivity, and diffusivity) when getting the value, you get effective property value ( laminar + turbulence). When setting the value for transport properties, you set the value for laminar property value. When solving the VOF or Two fluid problem, you get effective property value of both primary and secondary fluids in a cell.

User Subroutines Features-Utility Variables

Utility Variables

Token Name Description Availability1

’XC’ or ’CELL_CENTER_X’ Cell Center X-Coordinate G(C)

’YC’ or ’CELL_CENTER_Y’ Cell Center Y-Coordinate G(C)

’ZC’ or ’CELL_CENTER_Z’ Cell Center Z-Coordinate. Available when solving a 3D geometry.

G(C)

’AREA’ Boundary face area G(B), G(F)

’VOL’ or ’VOLUME’ Cell volume G(C)

’WALL_DISTANCE’ Normal Distance from boundary face center to cell center.

G(B)

’WALL_SHEAR_STRESS’ Shear Stress at a boundary face. Available when solving for flow.

G(B)

’SHEAR_STRESS’ Shear Stress at a cell center. Available when solving for flow.

G(C)

’NX’ or ’NORMAL_X’ Boundary face normal in X-direction. G(B)

’NY’ or ’NORMAL_Y’ Boundary face normal in Y-Direction. G(B)

’NZ’ or ’NORMAL_Z’ Boundary face normal in Z-Direction. Available when solving a 3D geometry.

G(B)

’XF’ or ’FACE_CENTER_X’ Face Center X-Coordinate. G(B), G(F)

’YF’ or ’FACE_CENTER_Y’ Face Center Y-Coordinate. G(B), G(F)

’ZF’ or ’FACE_CENTER_Z’ Face Center Z-Coordinate. Available when solving a 3D geometry.

G(B), G(F)

’X’ or NODE_X’ Node or Corner X-Coordinate. G(N)

’Y’ or ’NODE_Y’ Node or Corner Y-Coordinate. G(N)

’Z’ or ’NODE_Z’ Node or Corner Z-Coordinate. Available when solving a 3D geometry.

G(N)

’DEFORM_X’ or ’TFI_X’ or 'TFI_DISPLACEMENT_X'

Boundary Node X-Coordinate. Available when solving for Grid Deformation.

G(BN), S(BN)

Page 225: Cfd-Ace v2008.2 User Manual

User Subroutines

213

’DEFORM_Y’ or 'TFI_Y' or 'TFI_COORDINATE_Y'

Boundary Node Y-Coordinate. Available when solving for Grid Deformation.

G(BN), S(BN)

’DEFORM_Z’ or 'TFI_Z' or 'TFI_COORDINATE_Z'

Boundary Node Z-Coordinate. Available when solving for Grid Deformation.

G(BN), S(BN)

’DEFORM_DX’ or 'TFI_DX' or 'TFI_DISPLACEMENT_DX'

Boundary Node Displacement in X-Direction. Available when solving for Grid Deformation.

S(BN)

’DEFORM_DY’ or 'TFI_DY' or 'TFI_DISPLACEMENT_DY'

Boundary Node Displacement in Y-Direction. Available when solving for Grid Deformation.

S(BN)

’DEFORM_DZ’ or 'TFI_DZ' or 'TFI_DISPLACEMENT_DZ'

Boundary Node Displacement in Z-Direction. Available when solving for Grid Deformation.

S(BN)

’DEFORM_U’ or 'TFI_U' or 'TFI_VELOCITY_U'

Boundary Node Velocity in X-Direction. Available when solving for Grid Deformation.

S(BN)

’DEFORM_V’ or 'TFI_V' or 'TFI_VELOCITY_V'

Boundary Node Velocity in Y-Direction. Available when solving for Grid Deformation.

S(BN)

’DEFORM_W’ or 'TFI_W' 'TFI_VELOCITY_W'

Boundary Node Velocity in Z-Direction. Available when solving for Grid Deformation.

S(BN)

’DEFORM_ROTATION_SPEED’ or 'TFI_ROTATION_SPEED'

Boundary Node Rotation Speed. Available when solving for Grid Deformation.

S(BN)

’DEFORM_ROTATION_ANGLE’ or 'TFI_ROTATION_ANGLE'

Boundary Node Rotation Angle. Available when solving for Grid Deformation.

S(BN)

’<parameter name>’ For user defined parameters in CFD-ACE+ G(single), S(single)

1 C = Cell value, F = Face value, B = Boundary Face value, N = Node value, BN = Boundary Node value, S = Available for setting the value, G = Available for getting the value, single = A single constant value for whole domain.

2 Only for initial conditions

3 Only for source terms

4 Both initial conditions and source terms

5 For transport properties (viscosity, thermal conductivity, and diffusivity) when getting the value, you get effective property value (laminar + turbulence). When setting the value for transport properties, you set the value for laminar property value. When solving the VOF or Two fluid problem, you get effective property value of both primary and secondary fluids in a cell.

Page 226: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

214

User Access Routines

User Subroutines Introduction to User Access Routines

User access routines are called from user subroutines to exchange information with the solver. Most routines are concerned with getting information from the solver; a few are related to setting quantities (e.g. properties, boundary values, and source terms). The table below lists all of the available user access routines and gives the prototype for calling these routines. Plain italic type indicates information that needs to be passed to the user access routine, bold italic type indicates information that the user access routine will return.

To retain information from one iteration to the next, or if you want to pass information from one subroutine to another, you should define global variables in the module cfdrc_user. Be sure to include the variables as needed in each subroutine.

Consider the example, get_var_index. The variable index does not change from iteration to iteration, so get it only once and store it in a global variable. This can save memory and run time. The User Access Routines section includes:

• General Purpose Routines

• DTF Read/Write Routines

• Boundary Condition Routines

• Volume Condition Routines

• Porous Media Volume Condition Routines

• Unsteady Problem Routines

• Moving Grid Routines

• Grid Deformation Routines • Radiation Routines

• Spray Routines

• Grid Connectivity Routines

User Subroutines General Purpose Routines

The following general purpose routines can be used in any of the user subroutines with proper inputs. For these routines, argument segments that you must provide are not bold, but the segments that are returned from CFD-ACE-Solver are bold.

• get_var_index(var_name, var_index, error) • get_cells(ncells, error) • get_iteration(iteration, error) • get_cell_index(vc_index, x, y, z, cell_index, error) • get_value_one_cell(var_index, cell_index, value, error) • get_model_name(model_name, error) • user_info(user_option, user_string)

• get_parameter_value(param_index, value, error) • get_mat_from_cell(cell_index, material_type, error) • get_model_details(model_name, geom_index, model_index,error) • get_module_index(module_name, module_index, solve_module, error)

Page 227: Cfd-Ace v2008.2 User Manual

User Subroutines

215

• get_residual_value(var_index, value, error)

The following general purpose routines need to be used inside property subroutines: e.g., UCOND, UDENS, UDRHODP, UVISC, UCPH_FROM_T, UDIFF_SCALAR, UECOND, UEPERMITTIVITY, UECOLL_FREQUENCY

• get_active_cell_index(cell_index, error) • set_value_one_cell(var_index, cell_index, value, error)

The following general purpose routines need to be used inside USOURCE and UOUT subroutine:

• get_gradient(var_index, dphidx, dphidy, dphidz, ncells, error) • get_laplace(var_index, laplace_value, ncells, error)

The following general purpose routines need to be used only when solving for Mixing:

• get_num_compositions(n_compos, error) • get_num_species(n_species, error) • get_species_name(species_index, species_name, error) • get_species_mol_wt(var_index, mol_wt, error)

The following general purpose routines need to be used only when solving for Mixing and Chemical Reactions (Species Mass Fraction approach):

• get_mechanism_index(reaction_type, mechanism_name, mechanism_index, error)

• get_reaction_step_index(reaction_type, mechanism_index, react_step_name, react_step_index, error)

• set_reaction_rate_factor(rate_factor, error)

The following general purpose routine needs to be used inside the UGRAVITY subroutine:

• set_gravity(var_index, g, error)

The following general purpose routine needs to be used inside the UPARAMETER subroutine:

• set_parameter_value(param_index, value, error)

Get Variable Index

Prototype get_var_index(var_name, var_index, error)

Description All user access routines refer to variables with an integer index var_index.

This index can be available with the get_var_index routine by passing in a string containing the variable name.

A significant amount of overhead is incurred on some platforms when calling this routine. The best practice is to retrieve the variable index only once, the first time the user subroutines is called, and then to use that value thereafter.

Inputs CHARACTER(len=*) :: var_name

Returns

Page 228: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

216

INTEGER(int_p) :: var_index

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Cells

Prototype get_cells(ncells, error)

Description Returns the total number of cells in whole domain.

Inputs None

Returns INTEGER(int_p) :: ncells

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Iteration

Prototype get_iteration(iteration, error)

Description Returns the current iteration number.

Inputs None

Returns INTEGER(int_p) :: iteration

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Cell Index

Prototype get_cell_index(vc_index, x, y, z, cell_index, error)

Page 229: Cfd-Ace v2008.2 User Manual

User Subroutines

217

Description Returns global cell index corresponding to physical location of x, y and z.

vc_index is an option, and is useful in reducing the search criteria. If the user does not know where x, y, z are located, vc_index should be set to zero. This indicates to the solver that the whole problem domain should be searched.

A significant amount of overhead is incurred on some platforms when calling this routine. The best practice is to retrieve the global cell index only once, the first time the user subroutine is called, and then to use that value thereafter.

Inputs INTEGER(int_p) :: vc_index

REAL(real_p) :: x, y, z

Returns INTEGER(int_p) :: cell_index

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Value One Cell

Prototype get_value_one_cell(var_index, cell_index, value, error)

Description Returns the cell center value, for a variable with index var_index at cell cell_index of the problem domain.

Inputs INTEGER(int_p) :: var_index, cell_index

Returns REAL(real_p) :: value

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Model Name

Prototype get_model_name(model_name, error)

Description Returns the model name for the present simulation being run by the solver.

Page 230: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

218

Inputs None

Returns CHARACTER(len=*) :: model_name

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

User Info

Prototype user_info(user_option, user_string)

Description Writes messages contained in user_string to <modelname>.out, an output file written by solver. You can use user_option to stop the solver. By using this option, solver removes .RUN file after stopping the solver. The options are described as:

user_option = 0 code gives warning, and continue.

user_option = 1 code gives error, and solver will stop.

user_option = 2 writes information with a header.

user_option >= 3 writes information without header.

Example:

WRITE(user_string, *) "user_data =", user_data_value

CALL USER_INFO(user_option, user_string)

Inputs INTEGER(int_p) :: user_option

CHARACTER(len=*) :: user_string

Returns None

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Parameter Value

Prototype get_parameter_value(param_index, value, error)

Page 231: Cfd-Ace v2008.2 User Manual

User Subroutines

219

Description Returns the parameter value, value, defined in the CFD-ACE+ parametric window. This way user can communicate from CFD-ACE+ to the Solver and user subroutines. This can be used only for the constant expression values. The expression cannot be evaluated against any spatial coordinates. But you can use time and any other mathematical function if needed. The return value is always a real value.

param_index can be available by using get_var_index(), with var_name same as parameter name defined in CFD-ACE+.

Inputs INTEGER(int_p) :: param_index

Returns REAL(real_p) :: value

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Material from Cell

Prototype get_mat_from_cell(cell_index, material_type, error)

Description Returns the material type, material_type, of cell index, cell_index. material_type, has following values.

Value Material Type

0 Error in subroutine

1 Fluid

2 Solid

3 Blocked

Inputs INTEGER(int_p) :: cell_index

Returns INTEGER(int_p) :: material_type

LOGICAL :: error

Page 232: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

220

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Model Details

Prototype get_model_details(model_name, geom_index, model_index, error)

Description Returns the model name, geom_index and model_index. model_name is the name of DTF file currently run by the solver. geom_index indicates the type of geometry currently run by the solver.

Value geom_index

1 3-D geometry.

2 2-D geometry.

3 2-D axisymmetric geometry.

model_index indicates the steady or unsteady options and new run or restart run options.

Value model_index

1 Steady state, new run problem.

2 Steady state, restart problem.

3 Transient, new run problem.

4 Transient, restart problem.

Inputs None

Returns CHARACTER(len=*) :: model_name

INTEGER(int_p) :: geom_index, model_index

LOGICAL :: error

Page 233: Cfd-Ace v2008.2 User Manual

User Subroutines

221

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Module Index

Prototype get_module_index(module_name, module_index, solve_module, error)

Description Returns the module_index, for a given module_name. Also returns, solve_module, if this module is currently being solved(1) or not(0) by the solver.

Inputs CHARACTER(len = *) :: module_name

Returns INTEGER(int_p) :: module_index

INTEGER :: solve_module

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Residual Value

Prototype get_residual_value(var_index, value, error)

Description Returns the present residual for var_index

Inputs INTEGER(int_p) :: var_index

Returns REAL(real_p) :: value

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Process ID

Prototype get_process_id(process_id, error)

Description

Page 234: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

222

Returns the rank (process_id)of the current process.

Inputs None

Returns INTEGER(int_p) :: process_id

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Active Cell Index

Prototype get_active_cell_index(cell_index, error)

Descriptionss Returns the current or active cell index, cell_index, for which user subroutine is being processed. This routine should be used inside user subroutines UDENS, UDRHODP, UVISC, UCOND, UCPH_FROM_T, UDIFF_SCALAR, UECOND,UEPERMITIVITY.

Inputs None

Returns INTEGER(int_p) :: cell_index

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Value One Cell

Prototype set_value_one_cell(var_index, cell_index, value, error)

Description Sets the value of a variable, var_index, at a cell, cell_index. This routine should be used inside user subroutines UDENS, UDRHODP, UVISC, UCOND, UCPH_FROM_T, UDIFF_SCALAR, UECOND,UEPERMITIVITY.

Inputs INTEGER(int_p) :: var_index, cell_index

REAL(real_p) :: value

Returns LOGICAL :: error

Error

Page 235: Cfd-Ace v2008.2 User Manual

User Subroutines

223

Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Gradient

Prototype get_gradient(var_index, dphidx, dphidy, dphidz, ncells, error)

Description Calculates the gradient of the variable with index var_index, for every cell in the entire domain. These quantities are computed at cell centers. dphidx, dphidy, dphidz are real arrays with dimensions ncells. Presently this routine is available for U, V, W, Temperature, and user defined scalars.

Inputs INTEGER(int_p) :: var_index, ncells

Returns REAL(real_p), DIMENSION(ncells):: dphidx, dphidy, dphidz

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Laplace

Prototype get_laplace(var_index, laplace_value, ncells, error)

Description Calculates the laplacian operator of the variable with index var_index, for every cell in the entire domain. These quantities are computed at cell centers. laplace_value is a real array with dimensions ncells. Presently this routine is available for U, V, W, Temperature, and user defined scalars.

Inputs INTEGER(int_p) :: var_index, ncells

Returns REAL(real_p), DIMENSION(ncells):: laplace_value

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Number of Compositions

Prototype get_num_compositions(n_compos, error)

Description

Page 236: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

224

Returns the number of compositions or mixtures, n_compos, defined in the problem. This routine is available only if solving for mixture fractions.

Inputs None

Returns INTEGER(int_p) :: n_compos

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Number of Species

Prototype get_num_species(n_species, error)

Description Returns the number of species, n_species, defined in the problem. This routine is available only if solving for chemistry.

Inputs None

Returns INTEGER(int_p) :: n_species

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Species Name

Prototype get_species_name(species_index, species_name, error)

Description Returns the species name for a given species index, species_index. Value of species_index is between 1 and n_species returned by get_num_species routine. This routine is available only if solving for chemistry.

Inputs INTEGER(int_p) :: species_index

Returns CHARACTER(len=20) :: species_name

LOGICAL :: error

Errors

Page 237: Cfd-Ace v2008.2 User Manual

User Subroutines

225

Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Species Molecular Weight

Prototype get_species_mol_wt(var_index, mol_wt, error)

Description Returns the species molecular weight for given species variable index, var_index. This routine is available only if solving for mixture fractions.

Inputs INTEGER(int_p) :: var_index

Returns REAL(real_p) :: mol_wt

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Reaction Mechanism Index

Prototype get_mechanism_index(reaction_type, mechanism_name, mechanism_index, error)

Description Returns the mechanism_index, for a given mechanism_name, defined in CFD-ACE+ Reaction Manager or Surface Reaction Manager. reaction_type need to be used to indicate gas phase reaction (reaction_type = 1) or surface reaction (reaction_type = 2). This is available only when solving for species mass fractions. This routine should only be used inside UREACTION_RATE_FACTOR.

Inputs INTEGER(int_p):: reaction_type CHARACTER(len = *):: mechanism_name

Returns INTEGER(int_p):: mechanism_index LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Reaction Step Index

Prototype get_reaction_step_index(reaction_type, mechanism_index, react_step_name, react_step_index, error)

Description

Page 238: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

226

Returns the reaction step index, react_step_index, for a given reaction step name, react_step_name, for a given mechanism, mechanism_index, defined in CFD-ACE-GUI Reaction Manager or Surface Reaction Manager. reaction_type need to be used to indicate gas phase reaction (reaction_type = 1) or surface reaction (reaction_type = 2). This is available only when solving for species mass fractions. This routine should only be used inside UREACTION_RATE_FACTOR.

Inputs INTEGER(int_p):: reaction_type, mechanism_index CHARACTER(len = *):: react_step_name

Returns INTEGER(int_p):: react_step_index LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Reaction Rate Factor

Prototype set_reaction_rate_factor(rate_factor, error)

Description Sets the user defined reaction rate factor, rate_factor. This factor is multiplies the to Reaction rate constants calculated by solver. If the user wants to switch off the reaction somewhere in the volume, they can do it by setting this rate factor to zero. This routine should only be used inside UREACTION_RATE_FACTOR.

Inputs REAL(real_p) :: rate_factor

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Gravity

Prototype set_gravity(var_index, g, error)

Description Sets the Gravity in X, Y, and Z directions for the current time step. Gravity in Z-direction should be set only for 3-D problems. Variable index for Gravity in X, Y, and Z directions is available using GET_VAR_INDEX. For key words refer to Accessible Variable list (10-1). Note that this routine should be used inside UGRAVITY only.

Inputs INTEGER(int_p):: var_index REAL(real_p):: g

Returns LOGICAL:: error

Page 239: Cfd-Ace v2008.2 User Manual

User Subroutines

227

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Parameter Value

Prototype set_parameter_value(param_index, value, error)

Description Sets the parameter value, value, for a given parameter index, param_index. Parameter index is available by using GET_VAR_INDEX with parameter name as variable name. This routine should only be used inside UPARAMETER subroutine.

Inputs INTEGER(int_p):: param_index

REAL(real_p):: value

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

User Subroutines DTF Read/Write Routines

For these routines, argument segments that you must provide are not bold, but the segments that are returned from CFD-ACE-SOLVER are bold.

The following DTF Read/Write routines need to be used inside UREAD_DTF subroutine:

• get_cell_data_from_dtf(varname, ncells, cell_value, units, error) • get_nodal_data_from_dtf(var_name,n_nodes,node_value,user_units,dtf_file_option,

error) • read_real_sim_data_from_dtf(var_name, arraySize, valueArray, user_units, error)

The following DTF Read/Write routines need to be used inside UWRITE_DTF subroutine:

• write_cell_data_to_dtf(varname, ncells, cell_value, units, error) • write_nodal_data_to_dtf(varname,ncells, cell_value, units, error) • write_nodal_solution_to_dtf(var_name, n_nodes, nodal_values, user_units, error) • write_real_sim_data_to_dtf(var_name, arraySize, valueArray, user_units, error)

Get Cell Data from DTF

Prototype get_cell_data_from_dtf(var_name, n_cells, cell_value,units, error)

Description Get cell data, cell_value, from the DTF file. You need to supply size, n_cells, of the array which is the total number of cells in the problem domain. The variable name should be the same as that used to write the cell data to DTF file. This routine should only be used inside UREAD_DTF user subroutine.

Page 240: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

228

Inputs CHARACTER(len=6):: var_name

INTEGER(int_p):: n_cells

CHARACTER(len=6):: units

Returns REAL(real_p), DIMENSION(n_cells):: cell_value

LOGICAL:: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Nodal Data from DTF Prototype

get_nodal_data_from_dtf(var_name, n_nodes, node_value,user_units,dtf_file_option,error)

Description Obtain the cell data from DTF file

Inputs CHARACTER(len =*) :: var_name, user_units

INTEGER (int_p) :: n_nodes, dtf_file_option

Returns REAL (real_p), dimension(n_nodes) :: node_value

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Read Real Simulation Data from DTF Prototype

read_real_sim_data_from_dtf(var_name, arraySize, valueArray, user_units, error)

Description Read the simulation data from DTF file.

Inputs CHARACTER(len= *) :: var_name

CHARACTER(len= *) :: user_units

INTEGER(int_p):: arraySize, dtf_file_option

Returns REAL(real_p), DIMENSION(arraySize):: valueArray

LOGICAL:: error

Errors

Page 241: Cfd-Ace v2008.2 User Manual

User Subroutines

229

Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Write Cell Data to DTF Prototype

write_cell_data_to_dtf(var_name, n_cells, cell_value, units, error)

Description Writes cell data to the DTF file used by solver to run the problem. You need to supply cell center values, cell_value, for all the cells in the problem domain. Variable name can be any name of 6 characters. There is no checking done on the values that you supply.This routine should only be used inside UWRITE_DTF subroutine.

Inputs CHARACTER(len=6):: var_name INTEGER(int_p):: n_cells REAL(real_p), DIMENSION(n_cells):: cell_value CHARACTER(len=6):: units

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Write Nodal Data to DTF Prototype

write_nodal_data_to_dtf(var_name, n_cells, cell_value, units, error)

Inputs CHARACTER(len=6):: var_name

INTEGER(int_p):: n_cells

REAL(real_p), DIMENSION(n_cells):: cell_value

CHARACTER(len=6):: units

Returns LOGICAL:: error

Description Writes the nodal data to DTF file. You need to supply cell center values, cell_value, for all the cells in the problem domain. Program will convert cell center values to nodal values by using area weighted average. After writing nodal data, you can see the data in CFD-VIEW. The variable name can be any name of 6 characters. There is no checking done on the values you supply. This subroutine should only be used inside the UWRITE_DTF subroutine.

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Write Nodal Solution to DTF Prototype

write_nodal_solution_to_dtf(var_name, n_nodes, nodal_values, user_units, error)

Page 242: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

230

Description Write the nodal data to DTF file. Nodal values are set by user.

Inputs CHARACTER(len= *) :: var_name

CHARACTER(len= *) :: user_units

INTEGER(int_p):: n_nodes

REAL(real_p), DIMENSION(n_nodes):: nodal_values

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Write Real Simulation Data to DTF Prototype

write_real_sim_data_to_dtf(var_name, arraySize, valueArray, user_units, error)

Description Write the simulation data to DTF file.

Inputs CHARACTER(len= *) :: var_name

CHARACTER(len= *) :: user_units

INTEGER(int_p):: arraySize, dtf_file_option

REAL(real_p), DIMENSION(arraySize):: valueArray

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

User Subroutines Boundary Condition Routines

For these routines, argument segments that you must provide are not bold, but the segments that are returned from CFD-ACE-Solver are bold. The following Boundary Condition routines can be used in any of the user subroutines with proper inputs:

• get_number_bcs(nbc_patches, error) • get_bc_index(bc_name, bc_index, error) • get_bc_name(bc_index, bc_name, error) • get_bc_info(bc_index, bc_type, bc_faces, error) • get_bc(bc_index, var_index, bc_faces, bc_value, error) • get_bc_cells(bc_index, bc_faces, bc_cell_index, error)

Page 243: Cfd-Ace v2008.2 User Manual

User Subroutines

231

• get_bc_interface_cells(bc_index, nbc_faces, bc_cells1, bc_cells2, error) • get_bc_global_faces(bc_index, bc_faces, bc_face_index, error) • get_value_one_bc_face(bc_index, face_index, var_index, bc_value, error) • get_avg_value_one_bc_patch(bc_index, var_index, bc_value, error) • get_integral_value_one_bc_patch(bc_index, var_index, bc_value, error) • get_active_bc_face_index(face_index, error) • get_bc_subtype(module_index, bc_index, bc_subtype, error) • get_cyclic_face_pair_indices(bcFaceIndex, globalFace1, globalFace2, error) • get_cyclic_bc_face_pair_index(bcFaceIndex, cyclicFaceIndex, error) • get_bc_face_index_from_global(globalFaceIndex, bcFaceIndex, error) • get_bc_indices(bc_name, n_bcs, bc_index, error) • get_num_bcs_same_name(bc_name, n_bcs, error) • get_value_one_face(var_index, global_face_index, face_value, error)

The following Boundary Condition routine needs to be used inside the UBOUND subroutine:

• set_bc(value, error) • set_value_one_bc_face(global_face_index, var_index, value, error)

Get Number of BC Patches

Prototype get_number_bcs(nbc_patches, error)

Description Returns the number of boundary condition patches, nbc_patches, in the domain. The boundary condition patches are numbered from 1 to the number of boundary condition patches in the model.

Inputs None

Returns INTEGER(int_p) :: nbc_rec

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get BC Index

Prototype get_bc_index(bc_name, bc_index, error)

Description The user access routines and the UBOUND user subroutine refer to boundary conditions with an integer index bc_index. This index can be determined with the get_bc_index routine by passing in a string containing the boundary condition name, as you assigned in CFD-ACE+ or CFD-GEOM. The boundary condition name must be unique.

Page 244: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

232

Inputs CHARACTER(len=*) :: bc_name

Returns INTEGER(int_p) :: bc_index

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get BC Name

Prototype get_bc_name(bc_index, bc_name, error)

Description Returns the boundary condition name, bc_name, corresponding to boundary condition index, bc_index.

Inputs INTEGER(int_p) :: bc_index

Returns CHARACTER(len=*) :: bc_name

LOGICAL :: error

Errors Errors will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get BC Info

Prototype get_bc_info(bc_index, bc_type, nbc_faces, error)

Description Returns the boundary condition type and number of boundary faces, nbc_faces, on the boundary, bc_index. bc_type will have one of the following integer values. For any other boundary condition, bc_type will be -1.

Value Boundary Condition Type

1 Any inlet type (BC_TYPE_INLET)

2 Wall (BC_TYPE_WALL)

3 Any outlet type (BC_TYPE_EXIT)

Page 245: Cfd-Ace v2008.2 User Manual

User Subroutines

233

4 Interface (BC_TYPE_INTERFACE)

5 Fluid-Fluid interface (BC_TYPE_F_F_INTERFACE)

6 Solid-Solid Interface (BC_TYPE_S_S_INTERFACE)

7 Solid-Fluid Interface (BC_TYPE_S_F_INTERFACE)

8 Fluid-Block Interface (BC_TYPE_F_B_INTERFACE)

9 Block-Block Interface (BC_TYPE_B_B_INTERFACE)

10 Solid-Block Interface (BC_TYPE_S_B_INTERFACE)

11 Symmetry (BC_TYPE_SYMM)

12 Cyclic (BC_TYPE_CYCLIC)

13 Thin Wall (BC_TYPE_THINWALL)

Inputs INTEGER(int_p) :: bc_index

Returns INTEGER(int_p) :: bc_type, nbc_faces

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file. All parameters defined in the parenthesis can also be found in the MODULE cfdrc_user of the user subroutine template file libUSserAce.f.

Back to Top

Get BC

Prototype get_bc(bc_index, var_index, nbc_faces, bc_value, error)

Description Returns the value of a variable, var_index, at each boundary face center of a boundary condition index, bc_index. The boundary face value, bc_value, is a real array with dimension nbc_faces.

Inputs

Page 246: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

234

INTEGER(int_p) :: bc_index, var_index, nbc_faces

Returns

REAL(real_p), DIMENSION(nbc_faces):: bc_value

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get BC Cells

Prototype get_bc_cells(bc_index, nbc_faces, bc_cell_index, error)

Description Returns the global cell index for each boundary cell associated with the boundary, bc_index. The boundary cell index, bc_cell_index, is an array with dimension nbc_faces.

Inputs INTEGER(int_p) :: bc_index, nbc_faces

Returns INTEGER(int_p), DIMENSION(nbc_faces):: bc_cell_index

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get BC Interface Cells

Prototype get_bc_interface_cells(bc_index, nbc_faces, bc_cell_index1, bc_cell_index2, error)

Description Returns the global cell indices for each boundary face, on both sides of the interface boundary, bc_index. The boundary cell index, bc_cell_index1, and bc_cell_index2 is an array with dimension nbc_faces. For external boundaries both of these arrays contain same cell index.

Inputs INTEGER(int_p) :: bc_index, nbc_faces

Returns INTEGER(int_p), DIMENSION(nbc_faces):: bc_cell_index1, bc_cell_index2

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Page 247: Cfd-Ace v2008.2 User Manual

User Subroutines

235

Back to Top

Get BC Global Faces

Prototype get_bc_global_faces(bc_index, nbc_faces, bc_face_index, error)

Description Returns the global face index for each boundary face associated with the boundary, bc_index. The boundary face index, bc_face_index, is an array with dimension nbc_faces.

Inputs INTEGER(int_p) :: bc_index, nbc_faces

Returns INTEGER(int_p), DIMENSION(nbc_faces):: bc_face_index

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Value One BC Face

Prototype get_value_one_bc_face(bc_index, face_index, var_index, bc_value, error)

Description Returns the value, bc_value, of a variable, var_index, at boundary face center, face_index of a boundary, bc_index.

Inputs INTEGER(int_p) :: bc_index, face_index, var_index

Returns REAL(real_p) :: bc_value

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Average Value of One BC Patch

Prototype get_avg_value_one_bc_patch(bc_index, var_index, bc_value, error)

Description Returns the area averaged value, bc_value, of a variable, var_index, on a boundary, bc_index. All the variables, for which boundary values are available, can be used in this routine.

Inputs INTEGER(int_p) :: bc_index, var_index

Page 248: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

236

Returns REAL(real_p) :: bc_value

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Integral Value of One BC Patch

Prototype get_integral_value_one_bc_patch(bc_index, var_index, bc_value, error)

Inputs INTEGER(int_p) :: bc_index, var_index

Returns REAL(real_p) :: bc_value

LOGICAL :: error

Description Returns the integral value, bc_value, of a variable, var_index, on a boundary, bc_index. You can use all the variables, for which boundary values are available, in this routine.

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Active BC Face Index

Prototype get_active_bc_face_index(face_index, error)

Description Returns the active face index, face_index, of currently processing boundary by solver. This routine can be used in boundary related user subroutines. e.g., UBOUND, UEMISSIVITY_BC, and UREACTION_RATE_FACTOR for surface reactions.

Inputs None

Returns INTEGER(int_p) :: face_index

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get BC Subtype

Page 249: Cfd-Ace v2008.2 User Manual

User Subroutines

237

Prototype get_bc_subtype(module_index, bc_index, bc_subtype, error)

Description Returns the boundary condition subtype (bc_subtype) corresponding to the passed module index(module_index). The module index can be obtained from the routine get_module_index. Currently this routine works for flow, heat, electric and semi modules.

Inputs INTEGER(int_p) :: module_index, bc_index

Returns INTEGER(int_p) :: bc_subtype

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Cyclic Face Pair Indices

Prototype get_cyclic_face_pair_indices(bcFaceIndex, globalFace1, globalFace2, error)

Description Returns the boundary global face indices corresponding to cyclic bc faces.

Inputs INTEGER(int_p) :: bcFaceIndex

Returns INTEGER(int_p) :: globalFace1, globalFace2

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Cyclic BC Face Pair Index

Prototype get_cyclic_bc_face_pair_index(bcFaceIndex, cyclicFaceIndex, error)

Description Returns the boundary face index corresponding to cyclic bc face index.

Inputs INTEGER(int_p) :: bcFaceIndex

Returns INTEGER(int_p) :: cyclicFaceIndex

LOGICAL :: error

Page 250: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

238

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get BC Face Index from Global

Prototype get_bc_face_index_from_global(globalFaceIndex, bcFaceIndex, error)

Description Returns the boundary face index corresponding to global face index.

Inputs INTEGER(int_p) :: globalFaceIndex

Returns INTEGER(int_p) :: bcFaceIndex

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get BC Indices

Prototype get_bc_indices(bc_name, n_bcs, bc_index, error)

Description To get all bc indices having a given bc name (bc_name).

Inputs INTEGER(int_p) :: n_bcs

CHARACTER(len = *) :: bc_name

Returns INTEGER(int_p), dimension(n_bcs) :: bc_index

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Number of BC's with Same Name

Prototype get_num_bcs_same_name(bc_name, n_bcs, error)

Description To get all the number of bcs having a given bc name (bc_name)

Page 251: Cfd-Ace v2008.2 User Manual

User Subroutines

239

Inputs CHARACTER(len = *) :: bc_name

Returns INTEGER(int_p) :: n_bcs

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Value One Face

Prototype get_value_one_face(var_index, global_face_index, face_value, error)

Description Returns the face center value, value for a variable with index, var_index, for a face with the input global_face_index. Note that only the face area and face center coordinates are currently available.

Inputs INTEGER(int_p) :: var_index, global_face_index

Returns REAL(real_p) :: face_value

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set BC

Prototype set_bc(bc_value, error)

Description Sets the boundary face value, bc_value, at current boundary for which UBOUND subroutine is called. This subroutine must only be used inside UBOUND.

Inputs REAL(real_p) :: bc_value

Returns LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Value of One BC Face

Page 252: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

240

Prototype set_value_one_bc_face(global_face_index, var_index, value, error)

Description Sets the value, bc_value, of a variable, var_index, at boundary face center, face_index of a boundary.

Inputs INTEGER(int_p) :: global_face_index, var_index

REAL(real_p) :: bc_value

Returns LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

User Subroutines Volume Condition Routines

For these routines, argument segments that you must provide are not bold, but the segments that are returned from CFD-ACE-Solver are bold. The following Volume Condition routines can be used in any of the user subroutines with proper inputs:

• get_number_vcs(n_vc_rec, error) • get_vc_index(vc_name, vc_index, error) • get_vc_name(vc_index, vc_name, error) • get_cells_vc(vc_index, vc_cells, error) • get_cell_index_from_vc(vc_cell_index, vc_index, cell_index, error) • get_vc_index_from_cell(cell_index, vc_index, error) • get_mat_from_vc(vc_index, material_type, error) • get_cell_value_array(var_index, n_cells, value_array, error) • get_vc_indices(vc_name, n_vcs, vc_index, error) • get_num_vcs_same_name(vc_name, n_vcs, error)

The following Volume Condition routine needs to be used inside UINIT subroutine:

• set_value_vc(vc_index, var_index, vc_cells, value, error)

The following Volume Condition routine needs to be used inside udiff_scalar subroutine:

• set_value_scalar_diff(var_index, cell_index, value, error)

The following Volume Condition routine needs to be used inside the USOURCE subroutine when adding a source term:

• add_source_term(vc_index, var_index, su, sp, vc_cells, error)

The following Volume Condition routine needs to be used inside u_moving_solid subroutine:

• set_speed_mvsolid(ux, vy, wz, error)

Get Number of VC's

Page 253: Cfd-Ace v2008.2 User Manual

User Subroutines

241

Prototype get_number_vcs(nvc_rec, error)

Description Returns the total number of volume conditions, nvc_rec, defined in the problem.

Inputs None

Returns INTEGER(int_p) :: nvc_rec

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get VC Index

Prototype get_vc_index(vc_name, vc_index, error)

Description The user access routines and user subroutines refer to volume conditions with an integer index vc_index. This index can be determined with the get_vc_index routine by passing in a string containing the volume condition name, as assigned by the user in CFD-ACE+ or CFD-GEOM. This VC index is useful in property user subroutines, user source (USOURCE) subroutine, user defined initial conditions (UINIT) subroutine, and wherever the user needs to get information regarding volume conditions. The volume condition name must be unique.

Inputs CHARACTER(len=*) :: vc_name

Returns INTEGER(int_p) :: vc_index

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get VC Name

Prototype get_vc_name(vc_index, vc_name, error)

Description Returns the volume condition name, vc_name, corresponding to volume condition index, vc_index.

Inputs INTEGER(int_p) :: vc_index

Returns

Page 254: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

242

CHARACTER(len=*) :: vc_name

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Cells VC

Prototype get_cells_vc(vc_index, nvc_cells, error)

Description Returns the number of cells, nvc_cells, inside a volume condition, vc_index.

Inputs INTEGER(int_p) :: vc_index

Returns INTEGER(int_p) :: nvc_cells

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Cell Index from VC

Prototype get_cell_index_from_vc(vc_cell_index, vc_index, cell_index, error)

Description Returns the global cell index, cell_index, corresponding to local cell index, vc_cell_index, inside a volume condition, vc_index. value of vc_cell_index must be between 1 and nvc_cells returned by get_cells_vc.

Inputs INTEGER(int_p) :: vc_cell_index, vc_index

Returns INTEGER(int_p) :: cell_index

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get VC index from Cell

Prototype get_vc_index_from_cell(cell_index, vc_index, error)

Page 255: Cfd-Ace v2008.2 User Manual

User Subroutines

243

Description Returns the volume condition index, vc_index, corresponding to global cell index, cell_index.

Inputs INTEGER(int_p) :: cell_index

Returns INTEGER(int_p) :: vc_index

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Material from VC

Prototype get_mat_from_vc(vc_index, material_type, error)

Description Returns the material type, material_type, of vc index, vc_index. material_type, has following values.

Value Material Type

0 Error in Subroutine

1 Fluid

2 Solid

3 Blocked

Inputs INTEGER(int_p) :: vc_index

Returns INTEGER(int_p) :: material_type

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Cell Value Array

Prototype get_cell_value_array(var_index, n_cells, value_array, error)

Description

Page 256: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

244

Return cell data array for var_index for n_cells (Total number of cells in entire domain)

Inputs INTEGER(int_p) :: var_index, n_cells

Returns REAL(real_p), DIMENSION(n_cells) :: value_array

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get VC Indices

Prototype get_vc_indices(vc_name, n_vcs, vc_index, error)

Description To get all vc indices having a given vc name (vc_name).

Inputs INTEGER(int_p) :: n_vcs

CHARACTER(len=*) :: vc_name

Returns INTEGER(int_p), DIMENSION(n_vcs) :: vc_index

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Number of VC's with Same Name

Prototype get_num_vcs_same_name(vc_name, n_vcs, error)

Description To get all the number of vcs having a given vc name (vc_name)

Inputs CHARACTER(len=*) :: vc_name

Returns INTEGER(int_p) :: n_vcs

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Page 257: Cfd-Ace v2008.2 User Manual

User Subroutines

245

Back to Top

Set Value VC

Prototype set_value_vc(vc_index, var_index, nvc_cells, value, error)

Description Sets the value of a variable, var_index, for whole volume condition, vc_index. value must be a real array with dimension nvc_cells, returned by get_cells_vc. This routine should only be used inside UINIT.

Inputs INTEGER(int_p) :: vc_index, var_index, nvc_cells

REAL(real_p), DIMENSION(nvc_cells):: value

Returns LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Value of Scalar Diffusivity

Prototype set_value_scalar_diff(var_index, cell_index, value, error)

Description Sets the value of user scalar diffusivity at a cell center, cell_index for a given user scalar variable index, var_index. This routine should only be used inside UDIFF_SCALAR.

Inputs INTEGER(int_p) :: var_index, cell_index

REAL(real_p) :: value

Returns LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Add Source Term

Prototype add_source_term(vc_index, var_index, Su, Sp, nvc_cells, error)

Description This routine should be called from the USOURCE subroutine to add a current source term for a dependent variable with index, var_index to a volume condition, vc_index. Note that Su and Sp are real arrays with dimension nvc_cells, returned by get_cells_vc. The source term is calculated as: S = Su + Sp*phi, where phi is the value of the dependent variable for which USOURCE is called.

Page 258: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

246

The source term specified is the absolute source term for the cell (as opposed to per unit volume or mass). The units of Su for a variable phi will be equal to the units of mass flow rate (kg/sec) times the units for phi. For example, the units of Su for velocity (momentum source) will be [kg/sec][m/sec], or newtons, the units of Su for enthalpy (energy source) will be [kg/sec][J/kg] or watts, and the units of Su for a unitless variable, such as mass fraction will be simply [kg/sec].

Inputs INTEGER(int_p) :: vc_index, var_index, nvc_cells

REAL(real_p), DIMENSION(vc_cells) :: Su, Sp

Return Value LOGICAL :: error

Errors Error will be true if some error occurs and the proper errormessage will be printed in the <modelname.out> file.

Examples In CFD-ACE+ for generalized total source term, specify the coeff and value, where source is calculated as:

S = coeff(value - phi)

To mimic this in user subroutines, specify:

Su = coeff * value

Sp = -coeff

e.g., If you want to fix a temperature in a volume at 400.0K. Assume cp for this volume is 1000.0

In CFD-ACE+, specify the following:

coeff = 1.0E10

value = 400.0 * 1000.0

In user subroutine you specify the following :

Su = 1.0E10 * 400.0 * 1000.0

Sp = - 1.0E10

Back to Top

Set Speed of Moving Solid

Prototype set_speed_mvsolid(ux, vy, wz, error)

Description Sets the moving solid velocity, components, ux, vy, wz inside a current volume condition for which U_MOVING_SOLID is called. This routine should only be used inside U_MOVING_SOLID.

Page 259: Cfd-Ace v2008.2 User Manual

User Subroutines

247

Inputs REAL(real_p) :: ux, vy, wz

Returns LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

User Subroutines Porous Media Volume Condition Routines

For these routines, argument segments that you must provide are not bold, but the segments that are returned from CFD-ACE-Solver are bold. The following Porous Media Volume Condition routines can be used in any of the user subroutines with proper inputs:

• get_porous_info(vc_index, normal, tau1, tau2, linear, quadratic, error) • get_value_one_porous_cell(var_index, cell_index, value, error)

The following Porous Media Volume Condition routine needs to be used inside UPOROUS user subroutine:

• set_value_one_porous_cell(var_index, cell_index, value, error)

Get Porous Information

Prototype get_porous_info(vc_index, normal, tau1, tau2, linear, quadratic, error)

Description Returns the porous media information for a given volume condition, vc_index. Remember that this particular volume condition should also be specified as porous media in CFD-ACE+. This routine returns, 3 directions in vector form, one normal direction, normal, two tangential directions, tau1, tau2. Also, two resistances in vector form, linear and quadratic.

Inputs INTEGER(int_p) :: vc_index

Returns REAL(real_p) , DIMENSION(3) :: normal, tau1, tau2, linear, quadratic

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Value One Porous Cell

Prototype get_value_one_porous_cell(var_index, cell_index, value, error)

Description

Page 260: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

248

Returns the cell center value inside porous media, value, for a variable with index var_index at cell cell_index of the problem domain. Use porous related routines for all porous media related properties and porosity .

Inputs INTEGER(int_p) :: var_index, cell_index

Returns REAL(real_p) :: value

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Value One Porous Cell

Prototype set_value_one_porous_cell(var_index, cell_index, value, error)

Description Sets the cell center value inside porous media, value, of a variable, var_index, at a cell, cell_index. This routine should only be used inside user subroutine UPOROUS.

Inputs INTEGER(int_p) :: var_index, cell_index

REAL(real_p) :: value

Returns LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

User Subroutines Unsteady Problem Routines

For these routines, argument segments that you must provide are not bold, but the segments that are returned from CFD-ACE-Solver are bold. The following Unsteady Problem routines can be used in any of the user subroutines:

• get_time(time, time_step_no, error) • get_time_step(dt, error) • get_prev_time_value_one_cell(var_index, cell_index, value, error) • get_restart_time(time, nsteps, error) • get_max_time(max_time, error)

The following Unsteady Problem routine needs to be used inside UDT user subroutine:

• set_time_step(dt, error) • set_max_time(max_time, error)

Page 261: Cfd-Ace v2008.2 User Manual

User Subroutines

249

Get Time

Prototype get_time(time, time_step_no, error)

Description Returns the current time, time, and time step number, time_step_no.

Inputs None

Returns REAL(real_p) :: time

INTEGER(int_p) :: time_step_no

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Time Step

Prototype get_time_step(dt, error)

Description Returns the current time step size, dt

Inputs None

Returns REAL(real_p) :: dt

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Previous Time Value One Cell

Prototype get_prev_time_value_one_cell(var_index, cell_index, value, error)

Description Returns the previous time step, cell center value, for a variable with index var_index at cell cell_index of the problem domain. This routine can only be used to retrieve the values of Solved Variables. For a list, see User Subroutines-Features-Solved Variables.

Inputs INTEGER(int_p) :: var_index, cell_index

Page 262: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

250

Returns REAL(real_p) :: value

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Restart Time

Prototype get_restart_time(time, time_step_no, error)

Description Returns the time (time) and time step number (ime_step_no) at which the

restart simulation started.

Inputs None

Returns REAL(real_p) :: time

INTEGER(int_p) :: time_step_no

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Maximum Time

Prototype get_max_time(max_time, error)

Description Returns the maximum time (max_time) for auto time step problems.

Inputs None

Returns REAL(real_p) :: max_time

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Time Step

Page 263: Cfd-Ace v2008.2 User Manual

User Subroutines

251

Prototype set_time_step(dt, error)

Description Sets the time step size, dt, for current time step. This routine should only be used inside UDT.

Input REAL(real_p) :: dt

Returns LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Maximum Time

Prototype set_max_time(max_time, error)

Description Sets the maximum time (max_time) for auto time step problems.

Inputs REAL(real_p) :: max_time

Returns LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

User Subroutines Grid Deformation Routines

For these routines, argument segments that you must provide are not bold, but the segments that are returned from CFD-ACE-Solver are bold. The following Grid Deformation routines need to be used when solving for Moving Grid problems and inside UDEFORM_BC subroutine:

• get_bc_node_info(bc_index, nbc_nodes, error) • get_bc_global_nodes(bc_index, nbc_nodes, bc_nodes, error) • get_value_one_node(time_option, node_index, var_index, node_value, error) • set_value_one_node(node_index, var_index, node_value, error)

Get BC Node Information

Prototype get_bc_node_info(bc_index, nbc_nodes, error)

Description

Page 264: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

252

Returns the total number of bc nodes, nbc_nodes, for a given boundary index, bc_index. This can be used to allocate memory for arrays to get the global indices corresponding to local indices. This routine should only be used inside UDEFORM_BC user subroutine.

Inputs INTEGER(int_p):: bc_index

Returns INTEGER(int_p):: nbc_nodes

LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get BC Global Nodes

Prototype get_bc_global_nodes(bc_index, nbc_nodes, bc_nodes, error)

Description Returns the global node indices corresponding to local indices, in a array, bc_nodes, for a given boundary, bc_index. The size of array bc_nodes, should be exactly equal to the total number of nodes, nbc_nodes, for this boundary index. This is available using get_bc_node_info(). This routine should only be used inside UDEFORM_BC user subroutine.

Inputs INTEGER(int_p):: bc_index, nbc_nodes

Returns INTEGER(int_p), DIMENSION(n_cells):: bc_nodes

LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Value of One Node

Prototype get_value_one_node(time_option, node_index, var_index, node_value, error)

Description Returns the nodal value, node_value, for a given variable, var_index and for given global node index, node_index. This can be used for DEFORM_X, DEFORM_Y, and DEFORM_Z variables. Time option indicates, current, previous or original coordinates. This routine should only be used inside UDEFORM_BC.

Inputs INTEGER(int_p):: time_option, node_index, var_index

Returns REAL(real_p) :: node_value

LOGICAL:: error

Page 265: Cfd-Ace v2008.2 User Manual

User Subroutines

253

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Value of One Node

Prototype set_value_one_node(node_index, var_index, node_value, error)

Description Sets the new nodal coordinate value, node_value, for a given variable, var_index, and for a given node, node_index. This can be used to set the values for deforming grid for variables, such as displacement, velocity, coordinate motion and rotation angle, and rotation speed. This routine should only be used inside UDEFORM_BC.

Inputs INTEGER(int_p):: node_index, var_index

REAL(real_p) :: node_value

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

User Subroutines Moving Grid Routines

For these routines, argument segments that you must provide are not bold, but the segments that are returned from CFD-ACE-Solver are bold. The following Moving Grid routines need to be used when solving for Moving Grid problems and inside UGRID subroutine:

• get_zone_index(zone_name, zone_index, error) • get_num_nodes_unstr_zone(zone_index, nodes, error) • get_value_corner_unstr_zone(zone_index, time_option, nodes, x, y, z, error) • get_num_nodes_str_zone(zone_index, imax, jmax, kmax, error) • get_value_corner_str_zone(zone_index, time_option, imax, jmax, kmax, x, y, z,

error)

• set_value_corner_unstr_zone(zone_index, nodes, x, y, z, error) • set_value_corner_str_zone(zone_index, imax, jmax, kmax, x, y, z, error)

Get Zone Index

Prototype get_zone_index(zone_name, zone_index, error)

Description

Page 266: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

254

UGRID subroutine refers to volume conditions with an integer index, zone_index. This index can be determined with the get_zone_index routine by passing in a string containing the volume condition name, that you assign in CFD-ACE+ or CFD-GEOM. The volume condition name must be unique.

The zone_name is the same as the volume name defined in CFD-ACE+ or CFD-GEOM.

The zone_index should be used only for moving grid related user access routines and inside UGRID only.

Inputs CHARACTER(len=*) :: zone_name

Returns INTEGER(int_p) :: zone_index

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Number of Nodes in an Unstructured Zone

Prototype get_num_nodes_unstr_zone(zone_index, nodes, error)

Description Returns the number of nodes, nodes, inside an unstructured zone, zone_index. This routine should only be used inside UGRID.

Inputs INTEGER(int_p) :: zone_index

Returns INTEGER(int_p) :: nodes

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Value of Unstructured Zone Corner Nodes

Prototype get_value_corner_unstr_zone(zone_index, time_option, nodes, x, y, z, error)

Description Returns the corner or node coordinates (x, y, z) in zone, zone_index, at given time option, time_option. The time option has the following integer values. x, y, and z are real arrays with dimension nodes. This routine should only be used inside UGRID. For 2D problems, the z coordinate is zero.

Page 267: Cfd-Ace v2008.2 User Manual

User Subroutines

255

Value Option

0 Original (1st time step) coordinates.

1 Previous time step coordinates.

2 Current time step coordinates.

Inputs INTEGER(int_p) :: zone_index, time_option, nodes

Returns REAL(real_p), DIMENSION(nodes):: x, y, z

LOGICAL :: error

Errors

Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file. Back to Top

Get Number of Nodes in a Structured Zone

Prototype get_num_nodes_str_zone(zone_index, imax, jmax, kmax, error)

Description Returns maximum nodes in i, j, k directions in a structured zone, zone_index. This routine should only be used inside UGRID. This routine should be used for structured zones only.

Inputs INTEGER(int_p) :: zone_index

Returns INTEGER(int_p) :: imax, jmax, kmax

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Value of Structured Zone Corner Nodes

Prototype get_value_corner_str_zone(zone_index, time_option, imax, jmax, kmax, x, y, z, error)

Description

Page 268: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

256

Returns the corner or node coordinates in a zone, zone_index, for a given time option, time_option. x, y, and z are 3D real arrays with dimensions (imax, jmax, kmax). This routine should only be used inside UGRID. This routine should only be used for structured zones. For 2D, kmax should be 1 and z will be zero. The time option has the following integer values.

Value Option

0 Original (1st time step) coordinates.

1 Previous time step coordinates.

2 Current time step coordinates.

Inputs INTEGER(int_p) :: zone_index, time_option, imax, jmax, kmax

Returns REAL(real_p), DIMENSION(imax, jmax, kmax) :: x, y, z

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Value of Corner Nodes for an Unstructured Zone

Prototype set_value_corner_unstr_zone(zone_index, nodes, x, y, z, error)

Description Assigns the new set of coordinates for the nodes or corners in a zone, zone_index. x, y, and z are real arrays with dimension nodes. This routine should only be used inside UGRID. For 2D problems, z coordinate is zero.

Inputs INTEGER(int_p) :: zone_index, nodes

REAL(real_p), DIMENSION(nodes):: x, y, z

Returns LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Value of Corner Nodes for a Structured Zone

Prototype set_value_corner_str_zone(zone_index, imax, jmax, kmax, x, y, z, error)

Page 269: Cfd-Ace v2008.2 User Manual

User Subroutines

257

Description Sets the new coordinates for all corners or nodes in a zone, zone_index. This routine should only be used inside UGRID. This routine should only be used for structured zones. For 2D, kmax should be 1 and z should be zero.

Inputs INTEGER(int_p) :: zone_index, imax, jmax, kmax REAL(real_p), DIMENSION(imax, jmax, kmax):: x, y, z

Returns LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

User Subroutines Radiation Routines

For these routines, argument segments that you must provide are not bold, but the segments that are returned from CFD-ACE-Solver are bold. The following Radiation routines need to be used when solving for Radiation problems and inside UABSORPTION_COEF or UEMISSIVITY_BC subroutines.

• get_radiation_model_info(rad_model, gray_radiation, nbands, error) • get_radiation_band_info(nbands, lwavelength, uwavelength, error) • get_value_cell_absorbtivity(cell_index, band_no, value, error) • get_value_bc_face_emissivity(bc_index, face_index, band_no, bc_value, error) • get_value_bc_emissivity(bc_index, band_no, nbc_faces, bc_value, error)

The following Radiation routines need to be used when solving for Radiation problems and inside UABSORPTION_COEF subroutine:

• set_value_cell_absorption_coef(cell_index, band_no, value, error)

The following Radiation routines need to be used when solving for Radiation problems and inside UEMISSIVITY_BC subroutine:

• set_value_bc_face_emissivity(bc_index, face_index, band_no, bc_value, error)

Get Radiation Model Information

Prototype get_radiation_model_info(rad_model, gray_radiation, nbands, error)

Description Returns the radiation model information currently run by solver. Also, returns a logical, gray_radiation, indicating whether the current model is gray radiation(true) or non gray radiation(false). nbands, indicates the no of bands in non gray radiation model, defined in radiation model window of CFD-ACE+. For gray radiation model, nbands is 1.

Inputs None

Returns INTEGER(int_p) :: rad_model, nbands

Page 270: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

258

LOGICAL :: gray_radiation

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Radiation Band Information

Prototype get_radiation_band_info(nbands, lwavelength, uwavelength, error)

Description Returns the lower wavelength, lwavelength, and upper wavelengths, uwavelength, for each band defined in radiation model window of CFD-ACE+. This routine should be used for non gray radiation model. For gray radiation model, only one band exists with lower wavelength as 0, and upper wavelength as 1.0E20. For non gray radiation model, lower wavelength of first band is set to zero and upper wavelength of last band is set to 1.0E20. lwavelength and uwavelength are arrays of dimension, nbands.

Inputs INTEGER(int_p) :: nbands

Returns REAL(real_p), DIMENSION(nbands) :: lwavelength, uwavelength

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Value of Cell Absorptivity

Prototype get_value_cell_absorbtivity(cell_index, band_no, value, error)

Description Returns cell center absorbtivity value, value, at cell, cell_index, for a given band, band_no. For gray radiation band_no should be 1 and for non gray radiation band no should be between 1 and no of bands defined in radiation window of CFD-ACE+.

Inputs INTEGER(int_p) :: cell_index, band_no

Returns REAL(real_p) :: value

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Page 271: Cfd-Ace v2008.2 User Manual

User Subroutines

259

Get Value of BC Face Emissivity

Prototype get_value_bc_face_emissivity(bc_index, face_index, band_no, bc_value, error)

Description Returns emissivity value, bc_value, for a single bc face, with face_index, on a given bc, bc_index for a given band, band_no. For gray radiation band_no should be 1 and for non gray radiation band no should be between 1 and no of bands defined in radiation window of CFD-ACE+.

Inputs INTEGER(int_p) :: bc_index, face_index, band_no

Returns REAL(real_p) :: bc_value

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Value of BC Emissivity

Prototype get_value_bc_emissivity(bc_index, band_no, nbc_faces, bc_value, error)

Description Returns emissivity value, bc_value, for a whole bc patch, bc_index and for a given band, band_no. For gray radiation band_no should be 1 and for non gray radiation band no should be between 1 and no of bands defined in radiation window of CFD-ACE+.

Inputs INTEGER(int_p) :: bc_index, band_no, nbc_faces

Returns REAL(real_p), DIMENSION(nbc_faces) :: bc_value

LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Cell Value of Cell Absorption Coefficient

Prototype set_value_cell_absorption_coef(cell_index, band_no, value, error)

Description Sets the absorptivity value, value, for a given band, band_no in a cell, cell_index. This routine should only be used inside UABSORPTION_COEF. For gray radiation band_no should be 1 and for non gray radiation band no should be between 1 and no of bands defined in radiation window of CFD-ACE+.

Inputs

Page 272: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

260

INTEGER(int_p) :: cell_index, band_no

REAL(real_p) :: value

Returns LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Value of BC Face Emissivity

Prototype set_value_bc_face_emissivity(bc_index, face_index, band_no, bc_value, error)

Description Sets the emissivity value, bc_value, for a given band, band_no, on a given single bc face, face_index, at a bc, bc_index. This routine should only be used inside UEMISSIVITY_BC. For gray radiation band_no should be 1 and for non gray radiation band no should be between 1 and no of bands defined in radiation window of CFD-ACE+.

Inputs INTEGER(int_p) :: bc_index, face_index, band_no

REAL(real_p) :: bc_value

Returns LOGICAL :: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

User Subroutines Spray Routines

For these routines, argument segments that you must provide are not bold, but the segments that are returned from CFD-ACE-Solver are bold. The following Spray routines can be used in any of the user subroutines with proper inputs:

• get_spr_species_index(name, sp_index, phase_index, error) • get_injector_index(name, inj_id, pcl_id_start, pcl_id_end, error) • get_num_injector(n_inj, n_pcl, error) • get_injector_val(inj_id, x, y, z, u, v, w, mean_dia, tem, mdot, error) • get_parcel_val(pcl_id, x, y, z, u, v, w, dia, tem, nden, error) • get_cur_spray_time(time, spray_dt, error) • get_cur_drop_state(cell_id, x, y, z, u, v, w, tem, dia, nden, error) • get_cur_drop_prop(density, cp, hvap, psat, mfsurf, error) • get_cur_drop_ndparams(cd, rey, nusl, sher, spal, error) • get_cur_gas_state(ug, vg, wg, deng, presg, temg, error)

Page 273: Cfd-Ace v2008.2 User Manual

User Subroutines

261

• get_cur_gas_prop(cpg, dvis, cond, diff, mfinf, prdt, schm, lews, mach, mwtg,error)

• get_num_sub_iter(num_sub_iter, error) • set_parcel_val(pcl_id, x, y, z, u, v, w, dia, tem, nden, error) • set_num_sub_iter(num_sub_iter, error) • set_cur_drop_density(density, error) • set_cur_drop_cp(cp, error) • set_cur_drop_psat(psat, error) • set_cur_drop_hvap(hvap, error) • set_cur_drop_param_drag(drag_coef, error) • set_cur_drop_param_nusl(nusl, error) • set_cur_drop_param_sher(sher, error) • set_cur_drop_mom_source(source_x, source_y, source_z, error) • set_cur_drop_energy_source(source_value, error) • set_cur_drop_mass_source(source_value, error) • set_spray_dt(dt_spray, error)

Get Spray Species Index

Prototype get_spr_species_index(name, sp_index, phase_index, error)

Description The index of the spray species can be obtained from a call to this routine. This index will be needed in calculating species properties as well as in other user subroutines. name is the name of the spray species as defined in the CFD-ACE+ (when specifying injectors). sp_index is the spray species index. phase_index is phase index of spray species, 1 - liquid, 2 - solid.

Use this routine instead of get_var_index when the spray model is on (do not try to access spray species using get_var_index of <species name>).

Inputs CHARACTER(len=*):: name

Returns INTEGER(int_p) :: sp_index, phase_index

LOGICAL :: error

Errors Error will be set to TRUE if something goes wrong.

Back to Top Get Injector Index

Prototype get_injector_index(name, inj_id, pcl_id_start, pcl_id_end, error)

Page 274: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

262

Description The index of the spray injectors and parcels can be obtained from this routine. These indices will be needed for modifying the injector and parcel properties. name is the name of the spray injector as defined in the CFD-ACE+. inj_id is the index of the injector. pcl_id_start, pcl_id_end are the starting and ending indices of parcels.

Inputs CHARACTER(len=*):: name

Returns INTEGER(int_p) :: inj_id

INTEGER(int_p) :: pcl_id_start, pcl_id_end

LOGICAL :: error

Errors Error will be set to TRUE if something goes wrong

Back to Top Get Number of Injectors

Prototype get_num_injector(n_inj, n_pcl, error)

Description The number of injectors and parcels specified in this problem can be obtained from this subroutine call. These may be needed when looping through all the injectors. n_inj and n_pcl are the number of injectors and number of parcels specified from the CFD-ACE+. The number of parcels is calculated by the code from the size and velocity specifications.

Inputs None

Returns INTEGER(int_p) :: n_inj, n_pcl

LOGICAL :: error

Errors Error will be set to TRUE if something goes wrong.

Back to Top Get Injector Value

Prototype get_injector_val(inj_id, x, y, z, u, v, w, mean_dia, tem, mdot, error)

Description The subroutine could be used to get the properties of the injector. inj_id is Injector id obtained from call to get_injector_index. x, y, z are injector location coordinates in meters. u, v, w are droplet velocity components in m/s2. mean_dia, tem, mdot are geometric mean diameter (m), temperature (K), and flow rate of droplets (1/s)

Inputs INTEGER(int_p) :: inj_id

Returns

Page 275: Cfd-Ace v2008.2 User Manual

User Subroutines

263

REAL(real_p) :: x, y, z

REAL(real_p) :: u, v, w

REAL(real_p) :: mean_dia, tem, mdot

LOGICAL :: error

Errors Error will be set to TRUE if something goes wrong.

Back to Top

Get Parcel Value

Prototype get_parcel_val(pcl_id, x, y, z, u, v, w, dia, tem, nden, error)

Description The subroutine could be used to get the properties of the Drop Parcels. pcl_id is Parcel id obtained from call to get_injector_index. x, y, z are parcel location coordinates in meters. u, v, w are droplet velocity components in m/s2. dia, tem, nden are geometric diameter (m), temperature (K), and number flow rate (1/s) of current parcel.

Inputs INTEGER(int_p) :: pcl_id

Returns REAL(real_p) :: x, y, z

REAL(real_p) :: u, v, w

REAL(real_p) :: dia, tem, nden

LOGICAL :: error

Errors Error will be set to TRUE if something goes wrong

Back to Top

Get Current Spray Time

Prototype get_cur_spray_time(time, spray_dt, error)

Description The subroutine could be used to get the spray time and time step. time is the current droplet time in seconds. spray_dt is the current spray time step.

Inputs None

Returns REAL(real_p) :: time, spray_dt

LOGICAL :: error

Errors Error will be set to TRUE if something goes wrong.

Page 276: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

264

Back to Top

Get Current Droplet State

Prototype get_cur_drop_state(cell_id, x, y, z, u, v, w, tem, dia, nden, error)

Description The subroutine gets the current state of the Drop Parcel. cell_id is cell at which the current droplet resides. x, y, z are injector location coordinates in meters. u, v, w are droplet velocity components in m/s2. tem, dia, nden are temperature (K), diameter (m), and number flow rate (1/s) of the current parcel.

Inputs None

Returns INTEGER(int_p):: cell_id

REAL(real_p) :: x, y, z

REAL(real_p) :: u, v, w

REAL(real_p) :: tem, dia, nden

LOGICAL :: error

Errors Error will be set to TRUE if something goes wrong.

Back to Top

Get Current Droplet Properties

Prototype get_cur_drop_prop(density, cp, hvap, psat, mfsurf, error)

Description The subroutine could be used to get the current properties of the Drop Parcel. density, cp and hvap are density, specific heat at constant pressure, and heat of vaporization. psat is saturation pressure at current drop temperature. mfsurf is mass fraction of vapor at droplet surface.

Inputs None

Returns REAL(real_p) :: density, cp, hvap

REAL(real_p) :: psat

REAL(real_p) :: mfsurf

LOGICAL :: error

Errors Error will be set to TRUE if something goes wrong

Back to Top

Get Current Droplet Non-Dimensional Parameters

Page 277: Cfd-Ace v2008.2 User Manual

User Subroutines

265

Prototype get_cur_drop_ndparams(cd, rey, nusl, sher, spal, error)

Description The subroutine could be used to get the current non-dimensional numbers evaluated for the Drop Parcel. cd and rey are the drag coefficient and droplet Reynolds number. nusl, sher, and spal are the Nusselt number, Sherwood number and Spalding (mass transfer) number

Inputs None

Returns REAL(real_p) :: cd, rey

REAL(real_p) :: nusl, sher, spal

LOGICAL :: error

Errors Error will be set to TRUE if something goes wrong.

Back to Top

Get Current Gas State

Prototype get_cur_gas_state(ug, vg, wg, deng, presg, temg, error)

Description The subroutine could be used to get the state of the ambient fluid. ug, vg, and wg are the ambient fluid velocity components in m/s2. deng, presg, and temg are the Density, pressure, and temperature of ambient fluid.

Inputs None

Returns REAL(real_p) :: ug, vg, wg

REAL(real_p) :: deng, presg, temg

LOGICAL :: error

Errors Error will be set to TRUE if something goes wrong.

Back to Top

Get Current Gas Properties

Prototype get_cur_gas_prop(cpg, vis, cond, diff, mfinf, prdt, schm, lews, mach, mwtg, error)

Description The subroutine could be used to get the properties of the ambient fluid. cpg, and dvis are Specific heat at constant pressure and dynamic viscosity of ambient fluid. cond, and diff are conductivity and diffusion coefficient of ambient fluid . mfinf is the mass fraction of vapor in the cell. prdt, schm, and lews are the Prandtl number, Schmidt number and Lewis number of ambient fluid. mach, and mwtg are Mach number and molecular weight of ambient fluid.

Page 278: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

266

Inputs None

Returns REAL(real_p) :: cpg, vis

REAL(real_p) :: cond, diff

REAL(real_p) :: mfinf

REAL(real_p) :: prdt, schm, lews

REAL(real_p) :: mach, mwtg

LOGICAL :: error

Errors Error will be set to TRUE if something goes wrong

Back to Top

Get Number of Sub-Iterations

Prototype set_num_sub_iter(num_sub_iter, error)

Description Sets the number of sub iterations num_sub_iter, used for spray calculations.

Inputs INTEGER(int_p):: num_sub_iter

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Parcel Value

Prototype set_parcel_val(pcl_id, x, y, z, u, v, w, dia, tem, nden, error)

Description The subroutine could be used to set the properties of the Drop Parcels. pcl_id is Parcel id obtained from call to get_injector_index. x, y, z are parcel location coordinates in meters. u, v, w are droplet velocity components in m/s2. dia, tem, nden are geometric diameter (m), temperature (K), and number flow rate (1/s) of current parcel.

Inputs INTEGER(int_p) :: pcl_id

REAL(real_p) :: x, y, z

REAL(real_p) :: u, v, w

REAL(real_p) :: dia, tem, nden

Page 279: Cfd-Ace v2008.2 User Manual

User Subroutines

267

Returns LOGICAL :: error

Errors Error will be set to TRUE if something goes wrong.

Back to Top

Set Number of Sub-Iterations

Prototype set_num_sub_iter(num_sub_iter, error)

Description Sets the number of sub iterations num_sub_iter, used for spray calculations.

Inputs INTEGER(int_p):: num_sub_iter

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Current Droplet Density

Prototype set_cur_drop_density(density, error)

Description Sets the current drop density, density.

Inputs REAL(real_p) :: density

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Current Droplet Specific Heat

Prototype set_cur_drop_cp(cp, error)

Description Sets the current drop specific heat, cp.

Inputs REAL(real_p) :: cp

Page 280: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

268

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Current Droplet Saturation Pressure

Prototype set_cur_drop_psat(psat, error)

Description Sets the current drop saturation pressure, psat.

Inputs REAL(real_p) :: psat

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Current Droplet Heat of Vaporization

Prototype set_cur_drop_hvap(hvap, error)

Description Sets the current drop heat of vaporization, hvap.

Inputs REAL(real_p) :: hvap

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Current Droplet Drag Coefficient

Prototype set_cur_drop_param_drag(drag_coef, error)

Description Sets the current drop drag coefficient, drag_coef.

Inputs

Page 281: Cfd-Ace v2008.2 User Manual

User Subroutines

269

REAL(real_p) :: drag_coef

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Current Droplet Nusselt Number

Prototype set_cur_drop_param_nusl(nusl, error)

Description Sets the current drop Nusselt number, nusl.

Inputs REAL(real_p) :: nusl

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Current Droplet Sherwood Number

Prototype set_cur_drop_param_sher(sher, error)

Description Sets the current drop Sherwood number, sher.

Inputs REAL(real_p) :: sher

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Current Droplet Momentum Source

Prototype set_cur_drop_mom_source(source_x, source_y, source_z, error)

Description Sets the current drop Momentum Source

Page 282: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

270

Inputs REAL(real_p) :: source_x, source_y, source_z

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Current Droplet Energy Source

Prototype set_cur_drop_energy_source(source_value, error)

Description Sets the current drop Energy Source

Inputs REAL(real_p) :: source_value

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Current Droplet Mass Source

Prototype set_cur_drop_mass_source(source_value, error)

Description Sets the current drop Mass Source

Inputs REAL(real_p) :: source_value

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Set Spray Time Step

Prototype set_spray_dt(dt_spray, error)

Description

Page 283: Cfd-Ace v2008.2 User Manual

User Subroutines

271

Sets the user defined spray time step

Inputs REAL(real_p) :: dt_spray

Returns LOGICAL:: error

Errors Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

User Subroutines Grid Connectivity Routines

The following grid connectivity routines can be used in any of the user subroutines with proper inputs. For these routines, argument segments that you must provide are not bold, but the segments that are returned from CFD-ACE-Solver are bold.

• get_num_cell_types(num_cell_types, error) • get_num_cells_by_type(cell_type, ncells, error) • get_global_cell_by_type(cell_type, cell_index, global_cell, error) • get_cell_type(cell_index, cell_type, error) • get_num_cell_faces(cell_index, ncell_faces, error) • get_cell_faces(cell_index, ncell_faces, cell_faces, error) • get_num_cell_nodes(cell_index, ncell_nodes, error) • get_cell_nodes(cell_index, ncell_nodes, cell_nodes, error) • get_num_face_types(num_face_types, error) • get_num_faces_by_type(face_type, nfaces, error) • get_num_faces(nfaces, error) • get_face_type(face_index, face_type, error) • get_num_face_nodes(face_index, nface_nodes, error) • get_face_nodes(face_index, nface_nodes, face_nodes, error) • get_face_cells(face_index, cell_index1, cell_index2, error) • get_num_nodes(nnodes, error) • get_num_bc_faces(nbc_faces, error) • get_bc_type(bc_face_index, bc_type, error) • get_bc_cell_index(bc_face_index, bc_cell_index, error) • get_global_face_index(bc_face_index, global_face_index, error) • get_bc_record_index(bc_face_index, bc_record_index, error) • get_bc_patch_key(bc_face_index, bc_patch_key, error) • get_num_bc_nodes(nbc_nodes, error) • get_global_node_index(bc_node_index, global_node_index, error) • get_bc_node_index(global_node_index, bc_node_index, error) • get_cell_group_index(global_cell_index, cell_group_index, error)

Page 284: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

272

• get_num_bc_faces_by_type(flag, nbc_faces, error) • get_nodal_value_array(var_index, n_nodes, value_array, error) • get_cyclic_node_pair_index(nodeIndex, cyclicNodeIndex, error)

Get Number of Cell Types

Prototype get_num_cell_types(num_cell_types, error)

Description Returns the total number of cell types (num_cell_types) in the user's model. A cell type is the shape of the grid cell, e.g. quadrilateral or triangle (in 2D), or hex, prism, pyramid, tetrahedral (in 3D). Polyhedral cells (arbitrary number of faces) can be either 2D or 3D.

Inputs None

Returns INTEGER(int_p) :: num_cell_types

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Number of Cells by Type

Prototype get_num_cells_by_type(cell_type, ncells, error)

Description Returns the total number of cells (ncells) for a given cell type (cell_type). The cell type is indicated by passing in an integer argument that indicates the desired cell type. The valid values are defined in the CFDRC_USER module:

TRI_CELL = 1, QUAD_CELL = 2, TET_CELL = 3, PYRAMID_CELL = 4, PRISM_CELL = 5, HEX_CELL = 6,

POLY_CELL = 7

An example would be:

CALL get_num_cells_by_type( TRI_CELL, ncells, error )

This would return the total number of triangle cells in the model.

Inputs INTEGER(int_p) :: cell_type

Returns INTEGER(int_p) :: ncells

Page 285: Cfd-Ace v2008.2 User Manual

User Subroutines

273

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Global Cell by Type

Prototype get_global_cell_by_type(cell_type, local_cell_index, global_cell_index, error)

Description Returns the global cell index (cell_index) for a given local cell index (local_cell_index) and cell type(cell_type).

TRI_CELL = 1, QUAD_CELL = 2, TET_CELL = 3, PYRAMID_CELL = 4, PRISM_CELL = 5, HEX_CELL = 6, POLY_CELL = 7

Inputs INTEGER(int_p) :: cell_type, local_cell_index

Returns INTEGER(int_p) :: global_cell_index

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Cell Type

Prototype get_cell_type(cell_index, cell_type, error)

Description Returns the cell type (cell_type) for a given global cell index (cell_index).

Inputs INTEGER(int_p) :: cell_index

Returns INTEGER(int_p) :: cell_type

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Number of Cell Faces

Prototype get_num_cell_faces(cell_index, ncell_faces, error)

Page 286: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

274

Description Returns the number of cell faces (ncell_faces) for a given global cell index (cell_index).

Inputs INTEGER(int_p) :: cell_index

Returns INTEGER(int_p) :: ncell_faces

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Cell Faces

Prototype get_cell_faces(cell_index, ncell_faces, cell_faces, error)

Description Returns the cell face indices for a given global cell index (cell_index) in an array (cell_faces) of size ncell_faces.

Inputs INTEGER(int_p) :: cell_index, ncell_faces

Returns INTEGER(int_p), DIMENSION(ncell_faces) :: cell_faces

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Number of Cell Nodes

Prototype get_num_cell_nodes(cell_index, ncell_nodes, error)

Description Returns the number of cell nodes (ncell_nodes) for a given global cell index (cell_index).

Inputs INTEGER(int_p) :: cell_index

Returns INTEGER(int_p) :: ncell_nodes

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Page 287: Cfd-Ace v2008.2 User Manual

User Subroutines

275

Back to Top

Get Cell Nodes

Prototype get_cell_nodes(cell_index, ncell_nodes, cell_nodes, error)

Description Returns the cell node indices for a given global cell index (cell_index) in an array (cell_nodes) of size ncell_nodes.

Inputs INTEGER(int_p) :: cell_index, ncell_nodes

Returns INTEGER(int_p), DIMENSION(ncell_nodes) :: cell_nodes

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Number of Face Types

Prototype get_num_face_types(num_face_types, error)

Description Returns the total number of face types (num_face_types ).

Inputs None

Returns INTEGER(int_p) :: num_face_types

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Number of Face by Type

Prototype get_num_faces_by_type(face_type, nfaces, error)

Description Returns the total number of faces (nfaces) for a given face type (face_type). The face type is indicated by passing in an integer argument that indicates the desired face type. The valid values are defined in the CFDRC_USER module:

LINE_FACE = 1, TRI_FACE = 2, QUAD_FACE = 3, POLY_FACE = 4.

Page 288: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

276

An example would be:

CALL get_num_faces_by_type( TRI_FACE, nfaces, error )

This would return the total number of triangle faces in the model. This function would normally be used to allocate some storage.

Inputs INTEGER(int_p) :: face_type

Returns INTEGER(int_p) :: nfaces

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Number of Faces

Prototype get_num_faces(nfaces, error)

Description Returns the total number of faces (nfaces) in total simulation domain (all zones). A face is part of the boundary of a grid cell. A grid cell can have any number of faces, although typically a grid cell would have 3 faces or 4 faces in 2D models (triangles or quadrilaterals), and 4, 5, or 6 faces in 3D models (tetrahedral, pyramid, prism/hex).

This function would normally be used to allocate storage for arrays which need to be sized to the total number of faces in the model.

Inputs None

Returns INTEGER(int_p) :: nfaces

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Face Type

Prototype get_face_type(face_index, face_type, error)

Description Returns the face type (face_type) for a given face index (face_index).

Page 289: Cfd-Ace v2008.2 User Manual

User Subroutines

277

LINE_FACE = 1, TRI_FACE = 2, QUAD_FACE = 3, POLY_FACE = 4.

Inputs INTEGER(int_p) :: face_index

Returns INTEGER(int_p) :: face_type

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Number of Face Nodes

Prototype get_num_face_nodes(face_index, nface_nodes, error)

Description Returns the number of nodes (nface_nodes) for a given face index (face_index).

Inputs INTEGER(int_p) :: face_index

Returns INTEGER(int_p) :: nface_nodes

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Face Nodes

Prototype get_face_nodes(face_index, nface_nodes, face_nodes, error)

Description Returns the global node indices for a given face index (face_index) in an array (face_nodes) of size nface_nodes.

Inputs INTEGER(int_p) :: face_index, nface_nodes

Returns INTEGER(int_p), DIMENSION(nface_nodes) :: face_nodes

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Page 290: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

278

Back to Top

Get Face Cells

Prototype get_face_cells(face_index, cell_index1, cell_index2, error)

Description Returns the adjacent global cell indices (cell_index1, cell_index2) for a given face index (face_index). If both cell indices are same, that means it is an external boundary face and has only one cell associated with it.

Inputs INTEGER(int_p) :: face_index

Returns INTEGER(int_p) :: cell_index1, cell_index2

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Number of Nodes

Prototype get_num_nodes(nnodes, error)

Description Returns the total number of nodes (nnodes) in total simulation domain (all zones).

Inputs None

Returns INTEGER(int_p) :: nnodes

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Number of BC Faces

Prototype get_num_bc_faces(nbc_faces, error)

Description Returns the total number of BC faces (nbc_faces) in total simulation domain (all zones).

Inputs None

Page 291: Cfd-Ace v2008.2 User Manual

User Subroutines

279

Returns INTEGER(int_p) :: nbc_faces

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get BC Type

Prototype get_bc_type(bc_face_index, bc_type, error)

Description Returns the geometry bc type (bc_type) for a given bc face index (bc_face_index).

BC_TYPE_INLET = 1, BC_TYPE_WALL = 2,

BC_TYPE_EXIT = 3, BC_TYPE_INTERFACE = 4,

BC_TYPE_F_F_INTERFACE = 5, BC_TYPE_S_S_INTERFACE =6, BC_TYPE_S_F_INTERFACE = 7, BC_TYPE_F_B_INTERFACE =8,

BC_TYPE_B_B_INTERFACE = 9,BC_TYPE_S_B_INTERFACE = 10, BC_TYPE_SYMM = 11, BC_TYPE_CYCLIC = 12, BC_TYPE_THINWALL = 13

Inputs INTEGER(int_p) :: bc_face_index

Returns INTEGER(int_p) :: bc_type

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get BC Cell Index

Prototype get_bc_cell_index(bc_face_index, bc_cell_index, error)

Description Returns the global cell index (bc_cell_index) associated with the specified face index (bc_face_index). The face index is a global face index, meaning that the value should be between 1 and the total number of BC faces in the model. The total number of BC faces in the model is not the same thing as the total number of faces in the model. Two values are maintained inside the solver, one counts only the faces that are part of BCs, and the other counts internal faces as well.

The cell index that is returned, is a global cell index, meaning that the value lies between 1 and the total number of cells in the model.

Page 292: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

280

If you are looping over the number of BC faces for a particular boundary condition patch, you must first translate from the "local" boundary condition face index, e.g. 1 to number_of_faces_for_current_BC, into the "global" boundary condition face index, before calling this function.

Inputs INTEGER(int_p) :: bc_face_index

Returns INTEGER(int_p) :: bc_cell_index

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Global Face Index

Prototype get_global_face_index(bc_face_index, global_face_index, error)

Description Returns the global face index (global_face_index) for a given BC face index (bc_face_index).

Inputs INTEGER(int_p) :: bc_face_index

Returns INTEGER(int_p) :: global_face_index

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get BC Record Index

Prototype get_bc_record_index(bc_face_index, bc_record_index, error)

Description Returns the BC record index (bc_record_index) for a given BC face index (bc_face_index).

Inputs INTEGER(int_p) :: bc_face_index

Returns INTEGER(int_p) :: bc_record_index

LOGICAL :: error

Error

Page 293: Cfd-Ace v2008.2 User Manual

User Subroutines

281

Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get BC Patch Key

Prototype get_bc_patch_key(bc_face_index, bc_patch_key, error)

Description Returns the BC patch key (bc_patch_key) for a given BC face index (bc_face_index).

Inputs INTEGER(int_p) :: bc_face_index

Returns INTEGER(int_p) :: bc_patch_key

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Number of BC Nodes

Prototype get_num_bc_nodes(nbc_nodes, error)

Description Returns the number of BC nodes (nbc_nodes).

Inputs None

Returns INTEGER(int_p) :: nbc_nodes

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Global Node Index

Prototype get_global_node_index(bc_node_index, global_node_index, error)

Description Returns the global BC node index (global_node_index) corresponding to local BC node index (bc_node_index).

Inputs

Page 294: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

282

INTEGER(int_p) :: bc_node_index

Returns INTEGER(int_p) :: global_node_index

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get BC Node Index

Prototype get_bc_node_index(global_node_index, bc_node_index, error)

Description Returns the local BC node index (bc_node_index) corresponding to global node index (global_node_index).

Inputs INTEGER(int_p) :: global_node_index

Returns INTEGER(int_p) :: bc_node_index

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Cell Group Index

Prototype get_cell_group_index(global_cell_index, cell_group_index, error)

Description Returns the cell group index (cell_group_index) corresponding to global cell index (global_cell_index). (This subroutine is same as get_vc_index_from_cell and that cell_group_index is same as vc_index)

Inputs INTEGER(int_p) :: global_cell_index

Returns INTEGER(int_p) :: cell_group_index

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Page 295: Cfd-Ace v2008.2 User Manual

User Subroutines

283

Get Number of BC Face by Type

Prototype get_num_bc_faces_by_type(flag, nbc_faces, error)

Description Returns the total number of arbitrary/interface BC faces (nbc_faces) in total simulation domain (all zones).

flag = 1 (All interfaces)

flag = 2 (Interfaces)

flag = 3 (Arbitrary Interfaces)

Inputs INTEGER(int_p) :: flag

Returns INTEGER(int_p) :: nbc_faces

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Nodal Value Array

Prototype get_nodal_value_array(var_index, n_nodes, value_array, error)

Description Return nodal data array for var_index

Inputs INTEGER(int_p) :: var_index, n_nodes

Returns REAL(real_p), dimension(n_nodes) :: value_array

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Get Cyclic Node Pair Index

Prototype get_cyclic_node_pair_index(node_Index, cyclicNodeIndex, error)

Description Return the global node index corresponding to cyclic global node index.

Page 296: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

284

Inputs INTEGER(int_p) :: node_Index

Returns INTEGER(int_p) :: cyclicNodeIndex

LOGICAL :: error

Error Error will be true if some error occurs and the proper error message will be printed in the <modelname.out> file.

Back to Top

Implementation of User Subroutines

User Subroutines Implementation-Introduction

The Implementation section provides implementation information for the user subroutines. It includes:

• The prototype or subroutine statement and its arguments

• User subroutine description and usage

• Instructions on how to activate the user subroutine

• The calling structure, given in pseudo code, which describes how the user subroutine is called from within the CFD-ACE-Solver.

The User Subroutine Implementation section includes:

• User Defined Output (UOUT)

• User Defined Boundary Condition Values (UBOUND)

• User Defined Grid Deformation Boundary Condition Values (UDEFORM_BC)

• User Defined Emissivity Boundary Condition Values (UEMISSIVITY_BC)

• User Defined Parameter (UPARAMETER)

• User Defined Source Terms (USOURCE) • User Defined Reaction Rate Factor (UREACTION)

• User Defined Properties

• User Defined Time Step (UDT)

• User Defined Gravity (UGRAVITY)

• User Defined Initial Conditions (UINIT)

• User Defined Grid Deformation (UGRID)

• User Defined Moving Solid Motion

• User Defined Spray Subroutines

User Subroutines User Defined Output Routines (UOUT, UREAD_DTF, UWRITE_DTF)

The user output routine enables you to:

Page 297: Cfd-Ace v2008.2 User Manual

User Subroutines

285

• Calculate detailed engineering quantities with the help of the solver. This is possible because you have access to all of the information that the solver has (i.e., cell volumes, face areas, fluxes, etc.).

• Send information to third party control simulation software for use in a feedback control simulation.

• Write a solution file in the format of a third party post-processor. o UOUT o UREAD_DTF o UWRITE_DTF

UOUT

Prototype uout(iflag)

Arguments INTEGER(int_p):: iflag- call position indicator

Description When user output has been activated, this subroutine will be called from various points in the solution cycle. The value of iflag can be used to determine from where in the solution cycle that this routine has been called:

iflag = 0 at the beginning of the simulation, when reading DTF data. This can be used to read data from DTF.

iflag = 1 at the beginning of the simulation

iflag = 2 at the beginning of each time step (transient only)

iflag = 3 at the end of each iteration

iflag = 4 at the end of each time step (transient problems only)

iflag = 5 at the end of the simulation. This flag can be used to write cell or nodal data into DTF.

Most user access routines related to getting information and variable quantities are available for use in the user output subroutine. This routine should not be used to set any information.

Activation To activate, select User Sub (uout) under the Output tab located on the Solution Control [SC] panel.

Call Structure start simulation

start reading DTF data

call UOUT(0)

end of reading DTF data

call UOUT(1)

do itime = 1, number of times steps

Page 298: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

286

call UOUT(2)

do iter = 1, number of iterations

process solution

call UOUT(3)

end do

call UOUT(4)

end do

call UOUT(5)

end simulation

Back to Top

UREAD_DTF Arguments

None

Description When user sub(uread_dtf) has been activated, this subroutine will be called from solver. This subroutine is called at the beginning of simulation, when solver is reading the DTF file. At this point, you should not do any thing except reading from the DTF file, since most of the variables are not even set by this time.

Activation To activate, select User Sub (uread_dtf) under the Output tab located on the Solution Control [SC] panel.

Call Structure start simulation

start reading DTF data

call UREAD_DTF

end of reading DTF data

end simulation

Back to Top

UWRITE_DTF Prototype

uwrite_dtf

Arguments None

Description When user sub(uwrite_dtf) has been activated, this subroutine will be called from solver. This subroutine is called at the end of simulation, when solver is writing the DTF file. At this point, you should not do anything except write to the DTF file. You can use any generalized user access routines to get the values.

Activation To activate, select User Sub (uwrite_dtf) under the Output tab located on the Solution Control [SC] panel.

Call Structure

Page 299: Cfd-Ace v2008.2 User Manual

User Subroutines

287

start simulation

start writing output to DTF

call UWRITE_DTF

end of writing output to DTF.

end simulation

Back to Top

User Subroutines User Defined Boundary Condition Values (UBOUND)

The user defined boundary condition routine gives you total control over the boundary condition values for any given boundary condition. This routine does not allow you to change the boundary condition type (i.e., fixed pressure outlet, fixed velocity inlet, etc.) but it does allow you to change the values.

This routine gives you the opportunity to set more general profile type boundary conditions than can be set with the standard profile in x, y, z, or time options. An example would be boundary values that vary in both space and time. The routine is also useful for feedback control simulations where, for example, you could monitor the temperature at a certain location to determine what a wall heat flux value should be set to ubound(bc_index, var_index, face_index, xfc, yfc, zfc). Prototype

ubound(bc_index, var_index, face_index, xfc, yfc, zfc)

Arguments INTEGER(int_p):: bc_index, var_index, face_index

REAL(real_p):: xfc, yfc, zfc

Description The UBOUND routine is called on a boundary face by boundary face basis for each boundary condition and variable which has an evaluation method of user defined.

Your code should check the value of var_index to determine for which variable the boundary values are being set. The value of var_index will match values returned by the get_var_index() access routine. Furthermore, the value of bc_index should be checked to determine which boundary condition is being processed. This value will match the value returned by the get_bc_index() access routine. The current face index and face center coordinates are passed in to UBOUND as face_index, xfc, yfc, and zfc respectively. For two-dimensional models, zfc will always be 0.

Within the UBOUND subroutine, the set_bc() access routine should be used to set the boundary value of variable var_index for the current boundary face. Note that boundary values of enthalpy and density are automatically recalculated if necessary (e.g., if the user defined temperature or pressure is prescribed).

For the user defined density option, UBOUND is called with the variable index as density. The density value needs to be set at inlet and exit boundaries for which associated volume condition has user defined density option selected.

Activation To activate, set the evaluation method for any boundary variable to User Sub. (ubound).

Call Structure start boundary condition evaluation

do ibc = 1, number of bcs

Page 300: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

288

do ivar = 1, number of values for ibc

if method for BC ibc and VAR ivar = user sub then

do iface = 1, number of faces for BC ibc

call UBOUND(bc_ind,var_ind,face_ind,xfc,yfc,zfc)

end do

end if

end do

end do

end boundary condition evaluation

User Subroutines User Defined Boundary Condition Values (UBOUND_PATCH)

The user defined boundary patch gives user control to set one single value for whole boundary patch (bc patch) based on some function of time or experimental data. This routine does not allow you to change the boundary condition type.

Currently this subroutine is required for fix mass inlet, where mass is specified per boundary patch. In most of the other variables, you can use generalized “ubound” user subroutine. Prototype

ubound_patch(option, bc_index, var_index, bc_patch_value)

Arguments INTEGER(int_p), INTENT(in) :: option, bc_index, var_index

option - indicating different options. (currently not required.)

bc_index - global boundary condition (bc) index for which this subroutine is called.

var_index - variable index for which this subroutine is called.

Outputs: rEAL(real_p), INTENT(out) :: bc_patch_value

bc_patch_value – return value for specified bc patch value to be set for this boundary patch.

Description This UBOUND_PATCH subroutine is called bc patch by bc patch basis for each boundary condition where user has selected "User Sub (ubound_patch)" option in GUI.

Your code should check the value of var_index to determine for which variable the boundary values are being set. The value of var_index will match values returned by the get_var_index() access routine. Furthermore, the value of bc_index should be checked to determine which boundary condition is being processed. This value will match the value returned by the get_bc_index() access routine.

Assign the calculated boundary patch value to bc_patch_value (last argument) to set the value for current variable (var_index) at current boundary condition (bc_index). If this variable is not set to correct value, you may get erroneous results for the simulation.

Activation

Page 301: Cfd-Ace v2008.2 User Manual

User Subroutines

289

To activate this user subroutine, select “User sub (ubound_patch)” as evaluation method for the variables in CFD-ACE-GUI. Currently “Mass flow rate per patch” is the only variable uses this user subroutine.

Call Structure start boundary condition evaluation

do ibc = 1, number of bcs

do ivar = 1, number of values for ibc

if method for BC ibc and VAR ivar = user sub then

call UBOUND_PATCH(option, bc_index, var_index, bc_patch_value)

end if

end do

end do

end boundary condition evaluation

User Subroutines User Defined Boundary Condition Values (UMODAL_SHAPES)

Prototype umodal_shapes(option, mode_shape_index, num_nodes, x, y, z, mode_shape_frequency, mode_shape_disp_x, mode_shape_disp_y, mode_shape_disp_z)

Arguments INTEGER(int_p), INTENT(in) :: mode_shape_index, num_nodes

REAL(real_p), INTENT(in), dimension(num_nodes) :: x, y, z

mode_shape_index - current mode shape index for which user need to supply mode shape frequency and displacements.

num_nodes - Total number of nodes in structural zones.

x, y, z - coordinates of each node. For 2-D problems, z is will be set to 0.0 and users are advised not use this array.

Outputs: REAL(real_p), INTENT(out) :: mode_shape_frequency

REAL(real_p), INTENT(out), DIMENSION(num_nodes) :: mode_shape_disp_x, mode_shape_disp_y, mode_shape_disp_z

mode_shape_frequency - Mode shape frequency (Hz) corresponding to given mode shape index. (same as square root of (eigenvalue)/2*pi)

mode_shape_disp_x, mode_shape_disp_y, mode_shape_disp_z – Displacements in x, y, and z directions corresponding to given mode shape index. For 2-D problems, solver ignores mode_shape_disp_z and users are advised not to set any values for this array. These are popularly known as eigenvectors in the eigen solution.

Description This UMODAL_SHAPES subroutine is called only once and at the beginning of the simulation, before any calculations are done. It is called once for each mode. User indicates the number of modes in the GUI.

Page 302: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

290

Your code below should use mode_shape_index to assign the frequency and displacements for the current mode. The information is passed back to the solver through the subroutine's argument list.

Assign the calculated mode shape frequency to mode_shape_frequency and fill the mode_shape_disp_x, mode_shape_disp_y, and mode_shape_disp_z arrays displacements for each node corresponding to each degree of freedom (in x, y, and z directions). Do not fill mode_shape_disp_z array if your problem is 2-Dimensional.

The modal displacements for each structural node are to be assigned. If you have information about modal displacements on a different grid, then you will need to implement interpolations to determine the displacements at the node in question. You may use x, y, and z nodal coordinates if you need to do some kind of interpolation. For 2-D problems, z-nodal coordinate will be set to zero. So do not use z-coordinates.

Do not allocate any memory for mode_shape_disp_x etc., because the memory is already allocated inside solver before calling this routine. You may of course allocate any other memory required for your interpolation calculations.

Also note that the num nodes is not necessarily same as total number of nodes you get using get_num_nodes() access routine. num_nodes is only for structural zone related nodes and may possibly include fictitious locations associated with higher-order accuracy Gaussian integrations. get_num_nodes() gives the total number nodes in the model, including both structure where stress is being solved and other parts of of geometry, but do not include any quadratic nodes created for structural solver.

Note that the routine is not called with any arguments related to grid connectivity or indexing, so you cannot query for other data. This need is not anticipated. However, if you discover any needs related to the proper use of this routine, please contact us at [email protected]

Activation To activate this user subroutine, select "User sub (umodal_shapes)" as method for "Modal Analysis" in CFD-ACE-GUI, available under MO/Stress/Modal Analysis.

Call Structure start of structural calculations using FEM

if (modal_analysis) then

if (method for modal analysis = user sub(umodal_shapes)) then

do mode_shape_index = 1, number of modes

call UMODAL_SHAPES(option, mode_shape_index, num_nodes, x, y, z, mode_shape_frequency, mode_shape_disp_x, mode_shape_disp_y, mode_shape_disp_z)

end do

else

calculate mode shapes internally.

end if

update load BC's.

calculate displacements using eigen solution.

end if

Page 303: Cfd-Ace v2008.2 User Manual

User Subroutines

291

end structural calculations

User Subroutines User Defined Grid Deformation Boundary Condition Values (UDEFORM_BC)

The user defined grid deformation boundary condition routine gives you total control over the boundary condition values for any given boundary condition. This routine does not allow you to change the boundary condition motion type (i.e., displacement, velocity, coordinate, or rotation angle, rotation speed etc.) but it does allow you to change the values for a given motion type.

This routine gives you the opportunity to set more general grid motion for a given boundary conditions than can be set with the standard expression allowed in CFD-ACE+. An example would be boundary values that are complicated to fit into any mathematical formulation. The routine is also useful for feedback control simulations where, for example, you could monitor the pressure forces at a certain location to determine displacement of the boundaries.

This routine is different from Ugrid, as you need to specify the motion along the boundary and displacement of the interior nodes of the domain are calculated using TFI (Transfinite Interpolation). In UGRID you need to specify the motion for all the nodes inside a zone and TFI will not be used. Prototype

udeform_bc(bc_index, var_index, node_index)

Arguments INTEGER(int_p):: bc_index, var_index, node_index

Description The UDEFORM_BC routine is called on for each node where Grid deformation motion is selected as user defined. This will be called for all translation or rotation nodes. But the bc_index, will let you know to which boundary current node belong to. This subroutine is called for dx, dy, dz, u, v, w, x, y, z, rotation angle(deg), or rotation speed (deg/s), depending which motion type is selected in CFD-ACE+.

Your code should check the value of var_index to determine for which variable the boundary values are being set. The value of var_index will match values returned by the get_var_index() access routine. Furthermore, the value of bc_index should be checked to determine which boundary condition the current global node, indicated by node_index, belongs to. This value will match the value returned by the get_bc_index() access routine. The current node index is passed in to UDEFORM_BC as node_index.

Within the UDEFORM_BC subroutine, the set_value_one_node() access routine should be used to set the boundary value of variable var_index for the current boundary node.

Activation To activate, set the evaluation method for any grid deformation boundary variable to User Sub.(udeform_bc).

Call Structure start grid deformation motion evaluation

if translation motion is specified

For calculating displacement in x-direction

do inode = 1, number of translation nodes

bc_index = bc_record(inode)

Page 304: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

292

var_index = variable(bc_index)

node_index = global(inode)

var_index is one of deform_dx, deform_x, deform_u

if method for BC bc_index and VAR var_index = user sub then

call UDEFORM_BC(bc_index,var_index,node_index)

end if

end do

For calculating displacement in y-direction

do inode = 1, number of translation nodes

bc_index = bc_record(inode)

var_index = variable(bc_index)

node_index = global(inode)

var_index is one of deform_dy, deform_y, deform_v

if method for BC bc_index and VAR var_index = user sub then

call UDEFORM_BC(bc_index,var_index,node_index)

end if

end do

if 3D problem

For calculating displacement in z-direction

do inode = 1, number of translation nodes

bc_index = bc_record(inode)

var_index = variable(bc_index)

node_index = global(inode)

var_index is one of deform_dz, deform_z, deform_w

if method for BC bc_index and VAR var_index = user sub then

call UDEFORM_BC(bc_index,var_index,node_index)

end if

end do

end if

end if

if rotation motion is specified

For calculating displacement based on rotation angle(deg) or rotation speed(deg/sec)

do inode = 1, number of rotation nodes

bc_index = bc_record(inode)

Page 305: Cfd-Ace v2008.2 User Manual

User Subroutines

293

var_index = variable(bc_index)

node_index = global(inode)

var_index is one of deform_rotation_angle, deform_rotation_speed

if method for BC bc_index and VAR var_index = user sub then

call UDEFORM_BC(bc_index,var_index,node_index)

end if

end do

endif

end of grid deformation motion evaluation

User Subroutines User Defined Emissivity Boundary Condition Values (UEMISSIVITY_BC)

The user defined emissivity boundary condition routine gives you total control over the emissivity values for any given boundary condition. This routine allows you to change the emissivity values. This routine gives you the opportunity to set more general profile type boundary conditions. An example would be emissivity values that vary with temperature. Prototype

uemissivity_bc(bc_index, face_index, band_no)

Arguments INTEGER(int_p):: bc_index, face_index, band_no

Description The UEMISSIVITY_BC routine is called on a boundary face by boundary face basis for each boundary condition for which emissivity evaluation method is specified as user defined.

Your code should check the value of bc_index to determine which boundary condition is being processed. This value will match the value returned by the get_bc_index() access routine. The current face index is passed in to UEMISSIVITY_BC as face_index.

Within the UEMISSIVITY_BC subroutine, the set_value_bc_face_emissivity() access routine should be used to set the boundary value of emissivity for the current boundary face.

Activation To activate, set the evaluation method for emissivity to User Sub. (uemissivity_bc)

Call Structure start boundary condition evaluation for emissivity

do ibc = 1, number of bcs

if method for BC ibc and emissivity = user sub then

do iface = 1, number of faces for BC ibc

do iband = 1, number of bands

call UEMISSIVITY_BC(bc_index,face_index,band_no)

end do

end do

end if

Page 306: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

294

end do

end boundary condition evaluation for emissivity

User Subroutines User Defined Parameter (UPARAMETER)

This subroutine is called for each parameter which is defined as user defined in CFD-ACE+ in the parametric input window. You can get the time and the x, y, z coordinates, face center values, etc, at this point. You can also get boundary values for all the variables except the ones which are using parameters. Cell center values are not available at this point because initial conditions are not set by this time. Description

Parameter values should be assigned by using set_parameter_value(). You should use the same var_index which is passed to this routine. You should not use other parameter index to set the value. var_index is available by using get_var_index(). var_name should be the name specified in the parametric input window.

Activation This routine is activated by typing USER_DEFINED in the parametric value text field of the Parametric definition window of CFD-ACE+.

Call Structure Do parameter = 1, Number of parameters

if parameter is user defined

Call uparameter

end if

End do

User Subroutines User Defined Source Terms

The user defined source terms enable you to modify the general equation for any of the solved variables by adding source terms to the equation on a cell by cell basis. With this feature you can reproduce and expand on the capabilities such as momentum resistance, heat sources, fan model, gas and surface reaction models, etc. The user defined source routines are required to control the solution of user scalar variables. Prototype

usource(var_index, vcindex)

Arguments INTEGER(int_p): var_index, vcindex

Description The USOURCE routine is called on a volume condition by volume condition basis for each variable that is requested.

Your code should check the value of var_index to determine for which variable source terms are being set. The value of var_index will match values returned by the get_var_index() access routine. Furthermore, the value of vcindex should be checked to determine which volume condition is being processed. This value will match the value returned by the get_vc_index() access routine.

Within the USOURCE subroutine, the add_source_term() access routine should be used to set the source term values Su and Sp of variable var_index for the current volume condition.

Page 307: Cfd-Ace v2008.2 User Manual

User Subroutines

295

The source term specified is the absolute source term for the cell (as opposed to per unit volume or mass). The units of Su for a variable phi will be equal to the units of mass flow rate (kg/sec) times the units for phi. For example, the units of Su for velocity (momentum source) will be [kg/sec][m/sec], or newtons, the units of Su for enthalpy (energy source) will be [kg/sec][J/kg] or watts, and the units of Su for a unitless variable, such as mass fraction will be simply [kg/sec] For more information on how to set Su and Sp, see Direct Specification of Source Terms.

Activation To activate, select User Sub (usource) as the evaluation method for any of the variable’s source terms. This can be done through the CFD-ACE+ from the Volume Conditions [VC] page. Change the setting mode to the appropriate set of equations (e.g., flow, heat, etc.), and select User Sub (usource) as the evaluation method for the desired equation.

Call Structure setup solution matrix for variable ivar

do ivc = 1, number of volume conditions

if VAR ivar for VC ivc has user source term then

call USOURCE(var_index, vc_source_index)

endif

enddo

goto linear equation solver

User Subroutines User Defined Reaction Rate Factor

The user defined reaction rate factor enables you to modify the reaction rates calculated by the solver. With this feature you can increase/decrease reaction rates or even completely stop the reaction in some parts of the domain by setting the factor to zero. This is called for both surface and gas phase reaction. Prototype

ureaction_rate_factor(react_type, mechanism_index, react_step_index, react_step_type)

Arguments INTEGER(int_p): react_type, mechanism_index, react_step_index, react_step_type

Description The UREACTION_RATE_FACTOR routine is called for every reaction step which has user defined reaction rate activated in CFD-ACE+ Reaction or Surface Reaction Manager. This is visible for Finite Rate General Reactions only.

This routine is called for every fluid volume cell. You can get the active cell index using get_active_cell_index() access routine and active face index incase of surface reactions using get_active_bc_face_index(). You can get volume index from get_vc_index_from_cell(). react_type indicates whether Gas phase reaction(1) or surface reaction(2). mechanism_index indicates for which mechanism this routine is called. For gas phase reactions mechanism_no is 1 and for surface reactions it depends on the boundary. You can get the mechanism_no from the name of the mechanism used in Reaction managers. You need to use get_mechanism_index() to get the mechanism index. react_step_index is the reaction step index, which can be obtained from the get_reaction_step_index(), from reaction step name. react_step_type indicates whether to use a forward(1) or reverse(2) step. Whenever you define a reaction in Reaction managers, remember to give names for each reaction step and mechanism. If not, it is difficult to use this user subroutine.

Rate Factor can be set by calling the set_reaction_rate_factor() access routine.

Activation To activate, select the check box which is labeled as user rate factor in the Reaction Managers of CFD-ACE+ for each reaction step. This is available for species mass fraction approach.

Page 308: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

296

Call Structure Calculation of arrhenius rate constants for gas phase or surface reactions

rtype = 1 (for gas phase reactions)

rtype = 2 (for surface reactions)

do ivc = 1, number of volume conditions

do imech = 1, no of gas phase reactions

do istep = 1, no of reaction steps in this mechanism

if (forward rate has user defined rate factor)

rstep_type = 1 (for forward reaction rates)

call ureaction_rate_factor(rtype, imech, istep, rstep_type)

end if

if (reverse rate has user defined rate factor)

rstep_type = 2 (for reverse reaction rates)

call ureaction_rate_factor(rtype, imech, istep, rstep_type)

end if

end do

end do

end do

User Subroutines User Defined Properties

Through the user defined property routines you can perform your own fluid, second fluid (in case of VOF), and solid property calculations for density, viscosity, conductivity, specific heat, diffusivity, electrical conductivity, electrical permittivity, electron collision frequency, and absorbtivity. This will allow you to use advanced or unique property functions for materials that may not obey the standard property functions available in the solver.

For the second fluid, iopt is set to 10, and is called for density, thermal conductivity, and laminar dynamic viscosity, and surface tension (iopt = 1).

Properties for thermal conductivity, species diffusivity, and scalar diffusivity are set for laminar flow. Turbulence effects are calculated inside the solver. You can set only laminar transport properties using user subroutines.

When using udens you must also use udrhodp. For incompressible simulations set udrhodp = small # (such as 1E-10). Also, set density at all inlet/exit boundaries using UBOUND as UBOUND is called automatically whenever density is user defined in the adjacent volume condition.

Density Prototype udens(iopt, vcindex)

Arguments INTEGER(int_p):: iopt, vcindex

Drho_Dp Prototype udrhodp(iopt, vcindex)

Arguments INTEGER(int_p):: iopt, vcindex

Page 309: Cfd-Ace v2008.2 User Manual

User Subroutines

297

Viscosity Prototype uvisc(iopt, vcindex)

Arguments INTEGER(int_p):: iopt, vcindex

Thermal Conductivity Prototype ucond(iopt, vcindex)

Arguments INTEGER(int_p):: iopt, vcindex

Specific Heat and Enthalpy

Prototype ucph_from_t(iopt, vcindex, tval, cpval, hval)

Arguments INTEGER(int_p):: iopt, vcindex REAL(real_p):: tval, cpval, hval

The UCPH_FROM_T routine will pass in temperature (t) and the user must return the values for specific heat (cp) and enthalpy (h).

Mass Diffusivity1 Prototype udiff(iopt,vcindex, var_index)

Arguments INTEGER(int_p)::iopt, vcindex, varindex

Mobility of Chemical Species1

Prototype umobility(iopt,vcindex,varindex)

Arguments INTEGER(int_p)::iopt, vcindex, varindex

Mass Diffusivity for Scalar1

Prototype udiff_scalar(iopt, vcindex, var_index)

Arguments INTEGER(int_p):: iopt, vcindex, var_index

Electrical Conductivity Prototype uecond(iopt, vcindex)

Arguments INTEGER(int_p):: iopt, vcindex

Electrical Permittivity Prototype uepermittivity(iopt, vcindex)

Arguments INTEGER(int_p):: iopt, vcindex

Electrical Permeability Prototype urpermeability(iopt, vcindex)

Arguments INTEGER(int_p):: iopt, vcindex

Surface Tension (for VOF)

Prototype usurfacetension(iopt, vcindex)

Arguments INTEGER(int_p):: iopt, vcindex

Electron Collision Frequency (for Plasma)

Prototype uecoll_frequency(iopt, vcindex)

Arguments INTEGER(int_p):: iopt, vcindex

Absorbtivity2 (for Radiation)

Prototype uabsorption_coef(vcindex, band_no)

Arguments INTEGER(int_p):: vcindex, band_no

Page 310: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

298

Porosity3 (for Porous Media Volume conditions)

Prototype uporous(vcindex, var_index)

Arguments INTEGER(int_p):: vcindex, var_index

These subroutines are called on a cell-by-cell basis for each volume condition and property that is set to user defined.

The variable iopt is currently only used for the UVISC routine:

iopt = 1 - UVISC has been called to set laminar dynamic viscosity

iopt = 2 - UVISC has been called to set turbulent viscosity

iopt = 10 - UVISC has been called to set second fluid laminar dynamic viscosity

Use the get_active_cell_index() access routine to get the current cell’s global integer index

Use set_value_one_cell() access routine to set the value of the property variable. Activation

To activate, set the evaluation method for a property to User Sub.

Call Structure example shown for density (other properties are similar)

start density calculation

volume condition loop:

do ivc = 1, number of VCs in simulation

if density for VC ivc is user defined then

do icell = 1, number of cells in VC ivc

call UDENS(iopt, vc_index)

if flow is compressible then

call UDRHODP(iopt, vc_index)

endif

enddo

endif

enddo

end density calculation

1. These routines are called for each chemical species/scalar defined in a problem with the outer loop as:

do isp = 1, number of species/scalars volume condition loop end do

2. These routines are called for each band defined for non gray radiation inside radiation model window of CFD-ACE+. For gray radiation number of bands is one, and the subroutine is called only once. Also, you need to use set_value_one_cell_absorbtivity() to set the absorbtivity instead of set_value_one_cell. The outer loop is:

Page 311: Cfd-Ace v2008.2 User Manual

User Subroutines

299

do iband = 1, number of bands volume condition loop end do

3. The uporous user subroutine is called for only those volume conditions where porous media is defined in CFD-ACE+. You should use only porous media related user access routines to get (get_value_one_porous_cell) or set (set_value_one_porous_cell) the values defined for porous media instead of regular get_value_one_cell or set_value_one_cell. The code structure is:

volume condition loop (as shown above for density) if (porous media is defined) then

if (porosity is user defined) then volume condition cell loop

endif endif

end of volume condition loop

User Subroutines User Defined Time Step (UDT)

For transient simulations you can use the user defined time step routine to vary the time step size during the simulation. This can be especially helpful if you have a simulation with a wide range of time varying values. For instance if you start a simulation from zero initial conditions, you may want to use a small time step during the start-up phase to accurately capture the start-up effects. After the start-up transient has been passed you may want to increase the time step size to reach the final solution in fewer time steps. Prototype

udt

Arguments NONE

Description This subroutine is called at the beginning of every time step to set the current time step size (seconds). Use the set_time_step() access routine to set the time step size,

Activation To activate, set the time step evaluation method to User Sub (udt).

Call Structure start simulation

do itime = 1, number of time steps

if time step evaluation method is user sub then

call UDT

endif

do iter = 1, number of iterations

process solution

enddo

enddo

end simulation

Page 312: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

300

User Subroutines User Defined Gravity (UGRAVITY)

This subroutine is called for each time step (transient cases) or at the beginning of the run (for steady state cases) whenever gravity is set to user defined. Use the set_gravity() access routine to set the gravity. Activation

To activate, select User sub(ugravity) for each user defined gravity direction. This can be done by using CFD-ACE+, from Model Options (MO) panel, shared tab page, activate the gravity option, and select the User sub(ugravity option in the direction you choose.

Call Structure Do time step = 1, number of time steps

if at least one of gravity_x, gravity_y,

gravity_z is user defined

Call ugravity

endiif

Enddo

For steady state, this is called only once at the beginning of the simulation.

User Subroutines User Defined Initial Conditions (UINIT)

The user defined initial conditions are used for two purposes; 1) provide more realistic initial conditions than constant values, and 2) to provide exact initial conditions needed for start-up of transient simulations. The user defined initial condition routine enables you to set the initial conditions for the simulation on a cell by cell basis. Prototype

uinit(var_index, vcindex)

Arguments INTEGER(int_p):: var_index, vcindex

Description This subroutine is called at the beginning of the simulation for each volume condition that has its initial condition evaluation mode set to user defined.

Since the routine is called on a volume condition by volume condition basis, it is up to the user to create an array of initial values, one for each cell of the volume. Do not use set_value_one_cell.

Activation Use the set_value_vc() access routine to set the value of a variable. This routine is activated by selecting UserSub(uinit) as the evaluation method for any of the variables in the Initial Conditions (IC) page. Select the volume by volume option as the initial condition, then select UserSub(uinit) as the evaluation method for each desired variable.

Call Structure determine initial conditions

do ivc = 1, number of volume conditions

do ivar = 1, number of variables requiring IC’s

if VAR ivar for VC ivc has user sub eval then

call UINIT(var_index, vcindex)

endif

Page 313: Cfd-Ace v2008.2 User Manual

User Subroutines

301

enddo

enddo

start simulation

User Subroutines User Defined Grid Deformation (UGRID)

The user defined grid generation routine gives you total access to modify the grid shape of any structured grid region. You cannot add or delete cells. This routine is especially useful for valve simulations and any other simulations which can be modeled with a stretching grid approach. You must set the location of each and every node in volumes that have user defined grid motion. Prototype

ugrid(iopt, zone_index)

Arguments INTEGER(int_p):: iopt, zone_index

Description This subroutine is called at the beginning of every time step and allows you to set the xyz location of all of the grid nodes in any deforming zone.

Use the get_value_corner_str_() and get_value_corner_unstr_zone() access routines to get the current node locations for structured and unstructured grids respectively.

Use the set_value_corner_str_() and set_value_corner_unstr_zone() access routines to set the new node locations for structured and unstructured grids respectively.

Activation To activate, set the deformation model option to Manual Remesh with User Sub (ugrid) function. These settings can be found on the Model Options [MO] panel under the Deformation tab.

Call Structure start simulation

read initial grid

do itime = 1, number of time steps

do ivc = 1, number of volume condition zones

if VC ivc has manual remesh set to user sub then

call UGRID(cell_type, zone_index)

endif

enddo

do iter = 1, number of iterations

process solution

enddo

enddo

end simulation

Page 314: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

302

User Subroutines User Defined Moving Solid Motion

Prototype u_moving_solid(iopt, vcindex)

Arguments INTEGER(int_p):: iopt, vcindex

Description This subroutine will be called for each volume condition that has it’s moving solid evaluation mode set to user defined. Use the set_speed_mvsolid() access routine to set the moving solid velocity components.

Activation To activate, select Trans (User Defined) or Rot (User Defined) as evaluation methods for Solid Movement. This can be done through CFD-ACE+ from the Volume Conditions (VC) panel: select the setting mode as Heat, then select the Moving Solid option. For solid movement select either Trans (User Defined) or Rot (User Defined) as evaluation methods.

Call Structure do ivc = 1, number of volume conditions

if Solid Movement for the VC has User Defined option

call u_moving_solid(iopt, ivc)

endif

enddo

User Subroutines URADIATION

A URADIATION user subroutine has been added to the P1 method in the radiation module. This user subroutine allows you to set the emission sink/source for any VC where the URADIATION user subroutine is activated. The URADIATION subroutine can be activated by selecting the Radiation option under the VC Setting Mode in CFD-ACE-GUI.

This routine is called on a cell-by-cell basis, i.e. CFD-ACE-SOLVER loops over all cells for each volume condition defined as URADIATION. The user access variable for setting the source term is 'RAD_EMMISION_SOURCE'. The variable index can be obtained using get_var_index() and the source term is set using set_value_one_cel(). Prototype

uradiation(iopt, var_index, cell_index, band_no)

Arguments INTEGER(int_p), INTENT(IN) :: iopt, var_index, cell_index, band_no

Description Purpose : set emission source term for each cell.

iopt : option for specifying mode of settings for radiation. Currently not used. This is for future use. Default value is 1.

var_index : Variable index of radiation variable.

cell_index : Active Cell index for which user need to set value.

band_no : For non gray radiation band_no is the current band number for which radidion Intensity is being solved. User can get total band number from get_radiation_band_info()

Page 315: Cfd-Ace v2008.2 User Manual

User Subroutines

303

This routine is called on for each Cell where user-defined radiation source terms are specified. The user has to specify source for each cell. User can use get_vc_index_from_cell(cell_index, vc_index, error) to get volume condition index.

One may use get_value_one_cell to obtain values of various dependent variables such as temperature, velocity, Volume etc. using cell index

Use the set_value_one_cell() to set the radiation emission source.

Activation To activate, select User Sub (uradiation) as the evaluation method to set the radiation source term for the P1 radiation model. This can be done through the CFD-ACE+ from the Volume Conditions [VC] page. Change the setting mode to Radiation and select Radiation Source check box.

Call Structure setup solution matrix for variable ivar

do ivc = 1, number of volume conditions

do cell = 1, ncells

call URADIATION(iopt, var_index, cell_index, band_no)

enddo

enddo

goto linear equation solver

User Subroutines Spray Subroutines

For all the spray related user subroutines, you can use following access routines to get the different properties and parameter values.

You can get the properties of the gas (cp, visc, cond, rdiff, mfinf, prdt, schm, lews, mach, mol_wt) using get_cur_gas_prop(). You can get the gas state variables (u, v, w, den, pres, tem) using get_cur_gas_state(). You can get drop properties (den, cp, hvap, psat, mfsurf) using get_cur_drop_prop(). You can get drop state variables (tem, dia, ndrp, x, y, z, u, v, w) using get_cur_drop_state(). You can get drop parameters (drag coef, reynolds, nusl, sherwood, spal) using get_cur_drop_ndparams(). The species index (sp_index) will be the index for the species and can be obtained using get_var_index(), where the variable is the species name.

The property routines (cp, den, psat, and hvap) need to be activated in the Database Manager if you want to write a user subroutine to evaluate these properties.

• spr_usr_bc(sp_index, parcel_index, bc_type, bc_cell, bc_face)

• spr_usr_cp(sp_index, phase_index)

• spr_usr_den(sp_index, phase_index)

• spr_usr_drag(sp_index, phase_index)

• spr_usr_end(iteration, time_step_no, time, global_dt) • spr_usr_engy(sp_index, parcel_index)

• spr_usr_hvap(sp_index, phase_index)

• spr_usr_mom(sp_index, parcel_index)

• spr_usr_mass(sp_index, parcel_index)

Page 316: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

304

• spr_usr_nusl(sp_index, phase_index)

• spr_usr_psat(sp_index, phase_index)

• spr_usr_sher(sp_index, phase_index)

• spr_usr_start(iteration, time_step_no, time, global_dt))

• spr_usr_tstep(sp_index, parcel_index)

SPR_USR_BC

Prototype spr_usr_bc(sp_index, parcel_index, bc_type, bc_cell, bc_face)

Arguments INTEGER(int_p):: sp_index

INTEGER(int_p):: parcel_index

INTEGER(int_p):: bc_type

INTEGER(int_p):: bc_cell

INTEGER(int_p):: bc_face

Description Processes information at the boundary. This subroutine could be used to perform some processing whenever a droplets hits a boundary. For example, using this routine, one could count the number of droplets hitting a certain boundary.

Activation To invoke this routine, select the user processing option in the spray boundary options on the MO −> Spray tab.

Call Structure do ipcl = 1, number of parcels

do j = 1, number of spray time steps

integrate spray equations

check if droplet hit a boundary

if the droplet hit a boundary and

if user processing is set for spray boundary then

call spr_usr_bc(sp_index, ipcl, bc_type,bc_cell, bc_face)

end if

end if

end do

end do

end time step loop

end parcel loop

Back to Top

Page 317: Cfd-Ace v2008.2 User Manual

User Subroutines

305

SPR_USR_CP

Prototype spr_usr_cp(sp_index, phase_index)

Arguments INTEGER(int_p):: sp_index

INTEGER(int_p):: phase_index

Description The subroutine is used to set the specific heat of the droplet phase. You may need to check the species index (sp_index) and phase index (phase_index) before setting the density of droplet. Temperature (temperature) can be used to calculate the specific heat. Set the cp using set_cur_drop_cp().

Activation To activate, set the User Defined option for Specific Heat in the Database Manager on the Thermal tab for the desired species..

Call Structure do ipcl = 1, number of parcels

get parcel species (sp_index) and phase (phase_index)

do j = 1, Number of Spray Time Steps

For the current drop state (temperature)

Evaluate drop properties

if drop cp is user defined

call spr_usr_cp(sp_index, phase_index)

end if

end do

end do

end spray time step loop

end parcel loop

Back to Top

SPR_USR_DEN

Prototype spr_usr_den(sp_index, phase_index)

Arguments INTEGER(int_p):: sp_index

INTEGER(int_p):: phase_index

Description This subroutine sets the density of droplet phase. One may need to check the species index (sp_index) and phase index (phase_index) before setting the density of the droplet. Temperature and pressure can be used to calculate the density. Set the density using set_cur_drop_density().

Activation

Page 318: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

306

To activate, set the User Defined option for Density in the Database Manager on the Physical tab for the desired species..

Call Structure do ipcl = 1, number of parcels

get parcel species (sp_index) and phase (phase_index)

do j = 1, Number of Spray Time Steps

For the current drop state (temperature)

Evaluate drop properties

if drop density is user defined

call spr_usr_den(sp_index, phase_index)

end if

end do

endo

end spray time step loop

end parcel loop

Back to Top

SPR_USR_DRAG

Prototype spr_usr_drag(sp_index, phase_index)

Arguments INTEGER(int_p):: sp_index

INTEGER(int_p):: phase_index

Description The subroutine sets the drag coefficient of the droplet phase. Set the drag coefficient using set_cur_drop_param_drag().

Activation To activate, set the User Defined option for Drag Coefficient on the MO −> Spray tab.

Call Structure do ipcl = 1, number of parcels

do j = 1, Number of Spray Time Steps

for the current drop state of Droplet

calculate properties

evaluate non-dimensional parameters

if drop drag coefficient is user defined

call spr_usr_drag(sp_index,phase_index)

end if

end spray time step loop

Page 319: Cfd-Ace v2008.2 User Manual

User Subroutines

307

end parcel loop

Back to Top

SPR_USR_END

Prototype spr_usr_end(iteration, time_step_no, time, global_dt)

Arguments INTEGER(int_p):: iteration

INTEGER(int_p):: time_step_no

REAL(real_p):: time

REAL(real_p):: global_dt

Outputs None

Description This subroutine performs post-processing at the end of the spray calculation (every iteration). For example, using this routine, one could monitor the spray source terms at a particular cell.

Activation To activate, select the At Spray End option in the User Access section on the MO −> Spray tab.

Call Structure do time_step = 1, number of global time steps

do iteration = 1, number of global iterations

solve gas phase equations

if spray model is on then

if At Spray Start option is User Access is set then

call spr_usr_start(iteration, time_step, time, global_dt)

end if

do spray trajectory calculations for all the parcels

if At Spray End option in User Access is set then

call spr_usr_end(iteration, time_step, time, global_dt)

end if

end do

end do

end do

end global iteration loop

end global time step loop (for transient only)

Back to Top

SPR_USR_ENGY

Page 320: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

308

Prototype spr_usr_engy(sp_index, parcel_index)

Arguments INTEGER(int_p):: sp_index

INTEGER(int_p):: parcel_index

Description The subroutine could be used to set source terms for the droplet phase energy equation. Units for the source term are J. Set the Energy source using set_cur_drop_energy_source().

Activation To activate, set the User Defined sources for the spray energy equation on the MO −> Spray tab. The heat option must be checked to have this option.

Call Structure do ipcl = 1, number of parcels

do j = 1, Number of Spray Time Steps

for the current drop state of droplet

evaluate properties

evaluate non-dimensional parameters

evaluate spray equation terms

if Energy sources are user defined

call spr_usr_engy(sp_index, ipcl)

end if

end do

end do

end spray time step loop

end parcel loop

Back to Top

SPR_USR_HVAP

Prototype spr_usr_hvap(sp_index, phase_index)

Arguments INTEGER(int_p):: sp_index

INTEGER(int_p):: phase_index

Description The subroutine is used to set the heat of vaporization of the droplet phase. You may need to check the species index (sp_index) and phase index (phase_index) before setting the density of droplet. Temperature (temperature) can be used to calculate the specific heat. Set the heat of vaporization hvap using set_cur_drop_hvap().

Activation To activate, set the User Defined option for Heat of Vaporization in the Database Manager on the Spray tab for the desired species.

Page 321: Cfd-Ace v2008.2 User Manual

User Subroutines

309

Call Structure do ipcl = 1, number of parcels

get parcel species (sp_index) and phase (phase_index)

do j = 1, Number of Spray Time Steps

For the current drop state (temperature)

Evaluate drop properties

if drop Heat of vaporization is user defined

call spr_usr_hvap(sp_index, phase_index)

end if

end do

end do

end spray time step loop

end parcel loop

Back to Top

SPR_USR_MOM

Prototype spr_usr_mom(sp_index, parcel_index)

Arguments INTEGER(int_p):: sp_index

INTEGER(int_p):: parcel_index

Description The subroutine could be used to set source terms to the droplet phase momentum equations. Units for the source term are m/s2. Set the momentum source using set_cur_drop_mom_source().

Activation To activate, set the User Defined sources for spray momentum equations on the MO −> Spray tab

Call Structure do ipcl = 1, number of parcels

do j = 1, Number of Spray Time Steps

for the current drop state of droplet

evaluate properties

evaluate non-dimensional parameters

evaluate spray equation terms

if momentum sources are user defined

call spr_usr_mom(sp_index, ipcl)

end if

end do

end do

Page 322: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

310

end spray time step loop

end parcel loop

Back to Top

SPR_USR_MASS

Prototype spr_usr_mass(sp_index, parcel_index)

Arguments INTEGER(int_p):: sp_index

INTEGER(int_p):: parcel_index

Description The subroutine could be used to set source terms for the droplet phase mass equation. Units for the source term are Kg/s. Set the mass equation source using set_cur_drop_mass_source()

Activation To activate, set the User Defined source for the spray mass equation on the MO −> Spray tab when the Heat Module is activated and the Evaporation option is activated.

Call Structure do ipcl = 1, number of parcels

do j = 1, Number of Spray Time Steps

for the current drop state of droplet

evaluate properties

evaluate non-dimensional parameters

evaluate spray equation terms

if mass sources are user defined

call spr_usr_mass(sp_index, ipcl)

end if

end do

end do

end spray time step loop

end parcel loop

Back to Top

SPR_USR_NUSL

Prototype spr_usr_nusl(sp_index, phase_index)

Arguments INTEGER(int_p):: sp_index

INTEGER(int_p):: phase_index

Description

Page 323: Cfd-Ace v2008.2 User Manual

User Subroutines

311

The subroutine could be used to set the Nusselt number of the droplet phase. Set the Nusselt number using set_cur_drop_param_nusl(nusl, error)

Activation To activate, set the User Defined option for Nusselt Number on the MO −> Spray tab when the Heat Module is activated and the Heat option is activated on the MO −> Spray tab.

Call Structure do ipcl = 1, number of parcels

do j = 1, Number of Spray Time Steps

for the current drop state of Droplet

calculate properties

evaluate non-dimensional parameters

if drop Nusselt Number is user defined

call spr_usr_nusl(sp_index,phase_index)

end if

end do

end do

end spray time step loop

end parcel loop

Back to Top

SPR_USR_PSAT

Prototype spr_usr_psat(sp_index, phase_index)

Arguments INTEGER(int_p):: sp_index

INTEGER(int_p):: phase_index

Description The subroutine sets the saturation pressure of droplet phase. You may need to check the species index (sp_index) and phase index (phase_index) before setting the density of droplet. Temperature (temperature) can be used to calculate the specific heat. Set the psat using set_cur_drop_psat().

Activation To activate, set the User Defined option for Saturation Pressure in the Database Manager on the Spray tab for the desired species.

Call Structure do ipcl = 1, number of parcels

get parcel species (sp_index) and phase (phase_index)

do j = 1, Number of Spray Time Steps

For the current drop state (temperature)

Evaluate drop properties

if drop saturation pressure is user defined

Page 324: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

312

call spr_usr_psat(sp_index, phase_index)

end if

end do

end do

end spray time step loop

end parcel loop

Back to Top

SPR_USR_SHER

Prototype spr_usr_sher(sp_index, phase_index)

Arguments INTEGER(int_p):: sp_index

INTEGER(int_p):: phase_index

Description The subroutine sets the Sherwood number of the droplet phase. This is needed only if evaporation is turned on. Set the Sherwood number using set_cur_drop_param_sher().

Activation To activate, set the User Defined option for Sherwood Number on the MO −> Spray tab when the Heat Module is activated and the Heat and Evaporation options are activated on the MO −> Spray tab.

Call Structure do ipcl = 1, number of parcels

do j = 1, Number of Spray Time Steps

for the current drop state of Droplet

calculate properties

evaluate non-dimensional parameters

if drop Sherwood Number is user defined

call spr_usr_sher(sp_index,phase_index)

end if

end do

end do

end spray time step loop

end parcel loop

Back to Top

SPR_USR_START

Prototype spr_usr_start(iteration, time_step_no, time, global_dt)

Page 325: Cfd-Ace v2008.2 User Manual

User Subroutines

313

Arguments INTEGER(int_p):: iteration

INTEGER(int_p):: time_step_no

REAL(real_p):: time

REAL(real_p):: global_dt

Description This subroutine enables you to perform initialization before spray calculations, at the start of the spray calculation (every iteration). For example, using this routine, one could monitor the spray source terms at a particular cell.

Activation To activate, select the At Spray Start option under the User Access section on the MO −> Spray tab.

Call Structure do time_step = 1, number of global time steps

do iteration = 1, number of global iterations

solve gas phase equations

if spray model is on then

if At Spray Start option is User Access is set then

call spr_usr_start(iteration, time_step, time, global_dt)

end if

do spray trajectory calculations for all the parcels

if At Spray End option in User Access is set then

call spr_usr_end(iteration, time_step, time, global_dt)

end if

end do

end do

end do

end global iteration loop

end global time step loop (for transient only)

Back to Top

SPR_USR_TSTEP

Prototype spr_usr_tstep(sp_index, parcel_index)

Arguments INTEGER(int_p):: sp_index

INTEGER(int_p):: parcel_index

Description

Page 326: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

314

The subroutine sets the time step for the droplet phase equations. The code calculates several time steps and the final time step will be selected as the minimum of all the time steps including the user specified time steps. Set the time step for spray using set_spray_dt().

Activation To activate, select the User Defined option on the SC −> Spray Tab.

Call Structure do ipcl = 1, number of parcels

based on initial conditions

estimate spray time steps for integrating each spray equation

if time step is user defined

call spr_usr_tstep(sp_index, ipcl)

end if

take the minimum of all the time steps

do j = 1, Number of Time Steps

integrate spray equations

evaluate next spray time step

evaluate spray equation terms

end do

end do

end time step loop

end parcel loop

Back to Top

User Shared Library/DLL

User Subroutines Building a User Shared Library/DLL

ESI CFD has changed the building of user subroutines. You no longer need to build an executable. Instead you create a Shared Library or DLL. CFD-ACE+ Flow solver opens this shared library whenever it requires. You need to specify the shared library or DLL name with or without file extension, (for example, libUserAce.so or libUserAce.DLL or libUserAce.sl) in the CFD-ACE+ RUN panel. The library name will be passed on to CFD-ACE-+ Flow Solver. If the user defined subroutines are not required for a problem, then you do not need to specify the name of the user shared library and CFD-ACE+ Flow solver does not even look for a shared library or DLL. In order to apply the user subroutine, you must compile a customized shared library which will be used by the Flow Solver when needed. This way, there is no need to change the name of the executable in the Preferences panel of CFD-ACE+. The instructions differ depending upon whether the software is installed on a UNIX or Windows platform.

From Version 2002, onwards, ESI CFD will be checking the compatibility of user subroutines, user access routines and their arguments, and user shared library/dll version numbers, compatible with flow solver or not. You need to rebuild the shared library/dll with latest build-userlib scripts. If you are using beta codes, then you need to use beta version of the scripts to build the shared library/dll. After this version, onwards, ESI CFD will support the backward compatibility but not forward compatibility.

Page 327: Cfd-Ace v2008.2 User Manual

User Subroutines

315

Compilers

The following table outlines the types of required compilers.

Platform Fortran Compiler

Windows XP/2000/NT on Intel or AMD (32-bit) Compaq Visual Fortran v6.2

Linux Red Hat 9.0+ on Intel or AMD (32-bit) NAGware v5.0

Linux Red Hat Enterprise Edition on Intel or AMD (32-bit) NAGware v5.0

SuSE Linux 8.0+ for AMD64 NAGware v5.0

HP-UX 11.0+ on PA-RISC (64-bit) HP Fortran Compiler v2.5.3

HP-UX 11.22+ on Itanium2 (64-bit) HP Fortran Compiler v2.8

SGI IRIX 6.5+ on MIPS (64-bit) MIPSpro Compiler v7.3.1.3m

SUN Solaris 8+ (64-bit) Sun Fortran 95 v7.1

SGI Altix on Itanium2 (64-bit) Intel Fortran Compiler v8.0

HP Linux on Intanium2 (64-bit) Intel Fortran Compiler v7.1

This section includes:

• Building a User Shared Library/DLL for UNIX

• Building a User Shared Library/DLL for Windows

User Shared Library-UNIX

User Subroutines UNIX Required Files

• build-userlib (shell script, available in $ESI_Software/ACE_SOLVER_2004/bin) • cfdrc_include (fortran include file should be in

$ESI_Software/ACE_SOLVER_2004/bin. This is an empty file for all UNIX machines.)

• FORTRAN source file (e.g., libUserAce.f written by the user). Use new and modified template, libUserAce.f

For IBM AIX platforms you need need two more files: UserAce.exp and UserAce.imp. These should be present in $ESI_Software/ACE_SOLVER_2004/bin. build-userlib automatically looks for these files at $ESI_Software/ACE_SOLVER_2004/bin.

Page 328: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

316

Use new and modified template, libUserAce.f present in $ESI_Software/ACE_SOLVER_2004/bin to write and edit your user subroutine. Look for the comments specific to UNIX and Windows machines.

See Also

Unix-Assumptions

Unix-Building User Shared Libraries

Unix-Running the Executable

Unix-Setting Environment Variables

User Subroutines UNIX-Assumptions

Assuming:

Present working directory: /usr/local/esi_cfd

FORTRAN source file: libUserAce.f

Executable name: CFD-ACE-SOLVER

See Also

Unix-Required Files

Unix-Building User Shared Libraries

Unix-Running the Executable

Unix-Setting Environment Variables

User Subroutines UNIX-Building User Shared Libraries

Build the shared library/object from the FORTRAN source file using build-userlib shell script with the following command:

build-userlib libUserAce

build-userlib always uses the name of the FORTRAN source file and adds the extension .so or .sl. This will build a shared library/object with the following name in the current working directory:

libUserAce.so

libUserACE.sl on HP-UX machines

For example, on HP-UX machines: /usr/local/esi_cfd/libUserAce.so/usr/local/esi_cfd/libUserAce.sl

See Also

Unix-Required Files

Unix-Assumptions

Unix-Running the Executable

Unix-Setting Environment Variables

Page 329: Cfd-Ace v2008.2 User Manual

User Subroutines

317

User Subroutines UNIX-Running the Executable

While setting up the problem, you need to specify the name of the user shared library (libUserAce.so) in the GUI. GUI writes this information into DTF file with the name as USER_SHARED_LIBRARY. Give only name of the user shared library under the Run/User Shared Library field in the GUI. This field should not include absolute nor relative path where user shared library is available.

Then run the executable from the command line:

CFD-ACE-SOLVER -dtf <model_name.DTF>

or

Click on Submit button in CFD-ACE-GUI.

NOTE: Make sure that step 1 is done before running the executable. CFD-ACE-SOLVER executable searches for the shared library/object in the following order.

1. The solver looks for the library in the present working directory.

2. If the solver does not find the shared library in the present working directory, the solver gives a warning message in <model_name.out> and then searches the path specified in the environment variable.

LD_LIBRARY_PATH on all UNIX machines

LIBPATH on IBM-AIX machine

SHLIB_PATH on HP-UX machines

3. If solver does not fine the library in the path specified by environment variable, then Executable stops by writing error message in to <model_name.out> file.

See Also

Unix-Required Files

Unix-Assumptions

Unix-Building User Shared Libraries

Unix-Setting Environment Variables

User Subroutines UNIX-Setting Environment Variable

If the user shared library/object is in /usr/local/esi_cfd. You can set the environment variable as shown below.

# for sunOS

# for cshell or tcsh shell

setenv LD_LIBRARY_PATH "/usr/local/esi_cfd:$LD_LIBRARY_PATH"

# for bourne shell or kshell set LD_LIBRARY_PATH = "/usr/local/esi_cfd:$LD_LIBRARY_PATH"

export LD_LIBRARY_PATH

# for OSF1 (DEC)

# for cshell or tcsh shell

setenv LD_LIBRARY_PATH "/usr/local/esi_cfd:$LD_LIBRARY_PATH"

Page 330: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

318

# for bourne shell or kshell

set LD_LIBRARY_PATH = "/usr/local/esi_cfd:$LD_LIBRARY_PATH"

export LD_LIBRARY_PATH

# for Linux

# for cshell or tcsh shell

setenv LD_LIBRARY_PATH "/usr/local/esi_cfd:$LD_LIBRARY_PATH"

# for bourne shell or kshell

set LD_LIBRARY_PATH = "/usr/local/esi_cfd:$LD_LIBRARY_PATH"

export LD_LIBRARY_PATH

# for sgi 6.5

# for cshell or tcsh shell

setenv LD_LIBRARY_PATH "/usr/local/esi_cfd:$LD_LIBRARY_PATH"

# for bourne shell or kshell

set LD_LIBRARY_PATH = "/usr/local/esi_cfd:$LD_LIBRARY_PATH"

export LD_LIBRARY_PATH

# for hp-ux 11.0

# for cshell or tcsh shell

setenv SHLIB_PATH "/usr/local/esi_cfd:$SHLIB_PATH"

# for bourne shell or kshell

set SHLIB_PATH = "/usr/local/esi_cfd:$SHLIB_PATH"

export SHLIB_PATH

# for IBM AIX

# for cshell or tcsh shell

setenv LIBPATH "/usr/local/esi_cfd:$LIBPATH"

# for bourne shell or kshell

set LIBPATH = "/usr/local/esi_cfd:$LIBPATH"

export LIBPATH

See Also

Unix-Required Files

Unix-Assumptions

Unix-Building User Shared Libraries

Page 331: Cfd-Ace v2008.2 User Manual

User Subroutines

319

Unix-Running the Executable

User Shared Library-Windows

User Subroutines Windows-Required Files

• build-userlib.bat (MS-DOS batch file to build userlib, available in $CFDRCDIR\bin)

• build-userlib.mak (should be in $CFDRCDIR\bin)

• cfdrc_include (fortran include file should be in $CFDRCDIR\bin)

• FORTRAN file cfdrc_access_calls.f (should be in $CFDRCDIR\bin) • FORTRAN source file libUserAce.f (written by the user)

Use the new and modified template, libUserAce.f that is found in your $CFDRCDIR\bin directory to write and edit your user subroutine. Look for the comments specific to UNIX and Windows machines.

One the user subroutine is written, compile and build the user shared library (.DLL file) using the build-userlib.bat batch script.

build-userlib.bat always looks in $CFDRCDIR\bin for the extra files, build-userlib.mak and cfdrc_access_calls.f

User Subroutines Windows-Assumptions

Present working directory: C:\esi_cfd

FORTRAN source file: libUserAce.f

Executable name: CFD-ACE-SOLVER.exe

User Subroutines Windows-Building User Dynamic Linked Library (DLL)

Build the DLL from the FORTRAN source file using build-userlib batch script with the following command. build-userlib.bat always looks in $ESI_Software/ACE_SOLVER_2004/bin for the extra files, build-userlib.mak and cfdrc_access_calls.f

build-userlib.bat libUserAce

build-userlib.bat always uses the name of the FORTRAN source file and adds the extension .dll. This will build a DLL with following name in the current working directory.

libUserAce.dll

For example: C:\esi_cfd\libUserAce.dll

User Subroutines Windows-Running the Executable

While setting up the problem, you need to specify the name of the user DLL (libUserAce.dll) in the GUI under the Run/User Shared Library field. GUI writes this information into DTF file with the name as USER_SHARED_LIBRARY. Give only name of the user DLL which should not include neither absolute nor relative path where user DLL is available.

Then run the executable from the command line

Page 332: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

320

CFD-ACE-SOLVER.exe -dtf model_name.DTF

or

Click on Submit button in CFD-ACE-GUI.

NOTE: Make sure that step 1 is done before running the executable.

CFD-ACE-SOLVER.exe executable Searches for the DLL in the following order. 1. The solver looks for the DLL in present working directory.

2. If the solver does not find the DLL in present working directory, the solver gives a warning message and then searches the path specified in the environment variable named PATH

3. If the solver does not find the library in the path specified by environment variable, then the Executable stops by writing an error message into <model_name.out> file.

User Subroutines Windows-Setting Environment Variable

For example, if your DLL is in C:\esi_cfd, you can set the environment variable called PATH as follows:

1. Go to Control Panel/System/Advanced tab.

2. Click on the environment variable named PATH.

3. Add the directory C:\esi_cfd to the path, using a semicolon (;) as separator.

4. Open a new MS-DOS prompt and run the code.

User Subroutines FAQ Why can't user subroutines be compiled on Linux AMD64?

The NAGWare compiler as installed does not work properly for building user subroutines for CFD-ACE+. To enable it to work properly you will need to contact NAGWare customer support and obtain the -fPIC versions of the following object files and libraries

quickfit.o

safefit.o

libf96.a

In a normal installation these files are located in the directory

/usr/local/lib/NAGWare

Which unit numbers (for writing files) are ok to use in user subroutines?

Numbers 100+ are ok to use.

Page 333: Cfd-Ace v2008.2 User Manual

321

Numerical Methods Numerical Methods Introduction The Numerical Methods feature yields a discrete solution of the field which is comprised of the values of the variables at the cell centers. The Partial Differential Equations (PDE’s) governing each module’s physics are presented in each module. A numerical method to solve these PDE’s consists of the discretization of the PDE’s on a computational grid, the formation of a set of algebraic equations, and the solution of the algebraic equations. Numerical Methods includes:

• Numerical Methods-Discretization

• Numerical Methods-Velocity-Pressure Coupling

• Numerical Methods-Boundary Conditions

• Numerical Methods-Solution Methods

• Numerical Methods-References

Numerical Methods-Discretization

Numerical Methods Discretization Introduction

To start the numerical solution process, discretization of the differential equations is introduced to produce a set of algebraic equations. In CFD-ACE+, the finite-volume approach is adopted due to its capability of conserving solution quantities. The details of the finite volume approach and the discretization methods are described in the following sections:

• Discretization-Finite Volume Method

• Discretization-Transient Term

• Discretization-Convection Term • Discretization-Diffusion Terms

• Discretization-Source Term Linearization

• Discretization-Finite Difference Equations

Numerical Methods Discretization-Finite Volume Method

The solution domain is divided into a number of cells known as control volumes. In the finite volume approach of CFD-ACE+, the governing equations are numerically integrated over each of these computational cells or control volumes. An example of one such control volume is shown.

Page 334: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

322

3D Computational Cell (Control Volume)

The geometric center of the control volume, which is denoted by P, is also often referred to as the cell center. CFD-ACE+ employs a co-located cell-centered variable arrangement, i. e. all dependent variables and material properties are stored at the cell center P. In other words, the average value of any quantity within a control volume is given by its value at the cell center.

Most of the governing equations can be expressed in the form of a generalized transport equation, equation 12-1:

(12-1)

This equation is also known as the generic conservation equation for a quantity φ. Integrating this equation over a control-volume cell, we have:

(12-2)

Numerical Methods Discretization-Transient Term

The transient term in equation 12-2 is integrated as follows:

(12-3)

Page 335: Cfd-Ace v2008.2 User Manual

Numerical Methods

323

where the superscript o denotes an older time, while no superscript denotes the current or the new time. The cell volume, represented by ϑ, may change with time (in particular when moving grids are used).

Numerical Methods-Discretization-Convection Term

Numerical Methods Discretization-Convection Term Introduction

The convection term is discretized as follows:

(12-4)

where subscript e denotes one of the faces of the cell in question, Ae is the area of face e, Ven

represent the velocity component in the direction that is normal to the face, Ce is thus the mass flux across the face. Evaluation of the mass flux, Ce, will be described later when the issue of velocity-pressure coupling is addressed. The evaluation of φ at control volume faces is described next.

For ease of illustration, let us consider a 2D control volume as shown. Because the solution variable φ is available only at the cell-centers, the cell-face values of φ need to be interpolated. Various interpolation schemes with varying levels of numerical accuracy and stability are in use today. In CFD-ACE+ you can choose from several popular schemes, each of which is illustrated below in the evaluation of φe, the value at face e.

This section includes:

• First-Order Upwind Scheme

• Central Difference Scheme • Second-Order Upwind Scheme

• Second-Order Upwind with Limiter

• Smart Scheme

• Third-Order Scheme

Page 336: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

324

2D Computational Cell (Control Volume)

Numerical Methods Discretization-Convection Term-First-Order Upwind Scheme

In this scheme, φe is taken to be the value of φ at the upstream grid point, i. e. φe equals either φP

or φE depending on the flow direction at cell face e. Mathematically, φ at this face can be expressed as:

(12-5)

As its name implies, this scheme has first-order accuracy and is one of the most stable schemes.

Numerical Methods Discretization-Convection Term-Central Difference Scheme

In the conventional second-order accurate central difference scheme, φe is evaluated by arithmetically averaging the values at cell centers P and E, assuming that φ varies linearly between the two centers:

(12-6)

where is the geometrical weighting function at face e.

It is well known that conventional central difference scheme may give rise to non-physical oscillations in the numerical solution. Moreover, most iterative methods tend to be unstable when central differencing is used to evaluate convection terms. For most problems, some damping (or artificial/numerical viscosity) is needed for stability. In CFD-ACE+, central difference scheme with damping is constructed:

Page 337: Cfd-Ace v2008.2 User Manual

Numerical Methods

325

(12-7)

where α is a blending factor that combines the central scheme with the first-order upwind scheme to produce a stable scheme.

The scheme represented by the preceding equation has an order of accuracy between 1 and 2. You may note that α= 0 yields the conventional second-order accurate central difference scheme, while α = 1 results in the first-order accurate upwind scheme.

Numerical Methods Discretization-Convection Term-Second-Order Upwind Scheme

The original idea of this scheme is to evaluate the cell face value by using linear interpolation of values at two upstream cells, instead of one. To implement this scheme in an unstructured grid system, quadrangle cells are treated differently from triangle cells in CFD-ACE+. With the index notation in figure 12-2, the second-order upwind scheme gives:

(12-8)

Again, a blending factor is used with this scheme:

(12-9)

Numerical Methods Discretization-Convection Term-Second-Order Upwind with Limiter

To achieve boundedness of the interpolation given by the second-order upwind scheme, the face value may be further limited to within the range of the surrounding cell center values. Such a scheme is also implemented in CFD-ACE+ (Barth and Jaspersen, 1989).

Numerical Methods Discretization-Convection Term-Smart Scheme

For the central difference scheme implemented in CFD-ACE+, the damping coefficient, i. e. the blending factor a, which you specify, is used throughout the flow domain. However, damping is needed only in certain limited regions with steep spatial variation of flow variables. In CFD-ACE+, a unique damping scheme, called the Smart scheme, is designed to adaptively calculate the damping coefficient depending on the local variation of φ (Gaskell and Lau, 1988). A new function known as the minimode limiter is defined as follows

(12-10)

Page 338: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

326

The Smart Scheme with adaptive damping can also be represented by defining damping factor as:

(12-11)

where re is a parameter defined to measure the variation of φ. It is convenient to introduce numerical subscripts for φ to represent the functional form of re. Let i-1, i, and i+1 denote the grid points B1, P, and E respectively (see figure).

(12-12)

Thus u is +1 or -1. The smart scheme reduces to the first-order upwind scheme when re < 0, to central difference scheme when re > 1, and to the second-order upwind scheme for 0<re<1.

Note that the third order scheme cannot be run in parallel.

Numerical Methods Discretization-Convection Term-Third-Order Scheme

A third-order scheme with limiters is available in CFD-ACE+ for accurate shock capturing in high-speed flows. This scheme is also represented by equation 12-7 but with different expressions for α,

(12-13)

where:

and

This scheme yields third-order accuracy.

Note that the third order scheme cannot be run in parallel

Numerical Methods Discretization-Diffusion Terms

The diffusion term is discretized as follows:

(12-14)

With the three unit vector defined in the figure we have:

Page 339: Cfd-Ace v2008.2 User Manual

Numerical Methods

327

(12-15)

the diffusion term becomes:

(12-16)

where:

(12-17)

(12-18)

where δP,E and δC2,C1 represent the distance between E and P, and C2 and C1, respectively.

Numerical Methods-Discretization-Source Term Linearization

Numerical Methods Discretization-Source Term Linearization

If the source term is a function of φ itself, it is linearized as

(12-19)

such that SP is negative. In general, both S p and SU can be functions of φ. They are evaluated

using the latest available value of φ, which is generally taken to be the value of φ at the end of previous iteration. The linearized source term is integrated over the control volume which results in:

(12-20)

where:

and .

For further details regarding source term linearization should refer to Patankar (1980).

See Also

Direct Specification of Source Terms

Page 340: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

328

Numerical Methods Discretization Direct Specification of Source Terms

Additional source terms can be added to the Right-Hand-Side (RHS) of the conservation equations for various dependent variables that are solved in CFD-ACE+ to model external sources or sinks. For example a mass source/sink is considered as an extra source term in the pressure correction equation, a heat source/sink is added to the enthalpy equation and an additional force is added to the momentum equation. CFD-ACE+ offers two options to implement these sources. For complex sources (usually dependent upon other variables), use the CFD-ACE+ user-subroutine functions. For simple sources (usually constant values) you can directly specify them in CFD-ACE+. In this section only the direct specification of sources will be addressed.

You can use direct specification of source term to fix the dependent variable itself at a specified value.

Sources are specified as volume conditions at selected regions of the computational domain. The specified sources are added to the standard source terms at each iteration of the calculation procedure in the following format:

(12-21)

where S(φ) is the value that you want assigned to the source term, and φ is the variable for which you would like to set the source. To specify a heat source, for example, φ would be the variable Enthalpy.

Coeff is the coefficient of the user-specified source term S(φ)

Value is the value of the dependent variable in S(φ)

The above defined format for specifying source terms may be used for three reasons:

1. To add a source term in implicit form (dependent on φ)

2. To add a source term in explicit form (independent of φ)

3. To fix φ at a specified value φ*

To achieve the first effect, choose values of coeff and value to reproduce the desired source.

To achieve the second effect, make the coeff small so that S does not depend on φ. If the desired source strength is S*, we set coeff to a small number ε, and value equal to S*/ε. Then the contribution to the source term from this specification is as follows:

(12-22)

To achieve the third effect, we must choose the coefficients such that the user-specified source dwarfs the other source terms on the right hand side of the governing equation. To fix the value of φ to φ*, set coeff to a large number (1/ε) and value to φ*. Then the contribution to the source term from the user-specified source is

(12-23)

So, if we consider the entire discretized finite difference equation, we have:

Page 341: Cfd-Ace v2008.2 User Manual

Numerical Methods

329

(12-24)

or, after collecting terms:

(12-25)

Now since 1/ε >>aP, and >> the governing equation reduces to ,

or which is what we set out to achieve. An example application of this last option is fixing the temperature in a range of cells to some value. In this case, we must actually compute the desired enthalpy, since CFD-ACE+ solves for the enthalpy (H), and not the temperature. Assuming a constant specific heat Cp, and a desired temperature T*, the desired enthalpy is H* = CpT* which value is then used to set the enthalpy.

The source term specified is the absolute source term for the cell (as opposed to per unit volume or mass). The units of Su for a variable phi will be equal to the units of mass flow rate (kg/sec) times the units for phi. For example, the units of Su for velocity (momentum source) will be [kg/sec][m/sec], or newtons, the units of Su for enthalpy (energy source) will be [kg/sec][J/kg] or watts, and the units of Su for a unitless variable, such as mass fraction will be simply [kg/sec].

Numerical Methods Discretization-Finite Difference Equations

If the numerically integrated transient, convection, diffusion and source terms are assembled together, it results in the following linear equation.

(12-26)

where the subscripts nb denote values at neighboring cells, anb are known as the link coefficients. For convenience, we use ap to represent ap-Sp in the following sections. This finite difference equation (PDE) is the discrete equivalent of the continuous flow transport equation we started with.

This FDE, in general, is nonlinear because the link coefficients themselves are functions of φP, φnb, etc. When an FDE is formulated for each computational cell, it results in a set of coupled nonlinear algebraic equations. No direct matrix inversion method is available to solve a set of nonlinear algebraic equations. Therefore, an iterative procedure is employed in CFD-ACE+ at every time step. A linear FDE is formed by evaluating the link coefficients with the values of φ available at the end of the previous iteration.

Numerical Methods-Velocity-Pressure Coupling

Numerical Methods Velocity-Pressure Coupling Introduction

The continuity equation, which governs mass conservation, requires special attention because it cannot be written in the form of the general convection-diffusion equation. It is used to determine the pressure field in the pressure-based method as employed in CFD-ACE+. This section includes:

• Continuity and Mass Evaluation

Page 342: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

330

• Pressure Correction and SIMPLEC Algorithm

Numerical MEthods Velocity-Pressure Coupling-Continuity and Mass Evaluation

The mass conservation equation can be written as:

(12-27)

Integrating the above equation over the cell in the figure, we have:

(12-28)

where Vne is the face-normal component of the velocity at face e, which is obtained by the inner

product of the velocity vector (u,v,w) and the face-normal unit vector (nx,ny,nz),

. (12-29)

Because the fluid density and velocities are available only at cell centers, their face values need to be interpolated from cell-center values. Linear interpolation de-couples the velocity and pressure fields giving rise to the well known checkerboard instability, in particular, for incompressible flows. In CFD-ACE+, the checkerboard problem is circumvented by following the method proposed by Rhie and Chow (1983) and later refined by Peric (1988). In this method, the cell-face mass flux is evaluated by averaging the momentum equation to the cell faces and relating the cell face velocity directly to the local pressure gradient Without going into the details of the derivations, the three Cartesian components at the center of face e are obtained as follows,

(12-30)

(12-31)

(12-32)

where is again the geometrical weighting function at face e and Ds are evaluated from link coefficients of momentum equations.

The density at the face may be estimated with any one of the differencing schemes described in online help. With the face values of both velocity and density obtained, the mass flux evaluation is completed.

Numerical Methods Velocity-Pressure Coupling-Pressure Correction and SIMPLEC Algorithm

Solutions of the three momentum equations yield the three Cartesian components of velocity. Even though pressure is an important flow variable, no governing PDE for pressure is presented. Pressure-based methods utilize the continuity equation to formulate an equation for pressure. In CFD-ACE+, the SIMPLEC scheme has been adopted. The basic framework of this method is briefly described below.

Page 343: Cfd-Ace v2008.2 User Manual

Numerical Methods

331

SIMPLEC stands for Semi-Implicit Method for Pressure-Linked Equations Consistent, and is an enhancement to the well known SIMPLE algorithm. In SIMPLEC, originally proposed by Van Doormal and Raithby (1984), an equation for pressure-correction is derived from the continuity equation. It is an inherently iterative method.

The finite-difference form of the x-momentum equation can be rewritten as

(12-33)

with the subscript P again indicating that the equation is written for cell center P. The pressure field should be provided to solve equation 12-33 for u. However, the pressure field is not known a priori. If the preceding equation is solved with a guessed pressure (or the latest available pressure in an iterative procedure) P*, it will yield velocity u* which satisfies the following equation

(12-34)

In general, u* will not satisfy continuity. The strategy is to find corrections to u* and P* so that an

improved solution can be obtained. Let and stand for the corrections.

(12-35)

(12-36)

An expression for can be obtained by subtracting equation 12-34 from equation 12-33:

(12-37)

Because our aim is to find an incrementally better solution, we will approximate by

giving us an expression for :

(12-38)

where:

(12-39)

Moreover, an expression for , the velocity correction at the face, is obtained by averaging from the cell-center values:

Page 344: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

332

(12-40)

Let us now define a mass flux as:

(12-41)

The mass conservation equation 12-28 is rewritten as:

(12-42)

If u* and ρ* is used to evaluate Ce and the resulting C*e will not satisfy the preceding equation. Let

represent the correction to C, i.e.

(12-43)

Equation 12-42 can be recast as:

(12-44)

Sm represents the mass correction or mass source in the control volume:

(12-45)

From equation 12-43, we have:

(12-46)

In deriving the preceding equation, terms containing products of primes have been neglected.

For incompressible flows is zero. For compressible flows is estimated as:

(12-47)

An equation of state is used to estimate . If the fluid is a perfect gas:

(12-48)

Page 345: Cfd-Ace v2008.2 User Manual

Numerical Methods

333

The density correction at the cell face , is estimated from and using the same

scheme used to estimate

The correction to face-normal velocity is obtained as:

(12-49)

With the face-normal velocity correction and the density correction thus expressed in terms of pressure correction, a pressure correction equation can be obtained from equation 12-44:

(12-50)

The SIMPLEC procedure can be summarized as follows: 1. Guess a pressure field P*.

2. Obtain u*, υ*, and w* by solving discretized momentum equation 12-34.

3. Evaluate C* from ρ*, u*, using the procedure outlined earlier in this section.

4. Evaluate mass source from equation 12-45.

5. Obtain by solving equation 12-50.

6. Use to correct the pressure and velocity fields using equation 12-36 and equation 12-35.

7. Solve the discretized equations for other flow variables such as enthalpy, turbulent quantities, scalars etc.

8. Go to step 2 and repeat the procedure until convergence is obtained.

Fractional Step Method (FTS)

Fast Time Stepping (FTS) is a new feature for efficient transient simulations. It speeds up practical flow simulations typically by factor of five. For flows with complex geometry, FTS speedup is even higher, can be orders of magnitude, as sharp corners and other high gradients in the geometry slows down the convergence of the current Standard Time Stepping (STS). FTS removes a great deal of this limitation.

FTS enhances the time stepping efficiency in two ways. First, by splitting the momentum equations and pressure equation, this has the effect of reducing non-linearity in the flow system. Second, in FTS the system matrixes of both momentum and pressure equations are constant in the course of iterations within a timestep. Only the right hand side of the matrix equation changes during the iterative process. These two main factors contribute to the fast convergence in each timestep.

The splitting of the flow system into momentum and pressure, introduces a splitting error. However, the FTS methods in CFD-ACE+ make sure that the splitting error is second order in time, which does not reduce the overall temporal accuracy when compared to the Standard Time Stepping (STS). Two methods are implemented in FTS that have second order splitting error in time, i.e. Fractional Step Method (FSM) and PISO Method. FSM is based on an approximate factorization algorithm, while PISO is a higher order extension of the SIMPLE algorithm.

The fact that FTS speedup relies on decoupling a system of equations into smaller subsystems in reducing the non-linearity implies that as the physics of the system get more complex, the greater the advantage of FTS compared to STS for transient simulations. The speedup is thus higher for three dimensional flows.

Page 346: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

334

The FTS in the current release of CFD-ACE+ has several limitations, which will be removed gradually in the course of its further development and enhancement. The FSM method is currently only applicable for incompressible flow and turbulence. The PISO method is still in its first order version, therefore not officially released yet, but can be activated through a DTF input and applicable for most physics the same way as the current Standard Time Stepping (STS).

DTF inputs are provided for FTS to allow for further tunings and experimenting beyond the essential CFD-ACE-GUI inputs. The idea is to minimize the DTF inputs in the future when the optimal FTS setting is established by user experiences.

The momentum equation for the second order fractional step method is given in the equation below:

(1)

where is the cross or explicit diffusion term. Rearranging yields

(2)

where

(3)

(4)

(5)

Momentum error due to splitting can be found by doing [(6) - [(7)+(8)+(9)] yielding:

Page 347: Cfd-Ace v2008.2 User Manual

Numerical Methods

335

(6)

Rearranging

(7)

Hence, the momentum error is second order.

The boundary conditions can be expressed as:

(8)

From (3) and (4), the fact that the boundary condition is second order is apparent:

(9)

Looping over the boundaries yields:

(10)

or

(11)

Numerical Methods Boundary Conditions The general treatment of boundary conditions in the CFD-ACE+ finite-volume equations is discussed in this section. A control cell adjacent to the west boundary of the calculation domain is shown.

Page 348: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

336

Computational Boundary Cell

A fictitious boundary node labeled B is shown. The finite-volume equation for node P will be constructed as:

(12-51)

coefficient is set to zero after the links to the boundary node are incorporated into the source term S in its linearized form,

(12-52)

All CFD-ACE+ boundary conditions are implemented in this way.

Fixed Value Boundary Condition

If the boundary value is fixed as φB, the source term is modified as:

(12-53)

(12-54)

Zero-Flux Boundary Conditions

At zero-flux boundaries, such as adiabatic walls for heat and symmetric boundaries for any scalar variables, the boundary link coefficients are simply set to zero without modifying source terms.

Page 349: Cfd-Ace v2008.2 User Manual

Numerical Methods

337

Numerical Methods-Solution Methods

Numerical Methods Solution Methods Introduction

CFD-ACE+ uses an iterative, segregated solution method wherein the equation sets for each variable are solved sequentially and repeatedly until a converged solution is obtained. In this chapter, the overall solution method is presented in flowchart form for the solution algorithm. Additional details of the solution procedure are also presented, namely under-relaxation, relevant details of the linear equation solvers. The Solution Methods section includes:

• Solution Methods-Solution Procedure

• Solution Methods-Under-Relaxation

• Solution Methods-Linear Equation Solvers

Numerical Methods Solution Methods-Solution Procedure

The overall solution procedure is shown below. You can specify the parameters that dictate how many times a procedure is repeated. These are the number of iterations (NITER), and, in the case of a transient simulation is simply repeated at each time step of a transient simulation. The number of iterations to be performed is dictated by the overall residual reduction desired. At each iteration the program calculates a residual for each variable, which is the sum of the absolute value of the residual for that variable at each computational cell. You want to see a five order of magnitude reduction in the residual before declaring that convergence has been obtained.

Page 350: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

338

Solution Flowchart

Numerical Methods Solution Methods-Under Relaxation

Under relaxation of dependent and auxiliary variables is used to constrain the change in the variable from iteration to iteration in order to prevent divergence of the solution procedure. For all dependent variable, this is done by modifying equation 12-26 in the following way:

Page 351: Cfd-Ace v2008.2 User Manual

Numerical Methods

339

(12-55)

where is the current value of . At convergence, when there is no change in from one iteration to the next, the equation is not modified at all by the addition of these terms. Prior to

convergence, however, they provide a link between the new value of and the current iteration

value . The larger this link or the value of I the stronger the under-relaxation.

Reasonable values for I can be deduced if we think of it as being analogous to the transient term link coefficient

(12-56)

where is a false time step. If I is equal to 1.0, then is comparable to the maximum time step allowed in an explicit time-marching solution scheme. Since CFD-ACE+ uses an implicit solution scheme it is possible to use larger false time steps and, hence, smaller values of I. Values of I in the range of 0.2 to 0.8 are common. In very difficult problems it may be necessary to use values of I in excess of 1.0.

The auxiliary variables ρ, P, T and μ can be under-relaxed by specifying a linear under-relaxation factor, λ, which is applied in the following way:

(12-57)

where θnew is the updated value of the auxiliary variable, θ is the value of that auxiliary variable that would be calculated with no under-relaxation and θ* is the current iteration value of the auxiliary variable.

Numerical Methods-Solution Methods-Linear Equation Solvers

Numerical Methods Solution Methods-Linear Equation Solvers Introduction

Once the equation set for a variable has been assembled it must be solved. Iterative equation solvers are preferred for this task because they are more economical in terms of memory requirements than are direct solvers. CFD-ACE+ contains the following linear equation solvers:

• Conjugate Gradient Squared (CGS) Solver

• Algebraic MultiGrid (AMG) Solver Numerical Methods Solution Methods-Linear Equation Solvers-Conjugate Gradient Squared (CGS) +Preconditioning Solver

Conjugate gradient type solvers have many advantages over classic iterative methods such as suitability for vectorization and the lack of user-specified parameters. The CGS algorithm has been incorporated into the CFD-ACE+ program. The CGS algorithm applied to the system A φ = S is expressed as follows:

Initialization (n = 0)

Page 352: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

340

(12-58)

nth sweep (n > 0)

(12-59)

where rn+1 is the residual at the nth sweep.

The convergence rate of the above CGS solver depends on the spectral radius of the coefficient matrix and can be effectively accelerated by preconditioning the system. This preconditioning is

accomplished by transforming the system A to , where P is a preconditioning matrix which approximates A. Incomplete Cholesky decomposition is used as a pre-conditioner in CFD-ACE+. See Saad (1996) for details.

See Also

Algebraic MultiGrid (AMG) Solver

Numerical Methods Solution Methods-Linear Equation Solvers-Algebraic Multi-Grid (AMG) Solver

Multigrid approach offers two major advantages over other iterative methods including the CGS solvers discussed above: (a). the CPU time only increase in proportion to the number of unknowns in the equations; (b). faster convergence particularly for fully-unstructured meshes.

The basic idea of a multi-grid solution is to use a hierarchy of grids, from fine to coarse, to solve a set of equations, with each grid being particularly effective for removing errors of wavelength characteristic of the mesh spacing on that grid. The solution method can be best illustrated for a two-grid system:

• On the fine grid (original grid) obtain residual after performing few iterations

• Perform iterations on the coarse grid to obtain corrections, with the fine-grid residual being imposed as a source term

• Interpolate the corrections to the fine grid and update the fine grid solution

Page 353: Cfd-Ace v2008.2 User Manual

Numerical Methods

341

• Repeat the entire procedure until the residual is reduced to the desired level

There are two primary types of multi-grid methods, geometric and algebraic multi-grid, respectively. In CFD-ACE+ the latter method is adopted because it uses only the equation matrix itself (not the geometry) to generate the coarse grids. For details of this method, refer to Lonsdale (1993).

Numerical Methods References Barth, T.J., and Jespersen, D.C., "The Design and Application of Upwind Schemes on

Unstructured Meshes." 27th Aerospace Sciences Meeting and Exhibit, Reno, Nevada, AIAA-89-0366, 1989.

Gaskell, P.H., and Lau, A.K.C., "Curvature-Compensated Connective Transport: SMART, a New Boundedness Preserving Transport Algorithm." International Journal for Numerical Methods in Fluids, vol. 8, pp. 617-641, 1988.

Lonsdale, "An algebraic multigrid solver for the Navier-Stokes equations on unstructured meshes." Int. J. Num. Meth. Heat Fluid Flow, Vol. 3, pp. 3-14, 1993.

Patankar, S.V., "Numerical heat transfer and fluid flow." McGraw-Hill, New York, 1980. Peric, M., Kessler, R., and Scheuerer, G., "Comparison of finite-volume numerical methods with

staggered and collocated grids." Computers and Fluids, Vol. 16, No. 4, pp. 389-403, 1988. Rhie, C.M. and Chow, W.L., "Numerical study of the turbulent flow past an airfoil with trailing

edge separation." AIAA Journal, Vol. 21, No. 11, pp. 1525-1532, 1983. Saad, Y., "Iterative Methods for Sparse Linear Systems." PWS, Boston, 1996. Van doormaal, J. P., and Raithby., G. D., "Enhancements of the SIMPLE Method for Predicting

Incompressible Fluid Flows." Numer. Heat Transfer, 7, pp. 147-163, 1984.

Page 354: Cfd-Ace v2008.2 User Manual
Page 355: Cfd-Ace v2008.2 User Manual

343

Mixing Plane Mixing Plane Introduction The Mixing Plane feature models turbo-machinery blade rows in a multistage environment by deploying a standard 3D Navier Stokes solver on a number of blade rows. The principal assumption being that the flow is steady relative to each blade row individually and that the rows can communicate via inter-row mixing planes. These mixing planes introduce circumferential averaging of flow properties but preserve quit general radial variations.

The mixing plane concept was first introduced by Dawes[1] and has been used in the turbo machinery community (Singh, 1995). A paper on modeling of torque converters with the present formulation has been presented by the developers and customers at the SAE International Congress (Shin, 1999). The Mixing Plane section includes:

• Mixing Plane-Applications

• Mixing Plane-Limitations

• Mixing Plane-Implementation • Mixing Plane-References

Mixing Plane Applications Mixing Plane is used in modeling/analysis of various turbo machinery devices. Since the method reduces an inherently transient system to a series of steady state units separated by mixing planes, it reduces modeling/analysis time dramatically. Various uses of mixing planes include:

• Modeling of Torque Convertors

• Study of rotor/stator interaction in multiple row turbine/compressor sections

Mixing Plane Theory In progress.

Mixing Plane Limitations • The Mixing plane cannot be used with any module other than flow, turbulence and

heat • Mixing plane formulation works only with structured grids

• The grid in the circumferential direction should be circular and radii of the corresponding grid lines should match exactly

• Mixing plane does not work in the parallel mode • Present formulation of the mixing plane works only with incompressible flow

• Total number of pairs of mixing planes boundary conditions allowed is 9

Mixing Plane Implementation The Implementation section describes model setup for simulation with CFD-ACE+ using the mixing planes. Usually mixing planes separate a rotating domain from a stationary domain or two rotating domains that are rotating at different speeds. All flow data is circumferentially averaged at the boundaries separating these domains. These boundaries are called mixing planes. Mixing planes appear in pairs. One in each domain as defined above.

Page 356: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

344

Model Setup and Solution

The Pair of Mixing Plane boundaries are identified by their names. CFD-ACE+ provides the inputs required for the set up of mixing plane boundaries. Setting up the problem:

Frame rotation specification

Mixing plane problems will have different blade stages rotating at different speeds, and/or are stationary. To impose different rotational speeds:

1. Use the Frame (VC Based) option for rotation in the MO panel.

2. Specification of frame rotation is then done by selecting the rotation option in VC panel. For rotating frames, turn on rotation and then input (x0,y0,z0) and (wx,wy,wz) for the domain. One can group domains rotating at the same speed and assign the rotational speed.

Boundary Condition Specification

Currently the mixing plane boundaries are identified through the name of the boundary patch. A mixing plane has two boundary patches (or patch groups) associated with it. One patch is upstream of the mixing plane, and the other is 'downstream' of the mixing plane. The up/down stream orientation is determines based on the know flow direction through the interface.

To specify a complete mixing plane boundary: 1. Name the upstream boundary patch (or each patch in a group if there is more than one patch in the boundary)

MIXPUP_number; where number refers to the mixing plane number. Currently a single digit number is supported, so up to 9 mixing planes can be handled. The boundary condition type must be outlet with fixed pressure at the MIXPUP boundary. The parameter number should start at 1.

2. Name the downstream boundary patch (or all patches in a group); MIXPDN_number. Here number refers to the mixing plane number. For a given mixing plane pair, the parameter number will obviously be the same in the upstream and downstream mixing plane boundary specifications. This boundary must be of the type inlet with fixed vel. (Cartesian).

Additional Input

A text file named axis.dat must be included in the directory where the DTF file is stored. This file has additional data that will be moved to the GUI later on. The file contains five lines of data as described below:

1.0 0.0 0.0

0.0 0.0 0.0

1 -0.0228 0.0136 0.09

10.0

1

Description of the Parameters in Each Line

First line gives the direction cosines of the axis of rotation. Three real numbers should be specified. No format restrictions. These are simply the x, y and z components of a unit vector along the axis of rotation. Thus, if Cartesian X is the axis of rotation, the direction cosines will be (1.0, 0.0, 0.0).

Second line contains x0,y0,z0 coordinates of a point on the axis of rotation (similar to the frame rotation specification). This can be any format.

Third line contains four parameters that are used to set up a reference point for pressure. This is needed for problems where there are no explicit pressure levels specified anywhere in the flow field.

Page 357: Cfd-Ace v2008.2 User Manual

Mixing Plane

345

The first parameter is an integer flag, which can be 0 or 1. If the flag is 0, the remaining parameters in this line are ignored. This flag should be set to 0 if the flow problem contains a specified pressure boundary, other than those in the mixing plane. If the flow problem has no specified pressure exit boundaries other than the mixing planes (e.g. torque converter), the flag should be set to 1. The next three numbers then provide the approximate coordinates of a point in the flow field (xref,yref,zref) where the reference pressure is to be set to zero. CFD-ACE+ then searches for the cell closest to the specified reference coordinates.

Fourth line contains a velocity value that will be used to initialize the velocity field. Initialization of the velocities is important in mixing plane formulation, to ensure proper flow direction through the mixing plane. The specified value is taken as the grid-aligned velocity in the coordinate direction of the flow in the mixing plane. CFD-ACE+ then internally resolves the velocity in appropriate components using local grid metrics. The initial velocities specified through the user interface are overwritten.

Fifth Line contains an integer variable that specifies the iteration interval for updating and data transfer across the mixing plane interface. Default/recommended value is 1, i.e. the mixing plane data exchange will be done at every iteration.

Special Instructions

There are no special requirements for running the mixing plane. Currently the mixing plane formulation can handle incompressible turbulent flow.

One recommendation is to tighten the linear solver criteria: we recommend the solver criteria for velocities and pressure to be below 1.e-6, (in the SC panel under solvers button)

Mixing Plane References Dawes, W. N., "Toward Improved Throughflow Capability: The Use of Three-Dimensional

Viscous Flow Solvers in a Multi-Stage Environment." Journal of Turbo machinery, Vol. 114 pp 8-17.

Shin, S., Chang, H., and Athavale, M., "Numerical Investigation of the pump flow in an automotive torque convertor." 1999 Transmission and Driveline Systems Symposium, March 1-4, 1999, ISSN0148-7191.

Singh, G., Walker, P. J., and Haller, B. R., "Development of Three-Dimensional Stage viscous time marching method for optimization of short height stages, 1st European Conference on Turbo machinery-Fluid Dynamics and Thermodynamic Aspects.” Erlangen, 1-3 March 1995.

Page 358: Cfd-Ace v2008.2 User Manual
Page 359: Cfd-Ace v2008.2 User Manual

347

Filament Model Filament Model Introduction Engineering problems frequently contain embedded objects or components that are predominantly one-dimensional e.g., long and slender with transverse length scales that are much smaller than the isotropic length scales of the multi-dimensional space in which the objects are embedded. Those objects are called filaments. Examples include micro-channels, in fluidic devices, optical or electrical leads, resistive electric micro-heaters, or conducting paths in micro-chips.

Conventional numerical simulation on a domain containing such disparate length scales requires simultaneous grid of small geometrical features in an otherwise large-scale domain. The main challenge is difficulty in mesh generation caused by the large differences in scale length. This can unnecessarily increase the total number of cells by several orders of magnitude. If the number of such small features is large, the gridding as all as computational process can become prohibitive.

The Filament Model meshes and simulates domains with multiple length scales and dispersed topologies. It provides the framework for modeling one-dimensional devices and components embedded in multi-dimensional spaces. Its primary characteristic is that one-dimensional and multi-dimensional objects are meshed completely independent of each other without regard to their relative location or alignment and are subsequently combined into a single, unified composite mesh. The coupling between the different domains is fully automated through exchange of source terms between these domains of different dimensions.

During the simulation, physical phenomena such as fluid flow and heat transfer are solved separately in the filament and background, but they interact with each other through the change of the source of mass, momentum, energy, etc. The source terms are evaluated locally on a cell-by-cell basis, depending on the solution values in these domains and the manner in which the one-dimensional grids intersect with the multi-dimensional grids. The Filament Model section includes:

• Filament Model-Applications • Filament Model-Limitations

• Filament Model-Implementation

• Filament Model-Frequently Asked Questions

Filament Model Applications Engineering designs and natural entities frequently contain embedded objects or components that are predominantly one-dimensional i.e., long and slender with transverse length scales that much smaller than the isotropic length scales of the multi-dimensional space in which the objects are embedded. Examples include:

• Micro channels in fluid devices that exchange mass, momentum and heat

• Optical or electric leads which exchange heat sources • Resistive electric micro heaters

• High density wire bonds in packages

• Wave guides and antennas in open spaces

• Modeling of resistive heater coils in baths, heaters, blowers etc.

• Coils used to heat plasmas inductively

• Fluid channels in biomedical such as blood vessels

Page 360: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

348

• HVAC pipe systems

Page 361: Cfd-Ace v2008.2 User Manual

Filament Model

349

Heating Element in Cross Flow Model

Electromagnetic Sources from a Coil Model

Capillary Electrophoresis Model

Page 362: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

350

Blood Vessel Model with Grid

Drug Release Through Blood Vessel Model

Filament Model Limitations • The Filament Model can interact with only part of the modules in CFD-ACE+,

including flow, heat, magnetic, and partial support for chemistry modules • The filament domain boundaries cannot be set up as cyclic boundaries

• The model must be built in meters. Scaling cannot be used.

Page 363: Cfd-Ace v2008.2 User Manual

Filament Model

351

Filament Model Implementation The Implementation section describes how to setup a model for simulation using the Filament Model. Filaments are defined as slender, flexible thread-like objects. The thread-like quality implies that the ratio of transverse to axial dimensions is small, and the filament can be gridded with a single cell in the transverse direction. The filaments are 3D structures represented as a length-wise polyhedral mesh. The filaments are embedded in a surrounding macroscopic domain or they can join several different domains. In this approach, the filaments occupy a small volume relative to the computational cells of the surrounding domain. This is an assumption used to derive the model's calculating interaction source terms between the filaments and the surrounding domains.

Most systems with filament modules have either multi-dimensional grids or filament grids. The multi-dimensional grids are created the usual way (CFD-GEOM, CFD-Viscart, CFD-Micromesh, CFD-Toolkit). Once the multi-dimensional grid is in the DTF format, you can use CFD-Toolkit to add any number of domains to be modelled as filaments into the DTF file. CFD-Toolkit enables you to add a series of filament grids into the DTF file using its interface and a flexible ASCII file. Once the DTF file is ready, you can set up the properties, boundary conditions, and volume conditions. The filament domains will appear in CFD-ACE+ like any other domain. For more information regarding the use of the Filament interface, see CFD-Toolkit.

To use the Filament Model: 1. Create a background grid using CFD-GEOM and save the grid in a DTF format.

2. Generate a text filament path data file.

3. Create a filament grid and save it together with the background grid in a single DTF file.

4. With the CFD-ACE+ Filament Model:

• Import the background grid DTF file.

• Import the Text filament path data file. • Generate the filament grid.

• Save the filament grid, background grid, and filament information as a single DTF file.

Model Setup and Solution

CFD-ACE+ provides the inputs required for the filament domain and the multi-dimensional domain.

Filament Model Input File Format A filament is defined as a Nodes group connected by an Edges group. Other geometry or physical values can be associated with each node or each edge. For example, the size (radius) of a filament is assigned to the node, while the number of subsections is assigned to the edge. In general, a filament is assumed to have a circular cross-section. In grid generation, the cross-section circle will be represented as a polygon based on the number of side faces you have specified.

CFD-Toolkit uses the following filament path data: Number_Of_Nodes Number_Of_Edges Number_Of_Side_Faces Maximum_Cell_Length

X_Coordinate Y_Coordinate Z_Coordinate Radius

X_Coordinate Y_Coordinate Z_Coordinate Radius

.

.

.

Page 364: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

352

(repeat for number of nodes) Node1_Of_Edge Node2_Of_Edge Group_Number Number_Of_Sub-Section

Node1_Of_Edge Node2_Of_Edge Group_Number Number_Of_Sub-Section

.

.

.

(repeat for number of edges)

where, the Maximum_Cell_Length defines how many subsections for each edge need to be generated, if you have not explicitly specified. The Node1_Of_Edge and Node2_Of_Edge used in the edge definition are based on the order of the nodes listed in the node section. Note that the node numbers start from zero. The Number_Of_Sub-Section determines how many subsections (or how many cells) need to be generated for each edge. If Number_Of_Sub_Section is zero, it will automatically be calculated based on the Maximum_Cell_Length.

The following is an example: 6 6 8 0.8

0 0 0 0.1

0 1 0 0.1

0.5 1.5 0 0.1

-0.5 1.5 0 0.1

0 2 0 0.1

0 3 0 0.2

0 1 1 1

1 2 1 1

1 3 1 1

2 4 1 0

3 4 1 2

4.. 5.. 1.. 0

From the input file we can get the following information:

• From the first line of input, we know this filament has 6 nodes, 6 edges, 8 side faces, and the maximum length of each filament cell is 0.8.

• From lines 2-7, we know the coordinates and radius of each node: o First node (node number 0); at (0,0,0) with radius as 0.1 meter o Second node (node number 1); at (0,1,0) with radius as 0.1 meter o . . .

• From lines 8-13, we know how those nodes are connected: o First edge; connect node 0 and node 1, in group 1, and has 1 subsection o Second edge; connect node 1 and node 2, in group 1 and has 1 subsection

Filament Model Frequently Asked Questions How does the solver know which domain is to be treated as a filament module?

Page 365: Cfd-Ace v2008.2 User Manual

Filament Model

353

The interface in CFD-Toolkit adds information in the DTF file regarding the connectivity and the information regarding solution using a filament module. So all domains added via the interface in CFD-Toolkit automatically become filaments. How do I setup boundary conditions for filaments?

The filament boundary can be set to any boundary type in CFD-ACE+. However, the outside surface should be set as an adiabatic wall, even though there is supposed to be heat exchanged through that surface. The heat exchange is calculated using filament heat transfer, and not the boundary condition of the surface. Setting side surface boundary conditions to a different type may product incorrect results.

Page 366: Cfd-Ace v2008.2 User Manual
Page 367: Cfd-Ace v2008.2 User Manual

355

Applications: Electrokinetics Electrokinetics Introduction CFD-ACE+ solves three different types of electrokinetic transport phenomena: electroosmosis, electrophoresis, and dielectrophoresis. The Electrokinetics module describes the theory and implementation details for simulating electroosmotic flow and electrophoretic transport.

Electroosmotic Flow

Recent advances in microfabrication technologies, coupled with the demand for high throughput screening of samples in medical, pharmaceutical and defense applications have spurred the growth of miniaturized lab-on-a-chip systems. Electrokinetic flows, popularly known as EOF, are widely used as a mechanism for analyte transport and mixing in many of these biological and chemical analysis systems. EOF results from the body forces applied to the electrical double layer when they are subjected to an external electric field [1]. The double-layer is formed at the solid-liquid interface due to the electrostatic interaction between the surface charges and charged ions in the liquid electrolyte. This occurs in commonly used materials, such as silicon, glass, polymeric materials, etc., when they are brought in contact with a polar medium [2]. This layer is normally characterized by a zeta potential (z).

Electrophoresis

This is a phenomenon of movement of charged particles under the influence of externally imposed electric field. This mode of transport has many applications in chemical and biomedical engineering, most notably in molecular separation, electrokinetic transport and biochip/bioMEMS design.

The Electrokinetics section includes:

• Electrokinetics-Theory

• Electrokinetics-Implementation

• Electrokinetics-Future Work

• Electrokinetics-Frequently Asked Questions • Electrokinetics-References

Electrokinetics Features CFD-ACE+ supports modeling of EOF via specifying both electroosmotic mobility (wEOF) in the units of m2V-1s-1 and zeta potential (ζ) in the units of V. The relationship between electroosmotic mobility and associated zeta potential is given by:

(15-1)

Page 368: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

356

where ε and μ are the electrical permittivity and dynamic viscosity of the buffer (electrolyte) solution, respectively. Besides specifying constant values for these properties, you can write your own subroutines to specify any functional forms or variations. Details on how to access these properties and write a subroutine are explained in User Subroutines. Since the distribution of the zeta potential and the body force it exerts on the bulk flow is computed analytically, there is no need to grid the double layer during modeling. To model electrophoretic motion of the charged particles, you must enter the electroosmotic mobility (ω) in the units of m2V-1s-1 This can be specified as a constant value, user defined, or computed from diffusivity using Nernst-Einstein relation.

Electrokinetics Limitations The electrokinetic transport models have following limitations:

• EOF and electrophoretic transport in concentrated electrolyte solution is not supported

• The hydrodynamic interaction between charged particles is weakly coupled.

• The double layer is assumed thin compared to the system length scale (< ~5%), so that double layer distortion and relaxation are neglected.

• The double layer is homogeneous and the polarization is neglected. In other words, the ion transport within the diffuse double layer is not modeled.

• The charged particles experiencing electrophoresis are assumed small so that the fluid flow induced by the double layer on each charged particle is neglected.

• Only structured grids are supported for electrophoresis cases. The artificial diffusion/disperion becomes significant due to the non-orthogonality of the grid if unstructured grids are used.

Electrokinetics Theory Electroosmotic flow (EOF) refers to the bulk movement of an aqueous solution past a stationary solid surface due to an externally applied electric field. This requires the existence of a charged double-layer at solid-liquid interface. The EOF is dominant in the micron-sized channels and results in a flat velocity profile (as opposed to a parabolic laminar flow in a pressure-driven flow) across the cross-section. The following assumptions are also made in the formulation of the mathematical model for the system.

• The fluid is assumed Newtonian, incompressible and dilute • The double layer is extremely thin so that double layer relaxation and distortion are

neglected (ion convection effects neglected).

The governing equations for the electrokinetic fluid flow are the conservation equations for mass (continuity equation) and momentum (Navier-Stokes equations):

(15-2)

(15-3)

Page 369: Cfd-Ace v2008.2 User Manual

Applications: Electrokinetics

357

where is the velocity vector, is the gradient operator, μ is the dynamic viscosity of the electrolyte solution, κ is the inverse of Debye-Huckel thickness, ζ is the zeta potential and φ is the externally imposed electric potential. The last term arises due to the presence of the electric double layer and is a measure of electroosmotic forces. In a typical system, you need to solve for the potential distribution within the thin electric double layer to compute this source terms. In this regard, CFD-ACE+ uses the linearized Poisson-Bolzmann equation to compute appropriate source terms analytically.

The electric potential is computed by solving the Poisson Equation:

(15-4)

where εr is the relative permittivity, F is Faraday constant and ε0 is permittivity of free space. To model electrophoretic transport of charged analytes, the equations governing advection, diffusion and electromigration in an electric field are solved. The conservation equation for given analyte “i” is expressed as:

(15-5)

where the flux vector Ji is given by:

(15-6)

In the above equation ci is the concentration (M), Di is the diffusion coefficient (m2/s), zi is the valence and ωi is the electrophoretic mobility (m2V-1s-1) of ith specie. V is the velocity vector (m/s) and Φ is the externally imposed electric potential (Volt).

The next step is to calculate the potential distribution due to externally imposed electric field. In CFD-ACE+, this is accomplished by solving the DC conduction equation (Equation 7):

(15-7)

Where F is the Faraday constant. The electric current flux density consists of both conducting and diffusive contributions. Since the electrolyte is assumed dilute and the electric conductivity is calculated by (Equation 08):

(15-8)

Page 370: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

358

CFD-ACE+ supports several boundary conditions in solving the above system of governing equations. You can specify Dirichilet or Neumann or combined type boundary conditions for the analytes. User subroutines enable you to input any functional form. Current, potential, and user-defined boundary conditions are supported in the electric module. Details can be found in Electric Module.

Electrokinetics Implementation In the CFD-ACE+, simulations of electrokinetic problems are invoked by combining several modules:

Problem Type and Related Modules

Problem Type CFD-ACE+ Modules Description

Electroosmosis Flow+Electric Charged/neutral Species

Electrophoresis Flow+Chemistry+Electric Charged species

The entire set of governing equations is solved by a finite volume method. For EOF simulations, an analytical method is employed to compute the zeta potential and appropriate body forces exerted on the bulk fluid. Therefore you are not required to grid the double layer. The thickness of the double layer should be very small (< 5% of system length scale) and a default value of 10-8 m is set in the user interface.

Electroosmosis

To simulate electroosmotic flow (EOF) problem, you must activate both the Flow and Electric modules. The Chemistry module will be activated only if studying transport of charged/neutral analytes under EOF is required.

Page 371: Cfd-Ace v2008.2 User Manual

Applications: Electrokinetics

359

PT Panel - Electroosmosis

The EOF mobility or zeta potential is specified in BC panel, under Electric tab.

Page 372: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

360

BC Panel - Electroosmosis

Electrophoresis

To activate electrophoresis, the Chemistry, Flow, and Electric modules must be activated.

In some electrochemical problems, the chemical reaction among species as well as electrode surface reaction may take place. In CFD-ACE+, these reactions are implemented in a standard way described in the Chemistry Module-Implementation-Model Options-Chem-Liquid Phase. For a specialized reaction, CFD-ACE+ enables you to include your own subroutines into the solver using user-supplied subroutines.

You can examine the results with CFD-VIEW, a post-processing tool in CFD-ACE+.

Electrokinetics Future Work In the future, possible extension for electrokinetic application may be focused on, but not limited to:

• Electrokinetic transport in porous media (membranes, gels, etc). • Modeling of electrothermal flows.

• Electrokinetic transport in concentrated electrolyte systems.

Page 373: Cfd-Ace v2008.2 User Manual

Applications: Electrokinetics

361

• Non net electroneutrality solver to compute potential field (This will be used in situations where electroneutrality condition is violated locally such as near electrode surfaces, sample stacking regions, etc.).

• Models that describes variations in ζ or ωEOF as a function of pH and ionic strength.

Electrokinetics Frequently Asked Questions Does the code use permittivity in computing electric field?

In the current version, permittivity is not used in computing electric field. Since the model assumes that the permittivity is constant, the electric field is governed by the Poisson equation:

for electric potential. However, the electrical permittivity is used while computing EOF mobility from zeta potential:

I have to choose both Chemistry and Electric to set up an electrophoresis problem. What does Chemistry mean?

Chemistry pertains to the CHEMISTRY module in CFD-ACE+, where the solution of species transport is done. In electrokinetics applications using CFD-ACE+, chemistry is adopted in order to use the available resources that have already developed. For example, boundary conditions, surface reactions, bulk reaction (for electrochemistry applications) etc. How do I calculate the electrical conductivity of the buffer?

The current code does not explicitly calculate the conductivity of the buffer if its value is given. On the other hand, if the composition of buffer solution is known, the electric conductivity can be calculated in a manner similar to that for the entire electrolyte solution, namely, using Ohm’s law. My buffer is made up of several ions. Do I have to solve the transport equation for each ion?

Usually no. In most applications, buffer ions are assumed to have little influence on the transport of sample ions. However, when strong coupling of buffer ions and sample ions occurs, for example, in ionization applications (see Applications: Electrochemistry), it may be important to solve transport equation for each ion. How is the default value (4 X 10-6) of electrical conductivity of the buffer calculated?

This value is the measured conductivity of distilled water at 25C. Can I model electrode reactions?

Yes, but not directly from the GUI setup. The electrode reaction can only be included by user-supplied subroutine and it depends on the reaction form. Can I model turbulent flow with the electrokinetics option?

Yes. The electrokinetic application contains all features of the Flow Module, which can include turbulence simulation with the activation of the Turbulence Module. However, special attention should be paid to turbulence simulation since the viscosity, diffusivity and other parameters may be different from those for laminar flow because of eddy/vortex interaction. See the Turbulence Module documentation for details. Under what circumstance should I turn on the Flow Module? What induces fluid flow in electrokinetics applications?

Page 374: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

362

In the framework of EOF, the bulk flow is induced when the system is subjected to external electric field. In the framework of charge particle transport, the motion of the particle under the electric field itself will induce bulk motions. This can be attributed to local fluid flow induced by the interaction between double-layer of the charged particle and the buffer. However, in the current implementation, we have assumed that the suspending particle is so small that the electroosmosis on their surface does not result in any significant bulk fluid flow. Hence FLOW module needs to be activated only if EOF of bulk (induced due to the interaction between charged boundary surface and buffer) is studied. Some people use slip condition when a double layer is involved; is this used in CFD-ACE+?

There are two approaches to solving the governing equations for electroosmotic flow: (a) The Slip condition approach, derived from Smoluchowski approximation, and (b) body-force approach, adding a force contribution in near-wall region, while solving for Navier-Stokes equations. CFD-ACE+ uses the second approach. In some applications, we do not know the zeta potential on the surface, but rather, we specify the electroosmotic mobility. What is the relationship between these two quantities?

The following equation correlates zeta potential and electroosmotic mobility:

Electrokinetics References Brenner, H. and Edwards, D., Macrotransport Processes. Butterworth-Heinemann, 1992. Kim, S., and Karrila, S., Microhydrodynamics, Principles and Selected Applications. Butterworth-

Heinemann, 1991. Patankar, N.A. and Hu, H. H., "Numerical simulation of electroosmotic flow." Analysis Chem.

70(1998). Probstein, R.F., Physicochemical Hydrodynamics: An Introduction. John Wiley & Sons,1992.

Page 375: Cfd-Ace v2008.2 User Manual

363

Applications: Ionization Ionization Introduction When a solution containing acids, bases or amphoteric compounds is subjected to an external electric field, the migration of ions occurs along with rapid association-dissociation reactions. A mathematical model describing ionization equilibria has been implemented in CFD-ACE+. This enables simulation of a variety of electrokinetic transport phenomena such as capillary zone electrophoresis, moving boundary electrophoresis, isotachophoresis and isoelectric focusing of proteins.

The Ionization section includes:

• Ionization-Features • Ionization-Limitations

• Ionization-Theory

• Ionization-Implementation

• Ionization-Comments

• Ionization-Frequently Asked Questions

• Ionization-Examples

• Ionization-References

Ionization Features The Ionization model implemented in CFD-ACE+ is capable of simulating various modes of electrophoresis of soluble materials in either acid, base or amphoteric solutions in a same framework of theory. The model predicts the evolution of concentration for multi-species undergoing transport by fluid flow, thermal diffusion and drift in an electric field as well as simultaneous rapid dissociation-association reaction. Typical applications to electrophoretic systems include:

• Capillary zone electrophoresis

• Moving boundary electrophoresis

• Isoelectric focusing

• Isotechophoresis

• Sample tacking and pH gradient generation

Ionization Limitations Despite the united model for various electrophoresis, CFD-ACE+ exhibits certain limitations in simulation:

• The system is dilute and the density of the solution is constant

• Effect of Joule heating on transport is not accounted for and the system is assumed to be isothermal

• Non-equilibrium ionic reactions can not be modeled • The dissociation-association of species is assumed instantaneous

Page 376: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

364

Ionization Theory Acids and bases dissociate partially (weak) or fully (strong) in an aqueous solution. The equilibrium is formed between the acid or base and its ionized conjugate. The ionization equilibrium for monovalent acid (HAn) and bases (Bm) along with auto-ionization of water can be written as:

(16-1)

(16-2)

(16-3)

where the subscript n and m denote nth and mth base in the system.

The figure below shows partial dissociation of weak acid in aqueous solution at equilibrium described by equation 16-1. Keep in mind that the status before dissociation is just theoretical since the dissociation and association time scale is almost instantaneous. Similar process to acid solution described by figure also occurs for strong and weak base, as long as hydroxide ions take place hydrogen ions.

Illustration of Acid Dissociation in Aqueous Solution

At equilibrium, this reaction is characterized by equilibrium constants Ka and Kb. Given the concentration of various acids and bases and their equilibrium constants, the system should satisfy the electroneutrality condition (see equation 16-8).

The general model for equilibrium reaction involving amphoteric solution can be expressed as:

(16-4)

and:

Page 377: Cfd-Ace v2008.2 User Manual

Applications: Ionization

365

(16-5)

The transport equation for the conservation of total concentration of acids, bases, or ampholytes can be written as:

(16-6)

where:

(16-7)

j is the jth component of the velocity vector, φ is the electric potential, ci, zi, wi, and Di are the total concentration, valence, mobility and diffusivity of the ith specie respectively. In this model a specie can be an acid or base or an ampholyte.

The electroneutrality condition is expressed as:

(16-8)

where [H+] and [OH-] are the concentration of the H+ and OH- ions respectively,

(16-9)

for acid-base equilibria and:

(16-10)

for ampholyte association-dissociation reactions. Here Ka and Kb represent equilibrium constants so that:

(16-11)

(16-12)

Page 378: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

366

The pH of the system is expressed as:

(16-13)

The electrical conductivity σ is calculated from the relation:

(16-14)

where F is the Faraday number. A complete description of the model used can be found in Saville and Palusinski (1986) and Palusinski et. al. (1986), Ermakov and Righetti (1994), Giridharan and Krishnan (1998), and Krishnamoorthy et. al (2001).

Ionization Implementation To use the ionization model:

1. In the Problem Type [PT] panel, select Chemistry. The Ionization checkbox becomes available in the Model Options [MO] panel, Chem tab.

2. Click the Model Options [MO] tab, then click the Chem tab. The MO/Chem Panel appears as shown below.

3. In the Liquid Phase section, select Ionization.

Model Options Tab - Ionization

You have to define if a given species is an acid, base, ampholyte or an ion in the database available in Tools Menu-Database. Depending on the type of soluble species, pKa or pKb or both values need to be specified as shown in the above figure where protein is defined. The model assumes equal charge number for positive and negative parts of an ampholyte or protein. The charge number of an acid or a base or an ampholyte is specified in its name itself similar to an ionic specie. The Ionization model will not be invoked if the charge number is not specified.

Page 379: Cfd-Ace v2008.2 User Manual

Applications: Ionization

367

Database Manager Window with pKa and pKb Input for Protein

Other model setups follow a similar way to those for general chemistry problems. The output includes species concentration, electric field, and fluid flow. Consult the demo or examples in CFD-ACE+.

Ionization Example This example is based on the work of Mosher et. al. (1986) in which glutamic acid and histidine are separated using isoelectric focusing. The length of the separation channel is taken as 1 cm and the initial concentration of glutamic acid and histidine is 15 mM channel. A constant electric current density of 5 A/m2 is applied for separation. The channel is considered fully closed.

The following table lists the species’ properties used in the simulations.

Glutamic Acid Histidine

Diffusivity (m2/s) 8.28571E-10 8.14286E-10

Mobility (m2/s-V) 2.9E-8 2.84E-8

pKa 2.16 6.02

pKb 4.29 9.17

Page 380: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

368

By default, all the species are considered as ions. Once the ionization model is activated under the MO/Chem panel, each species can be set to an ion, acid, base, or an ampholyte using the property manager. A typical property manager panel is shown.

Ionization Model Activation

Property Manager Panel with Ionization Model Activated

Page 381: Cfd-Ace v2008.2 User Manual

Applications: Ionization

369

Concentration profiles of glutamic acid and histidine at time interval of 20 minutes are shown in (a) and (b) respectively. Corresponding pH profile and electric conductivity profile are shown in (c) and (d) respectively.

From figure 3(a) and figure 3(b), we observe that glutamic acid and histidine migrate to opposite sides of the channel. The isoelectric pH value, pI is given by

(16-22)

Hence, pI=(2.16+4.29)/2=3.23 for glutamic acid and pI=(6.02+9.17)/2=7.6 for histidine. These theoretical values agree very well with numerical predictions presented in figure 3(c).

Ionization Comments The no flux condition at a solid boundary (Wall) requires a very fine grid near the boundary in order to capture the detailed flux balance between diffusion and electric drift. Even a small error introduced into the system may lead to a large discrepancy in mass conservation when a transient simulation is performed. Hence a small time step and a finer grid (near the solid boundary) is highly recommended. It is also recommended that you use the upwind scheme whenever the no flux condition is activated.

The Ionization model is built on and works in conjunction with the standard Electrokinetics application in CFD-ACE+. For more information on the Electrochemistry module, please refer to Applications: Electrokinetics.

Page 382: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

370

Ionization Frequently Asked Questions How do I activate Ionization?

1. PT: Activate Flow and Chemistry modules

2. PT -> Flow, Chemistry, Electric

3. MO-> Chem->Select Chemistry media as Liquid Phase

4. MO-> Chem-> Chemistry Media-> Liquid Chemistry Chem: Select Application as Biochemistry

5. MO-> Chem-> Liquid Phase-> Application-> Biochemistry Chem: Activate Ionization

6. MO-> Chem-> Liquid Phase-> Ionization Elec: Select DC condition

How do I define buffers in the database?

1. Open Database - Tools-> Database

2. Click on Buffer under Biochemistry - Biochemistry-> Buffer

3. Click on the Local Folder

4. Click on File/New/Buffer

5. Type the Buffer Name and enter the required physical, transport, thermal and electromagnetic properties.

Page 383: Cfd-Ace v2008.2 User Manual

Applications: Ionization

371

Electrochemistry Buffers - Database Manager Window

How do I define species (ions, acid conjugates, ampholyte etc.) in database?

1. Open Database - Tools-> Database

2. Click on Analytes under Biochemistry

3. Click on Local Folder

4. Click on File/New/Analyte

5. Type the Analyte Name and Select the Type - Name: ACETATE; Type-> Acid Conjugate

6. Enter the required properties Molecular-> Molecular Weight (M) -> M Pka -> Pka

How do I define Species Diffusivity and Mobility?

1. Open Database Tools-> Database

2. Click on Mixing rule under Biochemistry Biochemistry-> Mixing Rule

3. Click on Local Folder

4. Click on File/New/Rule

5. Type the Rule Name

6. From the list of Buffers, select a Buffer

7. From the list of Analytes, select one Analyte, click on Add and choose a method for Diffusivity and Mobility. Enter values if required. Diffusivity-> Constant-> 1e-011 Mobility-> Constant-> 1e-011

8. From the list of Analytes, select other Analytes of interest and follow the previous step to define Diffusivity and Mobility

Page 384: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

372

Electrochemistry Mixing Rules-Database Manager Window

Ionization References Coltrin, M.E., Kee, R.J., and Rupley, F.M., “Surface Chemkin: A General Formalism and Software

for Analyzing Heterogeneous Chemical Kinetics at a Gas-Surface Interface." International Journal of Chemical Kinetics. 23(1991):1111-1128.

Ermakov, S. V., and Righetti, P.G., “Computer Simulation for Capillary Zone Electrophoresis: A Quantitative Approach.” J. Chromatograph 667(1994):257-270.

Giridharan, M. G., and Krishnan, A., “An Implicit Numerical Model for Electrophoretic Systems.” ASME Intl. Congress and Exposition. 66(1998): 61-68.

Gochberg, L., “Modeling of Uniformity and 300-mm Scale-Up in a Copper Electroplating Tool,” 196th Meeting of the Electrochemical Society, October 17-22, 1999.

Krishnamoorthy, S., Feng, J.J., and Makhijani, V.B., Analysis of Sample Transport in Capillary Electrophoresis Microchip using Full-Scale Numerical Analysis. Modeling Simulation of Microsystems. MSM2001, Hilton Head, SC, 2001.

Mosher, R. A., Dewey, D., Thormann, W., Saville, D.A., and Bier, M., “Computer Simulation and Experimental Validation of the Electrophoretic Behavior of Proteins.” Anal. Chem. 61(1989): 362-366.

Newman, J.S., and Tobias, C.W., “Theoretical Analysis of Current Distribution in Porous Electrode.” Journal of The Electrochemical Society. 109(1962): 1183-1191.

Newman, J.S., Electrochemical Systems. Prentice-Hall, 1973. Palusinski, O. A., Graham, A., Mosher,. R.A., Bier, M., and Saville, D.A., AIChE Journal.

32(1986): 215-223. Saville, D. A., and Palusinski, O.A., “Theory of Electrophoretic Separations, Part I: Formulation of

a Mathematical Model.” AIChE Journal 32.2(1986): 207-214. Springer, T.E., Zawodinski, T.A., and Gottesfeld, S., “Polymer Electrolyte Fuel Cell Model.”

Journal of The Electrochemical Society 136.8(1991): 2334-2342.

Page 385: Cfd-Ace v2008.2 User Manual

Applications: Ionization

373

Um Sukhee, Wang, C.Y., and Chen, K.S., “Computational Modeling of Proton Exchange Membrane Fuel Cells." Journal of The Electrochemical Society, 147.12(2002):4485-4493.

Page 386: Cfd-Ace v2008.2 User Manual
Page 387: Cfd-Ace v2008.2 User Manual

375

Applications: Dielectrophoresis (DEP) Dielectrophoresis Introduction Dielectrophoresis (DEP) is a common phenomenon in AC electrokinetics. (See Electrokinetics Module for details). Such a phenomenon occurs due to the interaction between induced dipole and electric field. This interaction creates a net force that depends on the gradients of electric field, electric properties, permittivity and conductivity of particle and media. For AC electric field, DEP force also depends on the frequency of the signal. This net force, when applied to particle (charged or uncharged), drives them to move. This technique can be successfully used in analysis, manipulation and separation of cellular-scale and micrometer scale particles, like cells, latex beads, etc. Dielectrophoresis (DEP) in Electric Field describes the theory and implementation details for simulating dielectrophoretic transport. Dielectrophoresis includes the following sections:

• Features

• Limitations

• Theory

• Implementation

• DC electric with sinusoidal wave

• Additional Output

• Frequently Asked Questions

• Examples • References

Dielectrophoresis Features CFD-ACE+ Dielectrophoresis features enable you to:

• Calculate particle motion (or particle agglomerate) in non-uniform electric fields generated by an AC or DC signal.

• Perform DEP simulations using the CFD-ACE+ Spray module that simulates the hydrodynamic interaction between particles and fluid.

• Monitor position and velocity components of individual particles.

• Simulate DEP, vizconventional (c-DEP), and traveling wave (tw-DEP).

The model is fully coupled with other modules for multi-physics simulations that may involve heat transfer and biochemical reaction on the surface of the particles. Additional forces such as the added mass force, Saffman lift force, or Brownian force can also be modeled automatically while using the Spray module.

Dielectrophoresis Limitations The DEP model contains the following limitations:

• It can only model solid, spherical, and homogenous particles.

• The particle size should be smaller than the electrode dimensions. • Electrical properties of the particle are isotropic.

Page 388: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

376

• The electrostatic interactions between particles and between a particle and boundaries are neglected.

• The particle should occupy only a small fraction (< ~5%) of the computational cell. In other words, the computational cell size should be larger than the largest diameter particle.

Dielectrophoresis Theory When a polarizable spherical particle is exposed to a spatially non-uniform AC electric field, it will be polarized to create a dipole moment vector. The components of dipole moment depend on the particle size, strength of the electric field and permittivities of both, particle and media. This can be given as (Jones, 1995):

(17-1)

where is Clausius Mosotti factor defined as:

(17-2)

where:

= Complex permittivity of surrounding media

= Complex permittivity of particle

r = Radius of the particle

E = Electric field strength

The complex permittivity is defined as ( where the subscript x denotes either medium (m) or particle (p)):

(17-3)

where:

= conductivity

= angular frequency

f = frequency of AC field in Hz

Page 389: Cfd-Ace v2008.2 User Manual

Applications: Dielectrophoresis (DEP)

377

i =

The net force applied to particle, including the Coulomb’s force, is given as:

(17-4)

where q is that total charge carried by the particle. If the particle is uncharged, the net force will be contributed only by dipole moment and gradient of electric filed strength. The time average value (over one period of the AC field) is give by:

(17-5)

where Re refers to the real part.

It can be seen that the dielectrophoretic force depends on the gradient of square of electric field, gradient of electric phase angle, AC frequency, particle size, and electrical permittivity and conductivity of both medium and particle.

Dielectrophoresis Implementation The Implementation section describes how to set up a modeI for dielectrophoresis using the Flow, Spray, and Electric modules. The post processing section provides tips on what to look for in the solution output.

Grid Generation

The Grid Generation section provides gridding guidelines. In CFD-ACE+, you can simulate DEP in any geometric system (3D, 2D planar, or 2D axisymmetric). While all available grid cell types in CFD-GEOM are supported, structured grid with good orthogonality is recommended for accurate predictions and reliability.

The general grid generation concerns apply, i.e., ensure that the grid density is sufficient to resolve solution gradients, especially near electrodes, minimize skewness in the grid system and locate computational boundaries in areas where boundary values are well known.

Model Setup and Solution

The Model Setup and Solution section describes the Flow module related inputs for the CFD-ACE-Solver. See the Control Panel-Introduction for details on general model setup operations. The following sections describe a general approach for DEP case set up.

Problem Type Settings

To set up a DEP case: 1. Click the Problem Type [PT] tab to view the Problem Type settings in the Control Panel. See Control Panel-

Problem Type for details. The Modules panel appears.

2. Under the Modules section select Flow, Spray, and Electric to run a DEP simulation.

Page 390: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

378

Problem Type (PT Panel)

Model Option Settings

3. Click the Model Options [MO] tab. The Model Options panel appears.

4. Click the Spray tab and select Dielectrophoresis to activate DEP capability.

Model Option Tab - DEP Setting

5. The Inj (Injector) tab appears where you can define the particle initialization and their properties. Click the Add Injector button to add an injector of particles.

Page 391: Cfd-Ace v2008.2 User Manual

Applications: Dielectrophoresis (DEP)

379

INJ Tab - Add Injector

6. Select one of three types of injectors:

• Injector read from an external file

• Annular Injector

• Point Injector - When you choose a point or annular injector, you can also generate a particle assembly that includes a prescribed number of particles randomly distributed in a cubic (3D) or rectangular (2D) domain that is defined by upper and lower limits. (See the Spray module for details).

7. To handle particle collections of different sizes, click Distribution Table button in the Size section.

Page 392: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

380

Inj Tab - Point Injector

8. The Database Manager window appears. Choose Solid as the material type from the Material Properties section. The solid material properties can be defined in the Database.

Database Manager Window - Solid Materials

9. To open the database, click the Define button or from the control panel, click Tools, Database, and then click Solid. The Solid Material database appears.

10. Enter different required properties in the database. Particle density is defined in Physical property. The electric properties such as conductivity and relative permittivity are defined in the Electric/Magnetic property. These parameters will be applied to each particle for given injector.

A more general way to provide initial status, properties and sizes etc. of particles is to create a text file. For this you must use the Read From File option for injector type. The data file format should be:

‘Injector name’ ‘Number of particles’ ‘2’

‘x’ ‘y’ ‘z’ ‘u’ ‘v’ ‘w’ ‘diameter’ ‘temperature’ ‘fraction’ ‘permittivity’ ‘conductivity’

The integer following the number of particles should be 2. The number two indicates two additional variables, relative permittivity and conductivity. Following is a sample file:

Relative Permittivity and Conductivity Sample File

You can also provide initial temperature of particles if heat transfer is of interest. If you want continuous injection of particle at every certain time steps, you may do so by entering proper value in Repeat Injector or you can increase Injection Frequency to a number larger than the total number of time steps to ensure that the particles are only injected once.

Page 393: Cfd-Ace v2008.2 User Manual

Applications: Dielectrophoresis (DEP)

381

If you do not want to save initial particle positions, then you need to create a file named as spray.dat in simulation directory. This file should read:

OPTIONS

0 Output_Start_Point

END_OPTIONS

END_SPRAY_INPUT

For further details on Flow, Spray and Electric module set up, see the Flow, Spray and Electric Modules.

Dielectrophoresis DC Electric with Sinusoidal Wave The AC electric field in DEP simulation is described in Dielectrophoresis-Theory. To simulate DEP motion, select a DC field with a sinusoidal boundary condition. Only one frequency, entered through the boundary condition of the electric module, is allowed in this type of simulation.

Dielectrophoresis Additional Output In addition to the electric field quantities and particle locations, the electric field square and its gradient components in a Cartesian coordinate system have been output to DTF file. You can view the contours in CFD-VIEW. The electric field square is named as E_square and the gradients are grad_E2_x etc. in the DTF file.

Dielectrophoresis Frequently Asked Questions Why do not I see the movement of particles?

Since the dipole moment of particle is proportional to the absolute value of media’s permittivity (which is of the order of 10-12) , the particles’ motion would be small, if the gradient of the electric field square is not large enough. Also, as the particle size decreases, the DEP force also decreases rapidly so you may not be able to observe any significant movement of the particle in short time period. What should I do if I want to change the electric field frequency during the simulation?

Run the simulation to a specific time period till the frequency start to change. Stop the simulation and set a new frequency value through CFD-ACE+ and restart the simulation again with previous simulation as Initial Condition. What should I do if I want to see pure dielectrophoretic phenomenon without the interaction with fluid flow?

Under the Solver Control [SC] panel, select the Spray tab and turn off the Fluid Phase Source Terms option. The coupling between fluid and particles will be shut off.

Dielectrophoresis-Examples

Dielectrophoresis Examples-Case 1

The geometry and grids of the first test case are shown in Figure 1. The non-uniform AC electric field is generated by two electrodes, located at left and right end of the geometry. The electric potentials at left and right ends are 10 and 0 volt and the frequency is 10 Hz. The particles are located inside the geometry initially. The diameter of particle is 10 mm. The relativity permittivity and conductivity of particle is 1.0 and 0.1 respectively. The relativity permittivity and conductivity of media is 1.0 and 0.0001.

Figure 2 shows the locations of particle at different times. Figure 3 shows the electric potential and Figure 4 shows the total electric field strength defined as:

Page 394: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

382

(17-6)

Figure 1 - Geometry and Grids

Figure 2 - Location of particles at different times under the effect of Dielectrophoresis

Page 395: Cfd-Ace v2008.2 User Manual

Applications: Dielectrophoresis (DEP)

383

Figure 3 - Electric Potential

Figure 4 - Total Electric Field Strength

Dielectrophoresis Examples-Case 2

An AC electric field is generated by four electrodes in this case study. Each electrode has a 90o

shift. The AC frequency is 100 Hz. Figure 1 and Figure 2 show the geometry and electric potential at different times. To perform the simulation and include particles, we randomly generate charged particles inside the electric field. During the rotation of AC field, the particles move following the interaction between dipole moment and gradient of electric field. Figure 3 shows the particle distribution at different times.

Page 396: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

384

Figure 1 Electrode Sketch (not to scale)

Figure 2 - Electrical Potential at Time, t, in seconds

Page 397: Cfd-Ace v2008.2 User Manual

Applications: Dielectrophoresis (DEP)

385

Figure 3 - Particle Distribution at Time , t, in seconds

Dielectrophoresis Examples-Case 3

Traveling Wave Dielectrophoresis

Traveling wave dielectrophoresis (twDEP) refers to the motion of particle in an AC electric field with non-uniformity in both magnitude and phase. The component of DEP force associated with phase change is known as a traveling wave DEP force, besides the component due to the gradient of the square of electric field strength. Traveling wave DEP is used to separate particles of different dielectric properties.

Field flow fractionation (FFF), used in separation technology, uses twDEP. Such a device contains a micro fabricated channel with arrays of thin electrode stripes on one or both channel walls. The electric field is applied in such a way that they have π/2 phase difference between the two adjacent electrodes, as shown below. twDEP is usually combined with negative DEP so that the particle will not be trapped to the electrode. A negative DEP force component will levitate particles at a certain height above the electrode, and the twDEP component will drive particles along the gradient of the phase.

Page 398: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

386

Figure 1 - Side and top view of electrode structure in a FFF chamber that generates traveling wave dielectrophoresis of particles of different properties or sizes. Only lower channel wall is fabricated by electrodes.

In CFD-ACE+ simulations, the boundary conditions on the electrodes are calculated by:

(17-7)

In terms of real and imaginary components, we have:

(17-8)

where α is phase angle of each electrode. Without loss of generality, α=0, π/2, π, 3π/2 are used for four adjacent electrodes.

Successfully applying twDEP involves carefully choosing parameters to create the desired results. Changing parameters, such as the permittivities and conductivities of both the particle and suspension and magnitude and frequency of the AC electric potential, will lead to a change in both DEP and twDEP force components. These parameters have to generate a negative DEP force and a twDEP force large enough to move the particle.

Figure 2 shows two groups of particle with different properties are placed in an AC field. Figure 3 shows the trajectories of two groups of particles after 10 seconds.

Page 399: Cfd-Ace v2008.2 User Manual

Applications: Dielectrophoresis (DEP)

387

Figure 2 - Initial positions of two groups of particles (t=0.0s)

Figure 3 - Trajectories of two groups of particles (t=10.0s)

Dielectrophoresis References Green, N. G., et al., “AC electrokinetics: a survey of sub-micrometer particle dynamics.” J. Phys,

D: Appl. Phys. 33(2000): 632-541. Jones, T. B., “Electromechanics of Particles.” New York, Cambridge University Press. (1995). Ramos, A., et al., “AC electrokinetics: a review of forces in microelectrode structures.” J. Phys,

D: Appl. Phys. 31 (1998): 2338-2353.

Page 400: Cfd-Ace v2008.2 User Manual
Page 401: Cfd-Ace v2008.2 User Manual

389

Applications: Solidification Solidification Introduction The Solidification Module can simulate flow and heat transfer in solid-liquid phase change processes. The key feature in a solid-liquid phase change problem is the presence of a moving boundary on which heat and mass balance conditions have to be met. A popular approach in modeling these problems is the enthalpy method (Carman, 1987). The major advantage of this method is that despite the presence of moving boundaries, the problem is cast in a conservative form that allows the solution to be obtained on a fixed grid system. Two common variations are:

• The latent heat is accounted for using a modified heat capacity term

• The source based method

In CFD-ACE+, a non-source term method is applied to implement the calculations. The mixture of solid-liquid is characterized by the solid mass faction, fs, which ranges from 0 to 1. The version of the Solidification Module in CFD-ACE+ is compatible with the Incompressible, Heat Transfer, and Deformation modules. Solidification includes the following sections:

• Solidification-Applications

• Solidification-Theory

• Solidification-Limitations

• Solidification-Model Setup and Solution

• Solidification-Frequently Asked Questions

• Solidification-Examples • Solidification-References

Solidification Applications Phase change is common phenomena in material processing and includes the synthetic production of alloy and crystal phase change processes. Examples include casting, melting, etc. Use the Solidification module to solve a wide variety of liquid-solid or solid-liquid phase change engineering problems.

Solidification-Theory

Solidification Theory Introduction

The enthalpy of the material can be expressed as:

(18-1)

where h is the sum of sensible heat, , and is latent heat. A general form for latent heat can be written:

(18-2)

Page 402: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

390

where is the local solid fraction (mass fraction), is the temperature at which the solid formation commences and is the temperature at which full solidification is achieved. For the first step, the thermal properties used are assumed constant with temperature and phase change.

The method is to regard the entire domain as a porous medium, where the porosity λ takes the following values:

(18-3)

The governing equations can be written in terms of the superficial velocity (i.e. the ensemble-average velocity) defined as:

(18-4)

where is the actual fluid velocity.

The Solidification Theory section includes:

• Solidification-Theory-Definition of Source Terms

• Solidification-Theory-Implementation in CFD-ACE-Solver

• Solidification-Theory-Initialization

• Solidification-Theory-Non-Source Term Methods

Solidification Definition of Source Terms

The flow in the mush is governed by the Darcy law, i.e.

(18-5)

where K is the permeability, which is function of λ. And the source term in momentum equation is defined as:

i=1, 2, 3 (18-6)

can be obtained from the Carman-Koseny equation 18-3:

(18-7)

and A can be calculated from:

(18-8)

Page 403: Cfd-Ace v2008.2 User Manual

Applications: Solidification

391

where the value of C will depend on the morphology of the porous media, and the q is set at 0.001.

The buoyancy sources term:

(18-9)

where β is the thermal expansion coefficient and href is a reference value of the sensible heat.

The thermal source term is:

(18-10)

In the isothermal case, u=0 and the convective part of this source term takes the value of zero.

Solidification Theory-Implementation in CFD-ACE-Solver

In CFD-ACE+ the enthalpy at TLow (the temperature at which full solidification is achieved) is:

(18-11)

and the enthalpy at THigh ( the temperature at which solid formation commences) is:

(18-12)

Solidification Theory-Initialization

A key step in solidification is the initialization of enthalpy. In ACE+, the reference temperature is set to 0K, which means the enthalpy at T1 (the start temperature in Cp-T relationship) is defined as:

(18-13)

and the enthalpy is initialized as:

(18-14)

Page 404: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

392

Solidification Theory-Non-Source Term Methods

In a fluid undergoing a liquid to solid phase transformation (i.e., solidification), the conservation of energy can be expressed in terms of the mixture enthalpy H as:

(18-15)

The finite volume discretization of equation 18-15 gives:

(18-16)

where subscript P refers to the value of the local finite volume; subscript i is the face index surrounding this cell; is the unit normal vector of face; superscript n and (n+1) represent the value at nth time step and (n+1)th time step, respectively. In CFD-ACE+ the upwind scheme is applied to deal with the convection terms, and 2nd-order schemes are employed to obtain the diffusion terms. The issue is how to deal with the function of H(T). If H is solved directly in equation 18-16, we need to find the function T=T(H). On the contrary, H=H(T) is required. Voller et. al.(1993) gave a detailed discussion on such kind of solution, and the result is that a source term is introduced into the equation due to the latent heat during the solidification process. In CFD-ACE+ a more general methodology is provided in which no source term is introduced when the energy equation is solved for phase-changing issues. The treatment is described as:

The solution of H or T obtained from equation 18-16 can be rewritten as:

(18-17)

where H and T are the exact solutions for enthalpy equation and temperature field, respectively; H* and T* are solutions obtained from iterative procedure, and H' and T' are the corrections to H* and T*, respectively. An expression for H' and T' can be obtained by substituting equation 18-17 into equation 18-16:

(18-18)

where is the energy imbalance of finite volume during iteration.

Introducing the following relationship:

Page 405: Cfd-Ace v2008.2 User Manual

Applications: Solidification

393

(18-19)

Equation 18-18 is rewritten as:

(18-20)

where subscript nb represents the neighboring cells, a is the corresponding coefficient. A solution T' can be obtained from equation 18-20, and then H' from equation 18-19. The key step in the solution is to get the exact Cp (dH/dT) from the H(T) function. For isothermal cases, dH/dT = ∞, but T=Tmelt, dT=0 for cells with solidification. Then we can choose any value (except 0) for Cp. At this point, a correction T' does not mean a correction to T, just a solution to get H'. In CFD-ACE+, Cp in cells that are in solidification is calculated as:

(18-21)

Solidification Limitations The Solidification Module has the following limitations:

• Must be run as a transient

• Not coupled with VOF, Porous Media, and Stress

• Volume condition should be set up as fluid (just for solidification domain)

• Cp should be constant or piece-wise linear in T (just for solidification domain) • Density is constant during phase change

• Compatible only with the following modules: o Incompressible o Heat Transfer o Deformation

Solidification Model Setup and Solution CFD-ACE+ provides the inputs required for the Solidification module. This section describes the settings specific to the solidification Module. See the Control Panel Introduction for information on general model settings and basic CFD-ACE+ operation.

Problem Type

Click the Problem Type [PT] tab to see the Problem Type Panel. See Control Panel-Problem Type for details.

Page 406: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

394

Available Modules

Under the Modules tab select Heat Transfer to activate the solidification Module. The Flow Module is also required when the mushy flow is wanted. Use of the Turbulence and Grid Deformation modules have not been fully tested in conjunction with the solidification module.

Model Options

Click the Model Options [MO] tab to see the Model Options Panel. See Control Panel-Model Options for details. All of the model options for the solidification Module are located under the Flow and Heat tab.

Shared

Select transient option under the Shared tab. If Flow module is activated, activate Gravity under body force and Boussinesq Force under Boussinesq Approximation, input the Reference Temperature and Thermal Expansion coefficient.

Heat

Activate the solidification module.

Model Options Tab - Heat Tab - Solidification Option

Volume Conditions

All volume conditions for Solidification Module can be found in Heat Transfer Module-Volume Conditions-Solidification.

Graphic Output

Activation of the Solidification Module allows output of the liquid fraction in CFD-VIEW with variable f_liq.

Solidification Frequently Asked Questions How do I set up time step for a transient problem?

The time step depends on the CFL number. For pure heat transfer process (no mushy flow) the time step depends on the size of the grid, cooling rate, and Cp. It is acceptable for most engineering solutions. Can I use user defined Cp?

It is not recommended to do so. The key step in solving energy equation including phase change is to handle the relationship of Cp-T and H-T. It is not easy to do this through a user subroutine. If general functions need to be added to the code, please contact ESI CFD customer support.

Page 407: Cfd-Ace v2008.2 User Manual

Applications: Solidification

395

Soldification-Examples

Solidification Examples

The Solidification modules includes the following case studies:

• Case 1: Pure Heat Conduction, Multi-zone, and Isothermal Case

• Case 2: Natural Convection + Heat Conduction, Single Zone, and Isotherm/Mush Zone Cases

• Case 3: Heat Conduction, Single-zone, Piecewise Linear Cp, and Isothermal/Mush Zone Cases

• Case 4: Heat Conduction, Single-zone, Constant Cp and Isothermal Case

Solidification Case 1: Pure heat conduction, multi-zone, and isothermal case

Time step: 10s

Density: 1000kg/m3

Cp: 500 J/kg-K

Latent heat: 100000 J/kg

Solidification temperature: 1000 K

Initial temperature: 1100 K

Details on the computation model can be found below and show the distributions of temperature and liquid fraction, respectively.

Page 408: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

396

Computation Model

Temperature Distribution at t=1300s

Liquid Fraction Distribution at t=1300s

Page 409: Cfd-Ace v2008.2 User Manual

Applications: Solidification

397

Soldification Case 2:Natural convection + heat conduction, single-zone, and isothermal/mush-zone cases

Time step: 1s

Density: 2500kg/m3

Cp: 1000 J/kg-K

Latent heat: 400000 J/kg

Solidification temperature: 873 K (isothermal)

Solidification temperature: 823 K (Tlow) and 923 K (Thigh) (mushy-zone)

Initial temperature: 973 K

Page 410: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

398

Computation Model

Liquid Fraction and Velocity Vectors (isothermal) t= 10s

Distribution of Temperature (isothermal), t = 10s

Page 411: Cfd-Ace v2008.2 User Manual

Applications: Solidification

399

Liquid Fraction and Velocity Vectors (mushy-zone) t = 10s

Distribution of Temperature (mushy-zone) t = 10s

Solidification Case 3: Heat conduction, single-zone, piece-wise linear Cp, and isothermal/mush-zone cases

Time step: 1s

Density: 7400kg/m3

Thermal conductivity:

Cp:

Latent heat: 272000 J/kg

Solidification temperature: 50 K (Tlow) and 1795 K (Thigh) (mushy-zone)

Page 412: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

400

Initial temperature: 1845 K

Boundary conditions: two symmetric boundaries, two external walls (h=w/m2-K, Tinf = 500 K)

Geometry: square with side length of 0.09m

Page 413: Cfd-Ace v2008.2 User Manual

Applications: Solidification

401

Temperature History at Fixed Monitor Points

Calculation Results (Swaminathan and V.R. Voller, 1992)

Page 414: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

402

Distribution of Temperature t = 300s

Distribution of Liquid Fraction t = 300s

Solidification Case 4: Heat conduction, single-zone, constant Cp, and isothermal case

Page 415: Cfd-Ace v2008.2 User Manual

Applications: Solidification

403

Time step: 20s

Density: 7200 kg/m3

Thermal conductivity: 30 w/m-K

Cp: 750 J/kg-K

Latent heat: 262500 J/kg

Solidification temperature: 1773 K

Initial temperature: 1808 K

Boundary conditions:two symmetric boundaries, two isothermal (T=1423K)

Geometry: square with side length of 0.381m.

Page 416: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

404

Temperature History at Fixed Monitor Points

Calculation Results (Swaminathan and Voller, 1992)

Page 417: Cfd-Ace v2008.2 User Manual

Applications: Solidification

405

Distribution of Liquid Fraction t = 2000s

Distribution of Temperature t = 2000s

Solidification References Carman, P.C., 1987, “Fluid flow through granular beds.” Trans. Inst. Chem. Engrs 15, pp. 150-

166. Swaminathan, C.R., and Voller, V.R., 1993, “On the enthalpy method.” Int. J. Num. Meth. Heat

Fluid Flow, Vol. 3, pp. 233-244.

Page 418: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

406

Swaminathan, C.R., and Voller, V.R., 1992, “A general enthalpy method for modeling solidification process.” Metallurgical Transactions B, Vol. 23B, pp. 651-664.

Page 419: Cfd-Ace v2008.2 User Manual

407

Applications: Fuel Cell Modeling Fuel Cell Modeling Introduction Fuel Cells constitute an important alternative to power generation by engines or turbines. With an increasing trend towards reduced emission and higher efficiency, fuel cells are emerging rapidly as the technology of choice for power generation in the new century.

Fuel cells have several advantages over conventional power generation appliances, which deem them the power-generating device of the future:

• In a fuel cell, chemical energy is directly converted to electrical energy, with little heat production. This implies that the efficiency of a fuel cell is not limited by the Carnot cycle.

• In general, they produce less toxic by-products than conventional appliances, making them environment-friendly.

• Fuel cells are very quiet during operation, making them ideal for installation in any place.

• Fuel cells can be of various sizes, ranging from the size of a fist to that of a house. This renders their application range very wide, from a soldier’s equipment on the battlefield to huge power generators for residential and industrial applications.

• With the exception of solid oxide fuel cells, most fuel cells operate at low temperature (around 70oC). This, added to the fact that they do not have any moving parts, makes them easy to design from a material standpoint.

The figure below shows the primary components of a fuel cell power generation station.

Page 420: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

408

Fuel Cell Power Generation Station, Primary Components

It is comprised of three main components: the Fuel Processor, the Fuel Cell and the Power Conditioner.

In the evaporator, liquid fuel and liquid water is injected in the form of a spray onto a hot surface, where both components evaporate. The liquid fuel may be either methanol or a hydrocarbon mixture (typically gasoline). Currently, both of these are being pursued by the industry. Methanol has the advantage of being a very clean fuel, while gasoline has the advantage of being available worldwide from any pumping station. If natural gas (mostly methane) is used as the primary fuel, as is often the case for residential applications, this step is not necessary, since the fuel is already in gaseous form.

This mixture of gaseous fuel and water vapor is then passed through a catalytic converter, where it undergoes a reformation process (known as steam reformation) to produce carbon monoxide and hydrogen. At this point, depending on the fuel cell type to be used, several additional reforming steps may be necessary. If a hydrogen driven proton exchange membrane (PEM) fuel cell is to be used, CO must be eliminated completely from the mixture to avoid poisoning the active catalyst layer within the cell. If a solid oxide fuel cell (SOFC) is to be used, CO elimination is not necessary. In a direct methanol fuel cell (DMFC), the reformation step can be completely eliminated, since methanol itself is the fuel for the fuel cell.

The fuel evaporation as well as reformation processes are typically endothermic. Although the efficiency of the fuel cell itself can be quite high (about 80%), the efficiency of the fuel processor as a whole is in the order of 40%, leading to an overall efficiency of about 40-50%. This, of course, is higher than traditional internal combustion engines or gas turbine cycles.

Fuel Cell modeling includes:

• Fuel Cell Modeling-Where Can CFD Help?

• Fuel Cell Modeling-Fuel Cell Modeling Examples

Page 421: Cfd-Ace v2008.2 User Manual

Applications: Fuel Cell Modeling

409

• Fuel Cell Modeling-Reformer Modeling Examples

• Fuel Cell Modeling-Fuel Cell Simulation Features

• Fuel Cell Modeling-Fuel Reformer Simulation Features

• Fuel Cell Modeling-Theory

• Fuel Cell Modeling-Limitations • Fuel Cell Modeling-Implementation

• Fuel Cell FAQ

Fuel Cell Modeling Where Can CFD Help? The current challenge in the fuel cell industry is to reduce the cost of manufacturing and/or increase the efficiency of the overall process, especially that of the fuel reformation process. This can be achieved by a number of ways. These include better catalysts for the reformation stages as well as for the electrochemical reactions, better membranes (or solid electrolytes for SOFC), better fuel distribution among individual cells of a stack, better water management, amongst several other issues. CFD analysis can provide performance characteristics of a cell or reformer under various operating conditions, catalysts, membranes, etc. This reduces the cost of development significantly by eliminating costly experiments or by narrowing down the range of parameters over which the final set of experiments need to be performed.

Fuel Cell Modeling Examples CFD-ACE+ allows the simulation of the detailed processes within a PEM or SOFC fuel cell. As a final output, it can provide the polarization curves of a fuel cell as a function of several different parameters. An example of a hydrogen-driven PEM fuel cell simulation performed using CFD-ACE+ is shown below.

Page 422: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

410

Hydrogen-Driven PEM Fuel Cell Simulation

Such analysis can be performed in full-scale three-dimensional geometry for PEM as well as SOFC fuel cells.

Fuel Cell Modeling Reformer Modeling Examples In addition to modeling the fuel cell itself, CFD-ACE+ can also aid in the analysis of the fuel reformation process. CFD-ACE+ is equipped with tools to simulate heterogeneous reactions of arbitrary complexity within porous media. Given a chemical reaction mechanism, the porosity and permeability of the porous monolith, and the catalyst loading, CFD-ACE+ can provide detailed species concentration and temperature distributions within the catalytic converter. The chemistry can be extremely complex involving a number of surface-adsorbed species.

Fuel Cell Modeling Fuel Cell Simulation Features The underlying physics of the operation of fuel cells is complex. It involves complex coupling between fluid flow, heat transfer, electron transport, mass transport and heterogeneous electrochemical reactions, all occurring within porous media. The following advanced physical models in CFD-ACE+ allow these types of simulations:

• Comprehensive porous media treatment, including effects on heat and mass transfer, is supported.

• Heterogeneous reactions within porous media are supported. This includes finite-rate multi-step reactions of arbitrary complexity, both neutral (Arrhenius kinetics) as well as electrochemical (Butler-Volmer kinetics).

Page 423: Cfd-Ace v2008.2 User Manual

Applications: Fuel Cell Modeling

411

• Solution of DC conduction equations (current continuity equations) both for the pore phase as well as the solid phase of porous media is supported. This allows accurate determination of the electrode overpotential, necessary to treat electrochemical reactions via Butler-Volmer kinetics.

• Implicit coupling between flow, heat transfer, mass transfer, species transport, and electron transport.

Fuel Cell Modeling Fuel Reformer Simulation Features Comprehensive porous media treatment, including effects of heat and mass transfer, is supported. Heterogeneous reactions within porous media are supported. This includes finite-rate multi-step reactions of arbitrary complexity, including surface-adsorbed species. Effects of catalyst loading and catalyst poisoning can be simulated.

Fuel Cell Modeling-Theory

Fuel Cell Modeling Theory Introduction Fuel cell modeling takes advantage of the physics already built into CFD-ACE+. Consult the theory sections of the Flow, Heat Transfer, Chemistry, Electric modules, and Porous Media feature.

Fuel Cell Modeling Theory-Electrochemical Reactions in Porous Media

In the case of electrochemical reactions, the volumetric production rate of a given specie is

expressed by the ratio of the transfer current, , and the Faraday constant, F:

(19-1)

where and are the stoichiometric coefficients of the products and reactants, respectively.

The transfer current, jT, is obtained from the Butler-Volmer condition, and may be written in its most general form as:

(19-2)

where j0 is the reference current at a known open circuit voltage. and are kinetic constants determined from experimentally generated Tafel plots. [L] represents the near-wall molar concentration of the reacting species, N is the total number of reacting species, and are the concentration exponents. A set of non-linear equations for the mass-fractions at the pore-catalyst interface can be obtained by substituting equation 19-1 and 19-2 into the following equation:

(19-3)

where:

Page 424: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

412

is the effective surface to volume ratio of the catalyst.

This equation set is solved numerically to obtain Yi for all species. Once this is known the species sources in each cell can be computed. The electrode overpotential, η, is the potential difference between the solid (ΦS) and pore (or fluid) phase (ΦF) of the electrode, and may be explained as:

Schematic of Electrochemical Reactions and the Transfer of

Current Within a Porous Catalyst Containing Electrode

The continuity of current in a conducting material leads to:

(19-4)

When the material is a porous electrode, the current may be split into two parts: one flowing through the pores and the other flowing through the solid parts of the porous matrix (see figure above). If these components are denoted by and , respectively, the equation above can be rewritten as:

(19-5)

During electrochemical reactions within a porous solid, electrons are either transferred (expressed by the transfer current) from the pores to the solid matrix or vice versa. This results in a source in one of the phases and a sink in the other phase. Thus, the equation above may be written as:

(19-6)

where the transfer current, , has units of A/m3. Application of Ohm’s law to the equation above, yields:

Page 425: Cfd-Ace v2008.2 User Manual

Applications: Fuel Cell Modeling

413

(19-7)

where ΦF and ΦS are the electric potentials of the fluid (or pore) and solid phases, respectively. Equation 19-7 is solved in a strongly coupled implicit solver. Such a formulation is more advanced than ones used in previous research where the solid parts of the electrodes are assumed as perfect electrical conductors. The above formulation clearly establishes the strong coupling between fluid flow, species transport and the electric field in both the porous and solid phase, and the numerical solution of this problem is quite challenging.

Fuel Cell Modeling Theory-Membrane Electrical Conductivity

The exact physics of the proton exchange membrane is extremely complex. Theoretically, it is known that the membrane electrical conductivity is the net result of the product of the charge, mobility and Faraday constant summed over all charged species. Unfortunately, the membranes used in PEM fuel cells often have embedded charges, the exact amounts of which are not usually known. Secondly, the liquid water within the membrane dissociates into acid and base radicals to preserve electroneutrality. This is also a complex phenomenon.

As a consequence of these complex ongoing processes, the exact concentrations of charged species within the membrane are not always known. It is common practice, instead, to use semi-empirical models to determine the electrical conductivity of the membrane. These semi-empirical models express the electrical conductivity of the membrane as function of liquid water activity, which in turn depends on the local thermodynamic conditions. In CFD-ACE+, we have built in a membrane model for Nafion 117, and the data is available from Springer et al. (1991). In addition, you can provide such information through user-subroutines.

Fuel Cell Modeling Theory-Springer Model

In PEMFC, the water transport across the membrane is of particular interest: the water molecules, only after being attached to a sulfonic-acid group ( ) (defined as “water content” by Springer et al. 1991), can be carried across the membrane by electro-osmotic drag (EOD) of protons, and the diffusion due to water content gradient. Springer et al. (1991) proposed a phenomenological model to describe the membrane water transport, which is regarded by the PEMFC modeling community as the best available mechanism to account for the water movement in membrane.

The transport equation for the water vapor, following the general species transport equation, can be written as

(19-8)

The water vapor flux Jw is defined by the general expression of species flux outside the membrane. But inside the membrane, this flux is replaced by the net water flux of Springer model.

In Springer et al. (1991), the multi-dimensional molar flux of net water in the membrane can be expressed (see the Eq.23 of Springer et al., 1991) in terms of λ, the water content as:

(19-9)

Page 426: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

414

where i is the ion current, and the membrane dry density , equivalent weight . The diffusivity Dλ is measured for Nafion 117 and fitted as a function of λ

(see Fig.3 of Springer et al., 1991):

(19-10)

(19-11)

(19-12)

Here s is the swelling factor as 0.0126. The electro-osmotic drag coefficient was also measured by Springer et al. (1991) for Nafion 117 membrane as

(19-13)

or

(19-14)

The mass flux is obtained by product of the molar flux and water molecular weight and rearranged as:

(19-15)

Assuming no net water source is present in the membrane, the conservation equation (steady state) of net water flux becomes

(19-16)

Page 427: Cfd-Ace v2008.2 User Manual

Applications: Fuel Cell Modeling

415

Eq.(19-8) and Eq.(19-16) are solved for water vapor mass fraction (for whole fuel cell) and water content (inside membrane), respectively. At the interface of membrane and catalyst (with finite volume), the relation of water content to water activity “a” measured and fitted by Springer et al. (1991)

(19-17)

is employed to calculate the λ as the boundary condition of the membrane domain, based on the solution of water vapor outside the membrane. In this way, the water content inside membrane is self-consistently obtained by Eq.(19-16) and the boundary values by Eq.(19-17).

Fuel Cell Modeling Limitations Despite these advanced models, CFD-ACE+ has certain limitations for simulating Fuel Cells:

• Phase Change of Water is not considered. It is assumed that all reactions occur in the gas phase. (Phase change and liquid water transport effects can be studied using the passive scalar module of CFD-ACE+).

• Phase equilibrium is assumed to compute liquid water content for membrane electrical conductivity model.

• Effect of surface tension on transport is neglected. (The effect of surface tension on liquid water transport can be studied using isolated simulations with the volume-of-fluid (VOF) model of CFD-ACE+.)

• The Fuel Cell model now supports arbitrary interfaces or parallel computations.

Fuel Cell Modeling Implementation Fuel Cell modeling can be done with CFD-ACE+. You can find information below about special concerns which must be taken into account when running fuel cell simulations. See each module/feature’s documentation for details on how to implement those features.

Problem Type

Fuel Cell simulations require at least the Flow, Heat Transfer, Chemistry, and Electric Modules.

Model Options

Under Chemistry model options you must be solving species mass fractions. Under Electric model options, you must be solving DC Conduction and the Porous Media Electrochemistry option should be selected.

Volume Conditions

All of the general volume condition settings apply with the addition that the membrane, anode and cathode catalyst layers, and anode and cathode diffusion layers should be modeled using the Porous Media feature. Both the anode and cathode catalyst layers should have a surface reaction specified to take place in those layers.

Springer Model

The Springer Model can be activated for membrane VC under VC Setting Mode --> Porous Media. When Springer Model is selected, the following parameters must be specified:

Page 428: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

416

• Electro-osmotic drag coefficient (default = 2.5)

• Back Diffusivity (default = 1E-10)

• Membrane Dry Density (default = 1.98E3kg/m3)

• Equivalent Weight (default = 1100kg/kmol)

Constant values may be provided through CFD-ACE-GUI or they may be specified through user

subroutine. When using a user subroutine, the drag velocity coefficient ( ) and back

diffusion coefficient ( ) must be specified.

Boundary Conditions

All of the general boundary condition settings apply. Usually fuel cell simulations will be run either at a constant current (to determine voltage) or a constant voltage (to determine current). By selecting the appropriate boundary condition evaluation method for the current collector plates you determine how the problem will be solved.

Initial Conditions

There are no special initial condition settings.

Solver Controls

There are no special solver control settings required for fuel cell modeling. You may want to make sure that you request the desired printed and graphical output quantities. Printed current summary is quite useful.

Fuel Cell Modeling References Coltrin, M.E., Kee, R.J., and Rupley, F.M., “Surface Chemkin: A General Formalism and Software

for Analyzing Heterogeneous Chemical Kinetics at a Gas-Surface Interface." International Journal of Chemical Kinetics. 23(1991):1111-1128.

Ermakov, S. V., and Righetti, P.G., “Computer Simulation for Capillary Zone Electrophoresis: A Quantitative Approach.” J. Chromatograph 667(1994):257-270.

Giridharan, M. G., and Krishnan, A., “An Implicit Numerical Model for Electrophoretic Systems.” ASME Intl. Congress and Exposition. 66(1998): 61-68.

Gochberg, L., “Modeling of Uniformity and 300-mm Scale-Up in a Copper Electroplating Tool,” 196th Meeting of the Electrochemical Society, October 17-22, 1999.

Krishnamoorthy, S., Feng, J.J., and Makhijani, V.B., Analysis of Sample Transport in Capillary Electrophoresis Microchip using Full-Scale Numerical Analysis. Modeling Simulation of Microsystems. MSM2001, Hilton Head, SC, 2001.

Mosher, R. A., Dewey, D., Thormann, W., Saville, D.A., and Bier, M., “Computer Simulation and Experimental Validation of the Electrophoretic Behavior of Proteins.” Anal. Chem. 61(1989): 362-366.

Newman, J.S., and Tobias, C.W., “Theoretical Analysis of Current Distribution in Porous Electrode.” Journal of The Electrochemical Society. 109(1962): 1183-1191.

Newman, J.S., Electrochemical Systems. Prentice-Hall, 1973. Palusinski, O. A., Graham, A., Mosher,. R.A., Bier, M., and Saville, D.A., AIChE Journal.

32(1986): 215-223.

Page 429: Cfd-Ace v2008.2 User Manual

Applications: Fuel Cell Modeling

417

Saville, D. A., and Palusinski, O.A., “Theory of Electrophoretic Separations, Part I: Formulation of a Mathematical Model.” AIChE Journal 32.2(1986): 207-214.

Springer, T.E., Zawodinski, T.A., and Gottesfeld, S., “Polymer Electrolyte Fuel Cell Model.” Journal of The Electrochemical Society 136.8(1991): 2334-2342.

Um Sukhee, Wang, C.Y., and Chen, K.S., “Computational Modeling of Proton Exchange Membrane Fuel Cells." Journal of The Electrochemical Society, 147.12(2002):4485-4493.

Mazumder, S. & Cole, J.V., J. Electrochemical Soc., 150(11) A1503-A1509 (2003A) Mazumder, S. & Cole, J.V., J. Electrochemical Soc., 150(11) A1510-A1517 (2003B) Springer, T.E., Zawodinski, T.A. and Gotteresfeld, S., J ElectroChem Soc, 138, 2334(1991)

Fuel Cell Modeling FAQ Should I use the temperature equation option when running fuel cell cases?

Yes. When running fuel cell cases, this option makes convergence of the heat solution much faster and requiring little relaxation.

What are the suggested solver parameters when using the Springer Model?

• Use the temperature equation option under MO/Adv

• Species Relaxation: Should be specified between 0 and 1. The suggested value is 0.5.

• Temperature Relaxation: The linear relaxation can be as large as 1, and the inertial relaxation should be ~ 0.001.

• Flow Relaxation: The linear relaxation for pressure should be ~ 0.5. This value may have to be even lower due to the porous media for the membrane.

• Species Conservation: The "Species Conservation Enforced" option should be checked on the SC/Adv tab.

Page 430: Cfd-Ace v2008.2 User Manual
Page 431: Cfd-Ace v2008.2 User Manual

419

Applications: Biochemistry Biochemistry Introduction CFD-ACE+ contains a suite of tools for simulating a variety of biomolecular bulk flow, surface reactions, and volume reactions. The spatial and temporal evolution of species concentration in the computational domain is determined by convection, advection, forced drift (example electrophoresis), diffusion, and chemical reactions occurring on surfaces or within the domain.

Surface and volume chemistry locally alters the species concentrations and can set up concentration gradients. Mass transport can have a strong influence on surface reactions as it determines the rate at which biochemical species are arriving at the reactive surface. Slower mass transport relative to the reaction rate can set up a complex interdependence and be affected by such things as the flow geometry, physical properties of the biochemical species and surface chemistry. The CFD-ACE+ tools for simulating biochemical problems account for all of the above factors. Biochemistry includes the following sections:

• Biochemistry-Applications

• Biochemistry-Features

• Biochemistry-Limitations

• Biochemistry-Theory

• Biochemistry-Implementation

• Biochemistry-Frequently Asked Questions • Biochemistry-References

Biochemistry Applications The CFD-ACE-Solver simulates biochemical problems and bio-molecular interactions in diagnostic devices, such as immunosensors, DNA microarrays, etc., and perform evaluation and design of microfluid devices involving bio-assays. The enzyme catalysis model provides information on the contribution of mass transport and flow parameters to catalysis in a bio-reactor or a cell culture system. The Spray Module can simulate analyte binding on micro spheres.

Biochemistry Features The following types of reaction capabilities are currently available in the biochemistry module:

• Chemistry

• Coupling of spray and Biochemistry

• Coupling of VOF and Biochemistry

• Echem Application

Chemistry

The set of tools available in the CFD-ACE+ for defining surface and volume chemistry has expanded tremendously. You can define chemical mechanisms containing any number of individual chemical reaction steps. The individual steps can be of different types (Stoichiometric, Michaelis-Menten, or Arrhenius) and are not limited as to the number of species in each step or the stoichiometric coefficients of each species. Reaction steps and can be either reversible or irreversible. Mechanisms can be defined for surface chemistry or volume chemistry. Surface and volume chemistry can also be used in a fully coupled manner.

Page 432: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

420

Coupling of Spray and Biochemistry

Biochemistry is fully coupled to the SPRAY module and allows the user to define surface chemistry that takes place on the surface of the spray particle. All of the options available for defining mechanisms are available for spray particles. For more information on the spray module see the spray module chapter. A discussion of the specialized boundary conditions used for spray particles is given in the BC section.

Coupling of VOF and Biochemistry

Surface and volume biochemistry can now be used in conjunction with the VOF module. Biochemical species can be transported in a liquid bounded by an air/water interface. For more information on the VOF module please see the VOF module chapter. A discussion of the boundary conditions for analytes at an air/water interface is provided in online help.

Echem Applications

Electrical fields can be readily used to transport species, with an example of this being electrophoresis. For more information on the ECHEM module please see the appropriate section.

Biochemistry Limitations The Chemistry model has the following limitations:

• Multi-layer protein adsorption is not allowed.

• The solver does not account for the surface diffusion of the adsorbed species. • Substrate/Feedback Inhibition, Allosteric activation, co-factor activation and other

non-Michaelis Menten Kinetics will be available in future releases.

• Analyte transport is not allowed across a VOF interface.

Biochemistry-Theory

Biochemistry Theory Introduction

The Theory section contains a description of the convective and diffusive equations used to simulate biochemistry problems. Building off of that discussion is a description of the equations used to model both surface and volume chemistry along with the boundary conditions used to model surface chemistry. The section concludes with a description of the data file output and the output for post processing in VIEW. The Biochemistry Theory section includes:

• Theory-Convection/Diffusive Transport Equations

• Theory-Surface and Volume Chemistry Rates

• Theory-Capabilities • Theory-Surface Reaction Data Output

• Theory-Graphical Output for Post Processing

Biochemistry Theory-Convective/Diffusive Transport Equations

Navier-Stokes Momentum Equation

(20-1)

Page 433: Cfd-Ace v2008.2 User Manual

Applications: Biochemistry

421

where:

ρ = solution density

= velocity vector

P = pressure

μ = dynamic viscosity

Mass Conservation Equation (Diffusive transport in the bulk)

(20-2)

where t = time, Dj = species diffusivity, Cj is the species concentration (mol/L), and Sj is a species source term.

Biochemistry Theory-Surface and Volume Chemistry Rates

Consider the ith step in a reaction mechanism, composed of Ni reactants and Mi products. The stoichiometric coefficients for the species are denoted as νij, where j denotes the species index. Forward and reverse reaction rate coefficients for this reaction step are denoted as Kf

i and Kr

i. From this information we can construct the forward and reverse reaction rates for this step. These are given in the equations below:

(20-3)

(20-4)

The forward and reverse rate coefficients can be constants, or have an Arrhenius type form. For more information on the expression used to evaluate Arrhenius rate coefficients see the chapter on General Chemistry. After computing the rate expressions for each step, the individual species production rates for the jth species can be computed by summing over the individual step rates. This is given in the equation below.

(20-5)

Where Nsteps represents the number of steps in a particular reaction mechanism. The function θij can take on three possible values:

Page 434: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

422

1. θij = 1 if the jth species is a product in the ith reaction step

2. θij = 0 if the jth species does not participate in the ith reaction step

3. θij = -1 if the jth species is a reactant in the ith reaction step

Enzyme Catalysis

Enzymes are the catalysts of biomolecular reactions. The most striking characteristics of enzymes are their catalytic power and specificity. Nearly all the known enzymes are proteins. Proteins are highly effective in catalyzing diverse chemical reactions owing to their capacity to bind a wide range of molecules. Enzymes are highly specific in their choice of reaction catalyzed and the reactants (substrates). An enzyme does not alter the equilibrium of a reaction, it merely accelerates the formation of the equilibrium state by decreasing the free energy of activation. Most of the catalytic power of enzymes arises from the formation of the Enzyme-Substrate complexes. The substrate binds to a specific site on the enzyme known as the active site that contain the catalytic groups that catalyze the reaction. The substrates are bound to the enzyme by multiple weak interactions mediated by electrostatic bonds, hydrogen bonds, van der Walls forces and hydrophobic interactions.

Enzyme catalysis (Michaelis-Menten Kinetics) is a simplification of the two step reaction scheme given in the first equations below.. This can be reduced to the second equation below with the rate coefficients being subsumed into two constants describing the reaction; Km and Vmax.

(20-6)

(20-7)

Where E is an enzyme serving as a catalyst, S is the substrate, P is the product, and ES is the substrate/enzyme complex. The reaction kinetics for the substrate and product can be modeled using the rate expressions given in the following equations.

(20-8)

(20-9)

Where Vmax is the maximum rate of product formation, and Km is the Michaelis constant for the system. CFD-ACE+ enables you to specify stoichiometry for an enzyme catalysis reaction. The case of urea decomposition by the urease enzyme to form two ammonia molecules is an practical of where specifying stoichiometry is important.

Biochemistry Theory-Capabilities

The biochemistry module is capable of simulating the following different phenomena:

Page 435: Cfd-Ace v2008.2 User Manual

Applications: Biochemistry

423

1. Irreversible Binding: In this scenario, analyte A binds with receptor B and then the complex undergoes a conformational change leading to an irreversible state.

A+B⇔AB

AB⇒AB*

2. Multiple Analytes (Competitive Binding): Two or more analytes (A and A*) compete for the same receptor (B)

A+B⇔AB

A*+B⇔A*B

3. Multiple Analyte (Non Competitive Binding): Two analytes (A and A*) bind independently to two different receptors (B and B*).

A+B⇔AB

A*+B*⇔A*B*

Non-reactive Impermeable Wall Boundary Condition

At non-reaction surfaces the flux of analyte is set to zero for all species:

(20-10)

Where is the unit normal at the surface, oriented into the computational domain.

Page 436: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

424

Fixed Molar Flux Wall Boundary Condition

A fixed molar flux wall boundary condition imposes a fixed incoming diffusive flux (αj) of biochemical species.

(20-11)

Where is the unit normal at the surface, oriented into the computational domain. Fixed Concentration Wall Boundary Condition

A fixed concentration wall boundary condition imposes a fixed concentration (mol/L) of biochemical species at a wall.

(20-12)

Combination of Fixed Flux and Fixed Concentration

A wall boundary condition that imposes a fixed value or the linear combination of fixed flux and fixed concentration of biochemical species is available in this release. Where you provide values of a, b, and h.

(20-13)

Where is the unit normal at the surface, oriented into the computational domain. Reactive Wall: Reaction/Diffusion Balance

The figure below illustrates the application of the surface binding kinetics model for simulation of multi-protein adsorption on a bio-material surface different processes of adsorption, desorption and irreversible adsorption of multiple species along the surface, are.

Page 437: Cfd-Ace v2008.2 User Manual

Applications: Biochemistry

425

Protein Adsorption Process

At a reactive surface there are two types of species; analytes and surface phase species. Analytes are in the flow domain and have concentrations of mol/L, while surface phase species are found only on surfaces and have concentrations of mol/m2. Each species must satisfy a balance equation at a reactive surface depending on the type of species. For surface phase species the following balance equation is applied.

(20-14)

For analyte species, another balance equation is used:

(20-15)

This equation assumes a quasi-steady approximation for the analyte species, where the net flux of each species from the bulk solution towards the near wall layer balances the production rate of that species at the surface. For spray particles the Fickian diffusion term is replaced by a flux term described by a mass transfer coefficient Kj. For more information on the calculation of the mass transfer coefficient on a spray particle please refer to the spray chapter. For more information on spray source terms used in the mass balance equation, refer to the Spray Module.

(20-16)

VOF Module Air/Liquid Interface Boundary Condition

Biochemical species are not permitted to cross an air/liquid interface and species from the gas are not allowed to transfer into the liquid. No chemistry occurs at the air/liquid interface. The condition that is imposed for biochemical species at an air/liquid interface is:

Page 438: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

426

(20-17)

Where is the unit normal of the air/liquid interface. Inlet Boundary Conditions

The available conditions for an inlet are constant analyte concentration for each analyte species, profile of concentration in time, profile of concentration from a file, parametric input, and specification of concentration using user subroutines. Outlet Boundary Conditions

An outflow boundary condition is imposed on all outlets, whereby the species flux at an outlet is purely convective. Initial Conditions

Initial conditions for surface and volume concentrations can be imposed through CFD-ACE+, or using a user subroutine.

Biochemistry Theory-Surface Reaction Data Output

If surface chemistry is being performed, then three data files are output:

• filename_patchname_Near_Surf_Conc.DAT: This file contains the near surface concentrations (mol/L) of the analyte species. The file contains a brief 3 line description of the problem followed by columns of data. The first column will be time for unsteady problems, and iteration number for steady state chemistry. The subsequent columns the values of analyte concentration averaged over the surface of patchname.

• filename_patchname_Surf_Conc.DAT: This file contains the surface concentrations (mol/m2) of the surface species. The file contains a brief 3 line description of the problem followed by columns of data. The first column will be time for unsteady problems, and iteration number for steady state chemistry. The subsequent columns the values of surface concentration averaged over the surface of patchname.

• filename_patchname_RXN_rate.DAT: This file contains the rates of reaction for both analytes and surface species(mol/m2-sec). The file contains a brief 3 line description of the problem followed by columns of data. The first column will be time for unsteady problems, and iteration number for steady state chemistry. The subsequent columns the values of reaction rate averaged over the surface of patchname.

Biochemistry Theory-Graphical Output for Post Processing

The analyte concentrations (mol/L) are written to the DTF file under the name speciesName_mole. The surface phase species concentrations (mol/m2) are written to the DTF file under the name speciesName(R).

Biochemistry-Implementation

Biochemistry Implementation Introduction

The Implementation section gives details about how to setup a model for simulation with CFD-ACE+.

Page 439: Cfd-Ace v2008.2 User Manual

Applications: Biochemistry

427

• Grid Generation - Describes the types of grids that are allowed and general gridding guidelines

• Model Setup and Solution - Describes the Biochemistry related inputs to the CFD-ACE-Solver

• Post Processing - Provides tips on what to look for in the solution output

Biochemistry Implementation-Grid Generation

The Biochemistry application problems can be applied to any geometric system (3D, 2D planar, or 2D axisymmetric). All grid cell types are supported (quad, tri, hex, tet, prism, poly).

The general grid generation concerns apply, i.e., ensure that the grid density is sufficient to resolve solution gradients, minimize skewness in the grid system, and locate computational boundaries in areas where boundary values are well known.

Implementation-Model Setup and Solution

Biochemistry Implementation-Model Setup and Solution-Introduction

CFD-ACE+ provides the inputs required for the Biochemistry Module. Model setup and solution requires data for the following panels:

• Problem Type

• Model Options

• Volume Conditions • Boundary Conditions

• Initial Conditions

• Solver Controls

• Output Biochemistry Implementation-Model Setup and Solution-Problem Type

Click the Problem Type [PT] tab to see the Problem Type Panel. See Control Panel-Problem Type for details. Available Modules

Under the Modules section, select Chemistry to set up Biochemistry problems. The Flow Module is also required for Biochemistry simulations.

Biochemistry Implementation-Model Setup and Solution-Model Options

Click the Model Options [MO] tab to see the Model Options Panel. See Control Panel-Model Options for details. Shared Tab

There are no settings under the Shared tab that relate to the Bio-Chemistry Module. Chem Tab

Select Liquid Phase as chemistry media. Under liquid chemistry, select Biochemistry as the application.

Page 440: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

428

Model Options - Chem Tab

Binary Diffusion

Use binary diffusion to simulate liquid mixing. Upon activation Binary Diffusion, the model options appears as follows:

Binary Diffusion Option

Where you have to enter Solvent Species name and molar volumes of Solvent and Solute. Currently this method is limited to mixing of two liquids only. Bulk Reaction

When you select Bulk Reaction, the model options appears:

Page 441: Cfd-Ace v2008.2 User Manual

Applications: Biochemistry

429

Liquid Phase Model Options

Select Volume Reaction from the pull down menu. The mechanism of the volume reaction can be defined in the database. Refer to frequently asked questions for mechanism set up in the database. Ionization

Activate the Ionization checkbox for Ionization problems. See Electrokinetics for details on Ionization theory and problem set up.

Biochemistry Implementation-Model Setup and Solution-Volume Conditions

Click the Volume Conditions [VC] tab to show the Volume Condition Panel. See Control Panel-Volume Conditions for details. Before any volume condition information can be assigned, one or more volume condition entities must be made active by picking valid entities from either the Viewer Window or the VC Explorer.

With the volume condition setting mode set to Properties select any volume conditions and ensure that the volume condition type is set to Fluid. Only volume conditions that are of type Fluid need to have biochemical properties specified (since there is no flow in solid or blocked regions there are no diffusion properties for those regions.)

The volume condition property required by chemistry module is Diffusivity of different analytes used in the mechanism. Typical input panel is shown below. The diffusivity can be either constant value or user defined.

Page 442: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

430

Volume Conditions

Model Setup and Solution-Boundary Conditions

Biochemistry Implementation-Model Setup and Solution-Boundary Conditions-Introduction

Click the Boundary Conditions [BC] tab to see the Boundary Conditions Panel. See Control Panel-Boundary Conditions for details. Before any boundary values can be assigned, one or more boundary condition entities must be made active by picking valid entities from either the Viewer Window or the BC Explorer.

The Bio-Chemistry application is fully supported by the Cyclic, Thin Wall, and Arbitrary Interface boundary conditions. (See Cyclic Boundary Conditions, Thin-Wall Boundary Conditions or Arbitrary Interface Boundary Conditions for details).

All of the general boundary conditions for the Biochemistry applications are located under the Chemistry (Chem) tab and can be reached when the boundary condition setting mode is set to General. Each boundary condition is assigned a type (e.g., Inlet, Outlet, Wall, etc.). See BC Type.

You also have the option to prescribe time-dependent concentration or user-defined concentration boundary conditions similar to that done Scalar Module (see User Scalar Module). This option must be used to specify time-varying inlet concentrations boundary conditions in the code. (For example, when simulating a plug of the sample analyte entering the flowing domain.) Inlets

The concentration of each analyte is required for the inlet boundary conditions. Walls

Page 443: Cfd-Ace v2008.2 User Manual

Applications: Biochemistry

431

Each wall boundary condition by default is of subtype Zero Flux. From the pull down menu you can select Surface Reaction or Analyte Specification options.

The Boundary Conditions section includes:

• Boundary Conditions-Surface Reaction

• Boundary Conditions-Analyte Specification Biochemistry Implementation-Model Setup and Solution-Boundary Conditions-Surface Reaction

This can be selected to model surface reaction on any wall patches. Input panel is shown below:

Boundary Conditions - Chemistry Tab

Select Surface Reaction from the pull down menu. The mechanism of the surface reaction can be defined in database. Please refer frequently asked questions for mechanism set up in database. Biochemistry Implementation-Model Setup and Solution-Boundary Condition-Analyte Specification

This can be selected to impose a fixed value or the linear combination of fixed flux and fixed concentration of biochemical species.

Fixed Flux

Apply Fixed Flux of biochemical species (Analyte) on wall boundary condition. Typical input panel is shown below:

Page 444: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

432

Boundary Conditions - Wall Option

Fixed Value

This can be used to apply Fixed Concentration Value of biochemical species (Analyte) on wall boundary condition. Typical input panel is shown below:

Page 445: Cfd-Ace v2008.2 User Manual

Applications: Biochemistry

433

Boundary Conditions - Fixed Value

Combination

This can be used to apply Combination of Fixed Flux and Fixed Value of biochemical species (Analyte) on wall boundary condition. Typical input panel is shown below:

Page 446: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

434

Boundary Condition - Analyte Specification

Here a, b and c is user-entered data, where c can be either in kmol/m3 or kmol/m2-sec. For details, refer to the Theory section.

Biochemistry Implementation-Model Setup and Solution-Initial Conditions

Click the Initial Conditions [IC] tab to see the Initial Condition Panel. See Control Panel-Initial Conditions for details.

Page 447: Cfd-Ace v2008.2 User Manual

Applications: Biochemistry

435

Initial Conditions Tab

You can specify initial conditions as constant values or read from a previously run solution file. If constant values are specified then you must provide initial values required by Chemistry module for biochemistry applications. The values can be found under the Chem tab. The initial concentration of each Analyte is required.

Although, for steady state calculations, the Initial Condition values do not affect the final solution, reasonable values should be specified so that the solution does not have convergence problems at start-up.

Model Setup and Solution-Solver Controls

Biochemistry Implementation-Model Setup and Solution-Solver Control Introduction

Click the Solver Control [SC] tab to see the Solver Control Panel and obtain access to the settings that control the numerical aspects of the CFD-ACE-Solver.

• Spatial Differencing Scheme

• Solver Selection

• Under-Relaxation Parameters

• Variable Limits • Output Options

• Printed Output

• Graphical Output Biochemistry Implementation-Model Setup and Solution-Solver Control-Spatial Differencing Scheme

Under the Spatial Differencing tab, select the differencing method to be used for the convective terms in the equations. Activating the Biochemistry Module enables you to set the analyte calculations. The default method is first order upwind. See Spatial Differencing Scheme for more information on the different differencing schemes available. Also see Discretization for numerical details of the differencing schemes. Biochemistry Implementation-Model Setup and Solution-Solver Control-Solver Selection

Under the Solvers tab, select the linear equation solver to be used for each set of equations. Activating the Biochemistry application enables you to set the analyte equations. The default linear equation solver is the conjugate gradient squared + preconditioning (CGS+Pre) solver with 50 sweeps and a convergence criteria of 0.0001. See Solver Selection for more information on the different linear equation solvers available. See Linear Equation Solvers for numerical details of the linear equation solvers.

Page 448: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

436

Biochemistry Implementation-Model Setup and Solution-Solver Control-Under Relaxation Parameters

Under the Relaxation tab, select the amount of under-relaxation to be applied for each of the dependent (solved) equations. Activating the Biochemistry Module enables you to set the analyte dependent variables. See Under Relaxation Parameters for details on the mechanics of setting the under relaxation values. See Numerical Methods-Under Relaxation for numerical details of how under-relaxation is applied.

The analyte equations use an inertial under relaxation scheme and the default values are 0.2. Increasing this value applies more under relaxation and therefore adds stability to the solution at the cost of slower convergence.

The default values for all of the under relaxation settings will often be sufficient. In some cases, these settings will have to be changed, usually by increasing the amount of under relaxation that is applied. There are no general rules for these settings and only past experience can be a guide. Biochemistry Implementation-Model Setup and Solution-Solver Control-Variable Limits

Settings for minimum and maximum allowed variable values can be found under the Limits tab. CFD-ACE+ will ensure that the value of any given variable will always remain within these limits by clamping the value. Activating the Biochemistry Module enables you to set limits for the analyte variables. See Control Panel-Solver Controls-Variable Limits for details on how limits are applied.

Model Setup and Solution-Output

Biochemistry Implementation-Model Setup and Solution-Output-Output Introduction

There are no settings under the Output tab that effect the Biochemistry Module. The Output section includes:

• Output-Graphical Output

• Output-Printed Output Biochemistry Implementation-Model Setup and Solution-Output-Graphical Output

Under the Graphics tab, select the variables to output to the graphics file (modelname.DTF). These variables will then be available for viewing and analyzing in CFD-VIEW. Activating the Biochemistry module allows output of the variables listed:

Flow Module Related Graphics Output

Variable Units

Analyte Concentrations Kmoles/m3

Analyte Diffusivity m2/sec

Page 449: Cfd-Ace v2008.2 User Manual

Applications: Biochemistry

437

Biochemistry Implementation-Model Setup and Solution-Output-Printed Output

Under the Print tab, select the printed information to be written to the text based output file (modelname.out). Activating the Binding Kinetics option automatically outputs surface concentration, irreversible concentration, and analyte near wall concentration data to files (modelname_Surface_conc.DAT, modelname_Irreversible_con.DAT and modelname_Wall_conc.DAT) in addition to the general printed output options.

See Control Panel-Printed Output for details on the general printed output options including boundary condition integral output, diagnostics and monitor point output.

Biochemistry Implementation-Post Processing

Use the DTF file to view results. For transient runs, at the end of every time step, surface and volume concentrations for each species (receptors and analytes) will be reported in text files. A list of Biochemistry post processing variables is shown below:

Post Processing Variables

Variable Definition Units

D_AnalyteName Diffusivity m2/s

Receptor(R) Surface Concentration moles/m2

AnalyteName Analyte Concentration M

J_AnalyteName Analyte Flux in x, y and z Kg/ m2-s

J_ReceptorName Receptor Flux in x, y and z Kg/ m2-s

Biochemistry Frequently Asked Questions How do I activate Biochemistry?

1. PT-> Select the Flow and Chemistry modules

2. MO-> Chem: Select Chemistry media as Liquid Phase

3. MO-> Chem-> Chemistry Media-> Liquid Chemistry - Chem: Select Application as Biochemistry

4. MO-> Chem-> Liquid Phase-> Application-> Biochemistry

Page 450: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

438

Model Options - Chemistry Tab

How do I define buffers?

1. Open Database - Tools-> Database.

2. Click on Buffer under Biochemistry - Biochemistry-> Buffer.

3. Click on Local Folder.

4. Click on File/New/Buffer.

5. Type the Buffer Name and enter the required physical, transport, thermal and electromagnetic properties.

Page 451: Cfd-Ace v2008.2 User Manual

Applications: Biochemistry

439

Database Manager - Buffer Name

How do I define Analytes?

1. Open the Database by selecting Tools-> Database.

2. Click on Analytes under Biochemistry - Biochemistry-> Analyte.

3. Click on Local Folder.

4. Click on File/New/Analyte.

5. Type the Analyte Name and Select the Type.

6. Type-> Protein or Ampholyte or DNA/RNA or Ions.

7. Enter the required molecular and chemical properties.

Database Manager - Analyte Name

How do I define Analyte Diffusivity and Mobility?

1. Open Database - Tools-> Database.

2. Click on Mixing rule under Biochemistry Biochemistry-> Mixing Rule.

3. Click on Local Folder.

4. Click on File/New/Rule.

5. Type the Rule Name.

6. From the list of Buffers, select a Buffer.

7. From the list of Analytes, select one Analyte, click on Add and choose a method for Diffusivity and Mobility. Enter values if required. Diffusivity-> Constant-> 1e-011 - Mobility-> Constant-> 1e-011

8. From the list of Analytes, select other Analytes of interest and follow the previous step to define Diffusivity and Mobility.

Page 452: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

440

Database Manager - Rule Name

How do I define Receptors? 1. Open Database - Tools-> Database.

2. Click on Receptors under Biochemistry - Biochemistry-> Receptors.

3. Click on Local Folder.

4. Click on File/New/Receptors.

5. Type the Receptor Name and Select the Type - Type-> Reversible Complex or Irreversible complex.

Page 453: Cfd-Ace v2008.2 User Manual

Applications: Biochemistry

441

Database Manager - Receptor Name

How do I define Receptor density? 1. Open Database - Tools-> Database.

2. Click on Receptor Group under Biochemistry - Biochemistry-> Receptor Group.

3. Click on Local Folder.

4. Click on File/New/Group.

5. Type the Group Name and enter Surface Density.

6. From the list of available Receptors, pick the one that belongs to current group and hit Add button. You will see that Receptor name in Receptor list.

7. Enter the Initial Receptor Fraction of that Receptor.

8. Repeat last two steps if you have more than one receptor in the group.

Page 454: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

442

Database Manager - Receptor Group

How do I define Bulk Reaction?

Let's say the bulk reaction is:

m*A1 + n*A2 <->r* P1 +s* P2

Forward Reaction rate: 1e+06

Reverse Reaction Rate: 0.001 1. Open Database - Tools-> Database.

2. Define Analytes A1, A2, P1 and P2 as discussed above (in questions 3 and 4).

3. Click on Volume Reactions under Biochemistry - Biochemistry-> Volume Reactions.

4. Click on Local Folder.

5. Click on File/New/Mechanism.

6. Type the Mechanism Name - Mechanism Name-> Bulk_Reaction.

7. Type the reaction in Equation type in box - Equation: m A1 + nA2 <->r P1 + sP2. Alternately, you can also select the Analyte from list of Analytes and double click on it, it will appear in equation type in box).

8. Select the Reaction Type for the current reaction step - Reaction Type-> Stoichiometric.

9. Enter the Forward and Reverse reaction rates: Forward Reaction Rates-> Kinetic Coefficient-> 1e+06 Reverse Reaction Rates-> Kinetic Coefficient-> 0.001

Page 455: Cfd-Ace v2008.2 User Manual

Applications: Biochemistry

443

Database Manager - Volume Reactions

How do I define Surface reaction (Binding kinetics)?

Let's say the Surface reaction is:

A1+R1<->A1R1 -> A1R1_IRR

Forward Reaction rate: 1e+06

Reverse Reaction Rate: 0.001

Irreversible Reaction Rate: 1E+04

The above mechanism is actually set of two reaction steps:

1. A1 + R1 <-> A1R1

2. A1R1 -> A1R1_IRR

Where:

A1 = Analyte of type Proteins or Ions or …

R1 = Receptor of type Reversible Complex or Receptor or …

A1R1 = Receptor of type Reversible Complex

A1R1* = Receptor of type Irreversible Complex

1. Open Database - Tools-> Database

2. Define Analyte A1 as discussed above (in questions 3 and 4)

Page 456: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

444

3. Define Receptors R1, A1R1_IRR and A1R1 as discussed above (in question 5) Receptor Type R1 Passive Binding Site A1R1 Reversible complex A1R1_IRR Irreversible Complex

4. Define Receptor group and enter Surface Density as discussed above (in question 6) Group Name -> Reaction_Site Surface Density-> 1E-06 With, Receptors Initial Fractions R1 1 A1R1 0

5. Click on Surface Reactions under Biochemistry - Biochemistry-> Surface Reactions

6. Click on Local Folder

7. Click on File/New/Mechanism

8. Type the Mechanism Name - Mechanism Name-> Surf_Reaction

9. Type the reaction in Equation type in box = Equation: A1 + R1 <-> A1R1 (Alternately, you can also select the Analyte and Receptors from list of Analytes and receptors and double click on it, it will appear in equation type in box)

10. Select the Reaction Type for the current reaction step - Reaction Type-> Stoichiometric

11. Enter the Forward and Reverse reaction rates Forward Reaction Rates-> Kinetic Coefficient-> 1e+06 Reverse Reaction Rates-> Kinetic Coefficient-> 0.001

12. Click on Add Step to type the Second reaction in Equation type in box - Equation: A1R1 -> A1R1* (Alternately, you can also select the Receptors from list of Receptors and double click on it, it will appear in equation type in box)

13. Select the Reaction Type for the current reaction step - Reaction Type-> Stoichiometric

14. Enter the Irreversible reaction rate (Which is Forward Reaction rate for this step) - Forward Reaction Rates-> Kinetic Coefficient-> 1e+04

Page 457: Cfd-Ace v2008.2 User Manual

Applications: Biochemistry

445

Database Manager - Surface Reactions

How do I define Bulk Enzyme reaction?

Let's say the Enzyme reaction is: (Assuming Enzyme is in excess and everywhere in bulk)

A1 -> P1

(Substrate) (Product)

Km : 1e+03

Vmax : 1.0

1. Open Database - Tools-> Database

2. Define Analytes A1and P1 as discussed above (in questions 3 and 4)

3. Click on Volume Reactions under Biochemistry - Biochemistry-> Volume Reactions

4. Click on Local Folder

5. Click on File/New/Mechanism

6. Type the Mechanism Name - Mechanism Name-> Bulk_enzyme_Reaction

7. Type the reaction in Equation type in box - Equation: A1 ->P1

8. Select the Reaction Type for the given step. Reaction Type-> Michaelis Menten

9. Enter Km and Vmax values - Reaction Rates-> Km -> 1e+03; Reaction Rates-> Vmax -> 1e+03

Page 458: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

446

Database Manager - Volume Reaction - Mechanism Name

How do I define Surface Enzyme reaction?

Let's say the Enzyme reaction is: (Assuming the enzyme is in excess and immobilized on surface)

A1 -> P1

(Substrate) (Product)

Km : 1e+03

Vmax : 1.0

1. Open Database - Tools-> Database

2. Define Analytes A1and P1 as discussed above (in questions 3 and 4)

3. Click on Surface Reactions under Biochemistry - Biochemistry-> Surface Reactions

4. Click on Local Folder

5. Click on File/New/Mechanism

6. Type the Mechanism Name - Mechanism Name-> Surface_enzyme_Reaction

7. Type the reaction in Equation type in box - Equation: A1 ->P1

8. Select the Reaction Type for the given step. Reaction Type-> Michaelis Menten

9. Enter Km and Vmax values: Reaction Rates-> Km -> 1e+03; Reaction Rates-> Vmax -> 1e+03

Page 459: Cfd-Ace v2008.2 User Manual

Applications: Biochemistry

447

Database Manager - Surface Reactions - Mechanism Name

For the well-mixed case, why am I not getting an exponential curve for the binding?

Calculate the product of the bulk concentration of the analyte, Ci and the adsorption coefficient, ka. The inverse of the product gives the time required for maximum binding. Your time step may be too large to allow satisfactory resolution of the binding curve. Reduce your time steps to allow at least 10 time steps before you reach this characteristic binding time.

Can I have both enzyme kinetics and protein binding on the same boundary?

No, at present, you cannot activate both enzyme catalysis and protein binding on the same boundary. However, you can run both enzyme catalysis and protein binding in the same simulation.

Can I have more than one substrate and one product for each enzyme catalysis?

No, currently the catalysis reaction is limited to one substrate and one product for each enzyme.

How many analytes can be specified for a single bulk reaction?

You can specify a maximum of two analytes as reactants and two analytes as products.

What Spatial Differencing Schemes should I use?

It is recommended to use higher order differential schemes (other than upwind) to minimize effects of numerical diffusion.

How can I cut down on computational time for my simulations?

Page 460: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

448

If you are flowing analytes in a constant buffer solution, it is advisable to converge a steady state of flow with the properties of the buffer. Once the flow has reached desirable convergence, start your protein binding/enzyme catalysis with the initial condition set to the flow solution. In the solver condition for Velocity and Pressure, set the number of sweeps to zero. Now the solver maintains the flow at the steady rate and only solves for analytes, thereby cutting computational time.

Biochemistry References Bailey, J.E., and Ollis, D.F., "Biochemical Engineering Fundamentals." 2nd edition, McGraw-Hill,

1986. Myszka, D.G., et al, “Kinetic Analysis of a Protein Antigen-Antibody Interaction Limited by Mass

Transport on an Optical Biosensor.” Biophysical Chemistry, 64:127-137, 1997.

Page 461: Cfd-Ace v2008.2 User Manual

449

Applications: Electroplating Electroplating Introduction Electroplating is the oldest industrial application of electrochemical reactions where metals or alloys from metallic ions in electrolytes are deposited on a substrate. Plating enables engineers to tailor a deposit’s mechanical, electrical and magnetic properties and resistance to corrosion. Electroplating has significant applications in present day industry, ranging from microelectronics to metallurgy. Global competitive pressure has caused the microelectronic manufacturers to develop high yield cost effective devices using electrochemical processes. Electrochemical methods are used to create thin- and thick-film-patterned microstructures.

The Electroplating model includes:

• Electroplating-Applications

• Electroplating-Features

• Electroplating-Theory

• Electroplating-Limitations

Electroplating Applications Modeling the electrochemical deposition processes will help engineers select appropriate operating conditions, so that uniform plating thickness is achieved. Engineers may want to operate at an appreciable fraction of limiting current to have uniform deposition (due to possible contamination at the diffusion limit). To achieve this goal, it is essential to consider the concentration variation near the electrodes, surface overpotential associated with electrode reactions and ohmic potential drop in the bulk solution. These problems are inherently of greater complexity than potential theory or other simple models for advection-diffusion transport. Hence a full-scale modeling analysis is required.

Page 462: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

450

Schematic of Electroplating Copper

Where Can Modeling Help?

From a reactor scale point of view, modeling can be used as a guide to enhance plating efficiency, achieve uniform plating thickness, improve deposit quality, and optimize the design of reactor geometry. From a feature scale point of view, modeling can be used to optimize the filling of trenches and vias, and prevent the occurrence of voids (i.e., superfilling).

Electroplating Features The physics involved in an electroplating process are complex. These include multi-dimensional transports of electrolyte flow, ion species, additives, electric current flow, and the transient deposition and dissolution of metals via electrochemical reactions. In terms of modeling methodology, simulating the process is further complicated by implementation issues such as (1) nonlinear Butler-Volmer condition on the reaction surfaces, and (2) numerical cells with large aspect ratios and large differences in electrical conductivity at the interface between the electrolyte and the seed layer. All these potential problems make the numerical simulation of electroplating processes a very challenging issue.

The present model has special numerical techniques that enable the user to obtain converged solution smoothly. The model has been developed using observations from various numerical models developed at ESI CFD over the past several years and a large number of investigations done by other research groups presented at conferences and reported in literature. As a result, CFD-ACE+ has the following specific advanced features:

• Multi-Species transport including charged or neutral species, multi-step surface reactions including both electrochemical and neutral chemical reactions, and multi-species deposition including metal and non-metal can be handled in the electroplating process. This feature enables the study of additive effect on the deposit quality and uniformity.

• Multiple options for the distribution of surface current density on electrochemical reaction surfaces are available. These options include distributions of primary current, secondary current, tertiary current, and limiting current.

Page 463: Cfd-Ace v2008.2 User Manual

Applications: Electroplating

451

• Heat transfer in an electroplating process can be resolved. The heat generated due to Joule heating and electrochemical reactions is now considered in the transport of energy within an electroplating system.

• The effect of the growth of the deposited layer on the electrical conductivity of the seed layer is fully accounted for.

• A scaling factor is now available to facilitate modeling of the seed layer. For semiconductor applications, the aspect ratio of the seed layer typically is very high (~ 5 to 6 orders). This makes the meshing and the condition setup for seed layer extremely difficulty. With the use of this new feature, the aspect ratio for the seed layer can be decreased to one order and therefore tremendously simplify the meshing and setup procedures.

• The initial profile of the seed layer thickness is allowed to be non-uniform. This profile can be two-dimensional or three-dimensional and it is input from the GUI using a text file.

Electroplating Theory Electroplating involves fluid flow of electrolyte, transport of charged and neutral species, and electrochemical reactions on electrode surfaces. The specific equations for fluid flow are conservation of mass and momentum. The transport equation for species is given by:

(21-1)

where Ci is the concentration of species i, U is the velocity of bulk flow, z is the valence, ω is the mobility, E is the electric field, and J is the diffusion flux. The third term on the left hand side of the above equation represents the drift flux driven by electric force. This term does not apply for the transport of neutral species.

In an electroplating problem, you need to compute the transport of electrical current flow. For this, the present model solves one additional equation: the conduction equation for electric current in the electroplating system, which is given by:

(21-2)

where σ is the electrical conductivity, φ is the electrical potential, and F is the Faraday constant. The first term on the right hand side of the above equation represents the source due to ion convection. The second term on the right hand side of the above equation represents the source due to ion diffusion. These two terms are dropped from the model based on the assumptions of electrical neutrality and equal diffusion coefficients among charged species.

If heat transfer is considered, one additional equation, conservation of energy, is solved. The energy equation, expressed based on the transport of enthalpy, is given by:

(21-3)

Page 464: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

452

where ρ represents the density, η represents the enthalpy, q represents the conduction heat flux, τ represents the shear stress, and p represents the pressure. The last term on the right hand side of the above equation is the Joule heating term. There is an additional source (not shown in the above equation) generated from the electrochemical reaction on electrode surfaces. This source, treated as a boundary condition for energy on the reaction surfaces, is expressed as:

(21-4)

where η is the potential drop and JT is the transfer current density across the interface of the electrolyte and the electrode.

Surface Reactions

CFD-ACE+ is capable of including both neutral and electrochemical reactions in a mechanism. For neutral reactions, the reaction forms follow those as explained in the Chemistry module manual. For electrochemical reactions, the reaction rate is expressed by the ratio of the transfer current density, the Faraday constant, and the stoichiometric coefficients of the products and reactants (e.g., see Equation 21-1). The transfer current density is then calculated based on the continuity of current density across the reaction surface. There are four models available for calculating this transfer current density in CFD-ACE+ as discussed below.

Tertiary

The most comprehensive model in CFD-ACE+ for calculating the transfer current density assumes a tertiary current distribution. This model considers the effects of both concentration overpotential (i.e., concentration and its gradient on the reaction surfaces) and surface overpotential (i.e., potential drops across the reaction surfaces) on the reaction rate, e.g., see figure below, and is expressed as:

(21-5)

where the subscript “e” represents electrolyte, subscript “m” represent deposited metal, and subscript “k” represents the reaction index. In the above equation, the first term represents the ion flux transported to the reaction surface. This term is equal to the current density conducted from the electrolyte to the reaction surface (i.e., the second term in the above equation). Based on the continuity of current density, the current density conducted from electrolyte to the reaction surface is equal to that conducted from the reaction surface to the deposited metal (i.e., the third term in the above equation) and also equal to the transfer current density generated due to the electrochemical reactions on the reaction surface (i.e., the fourth term in the above equation).

This model is closed by the concentration-dependent Butler-Volmer condition that expresses the transfer current density as a function of surface overpotential and the surface concentrations of ionic species, i.e.:

(21-6)

Page 465: Cfd-Ace v2008.2 User Manual

Applications: Electroplating

453

where j0 represents the exchange current density, and αa and αc represent the anodic and cathodic transfer coefficients, respectively. The surface overpotential η is defined as (φm - φe - φ0), where φ0 is the equilibrium open-circuit potential relative to a reference electrode.

A schematic showing the concentration gradient (concentration overpotential) and the potential drop (surface overpotential) on an electrochemical reaction surface

Secondary

The second model in CFD-ACE+ adopts the secondary current distribution. This model assumes the distributions of ion concentrations are uniform and the migration of ions due to electric force is negligible. Under these assumptions, the first term in Equation (21-5) and the concentration-dependent term in Equation (21-6) are dropped. After combining these two equations, the current density across the reaction surface is expressed as:

(21-7)

Primary

The third model in CFD-ACE+ constitutes only the primary current distribution. It is simplified from the secondary current distribution model with the assumption of zero surface overpotential. Under this assumption, the third term in Equation (21-7) is dropped and the current density across the reaction surface is given by:

(21-8)

Limiting

The final model in CFD-ACE+ is the limiting current distribution model. This model assumes the surface over potential is sufficiently high such that all reacting ions reaching the reaction surfaces are totally consumed. Under such conditions, the transfer current density is expressed as:

Page 466: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

454

(21-9)

Electroplating Limitations Despite these advanced models, CFD-ACE+ has certain limitations for simulating electroplating processes:

• Electrochemical reaction surfaces have to align with X, Y, or Z coordinates to correctly account for the electrical conduction in the thin deposited layer.

• The electroplating model currently does not support feature scale simulations.

• The electroplating model currently is not suitable for high concentration electrolyte.

• The scaling factor for seed layer should not exceed 6 orders.

• The scaling factor for seedlayer thickness can be assingned only in one direction. For e.g. if the seedlayer thickness has been specified in X direction then it should not be specified in Y or Z directions.

Electroplating-Implementation

Electroplating Implementation-Introduction

The Implementation section describes how to setup a model for simulation using the Electroplating model. The Electroplating Implementation section includes:

• Grid Generation - Describes the types of grids that are allowed and general gridding guidelines

• Model Setup and Solution - Describes the Electroplating model related inputs to the CFD-ACE-Solver

• Post Processing - Provides tips on what to look for in the solution output

Electroplating Implementation-Grid Generation

The Electroplating model can be applied to any geometric system (3D, 2D planar, or 2D axisymmetric). Furthermore all grid cell types are supported (quad, tri, hex, tet, prism, poly).

The general grid generation concerns apply, i.e., ensure that the grid density is sufficient to resolve solution gradients, minimize skewness in the grid system, and locate computational boundaries in areas where boundary values are well known.

It is recommended that you name the cathode boundary condition as cathode and anode boundary condition as anode in CFD-GEOM during BC settings. The code automatically solves Butler-Volmer condition at these (named) interfaces.

Implementation-Model Setup and Solution

Electroplating Implementation-Model Setup and Solution-Introduction

CFD-ACE+ provides the inputs required for the Electroplating model. Model setup and solution requires data for the following panels:

Page 467: Cfd-Ace v2008.2 User Manual

Applications: Electroplating

455

• Problem Type

• Model Options

• Volume Conditions

• Boundary Conditions

• Initial Conditions • Solver Control

Electroplating Implementation-Model Setup and Solution-Problem Type

Under the Available Modules section, select Flow, Chemistry, and Electric modules to activate the Electroplating model. The Flow Module is required for electroplating simulations so it will be activated automatically. The Electroplating model should not be run with the Heat Transfer, Turbulence, or Cavitation Modules.

Electroplating Implementation-Model Setup and Solution-Model Options

Under the Chemistry Model options, set the Chemistry Media to Liquid Phase, set the Applications of Liquid Phase to General Liquid Chemistry, and click on the Solve Concentration option.

Under the Electric Model options, select DC Conduction as the Electric Field option, click on the Electroplating option, and choose the appropriate option for surface current distribution.

Electroplating Implementation-Model Setup and Solution-Volume Conditions

All of the general volume condition settings apply.

Electroplating Implementation-Model Setup and Solution-Boundary Conditions-Introduction

All of the general boundary condition settings apply.

To set up the electrochemical reactions: 1. Select the interfaces between the electrodes and the electrolyte.

2. Under the Chemistry Model options, select Surface Reaction as the subtype boundary condition.

3. Choose the reaction mechanism from Surf React Name.

Electroplating Implementation-Model Setup and Solution-Initial Conditions

All of the general initial condition settings apply. To set up the scaling factor for seed layer, first select the volume condition corresponding to the seed layer. Next, under the Electric Model options, input the initial average value or profile for seed layer thickness. The ratio of this input value and the thickness value you set up from the grid file will be the scaling factor. The default value for seed layer thickness is zero. Under such condition, the model assumes no scaling for seed layer.

For the profile from file option for the average seed layer thickness, the format is: # no_of_points prof_method profile_fit

profile_x/y/z/t value(s) prof_var value(s)

Page 468: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

456

where no_of_points is total number of profile points, prof_method is profile method (profile_x/y/z/t), prof_var is allowed profile variable (e.g., x,y,z,t), profile_fit is curve fit method (spline/linear), profile_x/y/z/t value(s) are values of the independent variable x/y/z/t, and prof_var value(s) are values of dependent variable, i.e. the seed layer thickness. Here is an example input file:

# 3 PROFILE_Y LINEAR

0.0 0.1

0.1 0.2

Electroplating Implementation-Model Setup and Solution-Solver Control-Introduction

There are no special solver control settings required for electroplating modeling except for the inertial relaxation factor for the electric potential. This value is recommended to be no larger than 10E-10, to enhance the convergence speed.

Electroplating Implementation-Model Setup and Solution-Solver Control-Output

To activate the graphic outputs for the surface current density, the surface overpotential, the deposition rate, and the deposit thickness on the reaction surfaces, click the Deposition Rate option under the liquid chemistry category. The representative symbols for these outputs in CFD-VIEW are Surf_current, Surf_Over_P, Dep_species name, and Dep_Thickness, respectively. A text output file for these variables is also available by adding an integer variable into DTF file:

EPLATE_TXT_OUTPUT int 1 1

The name of this output file is model_name.ECD.

Electroplating Implementation-Post Processing

CFD-VIEW can post-process the solutions. When the Electroplating model is invoked, the potential and electrolyte concentration fields are usually of interest. You can view these fields with surface contours and analyzed through the use of point and line probes.

The Electroplating model automatically writes some text based output files. The files cathode.dat and anode.dat are text files with seven columns. In the fist three columns x, y, and z coordinates of the cathode (or anode) interface will be printed. In the next four columns, the interfacial potential on the electrolyte side, interface potential at the seed-layer side, concentration of the ions at the interface and current at the interface will be printed out. This file can be viewed in any xy-plotting package.

Electroplating Examples CFD-ACE+ allows simulation of the electroplating processes within a complex reactor. As a final output, it provides the distributions of the electrical potential, the current density, and the ionic concentrations in the system. In addition, it also provides the distributions of the surface overpotential, the transfer current density, the deposition rate, and the deposit thickness on the reaction surfaces. As an example, simulation of the electroplating process in a typical reactor performed using CFD-ACE+ is shown below.

Page 469: Cfd-Ace v2008.2 User Manual

Applications: Electroplating

457

Configuration, distribution of electrical potential, and transient deposit thickness along the seed layer predicted using CFD-ACE+ (configuration, operating conditions, and experimental data are adopted from Larry Gochberg, 1999).

Electroplating References Coltrin, M.E., Kee, R.J., and Rupley, F.M., “Surface Chemkin: A General Formalism and Software

for Analyzing Heterogeneous Chemical Kinetics at a Gas-Surface Interface." International Journal of Chemical Kinetics. 23(1991):1111-1128.

Ermakov, S. V., and Righetti, P.G., “Computer Simulation for Capillary Zone Electrophoresis: A Quantitative Approach.” J. Chromatograph 667(1994):257-270.

Giridharan, M. G., and Krishnan, A., “An Implicit Numerical Model for Electrophoretic Systems.” ASME Intl. Congress and Exposition. 66(1998): 61-68.

Gochberg, L., “Modeling of Uniformity and 300-mm Scale-Up in a Copper Electroplating Tool,” 196th Meeting of the Electrochemical Society, October 17-22, 1999.

Krishnamoorthy, S., Feng, J.J., and Makhijani, V.B., Analysis of Sample Transport in Capillary Electrophoresis Microchip using Full-Scale Numerical Analysis. Modeling Simulation of Microsystems. MSM2001, Hilton Head, SC, 2001.

Page 470: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

458

Mosher, R. A., Dewey, D., Thormann, W., Saville, D.A., and Bier, M., “Computer Simulation and Experimental Validation of the Electrophoretic Behavior of Proteins.” Anal. Chem. 61(1989): 362-366.

Newman, J.S., and Tobias, C.W., “Theoretical Analysis of Current Distribution in Porous Electrode.” Journal of The Electrochemical Society. 109(1962): 1183-1191.

Newman, J.S., Electrochemical Systems. Prentice-Hall, 1973. Palusinski, O. A., Graham, A., Mosher,. R.A., Bier, M., and Saville, D.A., AIChE Journal.

32(1986): 215-223. Saville, D. A., and Palusinski, O.A., “Theory of Electrophoretic Separations, Part I: Formulation of

a Mathematical Model.” AIChE Journal 32.2(1986): 207-214. Springer, T.E., Zawodinski, T.A., and Gottesfeld, S., “Polymer Electrolyte Fuel Cell Model.”

Journal of The Electrochemical Society 136.8(1991): 2334-2342. Um Sukhee, Wang, C.Y., and Chen, K.S., “Computational Modeling of Proton Exchange

Membrane Fuel Cells." Journal of The Electrochemical Society, 147.12(2002):4485-4493.

Page 471: Cfd-Ace v2008.2 User Manual

459

Appendix A CFD-ACE+ Files Appendix A CFD-ACE+ Files Introduction The model name assigned during model preparation is used to derive the names of (almost) all of the files associated with a CFD-ACE+ simulation. The CFD-ACE+ Files chapter contains the following sections:

• DTF File

• Output File

• MOD File

• Profile BC File • Boundary Condition Integral File

• Monitor Point File

• CVD File

The table lists the files which may be created and provides a brief description of each.

CFD-ACE+ Standard File Extensions (Continued)

Name Description

model.RUN Run-in-progress file; deleted when solver terminates normally

model.RSL Residual listing file

model.out Analysis program output file

model.DTF Data transfer facility file

model.par Used to submit a serial run with different boundary conditions applied to same geometry

model.*.MON Monitor point data output file

MODEL.mod Used for solution control while solver is running; this file is deleted once read by the solver

model.HIS Commands from model.MOD are echoed in this file

model_steady.*.DTF Steady state results file written every iteration frequency

Page 472: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

460

Appendix A DTF File The DTF file is the mechanism used to transfer information between all of the ESI CFD products. Although the file is binary there are ways to work with the file using the DTF Utility. Also, you may obtain a DTF Development Library from ESI CFD free of charge. This development library allows you to write your own programs to read/write DTF files. Contact ESI CFD Technical Support for details on how to obtain the library.

CFD-GEOM will create the DTF file that will contain the computational grid system as well as boundary and volume condition location information. There are other third-party grid generators which can also generate a DTF file, and with the use of the DTF Development Library, you may write your own DTF files.

CFD-ACE+ will read the DTF file and write it back out with all of the model setup and solver control information.

CFD-ACE+ will read the DTF file and write it back out with all of the solution results.

CFD-VIEW reads the DTF file to allow visualization and analysis of the results.

Appendix A Output File The model output file (modelname.out) is an ASCII text file written by the CFD-ACE-Solver during execution. The information written to the output file depends on what options have been selected. Most of the information presented is self explanatory. There are several summaries presented before the solver starts. These summaries will give you information about the solver inputs, grid system, properties, initial conditions, etc.

Once the solver starts, minimum information will be presented unless you have requested diagnostics output (from the SC -> Print panel of the CFD-ACE-GUI). If you have requested printed summary outputs (such as mass flow summary, heat transfer summary, species summary, etc.) then these summaries will be written every time the solver performs a save operation (as specified in the SC -> Output page). The summary information provides integrated information over each boundary patch of the model and is self explanatory.

If you have requested diagnostics output then you will get more information written to the output file. Every iteration, the solver will report diagnostic information about each equation. The information will appear as shown below:

Page 473: Cfd-Ace v2008.2 User Manual

Appendix A CFD-ACE+ Files

461

Diagnostics Output

The first set of information provides an insight into the convergence of the linear equation solver. A line is presented for each equation which states which solver is used, the number of sweeps that the solver ran and the first and last residual for the solver. You should see that the last residual for the solver is a few orders of magnitude lower than the first residual. (If you specify a four order-of-magnitude criteria, you will actually only see two orders-of-magnitude reduction because the residuals are squared in the CGS solver).

The second set of information gives you information on where the maximum residual is occurring. For each variable you will see the cell center location where the maximum residual is occurring, the absolute value of the residual at that cell, the sum of all of the residuals for that equation and the value of the variable at indicated cell. This information enables you to find where (physically) in your model that the solution of a certain variable may be having trouble.

When diagnostics output has been activated, timing information will be given. This informs you of how much CPU time (the time spent by the CPU for processing) and Wallclock time (the real elapsed time) was required for different portions of the simulation. The overall cumulative time is also be reported.

Appendix A MOD File

MOD File Explanation:

The CFD-ACE Solver looks for a modelname.MOD file every iteration. If the file is found, then it's commands will be processed and a modelname.HIS history file written to document the changes. The MOD file is deleted after the commands are processed.

MOD File Usage

Usage from CFD-ACE-GUI

The MOD File option allows for the creation of the .MOD file without the use of a text editor. The various supported variables are documented in "Appendix A MOD File". To use, check the appropriate variable box and supply the desired value. When finished, select the Generate MOD file button.

Page 474: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

462

Tools --> MOD File option in CFD-ACE-GUI

Page 475: Cfd-Ace v2008.2 User Manual

Appendix A CFD-ACE+ Files

463

MOD File dialog in CFD-ACE-GUI

Using a Text File

Create an ASCII text file called modelname.MOD in the running directory with the following syntax:

KEYWORD DATA

For example, to change the relaxation for Enthalpy at the next iteration use: numeric_Under_Relaxation_Enthalpy 0.001

Use perform_at_iteration or perform_at_timestep commands to delay the change until the specified iteration or timestep. For example to change the relaxation for Enthalpy to 0.001 at iteration 100 and then to 0.0001 at iteration 200 use:

Perform_at_iteration 100

Numeric_Under_Relaxation_Enthalpy 0.001

Perform_at_iteration 200

Numeric_Under_Relaxation_Enthalpy 0.0001

General Commands

Keyword Data Purpose

STOP None Stops the solver at the end of current iteration

SAVE None Saves data and stops the solver at the end of current iteration

SAVE_CONTINUE None Saves data at the end of current iteration and solver continues

RESTART_SAVE Integer Value Changes the number of iterations for output frequency

ITERATIONS Integer Value Changes number of iterations

TIME_STEPS Integer Value Changes number of time steps

TIME_SAVE Integer Value Changes number of time step frequency

DIAGNOSTICS ON / OFF Sets on/off diagnostics

MASS_FLOW_SUMMARY ON / OFF Sets on/off Mass Flow Summary

HEAT_TRANSFER_SUMMARY ON / OFF Sets on/off Heat Transfer Summary

PRESSURE_FORCE_SUMMARY ON / OFF Sets on/off Pressure Flow Summary

Convergence_Criterion Real Value Changes Convergence Criterion

Minimum_Residual Real Value Changes Minimum Residual

DT Real Value Changes the Time Step Size

ENDTIME Real Value Changes the End Time

Page 476: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

464

Relaxation Commands

Keyword Data Purpose

numeric_Under_Relaxation_Velocities Real Value Changes the under relaxation parameter for velocities

numeric_Under_Relaxation_Swirl_Velocities Real Value Changes the under relaxation parameter for swirl veloci

numeric_Under_Relaxation_P_Correction Real Value Changes the under relaxation parameters for Pressure c

numeric_Under_Relaxation_Pressure Real Value Changes the under relaxation parameters for Pressure

numeric_Under_Relaxation_Density Real Value Changes the under relaxation parameters for Density

numeric_Under_Relaxation_Viscosity Real Value Changes the under relaxation parameters for Viscosity

numeric_Under_Relaxation_Enthalpy Real Value Changes the under relaxation parameters for Enthalpy

numeric_Under_Relaxation_Temperature Real Value Changes the under relaxation parameters for Temperat

numeric_Under_Relaxation_Turbulence Real Value Changes the under relaxation parameters for Turbulenc

numeric_Under_Relaxation_Species Real Value Changes the under relaxation parameters for Species

numeric_Under_Relaxation_Mixtures Real Value Changes the under relaxation parameters for Mixture

numeric_Under_Relaxation_Saturation Real Value Changes the under relaxation parameters for Saturation

numeric_Under_Relaxation_Ne Real Value Changes the under relaxation parameters for Electron N

numeric_Under_Relaxation_Te Real Value Changes the under relaxation parameters for Electron T

numeric_Under_Relaxation_Caviation Real Value Changes the under relaxation parameters for Cavitation

numeric_Under_Relaxation_Potential Real Value Changes the under relaxation parameters for Electric Po

numeric_Under_Relaxation_Electron Real Value Changes the under relaxation parameters for Electron

numeric_Scalar_Under_Relaxation_ScalarName Real Value Changes the under relaxation parameters for Scalar

relax_drift_vel Real Value Changes the relaxation parameters for drift velocity

Variable Limit Commands

Keyword Data Purpose

numeric_Limits_U_Minimum Real value Changes the minimum allowed value for U component

numeric_Limits_U_Maximum Real value Changes the maximum allowed value for U component

numeric_Limits_V_Minimum Real value Changes the minimum allowed value for V component

numeric_Limits_V_Maximum Real value Changes the maximum allowed value for V component

numeric_Limits_W_Minimum Real value Changes the minimum allowed value for W component

numeric_Limits_W_Maximum Real value Changes the maximum allowed value for W componen

numeric_Limits_K_Minimum Real value Changes the minimum allowed value for Turbulent kine

numeric_Limits_K_Maximum Real value Changes the maximum allowed value for Turbulent kin

Page 477: Cfd-Ace v2008.2 User Manual

Appendix A CFD-ACE+ Files

465

numeric_Limits_D_Minimum Real value Changes the minimum allowed value for Turbulent diss

numeric_Limits_D_Maximum Real value Changes the maximum allowed value for Turbulent dis

numeric_Limits_Enthalpy_Minimum Real value Changes the minimum allowed value for Enthalpy

numeric_Limits_Enthalpy_Maximum Real value Changes the maximum allowed value for Enthalpy

numeric_Limits_Pressure_Minimum Real value Changes the minimum allowed value for Pressure

numeric_Limits_Pressure_Maximum Real value Changes the maximum allowed value for Pressure

numeric_Limits_Density_Minimum Real value Changes the minimum allowed value for Density

numeric_Limits_Density_Maximum Real value Changes the maximum allowed value for Density

numeric_Limits_Viscosity_Minimum Real value Changes the minimum allowed value for Viscosity

numeric_Limits_Viscosity_Maximum Real value Changes the maximum allowed value for Viscosity

numeric_Limits_Temperature_Minimum Real value Changes the minimum allowed value for Temperature

numeric_Limits_Temperature_Maximum Real value Changes the maximum allowed value for Temperature

numeric_Limits_Mixture_Minimum Real value Changes the minimum allowed value for Mixture

numeric_Limits_Mixture_Maximum Real value Changes the maximum allowed value for Mixture

numeric_Limits_Species_Minimum Real value Changes the minimum allowed value for Species

numeric_Limits_Species_Maximum Real value Changes the maximum allowed value for Species

numeric_Scalar_Limits_Minimum_ScalarName Real value Changes the minimum allowed value for Scalar

numeric_Scalar_Limits_Maximum_ScalarName Real value Changes the maximum allowed value for Scalar

Spatial Differencing Commands

Keyword Data Purpose

numeric_Spatial_Differencing_Density Central/2ndOrder/2ndOrder_Limiter/Upwind/Smart_Scheme/3rdOrder

Changes the Spatial differencing scheme fo

numeric_Spatial_Differencing_Turbulence Central/2ndOrder/2ndOrder_Limiter/Upwind/Smart_Scheme/3rdOrder

Changes the Spatial differencing scheme fo

numeric_Spatial_Differencing_Enthalpy Central/2ndOrder/2ndOrder_Limiter/Upwind/Smart_Scheme/3rdOrder

Changes the Spatial differencing scheme fo

numeric_Spatial_Differencing_Velocities Central/2ndOrder/2ndOrder_Limiter/Upwind/Smart_Scheme/3rdOrder

Changes the Spatial differencing scheme fo

Page 478: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

466

numeric_Spatial_Differencing_Species Central/2ndOrder/2ndOrder_Limiter/Upwind/Smart_Scheme/3rdOrder

Changes the Spatial differencing scheme fo

numeric_Spatial_Differencing_Mixtures Central/2ndOrder/2ndOrder_Limiter/Upwind/Smart_Scheme/3rdOrder

Changes the Spatial differencing scheme fo

numeric_Scalar_Spatial_Differencing_ScalarName Central/2ndOrder/2ndOrder_Limiter/Upwind/Smart_Scheme/3rdOrder

Changes the Spatial differencing scheme fo

numeric_Spatial_Differencing_Velocity_Blending Real Value Changes blending factor of spatial differencvelocity

numeric_Spatial_Differencing_Density_Blending Real Value Changes blending factor of spatial differencDensity

numeric_Spatial_Differencing_Enthalpy_Blending Real Value Changes blending factor of spatial differencEnthalpy

numeric_Spatial_Differencing_Mixtures_Blending Real Value Changes blending factor of spatial differencMixture

numeric_Spatial_Differencing_Species_Blending Real Value Changes blending factor of spatial differencSpecies

numeric_Spatial_Differencing_Turbulence_Blending Real Value Changes blending factor of spatial differencTurbulence

Numeric Solver Commands

Keyword Data Purpose

numeric_Solvers_Velocities CGS+Pre/AMG Changes the solver for Velocities

numeric_Solvers_Enthalpy CGS+Pre/AMG Changes the solver for Enthalpy

numeric_Solvers_Turbulence CGS+Pre/AMG Changes the solver for Turbulence

numeric_Solvers_Mixtures CGS+Pre/AMG Changes the solver for Mixture

numeric_Solvers_Species CGS+Pre/AMG Changes the solver for Species

numeric_Scalar_Solvers_ScalarName CGS+Pre/AMG Changes the solver for Scalar

numeric_Solvers_P_Correction_Sweeps Integer Value Changes number of sweeps for Pressure Correction So

numeric_Solvers_Velocities_Sweeps Integer Value Changes number of sweeps for Velocity Solver

numeric_Solvers_Enthalpy_Sweeps Integer Value Changes number of sweeps for Enthalpy Solver

numeric_Solvers_Turbulence_Sweeps Integer Value Changes number of sweeps for Turbulence Solver

numeric_Solvers_Species_Sweeps Integer Value Changes number of sweeps for Species Solver

Page 479: Cfd-Ace v2008.2 User Manual

Appendix A CFD-ACE+ Files

467

numeric_Solvers_Mixtures_Sweeps Integer Value Changes number of sweeps for Mixture Solver

numeric_Solvers_Velocity_Criterion Real Value Changes the solver convergence criterion for velocity

numeric_Solvers_P_Correction_Criterion Real Value Changes the solver convergence criterion for Pressure

numeric_Solvers_Enthalpy_Criterion Real Value Changes the solver convergence criterion for Enthalpy

numeric_Solvers_Turbulence_Criterion Real Value Changes the solver convergence criterion for Turbulenc

numeric_Solvers_Species_Criterion Real Value Changes the solver convergence criterion for Species

numeric_Solvers_Mixtures_Criterion Real Value Changes the solver convergence criterion for Mixture

Appendix A Profile BC File When a boundary condition evaluation method is set to Profile from File, you must create an ASCII file with the necessary inputs to determine the profile information. The format of the profile BC file is a two-column (space delimited) text file with each data pair listed on a separate line. The first line must have a # symbol as the first character, followed by the number of pairs to be specified (n) (Note that there should be a space between the # character and the number of points value), the profile type (PROFILE_X, PROFILE_Y, PROFILE_Z, or PROFILE_T), the variable being specified (U, V, W, T, etc.), and the fit option (SPLINE or LINEAR). Lines 2 through n+1 must have the independent value (location or time) followed by the dependent value (boundary value).There is also a PROFILE_2D option. Lines 2 through n+1 for this case will have 4 columns. The first three columns represent the x,y, and z coordinates and the last represents the variable value. An example of the file format is shown in below:

Profile BC File

The current list of variables is given in the following table:

Variable Description Units

U X-Direction Velocity m/s

V Y-Direction Velocity m/s

W Z-Direction Velocity m/s

OMEGA Swirl Velocity rad/s

P Static Pressure N/m2

T Temperature K

Page 480: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

468

Q Heat flux w/m2

K Turbulent Kinetic Energy m2/s2

D Turbulent Dissipation Rate J/kg-s

PHI Equivalence Ratio -

<Species Name> Species Mass Fraction -

Appendix A Boundary Condition Integral File The BC Integral Output option allows the solver to integrate engineering quantities over selected boundary condition patches. For transient simulations, the time history of these integrated quantities will be written to the output file. Upon selecting the BC Integral Output option, the solver will look for a modelname.fmt file for instructions on which variables to integrate and on which boundary conditions they should be integrated over.

BC Integral File Usage

Usage from CFD-ACE-GUI

The Create FMT File option allows for the creation of a Boundary Condition Integral File without the use of a text editor. To use specify the Surface Name and then add the desired variables. Note surfaces can be Assembled. When finished select Generate File. This is the same as creating the text file manually, only you can do it through CFD-ACE-GUI. The BC Integral output option can be found under the Out −−> Print tab in CFD-ACE-GUI.

Page 481: Cfd-Ace v2008.2 User Manual

Appendix A CFD-ACE+ Files

469

Boundary Condition Integral output dialog

Text File Usage

When you select the Boundary Condition Integral output option, (see Boundary Condition Integral Output), the solver will attempt to read a file named modelname.fmt for instructions. If this file does not exist, the solver will stop and also write a file named modelnamd.fmt_hlp with instructions on how to create a proper BC Integral file.

If the first column of any line in the modelname.fmt file has an asterisk (*), that line is commented out and has no effect. The file format is not case sensitive so either lower or upper case text may be used. A formula can be defined to compute non-dimensional quantities for instance. The following functions are accepted for use in the formula:

SIN(), COS(), TAN(), EXP(), ABS(), **, +, -, *, /

General Format

The general format of the file is:

Surface: surface_name

Variable: result_type, formula

Assemble n: surf_name_1, surf_name_2, ... surf_name_n

Zone : zone_number

Node : node_count, i, j, k, direction, Cal: formula

Zone : zone_number, Mass_average_type

Explanation

Surface, Variable, and Assemble n are the keywords. The function Assemble is optional, where n is a number for ordering the Assemble files. So n=1 would mean that ASSEM_01.dat will be created.

Zone, Node, and Cal are keywords.

surface_name : the boundary condition name as shown in the BC Explorer.

result_type : an output quantity

formula: (optional) a formula to perform calculations on the quantity

zone_number: zone number in which the time history of a specific grid node will be tracked.

node_count: node count.

i, j, k: i, j, and k (k=1 for 2D grid) index of a node

direction: X_dir or Y_dir or Z_dir

Cal: formula: (optional) formula to scale the time history of a grid node

Mass_average_type : a definition to output mass average pressure, temperature or mass summation.

Zone_number: All or a specific zone number

An example modelname.fmt file is shown below:

Surface: Wall_top

Variable: Pressure Force in Y_dir

Page 482: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

470

Variable: Shear Force in X_dir

Surface: Wall_bottom

Variable: Pressure Force in Y_dir

Variable: Shear Force in X_dir

Assemble 1: Wall_top, Wall_bottom

Surface: Wall_left

Variable: Torque, Axis(0.0, 0.0, 0.0), (0.0, 1.0, 0.0)

Zone: 5

Node: 1, 1, 5, 1, Y_dir, Cal: Y_dir*1e5

Zone: 5

Node: 2, 2, 5, 2, Y_dir, Cal: Y_dir*1e5

Zone: 5, Mass Average Pressure

The length of a line is limited to 80 characters, except when the "Assemble" statement is used. If your "Assemble" statement is longer than 80 characters, you must use an "&" at the end of the line and then continue specifying your surfaces on the next line.

Example Assemble Statement: Assemble 1 : Wall1, Wall2, Wall3, Wall4, &

Wall5, Wall6, Wall7, Wall8

To use a formula, the generic variable PHI must be used for all variables. For example, if the square of the mean velocity and the pressure values converted to atmospheres is desired then the following would need to be used in the BC Integral File: Surface: Surface_Name Variable: VN_mean, PHI*PHI Variable: P_wall, (PHI/101325)

List of Variables

Variable: Pressure Force (N) in X_dir (wall or solid/fluid interface) Variable: Pressure Force (N) in Y_dir (wall or solid/fluid interface) Variable: Pressure Force (N) in Z_dir (wall or solid/fluid interface) Variable: Pressure Force (N) in N_dir (normal direction) (wall or solid/fluid interface) Variable : Shear Force (N) in X_dir (wall or solid/fluid interface) Variable : Shear Force (N) in Y_dir (wall or solid/fluid interface) Variable : Shear Force (N) in Z_dir (wall or solid/fluid interface) Variable : Torque (N-m), Axis (x1, y1, z1), (x2, y2, z2) (wall) (Note: x1,y1,z1, and x2,y2,z2 are coordinates of rotation axis. For 2D, set z1=z2=0.) Variable : Mass Flow (kg/s) (mass flow rate at inlet and outlet) Variable : Volumetric Flow (m3/s) (volumetric flow rate at inlet and outlet) Variable : U_mean (m/s) (mean value of U velocity at inlet and outlet) Variable : V_mean (m/s) (mean value of V velocity at inlet and outlet)

Page 483: Cfd-Ace v2008.2 User Manual

Appendix A CFD-ACE+ Files

471

Variable : W_mean (m/s) (mean value of W velocity at inlet and outlet) Variable : VN_mean (mean value of Normal velocity at inlet and outlet) Variable : P_mean (Pa) (mean value of Pressure at inlet or outlet) Variable : P_wall (Pa) (mean value of Pressure at Wall) Variable: PT_mean (Pa) (mean value of Total Pressure at an inlet or outlet) Variable : T_mean (K) (mean value of Temperature at inlet and outlet) Variable : T_wall (K) (mean value of Temperature at Wall) Variable: TT_mean (K) (mean value of Total temperature at an inlet or outlet) Variable : H_coef (W/m2-K) (mean value of the Heat Transfer Coefficient at a Wall) Variable : Enthalpy Flux (J/m2-s) (Enthalpy convection term (rho*vel*H0)) Variable : Heat Transfer Rate (W) (mean value of Heat Flux) Variable : Mean Heat Transfer Rate (W) (mean heat transfer rate at the wall (Heat Flux)) Variable : Pressure Moment (N-m) in X_dir (Wall or solid/fluid interface) Variable : Pressure Moment (N-m) in Y_dir (Wall or solid/fluid interface) Variable : Pressure Moment (N-m) in Z_dir (Wall or solid/fluid interface) Variable : Viscous Moment (N-m) in X_dir (Wall or solid/fluid interface) Variable : Viscous Moment (N-m) in Y_dir (Wall or solid/fluid interface) Variable : Viscous Moment (N-m) in Z_dir (Wall or solid/fluid interface) Variable: Electric_potential (V) (Any Boundary Condition) Variable: Electric_current (A) (Any Boundary Condition) Variable : E_Static_Flux (V/m) (Electrostatic Flux) Variable : Em Current (A) (Total Emission Current) Variable : SFlux A (kg/s) (mass flux of species "A") Variable : SConc A (mol/m3) (concentration of species "A") Variable : S_Conc_mean A (mol/m3 for liquid, mol/kg for gas phase) (mean concentration of species "A") Zone : <integer zone number | All>. (Pa/kg) Mass Average Pressure Zone : <integer zone number | All>. (K/kg) Mass Average Temperature Zone : <integer zone number | All>. (kg) Mass Sum Node : (integer node number)

Appendix A Monitor Point File When the monitor point option has been selected with the File Input option (see Graphical Output) a file name is requested. You must create an ASCII file with the necessary inputs to create the monitor point output. The format of the monitor point file is as follows. The first line must contain an integer to specify the number of monitor total monitor points to be specified (npts) and an integer to specify the number of variables to be monitored at each point (nvar). The next line contains nvar entries which are the names of the variables to be monitored. The current list of variables is given in the following table:

Shared Cavitation

Page 484: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

472

Flow Stress

Heat Electric

Turbulence Magnetic

Gas Chemistry Kinetic

Two Fluid VOF (Free Surfaces)

Plasma

Shared

Variable Description Units

RHO Density kg/m3

X, Y, Z Location m

Flow

Variable Description Units

U, V, W Velocity Components m/s

P Static Pressure Pa

P_TOTAL Total Pressure Pa

MU Effective Viscosity kg/m-s

MACH Mach Number -

VORT Vorticity -

STR_FUN Strain Function m2/s

STR_RAT Strain Rate 1/s

Heat

Variable Description Units

T Static Temperature K

H0 Static Enthalpy J/kg

COND Thermal Conductivity W/m-K

Page 485: Cfd-Ace v2008.2 User Manual

Appendix A CFD-ACE+ Files

473

CP Specific Heat J/kg-s

Turbulence

Variable Description Units

K Turbulent Kinetic Energy m2/s2

D Turbulent Dissipation Rate J/kg-s

TURB_MU Turbulent Viscosity kg/m-s

Y+ Turbulent Y+ -

Gas Chemistry

Variable Description Units

<Species Name> Species Mass Fraction -

M_<Mixture Name> Mixture Mass Fraction -

Two Fluid

Variable Description Units

U2, V2, W2 Velocity 2 Components m/s

RHO2 Density 2 kg/m3

MU2 Laminar Viscosity 2 kg/m-s

STR_FUN2 Stream Function 2 kg/s

T2 Static Temperature 2 K

CP2 Specific Heat 2 J/kg-s

COND2 Thermal Conductivity 2 W/m-K

H02 Static Enthalpy 2 J/kg

ALPHA Volume Fraction -

Cavitation

Variable Description Units

Page 486: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

474

Mass_Frac Mass Fraction -

Vol_Frac Volume Fraction -

Vap_Vol_Fr Vapor Volume Fraction -

Stress

Variable Description Units

FEM_PHI_<X, Y, Z> Displacements in X, Y, and Z directions m

FEM_PHI_V Piezoelectric Voltage V

FEM_VEL_<X, Y, Z> Velocity in X, Y, and Z direction m/s

FEM_ACC_<X, Y, Z> Acceleration in the X, Y, and Z directions m/s2

STRESS_XX Cartesian Stress XX N/m2

STRESS_YY Cartesian Stress YY N/m2

STRESS_ZZ Cartesian Stress ZZ N/m2

STRESS_XY Cartesian Stress XY N/m2

STRESS_YZ Cartesian Stress YZ N/m2

STRESS_XZ Cartesian Stress XZ N/m2

MAX_PSTRESS Maximum Principal Stress N/m2

MIN_PSTRESS Minimum Principal Stress N/m2

SHR_STRESS Maximum Shear Stress N/m2

STRAIN_XX Cartesian Strain XX -

STRAIN_YY Cartesian Strain YY -

STRAIN_ZZ Cartesian Strain ZZ -

STRAIN_XY Cartesian Strain XY -

STRAIN_YZ Cartesian Strain YZ -

STRAIN_XZ Cartesian Strain XZ -

MAX_PSTRAIN Maximum Principal Strain -

MIN_PSTRAIN Minimum Principal Strain -

SHR_STRAIN Maximum Shear Strain -

RFORCE_<X, Y, Z> Reaction Force in the X, Y, N

Page 487: Cfd-Ace v2008.2 User Manual

Appendix A CFD-ACE+ Files

475

and Z directions

VONMISES Von Mises Stress N/m2

Electric

Variable Description Units

EL_POT Electric Potential V

EL_POT_I Imaginary Component of Electric Potential V

EL_POT_S Porous Media Solid Potential (Fuel Cells) V

OVER_P Over Potential (Electrochemistry) V

EFIELD<X, Y, Z. Electric Field N/C

EFIELD<X_I, Y_I, Z_I> Imaginary Component of Electric Field N/C

JC<X_R, Y_R, Z_R> Real Component of Current A

JC<X_I, Y_I, Z_I> Imaginary Component of Current A

JSOLID<X, Y, Z> Current for Porous Media Solids A

Magnetic

Variable Description Units

MU_R Relative Permeability -

EL_EPSR Relative Permittivity -

SIG, SIG_R, SIG_I Conductivity A

AX, AY, AZ, or

AX_R, AY_R, AZ_R

Real Component

of Magnetic

Vector Potential

Wb/m

AX_I, AY_I, AZ_I

Imaginary Component

of Magnetic

Vector Potential

Wb/m

AX_S, AY_S, AZ_S, Static Magnetic Wb/m

Page 488: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

476

Vector Potential

BX, BY, BZ or

BX_R, BY_R, BZ_R

Real Component of

Magnetic Field N/A-m

BX_I, BY_I, BZ_I

Imaginary Component of Magnetic Field

(Frequency Domain)

N/A-m

EX_R_INDU, EY_R_INDU, EZ_R_INDU

Real Component of Induced Electric Field V/m

EX_INDU, EY_INDU, EZ_INDU

Induced Electric Field

(if using Time Domain) V/m

EX_TOT, EY_TOT,

EZ_TOT Total Electric Field V/m

P_DISS Power Dissipation W/m3

J_EDDY Eddy Current A/m2

Plasma

Variable Description Units

TE Electron Temperature eV

NE Electron Number Density -

Kinetic

Variable Description Units

EDF, NE_B, TE_B EDF -

VOF (Free Surfaces)

Variable Description Units

ALPHA VOF Volume Fraction -

RHO_1 Fluid 1 Density kg/m3

RHO_2 Fluid 2 Density kg/m3

Page 489: Cfd-Ace v2008.2 User Manual

Appendix A CFD-ACE+ Files

477

MU_1 Fluid 1 Viscosity kg/m-s

MU_2 Fluid 2 Viscosity kg/m-s

CP_1 Fluid 1 Specific Heat J/kg-s

CP_2 Fluid 2 Specific Heat J/kg-s

COND_1 Fluid 1 Thermal Conductivity W/m-K

COND_2 Fluid 2 Thermal Conductivity W/m-K

H0_1 Fluid 1 Static Enthalpy J/kg

H0_2 Fluid 2 Static Enthalpy J/kg

SIGMA Surface Tension N/m

THETA Surface Curvature 1/m

The next npts lines contain the x, y, and z location of the monitor point and the last column determines whether Fixed Cell or Fixed Location is used. The Fixed Cell option will allow the monitor point to move with a single cell, which may be desirable for problems that involve a moving grid or stress. Fixed Location is the default method and the monitor point will remain at the x, y, z location specified in the monitor point file. To use Fixed Cell, enter "1" in the last column and to use Fixed Location, enter "0" in the last column. If no value is specified in the last column, the default is Fixed Location.

The monitor feature reports the cell center value of the variable for the cell that contains the specified xyz location. Hence, two very close xyz locations may yield the exact same monitor values. The example monitor point file below consists of 4 monitor points and 5 variables. Each of the monitor points is using the Fixed Location option.

Monitor Point File Example

Appendix A CVD File The CVD file is written when the Chemistry module is activated and surface reactions are occurring. The deposition/etch rate can be obtained for the reacting surface. The deposition/etch rate is provided at every boundary face on the reacting surface. In the example CVD file below, xf is the x location of the face center, yf is the y location of the face center, Dep/Etch Rate is the deposition/etch rate at each boundary face. and SumYw-1 is the summation of the mass fractions at the wall minus one. Note that the deposition/etch rate is reported in microns/min.

Dep(-ve)/Etch(+ve) rate in microns/min

xf yf Dep/Etch Rate SumYw-1

-0.300000E-01 0.100000E-01 0.000000E+00 0.2400E-07

Page 490: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

478

-0.300000E-01 0.235584E-01 0.000000E+00 0.2394E-07

-0.300000E-01 0.385712E-01 0.000000E+00 0.2380E-07

Page 491: Cfd-Ace v2008.2 User Manual

479

Appendix B DTF Utility Appendix B DTF-Utility-Introduction The DTF Utility provides basic information and simple manipulation of a DTF file. The basic information includes a simple output of the number of simulations, the number of zones in each simulation as well as their types, cell counts, vertex counts, and data array counts. The simulation data can also be listed for quick review or the entire file contents can be dumped out in a readable form. The DTF utility can also report on the validity of a file to make sure it is properly defined and not corrupt.

Manipulating the data within the file is limited to changing simulation data and deleting various parts of a simulation. You can delete specific data arrays in a zone or simulation or delete all of the data arrays. The DTF utility can also delete entire zones and simulations.

The DTF chapter includes the following sections:

• Applications

• Features

• Limitations

• Implementation

• Frequently Asked Questions

Appendix B Applications Use the DTF utility to verify that a DTF file is not corrupt and to make simple changes without starting CFD-ACE+. Validity checking is a very useful feature when some other application has written a DTF file or a process is killed while it has the DTF file open. Changing data in the DTF file without running the user interface is very convenient with the DTF utility.

For example, you may want to change the number of iterations or the pressure equation’s relaxation factor. If you know the name of the simulation data variable that controls what you want to change, you only need to run the update data function of the DTF utility. The view data function can even help if you do not remember the exact spelling of the variable. Sometimes, deleting your results is desirable, such as when you need more disk space and can regenerate the results quickly from the inputs.

Appendix B Features The DTF utility runs from the command line and can be used to view data in the file, to modify limited data in the file, delete simulations, zones, and simulation/zonal data, and to test the file for correctness and bad data. The usage of the command is:

Usage: DTF -command [file]

where ‘-command’ is:

-i = Info

-c[v][h] = Contents[Verbose][Html]

-vd = View Data

-ud = Update Data

Page 492: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

480

-t = Test

-tp = Test Patches

-[f]del_sim = Delete Simulation

-[f]del_zone = Delete Zone

-[f]del_sd = Delete Simulation Data

-[f]del_zd = Delete Zone Data

-[f]del_all_sd = Delete All Simulation Data

-[f]del_all_zd = Delete All Zone Data

-rle = Update file rle data

-ph = Print entire array referenced by handle

-unlock = Unlock this file

-tc = Test connectivity in all zones

-tag_bad_bc = Tag unassociated bfaces as DEFAULT_BC

-set_scaling = Set the scaling factor for this file

-storage_info = Print out data storage information

You can find out information about each command line option by issuing the command with no arguments, such as:

DTF -del_sim

Usage: DTF -del_sim file.DTF Simnum

Delete simulation number Simnum in file.DTF

Appendix B Limitations Changing information in the DTF file is limited to the simulation data of general topotype. This means that the DTF utility cannot modify boundary conditions, volume conditions, cell data, face data, or nodal data.

Appendix B Implementation

Getting the basics from a DTF file: -i

The most basic information about a DTF file consists of how many simulations, how many zones in each simulation, and what is in each zone. This is reported with:

DTF -i file.DTF

Page 493: Cfd-Ace v2008.2 User Manual

Appendix B DTF Utility

481

Viewing DTF Data

You can look at all the data in a DTF file by creating an HTML document viewable with your favorite web browser.

DTF -ch file.DTF >file.html

or DTF -cvh file.DTF >file.html

This will create an HTML file that contains either the standard (all arrays printed to 10 elements only) or verbose (entire arrays printed) output. If you do not want to use a browser, the contents mode will generate ASCII data similar to the HTML. This data gets directed to standard out, so you may want to redirect it like so:

DTF -c file.DTF >file.ascii

or

DTF -cv file.DTF >file.ascii

Printing a data array: -ph

You can print a single data array instead of the entire contents of the DTF file. If you know the section number of the data array, perhaps from a contents dump, you can run:

DTF -ph file.DTF section

Viewing and Updating General Simulation Data

The DTF command can be used to create an editable ASCII file, which can in turn be used to update specific data in the DTF file. This is useful for quickly modifying simple run-time parameters, such as iteration number or relaxation factor.

The DTF utility can print out the all of the simulation data of general topo type for the simulation numbered Simnum to standard out which is redirected to a temporary file here:

DTF -vd file.DTF Simnum > foobar

This allows easy reviewing of the various inputs for this simulation and the opportunity to change them without using the user interface. For example, you could edit the temporary file such that the value of the iteration variable is different and uncomment that line by removing the leading # symbol, then running the update data function with standard in redirected to the modified temporary file like so:

DTF -ud file.DTF Simnum < foobar

Alternatively, you can echo the update into the command:

echo ‘MAX_ITER int 1 100’ | DTF -ud file.DTF Simnum

or even just type it in straight from the keyboard (do not forget to end with the control-D character):

DTF -ud file.DTF Simnum

MAX_ITER int 1 100

^D

Testing File

You can issue the command:

DTF -t file.DTF

Page 494: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

482

to check the file for both integrity (all sections that are referenced actually exist) and for valid data (all single and double precision data arrays contain finite numbers and no NaN’s).

Testing Structured Grid Patch Data for Overlaps: -tp

You can test for overlapping patches using the command:

DTF -tp file.DTF

This checks all patches in all zones, and compares index ranges. If any patches exist with the same range of indices, it will tell you so.

Testing Connectivity: -tc

To verify the connectivity information of a particular simulation in a DTF file, execute:

DTF -tc file.DTF Simnum

This inherently checks file integrity, index ranges, and boundary face associations.

Tagging Bad Boundary Faces: -tag_bad_bc

The connectivity testing may reveal unassociated boundary faces in a simulation. Executing DTF -tag_bad_bc file.DTF Simmum will associate these boundary faces with a BAD_BC BC record that can be modified in CFD-ACE+.

Deleting a Simulation from the File: -[f]del_sim

You can delete a specific simulation from the file by issuing the command:

DTF -del_sim file.DTF Simnum

This will delete the simulation numbered Simnum from the DTF file after asking for confirmation. Using ‘-fdel_sim’ will not confirm your intention.

Deleting a Zone from the File: -[f]del_zone

You can delete a specific zone from a simulation in a file by issuing the command:

DTF -del_zone file.DTF Simnum Zonenum

This will delete the zone numbered Zonenum from the simulation numbered Simnum in the DTF file after asking for confirmation. Using ‘-fdel_zone’ will not confirm your intention.

Deleting Particular Simulation Data Arrays: -[f]del_sd

You can delete Simulation Data (sd) Arrays by name using the command:

DTF -del_sd file.DTF Simnum Name

This will delete a simulation data named Name from the simulation number Simnum in the DTF file after asking for confirmation. Using ‘-fdel_sd’ will not confirm your intention.

Deleting Particular Zonal Data Arrays: -[f]del_zd

You can delete particular Zonal Data (zd) arrays from all zones in a simulation by using the command:

DTF -del_zd file.DTF Simnum Name

This will delete ALL zonal data of the name Name from the simulation numbered Simnum from the DTF file after asking for confirmation. Using ‘-fdel_zd’ will not confirm your intention.

Page 495: Cfd-Ace v2008.2 User Manual

Appendix B DTF Utility

483

Deleting ALL Simulation Data Arrays: -[f]del_all_sd

If you are feeling really dangerous, and you want to wipe out ALL the simulation data in a file, you can use the command:

DTF -del_all_sd file.DTF Simnum

This will delete ALL the simulation data arrays residing in simulation Simnum in the file after asking for confirmation. Using ‘-fdel_all_sd’ will not confirm your intention.

Deleting ALL Zonal Data Arrays: -[f]del_all_zd

If you feel incredibly reckless, go for it! You can wipe out the zonal data arrays in all zones in a simulation by:

DTF -del_all_zd file.DTF Simnum

This will delete ALL zonal data arrays in ALL zones in the simulation Simnum after asking for confirmation. Using ‘-fdel_all_zd’ will not confirm your intention.

Updating Data Compression: -rle

You ensure that all of the data in a DTF file is compressed according to the latest criteria for minimizing disk usage and maximizing data access by running:

DTF -rle file.DTF

Unlocking a Locked DTF File: -unlock

DTF uses file locks for exclusive access to a DTF file while it is open. There have been reports of a file being left locked after the process which opened it has been killed. If you are certain there are no processes holding a locked DTF file open, you can unlock it with:

DTF -unlock file.DTF

Setting the Scaling Factor: -set_scaling

You can modify the scaling for a file with: DTF -set_scaling file.DTF scale

Appendix B Frequently Asked Questions How do I change the inlet velocity with the DTF utility?

You cannot change the inlet velocity with the DTF utility. The inlet velocity is contained in a boundary condition record and the DTF utility does not modify data in these records.

Page 496: Cfd-Ace v2008.2 User Manual
Page 497: Cfd-Ace v2008.2 User Manual

485

Appendix C CFD-ACE Python Scripting Appendix C Python Scripting Introduction CFD-ACE-GUI enables you to setup your problem, including setting simulation variables, volume conditions, boundary conditions, initial conditions, and point conditions (for the Spray model). This is accomplished by changing or adding the related variables in the DTF file and sending it to CFD-ACE-Solver to solve the problem.

This process can be setup in CFD-ACE-GUI, but sometime it is necessary to setup the problem in the command line. The CFD-ACE-GUI Python script is used for this purpose.

Generally, it is quicker to change the variable directly in the DTF file by using functions in the SDTF Python module of SimManager. But it is dangerous to setup the problem by this way because variables in the DTF file are not independent and must follow the logic defined in CFD-ACE-GUI. Otherwise, the CFD-ACE-Solver will not recognize your settings and may provide you with the wrong answer. Therefore, the Python script for CFD-ACE-GUI will not access the DTF file directly, but will change it by calling functions in CFD-ACE-GUI.

To easily access the variables, the CFD-ACE-GUI Python script is divided into modules according to the CFD-ACE-GUI Control Panel layout:

• GuiFILE - File related operations including some functions in the RUN panel

• GuiML - Functions in the Models menu including Spray, Fan Models, Momentum Resistance Models, Radiation Models, and Mixture and Species

• GuiPT - Problem Types

• GuiMO - Module Options

• GuiVC - Volume Conditions

• GuiBC - Boundary Conditions

• GuiIC - Initial Conditions

• GuiPC - Point Conditions

• GuiOut - Output Controls

• GuiSC - Solver Controls

• GuiRun - Run Controls

Appendix C Usage Use the CFD-ACE-GUI Python script to fulfill most of the setup process for objects, variables, and values. In GuiMO, GuiVC, GuiBC, GuiMO, and GuiSC modules, the script provides a simple Set function. By calling this function with the appropriate variables and values, you will be able to easily setup your problem. A quick way to setup your problem for the first time is to get the script from the Journaling option. CFD-ACE-GUI will record (or journal) what you have done and save this to a Python script file. Later, you can access this script file and make changes for similar but different computations.

Variables can belong to the whole simulations (simulation variables), or specific face groups/cell groups (zone variables). Variables can be a single variable or an array (1D or 2D). We provide the following functions:

For simulation variables: PY_MODULE.Set("VARIABLE_IDNAME",value)

PY_MODULE.SetArraySize("VARIABLE_IDNAME",value)

Page 498: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

486

PY_MODULE.SetArray("VARIABLE_IDNAME",index, value)

For zone variables: PY_MODULE.Set(objects," VARIABLE_IDNAME ",value)

PY_MODULE.SetArraySize(objects," VARIABLE_IDNAME ",value)

PY_MODULE.SetArray(objects," VARIABLE_IDNAME ",index, value)

Here PY_MODULE is a PYTHON module (GuiPT, GuiMO, GuiVC, GuiIC, GuiPC, GuiSC or GuiRun). Each Python module can only access variables defined in this module. In other words, you can only set variables shown in the corresponding panel in CFD-ACE-GUI. In the GuiIC, when the global IC Setting is for all volumes, no object is needed to set variables. The SetArray function can set an array or list variables. The argument index can be an integer, a string, or a list of strings and indices.

The grammar for VARIABLE_IDNAME is LEFTTABNAME/PYNAME. In genreral, for GuiMO, GuiVC, GuiBC, GuiPC, and GuiIC, LEFTTABNAME is the physical module name listed in the GuiPT (Flow, Heat, etc.). For GuiSC, LEFTTABNAME is same as the left tab shown in the CFD-ACE-GUI SC control panel. Nevertheless, this is not always true since version 2003.

To obtain the VARIABLE_IDNAME for your variable, use the CFD-ACE-GUI Journaling option.

There are some general rules for VARIABLE_IDNAME:

• If Value is boolean type (0 or 1) and value is 1.

• Shared can be dropped. PY_MODULE.Set(”PYNAME”) is equivalent to PY_MODULE.Set(”Shared/PYNAME”)

• No space is allowed in the PYNAME

• Both PYNAME and string value are case insensitive. But it is strongly suggested to use the exact names for PYNAME in the document

• Index for the array is one-based.

Objects can be a key, a list of keys, or objects returned by the following functions. Prototype

GetGeomObjByName(NameList,List=None)

Description

Find the objects from given names.

Inputs

NameList a string or a python string list

Region objects. The default value is None

Returns

Objects. If the size of objects is zero, none of volume (boundary) is found.

Prototype

GetGeomObjByGrpName(GrpNameList,List=None)

Description

Find the objects from given group names.

Page 499: Cfd-Ace v2008.2 User Manual

Appendix C CFD-ACE Python Scripting

487

Inputs

GrpNameList string or a python string list

Region objects. The default value is None

Returns

Objects. If the size of objects is zero, none of volumes (boundaries) is found.

Prototype

GetGeomObjByZone(ZoneList, Region=None)

Description

Find the objects from given zones

Inputs

ZoneList a integer or a python integer list

Region objects. The default value is None, which will make it search the whole simulation

Returns

Objects

Prototype

GetGeomObjByType(TypeList, Region=None)

Description

Find the objects from volume types or boundary types.

Inputs

TypeList a string or a python string list

Region objects. The default value is None

Returns

Objects. If the size of objects is zero, none of volume (boundary) is found.

In the BC, VC, and IC panel, you can use the following functions to group and ungroup: Prototype

Group(objects,grpid="")

Description

Group the given objects with group ID = grpid.

Inputs

Objects - A key, key list, or objects return by pick functions.

Page 500: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

488

grpid Given grpid. The default value is empty, if so, the grpid will be generated automatically.

Prototype

Ungroup(objects)

Description

Ungroup the given objects.

Inputs

Objects - A key, key list, or objects return by pick functions.

Appendix C GuiFILE In this Python module, the following functions are available: Prototype

GuiFILE.Open(FileName [, sim#])

Description

Internally, this function will do a lot of initialization. Therefore, any simulation related Python script should begin with this function.

Prototype

GuiFILE.Save()

Description

Save the current DTF File.

Prototype

GuiFILE.SaveAs(filename)

Description

Save as a different DTF File.

Prototype

GuiFILE.Submit()

Description

Submit the job.

Page 501: Cfd-Ace v2008.2 User Manual

Appendix C CFD-ACE Python Scripting

489

Prototype

GuiFILE.Stop()

Description

Stop the job submitted.

Prototype

GuiFILE.DefinePara(name)

Description

Define parametrics for the current active simulation

Prototype

GuiFILE.OpenMMD(filename)

Description

Open the material database file. (extension: MMD)

Prototype

GuiFILE.OpenSMD(filename)

Description

Open the surface reaction database file. (extension: SMD)

Prototype

GuiFILE.OpenRMD(filename)

Description

Open the bulk reaction database file. (extension: RMD)

Prototype

GuiFILE.OpenPMD(filename)

Description

Open the property database file. (extension: RMD)

Prototype

GuiFILE.OpenChemkinData(GasphaseFile, SurfaceChemFile,ThemoFile)

Page 502: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

490

Description

Open Chemkin database files and process them.

Inputs

GasphaseFile Gas phase chemistry database file of Chemkin

SurfaceChemFile Surface chemistry database file of Chemkin

ThemoFile Themodynamic database of Chemkin

Prototype

GuiFILE.ProcessChemkinData()

Description

Process Chemkin data base file which is already given in the DTF file after you open it.

Prototype

GuiFILE.SetScaling(new_scaling)

Description

Set the physical scaling of the current active simulation.

Prototype

GuiFILE.SetUserSharedLib(lib_name)

Description

Set the user shared library of the current active simulation

Appendix C GuiML (GUI Models)

Radiation Model Operations To set the radiation model using Python Scripting:

1. Select the radiation module, GuiPT.Set("Rad"). Without this step, the following operations are meaningless.

2. Choose a model:

• DOM Model: GuiMO.Set("Rad/Model", "Discrete Ordinate Method")

• STS Model: GuiMO.Set("Rad/Model", "Surface to Surface") • Monte Carlo Model: GuiMO.Set("Rad/Model", "Monte Carlo")

• Only the DOM and STS models can be defined in the Radiation Model. 3. Get the radiation model python object and assign to a variable, for example, Radmodel. Radmodel=GuiML.GetRadiationModel()

4. Set the value by using the variable, Radmodel. There are a few functions available. Since the DOM and STS models have different parameters, those methods are described separately below.

Page 503: Cfd-Ace v2008.2 User Manual

Appendix C CFD-ACE Python Scripting

491

DOM Model

Prototype

Radmodel.SetNonGray(value)

Description

Turn on (value=1) or off (value=0) the Non-Gray option.

Prototype

Radmodel.SetNumberOfBands(N)

Description

Set number of bands to N

Prototype

Radmodel.SetNumberOfEmSets(N)

Description

Set number of emissivity sets to N, default value N=1

Prototype

Radmodel.SetNumberOfAbsorpCoSets(N)

Description

Set number of absorp. coefficient sets to N, default value N=2

Prototype

Radmodel.SetEmSetName(i, Name)

Description

Set the i-th emissivity sets' name to ‘Name'.

Prototype

Radmodel.SetEmissivity(i, iband,Value)

Description

Set the i-th emissivity sets' emissivity to ‘Value' for the band number iband

Prototype

Radmodel.SetAbsorpSetName(i, Name)

Page 504: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

492

Description

Set the i-th absorp. coefficient sets' name to 'Name'

Prototype

Radmodel.SetAbsorpCoeff (i, iband,Value)

Description

Set the i-th absorp. coefficient sets' coefficient to ‘Value' for the band number iband

Prototype

Radmodel.SetWaveLengthEnd(iband,value)

Description

Set the end of the wave length of the bank number ‘ibank'

STS Model

Prototype

Radmodel.SetAccuracy(level)

Description

Set the accuracy to level: ‘‘Extremely high”, ‘‘High”, ‘‘Moderate”, or ‘‘Low”. Default: ‘‘Moderate”

Prototype

Radmodel.SetSubiteration(num)

Description

Set the subiteration number to 'num'. Default: 1

Prototype

Radmodel.SetEnvT(value)

Description

Set the environmental temperature to 'value'. Default: 300

Prototype

Radmodel.SetSolarIrradiation(value)

Description

Turn on solar irradiation (value=1) or off (value=0)

Page 505: Cfd-Ace v2008.2 User Manual

Appendix C CFD-ACE Python Scripting

493

Prototype

Radmodel.SetNumberOfSources(N)

Description

Set number of radiation sources to 'N'. This function is availabe only solar irradiation option is turned on

Prototype

Radmodel.SetRadiationSource(i, x, y, z, density)

Description

Set values of the ith radiation souce: direction (x, y, z) and density

Prototype

Radmodel.SetNumberOfEmSets(N)

Description

Set number of emissivity sets to N. Default: N=1

Prototype

Radmodel.SetEmSetName(i, Name)

Description

Set the i-th emissivity sets' name to 'Name'.

Prototype

Radmodel.SetEmissivity(i, iband,Value)

Description

Set the i-th emissivity sets' emissivity to 'Value' for the band number 'iband'. Note that iband =1 always since only one band exists in STS model.Absorp. coefficient sets cannot be changed in STS model

The set number index and the band number index are one-based. When you misuse these functions, warning or error messages will appear.

Examples

The following script uses the DOM model and sets model parameters. GuiPT.Set("Rad")

GuiMO.Set("Rad/Model","Discrete Ordinate Method")

radmodel=GuiML.GetRadiationModel()

Page 506: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

494

radmodel.SetNumberOfEmSets(40)

radmodel.SetEmSetName(1,'tst')

radmodel.SetAbsorpCoeff(1,1,3)

radmodel.SetWaveLengthEnd(1,1)

The following script uses the STS model and sets model parameters. GuiPT.Set("Rad")

GuiMO.Set("Rad/Model","Surface to Surface")

radmodel=GuiML.GetRadiationModel()

radmodel.SetAccuracy("High")

radmodel.SetSubIteration(5)

radmodel.SetEnvT(311.0)

radmodel.SetSolarIrradiation(1)

radmodel.SetNumberOfSources(4)

radmodel.SetRadiationSource(1,1,2,3,4)

Fan Model

For the fan model, build the fan model first and then add it to the simulation.

To build a new fan model, use: fanmodel=GuiML.FanModel("FanName")

It returns a new fan model with the name ‘‘FanName” and default parameters.

To add the newly built fan model into the simulation, use: GuiML.AddFanModel(fanmodel)

To delete an existing fan model, use: GuiML.DeleteFanModel(name)

To get an existing fan model into a simulation, use: GuiML.GetFanModel(name)

If the fan name is does not exist in the models list, None is returned. Otherwise, a FanModel object is returned.

To change fan model parameters, use the following functions:

Change the fan model name to the given value: fanmodel.SetName(given_name)

Set the fan model position to (x,y,z): fanmodel.SetPosition(x,y,z)

Set the fan model direction to (i,j,k): fanmodel.SetDirection(i,j,k)

Set the fan model radius to Radius: fanmodel.SetRadius(Radius)

Page 507: Cfd-Ace v2008.2 User Manual

Appendix C CFD-ACE Python Scripting

495

Set the fan model hub radius to hubRadius: fanmodel.SetHubRadius(hubRadius)

Set the fan model speed: fanmodel.SetSpeed(speed)

Set the fan thickness: fanmodel.SetThickness(thickness)

Set the fan blade angle: fanmodel.SetBladeAngle(bladeAngle)

Set the fan factor: fanmodel.SetFanFactor(fanFactor)

Examples fanmodel=GuiML.FanModel("testfan") # new a fan model

fanmodel.SetPosition(1.0,2.0,2.0)

fanmodel.SetDirection(1,4,5.0)

fanmodel.SetRadius(7.3)

fanmodel.SetHubRadius(4.3)

fanmodel.SetHubRadius(4.3)

fanmodel.SetSpeed(1.0)

fanmodel.SetSpeed(1.0)

fanmodel.SetThickness(0.1)

fanmodel.SetBladeAngle(2.0)

fanmodel.SetFanFactor(3.4)

GuiML.AddFanModelToSim(fanmodel) #add this fan model to the simulation

fan2=GuiML.FanModel("fan2") # second fan model

#only set HubRadius and Speed, use default value for other options

fan2.SetHubRadius(3.3)

fan2.SetSpeed(1.5)

GuiML.AddFanModelToSim(fan2)

Momentum Resistance Model

To build your own momentum resistance model, use: model = GuiML.MomentumModel(name)

where name is the new model name. After you set the required model parameters, you can add it into the simulation by using:

GuiML.AddMomentumModel(model)

You can delete the model in the simulation as long as you know the model name, by using: GuiML.DeleteMomentumModel(name)

Page 508: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

496

For an existing momentum resistance model, you can get it by name, by using: GuiML.GetMomentumModel(name)

If the name does not exist in the models list, None is returned. Otherwise, a MomentumModel object is returned.

For a MomentumModel object (named ‘‘model”), the following operation functions are available:

Change the name of the model: model.SetName(name)

Change the isotropic property on tangential plane. iso=0: Non-isotropic (default), iso=1: isotropic. Note that this function is only available for 3D cases:

model.SetTangentIsotropic(iso)

Change the normal direction to x, y, z. If it is 2D, only x, y is needed: model.SetNormalDirection(x,y,z=0)

Change the tangential direction to x, y, z. If it is 2D, only x, y is needed: model.SetTangentDirection(x,y,z=0)

Change the linear resistance coefficients of the normal direction, tangential direction 1 and tangential direction 2:

model.SetLinearResistanceCo(value_normal, value_tang1,value_tang2=0)

Change the quadratic resistance coefficients of the normal direction, tangential direction 1 and tangential direction 2:

model.SetQuadraticResistanceCo(value_normal, value_tang1,value_tang2=0)

Change the inverse resistance coefficients of the normal direction, tangential direction 1 and tangential direction 2:

model.SetInverseResistanceCo(value_normal, value_tang1,value_tang2=0)

Change the porosity value: model.SetPorosity(porosity_value)

Change the minimum velocity value: model.SetMinVelocity(minVelocity_value)

Change the geometry center to x, y, z. If it is 2D, only x, y is needed: model.SetGeomCenter(x,y,z=0)

Change the thickness value. model.SetGeomThickness(thickness_value)

Set the geometry configuration. Note type = ‘‘Cylindrical” is only available to 3D case. For type = ‘‘Polyhedral”, any number of point positions to define polyhedral is given after the type.

model.SetGeometry("Cylindrical",Radius_value)

model.SetGeometry("Polyhedral",[x1,y1,z1],[x2,y2,z2],...)

Active Mixtures and Species

For this script, there are two functions available:

Set mixtures active (onoff=1) or inactive (onoff=0). mixtures can be a string or a list of strings.

Page 509: Cfd-Ace v2008.2 User Manual

Appendix C CFD-ACE Python Scripting

497

GuiML.SetMixtures(mixtures,onoff)

Set species active (onoff=1) or inactive (onoff=0). speciesnames can be a string or a list of strings.

GuiML.SetSpecies(speciesnames,onoff)

Appendix C GuiPT (Problem Type) To use the Problem Type Python module, you must import it using the following script:

import GuiPT

In this Python module, the only function available is: GuiPT.Set("ModuleName",Value=1)

The value can be 0 or 1. If the Value is 1, the corresponding physical module is turned on. The script can be simplified as:

GuiPT.Set("ModuleName")

ModuleNames for GuiPT are:

Module Name Description

Shared Shared Module

Flow Flow

Heat Heat Transfer (Heat)

Turb Turbulence (Turb)

Chem Chemistry

Scalar User Scalar (Scalar)

Rad Radiation (Rad)

Spray Spray

VOF Free Surfaces (VOF)

Fuid2 Two-Fluid (Fluid2)

Cav Cavitation (Cav)

Deform Grid Deformation (Deform)

Stress Stress

Plasma Plasma

Electr Electric (Electr)

Magnet Magnetic (Magnet)

Eplate Electroplating (Eplate)

Kinetic Kinetic

Page 510: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

498

Semi Semi Device

Appendix C GuiMO (Module Options) Prototype

GuiMO.Set("ModuleName/PYNAME",Value)

Description

The Modulename is same as the left tab name shown on the GUI MO panel.

For array variables: Prototype

GuiMO.SetArraySize("ModuleName/PYNAME",size)

Prototype

GuiMO.SetArray("ModuleName/PYNAME", index, value)

Appendix C GuiVC (Volume Conditions) Protoype

GuiVC.Set("ModuleName/PYNAME",Value)

Description

The ModuleName is same as the left tab name shown on the GUI VC panel. This function is used to set variables that are not associated with a volume geometry object.

Protoype

GuiVC.Set(objects, "ModuleName/PYNAME",Value)

Description

The ModuleName is same as the left tab name shown on the GUI VC panel. This function is used to set variables that are associated with a volume geometry object.

For variables that are a list or an array: Protoype

GuiVC.SetArraySize(objects,"ModuleName/PYNAME",size)

Description

Set the top dimension of an array.

Page 511: Cfd-Ace v2008.2 User Manual

Appendix C CFD-ACE Python Scripting

499

Protoype

GuiVC.SetArraySize(objects,"ModuleName/PYNAME",index, size)

Description

Set the dimension size of an array which has multiple dimension.

Protoype

GuiVC.SetArray(objects, "ModuleName/PYNAME", index, value)

Description

Set the value of an array at position given by index.

For array variables, PYNAME must be an array type. Remember that ‘‘index” can be a integer (1-based), a string or a list of integers and strings. For example, for a two-dimensional array A, to set the value of A(2,3), you have to set index=[2,3]. For a one-dimensional array under a list B, you can set index=[”xyz”,3] to change the corresponding value.

The objects can be a key (an integer), a list of keys (python integer list), or volume geometry objects (any of the following functions return) Protoype

vcobjs=GetAllGeomObj()

Description

Get all the volume geometry objects.

Protoype

vcobjs = GetGeomObjByName(NameList, Region=None)

Description

Find the volume geometry objects by volume names

Inputs

NameList a string or a python string list

Region objects object, the default value is None

Returns

vcobjs Volume geometry objects. If the size of objects object is zero, none of volumes is found.

Protoype

vcobjs = GetGeomObjByGrpName(GrpNameList, Region=None)

Description

Find the volume geometry objects by group names

Page 512: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

500

Inputs

GrpNameList a string or a python string list

Region objects object, the default value is None

Returns

vcobjs Volume geometry objects. If the size of objects object is zero, none of volumes is found.

Protoype

vcobjs = GetGeomObjByZone(ZoneList, Region=None)

Find the volume geometry objects from given zones

Inputs

ZoneList a integer or a python integer list

Region objects object, the default value is None

Returns

vcobjs Volume geometry objects. If the size of objects object is zero, none of volume is found.

Protoype

vcobjs = GetGeomObjByType(TypeList, Region=None)

Description

Find the volume geometry objects from volume types.

Inputs

TypeList a string or a python string list

Region objects object, the default value is None

Returns

vcobjs Volume geometry objects. If the size of objects object is zero, none of volume is found.

Protoype

Group(objects,grpid="")

Description

Group the given volume geometry objects with group ID = grpid.

Inputs

objects A key, key list, or volume geometry objects return by pick functions.

grpid - Given grpid. The default value is empty, if so, the grpid will be generated automatically.

Page 513: Cfd-Ace v2008.2 User Manual

Appendix C CFD-ACE Python Scripting

501

Protoype

Ungroup(objects)

Description

Ungroup the given volume geometry objects.

Inputs

objects A key, key list, or volume geometry objects return by pick functions.

Prototype

importMaterialFromDB(inobjs,path_name)

Description

If a material database file has been opened, you can set its volume properties with a material name in that database file by using:

Inputs

inobjs A key, a list of keys, or volume geometry objects.

path_name The full path and name of the material in the database

Appendix C GuiBC (Boundary Conditions) Prototype

GuiBC.Set(objects, "Modulename/PYNAME",Value)

Description

The Modulename is same as the left tab name shown on the GUI BC panel.

If variables are a list or an array: Prototype

GuiBC.SetArraySize(objects,"ModuleName/PYNAME",size)

Description

Set the top dimension of an array.

Prototype

GuiBC.SetArraySize(objects,"ModuleName/PYNAME",index, size)

Description

Set the dimension size of an array which has multiple dimension.

Page 514: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

502

Prototype

GuiBC.SetArray(objects, "ModuleName/PYNAME", index, value)

Description

Set the value of an array at position given by index.

For array variables, PYNAME must be array type. Remember that ‘‘index” can be a integer (1-based), a string or a list of integers and strings. For example, for a two-dimensional array A, to set the value of A(2,3), you have to set index=[2,3]; for a one-dimensional array under a list B, you can set index=[”xyz”,3] to change the corresponding value.

The objects can be an integer, python integer list, or objects object (any of the following functions return). Prototype

GetAllGeomObj()

Description

Get all the boundary geometry objects.

Prototype

GetGeomObjByName(NameList, Region=None)

Description

Find the boundary geometry objects from boundary names

Inputs

NameList a string or a python string list

Region objects object, the default value is None

Returns

objects object. If the size of objects object is zero, none of boundaries is found.

Prototype

GetGeomObjByGrpName(GrpNameList, Region=None)

Description

Find the boundary geometry objects from group names

Inputs

GrpNameList a string or a python string list

Region objects object, the default value is None

Returns

Objects object. If the size of objects object is zero, none of boundaries is found.

Page 515: Cfd-Ace v2008.2 User Manual

Appendix C CFD-ACE Python Scripting

503

Prototype

GetGeomObjByZone(ZoneList, Region=None)

Find the boundary geometry objects from given zones

Parameters:

ZoneList a integer or a python integer list

Region objects object, the default value is None

Returns:

objects object

Prototype

GetGeomObjByType(TypeList, Region=None)

Find the boundary geometry objects from boundary types

Inputs

TypeList a string or a python string list

Region objects object, the default value is None

Returns

objects object. If the size of objects object is zero, none of boundaries is found.

Prototype

Group(objects,grpid="")

Description

Group the given boundary geometry objects with group ID = grpid. At different BCSettingMode, this function will fulfill different purposes. When BCSettingMode=”General”, this function is for the grouping

Inputs

objects A key, key list, or boundary geometry objects return by pick functions.

grpid Given grpid. The default value is empty, if so, the grpid will be generated automatically.

Prototype

Ungroup(objects)

Description

Ungroup the given boundary geometry objects.

Inputs

objects A key, key list, or boundary geometry objects return by pick functions.

Page 516: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

504

Prototype

SetArbInterface(grpName1,grpName2)

Description

Set the arbitrary interface of given two group

Inputs

grpName1 The first group name. It is a python string type.

grpName2 The second group name. It is a python string type.

Appendix C GuiIC (Initial Conditions) Prototype

GuiIC.Set("Shared/PYNAME",Value)

Description

For IC Setting related variables or when IC_Setting=‘‘For All Volumes”, use this prototype.

Prototype

GuiIC.Set(objects,"Module/PYNAME",Value")

Description

For IC_Setting=”Volume by Volume”, use this prototype. The definition of objects is the same as GuiVC.

For variables is a list or an array: Prototype

GuiIC.SetArraySize(objects,"ModuleName/PYNAME",size)

Description

Set the top dimension of an array.

Prototype

GuiIC.SetArraySize(objects,"ModuleName/PYNAME",index, size)

Description

Set the dimension size of an array which has multiple dimension.

Page 517: Cfd-Ace v2008.2 User Manual

Appendix C CFD-ACE Python Scripting

505

Prototype

GuiIC.SetArray(objects, "ModuleName/PYNAME", index, value)

Description

Set the value of an array at position given by index.

For array variables, PYNAME must be array type. Remember that ‘‘index” can be a integer (1-based), a string or a list of integers and strings. For example, for a two-dimensional array A, to set the value of A(2,3), you have to set index=[2,3]; for a one-dimensional array under a list B, you can set index=[”xyz”,3] to change the corresponding value.

Similarly, objects need to be dropped when IC_Setting=‘‘For All Volumes”. Prototype

Group(objects,grpid="")

Description

Group the given volume geometry objects with group ID = grpid.

Inputs

objects A key, key list, or volume geometry objects return by pick functions.

grpid Given grpid. The default value is empty, if so, the grpid will be generated automatically.

Prototype

Ungroup(objects)

Description

Ungroup the given volume geometry objects.

Inputs

objects A key, key list, or volume geometry objects return by pick functions.

Appendix C GuiPC (Point Conditions) You can use GuiPC just like GuiVC, GuiBC, and GuiIC, but there are two differences between GuiPC and the other modules. The first is that a point has no key associated. Currently, the Python script accesses a point through its name. The second difference is that points can be created and deleted after the simulation is opened. New script functions are provided. In 2003, under point condition, only spray point is supported. Prototype

GuiPC.AddPoint(pointnames)

Description

Add a point with given name to the simulation.

Page 518: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

506

Inputs

pointnames A name, name list, or geometry objects return by pick functions.

Prototype

GuiPC.DeletePoint(pointnames)

Description

Delete a point with given name from the simulation.

Inputs

pointnames A name, name list, or geometry objects return by pick functions.

Prototype

GuiPC.Set(pointnames, "TabName/PYNAME",Value)

Description

Set the variables associated with pointnames.

For array variables: Prototype

GuiPC.SetArraySize(pointnames, "TabName/PYNAME",size)

Prototype

GuiPC.SetArray(pointnames, "TabName/PYNAME",index, value)

Appendix C GuiOut (Output Controls) Prototype

GuiOut.Set("TabName/PYNAME",Value)

For array variables: Prototype

GuiOut.SetArraySize("TabName/PYNAME",size)

Prototype

GuiOut.SetArray("TabName/PYNAME",index, value)

Appendix C GuiSC (Solver Controls) Prototype

GuiSC.Set("TabName/PYNAME",Value)

Page 519: Cfd-Ace v2008.2 User Manual

Appendix C CFD-ACE Python Scripting

507

For array variables: Prototype

GuiSC.SetArraySize("TabName/PYNAME",size)

Prototype

GuiSC.SetArray("TabName/PYNAME",index, value)

Appendix C GuiRun (Run Controls) Prototype

GuiRun.Set("VARIABLE_IDNAME",Value)

For array variables: Prototype

GuiRun.SetArraySize("VARIABLE_IDNAME ",size)

Prototype

GuiRun.SetArray("VARIABLE_IDNAME ",index, value)

Page 520: Cfd-Ace v2008.2 User Manual
Page 521: Cfd-Ace v2008.2 User Manual

509

Index

Page 522: Cfd-Ace v2008.2 User Manual

510

2 2D axisymmetric ...... 130, 134, 139, 151, 160, 194, 389,

439, 468 2D Axisymmetric Reactor ......................................... 112

2D Computational Cell .............................................. 335

2D Grid Systems ....................................................... 118

2D-axisymmetric ....................................................... 144

2D-planar .................................................................. 169

3 3D geometry ............................................................. 200

3-D geometry ............................................................ 200

9 9,BC_TYPE_S_B_INTERFACE ............................... 280

A Absorbtivity ............................................................... 200

AC Conduction .......................................................... 200

AC electrokinetics ............................................. 387, 400

Add Fan button ......................................................... 144

Add Injector ............................................................... 389

Add Injector button .................................................... 389

add_source_term ...................................................... 248

Additional Input ......................................................... 355

Additional Output ...................................................... 393

ADT ........................................................................... 188

Advanced Settings ...................................................... 68

advection ........................................................... 368, 431

advection-diffusion .................................................... 463

Airfoil ......................................................................... 188

Algebraic Mult-Grid ................................................... 177

Algebraic Multigrid Solver ........................................... 65

Allosteric ................................................................... 432

Alternating Digital Tree build ...................................................................... 188

Alternating Digital Tree ............................................. 188

AMG .................................................... 65, 175, 177, 352

ampholyte ......................... 111, 376, 378, 380, 383, 449

analyte evaluate ................................................................ 111 limits ..................................................................... 448 set ................................................................. 447, 448 values ................................................................... 438

analyte ...................................................................... 111

analyte ...................................................................... 111

analyte ...................................................................... 200

analyte ...................................................................... 367

analyte ...................................................................... 368

analyte ...................................................................... 383

analyte ...................................................................... 431

analyte ...................................................................... 432

analyte ...................................................................... 435

analyte ...................................................................... 438

analyte ...................................................................... 439

analyte ...................................................................... 442

analyte ...................................................................... 444

analyte ...................................................................... 446

analyte ...................................................................... 447

analyte ...................................................................... 447

analyte ...................................................................... 448

analyte ...................................................................... 448

analyte ...................................................................... 449

analyte ...................................................................... 449

Analyte Flux .............................................................. 449

Analyte Name ................................................... 383, 449

Analyte Specification ........................................ 442, 444

Analyzing Heterogeneous Chemical Kinetics .. 385, 428, 472

and/or ....................................................................... 188

Angle ........................................................................ 200

Anisotropic Resistance ............................................. 161

Anisotropy Material ................................................... 200

Annular Injector ........................................................ 389

API ............................................................................ 118

Arbitrary Interface Arbitrary Interface BC . 113, 114, 115, 116, 117, 118, 119, 120, 121, 122 Arbitrary Interface Boundary Conditions .............. 442 Arbitrary Interface Grid Resolution ....................... 120 Arbitrary Interface Groups .................................... 121 Arbitrary Interface Process .................................. 117 Arbitrary Interface T-junction Example ................. 118

Arbitrary Interface ................................................. 54, 88

Arbitrary Interface ..................................................... 113

Arbitrary Interface ..................................................... 118

Arbitrary Interface ..................................................... 119

Arbitrary Interface ..................................................... 120

Arbitrary Interface ..................................................... 121

Arbitrary Interface ..................................................... 134

Arbitrary Interface ..................................................... 138 Arbitrary Interface ..................................................... 442

arbitrary/interface BC number ................................................................. 280

arbitrary/interface BC ................................................ 280

array var_index ............................................................. 280

array ......................................................................... 280

arraySize .................................................................. 234

Arrhenius .................................. 105, 112, 422, 431, 433

ASCII Create .................................................................. 475

ASCII ........................................................................ 475

Assemble .......................................................... 178, 483

Page 523: Cfd-Ace v2008.2 User Manual

Index

511

Atomic Weight ........................................................... 100

Auto Save ................................................................... 22

Auto Time Step ........................................................... 44

auto-ionization ........................................................... 376

Automatic option ....................................................... 195

Availability1 ............................................................... 200

Axisymmetric Selecting ................................................................. 44

Axisymmetric ............................................................... 44

B B,C ............................................................................ 200

Backward Rate .......................................................... 105

Bad Boundary Faces ................................................ 499 BC

change .................................................................. 139 number ................................................................. 280 Returns ................................................................. 280

BC ............................................................................. 200

BC ............................................................................. 280

BC Faces Get Number .......................................................... 280

BC Faces .................................................................. 280

BC Nodes Get Number .......................................................... 280

BC Nodes .................................................................. 280

bc_cell_index ............................................................ 280

bc_face_index ........................................................... 280

bc_node_index .......................................................... 280

bc_patch_key ............................................................ 280

bc_record_index ....................................................... 280

bc_type ..................................................................... 280

BC_TYPE_B_B_INTERFACE .................................. 280

BC_TYPE_CYCLIC .................................................. 280

BC_TYPE_EXIT ........................................................ 280

BC_TYPE_F_B_INTERFACE................................... 280

BC_TYPE_F_F_INTERFACE ................................... 280

BC_TYPE_INLET ..................................................... 280

BC_TYPE_INTERFACE ........................................... 280

BC_TYPE_S_F_INTERFACE................................... 280

BC_TYPE_S_S_INTERFACE .................................. 280

BC_TYPE_SYMM ..................................................... 280

BC_TYPE_THINWALL ............................................. 280

BC_TYPE_WALL ...................................................... 280

BC's .................................................................. 138, 139

bfaces ....................................................................... 497

Binary Diffusion ......................................................... 440

Binding Kinetics ........................................................ 449

binding/enzyme ......................................................... 449

BIO_<analyte ............................................................ 200

Biochemistry solving .................................................................. 200

Biochemistry ............................................................. 200

Biochemistry Surface Reactions ................................ 96

Biochemistry Theory ................................................. 432

Biochemistry Units .................................................... 200

Biochemistry Volume Reactions ................................. 96

biomolecular ..................................................... 431, 433

Blood Vessel Model .................................................. 359

Body Forces ............................................................... 46

Boundary Condition Integral File .............................. 483

Boundary Condition Type ........................................... 87

Boundary Condition Values ........................................ 32

Boundary Conditions ................ 137, 138, 139, 178, 194

Boundary Face value................................................ 200

Boundary Faces ....................................... 133, 200, 280

Boussinesq ................................................................. 46

Boussinesq Approximation ................................. 46, 406

Boussinesq Force ..................................................... 406

Bruggeman ....................................................... 155, 164

Buffer ................................................................ 383, 449

build-userlib ...................................... 326, 327, 328, 331

build-userlib libUserAce ............................................ 328

build-userlib.bat ................................................ 330, 331

build-userlib.bat libUserAce ...................................... 331

build-userlib.mak .............................................. 330, 331

Bulk Enzyme ............................................................. 449

Bulk Reaction ................................................... 440, 449

Bulk_enzyme_Reaction ............................................ 449

Bulk_Reaction .......................................................... 449

Butler-Volmer ............................ 158, 422, 423, 464, 468

Butterworth-Heinemann............................................ 374

C CALL get_num_cells_by_type .................................. 280

CALL get_num_faces_by_type ................................ 280

Capillary Electrophoresis Microchip ......... 385, 428, 472

Capillary Electrophoresis Model ............................... 359

Capillary Zone Electrophoresis................. 385, 428, 472

Carman-Koseny ........................................................ 402

Carnot ....................................................................... 419

Catalytic Converter ................................................... 156

CAV_TOTAL_VOLUME_FRACTION ....................... 200

Cavitation .................................................... 98, 200, 475

Cavitation Module ............................................. 175, 469

Cell Faces Get Number ......................................................... 280

Cell Faces ................................................................. 280

Cell Nodes Get Number ......................................................... 280

Cell Nodes ................................................................ 280

Cell Types

Page 524: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

512

Get Number .......................................................... 280 Cell Types ................................................................. 280

cell_faces .................................................................. 280

cell_group_index ....................................................... 280

cell_groups ................................................................ 178

cell_index .................................................................. 280

cell_index1 ................................................................ 280

cell_index2 ................................................................ 280

cell_nodes ................................................................. 280

cell_type .................................................................... 280

cell_value .................................................................. 234

cell_value,units ......................................................... 234

Cells Get Number .......................................................... 280

Cells .......................................................................... 280

Central Differencing .................................................... 64

Central/2ndOrder/2n ................................................. 475

centroid contains ................................................................ 188

centroid ..................................................................... 188

CFD-ACE Solver ....................................................... 475

CFD-ACE-Solver ............................................... 234, 280

CFD-GEOM .............................................................. 194

CFDRC_USER ......................................................... 280

CFD-VIEW ................................................................ 178

CGNS .......................................................................... 17

CGS .................... 65, 101, 109, 175, 177, 351, 352, 474

CGS+Pre ............................................................ 65, 447

CGS+Pre/AMG ......................................................... 475

CGS+Preconditioning ............................................... 177

CGS-ILU ................................................................... 175

Changes Convergence Criterion .............................. 475

Charged/neutral Species .......................................... 370

check Chimera Boundary ............................................... 194

check ......................................................................... 194

Chemical Kinetics ..................................... 385, 428, 472

Chemical Reactions ............................................ 32, 221

CHEMISTRY solving .................................................................. 200

CHEMISTRY ............................................................. 200

Chemistry Model ....................................................... 469

Chemistry Module ....................................... 46, 131, 164

Chemistry-Gas Mixing Rules .................................... 101

Chemistry-Liquid Mixing Rules ................................. 101

Chemistry-Mixtures ................................................... 101

Chemistry-Species .................................................... 100

Chemkin .............................................................. 93, 506

Chemkin Interface ....................................................... 32

CHEMKIN-III ............................................................... 93

CHEMKIN-TRANS ...................................................... 93

Chimera Defining ................................................................ 194 discussing ............................................................ 188 specify .................................................................. 194 uses ..................................................................... 195

Chimera ............................................................ 187, 188

Chimera .................................................................... 188

Chimera .................................................................... 194

Chimera .................................................................... 194

Chimera .................................................................... 194

Chimera .................................................................... 195

Chimera Boundary check .................................................................... 194

Chimera Boundary.................................................... 194

Chimera Boundary.................................................... 195

Chimera Feature ....................................................... 195

Chimera Grid .................................................... 187, 188

Chimera in CFD-ACE ............................................... 194

Chimera method ....................................................... 187

Chimera option ......................................................... 195

Chimera simulation ................................................... 194

Chimera-overset-grid method ................................... 187

circumferential .................................................. 141, 355

Clausius Mosotti ....................................................... 388

clicking Set button ............................................................. 139

clicking ...................................................................... 139

Closeup .................................................................... 188

Coil Model ................................................................. 359

COLLISION_FREQUENCY ...................................... 200

combine Volume ................................................................. 178

combine .................................................................... 178

combustors ............................................................... 153

Compaq Visual Fortran Version 6.2 ......................... 326

Competitive Binding.................................................. 435

Complex permittivity ................................................. 388

Component ............................................................... 200

Compressor & Turbine Blades ................................. 188

Computation Model .......................................... 407, 409

Computational Boundary Cell ................................... 348

Computational Modeling Proton Exchange Membrane Fuel Cells ..... 385, 428, 472

Computational Modeling ........................................... 385

Computational Modeling ........................................... 428

Computational Modeling ........................................... 472

Concentration ........................................................... 200

concentration-dependent .......................................... 465

concentration-dependent Butler-Volmer ................... 465

COND ....................................................................... 200

Page 525: Cfd-Ace v2008.2 User Manual

Index

513

Conduction ................................................................ 200

Conductivity Sample File .......................................... 389

Conjugate Gradient Solver........................................ 177

Conjugate Interfaces ................................................. 118

conjugate-gradient-squared ........................................ 65

Continuation Run ........................................................ 62

Continuation Run button ............................................. 61

Control button ........................................................... 139

Control Volume ......................................... 188, 333, 335

Convection ................................................................ 200

convection-diffusion .................................................. 341

Convergence Criteria .................................................. 64

Convergence_Criterion ............................................. 475

Coriolis ...................................................................... 167

Coulomb’s ................................................................. 388

counterclockwise ....................................................... 144

Cp ............................................................................. 200

CPU .......................................................................... 178

Crank-Nicolson ........................................................... 44

Crank-Nicolson differencing ........................................ 44

Create ASCII .................................................................... 475

Create ....................................................................... 475

Create Arbitrary Interface.......................................... 121

Cross Flow Model ..................................................... 359

CURRENT ................................................................ 200

Current Density ......................................................... 200

Current Distribution Theoretical Analysis ............................. 385, 428, 472

Current Distribution ................................................... 385

Current Distribution ................................................... 428

Current Distribution ................................................... 472

CURRENT_DENSITY ............................................... 200

CURRENT_DENSITY_I ............................................ 200

CURRENT_SOLID .................................................... 200

Curvature-Compensated Connective Transport ....... 353

Cyan-Magenta-Yellow................................................. 25

cyclic ......................................................................... 137

Cyclic Boundary Conditions ...................................... 137 Cyclic/Periodic .......................................................... 139

cyclicNodeIndex ........................................................ 280

Cylinder ..................................................................... 188

D D_THINWALL_<scalar ............................................. 200

Daggan ............................................................. 155, 164

Darcy ......................................................................... 402

Data Transfer Facility .................................................. 29

Database ....................................... 32, 93, 383, 389, 449

Database Manager .... 32, 93, 96, 98, 99, 100, 101, 102, 103, 105, 109, 110, 111, 112, 449

Database Tree ............................................................ 96

DC .................................... 200, 368, 383, 387, 393, 422

DC Conduction ......................................................... 427

DC Electric ................................................................ 393

DC Single Frequency ............................................... 200

Debye-Huckel ........................................................... 368

Defining Chimera ............................................................... 194

Defining .................................................................... 194

Defining .................................................................... 194

Deformation ...................................................... 138, 401

Degenerate Grids ..................................................... 118

DENS ........................................................................ 200

Density ................................................ 51, 200, 425, 475

DEP .................................................. 387, 389, 393, 398

DEP Setting .............................................................. 389

deposit’s ................................................................... 463

Deposition Rate ........................................................ 470

der Walls ................................................................... 433

Deselect All ................................................................. 20

deselected .................................................................. 84

design microfluid .............................................................. 431

design ....................................................................... 431

desorption ................................................................. 435

determine .......................................................... 188, 200

Development. ........................................................... 166

Dewey ....................................................... 385, 428, 472

Diagnostics ......................................................... 72, 475

Diagnostics Output ............................................. 72, 474

Dialog Panel ............................................................... 25

diameter’ ................................................................... 389

dielectrophoresis effect .................................................................... 393 modeI ................................................................... 389

dielectrophoresis ...................................... 367, 387, 388

dielectrophoresis ...................................................... 389 dielectrophoresis ...................................................... 393

dielectrophoresis ...................................................... 393

dielectrophoresis ...................................................... 393

dielectrophoresis ...................................................... 393

dielectrophoresis ...................................................... 396

dielectrophoresis ...................................................... 398

dielectrophoresis ...................................................... 400

dielectrophoretic simulating ............................................................. 387

dielectrophoretic ....................................................... 387

dielectrophoretic ....................................................... 388

dielectrophoretic ....................................................... 393

Page 526: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

514

DIF_<scalar .............................................................. 200

DIF_<species ............................................................ 200

differencing ........................... 44, 64, 336, 342, 447, 475

Diffusion ............................................................ 200, 425

DIFFUSION_COEF_R_KINETIC .............................. 200

DIFFUSION_COEF_U_KINETIC .............................. 200

diffusivity .. 111, 164, 200, 217, 367, 373, 376, 380, 383, 425, 433, 441, 449

diffusivity Dl ............................................................... 425

DIMENSION ...................................................... 234, 280

Dimensions ....................................................... 234, 280

Direct Specification Source Terms ....................................................... 340

Direct Specification ................................................... 340

Direction .................................................... 137, 139, 200

Directory .............................................................. 16, 475

Directory menu ............................................................ 17

directory/file ............................................................... 182

Dirichilet .................................................................... 368

Discrete Ordinate Method ......................................... 509

discretized solving .................................................................. 342

discretized ................................................. 335, 338, 340

discretized ................................................................. 342

discussing Chimera ................................................................ 188

discussing ................................................................. 188

dissociation-association ............................................ 375

distance ..................................................................... 139

Distribution Table button ........................................... 389

DLL file ...................................................................... 330

DMFC ........................................................................ 419

DNA microarrays ....................................................... 431

DNA/RNA .......................................................... 111, 449

DOM .................................................................. 175, 509

DOM Model ............................................................... 509

Domain ...................... 178, 180, 187, 200, 234, 280, 425

domain/domain ........................................................... 54

domain-to-domain ..................................................... 131

dOrder ....................................................................... 475

dOrder_Limiter/Upwi ................................................. 475

Drag Coefficient ........................................................ 425

Draw Model Outlines ................................................... 25

DRHODP .................................................................. 200

DRIFT_COEF_R_KINETIC ....................................... 200

DRIFT_COEF_U_KINETIC ....................................... 200

Driveline Systems Symposium ................................. 357

Drug Release Through Blood Vessel Model ............. 359

DT ............................................................................. 475

DTF

Executing ............................................................. 499 function ................................................................ 497 Write Cell Data ..................................................... 234 Write Nodal Data .................................................. 234 Write Nodal Solution ............................................ 234

DTF ................................... 16, 29, 36, 70, 178, 180, 194

DTF ........................................................................... 234

DTF ........................................................................... 328

DTF ........................................................................... 362

DTF ........................................................................... 474

DTF ........................................................................... 497

DTF ........................................................................... 497

DTF ........................................................................... 497 DTF ........................................................................... 499

DTF ........................................................................... 499

DTF ........................................................................... 501

DTF Data Viewing ................................................................ 499

DTF Data .................................................................. 499

DTF Development Library ........................................ 474

DTF Read/Write ........................................................ 234

DTF Read/Write Routines ........................................ 234

DTF Tree View ........................................................... 39

DTF Utility ......................................................... 474, 497

dtf_decompose ......................................... 178, 180, 182

dtf_file_option ........................................................... 234

dtf_merge ................................................................. 194

DTFOL ...................................................................... 118

DTF-Utility-Introduction............................................. 497

E ECD_GROWTH_RATE ............................................ 200

ECD_SURF_CURRENT_DENSITY ......................... 200

ECD_SURF_DEP_THICKNESS .............................. 200

ECD_SURF_OVER_POTENTIAL ............................ 200

ECOND ..................................................................... 200

ECOND_SOLID ........................................................ 200

eddy/vortex ............................................................... 373

edge intersects ......................................................... 188 Edges ............................................................... 188, 363

Edwards .................................................................... 374

Effective Viscosity..................................................... 200

Efficiencies ............................................... 105, 178, 187

EL_EPSR ................................................................. 200

EL_POT .................................................................... 200

EL_POT_I ................................................................. 200

EL_POT_SOLID ....................................................... 200

Electric 98, 137, 138, 139, 200, 370, 373, 383, 389, 423, 469, 475

Electric Conduction ................................................... 200

Electric Current ................................................. 137, 200

Page 527: Cfd-Ace v2008.2 User Manual

Index

515

Electric Field ............................................. 137, 200, 387

Electric Model ........................................................... 470

Electric Module ......... 137, 138, 139, 165, 200, 389, 427

Electric Module Periodic BC ............................. 137, 139

Electric Potential ............................... 137, 200, 393, 475

electric potential drop ................................................ 137

Electric Settings Porous Media Region ........................................... 165

Electric Settings ........................................................ 165

Electric/Magnetic ......................... 99, 101, 111, 200, 389

ELECTRIC_FIELD_NORMAL................................... 200

ELECTRIC_FIELD_X ................................................ 200

ELECTRIC_FIELD_X_I............................................. 200 ELECTRIC_FIELD_X_SOLID ................................... 200

ELECTRIC_FIELD_Y ................................................ 200

ELECTRIC_FIELD_Y_I............................................. 200

ELECTRIC_FIELD_Y_SOLID ................................... 200

ELECTRIC_FIELD_Z ................................................ 200

ELECTRIC_FIELD_Z_I ............................................. 200

ELECTRIC_FIELD_Z_SOLID ................................... 200

ELECTRIC_POTENTIAL .......................................... 200

ELECTRIC_POTENTIAL_I ....................................... 200

ELECTRIC_POTENTIAL_SOLID ............................. 200

Electrical Conductivity ............................................... 200

Electrical Field in X-direction..................................... 200

Electrical Field in Y-direction..................................... 200

Electrical Field in Z-direction ..................................... 200

Electrical Potential ............................................ 200, 396

ELECTRICAL_CONDUCTIVITY ............................... 200

ELECTRICAL_CONDUCTIVITY_SOLID .................. 200

ELECTRICAL_PERMITTIVITY ................................. 200

electro solving .................................................................. 200

electro ....................................................................... 200

ELECTRO_OSMOTIC_MOBILITY ........................... 200

Electrochemical Modeling ............................................................... 463

Electrochemical ......... 153, 158, 370, 421, 422, 423, 463

Electrochemical ......................................................... 463

Electrochemical ......................................................... 464

Electrochemical ......................................................... 465

Electrochemical ......................................................... 468

Electrochemical ......................................................... 469

Electrochemical Reactions................................ 158, 423

Electrochemical Systems .......................... 385, 428, 472

electrochemistry ................................ 164, 200, 373, 382

Electro-Chemistry ............................................. 166, 200

Electrochemistry Buffers ........................................... 383

Electrochemistry Mixing Rules-Database Manager Window ................................................................. 383

Electrode Sketch ...................................................... 396

electrokinetic types .................................................................... 367

electrokinetic ............................................................. 367

electrokinetic ............................................................. 368

electrokinetic ............................................................. 368

electrokinetic ............................................................. 370

electrokinetic ............................................................. 372

electrokinetic ............................................................. 375

electrokinetic application .................................. 372, 373

Electrokinetic Module ............................................... 130

Electrokinetics .................. 367, 368, 370, 372, 373, 374

Electrokinetics application ........................................ 382 Electro-magnetic

solving .................................................................. 200

Electro-magnetic ....................................................... 200

Electromagnetics ...................................................... 175

Electromagnetics Module ........................................... 46

electromigration ........................................................ 368

Electron ............................................................ 200, 475

Electron Collision Frequency .................................... 200

Electron Mobility ....................................................... 200

Electron Number Density.................................. 200, 475

Electron Temperature ....................................... 200, 475

ELECTRON_MOBILITY ........................................... 200

ELECTRON_NUMBER_DENSITY ........................... 200

ELECTRON_TEMPERATURE ................................. 200

electroneutrality ........................................ 372, 376, 425

electronics/thermal ................................................... 125

electroosmosis .......................................... 367, 370, 373

electroosmotic .......................... 367, 368, 370, 373, 374

electro-osmotic ......................................................... 425

Electroosmotic Flow ................................................. 367

electrophoresis experiencing ......................................................... 368

electrophoresis ................................................. 112, 367

electrophoresis ......................................................... 368

electrophoresis ......................................................... 370

electrophoresis ......................................................... 373

electrophoresis ......................................................... 375

electrophoresis ......................................................... 375

electrophoresis ......................................................... 375

electrophoresis ......................................................... 431

electrophoresis ......................................................... 431

electrophoretic .......................................... 367, 368, 375

Electrophoretic Behavior Experimental Validation ....................... 385, 428, 472

Electrophoretic Behavior .......................................... 385

Electrophoretic Behavior .......................................... 428

Electrophoretic Behavior .......................................... 472

Page 528: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

516

Electrophoretic Separations Theory .................................................. 385, 428, 472

Electrophoretic Separations ...................................... 385

Electrophoretic Separations ...................................... 428

Electrophoretic Separations ...................................... 472

Electrophoretic Systems. .......................... 385, 428, 472

Electroplating Describes ............................................................. 468 Module .......................................................... 118, 130

Electroplating ............................................................ 118

Electroplating ............................................................ 130

Electroplating ............................................................ 463

Electroplating ............................................................ 468

Electroplating ............................................................ 468

Electroplating ............................................................ 469

Electroplating ............................................................ 469

Electroplating ............................................................ 470

Electroplating Copper ............................................... 463

Electroplating Implementation................................... 468

Electroplating Module ................................................. 46

Electrostatics ............................................................. 200

electrothermal Modeling ............................................................... 372

electrothermal ........................................................... 372

Elements Heating ................................................................. 359

Elements ............................................................. 96, 178

Elements ................................................................... 359

emissivity number ................................................................. 509 represents ............................................................ 129

emissivity .................................................................. 129

emissivity .................................................................. 131

emissivity .................................................................. 200

emissivity .................................................................. 509

End Time Changes ............................................................... 475

End Time ................................................................... 475

ENDTIME .................................................................. 475 Enhancement .............................................................. 46

ensemble-average .................................................... 401

Enthalpy .................................... 154, 200, 340, 475, 483

Enthalpy Solver ......................................................... 475

Enzyme Assuming .............................................................. 449 say ........................................................................ 449

Enzyme ..................................................................... 449

Enzyme Catalysis ..................................................... 433

enzyme-catalyzed ..................................................... 112

Enzyme-Substrate .................................................... 433

EOD .......................................................................... 425

EOF

computing ............................................................ 373 modeling .............................................................. 367

EOF .......................................................................... 367

EOF .......................................................................... 367

EOF .......................................................................... 368

EOF .......................................................................... 368

EOF .......................................................................... 370

EOF .......................................................................... 373

EOS_MOBILITY ....................................................... 200

EPLATE_ELECTROLYTE ........................................ 200

EPLATE_POTENTIAL .............................................. 200

Eq.19-16 ................................................................... 425

Eq.19-17 ................................................................... 425 Eq.19-8 ..................................................................... 425

Eq.23 see ....................................................................... 425

Eq.23 ........................................................................ 425

Equilibrium ................................................................ 105

Equilibrium Model ..................................................... 102

Equilibrium Reaction Model ...................................... 102

Error Criterion ............................................................. 44

ESTAT_FIELD_N ..................................................... 200

ESTAT_FIELD_X ..................................................... 200

ESTAT_FIELD_X_I .................................................. 200

ESTAT_FIELD_X_SOLID......................................... 200

ESTAT_FIELD_Y ..................................................... 200

ESTAT_FIELD_Y_I .................................................. 200

ESTAT_FIELD_Y_SOLID......................................... 200

ESTAT_FIELD_Z ...................................................... 200

ESTAT_FIELD_Z_I................................................... 200

ESTAT_FIELD_Z_SOLID ......................................... 200

ESTAT_POTENTIAL ................................................ 200

ESTAT_POTENTIAL_I ............................................. 200

ESTAT_POTENTIAL_SOLID ................................... 200

euler ...................................................................... 44, 80

Evaporative Spray .................................................... 112

Example Chimera Grid system ................................. 188

Experimental Validation Electrophoretic Behavior ...................... 385, 428, 472

Experimental Validation ............................................ 385

Experimental Validation ............................................ 428

Experimental Validation ............................................ 472

Explorer ...... 9, 46, 52, 82, 83, 84, 85, 86, 87, 88, 90, 91

Explorer List .......................................................... 83, 84

Export To Text File ..................................................... 77

Exposition ................................................. 385, 428, 472

Expression ................................................................ 425

Extremely high .......................................................... 509

F

Page 529: Cfd-Ace v2008.2 User Manual

Index

517

Face Get Number .......................................................... 280

Face Nodes Get Number .......................................................... 280

Face Nodes ............................................................... 280

Face Projection ......................................................... 116

Face Projection Example .......................................... 116

Face Types Get Number .......................................................... 280

Face Types ............................................................... 280

face_index ................................................................. 280

face_nodes ............................................................... 280

face_type .................................................................. 280

Fan Solution-Adding .................................................... 144

Fan ............................................................................ 144

Fan ............................................................................ 147

Fan Model Describes ............................................................. 143 factor .................................................................... 144 tune ...................................................................... 144

Fan Model ......................................................... 141, 143

Fan Model ................................................................. 143

Fan Model ................................................................. 143

Fan Model ................................................................. 143

Fan Model ................................................................. 144

Fan Model ................................................................. 144

Fan Model ................................................................. 147

Fan Model ................................................................. 147

Fan Model ................................................................. 503

Fan Model ................................................................. 509

Fan Model Feature.................................................... 175

Fan Model Geometric Parameters ............................ 141

Fan Model Implementation ....................................... 143

Fan Models window .................................................. 144

Fan-Factor ................................................................ 144

FAQ ........................................................................... 429

Faraday ............................. 158, 368, 376, 423, 425, 465

Features-Access Variables ....................................... 200

FEM_DISPLACEMENT_X ........................................ 200

FEM_DISPLACEMENT_Y ........................................ 200

FEM_DISPLACEMENT_Z ........................................ 200

FEM_EXPANSION_COEF ....................................... 200

FEM_EXPANSION_COEF_1 ................................... 200

FEM_EXPANSION_COEF_2 ................................... 200

FEM_EXPANSION_COEF_3 ................................... 200

FEM_FIX_LOAD ....................................................... 200

FEM_FIX_PRESSURE ............................................. 200

FEM_PIEZOELECTRIC_POTENTIAL ...................... 200

FEM_POISSONS_RATIO ......................................... 200

FEM_POISSONS_RATIO_12................................... 200

FEM_POISSONS_RATIO_13 .................................. 200

FEM_POISSONS_RATIO_21 .................................. 200

FEM_POISSONS_RATIO_23 .................................. 200

FEM_POISSONS_RATIO_31 .................................. 200

FEM_POISSONS_RATIO_32 .................................. 200

FEM_PRESSURE .................................................... 200

FEM_REACTION_FORCE_X .................................. 200

FEM_REACTION_FORCE_Y .................................. 200

FEM_REACTION_FORCE_Z................................... 200

FEM_STRAIN_11 ..................................................... 200

FEM_STRAIN_12 ..................................................... 200

FEM_STRAIN_13 ..................................................... 200

FEM_STRAIN_22 ..................................................... 200

FEM_STRAIN_23 ..................................................... 200

FEM_STRAIN_33 ..................................................... 200

FEM_STRAIN_XX .................................................... 200

FEM_STRAIN_XY .................................................... 200

FEM_STRAIN_XZ .................................................... 200

FEM_STRAIN_YY .................................................... 200

FEM_STRAIN_YZ .................................................... 200

FEM_STRAIN_ZZ .................................................... 200

FEM_STRESS_11 .................................................... 200

FEM_STRESS_12 .................................................... 200

FEM_STRESS_13 .................................................... 200

FEM_STRESS_22 .................................................... 200

FEM_STRESS_23 .................................................... 200

FEM_STRESS_33 .................................................... 200

FEM_STRESS_XX ................................................... 200

FEM_STRESS_XY ................................................... 200

FEM_STRESS_XZ ................................................... 200

FEM_STRESS_YY ................................................... 200

FEM_STRESS_YZ ................................................... 200

FEM_STRESS_ZZ ................................................... 200

FEM_VOLTAGE ....................................................... 200

FEM_YOUNGS_MODULUS .................................... 200

FEM_YOUNGS_MODULUS_1 ................................ 200

FEM_YOUNGS_MODULUS_2 ................................ 200

FEM_YOUNGS_MODULUS_3 ................................ 200

Fickian .............................................................. 155, 435

Fig.3 Springer ............................................................... 425

Fig.3 .......................................................................... 425

Filament .................................................................... 362

Filament Model use ....................................................................... 362

Filament Model ................................................. 359, 362

Filament Model ......................................................... 362

Filament Model ......................................................... 363

Filament Model ......................................................... 364

file_out outFile.DTF .................................................. 178

Page 530: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

518

Finite Volume ............................................................ 425

finite-difference ......................................................... 342

Finite-Rate Input ............................................................. 103, 105

Finite-Rate ................................................................ 103

Finite-Rate ................................................................ 105

Finite-Rate ................................................................ 109

Fixed Concentration Value........................................ 444

Fixed Flux Combination ......................................................... 444

Fixed Flux ................................................................. 444

Fixed Monitor Points ......................................... 411, 414

Fixed Pressure .......................................................... 137

Fixed Source ............................................................... 48

Fixed Temperature...................................................... 48

Fixed Value ....................................................... 348, 444

FLOW solving .................................................................. 200

FLOW ........................................................................ 200

Fluid .......................................................................... 200

Fluid - Accommodate ................................................ 100

Fluid - Use Fluid ........................................................................ 49

Fluid - Use ................................................................... 49

Fluid - Viscosity ........................................... 99, 101, 111

Fluid Flow .......................................................... 353, 417

Fluid Module ............................................................. 175

Fluid Phase Source Terms ....................................... 393

Fluid Subtype menu .................................................... 50

Fluid, Solid .................................................................. 51

fluid/solid ................................................... 109, 112, 134

Fluid-Fluid retain .................................................................... 178

Fluid-Fluid ................................................................. 178

Fluid-Fluid interfaces................................................. 178

Flux ........................................................... 187, 200, 425

flux entering system .................................................................. 200

flux entering .............................................................. 200

flux Jw ....................................................................... 425

flux leaving system .................................................................. 200

flux leaving ................................................................ 200

flux.For ...................................................................... 200

FLUX_<species ........................................................ 200

FORTRAN ......................................... 327, 328, 330, 331

Fortran Compiler ....................................................... 326

FORTRAN file cfdrc_access_calls.f .......................... 330

Forward Enter ..................................................................... 449

Forward ..................................................................... 449

Forward Reaction ..................................................... 449

Forward Reaction Rates ........................................... 449

Fractions ................................................................... 200

Free Surface activated ................................................................. 49

Free Surface ............................................................... 40

Free Surface ............................................................... 49

Free Surface ............................................................... 98

Free Surface ............................................................. 118

Free Surface ............................................................. 200

Free Surface ............................................................. 516

FREE_SURFACE_AREA ......................................... 200

Frequency ................................................................. 200 Frequently Asked Questions ..... 91, 112, 122, 182, 364,

373, 383, 393, 407, 449, 501

Fuel + Oxidant .................................................. 102, 103

Fuel Cell Modeling ... 419, 421, 422, 423, 425, 427, 428, 429

Fuel Cell Power Generation Station ......................... 419

Fuel Cell Simulation Features .................................. 422

Fuel Cells simulating ............................................................. 427

Fuel Cells .......................................................... 419, 425

Fuel Cells .................................................................. 427

Fuel Cells .................................................................. 427

Fuel Cells .................................................................. 429

Fuel Cells Part .......................................................... 166

Fuel Processor ......................................................... 419

Fuel Reformer Simulation Features ......................... 423

Fuid2 ......................................................................... 516

Full-Scale Numerical Analysis .................. 385, 428, 472

fully-developed ......................................................... 137

fully-unstructured ...................................................... 352

Future Work .............................................................. 372

G Gas Material Name ..................................................... 51

Gas Mixing Rules ....................................................... 96

Gas Phase ........................................................ 109, 200

Gas Turbine Combustor ........................................... 112

Gases define property data ............................................... 95 Molecular Theory ................................................. 132

Gases ......................................................................... 95

Gases ......................................................................... 96

Gases ....................................................................... 132

Gases ....................................................................... 200

Gas-Surface Interface .............................. 385, 428, 472

General ..................................................................... 521

General Chemistry .................................................... 433

General Commands ................................................. 475

Page 531: Cfd-Ace v2008.2 User Manual

Index

519

General Formalism ................................... 385, 428, 472

General Format ......................................................... 483

General Source ........................................................... 48

General Surface Reactions ......................................... 96

General Volume Reactions ......................................... 96

generate DTF file ................................................................. 474

generate ............................................ 187, 188, 194, 200

generate .................................................................... 474

genreral ..................................................................... 503

GEOM ....................................................................... 194

Geometry .......... 137, 138, 139, 187, 200, 280, 393, 473

geometry/problem ..................................................... 113 Get BC Cell Index ..................................................... 280

Get BC Node Index ................................................... 280

Get BC Patch Key ..................................................... 280

Get BC Record Index ................................................ 280

Get BC Type ............................................................. 280

Get Cell Data ............................................................ 234

Get Cell Faces .......................................................... 280

Get Cell Group Index ................................................ 280

Get Cell Nodes .......................................................... 280

Get Cell Type ............................................................ 280

Get Cyclic Node Pair Index ....................................... 280

Get Face Cells .......................................................... 280

Get Face Nodes ........................................................ 280

Get Face Type .......................................................... 280

Get Global Cell .......................................................... 280

Get Global Face Index .............................................. 280

Get Global Node Index ............................................. 280

Get Nodal Data ......................................................... 234

Get Nodal Value Array .............................................. 280

Get Number BC Faces .............................................................. 280 BC Nodes ............................................................. 280 Cell Faces ............................................................ 280 Cell Nodes ............................................................ 280 Cell Types ............................................................ 280 Cells ..................................................................... 280 Face ..................................................................... 280 Face Nodes .......................................................... 280 Face Types ........................................................... 280 Nodes ................................................................... 280

Get Number .............................................................. 280

get_bc_cell_index ..................................................... 280

get_bc_node_index................................................... 280

get_bc_patch_key ..................................................... 280

get_bc_record_index ................................................ 280

get_bc_type .............................................................. 280

get_cell_data_from_dtf ............................................. 234

get_cell_faces ........................................................... 280

get_cell_group_index ................................................ 280

get_cell_nodes ......................................................... 280

get_cell_type ............................................................ 280

get_cyclic_node_pair_index ..................................... 280

get_face_cells ........................................................... 280

get_face_nodes ........................................................ 280

get_face_type ........................................................... 280

get_global_cell_by_type ........................................... 280

get_global_face_index ............................................. 280

get_global_node_index ............................................ 280

get_nodal_data_from_dtf ......................................... 234

get_nodal_value_array ............................................. 280

get_num_bc_faces ................................................... 280

get_num_bc_faces_by_type .................................... 280

get_num_bc_nodes .................................................. 280

get_num_cell_faces .................................................. 280

get_num_cell_nodes ................................................ 280

get_num_cell_types.................................................. 280

get_num_cells_by_type ............................................ 280

get_num_face_nodes ............................................... 280

get_num_face_types ................................................ 280

get_num_faces ......................................................... 280

get_num_faces_by_type .......................................... 280

get_num_nodes ........................................................ 280

get_vc_index_from_cell ............................................ 280

Gibbs ................................................................ 102, 105

Gibbs Energy calculates ............................................................. 102

Gibbs Energy ............................................................ 102

Giridharan ......................................... 376, 385, 428, 472

global_cell_index ...................................................... 280

global_face_index..................................................... 280

global_node_index ................................................... 280

glutamic profiles ................................................................. 380

glutamic .................................................................... 380

Glutamic Acid ........................................................... 380

Gochberg .................................................. 385, 428, 472

Gottesfeld ................................................. 385, 428, 472

governing advection .............................................................. 368 PDE ...................................................................... 342

governing .................................................................. 342

governing .................................................................. 368

Grad .......................................................................... 200

Graham ..................................................... 385, 428, 472

Graphic ............................................................... 73, 448

Graphic Output ......................................................... 406

Graphical Output ........................................................ 79

Graphics Area ................................. 9, 11, 12, 13, 28, 37

Gravity .............................................................. 200, 406

Page 532: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

520

GRAVITY_X .............................................................. 200

GRAVITY_Y .............................................................. 200

GRAVITY_Z .............................................................. 200

Grid Connectivity Routines ....................................... 280

Grid Deformation ....................................................... 138

Grid Generation ................................ 139, 187, 194, 389

grid generation uses system .................................................................. 187

grid generation uses ................................................. 187

gridding .... 119, 122, 130, 134, 143, 151, 160, 169, 177, 359, 362, 389, 393, 439, 468

Group ........ 84, 86, 88, 91, 111, 122, 139, 178, 280, 425

Group A2 ................................................................... 121

Group A5 ................................................................... 121

Group button pressing .......................................................... 62, 121

Group button ............................................................... 62

Group button ............................................................... 84

Group button ............................................................. 121

Group Definition ........................................................ 111

Group Name Type ..................................................................... 449

Group Name ............................................................. 449

groups/cell ................................................................. 503

GUI ............................................................................ 194

Gurau ........................................................ 154, 155, 166

Gyration .................................................................... 111

H H0 ............................................................................. 200

HAn ........................................................................... 376

HC ............................................................................. 200

heading BC Explorer .................................................. 131, 135

heading ..................................................................... 131

heading ..................................................................... 135

HEAT solving .................................................................. 200

HEAT ........................................................................ 200

Heat Coef value ..................................................................... 483

Heat Coef .................................................................. 483

Heat Flow Summary ................................................. 178

Heat Flux value ..................................................................... 483

Heat Flux ................................................................... 200

Heat Flux ................................................................... 483

Heat Module .............................................................. 167

Heat Tab ................................................................... 406

Heat Transfer ..... 98, 166, 200, 401, 406, 423, 427, 469, 475

Heat Transfer Coefficient .................................. 200, 483

Heat Transfer Module ........................... 46, 51, 131, 164

Heat Transfer Summary ........................................... 475

HEAT_FLUX ............................................................. 200

HEAT_FLUX_COND ................................................ 200

HEAT_FLUX_CONV ................................................ 200

HEAT_THINWALL_D ............................................... 200

HEAT_THINWALL_K ............................................... 200

HEAT_TRANSFER_COEFFICIENT......................... 200

HEAT_TRANSFER_SUMMARY .............................. 475

Heating Element ................................................................ 359 set .......................................................................... 48

Heating ....................................................................... 48

Heating ..................................................................... 359

Heating ..................................................................... 406

HEATTRANSFERRATE ........................................... 483

heff ............................................................................ 127

Helicopter Rotor Blades............................................ 188

Help menu .................................................................. 37

Hence FLOW ............................................................ 373

Hence, pI .................................................................. 380

H-equation ................................................................ 167

HEX_CELL ............................................................... 280

Hex-Hex .................................................................... 113

Hex-Prism Grid System ............................................ 113

Hex-Tet Grid System ................................................ 113

hgas .......................................................... 127, 128, 131

Hide All Domains ........................................................ 13

Hide All Lines .............................................................. 77

High .......................................................................... 509

High .......................................................................... 178

Hilton Head ............................................... 385, 428, 472

Hirschfelder .............................................................. 132

his/her appropriate ........................................................... 178

his/her ....................................................................... 178

histidine .................................................................... 380

hno-gap .................................................................... 128

hold Ctrl button ............................................................ 135

hold ........................................................................... 135

hold ........................................................................... 139

Hole Cutting Priority.................................................. 195

HOME/.rhosts file ..................................................... 182

home/cierrah/tmp ...................................................... 182

hostfile name .................................................................... 180

hostfile ...................................................................... 180

hostfile offices.hst create ................................................................... 185

hostfile offices.hst ..................................................... 185

Page 533: Cfd-Ace v2008.2 User Manual

Index

521

hostfile PinkFloyd.hst create ................................................................... 185

hostfile PinkFloyd.hst ................................................ 185

hostname .................................................................. 180

hosts.equiv ................................................................ 182

HOWEVER ................................................................. 29

HP-UX ....................................................................... 328

hp-ux 11.0 ......................................................... 326, 329

hrad ........................................................................... 129

hradiation .................................................. 127, 129, 131

href ............................................................................ 402

hsolid ......................................................... 127, 128, 131

Html creating ................................................................. 499

Html ........................................................................... 497

Html ........................................................................... 499

HTML file create ................................................................... 499

HTML file ................................................................... 499

Hu ............................................................................. 374

Hub Radius ............................................................... 144

hubRadius ................................................................. 509

Hue-Saturation-Value ................................................. 25

HVAC ........................................................................ 359

hydrogen-driven PEM ............................................... 421

Hydrogen-Driven PEM Fuel Cell Simulation ............. 421

Hz 388, 393, 396

I ID 87, 182, 503, 518, 521, 524

If 137, 178, 188, 194, 195, 200, 234, 280, 475

illustrates ................................................................... 188

immunosensors ......................................................... 431

Implementation ......................................................... 194

Import Chemkin ................................................................. 93

Import .......................................................................... 17

Import .......................................................................... 93

Import ........................................................................ 194

Import Chemkin ........................................................... 93

Import From Database ................................................ 50

Import Properties ...................................................... 112

importMaterialFromDB .............................................. 518

In 137, 138, 139, 147, 178, 187, 188, 194, 195, 200, 234, 280, 425, 475

in 2D .......................................................................... 280

in 3D .......................................................................... 280

in calculating ............................................................. 200

in CFD-ACE ...................................... 137, 139, 178, 187

in CFD-ACE-GUI ............................................... 178, 195

in CFD-GEOM ........................................................... 178

in CFD-VIEW ............................................................ 234

in Fig ......................................................................... 188

in Fig.5 ...................................................................... 188

In Figure ........................................... 139, 188, 194, 195

in GEOM ................................................................... 178

in GUI ....................................................................... 194

in order ..................................................................... 188

In PEMFC ................................................................. 425

in placing .................................................................. 187

in representing .......................................................... 187

in W/m^2 ................................................................... 200

in X-direction ............................................................. 200

in Y-direction ............................................................. 200

in Z-direction ............................................................. 200

IN/OUT ..................................................................... 188

includes All Files Filter ......................................................... 17 CGS ..................................................................... 352 Coulomb’s ............................................................ 388 surface-adsorbed ................................................. 423

includes ...................................................................... 17

includes .................................................................... 187

includes .................................................................... 200

includes .................................................................... 352

includes .................................................................... 388

includes .................................................................... 423

including vapour ....................................................... 200

Incomplete Cholesky ................................................ 351

Incompressible ................................................. 138, 401

increase under-relaxation ..................................................... 66

increase ...................................................................... 66

index ......................................................... 518, 521, 524

Inertial Relaxation ..................................................... 429

inFile.DTF sim .......................................................... 178

Influence ................................................................... 178

Initial ......................................................... 187, 200, 398

Initial Condition Explorer Elements ............................ 89

initial condition set .............................................. 89, 449 Initial Condition Values Section .................................. 59

Initial Conditions .. 59, 61, 62, 63, 89, 90, 200, 393, 427, 446, 449, 470, 503, 524

Initial Conditions Introduction ..................................... 59

Initial Conditions Panel ........................... 59, 61, 62, 446

Initial Conditions Tab ................................................ 446

Initial Conditions-Constant ......................................... 59

Initial Conditions-For All Volumes .............................. 62

Initial Conditions-Previous Solution ...................... 61, 62

Initial Conditions-Reset............................................... 63

Initial Conditions-Volume By Volume ......................... 62

Initial Receptor Fraction

Page 534: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

522

Enter ..................................................................... 449 Initial Receptor Fraction ............................................ 449

Inj 389

INJ Tab ..................................................................... 389

Injection Frequency ................................................... 389

Injector name’ ........................................................... 389

Inlet ........................................................................... 442

inlet/exit ..................................................................... 200

inlet/outlets ................................................................ 174

inlets/outlets .............................................................. 138

inobjs key ........................................................................ 518

inobjs ......................................................................... 518 inobjs,path_name ...................................................... 518

Input File Format ....................................................... 363

Inst ............................................................................ 417

Instantaneous Reaction Mechanism Specification ... 102

Instantaneous Reaction Model ................................. 102

Int 32, 353

int_p .................................................................. 234, 280

Integer Value ............................................................. 475

Inter Society Conference on Thermal Phenomena ... 147

interconnectedness ................................................... 153

interconnection .......................................................... 155

interdependence ....................................................... 431

Interface convert .................................................................. 131 Thin Wall .............................................................. 131

Interface .................................................................... 131

Interface .................................................................... 178

Interface .................................................................... 200

Interface .................................................................... 280

Interface .................................................................... 425

intergrid ..................................................................... 188

Intergrid Communication ........................................... 188

International Journal Chemical Kinetics ................................. 385, 428, 472 Numerical Methods .............................................. 353

International Journal ................................................. 353 International Journal ................................................. 385

International Journal ................................................. 428

International Journal ................................................. 472

intersect WB ........................................................................ 188

intersect .................................................................... 188

intersecting-edge ...................................................... 188

Introduction ....................................................... 137, 187

inverse-distance ........................................................ 188

involving amphoteric ............................................................ 376

involving .................................................................... 376

Ionization Ionization checkbox ............................................. 440

Ionization .......... 200, 375, 376, 378, 380, 382, 383, 385

Ionization .................................................................. 440

Ionization checkbox Ionization .............................................................. 440

Ionization checkbox .................................................. 378

Ionization checkbox .................................................. 440

Ionization Model Activated........................................ 380

Ionization Model Activation ....................................... 380

Ions ................................................................... 425, 449

ipj 167

Irreversible Enter .................................................................... 449

Irreversible ................................................................ 449

Irreversible Binding ................................................... 435

Irreversible Complex................................................. 449

Irreversible Reaction Rate ........................................ 449

iso ............................................................................. 509

isoelectric .......................................................... 375, 380

isoelectric pH ............................................................ 380

isotachophoresis....................................................... 375

Isotechophoresis ...................................................... 375

isothermal/mush-zone ...................................... 409, 411

Isotropic Resistance Settings ................................................................ 161

Isotropic Resistance ................................................. 161

ISSN0148-7191 ........................................................ 357

issue velocity-pressure .................................................. 335

issue ......................................................................... 335

item’s .......................................................................... 25

iter ............................................................................... 32

Iteration Frequency enter ....................................................................... 72

Iteration Frequency ..................................................... 72

Iteration Tab ............................................................... 64

Iterations ............................................................. 64, 475

Iterative Methods Sparse Linear Systems ........................................ 353

Iterative Methods ...................................................... 353

ith Consider ............................................................... 433 diffusivity .............................................................. 376 values ................................................................... 509

ith 368

ith 376

ith 433

ith 509

J J.J ............................................................. 385, 428, 472

Page 535: Cfd-Ace v2008.2 User Manual

Index

523

J.O ............................................................................ 132

J.S ............................................................. 385, 428, 472

J/kg ................................... 340, 407, 409, 411, 414, 486

J/kg-K ........................................................ 407, 409, 414

J/kg-s ................................................................ 481, 486

JANNAF .................................................................... 112

Joule ......................................................... 375, 464, 465

K K_THINWALL_<scalar .............................................. 200

keepFF ...................................................................... 178

Kelvin ................................................................ 101, 109

KEYWORD DATA ..................................................... 475

Kg/m^2-sec ............................................................... 200

Kg/s ........................................................................... 200

kill-aceun-mpi ............................................................ 182

KINETIC solving .................................................................. 200

KINETIC .................................................................... 200

Kinetic - Diffusion .............................................. 101, 200

Kinetic Coefficient ..................................................... 449

kmol/m^2-sec ............................................................ 200

K-way Partitioning ..................................................... 178

L Laminar ..................................................................... 200

Laminar Dynamic Viscosity ............................... 200, 486

Laminar_Viscosity ..................................................... 200

Latest f90 .................................................................. 326

LD_LIBRARY_PATH ........................................ 328, 329

len ............................................................................. 234

Lennard-Jones Parameter ........................................ 100

lF 154

Liaw ........................................................................... 166

lib_name ................................................................... 506

LIBPATH ................................................................... 329

LIBPATH on IBM-AIX ................................................ 328

library/dll .................................................................... 326

library/object ...................................................... 328, 329

libUserAce.dll .................................................... 326, 331

libUserAce.f ....................................................... 327, 330

libUserAce.sl ............................................................. 326

libUserACE.sl on HP-UX........................................... 328

libUserAce.so .................................................... 326, 328

Lightfoot .................................................................... 166

like ............................................................................. 178

Limitations ......................................................... 138, 187

Limiter ....................................................................... 337

Limits analyte .................................................................. 448

Limits ................................................................... 68, 188

Limits ........................................................................ 448

Limits Tab ................................................................... 68

LINE_FACE .............................................................. 280

LINEAR ............................................................... 58, 481

Linear Relaxation...................................................... 429

Linear Resistance ............................................. 161, 200

Linear Resistance Coefficient ................................... 200

linearization .............................................................. 339

lines y-axis ...................................................................... 77

lines ............................................................................ 77

Linux ......................................................................... 329

Linux RedHAT 6.2 .................................................... 326 LIQ_FRACTION_SOLIDIFICATION ......................... 200

Liquid Chemistry ....................................... 200, 383, 449

Liquid Fraction .................................. 200, 409, 411, 414

Liquid Fraction Distribution ....................................... 407

Liquid Mixing Rules .................................................... 96

Liquid Phase ............................. 109, 378, 383, 440, 449

Liquid Phase Model Options..................................... 440

Liquids .......................................................... 95, 96, 200

Liquids. ..................................................................... 132

lists species’ ................................................................ 380

lists ........................................................................... 188

lists ........................................................................... 380

Liu ............................................................................. 166

lmfp ........................................................................... 128

Loads ................................................................ 178, 200

Local ............................................................. 93, 96, 280

Local Folder ................................................ 96, 383, 449

local_cell_index ........................................................ 280

Location ............................................................ 139, 393

Locked DTF File Unlocking ............................................................. 499

Locked DTF File ....................................................... 499

logscale ...................................................................... 77

long’ .......................................................................... 180

Lonsdale refer ...................................................................... 352

Lonsdale ................................................................... 352

Lonsdale ................................................................... 353

looks DLL ...................................................................... 331 modelname.fmt file ................................................. 72

looks ........................................................................... 28

looks ........................................................................... 72

looks ......................................................................... 331

looks ......................................................................... 475

Lorentz ...................................................................... 200

Low ........................................................................... 509

Page 536: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

524

lS 154

M m 465

M --- Mass Flow ........................................................ 483

m*A1 ......................................................................... 449

M.E ............................................................ 385, 428, 472

m/s .................................................... 200, 368, 481, 486

m/sec ........................................................................ 340

m2/s .......................................................... 368, 380, 449

m2/s2 ................................................................ 481, 486

m2/sec ...................................................................... 448

m2/s-V ....................................................................... 380

m2V-1s-1 .......................................................... 367, 368

m2V-1s-1 This ........................................................... 367

Macrotransport Processes ........................................ 374

Magnetic ............................................................. 98, 200

Magnetic Field ........................................................... 200

Magnetic Module ....................................................... 130

Magnetic Potential .................................................... 200

MAGNETIC_FIELD_IMAG_X ................................... 200

MAGNETIC_FIELD_IMAG_Y ................................... 200

MAGNETIC_FIELD_IMAG_Z ................................... 200

MAGNETIC_FIELD_REAL_X ................................... 200

MAGNETIC_FIELD_REAL_Y ................................... 200

MAGNETIC_FIELD_REAL_Z ................................... 200

MAGNETIC_FIELD_STATIC_X................................ 200

MAGNETIC_FIELD_STATIC_Y................................ 200

MAGNETIC_FIELD_STATIC_Z ................................ 200

MAGNETIC_POTENTIAL_IMAG_X ......................... 200

MAGNETIC_POTENTIAL_IMAG_Y ......................... 200

MAGNETIC_POTENTIAL_IMAG_Z.......................... 200

MAGNETIC_POTENTIAL_REAL_X ......................... 200

MAGNETIC_POTENTIAL_REAL_Y ......................... 200

MAGNETIC_POTENTIAL_REAL_Z ......................... 200

MAGNETIC_POTENTIAL_STATIC_X ...................... 200

MAGNETIC_POTENTIAL_STATIC_Y ...................... 200

MAGNETIC_POTENTIAL_STATIC_Z ...................... 200

maintains ................................................................... 280

make coeff ...................................................................... 340

make ......................................................................... 187

make ......................................................................... 340

make ......................................................................... 429

makes convergence .................................................. 429

Makhijani ................................................... 385, 428, 472

manufacturing and/or ................................................................... 421

manufacturing ........................................................... 421

March 1-4 .................................................................. 357

Mass Average Pressure ........................................... 483

Mass Average Temperature ..................................... 483

Mass Conservation Equation ................................... 433

Mass Evaluation ....................................................... 342

Mass Flow ................................ 137, 139, 178, 475, 483

Mass Flow Summary .................................. 73, 178, 475

Mass Fraction ................................................... 200, 425

Mass Sum ................................................................. 483

Mass Transport Optical Biosensor. ................................................ 462

Mass Transport ......................................................... 462

Mass_average_type ................................................. 483

MASS_FLOW_SUMMARY....................................... 475 MASS_FLUX ............................................................ 200

Material Manager ........................................................ 32

Material Name ............................................................ 51

Material Properties ....................................... 93, 98, 389

Material Properties Introduction ................................. 98

Material Properties-Gases .......................................... 99

Material Properties-Liquids ......................................... 99

Material Properties-Solids .......................................... 99

Materials ..................................................... 23, 178, 200

Mathematical Model. ................................ 385, 428, 472

MAX_ITER int ........................................................... 499

Maximum .................................................................. 475

Maximum Iterations .................................................... 64

Maximum_Cell_Length ............................................. 363

MB RAM ..................................................................... 175

MB ............................................................................ 175

McGraw-Hill ...................................................... 353, 462

MDI ............................................................................. 11

ME ............................................................................ 182

Mean Temperature ................................................... 483

measure electroosmotic ...................................................... 368

measure .................................................................... 368

measure .................................................................... 425

Mechanism Definition ............................... 101, 109, 112

Mechanism Name Type ..................................................................... 449

Mechanism Name ..................................................... 449

media’s permittivity value .................................................................... 393

media’s permittivity ................................................... 393

Megabit/sec .............................................................. 175

Menu Bar ........................................................ 15, 28, 38

Menu Introduction ................................................. 15, 19

menu’s ........................................................................ 15

Menu-Blank ................................................................ 20

Page 537: Cfd-Ace v2008.2 User Manual

Index

525

Menu-Blank Remaining............................................... 20

Menu-Blanking Introduction ........................................ 20

Menu-Close ................................................................. 18

Menu-Close All ............................................................ 18

Menu-Deselect All ....................................................... 20

Menu-Import ................................................................ 17

Menu-Open ................................................................. 16

Menu-Preferences Introduction .................................. 21

Menu-Preferences-Backups ....................................... 22

Menu-Preferences-Colors ........................................... 25

Menu-Preferences-Display Introduction ..................... 23

Menu-Preferences-Display-Boundary Conditions ....... 24

Menu-Preferences-Display-Lines ............................... 25

Menu-Preferences-Display-Miscellaneous ................. 25

Menu-Preferences-Display-Volume Conditions .......... 24

Menu-Preferences-Files.............................................. 21

Menu-Preferences-Recently Used Files ..................... 22

Menu-Preferences-Script ............................................ 27

Menu-Preferences-Tools ............................................ 27

Menu-Preferences-User Files ..................................... 23

Menu-Quit ................................................................... 19

Menu-Save .................................................................. 18

Menu-Save As ............................................................ 18

Menu-Save Journal File .............................................. 19

Menu-Select All ........................................................... 20

Menu-Toggle Blanking ................................................ 21

Menu-Unblank ............................................................. 20

Menu-Undo ................................................................. 19

MeSH .......................................................................... 17

Meth .................................................................. 353, 417

Method .............................................. 178, 187, 188, 194

method allows ........................................................... 178

method. ..................................................................... 417

Methods Introduction ................................................ 349

Methods-Linear Equation Solvers Introduction ......... 351

Methods-Linear Equation Solvers-Algebraic Multi-Grid ............................................................................. 352

Methods-Linear Equation Solvers-Conjugate Gradient Squared ................................................................ 351

Methods-Solution Procedure .................................... 349

Methods-Under Relaxation ....................................... 350

metis ......................................................................... 178

metis model.DTF sim ................................................ 178

metis option ............................................................... 178

metis test_metis.DTF ................................................ 178

MFG ............................................................................ 17

mI 433

Michaelis ................................................................... 433

Michaelis Menten .............................................. 112, 449

Michaelis-Menten ...................................................... 431

Michaelis-Menten Kinetics ........................................ 433

microelectrode structures. ........................................ 400

microelectronics caused ................................................................. 463

microelectronics ........................................................ 463

microfabrication ........................................................ 367

microfluid design .................................................................. 431

microfluid .................................................................. 431

Microhydrodynamics................................................. 374

Micro-Macroscopic Coupled Modeling Batteries ............................................................... 166

Micro-Macroscopic Coupled Modeling ..................... 166

Microsystems ............................................ 385, 428, 472

Middle Button .............................................................. 12

min .............................................................................. 64

minimode .................................................................. 337

Minimum ................................................................... 475

Minimum Residual .............................................. 64, 475

Minimum_Residual ................................................... 475

Minor Grid ................................................................... 77

minVelocity_value ..................................................... 509

MipsPro f90 V7.3.1.1m ............................................. 326

Mixing Plane Pair ....................................................................... 355

Mixing Plane ............................................................. 355

Mixing Plane ............................................................. 355

Mixing Rules ....................................................... 98, 449

MIXPDN_number ..................................................... 355

MIXPUP .................................................................... 355

MIXPUP_number ...................................................... 355

Mixture Attributes Editing .................................................................. 101

Mixture Attributes...................................................... 101

Mixture Definition ...................................................... 101

Mixture Fraction ........................................................ 200

Mixture Fraction Approach ............................... 102, 103

Mixture Mass Fraction .............................................. 486

Mixture Name ................................................... 200, 486 Mixture Solver ........................................................... 475

Mixtures ............ 29, 68, 93, 96, 101, 200, 475, 503, 509

Mixtures Tab ............................................................... 29

mixtures,onoff ........................................................... 509

mM .................................................................... 112, 380

MMD ......................................................................... 506

MO/Adv ..................................................................... 429

MO/Chem ................................................................. 380

MO/Chem Panel ....................................................... 378

Mobility ..................................................... 200, 383, 449

MOBILITY_<species ................................................ 200

Page 538: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

526

Mobility-> Constant ................................................... 383

MOD File ................................................................... 475

MOD File Explanation ............................................... 475

MOD File Usage ....................................................... 475

Mode Selector ....................................................... 93, 96

Mode Selector Section Database Manager Window ................................... 95

Mode Selector Section ................................................ 95

modeI dielectrophoresis .................................................. 389

modeI ........................................................................ 389

model ........................................................................ 509

Model Explorer Common Elements ................................................. 82

Model Explorer ........................ 20, 28, 46, 52, 62, 79, 82

Model Explorer ............................................................ 82

Model Explorer list ...................................................... 62

Model Options Press .................................................................... 169 shows ..................................................................... 42

Model Options ............................................................. 42

Model Options ............................................................. 44

Model Options ............................................................. 61

Model Options ........................................................... 169

Model Options ........................................................... 378

Model Options ........................................................... 389

Model Options ........................................................... 406

Model Options ........................................................... 440

Model Options Panel see ........................................................ 169, 406, 440

Model Options Panel................................................. 169

Model Options Panel................................................. 406

Model Options Panel................................................. 440

Model Options Shared ................................................ 42

Model Setup ...................................................... 139, 389

model.*.MON ............................................................ 473

model.archive.DTF ...................................................... 22

model.auto.DTF .......................................................... 22

model.backup.DTF DTF file ................................................................... 22

model.backup.DTF ...................................................... 22

Model.DTF copy ........................................................................ 22

Model.DTF .................................................................. 22

Model.DTF .................................................................. 96

Model.DTF ................................................................ 178

Model.DTF ................................................................ 473

model.HIS ................................................................. 473

MODEL.mod ............................................................. 473

model.out .................................................................. 473

model.par .................................................................. 473

model.py ..................................................................... 27

Model.RSL ................................................................ 473

Model.RUN ....................................................... 182, 473

model.SetGeomCenter ............................................. 509

model.SetGeometry .................................................. 509

model.SetGeomThickness ....................................... 509

model.SetInverseResistanceCo ............................... 509

model.SetLinearResistanceCo ................................. 509

model.SetMinVelocity ............................................... 509

model.SetName ........................................................ 509

model.SetNormalDirection........................................ 509

model.SetPorosity .................................................... 509

model.SetQuadraticResistanceCo ........................... 509

model.SetTangentDirection ...................................... 509

model.SetTangentIsotropic....................................... 509

model_name.DTF ..................................................... 328

model_name.ECD .................................................... 470

model_name.out ............................................... 328, 331

model_steady.*.DTF ................................................. 473

modeling/analysis ..................................................... 355

modelnamd.fmt_hlp .................................................. 483

modelName .............................................................. 180

modelname.#####.DTF .............................................. 70

modelname.####.DTF ................................................ 70

modelname.DTF ............................... 29, 70, 73, 96, 448

modelname.DTF file ................................................... 96

modelname.fmt ......................................................... 483

modelname.fmt file look ........................................................................ 72

modelname.fmt file ..................................................... 72

modelname.fmt file ................................................... 483

modelname.HIS ........................................................ 475

modelName.job ........................................................ 180

modelname.MOD ..................................................... 475

modelname.MOD file ................................................ 475

modelname.out ........................... 78, 234, 280, 449, 474

modelname.out file ..................................... 78, 234, 280

modelname.RSL ......................................................... 76

modelname.RSL file ................................................... 76

modelname_Irreversible_con.DAT ........................... 449

modelname_Surface_conc.DAT............................... 449

modelname_Wall_conc.DAT .................................... 449

Models menu .............................................. 29, 144, 503

Moderate .................................................................. 509

modify CFD-ACE-Solver .................................................. 199

modify ....................................................................... 199

Modify Axes ................................................................ 77

Module Periodic BC .......................................... 137, 139

Module Related Graphics Output ............................. 448

Page 539: Cfd-Ace v2008.2 User Manual

Index

527

Module Selection Mode .............................................. 40

module/feature’s ....................................................... 427

module’s ...................... 46, 54, 66, 68, 73, 131, 166, 333

Modulename ..................................... 516, 517, 518, 521

ModuleName ............................................................. 516

ModuleName/PYNAME ............................ 517, 518, 521

ModuleName/PYNAME ............................................ 517

ModuleName/PYNAME ............................................ 518

ModuleName/PYNAME ............................................ 521

ModuleName/PYNAME ............................................ 524

ModuleNames GuiPT ................................................................... 516

ModuleNames ........................................................... 516 Modules .................................................................... 138

modules/options following ............................................................... 118

modules/options ........................................................ 118

module-specific ..................................................... 40, 42

modulus .................................................................... 200

mol ............................................................................ 109

mol/L ................................................. 433, 435, 438, 439

mol/m2 ...................................................... 435, 438, 439

mol/m2-sec ............................................................... 438

Molecular - Elemental ............................................... 100

Molecular - Molecular ................................................ 111

Molecular Theory Gases ................................................................... 132

Molecular Theory ...................................................... 132

Molecular-> Molecular Weight .................................. 383

Momentum Resistance ........... 46, 48, 86, 149, 151, 152

Momentum Resistance Feature ................................ 175

Momentum Resistance Implementation ................... 151

Momentum Resistance Model .......................... 503, 509

Momentum Resistance/Source Describes ............................................................. 151

Momentum Resistance/Source ................................. 151

Momentum Resistance/Source ................................. 151

Momentum Resistance/Source ................................. 151

MomentumModel ...................................................... 509

Monitor Point File ...................................................... 486

Monitor Points define ...................................................................... 74

Monitor Points ............................................................. 74

Monitor Points ............................................................. 79

Monitor Points Window ............................................... 74

monovalent ............................................................... 376

Monte Carlo .............................................................. 509

Monte Carlo Model.................................................... 509

Monte-Carlo .............................................................. 118

Monte-Carlo Radiation .............................................. 118

Mosher work ..................................................................... 380

Mosher ...................................................................... 380

Mosher ...................................................................... 385

Mosher ...................................................................... 428

Mosher ...................................................................... 472

Mouse Operations ...................................................... 11

Moving GUI ....................................................................... 355

Moving ...................................................................... 355

Moving Grid following ............................................................... 262 solving .......................................................... 260, 262

Moving Grid .............................................................. 260

Moving Grid .............................................................. 262

MPI ........................................................................... 180

MPICH ...................................................................... 180

MPICH.NT ................................................................ 182

MPICH.NT.1.2.1 ....................................................... 182

mpich|-nativempi ...................................................... 180

MPICHDIR ................................................................ 182

mpiregister.exe ......................................................... 182

MS-DOS ....................................................... 9, 330, 331

MSM2001 ................................................. 385, 428, 472

MS-Windows ............................................................ 182

MS-Windows 2000 ................................................... 182

MS-Windows 95 ....................................................... 182

MS-Windows NT ............................................... 182, 185

mth ............................................................................ 376

MU ............................................................................ 486

mu_r ......................................................................... 200

Multi-component ....................................................... 155

multi-dimensional scales ................................................................... 359

multi-dimensional...................................................... 359

multi-dimensional...................................................... 359

multi-dimensional...................................................... 362

multi-dimensional...................................................... 425

multi-dimensional...................................................... 464 Multigrid ............................................................ 352, 353

Multiphase Flow ........................................................ 166

Multiple Analyte ........................................................ 435

Multiple Analytes ...................................................... 435

Multiple Document Interface ....................................... 11

Multiple Open Viewer Windows Arranging ............................................................... 11

Multiple Open Viewer Windows .................................. 11

Multiple Structured Directions................................... 118

Multiple Viewer Windows Opening ................................................................. 11

Multiple Viewer Windows............................................ 11

Page 540: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

528

multi-processor sim ........................................................................ 185 work ...................................................................... 182

multi-processor ................................................. 180, 182

multi-processor ......................................................... 182

multi-processor ......................................................... 185

multi-processor SGI .................................................. 185

Multi-Species ............................................................ 464

Multi-Stage Environment........................................... 357

Multi-step Reaction ................................................... 112

MX ............................................................................. 483

MY ............................................................................. 483

My Documents ............................................................ 96

Myszka ...................................................................... 462

MZ ............................................................................. 483

N n_cells ....................................................................... 234

N_E ........................................................................... 200

n_nodes ............................................................ 234, 280

Nafion 117 ................................................................. 425

Nag f95 ..................................................................... 326

NASTRAN ................................................................... 17

Navier-Stokes Momentum Equation ......................... 433

nbc_faces .................................................................. 280

nbc_nodes ................................................................ 280

ncell_faces ................................................................ 280

ncell_nodes ............................................................... 280

ncells ......................................................................... 280

nd/Smart_Scheme/3r ................................................ 475

Nernst-Einstein ......................................................... 367

Newman .................................................... 385, 428, 472

nface_nodes ............................................................. 280

nfaces ....................................................................... 280

NFS use ........................................................................ 182

NFS ........................................................................... 182

NFS ........................................................................... 185

ni 433

NITER ....................................................................... 349

nnodes ...................................................................... 280

nodal_values ............................................................. 234

Node Displacement ................................................... 217

Node Rotation Angle ................................................. 217

Node Rotation Speed................................................ 217

Node Velocity ............................................................ 217

Node X-Coordinate ................................................... 217

Node Y-Coordinate ................................................... 217

Node Z-Coordinate ................................................... 217

node_index ............................................................... 280

node_value ............................................................... 234

node_value,user_units,dtf_file_option,error ............. 234

nodecomp ......................................................... 180, 185

Nodes Get Number ......................................................... 280

Nodes ............................................................... 200, 217

Nodes ....................................................................... 280

Nodes ....................................................................... 363

Non Competitive Binding .......................................... 435

Non-Boussinesq ......................................................... 46

Non-Boussinesq Approximation ................................. 46

non-dimensional ....................................................... 483

None ......................... 164, 280, 475, 503, 509, 518, 521 non-equilibrium ......................................................... 375

Non-Gray .................................................................. 509

non-Michaelis Menten Kinetics ................................. 432

no-pressure-drop ...................................................... 137

Normal value .................................................................... 483

Normal .............................................................. 133, 200

Normal ...................................................................... 483

Normal Distance ....................................................... 217

Normal Vector ........................................................... 144

n-sided ...................................................................... 117

nu12 .......................................................................... 200

nu13 .......................................................................... 200

nu21 .......................................................................... 200

nu23 .......................................................................... 200

nu31 .......................................................................... 200

nu32 .......................................................................... 200

Num .......................................... 180, 185, 353, 417, 509

num_cell_types ......................................................... 280

num_face_types ....................................................... 280

num_procs ................................................................ 178

number arbitrary/interface BC ........................................... 280 BC ........................................................................ 280

number ..................................................................... 280

number_of_faces_for_current_BC ........................... 280

Number_Of_Nodes Number_Of_Edges Number_Of_Side_Faces Maximum_Cell_Length 363

Number_Of_Sub_Section......................................... 363

Number_Of_Sub-Section ......................................... 363

Numer ....................................................................... 353

Numeric Solver Commands...................................... 475

numeric_Limits_D_Maximum ................................... 475

numeric_Limits_D_Minimum .................................... 475

numeric_Limits_Density_Maximum .......................... 475

numeric_Limits_Density_Minimum ........................... 475

numeric_Limits_Enthalpy_Maximum ........................ 475

Page 541: Cfd-Ace v2008.2 User Manual

Index

529

numeric_Limits_Enthalpy_Minimum ......................... 475

numeric_Limits_K_Maximum .................................... 475

numeric_Limits_K_Minimum ..................................... 475

numeric_Limits_Mixture_Maximum .......................... 475

numeric_Limits_Mixture_Minimum ........................... 475

numeric_Limits_Pressure_Maximum ........................ 475

numeric_Limits_Pressure_Minimum ......................... 475

numeric_Limits_Species_Maximum ......................... 475

numeric_Limits_Species_Minimum .......................... 475

numeric_Limits_Temperature_Maximum ................. 475

numeric_Limits_Temperature_Minimum .................. 475

numeric_Limits_U_Maximum.................................... 475

numeric_Limits_U_Minimum..................................... 475

numeric_Limits_V_Maximum .................................... 475

numeric_Limits_V_Minimum ..................................... 475

numeric_Limits_Viscosity_Maximum ........................ 475

numeric_Limits_Viscosity_Minimum ......................... 475

numeric_Limits_W_Maximum ................................... 475

numeric_Limits_W_Minimum .................................... 475

numeric_Scalar_Limits_Maximum_ScalarName ...... 475

numeric_Scalar_Limits_Minimum_ScalarName ....... 475

numeric_Scalar_Solvers_ScalarName ..................... 475

numeric_Scalar_Spatial_Differencing_ScalarName . 475

numeric_Scalar_Under_Relaxation_ScalarName .... 475

numeric_Solvers_Enthalpy ....................................... 475

numeric_Solvers_Enthalpy_Criterion ....................... 475

numeric_Solvers_Enthalpy_Sweeps ........................ 475

numeric_Solvers_Mixtures........................................ 475

numeric_Solvers_Mixtures_Criterion ........................ 475

numeric_Solvers_Mixtures_Sweeps ......................... 475

numeric_Solvers_P_Correction_Criterion ................ 475

numeric_Solvers_P_Correction_Sweeps ................. 475

numeric_Solvers_Species ........................................ 475

numeric_Solvers_Species_Criterion ......................... 475

numeric_Solvers_Species_Sweeps ......................... 475

numeric_Solvers_Turbulence ................................... 475

numeric_Solvers_Turbulence_Criterion ................... 475

numeric_Solvers_Turbulence_Sweeps .................... 475

numeric_Solvers_Velocities ...................................... 475

numeric_Solvers_Velocities_Sweeps ....................... 475

numeric_Solvers_Velocity_Criterion ......................... 475

numeric_Spatial_Differencing_Density ..................... 475

numeric_Spatial_Differencing_Density_Blending ..... 475

numeric_Spatial_Differencing_Enthalpy ................... 475

numeric_Spatial_Differencing_Enthalpy_Blending ... 475

numeric_Spatial_Differencing_Mixtures ................... 475

numeric_Spatial_Differencing_Mixtures_Blending ... 475

numeric_Spatial_Differencing_Species .................... 475

numeric_Spatial_Differencing_Species_Blending .... 475

numeric_Spatial_Differencing_Turbulence .............. 475

numeric_Spatial_Differencing_Turbulence_Blending475

numeric_Spatial_Differencing_Velocities ................. 475

numeric_Spatial_Differencing_Velocity_Blending .... 475

numeric_Under_Relaxation_Caviation ..................... 475

numeric_Under_Relaxation_Density ........................ 475

numeric_Under_Relaxation_Electron ....................... 475

numeric_Under_Relaxation_Enthalpy ...................... 475

Numeric_Under_Relaxation_Enthalpy 0.0001 ......... 475

numeric_Under_Relaxation_Enthalpy 0.001 ............ 475

numeric_Under_Relaxation_Mixtures ...................... 475

numeric_Under_Relaxation_Ne ............................... 475

numeric_Under_Relaxation_P_Correction ............... 475

numeric_Under_Relaxation_Potential ...................... 475

numeric_Under_Relaxation_Pressure ..................... 475

numeric_Under_Relaxation_Saturation ................... 475

numeric_Under_Relaxation_Species ....................... 475

numeric_Under_Relaxation_Swirl_Velocities ........... 475

numeric_Under_Relaxation_Te ................................ 475

numeric_Under_Relaxation_Temperature ............... 475

numeric_Under_Relaxation_Turbulence .................. 475

numeric_Under_Relaxation_Velocities .................... 475

numeric_Under_Relaxation_Viscosity ...................... 475

Numerical ......................................................... 137, 353

Numerical Methods International Journal ............................................ 353

Numerical Methods.. 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 348, 349, 350, 351, 352

Numerical Methods................................................... 353

Numerics ...................................................... 64, 66, 475

O OFF .......................................................................... 475

Ollis ........................................................................... 462

Omega ...................................................................... 200

OMG_X ..................................................................... 200

OMG_Y ..................................................................... 200

OMG_Z ..................................................................... 200

ON ............................................................................ 475 one-dimensional

modeling .............................................................. 359

one-dimensional ....................................................... 359

one-dimensional ....................................................... 518

one-dimensional ....................................................... 521

one-dimensional ....................................................... 524

online corresponding .......................................................... 9

online ............................................................................ 9

online .......................................................................... 40

online .......................................................................... 40

online ........................................................................ 342

Page 542: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

530

online ........................................................................ 431

OpenGL ...................................................................... 25

Optimization Run ........................................................ 76

Optimization Wizard .................................................... 76

option allows ............................................................. 178

Option Settings ......................................................... 389

Option Tab ................................................ 378, 389, 406

Options ....... 48, 137, 178, 194, 195, 389, 406, 427, 429, 440, 449, 503, 517

Options Panel ............................................................. 42

OR ............................................................................. 200

order-of-magnitude ................................................... 474

orders-of-magnitude .................................................. 474 orig_topo ........................................................... 178, 180

Orthogonal .................................................................. 28

orthogonality ............................................................. 389

OTHERS ................................................................... 200

OUT .......................................................................... 188

Outlet ................................................................ 174, 442

Output ................................... 69, 79, 178, 448, 474, 475

Output Controls ................................................. 503, 527

Output File ................................................................ 474

Output Frequency ..................................................... 475

Output Introduction ..................................................... 69

Output Location ........................................................... 70

Output Panel ......................................................... 69, 71

Output Results ............................................................ 70

Output Viewer Close ...................................................................... 78

Output Viewer ............................................................. 78

Output Viewer window ................................................ 78

Output_Start_Point ................................................... 389

overlapped WB ......................................................... 188

Overlaps .................................... 187, 188, 194, 195, 499

overP ......................................................................... 166

overpotential ..... 158, 166, 422, 423, 463, 465, 470, 471

P P_mean ..................................................................... 483 P_wall ....................................................................... 483

Palusinski .......................................... 376, 385, 428, 472

Parallel CFD-ACE ..................................................... 182

Parallel Processing Describes ............................................................. 177

Parallel Processing ................................... 130, 175, 177

Parallel Processing ................................................... 177

Parallel Processing ................................................... 178

Parallel Processing ................................................... 180

Parallel Processing ................................................... 182

Parallel Processing ................................................... 182

Parallel Processing ................................................... 182

Parallel Processing ................................................... 185

Parallel Processing Feature ..................................... 118

Parallel Processing Implementation ......................... 177

Parallel Run ................................................................ 75

Parameters ............................................... 355, 429, 475

Parametric ............................................................ 32, 58

Parametric Input ................................................... 32, 44

Parametric Input Panel ............................................... 32

Parametric Part Study .............................................. 115

Parametric Run ........................................................... 76

Parametric Studies Implementation-Grid Generation-Grid Systems ... 121

Parametric Studies ................................................... 121

Parametric Wizard ...................................................... 76

part BCs ...................................................................... 280

part ........................................................................... 280

Partial Differential Equations .................................... 333

Particle Distribution ................................................... 396

Particular Simulation Data Arrays Deleting ................................................................ 499

Particular Simulation Data Arrays ............................ 499

Particular Zonal Data Arrays Deleting ................................................................ 499

Particular Zonal Data Arrays .................................... 499

Patankar refer ...................................................................... 339

Patankar ................................................................... 339

Patankar ................................................................... 353

Patankar ................................................................... 374

Patch ................................................................ 139, 280

PATH ........................................................................ 331

PATRAN ..................................................................... 17

PDE governing ............................................................. 342

PDE .......................................................................... 341

PDE .......................................................................... 342

PDE’s ........................................................................ 333

PEM .......................................................... 419, 421, 425

PEMFC ..................................................................... 425

Perform_at_iteration 100 .......................................... 475

Perform_at_iteration 200 .......................................... 475

perform_at_timestep................................................. 475

periodic ..................................................................... 137

Periodic BC ............................................... 137, 138, 139

Periodic BC's .................................................... 138, 139

Permeability .............................................................. 200

permittivities ...................................................... 388, 398

permittivity . 99, 101, 111, 367, 368, 373, 387, 388, 389, 393

Page 543: Cfd-Ace v2008.2 User Manual

Index

531

pH Corresponding ...................................................... 380 function ................................................................. 372

pH ..................................................................... 111, 200

pH ............................................................................. 372

pH ............................................................................. 375

pH ............................................................................. 376

pH ............................................................................. 380

pH ............................................................................. 497

pH ............................................................................. 499

Phase Change Water .................................................................... 427

Phase Change .......................................................... 427

phenomenological ..................................................... 425

Phys .................................................................... 51, 400

Phys Tab ..................................................................... 51

Physical ............................................................. 137, 389

Physical - Density ............................... 99, 100, 101, 111

Physical-Chemical .................................................... 100

Physicochemical Hydrodynamics ............................. 374

pI 32, 380

pickable ....................................................................... 24

Picking Tolerance ....................................................... 25

Piezoelectric .............................................................. 200

Piezoelectric - Constitutive.......................................... 99

PIEZOELECTRIC_POTENTIAL ............................... 200

pKa .................................................... 111, 378, 380, 383

pKb ............................................................ 111, 378, 380

pKb Input Protein .................................................................. 378

pKb Input ................................................................... 378

Plane Mixing ........................................................... 355, 357

Plane ................................................................. 137, 200

Plane ......................................................................... 355

Plane ......................................................................... 355

Plane ......................................................................... 355

Plane ......................................................................... 355

Plane ......................................................................... 355 Plane ......................................................................... 357

Plasma ...................................................................... 200

Plasma - Electron ...................................................... 101

Plot3D ......................................................................... 17

Point Injector ............................................................. 389

Point Load ................................................................. 200

points/lines/curves .................................................... 194

Point-To-Point Matching ........................................... 116

Poisson ..................................................................... 373

Poisson Equation solving .................................................................. 368

Poisson Equation ...................................................... 368

Poisson-Bolzmann .................................................... 368

Poissons ................................................................... 200

Poisson's Ratio ........................................................... 99

Polar/Axisymmetric ..................................................... 44

poly ........................................................................... 139

POLY_CELL ............................................................. 280

POLY_FACE ............................................................ 280

Polyzones ................................................................. 118

Pore Size .................................................................. 200

PORE_SIZE ............................................................. 200

pore-fluid/catalyst ..................................................... 156

POROSITY ............................................................... 200

Porous ...................................................... 160, 200, 429

Porous Catalyst Containing Electrode .............. 158, 423

Porous Electrode. ..................................... 385, 428, 472

Porous Media Compared ............................................................ 151 Describes ............................................................. 160 following ............................................................... 255

Porous Media ....................................................... 46, 48

Porous Media ........................................................... 151

Porous Media ........................................................... 153

Porous Media ........................................................... 153

Porous Media ........................................................... 154

Porous Media ........................................................... 154

Porous Media ........................................................... 154

Porous Media ........................................................... 154

Porous Media ........................................................... 155

Porous Media ........................................................... 156

Porous Media ........................................................... 158

Porous Media ........................................................... 160

Porous Media ........................................................... 160

Porous Media ........................................................... 160

Porous Media ........................................................... 160

Porous Media ........................................................... 161

Porous Media ........................................................... 161

Porous Media ........................................................... 164

Porous Media ........................................................... 164

Porous Media ........................................................... 165

Porous Media ........................................................... 166

Porous Media ........................................................... 166

Porous Media ........................................................... 200

Porous Media ........................................................... 255

Porous Media ........................................................... 405

Porous Media ........................................................... 423

Porous Media ........................................................... 423

Porous Media ........................................................... 427

Porous Media ........................................................... 429

Porous Media Advances........................................... 166

Porous Media checkbox ........................................... 161

Page 544: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

532

Porous Media Electrochemistry ................................ 427

Porous Media Implementation .................................. 160

Porous Media Region Electric Settings .................................................... 165 Settings ................................................................ 164 Transfer Settings .................................................. 164

Porous Media Region ............................................... 164

Porous Media Region ............................................... 164

Porous Media Region ............................................... 165

Porous Media Specification ...................................... 161

Porous Media Theory ................................................ 154

POROUS_LIN_RESIST_NORMAL .......................... 200

POROUS_LIN_RESIST_TANGENTIAL_1 ............... 200

POROUS_LIN_RESIST_TANGENTIAL_2 ............... 200

POROUS_QUAD_RESIST_NORMAL...................... 200

POROUS_QUAD_RESIST_TANGENTIAL_1 .......... 200

POROUS_QUAD_RESIST_TANGENTIAL_2 .......... 200

Post Processing Theory-Graphical Output ...................................... 439

Post Processing ........................................................ 439

Post Processing Variables ........................................ 449

Potential ............................................................ 139, 200

potential drop ............................................................ 139

power ........................................................................ 200

Power Conditioner .................................................... 419

Power Dissipation ..................................................... 200

Power User ............................................................... 182

Power_dissipation ..................................................... 200

Prandtl ....................................................................... 128

pre-conditioner .......................................................... 351

Preconditioning Solver ................................................................... 351

Preconditioning ......................................................... 351

Predicting Incompressible Fluid Flows ..................... 353

Preferences Colors ..................................................... 25

Prentice-Hall ............................................. 385, 428, 472

Press Submit Job Under Different Name ....................................................... 76

Press Submit Job Under ............................................. 76

Pressure value ..................................................................... 483

Pressure ............................ 137, 139, 200, 429, 449, 475

Pressure .................................................................... 483

Pressure Correction .................................................. 475

Pressure Correction Solver ....................................... 475

pressure drop .................................................... 137, 139

Pressure Force ......................................................... 483

Pressure Moment ...................................................... 483

PRESSURE_FORCE_SUMMARY ........................... 475

pressure-correction ................................................... 342

pressure-driven ......................................................... 368

Pressure-Linked Equations Consistent Semi-Implicit Method ........................................... 342

Pressure-Linked Equations Consistent .................... 342

Previous Solution .................................................. 61, 62

Previous Solution Option ............................................ 61

Primary Components ................................................ 419

Principles .................................................................. 374

Printed Output ............................................................ 71

prism/hex .................................................................. 280

PRISM_CELL ........................................................... 280

Problem Type ...... 40, 61, 200, 370, 378, 389, 406, 427, 440, 503, 516

Problem Type Page .................................................... 40

Problem Type Panel ......................................... 406, 440

Problem Type Python ............................................... 516

Problem Type Settings ............................................. 389

Probstein .................................................................. 374

Process Chemkin ..................................................... 506

produces ................................................................... 139

production/consumption ........................... 101, 109, 112

production/destruction .............................................. 156

production-destruction .............................................. 156

Profile glutamic ................................................................ 380 Sample Input File ................................................... 58 set ........................................................................ 481 Value Specification ................................................ 56

Profile ......................................................................... 56

Profile ......................................................................... 58

Profile ....................................................................... 380

Profile ....................................................................... 481

Profile BC File ........................................................... 481

Projection .................................................................... 38

Projection Buttons ...................................................... 38

Propane Turbulent Mixing .................................................. 112

Propane .................................................................... 112

Properties see ......................................................................... 51 selecting ................................................................. 87 set ........................................................................ 441

Properties ................................................. 23, 32, 46, 48

Properties ................................................................... 51

Properties ................................................................... 85

Properties ................................................................... 87

Properties ................................................................... 90

Properties ................................................................. 178

Properties ................................................................. 200

Properties ................................................................. 441

Properties menu ............................................. 49, 50, 51

Property Manager Open .................................................................... 112 use ....................................................................... 112

Page 545: Cfd-Ace v2008.2 User Manual

Index

533

Property Manager ....................................................... 32

Property Manager ..................................................... 112

Property Manager ..................................................... 112

Property Manager Panel ........................................... 380

Property Sources Menu .............................................. 50

property value ........................................................... 200

property-related ........................................................... 98

Protein Adsorption Process ...................................... 435

Protein Antigen-Antibody Interaction Limited Kinetic Analysis .................................................... 462

Protein Antigen-Antibody Interaction Limited ............ 462

Proteins pKb Input .............................................................. 378

Proteins ..................................................................... 378

Proteins ..................................................................... 449

Proteins. .................................................... 385, 428, 472

Proton Exchange Membrane Fuel Cells Computational Modeling ....................... 385, 428, 472

Proton Exchange Membrane Fuel Cells ................... 385

Proton Exchange Membrane Fuel Cells ................... 428

Proton Exchange Membrane Fuel Cells ................... 472

Proton Exchange Membrane Fuel Cells. .................. 166

Protoype .................................................................... 518

PT Panel ........................................................... 370, 389

PT_mean .................................................................. 483

PYRAMID_CELL ....................................................... 280

Python ............................................... 503, 506, 516, 526

Python Script Directory ............................................... 27

Python Scripting .................................................. 27, 509

Python Scripting Introduction .................................... 503

Q Q_COND ................................................................... 200

Q_CONV ................................................................... 200

Q_RAD ...................................................................... 200

QUAD_CELL ............................................................. 280

QUAD_FACE ............................................................ 280

Quadratic Resistance........................................ 161, 200

Quadratic Resistance Coefficient ............................. 200

Quadrilaterals ............................................................ 280

Quantitative Approach. ............................. 385, 428, 472

R rad ............................................................................. 200

Rad/Model ................................................................. 509

Rad/Model ................................................................. 509

Radiation following ............................................................... 265 solving .................................................................. 265

Radiation ................................................................... 200

Radiation ................................................................... 265

Radiation Model................................................ 503, 509

Radiation Model Operations ..................................... 509

RADIATION_FLUX ................................................... 200

Radius .............................................................. 144, 509

Radmodel ................................................................. 509

Radmodel.SetAbsorpCoeff ....................................... 509

Radmodel.SetAbsorpSetName ................................ 509

Radmodel.SetAccuracy ............................................ 509

Radmodel.SetEmissivity ........................................... 509

Radmodel.SetEmSetName ...................................... 509

Radmodel.SetEnvT .................................................. 509

Radmodel.SetNonGray ............................................ 509

Radmodel.SetNumberOfAbsorpCoSets ................... 509

Radmodel.SetNumberOfBands ................................ 509

Radmodel.SetNumberOfEmSets.............................. 509

Radmodel.SetNumberOfSources ............................. 509

Radmodel.SetRadiationSource ................................ 509

Radmodel.SetSolarIrradiation .................................. 509

Radmodel.SetSubiteration........................................ 509

Radmodel.SetWaveLengthEnd ................................ 509

Raithby ............................................................. 342, 353

RAM MB ........................................................................ 175 X/N MB ................................................................. 175

RAM .......................................................................... 175

Reactants <-> Products ............................................ 105

Reaction ............................................. 23, 102, 200, 440

Reaction Force Summary ........................................... 73

Reaction Forces ....................................................... 200

Reaction Manager .............................. 32, 101, 102, 112

Reaction Manager dialog selected ................................................................ 103

Reaction Manager dialog.......................................... 103

Reaction Manager window selected ........................................................ 102, 105

Reaction Manager window ....................................... 102

Reaction Manager window ....................................... 105

Reaction Mechanism ........................................ 103, 105

Reaction Mechanism Specification................... 103, 105

Reaction Model ......................................... 102, 103, 105

Reaction Rates ......................................................... 449

Reaction Type .......................................................... 449

Reaction_Site ........................................................... 449

reaction-diffusion performing ............................................................ 156

reaction-diffusion ...................................................... 156

Read From File use ....................................................................... 389

Read From File ......................................................... 389

Read Real ................................................................. 234

read/write DTF

Page 546: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

534

programs .............................................................. 474 read/write DTF .......................................................... 474

read_real_sim_data_from_dtf ................................... 234

Real Value ................................................................ 475

real_p ................................................................ 234, 280

Receptor Flux ............................................................ 449

Receptor Group ........................................................ 449

Receptor list .............................................................. 449

Receptor Name Type ..................................................................... 449

Receptor Name ......................................................... 449

Receptor Type .......................................................... 449

Receptors .................................................................. 449 Receptors Initial Fractions ........................................ 449

Recursive Bisection .................................................. 178

Red-Green-Blue .......................................................... 25

reduces ............................................................. 178, 187

Refer Lonsdale ............................................................... 352 Patankar ............................................................... 339 Theory .................................................................. 444

Refer ................................................. 137, 178, 188, 200

Refer ......................................................................... 339

Refer ......................................................................... 352

Refer ......................................................................... 444

Reference ................................................................. 147

Reference Temperature ............................................ 406

Reformer Modeling Examples................................... 422

Region ............................................... 188, 503, 518, 521

relate Bio-Chemistry Module .......................................... 440

relate ......................................................................... 200

relate ......................................................................... 440

Related Modules ....................................................... 370

Relations ................................................................... 425

Relative Permeability ................................................ 200

Relative Permittivity .......................................... 200, 389

RELATIVE_PERMEABILITY .................................... 200

Relax ........................................................................... 66 Relax Tab .................................................................... 66

relax_drift_vel ............................................................ 475

Relaxation ................................................. 429, 448, 475

Relaxation Commands.............................................. 475

Relaxation Parameters ............................................. 475

releases .................................................................... 187

Remove From Group selecting ................................................................. 84

Remove From Group .................................................. 84

Repeat Injector .......................................................... 389

Replace Simulation ..................................................... 70

requirements/efforts .................................................. 187

Reset .............................................................. 28, 52, 80

Reset View ................................................................. 13

Residual Frequency .................................................... 73

Residual Plotter Close ...................................................................... 77

Residual Plotter .......................................................... 76

Residual Plotter .......................................................... 77

Residual Plotter window ............................................. 77

resistance/source ............................................. 149, 151

Respect Secondary Fluid ................................................... 200

Respect .................................................................... 200

RESTART_SAVE ..................................................... 475

retain Fluid-Fluid ............................................................ 178

retain ......................................................................... 178

Returns BC ........................................................................ 280

Returns ..................................................................... 280

Reverse ............................................................ 139, 449

Reverse Reaction Rate ............................................ 449

Reversible Complex ................................................. 449

RH ............................................................................ 200

RHO .......................................................................... 200

Righetti ............................................. 376, 385, 428, 472

Right - Looks .............................................................. 28

Right Mouse Button .................................................... 13

Right-Hand-Side ....................................................... 340

RMS Norm .................................................................. 44

Rotating Systems ............................................... 167, 169, 174 Wall .................................................................. 55, 87

Rotating ...................................................................... 55

Rotating ...................................................................... 87

Rotating .................................................................... 167

Rotating .................................................................... 167

Rotating .................................................................... 167

Rotating .................................................................... 169

Rotating .................................................................... 169

Rotating .................................................................... 169

Rotating .................................................................... 169

Rotating .................................................................... 169

Rotating .................................................................... 174

Rotating .................................................................... 174

Rotating Frame ......................................................... 169

Rotating Systems Describes ............................................................. 169

Rotating Systems ............................................... 46, 167

Rotating Systems ..................................................... 169

Rotating Systems ..................................................... 169

Rotating Systems Implementation ............................ 169

Page 547: Cfd-Ace v2008.2 User Manual

Index

535

rotating wall BC ......................................................... 200

Rotating Walls ........................................................... 200

Rotation ..................................................................... 169

rothalpy ............................................................. 167, 174

rotor/stator Study .................................................................... 355

rotor/stator ................................................................. 355

ROUGHNESS_HEIGHT ........................................... 200

Rule Definition Mixing ................................................................... 111

Rule Definition ........................................................... 111

Rule Name Type ............................................................. 383, 449

Rule Name ................................................................ 383

Rule Name ................................................................ 449

RUN .................................................................. 326, 503

Run Controls ............................................................... 39

RUN file deletes .................................................................. 182

RUN file ..................................................................... 182

Run Script ............................................................. 37, 39

Run/User Shared Library .................................. 328, 331

Run-in-progress file ................................................... 473

Run-Optimization Run................................................. 76

Run-Parallel Run ......................................................... 75

Run-Parametric Run ................................................... 76

Run-Plot Monitor Points .............................................. 79

Run-Save .................................................................... 79

Run-Stop ..................................................................... 79

Run-Submit Solver ..................................................................... 76

Run-Submit ................................................................. 76

Run-View Output ......................................................... 78

Run-View Residuals Introduction ................................ 76

Run-View Residuals-Export Text File .................................................................. 77

Run-View Residuals-Export ........................................ 77

Run-View Residuals-Hide All Lines ............................ 77

Run-View Residuals-Modify Axes ............................... 77

Run-View Residuals-Normalize Residuals ................. 77

Run-View Residuals-Update Frequency ..................... 77

S S_OVER_V ............................................................... 200

Sample Input File Profile ..................................................................... 58

Sample Input File ........................................................ 58

Sample Stacking ....................................................... 112

Sample Transport Analysis ................................................ 385, 428, 472

Sample Transport ..................................................... 385

Sample Transport ..................................................... 428

Sample Transport ..................................................... 472

Sandia Format ............................................................ 93

Saturation ................................................................. 475

Save DTF file ................................................................ 114

Save ............................................................... 18, 38, 79

Save ......................................................................... 114

Save ......................................................................... 194

Save ......................................................................... 475

Save As ........................................................ 18, 38, 194

Save file ...................................................................... 18

Save Journal File .................................................. 19, 27

SAVE_CONTINUE ................................................... 475 Saville ............................................... 376, 385, 428, 472

SC/Adv ..................................................................... 429

Scalar ............................................................... 200, 475

Scalar Diffusivity ....................................................... 200

Scalar Flux Summary ................................................. 73

Scalar Fraction ......................................................... 200

Scalar Module ........................................................... 442

Scalar Name ..................................................... 200, 486

scales multi-dimensional ................................................. 359

scales ................................................................... 79, 91

scales ....................................................................... 359

scales ....................................................................... 359

Scaling Factor Setting .................................................................. 499

Scaling Factor ........................................................... 499

Scaling Tab ................................................................. 91

scheme 0<re<1 .................................................................. 337

scheme ............................................................. 178, 187

scheme ..................................................................... 337

scheme ..................................................................... 475

Scheuerer ................................................................. 353

Script .................................................................. 27, 178

Script Preferences ...................................................... 27

SDTF Python ............................................................ 503

Secondary Fluid Respect ................................................................ 200

Secondary Fluid ........................................................ 200

see Eq.23 .................................................................... 425

see ............................................................................ 425

Seebeck ...................................................................... 99

Selected Applications ............................................... 374

Sematech Benchmark Case ..................................... 112

Semi Device ................................................. 40, 98, 516

Semiconductor - Semi ................................................ 99

Semi-Implicit Method

Page 548: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

536

Pressure-Linked Equations Consistent ................ 342 Semi-Implicit Method ................................................ 342

Set button clicking .................................................................. 139

Set button .................................................................. 139

Set Grid Scale Tab ...................................................... 79

Set XYZ Rotation ........................................................ 80

Set XYZ Rotation Tab ................................................. 80

Set XYZ Visual Scale .................................................. 80

Set XYZ Visual Scale Tab........................................... 80

set_value_one_cell ................................................... 200

set_vc_array ............................................................. 200

setenv LD_LIBRARY_PATH ..................................... 329 setenv LIBPATH ....................................................... 329

setenv SHLIB_PATH ................................................ 329

Sets on/off ................................................................. 475

Sets on/off diagnostics .............................................. 475

Sets on/off Pressure Flow Summary ........................ 475

Setting Mode Change ................................................................... 46

Setting Mode ............................................................... 46

Setting Mode ............................................................... 54

Setting Mode ............................................................... 84

Setting Mode ............................................................. 139

Setting Mode ............................................................. 194

Setting Mode ............................................................. 195

Setup ................................. 139, 194, 355, 362, 389, 406

Setup-Fan Model Input Parameters .......................... 144

Several differencing .................................................... 64

SGI ............................................................................ 180

SGI IRIX6.5 ............................................................... 326

Shared ........................................ 42, 169, 195, 406, 440

Shared Library create ................................................................... 326

Shared Library .......................................................... 326

Shared Module .......................................................... 516

Shared Tab ................................................. 42, 195, 440

Shared/PYNAME .............................................. 503, 524

Shear Force .............................................................. 483

Shear Modulus ............................................................ 99

Shear Stress ..................................................... 200, 217

SHEAR_STRESS’ .................................................... 217

Shift ............................................................................. 13

Shift-key .............................................. 13, 46, 52, 62, 83

Shift-Left ...................................................................... 13

Shift-Left Mouse Button .............................................. 13

SHLIB_PATH ............................................................ 329

SHLIB_PATH on HP-UX ........................................... 328

Show All Domains ....................................................... 13

Siemens .................................................................... 132

sim ............................................................................ 178

sim DTF file .............................................................. 182

SimManager launches ................................................................. 76

SimManager ............................................................... 76

SimManager ............................................................... 76

SimManager ............................................................. 503

SIMPLE .................................................................... 342

SIMPLE Method D., ........................................................................ 353

SIMPLE Method ....................................................... 353

SIMPLEC .................................................................. 342

SIMPLEC Algorithm .................................................. 342

simplifications ........................................................... 141

Simulate DEP ........................................................... 387

simulating dielectrophoretic ................................................... 387 electroosmotic ...................................................... 367 Fuel Cells ............................................................. 427

simulating ................................................................. 367

simulating ................................................................. 387

simulating ................................................................. 427

Simulation Deleting ................................................................ 499 Modeling .............................................. 385, 428, 472

Simulation ................................. 178, 194, 195, 234, 280

Simulation ................................................................. 385

Simulation ................................................................. 428

Simulation ................................................................. 472

Simulation ................................................................. 499

Simulation Data ................................................ 234, 499

Simulation Description ................................................ 44

Simulation Properties ........................................... 13, 91

simulation/zonal ........................................................ 497

Since Chimera .......................................................... 195

Since Periodic BC's .................................................. 139

single-component ....................................................... 98

Sinusoidal Wave ....................................................... 393

SKEW_<scalar ......................................................... 200

Sliding Grids ............................................................. 115

Smart Scheme .......................................................... 337

SMD .................................................................... 93, 506

Smoluchowski ................................................... 128, 373

SOFC ................................................................ 419, 421

Soldification .............................................................. 409

Solid Solid - Use ............................................................. 49

Solid ............................................................................ 49

Solid ............................................................................ 51

Solid ............................................................................ 85

Solid ............................................................................ 90

Page 549: Cfd-Ace v2008.2 User Manual

Index

537

Solid ............................................................................ 93

Solid ............................................................................ 96

Solid .......................................................................... 178

Solid .......................................................................... 188

Solid .......................................................................... 195

Solid .......................................................................... 200

Solid .......................................................................... 389

Solid - Use Solid ....................................................................... 49

Solid - Use .................................................................. 49

Solid Material Name .................................................... 51

Solid Materials .............................................. 93, 95, 389

solid/fluid ........................................................... 166, 483 Solidification

Use ....................................................................... 401

Solidification ...................................................... 200, 401

Solidification .............................................................. 401

Solidification .............................................................. 401

Solidification .............................................................. 402

Solidification .............................................................. 403

Solidification .............................................................. 403

Solidification .............................................................. 404

Solidification .............................................................. 405

Solidification .............................................................. 406

Solidification .............................................................. 407

Solidification .............................................................. 407

Solidification .............................................................. 407

Solidification .............................................................. 411

Solidification .............................................................. 414

Solidification .............................................................. 417

Solidification Module ................................. 401, 405, 406

Solidification Option .................................................. 406

Solidification Theory .................................................. 401

Solute ........................................................................ 440

Solution-Add Porous Media Region .......................... 161

Solution-Adding Fan ....................................................................... 144

Solution-Adding ......................................................... 144

Solvent ...................................................................... 440

Solvent Species ........................................................ 440

Solvers Tab ................................................................. 65

solving Biochemistry ......................................................... 200 Chemistry ............................................................. 200 electro ................................................................... 200 Electro-magnetic .................................................. 200 Flow ...................................................................... 200 Heat ...................................................................... 200 Kinetic ................................................................... 200 Two Fluids ............................................................ 200 User ...................................................................... 200

solving ....................................................................... 200

Soret ......................................................................... 155

Source Terms Direct Specification .............................................. 340

Source Terms ........................................................... 340

Source Terms ........................................................... 402

source/sink ............................................................... 340

Sources ...................................... 17, 138, 200, 359, 425

sources/sinks ............................................................ 166

SPACE_CHARGE_DENSITY .................................. 200

Sparse Linear Systems Iterative Methods ................................................. 353

Sparse Linear Systems ............................................ 353

Spatial Differencing Changes ............................................................... 475

Spatial Differencing .................................................. 447

Spatial Differencing .................................................. 475

Spatial Differencing Commands ............................... 475

Spatial Differencing Schemes .................................. 449

Spatial Tab ................................................................. 64

Special Cases ........................................................... 137

Special Instructions .................................................. 355

Species ........... 29, 48, 96, 200, 425, 429, 475, 503, 509

Species Approach .................................................... 109

Species Attributes Editing .................................................................. 100

Species Attributes..................................................... 100

Species Conservation............................................... 429

Species Conservation Enforced ............................... 429

Species Diffusivity ............................................ 200, 383

Species Flux ............................................................. 425

Species Fraction Approach ...................................... 105

Species Fractions ....................................................... 68

Species Mass Fraction ............................. 221, 481, 486

Species Name .......................................... 200, 481, 486

Species Solver .......................................................... 475

Species Summary ...................................................... 73

Species Tab ................................................................ 29

Species window .......................................................... 29

Species, Volume Reactions........................................ 93

species’ lists ....................................................................... 380

species’ ..................................................................... 380

Specific Heat ...................................................... 51, 200

SPECIFIC_HEAT ..................................................... 200

Specification ............................................................. 132

specify Chimera ............................................................... 194

specify ...................................................................... 194

specify ...................................................................... 194

Specify Profile button.................................................. 56

Speed ....................................................................... 509

SPLINE ............................................................... 58, 481

Page 550: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

538

Spray Coupling ............................................................... 431 following ............................................................... 269 See ....................................................................... 389

Spray ........................................................................... 98

Spray ......................................................................... 269

Spray ......................................................................... 387

Spray ......................................................................... 389

Spray ......................................................................... 393

Spray ......................................................................... 431

Spray ......................................................................... 503

Spray - Heat ................................................................ 99

Spray Module ............................................................ 175

spray.dat ................................................................... 389

Springer Fig.3 ..................................................................... 425

Springer .................................................................... 425

Springer .................................................................... 425

Springer .................................................................... 429

Springer Model .......................................................... 429

SQRT .......................................................................... 32

Standard File Extensions .......................................... 473

Static ......................................................................... 200

Static Pressure .......................................... 200, 481, 486

Status Bar ................................................................... 28

Status Line .............................................................. 9, 10

stdout ........................................................................ 180

Steady ....................................................................... 425

Steady State ............................................................. 425

Stefan-Boltzman ....................................................... 129

Stefan-Maxwell satisfy ................................................................... 155

Stefan-Maxwell ......................................................... 155

STEP ........................................................................... 32

stevey ........................................................................ 185

Stewart ...................................................................... 166

stoichiometric .... 103, 112, 158, 423, 431, 433, 449, 465

stoichiometry specifying ............................................................. 433

stoichiometry ............................................................. 433

Stop ..................................................................... 79, 475

storage_info .............................................................. 497

Stores ........................................................................ 178

straight-shaped use ........................................................................ 151

straight-shaped ......................................................... 151

Strain Rate ................................................................ 200

STRAIN_RATE ......................................................... 200

streamwise ................................................................ 137

streamwise-periodic .................................................. 137

Stress .......................................................... 98, 200, 405

Structural - Material .................................................... 99

Structure ................................................................... 187

Structured Grid Patch Data Testing ................................................................. 499

Structured Grid Patch Data ...................................... 499

STS uses ..................................................................... 509

STS ........................................................................... 509

STS Model ................................................................ 509

STS model.Absorp ................................................... 509

Study rotor/stator ............................................................ 355

Study ........................................................................ 355

SU unitless ................................................................. 340

SU ............................................................................. 339

SU ............................................................................. 340

subfolder ..................................................................... 93

subfolders ................................................................... 96

subiteration Set ........................................................................ 509

subiteration ............................................................... 509

Submit Solver ..................................................................... 76

Submit ........................................................................ 76

Submit button ................................................... 328, 331

Submit Job Under Current Name button Press ...................................................................... 76

Submit Job Under Current Name button .................... 76

Submit window ........................................................... 76

substrate/enzyme ..................................................... 433

Substrate/Feedback Inhibition .................................. 432

SubType ..................................................................... 88

sulfonic-acid group ................................................... 425

Summary Reports....................................................... 73

SUN ULTRA SPARC 5.6 .......................................... 326

sunOS ....................................................................... 329

superfilling ................................................................ 463

supply.This ............................................................... 234

Supported For Various Modules ............................... 118

Surf React Name ...................................................... 469

Surface Chemkin ...................................... 385, 428, 472

Surface Concentration .............................................. 449

Surface Density ........................................................ 449

Surface Enzyme ....................................................... 449

Surface Radiation Modules Surface ................................................................. 175

Surface Radiation Modules ...................................... 175

Surface Reaction .. 23, 93, 112, 442, 443, 449, 465, 469

Surface Reaction Manager use ....................................................................... 112

Surface Reaction Manager ................................. 32, 109

Page 551: Cfd-Ace v2008.2 User Manual

Index

539

Surface Reaction Manager ....................................... 112

Surface Reaction Manager dialog ............................ 109

Surface Reaction Mechanism Specification ............. 109

Surface Tension ........................................................ 200

Surface, Variable ...................................................... 483

SURFACE_CHARGE_DENSITY .............................. 200

surface-adsorbed including ............................................................... 423

surface-adsorbed ...................................................... 422

surface-adsorbed ...................................................... 423

Swaminathan ............................................ 411, 414, 417

sweeps ...................................................................... 475

system containing ..................................................... 188 system’s ...................................................................... 27

Systems flux entering .......................................................... 200 flux leaving ........................................................... 200 grid generation uses ............................................. 187 Rotating ................................................ 167, 169, 174

Systems .................................................................... 139

Systems .................................................................... 167

Systems .................................................................... 167

Systems .................................................................... 167

Systems .................................................................... 169

Systems .................................................................... 169

Systems .................................................................... 169

Systems .................................................................... 169

Systems .................................................................... 169

Systems .................................................................... 174

Systems .................................................................... 174

Systems .................................................................... 187

Systems .................................................................... 187

Systems .................................................................... 188

Systems .................................................................... 188

Systems .................................................................... 194

Systems .................................................................... 200

T T_E ........................................................................... 200 T2 200

Target CFL .................................................................. 44

Task Manager use ........................................................................ 182

Task Manager ........................................................... 182

Tau1 .......................................................................... 200

Tau2 .......................................................................... 200

tcsh ........................................................................... 329

telecom ..................................................................... 147

Temperature value ..................................................................... 483

Temperature ..................... 200, 409, 411, 414, 429, 475

Temperature ............................................................. 483

temperature defined ................................................. 200

Temperature Distribution .......................................... 407

Temperature History ......................................... 411, 414

Temperature’ ............................................................ 389

term .................................................. 138, 188, 200, 425

terminates CFD-ACE-Solver .................................................... 79

terminates ................................................................... 79

terminates ................................................................... 79

terminates ................................................................. 473

terms need ................................................................ 188

Test Patches ............................................................. 497

tet 130, 134, 139, 143, 151, 160, 169, 439, 468 TET_CELL ................................................................ 280

tetrahedrals ....................................................... 113, 280

Theoretical Analysis Current Distribution .............................. 385, 428, 472

Theoretical Analysis ................................................. 385

Theoretical Analysis ................................................. 428

Theoretical Analysis ................................................. 472

Theory-Springer Model ............................................. 425

THERM.DAT ............................................................. 112

THERM.DAT file read ...................................................................... 112

THERM.DAT file ....................................................... 112

Thermal ............................................................ 147, 200

Thermal - Specific....................................... 99, 101, 111

Thermal - Thermal .................................................... 100

Thermal Conductivity ........................................ 200, 486

Thermal Expansion ........................................... 200, 406

Thermal Expansion Coefficient................................. 200

THERMAL_CONDUCTIVITY ................................... 200

Thermodynamic Aspects. ......................................... 357

THigh ........................................................................ 403

Thinwall .................................................................... 200

Thin-Wall .................................................................. 131

Thin-Wall Boundary Conditions 125, 127, 128, 129, 130, 131

Thinwall Conductivity ................................................ 200

three-dimensional ....... 11, 133, 134, 138, 149, 421, 464

three-dimensional Cartesian..................................... 141

Time Accuracy ............................................................ 44

Time Dependence ...................................................... 44

Time Domain ............................................................ 200

Time Step Frequency ............................................... 475

Time Step Size ......................................................... 475

Time Steps ............................................................... 475

TIME_SAVE ............................................................. 475

TIME_STEPS ........................................................... 475

timestep .................................................................... 475

Page 552: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

540

TINF .......................................................................... 200

Toggle ......................................................................... 21

Token Name ..................................................... 200, 217

Tool Bar .............................................. 16, 18, 19, 28, 38

Tools selecting ............................................................... 449

Tools ..................................................... 27, 37, 383, 389

Tools ......................................................................... 449

Tools menu ............................................... 19, 31, 39, 93

Tools Menu Introduction ............................................. 31

Tools Menu-View DTF Content .................................. 36

Tools-> Database ..................................................... 383

Tools->Parametric Input ............................................. 44 Top - Looks ................................................................. 28

topo ........................................................................... 499

topotype .................................................................... 499

Torque Convertors Modeling ............................................................... 355

Torque Convertors .................................................... 355

Torque, Axis .............................................................. 483

tortuosity ................................................... 155, 164, 200

Total Electric Field Strength ...................................... 393

Total Flux .................................................................. 200

Total Points ................................................................. 56

TOTAL_CURRENT ................................................... 200

TOTAL_CURRENT_DENSITY ................................. 200

TOTAL_DEP_THICKNES ......................................... 200

Trajectories ............................................................... 398

Transfer Module ........................................................ 175

Transfer Settings Porous Media Region ........................................... 164

Transfer Settings ....................................................... 164

Transfer Summary ...................................................... 73

Transient ..................................................................... 44

Transient Conditions ................................................... 44

Transient Time Step .................................................... 44

translationally .................................................... 137, 138

Transmission ............................................................. 357

transport ............................................................ 200, 425

Transport Phenomena .............................................. 166

Traveling Wave Dielectrophoresis ....................................... 398

Traveling ................................................................... 398

tri 139

TRI_CELL ................................................................. 280

TRI_FACE ................................................................. 280

turbine/compressor ................................................... 355

turbo-machinery ................................................ 167, 355

TURBULANCE .......................................................... 200

Turbulence

use ....................................................................... 406 Turbulence ........................................................ 131, 200

Turbulence ................................................................ 406

Turbulence ................................................................ 469

Turbulence ................................................................ 475

Turbulence Module See ....................................................................... 373

Turbulence Module ................................................... 175

Turbulence Module ................................................... 373

Turbulence Solver .................................................... 475

Turbulent Dissipation Rate ............... 200, 475, 481, 486

Turbulent Kinetic Energy .................. 200, 475, 481, 486

Turbulent Mixing Propane ............................................................... 112

Turbulent Mixing ....................................................... 112

Turbulent Viscosity ................................................... 200

Turbulent_Dissipation ............................................... 200

Turbulent_ke ............................................................. 200

TURBULENT_VISCOSITY ....................................... 200

Two Fluid .................................................................. 200

Two Fluids solving .................................................................. 200

Two-dimensional ...... 134, 138, 141, 464, 518, 521, 524

two-dimensional axisymmetric.................................. 141

Two-Dimensional Model ........................................... 166

TWOF_T ................................................................... 200

TWOF_U .................................................................. 200

TWOF_V ................................................................... 200

TWOF_VOLUME_FRACTION ................................. 200

TWOF_W .................................................................. 200

Two-Fluid ................................................ 40, 49, 98, 516

Type .......................................................................... 280

U U2 ............................................................................. 200

ubound ................................................................ 58, 238

ucond ........................................................................ 221

ucph_from_t .............................................................. 221

UDEFORM_BC ........................................................ 260

udens ........................................................................ 221

udiff_scalar ....................................................... 221, 248

UDRHODP ............................................................... 221

UDT .................................................................... 44, 257

UECOLL_FREQUENCY........................................... 221

uecond ...................................................................... 221

UEMISSIVITY_BC .................................................... 265

uepermittivity ............................................................ 221

UGRAVITY ............................................................... 221

UGRID ...................................................................... 262

UINIT .................................................................. 59, 248

Page 553: Cfd-Ace v2008.2 User Manual

Index

541

under-relaxation increase .................................................................. 66

under-relaxation .......................................................... 66

under-relaxation ........................................................ 349

under-relaxation ........................................................ 350

under-relaxation ........................................................ 448

Undo button ................................................................ 38

ungroup ............................................. 503, 518, 521, 524

Ungroup button ........................................................... 84

Uniformity Modeling ............................................... 385, 428, 472

Uniformity .................................................................. 385

Uniformity .................................................................. 428

Uniformity .................................................................. 472

uni-processor ............................................................ 185

Unique Filename ......................................................... 70

Unique Simulation ....................................................... 70

unitless .............................................................. 131, 340

Units .......................................................................... 200

Unix ................................. 9, 96, 182, 326, 327, 328, 330

Unlocking Locked DTF File ................................................... 499

Unlocking .................................................................. 499

Unsaved Changes Dialog Box .................................... 19

Unset button Press .................................................................... 131 Pressing ............................................................... 135

Unset button .............................................................. 131

Unset button .............................................................. 135

Unsteady Problem following ............................................................... 257

Unsteady Problem .................................................... 257

Unstructured Meshes ................................................ 353

UOUT ........................................................................ 221

up/down .............................................................. 66, 355

UPARAMETER ......................................................... 221

Update Data .............................................................. 497

Update Frequency ...................................................... 77

updating Data Compression ................................................ 499

updating .................................................................... 499

Updating General Simulation Data ........................... 499

UPOROUS ................................................................ 255

Upwind Differencing .................................................... 64

Upwind Schemes Application ............................................................ 353

Upwind Schemes ...................................................... 353

uread_dtf ................................................................... 234

Use perform_at_iteration .......................................... 475

User solving .................................................................. 200

User .......................................................................... 200

User Defined ............................................................. 194

USER SCALAR ........................................................ 200

User Subroutines ...................................... 200, 234, 280

user_units ................................................................. 234

uses Chimera ............................................................... 195

uses .......................................................................... 195

USOURCE .................................................. 48, 200, 221

Utility Variables ......................................................... 217

UWRITE_DTF .......................................................... 234

V V2 200

value_array ............................................................... 280 valueArray ................................................................ 234

Vapour ...................................................................... 200

VAPOUR_MASS_FRACTION .................................. 200

VAPOUR_VOLUME_FRACTION ............................. 200

var_index array ..................................................................... 280

var_index .................................................................. 280

var_name .................................................................. 234

Variable Limit Commands ........................................ 475

Variable Limits .................................................... 68, 475

Variable Names .......................................... 59, 234, 483

VC change ................................................................. 194

vc_index ................................................................... 280

vectorization ............................................................. 351

Velocity ..................................................... 200, 449, 475

Velocity Solver .......................................................... 475

Velocity Vector .......................................................... 409

Velocity-Pressure Coupling Introduction .................. 341

Velocity-Pressure Coupling-Continuity ..................... 342

Velocity-Pressure Coupling-Pressure Correction ..... 342

VIEW ........................................................................ 432

View Data ................................................................. 497

View DTF Content ...................................................... 36

View Menu .................................................................. 28

View Output ................................................................ 78

View Residuals pressing ................................................................. 77

View Residuals ........................................................... 76

View Residuals ........................................................... 77

Viewpoint Buttons ....................................................... 39

Vis ............................................................................. 200

Viscosity ........................................................... 200, 475

Viscous Force Summary ............................................ 73

Viscous Moment ....................................................... 483

VISL .......................................................................... 200

VIST .......................................................................... 200

Page 554: Cfd-Ace v2008.2 User Manual

CFD-ACE_V2008.2_User_Manual

542

VOF .. 40, 44, 49, 98, 118, 160, 200, 217, 405, 427, 431, 432, 516

VOF_CONTACT_ANGLE ......................................... 200

VOF_DENSITY1 ....................................................... 200

VOF_DENSITY2 ....................................................... 200

VOF_FLUID1 ............................................................ 200

VOF_FLUID2 ............................................................ 200

VOF_LAMINAR_VISCOSITY1 ................................. 200

VOF_LAMINAR_VISCOSITY2 ................................. 200

VOF_SPECIFIC_HEAT1 .......................................... 200

VOF_SPECIFIC_HEAT2 .......................................... 200

VOF_SURFACE_TENSION ..................................... 200

VOF_THERMAL_CONDUCTIVITY1 ........................ 200 VOF_THERMAL_CONDUCTIVITY2 ........................ 200

VOF_VOLUME_FRACTION ..................................... 200

VOF_VOLUME_FRACTION_GRAD_X .................... 200

VOF_VOLUME_FRACTION_GRAD_Y .................... 200

VOF_VOLUME_FRACTION_GRAD_Z .................... 200

Volume combine ................................................................ 178

Volume ...................................................................... 178

Volume Chemistry Rates .......................................... 433

Volume Condition Routines ...................................... 255

Volume Condition Type......................................... 85, 90

Volume Conditions ..... 11, 13, 20, 24, 25, 32, 46, 48, 49, 51, 52, 62, 82, 83, 84, 85, 86, 90, 91, 93, 99, 111, 160, 161, 169, 194, 200, 248, 255, 405, 406, 427, 441, 469, 470, 474, 503, 518

Volume Fraction ........................................................ 200

Volume Reaction ............................................... 440, 449

Volumetric Flow ........................................................ 483

W W2 ............................................................................. 200

Wall Boundary ........................................................... 188

WALL_HEAT_SOURCE ........................................... 200

WALL_SHEAR_STRESS_<X ................................... 200

WATER_SATURATION ............................................ 200

Wave Dielectrophoresis ............................................ 398 wavefront .................................................................. 178

Wavefront Element Reordering scheme ................... 178

WB edge intersects ..................................................... 188

intersect ............................................................... 188 WB ............................................................................ 188

Windows Registry ..................................................... 182

Write Cell Data DTF ...................................................................... 234

Write Cell Data ......................................................... 234

Write Nodal Data DTF ...................................................................... 234

Write Nodal Data ...................................................... 234

Write Nodal Solution DTF ...................................................................... 234

Write Nodal Solution ................................................. 234

Write Real ................................................................. 234

write_cell_data_to_dtf .............................................. 234

write_nodal_data_to_dtf ........................................... 234

write_nodal_solution_to_dtf ...................................... 234

write_real_sim_data_to_dtf ...................................... 234

X X-direction Displacement.......................................... 200

XY plane ................................................................... 200

XZ plane ................................................................... 200

Y y-component ............................................................. 200

Y-direction ................................................................ 200

Y-direction Displacement.......................................... 200

YZ plane ................................................................... 200

Z Z-axis ........................................................................ 178

z-component ............................................................. 200

Z-direction ................................................................. 200

Z-direction Displacement .......................................... 200

Zero-Flux Boundary Conditions ................................ 348

ZETA_POT ............................................................... 200

ZETA_POTENTIAL .................................................. 200

Zhang ....................................................................... 188

Zhang 2005b ............................................................ 188

Zone ....................... 86, 88, 91, 178, 194, 195, 280, 499

zones consisting ....................................................... 195