You are on page 1of 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: support.cfd@esi-group-na.com Software Sales: cfdinfo@esi-group.com

Table Of Contents
1.
Introduction _________________________________________________________________________________ 1 About CFD-ACE+ About ESI GROUP Copyright Information Getting Started How to Report Problems Using Help 1 3 4 5 6 7

2.

CFD-ACE-GUI Overview _______________________________________________________________________ 9 User Manual Starting CFD-ACE+ User Manual Window Layout User Manual Title Bar User Manual Status Line Graphics Area Graphics Area Introduction Graphics Area Working With the Viewer Window Graphics Area Mouse Operations Graphics Area Viewing Operations Graphics Area Picking Operations Menu Bar Menu Bar Introduction Menu Bar-File Menu Menu Bar-Edit Menu Menu Bar View Menu Menu Bar Models Menu Menu Bar-Tools Menu Menu Bar Window Menu Menu Bar Help Menu Tool Bar Tool Bar Introduction Tool Bar File Open, Save, Save As Tool Bar Undo Tool Bar Projection Tool Bar Viewpoint Tool Bar Colors Tool Bar Solver Control Tool Bar Launch CFD Software Tool Bar About CFD-ACE+ Control Panel Control Panel Overview Control Panel-Problem Type (PT) Control Panel-Model Options (MO) Control Panel-Volume Conditions (VC) Control Panel-Boundary Conditions (BC) Control Panel-Initial Conditions (IC) Control Panel-Solver Controls (SC) Control Panel-Output (OUT) Control Panel-Run Controls (RUN) Entity Bar Entity Bar Introduction Entity Bar Set Grid Scale Tab Entity Bar Set XYZ Visual Scale Tab Entity Bar Set XYZ Rotation Tab 9 9 10 10 10 10 10 11 11 12 14 14 15 19 27 28 29 35 35 35 35 36 36 36 36 37 37 37 38 38 38 38 40 44 50 57 61 67 72 77 77 77 78 78

iii

CFD-ACE_V2008.2_User_Manual

Entity Bar BC or VC Blanking Tab Model Explorer Model Explorer Introduction Model Explorer Operation Model Explorer-Volume Condition (VC) Explorer Model Explorer-Boundary Condition (BC) Explorer Model Explorer-Initial Condition (IC) Explorer User Manual Frequently Asked Questions

79 80 80 80 82 84 86 87

3.

Database Manager __________________________________________________________________________ 89 Database Manager Introduction Database Manager-Window Database Manager Window Introduction Database Manager Mode Selector Database Manager Data Organizer Database Manager Data Panel Database Manager-Material Properties Database Manager Material Properties Introduction Database Manager Material Properties-Gases Database Manager Material Properties-Liquids Database Manager Material Properties-Solids Database Manager-Chemistry Database Manager Chemistry Introduction 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-Biochemistry Database Manager Biochemistry Introduction Database Manager Biochemistry-Analytes Database Manager Biochemistry-Buffers Database Manager Biochemistry-Receptors Database Manager Biochemistry-Receptor Groups Database Manager Biochemistry-Mixing Rules Database Manager Biochemistry-Volume Reactions Database Manager Biochemistry-Surface Reactions Database Manager Examples Database Manager Frequently Asked Questions 89 89 89 91 92 94 94 94 94 95 95 95 95 96 96 96 96 97 97 104 105 105 106 106 106 106 106 107 107 107 107

4.

Arbitrary Interface Boundary Conditions _______________________________________________________ 109 Arbitrary Interface BC Introduction Applications Arbitrary Interface BC Applications Introduction 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 Features No Need for Point-To-Point Matching Automatic Face Projection Other Features Arbitrary Interface BC Theory Arbitrary Interface BC Limitations 109 109 109 109 110 111 112 112 112 112 113 113 114

iv

Table Of Contents

Not Supported for 2D Grid Systems Multiple Structured Directions Not Supported For Various Modules Conjugate Interfaces Monte-Carlo Radiation Avoid T-Junctions Implementation Arbitrary Interface BC Implementation Introduction Grid Generation Model Setup and Solution Arbitrary Interface BC Implementation-Post Processing Arbitrary Interface BC Frequently Asked Questions

114 114 114 115 115 115 115 115 116 117 118 118

5.

Thin Wall Boundary Conditions ______________________________________________________________ 121 Thin Wall BC Introduction Thin Wall BC Applications Thin Wall BC-Theory Thin Wall BC Theory Introduction Thin Wall BC Theory-Thermal Gap Model Thin Wall BC Theory-Gaseous Heat Transfer Coefficient Thin Wall BC Theory-Direct-Contact Heat Transfer Coefficient Thin Wall BC Theory-Radiative Heat Transfer Coefficient Thin Wall BC Limitations Thin Wall BC-Implementation Thin Wall BC Implementation Introduction Thin Wall BC Implementation-Grid Generation Thin Wall BC-Implementation-Model Setup and Solution Thin Wall BC Implementation-Post Processing Thin Wall BC References 121 121 121 121 123 124 124 125 126 126 126 126 126 127 128

6.

Cyclic Boundary Conditions _________________________________________________________________ 129 Cyclic BC Introduction Cyclic BC Theory Cyclic BC Features Cyclic BC Limitations Cyclic BC-Implementation Cyclic BC Implementation Introduction Cyclic BC Implementation-Grid Generation Cyclic BC-Implementation-Model Setup and Solution Cyclic BC Implementation-Post Processing 129 129 130 130 130 130 130 131 131

7.

Periodic Boundary Conditions _______________________________________________________________ 133 Periodic BC Introduction Flow Module Periodic BC Electric Module Periodic BC Periodic BC Theory Flow Module Periodic BC Electric Module Periodic BC Periodic BC Features and Limitations Features Limitations Periodic BC Implementation and Grid Generation Periodic BC Model Setup Flow Module Periodic BC Electric Module Periodic BC 133 133 133 133 133 134 134 134 134 135 135 135 136

CFD-ACE_V2008.2_User_Manual

8.

Fan Model ________________________________________________________________________________ 137 Fan Model Introduction Fan Model Features Fan Model Theory Fan Model Limitations Fan Model-Implementation Fan Model Implementation Introduction Fan Model Implementation-Grid Generation Fan Model-Implementation-Model Setup and Solution Fan Model Implementation-Post Processing Fan Model References 137 137 137 139 139 139 139 139 142 142

9.

Momentum Resistance or Source _____________________________________________________________ 143 Momentum Resistance Introduction Momentum Resistance Features Momentum Resistance Theory Momentum Resistance Limitations Momentum Resistance-Implementation Momentum Resistance Implementation Introduction Momentum Resistance Implementation-Grid Generation Momentum Resistance-Implementation-Model Setup and Solution Momentum Resistance Implementation-Post Processing 143 143 143 145 145 145 145 145 146

10. Porous Media

_____________________________________________________________________________ 147 147 147 148 148 148 148 148 149 154 154 154 154 154 160 160

Porous Media Introduction Porous Media Features Theory Porous Media Theory-Introduction Mass Conservation Momentum Conservation Energy Conservation Species Conservation Limitations Implementation Implementation Introduction Grid Generation Model Setup and Solution Post Processing References

11. Rotating Systems __________________________________________________________________________ 161


Rotating Systems Introduction Multiple Reference Frames Rotating Systems Features Multiple Reference Frame Rotating Systems Theory Multiple Reference Frames Rotating Systems Limitations Multiple Reference Frame Rotating Systems-Implementation Rotating Systems Implementation Introduction Rotating Systems Implementation-Grid Generation Rotating Systems-Implementation-Model Setup and Solution Rotating Systems Implementation-Post Processing 161 161 161 161 161 162 163 163 163 163 163 163 168

vi

Table Of Contents

12. Parallel Processing_________________________________________________________________________ 169


Parallel Processing Introduction Parallel Processing Applications Parallel Processing Features and Limitations Features Limitations Parallel Processing Theory Parallel Processing Setup Parallel Processing Implementation and Grid Generation Parallel Processing Decomposition Options Parallel Processing Executing a Parallel Run Parallel Processing User ID Requirements for Parallel Processing Parallel Processing Post Processing Parallel Processing Frequently Asked Questions Parallel Processing Examples-Demo Instructions 169 169 169 169 170 171 171 171 171 173 175 175 175 178

13. Chimera Grid Methodology __________________________________________________________________ 181


Chimera Introduction Chimera Features and Limitations Features Limitations Chimera Applications Chimera Theory Chimera Model Setup Chimera Implementation and Grid Generation Chimera Volume Conditions Chimera Boundary Conditions Chimera Example Activating the Chimera Feature Hole Cutting Priority Chimera Boundaries 181 181 181 181 182 182 187 187 187 188 188 189 190 191

14. User Subroutines __________________________________________________________________________ 193


User Subroutines Introduction to User Subroutines Activating User Subroutines User Subroutines User Subroutine Applications User Subroutines Introduction to User Subroutine Features Accessible Variables User Subroutines Introduction to Accessible Variables User Subroutines Features-Access Variables User Subroutines Features-Utility Variables User Access Routines User Subroutines Introduction to User Access Routines User Subroutines General Purpose Routines User Subroutines DTF Read/Write Routines User Subroutines Boundary Condition Routines User Subroutines Volume Condition Routines User Subroutines Porous Media Volume Condition Routines User Subroutines Unsteady Problem Routines User Subroutines Grid Deformation Routines User Subroutines Moving Grid Routines User Subroutines Radiation Routines User Subroutines Spray Routines User Subroutines Grid Connectivity Routines Implementation of User Subroutines User Subroutines Implementation-Introduction 193 193 194 194 194 194 194 212 214 214 214 227 230 240 247 248 251 253 257 260 271 284 284

vii

CFD-ACE_V2008.2_User_Manual

User Subroutines User Defined Output Routines (UOUT, UREAD_DTF, UWRITE_DTF) User Subroutines User Defined Boundary Condition Values (UBOUND) User Subroutines User Defined Boundary Condition Values (UBOUND_PATCH) User Subroutines User Defined Boundary Condition Values (UMODAL_SHAPES) User Subroutines User Defined Grid Deformation Boundary Condition Values (UDEFORM_BC) User Subroutines User Defined Emissivity Boundary Condition Values (UEMISSIVITY_BC) User Subroutines User Defined Parameter (UPARAMETER) User Subroutines User Defined Source Terms User Subroutines User Defined Reaction Rate Factor User Subroutines User Defined Properties User Subroutines User Defined Time Step (UDT) User Subroutines User Defined Gravity (UGRAVITY) User Subroutines User Defined Initial Conditions (UINIT) User Subroutines User Defined Grid Deformation (UGRID) User Subroutines User Defined Moving Solid Motion User Subroutines URADIATION User Subroutines Spray Subroutines User Shared Library/DLL User Subroutines Building a User Shared Library/DLL User Shared Library-UNIX User Shared Library-Windows User Subroutines FAQ

284 287 288 289 291 293 294 294 295 296 299 300 300 301 302 302 303 314 314 315 319 320

15. Numerical Methods_________________________________________________________________________ 321


Numerical Methods Introduction Numerical Methods-Discretization Numerical Methods Discretization Introduction Numerical Methods Discretization-Finite Volume Method Numerical Methods Discretization-Transient Term Numerical Methods-Discretization-Convection Term Numerical Methods Discretization-Diffusion Terms Numerical Methods-Discretization-Source Term Linearization Numerical Methods Discretization-Finite Difference Equations Numerical Methods-Velocity-Pressure Coupling Numerical Methods Velocity-Pressure Coupling Introduction Numerical MEthods Velocity-Pressure Coupling-Continuity and Mass Evaluation Numerical Methods Velocity-Pressure Coupling-Pressure Correction and SIMPLEC Algorithm Numerical Methods Boundary Conditions Fixed Value Boundary Condition Zero-Flux Boundary Conditions Numerical Methods-Solution Methods Numerical Methods Solution Methods Introduction Numerical Methods Solution Methods-Solution Procedure Numerical Methods Solution Methods-Under Relaxation Numerical Methods-Solution Methods-Linear Equation Solvers Numerical Methods References 321 321 321 321 322 323 326 327 329 329 329 330 330 335 336 336 337 337 337 338 339 341

16. Mixing Plane ______________________________________________________________________________ 343


Mixing Plane Introduction Mixing Plane Applications Mixing Plane Theory Mixing Plane Limitations Mixing Plane Implementation Model Setup and Solution Frame rotation specification Boundary Condition Specification 343 343 343 343 343 344 344 344

viii

Table Of Contents

Additional Input Description of the Parameters in Each Line Special Instructions Mixing Plane References

344 344 345 345

17. Filament Model ____________________________________________________________________________ 347


Filament Model Introduction Filament Model Applications Filament Model Limitations Filament Model Implementation Model Setup and Solution Filament Model Input File Format Filament Model Frequently Asked Questions 347 347 350 351 351 351 352

18. Applications: Electrokinetics

________________________________________________________________ 355 355 355 355 355 356 356 358 358 360 360 361 362

Electrokinetics Introduction Electroosmotic Flow Electrophoresis Electrokinetics Features Electrokinetics Limitations Electrokinetics Theory Electrokinetics Implementation Electroosmosis Electrophoresis Electrokinetics Future Work Electrokinetics Frequently Asked Questions Electrokinetics References

19. Applications: Ionization _____________________________________________________________________ 363


Ionization Introduction Ionization Features Ionization Limitations Ionization Theory Ionization Implementation Ionization Example Ionization Comments Ionization Frequently Asked Questions Ionization References 363 363 363 364 366 367 369 370 372

20. Applications: Dielectrophoresis (DEP) _________________________________________________________ 375


Dielectrophoresis Introduction Dielectrophoresis Features Dielectrophoresis Limitations Dielectrophoresis Theory Dielectrophoresis Implementation Grid Generation Model Setup and Solution Dielectrophoresis DC Electric with Sinusoidal Wave Dielectrophoresis Additional Output Dielectrophoresis Frequently Asked Questions Dielectrophoresis-Examples Dielectrophoresis Examples-Case 1 Dielectrophoresis Examples-Case 2 Dielectrophoresis Examples-Case 3 Dielectrophoresis References 375 375 375 376 377 377 377 381 381 381 381 381 383 385 387

ix

CFD-ACE_V2008.2_User_Manual

21. Applications: Solidification __________________________________________________________________ 389


Solidification Introduction Solidification Applications Solidification-Theory Solidification Theory Introduction Solidification Definition of Source Terms Solidification Theory-Implementation in CFD-ACE-Solver Solidification Theory-Initialization Solidification Theory-Non-Source Term Methods Solidification Limitations Solidification Model Setup and Solution Problem Type Available Modules Model Options Shared Heat Volume Conditions Graphic Output Solidification Frequently Asked Questions Soldification-Examples Solidification Examples Solidification Case 1: Pure heat conduction, multi-zone, and isothermal case Soldification Case 2:Natural convection + heat conduction, single-zone, and isothermal/mush-zone cases Solidification Case 3: Heat conduction, single-zone, piece-wise linear Cp, and isothermal/mush-zone cases Solidification Case 4: Heat conduction, single-zone, constant Cp, and isothermal case Solidification References 389 389 389 389 390 391 391 392 393 393 393 394 394 394 394 394 394 394 395 395 395 397 399 402 405

22. Applications: Fuel Cell Modeling

_____________________________________________________________ 407 407 409 409 410 410 411 411 411 411 413 413 415 415 415 415 415 416 416 416 416 417

Fuel Cell Modeling Introduction Fuel Cell Modeling Where Can CFD Help? Fuel Cell Modeling Examples 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 Theory Introduction Fuel Cell Modeling Theory-Electrochemical Reactions in Porous Media Fuel Cell Modeling Theory-Membrane Electrical Conductivity Fuel Cell Modeling Theory-Springer Model Fuel Cell Modeling Limitations Fuel Cell Modeling Implementation Problem Type Model Options Volume Conditions Boundary Conditions Initial Conditions Solver Controls Fuel Cell Modeling References Fuel Cell Modeling FAQ

23. Applications: Biochemistry __________________________________________________________________ 419


Biochemistry Introduction Biochemistry Applications Biochemistry Features Chemistry Coupling of Spray and Biochemistry 419 419 419 419 420

Table Of Contents

Coupling of VOF and Biochemistry Echem Applications Biochemistry Limitations Biochemistry-Theory Biochemistry Theory Introduction Biochemistry Theory-Convective/Diffusive Transport Equations Biochemistry Theory-Surface and Volume Chemistry Rates Biochemistry Theory-Capabilities Biochemistry Theory-Surface Reaction Data Output Biochemistry Theory-Graphical Output for Post Processing Biochemistry-Implementation Biochemistry Implementation Introduction Biochemistry Implementation-Grid Generation Implementation-Model Setup and Solution Biochemistry Implementation-Post Processing Biochemistry Frequently Asked Questions Biochemistry References

420 420 420 420 420 420 421 422 426 426 426 426 427 427 437 437 448

24. Applications: Electroplating _________________________________________________________________ 449


Electroplating Introduction Electroplating Applications Where Can Modeling Help? Electroplating Features Electroplating Theory Surface Reactions Electroplating Limitations Electroplating-Implementation Electroplating Implementation-Introduction Electroplating Implementation-Grid Generation Implementation-Model Setup and Solution Electroplating Implementation-Post Processing Electroplating Examples Electroplating References 449 449 450 450 451 452 454 454 454 454 454 456 456 457

25. Appendix A CFD-ACE+ Files _________________________________________________________________ 459


Appendix A CFD-ACE+ Files Introduction Appendix A DTF File Appendix A Output File Appendix A MOD File MOD File Explanation: MOD File Usage Appendix A Profile BC File Appendix A Boundary Condition Integral File BC Integral File Usage General Format Explanation List of Variables Appendix A Monitor Point File Appendix A CVD File 459 460 460 461 461 461 467 468 468 469 469 470 471 477

26. Appendix B DTF Utility ______________________________________________________________________ 479


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

xi

CFD-ACE_V2008.2_User_Manual

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

480 481 481 481 481 482 482 482 482 482 482 482 483 483 483 483 483 483

27. Appendix C CFD-ACE Python Scripting ________________________________________________________ 485


Appendix C Python Scripting Introduction Appendix C Usage Appendix C GuiFILE Appendix C GuiML (GUI Models) Radiation Model Operations DOM Model STS Model Examples Fan Model Examples Momentum Resistance Model Active Mixtures and Species Appendix C GuiPT (Problem Type) Appendix C GuiMO (Module Options) Appendix C GuiVC (Volume Conditions) Appendix C GuiBC (Boundary Conditions) Appendix C GuiIC (Initial Conditions) Appendix C GuiPC (Point Conditions) Appendix C GuiOut (Output Controls) Appendix C GuiSC (Solver Controls) Appendix C GuiRun (Run Controls) 485 485 488 490 490 491 492 493 494 495 495 496 497 498 498 501 504 505 506 506 507

28. Index

____________________________________________________________________________________ 509

xii

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.

CFD-ACE_V2008.2_User_Manual

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.

Introduction

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 CFDs 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 CFDs 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.

CFD-ACE_V2008.2_User_Manual

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.

Introduction

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-TOPOGUI, 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 -> ESISoftware. 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

CFD-ACE_V2008.2_User_Manual

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 North America South America France Rest of Europe Japan Korea China India Rest of Asia Australia/New Zealand Africa support.cfd@esi-group-na.com hf@esi.co.jp ljs@esi.co.kr catherine@atechina.com shivakumargt@esi-india.com david.tan@esi-group.com david.tan@esi-group.com support.cfd@esi-group-na.com Contact amy.teets@esi-group-na.com support.cfd@esi-group-na.com

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:
1. 2. 3. 4.

E-mail: support.cfd@esi-group-na.com 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: Open the CFD-ACE+ application. Click on the Help menu. Select the About CFD-ACE-GUI option. Make a note of the version number. -OR1. Open a command prompt.

Introduction

2.

On the command line, enter CFD-ACE-GUI -v and press Enter. (Note that the command is CFD-ACEGUI(space)-v and the command is case sensitive in most environments) A file is created (CFD-ACEGUI.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. -OR1. 2. Open a command prompt. On the command line, enter CFD-ACE-SOLVER -v and press Enter. (Note that the command is CFD-ACESOLVER(space)-v and the command is case sensitive in most environments) A file is created (CFD-ACESOLVER.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: 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

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

CFD-ACE_V2008.2_User_Manual

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 CFDACE+ 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.

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 CFDACE+ 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.

CFD-ACE_V2008.2_User_Manual

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.

10

CFD-ACE-GUI Overview

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 windows 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: See Also Working with the Viewer Window Viewing Operations Picking Operations 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

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.

11

CFD-ACE_V2008.2_User_Manual

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.

12

CFD-ACE-GUI Overview

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 entitys 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.

13

CFD-ACE_V2008.2_User_Manual

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 menus 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

14

CFD-ACE-GUI Overview

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.

15

CFD-ACE_V2008.2_User_Manual

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:

16

CFD-ACE-GUI Overview

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

17

CFD-ACE_V2008.2_User_Manual

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.

18

CFD-ACE-GUI Overview

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.

19

CFD-ACE_V2008.2_User_Manual

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

20

CFD-ACE-GUI Overview

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:

21

CFD-ACE_V2008.2_User_Manual

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

22

CFD-ACE-GUI Overview

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.

23

CFD-ACE_V2008.2_User_Manual

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-ACEGUI 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.

24

CFD-ACE-GUI Overview

Color Preferences

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

25

CFD-ACE_V2008.2_User_Manual

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 systems 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).

26

CFD-ACE-GUI Overview

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

27

CFD-ACE_V2008.2_User_Manual

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

28

CFD-ACE-GUI Overview

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

29

CFD-ACE_V2008.2_User_Manual

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

30

CFD-ACE-GUI Overview

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.

31

CFD-ACE_V2008.2_User_Manual

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 SIN(a) Description Returns the sine of the argument (the argument should be given in radians)

32

CFD-ACE-GUI Overview

COS(a)

Returns the cosine of the argument (the argument should be given in radians) Returns the tangent of the argument (the argument should be given in radians) Returns the arcsine of the argument (in radians) Returns the arccosine of the argument (in radians) Returns the arctangent of the argument (in radians) Returns the square root of the argument Returns the absolute value of the argument Returns exponential of the argument Returns the value 3.1415927 Returns 0 if a<0 and 1 if a >= 0 Returns 0 if a <0, 1 if a=0, 0 if a>0 Returns the current time (in seconds) Returns the current timestep number Returns the current iteration Returns the integer remainder of the argument Returns the boundary face X coordinate (in meters) Returns the boundary face Y coordinate (in meters) Returns the boundary face Z coordinate (in meters) Returns the boundary nodal X coordinate for the previous timestep (in meters)

TAN(a)

ASIN(a)

ACOS(a)

ATAN(a) SQRT(a) ABS(a) EXP(a) PI STEP(a) DELT(a) TIME or T TSTP ITER INT(a) X

XO

33

CFD-ACE_V2008.2_User_Manual

YO

Returns the boundary nodal Y coordinate for the previous timestep (in meters) Returns the boundary nodal Z coordinate for the previous timestep (in meters) Returns the original (beginning of simulation) boundary nodal X coordinate (in meters) Returns the original (beginning of simulation) boundary nodal X coordinate (in meters) Returns the original (beginning of simulation) boundary nodal X coordinate (in meters) Returns value as coded in user subroutine.

ZO

XOO

YOO

ZOO user_defined

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.

34

CFD-ACE-GUI Overview

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 Groups 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 CFDs 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:

35

CFD-ACE_V2008.2_User_Manual

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.

36

CFD-ACE-GUI Overview

Viewpoint Buttons

Tool Bar Colors


The Colors button launches the Color window and changes the viewer windows 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.

37

CFD-ACE_V2008.2_User_Manual

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

38

CFD-ACE-GUI Overview

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.

39

CFD-ACE_V2008.2_User_Manual

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

40

CFD-ACE-GUI Overview

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.

41

CFD-ACE_V2008.2_User_Manual

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

42

CFD-ACE-GUI Overview

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.

43

CFD-ACE_V2008.2_User_Manual

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 = giVol( 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)

44

CFD-ACE-GUI Overview

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 Modules 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

45

CFD-ACE_V2008.2_User_Manual

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.

46

CFD-ACE-GUI Overview

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 MethodsDiscretization-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.

47

CFD-ACE_V2008.2_User_Manual

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.

48

CFD-ACE-GUI Overview

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).

49

CFD-ACE_V2008.2_User_Manual

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.

50

CFD-ACE-GUI Overview

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

51

CFD-ACE_V2008.2_User_Manual

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

52

CFD-ACE-GUI Overview

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 Modules 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).

53

CFD-ACE_V2008.2_User_Manual

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 (xlocation, boundary value) for each profile point. The boundary value specification region will appear as:

54

CFD-ACE-GUI Overview

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. 3. In the Total Points field, enter the number of points (data pairs) that make up your profile data. 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.

55

CFD-ACE_V2008.2_User_Manual

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 CFDACE-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.

56

CFD-ACE-GUI Overview

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 o o o o Initial Conditions-Constant Initial Conditions-Previous Solution Initial Conditions-Previous Solution + Constant Initial Conditions-For All Volumes Initial Conditions-Volume by Volume Mode

IC Applied Menu

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.

57

CFD-ACE_V2008.2_User_Manual

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 usersupplied values.

58

CFD-ACE-GUI Overview

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.

59

CFD-ACE_V2008.2_User_Manual

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.

60

CFD-ACE-GUI Overview

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 Shiftkey 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

61

CFD-ACE_V2008.2_User_Manual

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.

62

CFD-ACE-GUI Overview

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 higherorder 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.

63

CFD-ACE_V2008.2_User_Manual

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 CFDACE+. 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.

64

CFD-ACE-GUI Overview

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 Modules section for guidelines on setting under relaxation values.

65

CFD-ACE_V2008.2_User_Manual

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 Modules 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.

66

CFD-ACE-GUI Overview

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 ManualUser Subroutines for more details.

67

CFD-ACE_V2008.2_User_Manual

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

68

CFD-ACE-GUI Overview

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.

69

CFD-ACE_V2008.2_User_Manual

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 Pressure and Viscous Force Summary

Flow

Flow

70

CFD-ACE-GUI Overview

Heat Transfer Summary Species Summary Scalar Flux Summary Reaction Force Summary Control Panel Output-Graphical Output

Heat Transfer Chemistry User Scalar Stress

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 modules 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 points 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.

71

CFD-ACE_V2008.2_User_Manual

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.

72

CFD-ACE-GUI Overview

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.

73

CFD-ACE_V2008.2_User_Manual

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.

74

CFD-ACE-GUI Overview

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.

75

CFD-ACE_V2008.2_User_Manual

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.

76

CFD-ACE-GUI Overview

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.

77

CFD-ACE_V2008.2_User_Manual

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:

78

CFD-ACE-GUI Overview

1.

Choose one of the following methods to rotate the image:


2.

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).

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

79

CFD-ACE_V2008.2_User_Manual

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

80

CFD-ACE-GUI Overview

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 columns 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.

81

CFD-ACE_V2008.2_User_Manual

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.

82

CFD-ACE-GUI Overview

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:
Entity Tags

Properties Flow Heat Scalar Stress Coil Eplate Bio-Chem Momentum Resistance Species

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.

83

CFD-ACE_V2008.2_User_Manual

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 rightclicking 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

84

CFD-ACE-GUI Overview

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:


Entity Tags

General Cyclic Thin Wall Arbitrary Interface

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.

85

CFD-ACE_V2008.2_User_Manual

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.

86

CFD-ACE-GUI Overview

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 MenuBlank), or right-click on the entity and select Blank or Unblank.
Grouping

There is one Grouping mode available for initial conditions:


Entity Tags

ICGroup

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.

87

CFD-ACE_V2008.2_User_Manual

GuiSimulation Properties Window - Scaling Tab

88

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:

89

CFD-ACE_V2008.2_User_Manual

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.

90

Database Manager

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.

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.

91

CFD-ACE_V2008.2_User_Manual

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).

92

Database Manager

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 (esiace.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.

93

CFD-ACE_V2008.2_User_Manual

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.

94

Database Manager

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, Youngs 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

95

CFD-ACE_V2008.2_User_Manual

Setup and save information needed when running the chemistry module of CFDACE+.

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 (LennardJones 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

96

Database Manager

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)

97

CFD-ACE_V2008.2_User_Manual

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-TheoryMixture 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:

98

Database Manager

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

99

CFD-ACE_V2008.2_User_Manual

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)

100

Database Manager

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:

101

CFD-ACE_V2008.2_User_Manual

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 reaction step
th

on the left-hand side of the j

= number of moles of species th j reaction step NSPCS NSTEP

on the right-hand side of the

= total number of species considered = 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:

102

Database Manager

(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 gi = one atmosphere = 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)

103

CFD-ACE_V2008.2_User_Manual

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.

104

Database Manager

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

105

CFD-ACE_V2008.2_User_Manual

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 baseconjugate. 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), baseconjugate (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

106

Database Manager

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.

107

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.

109

CFD-ACE_V2008.2_User_Manual

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 CFDGEOM 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.

110

Arbitrary Interface Boundary Conditions

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 components 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

111

CFD-ACE_V2008.2_User_Manual

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 cells 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.

112

Arbitrary Interface Boundary Conditions

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. Lets look at the simple example of one tetrahedral (4 sided) cell arbitrary interfacing to four hexahedral (6 sided) cells.

113

CFD-ACE_V2008.2_User_Manual

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-topoint 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

114

Arbitrary Interface Boundary Conditions

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

115

CFD-ACE_V2008.2_User_Manual

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.

116

Arbitrary Interface Boundary Conditions

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. 2. Import a DTF file. 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.

117

CFD-ACE_V2008.2_User_Manual

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?

118

Arbitrary Interface Boundary Conditions

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.

119

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.

121

CFD-ACE_V2008.2_User_Manual

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)

122

Thin Wall Boundary Conditions

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:

123

CFD-ACE_V2008.2_User_Manual

(4-8)

where hgas, hsolid, and hradiation are the heat transfer coefficients for the gaseous conduction, solidsolid 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:

124

Thin Wall Boundary Conditions

(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:

125

CFD-ACE_V2008.2_User_Manual

(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 CFDACE-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

126

Thin Wall Boundary Conditions

Thin Wall BC Settings

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


To activate a thin-wall boundary condition: 1. 2. 3. 4. Press the Boundary Condition [BC] button to put the CFD-ACE+ Control Panel into boundary condition setting mode. 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. Pick an domain-domain interface boundary condition from either the Viewer Window or the BC Explorer. 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 modules 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. 2. 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. 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.

127

CFD-ACE_V2008.2_User_Manual

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.

128

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

129

CFD-ACE_V2008.2_User_Manual

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.

130

Cyclic Boundary Conditions

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. 2. 3. 4. Press the Boundary Condition [BC] tab and change the BC Setting Mode to Cyclic/Periodic. 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.) 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. 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.

131

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 CFDACE+: 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 fullydeveloped 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-pressuredrop, 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 ) and then systematically varied until the mass flow rate reaches the desired value guessed ( to within some numerical tolerance. The mass flow rate is calculated using the following equation

and a corrected pressure drop is calculated from

133

CFD-ACE_V2008.2_User_Manual

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

134

Periodic Boundary Conditions

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. 2. Go to the BC tab, change the BC Setting Mode to Cyclic/Periodic 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. 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. Now that the pair is created, you may specify the pressure drop or mass flow rate.

3.

4.

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.

135

CFD-ACE_V2008.2_User_Manual

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.

136

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.

137

CFD-ACE_V2008.2_User_Manual

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. (6-2)

is calculated as:

where

is the angular rotational speed of the fan and is the radius.

is calculated as: (6-3)

is the local blade area. With the normal force thus obtained, one can readily calculate where the directional forces and as: (6-4)

(6-5)

These forces are added as source terms to the axial and circumferential momentum equations, respectively.

138

Fan Model

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-ACESolver 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. 2. Go to Model Options --> Flow Tab and check the Fan Model option. Go to the Fan tab shown in Figure 1.

139

CFD-ACE_V2008.2_User_Manual

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

140

Fan Model

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 fans 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

141

CFD-ACE_V2008.2_User_Manual

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.

142

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.

143

CFD-ACE_V2008.2_User_Manual

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)

144

Momentum Resistance or Source

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 underpredicted. 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)

145

CFD-ACE_V2008.2_User_Manual

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 postprocessing results. Velocities will not be affected.

146

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 (singlephase 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.

147

CFD-ACE_V2008.2_User_Manual

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 and , and the standard pressure drop across the porous solid. In a purely fluid region, 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:

148

Porous Media

(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):

149

CFD-ACE_V2008.2_User_Manual

(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 multicomponent species systems. In this case, Di,eff and DTi,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 catalystlined 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)

is the production-destruction rate per unit area of the i-th specie due to chemical where reactions. In discrete form, this equation may be re-written as:

150

Porous Media

(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.

151

CFD-ACE_V2008.2_User_Manual

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)

152

Porous Media

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 are the concentration of the reacting species, N is the total number of reacting species, and concentration exponents. Substitution of equation 8-13 and 8-14 into 8-12 yields a set of nonlinear 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, yields:

, has units of A/m3. Application of Ohms law to equation 8-17,

153

CFD-ACE_V2008.2_User_Manual

(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 CFDACE-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

154

Porous Media

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.

155

CFD-ACE_V2008.2_User_Manual

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.

156

Porous Media

157

CFD-ACE_V2008.2_User_Manual

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.

158

Porous Media

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.

159

CFD-ACE_V2008.2_User_Manual

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 modules 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.

160

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)

161

CFD-ACE_V2008.2_User_Manual

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)

162

Rotating Systems

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.

163

CFD-ACE_V2008.2_User_Manual

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. 2. 3. 4. Select the rotation option located in the VC panel. Select the volume condition from the VC Explorer From the VC Setting Mode section of the VC tab, select the Rotation from the menu and select the Rotating Frame option 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.

164

Rotating Systems

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.

165

CFD-ACE_V2008.2_User_Manual

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.

166

Rotating Systems

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).

167

CFD-ACE_V2008.2_User_Manual

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.

168

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 turnaround 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)

169

CFD-ACE_V2008.2_User_Manual

Spray Module Free Surfaces (VOF) Cavitation Module Electric Module Magnetic Module Plasma Module (see Limitations below) 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)

Features

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.

170

Parallel Processing

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.

171

CFD-ACE_V2008.2_User_Manual

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 speedups 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 CFDACE-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

172

Parallel Processing

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>

173

CFD-ACE_V2008.2_User_Manual

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-ACESOLVER

174

Parallel Processing

-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-ACEGUI.

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?

175

CFD-ACE_V2008.2_User_Manual

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 CFDACE+ 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. MSWindows 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.

176

Parallel Processing

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 usersubroutine, 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.

177

CFD-ACE_V2008.2_User_Manual

Platform Windows 2000/XP Linux Red Hat 8+ Linux Red Hat Enterprise SuSE Linux 8.0+ HP-UX 11.0+ on PA-RISC HP-UX 11.22+ on Itanium2 SGI IRIX 6.5+ on MIPS SUN Solaris 8+ SGI Altix on Itanium2 HP Linux on Itanium2

MPICH X X X X

NATIVE MPI

X X X X X X X 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

178

Parallel Processing

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

179

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

181

CFD-ACE_V2008.2_User_Manual

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.

182

Chimera Grid Methodology

(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 As 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)

183

CFD-ACE_V2008.2_User_Manual

(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

184

Chimera Grid Methodology

(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) Figure 5. (a) Fringe cells and their donor cells (b) Interpolation cells and their donor cells

(b)

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:

185

CFD-ACE_V2008.2_User_Manual

(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)

186

Chimera Grid Methodology

(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 support.cfd@esi-group-na.com.

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.

187

CFD-ACE_V2008.2_User_Manual

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.

188

Chimera Grid Methodology

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).

189

CFD-ACE_V2008.2_User_Manual

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

190

Chimera Grid Methodology

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.

191

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 userspecified 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.

193

CFD-ACE_V2008.2_User_Manual

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 FLOW U, V W X, Y, W component of velocity. Available when solving for flow. Static Pressure. Available when solving for flow. Total or Effective Viscosity. Available when solving for flow. G(C,B), S(C4,B) G(C,B), S(C4,B) G(C) Description Availability1

P or Pressure

Vis or Viscosity

VISL or Laminar_Viscosity

Laminar Dynamic Viscosity. Available G(C5), S(C) when solving for flow.

194

User Subroutines

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 G(B) 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 X, Y, Z direction walls shear stress. Available when solving for Flow. G(B)

WALL_SHEAR_STRESS_<X, Y, Z>

STRAIN_RATE

Strain rate. Available when solving for G(C) Flow.

HEAT H0 or Enthalpy Enthalpy. Available when solving for heat transfer. G(C,B), S(C3,B)

T or Temperature

Temperature. Available when solving G(C,B), for stress, flow, heat transfer. S(C2,B) Laminar Thermal Conductivity. Available when solving for heat transfer. G(C5), S(C)

COND or THERMAL_CONDUCTIVITY

CP or SPECIFIC_HEAT

Specific Heat. Available when solving G(C5), S(C) for heat transfer. Heat source in W/m^2. Available when S(B) solving for heat transfer. Thinwall thermal conductivity. Available when solving for heat transfer. S(B)

WALL_HEAT_SOURCE

HEAT_THINWALL_K

195

CFD-ACE_V2008.2_User_Manual

HEAT_THINWALL_D

Thinwall thickness, used for heat transfer. Available when solving for heat transfer. Heat flux. Available when solving for heat transfer. Heat transfer coefficient. Available when solving for heat transfer.

S(B)

Q or HEAT_FLUX

G(B),S(B)

HC or HEAT_TRANSFER_COEFFICIENT

S(B)

TINF

Temperature of air or ambient air S(B) temperature defined for external heat bc (rad + convection). Available when solving for heat transfer. Heat Flux Conduction. Available when G(B) solving for Heat. Heat Flux Convection. Available when G(B) solving for Heat. Heat Flux Radiation. Available when solving for Heat. Liquid Fraction. Available when solving for Heat solidification. G(B)

HEAT_FLUX_COND or Q_COND

HEAT_FLUX_CONV or Q_CONV

RADIATION_FLUX or Q_RAD

LIQ_FRACTION_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 G(C,B), when solving for turbulence. S(C2,B) Turbulent Viscosity. Available when solving for turbulence. G(C5), S(C)

VIST or TURBULENT_VISCOSITY

RH or ROUGHNESS_HEIGHT

Wall roughness height. Available when S(B) solving for turbulence. Unit = m.

CHEMISTRY

196

User Subroutines

<species name> / <mixture name>

G(C,B), Mixture fraction. Available when solving for Mixture Fractions. You can S(C4,B) 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.

BIO_<analyte name>

G(C,B), Analyte concentrations. Available when solving for Biochemistry. You S(C4,B) can access the analyte concentration by using the analyte names. Electrolyte concentration. Available when solving for electro plating. G(C), S(C3)

EPLATE_ELECTROLYTE

DIF_<species name>

Chemical species diffusivity. Available G(C), S(C) when solving for chemistry. 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)

MOBILITY_<species name>

FLUX_<species name>

G(B) 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. Total deposition thickness or thickness G(B) 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

TOTAL_DEP_THICKNES

197

CFD-ACE_V2008.2_User_Manual

PH

PH, used determine the hydrogen G(C) concentration in the system. Available when solving for liquid chemistry with auto ionization switched on. Electro osmotic mobility. Available when solving for both chemistry and electric problems together. Surface current density. Available when solving for electro-chemistry case. S(B)

ELECTRO_OSMOTIC_MOBILITY or EOS_MOBILITY

ECD_SURF_CURRENT_DENSITY

G(B)

ECD_SURF_OVER_POTENTIAL

Surface over potential. Available when G(B) solving for electro-chemistry case. Surface deposition thickness. Available when solving for electrochemistry case. Growth rate. Available when solving for electro-chemistry case. G(B)

ECD_SURF_DEP_THICKNESS

ECD_GROWTH_RATE

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 G(B) boundaries. Available when solving for user defined scalar. User scalar diffusivity values. Available when solving for user defined scalar. S(C)

DIF_<scalar name>

K_THINWALL_<scalar name>

Thinwall Conductivity of user defined S(B) scalar. Available when solving for user defined scalars. Thinwall thickness of user defined scalars. Available when solving for user defined scalars. S(B)

D_THINWALL_<scalar name>

198

User Subroutines

RADIATION RADIATION_FLUX Radiative flux at boundary face. G(B) 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(-). 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. 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) G(B), S(B)

EMISSIVITY

FREE SURFACE VOF_VOLUME_FRACTION Liquid volume fraction. Available when G(B,C) solving for VOF. Laminar Dynamic Viscosity of primary G(C) or first fluid. Available when solving for VOF. Laminar Dynamic Viscosity of second G(C), S(C) fluid. Available when solving for VOF. Laminar Thermal Conductivity of primary or first fluid. Available when solving for heat transfer and VOF. Laminar Thermal Conductivity of second fluid. Available when solving for heat transfer and VOF. Density of primary or first fluid. Available when solving for VOF. G(C)

'VOF_LAMINAR_VISCOSITY1'

'VOF_LAMINAR_VISCOSITY2'

'VOF_THERMAL_CONDUCTIVITY1'

'VOF_THERMAL_CONDUCTIVITY2'

G(C), S(C)

VOF_DENSITY1

G(C)

199

CFD-ACE_V2008.2_User_Manual

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. The y-component of the gradient vector of the VOF function, Grad(F). Available only when solving for VOF. The z-component of the gradient vector of the VOF function, Grad(F). Available only when solving for VOF. Surface tension. Available when solving for VOF. Contact Angle (With Respect to Secondary Fluid). Available when solving for VOF. VOF interface area. Available when solving for VOF. Mass Source for primary fluid. (Index for USOURCE). Available when solving for VOF.

G(C)

VOF_VOLUME_FRACTION_GRAD_Y

G(C)

VOF_VOLUME_FRACTION_GRAD_Z

G(C)

VOF_SURFACE_TENSION

G(C), S(C)

VOF_CONTACT_ANGLE

S(B), G(B)

FREE_SURFACE_AREA

G(C)

VOF_FLUID1

S(C)

VOF_FLUID2

Mass Source for secondary fluid. S(C) (Index for USOURCE). Available when solving for VOF.

TWO FLUID

200

User Subroutines

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. S(C)* Available when solving for Two Fluids. Y-direction velocity for Fluid 2. S(C)* Available when solving for Two Fluids. Z-direction velocity for Fluid 2. S(C)* Available when solving for Two Fluids. Temperature of fluid 2. Available when S(C) solving for Two Fluids.

TWOF_V or V2

TWOF_W or W2

TWOF_T or T2

CAVITATION VAPOUR_MASS_FRACTION Vapour Mass Fraction. Available when G(C) solving for cavitation. Vapour volume fraction. Available when solving for Cavitation. G(C)

VAPOUR_VOLUME_FRACTION

CAV_TOTAL_VOLUME_FRACTION

Total volume fraction, including vapour G(C) volume fraction. Available when solving for Cavitation.

STRESS FEM_DISPLACEMENT_X X-direction Displacement. Available when solving for Stress Y-direction Displacement. Available when solving for Stress Z-direction Displacement. Available when solving for Stress S(BN), G(N)

FEM_DISPLACEMENT_Y

S(BN), G(N)

FEM_DISPLACEMENT_Z

S(BN), G(N)

FEM_FIX_PRESSURE or FEM_PRESSURE Load. Available when solving for or FEM_FIX_LOAD Stress.

S(B) S(BN) for point load

201

CFD-ACE_V2008.2_User_Manual

PIEZOELECTRIC_POTENTIAL or FEM_VOLTAGE or FEM_PIEZOELECTRIC_POTENTIAL FEM_YOUNGS_MODULUS

Piezoelectric potential. Available when G(N), S(BN) solving for Stress and electric case.

Youngs modulus. Available when solving for Stress.

G(C), S(C)

FEM_YOUNGS_MODULUS_1

Youngs modulus coefficient 1 (E1) for G(C), S(C) Anisotropy Material. Available when solving for Stress. Youngs modulus coefficient 2 (E2) for G(C), S(C) Anisotropy Material. Available when solving for Stress. Youngs modulus coefficient 3 (E3) for G(C), S(C) Anisotropy Material. Available when solving for Stress (3D case only). Poissons ratio. Available when solving G(C), S(C) for Stress. Poissons ratio coefficient 12 (nu12) for G(C), S(C) Anisotropy Material. Available when solving for Stress. Poissons ratio coefficient 13 (nu13) for G(C), S(C) Anisotropy Material. Available when solving for Stress. Poissons ratio coefficient 23 (nu23) for G(C), S(C) Anisotropy Material. Available when solving for Stress. Poissons ratio coefficient 21 (nu21) for G(C), S(C) Anisotropy Material. Available when solving for Stress (3D cases only). Poissons ratio coefficient 31 (nu31) for G(C), S(C) Anisotropy Material. Available when solving for Stress (3D cases only). Poissons ratio coefficient 32(nu32) for G(C), S(C) Anisotropy Material. Available when solving for Stress (3D cases only). Thermal Expansion Coefficient. Available when solving for Stress. G(C), S(C)

FEM_YOUNGS_MODULUS_2

FEM_YOUNGS_MODULUS_3

FEM_POISSONS_RATIO

FEM_POISSONS_RATIO_12

FEM_POISSONS_RATIO_13

FEM_POISSONS_RATIO_23

FEM_POISSONS_RATIO_21

FEM_POISSONS_RATIO_31

FEM_POISSONS_RATIO_32

FEM_EXPANSION_COEF

202

User Subroutines

FEM_EXPANSION_COEF_1

Thermal Expansion Coefficient 1 (Alpha 1) for Anisotropy Material. Available when solving for Stress. Thermal Expansion Coefficient 2 (Alpha 2) for Anisotropy Material. Available when solving for Stress. Thermal Expansion Coefficient 3 (Alpha 3) for Anisotropy Material. Available when solving for Stress. Stress on X plane. Available when solving for Stress. Stress on Y plane. Available when solving for Stress. Stress on Z plane. Available when solving for Stress. Stress on XY plane. Available when solving for Stress. Stress on XZ plane. Available when solving for Stress. Stress on YZ plane. Available when solving for Stress. Strain on X plane. Available when solving for Stress. Strain on Y plane. Available when solving for Stress. Strain on Z plane. Available when solving for Stress. Strain on XY plane. Available when solving for Stress. Strain on XZ plane. Available when solving for Stress. Strain on YZ plane. Available when solving for Stress.

G(C), S(C)

FEM_EXPANSION_COEF_2

G(C), S(C)

FEM_EXPANSION_COEF_3

G(C), S(C)

FEM_STRESS_XX or FEM_STRESS_11

G(N)

FEM_STRESS_YY or FEM_STRESS_22

G(N)

FEM_STRESS_ZZ or FEM_STRESS_33

G(N)

FEM_STRESS_XY or FEM_STRESS_12

G(N)

FEM_STRESS_XZ or FEM_STRESS_13

G(N)

FEM_STRESS_YZ or FEM_STRESS_23

G(N)

FEM_STRAIN_XX or FEM_STRAIN_11

G(N)

FEM_STRAIN_YY or FEM_STRAIN_22

G(N)

FEM_STRAIN_ZZ or FEM_STRAIN_33

G(N)

FEM_STRAIN_XY or FEM_STRAIN_12

G(N)

FEM_STRAIN_XZ or FEM_STRAIN_13

G(N)

FEM_STRAIN_YZ or FEM_STRAIN_23

G(N)

203

CFD-ACE_V2008.2_User_Manual

FEM_REACTION_FORCE_X

Reaction Force X Component. Available when solving for Stress. Reaction Force Y Component. Available when solving for Stress. Reaction Force Z Component. Available when solving for Stress.

G(N)

FEM_REACTION_FORCE_Y

G(N)

FEM_REACTION_FORCE_Z

G(N)

PLASMA T_E or ELECTRON_TEMPERATURE Electron Temperature. Available when G(C) solving for plasma. Electron Number Density. Available when solving for plasma. G(C)

N_E or ELECTRON_NUMBER_DENSITY

'COLLISION_FREQUENCY'

Electron collision frequency. Available G(C), S(C) when solving for plasma. Electron Mobility. Available when solving for Plasma. G(C)

ELECTRON_MOBILITY

ELECTRIC/MAGNETIC EPLATE_POTENTIAL Electric Potential. Available when solving for electro plating. G(C), S(C3)

ESTAT_POTENTIAL or ELECTRIC_POTENTIAL or EL_POT ESTAT_POTENTIAL_I or ELECTRIC_POTENTIAL_I or EL_POT_I ZETA_POTENTIAL or ZETA_POT

Electric Potential(real part). Available G(C,B), when solving for electric module. S(B)

Electric Potential(Imaginary part). G(C,B), Available when solving for electric with S(B) A.C. conduction or time domain settings. Zeta Potential. Available when solving G(B), S(B) for both chemistry and electric problems together.

ECOND or ELECTRICAL_CONDUCTIVITY Electrical Conductivity. Available when G(C), S(C) solving for electric or magnetic

204

User Subroutines

problems.

EL_EPSR or ELECTRICAL_PERMITTIVITY Electrical relative permittivity. Available when solving for electric or magnetic problems. ELECTRIC_FIELD_NORMAL or ESTAT_FIELD_N ELECTRIC_FIELD_X or ESTAT_FIELD_X Normal electric field. Available when solving for electric problems. Electric field in X-direction (Real). Available when solving for electric problems.

G(C), S(C)

G(B)

G(C)

ELECTRIC_FIELD_X_I or ESTAT_FIELD_X_I

Electric field in X-direction (Imaginary). G(C) Available when solving for electric problems. (AC conduction or time domain)

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). G(C) Available when solving for electric problems. (AC conduction or time domain)

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). G(C) Available when solving for electric problems and 3D geometry. (AC conduction or time domain)

SURFACE_CHARGE_DENSITY

Surface electric charge density. Available when solving for electrostatics. Unit = C/m2

G(B), S(B)

CURRENT

Electric current. Available when G(B) solving for electric conduction or time domain. Unit = A Electric current density. Available G(B), S(B) when solving for electric conduction or time domain. Unit = A/m2

CURRENT_DENSITY

205

CFD-ACE_V2008.2_User_Manual

TOTAL_CURRENT

Total electric current, includes current G(B) 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 Total electric current density, includes G(B) 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 Electric current in Solid. Available G(B) when solving for electric conduction or time domain. Unit = A Electric current density (Imaginary). Available when solving for electric problems. (AC conduction or time domain) G(B), S(B)

TOTAL_CURRENT_DENSITY

CURRENT_SOLID

CURRENT_DENSITY_I

CURRENT_DENSITY_X

X-component of electric current density. Available when solving for electric conduction. Y-component of electric current density. Available when solving for electric conduction. Z-component of electric current density. Available when solving for electric conduction. X-component (imaginary) of electric current density. Available when solving for electric conduction. Y-component (imaginary) of electric current density. Available when solving for electric conduction. Z-component (imaginary) of electric current density. Available when solving for electric conduction. Power Dissipation. Available when solving for Electro-magnetic case.

G(C)

CURRENT_DENSITY_Y

G(C)

CURRENT_DENSITY_Z

G(C)

CURRENT_DENSITY_X_I

G(C)

CURRENT_DENSITY_Y_I

G(C)

CURRENT_DENSITY_Z_I

G(C)

POWER_DISSIPATION

G(C)

206

User Subroutines

MU_R or RELATIVE_PERMEABILITY

Relative Permeability. Available when G(C), S(C) ` solving for Electro-magnetic case. Space charge density. Available when G(C) solving for electric cases. Magnetic field in X-direction (Real). G(C) Available when solving for magnetic or electro-magnetic cases. G(C) Magnetic field in Y-direction (Real). Available when solving for magnetic or electro-magnetic cases. Magnetic field in Z-direction (Real). G(C) Available when solving for magnetic or electro-magnetic cases. G(C) Magnetic field in X-direction (Imaginary). Available when solving for electro-magnetic cases. (AC conduction or time domain) Magnetic field in Y-direction G(C) (Imaginary). Available when solving for electro-magnetic cases. (AC conduction or time domain) G(C) Magnetic field in Z-direction (Imaginary). Available when solving for electro-magnetic cases. (AC conduction or time domain) Magnetic field in X-direction (Static). Available when solving for electromagnetic cases. (AC +DC Single Frequency) Magnetic field in Y-direction (Static). Available when solving for electromagnetic cases. (AC +DC Single Frequency) Magnetic field in Z-direction (Static). Available when solving for electromagnetic cases. (AC +DC Single Frequency) Magnetic potential in X-direction (Real). Available when solving for magnetic or electro-magnetic cases. G(C)

SPACE_CHARGE_DENSITY

MAGNETIC_FIELD_REAL_X

MAGNETIC_FIELD_REAL_Y

MAGNETIC_FIELD_REAL_Z

MAGNETIC_FIELD_IMAG_X

MAGNETIC_FIELD_IMAG_Y

MAGNETIC_FIELD_IMAG_Z

MAGNETIC_FIELD_STATIC_X

MAGNETIC_FIELD_STATIC_Y

G(C)

MAGNETIC_FIELD_STATIC_Z

G(C)

MAGNETIC_POTENTIAL_REAL_X

G(C)

207

CFD-ACE_V2008.2_User_Manual

MAGNETIC_POTENTIAL_REAL_Y

Magnetic potential in Y-direction (Real). Available when solving for magnetic or electro-magnetic cases. Magnetic potential in Z-direction (Real). Available when solving for magnetic or electro-magnetic cases.

G(C)

MAGNETIC_POTENTIAL_REAL_Z

G(C)

MAGNETIC_POTENTIAL_IMAG_X

Magnetic potential in X-direction G(C) (Imaginary). Available when solving for electro-magnetic cases. (AC conduction or time domain) Magnetic potential in Y-direction G(C) (Imaginary). Available when solving for electro-magnetic cases. (AC conduction or time domain) Magnetic potential in Z-direction G(C) (Imaginary). Available when solving for electro-magnetic cases. (AC conduction or time domain) Magnetic potential in X-direction (Static). Available when solving for electro-magnetic cases. (AC +DC Single Frequency) Magnetic potential in Y-direction (Static). Available when solving for electro-magnetic cases. (AC +DC Single Frequency) Magnetic potential in Z-direction (Static). Available when solving for electro-magnetic cases. (AC +DC Single Frequency) Real component of the magnetic vector potential in the X-direction Real component of the magnetic vector potential in the Y-direction Real component of the magnetic vector potential in the Z-direction G(C)

MAGNETIC_POTENTIAL_IMAG_Y

MAGNETIC_POTENTIAL_IMAG_Z

MAGNETIC_POTENTIAL_STATIC_X

MAGNETIC_POTENTIAL_STATIC_Y

G(C)

MAGNETIC_POTENTIAL_STATIC_Z

G(C)

Ax_r

G(B), S(B)

Ay_r

G(B), S(B)

Az_r

G(B), S(B)

Ax_i

Imaginary component of the magnetic G(B), S(B) vector potential in the X-direction Imaginary component of the magnetic G(B), S(B) vector potential in the Y-direction

Ay_i

208

User Subroutines

Az_i

Imaginary component of the magnetic G(B), S(B) vector potential in the Z-direction Static component of the magnetic G(B), S(B) vector potential in the X-direction (when using DC+AC for magnetic field options) Static component of the magnetic G(B), S(B) vector potential in the Y-direction (when using DC+AC for magnetic field options) Static component of the magnetic G(B), S(B) vector potential in the Z-direction (when using DC+AC for magnetic field options)

Ax_s

Ay_s

Az_s

KINETIC DIFFUSION_COEF_U_KINETIC Kinetic diffusion coefficient in U space. S(C) Available when solving for Kinetic. Kinetic diffusion coefficient in R space. S(C) Available when solving for Kinetic. Kinetic drift coefficient in U space. Available when solving for Kinetic. Kinetic drift coefficient in R space. Available when solving for Kinetic. S(C)

DIFFUSION_COEF_R_KINETIC

DRIFT_COEF_U_KINETIC

DRIFT_COEF_R_KINETIC

S(C)

POROUS MEDIA POROSITY Porosity factor. Available when solving G(C), S(C) for flow and at least one domain is defined as porous media. The value of porosity should be between 0.0 and 1.0 Tortuosity. Available when solving for G(C), S(C) Porous Media.

TORTUOSITY

209

CFD-ACE_V2008.2_User_Manual

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 G(C), S(C) Porous Media. G(C) Electrical Conductivity in Solid. Available when solving for porous media with electric problems (electrochemistry in porous media) Electrical Potential in Solid. Available G(C) when solving for porous media with electric problems (electro-chemistry in porous media) Electrical Field in X-direction (real) in Solid. Available when solving for porous media with electric problems (electro-chemistry in porous media) Electrical Field in Y-direction (real) in Solid. Available when solving for porous media with electric problems (electro-chemistry in porous media) Electrical Field in Z-direction (real) in Solid. Available when solving for porous media with electric problems (electro-chemistry in porous media) G(C)

ELECTRICAL_CONDUCTIVITY_SOLID or ECOND_SOLID

ELECTRIC_POTENTIAL_SOLID or EL_POT_SOLID or ESTAT_POTENTIAL_SOLID

ELECTRIC_FIELD_X_SOLID or ESTAT_FIELD_X_SOLID

ELECTRIC_FIELD_Y_SOLID or ESTAT_FIELD_Y_SOLID

G(C)

ELECTRIC_FIELD_Z_SOLID or ESTAT_FIELD_Z_SOLID

G(C)

POROUS_LIN_RESIST_NORMAL

Linear Resistance Coefficient (Normal) G(C), S(C) for Permeability. Available when solving for Porous Media. Linear Resistance Coefficient (Tau1) for Permeability. Available when solving for Porous Media. G(C), S(C)

POROUS_LIN_RESIST_TANGENTIAL_1

POROUS_LIN_RESIST_TANGENTIAL_2

Linear Resistance Coefficient (Tau2) G(C), S(C) for Permeability. Available when solving for Porous Media (3D cases). Quadratic Resistance Coefficient (Normal) for Permeability. Available when solving for Porous Media. G(C), S(C)

POROUS_QUAD_RESIST_NORMAL

POROUS_QUAD_RESIST_TANGENTIAL_1 Quadratic Resistance Coefficient (Tau1) for Permeability. Available when solving for Porous Media.

G(C), S(C)

210

User Subroutines

POROUS_QUAD_RESIST_TANGENTIAL_2 Quadratic Resistance Coefficient (Tau2) for Permeability. Available when solving for Porous Media (3D cases). WATER_SATURATION

G(C), S(C)

G(C) Water saturation. Available when solving for porous media with electrochemistry.

OTHERS GRAVITY_X Gravity in x-direction. Available when S(single) solving for flow. You can set only single value in problem domain. Gravity in y-direction. Available when S(single) solving for flow. You can set only single value in problem domain Gravity in z-direction (only for 3D). Available when solving for flow. You can set only single value in problem domain S(single)

GRAVITY_Y

GRAVITY_Z

OMG_X

Omega X direction component. S(B) Available when solving for rotating wall BC. Omega Y direction component. S(B) Available when solving for rotating wall BC. Omega Z direction component. S(B) Available when solving for rotating wall BC.

OMG_Y

OMG_Z

* 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. Only for initial conditions Only for source terms Both initial conditions and source terms

2 3 4

211

CFD-ACE_V2008.2_User_Manual

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 XC or CELL_CENTER_X YC or CELL_CENTER_Y ZC or CELL_CENTER_Z Description Cell Center X-Coordinate Cell Center Y-Coordinate Cell Center Z-Coordinate. Available when solving a 3D geometry. Boundary face area Cell volume Normal Distance from boundary face center to cell center. G(C) G(C) G(C) Availability
1

AREA VOL or VOLUME WALL_DISTANCE

G(B), G(F) G(C) G(B)

WALL_SHEAR_STRESS

Shear Stress at a boundary face. Available when solving G(B) for flow. Shear Stress at a cell center. Available when solving for G(C) flow. Boundary face normal in X-direction. Boundary face normal in Y-Direction. Boundary face normal in Z-Direction. Available when solving a 3D geometry. Face Center X-Coordinate. Face Center Y-Coordinate. G(B) G(B) G(B)

SHEAR_STRESS

NX or NORMAL_X NY or NORMAL_Y NZ or NORMAL_Z

XF or FACE_CENTER_X YF or FACE_CENTER_Y ZF or FACE_CENTER_Z

G(B), G(F) G(B), G(F)

Face Center Z-Coordinate. Available when solving a 3D G(B), G(F) geometry. Node or Corner X-Coordinate. Node or Corner Y-Coordinate. Node or Corner Z-Coordinate. Available when solving a 3D geometry. G(N) G(N) G(N)

X or NODE_X Y or NODE_Y Z or NODE_Z

DEFORM_X or TFI_X or 'TFI_DISPLACEMENT_X'

Boundary Node X-Coordinate. Available when solving for G(BN), S(BN) Grid Deformation.

212

User Subroutines

DEFORM_Y or 'TFI_Y' or 'TFI_COORDINATE_Y' DEFORM_Z or 'TFI_Z' or 'TFI_COORDINATE_Z' DEFORM_DX or 'TFI_DX' or 'TFI_DISPLACEMENT_DX'

Boundary Node Y-Coordinate. Available when solving for G(BN), S(BN) Grid Deformation. Boundary Node Z-Coordinate. Available when solving for G(BN), S(BN) Grid Deformation. 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' DEFORM_ROTATION_ANGLE or 'TFI_ROTATION_ANGLE' <parameter name>

Boundary Node Rotation Speed. Available when solving S(BN) for Grid Deformation. Boundary Node Rotation Angle. Available when solving for Grid Deformation. For user defined parameters in CFD-ACE+ S(BN)

G(single), S(single)

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. Only for initial conditions Only for source terms Both initial conditions and source terms

2 3 4 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.

213

CFD-ACE_V2008.2_User_Manual

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)

214

User Subroutines

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

215

CFD-ACE_V2008.2_User_Manual

INTEGER(int_p) LOGICAL

:: var_index :: 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) LOGICAL :: ncells :: 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) LOGICAL :: iteration :: error

Error
Error will be true if some error occurs and the proper error <modelname.out> file. Back to Top message will be printed in the

Get Cell Index Prototype


get_cell_index(vc_index, x, y, z, cell_index, error)

216

User Subroutines

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) REAL(real_p) :: vc_index :: x, y, z

Returns
INTEGER(int_p) LOGICAL :: cell_index :: 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) LOGICAL :: value :: 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.

217

CFD-ACE_V2008.2_User_Manual

Inputs
None

Returns
CHARACTER(len=*) LOGICAL :: model_name :: 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) CHARACTER(len=*) :: user_option :: 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)

218

User Subroutines

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 0 1 2 3

Material Type Error in subroutine Fluid Solid Blocked

Inputs
INTEGER(int_p) :: cell_index

Returns
INTEGER(int_p) LOGICAL :: material_type :: error

219

CFD-ACE_V2008.2_User_Manual

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 2 3 3-D geometry. 2-D geometry. 2-D axisymmetric geometry.

model_index indicates the steady or unsteady options and new run or restart run options.

Value model_index 1 2 3 4 Steady state, new run problem. Steady state, restart problem. Transient, new run problem. Transient, restart problem.

Inputs
None

Returns
CHARACTER(len=*) INTEGER(int_p) LOGICAL :: model_name :: geom_index, model_index :: error

220

User Subroutines

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) INTEGER LOGICAL :: module_index :: solve_module :: 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) LOGICAL :: value :: 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

221

CFD-ACE_V2008.2_User_Manual

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) LOGICAL :: cell_index :: 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) REAL(real_p) :: var_index, cell_index :: value

Returns
LOGICAL :: error

Error

222

User Subroutines

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 <modelname.out> file. Back to Top message will be printed in the

Get Number of Compositions Prototype


get_num_compositions(n_compos, error)

Description

223

CFD-ACE_V2008.2_User_Manual

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) LOGICAL :: n_compos :: 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) LOGICAL :: n_species :: 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

224

User Subroutines

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) LOGICAL :: mol_wt :: 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

225

CFD-ACE_V2008.2_User_Manual

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

226

User Subroutines

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.

227

CFD-ACE_V2008.2_User_Manual

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

228

User Subroutines

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)

229

CFD-ACE_V2008.2_User_Manual

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)

230

User Subroutines

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) LOGICAL :: nbc_rec

:: 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.

231

CFD-ACE_V2008.2_User_Manual

Inputs
CHARACTER(len=*) :: bc_name

Returns
INTEGER(int_p) LOGICAL :: bc_index :: 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 2 3

Any inlet type (BC_TYPE_INLET) Wall (BC_TYPE_WALL) Any outlet type (BC_TYPE_EXIT)

232

User Subroutines

4 5

Interface (BC_TYPE_INTERFACE) Fluid-Fluid interface (BC_TYPE_F_F_INTERFACE) Solid-Solid Interface (BC_TYPE_S_S_INTERFACE) Solid-Fluid Interface (BC_TYPE_S_F_INTERFACE) Fluid-Block Interface (BC_TYPE_F_B_INTERFACE) Block-Block Interface (BC_TYPE_B_B_INTERFACE) Solid-Block Interface (BC_TYPE_S_B_INTERFACE) Symmetry (BC_TYPE_SYMM) Cyclic (BC_TYPE_CYCLIC) Thin Wall (BC_TYPE_THINWALL)

10 11 12 13

Inputs
INTEGER(int_p) :: bc_index

Returns
INTEGER(int_p) LOGICAL :: bc_type, nbc_faces :: 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

233

CFD-ACE_V2008.2_User_Manual

INTEGER(int_p)

:: bc_index, var_index, nbc_faces

Returns

REAL(real_p), LOGICAL

DIMENSION(nbc_faces):: bc_value

:: 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), LOGICAL :: error DIMENSION(nbc_faces):: bc_cell_index

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.

234

User Subroutines

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) LOGICAL :: bc_value :: 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

235

CFD-ACE_V2008.2_User_Manual

Returns
REAL(real_p) LOGICAL :: bc_value :: 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) LOGICAL :: bc_value :: 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) LOGICAL :: face_index

:: 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

236

User Subroutines

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

237

CFD-ACE_V2008.2_User_Manual

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)

238

User Subroutines

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) LOGICAL :: face_value :: 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

239

CFD-ACE_V2008.2_User_Manual

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) REAL(real_p) :: global_face_index, var_index :: 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

240

User Subroutines

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) LOGICAL :: nvc_rec :: 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) LOGICAL :: vc_index :: 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

241

CFD-ACE_V2008.2_User_Manual

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) LOGICAL :: nvc_cells :: 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) LOGICAL :: cell_index :: 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)

242

User Subroutines

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) LOGICAL :: vc_index :: 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 0 1 2 3

Material Type Error in Subroutine Fluid Solid Blocked

Inputs
INTEGER(int_p) :: vc_index

Returns
INTEGER(int_p) LOGICAL :: material_type :: 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

243

CFD-ACE_V2008.2_User_Manual

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.

244

User Subroutines

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) REAL(real_p) :: var_index, cell_index :: 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.

245

CFD-ACE_V2008.2_User_Manual

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.

246

User Subroutines

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) LOGICAL , DIMENSION(3) :: normal, tau1, tau2, linear, quadratic :: 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

247

CFD-ACE_V2008.2_User_Manual

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) LOGICAL :: value :: 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) REAL(real_p) :: var_index, cell_index :: 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)

248

User Subroutines

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) INTEGER(int_p) LOGICAL :: time :: time_step_no

:: 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) LOGICAL :: dt :: 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

249

CFD-ACE_V2008.2_User_Manual

Returns
REAL(real_p) LOGICAL :: value :: 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) LOGICAL :: max_time :: 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

250

User Subroutines

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

251

CFD-ACE_V2008.2_User_Manual

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

252

User Subroutines

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

253

CFD-ACE_V2008.2_User_Manual

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) LOGICAL :: zone_index :: 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) LOGICAL :: nodes :: 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.

254

User Subroutines

Value

Option

0 1 2

Original (1st time step) coordinates. Previous time step coordinates. 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) LOGICAL :: imax, jmax, kmax :: 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

255

CFD-ACE_V2008.2_User_Manual

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 1 2

Original (1st time step) coordinates. Previous time step coordinates. 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)

256

User Subroutines

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) x, y, z :: zone_index, imax, jmax, kmax REAL(real_p), DIMENSION(imax, jmax, kmax)::

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

257

CFD-ACE_V2008.2_User_Manual

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) LOGICAL :: error :: lwavelength, uwavelength

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

258

User Subroutines

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) LOGICAL :: bc_value :: 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) LOGICAL :: error :: bc_value

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 CFDACE+.

Inputs

259

CFD-ACE_V2008.2_User_Manual

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)

260

User Subroutines

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)

261

CFD-ACE_V2008.2_User_Manual

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 2. components in m/s 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

262

User Subroutines

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 2. components in m/s 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.

263

CFD-ACE_V2008.2_User_Manual

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. 2. x, y, z are injector location coordinates in meters. u, v, w are droplet velocity components in m/s 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) REAL(real_p) REAL(real_p) LOGICAL :: x, y, z :: u, v, w :: tem, dia, nden :: 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

264

User Subroutines

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 2. velocity components in m/s 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.

265

CFD-ACE_V2008.2_User_Manual

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 2. velocity components in m/s 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

266

User Subroutines

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

267

CFD-ACE_V2008.2_User_Manual

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

268

User Subroutines

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

269

CFD-ACE_V2008.2_User_Manual

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

270

User Subroutines

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)

271

CFD-ACE_V2008.2_User_Manual

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

272

User Subroutines

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)

273

CFD-ACE_V2008.2_User_Manual

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.

274

User Subroutines

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.

275

CFD-ACE_V2008.2_User_Manual

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).

276

User Subroutines

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.

277

CFD-ACE_V2008.2_User_Manual

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

278

User Subroutines

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.

279

CFD-ACE_V2008.2_User_Manual

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

280

User Subroutines

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

281

CFD-ACE_V2008.2_User_Manual

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

282

User Subroutines

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.

283

CFD-ACE_V2008.2_User_Manual

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:

284

User Subroutines

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 o o UOUT UREAD_DTF 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

285

CFD-ACE_V2008.2_User_Manual

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

286

User Subroutines

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

287

CFD-ACE_V2008.2_User_Manual

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

288

User Subroutines

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.

289

CFD-ACE_V2008.2_User_Manual

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 support.cfd@esi-group-na.com

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

290

User Subroutines

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 CFDACE+.

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)

291

CFD-ACE_V2008.2_User_Manual

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)

292

User Subroutines

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

293

CFD-ACE_V2008.2_User_Manual

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.

294

User Subroutines

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 variables 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.

295

CFD-ACE_V2008.2_User_Manual

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. Prototype udens(iopt, vcindex) Arguments INTEGER(int_p):: iopt, vcindex Prototype udrhodp(iopt, vcindex) Arguments INTEGER(int_p):: iopt, vcindex

Density

Drho_Dp

296

User Subroutines

Viscosity

Prototype uvisc(iopt, vcindex) Arguments INTEGER(int_p):: iopt, vcindex Prototype ucond(iopt, vcindex) Arguments INTEGER(int_p):: iopt, vcindex Prototype ucph_from_t(iopt, vcindex, tval, cpval, hval)

Thermal Conductivity

Specific Heat and Enthalpy

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). Prototype udiff(iopt,vcindex, var_index)

Mass Diffusivity1

Arguments INTEGER(int_p)::iopt, vcindex, varindex Prototype umobility(iopt,vcindex,varindex)

Mobility of Chemical Species1

Arguments INTEGER(int_p)::iopt, vcindex, varindex Prototype udiff_scalar(iopt, vcindex, var_index)

Mass Diffusivity for Scalar1

Arguments INTEGER(int_p):: iopt, vcindex, var_index Prototype uecond(iopt, vcindex)

Electrical Conductivity

Arguments INTEGER(int_p):: iopt, vcindex Prototype uepermittivity(iopt, vcindex)

Electrical Permittivity

Arguments INTEGER(int_p):: iopt, vcindex Prototype urpermeability(iopt, vcindex)

Electrical Permeability

Arguments INTEGER(int_p):: iopt, vcindex Prototype usurfacetension(iopt, vcindex)

Surface Tension (for VOF) Electron Collision Frequency (for Plasma) Absorbtivity2 (for Radiation)

Arguments INTEGER(int_p):: iopt, vcindex Prototype uecoll_frequency(iopt, vcindex)

Arguments INTEGER(int_p):: iopt, vcindex Prototype uabsorption_coef(vcindex, band_no)

Arguments INTEGER(int_p):: vcindex, band_no

297

CFD-ACE_V2008.2_User_Manual

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 cells 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:

298

User Subroutines

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

299

CFD-ACE_V2008.2_User_Manual

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 ICs if VAR ivar for VC ivc has user sub eval then call UINIT(var_index, vcindex) endif

300

User Subroutines

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

301

CFD-ACE_V2008.2_User_Manual

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 its 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()

302

User Subroutines

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)

303

CFD-ACE_V2008.2_User_Manual

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

304

User Subroutines

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

305

CFD-ACE_V2008.2_User_Manual

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

306

User Subroutines

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

307

CFD-ACE_V2008.2_User_Manual

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.

308

User Subroutines

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 2 for the source term are m/s . 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

309

CFD-ACE_V2008.2_User_Manual

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

310

User Subroutines

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

311

CFD-ACE_V2008.2_User_Manual

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)

312

User Subroutines

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

313

CFD-ACE_V2008.2_User_Manual

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 builduserlib 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.

314

User Subroutines

Compilers The following table outlines the types of required compilers.


Platform Fortran Compiler

Windows XP/2000/NT on Intel or AMD (32-bit) Linux Red Hat 9.0+ on Intel or AMD (32-bit) Linux Red Hat Enterprise Edition on Intel or AMD (32-bit) SuSE Linux 8.0+ for AMD64 HP-UX 11.0+ on PA-RISC (64-bit) HP-UX 11.22+ on Itanium2 (64-bit) SGI IRIX 6.5+ on MIPS (64-bit) SUN Solaris 8+ (64-bit) SGI Altix on Itanium2 (64-bit)
HP Linux on Intanium2 (64-bit)

Compaq Visual Fortran v6.2 NAGware v5.0 NAGware v5.0

NAGware v5.0 HP Fortran Compiler v2.5.3 HP Fortran Compiler v2.8 MIPSpro Compiler v7.3.1.3m Sun Fortran 95 v7.1 Intel Fortran Compiler v8.0
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.

315

CFD-ACE_V2008.2_User_Manual

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

316

User Subroutines

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. 2. The solver looks for the library in the present working directory. 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"

317

CFD-ACE_V2008.2_User_Manual

# 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

318

User Subroutines

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

319

CFD-ACE_V2008.2_User_Manual

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. 2. 3. The solver looks for the DLL in present working directory. 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 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. 2. 3. 4. Go to Control Panel/System/Advanced tab. Click on the environment variable named PATH. Add the directory C:\esi_cfd to the path, using a semicolon (;) as separator. 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.

320

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 (PDEs) governing each modules physics are presented in each module. A numerical method to solve these PDEs consists of the discretization of the PDEs 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.

321

CFD-ACE_V2008.2_User_Manual

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)

322

Numerical Methods

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

323

CFD-ACE_V2008.2_User_Manual

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:

324

Numerical Methods

(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)

325

CFD-ACE_V2008.2_User_Manual

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 highspeed 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:

326

Numerical Methods

(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 S is negative. In general, both S and S 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:
P p U

(12-20)
where:

and

For further details regarding source term linearization should refer to Patankar (1980). See Also Direct Specification of Source Terms

327

CFD-ACE_V2008.2_User_Manual

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 CFDACE+ 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:

328

Numerical Methods

(12-24) or, after collecting terms:

(12-25)

Now since 1/ >>aP, and

>>

the governing equation reduces to

which is what we set out to achieve. An example application of this last option is or 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

329

CFD-ACE_V2008.2_User_Manual

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 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) Vne is

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) is again the geometrical weighting function at face e and Ds are evaluated from link where 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.

330

Numerical Methods

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 giving us an expression for : by

(12-38) where:

(12-39) Moreover, an expression for from the cell-center values: , the velocity correction at the face, is obtained by averaging

331

CFD-ACE_V2008.2_User_Manual

(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)

332

Numerical Methods

The density correction at the cell face scheme used to estimate

, is estimated from

and

using the same

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. 2. 3. 4. 5. 6. 7. 8. Guess a pressure field P*. Obtain u*, *, and w* by solving discretized momentum equation 12-34. Evaluate C* from *, u*, using the procedure outlined earlier in this section. Evaluate mass source from equation 12-45. Obtain Use by solving equation 12-50. to correct the pressure and velocity fields using equation 12-36 and equation 12-35.

Solve the discretized equations for other flow variables such as enthalpy, turbulent quantities, scalars etc. 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.

333

CFD-ACE_V2008.2_User_Manual

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 yields

is the cross or explicit diffusion term. Rearranging

(2)

where (3)

(4)

(5)

Momentum error due to splitting can be found by doing [(6) - [(7)+(8)+(9)] yielding:

334

Numerical Methods

(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.

335

CFD-ACE_V2008.2_User_Manual

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.

336

Numerical Methods

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.

337

CFD-ACE_V2008.2_User_Manual

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:

338

Numerical Methods

(12-55) is the current value of . At convergence, when there is no change in from where 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 value and the current iteration

. 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) is a false time step. If I is equal to 1.0, then is comparable to the maximum time where 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 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.
new

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)

339

CFD-ACE_V2008.2_User_Manual

(12-58)
th

n sweep (n > 0)

(12-59)

where rn+1 is the residual at the n sweep.

th

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 to , where P is a accomplished by transforming the system 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

340

Numerical Methods

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, AIAA89-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.

341

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.

343

CFD-ACE_V2008.2_User_Manual

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. 2. Use the Frame (VC Based) option for rotation in the MO panel. 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. 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).

2.

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.

344

Mixing Plane

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.

345

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 microchips. 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 cellby-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

347

CFD-ACE_V2008.2_User_Manual

HVAC pipe systems

348

Filament Model

Heating Element in Cross Flow Model

Electromagnetic Sources from a Coil Model

Capillary Electrophoresis Model

349

CFD-ACE_V2008.2_User_Manual

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.

350

Filament Model

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. 2. 3. 4. Create a background grid using CFD-GEOM and save the grid in a DTF format. Generate a text filament path data file. Create a filament grid and save it together with the background grid in a single DTF file. 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 crosssection 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 . . .

351

CFD-ACE_V2008.2_User_Manual

(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 0 0 0.5 -0.5 0 0 0 1 1 2 3 4.. 6 0 1 1.5 1.5 2 3 1 2 3 4 4 5.. 8 0 0 0 0 0 0 1 1 1 1 1 0.8 0.1 0.1 0.1 0.1 0.1 0.2 1 1 1 0 2

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 o o o o First node (node number 0); at (0,0,0) with radius as 0.1 meter Second node (node number 1); at (0,1,0) with radius as 0.1 meter ... First edge; connect node 0 and node 1, in group 1, and has 1 subsection Second edge; connect node 1 and node 2, in group 1 and has 1 subsection

From lines 8-13, we know how those nodes are connected:

Filament Model Frequently Asked Questions


How does the solver know which domain is to be treated as a filament module?

352

Filament Model

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.

353

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)

355

CFD-ACE_V2008.2_User_Manual

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)

356

Applications: Electrokinetics

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)

357

CFD-ACE_V2008.2_User_Manual

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 userdefined 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 Electroosmosis Electrophoresis CFD-ACE+ Modules Flow+Electric Flow+Chemistry+Electric Description Charged/neutral Species 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.

358

Applications: Electrokinetics

PT Panel - Electroosmosis

The EOF mobility or zeta potential is specified in BC panel, under Electric tab.

359

CFD-ACE_V2008.2_User_Manual

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.

360

Applications: Electrokinetics

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 Ohms 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 ) of electrical conductivity of the buffer calculated?
-6

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 usersupplied 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?

361

CFD-ACE_V2008.2_User_Manual

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. CFDACE+ 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. ButterworthHeinemann, 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.

362

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

363

CFD-ACE_V2008.2_User_Manual

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:

364

Applications: Ionization

(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)

365

CFD-ACE_V2008.2_User_Manual

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. 2. 3. In the Problem Type [PT] panel, select Chemistry. The Ionization checkbox becomes available in the Model Options [MO] panel, Chem tab. Click the Model Options [MO] tab, then click the Chem tab. The MO/Chem Panel appears as shown below. 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.

366

Applications: Ionization

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 Diffusivity (m /s) Mobility (m /s-V) pKa pKb
2 2

Histidine 8.14286E-10 2.84E-8 6.02 9.17

8.28571E-10 2.9E-8 2.16 4.29

367

CFD-ACE_V2008.2_User_Manual

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

368

Applications: Ionization

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.

369

CFD-ACE_V2008.2_User_Manual

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.

370

Applications: Ionization

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

371

CFD-ACE_V2008.2_User_Manual

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.

372

Applications: Ionization

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.

373

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.

375

CFD-ACE_V2008.2_User_Manual

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

Radius of the particle

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

376

Applications: Dielectrophoresis (DEP)

The net force applied to particle, including the Coulombs 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 CFDACE-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. 2. Click the Problem Type [PT] tab to view the Problem Type settings in the Control Panel. See Control PanelProblem Type for details. The Modules panel appears. Under the Modules section select Flow, Spray, and Electric to run a DEP simulation.

377

CFD-ACE_V2008.2_User_Manual

Problem Type (PT Panel)

Model Option Settings


3. 4. Click the Model Options [MO] tab. The Model Options panel appears. 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.

378

Applications: Dielectrophoresis (DEP)

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.

379

CFD-ACE_V2008.2_User_Manual

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.

380

Applications: Dielectrophoresis (DEP)

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 medias 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:

381

CFD-ACE_V2008.2_User_Manual

(17-6)

Figure 1 - Geometry and Grids

Figure 2 - Location of particles at different times under the effect of Dielectrophoresis

382

Applications: Dielectrophoresis (DEP)

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.

383

CFD-ACE_V2008.2_User_Manual

Figure 1 Electrode Sketch (not to scale)

Figure 2 - Electrical Potential at Time, t, in seconds

384

Applications: Dielectrophoresis (DEP)

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.

385

CFD-ACE_V2008.2_User_Manual

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.

386

Applications: Dielectrophoresis (DEP)

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.

387

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, heat can be written:

, and

is latent heat. A general form for latent

(18-2)

389

CFD-ACE_V2008.2_User_Manual

where is the local solid fraction (mass fraction), is the temperature at which the solid is the temperature at which full solidification is achieved. For the formation commences and 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 ensembleaverage 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)

390

Applications: Solidification

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)

391

CFD-ACE_V2008.2_User_Manual

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 is the unit normal vector of face; superscript n and (n+1) represent the surrounding this cell; 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:

392

Applications: Solidification

(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 CFDACE+, 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 o o Incompressible Heat Transfer 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.

393

CFD-ACE_V2008.2_User_Manual

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.

394

Applications: Solidification

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.

395

CFD-ACE_V2008.2_User_Manual

Computation Model

Temperature Distribution at t=1300s

Liquid Fraction Distribution at t=1300s

396

Applications: Solidification

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

397

CFD-ACE_V2008.2_User_Manual

Computation Model

Liquid Fraction and Velocity Vectors (isothermal) t= 10s

Distribution of Temperature (isothermal), t = 10s

398

Applications: Solidification

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)

399

CFD-ACE_V2008.2_User_Manual

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

400

Applications: Solidification

Temperature History at Fixed Monitor Points

Calculation Results (Swaminathan and V.R. Voller, 1992)

401

CFD-ACE_V2008.2_User_Manual

Distribution of Temperature t = 300s

Distribution of Liquid Fraction t = 300s

Solidification Case 4: Heat conduction, single-zone, constant Cp, and isothermal case
402

Applications: Solidification

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.

403

CFD-ACE_V2008.2_User_Manual

Temperature History at Fixed Monitor Points

Calculation Results (Swaminathan and Voller, 1992)

404

Applications: Solidification

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. 150166. Swaminathan, C.R., and Voller, V.R., 1993, On the enthalpy method. Int. J. Num. Meth. Heat Fluid Flow, Vol. 3, pp. 233-244.

405

CFD-ACE_V2008.2_User_Manual

Swaminathan, C.R., and Voller, V.R., 1992, A general enthalpy method for modeling solidification process. Metallurgical Transactions B, Vol. 23B, pp. 651-664.

406

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 soldiers 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.

407

CFD-ACE_V2008.2_User_Manual

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

408

Applications: Fuel Cell Modeling

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 CFDACE+ is shown below.

409

CFD-ACE_V2008.2_User_Manual

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).

410

Applications: Fuel Cell Modeling

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:

411

CFD-ACE_V2008.2_User_Manual

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, above, yields:

, has units of A/m3. Application of Ohms law to the equation

412

Applications: Fuel Cell Modeling

(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 semiempirical 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)

413

CFD-ACE_V2008.2_User_Manual

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)

414

Applications: Fuel Cell Modeling

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-offluid (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/features 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:

415

CFD-ACE_V2008.2_User_Manual

Electro-osmotic drag coefficient (default = 2.5) Back Diffusivity (default = 1E-10) Membrane Dry Density (default = 1.98E3kg/m ) Equivalent Weight (default = 1100kg/kmol)
3

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 ( diffusion coefficient ( ) must be specified. ) and back

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.

416

Applications: Fuel Cell Modeling

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.

417

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.

419

CFD-ACE_V2008.2_User_Manual

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)

420

Applications: Biochemistry

where:
= solution density

velocity vector

= =

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 Kfi and Kri. 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:

421

CFD-ACE_V2008.2_User_Manual

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:

422

Applications: Biochemistry

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+BAB ABAB*

2.

Multiple Analytes (Competitive Binding): Two or more analytes (A and A*) compete for the same receptor (B)

A+BAB A +BA B
* *

3. Multiple Analyte (Non Competitive Binding): Two analytes (A and A*) bind independently to two different receptors (B and B*).

A+BAB 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.

423

CFD-ACE_V2008.2_User_Manual

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.

424

Applications: Biochemistry

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:

425

CFD-ACE_V2008.2_User_Manual

(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 CFDACE+.

426

Applications: Biochemistry

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 CFDACE-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.

427

CFD-ACE_V2008.2_User_Manual

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:

428

Applications: Biochemistry

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 PanelVolume 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.

429

CFD-ACE_V2008.2_User_Manual

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

430

Applications: Biochemistry

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:

431

CFD-ACE_V2008.2_User_Manual

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:

432

Applications: Biochemistry

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:

433

CFD-ACE_V2008.2_User_Manual

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.

434

Applications: Biochemistry

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.

435

CFD-ACE_V2008.2_User_Manual

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/m

Analyte Diffusivity

m /sec

436

Applications: Biochemistry

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 D_AnalyteName Receptor(R) AnalyteName Diffusivity Surface Concentration Analyte Concentration Definition m /s moles/m M
2
2

Units
2

J_AnalyteName

Analyte Flux in x, y and z

Kg/ m -s

J_ReceptorName

Receptor Flux in x, y and z

Kg/ m -s

Biochemistry Frequently Asked Questions


How do I activate Biochemistry? 1. 2. 3. 4. PT-> Select the Flow and Chemistry modules MO-> Chem: Select Chemistry media as Liquid Phase MO-> Chem-> Chemistry Media-> Liquid Chemistry - Chem: Select Application as Biochemistry MO-> Chem-> Liquid Phase-> Application-> Biochemistry

437

CFD-ACE_V2008.2_User_Manual

Model Options - Chemistry Tab

How do I define buffers? 1. 2. 3. 4. 5. Open Database - Tools-> Database. Click on Buffer under Biochemistry - Biochemistry-> Buffer. Click on Local Folder. Click on File/New/Buffer. Type the Buffer Name and enter the required physical, transport, thermal and electromagnetic properties.

438

Applications: Biochemistry

Database Manager - Buffer Name

How do I define Analytes? 1. 2. 3. 4. 5. 6. 7. Open the Database by selecting Tools-> Database. Click on Analytes under Biochemistry - Biochemistry-> Analyte. Click on Local Folder. Click on File/New/Analyte. Type the Analyte Name and Select the Type. Type-> Protein or Ampholyte or DNA/RNA or Ions. Enter the required molecular and chemical properties.

Database Manager - Analyte Name

How do I define Analyte Diffusivity and Mobility? 1. 2. 3. 4. 5. 6. 7. 8. Open Database - Tools-> Database. Click on Mixing rule under Biochemistry Biochemistry-> Mixing Rule. Click on Local Folder. Click on File/New/Rule. Type the Rule Name. From the list of Buffers, select a Buffer. 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 From the list of Analytes, select other Analytes of interest and follow the previous step to define Diffusivity and Mobility.

439

CFD-ACE_V2008.2_User_Manual

Database Manager - Rule Name

How do I define Receptors? 1. 2. 3. 4. 5. Open Database - Tools-> Database. Click on Receptors under Biochemistry - Biochemistry-> Receptors. Click on Local Folder. Click on File/New/Receptors. Type the Receptor Name and Select the Type - Type-> Reversible Complex or Irreversible complex.

440

Applications: Biochemistry

Database Manager - Receptor Name

How do I define Receptor density? 1. 2. 3. 4. 5. 6. 7. 8. Open Database - Tools-> Database. Click on Receptor Group under Biochemistry - Biochemistry-> Receptor Group. Click on Local Folder. Click on File/New/Group. Type the Group Name and enter Surface Density. 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. Enter the Initial Receptor Fraction of that Receptor. Repeat last two steps if you have more than one receptor in the group.

441

CFD-ACE_V2008.2_User_Manual

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. 2. 3. 4. 5. 6. 7. 8. 9. Open Database - Tools-> Database. Define Analytes A1, A2, P1 and P2 as discussed above (in questions 3 and 4). Click on Volume Reactions under Biochemistry - Biochemistry-> Volume Reactions. Click on Local Folder. Click on File/New/Mechanism. Type the Mechanism Name - Mechanism Name-> Bulk_Reaction. 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). Select the Reaction Type for the current reaction step - Reaction Type-> Stoichiometric. Enter the Forward and Reverse reaction rates: Forward Reaction Rates-> Kinetic Coefficient-> 1e+06 Reverse Reaction Rates-> Kinetic Coefficient-> 0.001

442

Applications: Biochemistry

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. 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 -> A1R1_IRR

A1R1* = Receptor of type Irreversible Complex 1. Open Database - Tools-> Database 2. Define Analyte A1 as discussed above (in questions 3 and 4)

443

CFD-ACE_V2008.2_User_Manual

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

444

Applications: Biochemistry

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 (Substrate) Km -> P1 (Product) : 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

445

CFD-ACE_V2008.2_User_Manual

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 (Substrate) Km -> P1 (Product) : 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

446

Applications: Biochemistry

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?

447

CFD-ACE_V2008.2_User_Manual

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.

448

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 deposits 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.

449

CFD-ACE_V2008.2_User_Manual

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 multispecies 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.

450

Applications: Electroplating

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)

451

CFD-ACE_V2008.2_User_Manual

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.:

(216)

452

Applications: Electroplating

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 concentrationdependent term in Equation (21-6) are dropped. After combining these two equations, the current density across the reaction surface is expressed as:

(217)

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:

453

CFD-ACE_V2008.2_User_Manual

(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:

454

Applications: Electroplating

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. 2. 3. Select the interfaces between the electrodes and the electrolyte. Under the Chemistry Model options, select Surface Reaction as the subtype boundary condition. 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)

455

CFD-ACE_V2008.2_User_Manual

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 CFDVIEW 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.

456

Applications: Electroplating

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.

457

CFD-ACE_V2008.2_User_Manual

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.

458

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 model.out model.DTF

Residual listing file Analysis program output file 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

459

CFD-ACE_V2008.2_User_Manual

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:

460

Appendix A CFD-ACE+ Files

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.

461

CFD-ACE_V2008.2_User_Manual

Tools --> MOD File option in CFD-ACE-GUI

462

Appendix A CFD-ACE+ Files

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 STOP SAVE SAVE_CONTINUE RESTART_SAVE ITERATIONS TIME_STEPS TIME_SAVE DIAGNOSTICS MASS_FLOW_SUMMARY HEAT_TRANSFER_SUMMARY PRESSURE_FORCE_SUMMARY Convergence_Criterion Minimum_Residual DT ENDTIME

Data None None None Integer Value Integer Value Integer Value Integer Value ON / OFF ON / OFF ON / OFF ON / OFF Real Value Real Value Real Value Real Value

Purpose Stops the solver at the end of current iteration

Saves data and stops the solver at the end of current iteration

Saves data at the end of current iteration and solver continues Changes the number of iterations for output frequency Changes number of iterations Changes number of time steps Changes number of time step frequency Sets on/off diagnostics Sets on/off Mass Flow Summary Sets on/off Heat Transfer Summary Sets on/off Pressure Flow Summary Changes Convergence Criterion Changes Minimum Residual Changes the Time Step Size Changes the End Time

463

CFD-ACE_V2008.2_User_Manual

Relaxation Commands

Keyword numeric_Under_Relaxation_Velocities numeric_Under_Relaxation_Swirl_Velocities numeric_Under_Relaxation_P_Correction numeric_Under_Relaxation_Pressure numeric_Under_Relaxation_Density numeric_Under_Relaxation_Viscosity numeric_Under_Relaxation_Enthalpy numeric_Under_Relaxation_Temperature numeric_Under_Relaxation_Turbulence numeric_Under_Relaxation_Species numeric_Under_Relaxation_Mixtures numeric_Under_Relaxation_Saturation numeric_Under_Relaxation_Ne numeric_Under_Relaxation_Te numeric_Under_Relaxation_Caviation numeric_Under_Relaxation_Potential numeric_Under_Relaxation_Electron

Data

Purpose

Real Value Changes the under relaxation parameter for velocities

Real Value Changes the under relaxation parameter for swirl veloci

Real Value Changes the under relaxation parameters for Pressure c Real Value Changes the under relaxation parameters for Pressure Real Value Changes the under relaxation parameters for Density Real Value Changes the under relaxation parameters for Viscosity Real Value Changes the under relaxation parameters for Enthalpy Real Value Changes the under relaxation parameters for Temperat

Real Value Changes the under relaxation parameters for Turbulenc Real Value Changes the under relaxation parameters for Species Real Value Changes the under relaxation parameters for Mixture

Real Value Changes the under relaxation parameters for Saturation

Real Value Changes the under relaxation parameters for Electron N

Real Value Changes the under relaxation parameters for Electron T

Real Value Changes the under relaxation parameters for Cavitation

Real Value Changes the under relaxation parameters for Electric Po 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 numeric_Limits_U_Minimum numeric_Limits_U_Maximum numeric_Limits_V_Minimum numeric_Limits_V_Maximum numeric_Limits_W_Minimum numeric_Limits_W_Maximum numeric_Limits_K_Minimum numeric_Limits_K_Maximum

Data

Purpose

Real value Changes the minimum allowed value for U component

Real value Changes the maximum allowed value for U component Real value Changes the minimum allowed value for V component

Real value Changes the maximum allowed value for V component

Real value Changes the minimum allowed value for W component

Real value Changes the maximum allowed value for W componen

Real value Changes the minimum allowed value for Turbulent kine

Real value Changes the maximum allowed value for Turbulent kin

464

Appendix A CFD-ACE+ Files

numeric_Limits_D_Minimum numeric_Limits_D_Maximum numeric_Limits_Enthalpy_Minimum numeric_Limits_Enthalpy_Maximum numeric_Limits_Pressure_Minimum numeric_Limits_Pressure_Maximum numeric_Limits_Density_Minimum numeric_Limits_Density_Maximum numeric_Limits_Viscosity_Minimum numeric_Limits_Viscosity_Maximum numeric_Limits_Temperature_Minimum numeric_Limits_Temperature_Maximum numeric_Limits_Mixture_Minimum numeric_Limits_Mixture_Maximum numeric_Limits_Species_Minimum numeric_Limits_Species_Maximum numeric_Scalar_Limits_Minimum_ScalarName numeric_Scalar_Limits_Maximum_ScalarName

Real value Changes the minimum allowed value for Turbulent diss

Real value Changes the maximum allowed value for Turbulent dis Real value Changes the minimum allowed value for Enthalpy Real value Changes the maximum allowed value for Enthalpy Real value Changes the minimum allowed value for Pressure Real value Changes the maximum allowed value for Pressure Real value Changes the minimum allowed value for Density Real value Changes the maximum allowed value for Density Real value Changes the minimum allowed value for Viscosity Real value Changes the maximum allowed value for Viscosity Real value Changes the minimum allowed value for Temperature

Real value Changes the maximum allowed value for Temperature Real value Changes the minimum allowed value for Mixture Real value Changes the maximum allowed value for Mixture Real value Changes the minimum allowed value for Species Real value Changes the maximum allowed value for Species Real value Changes the minimum allowed value for Scalar Real value Changes the maximum allowed value for Scalar

Spatial Differencing Commands

Keyword numeric_Spatial_Differencing_Density

Data

Purpose

Central/2ndOrder/2n Changes the Spatial differencing scheme fo dOrder_Limiter/Upwi nd/Smart_Scheme/3r dOrder

numeric_Spatial_Differencing_Turbulence

Central/2ndOrder/2n Changes the Spatial differencing scheme fo dOrder_Limiter/Upwi nd/Smart_Scheme/3r dOrder

numeric_Spatial_Differencing_Enthalpy

Central/2ndOrder/2n Changes the Spatial differencing scheme fo dOrder_Limiter/Upwi nd/Smart_Scheme/3r dOrder

numeric_Spatial_Differencing_Velocities

Central/2ndOrder/2n Changes the Spatial differencing scheme fo dOrder_Limiter/Upwi nd/Smart_Scheme/3r dOrder

465

CFD-ACE_V2008.2_User_Manual

numeric_Spatial_Differencing_Species

Central/2ndOrder/2n Changes the Spatial differencing scheme fo dOrder_Limiter/Upwi nd/Smart_Scheme/3r dOrder

numeric_Spatial_Differencing_Mixtures

Central/2ndOrder/2n Changes the Spatial differencing scheme fo dOrder_Limiter/Upwi nd/Smart_Scheme/3r dOrder

numeric_Scalar_Spatial_Differencing_ScalarName Central/2ndOrder/2n Changes the Spatial differencing scheme fo dOrder_Limiter/Upwi nd/Smart_Scheme/3r dOrder numeric_Spatial_Differencing_Velocity_Blending numeric_Spatial_Differencing_Density_Blending numeric_Spatial_Differencing_Enthalpy_Blending numeric_Spatial_Differencing_Mixtures_Blending numeric_Spatial_Differencing_Species_Blending Real Value Real Value Real Value Real Value Real Value

Changes blending factor of spatial differenc velocity

Changes blending factor of spatial differenc Density

Changes blending factor of spatial differenc Enthalpy

Changes blending factor of spatial differenc Mixture

Changes blending factor of spatial differenc Species

numeric_Spatial_Differencing_Turbulence_Blending Real Value

Changes blending factor of spatial differenc Turbulence

Numeric Solver Commands

Keyword numeric_Solvers_Velocities numeric_Solvers_Enthalpy numeric_Solvers_Turbulence numeric_Solvers_Mixtures numeric_Solvers_Species numeric_Scalar_Solvers_ScalarName numeric_Solvers_P_Correction_Sweeps numeric_Solvers_Velocities_Sweeps numeric_Solvers_Enthalpy_Sweeps numeric_Solvers_Turbulence_Sweeps numeric_Solvers_Species_Sweeps

Data CGS+Pre/AMG CGS+Pre/AMG CGS+Pre/AMG CGS+Pre/AMG CGS+Pre/AMG CGS+Pre/AMG Integer Value Integer Value Integer Value Integer Value Integer Value

Purpose Changes the solver for Velocities Changes the solver for Enthalpy Changes the solver for Turbulence Changes the solver for Mixture Changes the solver for Species Changes the solver for Scalar

Changes number of sweeps for Pressure Correction So Changes number of sweeps for Velocity Solver Changes number of sweeps for Enthalpy Solver Changes number of sweeps for Turbulence Solver Changes number of sweeps for Species Solver

466

Appendix A CFD-ACE+ Files

numeric_Solvers_Mixtures_Sweeps numeric_Solvers_Velocity_Criterion numeric_Solvers_P_Correction_Criterion numeric_Solvers_Enthalpy_Criterion numeric_Solvers_Turbulence_Criterion numeric_Solvers_Species_Criterion numeric_Solvers_Mixtures_Criterion

Integer Value Real Value Real Value Real Value Real Value Real Value Real Value

Changes number of sweeps for Mixture Solver Changes the solver convergence criterion for velocity Changes the solver convergence criterion for Pressure Changes the solver convergence criterion for Enthalpy

Changes the solver convergence criterion for Turbulenc Changes the solver convergence criterion for Species 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 U V W OMEGA P T Description X-Direction Velocity Y-Direction Velocity Z-Direction Velocity Swirl Velocity Static Pressure Temperature Units m/s m/s m/s rad/s N/m K
2

467

CFD-ACE_V2008.2_User_Manual

Q K D

Heat flux Turbulent Kinetic Energy Turbulent Dissipation Rate

w/m
2

m /s

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.

468

Appendix A CFD-ACE+ Files

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

469

CFD-ACE_V2008.2_User_Manual

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)

470

Appendix A CFD-ACE+ Files

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

471

CFD-ACE_V2008.2_User_Manual

Flow Heat Turbulence Gas Chemistry Two Fluid Plasma

Stress Electric Magnetic Kinetic VOF (Free Surfaces)

Shared Variable RHO X, Y, Z Description Density Location Units kg/m m


3

Flow Variable U, V, W P P_TOTAL MU MACH VORT STR_FUN STR_RAT Description Velocity Components Static Pressure Total Pressure Effective Viscosity Mach Number Vorticity Strain Function Strain Rate Units m/s Pa Pa kg/m-s m /s 1/s
2

Heat Variable T H0 COND Description Static Temperature Static Enthalpy Thermal Conductivity Units K J/kg W/m-K

472

Appendix A CFD-ACE+ Files

CP

Specific Heat

J/kg-s

Turbulence Variable K D TURB_MU Y+ Description Turbulent Kinetic Energy Turbulent Dissipation Rate Turbulent Viscosity Turbulent Y+ Units m /s
2 2

J/kg-s kg/m-s -

Gas Chemistry Variable <Species Name> M_<Mixture Name> Description Species Mass Fraction Mixture Mass Fraction Units -

Two Fluid Variable U2, V2, W2 RHO2 MU2 STR_FUN2 T2 CP2 COND2 H02 ALPHA Description Velocity 2 Components Density 2 Laminar Viscosity 2 Stream Function 2 Static Temperature 2 Specific Heat 2 Thermal Conductivity 2 Static Enthalpy 2 Volume Fraction Units m/s kg/m
3

kg/m-s kg/s K J/kg-s W/m-K J/kg -

Cavitation Variable Description Units

473

CFD-ACE_V2008.2_User_Manual

Mass_Frac Vol_Frac Vap_Vol_Fr

Mass Fraction Volume Fraction Vapor Volume Fraction

Stress Variable FEM_PHI_<X, Y, Z> FEM_PHI_V FEM_VEL_<X, Y, Z> Description Displacements in X, Y, and Z directions Piezoelectric Voltage Velocity in X, Y, and Z direction Acceleration in the X, Y, and Z directions Cartesian Stress XX Cartesian Stress YY Cartesian Stress ZZ Cartesian Stress XY Cartesian Stress YZ Cartesian Stress XZ Maximum Principal Stress Minimum Principal Stress Maximum Shear Stress Cartesian Strain XX Cartesian Strain YY Cartesian Strain ZZ Cartesian Strain XY Cartesian Strain YZ Cartesian Strain XZ Maximum Principal Strain Minimum Principal Strain Maximum Shear Strain Reaction Force in the X, Y, Units m V m/s

FEM_ACC_<X, Y, Z> STRESS_XX STRESS_YY STRESS_ZZ STRESS_XY STRESS_YZ STRESS_XZ MAX_PSTRESS MIN_PSTRESS SHR_STRESS STRAIN_XX STRAIN_YY STRAIN_ZZ STRAIN_XY STRAIN_YZ STRAIN_XZ MAX_PSTRAIN MIN_PSTRAIN SHR_STRAIN RFORCE_<X, Y, Z>

m/s

N/m

N/m N/m

N/m N/m N/m

N/m

N/m N/m N

474

Appendix A CFD-ACE+ Files

and Z directions VONMISES Von Mises Stress N/m


2

Electric Variable EL_POT EL_POT_I Description Electric Potential Imaginary Component of Electric Potential Porous Media Solid Potential (Fuel Cells) Over Potential (Electrochemistry) Electric Field Imaginary Component of Electric Field Real Component of Current Imaginary Component of Current Current for Porous Media Solids Units V V

EL_POT_S

OVER_P EFIELD<X, Y, Z. EFIELD<X_I, Y_I, Z_I> JC<X_R, Y_R, Z_R> JC<X_I, Y_I, Z_I>

V N/C N/C A A

JSOLID<X, Y, Z>

Magnetic Variable MU_R EL_EPSR SIG, SIG_R, SIG_I Description Relative Permeability Relative Permittivity Conductivity Real Component AX, AY, AZ, or of Magnetic AX_R, AY_R, AZ_R Vector Potential Imaginary Component AX_I, AY_I, AZ_I of Magnetic Vector Potential AX_S, AY_S, AZ_S, Static Magnetic Wb/m Wb/m Wb/m Units A

475

CFD-ACE_V2008.2_User_Manual

Vector Potential BX, BY, BZ or BX_R, BY_R, BZ_R Real Component of N/A-m Magnetic Field Imaginary Component of Magnetic Field (Frequency Domain) EX_R_INDU, EY_R_INDU, EZ_R_INDU EX_INDU, EY_INDU, EZ_INDU EX_TOT, EY_TOT, Total Electric Field EZ_TOT P_DISS J_EDDY Power Dissipation Eddy Current W/m A/m
3

BX_I, BY_I, BZ_I

N/A-m

Real Component of Induced Electric Field Induced Electric Field

V/m

V/m (if using Time Domain)

V/m

Plasma Variable TE NE Description Electron Temperature Electron Number Density Units eV -

Kinetic Variable EDF, NE_B, TE_B Description EDF Units -

VOF (Free Surfaces) Variable ALPHA RHO_1 RHO_2 Description VOF Volume Fraction Fluid 1 Density Fluid 2 Density Units kg/m kg/m
3

476

Appendix A CFD-ACE+ Files

MU_1 MU_2 CP_1 CP_2 COND_1 COND_2 H0_1 H0_2 SIGMA THETA

Fluid 1 Viscosity Fluid 2 Viscosity Fluid 1 Specific Heat Fluid 2 Specific Heat Fluid 1 Thermal Conductivity Fluid 2 Thermal Conductivity Fluid 1 Static Enthalpy Fluid 2 Static Enthalpy Surface Tension Surface Curvature

kg/m-s kg/m-s J/kg-s J/kg-s W/m-K W/m-K J/kg J/kg N/m 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 -0.300000E-01 yf 0.100000E-01 Dep/Etch Rate 0.000000E+00 SumYw-1 0.2400E-07

477

CFD-ACE_V2008.2_User_Manual

-0.300000E-01 -0.300000E-01

0.235584E-01 0.385712E-01

0.000000E+00 0.000000E+00

0.2394E-07 0.2380E-07

478

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 equations 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 -c[v][h] -vd -ud = Info = Contents[Verbose][Html] = View Data = Update Data

479

CFD-ACE_V2008.2_User_Manual

-t -tp -[f]del_sim -[f]del_zone -[f]del_sd -[f]del_zd -[f]del_all_sd -[f]del_all_zd -rle -ph -unlock -tc -tag_bad_bc -set_scaling -storage_info

= Test = Test Patches = Delete Simulation = Delete Zone = Delete Simulation Data = Delete Zone Data = Delete All Simulation Data = Delete All Zone Data = Update file rle data = Print entire array referenced by handle = Unlock this file = Test connectivity in all zones = Tag unassociated bfaces as DEFAULT_BC = Set the scaling factor for this file = 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

480

Appendix B DTF Utility

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

481

CFD-ACE_V2008.2_User_Manual

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 NaNs).

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.

482

Appendix B DTF Utility

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.

483

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 CFDACE-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)

485

CFD-ACE_V2008.2_User_Manual

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 CFDACE-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.

486

Appendix C CFD-ACE Python Scripting

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.

487

CFD-ACE_V2008.2_User_Manual

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.

488

Appendix C CFD-ACE Python Scripting

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)

489

CFD-ACE_V2008.2_User_Manual

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. 2. Select the radiation module, GuiPT.Set("Rad"). Without this step, the following operations are meaningless. 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.

490

Appendix C CFD-ACE Python Scripting

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)

491

CFD-ACE_V2008.2_User_Manual

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)

492

Appendix C CFD-ACE Python Scripting

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()

493

CFD-ACE_V2008.2_User_Manual

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)

494

Appendix C CFD-ACE Python Scripting

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)

495

CFD-ACE_V2008.2_User_Manual

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.

496

Appendix C CFD-ACE Python Scripting

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 Shared Flow Heat Turb Chem Scalar Rad Spray VOF Fuid2 Cav Deform Stress Plasma Electr Magnet Eplate Kinetic Shared Module Flow Heat Transfer (Heat) Turbulence (Turb) Chemistry User Scalar (Scalar) Radiation (Rad) Spray Free Surfaces (VOF) Two-Fluid (Fluid2) Cavitation (Cav) Grid Deformation (Deform) Stress Plasma Electric (Electr) Magnetic (Magnet) Electroplating (Eplate) Kinetic Description

497

CFD-ACE_V2008.2_User_Manual

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.

498

Appendix C CFD-ACE Python Scripting

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 (1based), 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

499

CFD-ACE_V2008.2_User_Manual

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.

500

Appendix C CFD-ACE Python Scripting

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.

501

CFD-ACE_V2008.2_User_Manual

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 (1based), 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.

502

Appendix C CFD-ACE Python Scripting

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.

503

CFD-ACE_V2008.2_User_Manual

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.

504

Appendix C CFD-ACE Python Scripting

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 (1based), 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.

505

CFD-ACE_V2008.2_User_Manual

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)

506

Appendix C CFD-ACE Python Scripting

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)

507

Index

509

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

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

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

510

Index

Atomic Weight ........................................................... 100 Auto Save ................................................................... 22 Auto Time Step ........................................................... 44 auto-ionization........................................................... 376 Automatic option ....................................................... 195 Availability1 ............................................................... 200 Axisymmetric Selecting................................................................. 44 Axisymmetric............................................................... 44

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

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

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

511

CFD-ACE_V2008.2_User_Manual

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

512

Index

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 Coulombs ................................................................. 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

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 deposits ................................................................... 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

D
D_THINWALL_<scalar ............................................. 200 Daggan ............................................................. 155, 164 Darcy......................................................................... 402 Data Transfer Facility .................................................. 29 Database....................................... 32, 93, 383, 389, 449

513

CFD-ACE_V2008.2_User_Manual

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 Electric98, 137, 138, 139, 200, 370, 373, 383, 389, 423, 469, 475 Electric Conduction................................................... 200 Electric Current ................................................. 137, 200

514

Index

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

515

CFD-ACE_V2008.2_User_Manual

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

516

Index

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

517

CFD-ACE_V2008.2_User_Manual

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

518

Index

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

519

CFD-ACE_V2008.2_User_Manual

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

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

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

520

Index

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 Hz388, 393, 396

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 Coulombs ............................................................ 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

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

521

CFD-ACE_V2008.2_User_Manual

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 items .......................................................................... 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

522

Index

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

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

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

523

CFD-ACE_V2008.2_User_Manual

lS 154

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 medias permittivity value .................................................................... 393 medias permittivity ................................................... 393 Megabit/sec .............................................................. 175 Menu Bar ........................................................ 15, 28, 38 Menu Introduction ................................................. 15, 19 menus ........................................................................ 15 Menu-Blank ................................................................ 20

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

524

Index

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

525

CFD-ACE_V2008.2_User_Manual

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

526

Index

Module Selection Mode .............................................. 40 module/features ....................................................... 427 modules...................... 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

527

CFD-ACE_V2008.2_User_Manual

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

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

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

528

Index

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

529

CFD-ACE_V2008.2_User_Manual

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

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 PDEs........................................................................ 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

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

530

Index

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

531

CFD-ACE_V2008.2_User_Manual

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

532

Index

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

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

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

533

CFD-ACE_V2008.2_User_Manual

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

534

Index

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

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

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

535

CFD-ACE_V2008.2_User_Manual

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

536

Index

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

537

CFD-ACE_V2008.2_User_Manual

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

538

Index

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 systems ...................................................................... 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

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

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

539

CFD-ACE_V2008.2_User_Manual

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

540

Index

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

541

CFD-ACE_V2008.2_User_Manual

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

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

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

542

You might also like